@theintern/istanbul-loader
TypeScript icon, indicating that this package has built-in type declarations

1.0.0-beta.3 • Public • Published

istanbul-loader

This is a webpack loader that uses istanbul-lib-instrument to add code coverage instrumentation to JavaScript files.

Installation

Install with

npm install @theintern/istanbul-loader --save-dev

Usage

Install the loader in a project and add an entry for it to the project's webpack.config:

module: {
    rules: [
        {
            test: /src\/.*\.ts$/,
            use: '@theintern/istanbul-loader'
        },
		...
    ]
}

Note that the istanbul-loader should be run after transpilers such as TypeScript. This means that it should come before transpilers in a loader list, or use enforce: 'post':

rules: [
    {
	    test: /src\/.(\.ts$/,
		use: [ '@theintern/istanbul-loader', 'ts-node' ]
	},
	...
]

or

rules: [
    {
	    test: /src\/.(\.ts$/,
		use: '@theintern/istanbul-loader',
		enforce: 'post'
	},
	...
]

Configuration

The rule test should only match source files, not all .ts or .js files, so as not to instrument tests or support files.

Options can be passed using the standard webpack options property:

rules: [
    {
	    test: /src\/.(\.ts$/,
		use: {
			loader: '@theintern/istanbul-loader',
			options: { config: 'tests/intern.json' }
		}
	},
	...
]

Currently the only option used by the loader is 'config', which should point to an Intern config file. The loader will use values for coverageVariable and instrumenterOptions from the Intern config, if present.

License

Intern is a JS Foundation project offered under the New BSD license.

© SitePen, Inc. and its contributors

Package Sidebar

Install

npm i @theintern/istanbul-loader

Weekly Downloads

36

Version

1.0.0-beta.3

License

BSD-3-Clause

Unpacked Size

16.6 kB

Total Files

6

Last publish

Collaborators

  • jason0x43
  • kitsonk
  • sitepen
  • morrinene