Skip to content

Commit 8798fa1

Browse files
committed
Tune JS compression
1 parent 8d780b4 commit 8798fa1

File tree

4 files changed

+9
-8
lines changed

4 files changed

+9
-8
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ All [`Cfg` fields](https://docs.rs/minify-html/latest/minify_html/struct.Cfg.htm
180180

181181
- Package: [minify-html](https://pypi.org/project/minify-html)
182182
- Binding: [PyO3](https://github.com/PyO3/pyo3)
183-
- Platforms: Linux (ARM64 and x64), macOS (ARM64 and x64), Windows (x64); Python 3.8 to 3.13
183+
- Platforms: Linux (ARM64 and x64), macOS (ARM64 and x64), Windows (x64); Python 3.8 to 3.14
184184

185185
### Get
186186

minify-html-common/src/tests/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@ pub fn create_common_js_test_data() -> HashMap<&'static [u8], &'static [u8]> {
457457
let a = 1;
458458
</script>
459459
"#,
460-
b"<script>let a=1;</script>",
460+
b"<script>// This is a comment.\nlet a=1;</script>",
461461
);
462462

463463
// js minification unintentional closing tag

minify-html-onepass/src/unit/script.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,10 @@ pub fn process_script(
6363
let mut program = parser_ret.program;
6464

6565
// Apply minification
66+
// Use CompressOptions::safest() instead of default() to avoid overly aggressive dead code elimination
6667
let minifier_options = MinifierOptions {
6768
mangle: Some(MangleOptions::default()),
68-
compress: Some(CompressOptions::default()),
69+
compress: Some(CompressOptions::safest()),
6970
};
7071
let _minifier_ret = Minifier::new(minifier_options).minify(&allocator, &mut program);
7172

minify-html/src/minify/js.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,13 @@ pub fn minify_js(cfg: &Cfg, mode: TopLevelMode, out: &mut Vec<u8>, code: &[u8])
3737
// Only proceed if parsing succeeded without errors
3838
if parser_ret.errors.is_empty() {
3939
let mut program = parser_ret.program;
40-
40+
4141
// Apply minification
42-
let minifier_options = MinifierOptions {
42+
// Use CompressOptions::safest() instead of default() to avoid overly aggressive dead code elimination
43+
let _minifier_ret = Minifier::new(MinifierOptions {
4344
mangle: Some(MangleOptions::default()),
44-
compress: Some(CompressOptions::default()),
45-
};
46-
let _minifier_ret = Minifier::new(minifier_options).minify(&allocator, &mut program);
45+
compress: Some(CompressOptions::safest()),
46+
}).minify(&allocator, &mut program);
4747

4848
// Generate minified code
4949
let codegen_options = CodegenOptions {

0 commit comments

Comments
 (0)