Skip to content

Commit

Permalink
feat(es): Add a validation for a wrong config (#7704)
Browse files Browse the repository at this point in the history
**Related issue:**

 - Closes #6956.
  • Loading branch information
kdy1 committed Jul 25, 2023
1 parent 4219867 commit 900701f
Show file tree
Hide file tree
Showing 7 changed files with 16 additions and 15 deletions.
4 changes: 4 additions & 0 deletions crates/swc/src/config/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,10 @@ impl Options {
let unresolved_mark = self.unresolved_mark.unwrap_or_else(Mark::new);
let top_level_mark = self.top_level_mark.unwrap_or_else(Mark::new);

if target.is_some() && cfg.env.is_some() {
bail!("`jsc.env` and `jsc.target` cannot be used together");
}

let es_version = target.unwrap_or_default();

let syntax = syntax.unwrap_or_default();
Expand Down
3 changes: 1 addition & 2 deletions crates/swc/tests/fixture/issues-1xxx/1525/case1/input/.swcrc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
}
},
"jsc": {
"target": "es2019",
"parser": {
"syntax": "typescript",
"tsx": true
Expand All @@ -14,4 +13,4 @@
"module": {
"type": "commonjs"
}
}
}
3 changes: 1 addition & 2 deletions crates/swc/tests/fixture/issues-1xxx/1568/case1/input/.swcrc
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
"decorators": false,
"dynamicImport": true
},
"target": "es5",
"loose": true,
"externalHelpers": false
},
Expand All @@ -18,4 +17,4 @@
"module": {
"type": "commonjs"
}
}
}
8 changes: 3 additions & 5 deletions crates/swc/tests/fixture/issues-2xxx/2372/input/.swcrc
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@
"dynamicImport": true,
"syntax": "typescript",
"tsx": false
},
"target": "es2015"
}
},
"module": {
"type": "commonjs"
Expand All @@ -29,12 +28,11 @@
"parser": {
"dynamicImport": true,
"syntax": "ecmascript"
},
"target": "es2015"
}
},
"module": {
"type": "commonjs"
},
"test": ".*.js$"
}
]
]
1 change: 0 additions & 1 deletion crates/swc/tests/fixture/issues-7xxx/7629/input/.swcrc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
"syntax": "typescript",
"tsx": false
},
"target": "es2018",
"loose": false,
"minify": {
"compress": false,
Expand Down
9 changes: 6 additions & 3 deletions crates/swc/tests/projects/issue-779-1/.swcrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
{
"test": [".*.tsx$", ".*.ts$", ".*.js$"],
"test": [
".*.tsx$",
".*.ts$",
".*.js$"
],
"module": {
"type": "commonjs"
},
Expand All @@ -19,7 +23,6 @@
"decorators": true,
"dynamicImport": true
},
"target": "es2016",
"loose": true,
"transform": {
"optimizer": {
Expand All @@ -31,4 +34,4 @@
}
}
}
}
}
3 changes: 1 addition & 2 deletions crates/swc/tests/projects/issue-783/.swcrc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
"decorators": true,
"dynamicImport": true
},
"target": "es2019",
"loose": true,
"transform": {
"optimizer": {
Expand All @@ -30,4 +29,4 @@
}
}
}
}
}

1 comment on commit 900701f

