chore(deps): migrate backend config to eslint 9

Signed-off-by: David Mehren <git@herrmehren.de>
This commit is contained in:
David Mehren 2024-09-01 19:34:41 +02:00
parent 622cced2af
commit 2fbb1cc576
No known key found for this signature in database
9 changed files with 231 additions and 239 deletions

View file

@ -1,98 +0,0 @@
/* SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file)
*
* SPDX-License-Identifier: CC0-1.0
*/
module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
project: 'tsconfig.json',
sourceType: 'module',
},
overrides: [
{
files: ['test/**', 'src/**/*.spec.ts'],
extends: ['plugin:jest/recommended'],
rules: {
'@typescript-eslint/unbound-method': 'off',
'@typescript-eslint/no-unsafe-assignment': 'off',
'@typescript-eslint/no-unsafe-argument': 'off',
'@typescript-eslint/no-unsafe-member-access': 'off',
'@typescript-eslint/require-await': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'jest/unbound-method': 'error',
'jest/expect-expect': [
'error',
{
assertFunctionNames: [
'expect',
'request.**.expect',
'agent[0-9]?.**.expect',
],
},
],
'jest/no-standalone-expect': [
'error',
{
additionalTestBlockFunctions: ['afterEach', 'beforeAll'],
},
],
},
},
],
plugins: ['@typescript-eslint', 'jest', 'eslint-plugin-local-rules','@darraghor/nestjs-typed'],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:@typescript-eslint/recommended-requiring-type-checking',
'plugin:prettier/recommended',
'plugin:@darraghor/nestjs-typed/recommended'
],
root: true,
env: {
node: true,
jest: true,
},
rules: {
'prettier/prettier': ['error', require('./.prettierrc.json')],
'local-rules/correct-logger-context': 'error',
'local-rules/no-typeorm-equal': 'error',
'func-style': ['error', 'declaration'],
'@typescript-eslint/no-unused-vars': [
'warn',
{ argsIgnorePattern: '^_+$' },
],
'@typescript-eslint/explicit-function-return-type': 'warn',
'no-return-await': 'off',
'@typescript-eslint/return-await': ['error', 'always'],
'@typescript-eslint/naming-convention': [
'error',
{
selector: 'default',
format: ['camelCase'],
leadingUnderscore: 'allow',
trailingUnderscore: 'allow',
},
{
selector: 'import',
format: ['camelCase', 'PascalCase'],
},
{
selector: 'enumMember',
format: ['UPPER_CASE'],
},
{
selector: 'variable',
format: ['camelCase', 'UPPER_CASE'],
leadingUnderscore: 'allow',
trailingUnderscore: 'allow',
},
{
selector: 'typeLike',
format: ['PascalCase'],
},
],
// We have our own OpenApi decorator and don't directly use the one from NestJS
'@darraghor/nestjs-typed/api-method-should-specify-api-response': 'off',
},
};

View file

