babel-plugin-minify-dead-code-elimination
Example
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);
}
Installation
- npm
- Yarn
- pnpm
npm install babel-plugin-minify-dead-code-elimination --save-dev
yarn add babel-plugin-minify-dead-code-elimination --dev
pnpm add babel-plugin-minify-dead-code-elimination --save-dev
Usage
With a configuration file (Recommended)
JSON
// without options
{
"plugins": ["minify-dead-code-elimination"]
}
// with options
{
"plugins": ["minify-dead-code-elimination", { "optimizeRawSize": true }]
}
Via CLI
Shell
babel --plugins minify-dead-code-elimination script.js
Via Node API
JavaScript
require("@babel/core").transformSync("code", {
plugins: ["minify-dead-code-elimination"]
});
Options
keepFnName
- prevent plugin from removing function name. Useful for code depending onfn.name
keepFnArgs
- prevent plugin from removing function args. Useful for code depending onfn.length
keepClassName
- prevent plugin from removing class name. Useful for code depending oncls.name
tdz
- Account for TDZ (Temporal Dead Zone)
tip
You can read more about configuring plugin options here