diff --git a/experimental/babel-preset-env/src/index.js b/experimental/babel-preset-env/src/index.js index 5400dad9ff..b1c8842094 100644 --- a/experimental/babel-preset-env/src/index.js +++ b/experimental/babel-preset-env/src/index.js @@ -243,7 +243,10 @@ export default function buildPreset(context, opts = {}) { ); if (useBuiltIns === true) { - plugins.push([addUsedBuiltInsPlugin, { polyfills, regenerator, debug }]); + plugins.push([ + addUsedBuiltInsPlugin, + { polyfills: new Set(polyfills), regenerator, debug }, + ]); } else if (useBuiltIns === "entry") { plugins.push([useBuiltInsEntryPlugin, { polyfills, regenerator }]); } diff --git a/experimental/babel-preset-env/src/use-built-ins-plugin.js b/experimental/babel-preset-env/src/use-built-ins-plugin.js index 6861264fc4..c4f7a3b7fa 100644 --- a/experimental/babel-preset-env/src/use-built-ins-plugin.js +++ b/experimental/babel-preset-env/src/use-built-ins-plugin.js @@ -38,12 +38,12 @@ export default function({ types: t }) { function addUnsupported(path, polyfills, builtIn, builtIns) { if (Array.isArray(builtIn)) { for (const i of builtIn) { - if (polyfills.indexOf(i) !== -1) { + if (polyfills.has(i)) { addImport(path, `core-js/modules/${i}`, builtIns); } } } else { - if (polyfills.indexOf(builtIn) !== -1) { + if (polyfills.has(builtIn)) { addImport(path, `core-js/modules/${builtIn}`, builtIns); } }