minify-html
Status: Recommended
minify-html can compress only HTML files.
https://github.com/wilsonzlin/minify-html
A Rust-based HTML minifier with Node.js bindings. It uses lightningcss for CSS minification and oxc for JavaScript minification.
Installation
npm install @node-minify/core @node-minify/minify-html
Usage
import { minify } from '@node-minify/core';
import { minifyHtml } from '@node-minify/minify-html';
const result = await minify({
compressor: minifyHtml,
input: 'foo.html',
output: 'bar.html'
});
In Memory
import { minify } from '@node-minify/core';
import { minifyHtml } from '@node-minify/minify-html';
const html = `
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
</html>`;
const result = await minify({
compressor: minifyHtml,
content: html
});
Options
CSS minification is enabled by default. JavaScript minification is disabled by default, because the underlying minifier can panic on some JavaScript patterns; enable it explicitly if you need it.
const result = await minify({
compressor: minifyHtml,
input: 'foo.html',
output: 'bar.html',
options: {
minify_css: true,
minify_js: true,
keep_comments: false
}
});