-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(es/minifier): Preserve
cooked
while compressing template litera…
- Loading branch information
Showing
5 changed files
with
71 additions
and
5 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
13 changes: 13 additions & 0 deletions
13
crates/swc_ecma_minifier/tests/fixture/issues/7770/1/input.js
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,13 @@ | ||
exports.MainCSS1 = foo` | ||
\x<-invalid, so no cooked | ||
${'this breaks splits the quasis'} | ||
this should have a cooked | ||
`; | ||
exports.MainCSS2 = foo` | ||
\x<-invalid, so no cooked | ||
${'this breaks splits the quasis'} | ||
this should have a cooked | ||
${'this breaks splits the quasis'} | ||
this should also have a cooked | ||
`; |
11 changes: 11 additions & 0 deletions
11
crates/swc_ecma_minifier/tests/fixture/issues/7770/1/output.js
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,11 @@ | ||
exports.MainCSS1 = foo` | ||
\x<-invalid, so no cooked | ||
${'this breaks splits the quasis'} | ||
this should have a cooked | ||
`, exports.MainCSS2 = foo` | ||
\x<-invalid, so no cooked | ||
${'this breaks splits the quasis'} | ||
this should have a cooked | ||
${'this breaks splits the quasis'} | ||
this should also have a cooked | ||
`; |
20 changes: 20 additions & 0 deletions
20
crates/swc_ecma_minifier/tests/fixture/issues/7770/2/input.js
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,20 @@ | ||
const sWidth = "asdasd"; | ||
function absolute() { | ||
return ` | ||
`; | ||
} | ||
function flex() { | ||
return ` | ||
`; | ||
} | ||
exports.MainCSS = ` | ||
.ThisshouldOnlyBeonTop { | ||
${absolute()} | ||
} | ||
.abcBlablaOne .asdsad { | ||
${flex()} | ||
} | ||
.aasdasdasd .asdsada { | ||
we: ${sWidth} !important; | ||
} | ||
`; |
13 changes: 13 additions & 0 deletions
13
crates/swc_ecma_minifier/tests/fixture/issues/7770/2/output.js
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,13 @@ | ||
exports.MainCSS = ` | ||
.ThisshouldOnlyBeonTop { | ||
} | ||
.abcBlablaOne .asdsad { | ||
} | ||
.aasdasdasd .asdsada { | ||
we: asdasd !important; | ||
} | ||
`; |
05990a9
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
292142
ns/iter (± 7667
)286839
ns/iter (± 4443
)1.02
es/full/minify/libraries/antd
1462453404
ns/iter (± 19299243
)1329731362
ns/iter (± 11252319
)1.10
es/full/minify/libraries/d3
304000041
ns/iter (± 4682457
)282376631
ns/iter (± 3658050
)1.08
es/full/minify/libraries/echarts
1129253951
ns/iter (± 12824764
)1062696736
ns/iter (± 11457907
)1.06
es/full/minify/libraries/jquery
86949177
ns/iter (± 307072
)85084248
ns/iter (± 180263
)1.02
es/full/minify/libraries/lodash
100624351
ns/iter (± 2185149
)98819869
ns/iter (± 277500
)1.02
es/full/minify/libraries/moment
51093703
ns/iter (± 185040
)49961158
ns/iter (± 90444
)1.02
es/full/minify/libraries/react
18235835
ns/iter (± 156538
)18057998
ns/iter (± 18926
)1.01
es/full/minify/libraries/terser
227755386
ns/iter (± 1539678
)219592298
ns/iter (± 856112
)1.04
es/full/minify/libraries/three
406187871
ns/iter (± 3669768
)384714725
ns/iter (± 2058930
)1.06
es/full/minify/libraries/typescript
2805000332
ns/iter (± 21684575
)2672267565
ns/iter (± 10841699
)1.05
es/full/minify/libraries/victory
606003738
ns/iter (± 7153622
)580117099
ns/iter (± 5730054
)1.04
es/full/minify/libraries/vue
123632212
ns/iter (± 712488
)120860051
ns/iter (± 668720
)1.02
es/full/codegen/es3
34039
ns/iter (± 167
)34549
ns/iter (± 47
)0.99
es/full/codegen/es5
34007
ns/iter (± 117
)34531
ns/iter (± 138
)0.98
es/full/codegen/es2015
34155
ns/iter (± 219
)34480
ns/iter (± 128
)0.99
es/full/codegen/es2016
34292
ns/iter (± 119
)34450
ns/iter (± 95
)1.00
es/full/codegen/es2017
33967
ns/iter (± 164
)34542
ns/iter (± 63
)0.98
es/full/codegen/es2018
34227
ns/iter (± 100
)34374
ns/iter (± 124
)1.00
es/full/codegen/es2019
34222
ns/iter (± 143
)34529
ns/iter (± 126
)0.99
es/full/codegen/es2020
34249
ns/iter (± 147
)34499
ns/iter (± 107
)0.99
es/full/all/es3
171312128
ns/iter (± 3973609
)166774930
ns/iter (± 1760351
)1.03
es/full/all/es5
160688415
ns/iter (± 619877
)159402412
ns/iter (± 1291786
)1.01
es/full/all/es2015
120424516
ns/iter (± 794392
)119282165
ns/iter (± 1283627
)1.01
es/full/all/es2016
119180808
ns/iter (± 553457
)119158669
ns/iter (± 714347
)1.00
es/full/all/es2017
118910295
ns/iter (± 711627
)118066499
ns/iter (± 818082
)1.01
es/full/all/es2018
116481838
ns/iter (± 933449
)115652690
ns/iter (± 624789
)1.01
es/full/all/es2019
116757737
ns/iter (± 1119356
)115247115
ns/iter (± 691107
)1.01
es/full/all/es2020
111063565
ns/iter (± 714218
)110169684
ns/iter (± 599516
)1.01
es/full/parser
493582
ns/iter (± 6297
)485816
ns/iter (± 4889
)1.02
es/full/base/fixer
18937
ns/iter (± 201
)18627
ns/iter (± 106
)1.02
es/full/base/resolver_and_hygiene
81815
ns/iter (± 126
)79920
ns/iter (± 226
)1.02
serialization of serde
296
ns/iter (± 3
)290
ns/iter (± 0
)1.02
css/minify/libraries/bootstrap
29008115
ns/iter (± 155494
)29465014
ns/iter (± 113581
)0.98
css/visitor/compare/clone
1672464
ns/iter (± 7529
)1839233
ns/iter (± 8121
)0.91
css/visitor/compare/visit_mut_span
1802521
ns/iter (± 2135
)1964988
ns/iter (± 6280
)0.92
css/visitor/compare/visit_mut_span_panic
1861330
ns/iter (± 7829
)2055110
ns/iter (± 5246
)0.91
css/visitor/compare/fold_span
2628009
ns/iter (± 19765
)2907054
ns/iter (± 9569
)0.90
css/visitor/compare/fold_span_panic
2791650
ns/iter (± 13041
)3105780
ns/iter (± 22730
)0.90
css/lexer/bootstrap_5_1_3
4495221
ns/iter (± 9066
)4470285
ns/iter (± 4908
)1.01
css/lexer/foundation_6_7_4
3786589
ns/iter (± 2312
)3769100
ns/iter (± 6213
)1.00
css/lexer/tailwind_3_1_1
721948
ns/iter (± 979
)716660
ns/iter (± 567
)1.01
css/parser/bootstrap_5_1_3
19955592
ns/iter (± 98990
)19256261
ns/iter (± 64404
)1.04
css/parser/foundation_6_7_4
15885479
ns/iter (± 55878
)15466825
ns/iter (± 21061
)1.03
css/parser/tailwind_3_1_1
3030695
ns/iter (± 10663
)2968021
ns/iter (± 3294
)1.02
es/codegen/colors
727216
ns/iter (± 398883
)726474
ns/iter (± 396165
)1.00
es/codegen/large
2934175
ns/iter (± 1606982
)2912785
ns/iter (± 1532892
)1.01
es/codegen/with-parser/colors
45337
ns/iter (± 590
)46281
ns/iter (± 135
)0.98
es/codegen/with-parser/large
488432
ns/iter (± 1630
)488569
ns/iter (± 445
)1.00
es/minify/libraries/antd
1228383395
ns/iter (± 13665869
)1164267533
ns/iter (± 15444887
)1.06
es/minify/libraries/d3
250457823
ns/iter (± 3373177
)243230501
ns/iter (± 992170
)1.03
es/minify/libraries/echarts
986487631
ns/iter (± 7207525
)922787511
ns/iter (± 9527834
)1.07
es/minify/libraries/jquery
75968237
ns/iter (± 274300
)74459515
ns/iter (± 160540
)1.02
es/minify/libraries/lodash
90041367
ns/iter (± 563031
)89136558
ns/iter (± 235944
)1.01
es/minify/libraries/moment
44223422
ns/iter (± 110637
)43934091
ns/iter (± 67386
)1.01
es/minify/libraries/react
16296193
ns/iter (± 93970
)16174887
ns/iter (± 70895
)1.01
es/minify/libraries/terser
196026944
ns/iter (± 3225543
)189480013
ns/iter (± 741215
)1.03
es/minify/libraries/three
347123575
ns/iter (± 4388935
)326133320
ns/iter (± 1705496
)1.06
es/minify/libraries/typescript
2405346405
ns/iter (± 25176615
)2293086208
ns/iter (± 8900333
)1.05
es/minify/libraries/victory
513150230
ns/iter (± 5910433
)483053318
ns/iter (± 3048788
)1.06
es/minify/libraries/vue
110616428
ns/iter (± 1267681
)108175881
ns/iter (± 216779
)1.02
es/visitor/compare/clone
1973338
ns/iter (± 6217
)1962534
ns/iter (± 4432
)1.01
es/visitor/compare/visit_mut_span
2276469
ns/iter (± 6614
)2281414
ns/iter (± 7014
)1.00
es/visitor/compare/visit_mut_span_panic
2351154
ns/iter (± 8963
)2351514
ns/iter (± 6802
)1.00
es/visitor/compare/fold_span
3417580
ns/iter (± 12274
)3386672
ns/iter (± 9327
)1.01
es/visitor/compare/fold_span_panic
3522186
ns/iter (± 12874
)3483162
ns/iter (± 11942
)1.01
es/lexer/colors
13316
ns/iter (± 64
)13056
ns/iter (± 18
)1.02
es/lexer/angular
6148946
ns/iter (± 17131
)6041072
ns/iter (± 4358
)1.02
es/lexer/backbone
800959
ns/iter (± 1527
)782821
ns/iter (± 469
)1.02
es/lexer/jquery
4599417
ns/iter (± 14947
)4469864
ns/iter (± 7727
)1.03
es/lexer/jquery mobile
6959104
ns/iter (± 13280
)6815354
ns/iter (± 5512
)1.02
es/lexer/mootools
3581803
ns/iter (± 4431
)3534402
ns/iter (± 2472
)1.01
es/lexer/underscore
660978
ns/iter (± 1169
)658210
ns/iter (± 759
)1.00
es/lexer/three
21957882
ns/iter (± 210785
)21312625
ns/iter (± 22326
)1.03
es/lexer/yui
3907708
ns/iter (± 8897
)3824650
ns/iter (± 2114
)1.02
es/parser/colors
27856
ns/iter (± 93
)27670
ns/iter (± 58
)1.01
es/parser/angular
13871869
ns/iter (± 184546
)13981500
ns/iter (± 71208
)0.99
es/parser/backbone
2035523
ns/iter (± 10721
)2066198
ns/iter (± 11211
)0.99
es/parser/jquery
11125316
ns/iter (± 78810
)11269079
ns/iter (± 55270
)0.99
es/parser/jquery mobile
17422037
ns/iter (± 214062
)17256700
ns/iter (± 47016
)1.01
es/parser/mootools
8577213
ns/iter (± 30854
)8676905
ns/iter (± 11455
)0.99
es/parser/underscore
1762710
ns/iter (± 15497
)1789026
ns/iter (± 11370
)0.99
es/parser/three
50037023
ns/iter (± 541906
)48786770
ns/iter (± 238128
)1.03
es/parser/yui
8458306
ns/iter (± 23823
)8515542
ns/iter (± 31113
)0.99
es/preset-env/usage/builtin_type
135374
ns/iter (± 32082
)136429
ns/iter (± 31794
)0.99
es/preset-env/usage/property
17542
ns/iter (± 108
)16965
ns/iter (± 43
)1.03
es/resolver/typescript
91968619
ns/iter (± 1216088
)88637849
ns/iter (± 1052699
)1.04
es/fixer/typescript
67863356
ns/iter (± 865732
)64211503
ns/iter (± 775683
)1.06
es/hygiene/typescript
137184113
ns/iter (± 992377
)130744740
ns/iter (± 573341
)1.05
es/resolver_with_hygiene/typescript
248420272
ns/iter (± 2441996
)241504094
ns/iter (± 631122
)1.03
es/visitor/base-perf/module_clone
60477
ns/iter (± 498
)60902
ns/iter (± 327
)0.99
es/visitor/base-perf/fold_empty
64516
ns/iter (± 265
)64876
ns/iter (± 270
)0.99
es/visitor/base-perf/fold_noop_impl_all
65523
ns/iter (± 175
)64917
ns/iter (± 267
)1.01
es/visitor/base-perf/fold_noop_impl_vec
65771
ns/iter (± 225
)64849
ns/iter (± 357
)1.01
es/visitor/base-perf/boxing_boxed_clone
57
ns/iter (± 0
)56
ns/iter (± 0
)1.02
es/visitor/base-perf/boxing_unboxed_clone
39
ns/iter (± 0
)40
ns/iter (± 0
)0.97
es/visitor/base-perf/boxing_boxed
106
ns/iter (± 0
)108
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_unboxed
75
ns/iter (± 0
)78
ns/iter (± 0
)0.96
es/visitor/base-perf/visit_empty
0
ns/iter (± 0
)0
ns/iter (± 0
)NaN
es/visitor/base-perf/visit_contains_this
2668
ns/iter (± 12
)2640
ns/iter (± 21
)1.01
es/base/parallel/resolver/typescript
4318549756
ns/iter (± 220345222
)4181871785
ns/iter (± 190995579
)1.03
es/base/parallel/hygiene/typescript
1482099031
ns/iter (± 16217872
)1428135712
ns/iter (± 21925360
)1.04
misc/visitors/time-complexity/time 5
138
ns/iter (± 3
)132
ns/iter (± 0
)1.05
misc/visitors/time-complexity/time 10
367
ns/iter (± 1
)303
ns/iter (± 22
)1.21
misc/visitors/time-complexity/time 15
671
ns/iter (± 1
)680
ns/iter (± 10
)0.99
misc/visitors/time-complexity/time 20
1163
ns/iter (± 2
)1055
ns/iter (± 3
)1.10
misc/visitors/time-complexity/time 40
3514
ns/iter (± 12
)4109
ns/iter (± 263
)0.86
misc/visitors/time-complexity/time 60
8786
ns/iter (± 9
)8636
ns/iter (± 760
)1.02
es/full-target/es2016
236324
ns/iter (± 1151
)234069
ns/iter (± 1014
)1.01
es/full-target/es2017
224396
ns/iter (± 708
)218805
ns/iter (± 1158
)1.03
es/full-target/es2018
211597
ns/iter (± 1262
)209997
ns/iter (± 1611
)1.01
es2020_nullish_coalescing
72522
ns/iter (± 302
)70907
ns/iter (± 497
)1.02
es2020_optional_chaining
82596
ns/iter (± 347
)79760
ns/iter (± 275
)1.04
es2022_class_properties
115471
ns/iter (± 430
)116701
ns/iter (± 521
)0.99
es2018_object_rest_spread
76435
ns/iter (± 315
)75446
ns/iter (± 211
)1.01
es2019_optional_catch_binding
65922
ns/iter (± 194
)64400
ns/iter (± 305
)1.02
es2017_async_to_generator
66772
ns/iter (± 400
)64903
ns/iter (± 242
)1.03
es2016_exponentiation
71387
ns/iter (± 420
)68702
ns/iter (± 134
)1.04
es2015_arrow
73194
ns/iter (± 217
)72240
ns/iter (± 154
)1.01
es2015_block_scoped_fn
70151
ns/iter (± 297
)69802
ns/iter (± 376
)1.00
es2015_block_scoping
124171
ns/iter (± 578
)124875
ns/iter (± 506
)0.99
This comment was automatically generated by workflow using github-action-benchmark.