istanbul-instrumenter-loader
Advanced tools
Comparing version 0.2.0 to 1.0.0
18
index.js
'use strict'; | ||
var istanbul = require('istanbul'); | ||
var istanbulLibInstrument = require('istanbul-lib-instrument'); | ||
var loaderUtils = require('loader-utils'); | ||
var assign = require('object-assign'); | ||
var defaultOptions = { | ||
embedSource: true, | ||
noAutoWrap: true | ||
}; | ||
module.exports = function(source) { | ||
module.exports = function(source, sourceMap) { | ||
var userOptions = loaderUtils.parseQuery(this.query); | ||
var instrumenter = new istanbul.Instrumenter( | ||
assign({}, defaultOptions, userOptions) | ||
var instrumenter = istanbulLibInstrument.createInstrumenter( | ||
assign({ produceSourceMap: this.sourceMap }, userOptions) | ||
); | ||
@@ -22,3 +17,6 @@ | ||
return instrumenter.instrumentSync(source, this.resourcePath); | ||
var that = this; | ||
return instrumenter.instrument(source, this.resourcePath, function (error, source) { | ||
that.callback(error, source, instrumenter.lastSourceMap()); | ||
}); | ||
}; |
{ | ||
"name": "istanbul-instrumenter-loader", | ||
"version": "0.2.0", | ||
"version": "1.0.0", | ||
"description": "Istanbul instrumenter loader for webpack", | ||
"keywords": [ "webpack", "loader", "istanbul", "coverage" ], | ||
"keywords": [ | ||
"webpack", | ||
"loader", | ||
"istanbul", | ||
"coverage" | ||
], | ||
"homepage": "https://github.com/deepsweet/istanbul-instrumenter-loader", | ||
@@ -10,12 +15,14 @@ "repository": "deepsweet/istanbul-instrumenter-loader", | ||
"main": "index.js", | ||
"files": [ "index.js" ], | ||
"files": [ | ||
"index.js" | ||
], | ||
"dependencies": { | ||
"istanbul": "0.x.x", | ||
"loader-utils": "0.x.x", | ||
"object-assign": "4.x.x" | ||
"istanbul-lib-instrument": "^1.1.3", | ||
"loader-utils": "^0.2.16", | ||
"object-assign": "^4.1.0" | ||
}, | ||
"engines": { | ||
"node": ">=0.10.0" | ||
"node": ">=0.12.0" | ||
}, | ||
"license": "WTFPL" | ||
} |
@@ -6,6 +6,4 @@ ## Istanbul instrumenter loader for [webpack](https://webpack.github.io/) | ||
Instrument JS files with [Istanbul](https://github.com/gotwarlost/istanbul) for subsequent code coverage reporting. | ||
Instrument JS files with [istanbul-lib-instrument](https://github.com/istanbuljs/istanbul-lib-instrument) (ES6+ ready using Babel) for subsequent code coverage reporting. | ||
Using Babel to transpile ES6/ES7? Use [isparta-loader](https://github.com/deepsweet/isparta-loader) to coverage your original code. | ||
### Install | ||
@@ -75,3 +73,3 @@ | ||
module: { | ||
preLoaders: [ | ||
postLoaders: [ | ||
// instrument only testing sources with Istanbul | ||
@@ -95,3 +93,32 @@ { | ||
#### Options | ||
The loader supports all options supported by [istanbul-lib-instrument](https://github.com/istanbuljs/istanbul-lib-instrument/blob/37a0087e68729dae46989c3687272d154938fa9e/src/instrumenter.js#L28-L37). The defaults are: | ||
```js | ||
{ | ||
coverageVariable: '__coverage__', | ||
preserveComments: false, | ||
compact: true, | ||
esModules: false, | ||
autoWrap: false, | ||
produceSourceMap: false, | ||
sourceMapUrlCallback: null, | ||
debug: false | ||
} | ||
``` | ||
E.g. if a project is using ES6 modules then `esModules` option must be set to `true`: | ||
```js | ||
{ | ||
test: /\.js$/, | ||
include: path.resolve('src/components/'), | ||
loader: 'istanbul-instrumenter', | ||
query: { | ||
esModules: true | ||
} | ||
} | ||
``` | ||
### License | ||
[WTFPL](http://www.wtfpl.net/wp-content/uploads/2012/12/wtfpl-strip.jpg) |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
4710
0
122
17
+ Addedansi-regex@2.1.1(transitive)
+ Addedansi-styles@2.2.1(transitive)
+ Addedbabel-code-frame@6.26.0(transitive)
+ Addedbabel-generator@6.26.1(transitive)
+ Addedbabel-messages@6.23.0(transitive)
+ Addedbabel-runtime@6.26.0(transitive)
+ Addedbabel-template@6.26.0(transitive)
+ Addedbabel-traverse@6.26.0(transitive)
+ Addedbabel-types@6.26.0(transitive)
+ Addedbabylon@6.18.0(transitive)
+ Addedchalk@1.1.3(transitive)
+ Addedcore-js@2.6.12(transitive)
+ Addeddebug@2.6.9(transitive)
+ Addeddetect-indent@4.0.0(transitive)
+ Addedescape-string-regexp@1.0.5(transitive)
+ Addedglobals@9.18.0(transitive)
+ Addedhas-ansi@2.0.0(transitive)
+ Addedinvariant@2.2.4(transitive)
+ Addedis-finite@1.1.0(transitive)
+ Addedistanbul-lib-coverage@1.2.1(transitive)
+ Addedistanbul-lib-instrument@1.10.2(transitive)
+ Addedjs-tokens@3.0.2(transitive)
+ Addedjsesc@1.3.0(transitive)
+ Addedlodash@4.17.21(transitive)
+ Addedloose-envify@1.4.0(transitive)
+ Addedms@2.0.0(transitive)
+ Addedregenerator-runtime@0.11.1(transitive)
+ Addedrepeating@2.0.1(transitive)
+ Addedsemver@5.7.2(transitive)
+ Addedsource-map@0.5.7(transitive)
+ Addedstrip-ansi@3.0.1(transitive)
+ Addedsupports-color@2.0.0(transitive)
+ Addedto-fast-properties@1.0.3(transitive)
+ Addedtrim-right@1.0.1(transitive)
- Removedistanbul@0.x.x
- Removedabbrev@1.0.9(transitive)
- Removedamdefine@1.0.1(transitive)
- Removedargparse@1.0.10(transitive)
- Removedasync@1.5.2(transitive)
- Removedbalanced-match@1.0.2(transitive)
- Removedbrace-expansion@1.1.11(transitive)
- Removedconcat-map@0.0.1(transitive)
- Removeddeep-is@0.1.4(transitive)
- Removedescodegen@1.8.1(transitive)
- Removedesprima@2.7.34.0.1(transitive)
- Removedestraverse@1.9.3(transitive)
- Removedfast-levenshtein@2.0.6(transitive)
- Removedglob@5.0.15(transitive)
- Removedhandlebars@4.7.8(transitive)
- Removedhas-flag@1.0.0(transitive)
- Removedinflight@1.0.6(transitive)
- Removedinherits@2.0.4(transitive)
- Removedisexe@2.0.0(transitive)
- Removedistanbul@0.4.5(transitive)
- Removedjs-yaml@3.14.1(transitive)
- Removedlevn@0.3.0(transitive)
- Removedminimatch@3.1.2(transitive)
- Removedminimist@1.2.8(transitive)
- Removedmkdirp@0.5.6(transitive)
- Removedneo-async@2.6.2(transitive)
- Removednopt@3.0.6(transitive)
- Removedonce@1.4.0(transitive)
- Removedoptionator@0.8.3(transitive)
- Removedpath-is-absolute@1.0.1(transitive)
- Removedprelude-ls@1.1.2(transitive)
- Removedresolve@1.1.7(transitive)
- Removedsource-map@0.2.00.6.1(transitive)
- Removedsprintf-js@1.0.3(transitive)
- Removedsupports-color@3.2.3(transitive)
- Removedtype-check@0.3.2(transitive)
- Removeduglify-js@3.19.1(transitive)
- Removedwhich@1.3.1(transitive)
- Removedword-wrap@1.2.5(transitive)
- Removedwordwrap@1.0.0(transitive)
- Removedwrappy@1.0.2(transitive)
Updatedloader-utils@^0.2.16
Updatedobject-assign@^4.1.0