Skip to content

Commit c155caf

Browse files
Load .browserslistrc when using old @babel/core versions (#12934)
1 parent efdca01 commit c155caf

File tree

5 files changed

+65
-12
lines changed

5 files changed

+65
-12
lines changed

packages/babel-preset-env/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@
9090
},
9191
"devDependencies": {
9292
"@babel/core": "workspace:*",
93+
"@babel/core-7.12": "npm:@babel/core@7.12.9",
9394
"@babel/helper-plugin-test-runner": "workspace:*",
9495
"@babel/plugin-syntax-dynamic-import": "^7.8.3"
9596
}

packages/babel-preset-env/src/index.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//@flow
22

3-
import { SemVer } from "semver";
3+
import { SemVer, lt } from "semver";
44
import { logPluginOrPolyfill } from "./debug";
55
import getOptionSpecificExcludesFor from "./get-option-specific-excludes";
66
import { removeUnnecessaryItems } from "./filter-items";
@@ -295,6 +295,10 @@ export default declare((api, opts) => {
295295
let targets = babelTargets;
296296

297297
if (
298+
// @babel/core < 7.13.0 doesn't load targets (api.targets() always
299+
// returns {} thanks to @babel/helper-plugin-utils), so we always want
300+
// to fallback to the old targets behavior in this case.
301+
lt(api.version, "7.13.0") ||
298302
// If any browserslist-related option is specified, fallback to the old
299303
// behavior of not using the targets specified in the top-level options.
300304
opts.targets ||
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import * as babel7_12 from "@babel/core";
2+
import env from "..";
3+
import path from "path";
4+
5+
describe("#12880", () => {
6+
it("read the .browserslistrc file when using @babel/core < 7.13.0", () => {
7+
// The browserslistrc file contains "firefox 50".
8+
// a ** b is supported starting from firefox 52;
9+
// a => b is supported starting from firefox 45.
10+
const out = babel7_12.transformSync("a ** b; a => b;", {
11+
configFile: false,
12+
presets: [[env, { modules: false }]],
13+
filename: path.join(__dirname, "regressions", "input.js"),
14+
});
15+
16+
expect(out.code).toMatchInlineSnapshot(`
17+
"Math.pow(a, b);
18+
19+
a => b;"
20+
`);
21+
});
22+
});
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
firefox 50

yarn.lock

Lines changed: 36 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,30 @@ __metadata:
150150
languageName: unknown
151151
linkType: soft
152152

153+
"@babel/core-7.12@npm:@babel/core@7.12.9":
154+
version: 7.12.9
155+
resolution: "@babel/core@npm:7.12.9"
156+
dependencies:
157+
"@babel/code-frame": ^7.10.4
158+
"@babel/generator": ^7.12.5
159+
"@babel/helper-module-transforms": ^7.12.1
160+
"@babel/helpers": ^7.12.5
161+
"@babel/parser": ^7.12.7
162+
"@babel/template": ^7.12.7
163+
"@babel/traverse": ^7.12.9
164+
"@babel/types": ^7.12.7
165+
convert-source-map: ^1.7.0
166+
debug: ^4.1.0
167+
gensync: ^1.0.0-beta.1
168+
json5: ^2.1.2
169+
lodash: ^4.17.19
170+
resolve: ^1.3.2
171+
semver: ^5.4.1
172+
source-map: ^0.5.0
173+
checksum: beefb9f490cfff7cafc02e5a11148297a71260ee18f5fdf6e14bf5694bc28431eec3813a91d0f0fc8c6122c5133d90d3261dadf45cb914d7d340a5b3077fd9bd
174+
languageName: node
175+
linkType: hard
176+
153177
"@babel/core@npm:7.13.1, @babel/core@npm:^7.1.0, @babel/core@npm:^7.13.1, @babel/core@npm:^7.7.5":
154178
version: 7.13.1
155179
resolution: "@babel/core@npm:7.13.1"
@@ -285,7 +309,7 @@ __metadata:
285309
languageName: unknown
286310
linkType: soft
287311

288-
"@babel/generator@npm:^7.13.0":
312+
"@babel/generator@npm:^7.12.5, @babel/generator@npm:^7.13.0":
289313
version: 7.13.0
290314
resolution: "@babel/generator@npm:7.13.0"
291315
dependencies:
@@ -619,7 +643,7 @@ __metadata:
619643
languageName: unknown
620644
linkType: soft
621645

622-
"@babel/helper-module-transforms@npm:^7.12.13, @babel/helper-module-transforms@npm:^7.13.0":
646+
"@babel/helper-module-transforms@npm:^7.12.1, @babel/helper-module-transforms@npm:^7.12.13, @babel/helper-module-transforms@npm:^7.13.0":
623647
version: 7.13.0
624648
resolution: "@babel/helper-module-transforms@npm:7.13.0"
625649
dependencies:
@@ -857,7 +881,7 @@ __metadata:
857881
languageName: unknown
858882
linkType: soft
859883

860-
"@babel/helpers@npm:^7.13.0":
884+
"@babel/helpers@npm:^7.12.5, @babel/helpers@npm:^7.13.0":
861885
version: 7.13.0
862886
resolution: "@babel/helpers@npm:7.13.0"
863887
dependencies:
@@ -926,7 +950,7 @@ __metadata:
926950
languageName: unknown
927951
linkType: soft
928952

929-
"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.12.13, @babel/parser@npm:^7.13.0":
953+
"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.12.13, @babel/parser@npm:^7.12.7, @babel/parser@npm:^7.13.0":
930954
version: 7.13.4
931955
resolution: "@babel/parser@npm:7.13.4"
932956
bin:
@@ -3039,6 +3063,7 @@ __metadata:
30393063
dependencies:
30403064
"@babel/compat-data": "workspace:^7.13.8"
30413065
"@babel/core": "workspace:*"
3066+
"@babel/core-7.12": "npm:@babel/core@7.12.9"
30423067
"@babel/helper-compilation-targets": "workspace:^7.13.8"
30433068
"@babel/helper-plugin-test-runner": "workspace:*"
30443069
"@babel/helper-plugin-utils": "workspace:^7.13.0"
@@ -3369,7 +3394,7 @@ __metadata:
33693394
languageName: unknown
33703395
linkType: soft
33713396

3372-
"@babel/template@npm:^7.12.13, @babel/template@npm:^7.3.3":
3397+
"@babel/template@npm:^7.12.13, @babel/template@npm:^7.12.7, @babel/template@npm:^7.3.3":
33733398
version: 7.12.13
33743399
resolution: "@babel/template@npm:7.12.13"
33753400
dependencies:
@@ -3400,7 +3425,7 @@ __metadata:
34003425
languageName: unknown
34013426
linkType: soft
34023427

3403-
"@babel/traverse@npm:^7.0.0, @babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.13.0":
3428+
"@babel/traverse@npm:^7.0.0, @babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.12.9, @babel/traverse@npm:^7.13.0":
34043429
version: 7.13.0
34053430
resolution: "@babel/traverse@npm:7.13.0"
34063431
dependencies:
@@ -3434,7 +3459,7 @@ __metadata:
34343459
languageName: unknown
34353460
linkType: soft
34363461

3437-
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.1, @babel/types@npm:^7.12.13, @babel/types@npm:^7.13.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4":
3462+
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.1, @babel/types@npm:^7.12.13, @babel/types@npm:^7.12.7, @babel/types@npm:^7.13.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4":
34383463
version: 7.13.0
34393464
resolution: "@babel/types@npm:7.13.0"
34403465
dependencies:
@@ -8379,7 +8404,7 @@ fsevents@^1.2.7:
83798404
languageName: node
83808405
linkType: hard
83818406

8382-
"gensync@npm:^1.0.0-beta.2":
8407+
"gensync@npm:^1.0.0-beta.1, gensync@npm:^1.0.0-beta.2":
83838408
version: 1.0.0-beta.2
83848409
resolution: "gensync@npm:1.0.0-beta.2"
83858410
checksum: d523437689c97b3aba9c5cdeca4677d5fff9a29d620db693fea40d852bad63563110f16979d0170248439dbcd2ecee0780fb2533d3f0519f019081aa10767c60
@@ -12829,7 +12854,7 @@ fsevents@^1.2.7:
1282912854
languageName: node
1283012855
linkType: hard
1283112856

12832-
"resolve@^1.1.4, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.4.0, resolve@^1.9.0":
12857+
"resolve@^1.1.4, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.9.0":
1283312858
version: 1.20.0
1283412859
resolution: "resolve@npm:1.20.0"
1283512860
dependencies:
@@ -12839,7 +12864,7 @@ fsevents@^1.2.7:
1283912864
languageName: node
1284012865
linkType: hard
1284112866

12842-
"resolve@patch:resolve@^1.1.4#builtin<compat/resolve>, resolve@patch:resolve@^1.1.6#builtin<compat/resolve>, resolve@patch:resolve@^1.1.7#builtin<compat/resolve>, resolve@patch:resolve@^1.10.0#builtin<compat/resolve>, resolve@patch:resolve@^1.13.1#builtin<compat/resolve>, resolve@patch:resolve@^1.14.2#builtin<compat/resolve>, resolve@patch:resolve@^1.17.0#builtin<compat/resolve>, resolve@patch:resolve@^1.18.1#builtin<compat/resolve>, resolve@patch:resolve@^1.19.0#builtin<compat/resolve>, resolve@patch:resolve@^1.4.0#builtin<compat/resolve>, resolve@patch:resolve@^1.9.0#builtin<compat/resolve>":
12867+
"resolve@patch:resolve@^1.1.4#builtin<compat/resolve>, resolve@patch:resolve@^1.1.6#builtin<compat/resolve>, resolve@patch:resolve@^1.1.7#builtin<compat/resolve>, resolve@patch:resolve@^1.10.0#builtin<compat/resolve>, resolve@patch:resolve@^1.13.1#builtin<compat/resolve>, resolve@patch:resolve@^1.14.2#builtin<compat/resolve>, resolve@patch:resolve@^1.17.0#builtin<compat/resolve>, resolve@patch:resolve@^1.18.1#builtin<compat/resolve>, resolve@patch:resolve@^1.19.0#builtin<compat/resolve>, resolve@patch:resolve@^1.3.2#builtin<compat/resolve>, resolve@patch:resolve@^1.4.0#builtin<compat/resolve>, resolve@patch:resolve@^1.9.0#builtin<compat/resolve>":
1284312868
version: 1.20.0
1284412869
resolution: "resolve@patch:resolve@npm%3A1.20.0#builtin<compat/resolve>::version=1.20.0&hash=3388aa"
1284512870
dependencies:
@@ -13165,7 +13190,7 @@ fsevents@^1.2.7:
1316513190
languageName: node
1316613191
linkType: hard
1316713192

13168-
"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0, semver@npm:^5.6.0, semver@npm:^5.7.0":
13193+
"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.4.1, semver@npm:^5.5.0, semver@npm:^5.6.0, semver@npm:^5.7.0":
1316913194
version: 5.7.1
1317013195
resolution: "semver@npm:5.7.1"
1317113196
bin:

0 commit comments

Comments
 (0)