{"id":21231,"library":"esbuild-minify-templates","title":"esbuild-minify-templates","description":"A plugin for esbuild that minifies template literal strings by collapsing whitespace and removing whitespace around HTML tags. Version 0.13.1 is current; it supports node >=12 and requires esbuild >=0.13.0 <1.0.0 as a peer dependency. Features include source map support, the ability to ignore specific template literals with a comment, and options like `keepComments` (preserve HTML comments) and `taggedOnly` (minify only tagged templates). It ships TypeScript types. Unlike other minifiers, it works as two esbuild plugins that require the `write` option to be `false`, writing output files via a separate `writeFiles()` plugin.","status":"active","version":"0.13.1","language":"javascript","source_language":"en","source_url":"https://github.com/maxmilton/esbuild-minify-templates","tags":["javascript","typescript"],"install":[{"cmd":"npm install esbuild-minify-templates","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-minify-templates","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-minify-templates","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency; the plugins hook into esbuild's build process and require esbuild >=0.13.0 <1.0.0.","package":"esbuild","optional":false}],"imports":[{"note":"ESM-only package; CommonJS require will fail. Use dynamic import or switch to ESM.","wrong":"const minifyTemplates = require('esbuild-minify-templates')","symbol":"minifyTemplates","correct":"import { minifyTemplates } from 'esbuild-minify-templates'"},{"note":"writeFiles is a named export, not a default export. CommonJS require is also incorrect.","wrong":"import writeFiles from 'esbuild-minify-templates'","symbol":"writeFiles","correct":"import { writeFiles } from 'esbuild-minify-templates'"},{"note":"This package has no default export. Attempting a default import will result in undefined at runtime.","wrong":"import MinifyTemplates from 'esbuild-minify-templates'","symbol":"default import (none)","correct":"no default export exists; always use named imports."}],"quickstart":{"code":"import esbuild from 'esbuild';\nimport { minifyTemplates, writeFiles } from 'esbuild-minify-templates';\n\nawait esbuild.build({\n  entryPoints: ['src/index.ts'],\n  outfile: 'dist/index.js',\n  plugins: [minifyTemplates(), writeFiles()],\n  bundle: true,\n  sourcemap: true,\n  write: false, // important!\n});","lang":"typescript","description":"Demonstrates the essential setup: import the two plugins, add them to the esbuild plugins array, and set write to false."},"warnings":[{"fix":"Set esbuild build option 'write' to false.","message":"The write option must be false to use esbuild-minify-templates.","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"Add writeFiles() to plugins list after minifyTemplates() and any other output-modifying plugins.","message":"writeFiles() must be included and placed after plugins that modify output.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Use import syntax or switch to ES modules in your project.","message":"This package is ESM-only; CommonJS require() will not work.","severity":"deprecated","affected_versions":">=0.12.0"},{"fix":"Set esbuild 'minify' to false and 'legalComments' to 'inline' for the ignore comment to work.","message":"Ignoring a template literal requires a /*! minify-templates-ignore */ comment on the line directly before it; esbuild's minify and legalComments options must be set appropriately.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Use import syntax: import { minifyTemplates } from 'esbuild-minify-templates';","cause":"CommonJS require used in an ESM-only package.","error":"Error: Cannot find module 'esbuild-minify-templates'"},{"fix":"Use named import: import { writeFiles } from 'esbuild-minify-templates';","cause":"Default import instead of named import.","error":"TypeError: writeFiles is not a function"},{"fix":"Set the esbuild build option 'write' to false.","cause":"write option not set to false before build.","error":"Error: Build failed with 1 error: error: Cannot access 'write' before initialization"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}