1
0
mirror of https://github.com/S2-/minifyfromhtml.git synced 2025-08-03 04:10:04 +02:00
Files
minifyfromhtml/node_modules/babel-plugin-minify-mangle-names/README.md
2018-05-05 13:54:07 +02:00

80 lines
1.4 KiB
Markdown

# babel-plugin-minify-mangle-names
Context- and scope- aware variable renaming.
## Example
**In**
```javascript
var globalVariableName = 42;
function foo() {
var longLocalVariableName = 1;
if (longLocalVariableName) {
console.log(longLocalVariableName);
}
}
```
**Out**
```javascript
var globalVariableName = 42;
function foo() {
var a = 1;
if (a) {
console.log(a);
}
}
```
## Installation
```sh
npm install babel-plugin-minify-mangle-names
```
## Usage
### Via `.babelrc` (Recommended)
**.babelrc**
```json
// without options
{
"plugins": ["minify-mangle-names"]
}
```
```json
// with options
{
"plugins": [
["minify-mangle-names", { "exclude": { "foo": true, "bar": true} }]
]
}
```
### Via CLI
```sh
babel --plugins minify-mangle-names script.js
```
### Via Node API
```javascript
require("@babel/core").transform("code", {
plugins: ["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`).