babel-plugin-minify-dead-code-elimination

0.5.2 • Public • Published

babel-plugin-minify-dead-code-elimination

Inlines bindings when possible. Tries to evaluate expressions and prunes unreachable as a result.

Example

In

function foo() {var x = 1;}
function bar() { var x = f(); }
function baz() {
  var x = 1;
  console.log(x);
  function unused() {
    return 5;
  }
}

Out

function foo() {}
function bar() { f(); }
function baz() {
  console.log(1);
}

Installation

npm install babel-plugin-minify-dead-code-elimination --save-dev

Usage

Via .babelrc (Recommended)

.babelrc

// without options
{
  "plugins": ["minify-dead-code-elimination"]
}

// with options
{
  "plugins": ["minify-dead-code-elimination", { "optimizeRawSize": true }]
}

Via CLI

babel --plugins minify-dead-code-elimination script.js

Via Node API

require("@babel/core").transform("code", {
  plugins: ["minify-dead-code-elimination"]
});

Options

  • keepFnName - prevent plugin from removing function name. Useful for code depending on fn.name
  • keepFnArgs - prevent plugin from removing function args. Useful for code depending on fn.length
  • keepClassName - prevent plugin from removing class name. Useful for code depending on cls.name
  • tdz - Account for TDZ (Temporal Dead Zone)

Dependents (148)

Package Sidebar

Install

npm i babel-plugin-minify-dead-code-elimination

Weekly Downloads

441,667

Version

0.5.2

License

MIT

Unpacked Size

47 kB

Total Files

5

Last publish

Collaborators

  • nicolo-ribaudo
  • boopathi
  • hzoo
  • vignesh.shanmugam
  • loganfsmyth