<h2 dir="auto">Bug Report</h2>

<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I would like to work on a fix!<br>
i would but laziness you know</li>
</ul>

<p dir="auto"><strong>Current behavior</strong><br>
In the newly released Webpack 5 (released 3 days ago as of writing this), for a lot of files that are required by webpack to work, you get the following error example:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="ERROR in ../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js 4:0-52
Module not found: Error: Can't resolve './nonIterableSpread' in 'D:\projects\unfinished\app\a-guide\node_modules\@babel\runtime\helpers\esm'
Did you mean 'nonIterableSpread.js'?
BREAKING CHANGE: The request './nonIterableSpread' failed to resolve only because it was resolved as fully specified
(probably because the origin is a '*.mjs' file or a '*.js' file where the package.json contains '&quot;type&quot;: &quot;module&quot;').
The extension in the request is mandatory for it to be fully specified.
Add the extension to the request.
 @ ../node_modules/rc-table/es/Table.js 3:0-78 212:24-42 214:34-52
 @ ../node_modules/antd/es/table/Table.js 9:0-51 405:19-33
 @ ../node_modules/antd/es/table/index.js 1:0-28 2:15-20
 @ ../node_modules/antd/es/index.js 56:0-43 56:0-43
 @ dll library"><pre class="notranslate"><code class="notranslate">ERROR in ../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js 4:0-52
Module not found: Error: Can't resolve './nonIterableSpread' in 'D:\projects\unfinished\app\a-guide\node_modules\@babel\runtime\helpers\esm'
Did you mean 'nonIterableSpread.js'?
BREAKING CHANGE: The request './nonIterableSpread' failed to resolve only because it was resolved as fully specified
(probably because the origin is a '*.mjs' file or a '*.js' file where the package.json contains '"type": "module"').
The extension in the request is mandatory for it to be fully specified.
Add the extension to the request.
 @ ../node_modules/rc-table/es/Table.js 3:0-78 212:24-42 214:34-52
 @ ../node_modules/antd/es/table/Table.js 9:0-51 405:19-33
 @ ../node_modules/antd/es/table/index.js 1:0-28 2:15-20
 @ ../node_modules/antd/es/index.js 56:0-43 56:0-43
 @ dll library
