Skip to content

Commit e3e85d5

Browse files
committed
Merge remote-tracking branch 'origin/main' into bwsy/fix/teleportCSSVars
# Conflicts: # packages/runtime-dom/__tests__/helpers/useCssVars.spec.ts
2 parents 97aae5f + bae79dd commit e3e85d5

File tree

178 files changed

+4224
-2084
lines changed

Some content is hidden

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

178 files changed

+4224
-2084
lines changed

.github/workflows/autofix.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@ jobs:
3030
- name: Run prettier
3131
run: pnpm run format
3232

33-
- uses: autofix-ci/action@d3e591514b99d0fca6779455ff8338516663f7cc
33+
- uses: autofix-ci/action@bee19d72e71787c12ca0f29de72f2833e437e4c9

.github/workflows/ci.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,31 @@ jobs:
5858
- name: Run ssr unit tests
5959
run: pnpm run test-unit server-renderer
6060

61+
benchmarks:
62+
runs-on: ubuntu-latest
63+
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
64+
env:
65+
PUPPETEER_SKIP_DOWNLOAD: 'true'
66+
steps:
67+
- uses: actions/checkout@v4
68+
69+
- name: Install pnpm
70+
uses: pnpm/action-setup@v2
71+
72+
- name: Install Node.js
73+
uses: actions/setup-node@v4
74+
with:
75+
node-version-file: '.node-version'
76+
cache: 'pnpm'
77+
78+
- run: pnpm install
79+
80+
- name: Run benchmarks
81+
uses: CodSpeedHQ/action@v2
82+
with:
83+
run: pnpm vitest bench --run
84+
token: ${{ secrets.CODSPEED_TOKEN }}
85+
6186
e2e-test:
6287
runs-on: ubuntu-latest
6388
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository

.github/workflows/ecosystem-ci-trigger.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
runs-on: ubuntu-latest
1010
if: github.repository == 'vuejs/core' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/ecosystem-ci run')
1111
steps:
12-
- uses: actions/github-script@v6
12+
- uses: actions/github-script@v7
1313
with:
1414
script: |
1515
const user = context.payload.sender.login
@@ -43,7 +43,7 @@ jobs:
4343
})
4444
throw new Error('not allowed')
4545
}
46-
- uses: actions/github-script@v6
46+
- uses: actions/github-script@v7
4747
id: get-pr-data
4848
with:
4949
script: |
@@ -58,7 +58,7 @@ jobs:
5858
branchName: pr.head.ref,
5959
repo: pr.head.repo.full_name
6060
}
61-
- uses: actions/github-script@v6
61+
- uses: actions/github-script@v7
6262
id: trigger
6363
env:
6464
COMMENT: ${{ github.event.comment.body }}

.github/workflows/lock-closed-issues.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
if: github.repository == 'vuejs/core'
1313
runs-on: ubuntu-latest
1414
steps:
15-
- uses: dessant/lock-threads@v4
15+
- uses: dessant/lock-threads@v5
1616
with:
1717
github-token: ${{ secrets.GITHUB_TOKEN }}
1818
issue-inactive-days: '14'

CHANGELOG.md

Lines changed: 95 additions & 1 deletion
Large diffs are not rendered by default.

