vuetifyjs / vue-cli-plugins

🔌 A collection of Vuetify plugins for Vue CLI
https://vuetifyjs.com/en/getting-started/quick-start#vue-cli-3
Other
427 stars 113 forks source link

[Bug Report] vue add vuetify doesn't work if TypeScript is being used #264

Closed kislball closed 3 years ago

kislball commented 3 years ago

Environment

Browsers: Chrome 90.0.4430.85 OS: Linux x86_64 Vue-CLI: 4.5.12

Steps to reproduce

  1. Create a new TypeScript Vue 3 project.
  2. Install vuetify using vue add vuetify command with the V3(alpha) preset.

    Expected Behavior

    Everything will work and vuetify will be installed.

    Actual Behavior

    It throws an Error that it cannot find /project_root/node_modules/vue-cli-plugin-vuetify/generator/templates/v3/src/App.ts.vue file.

    Investigation done

    The thing I noticed, it looks like the CLI is trying to find ts file when ts plugin is enabled. When ts plugin is absent, it will look for JS files as expected. The possible temporary solution might be first installing Vuetify and then enable TS but I am not sure about it. It might be either a Vue CLI error or a vue-cli-plugin issue.

kislball commented 3 years ago

Full output of vue add vuetify:

 WARN  There are uncommitted changes in the current repository, it's recommended to commit or stash them first.
? Still proceed? Yes

📦  Installing vue-cli-plugin-vuetify...

up to date, audited 1552 packages in 5s

91 packages are looking for funding
  run `npm fund` for details

4 moderate severity vulnerabilities

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
✔  Successfully installed plugin: vue-cli-plugin-vuetify

? Choose a preset: V3 (alpha)

🚀  Invoking generator for vue-cli-plugin-vuetify...
 WARN  conflicting versions for project dependency "sass-loader":

- ^8.0.2 injected by generator "undefined"
- ^10.0.0 injected by generator "vue-cli-plugin-vuetify"

Using newer version (^10.0.0), but this may cause build errors.
 ERROR  Error: ENOENT: no such file or directory, stat '/home/kislball/flame/node_modules/vue-cli-plugin-vuetify/generator/templates/v3/src/App.ts.vue'
Error: ENOENT: no such file or directory, stat '/home/kislball/flame/node_modules/vue-cli-plugin-vuetify/generator/templates/v3/src/App.ts.vue'
    at Object.statSync (node:fs:1151:3)
    at isBinaryFileSync (/home/kislball/.nvm/versions/node/v15.7.0/lib/node_modules/@vue/cli/node_modules/isbinaryfile/lib/index.js:50:25)
    at renderFile (/home/kislball/.nvm/versions/node/v15.7.0/lib/node_modules/@vue/cli/lib/GeneratorAPI.js:478:7)
    at /home/kislball/.nvm/versions/node/v15.7.0/lib/node_modules/@vue/cli/lib/GeneratorAPI.js:312:27
    at Generator.resolveFiles (/home/kislball/.nvm/versions/node/v15.7.0/lib/node_modules/@vue/cli/lib/Generator.js:268:13)
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
    at async Generator.generate (/home/kislball/.nvm/versions/node/v15.7.0/lib/node_modules/@vue/cli/lib/Generator.js:175:5)
    at async runGenerator (/home/kislball/.nvm/versions/node/v15.7.0/lib/node_modules/@vue/cli/lib/invoke.js:111:3)
    at async invoke (/home/kislball/.nvm/versions/node/v15.7.0/lib/node_modules/@vue/cli/lib/invoke.js:92:3)
ElijahKotyluk commented 3 years ago

This has been fixed in the latest release, the last version didn't support TypeScript for Vuetify 3 preset.