@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: 900701f Previous: a26dbce Ratio
es/full/bugs-1 290398 ns/iter (± 2635) 285853 ns/iter (± 3976) 1.02
es/full/minify/libraries/antd 1312506455 ns/iter (± 7312639) 1344833713 ns/iter (± 14217258) 0.98
es/full/minify/libraries/d3 278526282 ns/iter (± 3729316) 279204650 ns/iter (± 2237406) 1.00
es/full/minify/libraries/echarts 1056370101 ns/iter (± 6720031) 1063150951 ns/iter (± 10732679) 0.99
es/full/minify/libraries/jquery 84280632 ns/iter (± 331289) 84904492 ns/iter (± 161413) 0.99
es/full/minify/libraries/lodash 98630116 ns/iter (± 275863) 98457286 ns/iter (± 364404) 1.00
es/full/minify/libraries/moment 49542834 ns/iter (± 90905) 50061650 ns/iter (± 163498) 0.99
es/full/minify/libraries/react 17957827 ns/iter (± 27312) 17973589 ns/iter (± 51428) 1.00
es/full/minify/libraries/terser 218587795 ns/iter (± 742703) 218591049 ns/iter (± 690385) 1.00
es/full/minify/libraries/three 382131615 ns/iter (± 1476562) 386302591 ns/iter (± 1787165) 0.99
es/full/minify/libraries/typescript 2672073440 ns/iter (± 9032338) 2704054102 ns/iter (± 22056080) 0.99
es/full/minify/libraries/victory 565688510 ns/iter (± 4249458) 564354197 ns/iter (± 4061461) 1.00
es/full/minify/libraries/vue 120454174 ns/iter (± 538402) 120172468 ns/iter (± 854681) 1.00
es/full/codegen/es3 34488 ns/iter (± 50) 35011 ns/iter (± 72) 0.99
es/full/codegen/es5 34450 ns/iter (± 94) 34999 ns/iter (± 68) 0.98
es/full/codegen/es2015 34433 ns/iter (± 158) 35033 ns/iter (± 91) 0.98
es/full/codegen/es2016 34449 ns/iter (± 76) 34965 ns/iter (± 47) 0.99
es/full/codegen/es2017 34376 ns/iter (± 65) 35032 ns/iter (± 75) 0.98
es/full/codegen/es2018 34383 ns/iter (± 91) 34979 ns/iter (± 101) 0.98
es/full/codegen/es2019 34350 ns/iter (± 1368) 34942 ns/iter (± 1233) 0.98
es/full/codegen/es2020 34409 ns/iter (± 76) 34977 ns/iter (± 103) 0.98
es/full/all/es3 172002458 ns/iter (± 974891) 171618168 ns/iter (± 1168306) 1.00
es/full/all/es5 165231290 ns/iter (± 596777) 163925618 ns/iter (± 679913) 1.01
es/full/all/es2015 124241984 ns/iter (± 564536) 124431534 ns/iter (± 880049) 1.00
es/full/all/es2016 122868953 ns/iter (± 523668) 123200028 ns/iter (± 619632) 1.00
es/full/all/es2017 122318913 ns/iter (± 629917) 123245103 ns/iter (± 441737) 0.99
es/full/all/es2018 119977611 ns/iter (± 456939) 120268317 ns/iter (± 673033) 1.00
es/full/all/es2019 120104058 ns/iter (± 731552) 120128071 ns/iter (± 717580) 1.00
es/full/all/es2020 115203277 ns/iter (± 305140) 114965126 ns/iter (± 696101) 1.00
es/full/parser 531719 ns/iter (± 6393) 534584 ns/iter (± 6733) 0.99
es/full/base/fixer 18861 ns/iter (± 339) 18671 ns/iter (± 58) 1.01
es/full/base/resolver_and_hygiene 81151 ns/iter (± 116) 84065 ns/iter (± 202) 0.97
serialization of serde 297 ns/iter (± 0) 291 ns/iter (± 0) 1.02
css/minify/libraries/bootstrap 29042516 ns/iter (± 73712) 28949232 ns/iter (± 46454) 1.00
css/visitor/compare/clone 1640335 ns/iter (± 2501) 1658228 ns/iter (± 4149) 0.99
css/visitor/compare/visit_mut_span 1770897 ns/iter (± 6016) 1777030 ns/iter (± 8025) 1.00
css/visitor/compare/visit_mut_span_panic 1830407 ns/iter (± 4573) 1853930 ns/iter (± 11176) 0.99
css/visitor/compare/fold_span 2570259 ns/iter (± 15534) 2577578 ns/iter (± 18410) 1.00
css/visitor/compare/fold_span_panic 2765861 ns/iter (± 11102) 2763185 ns/iter (± 15490) 1.00
css/lexer/bootstrap_5_1_3 4447357 ns/iter (± 36683) 4573530 ns/iter (± 3298) 0.97
css/lexer/foundation_6_7_4 3739643 ns/iter (± 3311) 3830140 ns/iter (± 1250) 0.98
css/lexer/tailwind_3_1_1 710760 ns/iter (± 656) 728054 ns/iter (± 553) 0.98
css/parser/bootstrap_5_1_3 20385516 ns/iter (± 49945) 19232293 ns/iter (± 86971) 1.06
css/parser/foundation_6_7_4 16264854 ns/iter (± 30858) 15341687 ns/iter (± 23260) 1.06
css/parser/tailwind_3_1_1 3044981 ns/iter (± 4656) 3000016 ns/iter (± 6973) 1.01
es/codegen/colors 736153 ns/iter (± 399930) 734181 ns/iter (± 401976) 1.00
es/codegen/large 3156098 ns/iter (± 1680516) 3149366 ns/iter (± 1678863) 1.00
es/codegen/with-parser/colors 44580 ns/iter (± 578) 44249 ns/iter (± 459) 1.01
es/codegen/with-parser/large 480768 ns/iter (± 490) 481484 ns/iter (± 1538) 1.00
es/minify/libraries/antd 1138986632 ns/iter (± 13371174) 1156504565 ns/iter (± 4953297) 0.98
es/minify/libraries/d3 240186819 ns/iter (± 601352) 241483316 ns/iter (± 882622) 0.99
es/minify/libraries/echarts 911609184 ns/iter (± 6326482) 924971927 ns/iter (± 5245711) 0.99
es/minify/libraries/jquery 73692549 ns/iter (± 137874) 74113433 ns/iter (± 130044) 0.99
es/minify/libraries/lodash 88343209 ns/iter (± 109077) 88011118 ns/iter (± 139015) 1.00
es/minify/libraries/moment 43560884 ns/iter (± 29633) 43586399 ns/iter (± 167938) 1.00
es/minify/libraries/react 16037628 ns/iter (± 51490) 16043184 ns/iter (± 79994) 1.00
es/minify/libraries/terser 186700663 ns/iter (± 565978) 188989193 ns/iter (± 1090067) 0.99
es/minify/libraries/three 321337586 ns/iter (± 1263752) 321622425 ns/iter (± 1603076) 1.00
es/minify/libraries/typescript 2272965795 ns/iter (± 10829865) 2260702679 ns/iter (± 9526861) 1.01
es/minify/libraries/victory 475351456 ns/iter (± 5546874) 474077776 ns/iter (± 2146811) 1.00
es/minify/libraries/vue 107175981 ns/iter (± 191413) 108075393 ns/iter (± 230809) 0.99
es/visitor/compare/clone 1935740 ns/iter (± 2817) 1941946 ns/iter (± 5235) 1.00
es/visitor/compare/visit_mut_span 2281190 ns/iter (± 3534) 2282686 ns/iter (± 4265) 1.00
es/visitor/compare/visit_mut_span_panic 2311314 ns/iter (± 6873) 2316399 ns/iter (± 3406) 1.00
es/visitor/compare/fold_span 3309881 ns/iter (± 2956) 3328557 ns/iter (± 6727) 0.99
es/visitor/compare/fold_span_panic 3461630 ns/iter (± 3185) 3483310 ns/iter (± 3915) 0.99
es/lexer/colors 12910 ns/iter (± 16) 12323 ns/iter (± 16) 1.05
es/lexer/angular 6166383 ns/iter (± 6183) 6103630 ns/iter (± 4731) 1.01
es/lexer/backbone 816690 ns/iter (± 476) 794949 ns/iter (± 2846) 1.03
es/lexer/jquery 4535842 ns/iter (± 7203) 4442027 ns/iter (± 2306) 1.02
es/lexer/jquery mobile 6941578 ns/iter (± 22699) 6828738 ns/iter (± 8982) 1.02
es/lexer/mootools 3610745 ns/iter (± 7177) 3533154 ns/iter (± 3609) 1.02
es/lexer/underscore 683203 ns/iter (± 583) 660415 ns/iter (± 656) 1.03
es/lexer/three 21256223 ns/iter (± 942655) 20872648 ns/iter (± 7655) 1.02
es/lexer/yui 3847358 ns/iter (± 2512) 3809028 ns/iter (± 1419) 1.01
es/parser/colors 26446 ns/iter (± 47) 26542 ns/iter (± 63) 1.00
es/parser/angular 13464291 ns/iter (± 77970) 13424494 ns/iter (± 66326) 1.00
es/parser/backbone 1997548 ns/iter (± 7754) 2003941 ns/iter (± 9034) 1.00
es/parser/jquery 10850197 ns/iter (± 44135) 10851556 ns/iter (± 41895) 1.00
es/parser/jquery mobile 16668776 ns/iter (± 39217) 16773044 ns/iter (± 64838) 0.99
es/parser/mootools 8323485 ns/iter (± 14988) 8386175 ns/iter (± 15739) 0.99
es/parser/underscore 1710234 ns/iter (± 9011) 1719445 ns/iter (± 8426) 0.99
es/parser/three 46015518 ns/iter (± 347348) 46661889 ns/iter (± 575202) 0.99
es/parser/yui 8292842 ns/iter (± 32778) 8247312 ns/iter (± 35669) 1.01
es/preset-env/usage/builtin_type 135092 ns/iter (± 31669) 135617 ns/iter (± 31429) 1.00
es/preset-env/usage/property 17024 ns/iter (± 54) 17218 ns/iter (± 52) 0.99
es/resolver/typescript 88893896 ns/iter (± 873568) 89348999 ns/iter (± 1347422) 0.99
es/fixer/typescript 63205226 ns/iter (± 601014) 65763096 ns/iter (± 1281292) 0.96
es/hygiene/typescript 132872769 ns/iter (± 971353) 137435295 ns/iter (± 882323) 0.97
es/resolver_with_hygiene/typescript 245165885 ns/iter (± 1225083) 250713824 ns/iter (± 1776308) 0.98
es/visitor/base-perf/module_clone 59992 ns/iter (± 413) 60761 ns/iter (± 389) 0.99
es/visitor/base-perf/fold_empty 63372 ns/iter (± 115) 64934 ns/iter (± 291) 0.98
es/visitor/base-perf/fold_noop_impl_all 64228 ns/iter (± 302) 65151 ns/iter (± 535) 0.99
es/visitor/base-perf/fold_noop_impl_vec 64705 ns/iter (± 245) 64854 ns/iter (± 299) 1.00
es/visitor/base-perf/boxing_boxed_clone 56 ns/iter (± 0) 56 ns/iter (± 0) 1
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) 109 ns/iter (± 0) 0.97
es/visitor/base-perf/boxing_unboxed 75 ns/iter (± 0) 77 ns/iter (± 0) 0.97
es/visitor/base-perf/visit_empty 0 ns/iter (± 0) 0 ns/iter (± 0) NaN
es/visitor/base-perf/visit_contains_this 2509 ns/iter (± 11) 2521 ns/iter (± 14) 1.00
es/base/parallel/resolver/typescript 4278592322 ns/iter (± 216494574) 3842950052 ns/iter (± 317692659) 1.11
es/base/parallel/hygiene/typescript 1472441751 ns/iter (± 15279787) 1485192199 ns/iter (± 17118738) 0.99
misc/visitors/time-complexity/time 5 146 ns/iter (± 3) 117 ns/iter (± 8) 1.25
misc/visitors/time-complexity/time 10 400 ns/iter (± 7) 376 ns/iter (± 5) 1.06
misc/visitors/time-complexity/time 15 698 ns/iter (± 15) 679 ns/iter (± 4) 1.03
misc/visitors/time-complexity/time 20 1093 ns/iter (± 15) 1177 ns/iter (± 10) 0.93
misc/visitors/time-complexity/time 40 3586 ns/iter (± 4) 3544 ns/iter (± 252) 1.01
misc/visitors/time-complexity/time 60 7473 ns/iter (± 693) 7357 ns/iter (± 18) 1.02
es/full-target/es2016 235049 ns/iter (± 382) 234365 ns/iter (± 591) 1.00
es/full-target/es2017 223985 ns/iter (± 649) 222566 ns/iter (± 634) 1.01
es/full-target/es2018 211090 ns/iter (± 706) 212027 ns/iter (± 549) 1.00
es2020_nullish_coalescing 70868 ns/iter (± 517) 70695 ns/iter (± 465) 1.00
es2020_optional_chaining 81259 ns/iter (± 137) 81040 ns/iter (± 289) 1.00
es2022_class_properties 118263 ns/iter (± 542) 116944 ns/iter (± 405) 1.01
es2018_object_rest_spread 76503 ns/iter (± 188) 75636 ns/iter (± 272) 1.01
es2019_optional_catch_binding 65292 ns/iter (± 171) 64976 ns/iter (± 320) 1.00
es2017_async_to_generator 64263 ns/iter (± 290) 63478 ns/iter (± 346) 1.01
es2016_exponentiation 69217 ns/iter (± 221) 68912 ns/iter (± 226) 1.00
es2015_arrow 72878 ns/iter (± 146) 72714 ns/iter (± 192) 1.00
es2015_block_scoped_fn 69532 ns/iter (± 364) 68552 ns/iter (± 267) 1.01
es2015_block_scoping 121783 ns/iter (± 398) 118412 ns/iter (± 442) 1.03

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

Please sign in to comment.