chore: Merge branch 'minor' into vapor
ci / continuous-release (push) Has been skipped Details
ci / test (push) Failing after 8m33s Details

This commit is contained in:
edison 2025-05-08 18:11:20 +08:00 committed by daiwei
commit d8ae428172
10 changed files with 823 additions and 727 deletions

View File

@ -34,7 +34,7 @@ Please make sure to respect issue requirements and use [the new issue helper](ht
## Stay In Touch ## Stay In Touch
- [Twitter](https://twitter.com/vuejs) - [X](https://x.com/vuejs)
- [Blog](https://blog.vuejs.org/) - [Blog](https://blog.vuejs.org/)
- [Job Board](https://vuejobs.com/?ref=vuejs) - [Job Board](https://vuejobs.com/?ref=vuejs)

View File

@ -1,7 +1,7 @@
{ {
"private": true, "private": true,
"version": "3.5.13", "version": "3.5.13",
"packageManager": "pnpm@10.6.5", "packageManager": "pnpm@10.7.0",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "node scripts/dev.js", "dev": "node scripts/dev.js",
@ -69,10 +69,10 @@
"@rollup/plugin-json": "^6.1.0", "@rollup/plugin-json": "^6.1.0",
"@rollup/plugin-node-resolve": "^16.0.1", "@rollup/plugin-node-resolve": "^16.0.1",
"@rollup/plugin-replace": "5.0.4", "@rollup/plugin-replace": "5.0.4",
"@swc/core": "^1.11.12", "@swc/core": "^1.11.13",
"@types/hash-sum": "^1.0.2", "@types/hash-sum": "^1.0.2",
"@types/node": "^22.13.13", "@types/node": "^22.13.14",
"@types/semver": "^7.5.8", "@types/semver": "^7.7.0",
"@types/serve-handler": "^6.1.4", "@types/serve-handler": "^6.1.4",
"@vitest/ui": "^3.0.2", "@vitest/ui": "^3.0.2",
"@vitest/coverage-v8": "^3.0.9", "@vitest/coverage-v8": "^3.0.9",
@ -80,10 +80,10 @@
"@vue/consolidate": "1.0.0", "@vue/consolidate": "1.0.0",
"conventional-changelog-cli": "^5.0.0", "conventional-changelog-cli": "^5.0.0",
"enquirer": "^2.4.1", "enquirer": "^2.4.1",
"esbuild": "^0.25.1", "esbuild": "^0.25.2",
"esbuild-plugin-polyfill-node": "^0.3.0", "esbuild-plugin-polyfill-node": "^0.3.0",
"eslint": "^9.23.0", "eslint": "^9.23.0",
"eslint-plugin-import-x": "^4.9.1", "eslint-plugin-import-x": "^4.9.4",
"estree-walker": "catalog:", "estree-walker": "catalog:",
"jsdom": "^26.0.0", "jsdom": "^26.0.0",
"lint-staged": "^15.5.0", "lint-staged": "^15.5.0",
@ -98,7 +98,7 @@
"pug": "^3.0.3", "pug": "^3.0.3",
"puppeteer": "~24.4.0", "puppeteer": "~24.4.0",
"rimraf": "^6.0.1", "rimraf": "^6.0.1",
"rollup": "^4.37.0", "rollup": "^4.38.0",
"rollup-plugin-dts": "^6.2.1", "rollup-plugin-dts": "^6.2.1",
"rollup-plugin-esbuild": "^6.2.1", "rollup-plugin-esbuild": "^6.2.1",
"rollup-plugin-polyfill-node": "^0.13.0", "rollup-plugin-polyfill-node": "^0.13.0",
@ -109,7 +109,7 @@
"todomvc-app-css": "^2.4.3", "todomvc-app-css": "^2.4.3",
"tslib": "^2.8.1", "tslib": "^2.8.1",
"typescript": "~5.6.2", "typescript": "~5.6.2",
"typescript-eslint": "^8.27.0", "typescript-eslint": "^8.28.0",
"vite": "catalog:", "vite": "catalog:",
"vitest": "^3.0.9" "vitest": "^3.0.9"
}, },

View File

@ -12,6 +12,6 @@
}, },
"devDependencies": { "devDependencies": {
"@vitejs/plugin-vue": "^5.2.3", "@vitejs/plugin-vue": "^5.2.3",
"vite": "^6.2.2" "vite": "^6.2.3"
} }
} }

