babel-preset-power-assert
raw JSON → 3.0.0 verified Sat Apr 25 auth: no javascript
Babel preset for power-assert, providing a seamless integration to enable power-assert's enhanced assertion messages (full expression graph) in Node.js and browsers. The current stable version is 3.0.0, compatible with Babel 7. For Babel 6, use version 2.x. Released under MIT license. Maintained as part of the power-assert-js organization. Key differentiator: bundles babel-plugin-empower-assert and babel-plugin-espower, requiring only the preset and power-assert package as dependencies.
Common errors
error Error: Cannot find module 'babel-preset-power-assert' ↓
cause Missing package installation or incorrect npm install command.
fix
Run: npm install --save-dev babel-preset-power-assert
error TypeError: Cannot read property 'power-assert' of undefined ↓
cause Missing power-assert runtime package.
fix
Install power-assert: npm install --save-dev power-assert
error ReferenceError: assert is not defined ↓
cause power-assert module not imported in your test file.
fix
Add const assert = require('power-assert'); at the top of your file.
error Error: Requires Babel "7.0.0-0" but was loaded with "6.26.3" ↓
cause Using babel-preset-power-assert v3.x with Babel 6.
fix
Use babel-preset-power-assert@2.0.0 for Babel 6, or upgrade to Babel 7.
Warnings
breaking babel-preset-power-assert v3.x is incompatible with Babel 6. Use v2.x for Babel 6. ↓
fix Install babel-preset-power-assert@2.0.0 for Babel 6 projects.
deprecated babel-preset-power-assert v2.x is deprecated; use v3.x for Babel 7. ↓
fix Upgrade to v3.0.0 and update to Babel 7.
gotcha power-assert must be installed as a separate dependency; it is not included in the preset. ↓
fix Run: npm install --save-dev power-assert
gotcha The preset does not include '@babel/preset-env' or any other presets; you may need to combine with other presets in a Babel configuration. ↓
fix Add other presets (e.g., '@babel/preset-env') alongside 'power-assert'.
gotcha The preset only transforms assert statements; it does not provide the runtime 'power-assert' module. You must require/import 'power-assert' in your source files. ↓
fix Add const assert = require('power-assert'); (or import assert from 'power-assert') in files that use assert.
Install
npm install babel-preset-power-assert yarn add babel-preset-power-assert pnpm add babel-preset-power-assert Imports
- defaultPreset wrong
// Wrong: using require('babel-preset-power-assert') directly as a function var preset = require('babel-preset-power-assert');correct// In .babelrc or babel.config.js { "presets": ["power-assert"] } - babel-plugin-empower-assert wrong
const empowerAssert = require('babel-preset-power-assert').empowerAssert;correctimport { empowerAssert } from 'babel-preset-power-assert'; - babel-plugin-espower wrong
const espower = require('babel-preset-power-assert').espower;correctimport { espower } from 'babel-preset-power-assert'; - config wrong
// Wrong: passing options as second argument to require const preset = require('babel-preset-power-assert')(options);correct{ "presets": [ ["power-assert", { "empowerAssert": { /* options */ }, "espower": { /* options */ } }] ] }
Quickstart
// 1. Install dependencies:
// npm install --save-dev babel-preset-power-assert power-assert
// 2. Create babel.config.js (or .babelrc):
module.exports = {
presets: ['power-assert']
};
// 3. Write a test file (e.g., test.js):
const assert = require('power-assert');
describe('Array', () => {
it('should have length 3', () => {
const arr = [1, 2, 3];
assert(arr.length === 3);
});
});
// 4. Run with Babel:
// npx babel test.js --out-file test-transpiled.js && node test-transpiled.js