From 23f94869fd26ebadc98c6df838d0bf7de6011beb Mon Sep 17 00:00:00 2001 From: Saeid Zareie <65568529+Saeid-Za@users.noreply.github.com> Date: Sat, 13 Jan 2024 17:23:26 +0330 Subject: [PATCH 1/9] chore: fix typo in changelog (#10104) [ci skip] --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b4a227bc61..c2b7881d71f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,7 +21,7 @@ ### Bug Fixes -* **hydration:** improve mismatch when client valut is null or undefined ([#10086](https://github.com/vuejs/core/issues/10086)) ([08b60f5](https://github.com/vuejs/core/commit/08b60f5d0d5b57fcf3347ef66cbeab472c475a88)) +* **hydration:** improve mismatch when client value is null or undefined ([#10086](https://github.com/vuejs/core/issues/10086)) ([08b60f5](https://github.com/vuejs/core/commit/08b60f5d0d5b57fcf3347ef66cbeab472c475a88)) * **reactivity:** correct dirty assign in render function ([#10091](https://github.com/vuejs/core/issues/10091)) ([8d04205](https://github.com/vuejs/core/commit/8d042050411fdf04d9d1d6c153287164b12e0255)), closes [#10082](https://github.com/vuejs/core/issues/10082) * **runtime-core:** filter single root for nested DEV_ROOT_FRAGMENT ([#8593](https://github.com/vuejs/core/issues/8593)) ([d35b877](https://github.com/vuejs/core/commit/d35b87725ab3e2bdc86fb5781ab34939f7ec1029)), closes [#5203](https://github.com/vuejs/core/issues/5203) [#8581](https://github.com/vuejs/core/issues/8581) [#10087](https://github.com/vuejs/core/issues/10087) From 48bf8e4c708ec620e4852d71c8713394457108ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Sun, 14 Jan 2024 09:36:04 +0800 Subject: [PATCH 2/9] fix(compiler-sfc): enable prefixIdentifiers by default when reparsing on consumed AST (#10105) --- packages/compiler-sfc/src/compileTemplate.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/compiler-sfc/src/compileTemplate.ts b/packages/compiler-sfc/src/compileTemplate.ts index 5b7fe268366..2d5ffdad7d8 100644 --- a/packages/compiler-sfc/src/compileTemplate.ts +++ b/packages/compiler-sfc/src/compileTemplate.ts @@ -219,6 +219,7 @@ function doCompileTemplate({ // We need to parse a fresh one. Can't just use `source` here since we need // the AST location info to be relative to the entire SFC. const newAST = (ssr ? CompilerDOM : compiler).parse(inAST.source, { + prefixIdentifiers: true, ...compilerOptions, parseMode: 'sfc', onError: e => errors.push(e), From 5bee7a8bab1779df0bd8f3a633e3776be81c5e35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Mon, 15 Jan 2024 18:14:32 +0800 Subject: [PATCH 3/9] chore: dev build for multi-packages (#10108) --- scripts/dev.js | 190 +++++++++++++++++++++++++------------------------ 1 file changed, 96 insertions(+), 94 deletions(-) diff --git a/scripts/dev.js b/scripts/dev.js index b015835ab4f..efe9e758996 100644 --- a/scripts/dev.js +++ b/scripts/dev.js @@ -14,11 +14,10 @@ import { polyfillNode } from 'esbuild-plugin-polyfill-node' const require = createRequire(import.meta.url) const __dirname = dirname(fileURLToPath(import.meta.url)) const args = minimist(process.argv.slice(2)) -const target = args._[0] || 'vue' +const targets = args._ || ['vue'] const format = args.f || 'global' const prod = args.p || false const inlineDeps = args.i || args.inline -const pkg = require(`../packages/${target}/package.json`) // resolve output const outputFormat = format.startsWith('global') @@ -31,101 +30,104 @@ const postfix = format.endsWith('-runtime') ? `runtime.${format.replace(/-runtime$/, '')}` : format -const outfile = resolve( - __dirname, - `../packages/${target}/dist/${ - target === 'vue-compat' ? `vue` : target - }.${postfix}.${prod ? `prod.` : ``}js`, -) -const relativeOutfile = relative(process.cwd(), outfile) +for (const target of targets) { + const pkg = require(`../packages/${target}/package.json`) + const outfile = resolve( + __dirname, + `../packages/${target}/dist/${ + target === 'vue-compat' ? `vue` : target + }.${postfix}.${prod ? `prod.` : ``}js`, + ) + const relativeOutfile = relative(process.cwd(), outfile) -// resolve externals -// TODO this logic is largely duplicated from rollup.config.js -/** @type {string[]} */ -let external = [] -if (!inlineDeps) { - // cjs & esm-bundler: external all deps - if (format === 'cjs' || format.includes('esm-bundler')) { - external = [ - ...external, - ...Object.keys(pkg.dependencies || {}), - ...Object.keys(pkg.peerDependencies || {}), - // for @vue/compiler-sfc / server-renderer - 'path', - 'url', - 'stream', - ] - } + // resolve externals + // TODO this logic is largely duplicated from rollup.config.js + /** @type {string[]} */ + let external = [] + if (!inlineDeps) { + // cjs & esm-bundler: external all deps + if (format === 'cjs' || format.includes('esm-bundler')) { + external = [ + ...external, + ...Object.keys(pkg.dependencies || {}), + ...Object.keys(pkg.peerDependencies || {}), + // for @vue/compiler-sfc / server-renderer + 'path', + 'url', + 'stream', + ] + } - if (target === 'compiler-sfc') { - const consolidatePkgPath = require.resolve( - '@vue/consolidate/package.json', - { - paths: [resolve(__dirname, `../packages/${target}/`)], - }, - ) - const consolidateDeps = Object.keys( - require(consolidatePkgPath).devDependencies, - ) - external = [ - ...external, - ...consolidateDeps, - 'fs', - 'vm', - 'crypto', - 'react-dom/server', - 'teacup/lib/express', - 'arc-templates/dist/es5', - 'then-pug', - 'then-jade', - ] + if (target === 'compiler-sfc') { + const consolidatePkgPath = require.resolve( + '@vue/consolidate/package.json', + { + paths: [resolve(__dirname, `../packages/${target}/`)], + }, + ) + const consolidateDeps = Object.keys( + require(consolidatePkgPath).devDependencies, + ) + external = [ + ...external, + ...consolidateDeps, + 'fs', + 'vm', + 'crypto', + 'react-dom/server', + 'teacup/lib/express', + 'arc-templates/dist/es5', + 'then-pug', + 'then-jade', + ] + } } -} -/** @type {Array} */ -const plugins = [ - { - name: 'log-rebuild', - setup(build) { - build.onEnd(() => { - console.log(`built: ${relativeOutfile}`) - }) + /** @type {Array} */ + const plugins = [ + { + name: 'log-rebuild', + setup(build) { + build.onEnd(() => { + console.log(`built: ${relativeOutfile}`) + }) + }, }, - }, -] + ] -if (format !== 'cjs' && pkg.buildOptions?.enableNonBrowserBranches) { - plugins.push(polyfillNode()) -} + if (format !== 'cjs' && pkg.buildOptions?.enableNonBrowserBranches) { + plugins.push(polyfillNode()) + } -esbuild - .context({ - entryPoints: [resolve(__dirname, `../packages/${target}/src/index.ts`)], - outfile, - bundle: true, - external, - sourcemap: true, - format: outputFormat, - globalName: pkg.buildOptions?.name, - platform: format === 'cjs' ? 'node' : 'browser', - plugins, - define: { - __COMMIT__: `"dev"`, - __VERSION__: `"${pkg.version}"`, - __DEV__: prod ? `false` : `true`, - __TEST__: `false`, - __BROWSER__: String( - format !== 'cjs' && !pkg.buildOptions?.enableNonBrowserBranches, - ), - __GLOBAL__: String(format === 'global'), - __ESM_BUNDLER__: String(format.includes('esm-bundler')), - __ESM_BROWSER__: String(format.includes('esm-browser')), - __CJS__: String(format === 'cjs'), - __SSR__: String(format === 'cjs' || format.includes('esm-bundler')), - __COMPAT__: String(target === 'vue-compat'), - __FEATURE_SUSPENSE__: `true`, - __FEATURE_OPTIONS_API__: `true`, - __FEATURE_PROD_DEVTOOLS__: `false`, - __FEATURE_PROD_HYDRATION_MISMATCH_DETAILS__: `false`, - }, - }) - .then(ctx => ctx.watch()) + esbuild + .context({ + entryPoints: [resolve(__dirname, `../packages/${target}/src/index.ts`)], + outfile, + bundle: true, + external, + sourcemap: true, + format: outputFormat, + globalName: pkg.buildOptions?.name, + platform: format === 'cjs' ? 'node' : 'browser', + plugins, + define: { + __COMMIT__: `"dev"`, + __VERSION__: `"${pkg.version}"`, + __DEV__: prod ? `false` : `true`, + __TEST__: `false`, + __BROWSER__: String( + format !== 'cjs' && !pkg.buildOptions?.enableNonBrowserBranches, + ), + __GLOBAL__: String(format === 'global'), + __ESM_BUNDLER__: String(format.includes('esm-bundler')), + __ESM_BROWSER__: String(format.includes('esm-browser')), + __CJS__: String(format === 'cjs'), + __SSR__: String(format === 'cjs' || format.includes('esm-bundler')), + __COMPAT__: String(target === 'vue-compat'), + __FEATURE_SUSPENSE__: `true`, + __FEATURE_OPTIONS_API__: `true`, + __FEATURE_PROD_DEVTOOLS__: `false`, + __FEATURE_PROD_HYDRATION_MISMATCH_DETAILS__: `false`, + }, + }) + .then(ctx => ctx.watch()) +} From a557006f8e7f110c6f322de38931dceaab8e9cbb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Jan 2024 18:15:24 +0800 Subject: [PATCH 4/9] fix(deps): update dependency postcss to ^8.4.33 (#10110) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/compiler-sfc/package.json | 2 +- pnpm-lock.yaml | 50 +++++++++++++++--------------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/packages/compiler-sfc/package.json b/packages/compiler-sfc/package.json index 14668312da0..1c48097df3b 100644 --- a/packages/compiler-sfc/package.json +++ b/packages/compiler-sfc/package.json @@ -49,7 +49,7 @@ "@vue/shared": "workspace:*", "estree-walker": "^2.0.2", "magic-string": "^0.30.5", - "postcss": "^8.4.32", + "postcss": "^8.4.33", "source-map-js": "^1.0.2" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bdb75eeb3ca..1649d8c560a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -229,8 +229,8 @@ importers: specifier: ^0.30.5 version: 0.30.5 postcss: - specifier: ^8.4.32 - version: 8.4.32 + specifier: ^8.4.33 + version: 8.4.33 source-map-js: specifier: ^1.0.2 version: 1.0.2 @@ -255,7 +255,7 @@ importers: version: 9.0.3 postcss-modules: specifier: ^6.0.0 - version: 6.0.0(postcss@8.4.32) + version: 6.0.0(postcss@8.4.33) postcss-selector-parser: specifier: ^6.0.15 version: 6.0.15 @@ -3364,13 +3364,13 @@ packages: safer-buffer: 2.1.2 dev: true - /icss-utils@5.1.0(postcss@8.4.32): + /icss-utils@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.32 + postcss: 8.4.33 dev: true /ieee754@1.2.1: @@ -4538,60 +4538,60 @@ packages: pathe: 1.1.1 dev: true - /postcss-modules-extract-imports@3.0.0(postcss@8.4.32): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.33): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.32 + postcss: 8.4.33 dev: true - /postcss-modules-local-by-default@4.0.3(postcss@8.4.32): + /postcss-modules-local-by-default@4.0.3(postcss@8.4.33): resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.32) - postcss: 8.4.32 + icss-utils: 5.1.0(postcss@8.4.33) + postcss: 8.4.33 postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.0.0(postcss@8.4.32): + /postcss-modules-scope@3.0.0(postcss@8.4.33): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.32 + postcss: 8.4.33 postcss-selector-parser: 6.0.15 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.32): + /postcss-modules-values@4.0.0(postcss@8.4.33): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.32) - postcss: 8.4.32 + icss-utils: 5.1.0(postcss@8.4.33) + postcss: 8.4.33 dev: true - /postcss-modules@6.0.0(postcss@8.4.32): + /postcss-modules@6.0.0(postcss@8.4.33): resolution: {integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==} peerDependencies: postcss: ^8.0.0 dependencies: generic-names: 4.0.0 - icss-utils: 5.1.0(postcss@8.4.32) + icss-utils: 5.1.0(postcss@8.4.33) lodash.camelcase: 4.3.0 - postcss: 8.4.32 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.32) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.32) - postcss-modules-scope: 3.0.0(postcss@8.4.32) - postcss-modules-values: 4.0.0(postcss@8.4.32) + postcss: 8.4.33 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.33) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.33) + postcss-modules-scope: 3.0.0(postcss@8.4.33) + postcss-modules-values: 4.0.0(postcss@8.4.33) string-hash: 1.1.3 dev: true @@ -4607,8 +4607,8 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.32: - resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} + /postcss@8.4.33: + resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -5870,7 +5870,7 @@ packages: dependencies: '@types/node': 20.10.7 esbuild: 0.19.10 - postcss: 8.4.32 + postcss: 8.4.33 rollup: 4.4.1 terser: 5.22.0 optionalDependencies: From ab483771a94437f82663304bd60708d3076cab0c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Jan 2024 18:15:36 +0800 Subject: [PATCH 5/9] chore(deps): update all non-major dependencies (#10111) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 ++-- pnpm-lock.yaml | 40 ++++++++++++++++++++-------------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index dc73bfa90d6..3dc32246262 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "version": "3.4.13", - "packageManager": "pnpm@8.14.0", + "packageManager": "pnpm@8.14.1", "type": "module", "scripts": { "dev": "node scripts/dev.js", @@ -70,7 +70,7 @@ "@rollup/plugin-terser": "^0.4.4", "@types/hash-sum": "^1.0.2", "@types/minimist": "^1.2.5", - "@types/node": "^20.10.7", + "@types/node": "^20.11.1", "@types/semver": "^7.5.6", "@typescript-eslint/eslint-plugin": "^6.17.0", "@typescript-eslint/parser": "^6.17.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1649d8c560a..9df4a08a6fe 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,8 +42,8 @@ importers: specifier: ^1.2.5 version: 1.2.5 '@types/node': - specifier: ^20.10.7 - version: 20.10.7 + specifier: ^20.11.1 + version: 20.11.1 '@types/semver': specifier: ^7.5.6 version: 7.5.6 @@ -169,10 +169,10 @@ importers: version: 5.2.2 vite: specifier: ^5.0.5 - version: 5.0.7(@types/node@20.10.7)(terser@5.22.0) + version: 5.0.7(@types/node@20.11.1)(terser@5.22.0) vitest: specifier: ^1.1.3 - version: 1.1.3(@types/node@20.10.7)(jsdom@23.2.0)(terser@5.22.0) + version: 1.1.3(@types/node@20.11.1)(jsdom@23.2.0)(terser@5.22.0) packages/compiler-core: dependencies: @@ -364,7 +364,7 @@ importers: version: 4.4.0(vite@5.0.7)(vue@packages+vue) vite: specifier: ^5.0.5 - version: 5.0.7(@types/node@20.10.7)(terser@5.22.0) + version: 5.0.7(@types/node@20.11.1)(terser@5.22.0) packages/shared: {} @@ -639,8 +639,8 @@ packages: vitest: '>=1.0.0-beta.4 || >=1' dependencies: '@codspeed/core': 2.3.1 - vite: 5.0.7(@types/node@20.10.7)(terser@5.22.0) - vitest: 1.1.3(@types/node@20.10.7)(jsdom@23.2.0)(terser@5.22.0) + vite: 5.0.7(@types/node@20.11.1)(terser@5.22.0) + vitest: 1.1.3(@types/node@20.11.1)(jsdom@23.2.0)(terser@5.22.0) dev: true /@esbuild/aix-ppc64@0.19.10: @@ -1261,8 +1261,8 @@ packages: resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} dev: true - /@types/node@20.10.7: - resolution: {integrity: sha512-fRbIKb8C/Y2lXxB5eVMj4IU7xpdox0Lh8bUPEdtLysaylsml1hOOx1+STloRs/B9nf7C6kPRmmg/V7aQW7usNg==} + /@types/node@20.11.1: + resolution: {integrity: sha512-DsXojJUES2M+FE8CpptJTKpg+r54moV9ZEncPstni1WHFmTcCzeFLnMFfyhCVS8XNOy/OQG+8lVxRLRrVHmV5A==} dependencies: undici-types: 5.26.5 dev: true @@ -1283,7 +1283,7 @@ packages: resolution: {integrity: sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==} requiresBuild: true dependencies: - '@types/node': 20.10.7 + '@types/node': 20.11.1 dev: true optional: true @@ -1492,7 +1492,7 @@ packages: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 5.0.7(@types/node@20.10.7)(terser@5.22.0) + vite: 5.0.7(@types/node@20.11.1)(terser@5.22.0) vue: link:packages/vue dev: true @@ -1510,7 +1510,7 @@ packages: magicast: 0.3.2 picocolors: 1.0.0 test-exclude: 6.0.0 - vitest: 1.1.3(@types/node@20.10.7)(jsdom@23.2.0)(terser@5.22.0) + vitest: 1.1.3(@types/node@20.11.1)(jsdom@23.2.0)(terser@5.22.0) transitivePeerDependencies: - supports-color dev: true @@ -5819,7 +5819,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite-node@1.1.3(@types/node@20.10.7)(terser@5.22.0): + /vite-node@1.1.3(@types/node@20.11.1)(terser@5.22.0): resolution: {integrity: sha512-BLSO72YAkIUuNrOx+8uznYICJfTEbvBAmWClY3hpath5+h1mbPS5OMn42lrTxXuyCazVyZoDkSRnju78GiVCqA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5828,7 +5828,7 @@ packages: debug: 4.3.4 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.0.7(@types/node@20.10.7)(terser@5.22.0) + vite: 5.0.7(@types/node@20.11.1)(terser@5.22.0) transitivePeerDependencies: - '@types/node' - less @@ -5840,7 +5840,7 @@ packages: - terser dev: true - /vite@5.0.7(@types/node@20.10.7)(terser@5.22.0): + /vite@5.0.7(@types/node@20.11.1)(terser@5.22.0): resolution: {integrity: sha512-B4T4rJCDPihrQo2B+h1MbeGL/k/GMAHzhQ8S0LjQ142s6/+l3hHTT095ORvsshj4QCkoWu3Xtmob5mazvakaOw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5868,7 +5868,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.10.7 + '@types/node': 20.11.1 esbuild: 0.19.10 postcss: 8.4.33 rollup: 4.4.1 @@ -5877,7 +5877,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.1.3(@types/node@20.10.7)(jsdom@23.2.0)(terser@5.22.0): + /vitest@1.1.3(@types/node@20.11.1)(jsdom@23.2.0)(terser@5.22.0): resolution: {integrity: sha512-2l8om1NOkiA90/Y207PsEvJLYygddsOyr81wLQ20Ra8IlLKbyQncWsGZjnbkyG2KwwuTXLQjEPOJuxGMG8qJBQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5902,7 +5902,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.10.7 + '@types/node': 20.11.1 '@vitest/expect': 1.1.3 '@vitest/runner': 1.1.3 '@vitest/snapshot': 1.1.3 @@ -5922,8 +5922,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.1 - vite: 5.0.7(@types/node@20.10.7)(terser@5.22.0) - vite-node: 1.1.3(@types/node@20.10.7)(terser@5.22.0) + vite: 5.0.7(@types/node@20.11.1)(terser@5.22.0) + vite-node: 1.1.3(@types/node@20.11.1)(terser@5.22.0) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 237cb453196daa4be386131875b2952e16a91c73 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Jan 2024 18:15:47 +0800 Subject: [PATCH 6/9] chore(deps): update lint (#10112) * chore(deps): update lint * [autofix.ci] apply automated fixes --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> --- package.json | 8 +- packages/reactivity/src/ref.ts | 11 +- packages/runtime-core/src/componentEmits.ts | 38 ++++--- .../src/componentPublicInstance.ts | 46 ++++---- pnpm-lock.yaml | 106 +++++++++--------- 5 files changed, 107 insertions(+), 102 deletions(-) diff --git a/package.json b/package.json index 3dc32246262..3aa28b4cd25 100644 --- a/package.json +++ b/package.json @@ -72,8 +72,8 @@ "@types/minimist": "^1.2.5", "@types/node": "^20.11.1", "@types/semver": "^7.5.6", - "@typescript-eslint/eslint-plugin": "^6.17.0", - "@typescript-eslint/parser": "^6.17.0", + "@typescript-eslint/eslint-plugin": "^6.18.1", + "@typescript-eslint/parser": "^6.18.1", "@vitest/coverage-istanbul": "^1.1.3", "@vue/consolidate": "0.17.3", "conventional-changelog-cli": "^4.1.0", @@ -83,7 +83,7 @@ "eslint": "^8.56.0", "eslint-define-config": "^1.24.1", "eslint-plugin-import": "npm:eslint-plugin-i@^2.29.1", - "eslint-plugin-jest": "^27.6.1", + "eslint-plugin-jest": "^27.6.3", "estree-walker": "^2.0.2", "execa": "^8.0.1", "jsdom": "^23.2.0", @@ -95,7 +95,7 @@ "minimist": "^1.2.8", "npm-run-all": "^4.1.5", "picocolors": "^1.0.0", - "prettier": "^3.1.1", + "prettier": "^3.2.2", "pretty-bytes": "^6.1.1", "pug": "^3.0.2", "puppeteer": "~21.7.0", diff --git a/packages/reactivity/src/ref.ts b/packages/reactivity/src/ref.ts index 6ec3dacc9e7..a3fdde48366 100644 --- a/packages/reactivity/src/ref.ts +++ b/packages/reactivity/src/ref.ts @@ -501,11 +501,12 @@ export type ShallowUnwrapRef = { type DistrubuteRef = T extends Ref ? V : T -export type UnwrapRef = T extends ShallowRef - ? V - : T extends Ref - ? UnwrapRefSimple - : UnwrapRefSimple +export type UnwrapRef = + T extends ShallowRef + ? V + : T extends Ref + ? UnwrapRefSimple + : UnwrapRefSimple export type UnwrapRefSimple = T extends | Function diff --git a/packages/runtime-core/src/componentEmits.ts b/packages/runtime-core/src/componentEmits.ts index 3c0a111aa3e..4551235bc5a 100644 --- a/packages/runtime-core/src/componentEmits.ts +++ b/packages/runtime-core/src/componentEmits.ts @@ -54,28 +54,30 @@ export type EmitsToProps = T extends string[] } : {} -export type ShortEmitsToObject = E extends Record - ? { - [K in keyof E]: (...args: E[K]) => any - } - : E +export type ShortEmitsToObject = + E extends Record + ? { + [K in keyof E]: (...args: E[K]) => any + } + : E export type EmitFn< Options = ObjectEmitsOptions, Event extends keyof Options = keyof Options, -> = Options extends Array - ? (event: V, ...args: any[]) => void - : {} extends Options // if the emit is empty object (usually the default value for emit) should be converted to function - ? (event: string, ...args: any[]) => void - : UnionToIntersection< - { - [key in Event]: Options[key] extends (...args: infer Args) => any - ? (event: key, ...args: Args) => void - : Options[key] extends any[] - ? (event: key, ...args: Options[key]) => void - : (event: key, ...args: any[]) => void - }[Event] - > +> = + Options extends Array + ? (event: V, ...args: any[]) => void + : {} extends Options // if the emit is empty object (usually the default value for emit) should be converted to function + ? (event: string, ...args: any[]) => void + : UnionToIntersection< + { + [key in Event]: Options[key] extends (...args: infer Args) => any + ? (event: key, ...args: Args) => void + : Options[key] extends any[] + ? (event: key, ...args: Options[key]) => void + : (event: key, ...args: any[]) => void + }[Event] + > export function emit( instance: ComponentInternalInstance, diff --git a/packages/runtime-core/src/componentPublicInstance.ts b/packages/runtime-core/src/componentPublicInstance.ts index 8cefecc7aea..5b2b4f2303d 100644 --- a/packages/runtime-core/src/componentPublicInstance.ts +++ b/packages/runtime-core/src/componentPublicInstance.ts @@ -84,34 +84,36 @@ type IsDefaultMixinComponent = T extends ComponentOptionsMixin : false : false -type MixinToOptionTypes = T extends ComponentOptionsBase< - infer P, - infer B, - infer D, - infer C, - infer M, - infer Mixin, - infer Extends, - any, - any, - infer Defaults, - any, - any, - any -> - ? OptionTypesType

& - IntersectionMixin & - IntersectionMixin - : never +type MixinToOptionTypes = + T extends ComponentOptionsBase< + infer P, + infer B, + infer D, + infer C, + infer M, + infer Mixin, + infer Extends, + any, + any, + infer Defaults, + any, + any, + any + > + ? OptionTypesType

& + IntersectionMixin & + IntersectionMixin + : never // ExtractMixin(map type) is used to resolve circularly references type ExtractMixin = { Mixin: MixinToOptionTypes }[T extends ComponentOptionsMixin ? 'Mixin' : never] -export type IntersectionMixin = IsDefaultMixinComponent extends true - ? OptionTypesType - : UnionToIntersection> +export type IntersectionMixin = + IsDefaultMixinComponent extends true + ? OptionTypesType + : UnionToIntersection> export type UnwrapMixinsType< T, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9df4a08a6fe..01f6b261b7b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,11 +48,11 @@ importers: specifier: ^7.5.6 version: 7.5.6 '@typescript-eslint/eslint-plugin': - specifier: ^6.17.0 - version: 6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.56.0)(typescript@5.2.2) + specifier: ^6.18.1 + version: 6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^6.17.0 - version: 6.17.0(eslint@8.56.0)(typescript@5.2.2) + specifier: ^6.18.1 + version: 6.18.1(eslint@8.56.0)(typescript@5.2.2) '@vitest/coverage-istanbul': specifier: ^1.1.3 version: 1.1.3(vitest@1.1.3) @@ -79,10 +79,10 @@ importers: version: 1.24.1 eslint-plugin-import: specifier: npm:eslint-plugin-i@^2.29.1 - version: /eslint-plugin-i@2.29.1(@typescript-eslint/parser@6.17.0)(eslint@8.56.0) + version: /eslint-plugin-i@2.29.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0) eslint-plugin-jest: - specifier: ^27.6.1 - version: 27.6.1(@typescript-eslint/eslint-plugin@6.17.0)(eslint@8.56.0)(typescript@5.2.2) + specifier: ^27.6.3 + version: 27.6.3(@typescript-eslint/eslint-plugin@6.18.1)(eslint@8.56.0)(typescript@5.2.2) estree-walker: specifier: ^2.0.2 version: 2.0.2 @@ -117,8 +117,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 prettier: - specifier: ^3.1.1 - version: 3.1.1 + specifier: ^3.2.2 + version: 3.2.2 pretty-bytes: specifier: ^6.1.1 version: 6.1.1 @@ -1287,8 +1287,8 @@ packages: dev: true optional: true - /@typescript-eslint/eslint-plugin@6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-Vih/4xLXmY7V490dGwBQJTpIZxH4ZFH6eCVmQ4RFkB+wmaCTDAx4dtgoWwMNGKLkqRY1L6rPqzEbjorRnDo4rQ==} + /@typescript-eslint/eslint-plugin@6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-nISDRYnnIpk7VCFrGcu1rnZfM1Dh9LRHnfgdkjcbi/l7g16VYRri3TjXi9Ir4lOZSw5N/gnV/3H7jIPQ8Q4daA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -1299,11 +1299,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 6.17.0(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.17.0 - '@typescript-eslint/type-utils': 6.17.0(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.17.0(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.17.0 + '@typescript-eslint/parser': 6.18.1(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.18.1 + '@typescript-eslint/type-utils': 6.18.1(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.18.1 debug: 4.3.4 eslint: 8.56.0 graphemer: 1.4.0 @@ -1316,8 +1316,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.17.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-C4bBaX2orvhK+LlwrY8oWGmSl4WolCfYm513gEccdWZj0CwGadbIADb0FtVEcI+WzUyjyoBj2JRP8g25E6IB8A==} + /@typescript-eslint/parser@6.18.1(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-zct/MdJnVaRRNy9e84XnVtRv9Vf91/qqe+hZJtKanjojud4wAVy/7lXxJmMyX6X6J+xc6c//YEWvpeif8cAhWA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1326,10 +1326,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.17.0 - '@typescript-eslint/types': 6.17.0 - '@typescript-eslint/typescript-estree': 6.17.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.17.0 + '@typescript-eslint/scope-manager': 6.18.1 + '@typescript-eslint/types': 6.18.1 + '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.18.1 debug: 4.3.4 eslint: 8.56.0 typescript: 5.2.2 @@ -1345,16 +1345,16 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@6.17.0: - resolution: {integrity: sha512-RX7a8lwgOi7am0k17NUO0+ZmMOX4PpjLtLRgLmT1d3lBYdWH4ssBUbwdmc5pdRX8rXon8v9x8vaoOSpkHfcXGA==} + /@typescript-eslint/scope-manager@6.18.1: + resolution: {integrity: sha512-BgdBwXPFmZzaZUuw6wKiHKIovms97a7eTImjkXCZE04TGHysG+0hDQPmygyvgtkoB/aOQwSM/nWv3LzrOIQOBw==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.17.0 - '@typescript-eslint/visitor-keys': 6.17.0 + '@typescript-eslint/types': 6.18.1 + '@typescript-eslint/visitor-keys': 6.18.1 dev: true - /@typescript-eslint/type-utils@6.17.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-hDXcWmnbtn4P2B37ka3nil3yi3VCQO2QEB9gBiHJmQp5wmyQWqnjA85+ZcE8c4FqnaB6lBwMrPkgd4aBYz3iNg==} + /@typescript-eslint/type-utils@6.18.1(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-wyOSKhuzHeU/5pcRDP2G2Ndci+4g653V43gXTpt4nbyoIOAASkGDA9JIAgbQCdCkcr1MvpSYWzxTz0olCn8+/Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1363,8 +1363,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.17.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.17.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.2.2) + '@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.56.0 ts-api-utils: 1.0.3(typescript@5.2.2) @@ -1378,8 +1378,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.17.0: - resolution: {integrity: sha512-qRKs9tvc3a4RBcL/9PXtKSehI/q8wuU9xYJxe97WFxnzH8NWWtcW3ffNS+EWg8uPvIerhjsEZ+rHtDqOCiH57A==} + /@typescript-eslint/types@6.18.1: + resolution: {integrity: sha512-4TuMAe+tc5oA7wwfqMtB0Y5OrREPF1GeJBAjqwgZh1lEMH5PJQgWgHGfYufVB51LtjD+peZylmeyxUXPfENLCw==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -1404,8 +1404,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.17.0(typescript@5.2.2): - resolution: {integrity: sha512-gVQe+SLdNPfjlJn5VNGhlOhrXz4cajwFd5kAgWtZ9dCZf4XJf8xmgCTLIqec7aha3JwgLI2CK6GY1043FRxZwg==} + /@typescript-eslint/typescript-estree@6.18.1(typescript@5.2.2): + resolution: {integrity: sha512-fv9B94UAhywPRhUeeV/v+3SBDvcPiLxRZJw/xZeeGgRLQZ6rLMG+8krrJUyIf6s1ecWTzlsbp0rlw7n9sjufHA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -1413,8 +1413,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.17.0 - '@typescript-eslint/visitor-keys': 6.17.0 + '@typescript-eslint/types': 6.18.1 + '@typescript-eslint/visitor-keys': 6.18.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1446,8 +1446,8 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.17.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-LofsSPjN/ITNkzV47hxas2JCsNCEnGhVvocfyOcLzT9c/tSZE7SfhS/iWtzP1lKNOEfLhRTZz6xqI8N2RzweSQ==} + /@typescript-eslint/utils@6.18.1(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-zZmTuVZvD1wpoceHvoQpOiewmWu3uP9FuTWo8vqpy2ffsmfCE8mklRPi+vmnIYAIk9t/4kOThri2QCDgor+OpQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1455,9 +1455,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.14 '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 6.17.0 - '@typescript-eslint/types': 6.17.0 - '@typescript-eslint/typescript-estree': 6.17.0(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.18.1 + '@typescript-eslint/types': 6.18.1 + '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.2.2) eslint: 8.56.0 semver: 7.5.4 transitivePeerDependencies: @@ -1473,11 +1473,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.17.0: - resolution: {integrity: sha512-H6VwB/k3IuIeQOyYczyyKN8wH6ed8EwliaYHLxOIhyF0dYEIsN8+Bk3GE19qafeMKyZJJHP8+O1HiFhFLUNKSg==} + /@typescript-eslint/visitor-keys@6.18.1: + resolution: {integrity: sha512-/kvt0C5lRqGoCfsbmm7/CwMqoSkY3zzHLIjdhHZQW3VFrnz7ATecOHR7nb7V+xn4286MBxfnQfQhAmCI0u+bJA==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.17.0 + '@typescript-eslint/types': 6.18.1 eslint-visitor-keys: 3.4.3 dev: true @@ -2655,7 +2655,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.17.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.18.1)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2676,7 +2676,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.17.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.18.1(eslint@8.56.0)(typescript@5.2.2) debug: 3.2.7 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 @@ -2684,7 +2684,7 @@ packages: - supports-color dev: true - /eslint-plugin-i@2.29.1(@typescript-eslint/parser@6.17.0)(eslint@8.56.0): + /eslint-plugin-i@2.29.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0): resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==} engines: {node: '>=12'} peerDependencies: @@ -2694,7 +2694,7 @@ packages: doctrine: 3.0.0 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.17.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.18.1)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) get-tsconfig: 4.7.2 is-glob: 4.0.3 minimatch: 3.1.2 @@ -2706,8 +2706,8 @@ packages: - supports-color dev: true - /eslint-plugin-jest@27.6.1(@typescript-eslint/eslint-plugin@6.17.0)(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-WEYkyVXD9NlmFBKvrkmzrC+C9yZoz5pAml2hO19PlS3spJtoiwj4p2u8spd/7zx5IvRsZsCmsoImaAvBB9X93Q==} + /eslint-plugin-jest@27.6.3(@typescript-eslint/eslint-plugin@6.18.1)(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-+YsJFVH6R+tOiO3gCJon5oqn4KWc+mDq2leudk8mrp8RFubLOo9CVyi3cib4L7XMpxExmkmBZQTPDYVBzgpgOA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 @@ -2719,7 +2719,7 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': 6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.2.2) '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.2.2) eslint: 8.56.0 transitivePeerDependencies: @@ -4620,8 +4620,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier@3.1.1: - resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==} + /prettier@3.2.2: + resolution: {integrity: sha512-HTByuKZzw7utPiDO523Tt2pLtEyK7OibUD9suEJQrPUCYQqrHr74GGX6VidMrovbf/I50mPqr8j/II6oBAuc5A==} engines: {node: '>=14'} hasBin: true dev: true From 3cd3a44ed354387fa6679740e34595f4e05170e3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Jan 2024 20:08:45 +0800 Subject: [PATCH 7/9] chore(deps): update test to ^1.2.0 (#10113) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +-- pnpm-lock.yaml | 66 +++++++++++++++++++++++++------------------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/package.json b/package.json index 3aa28b4cd25..ad082e487cd 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "@types/semver": "^7.5.6", "@typescript-eslint/eslint-plugin": "^6.18.1", "@typescript-eslint/parser": "^6.18.1", - "@vitest/coverage-istanbul": "^1.1.3", + "@vitest/coverage-istanbul": "^1.2.0", "@vue/consolidate": "0.17.3", "conventional-changelog-cli": "^4.1.0", "enquirer": "^2.4.1", @@ -113,6 +113,6 @@ "tsx": "^4.7.0", "typescript": "^5.2.2", "vite": "^5.0.5", - "vitest": "^1.1.3" + "vitest": "^1.2.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 01f6b261b7b..b2c4b2b2a8c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: version: 7.23.6 '@codspeed/vitest-plugin': specifier: ^2.3.1 - version: 2.3.1(vite@5.0.7)(vitest@1.1.3) + version: 2.3.1(vite@5.0.7)(vitest@1.2.0) '@rollup/plugin-alias': specifier: ^5.0.1 version: 5.0.1(rollup@4.4.1) @@ -54,8 +54,8 @@ importers: specifier: ^6.18.1 version: 6.18.1(eslint@8.56.0)(typescript@5.2.2) '@vitest/coverage-istanbul': - specifier: ^1.1.3 - version: 1.1.3(vitest@1.1.3) + specifier: ^1.2.0 + version: 1.2.0(vitest@1.2.0) '@vue/consolidate': specifier: 0.17.3 version: 0.17.3 @@ -171,8 +171,8 @@ importers: specifier: ^5.0.5 version: 5.0.7(@types/node@20.11.1)(terser@5.22.0) vitest: - specifier: ^1.1.3 - version: 1.1.3(@types/node@20.11.1)(jsdom@23.2.0)(terser@5.22.0) + specifier: ^1.2.0 + version: 1.2.0(@types/node@20.11.1)(jsdom@23.2.0)(terser@5.22.0) packages/compiler-core: dependencies: @@ -632,7 +632,7 @@ packages: node-gyp-build: 4.7.1 dev: true - /@codspeed/vitest-plugin@2.3.1(vite@5.0.7)(vitest@1.1.3): + /@codspeed/vitest-plugin@2.3.1(vite@5.0.7)(vitest@1.2.0): resolution: {integrity: sha512-/e4G2B/onX/hG/EjUU/NpDxnIryeTDamVRTBeWfgQDoex3g7GDzTwoQktaU5l/Asw3ZjEErQg+oQVToQ6jYZlA==} peerDependencies: vite: ^4.2.0 || ^5.0.0 @@ -640,7 +640,7 @@ packages: dependencies: '@codspeed/core': 2.3.1 vite: 5.0.7(@types/node@20.11.1)(terser@5.22.0) - vitest: 1.1.3(@types/node@20.11.1)(jsdom@23.2.0)(terser@5.22.0) + vitest: 1.2.0(@types/node@20.11.1)(jsdom@23.2.0)(terser@5.22.0) dev: true /@esbuild/aix-ppc64@0.19.10: @@ -1496,8 +1496,8 @@ packages: vue: link:packages/vue dev: true - /@vitest/coverage-istanbul@1.1.3(vitest@1.1.3): - resolution: {integrity: sha512-pqx/RaLjJ7oxsbi0Vc/CjyXBXd86yQ0lKq1PPnk9BMNLqMTEWwfcTelcNrl41yK+IVRhHlFtwcjDva3VslbMMQ==} + /@vitest/coverage-istanbul@1.2.0(vitest@1.2.0): + resolution: {integrity: sha512-hNN/pUR5la6P/L78+YcRl05Lpf6APXlH9ujkmCxxjVWtVG6WuKuqUMhHgYQBYfiOORBwDZ1MBgSUGCMPh4kpmQ==} peerDependencies: vitest: ^1.0.0 dependencies: @@ -1510,43 +1510,43 @@ packages: magicast: 0.3.2 picocolors: 1.0.0 test-exclude: 6.0.0 - vitest: 1.1.3(@types/node@20.11.1)(jsdom@23.2.0)(terser@5.22.0) + vitest: 1.2.0(@types/node@20.11.1)(jsdom@23.2.0)(terser@5.22.0) transitivePeerDependencies: - supports-color dev: true - /@vitest/expect@1.1.3: - resolution: {integrity: sha512-MnJqsKc1Ko04lksF9XoRJza0bGGwTtqfbyrsYv5on4rcEkdo+QgUdITenBQBUltKzdxW7K3rWh+nXRULwsdaVg==} + /@vitest/expect@1.2.0: + resolution: {integrity: sha512-H+2bHzhyvgp32o7Pgj2h9RTHN0pgYaoi26Oo3mE+dCi1PAqV31kIIVfTbqMO3Bvshd5mIrJLc73EwSRrbol9Lw==} dependencies: - '@vitest/spy': 1.1.3 - '@vitest/utils': 1.1.3 + '@vitest/spy': 1.2.0 + '@vitest/utils': 1.2.0 chai: 4.3.10 dev: true - /@vitest/runner@1.1.3: - resolution: {integrity: sha512-Va2XbWMnhSdDEh/OFxyUltgQuuDRxnarK1hW5QNN4URpQrqq6jtt8cfww/pQQ4i0LjoYxh/3bYWvDFlR9tU73g==} + /@vitest/runner@1.2.0: + resolution: {integrity: sha512-vaJkDoQaNUTroT70OhM0NPznP7H3WyRwt4LvGwCVYs/llLaqhoSLnlIhUClZpbF5RgAee29KRcNz0FEhYcgxqA==} dependencies: - '@vitest/utils': 1.1.3 + '@vitest/utils': 1.2.0 p-limit: 5.0.0 pathe: 1.1.1 dev: true - /@vitest/snapshot@1.1.3: - resolution: {integrity: sha512-U0r8pRXsLAdxSVAyGNcqOU2H3Z4Y2dAAGGelL50O0QRMdi1WWeYHdrH/QWpN1e8juWfVKsb8B+pyJwTC+4Gy9w==} + /@vitest/snapshot@1.2.0: + resolution: {integrity: sha512-P33EE7TrVgB3HDLllrjK/GG6WSnmUtWohbwcQqmm7TAk9AVHpdgf7M3F3qRHKm6vhr7x3eGIln7VH052Smo6Kw==} dependencies: magic-string: 0.30.5 pathe: 1.1.1 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.1.3: - resolution: {integrity: sha512-Ec0qWyGS5LhATFQtldvChPTAHv08yHIOZfiNcjwRQbFPHpkih0md9KAbs7TfeIfL7OFKoe7B/6ukBTqByubXkQ==} + /@vitest/spy@1.2.0: + resolution: {integrity: sha512-MNxSAfxUaCeowqyyGwC293yZgk7cECZU9wGb8N1pYQ0yOn/SIr8t0l9XnGRdQZvNV/ZHBYu6GO/W3tj5K3VN1Q==} dependencies: tinyspy: 2.2.0 dev: true - /@vitest/utils@1.1.3: - resolution: {integrity: sha512-Dyt3UMcdElTll2H75vhxfpZu03uFpXRCHxWnzcrFjZxT1kTbq8ALUYIeBgGolo1gldVdI0YSlQRacsqxTwNqwg==} + /@vitest/utils@1.2.0: + resolution: {integrity: sha512-FyD5bpugsXlwVpTcGLDf3wSPYy8g541fQt14qtzo8mJ4LdEpDKZ9mQy2+qdJm2TZRpjY5JLXihXCgIxiRJgi5g==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -5819,8 +5819,8 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite-node@1.1.3(@types/node@20.11.1)(terser@5.22.0): - resolution: {integrity: sha512-BLSO72YAkIUuNrOx+8uznYICJfTEbvBAmWClY3hpath5+h1mbPS5OMn42lrTxXuyCazVyZoDkSRnju78GiVCqA==} + /vite-node@1.2.0(@types/node@20.11.1)(terser@5.22.0): + resolution: {integrity: sha512-ETnQTHeAbbOxl7/pyBck9oAPZZZo+kYnFt1uQDD+hPReOc+wCjXw4r4jHriBRuVDB5isHmPXxrfc1yJnfBERqg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -5877,8 +5877,8 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.1.3(@types/node@20.11.1)(jsdom@23.2.0)(terser@5.22.0): - resolution: {integrity: sha512-2l8om1NOkiA90/Y207PsEvJLYygddsOyr81wLQ20Ra8IlLKbyQncWsGZjnbkyG2KwwuTXLQjEPOJuxGMG8qJBQ==} + /vitest@1.2.0(@types/node@20.11.1)(jsdom@23.2.0)(terser@5.22.0): + resolution: {integrity: sha512-Ixs5m7BjqvLHXcibkzKRQUvD/XLw0E3rvqaCMlrm/0LMsA0309ZqYvTlPzkhh81VlEyVZXFlwWnkhb6/UMtcaQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -5903,11 +5903,11 @@ packages: optional: true dependencies: '@types/node': 20.11.1 - '@vitest/expect': 1.1.3 - '@vitest/runner': 1.1.3 - '@vitest/snapshot': 1.1.3 - '@vitest/spy': 1.1.3 - '@vitest/utils': 1.1.3 + '@vitest/expect': 1.2.0 + '@vitest/runner': 1.2.0 + '@vitest/snapshot': 1.2.0 + '@vitest/spy': 1.2.0 + '@vitest/utils': 1.2.0 acorn-walk: 8.3.1 cac: 6.7.14 chai: 4.3.10 @@ -5923,7 +5923,7 @@ packages: tinybench: 2.5.1 tinypool: 0.8.1 vite: 5.0.7(@types/node@20.11.1)(terser@5.22.0) - vite-node: 1.1.3(@types/node@20.11.1)(terser@5.22.0) + vite-node: 1.2.0(@types/node@20.11.1)(terser@5.22.0) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 20f62afaafd422e42b99dde9c16f9a4ebfb9c5f7 Mon Sep 17 00:00:00 2001 From: Doctor Wu <44631608+Doctor-wu@users.noreply.github.com> Date: Mon, 15 Jan 2024 23:38:57 +0800 Subject: [PATCH 8/9] fix(reactivity): fix regression for computed with mutation (#10119) close #10114 --- .../reactivity/__tests__/computed.spec.ts | 28 +++++++++++++------ packages/reactivity/src/effect.ts | 5 +++- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/packages/reactivity/__tests__/computed.spec.ts b/packages/reactivity/__tests__/computed.spec.ts index 6f5d7197157..d0c4dc499da 100644 --- a/packages/reactivity/__tests__/computed.spec.ts +++ b/packages/reactivity/__tests__/computed.spec.ts @@ -1,3 +1,4 @@ +import { h, nextTick, nodeOps, render, serializeInner } from '@vue/runtime-test' import { type DebuggerEvent, ITERATE_KEY, @@ -470,15 +471,24 @@ describe('reactivity/computed', () => { expect(c2.effect._dirtyLevel).toBe(DirtyLevels.NotDirty) }) - it('should work when chained(ref+computed)', () => { - const value = ref(0) + it('should be not dirty after deps mutate (mutate deps in computed)', async () => { + const state = reactive({}) const consumer = computed(() => { - value.value++ - return 'foo' - }) - const provider = computed(() => value.value + consumer.value) - expect(provider.value).toBe('0foo') - expect(provider.effect._dirtyLevel).toBe(DirtyLevels.Dirty) - expect(provider.value).toBe('1foo') + if (!('a' in state)) state.a = 1 + return state.a + }) + const Comp = { + setup: () => { + nextTick().then(() => { + state.a = 2 + }) + return () => consumer.value + }, + } + const root = nodeOps.createElement('div') + render(h(Comp), root) + await nextTick() + await nextTick() + expect(serializeInner(root)).toBe(`2`) }) }) diff --git a/packages/reactivity/src/effect.ts b/packages/reactivity/src/effect.ts index e8a3d996752..6d13f3b9977 100644 --- a/packages/reactivity/src/effect.ts +++ b/packages/reactivity/src/effect.ts @@ -295,7 +295,10 @@ export function triggerEffects( // when recurse effect is running, dep map could have outdated items continue } - if (effect._dirtyLevel < dirtyLevel) { + if ( + effect._dirtyLevel < dirtyLevel && + !(effect._runnings && !effect.allowRecurse) + ) { const lastDirtyLevel = effect._dirtyLevel effect._dirtyLevel = dirtyLevel if (lastDirtyLevel === DirtyLevels.NotDirty) { From 07922dacc7422e828eb4238eac58dd11cd2cdb5c Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 15 Jan 2024 23:41:12 +0800 Subject: [PATCH 9/9] release: v3.4.14 --- CHANGELOG.md | 11 +++++++++++ package.json | 2 +- packages/compiler-core/package.json | 2 +- packages/compiler-dom/package.json | 2 +- packages/compiler-sfc/package.json | 2 +- packages/compiler-ssr/package.json | 2 +- packages/reactivity/package.json | 2 +- packages/runtime-core/package.json | 2 +- packages/runtime-dom/package.json | 2 +- packages/server-renderer/package.json | 2 +- packages/shared/package.json | 2 +- packages/vue-compat/package.json | 2 +- packages/vue/package.json | 2 +- 13 files changed, 23 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2b7881d71f..d675472ae50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +## [3.4.14](https://github.com/vuejs/core/compare/v3.4.13...v3.4.14) (2024-01-15) + + +### Bug Fixes + +* **compiler-sfc:** enable prefixIdentifiers by default when reparsing on consumed AST ([#10105](https://github.com/vuejs/core/issues/10105)) ([48bf8e4](https://github.com/vuejs/core/commit/48bf8e4c708ec620e4852d71c8713394457108ee)) +* **deps:** update dependency postcss to ^8.4.33 ([#10110](https://github.com/vuejs/core/issues/10110)) ([a557006](https://github.com/vuejs/core/commit/a557006f8e7f110c6f322de38931dceaab8e9cbb)) +* **reactivity:** fix regression for computed with mutation ([#10119](https://github.com/vuejs/core/issues/10119)) ([20f62af](https://github.com/vuejs/core/commit/20f62afaafd422e42b99dde9c16f9a4ebfb9c5f7)), closes [#10114](https://github.com/vuejs/core/issues/10114) + + + ## [3.4.13](https://github.com/vuejs/core/compare/v3.4.12...v3.4.13) (2024-01-13) diff --git a/package.json b/package.json index ad082e487cd..e4d3c9ecaba 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "3.4.13", + "version": "3.4.14", "packageManager": "pnpm@8.14.1", "type": "module", "scripts": { diff --git a/packages/compiler-core/package.json b/packages/compiler-core/package.json index 59384fe8a31..ed476feb9f9 100644 --- a/packages/compiler-core/package.json +++ b/packages/compiler-core/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-core", - "version": "3.4.13", + "version": "3.4.14", "description": "@vue/compiler-core", "main": "index.js", "module": "dist/compiler-core.esm-bundler.js", diff --git a/packages/compiler-dom/package.json b/packages/compiler-dom/package.json index ce7fa9c4e77..2221fb71182 100644 --- a/packages/compiler-dom/package.json +++ b/packages/compiler-dom/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-dom", - "version": "3.4.13", + "version": "3.4.14", "description": "@vue/compiler-dom", "main": "index.js", "module": "dist/compiler-dom.esm-bundler.js", diff --git a/packages/compiler-sfc/package.json b/packages/compiler-sfc/package.json index 1c48097df3b..6e9985bf29e 100644 --- a/packages/compiler-sfc/package.json +++ b/packages/compiler-sfc/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-sfc", - "version": "3.4.13", + "version": "3.4.14", "description": "@vue/compiler-sfc", "main": "dist/compiler-sfc.cjs.js", "module": "dist/compiler-sfc.esm-browser.js", diff --git a/packages/compiler-ssr/package.json b/packages/compiler-ssr/package.json index 941ea533a07..79aba889087 100644 --- a/packages/compiler-ssr/package.json +++ b/packages/compiler-ssr/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-ssr", - "version": "3.4.13", + "version": "3.4.14", "description": "@vue/compiler-ssr", "main": "dist/compiler-ssr.cjs.js", "types": "dist/compiler-ssr.d.ts", diff --git a/packages/reactivity/package.json b/packages/reactivity/package.json index 857ed0ab274..56d1c90a232 100644 --- a/packages/reactivity/package.json +++ b/packages/reactivity/package.json @@ -1,6 +1,6 @@ { "name": "@vue/reactivity", - "version": "3.4.13", + "version": "3.4.14", "description": "@vue/reactivity", "main": "index.js", "module": "dist/reactivity.esm-bundler.js", diff --git a/packages/runtime-core/package.json b/packages/runtime-core/package.json index 4153ef6844d..bdd4a3c6523 100644 --- a/packages/runtime-core/package.json +++ b/packages/runtime-core/package.json @@ -1,6 +1,6 @@ { "name": "@vue/runtime-core", - "version": "3.4.13", + "version": "3.4.14", "description": "@vue/runtime-core", "main": "index.js", "module": "dist/runtime-core.esm-bundler.js", diff --git a/packages/runtime-dom/package.json b/packages/runtime-dom/package.json index 941f6140a74..3022e8d25b7 100644 --- a/packages/runtime-dom/package.json +++ b/packages/runtime-dom/package.json @@ -1,6 +1,6 @@ { "name": "@vue/runtime-dom", - "version": "3.4.13", + "version": "3.4.14", "description": "@vue/runtime-dom", "main": "index.js", "module": "dist/runtime-dom.esm-bundler.js", diff --git a/packages/server-renderer/package.json b/packages/server-renderer/package.json index d70ccb2d833..202d09dbc35 100644 --- a/packages/server-renderer/package.json +++ b/packages/server-renderer/package.json @@ -1,6 +1,6 @@ { "name": "@vue/server-renderer", - "version": "3.4.13", + "version": "3.4.14", "description": "@vue/server-renderer", "main": "index.js", "module": "dist/server-renderer.esm-bundler.js", diff --git a/packages/shared/package.json b/packages/shared/package.json index 201f8d9bb96..629c73398ee 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,6 +1,6 @@ { "name": "@vue/shared", - "version": "3.4.13", + "version": "3.4.14", "description": "internal utils shared across @vue packages", "main": "index.js", "module": "dist/shared.esm-bundler.js", diff --git a/packages/vue-compat/package.json b/packages/vue-compat/package.json index 05946518e98..f2b5f9da7fa 100644 --- a/packages/vue-compat/package.json +++ b/packages/vue-compat/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compat", - "version": "3.4.13", + "version": "3.4.14", "description": "Vue 3 compatibility build for Vue 2", "main": "index.js", "module": "dist/vue.runtime.esm-bundler.js", diff --git a/packages/vue/package.json b/packages/vue/package.json index 52d117d5645..711ac172854 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "vue", - "version": "3.4.13", + "version": "3.4.14", "description": "The progressive JavaScript framework for building modern web UI.", "main": "index.js", "module": "dist/vue.runtime.esm-bundler.js",