Skip to content

Commit f888dce

Browse files
committed
feat: modernize tooling stack
- Replace npm with pnpm - Replace Jest with Vitest - Replace ESLint with Oxlint - Update all GitHub Actions workflows to use pnpm - Update Taskfile.yml for new tools - Add retry mechanism for flaky network tests - Update all dependencies to latest versions
1 parent 0ab1b2a commit f888dce

21 files changed

Lines changed: 3468 additions & 19077 deletions

.eslintignore

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

.eslintrc.yml

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

.github/workflows/check-action-metadata-task.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ on:
88
- ".npmrc"
99
- "action.ya?ml"
1010
- "package.json"
11-
- "package-lock.json"
11+
- "pnpm-lock.yaml"
1212
- "Taskfile.ya?ml"
1313
pull_request:
1414
paths:
1515
- ".github/workflows/check-action-metadata-task.ya?ml"
1616
- ".npmrc"
1717
- "action.ya?ml"
1818
- "package.json"
19-
- "package-lock.json"
19+
- "pnpm-lock.yaml"
2020
- "Taskfile.ya?ml"
2121
schedule:
2222
# Run every Tuesday at 8 AM UTC to catch breakage from changes to the JSON schema.
@@ -32,10 +32,14 @@ jobs:
3232
- name: Checkout repository
3333
uses: actions/checkout@v5
3434

35+
- name: Setup pnpm
36+
uses: pnpm/action-setup@v4
37+
3538
- name: Setup Node.js
3639
uses: actions/setup-node@v5
3740
with:
3841
node-version-file: package.json
42+
cache: "pnpm"
3943

4044
- name: Install Task
4145
uses: go-task/setup-task@v1

.github/workflows/check-markdown-task.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99
- ".markdown-link-check.json"
1010
- ".npmrc"
1111
- "package.json"
12-
- "package-lock.json"
12+
- "pnpm-lock.yaml"
1313
- "Taskfile.ya?ml"
1414
- "**/.markdownlint*"
1515
- "**.mdx?"
@@ -22,7 +22,7 @@ on:
2222
- ".markdown-link-check.json"
2323
- ".npmrc"
2424
- "package.json"
25-
- "package-lock.json"
25+
- "pnpm-lock.yaml"
2626
- "Taskfile.ya?ml"
2727
- "**/.markdownlint*"
2828
- "**.mdx?"
@@ -43,10 +43,14 @@ jobs:
4343
- name: Checkout repository
4444
uses: actions/checkout@v5
4545

46+
- name: Setup pnpm
47+
uses: pnpm/action-setup@v4
48+
4649
- name: Setup Node.js
4750
uses: actions/setup-node@v5
4851
with:
4952
node-version-file: package.json
53+
cache: "pnpm"
5054

5155
- name: Initialize markdownlint-cli problem matcher
5256
uses: xt0rted/markdownlint-problem-matcher@v3
@@ -67,10 +71,14 @@ jobs:
6771
- name: Checkout repository
6872
uses: actions/checkout@v5
6973

74+
- name: Setup pnpm
75+
uses: pnpm/action-setup@v4
76+
7077
- name: Setup Node.js
7178
uses: actions/setup-node@v5
7279
with:
7380
node-version-file: package.json
81+
cache: "pnpm"
7482

7583
- name: Install Task
7684
uses: go-task/setup-task@v1

.github/workflows/check-npm-dependencies-task.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ on:
1414
- "**/.gitmodules"
1515
- "**/.npmrc"
1616
- "**/package.json"
17-
- "**/package-lock.json"
17+
- "**/pnpm-lock.yaml"
1818
pull_request:
1919
paths:
2020
- ".github/workflows/check-npm-dependencies-task.ya?ml"
@@ -25,7 +25,7 @@ on:
2525
- "**/.gitmodules"
2626
- "**/.npmrc"
2727
- "**/package.json"
28-
- "**/package-lock.json"
28+
- "**/pnpm-lock.yaml"
2929
schedule:
3030
# Run periodically to catch breakage caused by external changes.
3131
- cron: "0 8 * * WED"
@@ -79,10 +79,14 @@ jobs:
7979
github_token: ${{ secrets.GITHUB_TOKEN }}
8080
version: 5.x
8181

82+
- name: Setup pnpm
83+
uses: pnpm/action-setup@v4
84+
8285
- name: Setup Node.js
8386
uses: actions/setup-node@v5
8487
with:
8588
node-version-file: package.json
89+
cache: "pnpm"
8690

8791
- name: Install Task
8892
uses: go-task/setup-task@v1
@@ -136,10 +140,14 @@ jobs:
136140
github_token: ${{ secrets.GITHUB_TOKEN }}
137141
version: 5.x
138142

143+
- name: Setup pnpm
144+
uses: pnpm/action-setup@v4
145+
139146
- name: Setup Node.js
140147
uses: actions/setup-node@v5
141148
with:
142149
node-version-file: package.json
150+
cache: "pnpm"
143151

144152
- name: Install Task
145153
uses: go-task/setup-task@v1

.github/workflows/check-npm-task.yml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ on:
88
- ".github/workflows/check-npm-task.ya?ml"
99
- "**/.npmrc"
1010
- "**/package.json"
11-
- "**/package-lock.json"
11+
- "**/pnpm-lock.yaml"
1212
- "Taskfile.ya?ml"
1313
pull_request:
1414
paths:
1515
- ".github/workflows/check-npm-task.ya?ml"
1616
- "**/.npmrc"
1717
- "**/package.json"
18-
- "**/package-lock.json"
18+
- "**/pnpm-lock.yaml"
1919
- "Taskfile.ya?ml"
2020
schedule:
2121
# Run every Tuesday at 8 AM UTC to catch breakage resulting from changes to the JSON schema.
@@ -34,10 +34,14 @@ jobs:
3434
- name: Checkout repository
3535
uses: actions/checkout@v5
3636

