Skip to content

Commit 85a8def

Browse files
authoredFeb 9, 2023
fix(es/preset-env): Fix default target (#6921)
**Description:** Previously the default value of `targets` was `""`, which is not deterministic. **Related issue:** - Closes #6888.
1 parent fe095e9 commit 85a8def

File tree

16 files changed

+256
-37
lines changed

16 files changed

+256
-37
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
var e = 1;
22
try {
33
throw 2;
4-
} catch {
4+
} catch (e1) {
55
console.log(e);
66
}
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
import { createRequire as _createRequire } from "module";
2-
const __require = _createRequire(import.meta.url);
3-
const F = __require("yaml");
2+
var __require = _createRequire(import.meta.url);
3+
var F = __require("yaml");
44
console.log(F);

‎crates/swc/tests/fixture/issues-1xxx/1568/case1/output/index.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
44
});
55
Object.defineProperty(exports, "default", {
66
enumerable: true,
7-
get: ()=>get
7+
get: function() {
8+
return get;
9+
}
810
});
911
function get(key) {
1012
console.log(key);

‎crates/swc/tests/fixture/issues-1xxx/1714/case1/output/index.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@ Object.defineProperty(exports, "__esModule", {
44
});
55
Object.defineProperty(exports, "render", {
66
enumerable: true,
7-
get: ()=>_customRender.customRender
7+
get: function() {
8+
return _customRender.customRender;
9+
}
810
});
9-
const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
10-
const _customRender = require("./customRender");
11+
var _exportStar = require("@swc/helpers/lib/_export_star.js").default;
12+
var _customRender = require("./customRender");
1113
_exportStar(require("@testing-library/react"), exports);
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,129 @@
1-
async function* lol() {
2-
yield 1;
3-
yield 2;
4-
}
5-
async function main() {
6-
for await (const x of lol()){
7-
console.log(x);
8-
}
1+
import _async_iterator from "@swc/helpers/src/_async_iterator.mjs";
2+
import _async_to_generator from "@swc/helpers/src/_async_to_generator.mjs";
3+
import _wrap_async_generator from "@swc/helpers/src/_wrap_async_generator.mjs";
4+
import _ts_generator from "@swc/helpers/src/_ts_generator.mjs";
5+
function lol() {
6+
return _lol.apply(this, arguments);
7+
}
8+
function _lol() {
9+
_lol = _wrap_async_generator(function() {
10+
return _ts_generator(this, function(_state) {
11+
switch(_state.label){
12+
case 0:
13+
return [
14+
4,
15+
1
16+
];
17+
case 1:
18+
_state.sent();
19+
return [
20+
4,
21+
2
22+
];
23+
case 2:
24+
_state.sent();
25+
return [
26+
2
27+
];
28+
}
29+
});
30+
});
31+
return _lol.apply(this, arguments);
32+
}
33+
function main() {
34+
return _main.apply(this, arguments);
35+
}
36+
function _main() {
37+
_main = _async_to_generator(function() {
38+
var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, x, err;
39+
return _ts_generator(this, function(_state) {
40+
switch(_state.label){
41+
case 0:
42+
_iteratorAbruptCompletion = false, _didIteratorError = false;
43+
_state.label = 1;
44+
case 1:
45+
_state.trys.push([
46+
1,
47+
6,
48+
7,
49+
12
50+
]);
51+
_iterator = _async_iterator(lol());
52+
_state.label = 2;
53+
case 2:
54+
return [
55+
4,
56+
_iterator.next()
57+
];
58+
case 3:
59+
if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
60+
3,
61+
5
62+
];
63+
_value = _step.value;
64+
x = _value;
65+
console.log(x);
66+
_state.label = 4;
67+
case 4:
68+
_iteratorAbruptCompletion = false;
69+
return [
70+
3,
71+
2
72+
];
73+
case 5:
74+
return [
75+
3,
76+
12
77+
];
78+
case 6:
79+
err = _state.sent();
80+
_didIteratorError = true;
81+
_iteratorError = err;
82+
return [
83+
3,
84+
12
85+
];
86+
case 7:
87+
_state.trys.push([
88+
7,
89+
,
90+
10,
91+
11
92+
]);
93+
if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) return [
94+
3,
95+
9
96+
];
97+
return [
98+
4,
99+
_iterator["return"]()
100+
];
101+
case 8:
102+
_state.sent();
103+
_state.label = 9;
104+
case 9:
105+
return [
106+
3,
107+
11
108+
];
109+
case 10:
110+
if (_didIteratorError) {
111+
throw _iteratorError;
112+
}
113+
return [
114+
7
115+
];
116+
case 11:
117+
return [
118+
7
119+
];
120+
case 12:
121+
return [
122+
2
123+
];
124+
}
125+
});
126+
});
127+
return _main.apply(this, arguments);
9128
}
10129
main();
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1-
(async function main() {
2-
console.log(1);
3-
})();
1+
import _async_to_generator from "@swc/helpers/src/_async_to_generator.mjs";
2+
import _ts_generator from "@swc/helpers/src/_ts_generator.mjs";
3+
(function() {
4+
var _main = _async_to_generator(function() {
5+
return _ts_generator(this, function(_state) {
6+
console.log(1);
7+
return [
8+
2
9+
];
10+
});
11+
});
12+
function main() {
13+
return _main.apply(this, arguments);
14+
}
15+
return main;
16+
})()();
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const c = /*#__PURE__*/ React.createElement("img", {
1+
var c = /*#__PURE__*/ React.createElement("img", {
22
alt: "caf\xe9"
33
}).props.alt;
44
console.log(c);

‎crates/swc/tests/fixture/issues-6xxx/6460/1/output/index.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import "core-js/modules/es.array.at.js";
2+
import "core-js/modules/es.regexp.exec.js";
23
import "core-js/modules/es.string.at-alternative.js";
4+
import "core-js/modules/es.string.split.js";
35
"1.2.3".split(".").at(-1);
46
[
57
123,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"jsc": {
3+
"parser": {
4+
"syntax": "ecmascript",
5+
"jsx": false
6+
},
7+
},
8+
"minify": false,
9+
"isModule": true,
10+
"env": {
11+
"mode": "usage",
12+
"coreJs": "3.27.2"
13+
}
14+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
'test'.replaceAll('', '');
2+
'1.2.3'.split('.').at(-1);
3+
[123].at(1);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import "core-js/modules/es.array.at.js";
2+
import "core-js/modules/es.regexp.exec.js";
3+
import "core-js/modules/es.string.at-alternative.js";
4+
import "core-js/modules/es.string.replace-all.js";
5+
import "core-js/modules/es.string.replace.js";
6+
import "core-js/modules/es.string.split.js";
7+
"test".replaceAll("", "");
8+
"1.2.3".split(".").at(-1);
9+
[
10+
123
11+
].at(1);

‎crates/swc/tests/fixture/shopify/003-env/output/index.js

+8-5
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,15 @@ Object.defineProperty(exports, "__esModule", {
44
});
55
Object.defineProperty(exports, "App", {
66
enumerable: true,
7-
get: ()=>App
7+
get: function() {
8+
return App;
9+
}
810
});
9-
const _interopRequireDefault = require("@swc/helpers/lib/_interop_require_default.js").default;
10-
const _react = /*#__PURE__*/ _interopRequireDefault(require("react"));
11-
const _reactI18N = require("@shopify/react-i18n");
11+
var _interopRequireDefault = require("@swc/helpers/lib/_interop_require_default.js").default;
12+
var _slicedToArray = require("@swc/helpers/lib/_sliced_to_array.js").default;
13+
var _react = /*#__PURE__*/ _interopRequireDefault(require("react"));
14+
var _reactI18N = require("@shopify/react-i18n");
1215
function App() {
13-
const [i18n] = (0, _reactI18N.useI18n)();
16+
var _useI18n = _slicedToArray((0, _reactI18N.useI18n)(), 1), i18n = _useI18n[0];
1417
return /*#__PURE__*/ _react.default.createElement("h1", null, i18n.translate("foo"));
1518
}

‎crates/swc/tests/fixture/shopify/004-jest/output/index.js

+8-5
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,15 @@ Object.defineProperty(exports, "__esModule", {
44
});
55
Object.defineProperty(exports, "App", {
66
enumerable: true,
7-
get: ()=>App
7+
get: function() {
8+
return App;
9+
}
810
});
9-
const _interopRequireDefault = require("@swc/helpers/lib/_interop_require_default.js").default;
10-
const _react = /*#__PURE__*/ _interopRequireDefault(require("react"));
11-
const _reactI18N = require("@shopify/react-i18n");
11+
var _interopRequireDefault = require("@swc/helpers/lib/_interop_require_default.js").default;
12+
var _slicedToArray = require("@swc/helpers/lib/_sliced_to_array.js").default;
13+
var _react = /*#__PURE__*/ _interopRequireDefault(require("react"));
14+
var _reactI18N = require("@shopify/react-i18n");
1215
function App() {
13-
const [i18n] = (0, _reactI18N.useI18n)();
16+
var _useI18n = _slicedToArray((0, _reactI18N.useI18n)(), 1), i18n = _useI18n[0];
1417
return /*#__PURE__*/ _react.default.createElement("h1", null, i18n.translate("foo"));
1518
}
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
import _sliced_to_array from "@swc/helpers/src/_sliced_to_array.mjs";
12
import React from "react";
23
import { useI18n } from "@shopify/react-i18n";
34
export function App() {
4-
const [i18n] = useI18n();
5+
var _useI18n = _sliced_to_array(useI18n(), 1), i18n = _useI18n[0];
56
return /*#__PURE__*/ React.createElement("h1", null, i18n.translate("foo"));
67
}

‎crates/swc_ecma_preset_env/data/core-js-compat/data.json

+51-1
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,7 @@
435435
"opera-android": "65",
436436
"opera_mobile": "65",
437437
"quest": "17.0",
438+
"react-native": "0.71",
438439
"safari": "15.4",
439440
"samsung": "16.0"
440441
},
@@ -3447,6 +3448,7 @@
34473448
"opera-android": "47",
34483449
"opera_mobile": "47",
34493450
"quest": "5.0",
3451+
"react-native": "0.71",
34503452
"safari": "11.1",
34513453
"samsung": "9.0"
34523454
},
@@ -3561,6 +3563,7 @@
35613563
"opera-android": "65",
35623564
"opera_mobile": "65",
35633565
"quest": "17.0",
3566+
"react-native": "0.71",
35643567
"safari": "15.4",
35653568
"samsung": "16.0"
35663569
},
@@ -3830,6 +3833,7 @@
38303833
"opera-android": "47",
38313834
"opera_mobile": "47",
38323835
"quest": "5.0",
3836+
"react-native": "0.71",
38333837
"safari": "14.0",
38343838
"samsung": "9.0"
38353839
},
@@ -4493,6 +4497,7 @@
44934497
"opera-android": "65",
44944498
"opera_mobile": "65",
44954499
"quest": "17.0",
4500+
"react-native": "0.71",
44964501
"safari": "15.4",
44974502
"samsung": "16.0"
44984503
},
@@ -5194,6 +5199,7 @@
51945199
"opera-android": "65",
51955200
"opera_mobile": "65",
51965201
"quest": "17.0",
5202+
"react-native": "0.71",
51975203
"safari": "15.4",
51985204
"samsung": "16.0"
51995205
},
@@ -5255,28 +5261,52 @@
52555261
"esnext.array.last-index": {},
52565262
"esnext.array.last-item": {},
52575263
"esnext.array.to-reversed": {
5264+
"android": "110",
52585265
"bun": "0.1.1",
5266+
"chrome": "110",
5267+
"chrome-android": "110",
52595268
"deno": "1.27",
5269+
"edge": "110",
5270+
"electron": "23.0",
52605271
"ios": "16.0",
5272+
"opera": "96",
52615273
"safari": "16.0"
52625274
},
52635275
"esnext.array.to-sorted": {
5276+
"android": "110",
52645277
"bun": "0.1.1",
5278+
"chrome": "110",
5279+
"chrome-android": "110",
52655280
"deno": "1.27",
5281+
"edge": "110",
5282+
"electron": "23.0",
52665283
"ios": "16.0",
5284+
"opera": "96",
52675285
"safari": "16.0"
52685286
},
52695287
"esnext.array.to-spliced": {
5288+
"android": "110",
52705289
"bun": "0.1.1",
5290+
"chrome": "110",
5291+
"chrome-android": "110",
52715292
"deno": "1.27",
5293+
"edge": "110",
5294+
"electron": "23.0",
52725295
"ios": "16.0",
5296+
"opera": "96",
52735297
"safari": "16.0"
52745298
},
52755299
"esnext.array.unique-by": {},
52765300
"esnext.array.with": {
5301+
"android": "110",
52775302
"bun": "0.1.1",
5303+
"chrome": "110",
5304+
"chrome-android": "110",
52785305
"deno": "1.27",
5306+
"edge": "110",
5307+
"electron": "23.0",
52795308
"ios": "16.0",
5309+
"opera": "96",
52805310
"safari": "16.0"
52815311
},
52825312
"esnext.async-disposable-stack.constructor": {},
@@ -5559,6 +5589,7 @@
55595589
"opera-android": "65",
55605590
"opera_mobile": "65",
55615591
"quest": "17.0",
5592+
"react-native": "0.71",
55625593
"safari": "15.4",
55635594
"samsung": "16.0"
55645595
},
@@ -5610,22 +5641,40 @@
56105641
},
56115642
"esnext.typed-array.group-by": {},
56125643
"esnext.typed-array.to-reversed": {
5644+
"android": "110",
56135645
"bun": "0.1.1",
5646+
"chrome": "110",
5647+
"chrome-android": "110",
56145648
"deno": "1.27",
5649+
"edge": "110",
5650+
"electron": "23.0",
56155651
"ios": "16.0",
5652+
"opera": "96",
56165653
"safari": "16.0"
56175654
},
56185655
"esnext.typed-array.to-sorted": {
5656+
"android": "110",
56195657
"bun": "0.1.1",
5658+
"chrome": "110",
5659+
"chrome-android": "110",
56205660
"deno": "1.27",
5661+
"edge": "110",
5662+
"electron": "23.0",
56215663
"ios": "16.0",
5664+
"opera": "96",
56225665
"safari": "16.0"
56235666
},
56245667
"esnext.typed-array.to-spliced": {},
56255668
"esnext.typed-array.unique-by": {},
56265669
"esnext.typed-array.with": {
5670+
"android": "110",
56275671
"bun": "0.1.9",
5628-
"deno": "1.27"
5672+
"chrome": "110",
5673+
"chrome-android": "110",
5674+
"deno": "1.27",
5675+
"edge": "110",
5676+
"electron": "23.0",
5677+
"opera": "96"
56295678
},
56305679
"esnext.weak-map.delete-all": {},
56315680
"esnext.weak-map.from": {},
@@ -5798,6 +5847,7 @@
57985847
"android": "86",
57995848
"chrome": "86",
58005849
"chrome-android": "86",
5850+
"deno": "1.29.3",
58015851
"edge": "86",
58025852
"electron": "11.0",
58035853
"firefox": "31",

‎crates/swc_ecma_preset_env/src/lib.rs

+2-6
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use std::path::PathBuf;
66

7-
use preset_env_base::query::{targets_to_versions, Query};
7+
use preset_env_base::query::targets_to_versions;
88
pub use preset_env_base::{query::Targets, version::Version, BrowserData, Versions};
99
use regenerator::RegeneratorVisitor;
1010
use serde::Deserialize;
@@ -565,7 +565,7 @@ pub struct Config {
565565
#[serde(default)]
566566
pub core_js: Option<Version>,
567567

568-
#[serde(default = "default_targets")]
568+
#[serde(default)]
569569
pub targets: Option<Targets>,
570570

571571
#[serde(default = "default_path")]
@@ -581,10 +581,6 @@ pub struct Config {
581581
pub bugfixes: bool,
582582
}
583583

584-
fn default_targets() -> Option<Targets> {
585-
Some(Targets::Query(Query::Single("".into())))
586-
}
587-
588584
fn default_path() -> PathBuf {
589585
if cfg!(target_arch = "wasm32") {
590586
Default::default()

0 commit comments

Comments
 (0)
Please sign in to comment.