Skip to content

Commit f1395a1

Browse files
authored
Merge branch 'minor' into main
2 parents 7760289 + 3c828f3 commit f1395a1

File tree

132 files changed

+4665
-3331
lines changed

Some content is hidden

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

132 files changed

+4665
-3331
lines changed

.eslintrc.cjs

+10-6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* eslint-disable no-restricted-globals */
2+
13
const DOMGlobals = ['window', 'document']
24
const NodeGlobals = ['module', 'require']
35

@@ -9,12 +11,6 @@ module.exports = {
911
plugins: ['jest'],
1012
rules: {
1113
'no-debugger': 'error',
12-
'no-unused-vars': [
13-
'error',
14-
// we are only using this rule to check for unused arguments since TS
15-
// catches unused variables but not args.
16-
{ varsIgnorePattern: '.*', args: 'none' }
17-
],
1814
// most of the codebase are expected to be env agnostic
1915
'no-restricted-globals': ['error', ...DOMGlobals, ...NodeGlobals],
2016

@@ -72,6 +68,14 @@ module.exports = {
7268
'no-restricted-syntax': 'off'
7369
}
7470
},
71+
// JavaScript files
72+
{
73+
files: ['*.js', '*.cjs'],
74+
rules: {
75+
// We only do `no-unused-vars` checks for js files, TS files are checked by TypeScript itself.
76+
'no-unused-vars': ['error', { vars: 'all', args: 'none' }]
77+
}
78+
},
7579
// Node scripts
7680
{
7781
files: ['scripts/**', '*.{js,ts}', 'packages/**/index.js'],

.github/contributing.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Hi! I'm really excited that you are interested in contributing to Vue.js. Before
5757

5858
## Development Setup
5959

60-
You will need [Node.js](https://nodejs.org) **version 16+**, and [PNPM](https://pnpm.io) **version 8+**.
60+
You will need [Node.js](https://nodejs.org) **version 18.12+**, and [PNPM](https://pnpm.io) **version 8+**.
6161

6262
We also recommend installing [ni](https://github.com/antfu/ni) to help switching between repos using different package managers. `ni` also provides the handy `nr` command which running npm scripts easier.
6363

@@ -181,11 +181,11 @@ Shortcut for starting the SFC Playground in local dev mode. This provides the fa
181181

182182
### `nr dev-esm`
183183

184-
Builds and watches `vue/dist/vue-runtime.esm-bundler.js` with all deps inlined using esbuild. This is useful when debugging the ESM build in a reproductions that require real build setups: link `packages/vue` globally, then link it into the project being debugged.
184+
Builds and watches `vue/dist/vue-runtime.esm-bundler.js` with all deps inlined using esbuild. This is useful when debugging the ESM build in a reproduction that requires real build setups: link `packages/vue` globally, then link it into the project being debugged.
185185

186186
### `nr dev-compiler`
187187

188-
The `dev-compiler` script builds, watches and serves the [Template Explorer](https://github.com/vuejs/core/tree/main/packages/template-explorer) at `http://localhost:5000`. This is useful when working on pure compiler issues.
188+
The `dev-compiler` script builds, watches and serves the [Template Explorer](https://github.com/vuejs/core/tree/main/packages/template-explorer) at `http://localhost:3000`. This is useful when working on pure compiler issues.
189189

190190
### `nr test`
191191

.github/dependabot.yml

-70
This file was deleted.

.github/renovate.json5

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
{
2+
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
3+
extends: ['config:base', 'schedule:weekly', 'group:allNonMajor'],
4+
labels: ['dependencies'],
5+
ignorePaths: ['**/__tests__/**'],
6+
rangeStrategy: 'bump',
7+
packageRules: [
8+
{
9+
depTypeList: ['peerDependencies'],
10+
enabled: false
11+
},
12+
{
13+
groupName: 'test',
14+
matchPackageNames: ['vitest', 'jsdom', 'puppeteer'],
15+
matchPackagePrefixes: ['@vitest']
16+
},
17+
{
18+
groupName: 'playground',
19+
matchFileNames: [
20+
'packages/sfc-playground/package.json',
21+
'packages/template-explorer/package.json'
22+
]
23+
},
24+
{
25+
groupName: 'compiler',
26+
matchPackageNames: ['magic-string'],
27+
matchPackagePrefixes: ['@babel', 'postcss']
28+
},
29+
{
30+
groupName: 'build',
31+
matchPackageNames: ['vite', 'terser'],
32+
matchPackagePrefixes: ['rollup', 'esbuild', '@rollup', '@vitejs']
33+
},
34+
{
35+
groupName: 'lint',
36+
matchPackageNames: ['simple-git-hooks', 'lint-staged'],
37+
matchPackagePrefixes: ['@typescript-eslint', 'eslint', 'prettier']
38+
}
39+
],
40+
ignoreDeps: [
41+
'vue',
42+
43+
// manually bumping
44+
'node',
45+
'typescript',
46+
47+
// ESM only
48+
'estree-walker'
49+
]
50+
}

.github/workflows/autofix.yml

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: autofix.ci
2+
3+
on:
4+
pull_request:
5+
permissions:
6+
contents: read
7+
8+
jobs:
9+
autofix:
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@v2
18+
19+
- name: Set node version to 18
20+
uses: actions/setup-node@v3
21+
with:
22+
node-version: 18
23+
cache: pnpm
24+
25+
- run: pnpm install
26+
27+
- name: Run eslint
28+
run: pnpm run lint --fix
29+
30+
- name: Run prettier
31+
run: pnpm run format
32+
33+
- uses: autofix-ci/action@d3e591514b99d0fca6779455ff8338516663f7cc

.github/workflows/canary-minor.yml

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: canary minor release
2+
on:
3+
# Runs every Monday at 1 AM UTC (9:00 AM in Singapore)
4+
schedule:
5+
- cron: 0 1 * * MON
6+
workflow_dispatch:
7+
8+
jobs:
9+
canary:
10+
# prevents this action from running on forks
11+
if: github.repository == 'vuejs/core'
12+
runs-on: ubuntu-latest
13+
environment: Release
14+
steps:
15+
- uses: actions/checkout@v4
16+
with:
17+
ref: minor
18+
19+
- name: Install pnpm
20+
uses: pnpm/action-setup@v2
21+
22+
- name: Set node version to 18
23+
uses: actions/setup-node@v3
24+
with:
25+
node-version: 18
26+
registry-url: 'https://registry.npmjs.org'
27+
cache: 'pnpm'
28+
29+
- run: pnpm install
30+
31+
- run: pnpm release --canary --tag minor
32+
env:
33+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

.github/workflows/canary.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ jobs:
1212
runs-on: ubuntu-latest
1313
environment: Release
1414
steps:
15-
- uses: actions/checkout@v3
15+
- uses: actions/checkout@v4
1616

1717
- name: Install pnpm
1818
uses: pnpm/action-setup@v2
1919

20-
- name: Set node version to 18
20+
- name: Install Node.js
2121
uses: actions/setup-node@v3
2222
with:
23-
node-version: 18
23+
node-version-file: '.node-version'
2424
registry-url: 'https://registry.npmjs.org'
2525
cache: 'pnpm'
2626

.github/workflows/ci.yml

+20-22
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,20 @@ jobs:
1414
unit-test:
1515
runs-on: ubuntu-latest
1616
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
17+
env:
18+
PUPPETEER_SKIP_DOWNLOAD: 'true'
1719
steps:
18-
- uses: actions/checkout@v3
20+
- uses: actions/checkout@v4
1921

2022
- name: Install pnpm
2123
uses: pnpm/action-setup@v2
2224

23-
- name: Set node version to 18
25+
- name: Install Node.js
2426
uses: actions/setup-node@v3
2527
with:
26-
node-version: 18
28+
node-version-file: '.node-version'
2729
cache: 'pnpm'
2830

29-
- name: Skip Puppeteer download
30-
run: echo "PUPPETEER_SKIP_DOWNLOAD=1" >> $GITHUB_ENV
31-
3231
- run: pnpm install
3332

3433
- name: Run unit tests
@@ -37,21 +36,20 @@ jobs:
3736
unit-test-windows:
3837
runs-on: windows-latest
3938
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
39+
env:
40+
PUPPETEER_SKIP_DOWNLOAD: 'true'
4041
steps:
41-
- uses: actions/checkout@v3
42+
- uses: actions/checkout@v4
4243

4344
- name: Install pnpm
4445
uses: pnpm/action-setup@v2
4546

46-
- name: Set node version to 18
47+
- name: Install Node.js
4748
uses: actions/setup-node@v3
4849
with:
49-
node-version: 18
50+
node-version-file: '.node-version'
5051
cache: 'pnpm'
5152

52-
- name: Skip Puppeteer download
53-
run: echo "PUPPETEER_SKIP_DOWNLOAD=1" >> $env:GITHUB_ENV
54-
5553
- run: pnpm install
5654

5755
- name: Run compiler unit tests
@@ -64,46 +62,46 @@ jobs:
6462
runs-on: ubuntu-latest
6563
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
6664
steps:
67-
- uses: actions/checkout@v3
65+
- uses: actions/checkout@v4
6866

6967
- name: Setup cache for Chromium binary
7068
uses: actions/cache@v3
7169
with:
72-
path: ~/.cache/puppeteer/chrome
70+
path: ~/.cache/puppeteer
7371
key: chromium-${{ hashFiles('pnpm-lock.yaml') }}
7472

7573
- name: Install pnpm
7674
uses: pnpm/action-setup@v2
7775

78-
- name: Set node version to 18
76+
- name: Install Node.js
7977
uses: actions/setup-node@v3
8078
with:
81-
node-version: 18
79+
node-version-file: '.node-version'
8280
cache: 'pnpm'
8381

8482
- run: pnpm install
83+
- run: node node_modules/puppeteer/install.mjs
8584

8685
- name: Run e2e tests
8786
run: pnpm run test-e2e
8887

8988
lint-and-test-dts:
9089
runs-on: ubuntu-latest
9190
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
91+
env:
92+
PUPPETEER_SKIP_DOWNLOAD: 'true'
9293
steps:
93-
- uses: actions/checkout@v3
94+
- uses: actions/checkout@v4
9495

9596
- name: Install pnpm
9697
uses: pnpm/action-setup@v2
9798

98-
- name: Set node version to 18
99+
- name: Install Node.js
99100
uses: actions/setup-node@v3
100101
with:
101-
node-version: 18
102+
node-version-file: '.node-version'
102103
cache: 'pnpm'
103104

104-
- name: Skip Puppeteer download
105-
run: echo "PUPPETEER_SKIP_DOWNLOAD=1" >> $GITHUB_ENV
106-
107105
- run: pnpm install
108106

109107
- name: Run eslint
+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Lock Closed Issues
2+
3+
on:
4+
schedule:
5+
- cron: '0 0 * * *'
6+
7+
permissions:
8+
issues: write
9+
10+
jobs:
11+
action:
12+
if: github.repository == 'vuejs/core'
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: dessant/lock-threads@v4
16+
with:
17+
github-token: ${{ secrets.GITHUB_TOKEN }}
18+
issue-inactive-days: '14'
19+
issue-lock-reason: ''
20+
process-only: 'issues'

0 commit comments

Comments
 (0)