npm.io
3.6.0 • Published 7 years agoCLI

node-minify

Licence
MIT
Version
3.6.0
Deps
21
Size
13.1 MB
Vulns
2
Weekly
0
Stars
519

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

Keywords