TypeScript MIT

node-minify

Light Node.js module that compress javascript, css and html files

S

srod

Dernière activité 28 sept. 2026
srod/node-minify

519

étoiles

49

forks

3

issues ouvertes

babel-minifyclean-cssclicrasscssogccgoogle-closure-compilerhtmlhtml-minifierhtml5javascriptjsonminifynodejssqwishterseruglify-esuglify-jsyuiyui-compressor

Ce README est souvent en anglais.

node-minify

A very light minifier Node.js module.


npm version npm downloads Build Status code coverage CodeRabbit PR reviews

Features

It allows you to compress JavaScript, CSS, HTML, and image files.

JavaScript:

CSS:

HTML:

JSON:

Image:

  • sharp - WebP/AVIF conversion
  • svgo - SVG optimization
  • imagemin - PNG/JPEG/GIF compression

Other:

Command Line Interface:

Benchmark:

Upgrading:

  • v11 Migration Guide - Run npx --package=@node-minify/cli -- node-minify doctor to scan your project

Requirements

  • Node.js: 22 or higher
  • Module System: ESM only ("type": "module" in package.json)

Installation

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(s) you want:

JavaScript Compressors

npm install @node-minify/terser        # Recommended - modern, fast, well-maintained
npm install @node-minify/esbuild       # Recommended - extremely fast, also handles CSS
npm install @node-minify/swc           # Recommended - Rust-based, very fast
npm install @node-minify/oxc           # Recommended - Rust-based, cutting-edge
npm install @node-minify/uglify-js     # Supported - classic, battle-tested
npm install @node-minify/google-closure-compiler  # Supported - advanced optimizations

CSS Compressors

npm install @node-minify/lightningcss  # Recommended - Rust-based, fastest
npm install @node-minify/cssnano       # Recommended - PostCSS-based, customizable
npm install @node-minify/esbuild       # Recommended - also handles JS
npm install @node-minify/clean-css     # Supported - feature-rich, reliable
npm install @node-minify/csso          # Supported - structural optimizations

HTML & Other

npm install @node-minify/minify-html   # Recommended - Rust-based, fastest
npm install @node-minify/html-minifier # Supported - feature-rich HTML minification
npm install @node-minify/jsonminify    # Legacy - JSON minification

Image Compressors

npm install @node-minify/sharp         # Recommended - WebP/AVIF conversion, high performance
npm install @node-minify/svgo          # Recommended - SVG optimization
npm install @node-minify/imagemin      # Supported - PNG/JPEG/GIF compression

Quick Start

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

import { minify } from '@node-minify/core';
import { htmlMinifier } from '@node-minify/html-minifier';

const html = `
<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
    </head>
</html>`;

const min = await minify({
  compressor: htmlMinifier,
  content: html
});
console.log(min);

More examples

Documentation

Visit https://node-minify.2clics.net for full documentation.

License

MIT

Projets similaires

Javascript-based HTML compressor/minifier (with Node.js support)

JavaScript
Kkangax
5 k étoiles577

actively maintained fork of html-minifier - minify HTML, CSS and JS code using terser - supports ES6 code

JavaScriptclicompressecmascript6
Tterser
481 étoiles45

Go minifiers for web formats

Gocssgohtml
Ttdewolff
4,1 k étoiles244