Skip to content

Commit

Permalink
fix(html/minifier): Fix removal of comments (#4974)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-akait committed Jun 17, 2022
1 parent 78ced2d commit 8e63b0b
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 0 deletions.
14 changes: 14 additions & 0 deletions crates/swc_html_minifier/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -598,6 +598,20 @@ impl Minifier {
}

impl VisitMut for Minifier {
fn visit_mut_document(&mut self, n: &mut Document) {
n.visit_mut_children_with(self);

n.children
.retain(|child| !matches!(child, Child::Comment(_)));
}

fn visit_mut_document_fragment(&mut self, n: &mut DocumentFragment) {
n.visit_mut_children_with(self);

n.children
.retain(|child| !matches!(child, Child::Comment(_)));
}

fn visit_mut_document_type(&mut self, n: &mut DocumentType) {
n.visit_mut_children_with(self);

Expand Down
12 changes: 12 additions & 0 deletions crates/swc_html_minifier/tests/fixture/comment/html/input.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!--test--><!doctype html><!--test-->
<!--test--><html lang="en"><!--test-->
<!--test--><head><!--test-->
<!--test--><title>Document</title><!--test-->
<!--test--></head><!--test-->
<!--test--><body><!--test-->
<!--test-->
<div>test</div>
<!--test-->
<!--test--></body><!--test-->
<!--test--></html><!--test-->
<!--test-->
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<!doctype html><html lang=en><title>Document</title><body>

<div>test</div>



Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,9 @@
test
</div>
</template>
<template>
<!-- test -->
<div>Test</div>
</template>
</body>
</html>
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,8 @@
test
</div>
</template>
<template>

<div>Test</div>
</template>

1 comment on commit 8e63b0b

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 8e63b0b Previous: 41dc0a7 Ratio
es/full/minify/libraries/antd 1632070473 ns/iter (± 52580508) 1697303245 ns/iter (± 68660308) 0.96
es/full/minify/libraries/d3 401797799 ns/iter (± 24230096) 414321976 ns/iter (± 12941243) 0.97
es/full/minify/libraries/echarts 1616193879 ns/iter (± 47434892) 1637451361 ns/iter (± 29203576) 0.99
es/full/minify/libraries/jquery 87624335 ns/iter (± 2447920) 95759382 ns/iter (± 4898003) 0.92
es/full/minify/libraries/lodash 114038467 ns/iter (± 4146657) 140256170 ns/iter (± 9420233) 0.81
es/full/minify/libraries/moment 51316965 ns/iter (± 955764) 54907335 ns/iter (± 2065777) 0.93
es/full/minify/libraries/react 20979575 ns/iter (± 11866431) 17803192 ns/iter (± 397948) 1.18
es/full/minify/libraries/terser 595492232 ns/iter (± 77139589) 641442206 ns/iter (± 20161950) 0.93
es/full/minify/libraries/three 539641817 ns/iter (± 25187582) 574637997 ns/iter (± 19749940) 0.94
es/full/minify/libraries/typescript 3473601678 ns/iter (± 92341759) 3602930170 ns/iter (± 46482953) 0.96
es/full/minify/libraries/victory 717503668 ns/iter (± 25697376) 762619488 ns/iter (± 10642337) 0.94
es/full/minify/libraries/vue 128903283 ns/iter (± 3812158) 153330603 ns/iter (± 2383886) 0.84
es/full/codegen/es3 30193 ns/iter (± 2249) 33488 ns/iter (± 2373) 0.90
es/full/codegen/es5 30743 ns/iter (± 746) 33550 ns/iter (± 3514) 0.92
es/full/codegen/es2015 30353 ns/iter (± 1170) 34318 ns/iter (± 2545) 0.88
es/full/codegen/es2016 30342 ns/iter (± 1185) 33677 ns/iter (± 4111) 0.90
es/full/codegen/es2017 30304 ns/iter (± 1296) 33000 ns/iter (± 3335) 0.92
es/full/codegen/es2018 30368 ns/iter (± 1231) 33445 ns/iter (± 2528) 0.91
es/full/codegen/es2019 30270 ns/iter (± 927) 33499 ns/iter (± 3155) 0.90
es/full/codegen/es2020 30303 ns/iter (± 578) 34023 ns/iter (± 2645) 0.89
es/full/all/es3 179033794 ns/iter (± 4777978) 197159598 ns/iter (± 8935230) 0.91
es/full/all/es5 167712278 ns/iter (± 6161213) 182092447 ns/iter (± 7200398) 0.92
es/full/all/es2015 136803363 ns/iter (± 7360874) 146006772 ns/iter (± 5740629) 0.94
es/full/all/es2016 135519381 ns/iter (± 4879826) 146608106 ns/iter (± 5995390) 0.92
es/full/all/es2017 135445036 ns/iter (± 4099418) 147566397 ns/iter (± 6576103) 0.92
es/full/all/es2018 134019492 ns/iter (± 4664806) 140347083 ns/iter (± 5727911) 0.95
es/full/all/es2019 133101642 ns/iter (± 5814132) 138741820 ns/iter (± 5800474) 0.96
es/full/all/es2020 128397507 ns/iter (± 3970068) 134556057 ns/iter (± 6789073) 0.95
es/full/parser 676644 ns/iter (± 31977) 714874 ns/iter (± 47463) 0.95
es/full/base/fixer 28258 ns/iter (± 893) 30047 ns/iter (± 2325) 0.94
es/full/base/resolver_and_hygiene 84994 ns/iter (± 6039) 88983 ns/iter (± 8073) 0.96
serialization of ast node 202 ns/iter (± 6) 220 ns/iter (± 22) 0.92
serialization of serde 210 ns/iter (± 7) 226 ns/iter (± 37) 0.93

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.