@ -19,6 +19,7 @@ module.exports = {
schema: [], schema: [],
}, },
create: function (context) { create: function (context) {
const sourceCode = context.sourceCode ?? context.getSourceCode();
return { return {
CallExpression: function (node) { CallExpression: function (node) {
if ( if (
@ -31,7 +32,9 @@ module.exports = {
) { ) {
const usedContext = node.arguments[1].value; const usedContext = node.arguments[1].value;
let correctContext = 'undefined'; let correctContext = 'undefined';
const ancestors = context.getAncestors(); const ancestors = sourceCode.getAncestors
? sourceCode.getAncestors(node)
: context.getAncestors();
for (let index = ancestors.length - 1; index >= 0; index--) { for (let index = ancestors.length - 1; index >= 0; index--) {
if (ancestors[index].type === 'MethodDefinition') { if (ancestors[index].type === 'MethodDefinition') {
correctContext = ancestors[index].key.name; correctContext = ancestors[index].key.name;
@ -45,7 +48,7 @@ module.exports = {
fix: function (fixer) { fix: function (fixer) {
return fixer.replaceText( return fixer.replaceText(
node.arguments[1], node.arguments[1],
`'${correctContext}'` `'${correctContext}'`,
); );
}, },
}); });
@ -74,7 +77,7 @@ module.exports = {
fix: function (fixer) { fix: function (fixer) {
return fixer.replaceText( return fixer.replaceText(
node.parent, node.parent,
`{ id: ${node.parent.arguments[0].name}.id }` `{ id: ${node.parent.arguments[0].name}.id }`,
); );
}, },
}); });

122
backend/eslint.config.mjs Normal file
View file

@ -0,0 +1,122 @@
/* SPDX-FileCopyrightText: 2024 The HedgeDoc developers (see AUTHORS file)
*
* SPDX-License-Identifier: CC0-1.0
*/
import {
includeIgnoreFile
} from "@eslint/compat";
import eslint from "@eslint/js";
import jest from "eslint-plugin-jest";
import localRules from "eslint-plugin-local-rules";
import eslintPluginPrettierRecommended
from "eslint-plugin-prettier/recommended";
import path from "node:path";
import { fileURLToPath } from "node:url";
import tseslint from "typescript-eslint";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const gitignorePath = path.resolve(__dirname, ".gitignore");
export default tseslint.config(
// typescript eslint default config + type checks
eslint.configs.recommended,
...tseslint.configs.recommendedTypeChecked,
{
languageOptions: {
parserOptions: {
projectService: true,
tsconfigRootDir: __dirname
}
}
},
eslintPluginPrettierRecommended,
// ignore files from .gitignore
// https://eslint.org/docs/latest/use/configure/ignore#including-gitignore-files
includeIgnoreFile(gitignorePath),
{ ignores: ["eslint.config.mjs"] },
{
plugins: {
"local-rules": localRules
}
},
// custom rules
{
rules: {
"local-rules/correct-logger-context": "error",
"local-rules/no-typeorm-equal": "error",
"func-style": ["error", "declaration"],
"@typescript-eslint/no-unused-vars": [
"warn",
{ argsIgnorePattern: "^_+$" }
],
"@typescript-eslint/explicit-function-return-type": "warn",
"no-return-await": "off",
"@typescript-eslint/return-await": ["error", "always"],
"@typescript-eslint/naming-convention": [
"error",
{
selector: "default",
format: ["camelCase"],
leadingUnderscore: "allow",
trailingUnderscore: "allow"
},
{
selector: "import",
format: ["camelCase", "PascalCase"]
},
{
selector: "enumMember",
format: ["UPPER_CASE"]
},
{
selector: "variable",
format: ["camelCase", "UPPER_CASE"],
leadingUnderscore: "allow",
trailingUnderscore: "allow"
},
{
selector: "typeLike",
format: ["PascalCase"]
}
],
// We have our own OpenApi decorator and don't directly use the one from NestJS
"@darraghor/nestjs-typed/api-method-should-specify-api-response": "off"
}
},
{
files: ["test/**", "src/**/*.spec.ts"],
...jest.configs["flat/recommended"],
rules: {
"@typescript-eslint/unbound-method": "off",
"@typescript-eslint/no-unsafe-assignment": "off",
"@typescript-eslint/no-unsafe-argument": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/require-await": "off",
"@typescript-eslint/explicit-function-return-type": "off",
"jest/expect-expect": [
"error",
{
assertFunctionNames: [
"expect",
"request.**.expect",
"agent[0-9]?.**.expect"
]
}
],
"jest/no-standalone-expect": [
"error",
{
additionalTestBlockFunctions: ["afterEach", "beforeAll"]
}
]
}
}
);

View file

@ -80,6 +80,8 @@
}, },
"devDependencies": { "devDependencies": {
"@darraghor/eslint-plugin-nestjs-typed": "5.0.18", "@darraghor/eslint-plugin-nestjs-typed": "5.0.18",
"@eslint/compat": "1.1.1",
"@eslint/js": "9.9.1",
"@nestjs/cli": "10.4.5", "@nestjs/cli": "10.4.5",
"@nestjs/schematics": "10.1.4", "@nestjs/schematics": "10.1.4",
"@nestjs/testing": "10.4.1", "@nestjs/testing": "10.4.1",
@ -89,6 +91,7 @@
"@types/cookie": "0.6.0", "@types/cookie": "0.6.0",
"@types/cookie-signature": "1.1.2", "@types/cookie-signature": "1.1.2",
"@types/diff": "5.2.2", "@types/diff": "5.2.2",
"@types/eslint__js": "8.42.3",
"@types/express": "4.17.21", "@types/express": "4.17.21",
"@types/express-session": "1.18.0", "@types/express-session": "1.18.0",
"@types/jest": "29.5.12", "@types/jest": "29.5.12",
@ -100,8 +103,8 @@
"@types/source-map-support": "0.5.10", "@types/source-map-support": "0.5.10",
"@types/supertest": "2.0.16", "@types/supertest": "2.0.16",
"@types/ws": "8.5.10", "@types/ws": "8.5.10",
"@typescript-eslint/eslint-plugin": "6.21.0", "@typescript-eslint/eslint-plugin": "8.3.0",
"@typescript-eslint/parser": "6.21.0", "@typescript-eslint/parser": "8.3.0",
"eslint": "9.9.1", "eslint": "9.9.1",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "9.1.0",
"eslint-plugin-import": "2.29.1", "eslint-plugin-import": "2.29.1",

View file

@ -55,8 +55,8 @@
"@mrdrogdrog/optional": "1.2.1", "@mrdrogdrog/optional": "1.2.1",
"@types/js-yaml": "4.0.9", "@types/js-yaml": "4.0.9",
"@types/ws": "8.5.10", "@types/ws": "8.5.10",
"@typescript-eslint/eslint-plugin": "6.21.0", "@typescript-eslint/eslint-plugin": "8.3.0",
"@typescript-eslint/parser": "6.21.0", "@typescript-eslint/parser": "8.3.0",
"eslint": "9.9.1", "eslint": "9.9.1",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "9.1.0",
"eslint-plugin-jest": "28.8.1", "eslint-plugin-jest": "28.8.1",

View file

@ -142,8 +142,8 @@
"@types/testing-library__jest-dom": "5.14.9", "@types/testing-library__jest-dom": "5.14.9",
"@types/uuid": "9.0.8", "@types/uuid": "9.0.8",
"@types/ws": "8.5.10", "@types/ws": "8.5.10",
"@typescript-eslint/eslint-plugin": "6.21.0", "@typescript-eslint/eslint-plugin": "8.3.0",
"@typescript-eslint/parser": "6.21.0", "@typescript-eslint/parser": "8.3.0",
"csstype": "3.1.3", "csstype": "3.1.3",
"cypress": "13.6.6", "cypress": "13.6.6",
"cypress-commands": "3.0.0", "cypress-commands": "3.0.0",

View file

@ -52,8 +52,8 @@
"@jest/types": "29.6.3", "@jest/types": "29.6.3",
"@types/react": "18.3.5", "@types/react": "18.3.5",
"@types/react-dom": "18.3.0", "@types/react-dom": "18.3.0",
"@typescript-eslint/eslint-plugin": "6.21.0", "@typescript-eslint/eslint-plugin": "8.3.0",
"@typescript-eslint/parser": "6.21.0", "@typescript-eslint/parser": "8.3.0",
"eslint": "9.9.1", "eslint": "9.9.1",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "9.1.0",
"eslint-plugin-jest": "28.8.1", "eslint-plugin-jest": "28.8.1",

View file

@ -110,8 +110,8 @@
"devDependencies": { "devDependencies": {
"@jest/types": "29.6.3", "@jest/types": "29.6.3",
"@types/markdown-it": "13.0.7", "@types/markdown-it": "13.0.7",
"@typescript-eslint/eslint-plugin": "6.21.0", "@typescript-eslint/eslint-plugin": "8.3.0",
"@typescript-eslint/parser": "6.21.0", "@typescript-eslint/parser": "8.3.0",
"eslint": "9.9.1", "eslint": "9.9.1",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "9.1.0",
"eslint-plugin-jest": "28.8.1", "eslint-plugin-jest": "28.8.1",

218
yarn.lock
View file

@ -2397,17 +2397,17 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@eslint-community/regexpp@npm:^4.11.0": "@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.11.0":
version: 4.11.0 version: 4.11.0
resolution: "@eslint-community/regexpp@npm:4.11.0" resolution: "@eslint-community/regexpp@npm:4.11.0"
checksum: 10c0/0f6328869b2741e2794da4ad80beac55cba7de2d3b44f796a60955b0586212ec75e6b0253291fd4aad2100ad471d1480d8895f2b54f1605439ba4c875e05e523 checksum: 10c0/0f6328869b2741e2794da4ad80beac55cba7de2d3b44f796a60955b0586212ec75e6b0253291fd4aad2100ad471d1480d8895f2b54f1605439ba4c875e05e523
languageName: node languageName: node
linkType: hard linkType: hard
"@eslint-community/regexpp@npm:^4.5.1": "@eslint/compat@npm:1.1.1":
version: 4.10.0 version: 1.1.1
resolution: "@eslint-community/regexpp@npm:4.10.0" resolution: "@eslint/compat@npm:1.1.1"
checksum: 10c0/c5f60ef1f1ea7649fa7af0e80a5a79f64b55a8a8fa5086de4727eb4c86c652aedee407a9c143b8995d2c0b2d75c1222bec9ba5d73dbfc1f314550554f0979ef4 checksum: 10c0/ca8aa3811fa22d45913f5724978e6f3ae05fb7685b793de4797c9db3b0e22b530f0f492011b253754bffce879d7cece65762cc3391239b5d2249aef8230edc9a
languageName: node languageName: node
linkType: hard linkType: hard
@ -2489,6 +2489,8 @@ __metadata:
dependencies: dependencies:
"@azure/storage-blob": "npm:12.24.0" "@azure/storage-blob": "npm:12.24.0"
"@darraghor/eslint-plugin-nestjs-typed": "npm:5.0.18" "@darraghor/eslint-plugin-nestjs-typed": "npm:5.0.18"
"@eslint/compat": "npm:1.1.1"
"@eslint/js": "npm:9.9.1"
"@hedgedoc/commons": "workspace:commons" "@hedgedoc/commons": "workspace:commons"
"@mrdrogdrog/optional": "npm:1.2.1" "@mrdrogdrog/optional": "npm:1.2.1"
"@nestjs/cli": "npm:10.4.5" "@nestjs/cli": "npm:10.4.5"
@ -2514,6 +2516,7 @@ __metadata:
"@types/cookie-signature": "npm:1.1.2" "@types/cookie-signature": "npm:1.1.2"
"@types/cron": "npm:2.4.0" "@types/cron": "npm:2.4.0"
"@types/diff": "npm:5.2.2" "@types/diff": "npm:5.2.2"
"@types/eslint__js": "npm:8.42.3"
"@types/express": "npm:4.17.21" "@types/express": "npm:4.17.21"
"@types/express-session": "npm:1.18.0" "@types/express-session": "npm:1.18.0"
"@types/jest": "npm:29.5.12" "@types/jest": "npm:29.5.12"
@ -2528,8 +2531,8 @@ __metadata:
"@types/source-map-support": "npm:0.5.10" "@types/source-map-support": "npm:0.5.10"
"@types/supertest": "npm:2.0.16" "@types/supertest": "npm:2.0.16"
"@types/ws": "npm:8.5.10" "@types/ws": "npm:8.5.10"
"@typescript-eslint/eslint-plugin": "npm:6.21.0" "@typescript-eslint/eslint-plugin": "npm:8.3.0"
"@typescript-eslint/parser": "npm:6.21.0" "@typescript-eslint/parser": "npm:8.3.0"
"@zxcvbn-ts/core": "npm:3.0.4" "@zxcvbn-ts/core": "npm:3.0.4"
"@zxcvbn-ts/language-common": "npm:3.0.4" "@zxcvbn-ts/language-common": "npm:3.0.4"
"@zxcvbn-ts/language-en": "npm:3.0.2" "@zxcvbn-ts/language-en": "npm:3.0.2"
@ -2589,8 +2592,8 @@ __metadata:
"@mrdrogdrog/optional": "npm:1.2.1" "@mrdrogdrog/optional": "npm:1.2.1"
"@types/js-yaml": "npm:4.0.9" "@types/js-yaml": "npm:4.0.9"
"@types/ws": "npm:8.5.10" "@types/ws": "npm:8.5.10"
"@typescript-eslint/eslint-plugin": "npm:6.21.0" "@typescript-eslint/eslint-plugin": "npm:8.3.0"
"@typescript-eslint/parser": "npm:6.21.0" "@typescript-eslint/parser": "npm:8.3.0"
domhandler: "npm:5.0.3" domhandler: "npm:5.0.3"
eslint: "npm:9.9.1" eslint: "npm:9.9.1"
eslint-config-prettier: "npm:9.1.0" eslint-config-prettier: "npm:9.1.0"
@ -2671,8 +2674,8 @@ __metadata:
"@types/testing-library__jest-dom": "npm:5.14.9" "@types/testing-library__jest-dom": "npm:5.14.9"
"@types/uuid": "npm:9.0.8" "@types/uuid": "npm:9.0.8"
"@types/ws": "npm:8.5.10" "@types/ws": "npm:8.5.10"
"@typescript-eslint/eslint-plugin": "npm:6.21.0" "@typescript-eslint/eslint-plugin": "npm:8.3.0"
"@typescript-eslint/parser": "npm:6.21.0" "@typescript-eslint/parser": "npm:8.3.0"
"@uiw/react-codemirror": "npm:4.23.0" "@uiw/react-codemirror": "npm:4.23.0"
abcjs: "npm:6.4.2" abcjs: "npm:6.4.2"
bootstrap: "npm:5.3.3" bootstrap: "npm:5.3.3"
@ -2773,8 +2776,8 @@ __metadata:
"@jest/types": "npm:29.6.3" "@jest/types": "npm:29.6.3"
"@types/react": "npm:18.3.5" "@types/react": "npm:18.3.5"
"@types/react-dom": "npm:18.3.0" "@types/react-dom": "npm:18.3.0"
"@typescript-eslint/eslint-plugin": "npm:6.21.0" "@typescript-eslint/eslint-plugin": "npm:8.3.0"
"@typescript-eslint/parser": "npm:6.21.0" "@typescript-eslint/parser": "npm:8.3.0"
domelementtype: "npm:2.3.0" domelementtype: "npm:2.3.0"
domhandler: "npm:5.0.3" domhandler: "npm:5.0.3"
eslint: "npm:9.9.1" eslint: "npm:9.9.1"
@ -2800,8 +2803,8 @@ __metadata:
"@jest/types": "npm:29.6.3" "@jest/types": "npm:29.6.3"
"@mrdrogdrog/optional": "npm:1.2.1" "@mrdrogdrog/optional": "npm:1.2.1"
"@types/markdown-it": "npm:13.0.7" "@types/markdown-it": "npm:13.0.7"
"@typescript-eslint/eslint-plugin": "npm:6.21.0" "@typescript-eslint/eslint-plugin": "npm:8.3.0"
"@typescript-eslint/parser": "npm:6.21.0" "@typescript-eslint/parser": "npm:8.3.0"
eslint: "npm:9.9.1" eslint: "npm:9.9.1"
eslint-config-prettier: "npm:9.1.0" eslint-config-prettier: "npm:9.1.0"
eslint-plugin-jest: "npm:28.8.1" eslint-plugin-jest: "npm:28.8.1"
@ -5044,7 +5047,26 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@types/estree@npm:^1.0.0, @types/estree@npm:^1.0.5": "@types/eslint@npm:*":
version: 9.6.1
resolution: "@types/eslint@npm:9.6.1"
dependencies:
"@types/estree": "npm:*"
"@types/json-schema": "npm:*"
checksum: 10c0/69ba24fee600d1e4c5abe0df086c1a4d798abf13792d8cfab912d76817fe1a894359a1518557d21237fbaf6eda93c5ab9309143dee4c59ef54336d1b3570420e
languageName: node
linkType: hard
"@types/eslint__js@npm:8.42.3":
version: 8.42.3
resolution: "@types/eslint__js@npm:8.42.3"
dependencies:
"@types/eslint": "npm:*"
checksum: 10c0/ccc5180b92155929a089ffb03ed62625216dcd5e46dd3197c6f82370ce8b52c7cb9df66c06b0a3017995409e023bc9eafe5a3f009e391960eacefaa1b62d9a56
languageName: node
linkType: hard
"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.5":
version: 1.0.5 version: 1.0.5
resolution: "@types/estree@npm:1.0.5" resolution: "@types/estree@npm:1.0.5"
checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d
@ -5174,7 +5196,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@types/json-schema@npm:^7.0.11, @types/json-schema@npm:^7.0.12, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": "@types/json-schema@npm:*, @types/json-schema@npm:^7.0.11, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9":
version: 7.0.15 version: 7.0.15
resolution: "@types/json-schema@npm:7.0.15" resolution: "@types/json-schema@npm:7.0.15"
checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db
@ -5485,7 +5507,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@types/semver@npm:^7.3.12, @types/semver@npm:^7.5.0": "@types/semver@npm:^7.3.12":
version: 7.5.8 version: 7.5.8
resolution: "@types/semver@npm:7.5.8" resolution: "@types/semver@npm:7.5.8"
checksum: 10c0/8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa checksum: 10c0/8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa
@ -5655,46 +5677,44 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/eslint-plugin@npm:6.21.0": "@typescript-eslint/eslint-plugin@npm:8.3.0":
version: 6.21.0 version: 8.3.0
resolution: "@typescript-eslint/eslint-plugin@npm:6.21.0" resolution: "@typescript-eslint/eslint-plugin@npm:8.3.0"
dependencies: dependencies:
"@eslint-community/regexpp": "npm:^4.5.1" "@eslint-community/regexpp": "npm:^4.10.0"
"@typescript-eslint/scope-manager": "npm:6.21.0" "@typescript-eslint/scope-manager": "npm:8.3.0"
"@typescript-eslint/type-utils": "npm:6.21.0" "@typescript-eslint/type-utils": "npm:8.3.0"
"@typescript-eslint/utils": "npm:6.21.0" "@typescript-eslint/utils": "npm:8.3.0"
"@typescript-eslint/visitor-keys": "npm:6.21.0" "@typescript-eslint/visitor-keys": "npm:8.3.0"
debug: "npm:^4.3.4"
graphemer: "npm:^1.4.0" graphemer: "npm:^1.4.0"
ignore: "npm:^5.2.4" ignore: "npm:^5.3.1"
natural-compare: "npm:^1.4.0" natural-compare: "npm:^1.4.0"
semver: "npm:^7.5.4" ts-api-utils: "npm:^1.3.0"
ts-api-utils: "npm:^1.0.1"
peerDependencies: peerDependencies:
"@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0
eslint: ^7.0.0 || ^8.0.0 eslint: ^8.57.0 || ^9.0.0
peerDependenciesMeta: peerDependenciesMeta:
typescript: typescript:
optional: true optional: true
checksum: 10c0/f911a79ee64d642f814a3b6cdb0d324b5f45d9ef955c5033e78903f626b7239b4aa773e464a38c3e667519066169d983538f2bf8e5d00228af587c9d438fb344 checksum: 10c0/d5242b16b8602ab5817cf04b35ac7208b6bee530730eeed6eab886667d1f2c5fac1537b3e33c453393090a1c6fcd50f727c07f5168985a00e7d23d1f99576988
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/parser@npm:6.21.0": "@typescript-eslint/parser@npm:8.3.0":
version: 6.21.0 version: 8.3.0
resolution: "@typescript-eslint/parser@npm:6.21.0" resolution: "@typescript-eslint/parser@npm:8.3.0"
dependencies: dependencies:
"@typescript-eslint/scope-manager": "npm:6.21.0" "@typescript-eslint/scope-manager": "npm:8.3.0"
"@typescript-eslint/types": "npm:6.21.0" "@typescript-eslint/types": "npm:8.3.0"
"@typescript-eslint/typescript-estree": "npm:6.21.0" "@typescript-eslint/typescript-estree": "npm:8.3.0"
"@typescript-eslint/visitor-keys": "npm:6.21.0" "@typescript-eslint/visitor-keys": "npm:8.3.0"
debug: "npm:^4.3.4" debug: "npm:^4.3.4"
peerDependencies: peerDependencies:
eslint: ^7.0.0 || ^8.0.0 eslint: ^8.57.0 || ^9.0.0
peerDependenciesMeta: peerDependenciesMeta:
typescript: typescript:
optional: true optional: true
checksum: 10c0/a8f99820679decd0d115c0af61903fb1de3b1b5bec412dc72b67670bf636de77ab07f2a68ee65d6da7976039bbf636907f9d5ca546db3f0b98a31ffbc225bc7d checksum: 10c0/8185e7f1f570cded8719cfb1e8147fcbbc5b8796de628d68024d2929ce6fb02d1f6101b741161229e877be1c30c720701e1e1f7c4313dba33d4bb1190a85f705
languageName: node languageName: node
linkType: hard linkType: hard
@ -5726,16 +5746,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/scope-manager@npm:6.21.0":
version: 6.21.0
resolution: "@typescript-eslint/scope-manager@npm:6.21.0"
dependencies:
"@typescript-eslint/types": "npm:6.21.0"
"@typescript-eslint/visitor-keys": "npm:6.21.0"
checksum: 10c0/eaf868938d811cbbea33e97e44ba7050d2b6892202cea6a9622c486b85ab1cf801979edf78036179a8ba4ac26f1dfdf7fcc83a68c1ff66be0b3a8e9a9989b526
languageName: node
linkType: hard
"@typescript-eslint/scope-manager@npm:7.14.1": "@typescript-eslint/scope-manager@npm:7.14.1":
version: 7.14.1 version: 7.14.1
resolution: "@typescript-eslint/scope-manager@npm:7.14.1" resolution: "@typescript-eslint/scope-manager@npm:7.14.1"
@ -5766,20 +5776,18 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/type-utils@npm:6.21.0": "@typescript-eslint/type-utils@npm:8.3.0":
version: 6.21.0 version: 8.3.0
resolution: "@typescript-eslint/type-utils@npm:6.21.0" resolution: "@typescript-eslint/type-utils@npm:8.3.0"
dependencies: dependencies:
"@typescript-eslint/typescript-estree": "npm:6.21.0" "@typescript-eslint/typescript-estree": "npm:8.3.0"
"@typescript-eslint/utils": "npm:6.21.0" "@typescript-eslint/utils": "npm:8.3.0"
debug: "npm:^4.3.4" debug: "npm:^4.3.4"
ts-api-utils: "npm:^1.0.1" ts-api-utils: "npm:^1.3.0"
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
peerDependenciesMeta: peerDependenciesMeta:
typescript: typescript:
optional: true optional: true
checksum: 10c0/7409c97d1c4a4386b488962739c4f1b5b04dc60cf51f8cd88e6b12541f84d84c6b8b67e491a147a2c95f9ec486539bf4519fb9d418411aef6537b9c156468117 checksum: 10c0/0e4b42ff2bfcd1727893bb7fe5fcf1aa808b45b5f690c249c68ce7aff68ddfba3d8b1565de2f08972915df23fa7ab114c09f507668e9b0b63faf1e34a5091706
languageName: node languageName: node
linkType: hard linkType: hard
@ -5790,13 +5798,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/types@npm:6.21.0":
version: 6.21.0
resolution: "@typescript-eslint/types@npm:6.21.0"
checksum: 10c0/020631d3223bbcff8a0da3efbdf058220a8f48a3de221563996ad1dcc30d6c08dadc3f7608cc08830d21c0d565efd2db19b557b9528921c78aabb605eef2d74d
languageName: node
linkType: hard
"@typescript-eslint/types@npm:7.14.1": "@typescript-eslint/types@npm:7.14.1":
version: 7.14.1 version: 7.14.1
resolution: "@typescript-eslint/types@npm:7.14.1" resolution: "@typescript-eslint/types@npm:7.14.1"
@ -5836,25 +5837,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/typescript-estree@npm:6.21.0":
version: 6.21.0
resolution: "@typescript-eslint/typescript-estree@npm:6.21.0"
dependencies:
"@typescript-eslint/types": "npm:6.21.0"
"@typescript-eslint/visitor-keys": "npm:6.21.0"
debug: "npm:^4.3.4"
globby: "npm:^11.1.0"
is-glob: "npm:^4.0.3"
minimatch: "npm:9.0.3"
semver: "npm:^7.5.4"
ts-api-utils: "npm:^1.0.1"
peerDependenciesMeta:
typescript:
optional: true
checksum: 10c0/af1438c60f080045ebb330155a8c9bb90db345d5069cdd5d01b67de502abb7449d6c75500519df829f913a6b3f490ade3e8215279b6bdc63d0fb0ae61034df5f
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:7.14.1": "@typescript-eslint/typescript-estree@npm:7.14.1":
version: 7.14.1 version: 7.14.1
resolution: "@typescript-eslint/typescript-estree@npm:7.14.1" resolution: "@typescript-eslint/typescript-estree@npm:7.14.1"
@ -5912,23 +5894,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/utils@npm:6.21.0":
version: 6.21.0
resolution: "@typescript-eslint/utils@npm:6.21.0"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.4.0"
"@types/json-schema": "npm:^7.0.12"
"@types/semver": "npm:^7.5.0"
"@typescript-eslint/scope-manager": "npm:6.21.0"
"@typescript-eslint/types": "npm:6.21.0"
"@typescript-eslint/typescript-estree": "npm:6.21.0"
semver: "npm:^7.5.4"
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
checksum: 10c0/ab2df3833b2582d4e5467a484d08942b4f2f7208f8e09d67de510008eb8001a9b7460f2f9ba11c12086fd3cdcac0c626761c7995c2c6b5657d5fa6b82030a32d
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:7.14.1": "@typescript-eslint/utils@npm:7.14.1":
version: 7.14.1 version: 7.14.1
resolution: "@typescript-eslint/utils@npm:7.14.1" resolution: "@typescript-eslint/utils@npm:7.14.1"
@ -5943,6 +5908,20 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/utils@npm:8.3.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0":
version: 8.3.0
resolution: "@typescript-eslint/utils@npm:8.3.0"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.4.0"
"@typescript-eslint/scope-manager": "npm:8.3.0"
"@typescript-eslint/types": "npm:8.3.0"
"@typescript-eslint/typescript-estree": "npm:8.3.0"
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
checksum: 10c0/e4e9e820cf4b4775bb66b2293a2a827897edaba88577b63df317b50752a01d542be521cc4842976fbbd93e08b9e273ce9d20e23768d06de68a83d68cc0f68a93
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:^5.58.0": "@typescript-eslint/utils@npm:^5.58.0":
version: 5.62.0 version: 5.62.0
resolution: "@typescript-eslint/utils@npm:5.62.0" resolution: "@typescript-eslint/utils@npm:5.62.0"
@ -5961,20 +5940,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0":
version: 8.3.0
resolution: "@typescript-eslint/utils@npm:8.3.0"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.4.0"
"@typescript-eslint/scope-manager": "npm:8.3.0"
"@typescript-eslint/types": "npm:8.3.0"
"@typescript-eslint/typescript-estree": "npm:8.3.0"
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
checksum: 10c0/e4e9e820cf4b4775bb66b2293a2a827897edaba88577b63df317b50752a01d542be521cc4842976fbbd93e08b9e273ce9d20e23768d06de68a83d68cc0f68a93
languageName: node
linkType: hard
"@typescript-eslint/visitor-keys@npm:5.62.0": "@typescript-eslint/visitor-keys@npm:5.62.0":
version: 5.62.0 version: 5.62.0
resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" resolution: "@typescript-eslint/visitor-keys@npm:5.62.0"
@ -5985,16 +5950,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/visitor-keys@npm:6.21.0":
version: 6.21.0
resolution: "@typescript-eslint/visitor-keys@npm:6.21.0"
dependencies:
"@typescript-eslint/types": "npm:6.21.0"
eslint-visitor-keys: "npm:^3.4.1"
checksum: 10c0/7395f69739cfa1cb83c1fb2fad30afa2a814756367302fb4facd5893eff66abc807e8d8f63eba94ed3b0fe0c1c996ac9a1680bcbf0f83717acedc3f2bb724fbf
languageName: node
linkType: hard
"@typescript-eslint/visitor-keys@npm:7.14.1": "@typescript-eslint/visitor-keys@npm:7.14.1":
version: 7.14.1 version: 7.14.1
resolution: "@typescript-eslint/visitor-keys@npm:7.14.1" resolution: "@typescript-eslint/visitor-keys@npm:7.14.1"
@ -11409,6 +11364,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"ignore@npm:^5.3.1":
version: 5.3.2
resolution: "ignore@npm:5.3.2"
checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337
languageName: node
linkType: hard
"immer@npm:^10.0.3": "immer@npm:^10.0.3":
version: 10.0.3 version: 10.0.3
resolution: "immer@npm:10.0.3" resolution: "immer@npm:10.0.3"