Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(html/minifier): Merge
script
tags (#6273)
- Loading branch information
1 parent
30b3596
commit 02f8d31
Showing
11 changed files
with
224 additions
and
65 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
crates/swc_html_minifier/tests/fixture/attribute/script-type/output.min.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
<!doctype html><script defer>console.log()</script><script>console.log()</script><script>console.log()</script><script type=module>console.log()</script><script type=module>console.log()</script><script>window.jQuery||document.write('<script src="jquery.js"></script>')</script><script type=text/html> | ||
<!doctype html><script defer>console.log()</script><script>console.log();console.log()</script><script type=module>console.log()</script><script type=module>console.log()</script><script>window.jQuery||document.write('<script src="jquery.js"><\/script>')</script><script type=text/html> | ||
<div> | ||
test | ||
</div> | ||
<!-- aa -->\n | ||
</script><script type="">alert(1)</script><script type=modules>alert(1)</script><script>alert(1)</script><script>alert(1)</script><script type=module src=app.mjs></script><script nomodule defer src=classic-app-bundle.js></script><script>alert(1)</script><script type=text/vbscript>MsgBox("foo bar")</script><script type="">MsgBox("foo bar")</script><script type=;;;;;>MsgBox("foo bar")</script><script>alert(1)</script><script>alert(1)</script><script>alert(1)</script><script>alert(1)</script><script>alert(1)</script><script>alert(1)</script><script>alert(1)</script><script></script> | ||
</script><script type="">alert(1)</script><script type=modules>alert(1)</script><script>alert(1);alert(1)</script><script type=module src=app.mjs></script><script nomodule defer src=classic-app-bundle.js></script><script>alert(1)</script><script type=text/vbscript>MsgBox("foo bar")</script><script type="">MsgBox("foo bar")</script><script type=;;;;;>MsgBox("foo bar")</script><script>alert(1)</script><script>alert(1)</script><script>alert(1)</script><script>alert(1)</script><script>alert(1)</script><script>alert(1)</script><script>alert(1)</script><script></script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
73 changes: 73 additions & 0 deletions
73
crates/swc_html_minifier/tests/fixture/element/script-group/input.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
<!doctype html> | ||
<html lang="en"> | ||
<head> | ||
<title>Document</title> | ||
</head> | ||
<body> | ||
<div>breaker</div> | ||
<script>var a = "test";console.log(a)</script> | ||
<script>var b = "test";console.log(b)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script type="text/javascript">var a = "test";console.log(a);</script> | ||
<script type="application/javascript">var b = "test";console.log(b);</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script type="application/javascript">var a = "test";console.log(a)</script> | ||
<script>var b = "test";console.log(b)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script type="application/javascript;version=1.8">var a = "test";console.log(a)</script> | ||
<script>var b = "test";console.log(b)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script>var a = "test";console.log(a)</script> | ||
<script crossorigin="use-credentials">var b = "test";console.log(b)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script type="text/javascript" crossorigin="use-credentials">var a = "test";console.log(a)</script> | ||
<script crossorigin="use-credentials">var b = "test";console.log(b)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script> | ||
(function test() { | ||
let test = "1"; | ||
console.log(test); | ||
})(); | ||
</script> | ||
<script> | ||
let test = "1"; | ||
console.log(test); | ||
</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script type="module">var a = "test";console.log(a)</script> | ||
<script>var b = "test";console.log(b)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script type="module">var a = "test";console.log(a)</script> | ||
<script type="module">var b = "test";console.log(b)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script>var a = "test";console.log(a)</script> | ||
<script type="unknown">var b = "test";console.log(b)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script src="test.js"></script> | ||
<script>var b = "test";console.log(b)</script> | ||
|
||
<div>breaker</div> | ||
<script></script> | ||
|
||
</body> | ||
</html> |
44 changes: 44 additions & 0 deletions
44
crates/swc_html_minifier/tests/fixture/element/script-group/output.min.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
<!doctype html><html lang=en><title>Document</title><div>breaker</div> | ||
<script>var o="test";console.log(o);var e="test";console.log(e)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script>var o="test";console.log(o);var e="test";console.log(e)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script>var o="test";console.log(o);var e="test";console.log(e)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script>var o="test";console.log(o);var e="test";console.log(e)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script>var o="test";console.log(o)</script><script crossorigin=use-credentials>var o="test";console.log(o)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script crossorigin=use-credentials>var o="test";console.log(o);var e="test";console.log(e)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script>(function o(){let o="1";console.log(o)})();let o="1";console.log(o)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script type=module>var o="test";console.log(o)</script><script>var o="test";console.log(o)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script type=module>var o="test";console.log(o)</script><script type=module>var o="test";console.log(o)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script>var o="test";console.log(o)</script><script type=unknown>var b = "test";console.log(b)</script> | ||
|
||
|
||
<div>breaker</div> | ||
<script src=test.js></script><script>var o="test";console.log(o)</script> | ||
|
||
<div>breaker</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
02f8d31
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark
es/full/bugs-1
354161
ns/iter (± 28230
)422553
ns/iter (± 35040
)0.84
es/full/minify/libraries/antd
1865115424
ns/iter (± 63451655
)2074136495
ns/iter (± 84790422
)0.90
es/full/minify/libraries/d3
429008668
ns/iter (± 11133572
)469995321
ns/iter (± 37946248
)0.91
es/full/minify/libraries/echarts
1570650146
ns/iter (± 38899866
)1715074849
ns/iter (± 111971530
)0.92
es/full/minify/libraries/jquery
99925110
ns/iter (± 1841293
)128041674
ns/iter (± 9408195
)0.78
es/full/minify/libraries/lodash
113938045
ns/iter (± 8793400
)155130241
ns/iter (± 21594048
)0.73
es/full/minify/libraries/moment
62702625
ns/iter (± 2262337
)91183362
ns/iter (± 10031001
)0.69
es/full/minify/libraries/react
20906086
ns/iter (± 983532
)28343139
ns/iter (± 3613934
)0.74
es/full/minify/libraries/terser
335456294
ns/iter (± 7702636
)450190118
ns/iter (± 101770297
)0.75
es/full/minify/libraries/three
576764323
ns/iter (± 13336693
)735889385
ns/iter (± 198894852
)0.78
es/full/minify/libraries/typescript
3462433450
ns/iter (± 77210381
)4401625514
ns/iter (± 274647832
)0.79
es/full/minify/libraries/victory
822593894
ns/iter (± 19122266
)1093032888
ns/iter (± 170596397
)0.75
es/full/minify/libraries/vue
165270185
ns/iter (± 7545555
)230265071
ns/iter (± 83991406
)0.72
es/full/codegen/es3
34581
ns/iter (± 458
)38632
ns/iter (± 6795
)0.90
es/full/codegen/es5
34445
ns/iter (± 1261
)39043
ns/iter (± 10430
)0.88
es/full/codegen/es2015
34563
ns/iter (± 657
)39171
ns/iter (± 3958
)0.88
es/full/codegen/es2016
34421
ns/iter (± 994
)39965
ns/iter (± 5447
)0.86
es/full/codegen/es2017
34017
ns/iter (± 1070
)38487
ns/iter (± 6334
)0.88
es/full/codegen/es2018
34418
ns/iter (± 1711
)38205
ns/iter (± 7458
)0.90
es/full/codegen/es2019
34451
ns/iter (± 1569
)39241
ns/iter (± 14438
)0.88
es/full/codegen/es2020
34519
ns/iter (± 437
)39217
ns/iter (± 3508
)0.88
es/full/all/es3
196319736
ns/iter (± 11486928
)264957445
ns/iter (± 83751900
)0.74
es/full/all/es5
183276300
ns/iter (± 10531859
)233424770
ns/iter (± 55331811
)0.79
es/full/all/es2015
147468855
ns/iter (± 5020165
)180627367
ns/iter (± 56300368
)0.82
es/full/all/es2016
144376424
ns/iter (± 14632678
)183157086
ns/iter (± 70558860
)0.79
es/full/all/es2017
148698989
ns/iter (± 7522574
)187879457
ns/iter (± 61924798
)0.79
es/full/all/es2018
140426073
ns/iter (± 5928379
)180862070
ns/iter (± 33282267
)0.78
es/full/all/es2019
149695966
ns/iter (± 10112648
)179318277
ns/iter (± 99456908
)0.83
es/full/all/es2020
138654535
ns/iter (± 6286155
)177289500
ns/iter (± 28671410
)0.78
es/full/parser
728183
ns/iter (± 90481
)807085
ns/iter (± 89320
)0.90
es/full/base/fixer
26325
ns/iter (± 410
)28651
ns/iter (± 2793
)0.92
es/full/base/resolver_and_hygiene
92630
ns/iter (± 2222
)101931
ns/iter (± 18043
)0.91
serialization of ast node
214
ns/iter (± 3
)226
ns/iter (± 15
)0.95
serialization of serde
215
ns/iter (± 4
)228
ns/iter (± 40
)0.94
This comment was automatically generated by workflow using github-action-benchmark.