</code></pre></div>
<ul dir="auto">
<li><a href="babeljs.io/repl">REPL</a>, <a href="https://codesandbox.io/s/babel-repl-custom-plugin-7s08o?file=/src/index.js" rel="nofollow">Codesandbox</a>, or GitHub Repo helps!</li>
</ul>
<p dir="auto"><strong>Input Code</strong></p>
<p dir="auto">No code is written, this occurs even in the most basic-est of webpack configurations (however mostly occurs in dlls)</p>
<p dir="auto"><strong>Expected behavior</strong><br>
The files should be compiled into webpack successfully</p>
<p dir="auto"><strong>Babel Configuration (babel.config.js, .babelrc, package.json#babel, cli command, .eslintrc)</strong></p>
<ul dir="auto">
<li>Filename: <code class="notranslate">babel.config.js</code></li>
</ul>
<p dir="auto">there is none</p>
<p dir="auto"><strong>Environment</strong></p>

<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=""><pre class="notranslate"><code class="notranslate">
</code></pre></div>
<ul dir="auto">
<li>Babel version(s): [e.g. v6.0.0, v7.0.0-beta.34] webpack's one</li>
<li>Node/npm version: [e.g. Node 8/npm 5] node 12.18.4/6.14.6 &amp; 14.13.0/6.14.8</li>
<li>OS: [e.g. OSX 10.13.4, Windows 10] windows 10</li>
<li>Monorepo: [e.g. yes/no/Lerna] - dont know what that is so presumed not</li>
<li>How you are using Babel: [e.g. <code class="notranslate">cli</code>, <code class="notranslate">register</code>, <code class="notranslate">loader</code>] through webpack</li>
</ul>
<p dir="auto"><strong>Possible Solution</strong></p>

<p dir="auto"><strong>just add file extensions in your imports</strong></p>
<p dir="auto"><strong>Additional context</strong><br>
webpack broke a lot of files lmao</p>
<h2 dir="auto">Bug Report</h2>
<p dir="auto"><strong>Current Behavior</strong><br>
A clear and concise description of the behavior.<br>
When using Babel with <code class="notranslate">useBuiltIns: "usage"</code> and <code class="notranslate">corejs: 3</code> I am getting the error "Const must be initialized error" in IE 11. There is a for loop that uses const and I believe that is the cause here; it is not being transpiled correctly.</p>
<p dir="auto">Note: browserlist</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="&quot;browserslist&quot;: &quot;&gt; 0.25%, not dead, ie &gt;= 11&quot;,"><pre class="notranslate"><code class="notranslate">"browserslist": "&gt; 0.25%, not dead, ie &gt;= 11",
</code></pre></div>
<p dir="auto">When I set debug in .babelrc I get the following:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="@babel/preset-env: `DEBUG` option

Using targets:
{
  &quot;android&quot;: &quot;4.4.3&quot;,
  &quot;chrome&quot;: &quot;49&quot;,
  &quot;edge&quot;: &quot;17&quot;,
  &quot;firefox&quot;: &quot;64&quot;,
  &quot;ie&quot;: &quot;11&quot;,
  &quot;ios&quot;: &quot;8&quot;,
  &quot;opera&quot;: &quot;57&quot;,
  &quot;safari&quot;: &quot;11.1&quot;,
  &quot;samsung&quot;: &quot;4&quot;
}

Using modules transform: auto

Using plugins:
  transform-template-literals { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;safari&quot;:&quot;11.1&quot; }
  transform-literals { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot; }
  transform-function-name { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;edge&quot;:&quot;17&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  transform-arrow-functions { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  transform-block-scoped-functions { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ios&quot;:&quot;8&quot; }
  transform-classes { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  transform-object-super { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  transform-shorthand-properties { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot; }
  transform-duplicate-keys { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot; }
  transform-computed-properties { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ie&quot;:&quot;11&quot; }
  transform-for-of { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  transform-sticky-regex { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  transform-dotall-regex { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;edge&quot;:&quot;17&quot;, &quot;firefox&quot;:&quot;64&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  transform-unicode-regex { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;safari&quot;:&quot;11.1&quot;, &quot;samsung&quot;:&quot;4&quot; }
  transform-spread { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  transform-parameters { &quot;android&quot;:&quot;4.4.3&quot;, &quot;edge&quot;:&quot;17&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  transform-destructuring { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;edge&quot;:&quot;17&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  transform-block-scoping { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  transform-typeof-symbol { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot; }
  transform-new-target { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  transform-regenerator { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  transform-exponentiation-operator { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  transform-async-to-generator { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  proposal-async-generator-functions { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;edge&quot;:&quot;17&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;safari&quot;:&quot;11.1&quot;, &quot;samsung&quot;:&quot;4&quot; }
  proposal-object-rest-spread { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;edge&quot;:&quot;17&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  proposal-unicode-property-regex { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;edge&quot;:&quot;17&quot;, &quot;firefox&quot;:&quot;64&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  proposal-json-strings { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;edge&quot;:&quot;17&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;safari&quot;:&quot;11.1&quot;, &quot;samsung&quot;:&quot;4&quot; }
  proposal-optional-catch-binding { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;edge&quot;:&quot;17&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  transform-named-capturing-groups-regex { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;edge&quot;:&quot;17&quot;, &quot;firefox&quot;:&quot;64&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }

Using polyfills with `usage` option:

[/Users/blakewilson/server/public/vidbg/src/vidbg.js] Added following core-js polyfills:
  es.symbol { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  es.array.concat { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  es.array.filter { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }
  es.array.for-each { &quot;ios&quot;:&quot;8&quot; }
  es.object.define-property { &quot;ios&quot;:&quot;8&quot; }
  es.object.get-own-property-descriptor { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot; }
  es.object.keys { &quot;android&quot;:&quot;4.4.3&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot; }
  web.dom-collections.for-each { &quot;android&quot;:&quot;4.4.3&quot;, &quot;chrome&quot;:&quot;49&quot;, &quot;ie&quot;:&quot;11&quot;, &quot;ios&quot;:&quot;8&quot;, &quot;samsung&quot;:&quot;4&quot; }"><pre class="notranslate"><code class="notranslate">@babel/preset-env: `DEBUG` option

Using targets:
{
  "android": "4.4.3",
  "chrome": "49",
  "edge": "17",
  "firefox": "64",
  "ie": "11",
  "ios": "8",
  "opera": "57",
  "safari": "11.1",
  "samsung": "4"
}

Using modules transform: auto

Using plugins:
  transform-template-literals { "android":"4.4.3", "ie":"11", "ios":"8", "safari":"11.1" }
  transform-literals { "android":"4.4.3", "ie":"11", "ios":"8" }
  transform-function-name { "android":"4.4.3", "chrome":"49", "edge":"17", "ie":"11", "ios":"8", "samsung":"4" }
  transform-arrow-functions { "android":"4.4.3", "ie":"11", "ios":"8", "samsung":"4" }
  transform-block-scoped-functions { "android":"4.4.3", "ios":"8" }
  transform-classes { "android":"4.4.3", "ie":"11", "ios":"8", "samsung":"4" }
  transform-object-super { "android":"4.4.3", "ie":"11", "ios":"8", "samsung":"4" }
  transform-shorthand-properties { "android":"4.4.3", "ie":"11", "ios":"8" }
  transform-duplicate-keys { "android":"4.4.3", "ie":"11", "ios":"8" }
  transform-computed-properties { "android":"4.4.3", "ie":"11" }
  transform-for-of { "android":"4.4.3", "chrome":"49", "ie":"11", "ios":"8", "samsung":"4" }
  transform-sticky-regex { "android":"4.4.3", "ie":"11", "ios":"8", "samsung":"4" }
  transform-dotall-regex { "android":"4.4.3", "chrome":"49", "edge":"17", "firefox":"64", "ie":"11", "ios":"8", "samsung":"4" }
  transform-unicode-regex { "android":"4.4.3", "chrome":"49", "ie":"11", "ios":"8", "safari":"11.1", "samsung":"4" }
  transform-spread { "android":"4.4.3", "ie":"11", "ios":"8", "samsung":"4" }
  transform-parameters { "android":"4.4.3", "edge":"17", "ie":"11", "ios":"8", "samsung":"4" }
  transform-destructuring { "android":"4.4.3", "chrome":"49", "edge":"17", "ie":"11", "ios":"8", "samsung":"4" }
  transform-block-scoping { "android":"4.4.3", "ie":"11", "ios":"8", "samsung":"4" }
  transform-typeof-symbol { "android":"4.4.3", "ie":"11", "ios":"8" }
  transform-new-target { "android":"4.4.3", "ie":"11", "ios":"8", "samsung":"4" }
  transform-regenerator { "android":"4.4.3", "chrome":"49", "ie":"11", "ios":"8", "samsung":"4" }
  transform-exponentiation-operator { "android":"4.4.3", "chrome":"49", "ie":"11", "ios":"8", "samsung":"4" }
  transform-async-to-generator { "android":"4.4.3", "chrome":"49", "ie":"11", "ios":"8", "samsung":"4" }
  proposal-async-generator-functions { "android":"4.4.3", "chrome":"49", "edge":"17", "ie":"11", "ios":"8", "safari":"11.1", "samsung":"4" }
  proposal-object-rest-spread { "android":"4.4.3", "chrome":"49", "edge":"17", "ie":"11", "ios":"8", "samsung":"4" }
  proposal-unicode-property-regex { "android":"4.4.3", "chrome":"49", "edge":"17", "firefox":"64", "ie":"11", "ios":"8", "samsung":"4" }
  proposal-json-strings { "android":"4.4.3", "chrome":"49", "edge":"17", "ie":"11", "ios":"8", "safari":"11.1", "samsung":"4" }
  proposal-optional-catch-binding { "android":"4.4.3", "chrome":"49", "edge":"17", "ie":"11", "ios":"8", "samsung":"4" }
  transform-named-capturing-groups-regex { "android":"4.4.3", "chrome":"49", "edge":"17", "firefox":"64", "ie":"11", "ios":"8", "samsung":"4" }

Using polyfills with `usage` option:

[/Users/blakewilson/server/public/vidbg/src/vidbg.js] Added following core-js polyfills:
  es.symbol { "android":"4.4.3", "ie":"11", "ios":"8", "samsung":"4" }
  es.array.concat { "android":"4.4.3", "chrome":"49", "ie":"11", "ios":"8", "samsung":"4" }
  es.array.filter { "android":"4.4.3", "chrome":"49", "ie":"11", "ios":"8", "samsung":"4" }
  es.array.for-each { "ios":"8" }
  es.object.define-property { "ios":"8" }
  es.object.get-own-property-descriptor { "android":"4.4.3", "ie":"11", "ios":"8" }
  es.object.keys { "android":"4.4.3", "ie":"11", "ios":"8" }
  web.dom-collections.for-each { "android":"4.4.3", "chrome":"49", "ie":"11", "ios":"8", "samsung":"4" }
</code></pre></div>
<p dir="auto">I noticed that every plugin has a browser target of IE 11 set except for <code class="notranslate">transform-block-scoped-functions</code>. You can see the browser targets are only <code class="notranslate">{ "android":"4.4.3", "ios":"8" }</code></p>
<p dir="auto"><strong>Input Code</strong></p>
<ul dir="auto">
<li>REPL or Repo link if applicable:<br>
You can view the repo here:<br>
<a href="https://github.com/blakewilson/vidbg/tree/v2">https://github.com/blakewilson/vidbg/tree/v2</a></li>
</ul>
<p dir="auto"><strong>Expected behavior/code</strong><br>
A clear and concise description of what you expected to happen (or code).<br>
The expected behavior is that Babel would correctly transpile block scoping for IE 11.</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="{
    &quot;presets&quot;: [
        [
            &quot;@babel/preset-env&quot;,
            {
                &quot;debug&quot;: true,
                &quot;useBuiltIns&quot;: &quot;usage&quot;,
                &quot;corejs&quot;: 3,
            }
        ]
    ],
    &quot;plugins&quot;: [&quot;@babel/plugin-proposal-class-properties&quot;]
}"><pre class="notranslate"><span class="pl-kos">{</span>
    <span class="pl-s">"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">"debug"</span>: <span class="pl-c1">true</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-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-s">"plugins"</span>: <span class="pl-kos">[</span><span class="pl-s">"@babel/plugin-proposal-class-properties"</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 7.4.0</li>
<li>node 11.9.0 npm 6.5.0</li>
<li>MacOS Mojave 10.14.3</li>
<li>Babel Loader / Webpack</li>
</ul>
<p dir="auto"><strong>Possible Solution</strong></p>
<p dir="auto"><strong>Additional context/Screenshots</strong><br>
Add any other context about the problem here. If applicable, add screenshots to help explain.<br>
Viewing the repo linked above should give a good idea of what is going on.</p>
<p dir="auto">Any context would be very appreciated! I have been stuck on this for quite a while.</p>