Registry / devops / esbuild-plugin-minify-html

esbuild-plugin-minify-html

JSON →
library0.1.2jsnpmunverified

An esbuild plugin that imports HTML files as minified raw text strings at build time, using html-minifier-terser for minification. Version 0.1.2 is the current stable release, with infrequent updates. It differentiates itself from raw-text loaders by combining import and minification in one plugin, eliminating the need for a separate minification step. Ships TypeScript types and supports customizable minifier options like collapseWhitespace.

npm install esbuild-plugin-minify-html
INSTALL
IMPORT
SIG · ESBUILD-PLUGIN-MIN
E
esbuild-plugin-minify-html
devopsjavascriptv0.1.2
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default (minifyHTML)
import minifyHTML from 'esbuild-plugin-minify-html'
const minifyHTML = require('esbuild-plugin-minify-html')
Package exports ESM default; CJS require works but may fail if bundler lacks ESM interop
HTML file import with ?raw
import content from './file.html?raw'
import content from './file.html'
The ?raw query suffix is required to trigger the plugin; TypeScript needs a module declaration for ?raw imports
TypeScript module declaration
declare module '*.html?raw' { const src: string; export default src; }
declare module '*.html' { const src: string; export default src; }
The ?raw suffix must be included in the module declaration to match the import syntax

Build script using esbuild with minifyHTML plugin to import and minify HTML files as raw text.

import esbuild from 'esbuild'; import minifyHTML from 'esbuild-plugin-minify-html'; await esbuild.build({ entryPoints: ['src/index.js'], bundle: true, outfile: 'dist/out.js', plugins: [ minifyHTML({ collapseWhitespace: true, removeComments: true, }), ], });
Debug
Known issues
gotchaQuery suffix ?raw is required on HTML imports; omitting it bypasses the plugin and may cause build errors or undefined imports.
fix
Always append ?raw to HTML import paths: import content from './file.html?raw'
affects: >=0.1.0
gotchaTypeScript users must add a module declaration for *.html?raw to avoid type errors.
fix
Add a .d.ts file with: declare module '*.html?raw' { const src: string; export default src; }
affects: >=0.1.0
breakingVersion 0.1.0 changed from esbuild-plugin-raw-css to esbuild-plugin-minify-html; all import paths and plugin API changed.
fix
Migrate to new package: npm install esbuild-plugin-minify-html and update imports
affects: 0.0.x
gotchahtml-minifier-terser options are passed directly to the minifier; some options may break HTML semantics if misconfigured.
fix
Refer to html-minifier-terser documentation and test minified output for correctness
affects: >=0.1.0
Errors
Common errors & fixes
Error: No matching plugins for import "*.html?raw"
Plugin not registered in esbuild configuration or ?raw suffix omitted.
fix
Add minifyHTML plugin to esbuild.plugins array and ensure import path ends with ?raw.
Cannot find module '*.html?raw' or its corresponding type declarations.
TypeScript does not recognize .html?raw imports without a module declaration.
fix
Place a .d.ts file in your project root with: declare module '*.html?raw' { const src: string; export default src; }
Error: Cannot find module 'html-minifier-terser'
Missing required peer dependency html-minifier-terser.
fix
Run: npm install html-minifier-terser
Upgrade
Version history
0.1.2latest on npm
Audit
Dependencies
html-minifier-terserrequiredPeer dependency for HTML minification
Agent activity
2 hits · last 30 days
node
2
Resources
esbuild-plugin-minify-html — npm install esbuild-plugin-minify-html · libregistry