title: Cannot find module 'core-js/...' even though @babel/polyfill is installed
body: <p>We are using <code>padStart</code>. </p>
  
  <p>To support earlier version of Node we are using babel and its <code>@babel/preset-env</code> preset:</p>
  
  <pre><code>[
    "@babel/preset-env",
    {
      targets: {
        node: "6.11.5"
      },
      // Support padStart et cetera
      useBuiltIns: "usage"
    }
  ]
  </code></pre>
  
  <p><a href="https://new.babeljs.io/docs/en/next/babel-preset-env.html#usebuiltins" rel="nofollow noreferrer"><code>useBuiltIns</code></a> automatically brings in the <code>padStart</code> polyfill. </p>
  
  <p>This works when we include <code>core-js</code> in our dependencies. This doesn't work when we include only <code>@babel/polyfill</code> in our dependencies. This is the error message on deploy to Google Firebase Functions: </p>
  
  <blockquote>
    <p>Cannot find module 'core-js/modules/es7.string.pad-start'</p>
  </blockquote>
  
  <p>That message goes away when we explicitly install <code>core-js</code>. </p>
  
  <p><strong>Why do we need to include <code>core-js</code> explicitly when <code>@babel/polyfill</code> includes it?</strong></p>
  
  <p>This is how we installed <code>@babel/polyfill</code> and <code>core-js</code>. </p>
  
  <pre><code>npm install @babel/polyfill --save
  npm install core-js --save
  </code></pre>