@@ -16,17 +16,20 @@ jobs:
16
16
- name : Checkout
17
17
uses : actions/checkout@v4
18
18
19
+ - name : Install pnpm
20
+ uses : pnpm/action-setup@v4
21
+
19
22
- name : Set up Node
20
23
uses : actions/setup-node@v4
21
24
with :
22
- cache : npm
25
+ cache : ' pnpm '
23
26
node-version-file : ' .nvmrc'
24
27
25
28
- name : Install dependencies
26
- run : npm install
29
+ run : pnpm install
27
30
28
31
- name : Run script
29
- run : npm run ${{ matrix.validation-script }}
32
+ run : pnpm run ${{ matrix.validation-script }}
30
33
31
34
tests :
32
35
name : Tests (Node v${{ matrix.node }} - ESLint v${{ matrix.eslint }})
@@ -35,46 +38,31 @@ jobs:
35
38
strategy :
36
39
fail-fast : false
37
40
matrix :
38
- node : [12.22.0, 12, 14.17.0, 14, 16, 17, 18, 19, 20, 22]
39
- eslint : [7.5, 7, 8, 9]
40
- exclude :
41
- # eslint@9 doesn't support < Node v18
42
- - node : 17
43
- eslint : 9
44
- - node : 16
45
- eslint : 9
46
- - node : 14
47
- eslint : 9
48
- - node : 14.17.0
49
- eslint : 9
50
- - node : 12
51
- eslint : 9
52
- - node : 12.22.0
53
- eslint : 9
41
+ node : [18.18.0, 18, 20.9.0, 20, 21.1.0, 21, 22, 23]
42
+ eslint : [8.57.0, 8, 9]
54
43
steps :
55
44
- name : Checkout
56
45
uses : actions/checkout@v4
57
46
47
+ - name : Install pnpm
48
+ uses : pnpm/action-setup@v4
49
+
58
50
- name : Set up Node
59
51
uses : actions/setup-node@v4
60
52
with :
61
- cache : npm
53
+ cache : ' pnpm '
62
54
node-version : ${{ matrix.node }}
63
55
64
56
- name : Install dependencies
65
- run : npm install
66
-
67
- # see https://github.com/npm/cli/issues/7349
68
- - if : ${{ matrix.eslint == 9 }}
69
- run : npm un @typescript-eslint/eslint-plugin eslint-plugin-jest eslint-doc-generator
57
+ run : pnpm install
70
58
71
59
- name : Install ESLint v${{ matrix.eslint }}
72
- run : npm install --no-save --force eslint@${{ matrix.eslint }}
60
+ run : pnpm add eslint@${{ matrix.eslint }}
73
61
74
62
- name : Run tests
75
- run : npm run test:ci
63
+ run : pnpm run test:ci
76
64
77
65
- name : Upload coverage reports to Codecov
78
- uses : codecov/codecov-action@v4
66
+ uses : codecov/codecov-action@v5
79
67
env :
80
68
CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
0 commit comments