Skip to main content

Crate mni

Crate mni 

Source
Expand description

§mni - A World-Class Minifier

A high-performance minifier for JavaScript, CSS, and JSON written in Rust.

Built on industry-leading libraries:

  • JavaScript: SWC (powers Next.js, Deno, Vercel)
  • CSS: LightningCSS (100x faster than cssnano, powers Parcel)
  • JSON: serde_json (Rust standard)

§Features

  • Production-Ready: Built on battle-tested libraries
  • Blazing Fast: SWC + LightningCSS performance
  • High Compression: Terser-level minification quality
  • Multi-format: JavaScript (ES5-ESNext), CSS, JSON
  • Source Maps: Source map generation for JS (via SWC) and CSS (via LightningCSS)

§Example

use mni::{Minifier, MinifyOptions, Target};

let code = r#"
    function hello(name) {
        console.log("Hello, " + name + "!");
    }
"#;

let options = MinifyOptions {
    target: Target::ES2015,
    mangle: true,
    compress: true,
    ..Default::default()
};

let minified = Minifier::new(options).minify_js(code).unwrap();
println!("{}", minified.code);

Re-exports§

pub use config::MinifyOptions;
pub use config::Target;

Modules§

config
Configuration options for minification.
minify
Minification implementations for different formats

Structs§

Minifier
Main minifier interface that provides methods to minify JavaScript, CSS, and JSON.
MinifyResult
Result of a minification operation containing the minified code, optional source map, and statistics.
MinifyStats
Statistics collected during the minification process.