<h2 dir="auto">Bug Report</h2>
<p dir="auto"><strong>Current Behavior</strong><br>
When node is installed in Version 13 or 14 yarn dev will fail with following error:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="yarn run v1.22.4
$ vue-cli-service serve
 INFO  Starting development server...
98% after emitting SizeLimitsPlugin

 ERROR  Failed to compile with 1 errors                                             4:37:32 PM

 error  in ./src/main.js

Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error: [BABEL] /home/dennis/Documents/****/****/src/main.js: Cannot find module '@babel/compat-data/corejs3-shipped-proposals'
Require stack:
- /home/dennis/Documents/****/****/node_modules/@babel/preset-env/lib/polyfills/corejs3/usage-plugin.js
- /home/dennis/Documents/****/****/node_modules/@babel/preset-env/lib/index.js
- /home/dennis/Documents/****/****/node_modules/@vue/babel-preset-app/index.js
- /home/dennis/Documents/****/****/node_modules/@vue/cli-plugin-babel/preset.js
- /home/dennis/Documents/****/****/node_modules/@babel/core/lib/config/files/plugins.js
- /home/dennis/Documents/****/****/node_modules/@babel/core/lib/config/files/index.js
- /home/dennis/Documents/****/****/node_modules/@babel/core/lib/index.js
- /home/dennis/Documents/****/****/node_modules/@vue/cli-plugin-babel/index.js
- /home/dennis/Documents/****/****/node_modules/@vue/cli-service/lib/Service.js
- /home/dennis/Documents/****/****/node_modules/@vue/cli-service/bin/vue-cli-service.js (While processing: &quot;/home/dennis/Documents/****/****/node_modules/@vue/cli-plugin-babel/preset.js&quot;)
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:952:15)
    at Function.Module._load (internal/modules/cjs/loader.js:835:27)
    at Module.require (internal/modules/cjs/loader.js:1012:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.&lt;anonymous&gt; (/home/dennis//home/dennis/Documents/****/****/node_modules/@babel/preset-env/lib/polyfills/corejs3/usage-plugin.js:10:55)
    at Module._compile (internal/modules/cjs/loader.js:1123:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10)
    at Module.load (internal/modules/cjs/loader.js:972:32)
    at Function.Module._load (internal/modules/cjs/loader.js:872:14)
    at Module.require (internal/modules/cjs/loader.js:1012:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.&lt;anonymous&gt; (/home/dennis/Documents/****/****/node_modules/@babel/preset-env/lib/index.js:29:44)
    at Module._compile (internal/modules/cjs/loader.js:1123:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10)
    at Module.load (internal/modules/cjs/loader.js:972:32)
    at Function.Module._load (internal/modules/cjs/loader.js:872:14)

 @ multi (webpack)-dev-server/client?http://192.168.188.21:8081/sockjs-node (webpack)/hot/dev-server.js ./src/main.js"><pre class="notranslate"><code class="notranslate">yarn run v1.22.4
$ vue-cli-service serve
 INFO  Starting development server...
98% after emitting SizeLimitsPlugin

 ERROR  Failed to compile with 1 errors                                             4:37:32 PM

 error  in ./src/main.js

Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error: [BABEL] /home/dennis/Documents/****/****/src/main.js: Cannot find module '@babel/compat-data/corejs3-shipped-proposals'
Require stack:
- /home/dennis/Documents/****/****/node_modules/@babel/preset-env/lib/polyfills/corejs3/usage-plugin.js
- /home/dennis/Documents/****/****/node_modules/@babel/preset-env/lib/index.js
- /home/dennis/Documents/****/****/node_modules/@vue/babel-preset-app/index.js
- /home/dennis/Documents/****/****/node_modules/@vue/cli-plugin-babel/preset.js
- /home/dennis/Documents/****/****/node_modules/@babel/core/lib/config/files/plugins.js
- /home/dennis/Documents/****/****/node_modules/@babel/core/lib/config/files/index.js
- /home/dennis/Documents/****/****/node_modules/@babel/core/lib/index.js
- /home/dennis/Documents/****/****/node_modules/@vue/cli-plugin-babel/index.js
- /home/dennis/Documents/****/****/node_modules/@vue/cli-service/lib/Service.js
- /home/dennis/Documents/****/****/node_modules/@vue/cli-service/bin/vue-cli-service.js (While processing: "/home/dennis/Documents/****/****/node_modules/@vue/cli-plugin-babel/preset.js")
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:952:15)
    at Function.Module._load (internal/modules/cjs/loader.js:835:27)
    at Module.require (internal/modules/cjs/loader.js:1012:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.&lt;anonymous&gt; (/home/dennis//home/dennis/Documents/****/****/node_modules/@babel/preset-env/lib/polyfills/corejs3/usage-plugin.js:10:55)
    at Module._compile (internal/modules/cjs/loader.js:1123:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10)
    at Module.load (internal/modules/cjs/loader.js:972:32)
    at Function.Module._load (internal/modules/cjs/loader.js:872:14)
    at Module.require (internal/modules/cjs/loader.js:1012:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.&lt;anonymous&gt; (/home/dennis/Documents/****/****/node_modules/@babel/preset-env/lib/index.js:29:44)
    at Module._compile (internal/modules/cjs/loader.js:1123:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10)
    at Module.load (internal/modules/cjs/loader.js:972:32)
    at Function.Module._load (internal/modules/cjs/loader.js:872:14)

 @ multi (webpack)-dev-server/client?http://192.168.188.21:8081/sockjs-node (webpack)/hot/dev-server.js ./src/main.js
</code></pre></div>
<p dir="auto"><strong>Input Code</strong></p>
<ul dir="auto">
<li>Just add it to the dependencies</li>
</ul>
<p dir="auto"><strong>Expected behavior/code</strong><br>
To not fail when building.</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>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="module.exports = {
  // https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
  presets: ['@vue/cli-plugin-babel/preset'],
}"><pre class="notranslate"><span class="pl-smi">module</span><span class="pl-kos">.</span><span class="pl-c1">exports</span> <span class="pl-c1">=</span> <span class="pl-kos">{</span>
  <span class="pl-c">// https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app</span>
  <span class="pl-c1">presets</span>: <span class="pl-kos">[</span><span class="pl-s">'@vue/cli-plugin-babel/preset'</span><span class="pl-kos">]</span><span class="pl-kos">,</span>
<span class="pl-kos">}</span></pre></div>
<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>
<p dir="auto">System:<br>
OS: Linux 5.3 Ubuntu 18.04.4 LTS (Bionic Beaver)<br>
Binaries:<br>
Node: 12.16.2 - /usr/bin/node   &lt;-- Only working with v12. if 14.0.0 or 13.x.x is installed its not working<br>
Yarn: 1.22.4 - /usr/bin/yarn<br>
npm: 6.14.4 - /usr/bin/npm<br>
npmPackages:<br>
babel-core: 7.0.0-bridge.0 =&gt; 7.0.0-bridge.0<br>
babel-eslint: 10.1.x =&gt; 10.1.0<br>
eslint: 6.8.x =&gt; 6.8.0</p>
<h2 dir="auto">Feature Request</h2>
<p dir="auto"><strong>Is your feature request related to a problem? Please describe.</strong><br>
I spoke with <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hzoo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hzoo">@hzoo</a> and one thing we realized is that it's currently very difficult to determine if a site is using Babel or not.</p>
<p dir="auto"><strong>Describe the solution you'd like</strong><br>
I see two solutions:</p>
<ol dir="auto">
<li><strong>Prepend the AST to have a <code class="notranslate">__babelVersion</code> global variable</strong>. This is the most intuitive and simple solution. Simply make this string variable the first thing to output to the AST so that someone can go into the console of their browser and type <code class="notranslate">__babelVersion</code> to get something like <code class="notranslate">7.0.0-beta49</code>. <strong>Drawbacks:</strong> bloating the AST and adding a global variable is not exactly desirable.</li>
<li><strong>Create a plugin for a version string</strong>. This fits into the more traditional model of "everything is a plugin first" approach and sort of gates this as a feature. There is also no global variable so it's still searchable via something like BigQuery without having to pollute the global scope. <strong>Drawbacks:</strong> plugins require opt-in (unless we auto-include this plugin along with <code class="notranslate">babel-core</code>) and it's really only useful for the Babel team. It won't be nearly as transparent to the end user for their own debugging purposes, and isn't nearly as easy for our own purposes to determine if Babel is in use.</li>
</ol>
<p dir="auto"><strong>Describe alternatives you've considered</strong><br>
Currently you can determine Babel through some convoluted mechanisms of searching for particular strings in the outputted code.</p>
<p dir="auto"><strong>Teachability, Documentation, Adoption, Migration Strategy</strong><br>
As mentioned above, for end users, solution 1 is as simple as typing out <code class="notranslate">__babelVersion</code> into the console. For solution 2, it's more about being able to grep in the output for a babel version string so people can see it is in use. Nothing really too complicated here.</p>