- Notifications
You must be signed in to change notification settings - Fork23
Description
Version
3.0.0-alpha.4
Reproduction link
https://github.com/cexbrayat/vtc-repro
Steps to reproduce
This is a simple app created with the CLI, using the vue-next and the TS plugins:
npx @vue/cli create vtc-repro --inlinePreset '{"plugins": {"@vue/cli-plugin-typescript": {"classComponent": false},"vue-cli-plugin-vue-next": {}}}'Thefirst commit sets the version to Vue3.0.0-alpha.3 and,
after fixing the component created, runningyarn build succeeds.
Thesecond commit bumps Vue to3.0.0-alpha.4.
When runningyarn build, the command now throws:
⠹ Building for production... ERROR Failed to compile with 1 errors 14:30:17 error in [internal]INTERNAL ERROR(undefined,undefined) When you use `vue` option, make sure to install `vue-template-compiler`.stack trace:Error: When you use `vue` option, make sure to install `vue-template-compiler`. at Function.resolveScriptBlock (/Users/ced-pro/Code/test/vue-cli-tests/vtc-repro/node_modules/fork-ts-checker-webpack-plugin/lib/VueProgram.js:194:19) at Object.host.getSourceFile (/Users/ced-pro/Code/test/vue-cli-tests/vtc-repro/node_modules/fork-ts-checker-webpack-plugin/lib/VueProgram.js:106:45) at findSourceFile (/Users/ced-pro/Code/test/vue-cli-tests/vtc-repro/node_modules/typescript/lib/typescript.js:90581:29) at processImportedModules (/Users/ced-pro/Code/test/vue-cli-tests/vtc-repro/node_modules/typescript/lib/typescript.js:90869:25) at findSourceFile (/Users/ced-pro/Code/test/vue-cli-tests/vtc-repro/node_modules/typescript/lib/typescript.js:90634:17) at /Users/ced-pro/Code/test/vue-cli-tests/vtc-repro/node_modules/typescript/lib/typescript.js:90480:85 at getSourceFileFromReferenceWorker (/Users/ced-pro/Code/test/vue-cli-tests/vtc-repro/node_modules/typescript/lib/typescript.js:90447:34) at processSourceFile (/Users/ced-pro/Code/test/vue-cli-tests/vtc-repro/node_modules/typescript/lib/typescript.js:90480:13) at processRootFile (/Users/ced-pro/Code/test/vue-cli-tests/vtc-repro/node_modules/typescript/lib/typescript.js:90310:13) at /Users/ced-pro/Code/test/vue-cli-tests/vtc-repro/node_modules/typescript/lib/typescript.js:89326:60After spending some time investigating the issue, I think I've found the root cause.vue-template-compiler starts by checking thatthe Vue version is the correct one.
So when using with Vue3.0.0-alpha.4, we do have this error thrown.
Why is there no error with Vue3.0.0-alpha.3? Becausethis line fails when trying to retrieve Vue version withReferenceError: document is not defined. So the version returned isundefined and the check is OK.
Now that thedocument is not defined error has been fixed inalpha.4, the check retreives the proper version and fails.
Other info
Quoting@yyx990803 invuejs/core#670 (comment):
I think this is an issue that should be fixed in vue-cli-plugin-vue-next by not including vue-template-compiler (which is for 2.x only)