Skip to content

Commit ea2e2a4

Browse files
authored
Merge branch 'main' into fix-slots-level
2 parents 8d07cc9 + 30583b9 commit ea2e2a4

File tree

289 files changed

+7453
-4714
lines changed

Some content is hidden

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

289 files changed

+7453
-4714
lines changed

.github/commit-convention.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ This reverts commit 667ecc1654a317a13331b17617d973392f415f02.
4444

4545
### Full Message Format
4646

47-
A commit message consists of a **header**, **body** and **footer**. The header has a **type**, **scope** and **subject**:
47+
A commit message consists of a **header**, **body** and **footer**. The header has a **type**, **scope** and **subject**:
4848

4949
```
5050
<type>(<scope>): <subject>
@@ -74,9 +74,9 @@ The scope could be anything specifying the place of the commit change. For examp
7474

7575
The subject contains a succinct description of the change:
7676

77-
* use the imperative, present tense: "change" not "changed" nor "changes"
78-
* don't capitalize the first letter
79-
* no dot (.) at the end
77+
- use the imperative, present tense: "change" not "changed" nor "changes"
78+
- don't capitalize the first letter
79+
- no dot (.) at the end
8080

8181
### Body
8282

.github/contributing.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ Hi! I'm really excited that you are interested in contributing to Vue.js. Before
3535

3636
Another aspect of it is that large scale stylistic changes result in massive diffs that touch multiple files, adding noise to the git history and makes tracing behavior changes across commits more cumbersome.
3737

38-
3938
### Pull Request Checklist
4039

4140
- Vue core has two primary work branches: `main` and `minor`.

.github/maintenance.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ Depending on the type of the PR, different considerations need to be taken into
8080
- Make sure it doesn't accidentally cause dev-only or compiler-only code branches to be included in the runtime build. Notable case is that some functions in @vue/shared are compiler-only and should not be used in runtime code, e.g. `isHTMLTag` and `isSVGTag`.
8181

8282
- Performance
83+
8384
- Be careful about code changes in "hot paths", in particular the Virtual DOM renderer (`runtime-core/src/renderer.ts`) and component instantiation code.
8485

8586
- Potential Breakage

.github/workflows/ci.yml

Lines changed: 4 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -6,109 +6,9 @@ on:
66
pull_request:
77
branches:
88
- main
9-
10-
permissions:
11-
contents: read # to fetch code (actions/checkout)
9+
- minor
1210

1311
jobs:
14-
unit-test:
15-
runs-on: ubuntu-latest
16-
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
17-
env:
18-
PUPPETEER_SKIP_DOWNLOAD: 'true'
19-
steps:
20-
- uses: actions/checkout@v4
21-
22-
- name: Install pnpm
23-
uses: pnpm/action-setup@v4.0.0
24-
25-
- name: Install Node.js
26-
uses: actions/setup-node@v4
27-
with:
28-
node-version-file: '.node-version'
29-
cache: 'pnpm'
30-
31-
- run: pnpm install
32-
33-
- name: Run unit tests
34-
run: pnpm run test-unit
35-
36-
lint-and-test-dts:
37-
runs-on: ubuntu-latest
38-
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
39-
env:
40-
PUPPETEER_SKIP_DOWNLOAD: 'true'
41-
steps:
42-
- uses: actions/checkout@v4
43-
44-
- name: Install pnpm
45-
uses: pnpm/action-setup@v4.0.0
46-
47-
- name: Install Node.js
48-
uses: actions/setup-node@v4
49-
with:
50-
node-version-file: '.node-version'
51-
cache: 'pnpm'
52-
53-
- run: pnpm install
54-
55-
- name: Run eslint
56-
run: pnpm run lint
57-
58-
- name: Run prettier
59-
run: pnpm run format-check
60-
61-
- name: Run type declaration tests
62-
run: pnpm run test-dts
63-
64-
release:
65-
runs-on: ubuntu-latest
66-
needs: [unit-test, lint-and-test-dts]
67-
permissions:
68-
contents: read
69-
id-token: write
70-
steps:
71-
- uses: actions/checkout@v4
72-
73-
- name: Install pnpm
74-
uses: pnpm/action-setup@v2
75-
76-
- name: Install Node.js
77-
uses: actions/setup-node@v4
78-
with:
79-
node-version-file: '.node-version'
80-
registry-url: 'https://registry.npmjs.org'
81-
cache: 'pnpm'
82-
83-
- run: pnpm install
84-
85-
- name: Build
86-
run: pnpm build --withTypes
87-
88-
- name: Publish
89-
run: pnpm dlx pkg-pr-new@0.0 publish './packages/*' --template './playground' --pnpm
90-
91-
# benchmarks:
92-
# runs-on: ubuntu-latest
93-
# if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
94-
# env:
95-
# PUPPETEER_SKIP_DOWNLOAD: 'true'
96-
# steps:
97-
# - uses: actions/checkout@v4
98-
99-
# - name: Install pnpm
100-
# uses: pnpm/action-setup@v3.0.0
101-
102-
# - name: Install Node.js
103-
# uses: actions/setup-node@v4
104-
# with:
105-
# node-version-file: '.node-version'
106-
# cache: 'pnpm'
107-
108-
# - run: pnpm install
109-
110-
# - name: Run benchmarks
111-
# uses: CodSpeedHQ/action@v2
112-
# with:
113-
# run: pnpm vitest bench --run
114-
# token: ${{ secrets.CODSPEED_TOKEN }}
12+
test:
13+
if: ${{ ! startsWith(github.event.head_commit.message, 'release:') && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository) }}
14+
uses: ./.github/workflows/test.yml

.github/workflows/release.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
7+
8+
jobs:
9+
test:
10+
uses: ./.github/workflows/test.yml
11+
12+
release:
13+
# prevents this action from running on forks
14+
if: github.repository == 'vuejs/core'
15+
needs: [test]
16+
runs-on: ubuntu-latest
17+
permissions:
18+
contents: write
19+
id-token: write
20+
# Use Release environment for deployment protection
21+
environment: Release
22+
steps:
23+
- name: Checkout
24+
uses: actions/checkout@v4
25+
26+
- name: Install pnpm
27+
uses: pnpm/action-setup@v4
28+
29+
- name: Install Node.js
30+
uses: actions/setup-node@v4
31+
with:
32+
node-version-file: '.node-version'
33+
registry-url: 'https://registry.npmjs.org'
34+
cache: 'pnpm'
35+
36+
- name: Install deps
37+
run: pnpm install
38+
39+
- name: Build and publish
40+
id: publish
41+
run: |
42+
pnpm release --publishOnly
43+
env:
44+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
45+
46+
- name: Create GitHub release
47+
id: release_tag
48+
uses: yyx990803/release-tag@master
49+
env:
50+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
51+
with:
52+
tag_name: ${{ github.ref }}
53+
body: |
54+
For stable releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details.
55+
For pre-releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch.

.github/workflows/size-data.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
push:
55
branches:
66
- main
7+
- minor
78
pull_request:
89
branches:
910
- main
@@ -53,12 +54,16 @@ jobs:
5354
name: size-data
5455
path: temp/size
5556

56-
- name: Save PR number
57+
- name: Save PR number & base branch
5758
if: ${{github.event_name == 'pull_request'}}
58-
run: echo ${{ github.event.number }} > ./pr.txt
59+
run: |
60+
echo ${{ github.event.number }} > ./number.txt
61+
echo ${{ github.base_ref }} > ./base.txt
5962
6063
- uses: actions/upload-artifact@v4
6164
if: ${{github.event_name == 'pull_request'}}
6265
with:
63-
name: pr-number
64-
path: pr.txt
66+
name: pr-info
67+
path: |
68+
number.txt
69+
base.txt

.github/workflows/size-report.yml

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,24 @@ jobs:
3535
- name: Install dependencies
3636
run: pnpm install
3737

38-
- name: Download PR number
38+
- name: Download PR info
3939
uses: dawidd6/action-download-artifact@v6
4040
with:
41-
name: pr-number
41+
name: pr-info
4242
run_id: ${{ github.event.workflow_run.id }}
43-
path: /tmp/pr-number
43+
path: /tmp/pr-info
4444

4545
- name: Read PR Number
4646
id: pr-number
4747
uses: juliangruber/read-file-action@v1
4848
with:
49-
path: /tmp/pr-number/pr.txt
49+
path: /tmp/pr-info/number.txt
50+
51+
- name: Read PR base branch
52+
id: pr-base
53+
uses: juliangruber/read-file-action@v1
54+
with:
55+
path: /tmp/pr-info/base.txt
5056

5157
- name: Download Size Data
5258
uses: dawidd6/action-download-artifact@v6
@@ -58,7 +64,7 @@ jobs:
5864
- name: Download Previous Size Data
5965
uses: dawidd6/action-download-artifact@v6
6066
with:
61-
branch: main
67+
branch: ${{ steps.pr-base.outputs.content }}
6268
workflow: size-data.yml
6369
event: push
6470
name: size-data

.github/workflows/test.yml

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
name: 'test'
2+
3+
on: workflow_call
4+
5+
permissions:
6+
contents: read # to fetch code (actions/checkout)
7+
8+
jobs:
9+
unit-test:
10+
runs-on: ubuntu-latest
11+
env:
12+
PUPPETEER_SKIP_DOWNLOAD: 'true'
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Install pnpm
17+
uses: pnpm/action-setup@v4.0.0
18+
19+
- name: Install Node.js
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version-file: '.node-version'
23+
cache: 'pnpm'
24+
25+
- run: pnpm install
26+
27+
- name: Run unit tests
28+
run: pnpm run test-unit
29+
30+
lint-and-test-dts:
31+
runs-on: ubuntu-latest
32+
env:
33+
PUPPETEER_SKIP_DOWNLOAD: 'true'
34+
steps:
35+
- uses: actions/checkout@v4
36+
37+
- name: Install pnpm
38+
uses: pnpm/action-setup@v4.0.0
39+
40+
- name: Install Node.js
41+
uses: actions/setup-node@v4
42+
with:
43+
node-version-file: '.node-version'
44+
cache: 'pnpm'
45+
46+
- run: pnpm install
47+
48+
- name: Run eslint
49+
run: pnpm run lint
50+
51+
- name: Run prettier
52+
run: pnpm run format-check
53+
54+
- name: Run type declaration tests
55+
run: pnpm run test-dts
56+
57+
release:
58+
runs-on: ubuntu-latest
59+
needs: [unit-test, lint-and-test-dts]
60+
permissions:
61+
contents: read
62+
id-token: write
63+
steps:
64+
- uses: actions/checkout@v4
65+
66+
- name: Install pnpm
67+
uses: pnpm/action-setup@v4.0.0
68+
69+
- name: Install Node.js
70+
uses: actions/setup-node@v4
71+
with:
72+
node-version-file: '.node-version'
73+
registry-url: 'https://registry.npmjs.org'
74+
cache: 'pnpm'
75+
76+
- run: pnpm install
77+
78+
- name: Build
79+
run: pnpm build --withTypes
80+
81+
- name: Publish
82+
run: pnpm dlx pkg-pr-new@0.0 publish './packages/*' --template './playground' --pnpm

.prettierignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
dist
2-
*.md
3-
*.html
42
pnpm-lock.yaml
3+
CHANGELOG*.md

0 commit comments

Comments
 (0)