Skip to content

Commit feacab6

Browse files
committed
[Tests] add ESLint 10
1 parent 012ec39 commit feacab6

File tree

3 files changed

+32
-5
lines changed

3 files changed

+32
-5
lines changed

.github/workflows/eslint-9+.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,22 @@ jobs:
2626
matrix:
2727
node-version: ${{ fromJson(needs.matrix.outputs.latest) }}
2828
eslint:
29+
- 10
2930
- 9
3031
babel-eslint:
3132
- 10
3233
- 9
3334
- 8
3435
typescript-eslint:
3536
- 8
37+
exclude:
38+
# ESLint 10 supports Node.js 20+.
39+
- eslint: 10
40+
node-version: 18
41+
- eslint: 10
42+
node-version: 19
43+
- eslint: 10
44+
babel-eslint: 8
3645

3746
steps:
3847
- uses: actions/checkout@v4
@@ -41,7 +50,7 @@ jobs:
4150
with:
4251
node-version: ${{ matrix.node-version }}
4352
after_install: |
44-
npm install --no-save "eslint@${{ matrix.eslint }}" "@typescript-eslint/parser@${{ matrix.typescript-eslint == 8 && 8.17 || matrix.typescript-eslint }}" "babel-eslint@${{ matrix.babel-eslint }}"
53+
npm install --no-save "eslint@${{ matrix.eslint }}" "@typescript-eslint/parser@${{ matrix.eslint == 10 && 'canary' || (matrix.typescript-eslint == 8 && 8.17 || matrix.typescript-eslint) }}" "babel-eslint@${{ matrix.babel-eslint }}" ${{ matrix.eslint == 10 && '"typescript@5"' || '' }}
4554
skip-ls-check: true
4655
- run: npx ls-engines
4756
- run: npm run unit-test

.github/workflows/type-check.yml

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ jobs:
1616
- '7'
1717
- '8'
1818
- '9'
19+
- '10'
1920
ts_version:
2021
# The official ESLint types are not compatible with TS 3.9
2122
# - 3.9
@@ -34,7 +35,7 @@ jobs:
3435
- es2020
3536
- esnext
3637
exclude:
37-
# ESLint 9 ships types via @eslint/core which requires TS >= 5.0
38+
# ESLint 9+ ships types via @eslint/core which requires TS >= 5.0
3839
- eslint_version: '9'
3940
ts_version: '4.0'
4041
- eslint_version: '9'
@@ -47,6 +48,18 @@ jobs:
4748
ts_version: 4.4
4849
- eslint_version: '9'
4950
ts_version: 4.5
51+
- eslint_version: '10'
52+
ts_version: '4.0'
53+
- eslint_version: '10'
54+
ts_version: 4.1
55+
- eslint_version: '10'
56+
ts_version: 4.2
57+
- eslint_version: '10'
58+
ts_version: 4.3
59+
- eslint_version: '10'
60+
ts_version: 4.4
61+
- eslint_version: '10'
62+
ts_version: 4.5
5063
steps:
5164
- uses: actions/checkout@v4
5265
with:
@@ -61,7 +74,12 @@ jobs:
6174

6275
- name: select eslint types
6376
run: |
64-
if [ "${{ matrix.eslint_version }}" = "9" ]; then
77+
if [ "${{ matrix.eslint_version }}" = "10" ]; then
78+
# Avoid dev dependency peer conflicts with eslint@10.
79+
npm prune --omit=dev
80+
npm uninstall --no-save @types/eslint
81+
npm install --no-save --legacy-peer-deps eslint@^10 typescript@^5
82+
elif [ "${{ matrix.eslint_version }}" = "9" ]; then
6583
npm uninstall --no-save @types/eslint
6684
npm install --no-save eslint@^9 typescript@^5
6785
elif [ "${{ matrix.eslint_version }}" = "7" ]; then

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
"@types/node": "^4.9.5",
6868
"@typescript-eslint/parser": "^2.34.0 || ^3.10.1 || ^4 || ^5 || ^6.20 || ^7.14.1 || 8.4 - 8.17",
6969
"babel-eslint": "^8 || ^9 || ^10.1.0",
70-
"eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7",
70+
"eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 || ^10",
7171
"eslint-config-airbnb-base": "^15.0.0",
7272
"eslint-doc-generator": "^3.0.2",
7373
"eslint-plugin-eslint-plugin": "^2.3.0 || ^3.5.3 || ^4.0.1 || ^5.0.5",
@@ -89,7 +89,7 @@
8989
"typescript-eslint-parser": "^20.1.1"
9090
},
9191
"peerDependencies": {
92-
"eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7"
92+
"eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 || ^10"
9393
},
9494
"engines": {
9595
"node": ">=4"

0 commit comments

Comments
 (0)