@putout/minify [![NPM version][NPMIMGURL]][NPMURL] [![Coverage Status][CoverageIMGURL]][CoverageURL]
December 5, 2025 ยท View on GitHub
๐Putout-based JavaScript minifier.
Install
npm i @putout/minify
Supported minifier transforms
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;
API
import {minify} from '@putout/minify';
minify(`
const a = 5;
const b = 6;
fn(a, b);
`);
// returns
var a=5,b=6;fn(a,b);
Options
You can also pass options to minify. Here is list of default options:
({
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:
import {minify} from '@putout/minify';
const source = `
const a = 5;
const b = 6;
`;
minify(source, {
removeUnusedVariables: false,
});
How it's compared to X(your benchmark)?
License
MIT