<h2 dir="auto">Bug Report</h2>
<p dir="auto"><strong>Current Behavior</strong><br>
Using webpack + preset-env with useBuiltIns: usage + corejs3 does not work on IE11 without additional configuration of webpack entries.</p>
<p dir="auto">The generated code currently fails with "Unhandled promise rejection TypeError: Target is not iterable" raised from core-js/internal/iterate.js.</p>
<p dir="auto">To make it work I have to manually add 'core-js/modules/es.array.iterator' to my webpack entry:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="entry: [
        'core-js/modules/es.array.iterator',        
        path.join(__dirname, 'src', 'index.js')
    ],"><pre class="notranslate"><code class="notranslate">entry: [
        'core-js/modules/es.array.iterator',        
        path.join(__dirname, 'src', 'index.js')
    ],
</code></pre></div>
<p dir="auto"><strong>Input Code</strong><br>
A repro project can be found here:<br>
<a href="https://github.com/sarod/bugs-repro/tree/master/babel-bugs/dynamic-import-ie11">https://github.com/sarod/bugs-repro/tree/master/babel-bugs/dynamic-import-ie11</a></p>
<p dir="auto">Run <code class="notranslate">yarn install &amp;&amp; yarn serve </code> and  access localhost:8080 using ie11.</p>
<p dir="auto"><strong>Expected behavior/code</strong><br>
According to <a href="https://github.com/babel/babel/issues/7402#issuecomment-484382486" data-hovercard-type="issue" data-hovercard-url="/babel/babel/issues/7402/hovercard">@zloirock</a> with core-js3 + useBuiltins:usage this should work without additional configuration.</p>
<p dir="auto"><strong>Babel Configuration (.babelrc, package.json, cli command)</strong></p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="{
        presets: [
            [
                '@babel/preset-env',
                {
                    &quot;modules&quot;: false,
                    &quot;useBuiltIns&quot;: &quot;usage&quot;,
                    &quot;corejs&quot;: {
                        version: 3
                    }
                }
            ]
        ],
        plugins: ['@babel/plugin-syntax-dynamic-import']
    }"><pre class="notranslate"><span class="pl-kos">{</span>
        <span class="pl-c1">presets</span>: <span class="pl-kos">[</span>
            <span class="pl-kos">[</span>
                <span class="pl-s">'@babel/preset-env'</span><span class="pl-kos">,</span>
                <span class="pl-kos">{</span>
                    <span class="pl-s">"modules"</span>: <span class="pl-c1">false</span><span class="pl-kos">,</span>
                    <span class="pl-s">"useBuiltIns"</span>: <span class="pl-s">"usage"</span><span class="pl-kos">,</span>
                    <span class="pl-s">"corejs"</span>: <span class="pl-kos">{</span>
                        <span class="pl-c1">version</span>: <span class="pl-c1">3</span>
                    <span class="pl-kos">}</span>
                <span class="pl-kos">}</span>
            <span class="pl-kos">]</span>
        <span class="pl-kos">]</span><span class="pl-kos">,</span>
        <span class="pl-c1">plugins</span>: <span class="pl-kos">[</span><span class="pl-s">'@babel/plugin-syntax-dynamic-import'</span><span class="pl-kos">]</span>
    <span class="pl-kos">}</span></pre></div>
<p dir="auto"><strong>Environment</strong></p>
<ul dir="auto">
<li>Babel version(s): [e.g. v7.4.3]</li>
<li>Node/yarn version: [e.g. Node 8.12.0/yarn 1.15.2]</li>
<li>OS: [e.g. Ubuntu 18.04]</li>
<li>Monorepo: [e.g. no]</li>
<li>How you are using Babel: <code class="notranslate">loader</code></li>
</ul>
<p dir="auto"><strong>Possible Solution</strong><br>
It looks like webpack is using Promise.all which requires Promise to be iterable.</p>
<p dir="auto">So preset-env should probably import "core-js/modules/es.array.iterator"<br>
in addition to  "core-js/modules/es.object.to-string" and "core-js/modules/es.promise" when finding a dynamic import statement.</p>
<h2 dir="auto">Bug Report</h2>
<p dir="auto"><strong>Current Behavior</strong><br>
Dynamic imports are not working in IE10. The following error is shown in the console: "Unhandled promise rejectionTypeError: Target is not iterable". @babel/preset-env is used with core-js@3. <code class="notranslate">.browserslistrc</code> contains <code class="notranslate">ie &lt;= 10</code>.</p>
<p dir="auto"><strong>Input Code</strong><br>
<a href="https://github.com/jorenvanhee/dynamic-imports-with-preset-env-test">https://github.com/jorenvanhee/dynamic-imports-with-preset-env-test</a></p>
<p dir="auto">Run <code class="notranslate">npm i &amp;&amp; npm run build</code> and visit <code class="notranslate">/index.html</code> in IE10.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import('./answer').then((module) =&gt; {
  console.log(module.default);
});"><pre class="notranslate"><code class="notranslate">import('./answer').then((module) =&gt; {
  console.log(module.default);
});
</code></pre></div>
<p dir="auto"><strong>Expected behavior/code</strong><br>
<code class="notranslate">42</code> should be logged in the console.</p>
<p dir="auto"><strong>Babel Configuration (.babelrc, package.json, cli command)</strong></p>
<p dir="auto"><a href="https://github.com/jorenvanhee/dynamic-imports-with-preset-env-test">https://github.com/jorenvanhee/dynamic-imports-with-preset-env-test</a></p>
<p dir="auto"><strong>Environment</strong></p>
<ul dir="auto">
<li>Babel version(s): 7.4.3</li>
<li>Node/npm version: Node 10.15.1/npm 6.5</li>
<li>How you are using Babel: loader</li>
</ul>
<p dir="auto"><strong>Additional context/Screenshots</strong></p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/231202/56349093-24c8be80-61c8-11e9-9559-598d452cdcc7.png"><img src="https://user-images.githubusercontent.com/231202/56349093-24c8be80-61c8-11e9-9559-598d452cdcc7.png" alt="Screenshot 2019-04-16 at 17 08 48" style="max-width: 100%;"></a></p>