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-03-01 11:15:53 +01:00
parent 21f7481f00
commit c3e61d16d7
No known key found for this signature in database
GPG Key ID: ADE44D8C9D44FBE4
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

@ -34,6 +34,9 @@
"js-yaml": "^4.1.0" "js-yaml": "^4.1.0"
}, },
"devDependencies": { "devDependencies": {
"@eslint/compat": "^2.0.0",
"@eslint/eslintrc": "^3.3.3",
"@eslint/js": "^9.39.2",
"@types/js-yaml": "^4.0.9", "@types/js-yaml": "^4.0.9",
"@types/node": "^20.19.27", "@types/node": "^20.19.27",
"@typescript-eslint/eslint-plugin": "^8.50.0", "@typescript-eslint/eslint-plugin": "^8.50.0",

View File

@ -1830,6 +1830,20 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@eslint/compat@npm:^2.0.0":
version: 2.0.2
resolution: "@eslint/compat@npm:2.0.2"
dependencies:
"@eslint/core": "npm:^1.1.0"
peerDependencies:
eslint: ^8.40 || 9 || 10
peerDependenciesMeta:
eslint:
optional: true
checksum: 10/027525ddafc0363a82df3ebc82b44214bb32a3e7bec8f4ad9ddb2fc43fa64f1c031f8f39a9164d14ed4a5f431c0abbf4c0b38021e88a5dd36cb19cfd92376acd
languageName: node
linkType: hard
"@eslint/config-array@npm:^0.21.1": "@eslint/config-array@npm:^0.21.1":
version: 0.21.1 version: 0.21.1
resolution: "@eslint/config-array@npm:0.21.1" resolution: "@eslint/config-array@npm:0.21.1"
@ -1859,7 +1873,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@eslint/eslintrc@npm:^3.3.1": "@eslint/core@npm:^1.1.0":
version: 1.1.0
resolution: "@eslint/core@npm:1.1.0"
dependencies:
"@types/json-schema": "npm:^7.0.15"
checksum: 10/f62724beacbb5fdd3560816a4edbbf832485cbec9516b76037fdf2cc2d75011e546e305a22feaa6bed4c1a26d069dc953979aa3c8c28eccf0a746a5ac53483b0
languageName: node
linkType: hard
"@eslint/eslintrc@npm:^3.3.1, @eslint/eslintrc@npm:^3.3.3":
version: 3.3.4 version: 3.3.4
resolution: "@eslint/eslintrc@npm:3.3.4" resolution: "@eslint/eslintrc@npm:3.3.4"
dependencies: dependencies:
@ -1876,7 +1899,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@eslint/js@npm:9.39.3": "@eslint/js@npm:9.39.3, @eslint/js@npm:^9.39.2":
version: 9.39.3 version: 9.39.3
resolution: "@eslint/js@npm:9.39.3" resolution: "@eslint/js@npm:9.39.3"
checksum: 10/91a1a1822cfeb2eb8a89aae86be5dfabad0b66b0915946516690a8485ddd80b91f43eee346789313fea1acbb7390a4958119ca7dc9a684a5c4014f12fcb3aaf3 checksum: 10/91a1a1822cfeb2eb8a89aae86be5dfabad0b66b0915946516690a8485ddd80b91f43eee346789313fea1acbb7390a4958119ca7dc9a684a5c4014f12fcb3aaf3
@ -4729,6 +4752,9 @@ __metadata:
"@aws-sdk/client-ecr": "npm:^3.978.0" "@aws-sdk/client-ecr": "npm:^3.978.0"
"@aws-sdk/client-ecr-public": "npm:^3.978.0" "@aws-sdk/client-ecr-public": "npm:^3.978.0"
"@docker/actions-toolkit": "npm:^0.76.0" "@docker/actions-toolkit": "npm:^0.76.0"
"@eslint/compat": "npm:^2.0.0"
"@eslint/eslintrc": "npm:^3.3.3"
"@eslint/js": "npm:^9.39.2"
"@types/js-yaml": "npm:^4.0.9" "@types/js-yaml": "npm:^4.0.9"
"@types/node": "npm:^20.19.27" "@types/node": "npm:^20.19.27"
"@typescript-eslint/eslint-plugin": "npm:^8.50.0" "@typescript-eslint/eslint-plugin": "npm:^8.50.0"