https://github.com/putoutjs/minify
Minify with help of πPutout
https://github.com/putoutjs/minify
Last synced: 5 months ago
JSON representation
Minify with help of πPutout
- Host: GitHub
- URL: https://github.com/putoutjs/minify
- Owner: putoutjs
- License: mit
- Created: 2023-05-08T14:35:03.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2026-01-11T11:38:14.000Z (5 months ago)
- Last Synced: 2026-01-11T16:01:58.086Z (5 months ago)
- Language: JavaScript
- Homepage:
- Size: 1.5 MB
- Stars: 13
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# @putout/minify [![NPM version][NPMIMGURL]][NPMURL]Β [![Coverage Status][CoverageIMGURL]][CoverageURL]
[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**](https://github.com/coderaiser/putout)-based JavaScript minifier.
## Install
```sh
npm i @putout/minify
```
## Supported minifier transforms
Here is list of supported π**Putout** transformations:
- β
[`apply-template-literals`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-apply-template-literals#readme);
- β
[`apply-optional-chaining`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-apply-optional-chaining#readme);
- β
[`conditions`](https://github.com/coderaiser/putout/tree/v29.10.0/packages/plugin-conditions#readme);
- β
[`convert-to-arrow-function`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-convert-to-arrow-functions#readme);
- β
[`arguments`](https://github.com/coderaiser/putout/tree/v41/packages/plugin-argumentst#readme);
- β
[`declare`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-declare#readme);
- β
[`for-of`](https://github.com/coderaiser/putout/tree/v34.0.0/packages/plugin-for-of#readme);
- β
[`logical-expressions`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-logical-expressions#readme);
- β
[`merge-duplicate-functions`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-merge-duplicate-functions#readme);
- β
[`esm/merge-duplicate-imports`](https://github.com/coderaiser/putout/tree/v41.0.0/packages/plugin-esm#merge-duplicate-imports);
- β
[`destructuring`](https://github.com/coderaiser/putout/tree/v41.0.0/packages/plugin-destructuring#readme);
- β
[`minify`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-minify#readme);
- β
[`new`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-new#readme);
- β
[`regexp`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-regexp#readme);
- β
[`reuse-duplicate-init`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-reuse-duplicate-init#readme);
- β
[`remove-empty`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-remove-empty#readme);
- β
[`remove-nested-blocks`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-remove-nested-blocks#readme);
- β
[`remove-unused-expressions`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-remove-unused-expressions#readme);
- β
[`arguments`](https://github.com/coderaiser/putout/tree/v41.0.0/packages/plugin-arguments#readme);
- β
[`remove-useless-else`](https://github.com/coderaiser/putout/tree/master/packages/plugin-remove-useless-else#readme);
- β
[`return/remove-useless`](https://github.com/coderaiser/putout/tree/v41.0.0/packages/plugin-return#remove-useless);
- β
[`remove-useless-spread`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-remove-useless-spread/#readme);
- β
[`variables`](https://github.com/coderaiser/putout/tree/v41.0.0/packages/plugin-variables#readme);
- β
[`remove-console`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-remove-console#readme);
- β
[`remove-debugger`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-remove-debugger#readme);
- β
[`remove-unreachable-code`](https://github.com/coderaiser/putout/tree/v29.0.0/packages/plugin-remove-unreachable-code#readme);
- β
[`simplify-ternary`](https://github.com/coderaiser/putout/tree/v34.0.0/packages/plugin-simplify-ternary#readme);
- β
[`types`](https://github.com/coderaiser/putout/tree/v29.7.1/packages/plugin-types#readme);
## API
```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);
```
### Options
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,
});
```
### How it's compared to X(your benchmark)?
[Benchmark](https://github.com/putoutjs/minify/tree/master/benchmark)
## License
MIT