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

167 lines
5.5 KiB
Markdown

# babel-preset-minify
Babel preset for all minify plugins.
+ [Install](#install)
+ [Usage](#usage)
+ [Options](#options)
## Install
```sh
npm install --save-dev babel-preset-minify
```
## Usage
### Via `.babelrc` (Recommended)
**.babelrc**
```json
{
"presets": ["minify"]
}
```
or pass in options -
```json
{
"presets": [["minify", {
"mangle": {
"exclude": ["MyCustomError"]
},
"unsafe": {
"typeConstructors": false
},
"keepFnName": true
}]]
}
```
### Via CLI
```sh
babel script.js --presets minify
```
### Via Node API
```javascript
require("@babel/core").transform("code", {
presets: ["minify"]
});
```
## Options
Two types of options:
1. 1-1 mapping with plugin
2. The same option passed to multiple plugins
#### 1-1 mapping with plugin
+ `false` - disable plugin
+ `true` - enable plugin
+ `{ ...pluginOpts }` - enable plugin and pass pluginOpts to plugin
OptionName | Plugin | DefaultValue
---------- | ------ | ------------
booleans | [transform-minify-booleans][booleans] | true
builtIns | [minify-builtins][builtIns] | true
consecutiveAdds | [transform-inline-consecutive-adds][consecutiveAdds] | true
deadcode | [minify-dead-code-elimination][deadcode] | true
evaluate | [minify-constant-folding][evaluate] | true
flipComparisons | [minify-flip-comparisons][flipComparisons] | true
guards | [minify-guarded-expressions][guards] | true
infinity | [minify-infinity][infinity] | true
mangle | [minify-mangle-names][mangle] | true
memberExpressions | [transform-member-expression-literals][memberExpressions] | true
mergeVars | [transform-merge-sibling-variables][mergeVars] | true
numericLiterals | [minify-numeric-literals][numericLiterals] | true
propertyLiterals | [transform-property-literals][propertyLiterals] | true
regexpConstructors | [transform-regexp-constructors][regexpConstructors] | true
removeConsole | [transform-remove-console][removeConsole] | false
removeDebugger | [transform-remove-debugger][removeDebugger] | false
removeUndefined | [transform-remove-undefined][removeUndefined] | true
replace | [minify-replace][replace] | true
simplify | [minify-simplify][simplify] | true
simplifyComparisons | [transform-simplify-comparison-operators][simplifyComparisons] | true
typeConstructors | [minify-type-constructors][typeConstructors] | true
undefinedToVoid | [transform-undefined-to-void][undefinedToVoid] | true
#### The same option passed to multiple plugins
+ When multiple plugins require the same option, it's easier to declare it in one place. These options are passed on to two or more plugins.
OptionName | Plugins
---------- | -------
keepFnName | Passed to [mangle][mangle] & [deadcode][deadcode]
keepClassName | Passed to [mangle][mangle] & [deadcode][deadcode]
tdz | Passed to [builtIns][builtIns], [evaluate][evaluate], [deadcode][deadcode], [removeUndefined][removeUndefined]
**Examples**
```json
{
"presets": [["minify", {
"evaluate": false,
"mangle": true
}]]
}
```
```json
{
"presets": [["minify", {
"mangle": {
"exclude": ["ParserError", "NetworkError"]
}
}]]
}
```
```json
{
"presets": [["minify", {
"keepFnName": true
}]]
}
// is the same as
{
"presets": [["minify", {
"mangle": {
"keepFnName": true
},
"deadcode": {
"keepFnName": true
}
}]]
}
```
[booleans]: ../../packages/babel-plugin-transform-minify-booleans
[builtIns]: ../../packages/babel-plugin-minify-builtins
[consecutiveAdds]: ../../packages/babel-plugin-transform-inline-consecutive-adds
[deadcode]: ../../packages/babel-plugin-minify-dead-code-elimination
[evaluate]: ../../packages/babel-plugin-minify-constant-folding
[flipComparisons]: ../../packages/babel-plugin-minify-flip-comparisons
[guards]: ../../packages/babel-plugin-minify-guarded-expressions
[infinity]: ../../packages/babel-plugin-minify-infinity
[mangle]: ../../packages/babel-plugin-minify-mangle-names
[memberExpressions]: ../../packages/babel-plugin-transform-member-expression-literals
[mergeVars]: ../../packages/babel-plugin-transform-merge-sibling-variables
[numericLiterals]: ../../packages/babel-plugin-minify-numeric-literals
[propertyLiterals]: ../../packages/babel-plugin-transform-property-literals
[regexpConstructors]: ../../packages/babel-plugin-transform-regexp-constructors
[removeConsole]: ../../packages/babel-plugin-transform-remove-console
[removeDebugger]: ../../packages/babel-plugin-transform-remove-debugger
[removeUndefined]: ../../packages/babel-plugin-transform-remove-undefined
[replace]: ../../packages/babel-plugin-minify-replace
[simplify]: ../../packages/babel-plugin-minify-simplify
[simplifyComparisons]: ../../packages/babel-plugin-transform-simplify-comparison-operators
[typeConstructors]: ../../packages/babel-plugin-minify-type-constructors
[undefinedToVoid]: ../../packages/babel-plugin-transform-undefined-to-void