* Fork from <https://github.com/babel/minify/tree/0.3.x/packages/babel-plugin-minify-dead-code-elimination> * Fix issue <https://github.com/babel/babel/issues/11343>
npm install babel-plugin-minify-dead-code-elimination-while-loop-fixed* Fork from
* Fix issue
Inlines bindings when possible. Tries to evaluate expressions and prunes unreachable as a result.
In
``javascript`
function foo() {var x = 1;}
function bar() { var x = f(); }
function baz() {
var x = 1;
console.log(x);
function unused() {
return 5;
}
}
Out
`javascript`
function foo() {}
function bar() { f(); }
function baz() {
console.log(1);
}
`sh`
npm install babel-plugin-minify-dead-code-elimination-while-loop-fixed
.babelrc
`json
// without options
{
"plugins": ["minify-dead-code-elimination-while-loop-fixed"]
}
// with options
{
"plugins": ["minify-dead-code-elimination-while-loop-fixed", { "optimizeRawSize": true }]
}
`
`sh`
babel --plugins minify-dead-code-elimination-while-loop-fixed script.js
`javascript`
require("babel-core").transform("code", {
plugins: ["minify-dead-code-elimination-while-loop-fixed"]
});
+ keepFnName - prevent plugin from removing function name. Useful for code depending on fn.namekeepFnArgs
+ - prevent plugin from removing function args. Useful for code depending on fn.lengthkeepClassName
+ - prevent plugin from removing class name. Useful for code depending on cls.nametdz` - Account for TDZ (Temporal Dead Zone)
+