Skip to content

Commit

Permalink
chore(deps): update vue monorepo to ^3.4.4 (#2330)
Browse files Browse the repository at this point in the history
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@vue/compiler-core](https://github.com/vuejs/core/tree/main/packages/compiler-core#readme)
([source](https://github.com/vuejs/core/tree/HEAD/packages/compiler-core))
| [`^3.3.13` ->
`^3.4.4`](https://renovatebot.com/diffs/npm/@vue%2fcompiler-core/3.3.13/3.4.4)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2fcompiler-core/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2fcompiler-core/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2fcompiler-core/3.3.13/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2fcompiler-core/3.3.13/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@vue/compiler-sfc](https://github.com/vuejs/core/tree/main/packages/compiler-sfc#readme)
([source](https://github.com/vuejs/core/tree/HEAD/packages/compiler-sfc))
| [`^3.3.13` ->
`^3.4.4`](https://renovatebot.com/diffs/npm/@vue%2fcompiler-sfc/3.3.13/3.4.4)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2fcompiler-sfc/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2fcompiler-sfc/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2fcompiler-sfc/3.3.13/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2fcompiler-sfc/3.3.13/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@vue/reactivity](https://github.com/vuejs/core/tree/main/packages/reactivity#readme)
([source](https://github.com/vuejs/core/tree/HEAD/packages/reactivity))
| [`^3.3.13` ->
`^3.4.4`](https://renovatebot.com/diffs/npm/@vue%2freactivity/3.3.13/3.4.4)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2freactivity/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2freactivity/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2freactivity/3.3.13/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2freactivity/3.3.13/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@vue/runtime-core](https://github.com/vuejs/core/tree/main/packages/runtime-core#readme)
([source](https://github.com/vuejs/core/tree/HEAD/packages/runtime-core))
| [`^3.3.13` ->
`^3.4.4`](https://renovatebot.com/diffs/npm/@vue%2fruntime-core/3.3.13/3.4.4)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2fruntime-core/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2fruntime-core/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2fruntime-core/3.3.13/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2fruntime-core/3.3.13/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@vue/runtime-dom](https://github.com/vuejs/core/tree/main/packages/runtime-dom#readme)
([source](https://github.com/vuejs/core/tree/HEAD/packages/runtime-dom))
| [`^3.3.13` ->
`^3.4.4`](https://renovatebot.com/diffs/npm/@vue%2fruntime-dom/3.3.13/3.4.4)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2fruntime-dom/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2fruntime-dom/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2fruntime-dom/3.3.13/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2fruntime-dom/3.3.13/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@vue/shared](https://github.com/vuejs/core/tree/main/packages/shared#readme)
([source](https://github.com/vuejs/core/tree/HEAD/packages/shared)) |
[`^3.3.13` ->
`^3.4.4`](https://renovatebot.com/diffs/npm/@vue%2fshared/3.3.13/3.4.4)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2fshared/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2fshared/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2fshared/3.3.13/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2fshared/3.3.13/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vue](https://github.com/vuejs/core/tree/main/packages/vue#readme)
([source](https://github.com/vuejs/core)) | [`^3.3.13` ->
`^3.4.4`](https://renovatebot.com/diffs/npm/vue/3.3.13/3.4.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue/3.3.13/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.3.13/3.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>vuejs/core (@&#8203;vue/compiler-core)</summary>

###
[`v3.4.4`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#344-2024-01-03)

[Compare
Source](https://github.com/vuejs/core/compare/v3.4.3...v3.4.4)

##### Bug Fixes

- **compiler-sfc:** fix scss source map regression
([71d3121](https://github.com/vuejs/core/commit/71d3121b72c449351e718ee1539bdfa35b68bb32)),
closes [#&#8203;9970](https://github.com/vuejs/core/issues/9970)
[#&#8203;9969](https://github.com/vuejs/core/issues/9969)
- **compiler-sfc:** use compilerOptions when re-parsing consumed AST
([d94d8d4](https://github.com/vuejs/core/commit/d94d8d4bffd1daf171a655b292745ffc3e63052d))
- **defineModel:** support kebab-case/camelCase mismatches
([#&#8203;9950](https://github.com/vuejs/core/issues/9950))
([10ccb9b](https://github.com/vuejs/core/commit/10ccb9bfa0f5f3016207fc32b9611bab98e6f090))
- **runtime-core:** correctly assign suspenseId to avoid conflicts with
the default id
([#&#8203;9966](https://github.com/vuejs/core/issues/9966))
([0648804](https://github.com/vuejs/core/commit/06488047c184dae3070d0008379716690edceb46)),
closes [#&#8203;9944](https://github.com/vuejs/core/issues/9944)
- **ssr:** avoid rendering transition-group slot content as a fragment
([#&#8203;9961](https://github.com/vuejs/core/issues/9961))
([0160264](https://github.com/vuejs/core/commit/0160264d677478ee928e8e851f39a9e94f97e337)),
closes [#&#8203;9933](https://github.com/vuejs/core/issues/9933)
- **watch:** remove instance unmounted short circuit in getter of
`watchEffect`
([#&#8203;9948](https://github.com/vuejs/core/issues/9948))
([f300a40](https://github.com/vuejs/core/commit/f300a4001ec40cadef2520267eb5841ab48cf005))
- **watch:** revert watch behavior when watching shallow reactive
objects
([a9f781a](https://github.com/vuejs/core/commit/a9f781a92cbc7de7b25c9e3d5b1295ca99eb6d86)),
closes [#&#8203;9965](https://github.com/vuejs/core/issues/9965)

##### Performance Improvements

- **watch:** avoid double traverse for reactive source
([24d77c2](https://github.com/vuejs/core/commit/24d77c25ce5d5356adb5367beef1d23e6e340b35))

###
[`v3.4.3`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#343-2023-12-30)

[Compare
Source](https://github.com/vuejs/core/compare/v3.4.2...v3.4.3)

##### Bug Fixes

- **compiler-sfc:** respect sfc parse options in cache key
([b8d58ec](https://github.com/vuejs/core/commit/b8d58ec4f42cbeb9443bf06138add46158db9af0))

###
[`v3.4.2`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#342-2023-12-30)

[Compare
Source](https://github.com/vuejs/core/compare/v3.4.1...v3.4.2)

##### Bug Fixes

- **compiler-sfc:** fix dev regression for dot / namespace component
usage
([dce99c1](https://github.com/vuejs/core/commit/dce99c12df981ca45a4d848c37ba8b16496025f0)),
closes [#&#8203;9947](https://github.com/vuejs/core/issues/9947)
- **runtime-core:** support deep: false when watch reactive
([#&#8203;9928](https://github.com/vuejs/core/issues/9928))
([4f703d1](https://github.com/vuejs/core/commit/4f703d120d76d711084346f73ea295c73e6ef6b6)),
closes [#&#8203;9916](https://github.com/vuejs/core/issues/9916)
- **ssr:** fix hydration error for slot outlet inside transition-group
([#&#8203;9937](https://github.com/vuejs/core/issues/9937))
([6cb00ed](https://github.com/vuejs/core/commit/6cb00ed0f9b64428ec18fada0f68467d6a813fde)),
closes [#&#8203;9933](https://github.com/vuejs/core/issues/9933)

###
[`v3.4.1`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#341-2023-12-30)

[Compare
Source](https://github.com/vuejs/core/compare/v3.4.0...v3.4.1)

##### Bug Fixes

- **compat:** correct enum value for COMPILER_FILTERS feature
([#&#8203;9875](https://github.com/vuejs/core/issues/9875))
([77d33e2](https://github.com/vuejs/core/commit/77d33e263cf19983caf4e5c53a0eb0bee374843c))
- **defineModel:** always default modifiers to empty object
([9bc3c7e](https://github.com/vuejs/core/commit/9bc3c7e29cf15f5ca96703542d10cfd786a3fc55)),
closes [#&#8203;9945](https://github.com/vuejs/core/issues/9945)
- **defineModel:** support local mutation when only prop but no listener
is passed
([97ce041](https://github.com/vuejs/core/commit/97ce041910b6ca4bef10f939493d6b5a06ea5b07))
- **types:** fix defineModel watch type error
([#&#8203;9942](https://github.com/vuejs/core/issues/9942))
([4af8583](https://github.com/vuejs/core/commit/4af85835f7e593a7dffa7dc7e99f14877eb70fd1)),
closes [#&#8203;9939](https://github.com/vuejs/core/issues/9939)

##### Features

- **compiler-sfc:** support passing template parsing options when
parsing sfc
([6fab855](https://github.com/vuejs/core/commit/6fab8551e4aeef4610987640de8b435b1ae321bb))
(necessary to fix
[https://github.com/vitejs/vite-plugin-vue/issues/322](https://github.com/vitejs/vite-plugin-vue/issues/322))

###
[`v3.4.0`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#340-Slam-Dunk-2023-12-29)

[Compare
Source](https://github.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://github.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://github.com/vuejs/core/issues/7836))
([d42b6ba](https://github.com/vuejs/core/commit/d42b6ba3f530746eb1221eb7a4be0f44eb56f7d3)),
closes [#&#8203;7820](https://github.com/vuejs/core/issues/7820)
- **reactivity:** more efficient reactivity system
([#&#8203;5912](https://github.com/vuejs/core/issues/5912))
([16e06ca](https://github.com/vuejs/core/commit/16e06ca08f5a1e2af3fc7fb35de153dbe0c3087d)),
closes [#&#8203;311](https://github.com/vuejs/core/issues/311)
[#&#8203;1811](https://github.com/vuejs/core/issues/1811)
[#&#8203;6018](https://github.com/vuejs/core/issues/6018)
[#&#8203;7160](https://github.com/vuejs/core/issues/7160)
[#&#8203;8714](https://github.com/vuejs/core/issues/8714)
[#&#8203;9149](https://github.com/vuejs/core/issues/9149)
[#&#8203;9419](https://github.com/vuejs/core/issues/9419)
[#&#8203;9464](https://github.com/vuejs/core/issues/9464)
- **reactivity:** expose last result for computed getter
([#&#8203;9497](https://github.com/vuejs/core/issues/9497))
([48b47a1](https://github.com/vuejs/core/commit/48b47a1ab63577e2dbd91947eea544e3ef185b85))
- **runtime-core / dx:** link errors to docs in prod build
([#&#8203;9165](https://github.com/vuejs/core/issues/9165))
([9f8ba98](https://github.com/vuejs/core/commit/9f8ba9821fe166f77e63fa940e9e7e13ec3344fa))
- **runtime-core:** add `once` option to watch
([#&#8203;9034](https://github.com/vuejs/core/issues/9034))
([a645e7a](https://github.com/vuejs/core/commit/a645e7aa51006516ba668b3a4365d296eb92ee7d))
- **runtime-core:** provide full props to props validator functions
([#&#8203;3258](https://github.com/vuejs/core/issues/3258))
([8e27692](https://github.com/vuejs/core/commit/8e27692029a4645cd54287f776c0420f2b82740b))
- **compiler-core:** export error message
([#&#8203;8729](https://github.com/vuejs/core/issues/8729))
([f7e80ee](https://github.com/vuejs/core/commit/f7e80ee4a065a9eaba98720abf415d9e87756cbd))
- **compiler-core:** support specifying root namespace when parsing
([40f72d5](https://github.com/vuejs/core/commit/40f72d5e50b389cb11b7ca13461aa2a75ddacdb4))
- **compiler-core:** support v-bind shorthand for key and value with the
same name ([#&#8203;9451](https://github.com/vuejs/core/issues/9451))
([26399aa](https://github.com/vuejs/core/commit/26399aa6fac1596b294ffeba06bb498d86f5508c))
- **compiler-core:** improve parsing tolerance for language-tools
([41ff68e](https://github.com/vuejs/core/commit/41ff68ea579d933333392146625560359acb728a))
- **compiler-core:** support accessing Error as global in template
expressions
([#&#8203;7018](https://github.com/vuejs/core/issues/7018))
([bcca475](https://github.com/vuejs/core/commit/bcca475dbc58d76434cd8120b94929758cee2825))
- **compiler-core:** lift vnode hooks deprecation warning to error
([8abc754](https://github.com/vuejs/core/commit/8abc754d5d86d9dfd5a7927b846f1a743f352364))
- **compiler-core:** export runtime error strings
([#&#8203;9301](https://github.com/vuejs/core/issues/9301))
([feb2f2e](https://github.com/vuejs/core/commit/feb2f2edce2d91218a5e9a52c81e322e4033296b))
- **compiler-core:** add current filename to TransformContext
([#&#8203;8950](https://github.com/vuejs/core/issues/8950))
([638f1ab](https://github.com/vuejs/core/commit/638f1abbb632000553e2b7d75e87c95d8ca192d6))
- **compiler-sfc:** analyze import usage in template via AST
([#&#8203;9729](https://github.com/vuejs/core/issues/9729))
([e8bbc94](https://github.com/vuejs/core/commit/e8bbc946cba6bf74c9da56f938b67d2a04c340ba)),
closes [#&#8203;8897](https://github.com/vuejs/core/issues/8897)
[nuxt/nuxt#22416](https://github.com/nuxt/nuxt/issues/22416)
- **compiler-sfc:** expose resolve type-based props and emits
([#&#8203;8874](https://github.com/vuejs/core/issues/8874))
([9e77580](https://github.com/vuejs/core/commit/9e77580c0c2f0d977bd0031a1d43cc334769d433))
- **compiler-sfc:** bump postcss-modules to v6
([2a507e3](https://github.com/vuejs/core/commit/2a507e32f0e2ef73813705a568b8633f68bda7a9))
- **compiler-sfc:** promote defineModel stable
([#&#8203;9598](https://github.com/vuejs/core/issues/9598))
([ef688ba](https://github.com/vuejs/core/commit/ef688ba92bfccbc8b7ea3997eb297665d13e5249))
- **compiler-sfc:** support import attributes and `using` syntax
([#&#8203;8786](https://github.com/vuejs/core/issues/8786))
([5b2bd1d](https://github.com/vuejs/core/commit/5b2bd1df78e8ff524c3a184adaa284681aba6574))
- **compiler-sfc:** `defineModel` support local mutation by default,
remove local option
([f74785b](https://github.com/vuejs/core/commit/f74785bc4ad351102dde17fdfd2c7276b823111f)),
closes
[/github.com/vuejs/rfcs/discussions/503#discussioncomment-7566278](https://github.com//github.com/vuejs/rfcs/discussions/503/issues/discussioncomment-7566278)
- **ssr:** add `__VUE_PROD_HYDRATION_MISMATCH_DETAILS__` feature flag
([#&#8203;9550](https://github.com/vuejs/core/issues/9550))
([bc7698d](https://github.com/vuejs/core/commit/bc7698dbfed9b5327a93565f9df336ae5a94d605))
- **ssr:** improve ssr hydration mismatch checks
([#&#8203;5953](https://github.com/vuejs/core/issues/5953))
([2ffc1e8](https://github.com/vuejs/core/commit/2ffc1e8cfdc6ec9c45c4a4dd8e3081b2aa138f1e)),
closes [#&#8203;5063](https://github.com/vuejs/core/issues/5063)
- **types:** use enum to replace const enum
([#&#8203;9261](https://github.com/vuejs/core/issues/9261))
([fff7b86](https://github.com/vuejs/core/commit/fff7b864f4292d0430ba2bda7098ad43876b0210)),
closes [#&#8203;1228](https://github.com/vuejs/core/issues/1228)
- **types:** add emits and slots type to `FunctionalComponent`
([#&#8203;8644](https://github.com/vuejs/core/issues/8644))
([927ab17](https://github.com/vuejs/core/commit/927ab17cfc645e82d061fdf227c34689491268e1))
- **types:** export `AriaAttributes` type
([#&#8203;8909](https://github.com/vuejs/core/issues/8909))
([fd0b6ba](https://github.com/vuejs/core/commit/fd0b6ba01660499fa07b0cf360eefaac8cca8287))
- **types:** export `ObjectPlugin` and `FunctionPlugin` types
([#&#8203;8946](https://github.com/vuejs/core/issues/8946))
([fa4969e](https://github.com/vuejs/core/commit/fa4969e7a3aefa6863203f9294fc5e769ddf6d8f)),
closes [#&#8203;8577](https://github.com/vuejs/core/issues/8577)
- **types:** expose `DefineProps` type
([096ba81](https://github.com/vuejs/core/commit/096ba81817b7da15f61bc55fc1a93f72ac9586e0))
- **types:** expose `PublicProps` type
([#&#8203;2403](https://github.com/vuejs/core/issues/2403))
([44135dc](https://github.com/vuejs/core/commit/44135dc95fb8fea26b84d1433839d28b8c21f708))
- **types:** improve event type inference when using `h` with native
elements ([#&#8203;9756](https://github.com/vuejs/core/issues/9756))
([a625376](https://github.com/vuejs/core/commit/a625376ac8901eea81bf3c66cb531f2157f073ef))
- **types:** provide `ComponentInstance` type
([#&#8203;5408](https://github.com/vuejs/core/issues/5408))
([bfb8565](https://github.com/vuejs/core/commit/bfb856565d3105db4b18991ae9e404e7cc989b25))
- **types:** support passing generics when registering global directives
([#&#8203;9660](https://github.com/vuejs/core/issues/9660))
([a41409e](https://github.com/vuejs/core/commit/a41409ed02a8c7220e637f56caf6813edeb077f8))

##### Performance Improvements

- **compiler-sfc:** avoid sfc source map unnecessary serialization and
parsing
([f15d2f6](https://github.com/vuejs/core/commit/f15d2f6cf69c0c39f8dfb5c33122790c68bf92e2))
- **compiler-sfc:** remove magic-string trim on script
([e8e3ec6](https://github.com/vuejs/core/commit/e8e3ec6ca7392e43975c75b56eaaa711d5ea9410))
- **compiler-sfc:** use faster source map addMapping
([50cde7c](https://github.com/vuejs/core/commit/50cde7cfbcc49022ba88f5f69fa9b930b483c282))
- **compiler-core:** optimize away isBuiltInType
([66c0ed0](https://github.com/vuejs/core/commit/66c0ed0a3c1c6f37dafc6b1c52b75c6bf60e3136))
- **compiler-core:** optimize position cloning
([2073236](https://github.com/vuejs/core/commit/20732366b9b3530d33b842cf1fc985919afb9317))
- **codegen:** optimize line / column calculation during codegen
([3be53d9](https://github.com/vuejs/core/commit/3be53d9b974dae1a10eb795cade71ae765e17574))
- **codegen:** optimize source map generation
([c11002f](https://github.com/vuejs/core/commit/c11002f16afd243a2b15b546816e73882eea9e4d))
- **shared:** optimize makeMap
([ae6fba9](https://github.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>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/fwouts/previewjs).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: François Wouts <f@zenc.io>
  • Loading branch information
renovate[bot] and fwouts authored Jan 4, 2024
1 parent 41dfaa9 commit f74b2b5
Show file tree
Hide file tree
Showing 3 changed files with 399 additions and 276 deletions.
14 changes: 7 additions & 7 deletions framework-plugins/vue3/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,22 +33,22 @@
"@previewjs/vfs": "^2.1.1",
"@vitejs/plugin-vue": "^4.6.2",
"@vitejs/plugin-vue-jsx": "^3.1.0",
"@vue/compiler-sfc": "^3.3.13",
"@vue/compiler-sfc": "^3.4.4",
"fs-extra": "^11.2.0",
"typescript": "^5.3.3",
"vue": "^3.3.13"
"vue": "^3.4.4"
},
"devDependencies": {
"@playwright/test": "^1.40.1",
"@previewjs/core": "workspace:*",
"@previewjs/iframe": "workspace:*",
"@previewjs/testing": "workspace:*",
"@types/fs-extra": "^11.0.4",
"@vue/compiler-core": "^3.3.13",
"@vue/reactivity": "^3.3.13",
"@vue/runtime-core": "^3.3.13",
"@vue/runtime-dom": "^3.3.13",
"@vue/shared": "^3.3.13",
"@vue/compiler-core": "^3.4.4",
"@vue/reactivity": "^3.4.4",
"@vue/runtime-core": "^3.4.4",
"@vue/runtime-dom": "^3.4.4",
"@vue/shared": "^3.4.4",
"pino": "^8.17.2",
"pino-pretty": "^10.3.1",
"rimraf": "^5.0.5",
Expand Down
8 changes: 4 additions & 4 deletions framework-plugins/vue3/src/vue-reader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import type {
Reader,
} from "@previewjs/vfs";
import { ReaderListeners } from "@previewjs/vfs";
import type { ElementNode } from "@vue/compiler-core";
import type { ElementNode, RootNode } from "@vue/compiler-core";
import { parse } from "@vue/compiler-sfc";
import path from "path";
import ts from "typescript";
Expand Down Expand Up @@ -90,7 +90,7 @@ class VueTypeScriptReader implements Reader {
function convertToTypeScript(vueTemplateSource: string, name: string) {
const parsed = parse(vueTemplateSource);
let pjsSlotsType = "[]";
if (parsed.descriptor.template) {
if (parsed.descriptor.template?.ast) {
const slots = extractSlots(parsed.descriptor.template.ast);
pjsSlotsType = `[${slots
.map((slotName) => JSON.stringify(slotName))
Expand Down Expand Up @@ -191,8 +191,8 @@ function extractDefineComponentArgument(node: ts.Expression): ts.Expression {
return node;
}

function extractSlots(element: ElementNode): string[] {
namedSlot: if (element.tag === "slot") {
function extractSlots(element: RootNode | ElementNode): string[] {
namedSlot: if ("tag" in element && element.tag === "slot") {
let slotName = "default";
for (const prop of element.props) {
if (prop.name === "name" && prop.type === 6 && prop.value) {
Expand Down
Loading

0 comments on commit f74b2b5

Please sign in to comment.