{"id":41940,"library":"scully-plugin-minify-html","title":"Scully Plugin Minify HTML","description":"A Scully post-rendering plugin that minifies HTML output to reduce file size and improve SEO. Current stable version 6.0.0 works with Scully >=1.0.0. Released irregularly. Key differentiator: simple integration, leverages popular minifier libraries under the hood.","status":"active","version":"6.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/samvloeberghs/kwerri-oss/tree/master/projects/scully-plugin-minify-html","tags":["javascript","angular","scully","html","minifier","jamstack","seo","ssg","typescript"],"install":[{"cmd":"npm install scully-plugin-minify-html","lang":"bash","label":"npm"},{"cmd":"yarn add scully-plugin-minify-html","lang":"bash","label":"yarn"},{"cmd":"pnpm add scully-plugin-minify-html","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency required for plugin infrastructure","package":"@scullyio/scully","optional":false},{"reason":"peer dependency used for configuration parsing","package":"json5","optional":false}],"imports":[{"note":"ESM only; CJS require fails. Plugin must be registered via Scully config.","wrong":"const MinifyHtml = require('scully-plugin-minify-html');","symbol":"MinifyHtml","correct":"import { MinifyHtml } from 'scully-plugin-minify-html';"},{"note":"Same ESM requirement.","wrong":"const getPluginOptions = require('scully-plugin-minify-html').getPluginOptions;","symbol":"getPluginOptions","correct":"import { getPluginOptions } from 'scully-plugin-minify-html';"},{"note":"PostRender type is from Scully core, not this plugin.","wrong":"import { PostRender } from 'scully-plugin-minify-html';","symbol":"type PostRender","correct":"import type { PostRender } from '@scullyio/scully';"}],"quickstart":{"code":"// Install: npm install --save-dev scully-plugin-minify-html\n// Configure in scully.your-app.config.ts:\nimport { ScullyConfig } from '@scullyio/scully';\nimport { MinifyHtml } from 'scully-plugin-minify-html';\n\nconst defaultPostRenderers = ['MinifyHtml'];\n\nexport const config: ScullyConfig = {\n  projectRoot: './src',\n  projectName: 'your-app',\n  outDir: './dist/static',\n  defaultPostRenderers,\n  routes: {},\n};\n\n// Optional: customize minifier options\nimport { getPluginOptions } from 'scully-plugin-minify-html';\ngetPluginOptions().minifierOptions = {\n  collapseWhitespace: true,\n  removeComments: true,\n  minifyCSS: false,\n};","lang":"typescript","description":"Shows installation, registration of the plugin in Scully config, and optional customization of minifier options."},"warnings":[{"fix":"Upgrade Scully to >=1.0.0 or pin plugin to version 5.x","message":"Version 6.x removed support for Scully <1.0.0","severity":"breaking","affected_versions":">=6.0.0"},{"fix":"Migrate to route plugin configuration in Scully config","message":"Options via global property getPluginOptions() is deprecated; use Scully config route plugins instead","severity":"deprecated","affected_versions":">=5.0.0"},{"fix":"Use import syntax and ensure TypeScript module is set to ESNext","message":"Plugin must be imported as ESM; CommonJS require will fail","severity":"gotcha","affected_versions":">=6.0.0"},{"fix":"Use route-specific plugin configuration if available in newer versions","message":"Minifier options set via getPluginOptions() are global; different routes cannot have separate settings","severity":"gotcha","affected_versions":">=4.0.0 <=5.0.0"}],"env_vars":null,"search_vec":"'1.0.0':29 '6.0.0':25 'angular':44 'current':22 'differenti':33 'file':17 'hood':42 'html':4,13,46 'improv':20 'integr':35 'irregular':31 'jamstack':48 'javascript':43 'key':32 'leverag':36 'librari':39 'minifi':3,12,38,47 'output':14 'plugin':2,10 'popular':37 'post':8 'post-rend':7 'reduc':16 'releas':30 'render':9 'sculli':1,6,28,45 'seo':21,49 'simpl':34 'size':18 'ssg':50 'stabl':23 'typescript':51 'version':24 'work':26","created_at":"2026-06-04T18:54:50.670230+00:00","updated_at":"2026-06-04T18:54:50.670230+00:00","problems":[{"fix":"Run npm install --save-dev scully-plugin-minify-html or switch to ESM module system","cause":"Package not installed or ESM import used in CJS context","error":"Cannot find module 'scully-plugin-minify-html'"},{"fix":"Add 'MinifyHtml' to defaultPostRenderers array in scully.config.ts","cause":"Plugin not added to defaultPostRenderers or postRenderers array in Scully config","error":"Error: MinifyHtml is not a post-renderer"},{"fix":"Use named import: import { getPluginOptions } from 'scully-plugin-minify-html';","cause":"getPluginOptions imported incorrectly (CommonJS) or wrong version","error":"TypeError: getPluginOptions is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/samvloeberghs/kwerri-oss/tree/master/projects/scully-plugin-minify-html","github":"https://github.com/samvloeberghs/kwerri-oss/tree/master/projects/scully-plugin-minify-html","docs":null,"changelog":null,"pypi":null,"npm":"scully-plugin-minify-html","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-04","next_check":"2026-09-02","install_tag":null}}