-
-
Notifications
You must be signed in to change notification settings - Fork 8.6k
type check error after upgrade to v3.4.0-rc.1 #9923
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
The regression can be reproduced in the SFC playground and is between beta.1 and beta.2. Looks like an issue related to Volar and the removal of global JSX registration. You can get the old behavior by adding |
johnsoncodehk
added a commit
to vuejs/language-tools
that referenced
this issue
Dec 26, 2023
Confirmed this is a Volar issue and fixed by vuejs/language-tools@68c556c (pending release) |
johnsoncodehk
added a commit
to vuejs/language-tools
that referenced
this issue
Dec 26, 2023
renovate bot
referenced
this issue
in slipmatio/toolbelt
Jan 1, 2024
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.10.5` -> `20.10.6`](https://renovatebot.com/diffs/npm/@types%2fnode/20.10.5/20.10.6) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@vitejs/plugin-vue](https://togithub.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme) ([source](https://togithub.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue)) | [`4.5.2` -> `5.0.2`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-vue/4.5.2/5.0.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [vue](https://togithub.com/vuejs/core/tree/main/packages/vue#readme) ([source](https://togithub.com/vuejs/core)) | [`3.3.13` -> `3.4.3`](https://renovatebot.com/diffs/npm/vue/3.3.13/3.4.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [vue-tsc](https://togithub.com/vuejs/language-tools) ([source](https://togithub.com/vuejs/language-tools/tree/HEAD/packages/tsc)) | [`1.8.26` -> `1.8.27`](https://renovatebot.com/diffs/npm/vue-tsc/1.8.26/1.8.27) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vitejs/vite-plugin-vue (@​vitejs/plugin-vue)</summary> ### [`v5.0.2`](https://togithub.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#small502-2023-12-30-small) - fix: ensure consistent user template options when reusing AST ([bc0ad64](https://togithub.com/vitejs/vite-plugin-vue/commit/bc0ad64)), closes [#​322](https://togithub.com/vitejs/vite-plugin-vue/issues/322) - fix: only enable ast reuse for vue 3.4.3+ ([4a53b6f](https://togithub.com/vitejs/vite-plugin-vue/commit/4a53b6f)) - chore: bump vue to 3.4.2 ([97002e1](https://togithub.com/vitejs/vite-plugin-vue/commit/97002e1)) ### [`v5.0.1`](https://togithub.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#small501-2023-12-29-small) - fix: Revert "feat: support template AST reuse from Vue 3.4 parser" ([5d68fbd](https://togithub.com/vitejs/vite-plugin-vue/commit/5d68fbd)), closes [#​322](https://togithub.com/vitejs/vite-plugin-vue/issues/322) [/github.com/vuejs/core/blob/a41c5f1f4367a9f41bcdb8c4e02f54b2378e577d/packages/compiler-sfc/src/parse.ts#L133-L139](https://togithub.com//github.com/vuejs/core/blob/a41c5f1f4367a9f41bcdb8c4e02f54b2378e577d/packages/compiler-sfc/src/parse.ts/issues/L133-L139) [/github.com/vitejs/vite-plugin-vue/blob/f75de2e5284af6036efa45d5c9ec37757485e3a0/packages/plugin-vue/src/template.ts#L186-L190](https://togithub.com//github.com/vitejs/vite-plugin-vue/blob/f75de2e5284af6036efa45d5c9ec37757485e3a0/packages/plugin-vue/src/template.ts/issues/L186-L190) - chore: aggregated changelog for 5.0 \[ci skip] ([2b33c32](https://togithub.com/vitejs/vite-plugin-vue/commit/2b33c32)) ### [`v5.0.0`](https://togithub.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#500-2023-12-25) - **Breaking:** drop `reactivityTransform` support - **Breaking:** drop Node 14/16 support - **Breaking:** drop Vite 4.x support - Vue 3.4 template AST reuse support - Vue 3.4 compile-time flag `__VUE_PROD_HYDRATION_MISMATCH_DETAILS__` support - Added `customElement` option - Deprecated `defineModel` option </details> <details> <summary>vuejs/core (vue)</summary> ### [`v3.4.3`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#343-2023-12-30) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.2...v3.4.3) ##### Bug Fixes - **compiler-sfc:** respect sfc parse options in cache key ([b8d58ec](https://togithub.com/vuejs/core/commit/b8d58ec4f42cbeb9443bf06138add46158db9af0)) ### [`v3.4.2`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#342-2023-12-30) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.1...v3.4.2) ##### Bug Fixes - **compiler-sfc:** fix dev regression for dot / namespace component usage ([dce99c1](https://togithub.com/vuejs/core/commit/dce99c12df981ca45a4d848c37ba8b16496025f0)), closes [#​9947](https://togithub.com/vuejs/core/issues/9947) - **runtime-core:** support deep: false when watch reactive ([#​9928](https://togithub.com/vuejs/core/issues/9928)) ([4f703d1](https://togithub.com/vuejs/core/commit/4f703d120d76d711084346f73ea295c73e6ef6b6)), closes [#​9916](https://togithub.com/vuejs/core/issues/9916) - **ssr:** fix hydration error for slot outlet inside transition-group ([#​9937](https://togithub.com/vuejs/core/issues/9937)) ([6cb00ed](https://togithub.com/vuejs/core/commit/6cb00ed0f9b64428ec18fada0f68467d6a813fde)), closes [#​9933](https://togithub.com/vuejs/core/issues/9933) ### [`v3.4.1`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#341-2023-12-30) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.0...v3.4.1) ##### Bug Fixes - **compat:** correct enum value for COMPILER_FILTERS feature ([#​9875](https://togithub.com/vuejs/core/issues/9875)) ([77d33e2](https://togithub.com/vuejs/core/commit/77d33e263cf19983caf4e5c53a0eb0bee374843c)) - **defineModel:** always default modifiers to empty object ([9bc3c7e](https://togithub.com/vuejs/core/commit/9bc3c7e29cf15f5ca96703542d10cfd786a3fc55)), closes [#​9945](https://togithub.com/vuejs/core/issues/9945) - **defineModel:** support local mutation when only prop but no listener is passed ([97ce041](https://togithub.com/vuejs/core/commit/97ce041910b6ca4bef10f939493d6b5a06ea5b07)) - **types:** fix defineModel watch type error ([#​9942](https://togithub.com/vuejs/core/issues/9942)) ([4af8583](https://togithub.com/vuejs/core/commit/4af85835f7e593a7dffa7dc7e99f14877eb70fd1)), closes [#​9939](https://togithub.com/vuejs/core/issues/9939) ##### Features - **compiler-sfc:** support passing template parsing options when parsing sfc ([6fab855](https://togithub.com/vuejs/core/commit/6fab8551e4aeef4610987640de8b435b1ae321bb)) (necessary to fix [https://github.com/vitejs/vite-plugin-vue/issues/322](https://togithub.com/vitejs/vite-plugin-vue/issues/322)) ### [`v3.4.0`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#340-Slam-Dunk-2023-12-29) [Compare Source](https://togithub.com/vuejs/core/compare/v3.3.13...v3.4.0) > Read [this blog post](https://blog.vuejs.org/posts/vue-3-4) for an overview of the release highlights. ##### Potential Actions Needed 1. To fully leverage new features in 3.4, it is recommended to also update the following dependencies when upgrading to 3.4: - Volar / vue-tsc@^1.8.27 (**required**) - [@​vitejs/plugin-vue](https://togithub.com/vitejs/plugin-vue)@​^5.0.0 (if using Vite) - nuxt@^3.9.0 (if using Nuxt) - vue-loader@^17.4.0 (if using webpack or vue-cli) 2. If using TSX with Vue, check actions needed in [Removed: Global JSX Namespace](https://blog.vuejs.org/posts/vue-3-4#global-jsx-namespace). 3. Make sure you are no longer using any deprecated features (if you are, you should have warnings in the console telling you so). They may have been [removed in 3.4](https://blog.vuejs.org/posts/vue-3-4#other-removed-features). ##### Features - **general:** MathML support ([#​7836](https://togithub.com/vuejs/core/issues/7836)) ([d42b6ba](https://togithub.com/vuejs/core/commit/d42b6ba3f530746eb1221eb7a4be0f44eb56f7d3)), closes [#​7820](https://togithub.com/vuejs/core/issues/7820) - **reactivity:** more efficient reactivity system ([#​5912](https://togithub.com/vuejs/core/issues/5912)) ([16e06ca](https://togithub.com/vuejs/core/commit/16e06ca08f5a1e2af3fc7fb35de153dbe0c3087d)), closes [#​311](https://togithub.com/vuejs/core/issues/311) [#​1811](https://togithub.com/vuejs/core/issues/1811) [#​6018](https://togithub.com/vuejs/core/issues/6018) [#​7160](https://togithub.com/vuejs/core/issues/7160) [#​8714](https://togithub.com/vuejs/core/issues/8714) [#​9149](https://togithub.com/vuejs/core/issues/9149) [#​9419](https://togithub.com/vuejs/core/issues/9419) [#​9464](https://togithub.com/vuejs/core/issues/9464) - **reactivity:** expose last result for computed getter ([#​9497](https://togithub.com/vuejs/core/issues/9497)) ([48b47a1](https://togithub.com/vuejs/core/commit/48b47a1ab63577e2dbd91947eea544e3ef185b85)) - **runtime-core / dx:** link errors to docs in prod build ([#​9165](https://togithub.com/vuejs/core/issues/9165)) ([9f8ba98](https://togithub.com/vuejs/core/commit/9f8ba9821fe166f77e63fa940e9e7e13ec3344fa)) - **runtime-core:** add `once` option to watch ([#​9034](https://togithub.com/vuejs/core/issues/9034)) ([a645e7a](https://togithub.com/vuejs/core/commit/a645e7aa51006516ba668b3a4365d296eb92ee7d)) - **runtime-core:** provide full props to props validator functions ([#​3258](https://togithub.com/vuejs/core/issues/3258)) ([8e27692](https://togithub.com/vuejs/core/commit/8e27692029a4645cd54287f776c0420f2b82740b)) - **compiler-core:** export error message ([#​8729](https://togithub.com/vuejs/core/issues/8729)) ([f7e80ee](https://togithub.com/vuejs/core/commit/f7e80ee4a065a9eaba98720abf415d9e87756cbd)) - **compiler-core:** support specifying root namespace when parsing ([40f72d5](https://togithub.com/vuejs/core/commit/40f72d5e50b389cb11b7ca13461aa2a75ddacdb4)) - **compiler-core:** support v-bind shorthand for key and value with the same name ([#​9451](https://togithub.com/vuejs/core/issues/9451)) ([26399aa](https://togithub.com/vuejs/core/commit/26399aa6fac1596b294ffeba06bb498d86f5508c)) - **compiler-core:** improve parsing tolerance for language-tools ([41ff68e](https://togithub.com/vuejs/core/commit/41ff68ea579d933333392146625560359acb728a)) - **compiler-core:** support accessing Error as global in template expressions ([#​7018](https://togithub.com/vuejs/core/issues/7018)) ([bcca475](https://togithub.com/vuejs/core/commit/bcca475dbc58d76434cd8120b94929758cee2825)) - **compiler-core:** lift vnode hooks deprecation warning to error ([8abc754](https://togithub.com/vuejs/core/commit/8abc754d5d86d9dfd5a7927b846f1a743f352364)) - **compiler-core:** export runtime error strings ([#​9301](https://togithub.com/vuejs/core/issues/9301)) ([feb2f2e](https://togithub.com/vuejs/core/commit/feb2f2edce2d91218a5e9a52c81e322e4033296b)) - **compiler-core:** add current filename to TransformContext ([#​8950](https://togithub.com/vuejs/core/issues/8950)) ([638f1ab](https://togithub.com/vuejs/core/commit/638f1abbb632000553e2b7d75e87c95d8ca192d6)) - **compiler-sfc:** analyze import usage in template via AST ([#​9729](https://togithub.com/vuejs/core/issues/9729)) ([e8bbc94](https://togithub.com/vuejs/core/commit/e8bbc946cba6bf74c9da56f938b67d2a04c340ba)), closes [#​8897](https://togithub.com/vuejs/core/issues/8897) [nuxt/nuxt#22416](https://togithub.com/nuxt/nuxt/issues/22416) - **compiler-sfc:** expose resolve type-based props and emits ([#​8874](https://togithub.com/vuejs/core/issues/8874)) ([9e77580](https://togithub.com/vuejs/core/commit/9e77580c0c2f0d977bd0031a1d43cc334769d433)) - **compiler-sfc:** bump postcss-modules to v6 ([2a507e3](https://togithub.com/vuejs/core/commit/2a507e32f0e2ef73813705a568b8633f68bda7a9)) - **compiler-sfc:** promote defineModel stable ([#​9598](https://togithub.com/vuejs/core/issues/9598)) ([ef688ba](https://togithub.com/vuejs/core/commit/ef688ba92bfccbc8b7ea3997eb297665d13e5249)) - **compiler-sfc:** support import attributes and `using` syntax ([#​8786](https://togithub.com/vuejs/core/issues/8786)) ([5b2bd1d](https://togithub.com/vuejs/core/commit/5b2bd1df78e8ff524c3a184adaa284681aba6574)) - **compiler-sfc:** `defineModel` support local mutation by default, remove local option ([f74785b](https://togithub.com/vuejs/core/commit/f74785bc4ad351102dde17fdfd2c7276b823111f)), closes [/github.com/vuejs/rfcs/discussions/503#discussioncomment-7566278](https://togithub.com//github.com/vuejs/rfcs/discussions/503/issues/discussioncomment-7566278) - **ssr:** add `__VUE_PROD_HYDRATION_MISMATCH_DETAILS__` feature flag ([#​9550](https://togithub.com/vuejs/core/issues/9550)) ([bc7698d](https://togithub.com/vuejs/core/commit/bc7698dbfed9b5327a93565f9df336ae5a94d605)) - **ssr:** improve ssr hydration mismatch checks ([#​5953](https://togithub.com/vuejs/core/issues/5953)) ([2ffc1e8](https://togithub.com/vuejs/core/commit/2ffc1e8cfdc6ec9c45c4a4dd8e3081b2aa138f1e)), closes [#​5063](https://togithub.com/vuejs/core/issues/5063) - **types:** use enum to replace const enum ([#​9261](https://togithub.com/vuejs/core/issues/9261)) ([fff7b86](https://togithub.com/vuejs/core/commit/fff7b864f4292d0430ba2bda7098ad43876b0210)), closes [#​1228](https://togithub.com/vuejs/core/issues/1228) - **types:** add emits and slots type to `FunctionalComponent` ([#​8644](https://togithub.com/vuejs/core/issues/8644)) ([927ab17](https://togithub.com/vuejs/core/commit/927ab17cfc645e82d061fdf227c34689491268e1)) - **types:** export `AriaAttributes` type ([#​8909](https://togithub.com/vuejs/core/issues/8909)) ([fd0b6ba](https://togithub.com/vuejs/core/commit/fd0b6ba01660499fa07b0cf360eefaac8cca8287)) - **types:** export `ObjectPlugin` and `FunctionPlugin` types ([#​8946](https://togithub.com/vuejs/core/issues/8946)) ([fa4969e](https://togithub.com/vuejs/core/commit/fa4969e7a3aefa6863203f9294fc5e769ddf6d8f)), closes [#​8577](https://togithub.com/vuejs/core/issues/8577) - **types:** expose `DefineProps` type ([096ba81](https://togithub.com/vuejs/core/commit/096ba81817b7da15f61bc55fc1a93f72ac9586e0)) - **types:** expose `PublicProps` type ([#​2403](https://togithub.com/vuejs/core/issues/2403)) ([44135dc](https://togithub.com/vuejs/core/commit/44135dc95fb8fea26b84d1433839d28b8c21f708)) - **types:** improve event type inference when using `h` with native elements ([#​9756](https://togithub.com/vuejs/core/issues/9756)) ([a625376](https://togithub.com/vuejs/core/commit/a625376ac8901eea81bf3c66cb531f2157f073ef)) - **types:** provide `ComponentInstance` type ([#​5408](https://togithub.com/vuejs/core/issues/5408)) ([bfb8565](https://togithub.com/vuejs/core/commit/bfb856565d3105db4b18991ae9e404e7cc989b25)) - **types:** support passing generics when registering global directives ([#​9660](https://togithub.com/vuejs/core/issues/9660)) ([a41409e](https://togithub.com/vuejs/core/commit/a41409ed02a8c7220e637f56caf6813edeb077f8)) ##### Performance Improvements - **compiler-sfc:** avoid sfc source map unnecessary serialization and parsing ([f15d2f6](https://togithub.com/vuejs/core/commit/f15d2f6cf69c0c39f8dfb5c33122790c68bf92e2)) - **compiler-sfc:** remove magic-string trim on script ([e8e3ec6](https://togithub.com/vuejs/core/commit/e8e3ec6ca7392e43975c75b56eaaa711d5ea9410)) - **compiler-sfc:** use faster source map addMapping ([50cde7c](https://togithub.com/vuejs/core/commit/50cde7cfbcc49022ba88f5f69fa9b930b483c282)) - **compiler-core:** optimize away isBuiltInType ([66c0ed0](https://togithub.com/vuejs/core/commit/66c0ed0a3c1c6f37dafc6b1c52b75c6bf60e3136)) - **compiler-core:** optimize position cloning ([2073236](https://togithub.com/vuejs/core/commit/20732366b9b3530d33b842cf1fc985919afb9317)) - **codegen:** optimize line / column calculation during codegen ([3be53d9](https://togithub.com/vuejs/core/commit/3be53d9b974dae1a10eb795cade71ae765e17574)) - **codegen:** optimize source map generation ([c11002f](https://togithub.com/vuejs/core/commit/c11002f16afd243a2b15b546816e73882eea9e4d)) - **shared:** optimize makeMap ([ae6fba9](https://togithub.com/vuejs/core/commit/ae6fba94954bac6430902f77b0d1113a98a75b18)) ##### BREAKING CHANGES ##### Global JSX Registration Removed Starting in 3.4, Vue no longer registers the global `JSX` namespace by default. This is necessary to avoid global namespace collision with React so that TSX of both libs can co-exist in the same project. This should not affect SFC-only users with latest version of Volar. If you are using TSX, there are two options: 1. Explicitly set [jsxImportSource](https://www.typescriptlang.org/tsconfig#jsxImportSource) to `'vue'` in `tsconfig.json` before upgrading to 3.4. You can also opt-in per file by adding a `/* @​jsxImportSource vue */` comment at the top of the file. 2. If you have code that depends on the presence of the global `JSX` namespace, e.g. usage of types like `JSX.Element` etc., you can retain the exact pre-3.4 global behavior by explicitly referencing `vue/jsx`, which registers the global `JSX` namespace. Note that this is a type-only breaking change in a minor release, which adheres to our [release policy](https://vuejs.org/about/releases.html#semantic-versioning-edge-cases). ##### Deprecated Features Removed - [Reactivity Transform](https://vuejs.org/guide/extras/reactivity-transform.html) was marked deprecated in 3.3 and is now removed in 3.4. This change does not require a major due to the feature being experimental. Users who wish to continue using the feature can do so via the [Vue Macros plugin](https://vue-macros.dev/features/reactivity-transform.html). - `app.config.unwrapInjectedRef` has been removed. It was deprecated and enabled by default in 3.3. In 3.4 it is no longer possible to disable this behavior. - `@vnodeXXX` event listeners in templates are now a compiler error instead of a deprecation warning. Use `@vue:XXX` listeners instead. - `v-is` directive has been removed. It was deprecated in 3.3. Use the [`is` attribute with `vue:` prefix](https://vuejs.org/api/built-in-special-attributes.html#is) instead. </details> <details> <summary>vuejs/language-tools (vue-tsc)</summary> ### [`v1.8.27`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#1827-20231226) [Compare Source](https://togithub.com/vuejs/language-tools/compare/5849cada166bbd3faa03f21efd4d3cc2a2836d11...v1.8.27) - fix(language-core): remove misuse of `JSX.Element` for compatible with vue 3.4 ([https://github.com/vuejs/core/issues/9923](https://togithub.com/vuejs/core/issues/9923)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Europe/Helsinki, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/slipmatio/toolbelt). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Vue version
v3.4.0-rc.1
Link to minimal reproduction
https://stackblitz.com/edit/3-4-0-rc-1-typecheck-error?file=src%2FApp.vue
Steps to reproduce
npm run typecheck
in terminalWhat is expected?
Type check results should be consistent with v3.3.13
What is actually happening?
This is normal in v3.3.13, but this error occurred after upgrading. Currently, there is no newer version of
vue-tsc
to upgrade. I am not sure if this is an expected error.System Info
Any additional comments?
No response
The text was updated successfully, but these errors were encountered: