https://github.com/srod/node-minify
Light Node.js module that compress javascript, css and html files
https://github.com/srod/node-minify
babel-minify clean-css cli crass csso gcc google-closure-compiler html html-minifier html5 javascript json minify nodejs sqwish terser uglify-es uglify-js yui yui-compressor
Last synced: about 1 month ago
JSON representation
Light Node.js module that compress javascript, css and html files
- Host: GitHub
- URL: https://github.com/srod/node-minify
- Owner: srod
- License: mit
- Created: 2011-06-02T13:43:04.000Z (over 14 years ago)
- Default Branch: develop
- Last Pushed: 2025-05-07T16:34:52.000Z (9 months ago)
- Last Synced: 2025-05-07T17:41:10.503Z (9 months ago)
- Topics: babel-minify, clean-css, cli, crass, csso, gcc, google-closure-compiler, html, html-minifier, html5, javascript, json, minify, nodejs, sqwish, terser, uglify-es, uglify-js, yui, yui-compressor
- Language: TypeScript
- Homepage: https://node-minify.2clics.net
- Size: 58 MB
- Stars: 510
- Watchers: 16
- Forks: 52
- Open Issues: 3
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README

A very light minifier Node.js module.
# Features
It allow you to compress JavaScript, CSS and HTML files.
**JavaScript:**
- [esbuild](https://node-minify.2clics.net/compressors/esbuild)
- [Google Closure Compiler](https://node-minify.2clics.net/compressors/gcc)
- [oxc](https://node-minify.2clics.net/compressors/oxc)
- [swc](https://node-minify.2clics.net/compressors/swc)
- [terser](https://node-minify.2clics.net/compressors/terser)
- [uglify-js](https://node-minify.2clics.net/compressors/uglify-js)
- [babel-minify](https://node-minify.2clics.net/compressors/babel-minify) _(deprecated)_
- [uglify-es](https://node-minify.2clics.net/compressors/uglify-es) _(deprecated)_
- [YUI Compressor](https://node-minify.2clics.net/compressors/yui) _(deprecated)_
**CSS:**
- [clean-css](https://node-minify.2clics.net/compressors/clean-css)
- [cssnano](https://node-minify.2clics.net/compressors/cssnano)
- [CSSO](https://node-minify.2clics.net/compressors/csso)
- [esbuild](https://node-minify.2clics.net/compressors/esbuild)
- [lightningcss](https://node-minify.2clics.net/compressors/lightningcss)
- [crass](https://node-minify.2clics.net/compressors/crass) _(deprecated)_
- [sqwish](https://node-minify.2clics.net/compressors/sqwish) _(deprecated)_
- [YUI Compressor](https://node-minify.2clics.net/compressors/yui) _(deprecated)_
**HTML:**
- [html-minifier](https://node-minify.2clics.net/compressors/html-minifier)
**Command Line Interface:**
- [CLI](https://node-minify.2clics.net/cli)
## Installation
```bash
npm install @node-minify/core
# Or Yarn
yarn add @node-minify/core
# Or pnpm
pnpm add @node-minify/core
# Or Bun
bun add @node-minify/core
```
And install the compressor you want
```bash
npm install @node-minify/uglify-js
# Or Yarn
yarn add @node-minify/uglify-js
# Or pnpm
pnpm add @node-minify/uglify-js
# Or Bun
bun add @node-minify/uglify-js
```
## Quick Start
```js
import { minify } from '@node-minify/core';
import { gcc } from '@node-minify/google-closure-compiler';
import { terser } from '@node-minify/terser';
// Using Google Closure Compiler
const result = await minify({
compressor: gcc,
input: 'foo.js',
output: 'bar.js'
});
// Using terser with wildcards
const min = await minify({
compressor: terser,
input: 'src/**/*.js',
output: 'dist/bundle.js'
});
// Using Promise
minify({
compressor: terser,
input: 'src/**/*.js',
output: 'dist/bundle.js'
}).then((min) => {
console.log(min);
});
```
### In memory
```js
import { minify } from '@node-minify/core';
import { htmlMinifier } from '@node-minify/html-minifier';
const html = `
`;
const min = await minify({
compressor: htmlMinifier,
content: html
});
console.log(min);
```
[More examples](https://github.com/srod/node-minify/blob/main/examples/server.js)
## Documentation
Visit https://node-minify.2clics.net for full documentation.
## License
[MIT](LICENSE)