npm.io
3.0.0 • Published 3 years ago

nuxt-sourcemaps-abs-sourceroot

Licence
MIT
Version
3.0.0
Deps
0
Size
8 kB
Vulns
0
Weekly
0

nuxt-sourcemaps-abs-sourceroot

npm version Linux macOS Windows compatible Build status Coverage status Dependency status Renovate enabled
Open in Gitpod Buy Me a Coffee PayPal Patreon

Nuxt.js module that outputs an absolute sourceRoot directory in source maps. Mainly useful for testing and code coverage.

When measuring code coverage with Nuxt.js and Puppeteer, you run into the problem that Puppeteer runs in a separate process and therefore does not write data to coverage reports. One solution to this problem is puppeteer-to-istanbul, which uses the coverage report of the headless browser itself and coverts it to an Istanbul-compatible format.

However, when you run tests for multiple Nuxt configs and change directories, Puppeteer does not know where you were during testing, and source maps from Nuxt.js by default do not contain an absolute sourceRoot property by default. This module fills the gap and injects the project's rootDir into the source maps.

Install

# npm
$ npm install nuxt-sourcemaps-abs-sourceroot

# Yarn
$ yarn add nuxt-sourcemaps-abs-sourceroot

Usage

Then start Nuxt in dev mode like this:

const nuxt = new Nuxt({
  dev: true,
  modules: ['nuxt-sourcemaps-abs-sourceroot'],
})
await new Builder(nuxt).build()
await nuxt.listen()

When you now check out the page via a browser code coverage tool or visit /_nuxt/pages/index.js and decode the sourceMappingURL, you will see that the sourceRoot property is set to the project's rootDir.

You can of course also use it in your nuxt.config.js, but, as said in the description, it's mainly meant to pass an absolute path to code coverage reporters.

Contribute

Are you missing something or want to contribute? Feel free to file an issue or a pull request!

Support

Hey, I am Sebastian Landwehr, a freelance web developer, and I love developing web apps and open source packages. If you want to support me so that I can keep packages up to date and build more helpful tools, you can donate here:

Buy Me a Coffee  If you want to send me a one time donation. The coffee is pretty good .
PayPal  Also for one time donations if you like PayPal.
Patreon  Here you can support me regularly, which is great so I can steadily work on projects.

Thanks a lot for your support!

License

MIT License Sebastian Landwehr