babel-plugin-empower-assert is a Babel plugin to convert assert to power-assert at compile time.
$ npm install --save-dev babel-plugin-empower-assert power-assert
Babel7 is incompatible with Babel6.
For Babel6, you need to use the 1.x release of babel-plugin-empower-assert.
$ npm install --save-dev [email protected]
via .babelrc (Recommended)
{
  "presets": [
    ...
  ],
  "env": {
    "development": {
      "plugins": [
        "babel-plugin-empower-assert"
      ],
    }
  }
}$ babel /path/to/src/target.js > /path/to/build/target.js
via Babel CLI
$ babel --plugins babel-plugin-empower-assert /path/to/src/target.js > /path/to/build/target.js
or shortly,
$ babel --plugins empower-assert /path/to/src/target.js > /path/to/build/target.js
via Babel API
var babel = require('@babel/core');
var jsCode = fs.readFileSync('/path/to/src/target.js');
var transformed = babel.transform(jsCode, {
    presets: [...],
    plugins: ['babel-plugin-empower-assert']
});
console.log(transformed.code);For given math.js below,
'use strict';
var assert = require('assert');
function add (a, b) {
    assert(!isNaN(a));
    assert.equal(typeof b, 'number');
    assert.ok(!isNaN(b));
    return a + b;
}Run babel with --plugins empower-assert to transform code.
$ babel --plugins empower-assert /path/to/demo/math.js > /path/to/build/math.js
You will see assert is converted to power-assert.
'use strict';
var assert = require('power-assert');
function add(a, b) {
    assert(!isNaN(a));
    assert.equal(typeof b, 'number');
    assert.ok(!isNaN(b));
    return a + b;
}Licensed under the MIT license.