package.json

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"private": true,
3-
"version": "3.3.8",
4-
"packageManager": "pnpm@8.10.2",
3+
"version": "3.3.12",
4+
"packageManager": "pnpm@8.12.0",
55
"type": "module",
66
"scripts": {
77
"dev": "node scripts/dev.js",
@@ -22,6 +22,7 @@
2222
"test-dts": "run-s build-dts test-dts-only",
2323
"test-dts-only": "tsc -p ./packages/dts-test/tsconfig.test.json",
2424
"test-coverage": "vitest -c vitest.unit.config.ts --coverage",
25+
"test-bench": "vitest bench",
2526
"release": "node scripts/release.js",
2627
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
2728
"dev-esm": "node scripts/dev.js -if esm-bundler-runtime",
@@ -32,9 +33,10 @@
3233
"dev-sfc-run": "run-p \"dev compiler-sfc -f esm-browser\" \"dev vue -if esm-bundler-runtime\" \"dev vue -ipf esm-browser-runtime\" \"dev server-renderer -if esm-bundler\" dev-sfc-serve",
3334
"serve": "serve",
3435
"open": "open http://localhost:3000/packages/template-explorer/local.html",
35-
"build-sfc-playground": "run-s build-all-cjs build-runtime-esm build-ssr-esm build-sfc-playground-self",
36+
"build-sfc-playground": "run-s build-all-cjs build-runtime-esm build-browser-esm build-ssr-esm build-sfc-playground-self",
3637
"build-all-cjs": "node scripts/build.js vue runtime compiler reactivity reactivity-transform shared -af cjs",
3738
"build-runtime-esm": "node scripts/build.js runtime reactivity shared -af esm-bundler && node scripts/build.js vue -f esm-bundler-runtime && node scripts/build.js vue -f esm-browser-runtime",
39+
"build-browser-esm": "node scripts/build.js runtime reactivity shared -af esm-bundler && node scripts/build.js vue -f esm-bundler && node scripts/build.js vue -f esm-browser",
3840
"build-ssr-esm": "node scripts/build.js compiler-sfc server-renderer -f esm-browser",
3941
"build-sfc-playground-self": "cd packages/sfc-playground && npm run build",
4042
"preinstall": "npx only-allow pnpm",
@@ -57,40 +59,41 @@
5759
"node": ">=18.12.0"
5860
},
5961
"devDependencies": {
60-
"@babel/parser": "^7.23.0",
61-
"@babel/types": "^7.23.0",
62+
"@babel/parser": "^7.23.5",
63+
"@babel/types": "^7.23.5",
64+
"@codspeed/vitest-plugin": "^2.3.1",
6265
"@rollup/plugin-alias": "^5.0.1",
6366
"@rollup/plugin-commonjs": "^25.0.7",
6467
"@rollup/plugin-json": "^6.0.1",
6568
"@rollup/plugin-node-resolve": "^15.2.3",
6669
"@rollup/plugin-replace": "^5.0.4",
6770
"@rollup/plugin-terser": "^0.4.4",
6871
"@types/hash-sum": "^1.0.2",
69-
"@types/node": "^20.9.0",
70-
"@typescript-eslint/parser": "^6.10.0",
71-
"@vitest/coverage-istanbul": "^0.34.6",
72+
"@types/node": "^20.10.4",
73+
"@typescript-eslint/parser": "^6.13.2",
74+
"@vitest/coverage-istanbul": "^1.0.4",
7275
"@vue/consolidate": "0.17.3",
7376
"conventional-changelog-cli": "^4.1.0",
7477
"enquirer": "^2.4.1",
7578
"esbuild": "^0.19.5",
7679
"esbuild-plugin-polyfill-node": "^0.3.0",
77-
"eslint": "^8.53.0",
80+
"eslint": "^8.55.0",
7881
"eslint-plugin-jest": "^27.6.0",
7982
"estree-walker": "^2.0.2",
8083
"execa": "^8.0.1",
81-
"jsdom": "^22.1.0",
82-
"lint-staged": "^15.0.2",
84+
"jsdom": "^23.0.1",
85+
"lint-staged": "^15.2.0",
8386
"lodash": "^4.17.21",
8487
"magic-string": "^0.30.5",
8588
"markdown-table": "^3.0.3",
86-
"marked": "^9.1.5",
89+
"marked": "^11.0.1",
8790
"minimist": "^1.2.8",
8891
"npm-run-all": "^4.1.5",
8992
"picocolors": "^1.0.0",
90-
"prettier": "^3.0.3",
93+
"prettier": "^3.1.1",
9194
"pretty-bytes": "^6.1.1",
9295
"pug": "^3.0.2",
93-
"puppeteer": "~21.5.1",
96+
"puppeteer": "~21.6.0",
9497
"rimraf": "^5.0.5",
9598
"rollup": "^4.1.4",
9699
"rollup-plugin-dts": "^6.1.0",
@@ -102,9 +105,9 @@
102105
"terser": "^5.22.0",
103106
"todomvc-app-css": "^2.4.3",
104107
"tslib": "^2.6.2",
105-
"tsx": "^3.14.0",
108+
"tsx": "^4.6.2",
106109
"typescript": "^5.2.2",
107-
"vite": "^4.5.0",
108-
"vitest": "^0.34.6"
110+
"vite": "^5.0.5",
111+
"vitest": "^1.0.4"
109112
}
110113
}

