Skip to content

Commit 5c2163e

Browse files
committed
Merge branch 'minor' into compat-array-watch
# Conflicts: # packages/reactivity/src/watch.ts # packages/runtime-core/src/apiWatch.ts # packages/runtime-core/src/componentOptions.ts
2 parents 351ce06 + 5ef769b commit 5c2163e

File tree

511 files changed

+71598
-7915
lines changed

Some content is hidden

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

511 files changed

+71598
-7915
lines changed

.github/contributing.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,20 +38,17 @@ Hi! I'm really excited that you are interested in contributing to Vue.js. Before
3838
### Pull Request Checklist
3939

4040
- Vue core has two primary work branches: `main` and `minor`.
41-
4241
- If your pull request is a feature that adds new API surface, it should be submitted against the `minor` branch.
4342

4443
- Otherwise, it should be submitted against the `main` branch.
4544

4645
- [Make sure to tick the "Allow edits from maintainers" box](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork). This allows us to directly make minor edits / refactors and saves a lot of time.
4746

4847
- If adding a new feature:
49-
5048
- Add accompanying test case.
5149
- Provide a convincing reason to add this feature. Ideally, you should open a suggestion issue first and have it approved before working on it.
5250

5351
- If fixing a bug:
54-
5552
- If you are resolving a special issue, add `(fix #xxxx[,#xxxx])` (#xxxx is the issue id) in your PR title for a better release log, e.g. `update entities encoding/decoding (fix #3899)`.
5653
- Provide a detailed description of the bug in the PR. Live demo preferred.
5754
- Add appropriate test coverage if applicable. You can check the coverage of your code addition by running `nr test-coverage`.
@@ -69,9 +66,7 @@ Hi! I'm really excited that you are interested in contributing to Vue.js. Before
6966
- The PR should fix the intended bug **only** and not introduce unrelated changes. This includes unnecessary refactors - a PR should focus on the fix and not code style, this makes it easier to trace changes in the future.
7067

7168
- Consider the performance / size impact of the changes, and whether the bug being fixes justifies the cost. If the bug being fixed is a very niche edge case, we should try to minimize the size / perf cost to make it worthwhile.
72-
7369
- Is the code perf-sensitive (e.g. in "hot paths" like component updates or the vdom patch function?)
74-
7570
- If the branch is dev-only, performance is less of a concern.
7671

7772
- Check how much extra bundle size the change introduces.
@@ -265,7 +260,6 @@ This repository employs a [monorepo](https://en.wikipedia.org/wiki/Monorepo) set
265260
- `vue`: The public facing "full build" which includes both the runtime AND the compiler.
266261

267262
- Private utility packages:
268-
269263
- `dts-test`: Contains type-only tests against generated dts files.
270264

271265
- `sfc-playground`: The playground continuously deployed at https://play.vuejs.org. To run the playground locally, use [`nr dev-sfc`](#nr-dev-sfc).
@@ -290,27 +284,39 @@ This is made possible via several configurations:
290284

291285
```mermaid
292286
flowchart LR
287+
vue["vue"]
293288
compiler-sfc["@vue/compiler-sfc"]
294289
compiler-dom["@vue/compiler-dom"]
290+
compiler-vapor["@vue/compiler-vapor"]
295291
compiler-core["@vue/compiler-core"]
296-
vue["vue"]
297292
runtime-dom["@vue/runtime-dom"]
293+
runtime-vapor["@vue/runtime-vapor"]
298294
runtime-core["@vue/runtime-core"]
299295
reactivity["@vue/reactivity"]
300296
301297
subgraph "Runtime Packages"
302298
runtime-dom --> runtime-core
299+
runtime-vapor --> runtime-core
303300
runtime-core --> reactivity
304301
end
305302
306303
subgraph "Compiler Packages"
307304
compiler-sfc --> compiler-core
308305
compiler-sfc --> compiler-dom
306+
compiler-sfc --> compiler-vapor
309307
compiler-dom --> compiler-core
308+
compiler-vapor --> compiler-core
310309
end
311310
311+
vue --> compiler-sfc
312312
vue ---> compiler-dom
313313
vue --> runtime-dom
314+
vue --> compiler-vapor
315+
vue --> runtime-vapor
316+
317+
%% Highlight class
318+
classDef highlight stroke:#35eb9a,stroke-width:3px;
319+
class compiler-vapor,runtime-vapor highlight;
314320
```
315321

316322
There are some rules to follow when importing across package boundaries:

.github/maintenance.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,13 @@ Depending on the type of the PR, different considerations need to be taken into
4848
- Performance: if a refactor PR claims to improve performance, there should be benchmarks showcasing said performance unless the improvement is self-explanatory.
4949

5050
- Code quality / stylistic PRs: we should be conservative on merging this type PRs because (1) they can be subjective in many cases, and (2) they often come with large git diffs, causing merge conflicts with other pending PRs, and leading to unwanted noise when tracing changes through git history. Use your best judgement on this type of PRs on whether they are worth it.
51-
5251
- For PRs in this category that are approved, do not merge immediately. Group them before releasing a new minor, after all feature-oriented PRs are merged.
5352

5453
### Reviewing a Feature
5554

5655
- Feature PRs should always have clear context and explanation on why the feature should be added, ideally in the form of an RFC. If the PR doesn't explain what real-world problem it is solving, ask the contributor to clarify.
5756

5857
- Decide if the feature should require an RFC process. The line isn't always clear, but a rough criteria is whether it is augmenting an existing API vs. adding a new API. Some examples:
59-
6058
- Adding a new built-in component or directive is "significant" and definitely requires an RFC.
6159
- Template syntax additions like adding a new `v-on` modifier or a new `v-bind` syntax sugar are "substantial". It would be nice to have an RFC for it, but a detailed explanation on the use case and reasoning behind the design directly in the PR itself can be acceptable.
6260
- Small, low-impact additions like exposing a new utility type or adding a new app config option can be self-explanatory, but should still provide enough context in the PR.
@@ -70,7 +68,6 @@ Depending on the type of the PR, different considerations need to be taken into
7068
- Implementation: code style should be consistent with the rest of the codebase, follow common best practices. Prefer code that is boring but easy to understand over "clever" code.
7169

7270
- Size: bundle size matters. We have a GitHub action that compares the size change for every PR. We should always aim to realize the desired changes with the smallest amount of code size increase.
73-
7471
- Sometimes we need to compare the size increase vs. perceived benefits to decide whether a change is justifiable. Also take extra care to make sure added code can be tree-shaken if not needed.
7572

7673
- Make sure to put dev-only code in `__DEV__` branches so they are tree-shakable.
@@ -80,7 +77,6 @@ Depending on the type of the PR, different considerations need to be taken into
8077
- 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`.
8178

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

8682
- Potential Breakage

.github/workflows/autofix.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ jobs:
1111
env:
1212
PUPPETEER_SKIP_DOWNLOAD: 'true'
1313
steps:
14-
- uses: actions/checkout@v4
14+
- uses: actions/checkout@v5
1515

1616
- name: Install pnpm
17-
uses: pnpm/action-setup@v4.1.0
17+
uses: pnpm/action-setup@v4.2.0
1818

1919
- name: Install Node.js
20-
uses: actions/setup-node@v4
20+
uses: actions/setup-node@v6
2121
with:
2222
node-version-file: '.node-version'
2323
registry-url: 'https://registry.npmjs.org'
@@ -31,4 +31,4 @@ jobs:
3131
- name: Run prettier
3232
run: pnpm run format
3333

34-
- uses: autofix-ci/action@551dded8c6cc8a1054039c8bc0b8b48c51dfc6ef
34+
- uses: autofix-ci/action@635ffb0c9798bd160680f18fd73371e355b85f27

.github/workflows/canary-minor.yml

Lines changed: 0 additions & 33 deletions
This file was deleted.

.github/workflows/canary.yml

Lines changed: 0 additions & 31 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,25 @@ on:
99
branches:
1010
- main
1111
- minor
12+
- vapor
1213

1314
jobs:
1415
test:
1516
if: ${{ ! startsWith(github.event.head_commit.message, 'release:') && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository) }}
1617
uses: ./.github/workflows/test.yml
1718

1819
continuous-release:
19-
if: github.repository == 'vuejs/core'
20+
if: github.repository == 'vuejs/core' && github.ref_name != 'vapor'
2021
runs-on: ubuntu-latest
2122
steps:
2223
- name: Checkout
23-
uses: actions/checkout@v4
24+
uses: actions/checkout@v5
2425

2526
- name: Install pnpm
2627
uses: pnpm/action-setup@v4
2728

2829
- name: Install Node.js
29-
uses: actions/setup-node@v4
30+
uses: actions/setup-node@v6
3031
with:
3132
node-version-file: '.node-version'
3233
registry-url: 'https://registry.npmjs.org'

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
if: github.repository == 'vuejs/core' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/ecosystem-ci run')
1111
steps:
1212
- name: Check user permission
13-
uses: actions/github-script@v7
13+
uses: actions/github-script@v8
1414
with:
1515
script: |
1616
const user = context.payload.sender.login
@@ -45,7 +45,7 @@ jobs:
4545
throw new Error('not allowed')
4646
}
4747
- name: Get PR info
48-
uses: actions/github-script@v7
48+
uses: actions/github-script@v8
4949
id: get-pr-data
5050
with:
5151
script: |
@@ -62,7 +62,7 @@ jobs:
6262
commit: pr.head.sha
6363
}
6464
- name: Trigger run
65-
uses: actions/github-script@v7
65+
uses: actions/github-script@v8
6666
id: trigger
6767
env:
6868
COMMENT: ${{ github.event.comment.body }}

.github/workflows/release.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ jobs:
2121
environment: Release
2222
steps:
2323
- name: Checkout
24-
uses: actions/checkout@v4
24+
uses: actions/checkout@v5
2525

2626
- name: Install pnpm
2727
uses: pnpm/action-setup@v4
2828

2929
- name: Install Node.js
30-
uses: actions/setup-node@v4
30+
uses: actions/setup-node@v6
3131
with:
3232
node-version-file: '.node-version'
3333
registry-url: 'https://registry.npmjs.org'
@@ -36,12 +36,13 @@ jobs:
3636
- name: Install deps
3737
run: pnpm install
3838

39+
- name: Update npm
40+
run: npm i -g npm@latest
41+
3942
- name: Build and publish
4043
id: publish
4144
run: |
4245
pnpm release --publishOnly
43-
env:
44-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
4546
4647
- name: Create GitHub release
4748
id: release_tag

.github/workflows/size-data.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ jobs:
2222
runs-on: ubuntu-latest
2323

2424
steps:
25-
- uses: actions/checkout@v4
25+
- uses: actions/checkout@v5
2626

2727
- name: Install pnpm
28-
uses: pnpm/action-setup@v4.1.0
28+
uses: pnpm/action-setup@v4.2.0
2929

3030
- name: Install Node.js
31-
uses: actions/setup-node@v4
31+
uses: actions/setup-node@v6
3232
with:
3333
node-version-file: '.node-version'
3434
cache: pnpm
@@ -45,7 +45,7 @@ jobs:
4545
echo ${{ github.base_ref }} > ./temp/size/base.txt
4646
4747
- name: Upload Size Data
48-
uses: actions/upload-artifact@v4
48+
uses: actions/upload-artifact@v5
4949
with:
5050
name: size-data
5151
path: temp/size

.github/workflows/size-report.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ jobs:
2222
github.event.workflow_run.event == 'pull_request' &&
2323
github.event.workflow_run.conclusion == 'success'
2424
steps:
25-
- uses: actions/checkout@v4
25+
- uses: actions/checkout@v5
2626

2727
- name: Install pnpm
28-
uses: pnpm/action-setup@v4.1.0
28+
uses: pnpm/action-setup@v4.2.0
2929

3030
- name: Install Node.js
31-
uses: actions/setup-node@v4
31+
uses: actions/setup-node@v6
3232
with:
3333
node-version-file: '.node-version'
3434
cache: pnpm
@@ -37,7 +37,7 @@ jobs:
3737
run: pnpm install
3838

3939
- name: Download Size Data
40-
uses: dawidd6/action-download-artifact@v9
40+
uses: dawidd6/action-download-artifact@v11
4141
with:
4242
name: size-data
4343
run_id: ${{ github.event.workflow_run.id }}
@@ -56,7 +56,7 @@ jobs:
5656
path: temp/size/base.txt
5757

5858
- name: Download Previous Size Data
59-
uses: dawidd6/action-download-artifact@v9
59+
uses: dawidd6/action-download-artifact@v11
6060
with:
6161
branch: ${{ steps.pr-base.outputs.content }}
6262
workflow: size-data.yml

0 commit comments

Comments
 (0)