Skip to content

Commit

Permalink
Load .browserslistrc when using old @babel/core versions
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolo-ribaudo committed Feb 28, 2021
1 parent 265424d commit bed912f
Show file tree
Hide file tree
Showing 5 changed files with 65 additions and 12 deletions.
1 change: 1 addition & 0 deletions packages/babel-preset-env/package.json
Expand Up @@ -90,6 +90,7 @@
},
"devDependencies": {
"@babel/core": "workspace:*",
"@babel/core-7.12": "npm:@babel/core@7.12.9",
"@babel/helper-plugin-test-runner": "workspace:*",
"@babel/plugin-syntax-dynamic-import": "^7.8.3"
}
Expand Down
6 changes: 5 additions & 1 deletion packages/babel-preset-env/src/index.js
@@ -1,6 +1,6 @@
//@flow

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

if (
// @babel/core < 7.13.0 doesn't load targets (api.targets() always
// returns {} thanks to @babel/helper-plugin-utils), so we always want
// to fallback to the old targets behavior in this case.
lt(api.version, "7.13.0") ||
// If any browserslist-related option is specified, fallback to the old
// behavior of not using the targets specified in the top-level options.
opts.targets ||
Expand Down
22 changes: 22 additions & 0 deletions packages/babel-preset-env/test/regressions.js
@@ -0,0 +1,22 @@
import * as babel7_12 from "@babel/core";
import env from "..";
import path from "path";

describe("#12880", () => {
it("read the .browserslistrc file when using @babel/core < 7.13.0", () => {
// The browserslistrc file contains "firefox 50".
// a ** b is supported starting from firefox 52;
// a => b is supported starting from firefox 45.
const out = babel7_12.transformSync("a ** b; a => b;", {
configFile: false,
presets: [[env, { modules: false }]],
filename: path.join(__dirname, "regressions", "input.js"),
});

expect(out.code).toMatchInlineSnapshot(`
"Math.pow(a, b);
a => b;"
`);
});
});
1 change: 1 addition & 0 deletions packages/babel-preset-env/test/regressions/.browserslistrc
@@ -0,0 +1 @@
firefox 50
47 changes: 36 additions & 11 deletions yarn.lock
Expand Up @@ -150,6 +150,30 @@ __metadata:
languageName: unknown
linkType: soft

"@babel/core-7.12@npm:@babel/core@7.12.9":
version: 7.12.9
resolution: "@babel/core@npm:7.12.9"
dependencies:
"@babel/code-frame": ^7.10.4
"@babel/generator": ^7.12.5
"@babel/helper-module-transforms": ^7.12.1
"@babel/helpers": ^7.12.5
"@babel/parser": ^7.12.7
"@babel/template": ^7.12.7
"@babel/traverse": ^7.12.9
"@babel/types": ^7.12.7
convert-source-map: ^1.7.0
debug: ^4.1.0
gensync: ^1.0.0-beta.1
json5: ^2.1.2
lodash: ^4.17.19
resolve: ^1.3.2
semver: ^5.4.1
source-map: ^0.5.0
checksum: beefb9f490cfff7cafc02e5a11148297a71260ee18f5fdf6e14bf5694bc28431eec3813a91d0f0fc8c6122c5133d90d3261dadf45cb914d7d340a5b3077fd9bd
languageName: node
linkType: hard

"@babel/core@npm:7.13.1, @babel/core@npm:^7.1.0, @babel/core@npm:^7.13.1, @babel/core@npm:^7.7.5":
version: 7.13.1
resolution: "@babel/core@npm:7.13.1"
Expand Down Expand Up @@ -285,7 +309,7 @@ __metadata:
languageName: unknown
linkType: soft

"@babel/generator@npm:^7.13.0":
"@babel/generator@npm:^7.12.5, @babel/generator@npm:^7.13.0":
version: 7.13.0
resolution: "@babel/generator@npm:7.13.0"
dependencies:
Expand Down Expand Up @@ -617,7 +641,7 @@ __metadata:
languageName: unknown
linkType: soft

"@babel/helper-module-transforms@npm:^7.12.13, @babel/helper-module-transforms@npm:^7.13.0":
"@babel/helper-module-transforms@npm:^7.12.1, @babel/helper-module-transforms@npm:^7.12.13, @babel/helper-module-transforms@npm:^7.13.0":
version: 7.13.0
resolution: "@babel/helper-module-transforms@npm:7.13.0"
dependencies:
Expand Down Expand Up @@ -855,7 +879,7 @@ __metadata:
languageName: unknown
linkType: soft

"@babel/helpers@npm:^7.13.0":
"@babel/helpers@npm:^7.12.5, @babel/helpers@npm:^7.13.0":
version: 7.13.0
resolution: "@babel/helpers@npm:7.13.0"
dependencies:
Expand Down Expand Up @@ -924,7 +948,7 @@ __metadata:
languageName: unknown
linkType: soft

"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.12.13, @babel/parser@npm:^7.13.0":
"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.12.13, @babel/parser@npm:^7.12.7, @babel/parser@npm:^7.13.0":
version: 7.13.4
resolution: "@babel/parser@npm:7.13.4"
bin:
Expand Down Expand Up @@ -3037,6 +3061,7 @@ __metadata:
dependencies:
"@babel/compat-data": "workspace:^7.13.8"
"@babel/core": "workspace:*"
"@babel/core-7.12": "npm:@babel/core@7.12.9"
"@babel/helper-compilation-targets": "workspace:^7.13.8"
"@babel/helper-plugin-test-runner": "workspace:*"
"@babel/helper-plugin-utils": "workspace:^7.13.0"
Expand Down Expand Up @@ -3367,7 +3392,7 @@ __metadata:
languageName: unknown
linkType: soft

"@babel/template@npm:^7.12.13, @babel/template@npm:^7.3.3":
"@babel/template@npm:^7.12.13, @babel/template@npm:^7.12.7, @babel/template@npm:^7.3.3":
version: 7.12.13
resolution: "@babel/template@npm:7.12.13"
dependencies:
Expand Down Expand Up @@ -3398,7 +3423,7 @@ __metadata:
languageName: unknown
linkType: soft

"@babel/traverse@npm:^7.0.0, @babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.13.0":
"@babel/traverse@npm:^7.0.0, @babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.12.9, @babel/traverse@npm:^7.13.0":
version: 7.13.0
resolution: "@babel/traverse@npm:7.13.0"
dependencies:
Expand Down Expand Up @@ -3432,7 +3457,7 @@ __metadata:
languageName: unknown
linkType: soft

"@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":
"@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":
version: 7.13.0
resolution: "@babel/types@npm:7.13.0"
dependencies:
Expand Down Expand Up @@ -8370,7 +8395,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard

"gensync@npm:^1.0.0-beta.2":
"gensync@npm:^1.0.0-beta.1, gensync@npm:^1.0.0-beta.2":
version: 1.0.0-beta.2
resolution: "gensync@npm:1.0.0-beta.2"
checksum: d523437689c97b3aba9c5cdeca4677d5fff9a29d620db693fea40d852bad63563110f16979d0170248439dbcd2ecee0780fb2533d3f0519f019081aa10767c60
Expand Down Expand Up @@ -12820,7 +12845,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard

"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":
"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":
version: 1.20.0
resolution: "resolve@npm:1.20.0"
dependencies:
Expand All @@ -12830,7 +12855,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard

"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>":
"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>":
version: 1.20.0
resolution: "resolve@patch:resolve@npm%3A1.20.0#builtin<compat/resolve>::version=1.20.0&hash=3388aa"
dependencies:
Expand Down Expand Up @@ -13156,7 +13181,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard

"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0, semver@npm:^5.6.0, semver@npm:^5.7.0":
"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":
version: 5.7.1
resolution: "semver@npm:5.7.1"
bin:
Expand Down

0 comments on commit bed912f

Please sign in to comment.