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): Don't inline into nested scope (#6002)
**Related issue:** - vercel/next.js#30237 (comment)
- Loading branch information
Showing
10 changed files
with
2,302 additions
and
23 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
6 changes: 3 additions & 3 deletions
6
crates/swc/tests/tsc-references/typeOfThisInStaticMembers12(target=es2015).2.minified.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 |
---|---|---|
@@ -1,10 +1,10 @@ | ||
//// [typeOfThisInStaticMembers12.ts] | ||
var _Inner; | ||
let _c; | ||
let _c, _c1; | ||
class C { | ||
} | ||
C.c = "foo", C.bar = (_c = C.c, (_Inner = class { | ||
C.c = "foo", C.bar = (_c = C.c, _c1 = C.c, (_Inner = class { | ||
constructor(){ | ||
this[C.c] = 123; | ||
this[_c1] = 123; | ||
} | ||
})[_c] = 123, _Inner); |
6 changes: 3 additions & 3 deletions
6
crates/swc/tests/tsc-references/typeOfThisInStaticMembers13(target=es2015).2.minified.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 |
---|---|---|
@@ -1,11 +1,11 @@ | ||
//// [typeOfThisInStaticMembers13.ts] | ||
var _Inner; | ||
let _c; | ||
let _c, _c1; | ||
import _define_property from "@swc/helpers/src/_define_property.mjs"; | ||
class C { | ||
} | ||
_define_property(C, "c", "foo"), _define_property(C, "bar", (_c = C.c, _Inner = class { | ||
_define_property(C, "c", "foo"), _define_property(C, "bar", (_c = C.c, _c1 = C.c, _Inner = class { | ||
constructor(){ | ||
_define_property(this, C.c, 123); | ||
_define_property(this, _c1, 123); | ||
} | ||
}, _define_property(_Inner, _c, 123), _Inner)); |
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
4 changes: 4 additions & 0 deletions
4
crates/swc_ecma_minifier/tests/fixture/next/octokit/config.json
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,4 @@ | ||
{ | ||
"defaults": true, | ||
"toplevel": true | ||
} |
Oops, something went wrong.
2ee3ad0
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/minify/libraries/antd
1891998755
ns/iter (± 63978350
)2392505427
ns/iter (± 149103064
)0.79
es/full/minify/libraries/d3
378090965
ns/iter (± 25629083
)487496806
ns/iter (± 47316772
)0.78
es/full/minify/libraries/echarts
1453092930
ns/iter (± 61746082
)1873052828
ns/iter (± 330980697
)0.78
es/full/minify/libraries/jquery
91474543
ns/iter (± 5061007
)127000080
ns/iter (± 11552662
)0.72
es/full/minify/libraries/lodash
113671737
ns/iter (± 3638967
)150230656
ns/iter (± 13590214
)0.76
es/full/minify/libraries/moment
51655160
ns/iter (± 579860
)68310416
ns/iter (± 1882794
)0.76
es/full/minify/libraries/react
20719477
ns/iter (± 1288869
)25432253
ns/iter (± 973910
)0.81
es/full/minify/libraries/terser
332633017
ns/iter (± 63624141
)358222360
ns/iter (± 39276840
)0.93
es/full/minify/libraries/three
503964623
ns/iter (± 87891878
)634994145
ns/iter (± 59420013
)0.79
es/full/minify/libraries/typescript
3402723113
ns/iter (± 115299594
)4096010458
ns/iter (± 187222307
)0.83
es/full/minify/libraries/victory
821380707
ns/iter (± 30428967
)981381160
ns/iter (± 83353082
)0.84
es/full/minify/libraries/vue
160593192
ns/iter (± 17066531
)188258199
ns/iter (± 19117713
)0.85
es/full/codegen/es3
34806
ns/iter (± 2231
)38458
ns/iter (± 5286
)0.91
es/full/codegen/es5
36133
ns/iter (± 3021
)42739
ns/iter (± 7374
)0.85
es/full/codegen/es2015
35067
ns/iter (± 1482
)42479
ns/iter (± 6716
)0.83
es/full/codegen/es2016
35595
ns/iter (± 1848
)39579
ns/iter (± 7327
)0.90
es/full/codegen/es2017
34484
ns/iter (± 1400
)46802
ns/iter (± 6336
)0.74
es/full/codegen/es2018
34997
ns/iter (± 2048
)40104
ns/iter (± 7542
)0.87
es/full/codegen/es2019
34902
ns/iter (± 1434
)43095
ns/iter (± 6834
)0.81
es/full/codegen/es2020
34767
ns/iter (± 1474
)40028
ns/iter (± 6631
)0.87
es/full/all/es3
222369858
ns/iter (± 35384613
)254930024
ns/iter (± 22056453
)0.87
es/full/all/es5
199097315
ns/iter (± 26116119
)233983080
ns/iter (± 28017783
)0.85
es/full/all/es2015
156708952
ns/iter (± 50016340
)183353422
ns/iter (± 22155530
)0.85
es/full/all/es2016
148291287
ns/iter (± 13439462
)187072163
ns/iter (± 17072527
)0.79
es/full/all/es2017
150570434
ns/iter (± 14745064
)177577187
ns/iter (± 21132566
)0.85
es/full/all/es2018
148527204
ns/iter (± 17158928
)184319546
ns/iter (± 24613743
)0.81
es/full/all/es2019
148981905
ns/iter (± 15979593
)182987951
ns/iter (± 14987760
)0.81
es/full/all/es2020
144319173
ns/iter (± 15189563
)173914830
ns/iter (± 19776035
)0.83
es/full/parser
735164
ns/iter (± 46076
)839961
ns/iter (± 127160
)0.88
es/full/base/fixer
26747
ns/iter (± 2114
)30585
ns/iter (± 3994
)0.87
es/full/base/resolver_and_hygiene
94475
ns/iter (± 7658
)111035
ns/iter (± 13114
)0.85
serialization of ast node
224
ns/iter (± 16
)242
ns/iter (± 49
)0.93
serialization of serde
220
ns/iter (± 16
)247
ns/iter (± 49
)0.89
This comment was automatically generated by workflow using github-action-benchmark.