From 06efb77d57a858f3128488b131236fee49736cfd Mon Sep 17 00:00:00 2001 From: Boshen Date: Fri, 20 Oct 2023 11:33:53 +0800 Subject: [PATCH] chore(minifier): add `--whitespace` option to example --- crates/oxc_minifier/examples/minifier.rs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/crates/oxc_minifier/examples/minifier.rs b/crates/oxc_minifier/examples/minifier.rs index a0b934243..cf36426fb 100644 --- a/crates/oxc_minifier/examples/minifier.rs +++ b/crates/oxc_minifier/examples/minifier.rs @@ -19,34 +19,38 @@ static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc; // Instruction: // create a `test.js`, // run `cargo run -p oxc_minifier --example minifier` -// or `cargo watch -x "run -p oxc_minifier --example minifier"` +// or `just watch "run -p oxc_minifier --example minifier"` fn main() { let mut args = Arguments::from_env(); let name = args.subcommand().ok().flatten().unwrap_or_else(|| String::from("test.js")); let mangle = args.contains("--mangle"); + let whitespace = args.contains("--whitespace"); let twice = args.contains("--twice"); let path = Path::new(&name); let source_text = std::fs::read_to_string(path).unwrap_or_else(|_| panic!("{name} not found")); let source_type = SourceType::from_path(path).unwrap(); - let options = MinifierOptions { mangle, ..MinifierOptions::default() }; - let printed = minify(&source_text, source_type, options); + let printed = minify(&source_text, source_type, mangle, whitespace); println!("{printed}"); if twice { - let options = MinifierOptions { mangle, ..MinifierOptions::default() }; - let printed = minify(&printed, source_type, options); + let printed = minify(&printed, source_type, mangle, whitespace); println!("{printed}"); } } -fn minify(source_text: &str, source_type: SourceType, options: MinifierOptions) -> String { +fn minify(source_text: &str, source_type: SourceType, mangle: bool, whitespace: bool) -> String { let allocator = Allocator::default(); let program = Parser::new(&allocator, source_text, source_type).parse().program; let program = allocator.alloc(program); + let options = MinifierOptions { mangle, ..MinifierOptions::default() }; Minifier::new(options).build(&allocator, program); - Codegen::::new(source_text.len(), CodegenOptions).build(program) + if whitespace { + Codegen::::new(source_text.len(), CodegenOptions).build(program) + } else { + Codegen::::new(source_text.len(), CodegenOptions).build(program) + } }