Skip to content

Commit 58d827c

Browse files
committed
chore: Merge branch 'main' into minor
2 parents 05eb4e0 + 89de26c commit 58d827c

Some content is hidden

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

52 files changed

+903
-712
lines changed

.github/renovate.json5

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,5 +50,9 @@
5050
// pinned
5151
// https://github.com/vuejs/core/issues/10300#issuecomment-1940855364
5252
'lru-cache',
53+
54+
// pinned
55+
// https://github.com/vuejs/core/commit/a012e39b373f1b6918e5c89856e8f902e1bfa14d
56+
'@rollup/plugin-replace',
5357
],
5458
}

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
## [3.4.20](https://github.com/vuejs/core/compare/v3.4.19...v3.4.20) (2024-02-26)
2+
3+
4+
### Bug Fixes
5+
6+
* **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)
7+
* **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)
8+
* **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)
9+
* **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)
10+
* **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)
11+
* **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)
12+
13+
14+
115
## [3.4.19](https://github.com/vuejs/core/compare/v3.4.18...v3.4.19) (2024-02-13)
216

317

changelogs/CHANGELOG-3.0.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -773,7 +773,7 @@ may cause build issues in projects still using TS 3.x.
773773
- **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)
774774
- **types:** mixins/extends support in TypeScript ([#626](https://github.com/vuejs/core/issues/626)) ([d3c436a](https://github.com/vuejs/core/commit/d3c436ae2e66b75b7f2ed574dadda3f0e1fdce73))
775775
- **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)
776-
- **types:** update to Typescript 3.9 ([#1106](https://github.com/vuejs/core/issues/1106)) ([97dedeb](https://github.com/vuejs/core/commit/97dedebd8097116a16209664a1ca38392b964da3))
776+
- **types:** update to TypeScript 3.9 ([#1106](https://github.com/vuejs/core/issues/1106)) ([97dedeb](https://github.com/vuejs/core/commit/97dedebd8097116a16209664a1ca38392b964da3))
777777

778778
### Performance Improvements
779779

package.json

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"private": true,
3-
"version": "3.4.19",
4-
"packageManager": "pnpm@8.15.1",
3+
"version": "3.4.20",
4+
"packageManager": "pnpm@8.15.4",
55
"type": "module",
66
"scripts": {
77
"dev": "node scripts/dev.js",
@@ -70,49 +70,49 @@
7070
"@rollup/plugin-terser": "^0.4.4",
7171
"@types/hash-sum": "^1.0.2",
7272
"@types/minimist": "^1.2.5",
73-
"@types/node": "^20.11.16",
74-
"@types/semver": "^7.5.6",
75-
"@typescript-eslint/eslint-plugin": "^6.18.1",
76-
"@typescript-eslint/parser": "^6.18.1",
77-
"@vitest/coverage-istanbul": "^1.2.2",
78-
"@vue/consolidate": "0.17.3",
73+
"@types/node": "^20.11.20",
74+
"@types/semver": "^7.5.8",
75+
"@typescript-eslint/eslint-plugin": "^7.0.2",
76+
"@typescript-eslint/parser": "^7.0.2",
77+
"@vitest/coverage-istanbul": "^1.3.1",
78+
"@vue/consolidate": "1.0.0",
7979
"conventional-changelog-cli": "^4.1.0",
8080
"enquirer": "^2.4.1",
81-
"esbuild": "^0.20.0",
81+
"esbuild": "^0.20.1",
8282
"esbuild-plugin-polyfill-node": "^0.3.0",
83-
"eslint": "^8.56.0",
84-
"eslint-define-config": "^1.24.1",
83+
"eslint": "^8.57.0",
84+
"eslint-define-config": "^2.1.0",
8585
"eslint-plugin-import": "npm:eslint-plugin-i@^2.29.1",
86-
"eslint-plugin-jest": "^27.6.3",
86+
"eslint-plugin-jest": "^27.9.0",
8787
"estree-walker": "^2.0.2",
8888
"execa": "^8.0.1",
89-
"jsdom": "^23.2.0",
90-
"lint-staged": "^15.2.0",
89+
"jsdom": "^24.0.0",
90+
"lint-staged": "^15.2.2",
9191
"lodash": "^4.17.21",
92-
"magic-string": "^0.30.6",
92+
"magic-string": "^0.30.7",
9393
"markdown-table": "^3.0.3",
94-
"marked": "^11.2.0",
94+
"marked": "^12.0.0",
9595
"minimist": "^1.2.8",
9696
"npm-run-all2": "^6.1.2",
9797
"picocolors": "^1.0.0",
98-
"prettier": "^3.2.2",
98+
"prettier": "^3.2.5",
9999
"pretty-bytes": "^6.1.1",
100100
"pug": "^3.0.2",
101-
"puppeteer": "~21.11.0",
101+
"puppeteer": "~22.2.0",
102102
"rimraf": "^5.0.5",
103-
"rollup": "4.9.2",
103+
"rollup": "^4.12.0",
104104
"rollup-plugin-dts": "^6.1.0",
105105
"rollup-plugin-esbuild": "^6.1.1",
106106
"rollup-plugin-polyfill-node": "^0.13.0",
107-
"semver": "^7.5.4",
107+
"semver": "^7.6.0",
108108
"serve": "^14.2.1",
109109
"simple-git-hooks": "^2.9.0",
110-
"terser": "^5.27.0",
110+
"terser": "^5.28.1",
111111
"todomvc-app-css": "^2.4.3",
112112
"tslib": "^2.6.2",
113-
"tsx": "^4.7.0",
113+
"tsx": "^4.7.1",
114114
"typescript": "^5.2.2",
115-
"vite": "^5.0.12",
116-
"vitest": "^1.2.2"
115+
"vite": "^5.1.4",
116+
"vitest": "^1.3.1"
117117
}
118118
}

packages/compiler-core/__tests__/transforms/vOn.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ describe('compiler: transform v-on', () => {
271271
})
272272
})
273273

274-
test('should NOT wrap as function if expression is already function expression (with Typescript)', () => {
274+
test('should NOT wrap as function if expression is already function expression (with TypeScript)', () => {
275275
const { node } = parseWithVOn(`<div @click="(e: any): any => foo(e)"/>`)
276276
expect((node.codegenNode as VNodeCall).props).toMatchObject({
277277
properties: [

packages/compiler-core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vue/compiler-core",
3-
"version": "3.4.19",
3+
"version": "3.4.20",
44
"description": "@vue/compiler-core",
55
"main": "index.js",
66
"module": "dist/compiler-core.esm-bundler.js",

packages/compiler-core/src/tokenizer.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -553,12 +553,11 @@ export default class Tokenizer {
553553
// HTML mode
554554
// - <script>, <style> RAWTEXT
555555
// - <title>, <textarea> RCDATA
556-
const lower = c | 0x20
557-
if (lower === 116 /* t */) {
556+
if (c === 116 /* t */) {
558557
this.state = State.BeforeSpecialT
559558
} else {
560559
this.state =
561-
lower === 115 /* s */ ? State.BeforeSpecialS : State.InTagName
560+
c === 115 /* s */ ? State.BeforeSpecialS : State.InTagName
562561
}
563562
} else {
564563
this.state = State.InTagName
@@ -862,21 +861,19 @@ export default class Tokenizer {
862861
}
863862
}
864863
private stateBeforeSpecialS(c: number): void {
865-
const lower = c | 0x20
866-
if (lower === Sequences.ScriptEnd[3]) {
864+
if (c === Sequences.ScriptEnd[3]) {
867865
this.startSpecial(Sequences.ScriptEnd, 4)
868-
} else if (lower === Sequences.StyleEnd[3]) {
866+
} else if (c === Sequences.StyleEnd[3]) {
869867
this.startSpecial(Sequences.StyleEnd, 4)
870868
} else {
871869
this.state = State.InTagName
872870
this.stateInTagName(c) // Consume the token again
873871
}
874872
}
875873
private stateBeforeSpecialT(c: number): void {
876-
const lower = c | 0x20
877-
if (lower === Sequences.TitleEnd[3]) {
874+
if (c === Sequences.TitleEnd[3]) {
878875
this.startSpecial(Sequences.TitleEnd, 4)
879-
} else if (lower === Sequences.TextareaEnd[3]) {
876+
} else if (c === Sequences.TextareaEnd[3]) {
880877
this.startSpecial(Sequences.TextareaEnd, 4)
881878
} else {
882879
this.state = State.InTagName

packages/compiler-dom/__tests__/parse.spec.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ describe('DOM parser', () => {
2020
)
2121
const element = ast.children[0] as ElementNode
2222
const text = element.children[0] as TextNode
23-
23+
expect(element.children.length).toBe(1)
2424
expect(text).toStrictEqual({
2525
type: NodeTypes.TEXT,
2626
content: 'some<div>text</div>and<!--comment-->',
@@ -32,6 +32,20 @@ describe('DOM parser', () => {
3232
})
3333
})
3434

35+
test('should not treat Uppercase component as special tag', () => {
36+
const ast = parse(
37+
'<TextArea>some<div>text</div>and<!--comment--></TextArea>',
38+
parserOptions,
39+
)
40+
const element = ast.children[0] as ElementNode
41+
expect(element.children.map(n => n.type)).toMatchObject([
42+
NodeTypes.TEXT,
43+
NodeTypes.ELEMENT,
44+
NodeTypes.TEXT,
45+
NodeTypes.COMMENT,
46+
])
47+
})
48+
3549
test('textarea handles entities', () => {
3650
const ast = parse('<textarea>&amp;</textarea>', parserOptions)
3751
const element = ast.children[0] as ElementNode

packages/compiler-dom/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vue/compiler-dom",
3-
"version": "3.4.19",
3+
"version": "3.4.20",
44
"description": "@vue/compiler-dom",
55
"main": "index.js",
66
"module": "dist/compiler-dom.esm-bundler.js",

packages/compiler-sfc/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vue/compiler-sfc",
3-
"version": "3.4.19",
3+
"version": "3.4.20",
44
"description": "@vue/compiler-sfc",
55
"main": "dist/compiler-sfc.cjs.js",
66
"module": "dist/compiler-sfc.esm-browser.js",
@@ -48,8 +48,8 @@
4848
"@vue/compiler-ssr": "workspace:*",
4949
"@vue/shared": "workspace:*",
5050
"estree-walker": "^2.0.2",
51-
"magic-string": "^0.30.6",
52-
"postcss": "^8.4.33",
51+
"magic-string": "^0.30.7",
52+
"postcss": "^8.4.35",
5353
"source-map-js": "^1.0.2"
5454
},
5555
"devDependencies": {
@@ -62,6 +62,6 @@
6262
"postcss-modules": "^6.0.0",
6363
"postcss-selector-parser": "^6.0.15",
6464
"pug": "^3.0.2",
65-
"sass": "^1.70.0"
65+
"sass": "^1.71.1"
6666
}
6767
}

0 commit comments

Comments
 (0)