Skip to content

Commit 37fd203

Browse files
committed
migrate eslint config to new format required since 9.0.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
1 parent c33cda0 commit 37fd203

6 files changed

Lines changed: 91 additions & 32 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: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
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+
extends: fixupConfigRules(
23+
compat.extends(
24+
'eslint:recommended',
25+
'plugin:@typescript-eslint/eslint-recommended',
26+
'plugin:@typescript-eslint/recommended',
27+
'plugin:jest/recommended',
28+
'plugin:prettier/recommended'
29+
)
30+
),
31+
32+
plugins: {
33+
'@typescript-eslint': fixupPluginRules(typescriptEslint),
34+
jest: fixupPluginRules(jestPlugin),
35+
prettier: fixupPluginRules(prettier)
36+
},
37+
38+
languageOptions: {
39+
globals: {
40+
...globals.node,
41+
...globals.jest
42+
},
43+
parser: tsParser,
44+
ecmaVersion: 'latest',
45+
sourceType: 'module'
46+
},
47+
48+
rules: {
49+
'@typescript-eslint/no-require-imports': [
50+
'error',
51+
{
52+
allowAsImport: true
53+
}
54+
]
55+
}
56+
}
57+
]);

jest.config.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import fs from 'fs';
2-
import os from 'os';
3-
import path from 'path';
1+
import fs = require('fs');
2+
import os = require('os');
3+
import path = require('path');
44

55
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-setup-docker-action-'));
66

package.json

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

yarn.lock

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1285,6 +1285,20 @@ __metadata:
12851285
languageName: node
12861286
linkType: hard
12871287

1288+
"@eslint/compat@npm:^2.0.0":
1289+
version: 2.0.0
1290+
resolution: "@eslint/compat@npm:2.0.0"
1291+
dependencies:
1292+
"@eslint/core": ^1.0.0
1293+
peerDependencies:
1294+
eslint: ^8.40 || 9
1295+
peerDependenciesMeta:
1296+
eslint:
1297+
optional: true
1298+
checksum: b13e61d2f376744cfa4d2698f50ab12c13f92dbadc853211a8f293b282ab31940c0e7090db33b9be95887b7ebafc8c4f8c497ab39bb830ed5559cf21d079b39e
1299+
languageName: node
1300+
linkType: hard
1301+
12881302
"@eslint/config-array@npm:^0.21.1":
12891303
version: 0.21.1
12901304
resolution: "@eslint/config-array@npm:0.21.1"
@@ -1314,7 +1328,16 @@ __metadata:
13141328
languageName: node
13151329
linkType: hard
13161330

1317-
"@eslint/eslintrc@npm:^3.3.1":
1331+
"@eslint/core@npm:^1.0.0":
1332+
version: 1.0.0
1333+
resolution: "@eslint/core@npm:1.0.0"
1334+
dependencies:
1335+
"@types/json-schema": ^7.0.15
1336+
checksum: 9f32f5c813d4336f94de3ed2f95140d89a842d0b3978254b6f5ddacaa1db5a05cf59d65055040242f91fb5a340638cd3b2bcca875c1b82279a6e63700c80c3cc
1337+
languageName: node
1338+
linkType: hard
1339+
1340+
"@eslint/eslintrc@npm:^3.3.1, @eslint/eslintrc@npm:^3.3.3":
13181341
version: 3.3.3
13191342
resolution: "@eslint/eslintrc@npm:3.3.3"
13201343
dependencies:
@@ -1331,7 +1354,7 @@ __metadata:
13311354
languageName: node
13321355
linkType: hard
13331356

1334-
"@eslint/js@npm:9.39.2":
1357+
"@eslint/js@npm:9.39.2, @eslint/js@npm:^9.39.2":
13351358
version: 9.39.2
13361359
resolution: "@eslint/js@npm:9.39.2"
13371360
checksum: 362aa447266fa5717e762b2b252f177345cb0d7b2954113db9773b3a28898f7cbbc807e07f8078995e6da3f62791f7c5fa2c03517b7170a8e76613cf7fd83c92
@@ -3683,6 +3706,9 @@ __metadata:
36833706
dependencies:
36843707
"@actions/core": ^1.11.1
36853708
"@docker/actions-toolkit": ^0.69.0
3709+
"@eslint/compat": ^2.0.0
3710+
"@eslint/eslintrc": ^3.3.3
3711+
"@eslint/js": ^9.39.2
36863712
"@types/node": ^20.19.27
36873713
"@typescript-eslint/eslint-plugin": ^8.50.0
36883714
"@typescript-eslint/parser": ^8.50.0

0 commit comments

Comments
 (0)