Skip to content

Commit 75a43ea

Browse files
authored
Merge branch 'main' into fix/teleport-comment
2 parents af25c8c + f7dad6d commit 75a43ea

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+2125
-1411
lines changed

.github/workflows/autofix.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- uses: actions/checkout@v4
1515

1616
- name: Install pnpm
17-
uses: pnpm/action-setup@v4.0.0
17+
uses: pnpm/action-setup@v4.1.0
1818

1919
- name: Install Node.js
2020
uses: actions/setup-node@v4
@@ -31,4 +31,4 @@ jobs:
3131
- name: Run prettier
3232
run: pnpm run format
3333

34-
- uses: autofix-ci/action@ff86a557419858bb967097bfc916833f5647fa8c
34+
- uses: autofix-ci/action@551dded8c6cc8a1054039c8bc0b8b48c51dfc6ef

.github/workflows/canary-minor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
ref: minor
1818

1919
- name: Install pnpm
20-
uses: pnpm/action-setup@v4.0.0
20+
uses: pnpm/action-setup@v4.1.0
2121

2222
- name: Install Node.js
2323
uses: actions/setup-node@v4

.github/workflows/canary.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
- uses: actions/checkout@v4
1616

1717
- name: Install pnpm
18-
uses: pnpm/action-setup@v4.0.0
18+
uses: pnpm/action-setup@v4.1.0
1919

2020
- name: Install Node.js
2121
uses: actions/setup-node@v4

.github/workflows/size-data.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
- uses: actions/checkout@v4
2626

2727
- name: Install pnpm
28-
uses: pnpm/action-setup@v4.0.0
28+
uses: pnpm/action-setup@v4.1.0
2929

3030
- name: Install Node.js
3131
uses: actions/setup-node@v4

.github/workflows/size-report.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
- uses: actions/checkout@v4
2626

2727
- name: Install pnpm
28-
uses: pnpm/action-setup@v4.0.0
28+
uses: pnpm/action-setup@v4.1.0
2929

3030
- name: Install Node.js
3131
uses: actions/setup-node@v4
@@ -37,7 +37,7 @@ jobs:
3737
run: pnpm install
3838

3939
- name: Download Size Data
40-
uses: dawidd6/action-download-artifact@v6
40+
uses: dawidd6/action-download-artifact@v9
4141
with:
4242
name: size-data
4343
run_id: ${{ github.event.workflow_run.id }}
@@ -56,7 +56,7 @@ jobs:
5656
path: temp/size/base.txt
5757

5858
- name: Download Previous Size Data
59-
uses: dawidd6/action-download-artifact@v6
59+
uses: dawidd6/action-download-artifact@v9
6060
with:
6161
branch: ${{ steps.pr-base.outputs.content }}
6262
workflow: size-data.yml

.github/workflows/test.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- uses: actions/checkout@v4
1515

1616
- name: Install pnpm
17-
uses: pnpm/action-setup@v4.0.0
17+
uses: pnpm/action-setup@v4.1.0
1818

1919
- name: Install Node.js
2020
uses: actions/setup-node@v4
@@ -35,7 +35,7 @@ jobs:
3535
- uses: actions/checkout@v4
3636

3737
- name: Install pnpm
38-
uses: pnpm/action-setup@v4.0.0
38+
uses: pnpm/action-setup@v4.1.0
3939

4040
- name: Install Node.js
4141
uses: actions/setup-node@v4
@@ -63,7 +63,7 @@ jobs:
6363
key: chromium-${{ hashFiles('pnpm-lock.yaml') }}
6464

6565
- name: Install pnpm
66-
uses: pnpm/action-setup@v4.0.0
66+
uses: pnpm/action-setup@v4.1.0
6767

6868
- name: Install Node.js
6969
uses: actions/setup-node@v4
@@ -88,7 +88,7 @@ jobs:
8888
- uses: actions/checkout@v4
8989

9090
- name: Install pnpm
91-
uses: pnpm/action-setup@v4.0.0
91+
uses: pnpm/action-setup@v4.1.0
9292

9393
- name: Install Node.js
9494
uses: actions/setup-node@v4

