Babel plugin to ensure function declarations at the block level are block scoped.
In
{
function name (n) {
return n;
}
}
name("Steve");
Out
{
var _name = function _name(n) {
return n;
};
}
name("Steve");
npm install --save-dev babel-plugin-transform-es2015-block-scoped-functions
.babelrc
{
"plugins": ["transform-es2015-block-scoped-functions"]
}
babel --plugins transform-es2015-block-scoped-functions script.js
require("babel-core").transform("code", {
plugins: ["transform-es2015-block-scoped-functions"]
});