packages/compiler-core/__tests__/__snapshots__/codegen.spec.ts.snap

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,12 @@ exports[`compiler: codegen > Element (callExpression + objectExpression + Templa
4848
"
4949
return function render(_ctx, _cache) {
5050
with (_ctx) {
51-
return _createElementVNode(\\"div\\", {
52-
id: \\"foo\\",
51+
return _createElementVNode("div", {
52+
id: "foo",
5353
[prop]: bar,
5454
[foo + bar]: bar
5555
}, [
56-
_createElementVNode(\\"p\\", { \\"some-key\\": \\"foo\\" })
56+
_createElementVNode("p", { "some-key": "foo" })
5757
], 16)
5858
}
5959
}"
@@ -63,12 +63,12 @@ exports[`compiler: codegen > assets + temps 1`] = `
6363
"
6464
return function render(_ctx, _cache) {
6565
with (_ctx) {
66-
const _component_Foo = _resolveComponent(\\"Foo\\")
67-
const _component_bar_baz = _resolveComponent(\\"bar-baz\\")
68-
const _component_barbaz = _resolveComponent(\\"barbaz\\")
69-
const _component_Qux = _resolveComponent(\\"Qux\\", true)
70-
const _directive_my_dir_0 = _resolveDirective(\\"my_dir_0\\")
71-
const _directive_my_dir_1 = _resolveDirective(\\"my_dir_1\\")
66+
const _component_Foo = _resolveComponent("Foo")
67+
const _component_bar_baz = _resolveComponent("bar-baz")
68+
const _component_barbaz = _resolveComponent("barbaz")
69+
const _component_Qux = _resolveComponent("Qux", true)
70+
const _directive_my_dir_0 = _resolveDirective("my_dir_0")
71+
const _directive_my_dir_1 = _resolveDirective("my_dir_1")
7272
let _temp0, _temp1, _temp2
7373
7474
return null
@@ -80,7 +80,7 @@ exports[`compiler: codegen > comment 1`] = `
8080
"
8181
return function render(_ctx, _cache) {
8282
with (_ctx) {
83-
return _createCommentVNode(\\"foo\\")
83+
return _createCommentVNode("foo")
8484
}
8585
}"
8686
`;
@@ -135,7 +135,7 @@ return function render(_ctx, _cache) {
135135
exports[`compiler: codegen > hoists 1`] = `
136136
"
137137
const _hoisted_1 = hello
138-
const _hoisted_2 = { id: \\"foo\\" }
138+
const _hoisted_2 = { id: "foo" }
139139
140140
return function render(_ctx, _cache) {
141141
with (_ctx) {
@@ -165,15 +165,15 @@ return function render(_ctx, _cache) {
165165
`;
166166

167167
exports[`compiler: codegen > module mode preamble 1`] = `
168-
"import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \\"vue\\"
168+
"import { createVNode as _createVNode, resolveDirective as _resolveDirective } from "vue"
169169
170170
export function render(_ctx, _cache) {
171171
return null
172172
}"
173173
`;
174174

175175
exports[`compiler: codegen > module mode preamble w/ optimizeImports: true 1`] = `
176-
"import { createVNode, resolveDirective } from \\"vue\\"
176+
"import { createVNode, resolveDirective } from "vue"
177177
178178
// Binding optimization for webpack code-split
179179
const _createVNode = createVNode, _resolveDirective = resolveDirective
@@ -187,7 +187,7 @@ exports[`compiler: codegen > static text 1`] = `
187187
"
188188
return function render(_ctx, _cache) {
189189
with (_ctx) {
190-
return \\"hello\\"
190+
return "hello"
191191
}
192192
}"
193193
`;

packages/compiler-core/__tests__/__snapshots__/compile.spec.ts.snap

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,19 @@ return function render(_ctx, _cache) {
77
with (_ctx) {
88
const { toDisplayString: _toDisplayString, openBlock: _openBlock, createElementBlock: _createElementBlock, createCommentVNode: _createCommentVNode, createTextVNode: _createTextVNode, Fragment: _Fragment, renderList: _renderList, createElementVNode: _createElementVNode, normalizeClass: _normalizeClass } = _Vue
99
10-
return (_openBlock(), _createElementBlock(\\"div\\", {
11-
id: \\"foo\\",
10+
return (_openBlock(), _createElementBlock("div", {
11+
id: "foo",
1212
class: _normalizeClass(bar.baz)
1313
}, [
14-
_createTextVNode(_toDisplayString(world.burn()) + \\" \\", 1 /* TEXT */),
14+
_createTextVNode(_toDisplayString(world.burn()) + " ", 1 /* TEXT */),
1515
ok
16-
? (_openBlock(), _createElementBlock(\\"div\\", { key: 0 }, \\"yes\\"))
16+
? (_openBlock(), _createElementBlock("div", { key: 0 }, "yes"))
1717
: (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [
18-
_createTextVNode(\\"no\\")
18+
_createTextVNode("no")
1919
], 64 /* STABLE_FRAGMENT */)),
2020
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(list, (value, index) => {
21-
return (_openBlock(), _createElementBlock(\\"div\\", null, [
22-
_createElementVNode(\\"span\\", null, _toDisplayString(value + index), 1 /* TEXT */)
21+
return (_openBlock(), _createElementBlock("div", null, [
22+
_createElementVNode("span", null, _toDisplayString(value + index), 1 /* TEXT */)
2323
]))
2424
}), 256 /* UNKEYED_FRAGMENT */))
2525
], 2 /* CLASS */))
@@ -31,42 +31,42 @@ exports[`compiler: integration tests > function mode w/ prefixIdentifiers: true
3131
"const { toDisplayString: _toDisplayString, openBlock: _openBlock, createElementBlock: _createElementBlock, createCommentVNode: _createCommentVNode, createTextVNode: _createTextVNode, Fragment: _Fragment, renderList: _renderList, createElementVNode: _createElementVNode, normalizeClass: _normalizeClass } = Vue
3232
3333
return function render(_ctx, _cache) {
34-
return (_openBlock(), _createElementBlock(\\"div\\", {
35-
id: \\"foo\\",
34+
return (_openBlock(), _createElementBlock("div", {
35+
id: "foo",
3636
class: _normalizeClass(_ctx.bar.baz)
3737
}, [
38-
_createTextVNode(_toDisplayString(_ctx.world.burn()) + \\" \\", 1 /* TEXT */),
38+
_createTextVNode(_toDisplayString(_ctx.world.burn()) + " ", 1 /* TEXT */),
3939
(_ctx.ok)
40-
? (_openBlock(), _createElementBlock(\\"div\\", { key: 0 }, \\"yes\\"))
40+
? (_openBlock(), _createElementBlock("div", { key: 0 }, "yes"))
4141
: (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [
42-
_createTextVNode(\\"no\\")
42+
_createTextVNode("no")
4343
], 64 /* STABLE_FRAGMENT */)),
4444
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.list, (value, index) => {
45-
return (_openBlock(), _createElementBlock(\\"div\\", null, [
46-
_createElementVNode(\\"span\\", null, _toDisplayString(value + index), 1 /* TEXT */)
45+
return (_openBlock(), _createElementBlock("div", null, [
46+
_createElementVNode("span", null, _toDisplayString(value + index), 1 /* TEXT */)
4747
]))
4848
}), 256 /* UNKEYED_FRAGMENT */))
4949
], 2 /* CLASS */))
5050
}"
5151
`;
5252

5353
exports[`compiler: integration tests > module mode 1`] = `
54-
"import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, renderList as _renderList, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \\"vue\\"
54+
"import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, renderList as _renderList, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from "vue"
5555
5656
export function render(_ctx, _cache) {
57-
return (_openBlock(), _createElementBlock(\\"div\\", {
58-
id: \\"foo\\",
57+
return (_openBlock(), _createElementBlock("div", {
58+
id: "foo",
5959
class: _normalizeClass(_ctx.bar.baz)
6060
}, [
61-
_createTextVNode(_toDisplayString(_ctx.world.burn()) + \\" \\", 1 /* TEXT */),
61+
_createTextVNode(_toDisplayString(_ctx.world.burn()) + " ", 1 /* TEXT */),
6262
(_ctx.ok)
63-
? (_openBlock(), _createElementBlock(\\"div\\", { key: 0 }, \\"yes\\"))
63+
? (_openBlock(), _createElementBlock("div", { key: 0 }, "yes"))
6464
: (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [
65-
_createTextVNode(\\"no\\")
65+
_createTextVNode("no")
6666
], 64 /* STABLE_FRAGMENT */)),
6767
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.list, (value, index) => {
68-
return (_openBlock(), _createElementBlock(\\"div\\", null, [
69-
_createElementVNode(\\"span\\", null, _toDisplayString(value + index), 1 /* TEXT */)
68+
return (_openBlock(), _createElementBlock("div", null, [
69+
_createElementVNode("span", null, _toDisplayString(value + index), 1 /* TEXT */)
7070
]))
7171
}), 256 /* UNKEYED_FRAGMENT */))
7272
], 2 /* CLASS */))

0 commit comments

Comments
 (0)