Skip to content

Commit

Permalink
fix(es/utils): Verify the name of an alias (#6423)
Browse files Browse the repository at this point in the history
  • Loading branch information
magic-akari committed Nov 13, 2022
1 parent 0bc51b7 commit 68ffc5b
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 0 deletions.
1 change: 1 addition & 0 deletions crates/swc/tests/fixture/issues-6xxx/6420/input/input.js
@@ -0,0 +1 @@
const test = req.headers["test-dash"] ?? req.headers["test-dash-2"];
2 changes: 2 additions & 0 deletions crates/swc/tests/fixture/issues-6xxx/6420/output/input.js
@@ -0,0 +1,2 @@
var _req_headers_testdash;
var test = (_req_headers_testdash = req.headers["test-dash"]) !== null && _req_headers_testdash !== void 0 ? _req_headers_testdash : req.headers["test-dash-2"];
4 changes: 4 additions & 0 deletions crates/swc_ecma_utils/src/lib.rs
Expand Up @@ -1964,6 +1964,10 @@ pub fn alias_ident_for(expr: &Expr, default: &str) -> Ident {

let mut sym = sym(expr).unwrap_or_else(|| default.to_string());

if let Err(s) = Ident::verify_symbol(&sym) {
sym = s;
}

if !sym.starts_with('_') {
sym = format!("_{}", sym)
}
Expand Down

1 comment on commit 68ffc5b

@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: 68ffc5b Previous: b6c1cc4 Ratio
es/full/bugs-1 416072 ns/iter (± 13709) 340507 ns/iter (± 17907) 1.22
es/full/minify/libraries/antd 2175117314 ns/iter (± 41089339) 1863655862 ns/iter (± 56003689) 1.17
es/full/minify/libraries/d3 412997615 ns/iter (± 11118822) 411384034 ns/iter (± 25531057) 1.00
es/full/minify/libraries/echarts 1867459909 ns/iter (± 83826989) 1562424844 ns/iter (± 34045401) 1.20
es/full/minify/libraries/jquery 128282448 ns/iter (± 20926942) 101189933 ns/iter (± 4517917) 1.27
es/full/minify/libraries/lodash 142531725 ns/iter (± 4481749) 117242678 ns/iter (± 4563856) 1.22
es/full/minify/libraries/moment 72499023 ns/iter (± 2869740) 57826477 ns/iter (± 4100557) 1.25
es/full/minify/libraries/react 24821955 ns/iter (± 1466232) 20069939 ns/iter (± 761860) 1.24
es/full/minify/libraries/terser 329193589 ns/iter (± 12125074) 304844979 ns/iter (± 15749843) 1.08
es/full/minify/libraries/three 588669796 ns/iter (± 12025641) 546624050 ns/iter (± 20459129) 1.08
es/full/minify/libraries/typescript 3947735327 ns/iter (± 80285748) 3405926372 ns/iter (± 88625957) 1.16
es/full/minify/libraries/victory 860168590 ns/iter (± 57322809) 836456936 ns/iter (± 43463794) 1.03
es/full/minify/libraries/vue 183816045 ns/iter (± 1870092) 159843024 ns/iter (± 9416817) 1.15
es/full/codegen/es3 39967 ns/iter (± 1000) 33417 ns/iter (± 772) 1.20
es/full/codegen/es5 40062 ns/iter (± 1192) 33125 ns/iter (± 1316) 1.21
es/full/codegen/es2015 40032 ns/iter (± 2547) 33019 ns/iter (± 882) 1.21
es/full/codegen/es2016 40498 ns/iter (± 5407) 33530 ns/iter (± 1236) 1.21
es/full/codegen/es2017 40082 ns/iter (± 1192) 34081 ns/iter (± 4069) 1.18
es/full/codegen/es2018 39957 ns/iter (± 937) 33831 ns/iter (± 1627) 1.18
es/full/codegen/es2019 40016 ns/iter (± 1704) 33212 ns/iter (± 1183) 1.20
es/full/codegen/es2020 40171 ns/iter (± 7694) 33209 ns/iter (± 1433) 1.21
es/full/all/es3 233857943 ns/iter (± 11516942) 236646930 ns/iter (± 23890504) 0.99
es/full/all/es5 221575574 ns/iter (± 7729686) 222577057 ns/iter (± 18968585) 1.00
es/full/all/es2015 178887830 ns/iter (± 8416022) 180844961 ns/iter (± 23312187) 0.99
es/full/all/es2016 178881242 ns/iter (± 10811478) 179507832 ns/iter (± 22610410) 1.00
es/full/all/es2017 177588587 ns/iter (± 8919335) 180154149 ns/iter (± 25590067) 0.99
es/full/all/es2018 175201414 ns/iter (± 7805884) 180560493 ns/iter (± 20713056) 0.97
es/full/all/es2019 175118681 ns/iter (± 9395327) 170735608 ns/iter (± 20879977) 1.03
es/full/all/es2020 167393657 ns/iter (± 7259341) 172122850 ns/iter (± 19877185) 0.97
es/full/parser 878217 ns/iter (± 22555) 759710 ns/iter (± 153223) 1.16
es/full/base/fixer 32145 ns/iter (± 1622) 28068 ns/iter (± 1367) 1.15
es/full/base/resolver_and_hygiene 114468 ns/iter (± 12492) 97094 ns/iter (± 23236) 1.18
serialization of ast node 270 ns/iter (± 5) 218 ns/iter (± 10) 1.24
serialization of serde 280 ns/iter (± 8) 219 ns/iter (± 11) 1.28

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

Please sign in to comment.