diff --git a/.github/renovate.json5 b/.github/renovate.json5 index a43f4ae30cf..fa130ca409a 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -46,5 +46,13 @@ // ESM only 'estree-walker', + + // pinned + // https://github.com/vuejs/core/issues/10300#issuecomment-1940855364 + 'lru-cache', + + // pinned + // https://github.com/vuejs/core/commit/a012e39b373f1b6918e5c89856e8f902e1bfa14d + '@rollup/plugin-replace', ], } diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index d7f11b0d220..082f18bc8e5 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3.0.0 - name: Set node version to 18 uses: actions/setup-node@v4 diff --git a/.github/workflows/canary-minor.yml b/.github/workflows/canary-minor.yml index 27fbd42c90c..eb9b23575f2 100644 --- a/.github/workflows/canary-minor.yml +++ b/.github/workflows/canary-minor.yml @@ -17,7 +17,7 @@ jobs: ref: minor - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3.0.0 - name: Set node version to 18 uses: actions/setup-node@v4 diff --git a/.github/workflows/canary.yml b/.github/workflows/canary.yml index 61490232f66..b17179c65c5 100644 --- a/.github/workflows/canary.yml +++ b/.github/workflows/canary.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3.0.0 - name: Install Node.js uses: actions/setup-node@v4 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e458fbd57f3..39dd67c2390 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,6 +6,7 @@ on: pull_request: branches: - main + - minor permissions: contents: read # to fetch code (actions/checkout) @@ -20,7 +21,7 @@ jobs: - uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3.0.0 - name: Install Node.js uses: actions/setup-node@v4 @@ -42,7 +43,7 @@ jobs: - uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3.0.0 - name: Install Node.js uses: actions/setup-node@v4 @@ -65,13 +66,13 @@ jobs: - uses: actions/checkout@v4 - name: Setup cache for Chromium binary - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/puppeteer key: chromium-${{ hashFiles('pnpm-lock.yaml') }} - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3.0.0 - name: Install Node.js uses: actions/setup-node@v4 @@ -97,7 +98,7 @@ jobs: - uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3.0.0 - name: Install Node.js uses: actions/setup-node@v4 @@ -125,7 +126,7 @@ jobs: # - uses: actions/checkout@v4 # - name: Install pnpm - # uses: pnpm/action-setup@v2 + # uses: pnpm/action-setup@v3.0.0 # - name: Install Node.js # uses: actions/setup-node@v4 diff --git a/.github/workflows/size-data.yml b/.github/workflows/size-data.yml index bb82aa18d58..be57d223550 100644 --- a/.github/workflows/size-data.yml +++ b/.github/workflows/size-data.yml @@ -7,6 +7,7 @@ on: pull_request: branches: - main + - minor permissions: contents: read @@ -22,7 +23,7 @@ jobs: - uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3.0.0 - name: Install Node.js uses: actions/setup-node@v4 @@ -36,7 +37,7 @@ jobs: - run: pnpm run size - name: Upload Size Data - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: size-data path: temp/size @@ -45,7 +46,7 @@ jobs: if: ${{github.event_name == 'pull_request'}} run: echo ${{ github.event.number }} > ./pr.txt - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{github.event_name == 'pull_request'}} with: name: pr-number diff --git a/.github/workflows/size-report.yml b/.github/workflows/size-report.yml index 78ae44bb7ea..59023720679 100644 --- a/.github/workflows/size-report.yml +++ b/.github/workflows/size-report.yml @@ -24,7 +24,7 @@ jobs: - uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3.0.0 - name: Install Node.js uses: actions/setup-node@v4 @@ -36,7 +36,7 @@ jobs: run: pnpm install - name: Download PR number - uses: dawidd6/action-download-artifact@v2 + uses: dawidd6/action-download-artifact@v3 with: name: pr-number run_id: ${{ github.event.workflow_run.id }} @@ -48,14 +48,14 @@ jobs: path: ./pr.txt - name: Download Size Data - uses: dawidd6/action-download-artifact@v2 + uses: dawidd6/action-download-artifact@v3 with: name: size-data run_id: ${{ github.event.workflow_run.id }} path: temp/size - name: Download Previous Size Data - uses: dawidd6/action-download-artifact@v2 + uses: dawidd6/action-download-artifact@v3 with: branch: main workflow: size-data.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index c6af9139403..28447dfe309 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,94 @@ +## [3.4.21](https://github.com/vuejs/core/compare/v3.4.20...v3.4.21) (2024-02-28) + + +### Bug Fixes + +* **runtime-dom:** avoid unset option's value ([#10416](https://github.com/vuejs/core/issues/10416)) ([b3f8b5a](https://github.com/vuejs/core/commit/b3f8b5a4e700d4c47a146b6040882287d180f6cb)), closes [#10412](https://github.com/vuejs/core/issues/10412) [#10396](https://github.com/vuejs/core/issues/10396) +* **suspense:** ensure nested suspense patching if in fallback state ([#10417](https://github.com/vuejs/core/issues/10417)) ([7c97778](https://github.com/vuejs/core/commit/7c97778aec1e3513035e5df265e1b8a7801f6106)), closes [#10415](https://github.com/vuejs/core/issues/10415) +* **warning:** stringify args in warn handler ([#10414](https://github.com/vuejs/core/issues/10414)) ([bc37258](https://github.com/vuejs/core/commit/bc37258caa2f6f67f4554ab8587aca3798d92124)), closes [#10409](https://github.com/vuejs/core/issues/10409) + + + +## [3.4.20](https://github.com/vuejs/core/compare/v3.4.19...v3.4.20) (2024-02-26) + + +### Bug Fixes + +* **parser:** should not treat uppercase components as special tags ([e0e0253](https://github.com/vuejs/core/commit/e0e02535cdea1aeb1cfaff0d61d4b2555e555c36)), closes [#10395](https://github.com/vuejs/core/issues/10395) +* **runtime-dom:** avoid always resetting nullish option value ([ff130c4](https://github.com/vuejs/core/commit/ff130c470204086edaa093fb8fdc1247c69cba69)), closes [#10396](https://github.com/vuejs/core/issues/10396) +* **runtime-dom:** fix nested v-show priority regression ([364f890](https://github.com/vuejs/core/commit/364f8902c8657faec7c3a4d70a5b2c856567e92d)), closes [#10338](https://github.com/vuejs/core/issues/10338) +* **runtime-dom:** v-bind style should clear previous css string value ([#10373](https://github.com/vuejs/core/issues/10373)) ([e2d3235](https://github.com/vuejs/core/commit/e2d323538e71d404e729148fd19a08bbc2e3da9b)), closes [#10352](https://github.com/vuejs/core/issues/10352) +* **suspense:** handle suspense switching with nested suspense ([#10184](https://github.com/vuejs/core/issues/10184)) ([0f3da05](https://github.com/vuejs/core/commit/0f3da05ea201761529bb95594df1e2cee20b7107)), closes [#10098](https://github.com/vuejs/core/issues/10098) +* **types:** better typing for direct setup signature of defineComponent ([#10357](https://github.com/vuejs/core/issues/10357)) ([eadce5b](https://github.com/vuejs/core/commit/eadce5b75356656fd2209ebdb406d34823c961b7)), closes [#8604](https://github.com/vuejs/core/issues/8604) [#8855](https://github.com/vuejs/core/issues/8855) + + + +## [3.4.19](https://github.com/vuejs/core/compare/v3.4.18...v3.4.19) (2024-02-13) + + +### Bug Fixes + +* **deps:** pin lru-cache to avoid hashing error ([b8be990](https://github.com/vuejs/core/commit/b8be99018ceae92d1732dfb414df12b36b90b31f)), closes [#10300](https://github.com/vuejs/core/issues/10300) +* **hydration:** fix css vars hydration mismatch false positive on non-root nodes ([995d2fd](https://github.com/vuejs/core/commit/995d2fdcca485c24849c99f498c1edc163722e04)), closes [#10317](https://github.com/vuejs/core/issues/10317) [#10325](https://github.com/vuejs/core/issues/10325) +* **runtime-dom:** should not trigger transition when v-show value is falsy ([#10311](https://github.com/vuejs/core/issues/10311)) ([e509639](https://github.com/vuejs/core/commit/e50963903d93a7f24003b6e2c03647fdf7454b1e)) + + +### Features + +> Note: this warning is categorized as a feature but released in a patch because it does not affect public APIs. + +* **dx:** warn users when computed is self-triggering ([#10299](https://github.com/vuejs/core/issues/10299)) ([f7ba97f](https://github.com/vuejs/core/commit/f7ba97f9754a9882c1f6b1c07ca1a4040479dd13)) + + +### Performance Improvements + +* **runtime:** improve `getType()` GC and speed ([#10327](https://github.com/vuejs/core/issues/10327)) ([603a1e1](https://github.com/vuejs/core/commit/603a1e1f5ad587c077f0d974c1bbe856be22ebe9)) + + + +## [3.4.18](https://github.com/vuejs/core/compare/v3.4.17...v3.4.18) (2024-02-09) + + +### Bug Fixes + +* **dx:** warn against reserved keys as prop name ([77a804b](https://github.com/vuejs/core/commit/77a804b1d0d6a3f12fb3674cdceb85ebd6481e02)), closes [#10281](https://github.com/vuejs/core/issues/10281) +* **runtime-dom:** ensure v-show respects display value set via v-bind ([#10297](https://github.com/vuejs/core/issues/10297)) ([c224897](https://github.com/vuejs/core/commit/c224897dd4e189a10ec601a97fe08cb638ebee19)), closes [#10151](https://github.com/vuejs/core/issues/10151) + + + +## [3.4.17](https://github.com/vuejs/core/compare/v3.4.16...v3.4.17) (2024-02-09) + + +### Reverts + +* fix(runtime-dom): ensure v-show respects display value set via v-bind ([#10161](https://github.com/vuejs/core/issues/10161)) ([2cd5b05](https://github.com/vuejs/core/commit/2cd5b05c3bf171be5c0b473c084c01704a058ffa)), closes [#10294](https://github.com/vuejs/core/issues/10294) [#10151](https://github.com/vuejs/core/issues/10151) + + + +## [3.4.16](https://github.com/vuejs/core/compare/v3.4.15...v3.4.16) (2024-02-08) + + +### Bug Fixes + +* **compiler-core:** handle same-name shorthand edge case for in-DOM templates ([cb87b62](https://github.com/vuejs/core/commit/cb87b6213d7b003fa7280712c285c7c9d9f291ca)), closes [#10280](https://github.com/vuejs/core/issues/10280) +* **compiler-core:** support v-bind shorthand syntax for dynamic slot name ([#10218](https://github.com/vuejs/core/issues/10218)) ([91f058a](https://github.com/vuejs/core/commit/91f058a90cd603492649633d153b120977c4df6b)), closes [#10213](https://github.com/vuejs/core/issues/10213) +* **deps:** update compiler ([#10269](https://github.com/vuejs/core/issues/10269)) ([336bb65](https://github.com/vuejs/core/commit/336bb65820243006efdf990e6ea3610696467508)) +* **hydration:** fix SFC style v-bind hydration mismatch warnings ([#10250](https://github.com/vuejs/core/issues/10250)) ([f0b5f7e](https://github.com/vuejs/core/commit/f0b5f7ed8ddf74f9f5ba47cb65e8300370875291)), closes [#10215](https://github.com/vuejs/core/issues/10215) +* **reactivity:** avoid infinite recursion from side effects in computed getter ([#10232](https://github.com/vuejs/core/issues/10232)) ([0bced13](https://github.com/vuejs/core/commit/0bced13ee5c53a02d5f10e5db76fe38b6e131440)), closes [#10214](https://github.com/vuejs/core/issues/10214) +* **reactivity:** handle `MaybeDirty` recurse ([#10187](https://github.com/vuejs/core/issues/10187)) ([6c7e0bd](https://github.com/vuejs/core/commit/6c7e0bd88f021b0b6365370e97b0c7e243d7d70b)), closes [#10185](https://github.com/vuejs/core/issues/10185) +* **reactivity:** skip non-extensible objects when using `markRaw` ([#10289](https://github.com/vuejs/core/issues/10289)) ([2312184](https://github.com/vuejs/core/commit/2312184bc335e0d32aa4c0c0b49190b6334849b4)), closes [#10288](https://github.com/vuejs/core/issues/10288) +* **runtime-core:** avoid inlining isShallow ([#10238](https://github.com/vuejs/core/issues/10238)) ([53eee72](https://github.com/vuejs/core/commit/53eee72c3a96420db35236b5e8e4d9308a56e1b4)) +* **runtime-core:** support for nested calls to runWithContext ([#10261](https://github.com/vuejs/core/issues/10261)) ([75e02b5](https://github.com/vuejs/core/commit/75e02b5099a08166bdf407127916734c48209ee9)), closes [#10260](https://github.com/vuejs/core/issues/10260) +* **runtime-dom:** ensure v-show respects display value set via v-bind ([#10161](https://github.com/vuejs/core/issues/10161)) ([9b19f09](https://github.com/vuejs/core/commit/9b19f0912104bfccb10c8cf5beab02b21a648935)), closes [#10151](https://github.com/vuejs/core/issues/10151) +* **runtime-dom:** fix option selected update failed ([#10200](https://github.com/vuejs/core/issues/10200)) ([f31d782](https://github.com/vuejs/core/commit/f31d782e4668050a188ac0f11ba8d5b861b913ca)), closes [#10194](https://github.com/vuejs/core/issues/10194) [#10267](https://github.com/vuejs/core/issues/10267) + + +### Reverts + +* perf(templateRef): avoid double render when using template ref on v-for ([eb1b911](https://github.com/vuejs/core/commit/eb1b9116d7cd4a5747e8dadcdc5ba921df011f64)), closes [#9908](https://github.com/vuejs/core/issues/9908) [#10210](https://github.com/vuejs/core/issues/10210) [#10234](https://github.com/vuejs/core/issues/10234) + + + ## [3.4.15](https://github.com/vuejs/core/compare/v3.4.14...v3.4.15) (2024-01-18) diff --git a/FUNDING.json b/FUNDING.json new file mode 100644 index 00000000000..552dc453c21 --- /dev/null +++ b/FUNDING.json @@ -0,0 +1,7 @@ +{ + "drips": { + "ethereum": { + "ownedBy": "0x5393BdeA2a020769256d9f337B0fc81a2F64850A" + } + } +} diff --git a/changelogs/CHANGELOG-3.0.md b/changelogs/CHANGELOG-3.0.md index 50b152dc23a..16483767fe4 100644 --- a/changelogs/CHANGELOG-3.0.md +++ b/changelogs/CHANGELOG-3.0.md @@ -773,7 +773,7 @@ may cause build issues in projects still using TS 3.x. - **types:** adjust type exports for manual render function and tooling usage ([e4dc03a](https://github.com/vuejs/core/commit/e4dc03a8b17d5e9f167de6a62a645878ac7ef3e2)), closes [#1329](https://github.com/vuejs/core/issues/1329) - **types:** mixins/extends support in TypeScript ([#626](https://github.com/vuejs/core/issues/626)) ([d3c436a](https://github.com/vuejs/core/commit/d3c436ae2e66b75b7f2ed574dadda3f0e1fdce73)) - **types:** support typing directive value via generic argument ([#1007](https://github.com/vuejs/core/issues/1007)) ([419b86d](https://github.com/vuejs/core/commit/419b86d1908f2a0521e6a7eafcbee764e9ee59a0)), closes [#998](https://github.com/vuejs/core/issues/998) -- **types:** update to Typescript 3.9 ([#1106](https://github.com/vuejs/core/issues/1106)) ([97dedeb](https://github.com/vuejs/core/commit/97dedebd8097116a16209664a1ca38392b964da3)) +- **types:** update to TypeScript 3.9 ([#1106](https://github.com/vuejs/core/issues/1106)) ([97dedeb](https://github.com/vuejs/core/commit/97dedebd8097116a16209664a1ca38392b964da3)) ### Performance Improvements diff --git a/package.json b/package.json index aedd1231928..783b5881641 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, - "version": "3.4.15", - "packageManager": "pnpm@8.14.1", + "version": "3.4.21", + "packageManager": "pnpm@8.15.5", "type": "module", "scripts": { "dev": "node scripts/dev.js", @@ -59,60 +59,60 @@ "node": ">=18.12.0" }, "devDependencies": { - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "@codspeed/vitest-plugin": "^2.3.1", - "@rollup/plugin-alias": "^5.0.1", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", + "@codspeed/vitest-plugin": "^3.1.0", + "@rollup/plugin-alias": "^5.1.0", "@rollup/plugin-commonjs": "^25.0.7", - "@rollup/plugin-json": "^6.0.1", + "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/plugin-replace": "^5.0.4", + "@rollup/plugin-replace": "5.0.4", "@rollup/plugin-terser": "^0.4.4", "@types/hash-sum": "^1.0.2", "@types/minimist": "^1.2.5", - "@types/node": "^20.11.1", - "@types/semver": "^7.5.6", - "@typescript-eslint/eslint-plugin": "^6.18.1", - "@typescript-eslint/parser": "^6.18.1", - "@vitest/coverage-istanbul": "^1.2.0", - "@vue/consolidate": "0.17.3", + "@types/node": "^20.11.30", + "@types/semver": "^7.5.8", + "@typescript-eslint/eslint-plugin": "^7.3.1", + "@typescript-eslint/parser": "^7.3.1", + "@vitest/coverage-istanbul": "^1.4.0", + "@vue/consolidate": "1.0.0", "conventional-changelog-cli": "^4.1.0", "enquirer": "^2.4.1", - "esbuild": "^0.19.5", + "esbuild": "^0.20.2", "esbuild-plugin-polyfill-node": "^0.3.0", - "eslint": "^8.56.0", - "eslint-define-config": "^1.24.1", + "eslint": "^8.57.0", + "eslint-define-config": "^2.1.0", "eslint-plugin-import": "npm:eslint-plugin-i@^2.29.1", - "eslint-plugin-jest": "^27.6.3", + "eslint-plugin-jest": "^27.9.0", "estree-walker": "^2.0.2", "execa": "^8.0.1", - "jsdom": "^23.2.0", - "lint-staged": "^15.2.0", + "jsdom": "^24.0.0", + "lint-staged": "^15.2.2", "lodash": "^4.17.21", - "magic-string": "^0.30.5", + "magic-string": "^0.30.8", "markdown-table": "^3.0.3", - "marked": "^11.1.1", + "marked": "^12.0.1", "minimist": "^1.2.8", - "npm-run-all": "^4.1.5", + "npm-run-all2": "^6.1.2", "picocolors": "^1.0.0", - "prettier": "^3.2.2", + "prettier": "^3.2.5", "pretty-bytes": "^6.1.1", "pug": "^3.0.2", - "puppeteer": "~21.7.0", + "puppeteer": "~22.6.0", "rimraf": "^5.0.5", - "rollup": "^4.1.4", + "rollup": "^4.13.0", "rollup-plugin-dts": "^6.1.0", - "rollup-plugin-esbuild": "^6.1.0", - "rollup-plugin-polyfill-node": "^0.12.0", - "semver": "^7.5.4", + "rollup-plugin-esbuild": "^6.1.1", + "rollup-plugin-polyfill-node": "^0.13.0", + "semver": "^7.6.0", "serve": "^14.2.1", - "simple-git-hooks": "^2.9.0", - "terser": "^5.22.0", + "simple-git-hooks": "^2.11.0", + "terser": "^5.29.2", "todomvc-app-css": "^2.4.3", "tslib": "^2.6.2", - "tsx": "^4.7.0", + "tsx": "^4.7.1", "typescript": "^5.2.2", - "vite": "^5.0.5", - "vitest": "^1.2.0" + "vite": "^5.2.6", + "vitest": "^1.4.0" } } diff --git a/packages/compiler-core/__tests__/transforms/transformSlotOutlet.spec.ts b/packages/compiler-core/__tests__/transforms/transformSlotOutlet.spec.ts index f8809ab6a7b..6420bdbbdac 100644 --- a/packages/compiler-core/__tests__/transforms/transformSlotOutlet.spec.ts +++ b/packages/compiler-core/__tests__/transforms/transformSlotOutlet.spec.ts @@ -389,4 +389,20 @@ describe('compiler: transform outlets', () => { }, }) }) + + test('dynamically named slot outlet with v-bind shorthand', () => { + const ast = parseWithSlots(``) + expect((ast.children[0] as ElementNode).codegenNode).toMatchObject({ + type: NodeTypes.JS_CALL_EXPRESSION, + callee: RENDER_SLOT, + arguments: [ + `$slots`, + { + type: NodeTypes.SIMPLE_EXPRESSION, + content: `name`, + isStatic: false, + }, + ], + }) + }) }) diff --git a/packages/compiler-core/__tests__/transforms/vBind.spec.ts b/packages/compiler-core/__tests__/transforms/vBind.spec.ts index 84b9ee8ca47..be063b8a9d5 100644 --- a/packages/compiler-core/__tests__/transforms/vBind.spec.ts +++ b/packages/compiler-core/__tests__/transforms/vBind.spec.ts @@ -408,4 +408,22 @@ describe('compiler: transform v-bind', () => { }, }) }) + + test('error on invalid argument for same-name shorthand', () => { + const onError = vi.fn() + parseWithVBind(`
`, { onError }) + expect(onError.mock.calls[0][0]).toMatchObject({ + code: ErrorCodes.X_V_BIND_INVALID_SAME_NAME_ARGUMENT, + loc: { + start: { + line: 1, + column: 13, + }, + end: { + line: 1, + column: 18, + }, + }, + }) + }) }) diff --git a/packages/compiler-core/__tests__/transforms/vOn.spec.ts b/packages/compiler-core/__tests__/transforms/vOn.spec.ts index 9f5e0094878..568fa0b5a8c 100644 --- a/packages/compiler-core/__tests__/transforms/vOn.spec.ts +++ b/packages/compiler-core/__tests__/transforms/vOn.spec.ts @@ -271,7 +271,7 @@ describe('compiler: transform v-on', () => { }) }) - test('should NOT wrap as function if expression is already function expression (with Typescript)', () => { + test('should NOT wrap as function if expression is already function expression (with TypeScript)', () => { const { node } = parseWithVOn(`
`) expect((node.codegenNode as VNodeCall).props).toMatchObject({ properties: [ diff --git a/packages/compiler-core/package.json b/packages/compiler-core/package.json index e794d4ff29e..6ffa0aa2197 100644 --- a/packages/compiler-core/package.json +++ b/packages/compiler-core/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-core", - "version": "3.4.15", + "version": "3.4.21", "description": "@vue/compiler-core", "main": "index.js", "module": "dist/compiler-core.esm-bundler.js", @@ -46,13 +46,13 @@ }, "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-core#readme", "dependencies": { - "@babel/parser": "^7.23.6", + "@babel/parser": "^7.24.1", "@vue/shared": "workspace:*", "entities": "^4.5.0", "estree-walker": "^2.0.2", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" }, "devDependencies": { - "@babel/types": "^7.23.6" + "@babel/types": "^7.24.0" } } diff --git a/packages/compiler-core/src/errors.ts b/packages/compiler-core/src/errors.ts index 6728a80d44a..a536392b9a3 100644 --- a/packages/compiler-core/src/errors.ts +++ b/packages/compiler-core/src/errors.ts @@ -98,6 +98,10 @@ export enum ErrorCodes { X_SCOPE_ID_NOT_SUPPORTED, X_VNODE_HOOKS, + // placed here to preserve order for the current minor + // TODO adjust order in 3.5 + X_V_BIND_INVALID_SAME_NAME_ARGUMENT, + // Special value for higher-order compilers to pick up the last code // to avoid collision of error codes. This should always be kept as the last // item. @@ -156,6 +160,7 @@ export const errorMessages: Record = { [ErrorCodes.X_V_FOR_MALFORMED_EXPRESSION]: `v-for has invalid expression.`, [ErrorCodes.X_V_FOR_TEMPLATE_KEY_PLACEMENT]: `