codemix / Babel Plugin Closure Elimination
Licence: mit
A Babel plugin which eliminates closures from your JavaScript wherever possible.
Stars: ✭ 354
Programming Languages
javascript
184084 projects - #8 most used programming language
Babel Closure Elimination
This is a Babel plugin that eliminates unnecessary closures from your JavaScript in the name of performance.
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.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].