@ibrahim-rahhal/babel-plugin-minify-mangle-names

0.5.5 • Public • Published

@ibrahim-rahhal/babel-plugin-minify-mangle-names

Context- and scope- aware variable renaming.

Example

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);
  }
}

Installation

npm install @ibrahim-rahhal/babel-plugin-minify-mangle-names --save-dev

Usage

Via .babelrc (Recommended)

.babelrc

// without options
{
  "plugins": ["@ibrahim-rahhal/minify-mangle-names"]
}
// with options
{
  "plugins": [
    ["@ibrahim-rahhal/minify-mangle-names", { "exclude": { "foo": true, "bar": true} }]
  ]
}

Via CLI

babel --plugins minify-mangle-names script.js

Via Node API

require("@babel/core").transform("code", {
  plugins: ["@ibrahim-rahhal/minify-mangle-names"]
});

Options

  • exclude - A plain JS Object with keys as identifier names and values indicating whether to exclude (default: {})
  • eval - mangle identifiers in scopes accessible by eval (default: false)
  • keepFnName - prevent mangler from altering function names. Useful for code depending on fn.name (default: false)
  • topLevel - mangle topLevel Identifiers (default: false)
  • keepClassName - prevent mangler from altering class names (default: false).

Readme

Keywords

Package Sidebar

Install

npm i @ibrahim-rahhal/babel-plugin-minify-mangle-names

Weekly Downloads

1

Version

0.5.5

License

MIT

Unpacked Size

32 kB

Total Files

9

Last publish

Collaborators

  • ibrahim-rahhal