-
-
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.
feat(es/module): Preserve custom
use
directives (#7528)
**Related issue:** - Closes #7315.
- Loading branch information
Showing
12 changed files
with
113 additions
and
12 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
{ | ||
"module": { | ||
"type": "commonjs" | ||
} | ||
} |
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,6 @@ | ||
// input.ts | ||
"use client" | ||
|
||
export function ReactClientComponent() { | ||
return "Hello world" | ||
} |
14 changes: 14 additions & 0 deletions
14
crates/swc/tests/fixture/issues-7xxx/7315/1/output/index.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,14 @@ | ||
// input.ts | ||
"use client"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
Object.defineProperty(exports, "ReactClientComponent", { | ||
enumerable: true, | ||
get: function() { | ||
return ReactClientComponent; | ||
} | ||
}); | ||
function ReactClientComponent() { | ||
return "Hello world"; | ||
} |
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
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
6 changes: 6 additions & 0 deletions
6
crates/swc_ecma_transforms_module/tests/fixture/common/issue-7315/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,6 @@ | ||
// input.ts | ||
"use client" | ||
|
||
export function ReactClientComponent() { | ||
return "Hello world" | ||
} |
19 changes: 19 additions & 0 deletions
19
crates/swc_ecma_transforms_module/tests/fixture/common/issue-7315/output.amd.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,19 @@ | ||
// input.ts | ||
define([ | ||
"require", | ||
"exports" | ||
], function(require, exports) { | ||
"use client"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
Object.defineProperty(exports, "ReactClientComponent", { | ||
enumerable: true, | ||
get: function() { | ||
return ReactClientComponent; | ||
} | ||
}); | ||
function ReactClientComponent() { | ||
return "Hello world"; | ||
} | ||
}); |
14 changes: 14 additions & 0 deletions
14
crates/swc_ecma_transforms_module/tests/fixture/common/issue-7315/output.cjs
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,14 @@ | ||
// input.ts | ||
"use client"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
Object.defineProperty(exports, "ReactClientComponent", { | ||
enumerable: true, | ||
get: function() { | ||
return ReactClientComponent; | ||
} | ||
}); | ||
function ReactClientComponent() { | ||
return "Hello world"; | ||
} |
22 changes: 22 additions & 0 deletions
22
crates/swc_ecma_transforms_module/tests/fixture/common/issue-7315/output.umd.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,22 @@ | ||
// input.ts | ||
(function(global, factory) { | ||
if (typeof module === "object" && typeof module.exports === "object") factory(exports); | ||
else if (typeof define === "function" && define.amd) define([ | ||
"exports" | ||
], factory); | ||
else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); | ||
})(this, function(exports) { | ||
"use client"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
Object.defineProperty(exports, "ReactClientComponent", { | ||
enumerable: true, | ||
get: function() { | ||
return ReactClientComponent; | ||
} | ||
}); | ||
function ReactClientComponent() { | ||
return "Hello world"; | ||
} | ||
}); |
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
3e9dd88
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
354741
ns/iter (± 8408
)304153
ns/iter (± 5492
)1.17
es/full/minify/libraries/antd
1883111306
ns/iter (± 42725918
)1483866841
ns/iter (± 18861783
)1.27
es/full/minify/libraries/d3
380538712
ns/iter (± 9628116
)322636044
ns/iter (± 3794972
)1.18
es/full/minify/libraries/echarts
1493162388
ns/iter (± 27390300
)1198622962
ns/iter (± 14568743
)1.25
es/full/minify/libraries/jquery
112425787
ns/iter (± 1808490
)95340550
ns/iter (± 253333
)1.18
es/full/minify/libraries/lodash
136060382
ns/iter (± 1985616
)113368652
ns/iter (± 684447
)1.20
es/full/minify/libraries/moment
65301177
ns/iter (± 1092931
)56008518
ns/iter (± 167457
)1.17
es/full/minify/libraries/react
23324390
ns/iter (± 359987
)20048551
ns/iter (± 289696
)1.16
es/full/minify/libraries/terser
309599536
ns/iter (± 6645035
)253682300
ns/iter (± 3082147
)1.22
es/full/minify/libraries/three
551678303
ns/iter (± 17426404
)451636968
ns/iter (± 4999127
)1.22
es/full/minify/libraries/typescript
3549833712
ns/iter (± 32263514
)3060965657
ns/iter (± 30418870
)1.16
es/full/minify/libraries/victory
819343557
ns/iter (± 27873892
)668433489
ns/iter (± 15808709
)1.23
es/full/minify/libraries/vue
165111390
ns/iter (± 5442482
)139537256
ns/iter (± 1150223
)1.18
es/full/codegen/es3
40468
ns/iter (± 116
)37524
ns/iter (± 81
)1.08
es/full/codegen/es5
40588
ns/iter (± 71
)37370
ns/iter (± 97
)1.09
es/full/codegen/es2015
40518
ns/iter (± 59
)37641
ns/iter (± 102
)1.08
es/full/codegen/es2016
40503
ns/iter (± 65
)37693
ns/iter (± 77
)1.07
es/full/codegen/es2017
40498
ns/iter (± 52
)37668
ns/iter (± 86
)1.08
es/full/codegen/es2018
40521
ns/iter (± 30
)37534
ns/iter (± 155
)1.08
es/full/codegen/es2019
40525
ns/iter (± 69
)37528
ns/iter (± 70
)1.08
es/full/codegen/es2020
40509
ns/iter (± 85
)37631
ns/iter (± 100
)1.08
es/full/all/es3
211493430
ns/iter (± 3306548
)186101369
ns/iter (± 1140863
)1.14
es/full/all/es5
200380439
ns/iter (± 3324200
)176629216
ns/iter (± 918711
)1.13
es/full/all/es2015
154387074
ns/iter (± 2394086
)131638514
ns/iter (± 854114
)1.17
es/full/all/es2016
157328397
ns/iter (± 2049725
)130670730
ns/iter (± 660325
)1.20
es/full/all/es2017
154446124
ns/iter (± 1878568
)129222869
ns/iter (± 760088
)1.20
es/full/all/es2018
150440971
ns/iter (± 2625157
)127492029
ns/iter (± 1094307
)1.18
es/full/all/es2019
151850156
ns/iter (± 2211187
)126626378
ns/iter (± 878091
)1.20
es/full/all/es2020
145828683
ns/iter (± 1563779
)120929211
ns/iter (± 714934
)1.21
es/full/parser
596106
ns/iter (± 11110
)534422
ns/iter (± 8838
)1.12
es/full/base/fixer
26188
ns/iter (± 33
)18489
ns/iter (± 159
)1.42
es/full/base/resolver_and_hygiene
105063
ns/iter (± 107
)95376
ns/iter (± 236
)1.10
serialization of serde
284
ns/iter (± 0
)330
ns/iter (± 3
)0.86
css/minify/libraries/bootstrap
36111913
ns/iter (± 263788
)31533365
ns/iter (± 136321
)1.15
css/visitor/compare/clone
2368737
ns/iter (± 19830
)1908555
ns/iter (± 3662
)1.24
css/visitor/compare/visit_mut_span
2566869
ns/iter (± 26020
)2039449
ns/iter (± 4434
)1.26
css/visitor/compare/visit_mut_span_panic
2610746
ns/iter (± 3570
)2099463
ns/iter (± 7405
)1.24
css/visitor/compare/fold_span
3352037
ns/iter (± 38244
)2810600
ns/iter (± 10350
)1.19
css/visitor/compare/fold_span_panic
3516285
ns/iter (± 31002
)2991807
ns/iter (± 6880
)1.18
css/lexer/bootstrap_5_1_3
5596537
ns/iter (± 3739
)4787743
ns/iter (± 6245
)1.17
css/lexer/foundation_6_7_4
4686248
ns/iter (± 6958
)4023698
ns/iter (± 1445
)1.16
css/lexer/tailwind_3_1_1
889105
ns/iter (± 492
)758971
ns/iter (± 472
)1.17
css/parser/bootstrap_5_1_3
24031441
ns/iter (± 199962
)21234058
ns/iter (± 79725
)1.13
css/parser/foundation_6_7_4
19286149
ns/iter (± 170386
)17142011
ns/iter (± 110602
)1.13
css/parser/tailwind_3_1_1
3694708
ns/iter (± 5549
)3266860
ns/iter (± 2665
)1.13
es/codegen/colors
744151
ns/iter (± 403695
)740595
ns/iter (± 405685
)1.00
es/codegen/large
3105000
ns/iter (± 1633005
)2974969
ns/iter (± 1555976
)1.04
es/codegen/with-parser/colors
57583
ns/iter (± 454
)48633
ns/iter (± 245
)1.18
es/codegen/with-parser/large
581794
ns/iter (± 1495
)520329
ns/iter (± 1213
)1.12
es/minify/libraries/antd
1656501898
ns/iter (± 23865180
)1373784564
ns/iter (± 15447253
)1.21
es/minify/libraries/d3
349451035
ns/iter (± 10587939
)289879623
ns/iter (± 2409954
)1.21
es/minify/libraries/echarts
1295658787
ns/iter (± 23971348
)1098689486
ns/iter (± 20179284
)1.18
es/minify/libraries/jquery
98296272
ns/iter (± 3080791
)84681972
ns/iter (± 481124
)1.16
es/minify/libraries/lodash
122646586
ns/iter (± 2497909
)103490408
ns/iter (± 685998
)1.19
es/minify/libraries/moment
60978718
ns/iter (± 1648180
)49782963
ns/iter (± 208181
)1.22
es/minify/libraries/react
20693193
ns/iter (± 514797
)18103758
ns/iter (± 158160
)1.14
es/minify/libraries/terser
269048717
ns/iter (± 12849310
)220545445
ns/iter (± 1783880
)1.22
es/minify/libraries/three
495598512
ns/iter (± 37442217
)391970013
ns/iter (± 11399270
)1.26
es/minify/libraries/typescript
3119444243
ns/iter (± 42597195
)2653505154
ns/iter (± 26088567
)1.18
es/minify/libraries/victory
719239004
ns/iter (± 38119427
)561335882
ns/iter (± 7232721
)1.28
es/minify/libraries/vue
156180568
ns/iter (± 10319535
)123574005
ns/iter (± 481431
)1.26
es/visitor/compare/clone
2422099
ns/iter (± 9866
)2082514
ns/iter (± 4419
)1.16
es/visitor/compare/visit_mut_span
2953836
ns/iter (± 105359
)2407077
ns/iter (± 4154
)1.23
es/visitor/compare/visit_mut_span_panic
2873322
ns/iter (± 51323
)2447509
ns/iter (± 4947
)1.17
es/visitor/compare/fold_span
4060088
ns/iter (± 126202
)3494593
ns/iter (± 15800
)1.16
es/visitor/compare/fold_span_panic
4145922
ns/iter (± 56715
)3623796
ns/iter (± 8011
)1.14
es/lexer/colors
14754
ns/iter (± 23
)13701
ns/iter (± 57
)1.08
es/lexer/angular
6937325
ns/iter (± 5271
)6238422
ns/iter (± 7134
)1.11
es/lexer/backbone
844503
ns/iter (± 605
)816793
ns/iter (± 1078
)1.03
es/lexer/jquery
4781607
ns/iter (± 7532
)4604799
ns/iter (± 6412
)1.04
es/lexer/jquery mobile
7376982
ns/iter (± 8495
)7165857
ns/iter (± 27693
)1.03
es/lexer/mootools
3761635
ns/iter (± 2694
)3705602
ns/iter (± 6676
)1.02
es/lexer/underscore
702680
ns/iter (± 5756
)677531
ns/iter (± 536
)1.04
es/lexer/three
22447335
ns/iter (± 26065
)21646259
ns/iter (± 34290
)1.04
es/lexer/yui
4279181
ns/iter (± 2368
)4122236
ns/iter (± 24919
)1.04
es/parser/colors
33634
ns/iter (± 50
)28695
ns/iter (± 54
)1.17
es/parser/angular
17052923
ns/iter (± 391602
)14476910
ns/iter (± 83322
)1.18
es/parser/backbone
2442959
ns/iter (± 9597
)2158027
ns/iter (± 15551
)1.13
es/parser/jquery
13953522
ns/iter (± 522097
)11753321
ns/iter (± 141887
)1.19
es/parser/jquery mobile
21359448
ns/iter (± 574075
)17911411
ns/iter (± 128245
)1.19
es/parser/mootools
10073646
ns/iter (± 190202
)8941969
ns/iter (± 13093
)1.13
es/parser/underscore
2075059
ns/iter (± 9504
)1858513
ns/iter (± 9840
)1.12
es/parser/three
62402120
ns/iter (± 939453
)50145851
ns/iter (± 923798
)1.24
es/parser/yui
10607610
ns/iter (± 302611
)9009624
ns/iter (± 25834
)1.18
es/preset-env/usage/builtin_type
155418
ns/iter (± 33913
)146247
ns/iter (± 31827
)1.06
es/preset-env/usage/property
30040
ns/iter (± 60
)20214
ns/iter (± 213
)1.49
es/resolver/typescript
120596334
ns/iter (± 2996426
)98610800
ns/iter (± 1371640
)1.22
es/fixer/typescript
84998766
ns/iter (± 1339515
)68243156
ns/iter (± 743360
)1.25
es/hygiene/typescript
191847233
ns/iter (± 3430370
)147722709
ns/iter (± 1297027
)1.30
es/resolver_with_hygiene/typescript
396273786
ns/iter (± 6041176
)310760166
ns/iter (± 3457144
)1.28
es/visitor/base-perf/module_clone
85651
ns/iter (± 474
)60857
ns/iter (± 190
)1.41
es/visitor/base-perf/fold_empty
95135
ns/iter (± 253
)65258
ns/iter (± 517
)1.46
es/visitor/base-perf/fold_noop_impl_all
95139
ns/iter (± 431
)65040
ns/iter (± 297
)1.46
es/visitor/base-perf/fold_noop_impl_vec
95654
ns/iter (± 311
)64999
ns/iter (± 263
)1.47
es/visitor/base-perf/boxing_boxed_clone
60
ns/iter (± 0
)56
ns/iter (± 0
)1.07
es/visitor/base-perf/boxing_unboxed_clone
44
ns/iter (± 0
)39
ns/iter (± 0
)1.13
es/visitor/base-perf/boxing_boxed
107
ns/iter (± 0
)113
ns/iter (± 0
)0.95
es/visitor/base-perf/boxing_unboxed
84
ns/iter (± 0
)80
ns/iter (± 0
)1.05
es/visitor/base-perf/visit_contains_this
3685
ns/iter (± 63
)2579
ns/iter (± 20
)1.43
es/base/parallel/resolver/typescript
6495943454
ns/iter (± 468732750
)4773739493
ns/iter (± 270617512
)1.36
es/base/parallel/hygiene/typescript
2205643631
ns/iter (± 28964273
)1582708842
ns/iter (± 15121568
)1.39
misc/visitors/time-complexity/time 5
105
ns/iter (± 1
)103
ns/iter (± 1
)1.02
misc/visitors/time-complexity/time 10
351
ns/iter (± 6
)278
ns/iter (± 0
)1.26
misc/visitors/time-complexity/time 15
678
ns/iter (± 0
)615
ns/iter (± 2
)1.10
misc/visitors/time-complexity/time 20
1247
ns/iter (± 12
)1083
ns/iter (± 68
)1.15
misc/visitors/time-complexity/time 40
6289
ns/iter (± 3
)3749
ns/iter (± 320
)1.68
misc/visitors/time-complexity/time 60
15841
ns/iter (± 35
)9293
ns/iter (± 652
)1.70
es/full-target/es2016
270357
ns/iter (± 1351
)245479
ns/iter (± 583
)1.10
es/full-target/es2017
260024
ns/iter (± 277
)230924
ns/iter (± 672
)1.13
es/full-target/es2018
248621
ns/iter (± 476
)217762
ns/iter (± 934
)1.14
es2020_nullish_coalescing
98513
ns/iter (± 335
)71325
ns/iter (± 282
)1.38
es2020_optional_chaining
122153
ns/iter (± 397
)88265
ns/iter (± 352
)1.38
es2022_class_properties
156542
ns/iter (± 271
)121790
ns/iter (± 416
)1.29
es2018_object_rest_spread
100191
ns/iter (± 144
)73966
ns/iter (± 444
)1.35
es2019_optional_catch_binding
88839
ns/iter (± 255
)64932
ns/iter (± 179
)1.37
es2017_async_to_generator
89484
ns/iter (± 281
)65540
ns/iter (± 226
)1.37
es2016_exponentiation
96084
ns/iter (± 289
)70373
ns/iter (± 142
)1.37
es2015_arrow
99350
ns/iter (± 261
)72670
ns/iter (± 299
)1.37
es2015_block_scoped_fn
97386
ns/iter (± 193
)69991
ns/iter (± 342
)1.39
es2015_block_scoping
185246
ns/iter (± 321
)133108
ns/iter (± 482
)1.39
This comment was automatically generated by workflow using github-action-benchmark.