diff --git a/packages/babel-preset-env/src/targets-parser.js b/packages/babel-preset-env/src/targets-parser.js index 445e0fbdee..f054d9d746 100644 --- a/packages/babel-preset-env/src/targets-parser.js +++ b/packages/babel-preset-env/src/targets-parser.js @@ -174,7 +174,7 @@ const getTargets = (targets: Object = {}, options: Object = {}): Targets => { // Parse browsers target via browserslist const browsersquery = validateBrowsers(targets.browsers); - if (!options.ignoreBrowserslistConfig) { + if (targets.esmodules || !options.ignoreBrowserslistConfig) { browserslist.defaults = objectToBrowserslist(targets); const browsers = browserslist(browsersquery, { path: options.configPath }); diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/browserslist b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/browserslist new file mode 100644 index 0000000000..d0ae78fe6a --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/browserslist @@ -0,0 +1 @@ +chrome 55 diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/input.mjs b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/input.mjs new file mode 100644 index 0000000000..f9e8d5a956 --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/input.mjs @@ -0,0 +1 @@ +const a = new Map(); diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/options.json new file mode 100644 index 0000000000..7792da9ef4 --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/options.json @@ -0,0 +1,12 @@ +{ + "presets": [ + ["../../../../lib", { + "configPath": "../fixtures/preset-options-add-used-built-ins/browserslist-config-ignore", + "modules": false, + "ignoreBrowserslistConfig": true, + "targets": { "esmodules": true }, + "useBuiltIns": "usage", + "debug": true + }] + ] +} diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/output.mjs b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/output.mjs new file mode 100644 index 0000000000..ecbade1e6b --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/output.mjs @@ -0,0 +1,2 @@ +import "core-js/modules/web.dom.iterable"; +const a = new Map();