astro-min v1.3.1
β³ AstroMin
Extremely fast and smartπΉ Minification of π HTML π‘ JS π΅ CSS π£ SVG
Meticulously optimized for Speed π₯ and Effectiveness π based on Rust π¦
Feature Highlights β¨
- β‘ Performant parallel processing (+1k files/s)
 - πͺΆ Lighter build output (~25% smaller)
 - π¦ small packaged size (~30KB)
 
Feature Roadmap π±
- HTML, CSS, JS, SVG
 - Files and inline Code
 - Static Site Minification
 
Note
astro-minfocuses on compressing statically generated content and pre-rendered routes
- Support SSR / Hybrid Rendering
 - Remove Comments from external CSS/JS
 
Getting started π―
Use your package manager of your choice
# NPM
npm run astro add astro-min
# Bun (known bug π)
#bun astro add astro-min
# PNPM
pnpm astro add astro-min
# Yarn
yarn astro add astro-minManual Installation π§βπ»
Install package
astro-minImport and add to integrations list
//astro.config.mjs
import { defineConfig } from 'astro/config'
import min from 'astro-min'
export default defineConfig({
  integrations: [min()]
})Options π§
//astro.config.mjs
import { defineConfig } from 'astro/config'
import minify from 'astro-min'
export default defineConfig({
  integrations: [
    minify({
      do_not_minify_doctype: false,
      ensure_spec_compliant_unquoted_attribute_values: false,
      keep_closing_tags: false,
      keep_comments: false,
      keep_html_and_head_opening_tags: false,
      keep_input_type_text_attr: false,
      keep_spaces_between_attributes: false,
      keep_ssi_comments: false,
      minify_css: false,
      minify_js: false,
      preserve_brace_template_syntax: false,
      preserve_chevron_percent_template_syntax: false,
      remove_bangs: false,
      remove_processing_instructions: false,
    })
  ]
})Use
astro-minlast in your integration list for the best optimization
Optional: but beforeastro-compressorandastro-compressfor images only
//astro.config.mjs
import { defineConfig } from 'astro/config'
import compressor from 'astro-compressor'
import minify from 'astro-min'
export default defineConfig({
  integrations: [
    minify({
      // do_not_minify_doctype: false,
      // ensure_spec_compliant_unquoted_attribute_values: false,
      // keep_closing_tags: false,
      // keep_comments: false,
      // keep_html_and_head_opening_tags: false,
      // keep_input_type_text_attr: false,
      // keep_spaces_between_attributes: false,
      // keep_ssi_comments: false,
      // minify_css: false,
      // minify_js: false,
      // preserve_brace_template_syntax: false,
      // preserve_chevron_percent_template_syntax: false,
      // remove_bangs: false,
      // remove_processing_instructions: false,
    }),
    compress({
      CSS: false,
      HTML: false,
      Image: true,
      JavaScript: false,
      SVG: false
    }),
    compressor()
  ]
})Development π»
Learn more π
Versus π
- π uses terser based on javascript
 - π€ lightningcss not yet implemented
 
- π uses terser based on javascript
 
Colophon π
Build with modern FOSS π and AI assistance π€
Next generation β¨ web development based on Rust π¦
Changelog π
1.2.0 - π  Feat: Parallel processing
      - β¨ Feat: Skip *.min.*
1.1.0 - π Fix: Auto install bug
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago