/babel-plugin-empower-assert

Babel plugin to convert assert to power-assert at compile time

Primary LanguageJavaScriptMIT LicenseMIT

power-assert

Build Status NPM version License

babel-plugin-empower-assert is a Babel plugin to convert assert to power-assert at compile time.

INSTALL

$ npm install --save-dev babel-plugin-empower-assert power-assert

CAUTION

Babel7 is incompatible with Babel6.

For Babel6, you need to use the 1.x release of babel-plugin-empower-assert.

$ npm install --save-dev babel-plugin-empower-assert@1.4.0

HOW TO USE

via .babelrc (Recommended)

{
  "presets": [
    ...
  ],
  "env": {
    "development": {
      "plugins": [
        "babel-plugin-empower-assert"
      ],
    }
  }
}
$ babel /path/to/src/target.js > /path/to/build/target.js
$ 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
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);

EXAMPLE

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;
}

AUTHOR

LICENSE

Licensed under the MIT license.