Context - and scope - aware variable renaming
In
var globalVariableName = 42;
function foo() {
var longLocalVariableName = 1;
if (longLocalVariableName) {
console.log(longLocalVariableName);
}
}
Out
var globalVariableName = 42;
function foo() {
var a = 1;
if (a) {
console.log(a);
}
}
npm install babel-plugin-minify-mangle-names
.babelrc (Recommended).babelrc
// without options
{
"plugins": ["minify-mangle-names"]
}
// with options
{
"plugins": ["minify-mangle-names", { "exclude": { "foo": true, "bar": true} }]
}
babel --plugins minify-mangle-names script.js
require("babel-core").transform("code", {
plugins: ["minify-mangle-names"]
});
exclude - A plain JS Object with keys as identifier names and values indicating whether to excludeeval - mangle identifiers in scopes accessible by evalkeepFnName - prevent mangler from altering function names. Useful for code depending on fn.name
topLevel - mangle topLevel IdentifierskeepClassName - prevent mangler from altering class names.
© 2018 Sebastian McKenzie
Licensed under the MIT License.
http://babeljs.io/docs/plugins/minify-mangle-names/