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/