2个不稳定版本

0.2.0 2023年8月6日
0.1.0 2021年8月7日

#355 in 压缩

44 每月下载量
用于 2 crates

MIT/Apache

18KB
300 代码行

rustminify

CI codecov dependency status

一个用于压缩Rust代码的工具。

rustminify-cli (二进制)

Crates.io Crates.io

 cargo install rustminify-cli
 rustminify --remove-docs <<EOF
//! crate-level doc

fn main() {
    println!("{}", module::f());
}

mod module {
    //! module-level doc

    /// doc for an item
    pub(crate) fn f() -> i32 {
        1 + 1
    }
}
EOF
fn main(){println!("{}",module::f());}mod module{pub(crate)fn f()->i32{1+1}}

rustminify (库)

Crates.io Crates.io

 cargo add rustminify
use syn::parse_quote;

assert_eq!(
    r#"fn main(){println!("{}",module::f());}mod module{pub(crate)fn f()->i32{1+1}}"#,
    rustminify::minify_file(&rustminify::remove_docs(parse_quote! {
        //! crate-level doc

        fn main() {
            println!("{}", module::f());
        }

        mod module {
            //! module-level doc

            /// doc for an item
            pub(crate) fn f() -> i32 {
                1 + 1
            }
        }
    })),
);

许可证

双许可下 MITApache-2.0


lib.rs:

压缩Rust代码。

use syn::parse_quote;

assert_eq!(
    r#"fn main(){println!("{}",module::f());}mod module{pub(crate)fn f()->i32{1+1}}"#,
    rustminify::minify_file(&rustminify::remove_docs(parse_quote! {
        //! crate-level doc

        fn main() {
            println!("{}", module::f());
        }

        mod module {
            //! module-level doc

            /// doc for an item
            pub(crate) fn f() -> i32 {
                1 + 1
            }
        }
    })),
);

依赖项

~1.5MB
~35K SLoC