πŸš€ Socket Launch Week πŸš€ Day 5: Introducing Socket Fix.Learn More β†’
Socket
Sign inDemoInstall
Socket

astro-min

Package Overview
Dependencies
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

astro-min

Extremely ⚑ fast and smart 🟠 HTML 🟑 JS πŸ”΅ CSS 🟣 SVG minification for Astro πŸš€ based on Rust πŸ¦€

1.3.1
latest
Source
npm
Version published
Weekly downloads
107
16.3%
Maintainers
1
Weekly downloads
Β 
Created
Source

✳ AstroMin

Extremely fast and smartπŸ”Ή Minification of 🟠 HTML 🟑 JS πŸ”΅ CSS 🟣 SVG
Meticulously optimized for Speed πŸ₯‡ and Effectiveness πŸ… based on Rust πŸ¦€

Built with Astro GitHub Repo Stars NPM Package Version License: MIT Types Socket Badge

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-min focuses 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-min

Manual Installation πŸ§‘β€πŸ’»

  • Install package astro-min

  • Import 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,
    })
  ]
})

[!IMPORTANT]

Use astro-min last in your integration list for the best optimization
Optional: but before astro-compressor and astro-compress for 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 πŸ’»

Open in StackBlitz Open with CodeSandbox Open in GitHub Codespaces Open in Gitpod

Learn more πŸ”–

Versus πŸ…

  • astro-compress

    • 🐌 uses terser based on javascript
    • πŸ’€ lightningcss not yet implemented
  • astro-html-minify

    • 🐌 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

Advanced Astro

Keywords

astro

FAQs

Package last updated on 05 May 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts