migrate eslint config to new format required since 9.0.0

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax
2026-01-29 16:34:21 +01:00
parent 3420918368
commit c827c799f9
5 changed files with 89 additions and 29 deletions

View File

@@ -1,3 +0,0 @@
/dist/**
/coverage/**
/node_modules/**

View File

@@ -1,24 +0,0 @@
{
"env": {
"node": true,
"es6": true,
"jest": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:jest/recommended",
"plugin:prettier/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": [
"@typescript-eslint",
"jest",
"prettier"
]
}

58
eslint.config.js Normal file
View File

@@ -0,0 +1,58 @@
/* eslint-disable @typescript-eslint/no-require-imports */
const {defineConfig, globalIgnores} = require('eslint/config');
const {fixupConfigRules, fixupPluginRules} = require('@eslint/compat');
const typescriptEslint = require('@typescript-eslint/eslint-plugin');
const jestPlugin = require('eslint-plugin-jest');
const prettier = require('eslint-plugin-prettier');
const globals = require('globals');
const tsParser = require('@typescript-eslint/parser');
const js = require('@eslint/js');
const {FlatCompat} = require('@eslint/eslintrc');
// __dirname and __filename exist natively in CommonJS
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all
});
module.exports = defineConfig([
globalIgnores(['dist/**/*', 'coverage/**/*', 'node_modules/**/*']),
{
// prettier-ignore
extends: fixupConfigRules(
compat.extends(
'eslint:recommended',
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
'plugin:jest/recommended',
'plugin:prettier/recommended'
)
),
plugins: {
'@typescript-eslint': fixupPluginRules(typescriptEslint),
jest: fixupPluginRules(jestPlugin),
prettier: fixupPluginRules(prettier)
},
languageOptions: {
globals: {
...globals.node,
...globals.jest
},
parser: tsParser,
ecmaVersion: 'latest',
sourceType: 'module'
},
rules: {
'@typescript-eslint/no-require-imports': [
'error',
{
allowAsImport: true
}
]
}
}
]);

View File

@@ -29,6 +29,9 @@
"@docker/actions-toolkit": "^0.62.1"
},
"devDependencies": {
"@eslint/compat": "^2.0.0",
"@eslint/eslintrc": "^3.3.3",
"@eslint/js": "^9.39.2",
"@types/node": "^20.19.27",
"@typescript-eslint/eslint-plugin": "^8.50.0",
"@typescript-eslint/parser": "^8.50.0",

View File

@@ -1190,6 +1190,20 @@ __metadata:
languageName: node
linkType: hard
"@eslint/compat@npm:^2.0.0":
version: 2.0.1
resolution: "@eslint/compat@npm:2.0.1"
dependencies:
"@eslint/core": ^1.0.1
peerDependencies:
eslint: ^8.40 || 9
peerDependenciesMeta:
eslint:
optional: true
checksum: bcaa4c67ca48a775b9131e46d29754ec6d1c7af911884a8a3b9d092e1ac8b07f3011749d93ffc9000751aac5f9f1eec3d51c6989799885bf4778a5141679a9fc
languageName: node
linkType: hard
"@eslint/config-array@npm:^0.21.1":
version: 0.21.1
resolution: "@eslint/config-array@npm:0.21.1"
@@ -1219,7 +1233,16 @@ __metadata:
languageName: node
linkType: hard
"@eslint/eslintrc@npm:^3.3.1":
"@eslint/core@npm:^1.0.1":
version: 1.0.1
resolution: "@eslint/core@npm:1.0.1"
dependencies:
"@types/json-schema": ^7.0.15
checksum: e79fe0984a0da922302e5b15ddc2f51ffab0126b5066e79ad475fc044b6c579877bb9055aae1ce2e16837deae86cf3978e2745424c446da062d3897945d51e9e
languageName: node
linkType: hard
"@eslint/eslintrc@npm:^3.3.1, @eslint/eslintrc@npm:^3.3.3":
version: 3.3.3
resolution: "@eslint/eslintrc@npm:3.3.3"
dependencies:
@@ -1236,7 +1259,7 @@ __metadata:
languageName: node
linkType: hard
"@eslint/js@npm:9.39.2":
"@eslint/js@npm:9.39.2, @eslint/js@npm:^9.39.2":
version: 9.39.2
resolution: "@eslint/js@npm:9.39.2"
checksum: 362aa447266fa5717e762b2b252f177345cb0d7b2954113db9773b3a28898f7cbbc807e07f8078995e6da3f62791f7c5fa2c03517b7170a8e76613cf7fd83c92
@@ -3479,6 +3502,9 @@ __metadata:
dependencies:
"@actions/core": ^1.11.1
"@docker/actions-toolkit": ^0.62.1
"@eslint/compat": ^2.0.0
"@eslint/eslintrc": ^3.3.3
"@eslint/js": ^9.39.2
"@types/node": ^20.19.27
"@typescript-eslint/eslint-plugin": ^8.50.0
"@typescript-eslint/parser": ^8.50.0