Skip to content

Commit 4c8493b

Browse files
committed
chore: update
2 parents d2d2e3d + f4934ac commit 4c8493b

File tree

408 files changed

+41459
-5367
lines changed

Some content is hidden

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

408 files changed

+41459
-5367
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: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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/ci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,15 @@ 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

.github/workflows/size-report.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
run: pnpm install
3838

3939
- name: Download Size Data
40-
uses: dawidd6/action-download-artifact@v7
40+
uses: dawidd6/action-download-artifact@v9
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@v7
59+
uses: dawidd6/action-download-artifact@v9
6060
with:
6161
branch: ${{ steps.pr-base.outputs.content }}
6262
workflow: size-data.yml

.github/workflows/test.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,32 @@ jobs:
8080
- name: verify treeshaking
8181
run: node scripts/verify-treeshaking.js
8282

83+
e2e-vapor:
84+
runs-on: ubuntu-latest
85+
steps:
86+
- uses: actions/checkout@v4
87+
88+
- name: Setup cache for Chromium binary
89+
uses: actions/cache@v4
90+
with:
91+
path: ~/.cache/puppeteer
92+
key: chromium-${{ hashFiles('pnpm-lock.yaml') }}
93+
94+
- name: Install pnpm
95+
uses: pnpm/action-setup@v4.0.0
96+
97+
- name: Install Node.js
98+
uses: actions/setup-node@v4
99+
with:
100+
node-version-file: '.node-version'
101+
cache: 'pnpm'
102+
103+
- run: pnpm install
104+
- run: node node_modules/puppeteer/install.mjs
105+
106+
- name: Run e2e tests
107+
run: pnpm run test-e2e-vapor
108+
83109
lint-and-test-dts:
84110
runs-on: ubuntu-latest
85111
env:
@@ -104,5 +130,8 @@ jobs:
104130
- name: Run prettier
105131
run: pnpm run format-check
106132

133+
- name: Run tsc
134+
run: pnpm run check
135+
107136
- name: Run type declaration tests
108137
run: pnpm run test-dts

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ TODOs.md
1111
dts-build/packages
1212
*.tsbuildinfo
1313
*.tgz
14+
packages-private/benchmark/reference

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@
1414
"[json]": {
1515
"editor.defaultFormatter": "esbenp.prettier-vscode"
1616
},
17-
"editor.formatOnSave": true
17+
"editor.formatOnSave": true,
18+
"vitest.disableWorkspaceWarning": true
1819
}

0 commit comments

Comments
 (0)