Skip to content
This repository was archived by the owner on Jul 19, 2025. It is now read-only.

Commit 65909f6

Browse files
committed
Merge remote-tracking branch 'upstream/main'
2 parents fac30af + 89de26c commit 65909f6

File tree

32 files changed

+715
-598
lines changed

32 files changed

+715
-598
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

package.json

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"private": true,
33
"version": "3.0.0-vapor",
4-
"packageManager": "[email protected].1",
4+
"packageManager": "[email protected].4",
55
"type": "module",
66
"scripts": {
77
"dev": "node scripts/dev.js vue vue-vapor",
@@ -70,50 +70,50 @@
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",
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",
7878
"@vitest/ui": "^1.2.2",
7979
"@vue/consolidate": "1.0.0",
8080
"conventional-changelog-cli": "^4.1.0",
8181
"enquirer": "^2.4.1",
82-
"esbuild": "^0.20.0",
82+
"esbuild": "^0.20.1",
8383
"esbuild-plugin-polyfill-node": "^0.3.0",
84-
"eslint": "^8.56.0",
85-
"eslint-define-config": "^1.24.1",
84+
"eslint": "^8.57.0",
85+
"eslint-define-config": "^2.1.0",
8686
"eslint-plugin-import": "npm:eslint-plugin-i@^2.29.1",
87-
"eslint-plugin-jest": "^27.6.3",
87+
"eslint-plugin-jest": "^27.9.0",
8888
"estree-walker": "^2.0.2",
8989
"execa": "^8.0.1",
90-
"jsdom": "^23.2.0",
91-
"lint-staged": "^15.2.0",
90+
"jsdom": "^24.0.0",
91+
"lint-staged": "^15.2.2",
9292
"lodash": "^4.17.21",
93-
"magic-string": "^0.30.6",
93+
"magic-string": "^0.30.7",
9494
"markdown-table": "^3.0.3",
95-
"marked": "^11.2.0",
95+
"marked": "^12.0.0",
9696
"minimist": "^1.2.8",
9797
"npm-run-all2": "^6.1.2",
9898
"picocolors": "^1.0.0",
99-
"prettier": "^3.2.2",
99+
"prettier": "^3.2.5",
100100
"pretty-bytes": "^6.1.1",
101101
"pug": "^3.0.2",
102-
"puppeteer": "~21.11.0",
102+
"puppeteer": "~22.2.0",
103103
"rimraf": "^5.0.5",
104-
"rollup": "4.9.2",
104+
"rollup": "^4.12.0",
105105
"rollup-plugin-dts": "^6.1.0",
106106
"rollup-plugin-esbuild": "^6.1.1",
107107
"rollup-plugin-polyfill-node": "^0.13.0",
108-
"semver": "^7.5.4",
108+
"semver": "^7.6.0",
109109
"serve": "^14.2.1",
110110
"simple-git-hooks": "^2.9.0",
111-
"terser": "^5.27.0",
111+
"terser": "^5.28.1",
112112
"todomvc-app-css": "^2.4.3",
113113
"tslib": "^2.6.2",
114-
"tsx": "^4.7.0",
114+
"tsx": "^4.7.1",
115115
"typescript": "^5.2.2",
116-
"vite": "^5.0.12",
117-
"vitest": "^1.2.2"
116+
"vite": "^5.1.4",
117+
"vitest": "^1.3.1"
118118
}
119119
}

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",
@@ -49,8 +49,8 @@
4949
"@vue/compiler-vapor": "workspace:*",
5050
"@vue/shared": "workspace:*",
5151
"estree-walker": "^2.0.2",
52-
"magic-string": "^0.30.6",
53-
"postcss": "^8.4.33",
52+
"magic-string": "^0.30.7",
53+
"postcss": "^8.4.35",
5454
"source-map-js": "^1.0.2"
5555
},
5656
"devDependencies": {
@@ -63,6 +63,6 @@
6363
"postcss-modules": "^6.0.0",
6464
"postcss-selector-parser": "^6.0.15",
6565
"pug": "^3.0.2",
66-
"sass": "^1.70.0"
66+
"sass": "^1.71.1"
6767
}
6868
}

packages/compiler-ssr/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-ssr",
3-
"version": "3.4.19",
3+
"version": "3.4.20",
44
"description": "@vue/compiler-ssr",
55
"main": "dist/compiler-ssr.cjs.js",
66
"types": "dist/compiler-ssr.d.ts",

packages/reactivity/__tests__/gc.spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ describe.skipIf(!global.gc)('reactivity/gc', () => {
2121
// #9233
2222
it('should release computed cache', async () => {
2323
const src = ref<{} | undefined>({})
24+
// @ts-expect-error ES2021 API
2425
const srcRef = new WeakRef(src.value!)
2526

2627
let c: ComputedRef | undefined = computed(() => src.value)

0 commit comments

Comments
 (0)