πPutout-based minifier
npm install @putout/minify[NPMIMGURL]: https://img.shields.io/npm/v/@putout/minify.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/minify "npm"
[CoverageURL]: https://coveralls.io/github/putoutjs/minify?branch=master
[CoverageIMGURL]: https://coveralls.io/repos/putoutjs/minify/badge.svg?branch=master&service=github
πPutout-based JavaScript minifier.
``sh`
npm i @putout/minify
Here is list of supported πPutout transformations:
- β
apply-template-literals;
- β
apply-optional-chaining;
- β
conditions;
- β
convert-to-arrow-function;
- β
arguments;
- β
declare;
- β
for-of;
- β
logical-expressions;
- β
merge-duplicate-functions;
- β
esm/merge-duplicate-imports;
- β
destructuring;
- β
minify;
- β
new;
- β
regexp;
- β
reuse-duplicate-init;
- β
remove-empty;
- β
remove-nested-blocks;
- β
remove-unused-expressions;
- β
arguments;
- β
remove-useless-else;
- β
return/remove-useless;
- β
remove-useless-spread;
- β
variables;
- β
remove-console;
- β
remove-debugger;
- β
remove-unreachable-code;
- β
simplify-ternary;
- β
types;
`js
import {minify} from '@putout/minify';
minify(
const a = 5;
const b = 6;
fn(a, b););`
``
// returns
var a=5,b=6;fn(a,b);
You can also pass options to minify. Here is list of default options:
`js'
({
quotes: ,`
fixCount: 1, // the more fixCount - less output size
conditions: false,
mangleClassNames: true,
mangle: true,
mergeVariables: true,
removeUnusedVariables: false,
removeConsole: false,
removeUselessSpread: true,
applyTemplateLiterals: true,
convertStrictEqualToEqual: false,
});
And usage example:
`js
import {minify} from '@putout/minify';
const source =
const a = 5;
const b = 6;;
minify(source, {
removeUnusedVariables: false,
});
``
MIT