Registry / testing / webpack-espower-loader

webpack-espower-loader

JSON →
library2.0.0jsnpmunverified

A webpack loader for power-assert that applies espower instrumentation to JavaScript sources during the webpack build process, enabling detailed assertion error messages (Power Assert) when tests fail. Current stable version is 2.0.0, with a 1.x branch for webpack 3 or lower. The loader is intended for use with webpack 4+; for webpack 3 or lower, use version 1.x. Key differentiator: it integrates Power Assert into webpack build pipelines, but note that it does not work with babel-loader (use babel-plugin-espower instead). The loader passes options through to espower.

npm install webpack-espower-loader
INSTALL
IMPORT
SIG · WEBPACK-ESPOWER-LO
W
webpack-espower-loader
testingjavascriptv2.0.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Configures webpack-espower-loader in webpack 4+ and shows a basic Power Assert test that produces enhanced assertion output.

// webpack.config.js { module: { exprContextCritical: false, rules: [{ test: /\.js$/, exclude: /node_modules/, use: { loader: 'webpack-espower-loader', options: { patterns: [ 'assert(value, [message])', 'assert.ok(value, [message])', 'assert.equal(actual, expected, [message])', 'assert.notEqual(actual, expected, [message])', 'assert.strictEqual(actual, expected, [message])', 'assert.notStrictEqual(actual, expected, [message])', 'assert.deepEqual(actual, expected, [message])', 'assert.notDeepEqual(actual, expected, [message])' ] } } }] } } // test.js const assert = require('power-assert'); assert.deepEqual([1,2,3], [1,2,4]); // outputs Power Assert diagnostics
Debug
Known issues
breakingwebpack-espower-loader 2.x does not work with webpack 3 or lower.
fix
Use webpack-espower-loader@1.0.2 for webpack 3 or lower.
affects: >=2.0.0
breakingwebpack-espower-loader does not work with babel-loader (since babel 5).
fix
Use babel-plugin-espower instead of webpack-espower-loader when using babel-loader.
affects: >=2.0.0
deprecatedThe 'pattern' option (singular) is deprecated in favor of 'patterns' (plural).
fix
Use 'patterns' in loader options.
affects: >=2.0.0
gotchaThe loader must be placed after transpilation loaders like babel-loader in the rule 'use' array.
fix
Ensure webpack-espower-loader runs after babel-loader in the loader chain.
affects: >=1.0.0
gotchaSecure coding: The loader does not escape special characters in assertion expressions; ensure test inputs are safe to avoid injection.
fix
Sanitize or avoid dynamic generation of assertion messages from untrusted input.
affects: >=1.0.0
Errors
Common errors & fixes
Error: Module not found: Error: Cannot resolve module 'espower'
espower is not installed as a peer dependency.
fix
Install espower: npm install --save-dev espower
TypeError: Cannot read property 'replace' of undefined
Loader options are undefined or null when passed to espower.
fix
Ensure options object is provided in webpack config (even if empty).
Error: webpack-espower-loader only works with webpack 4+. For webpack 3 use version 1.x.
Using webpack-espower-loader 2.x with webpack 3.
fix
Install webpack-espower-loader@1.0.2: npm install --save-dev webpack-espower-loader@1.0.2
Upgrade
Version history
2.0.0latest on npm
Audit
Dependencies
power-assertrequiredRequired at runtime for Power Assert functionality; webpack-espower-loader only instruments code, power-assert provides the assertion API.
espowerrequiredPeer dependency used for instrumentation; webpack-espower-loader delegates to espower for transforming assertion expressions.
Agent activity
14 hits · last 30 days
node
12
Resources
webpack-espower-loader — npm install webpack-espower-loader · libregistry