Skip to content

srod/node-minify

Repository files navigation

node-minify

A very light minifier Node.js module.


Build Status

Features

It allow you to compress JavaScript, CSS and HTML files.

JavaScript:

CSS:

HTML:

Command Line Interface:

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 you want

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

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