GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - srod/node-minify: Light Node.js module that compress javascript, css and html files

BranchesTags
Open more actions menu

Latest commit

 

History

5,294 Commits
5,294 Commits

Folders and files

NameName
Last commit message
Last commit date
.changeset
.changeset
 
 
.github
.github
 
 
docs
docs
 
 
examples
examples
 
 
packages
packages
 
 
scripts
scripts
 
 
static
static
 
 
tests
tests
 
 
.coderabbit.yaml
.coderabbit.yaml
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
AGENTS.md
AGENTS.md
 
 
LICENSE
LICENSE
 
 
Migrate.md
Migrate.md
 
 
Readme.md
Readme.md
 
 
SECURITY.md
SECURITY.md
 
 
SKILL.md
SKILL.md
 
 
action.yml
action.yml
 
 
biome.json
biome.json
 
 
bun.lock
bun.lock
 
 
bunfig.toml
bunfig.toml
 
 
codecov.yml
codecov.yml
 
 
package.json
package.json
 
 
renovate.json
renovate.json
 
 
tsconfig.json
tsconfig.json
 
 
tsdown.config.ts
tsdown.config.ts
 
 
vitest.config.ts
vitest.config.ts
 
 
wrangler.toml
wrangler.toml
 
 

Repository files navigation

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:

  • esbuild
  • Google Closure Compiler
  • oxc
  • swc
  • terser
  • uglify-js

CSS:

  • clean-css
  • cssnano
  • CSSO
  • esbuild
  • lightningcss

HTML:

  • minify-html - Rust-based, recommended
  • html-minifier

JSON:

  • jsonminify

Image:

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

Other:

  • No compress

Command Line Interface:

  • CLI

Benchmark:

  • Benchmark - Compare compressor performance

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

About

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

node-minify.2clics.net

Topics

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

Resources

Readme
MIT license

Security policy

Security policy
Activity

Stars

521 stars

Watchers

12 watching

Forks

49 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.