From a8b87d5f6392d4d368fd03ea3ab506a367683265 Mon Sep 17 00:00:00 2001 From: Tilman Vatteroth Date: Sat, 26 Apr 2025 11:04:40 +0200 Subject: [PATCH] deps: update eslint to v9 --- commons/.eslintrc.cjs | 30 - commons/eslint.config.mjs | 51 ++ commons/package.json | 14 +- frontend/.eslintrc.js | 61 -- frontend/eslint.config.mjs | 74 ++ frontend/package.json | 21 +- .../link-replacer/anchor-node-preprocessor.ts | 1 - .../vimeo/vimeo-frame.tsx | 2 - html-to-react/.eslintrc.cjs | 30 - html-to-react/eslint.config.mjs | 52 ++ html-to-react/package.json | 10 +- markdown-it-plugins/eslint.config.mjs | 51 ++ markdown-it-plugins/package.json | 13 +- yarn.lock | 706 ++++++++++++------ 14 files changed, 732 insertions(+), 384 deletions(-) delete mode 100644 commons/.eslintrc.cjs create mode 100644 commons/eslint.config.mjs delete mode 100644 frontend/.eslintrc.js create mode 100644 frontend/eslint.config.mjs delete mode 100644 html-to-react/.eslintrc.cjs create mode 100644 html-to-react/eslint.config.mjs create mode 100644 markdown-it-plugins/eslint.config.mjs diff --git a/commons/.eslintrc.cjs b/commons/.eslintrc.cjs deleted file mode 100644 index 7ead0d868..000000000 --- a/commons/.eslintrc.cjs +++ /dev/null @@ -1,30 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file) - * - * SPDX-License-Identifier: AGPL-3.0-only - */ - -module.exports = { - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": [ - "./tsconfig.test.json" - ] - }, - "plugins": [ - "@typescript-eslint", - "prettier" - ], - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "rules": { - "prettier/prettier": ["error", - require('./.prettierrc.json') - ] - } -} diff --git a/commons/eslint.config.mjs b/commons/eslint.config.mjs new file mode 100644 index 000000000..e558c4e76 --- /dev/null +++ b/commons/eslint.config.mjs @@ -0,0 +1,51 @@ +import { defineConfig } from 'eslint/config' +import typescriptEslint from '@typescript-eslint/eslint-plugin' +import prettier from 'eslint-plugin-prettier' +import tsParser from '@typescript-eslint/parser' +import path from 'node:path' +import { fileURLToPath } from 'node:url' +import js from '@eslint/js' +import { FlatCompat } from '@eslint/eslintrc' +import prettierConfig from './.prettierrc.json' with { type: 'json' } +import vitest from '@vitest/eslint-plugin' + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all, +}) + +export default defineConfig([ + { + extends: compat.extends( + 'eslint:recommended', + 'plugin:@typescript-eslint/eslint-recommended', + 'plugin:@typescript-eslint/recommended-requiring-type-checking', + 'plugin:@typescript-eslint/recommended', + 'prettier', + ), + + plugins: { + '@typescript-eslint': typescriptEslint, + prettier, + vitest, + }, + + languageOptions: { + parser: tsParser, + ecmaVersion: 5, + sourceType: 'script', + + parserOptions: { + project: ['./tsconfig.test.json'], + }, + }, + + rules: { + 'prettier/prettier': ['error', prettierConfig], + ...vitest.configs.recommended.rules, + }, + }, +]) diff --git a/commons/package.json b/commons/package.json index e46fd54af..562219f27 100644 --- a/commons/package.json +++ b/commons/package.json @@ -11,7 +11,7 @@ "test:ci": "vitest --run", "prepublish": "rm -rf dist && yarn lint && yarn build && yarn test", "lint": "eslint src --ext .ts", - "lint:fix": "eslint --fix --ext .ts src" + "lint:fix": "eslint src --fix --ext .ts" }, "type": "module", "source": "src/index.ts", @@ -52,16 +52,18 @@ "zod": "3.24.2" }, "devDependencies": { + "@eslint/eslintrc": "3.3.1", + "@eslint/js": "9.25.1", "@mrdrogdrog/optional": "1.2.1", "@types/js-yaml": "4.0.9", "@types/ws": "8.5.12", - "@typescript-eslint/eslint-plugin": "8.14.0", - "@typescript-eslint/parser": "8.14.0", - "eslint": "8.57.1", - "eslint-config-prettier": "9.1.0", - "eslint-plugin-prettier": "5.2.3", + "@vitest/eslint-plugin": "1.1.43", + "eslint": "9.25.1", + "eslint-config-prettier": "10.1.2", + "eslint-plugin-prettier": "5.2.6", "prettier": "3.3.3", "typescript": "5.6.3", + "typescript-eslint": "8.31.0", "vitest": "3.1.2" }, "packageManager": "yarn@4.5.3" diff --git a/frontend/.eslintrc.js b/frontend/.eslintrc.js deleted file mode 100644 index d40a68f58..000000000 --- a/frontend/.eslintrc.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file) - * - * SPDX-License-Identifier: CC0-1.0 - **/ -module.exports = { - "root": true, - "parserOptions": { - "tsconfigRootDir": ".", - "project": [ - "./tsconfig.json" - ] - }, - "rules": { - "prettier/prettier": ["error", - require('./.prettierrc.json') - ], - "no-use-before-define": "off", - "no-debugger": "warn", - "default-param-last": "off", - "@typescript-eslint/consistent-type-imports": [ - "error", - { - "prefer": "type-imports", - "disallowTypeAnnotations": false - } - ], - "jest/no-disabled-tests": "warn", - "jest/no-focused-tests": "error", - "jest/no-identical-title": "error", - "jest/prefer-to-have-length": "warn", - "jest/valid-expect": "error" - }, - "env": { - "jest": true, - "jest/globals": true - }, - "plugins": [ - "@typescript-eslint", - "testing-library", - "jest", - "prettier" - ], - "extends": [ - "next/core-web-vitals", - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "prettier" - ], - "overrides": [ - { - "files": [ - "**/__tests__/**/*.[jt]s?(x)", - "**/?(*.)+(spec|test).[jt]s?(x)" - ], - "extends": ["plugin:testing-library/react"] - } - ] -} diff --git a/frontend/eslint.config.mjs b/frontend/eslint.config.mjs new file mode 100644 index 000000000..165969a11 --- /dev/null +++ b/frontend/eslint.config.mjs @@ -0,0 +1,74 @@ +import { defineConfig } from "eslint/config"; +import typescriptEslint from "@typescript-eslint/eslint-plugin"; +import testingLibrary from "eslint-plugin-testing-library"; +import jest from "eslint-plugin-jest"; +import prettier from "eslint-plugin-prettier"; +import globals from "globals"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import js from "@eslint/js"; +import { FlatCompat } from "@eslint/eslintrc"; +import prettierConfig from "./.prettierrc.json" with {type: "json"} + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}); + +export default defineConfig([{ + extends: compat.extends( + "next/core-web-vitals", + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended", + "plugin:@typescript-eslint/recommended-requiring-type-checking", + "prettier", + ), + + plugins: { + "@typescript-eslint": typescriptEslint, + "testing-library": testingLibrary, + jest, + prettier, + }, + + languageOptions: { + globals: { + ...globals.jest, + ...jest.environments.globals.globals, + }, + + ecmaVersion: 5, + sourceType: "script", + + parserOptions: { + tsconfigRootDir: ".", + project: ["./tsconfig.json"], + }, + }, + + rules: { + "prettier/prettier": ["error", prettierConfig], + + "no-use-before-define": "off", + "no-debugger": "warn", + "default-param-last": "off", + + "@typescript-eslint/consistent-type-imports": ["error", { + prefer: "type-imports", + disallowTypeAnnotations: false, + }], + + "jest/no-disabled-tests": "warn", + "jest/no-focused-tests": "error", + "jest/no-identical-title": "error", + "jest/prefer-to-have-length": "warn", + "jest/valid-expect": "error", + }, +}, { + files: ["**/__tests__/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[jt]s?(x)"], + extends: compat.extends("plugin:testing-library/react"), +}]); diff --git a/frontend/package.json b/frontend/package.json index f57ac5721..d258e14f9 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -119,6 +119,8 @@ "yjs": "13.6.23" }, "devDependencies": { + "@eslint/eslintrc": "3.3.1", + "@eslint/js": "9.25.1", "@next/bundle-analyzer": "15.3.1", "@testing-library/cypress": "10.0.3", "@testing-library/dom": "10.4.0", @@ -139,23 +141,21 @@ "@types/react": "19.1.2", "@types/react-dom": "19.1.2", "@types/ws": "8.5.12", - "@typescript-eslint/eslint-plugin": "8.14.0", - "@typescript-eslint/parser": "8.14.0", "csstype": "3.1.3", "cypress": "13.17.0", "cypress-commands": "3.0.0", "cypress-fill-command": "1.0.2", "dotenv-cli": "7.4.4", - "eslint": "8.57.1", + "eslint": "9.25.1", "eslint-config-next": "15.3.1", - "eslint-config-prettier": "9.1.0", + "eslint-config-prettier": "10.1.2", "eslint-plugin-chai-friendly": "1.0.1", - "eslint-plugin-cypress": "4.1.0", - "eslint-plugin-jest": "28.9.0", - "eslint-plugin-n": "17.13.2", - "eslint-plugin-prettier": "5.2.3", - "eslint-plugin-promise": "7.1.0", - "eslint-plugin-testing-library": "6.4.0", + "eslint-plugin-cypress": "4.3.0", + "eslint-plugin-jest": "28.11.0", + "eslint-plugin-n": "17.17.0", + "eslint-plugin-prettier": "5.2.6", + "eslint-plugin-promise": "7.2.1", + "eslint-plugin-testing-library": "7.1.1", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", "prettier": "3.3.3", @@ -164,6 +164,7 @@ "ts-mockery": "1.2.0", "ts-node": "11.0.0-beta.1", "typescript": "5.6.3", + "typescript-eslint": "8.31.0", "user-agent-data-types": "0.4.2" }, "packageManager": "yarn@4.5.3", diff --git a/frontend/src/components/markdown-renderer/extensions/link-replacer/anchor-node-preprocessor.ts b/frontend/src/components/markdown-renderer/extensions/link-replacer/anchor-node-preprocessor.ts index ba0b0ff50..3fa74353c 100644 --- a/frontend/src/components/markdown-renderer/extensions/link-replacer/anchor-node-preprocessor.ts +++ b/frontend/src/components/markdown-renderer/extensions/link-replacer/anchor-node-preprocessor.ts @@ -22,7 +22,6 @@ export class AnchorNodePreprocessor extends TravelerNodeProcessor { const url = node.attribs.href.trim() - // eslint-disable-next-line no-script-url if (url.startsWith('data:') || url.startsWith('javascript:') || url.startsWith('vbscript:')) { delete node.attribs.href return diff --git a/frontend/src/extensions/external-lib-app-extensions/vimeo/vimeo-frame.tsx b/frontend/src/extensions/external-lib-app-extensions/vimeo/vimeo-frame.tsx index 0f7579b7d..3a510b829 100644 --- a/frontend/src/extensions/external-lib-app-extensions/vimeo/vimeo-frame.tsx +++ b/frontend/src/extensions/external-lib-app-extensions/vimeo/vimeo-frame.tsx @@ -9,8 +9,6 @@ import React, { useCallback } from 'react' import { Vimeo as IconVimeo } from 'react-bootstrap-icons' interface VimeoApiResponse { - // Vimeo uses strange names for their fields. ESLint doesn't like that. - // eslint-disable-next-line camelcase thumbnail_large?: string } diff --git a/html-to-react/.eslintrc.cjs b/html-to-react/.eslintrc.cjs deleted file mode 100644 index 7991a6680..000000000 --- a/html-to-react/.eslintrc.cjs +++ /dev/null @@ -1,30 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file) - * - * SPDX-License-Identifier: AGPL-3.0-only - */ - -module.exports = { - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": [ - "./tsconfig.test.json" - ] - }, - "plugins": [ - "@typescript-eslint", - "prettier" - ], - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "rules": { - "prettier/prettier": ["error", - require('./.prettierrc.json') - ], - } -} diff --git a/html-to-react/eslint.config.mjs b/html-to-react/eslint.config.mjs new file mode 100644 index 000000000..57df47cb4 --- /dev/null +++ b/html-to-react/eslint.config.mjs @@ -0,0 +1,52 @@ +import { defineConfig } from 'eslint/config' +import typescriptEslint from '@typescript-eslint/eslint-plugin' +import prettier from 'eslint-plugin-prettier' +import tsParser from '@typescript-eslint/parser' +import path from 'node:path' +import { fileURLToPath } from 'node:url' +import js from '@eslint/js' +import { FlatCompat } from '@eslint/eslintrc' +import prettierConfig from './.prettierrc.json' with { type: 'json' } +import vitest from '@vitest/eslint-plugin' + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}) + +export default defineConfig([ + { + extends: compat.extends( + 'eslint:recommended', + 'plugin:@typescript-eslint/eslint-recommended', + 'plugin:@typescript-eslint/recommended-requiring-type-checking', + 'plugin:@typescript-eslint/recommended', + 'prettier' + ), + + plugins: { + '@typescript-eslint': typescriptEslint, + prettier, + vitest + }, + + languageOptions: { + parser: tsParser, + ecmaVersion: 5, + sourceType: 'script', + + parserOptions: { + project: ['./tsconfig.test.json'] + } + }, + + rules: { + 'prettier/prettier': ['error', prettierConfig], + + ...vitest.configs.recommended.rules + } + } +]) diff --git a/html-to-react/package.json b/html-to-react/package.json index 497e6dddf..9306b7299 100644 --- a/html-to-react/package.json +++ b/html-to-react/package.json @@ -50,15 +50,15 @@ "devDependencies": { "@types/react": "18.3.11", "@types/react-dom": "18.3.1", - "@typescript-eslint/eslint-plugin": "8.14.0", - "@typescript-eslint/parser": "8.14.0", - "eslint": "8.57.1", - "eslint-config-prettier": "9.1.0", - "eslint-plugin-prettier": "5.2.3", + "@vitest/eslint-plugin": "1.1.43", + "eslint": "9.25.1", + "eslint-config-prettier": "10.1.2", + "eslint-plugin-prettier": "5.2.6", "prettier": "3.3.3", "react": "18.3.1", "react-dom": "18.3.1", "typescript": "5.6.3", + "typescript-eslint": "8.31.0", "vitest": "3.1.2" }, "dependencies": { diff --git a/markdown-it-plugins/eslint.config.mjs b/markdown-it-plugins/eslint.config.mjs new file mode 100644 index 000000000..6ca2706e3 --- /dev/null +++ b/markdown-it-plugins/eslint.config.mjs @@ -0,0 +1,51 @@ +import { defineConfig } from 'eslint/config' +import typescriptEslint from '@typescript-eslint/eslint-plugin' +import prettier from 'eslint-plugin-prettier' +import tsParser from '@typescript-eslint/parser' +import path from 'node:path' +import { fileURLToPath } from 'node:url' +import js from '@eslint/js' +import { FlatCompat } from '@eslint/eslintrc' +import prettierConfig from './.prettierrc.json' with { type: 'json' } +import vitest from '@vitest/eslint-plugin' + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}) + +export default defineConfig([ + { + extends: compat.extends( + 'eslint:recommended', + 'plugin:@typescript-eslint/eslint-recommended', + 'plugin:@typescript-eslint/recommended-requiring-type-checking', + 'plugin:@typescript-eslint/recommended', + 'prettier' + ), + + plugins: { + '@typescript-eslint': typescriptEslint, + prettier, + vitest + }, + + languageOptions: { + parser: tsParser, + ecmaVersion: 5, + sourceType: 'script', + + parserOptions: { + project: ['./tsconfig.test.json'] + } + }, + + rules: { + 'prettier/prettier': ['error', prettierConfig], + ...vitest.configs.recommended.rules + } + } +]) diff --git a/markdown-it-plugins/package.json b/markdown-it-plugins/package.json index 1f9451f5a..a21727348 100644 --- a/markdown-it-plugins/package.json +++ b/markdown-it-plugins/package.json @@ -90,7 +90,7 @@ "test:ci": "vitest --run", "prepublish": "rm -rf dist && yarn lint && yarn build && yarn test", "lint": "eslint src --ext .ts", - "lint:fix": "eslint --fix --ext .ts src" + "lint:fix": "eslint src --ext .ts --fix" }, "keywords": [ "markdown", @@ -108,15 +108,16 @@ "html-entities": "2.5.2" }, "devDependencies": { + "@eslint/eslintrc": "3.3.1", + "@eslint/js": "9.25.1", "@types/markdown-it": "13.0.8", - "@typescript-eslint/eslint-plugin": "8.14.0", - "@typescript-eslint/parser": "8.14.0", - "eslint": "8.57.1", - "eslint-config-prettier": "9.1.0", - "eslint-plugin-prettier": "5.2.3", + "@vitest/eslint-plugin": "1.1.43", + "eslint-config-prettier": "10.1.2", + "eslint-plugin-prettier": "5.2.6", "markdown-it": "13.0.2", "prettier": "3.3.3", "typescript": "5.6.3", + "typescript-eslint": "8.31.0", "vitest": "3.1.2" }, "repository": { diff --git a/yarn.lock b/yarn.lock index d636552a5..0315b2b2e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2640,7 +2640,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.4.1": +"@eslint-community/eslint-utils@npm:^4.5.0": version: 4.6.1 resolution: "@eslint-community/eslint-utils@npm:4.6.1" dependencies: @@ -2658,6 +2658,13 @@ __metadata: languageName: node linkType: hard +"@eslint-community/regexpp@npm:^4.12.1": + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 + languageName: node + linkType: hard + "@eslint-community/regexpp@npm:^4.6.1": version: 4.10.0 resolution: "@eslint-community/regexpp@npm:4.10.0" @@ -2665,6 +2672,50 @@ __metadata: languageName: node linkType: hard +"@eslint/config-array@npm:^0.20.0": + version: 0.20.0 + resolution: "@eslint/config-array@npm:0.20.0" + dependencies: + "@eslint/object-schema": "npm:^2.1.6" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10c0/94bc5d0abb96dc5295ff559925242ff75a54eacfb3576677e95917e42f7175e1c4b87bf039aa2a872f949b4852ad9724bf2f7529aaea6b98f28bb3fca7f1d659 + languageName: node + linkType: hard + +"@eslint/config-helpers@npm:^0.2.1": + version: 0.2.1 + resolution: "@eslint/config-helpers@npm:0.2.1" + checksum: 10c0/3e829a78b0bb4f7c44384ba1df3986e5de24b7f440ad5c6bb3cfc366ded773a869ca9ee8d212b5a563ae94596c5940dea6fd2ea1ee53a84c6241ac953dcb8bb7 + languageName: node + linkType: hard + +"@eslint/core@npm:^0.13.0": + version: 0.13.0 + resolution: "@eslint/core@npm:0.13.0" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10c0/ba724a7df7ed9dab387481f11d0d0f708180f40be93acce2c21dacca625c5867de3528760c42f1c457ccefe6a669d525ff87b779017eabc0d33479a36300797b + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:3.3.1, @eslint/eslintrc@npm:^3.3.1": + version: 3.3.1 + resolution: "@eslint/eslintrc@npm:3.3.1" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10c0/b0e63f3bc5cce4555f791a4e487bf999173fcf27c65e1ab6e7d63634d8a43b33c3693e79f192cbff486d7df1be8ebb2bd2edc6e70ddd486cbfa84a359a3e3b41 + languageName: node + linkType: hard + "@eslint/eslintrc@npm:^2.1.4": version: 2.1.4 resolution: "@eslint/eslintrc@npm:2.1.4" @@ -2689,6 +2740,30 @@ __metadata: languageName: node linkType: hard +"@eslint/js@npm:9.25.1": + version: 9.25.1 + resolution: "@eslint/js@npm:9.25.1" + checksum: 10c0/87d86b512ab109bfd3b9317ced3220ea3d444ac3bfa7abd853ca7f724d72c36e213062f9def16a632365d97dc29e0094312e3682a9767590ee6f43b3d5d873fd + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^2.1.6": + version: 2.1.6 + resolution: "@eslint/object-schema@npm:2.1.6" + checksum: 10c0/b8cdb7edea5bc5f6a96173f8d768d3554a628327af536da2fc6967a93b040f2557114d98dbcdbf389d5a7b290985ad6a9ce5babc547f36fc1fde42e674d11a56 + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.2.8": + version: 0.2.8 + resolution: "@eslint/plugin-kit@npm:0.2.8" + dependencies: + "@eslint/core": "npm:^0.13.0" + levn: "npm:^0.4.1" + checksum: 10c0/554847c8f2b6bfe0e634f317fc43d0b54771eea0015c4f844f75915fdb9e6170c830c004291bad57db949d61771732e459f36ed059f45cf750af223f77357c5c + languageName: node + linkType: hard + "@fontsource/source-sans-pro@npm:5.1.0": version: 5.1.0 resolution: "@fontsource/source-sans-pro@npm:5.1.0" @@ -2814,21 +2889,23 @@ __metadata: version: 0.0.0-use.local resolution: "@hedgedoc/commons@workspace:commons" dependencies: + "@eslint/eslintrc": "npm:3.3.1" + "@eslint/js": "npm:9.25.1" "@mrdrogdrog/optional": "npm:1.2.1" "@types/js-yaml": "npm:4.0.9" "@types/ws": "npm:8.5.12" - "@typescript-eslint/eslint-plugin": "npm:8.14.0" - "@typescript-eslint/parser": "npm:8.14.0" + "@vitest/eslint-plugin": "npm:1.1.43" domhandler: "npm:5.0.3" - eslint: "npm:8.57.1" - eslint-config-prettier: "npm:9.1.0" - eslint-plugin-prettier: "npm:5.2.3" + eslint: "npm:9.25.1" + eslint-config-prettier: "npm:10.1.2" + eslint-plugin-prettier: "npm:5.2.6" eventemitter2: "npm:6.4.9" joi: "npm:17.13.3" js-yaml: "npm:4.1.0" prettier: "npm:3.3.3" reveal.js: "npm:5.1.0" typescript: "npm:5.6.3" + typescript-eslint: "npm:8.31.0" vitest: "npm:3.1.2" ws: "npm:8.18.0" yjs: "npm:13.6.23" @@ -2865,6 +2942,8 @@ __metadata: "@codemirror/view": "npm:6.34.3" "@dicebear/core": "npm:9.2.2" "@dicebear/identicon": "npm:9.2.2" + "@eslint/eslintrc": "npm:3.3.1" + "@eslint/js": "npm:9.25.1" "@fontsource/source-sans-pro": "npm:5.1.0" "@hedgedoc/commons": "workspace:commons" "@hedgedoc/html-to-react": "workspace:html-to-react" @@ -2895,8 +2974,6 @@ __metadata: "@types/react": "npm:19.1.2" "@types/react-dom": "npm:19.1.2" "@types/ws": "npm:8.5.12" - "@typescript-eslint/eslint-plugin": "npm:8.14.0" - "@typescript-eslint/parser": "npm:8.14.0" "@uiw/react-codemirror": "npm:4.23.8" abcjs: "npm:6.4.4" bootstrap: "npm:5.3.3" @@ -2916,16 +2993,16 @@ __metadata: dotenv-cli: "npm:7.4.4" emoji-picker-element: "npm:1.23.0" emoji-picker-element-data: "npm:1.6.1" - eslint: "npm:8.57.1" + eslint: "npm:9.25.1" eslint-config-next: "npm:15.3.1" - eslint-config-prettier: "npm:9.1.0" + eslint-config-prettier: "npm:10.1.2" eslint-plugin-chai-friendly: "npm:1.0.1" - eslint-plugin-cypress: "npm:4.1.0" - eslint-plugin-jest: "npm:28.9.0" - eslint-plugin-n: "npm:17.13.2" - eslint-plugin-prettier: "npm:5.2.3" - eslint-plugin-promise: "npm:7.1.0" - eslint-plugin-testing-library: "npm:6.4.0" + eslint-plugin-cypress: "npm:4.3.0" + eslint-plugin-jest: "npm:28.11.0" + eslint-plugin-n: "npm:17.17.0" + eslint-plugin-prettier: "npm:5.2.6" + eslint-plugin-promise: "npm:7.2.1" + eslint-plugin-testing-library: "npm:7.1.1" eventemitter2: "npm:6.4.9" fast-deep-equal: "npm:3.1.3" firacode: "npm:6.2.0" @@ -2978,6 +3055,7 @@ __metadata: ts-node: "npm:11.0.0-beta.1" twemoji-colr-font: "npm:15.0.3" typescript: "npm:5.6.3" + typescript-eslint: "npm:8.31.0" user-agent-data-types: "npm:0.4.2" uuid: "npm:11.0.5" vega: "npm:5.30.0" @@ -2995,18 +3073,18 @@ __metadata: dependencies: "@types/react": "npm:18.3.11" "@types/react-dom": "npm:18.3.1" - "@typescript-eslint/eslint-plugin": "npm:8.14.0" - "@typescript-eslint/parser": "npm:8.14.0" + "@vitest/eslint-plugin": "npm:1.1.43" domelementtype: "npm:2.3.0" domhandler: "npm:5.0.3" - eslint: "npm:8.57.1" - eslint-config-prettier: "npm:9.1.0" - eslint-plugin-prettier: "npm:5.2.3" + eslint: "npm:9.25.1" + eslint-config-prettier: "npm:10.1.2" + eslint-plugin-prettier: "npm:5.2.6" htmlparser2: "npm:9.1.0" prettier: "npm:3.3.3" react: "npm:18.3.1" react-dom: "npm:18.3.1" typescript: "npm:5.6.3" + typescript-eslint: "npm:8.31.0" vitest: "npm:3.1.2" peerDependencies: react: ">=16.0" @@ -3017,17 +3095,18 @@ __metadata: version: 0.0.0-use.local resolution: "@hedgedoc/markdown-it-plugins@workspace:markdown-it-plugins" dependencies: + "@eslint/eslintrc": "npm:3.3.1" + "@eslint/js": "npm:9.25.1" "@mrdrogdrog/optional": "npm:1.2.1" "@types/markdown-it": "npm:13.0.8" - "@typescript-eslint/eslint-plugin": "npm:8.14.0" - "@typescript-eslint/parser": "npm:8.14.0" - eslint: "npm:8.57.1" - eslint-config-prettier: "npm:9.1.0" - eslint-plugin-prettier: "npm:5.2.3" + "@vitest/eslint-plugin": "npm:1.1.43" + eslint-config-prettier: "npm:10.1.2" + eslint-plugin-prettier: "npm:5.2.6" html-entities: "npm:2.5.2" markdown-it: "npm:13.0.2" prettier: "npm:3.3.3" typescript: "npm:5.6.3" + typescript-eslint: "npm:8.31.0" vitest: "npm:3.1.2" peerDependencies: markdown-it: ">=12" @@ -3045,6 +3124,23 @@ __metadata: languageName: node linkType: hard +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10c0/aa4e0152171c07879b458d0e8a704b8c3a89a8c0541726c6b65b81e84fd8b7564b5d6c633feadc6598307d34564bd53294b533491424e8e313d7ab6c7bc5dc67 + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.6 + resolution: "@humanfs/node@npm:0.16.6" + dependencies: + "@humanfs/core": "npm:^0.19.1" + "@humanwhocodes/retry": "npm:^0.3.0" + checksum: 10c0/8356359c9f60108ec204cbd249ecd0356667359b2524886b357617c4a7c3b6aace0fd5a369f63747b926a762a88f8a25bc066fa1778508d110195ce7686243e1 + languageName: node + linkType: hard + "@humanwhocodes/config-array@npm:^0.13.0": version: 0.13.0 resolution: "@humanwhocodes/config-array@npm:0.13.0" @@ -3070,6 +3166,20 @@ __metadata: languageName: node linkType: hard +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.1 + resolution: "@humanwhocodes/retry@npm:0.3.1" + checksum: 10c0/f0da1282dfb45e8120480b9e2e275e2ac9bbe1cf016d046fdad8e27cc1285c45bb9e711681237944445157b430093412b4446c1ab3fc4bb037861b5904101d3b + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.4.2": + version: 0.4.2 + resolution: "@humanwhocodes/retry@npm:0.4.2" + checksum: 10c0/0235525d38f243bee3bf8b25ed395fbf957fb51c08adae52787e1325673071abe856c7e18e530922ed2dd3ce12ed82ba01b8cee0279ac52a3315fcdc3a69ef0c + languageName: node + linkType: hard + "@iconify/types@npm:^2.0.0": version: 2.0.0 resolution: "@iconify/types@npm:2.0.0" @@ -4876,6 +4986,13 @@ __metadata: languageName: node linkType: hard +"@pkgr/core@npm:^0.2.3": + version: 0.2.4 + resolution: "@pkgr/core@npm:0.2.4" + checksum: 10c0/2528a443bbbef5d4686614e1d73f834f19ccbc975f62b2a64974a6b97bcdf677b9c5e8948e04808ac4f0d853e2f422adfaae2a06e9e9f4f5cf8af76f1adf8dc1 + languageName: node + linkType: hard + "@polka/url@npm:^1.0.0-next.24": version: 1.0.0-next.24 resolution: "@polka/url@npm:1.0.0-next.24" @@ -6259,7 +6376,7 @@ __metadata: languageName: node linkType: hard -"@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": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.11, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db @@ -6471,13 +6588,6 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7.3.12": - version: 7.7.0 - resolution: "@types/semver@npm:7.7.0" - checksum: 10c0/6b5f65f647474338abbd6ee91a6bbab434662ddb8fe39464edcbcfc96484d388baad9eb506dff217b6fc1727a88894930eb1f308617161ac0f376fe06be4e1ee - languageName: node - linkType: hard - "@types/send@npm:*": version: 0.17.4 resolution: "@types/send@npm:0.17.4" @@ -6641,26 +6751,24 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.14.0": - version: 8.14.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.14.0" +"@typescript-eslint/eslint-plugin@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.31.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.14.0" - "@typescript-eslint/type-utils": "npm:8.14.0" - "@typescript-eslint/utils": "npm:8.14.0" - "@typescript-eslint/visitor-keys": "npm:8.14.0" + "@typescript-eslint/scope-manager": "npm:8.31.0" + "@typescript-eslint/type-utils": "npm:8.31.0" + "@typescript-eslint/utils": "npm:8.31.0" + "@typescript-eslint/visitor-keys": "npm:8.31.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^1.3.0" + ts-api-utils: "npm:^2.0.1" peerDependencies: "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/46c82eb45be82ffec0ab04728a5180691b1d17002c669864861a3044b6d2105a75ca23cc80d18721b40b5e7dff1eff4ed68a43d726e25d55f3e466a9fbeeb873 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/7d78e0cdcc967742752d49d2d38986ee38d0b7ca64af247e5fe0816cea9ae5f1bfa5c126154acc0846af515c4fb1c52c96926ee25c73b4c3f7e6fd73cb6d2b0e languageName: node linkType: hard @@ -6703,21 +6811,19 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.14.0": - version: 8.14.0 - resolution: "@typescript-eslint/parser@npm:8.14.0" +"@typescript-eslint/parser@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/parser@npm:8.31.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.14.0" - "@typescript-eslint/types": "npm:8.14.0" - "@typescript-eslint/typescript-estree": "npm:8.14.0" - "@typescript-eslint/visitor-keys": "npm:8.14.0" + "@typescript-eslint/scope-manager": "npm:8.31.0" + "@typescript-eslint/types": "npm:8.31.0" + "@typescript-eslint/typescript-estree": "npm:8.31.0" + "@typescript-eslint/visitor-keys": "npm:8.31.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/522b7afd25cd302c0510cc71985ba55ff92ecc5dbe3fc74a76fefea0169252fdd4b8cad6291fef05f63dfc173951af450dca20859c7f23e387b2e7410e8b97b1 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/9bd903b3ea4e24bfeb444d7a5c2ed82e591ef5cffc0874c609de854c05d34935cd85543e66678ecdb8e0e3eae2cda2df5c1ba66eb72010632cb9f8779031d56d languageName: node linkType: hard @@ -6737,16 +6843,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/scope-manager@npm:5.62.0" - dependencies: - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/visitor-keys": "npm:5.62.0" - checksum: 10c0/861253235576c1c5c1772d23cdce1418c2da2618a479a7de4f6114a12a7ca853011a1e530525d0931c355a8fd237b9cd828fac560f85f9623e24054fd024726f - languageName: node - linkType: hard - "@typescript-eslint/scope-manager@npm:7.18.0": version: 7.18.0 resolution: "@typescript-eslint/scope-manager@npm:7.18.0" @@ -6767,16 +6863,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.14.0": - version: 8.14.0 - resolution: "@typescript-eslint/scope-manager@npm:8.14.0" - dependencies: - "@typescript-eslint/types": "npm:8.14.0" - "@typescript-eslint/visitor-keys": "npm:8.14.0" - checksum: 10c0/1e1295c6f9febadf63559aad328b23d960510ce6b4c9f74e10d881c3858fa7f1db767cd1af5272d2fe7c9c5c7daebee71854e6f841e413e5d70af282f6616e26 - languageName: node - linkType: hard - "@typescript-eslint/scope-manager@npm:8.19.0": version: 8.19.0 resolution: "@typescript-eslint/scope-manager@npm:8.19.0" @@ -6797,6 +6883,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:8.31.0, @typescript-eslint/scope-manager@npm:^8.15.0": + version: 8.31.0 + resolution: "@typescript-eslint/scope-manager@npm:8.31.0" + dependencies: + "@typescript-eslint/types": "npm:8.31.0" + "@typescript-eslint/visitor-keys": "npm:8.31.0" + checksum: 10c0/eae758a24cc578fa351b8bf0c30c50de384292c0b05a58762f9b632d65a009bd5d902d806eccb6b678cc0b09686289fb4f1fd67da7f12d59ad43ff033b35cc4f + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:7.18.0": version: 7.18.0 resolution: "@typescript-eslint/type-utils@npm:7.18.0" @@ -6814,21 +6910,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.14.0": - version: 8.14.0 - resolution: "@typescript-eslint/type-utils@npm:8.14.0" - dependencies: - "@typescript-eslint/typescript-estree": "npm:8.14.0" - "@typescript-eslint/utils": "npm:8.14.0" - debug: "npm:^4.3.4" - ts-api-utils: "npm:^1.3.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/42616a664b38ca418e13504247e5e1bad6ae85c045b48e5735ffab977d4bd58cc86fb9d2292bbb314fa408d78d4b0454c3a27dbf9f881f9921917a942825c806 - languageName: node - linkType: hard - "@typescript-eslint/type-utils@npm:8.22.0": version: 8.22.0 resolution: "@typescript-eslint/type-utils@npm:8.22.0" @@ -6844,10 +6925,18 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/types@npm:5.62.0" - checksum: 10c0/7febd3a7f0701c0b927e094f02e82d8ee2cada2b186fcb938bc2b94ff6fbad88237afc304cbaf33e82797078bbbb1baf91475f6400912f8b64c89be79bfa4ddf +"@typescript-eslint/type-utils@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/type-utils@npm:8.31.0" + dependencies: + "@typescript-eslint/typescript-estree": "npm:8.31.0" + "@typescript-eslint/utils": "npm:8.31.0" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^2.0.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/f6938413a583430468b259f6823bb2ab1b5cd77cd6d4e21e1803df70e329046b9579aed5bdc9bdcf4046c8091615a911ac3990859db78d00210bb867915ba37f languageName: node linkType: hard @@ -6865,13 +6954,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.14.0": - version: 8.14.0 - resolution: "@typescript-eslint/types@npm:8.14.0" - checksum: 10c0/7707f900e24e60e6780c5705f69627b7c0ef912cb3b095dfc8f4a0c84e866c66b1c4c10278cf99724560dc66985ec640750c4192786a09b853f9bb4c3ca5a7ce - languageName: node - linkType: hard - "@typescript-eslint/types@npm:8.19.0": version: 8.19.0 resolution: "@typescript-eslint/types@npm:8.19.0" @@ -6886,21 +6968,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" - dependencies: - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/visitor-keys": "npm:5.62.0" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - semver: "npm:^7.3.7" - tsutils: "npm:^3.21.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/d7984a3e9d56897b2481940ec803cb8e7ead03df8d9cfd9797350be82ff765dfcf3cfec04e7355e1779e948da8f02bc5e11719d07a596eb1cb995c48a95e38cf +"@typescript-eslint/types@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/types@npm:8.31.0" + checksum: 10c0/04130a30aac477d36d6a155399b27773457aeb9b485ef8fb56fee05725b6e36768c9fac7e4d1f073fd16988de0eb7dffc743c3f834ae907cf918cabb075e5cd8 languageName: node linkType: hard @@ -6942,25 +7013,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.14.0": - version: 8.14.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.14.0" - dependencies: - "@typescript-eslint/types": "npm:8.14.0" - "@typescript-eslint/visitor-keys": "npm:8.14.0" - debug: "npm:^4.3.4" - fast-glob: "npm:^3.3.2" - is-glob: "npm:^4.0.3" - minimatch: "npm:^9.0.4" - semver: "npm:^7.6.0" - ts-api-utils: "npm:^1.3.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/5e890d22bd067095f871cf144907a8c302db5b5f014c58906ad58d7f23569951cba805042eac6844744e5abb0d3648c9cc221a91b0703da0a8d6345dc1f83e74 - languageName: node - linkType: hard - "@typescript-eslint/typescript-estree@npm:8.19.0": version: 8.19.0 resolution: "@typescript-eslint/typescript-estree@npm:8.19.0" @@ -6997,6 +7049,24 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.31.0" + dependencies: + "@typescript-eslint/types": "npm:8.31.0" + "@typescript-eslint/visitor-keys": "npm:8.31.0" + debug: "npm:^4.3.4" + fast-glob: "npm:^3.3.2" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^2.0.1" + peerDependencies: + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/0ec074b2b9c49f80fafea716aa0cc4b05085e65730a3ef7c7d2d39db1657a40b38abe83f22bbe15ac4f6fdf576692f47d2d057347242e6cef5be81d070f55064 + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:7.18.0": version: 7.18.0 resolution: "@typescript-eslint/utils@npm:7.18.0" @@ -7011,20 +7081,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.14.0": - version: 8.14.0 - resolution: "@typescript-eslint/utils@npm:8.14.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.14.0" - "@typescript-eslint/types": "npm:8.14.0" - "@typescript-eslint/typescript-estree": "npm:8.14.0" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - checksum: 10c0/1fcc2651d870832a799a5d1c85fc9421853508a006d6a6073c8316b012489dda77e123d13aea8f53eb9030a2da2c0eb273a6946a9941caa2519b99b33e89b720 - languageName: node - linkType: hard - "@typescript-eslint/utils@npm:8.19.0": version: 8.19.0 resolution: "@typescript-eslint/utils@npm:8.19.0" @@ -7055,21 +7111,18 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:^5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/utils@npm:5.62.0" +"@typescript-eslint/utils@npm:8.31.0, @typescript-eslint/utils@npm:^8.15.0": + version: 8.31.0 + resolution: "@typescript-eslint/utils@npm:8.31.0" dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - "@types/json-schema": "npm:^7.0.9" - "@types/semver": "npm:^7.3.12" - "@typescript-eslint/scope-manager": "npm:5.62.0" - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/typescript-estree": "npm:5.62.0" - eslint-scope: "npm:^5.1.1" - semver: "npm:^7.3.7" + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:8.31.0" + "@typescript-eslint/types": "npm:8.31.0" + "@typescript-eslint/typescript-estree": "npm:8.31.0" peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10c0/f09b7d9952e4a205eb1ced31d7684dd55cee40bf8c2d78e923aa8a255318d97279825733902742c09d8690f37a50243f4c4d383ab16bd7aefaf9c4b438f785e1 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/1fd4f62e16a44a5be2de501f70ba4b2d64479e014370bde7bbc6de6897cf1699766a8b7be4deb9b0328e74c2b4171839336ede4e3c60fec6ac8378b623a75275 languageName: node linkType: hard @@ -7087,16 +7140,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" - dependencies: - "@typescript-eslint/types": "npm:5.62.0" - eslint-visitor-keys: "npm:^3.3.0" - checksum: 10c0/7c3b8e4148e9b94d9b7162a596a1260d7a3efc4e65199693b8025c71c4652b8042501c0bc9f57654c1e2943c26da98c0f77884a746c6ae81389fcb0b513d995d - languageName: node - linkType: hard - "@typescript-eslint/visitor-keys@npm:7.18.0": version: 7.18.0 resolution: "@typescript-eslint/visitor-keys@npm:7.18.0" @@ -7117,16 +7160,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.14.0": - version: 8.14.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.14.0" - dependencies: - "@typescript-eslint/types": "npm:8.14.0" - eslint-visitor-keys: "npm:^3.4.3" - checksum: 10c0/d0faf70ed9ecff5e36694bbb161a90bea6db59e0e79a7d4f264d67d565c12b13733d664b736b2730935f013c87ce3155cea954a533d28e99987681bc5f6259c3 - languageName: node - linkType: hard - "@typescript-eslint/visitor-keys@npm:8.19.0": version: 8.19.0 resolution: "@typescript-eslint/visitor-keys@npm:8.19.0" @@ -7147,6 +7180,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.31.0" + dependencies: + "@typescript-eslint/types": "npm:8.31.0" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10c0/e41e2a9e287d11232cda6126377d1df4de69c6e9dc2a14058819cff15280ec654a3877886a6806728196f299766cfbb0b299eb021c2ce168eb15dff5eb07b51b + languageName: node + linkType: hard + "@uiw/codemirror-extensions-basic-setup@npm:4.23.8": version: 4.23.8 resolution: "@uiw/codemirror-extensions-basic-setup@npm:4.23.8" @@ -7199,6 +7242,23 @@ __metadata: languageName: node linkType: hard +"@vitest/eslint-plugin@npm:1.1.43": + version: 1.1.43 + resolution: "@vitest/eslint-plugin@npm:1.1.43" + peerDependencies: + "@typescript-eslint/utils": ">= 8.24.0" + eslint: ">= 8.57.0" + typescript: ">= 5.0.0" + vitest: "*" + peerDependenciesMeta: + typescript: + optional: true + vitest: + optional: true + checksum: 10c0/cab1319930c9fc37b41bf2b8f5d271749ab9e9469c5649933dd7d8334269ef264658aeda3622ce4387b0489045a7da5bdeb773b23a144d4a0913fdc6aec887fd + languageName: node + linkType: hard + "@vitest/expect@npm:3.1.2": version: 3.1.2 resolution: "@vitest/expect@npm:3.1.2" @@ -11446,6 +11506,17 @@ __metadata: languageName: node linkType: hard +"eslint-config-prettier@npm:10.1.2": + version: 10.1.2 + resolution: "eslint-config-prettier@npm:10.1.2" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 10c0/c22c8e29193cc8fd70becf1c2dd072513f2b3004a175c2a49404c79d1745ba4dc0edc2afd00d16b0e26d24f95813a0469e7445a25104aec218f6d84cdb1697e9 + languageName: node + linkType: hard + "eslint-config-prettier@npm:9.1.0": version: 9.1.0 resolution: "eslint-config-prettier@npm:9.1.0" @@ -11519,14 +11590,14 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-cypress@npm:4.1.0": - version: 4.1.0 - resolution: "eslint-plugin-cypress@npm:4.1.0" +"eslint-plugin-cypress@npm:4.3.0": + version: 4.3.0 + resolution: "eslint-plugin-cypress@npm:4.3.0" dependencies: - globals: "npm:^15.11.0" + globals: "npm:^15.15.0" peerDependencies: eslint: ">=9" - checksum: 10c0/991d3cc48ed139a52bec4e48e3be2b97274c63f0dd1d14f5b2a1a86315c9adf8a85c91837d64a83b177f07b8c410634d6db44f2555b97aeb96549f4dfac04b10 + checksum: 10c0/76960cd9629f307a858b704629e12207dc80e13be719dd0fafe1f8e1b82617307677c5b027fe7a055b406d0c1ab70f2cb6a75643312dc44d3547eb983aa29083 languageName: node linkType: hard @@ -11572,6 +11643,24 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-jest@npm:28.11.0": + version: 28.11.0 + resolution: "eslint-plugin-jest@npm:28.11.0" + dependencies: + "@typescript-eslint/utils": "npm:^6.0.0 || ^7.0.0 || ^8.0.0" + peerDependencies: + "@typescript-eslint/eslint-plugin": ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + jest: "*" + peerDependenciesMeta: + "@typescript-eslint/eslint-plugin": + optional: true + jest: + optional: true + checksum: 10c0/faa06ce1c4d0ad7aa0fb1c725edf77fe543a17fe091424dfe5b5e3bba8930470516e5831592e4fb725884f7e5f1034f303f49b7fab28b2abdf99765bfd048473 + languageName: node + linkType: hard + "eslint-plugin-jest@npm:28.9.0": version: 28.9.0 resolution: "eslint-plugin-jest@npm:28.9.0" @@ -11622,11 +11711,11 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-n@npm:17.13.2": - version: 17.13.2 - resolution: "eslint-plugin-n@npm:17.13.2" +"eslint-plugin-n@npm:17.17.0": + version: 17.17.0 + resolution: "eslint-plugin-n@npm:17.17.0" dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.1" + "@eslint-community/eslint-utils": "npm:^4.5.0" enhanced-resolve: "npm:^5.17.1" eslint-plugin-es-x: "npm:^7.8.0" get-tsconfig: "npm:^4.8.1" @@ -11636,7 +11725,7 @@ __metadata: semver: "npm:^7.6.3" peerDependencies: eslint: ">=8.23.0" - checksum: 10c0/3ecb7b4e1537b23af4eb270748a961f43010cda5a1dbd0e9e52f5c4e857f0ecc82d44c3d32ef76905e60f1bd46e6206d3df6ce430deae39cb075dcc2681cd1a3 + checksum: 10c0/ac6b2e2bbdc8f49a84be1bf1add8a412093a56fe95e8820610ecd5185fa00a348197a06fe3fe36080c09dc5d5a8f0f4f543cb3cf193265ace3fd071a79a07e88 languageName: node linkType: hard @@ -11660,12 +11749,34 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-promise@npm:7.1.0": - version: 7.1.0 - resolution: "eslint-plugin-promise@npm:7.1.0" +"eslint-plugin-prettier@npm:5.2.6": + version: 5.2.6 + resolution: "eslint-plugin-prettier@npm:5.2.6" + dependencies: + prettier-linter-helpers: "npm:^1.0.0" + synckit: "npm:^0.11.0" + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: ">= 7.0.0 <10.0.0 || >=10.1.0" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + checksum: 10c0/9911740a5edac7933d92671381908671c61ffa32a3cee7aed667ebab89831ee2c0b69eb9530f68dbe172ca9d4b3fa3d47350762dc1eb096a3ce125fa31c0e616 + languageName: node + linkType: hard + +"eslint-plugin-promise@npm:7.2.1": + version: 7.2.1 + resolution: "eslint-plugin-promise@npm:7.2.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - checksum: 10c0/bbc3406139715dfa5f48d04f6d5b5e82f68929d954b0fa3821eb8cd6dc381b210512cedd2d874e5de5381005d316566f4ae046a4750ce3f5f5cbf28a14cc0ab2 + checksum: 10c0/d494982faeeafbd2aa5fae9cbceca546169a8399000f72d5d940fa5c4ba554612903bcafbb8033647179e5d21ccf1d621b433d089695f7f47ce3d9fcf4cd0abf languageName: node linkType: hard @@ -11706,18 +11817,19 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-testing-library@npm:6.4.0": - version: 6.4.0 - resolution: "eslint-plugin-testing-library@npm:6.4.0" +"eslint-plugin-testing-library@npm:7.1.1": + version: 7.1.1 + resolution: "eslint-plugin-testing-library@npm:7.1.1" dependencies: - "@typescript-eslint/utils": "npm:^5.62.0" + "@typescript-eslint/scope-manager": "npm:^8.15.0" + "@typescript-eslint/utils": "npm:^8.15.0" peerDependencies: - eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 - checksum: 10c0/b9997487a09df41c27487ed80640712c2c6e62840f5fb9eea1f0b622e40cb438a19a8c52ff2d73f5ab7b28d5e7ce2be649d87ca41fb67897422159d36f42033a + eslint: ^8.57.0 || ^9.0.0 + checksum: 10c0/648a7dd07ec3f26388eaad89e72ae74441f0e27e337cca7ca10ca55a4ff0437aa6303df5d9f37aeb90aaadd287c536696a7d11f14d1431bb8ae4fabad8c2744e languageName: node linkType: hard -"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1": +"eslint-scope@npm:5.1.1": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" dependencies: @@ -11737,6 +11849,16 @@ __metadata: languageName: node linkType: hard +"eslint-scope@npm:^8.3.0": + version: 8.3.0 + resolution: "eslint-scope@npm:8.3.0" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/23bf54345573201fdf06d29efa345ab508b355492f6c6cc9e2b9f6d02b896f369b6dd5315205be94b8853809776c4d13353b85c6b531997b164ff6c3328ecf5b + languageName: node + linkType: hard + "eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" @@ -11799,6 +11921,56 @@ __metadata: languageName: node linkType: hard +"eslint@npm:9.25.1": + version: 9.25.1 + resolution: "eslint@npm:9.25.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/regexpp": "npm:^4.12.1" + "@eslint/config-array": "npm:^0.20.0" + "@eslint/config-helpers": "npm:^0.2.1" + "@eslint/core": "npm:^0.13.0" + "@eslint/eslintrc": "npm:^3.3.1" + "@eslint/js": "npm:9.25.1" + "@eslint/plugin-kit": "npm:^0.2.8" + "@humanfs/node": "npm:^0.16.6" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@humanwhocodes/retry": "npm:^0.4.2" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" + ajv: "npm:^6.12.4" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.6" + debug: "npm:^4.3.2" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^8.3.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + esquery: "npm:^1.5.0" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^8.0.0" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.1.2" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true + bin: + eslint: bin/eslint.js + checksum: 10c0/3bb1997ae994253d441e56aba2fc64a71b3b8dce32756de3dedae5e85416ba33eb07e19ede94a6fa8ce7ef3a0a3b0dd8b6836f41be46a3ab52e5345ad59a553f + languageName: node + linkType: hard + "esniff@npm:^2.0.1": version: 2.0.1 resolution: "esniff@npm:2.0.1" @@ -11811,6 +11983,17 @@ __metadata: languageName: node linkType: hard +"espree@npm:^10.0.1, espree@npm:^10.3.0": + version: 10.3.0 + resolution: "espree@npm:10.3.0" + dependencies: + acorn: "npm:^8.14.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10c0/272beeaca70d0a1a047d61baff64db04664a33d7cfb5d144f84bc8a5c6194c6c8ebe9cc594093ca53add88baa23e59b01e69e8a0160ab32eac570482e165c462 + languageName: node + linkType: hard + "espree@npm:^9.6.0, espree@npm:^9.6.1": version: 9.6.1 resolution: "espree@npm:9.6.1" @@ -11841,6 +12024,15 @@ __metadata: languageName: node linkType: hard +"esquery@npm:^1.5.0": + version: 1.6.0 + resolution: "esquery@npm:1.6.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: 10c0/cb9065ec605f9da7a76ca6dadb0619dfb611e37a81e318732977d90fab50a256b95fee2d925fba7c2f3f0523aa16f91587246693bc09bc34d5a59575fe6e93d2 + languageName: node + linkType: hard + "esrecurse@npm:^4.3.0": version: 4.3.0 resolution: "esrecurse@npm:4.3.0" @@ -12322,6 +12514,15 @@ __metadata: languageName: node linkType: hard +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" + dependencies: + flat-cache: "npm:^4.0.0" + checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 + languageName: node + linkType: hard + "file-type@npm:16.5.4": version: 16.5.4 resolution: "file-type@npm:16.5.4" @@ -12434,6 +12635,16 @@ __metadata: languageName: node linkType: hard +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.4" + checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc + languageName: node + linkType: hard + "flatted@npm:^3.2.9": version: 3.3.1 resolution: "flatted@npm:3.3.1" @@ -12947,6 +13158,13 @@ __metadata: languageName: node linkType: hard +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d + languageName: node + linkType: hard + "globals@npm:^15.11.0": version: 15.11.0 resolution: "globals@npm:15.11.0" @@ -12954,6 +13172,13 @@ __metadata: languageName: node linkType: hard +"globals@npm:^15.15.0": + version: 15.15.0 + resolution: "globals@npm:15.15.0" + checksum: 10c0/f9ae80996392ca71316495a39bec88ac43ae3525a438b5626cd9d5ce9d5500d0a98a266409605f8cd7241c7acf57c354a48111ea02a767ba4f374b806d6861fe + languageName: node + linkType: hard + "globalthis@npm:^1.0.3": version: 1.0.3 resolution: "globalthis@npm:1.0.3" @@ -15045,7 +15270,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.3": +"keyv@npm:^4.5.3, keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -18829,15 +19054,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.7, semver@npm:^7.7.1": - version: 7.7.1 - resolution: "semver@npm:7.7.1" - bin: - semver: bin/semver.js - checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 - languageName: node - linkType: hard - "semver@npm:^7.6.0, semver@npm:^7.6.3": version: 7.6.3 resolution: "semver@npm:7.6.3" @@ -18847,6 +19063,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.7.1": + version: 7.7.1 + resolution: "semver@npm:7.7.1" + bin: + semver: bin/semver.js + checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 + languageName: node + linkType: hard + "send@npm:0.19.0": version: 0.19.0 resolution: "send@npm:0.19.0" @@ -20006,6 +20231,16 @@ __metadata: languageName: node linkType: hard +"synckit@npm:^0.11.0": + version: 0.11.4 + resolution: "synckit@npm:0.11.4" + dependencies: + "@pkgr/core": "npm:^0.2.3" + tslib: "npm:^2.8.1" + checksum: 10c0/dd2965a37c93c0b652bf07b1fd8d1639a803b65cf34c0cb1b827b8403044fc3b09ec87f681d922a324825127ee95b2e0394e7caccb502f407892d63e903c5276 + languageName: node + linkType: hard + "synckit@npm:^0.9.1": version: 0.9.1 resolution: "synckit@npm:0.9.1" @@ -20416,6 +20651,15 @@ __metadata: languageName: node linkType: hard +"ts-api-utils@npm:^2.0.1": + version: 2.1.0 + resolution: "ts-api-utils@npm:2.1.0" + peerDependencies: + typescript: ">=4.8.4" + checksum: 10c0/9806a38adea2db0f6aa217ccc6bc9c391ddba338a9fe3080676d0d50ed806d305bb90e8cef0276e793d28c8a929f400abb184ddd7ff83a416959c0f4d2ce754f + languageName: node + linkType: hard + "ts-dedent@npm:^2.2.0": version: 2.2.0 resolution: "ts-dedent@npm:2.2.0" @@ -20569,13 +20813,6 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^1.8.1": - version: 1.14.1 - resolution: "tslib@npm:1.14.1" - checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 - languageName: node - linkType: hard - "tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.6.2": version: 2.6.2 resolution: "tslib@npm:2.6.2" @@ -20590,17 +20827,6 @@ __metadata: languageName: node linkType: hard -"tsutils@npm:^3.21.0": - version: 3.21.0 - resolution: "tsutils@npm:3.21.0" - dependencies: - tslib: "npm:^1.8.1" - peerDependencies: - typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - checksum: 10c0/02f19e458ec78ead8fffbf711f834ad8ecd2cc6ade4ec0320790713dccc0a412b99e7fd907c4cda2a1dc602c75db6f12e0108e87a5afad4b2f9e90a24cabd5a2 - languageName: node - linkType: hard - "tunnel-agent@npm:^0.6.0": version: 0.6.0 resolution: "tunnel-agent@npm:0.6.0" @@ -20948,6 +21174,20 @@ __metadata: languageName: node linkType: hard +"typescript-eslint@npm:8.31.0": + version: 8.31.0 + resolution: "typescript-eslint@npm:8.31.0" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.31.0" + "@typescript-eslint/parser": "npm:8.31.0" + "@typescript-eslint/utils": "npm:8.31.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/8545887f70c4f40c4aee51d224326368f67ef5f770ba5ae9e67bfd36f4d9ab5f3414569ffaaec311893a312539934ea367a68135c6f2b0a3e175c3de59507338 + languageName: node + linkType: hard + "typescript@npm:5.6.3": version: 5.6.3 resolution: "typescript@npm:5.6.3"