[Babel] babel-plugin-unassert を利用して Production Build から assert を削除する
以前に保留していた疑問点。unassert を利用すると解決する。
const assert = require(‘assert’); を含めて生成すると、JS が 17,000 行増える。
インストール
babel ので、プラグインを利用する。
% npm install --save-dev babel-plugin-unassert
babel コマンドで確認
以前に作成した sandbox-es6 で試行する。
babel
コマンドを実行して比較すると、require などがなくなっていることが分かる。
% $(npm bin)/babel --plugins unassert src/lib/math.es6.js > lib/mathUA.js
% $(npm bin)/babel src/lib/math.es6.js > lib/math.js
Browserify, Watchify の npm script
.babelrc に設定して、Browserify, Watchify まで落とし込む。
{
"presets": [
"es2015"
],
"env": {
"development": {
"presets": [
"power-assert"
]
},
"production": {
"plugins": [
"babel-plugin-unassert"
]
}
}
}
上記で設定した env option を活かして npm run-script
化する。
"scripts": {
"development": "BABEL_ENV=development watchify ./src/basic.es6.js --debug --transform babelify --outfile 'exorcist ./lib/basic.js.map > ./lib/basic.js' --verbose",
"production": "BABEL_ENV=production browserify ./src/basic.es6.js --debug --transform babelify | exorcist ./lib/basic.js.map > ./lib/basic.js",
},
以下にまとめた。