nuxt-sourcemaps-abs-sourceroot v3.0.0
nuxt-sourcemaps-abs-sourceroot
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:
Thanks a lot for your support! ❤️