37+
- name: Setup pnpm
38+
uses: pnpm/action-setup@v4
39+
3740
- name: Setup Node.js
3841
uses: actions/setup-node@v5
3942
with:
4043
node-version-file: package.json
44+
cache: "pnpm"
4145

4246
- name: Install Task
4347
uses: go-task/setup-task@v1
@@ -55,19 +59,23 @@ jobs:
5559
- name: Checkout repository
5660
uses: actions/checkout@v5
5761

62+
- name: Setup pnpm
63+
uses: pnpm/action-setup@v4
64+
5865
- name: Setup Node.js
5966
uses: actions/setup-node@v5
6067
with:
6168
node-version-file: package.json
69+
cache: "pnpm"
6270

6371
- name: Install Task
6472
uses: go-task/setup-task@v1
6573
with:
6674
repo-token: ${{ secrets.GITHUB_TOKEN }}
6775
version: 3.x
6876

69-
- name: Install npm dependencies
77+
- name: Install pnpm dependencies
7078
run: task npm:install-deps
7179

72-
- name: Check package-lock.json
73-
run: git diff --color --exit-code package-lock.json
80+
- name: Check pnpm-lock.yaml
81+
run: git diff --color --exit-code pnpm-lock.yaml

.github/workflows/check-prettier-formatting-task.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,10 +208,14 @@ jobs:
208208
- name: Checkout repository
209209
uses: actions/checkout@v5
210210

211+
- name: Setup pnpm
212+
uses: pnpm/action-setup@v4
213+
211214
- name: Setup Node.js
212215
uses: actions/setup-node@v5
213216
with:
214217
node-version-file: package.json
218+
cache: "pnpm"
215219

216220
- name: Install Task
217221
uses: go-task/setup-task@v1

.github/workflows/check-tsconfig-task.yml

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ on:
88
- "**/tsconfig*.json"
99
- ".npmrc"
1010
- "package.json"
11-
- "package-lock.json"
11+
- "pnpm-lock.yaml"
1212
- "Taskfile.ya?ml"
1313
pull_request:
1414
paths:
1515
- ".github/workflows/check-tsconfig-task.ya?ml"
1616
- "**/tsconfig*.json"
1717
- ".npmrc"
1818
- "package.json"
19-
- "package-lock.json"
19+
- "pnpm-lock.yaml"
2020
- "Taskfile.ya?ml"
2121
schedule:
2222
# Run every Tuesday at 8 AM UTC to catch breakage from changes to the JSON schema.
@@ -28,30 +28,24 @@ jobs:
2828
validate:
2929
runs-on: ubuntu-latest
3030

31-
strategy:
32-
fail-fast: false
33-
34-
matrix:
35-
file:
36-
- ./tsconfig.json
37-
- ./tsconfig.eslint.json
38-
3931
steps:
4032
- name: Checkout repository
4133
uses: actions/checkout@v5
4234

35+
- name: Setup pnpm
36+
uses: pnpm/action-setup@v4
37+
4338
- name: Setup Node.js
4439
uses: actions/setup-node@v5
4540
with:
4641
node-version-file: package.json
42+
cache: "pnpm"
4743

4844
- name: Install Task
4945
uses: go-task/setup-task@v1
5046
with:
5147
repo-token: ${{ secrets.GITHUB_TOKEN }}
5248
version: 3.x
5349

54-
- name: Validate ${{ matrix.file }}
55-
env:
56-
TSCONFIG_PATH: ${{ matrix.file }}
50+
- name: Validate tsconfig.json
5751
run: task --silent ts:validate

.github/workflows/check-typescript-task.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,11 @@ on:
55
push:
66
paths:
77
- ".github/workflows/check-typescript-task.ya?ml"
8-
- ".eslintignore"
9-
- "**/.eslintrc*"
8+
- "oxlint.json"
109
- ".npmrc"
1110
- "package.json"
12-
- "package-lock.json"
11+
- "pnpm-lock.yaml"
1312
- "Taskfile.ya?ml"
14-
- "tsconfig.eslint.json"
1513
- "tsconfig.json"
1614
- "**.js"
1715
- "**.jsx"
@@ -20,13 +18,11 @@ on:
2018
pull_request:
2119
paths:
2220
- ".github/workflows/check-typescript-task.ya?ml"
23-
- ".eslintignore"
24-
- "**/.eslintrc*"
21+
- "oxlint.json"
2522
- ".npmrc"
2623
- "package.json"
27-
- "package-lock.json"
24+
- "pnpm-lock.yaml"
2825
- "Taskfile.ya?ml"
29-
- "tsconfig.eslint.json"
3026
- "tsconfig.json"
3127
- "**.js"
3228
- "**.jsx"
@@ -46,10 +42,14 @@ jobs:
4642
- name: Checkout repository
4743
uses: actions/checkout@v5
4844

45+
- name: Setup pnpm
46+
uses: pnpm/action-setup@v4
47+
4948
- name: Setup Node.js
5049
uses: actions/setup-node@v5
5150
with:
5251
node-version-file: package.json
52+
cache: "pnpm"
5353

5454
- name: Install Task
5555
uses: go-task/setup-task@v1

0 commit comments

Comments
 (0)