- 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:60
After 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)