View File

@ -388,7 +388,7 @@ const tokenizer = new Tokenizer(stack, {
CompilerDeprecationTypes.COMPILER_V_BIND_SYNC, CompilerDeprecationTypes.COMPILER_V_BIND_SYNC,
currentOptions, currentOptions,
currentProp.loc, currentProp.loc,
currentProp.rawName, currentProp.arg!.loc.source,
) )
) { ) {
currentProp.name = 'model' currentProp.name = 'model'

View File

@ -119,12 +119,6 @@ export class ComputedRefImpl<T = any> implements Dependency, Subscriber {
// dev only // dev only
onTrigger?: (event: DebuggerEvent) => void onTrigger?: (event: DebuggerEvent) => void
/**
* Dev only
* @internal
*/
_warnRecursive?: boolean
constructor( constructor(
public fn: ComputedGetter<T>, public fn: ComputedGetter<T>,
private readonly setter: ComputedSetter<T> | undefined, private readonly setter: ComputedSetter<T> | undefined,

View File

@ -1,17 +1,10 @@
import { type ComputedRefImpl, computed as _computed } from '@vue/reactivity' import { computed as _computed } from '@vue/reactivity'
import { getCurrentInstance, isInSSRComponentSetup } from './component' import { isInSSRComponentSetup } from './component'
export const computed: typeof _computed = ( export const computed: typeof _computed = (
getterOrOptions: any, getterOrOptions: any,
debugOptions?: any, debugOptions?: any,
) => { ) => {
// @ts-expect-error // @ts-expect-error
const c = _computed(getterOrOptions, debugOptions, isInSSRComponentSetup) return _computed(getterOrOptions, debugOptions, isInSSRComponentSetup) as any
if (__DEV__) {
const i = getCurrentInstance()
if (i && i.appContext.config.warnRecursiveComputed) {
;(c as unknown as ComputedRefImpl<any>)._warnRecursive = true
}
}
return c as any
} }

View File

@ -140,12 +140,6 @@ export interface GenericAppConfig {
trace: string, trace: string,
) => void ) => void
/**
* TODO document for 3.5
* Enable warnings for computed getters that recursively trigger itself.
*/
warnRecursiveComputed?: boolean
/** /**
* Whether to throw unhandled errors in production. * Whether to throw unhandled errors in production.
* Default is `false` to avoid crashing on any error (and only logs it) * Default is `false` to avoid crashing on any error (and only logs it)

View File

@ -163,7 +163,12 @@ export function shouldSetAsAttr(tagName: string, key: string): boolean {
// them as attributes. // them as attributes.
// Note that `contentEditable` doesn't have this problem: its DOM // Note that `contentEditable` doesn't have this problem: its DOM
// property is also enumerated string values. // property is also enumerated string values.
if (key === 'spellcheck' || key === 'draggable' || key === 'translate') { if (
key === 'spellcheck' ||
key === 'draggable' ||
key === 'translate' ||
key === 'autocorrect'
) {
return true return true
} }

File diff suppressed because it is too large Load Diff

View File

@ -3,8 +3,8 @@ packages:
- 'packages-private/*' - 'packages-private/*'
catalog: catalog:
'@babel/parser': ^7.26.10 '@babel/parser': ^7.27.0
'@babel/types': ^7.26.10 '@babel/types': ^7.27.0
'estree-walker': ^2.0.2 'estree-walker': ^2.0.2
'vite': ^6.1.0 'vite': ^6.1.0
'@vitejs/plugin-vue': https://pkg.pr.new/@vitejs/plugin-vue@c156992 '@vitejs/plugin-vue': https://pkg.pr.new/@vitejs/plugin-vue@c156992