Skip to content

Commit c827c79

Browse files
committed
migrate eslint config to new format required since 9.0.0
Signed-off-by: CrazyMax <[email protected]>
1 parent 3420918 commit c827c79

5 files changed

Lines changed: 89 additions & 29 deletions

File tree

.eslintignore

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

.eslintrc.json

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

eslint.config.js

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/* eslint-disable @typescript-eslint/no-require-imports */
2+
const {defineConfig, globalIgnores} = require('eslint/config');
3+
const {fixupConfigRules, fixupPluginRules} = require('@eslint/compat');
4+
const typescriptEslint = require('@typescript-eslint/eslint-plugin');
5+
const jestPlugin = require('eslint-plugin-jest');
6+
const prettier = require('eslint-plugin-prettier');
7+
const globals = require('globals');
8+
const tsParser = require('@typescript-eslint/parser');
9+
const js = require('@eslint/js');
10+
const {FlatCompat} = require('@eslint/eslintrc');
11+
12+
// __dirname and __filename exist natively in CommonJS
13+
const compat = new FlatCompat({
14+
baseDirectory: __dirname,
15+
recommendedConfig: js.configs.recommended,
16+
allConfig: js.configs.all
17+
});
18+
19+
module.exports = defineConfig([
20+
globalIgnores(['dist/**/*', 'coverage/**/*', 'node_modules/**/*']),
21+
{
22+
// prettier-ignore
23+
extends: fixupConfigRules(
24+
compat.extends(
25+
'eslint:recommended',
26+
'plugin:@typescript-eslint/eslint-recommended',
27+
'plugin:@typescript-eslint/recommended',
28+
'plugin:jest/recommended',
29+
'plugin:prettier/recommended'
30+
)
31+
),
32+
33+
plugins: {
34+
'@typescript-eslint': fixupPluginRules(typescriptEslint),
35+
jest: fixupPluginRules(jestPlugin),
36+
prettier: fixupPluginRules(prettier)
37+
},
38+
39+
languageOptions: {
40+
globals: {
41+
...globals.node,
42+
...globals.jest
43+
},
44+
parser: tsParser,
45+
ecmaVersion: 'latest',
46+
sourceType: 'module'
47+
},
48+
49+
rules: {
50+
'@typescript-eslint/no-require-imports': [
51+
'error',
52+
{
53+
allowAsImport: true
54+
}
55+
]
56+
}
57+
}
58+
]);

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@
2929
"@docker/actions-toolkit": "^0.62.1"
3030
},
3131
"devDependencies": {
32+
"@eslint/compat": "^2.0.0",
33+
"@eslint/eslintrc": "^3.3.3",
34+
"@eslint/js": "^9.39.2",
3235
"@types/node": "^20.19.27",
3336
"@typescript-eslint/eslint-plugin": "^8.50.0",
3437
"@typescript-eslint/parser": "^8.50.0",

yarn.lock

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,6 +1190,20 @@ __metadata:
11901190
languageName: node
11911191
linkType: hard
11921192

1193+
"@eslint/compat@npm:^2.0.0":
1194+
version: 2.0.1
1195+
resolution: "@eslint/compat@npm:2.0.1"
1196+
dependencies:
1197+
"@eslint/core": ^1.0.1
1198+
peerDependencies:
1199+
eslint: ^8.40 || 9
1200+
peerDependenciesMeta:
1201+
eslint:
1202+
optional: true
1203+
checksum: bcaa4c67ca48a775b9131e46d29754ec6d1c7af911884a8a3b9d092e1ac8b07f3011749d93ffc9000751aac5f9f1eec3d51c6989799885bf4778a5141679a9fc
1204+
languageName: node
1205+
linkType: hard
1206+
11931207
"@eslint/config-array@npm:^0.21.1":
11941208
version: 0.21.1
11951209
resolution: "@eslint/config-array@npm:0.21.1"
@@ -1219,7 +1233,16 @@ __metadata:
12191233
languageName: node
12201234
linkType: hard
12211235

1222-
"@eslint/eslintrc@npm:^3.3.1":
1236+
"@eslint/core@npm:^1.0.1":
1237+
version: 1.0.1
1238+
resolution: "@eslint/core@npm:1.0.1"
1239+
dependencies:
1240+
"@types/json-schema": ^7.0.15
1241+
checksum: e79fe0984a0da922302e5b15ddc2f51ffab0126b5066e79ad475fc044b6c579877bb9055aae1ce2e16837deae86cf3978e2745424c446da062d3897945d51e9e
1242+
languageName: node
1243+
linkType: hard
1244+
1245+
"@eslint/eslintrc@npm:^3.3.1, @eslint/eslintrc@npm:^3.3.3":
12231246
version: 3.3.3
12241247
resolution: "@eslint/eslintrc@npm:3.3.3"
12251248
dependencies:
@@ -1236,7 +1259,7 @@ __metadata:
12361259
languageName: node
12371260
linkType: hard
12381261

1239-
"@eslint/js@npm:9.39.2":
1262+
"@eslint/js@npm:9.39.2, @eslint/js@npm:^9.39.2":
12401263
version: 9.39.2
12411264
resolution: "@eslint/js@npm:9.39.2"
12421265
checksum: 362aa447266fa5717e762b2b252f177345cb0d7b2954113db9773b3a28898f7cbbc807e07f8078995e6da3f62791f7c5fa2c03517b7170a8e76613cf7fd83c92
@@ -3479,6 +3502,9 @@ __metadata:
34793502
dependencies:
34803503
"@actions/core": ^1.11.1
34813504
"@docker/actions-toolkit": ^0.62.1
3505+
"@eslint/compat": ^2.0.0
3506+
"@eslint/eslintrc": ^3.3.3
3507+
"@eslint/js": ^9.39.2
34823508
"@types/node": ^20.19.27
34833509
"@typescript-eslint/eslint-plugin": ^8.50.0
34843510
"@typescript-eslint/parser": ^8.50.0

0 commit comments

Comments
 (0)