.node-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20
1+
22.14.0

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* **custom-element:** avoid triggering mutationObserver when relecting props ([352bc88](https://github.com/vuejs/core/commit/352bc88c1bd2fda09c61ab17ea1a5967ffcd7bc0)), closes [#12214](https://github.com/vuejs/core/issues/12214) [#12215](https://github.com/vuejs/core/issues/12215)
99
* **deps:** update dependency postcss to ^8.4.48 ([#12356](https://github.com/vuejs/core/issues/12356)) ([b5ff930](https://github.com/vuejs/core/commit/b5ff930089985a58c3553977ef999cec2a6708a4))
1010
* **hydration:** the component vnode's el should be updated when a mismatch occurs. ([#12255](https://github.com/vuejs/core/issues/12255)) ([a20a4cb](https://github.com/vuejs/core/commit/a20a4cb36a3e717d1f8f259d0d59f133f508ff0a)), closes [#12253](https://github.com/vuejs/core/issues/12253)
11-
* **reactiivty:** avoid unnecessary watcher effect removal from inactive scope ([2193284](https://github.com/vuejs/core/commit/21932840eae72ffcd357a62ec596aaecc7ec224a)), closes [#5783](https://github.com/vuejs/core/issues/5783) [#5806](https://github.com/vuejs/core/issues/5806)
11+
* **reactivity:** avoid unnecessary watcher effect removal from inactive scope ([2193284](https://github.com/vuejs/core/commit/21932840eae72ffcd357a62ec596aaecc7ec224a)), closes [#5783](https://github.com/vuejs/core/issues/5783) [#5806](https://github.com/vuejs/core/issues/5806)
1212
* **reactivity:** release nested effects/scopes on effect scope stop ([#12373](https://github.com/vuejs/core/issues/12373)) ([bee2f5e](https://github.com/vuejs/core/commit/bee2f5ee62dc0cd04123b737779550726374dd0a)), closes [#12370](https://github.com/vuejs/core/issues/12370)
1313
* **runtime-dom:** set css vars before user onMounted hooks ([2d5c5e2](https://github.com/vuejs/core/commit/2d5c5e25e9b7a56e883674fb434135ac514429b5)), closes [#11533](https://github.com/vuejs/core/issues/11533)
1414
* **runtime-dom:** set css vars on update to handle child forcing reflow in onMount ([#11561](https://github.com/vuejs/core/issues/11561)) ([c4312f9](https://github.com/vuejs/core/commit/c4312f9c715c131a09e552ba46e9beb4b36d55e6))

README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ Please make sure to respect issue requirements and use [the new issue helper](ht
3434

3535
## Stay In Touch
3636

37-
- [Twitter](https://twitter.com/vuejs)
37+
- [X](https://x.com/vuejs)
38+
- [Bluesky](https://bsky.app/profile/vuejs.org)
3839
- [Blog](https://blog.vuejs.org/)
3940
- [Job Board](https://vuejobs.com/?ref=vuejs)
4041

@@ -44,7 +45,9 @@ Please make sure to read the [Contributing Guide](https://github.com/vuejs/core/
4445

4546
Thank you to all the people who already contributed to Vue!
4647

47-
<a href="https://github.com/vuejs/core/graphs/contributors"><img src="https://opencollective.com/vuejs/contributors.svg?width=890" /></a>
48+
<a href="https://github.com/vuejs/core/graphs/contributors"><img src="https://opencollective.com/vuejs/contributors.svg?width=890&limit=500" /></a>
49+
50+
<sub>_Note: Showing the first 500 contributors only due to GitHub image size limitations_</sub>
4851

4952
## License
5053

netlify.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[build.environment]
2-
NODE_VERSION = "18"
2+
NODE_VERSION = "22"
33
NPM_FLAGS = "--version" # prevent Netlify npm install

package.json

Lines changed: 22 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"private": true,
33
"version": "3.5.13",
4-
"packageManager": "pnpm@9.15.2",
4+
"packageManager": "pnpm@10.9.0",
55
"type": "module",
66
"scripts": {
77
"dev": "node scripts/dev.js",
@@ -65,62 +65,51 @@
6565
"@babel/parser": "catalog:",
6666
"@babel/types": "catalog:",
6767
"@rollup/plugin-alias": "^5.1.1",
68-
"@rollup/plugin-commonjs": "^28.0.2",
68+
"@rollup/plugin-commonjs": "^28.0.3",
6969
"@rollup/plugin-json": "^6.1.0",
70-
"@rollup/plugin-node-resolve": "^16.0.0",
70+
"@rollup/plugin-node-resolve": "^16.0.1",
7171
"@rollup/plugin-replace": "5.0.4",
72-
"@swc/core": "^1.10.3",
72+
"@swc/core": "^1.11.24",
7373
"@types/hash-sum": "^1.0.2",
74-
"@types/node": "^22.10.2",
75-
"@types/semver": "^7.5.8",
74+
"@types/node": "^22.14.1",
75+
"@types/semver": "^7.7.0",
7676
"@types/serve-handler": "^6.1.4",
77-
"@vitest/coverage-v8": "^2.1.8",
77+
"@vitest/coverage-v8": "^3.1.3",
78+
"@vitest/eslint-plugin": "^1.1.44",
7879
"@vue/consolidate": "1.0.0",
7980
"conventional-changelog-cli": "^5.0.0",
8081
"enquirer": "^2.4.1",
81-
"esbuild": "^0.24.2",
82+
"esbuild": "^0.25.4",
8283
"esbuild-plugin-polyfill-node": "^0.3.0",
83-
"eslint": "^9.17.0",
84-
"eslint-plugin-import-x": "^4.6.1",
85-
"@vitest/eslint-plugin": "^1.1.20",
84+
"eslint": "^9.25.1",
85+
"eslint-plugin-import-x": "^4.11.0",
8686
"estree-walker": "catalog:",
87-
"jsdom": "^25.0.1",
88-
"lint-staged": "^15.2.11",
87+
"jsdom": "^26.1.0",
88+
"lint-staged": "^15.5.1",
8989
"lodash": "^4.17.21",
9090
"magic-string": "^0.30.17",
9191
"markdown-table": "^3.0.4",
9292
"marked": "13.0.3",
9393
"npm-run-all2": "^7.0.2",
9494
"picocolors": "^1.1.1",
95-
"prettier": "^3.4.2",
95+
"prettier": "^3.5.3",
9696
"pretty-bytes": "^6.1.1",
9797
"pug": "^3.0.3",
98-
"puppeteer": "~23.3.0",
98+
"puppeteer": "~24.8.2",
9999
"rimraf": "^6.0.1",
100-
"rollup": "^4.29.1",
101-
"rollup-plugin-dts": "^6.1.1",
102-
"rollup-plugin-esbuild": "^6.1.1",
100+
"rollup": "^4.40.2",
101+
"rollup-plugin-dts": "^6.2.1",
102+
"rollup-plugin-esbuild": "^6.2.1",
103103
"rollup-plugin-polyfill-node": "^0.13.0",
104-
"semver": "^7.6.3",
104+
"semver": "^7.7.1",
105105
"serve": "^14.2.4",
106106
"serve-handler": "^6.1.6",
107-
"simple-git-hooks": "^2.11.1",
107+
"simple-git-hooks": "^2.13.0",
108108
"todomvc-app-css": "^2.4.3",
109109
"tslib": "^2.8.1",
110110
"typescript": "~5.6.2",
111-
"typescript-eslint": "^8.18.1",
111+
"typescript-eslint": "^8.31.1",
112112
"vite": "catalog:",
113-
"vitest": "^2.1.8"
114-
},
115-
"pnpm": {
116-
"peerDependencyRules": {
117-
"allowedVersions": {
118-
"typescript-eslint>eslint": "^9.0.0",
119-
"@typescript-eslint/eslint-plugin>eslint": "^9.0.0",
120-
"@typescript-eslint/parser>eslint": "^9.0.0",
121-
"@typescript-eslint/type-utils>eslint": "^9.0.0",
122-
"@typescript-eslint/utils>eslint": "^9.0.0"
123-
}
124-
}
113+
"vitest": "^3.1.3"
125114
}
126115
}

packages-private/dts-test/appDirective.test-d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ app.directive<HTMLElement, string, 'prevent' | 'stop', 'arg1' | 'arg2'>(
99
mounted(el, binding) {
1010
expectType<HTMLElement>(el)
1111
expectType<string>(binding.value)
12-
expectType<{ prevent: boolean; stop: boolean }>(binding.modifiers)
12+
expectType<{ prevent?: boolean; stop?: boolean }>(binding.modifiers)
1313
expectType<'arg1' | 'arg2'>(binding.arg!)
1414

1515
// @ts-expect-error not any

packages-private/dts-test/appUse.test-d.ts

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@ app.use(PluginWithoutType, 2)
1212
app.use(PluginWithoutType, { anything: 'goes' }, true)
1313

1414
type PluginOptions = {
15+
/** option1 */
1516
option1?: string
17+
/** option2 */
1618
option2: number
19+
/** option3 */
1720
option3: boolean
1821
}
1922

@@ -25,6 +28,20 @@ const PluginWithObjectOptions = {
2528
},
2629
}
2730

31+
const objectPluginOptional = {
32+
install(app: App, options?: PluginOptions) {},
33+
}
34+
app.use(objectPluginOptional)
35+
app.use(
36+
objectPluginOptional,
37+
// Test JSDoc and `go to definition` for options
38+
{
39+
option1: 'foo',
40+
option2: 1,
41+
option3: true,
42+
},
43+
)
44+
2845
for (const Plugin of [
2946
PluginWithObjectOptions,
3047
PluginWithObjectOptions.install,
@@ -92,7 +109,27 @@ const PluginTyped: Plugin<PluginOptions> = (app, options) => {}
92109

93110
// @ts-expect-error: needs options
94111
app.use(PluginTyped)
95-
app.use(PluginTyped, { option2: 2, option3: true })
112+
app.use(
113+
PluginTyped,
114+
// Test autocomplete for options
115+
{
116+
option1: '',
117+
option2: 2,
118+
option3: true,
119+
},
120+
)
121+
122+
const functionPluginOptional = (app: App, options?: PluginOptions) => {}
123+
app.use(functionPluginOptional)
124+
app.use(functionPluginOptional, { option2: 2, option3: true })
125+
126+
// type optional params
127+
const functionPluginOptional2: Plugin<[options?: PluginOptions]> = (
128+
app,
129+
options,
130+
) => {}
131+
app.use(functionPluginOptional2)
132+
app.use(functionPluginOptional2, { option2: 2, option3: true })
96133

97134
// vuetify usage
98135
const key: string = ''

packages-private/dts-test/directives.test-d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ describe('custom', () => {
2929
value: number
3030
oldValue: number | null
3131
arg?: 'Arg'
32-
modifiers: Record<'a' | 'b', boolean>
32+
modifiers: Partial<Record<'a' | 'b', boolean>>
3333
}>(testDirective<number, 'a' | 'b', 'Arg'>())
3434

3535
expectType<{

packages-private/dts-test/ref.test-d.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
type MaybeRefOrGetter,
55
type Ref,
66
type ShallowRef,
7+
type TemplateRef,
78
type ToRefs,
89
type WritableComputedRef,
910
computed,
@@ -535,7 +536,7 @@ expectType<string>(toValue(unref2))
535536

536537
// useTemplateRef
537538
const tRef = useTemplateRef('foo')
538-
expectType<Readonly<ShallowRef<unknown>>>(tRef)
539+
expectType<TemplateRef>(tRef)
539540

540541
const tRef2 = useTemplateRef<HTMLElement>('bar')
541-
expectType<Readonly<ShallowRef<HTMLElement | null>>>(tRef2)
542+
expectType<TemplateRef<HTMLElement>>(tRef2)

packages-private/sfc-playground/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"vite": "catalog:"
1414
},
1515
"dependencies": {
16-
"@vue/repl": "^4.4.2",
16+
"@vue/repl": "^4.5.1",
1717
"file-saver": "^2.0.5",
1818
"jszip": "^3.10.1",
1919
"vue": "workspace:*"

packages-private/sfc-playground/src/App.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,9 @@ onMounted(() => {
165165
166166
body {
167167
font-size: 13px;
168-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
169-
Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
168+
font-family:
169+
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
170+
Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
170171
margin: 0;
171172
--base: #444;
172173
--nav-height: 50px;

packages-private/sfc-playground/src/download/download.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ export async function downloadProject(store: ReplStore) {
1717

1818
// basic structure
1919
zip.file('index.html', index)
20-
zip.file('package.json', pkg)
20+
zip.file(
21+
'package.json',
22+
pkg.replace(`"vue": "latest"`, `"vue": "${store.vueVersion || 'latest'}"`),
23+
)
2124
zip.file('vite.config.js', config)
2225
zip.file('README.md', readme)
2326

packages-private/sfc-playground/src/download/template/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
"serve": "vite preview"
99
},
1010
"dependencies": {
11-
"vue": "^3.4.0"
11+
"vue": "latest"
1212
},
1313
"devDependencies": {
14-
"@vitejs/plugin-vue": "^5.2.1",
15-
"vite": "^6.0.6"
14+
"@vitejs/plugin-vue": "^5.2.4",
15+
"vite": "^6.3.5"
1616
}
1717
}

packages-private/template-explorer/style.css

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
body {
22
margin: 0;
33
overflow: hidden;
4-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
5-
Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
4+
font-family:
5+
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
6+
Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
67
--bg: #1d1f21;
78
--border: #333;
89
}

0 commit comments

Comments
 (0)