babel-plugin-closure-elimination

1.3.2 • Public • Published

Babel Closure Elimination

This is a Babel plugin that eliminates unnecessary closures from your JavaScript in the name of performance.

Build Status

Note: Now requires Babel 6.

What?

Turns code like this:

function demo (input) {
  return input.map(item => item + 1).map(item => item + 2);
}

Into code like this:

function _ref(item) {
  return item + 1;
}
 
function _ref2(item) {
  return item + 2;
}
 
function demo(input) {
  return input.map(_ref).map(_ref2);
}
 

Why?

Because it's faster and more memory efficient in most JavaScript engines, and means you can safely use arrow functions without a performance penalty in most cases.

Installation

First, install via npm.

npm install --save-dev babel-plugin-closure-elimination

Then, in your babel configuration (usually in your .babelrc file), add "closure-elimination" to your list of plugins:

{
  "plugins": ["closure-elimination"]
}

License

Published by codemix under a permissive MIT License, see LICENSE.md.

Package Sidebar

Install

npm i babel-plugin-closure-elimination

Weekly Downloads

709

Version

1.3.2

License

MIT

Unpacked Size

9.96 kB

Total Files

4

Last publish

Collaborators

  • charlespick
  • gvozd