Skip to content
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

type check error after upgrade to v3.4.0-rc.1 #9923

Closed
Mini-ghost opened this issue Dec 26, 2023 · 2 comments
Closed

type check error after upgrade to v3.4.0-rc.1 #9923

Mini-ghost opened this issue Dec 26, 2023 · 2 comments

Comments

@Mini-ghost
Copy link

Mini-ghost commented Dec 26, 2023

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

  1. Open reproduction
  2. execute npm run typecheck in terminal
  3. vue-tsc checks for type errors

What 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.

error message

System Info

System:
    OS: macOS 14.1
    CPU: (8) arm64 Apple M1
    Memory: 136.19 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.9.0 - ~/.nvm/versions/node/v20.9.0/bin/node
    npm: 10.1.0 - ~/.nvm/versions/node/v20.9.0/bin/npm
    pnpm: 8.12.1 - ~/.nvm/versions/node/v20.9.0/bin/pnpm
  Browsers:
    Safari: 17.1
    Safari Technology Preview: 17.4
  npmPackages:
    vue: 3.4.0-rc.1 => 3.4.0-rc.1 

Any additional comments?

No response

@yyx990803
Copy link
Member

yyx990803 commented Dec 26, 2023

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 import "vue/jsx" in a TS file.

johnsoncodehk added a commit to vuejs/language-tools that referenced this issue Dec 26, 2023
@yyx990803
Copy link
Member

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 added a commit to slipmatio/toolbelt that referenced this issue Jan 1, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.10.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.10.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.10.5/20.10.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.10.5/20.10.6?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vitejs%2fplugin-vue/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitejs%2fplugin-vue/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitejs%2fplugin-vue/4.5.2/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitejs%2fplugin-vue/4.5.2/5.0.2?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue/3.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue/3.3.13/3.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.3.13/3.4.3?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/1.8.27?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/1.8.27?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/1.8.26/1.8.27?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/1.8.26/1.8.27?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>vitejs/vite-plugin-vue (@&#8203;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
[#&#8203;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
[#&#8203;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 [#&#8203;9947](https://togithub.com/vuejs/core/issues/9947)
- **runtime-core:** support deep: false when watch reactive
([#&#8203;9928](https://togithub.com/vuejs/core/issues/9928))
([4f703d1](https://togithub.com/vuejs/core/commit/4f703d120d76d711084346f73ea295c73e6ef6b6)),
closes [#&#8203;9916](https://togithub.com/vuejs/core/issues/9916)
- **ssr:** fix hydration error for slot outlet inside transition-group
([#&#8203;9937](https://togithub.com/vuejs/core/issues/9937))
([6cb00ed](https://togithub.com/vuejs/core/commit/6cb00ed0f9b64428ec18fada0f68467d6a813fde)),
closes [#&#8203;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
([#&#8203;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 [#&#8203;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
([#&#8203;9942](https://togithub.com/vuejs/core/issues/9942))
([4af8583](https://togithub.com/vuejs/core/commit/4af85835f7e593a7dffa7dc7e99f14877eb70fd1)),
closes [#&#8203;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
[vitejs/vite-plugin-vue#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**)
-
[@&#8203;vitejs/plugin-vue](https://togithub.com/vitejs/plugin-vue)@&#8203;^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
([#&#8203;7836](https://togithub.com/vuejs/core/issues/7836))
([d42b6ba](https://togithub.com/vuejs/core/commit/d42b6ba3f530746eb1221eb7a4be0f44eb56f7d3)),
closes [#&#8203;7820](https://togithub.com/vuejs/core/issues/7820)
- **reactivity:** more efficient reactivity system
([#&#8203;5912](https://togithub.com/vuejs/core/issues/5912))
([16e06ca](https://togithub.com/vuejs/core/commit/16e06ca08f5a1e2af3fc7fb35de153dbe0c3087d)),
closes [#&#8203;311](https://togithub.com/vuejs/core/issues/311)
[#&#8203;1811](https://togithub.com/vuejs/core/issues/1811)
[#&#8203;6018](https://togithub.com/vuejs/core/issues/6018)
[#&#8203;7160](https://togithub.com/vuejs/core/issues/7160)
[#&#8203;8714](https://togithub.com/vuejs/core/issues/8714)
[#&#8203;9149](https://togithub.com/vuejs/core/issues/9149)
[#&#8203;9419](https://togithub.com/vuejs/core/issues/9419)
[#&#8203;9464](https://togithub.com/vuejs/core/issues/9464)
- **reactivity:** expose last result for computed getter
([#&#8203;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
([#&#8203;9165](https://togithub.com/vuejs/core/issues/9165))
([9f8ba98](https://togithub.com/vuejs/core/commit/9f8ba9821fe166f77e63fa940e9e7e13ec3344fa))
- **runtime-core:** add `once` option to watch
([#&#8203;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
([#&#8203;3258](https://togithub.com/vuejs/core/issues/3258))
([8e27692](https://togithub.com/vuejs/core/commit/8e27692029a4645cd54287f776c0420f2b82740b))
- **compiler-core:** export error message
([#&#8203;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 ([#&#8203;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
([#&#8203;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
([#&#8203;9301](https://togithub.com/vuejs/core/issues/9301))
([feb2f2e](https://togithub.com/vuejs/core/commit/feb2f2edce2d91218a5e9a52c81e322e4033296b))
- **compiler-core:** add current filename to TransformContext
([#&#8203;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
([#&#8203;9729](https://togithub.com/vuejs/core/issues/9729))
([e8bbc94](https://togithub.com/vuejs/core/commit/e8bbc946cba6bf74c9da56f938b67d2a04c340ba)),
closes [#&#8203;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
([#&#8203;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
([#&#8203;9598](https://togithub.com/vuejs/core/issues/9598))
([ef688ba](https://togithub.com/vuejs/core/commit/ef688ba92bfccbc8b7ea3997eb297665d13e5249))
- **compiler-sfc:** support import attributes and `using` syntax
([#&#8203;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
([#&#8203;9550](https://togithub.com/vuejs/core/issues/9550))
([bc7698d](https://togithub.com/vuejs/core/commit/bc7698dbfed9b5327a93565f9df336ae5a94d605))
- **ssr:** improve ssr hydration mismatch checks
([#&#8203;5953](https://togithub.com/vuejs/core/issues/5953))
([2ffc1e8](https://togithub.com/vuejs/core/commit/2ffc1e8cfdc6ec9c45c4a4dd8e3081b2aa138f1e)),
closes [#&#8203;5063](https://togithub.com/vuejs/core/issues/5063)
- **types:** use enum to replace const enum
([#&#8203;9261](https://togithub.com/vuejs/core/issues/9261))
([fff7b86](https://togithub.com/vuejs/core/commit/fff7b864f4292d0430ba2bda7098ad43876b0210)),
closes [#&#8203;1228](https://togithub.com/vuejs/core/issues/1228)
- **types:** add emits and slots type to `FunctionalComponent`
([#&#8203;8644](https://togithub.com/vuejs/core/issues/8644))
([927ab17](https://togithub.com/vuejs/core/commit/927ab17cfc645e82d061fdf227c34689491268e1))
- **types:** export `AriaAttributes` type
([#&#8203;8909](https://togithub.com/vuejs/core/issues/8909))
([fd0b6ba](https://togithub.com/vuejs/core/commit/fd0b6ba01660499fa07b0cf360eefaac8cca8287))
- **types:** export `ObjectPlugin` and `FunctionPlugin` types
([#&#8203;8946](https://togithub.com/vuejs/core/issues/8946))
([fa4969e](https://togithub.com/vuejs/core/commit/fa4969e7a3aefa6863203f9294fc5e769ddf6d8f)),
closes [#&#8203;8577](https://togithub.com/vuejs/core/issues/8577)
- **types:** expose `DefineProps` type
([096ba81](https://togithub.com/vuejs/core/commit/096ba81817b7da15f61bc55fc1a93f72ac9586e0))
- **types:** expose `PublicProps` type
([#&#8203;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 ([#&#8203;9756](https://togithub.com/vuejs/core/issues/9756))
([a625376](https://togithub.com/vuejs/core/commit/a625376ac8901eea81bf3c66cb531f2157f073ef))
- **types:** provide `ComponentInstance` type
([#&#8203;5408](https://togithub.com/vuejs/core/issues/5408))
([bfb8565](https://togithub.com/vuejs/core/commit/bfb856565d3105db4b18991ae9e404e7cc989b25))
- **types:** support passing generics when registering global directives
([#&#8203;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 `/* @&#8203;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
([vuejs/core#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>
@github-actions github-actions bot locked and limited conversation to collaborators Jan 10, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants