diff --git a/packages/babel-helper-compilation-targets/src/index.js b/packages/babel-helper-compilation-targets/src/index.js index 9459e7f916b0..93cc4950f69a 100644 --- a/packages/babel-helper-compilation-targets/src/index.js +++ b/packages/babel-helper-compilation-targets/src/index.js @@ -179,6 +179,7 @@ export default function getTargets( options: GetTargetsOption = {}, ): Targets { let { browsers, esmodules } = inputTargets; + const { configPath = "." } = options; validateBrowsers(browsers); @@ -193,7 +194,7 @@ export default function getTargets( if (!browsers && shouldSearchForConfig) { browsers = browserslist.loadConfig({ config: options.configFile, - path: options.configPath, + path: configPath, env: options.browserslistEnv, }); if (browsers == null) { diff --git a/packages/babel-helper-compilation-targets/test/load-browserslist-package-json/load-browserslist-package-json.spec.js b/packages/babel-helper-compilation-targets/test/load-browserslist-package-json/load-browserslist-package-json.spec.js new file mode 100644 index 000000000000..03a29947de70 --- /dev/null +++ b/packages/babel-helper-compilation-targets/test/load-browserslist-package-json/load-browserslist-package-json.spec.js @@ -0,0 +1,19 @@ +import getTargets from "../.."; +import { fileURLToPath } from "url"; +import path from "path"; + +const oldCwd = process.cwd(); + +beforeAll(() => { + process.chdir(path.dirname(fileURLToPath(import.meta.url))); +}); + +afterAll(() => { + process.chdir(oldCwd); +}); + +it("loads packageJson.browserslist", () => { + const actual = getTargets({}, {}); + + expect(actual).toEqual({ chrome: "4.0.0" }); +}); diff --git a/packages/babel-helper-compilation-targets/test/load-browserslist-package-json/package.json b/packages/babel-helper-compilation-targets/test/load-browserslist-package-json/package.json new file mode 100644 index 000000000000..6cb011cbaae3 --- /dev/null +++ b/packages/babel-helper-compilation-targets/test/load-browserslist-package-json/package.json @@ -0,0 +1,3 @@ +{ + "browserslist": "chrome 4" +} diff --git a/packages/babel-helper-compilation-targets/test/load-browserslistrc/.browserslistrc b/packages/babel-helper-compilation-targets/test/load-browserslistrc/.browserslistrc new file mode 100644 index 000000000000..4a6060320f76 --- /dev/null +++ b/packages/babel-helper-compilation-targets/test/load-browserslistrc/.browserslistrc @@ -0,0 +1,4 @@ +chrome 4 + +[development] +chrome 88 diff --git a/packages/babel-helper-compilation-targets/test/load-browserslistrc/load-browserslistrc.spec.js b/packages/babel-helper-compilation-targets/test/load-browserslistrc/load-browserslistrc.spec.js new file mode 100644 index 000000000000..d0803e30ab23 --- /dev/null +++ b/packages/babel-helper-compilation-targets/test/load-browserslistrc/load-browserslistrc.spec.js @@ -0,0 +1,30 @@ +import getTargets from "../.."; +import { fileURLToPath } from "url"; +import path from "path"; + +const oldCwd = process.cwd(); + +beforeAll(() => { + process.chdir(path.dirname(fileURLToPath(import.meta.url))); +}); + +afterAll(() => { + process.chdir(oldCwd); +}); + +it("loads browserslistrc", () => { + const actual = getTargets({}, {}); + + expect(actual).toEqual({ chrome: "4.0.0" }); +}); + +it("loads browserslistrc and respects browserslistEnv", () => { + const actual = getTargets( + {}, + { + browserslistEnv: "development", + }, + ); + + expect(actual).toEqual({ chrome: "88.0.0" }); +});