esbuild-hexo-minifier

raw JSON →
0.1.7 verified Fri May 01 auth: no javascript

A Hexo plugin that minifies static assets (HTML, CSS, JS, images, fonts) using esbuild. Version 0.1.7, stable with occasional updates. Differentiates from other Hexo minifiers by leveraging esbuild's speed for JS/CSS minification, but has known issues with some configurations and lacks comprehensive documentation.

error esbuild-hexo-minifier: command not found
cause Package not installed or not in PATH.
fix
Install locally: npm install esbuild-hexo-minifier --save-dev, then use npx esbuild-hexo-minifier or define script in package.json.
error Error: Cannot find module 'esbuild'
cause esbuild peer dependency not installed.
fix
Run npm install esbuild --save-dev to install esbuild alongside the minifier.
error hexo generate && esbuild-hexo-minifier throws 'Permission denied'
cause Global installation requires superuser privileges; local installation does not.
fix
Avoid global install; use local dev dependency and run via npm script.
error Minified file is larger than original (images or fonts)
cause Default esbuild minification for binary assets may increase size due to encoding.
fix
Skip image/font minification by not including those file types in the processed assets, or use dedicated image minification tools.
gotcha Minifier may break custom Hexo scripts or generate unexpected output if asset paths contain special characters.
fix Review output assets and manually verify minification; consider using quotes in configuration if paths have spaces.
deprecated Global installation is discouraged; use npx or local dev dependency instead.
fix Install locally with --save-dev and run via npx or npm script.
gotcha No configuration options: the minifier applies default settings without customization.
fix If customization is needed, consider alternative Hexo minifier plugins like hexo-all-minifier.
gotcha Non-JS assets (images, fonts) are minified using default esbuild loaders which may produce larger files or unsupported formats.
fix Disable image/font minification by not adding those file types, or use dedicated tools like gulp-imagemin.
breaking In version 0.1.5, the CLI name changed from 'esbuild-hexo-minifier' to 'esbuild-hexo-minifier' (same name, but script invocation changed).
fix Run 'npx esbuild-hexo-minifier' instead of previous script name if upgrading from below 0.1.5.
npm install esbuild-hexo-minifier
yarn add esbuild-hexo-minifier
pnpm add esbuild-hexo-minifier

Installs the package as a dev dependency, adds a build script that runs hexo generate then the minifier, and executes it.

npm install esbuild-hexo-minifier --save-dev
# Add to package.json scripts:
"scripts": {
  "build": "hexo generate && esbuild-hexo-minifier"
}
npm run build