title: Component not registered properly, can't compile new files
body: <p>I just added a simple component called AddScan to a v-dialog however I get this in console: </p>
  
  <pre><code>[Vue warn]: Unknown custom element: &lt;AddScan&gt; - did you register the component correctly? 
  For recursive components, make sure to provide the "name" option.
  </code></pre>
  
  <p>Also when I edit the file and save it vue-cli is not compiling it but when I edit another component and save the changes it compiles but gives me this error:</p>
  
  <pre><code>warning  in ./src/views/ScanResults.vue?vue&amp;type=script&amp;lang=js&amp;
  
  "export 'AddScan' was not found in '@/components/scan'
  </code></pre>
  
  <p>This is really the first time I have this problem I have no idea what's wrong.</p>
  
  <p>I'm on Vue 2.6.10 and Vuetify 2.1.7.</p>
  
  <p>ScanResults.vue(parent):</p>
  
  <pre><code>&lt;template&gt;
    &lt;v-layout row&gt;
      &lt;v-flex row class="justify-space-between ma-5 "&gt;
        &lt;div&gt;
          &lt;v-dialog v-model="dialog" width="500"&gt;
            &lt;template v-slot:activator="{ on }"&gt;
              &lt;v-btn v-on="on" class="ma-2 lowerCase" color="#E0E0E0"&gt;
                Ajouter un scan
              &lt;/v-btn&gt;
            &lt;/template&gt;
  
            &lt;AddScan :items="items"&gt;&lt;/AddScan&gt;
          &lt;/v-dialog&gt;
        &lt;/div&gt;
      &lt;/v-flex&gt;
      &lt;v-flex v-if="items.length &lt; 2"&gt;
        &lt;ScanGrid :items="items"&gt;&lt;/ScanGrid&gt;
      &lt;/v-flex&gt;
    &lt;/v-layout&gt;
  &lt;/template&gt;
  
  &lt;script&gt;
  import { mapGetters } from "vuex";
  import { ScanGrid } from "@/components/scan";
  import { AddScan } from "@/components/scan";
  export default {
    name: "ScanResults",
    components: {
      ScanGrid,
      AddScan
    },
  ...
  </code></pre>
  
  <p>AddScan.vue(child):</p>
  
  <pre><code>&lt;template&gt;
    &lt;v-card&gt;
      &lt;v-list&gt;
        &lt;v-list-item v-for="(item, i) in items" :key="i"&gt;
          &lt;v-list-item-content&gt;
            &lt;v-list-item-title v-text="item.StorageName"&gt;&lt;/v-list-item-title&gt;
          &lt;/v-list-item-content&gt;
        &lt;/v-list-item&gt;
      &lt;/v-list&gt;
    &lt;/v-card&gt;
  &lt;/template&gt;
  
  &lt;script&gt;
  import { mapGetters } from "vuex";
  export default {
    name: "AddScan",
    computed: {
      ...mapGetters(["getIsDarkMode", "getPhysicalInventoryBatch"])
    },
    async created() {
      try {
        await this.$store.dispatch("loadPhysicalInventoryBatch");
        const items = this.$store.getters.getPhysicalInventoryBatch;
        this.$emit("update", items);
      } catch (e) {
        console.error(e);
      }
    },
  
    data: () =&gt; ({
      items: [],
      dialog: false
    })
  };
  &lt;/script&gt;
  </code></pre>
  
  <p>package.json:</p>
  
  <pre><code>{
    "name": "",
    "version": "0.1.0",
    "private": true,
    "scripts": {
      "serve": "vue-cli-service serve --port 8084",
      "build": "vue-cli-service build",
      "test:unit": "vue-cli-service test:unit",
      "lint": "vue-cli-service lint",
      "lint:fix": "vue-cli-service lint --fix"
    },
    "dependencies": {
      "@fortawesome/fontawesome-svg-core": "^1.2.25",
      "@fortawesome/free-solid-svg-icons": "^5.11.2",
      "@fortawesome/vue-fontawesome": "^0.1.7",
      "axios": "^0.19.0",
      "core-js": "^3.3.5",
      "material-design-icons-iconfont": "^5.0.1",
      "moment": "^2.24.0",
      "qrcode": "^1.4.2",
      "register-service-worker": "^1.6.2",
      "vue": "^2.6.10",
      "vue-moment": "^4.0.0",
      "vue-mugen-scroll": "^0.2.6",
      "vue-promised": "^1.2.1",
      "vue-router": "^3.1.3",
      "vuetify": "^2.1.7",
      "vuetify-dialog": "^0.3.8",
      "vuex": "^3.0.1",
      "vuex-i18n": "^1.13.1",
      "vuex-persistedstate": "^2.6.0"
    },
    "devDependencies": {
      "@fortawesome/fontawesome-free": "^5.11.2",
      "@vue/cli-plugin-babel": "^4.0.5",
      "@vue/cli-plugin-eslint": "^4.0.5",
      "@vue/cli-plugin-pwa": "^4.0.5",
      "@vue/cli-plugin-unit-jest": "^4.0.5",
      "@vue/cli-service": "^4.0.5",
      "@vue/eslint-config-prettier": "^4.0.1",
      "@vue/test-utils": "1.0.0-beta.29",
      "babel-core": "7.0.0-bridge.0",
      "babel-eslint": "^10.0.3",
      "babel-jest": "^23.6.0",
      "compression-webpack-plugin": "^3.0.0",
      "eslint": "^5.16.0",
      "eslint-plugin-vue": "^5.2.3",
      "lerna": "^3.18.3",
      "sass": "^1.23.1",
      "sass-loader": "^7.3.1",
      "vue-template-compiler": "^2.5.21"
    }
  }
  </code></pre>
  
  <p>vue.config.js:</p>
  
  <pre><code>const CompressionPlugin = require("compression-webpack-plugin");
  const path = require("path");
  module.exports = {
    outputDir: path.resolve(__dirname, "../PmpTeamMateDeploy/Pmp.Web.Inventory"),
    configureWebpack: {
      plugins: [new CompressionPlugin()],
      devtool: "source-map"
    },
    css: {
      loaderOptions: {
        sass: {
          data: `
              @import "@/assets/style/style.scss"; 
            `
        }
      }
    },
    pwa: {
      workboxPluginMode: "InjectManifest",
      workboxOptions: {
        swSrc: "src/service-worker.js",
        exclude: [/\.map$/, /manifest\.json$/]
      },
      themeColor: "#78a22e"
    },
    chainWebpack: config =&gt; {
      ["vue-modules", "vue", "normal-modules", "normal"].forEach(match =&gt; {
        config.module
          .rule("scss")
          .oneOf(match)
          .use("sass-loader")
          .tap(opt =&gt;
            Object.assign(opt, { data: `@import '~@/assets/style/style.scss';` })
          );
      });
    }
  };
  </code></pre>
  
  <p><strong>UPDATE:</strong>  In my parent component in components section I added AddScan: () => import("@/components/scan") and that got rid of the compile errors I was getting however I still can't compile when I save the AddScan file. </p>
  
  <p>I also update vue-cli and all plugins and dependencies from 3.12.1 to 4.0.5, core-js from 2.6.10 to 3.3.5, sass-loader from 7.3.1 to 8.0.0 but reverted to 7.3.1 because it threw me 104 errors on compile for some reason, as well as Node from 10.something to 12.13.0.</p>
  
  <p><strong>UPDATE 2:</strong> Basically the problem seems that vue refuses to compile new files. The old ones compile fine for some reason. I tried loading an old version of the branch with older packages versions, just npm install, still won't compile new files.</p>