From aaaea8918fa895853a6fa22a8a0ce8623872bcb4 Mon Sep 17 00:00:00 2001 From: Brooooooklyn Date: Sat, 14 Dec 2024 10:29:04 +0000 Subject: [PATCH] chore: upgrade to eslint9 (#9163) --- .eslintignore | 17 - .eslintrc.js | 249 ------- eslint.config.mjs | 285 +++++++ oxlint.json | 2 +- package.json | 16 +- .../src/plugins/copilot/providers/fal.ts | 2 +- .../src/plugins/oauth/providers/oidc.ts | 1 + .../backend/server/tests/utils/copilot.ts | 2 +- .../framework/core/components/component.ts | 1 - .../src/framework/core/components/entity.ts | 1 - .../src/framework/core/components/scope.ts | 1 - .../common/infra/src/framework/core/types.ts | 1 - .../infra/src/framework/react/index.tsx | 2 + .../infra/src/modules/db/services/db.ts | 1 - packages/common/nbstore/src/op/index.ts | 8 +- packages/common/nbstore/src/storage/index.ts | 2 +- .../auth-components/password-input/index.tsx | 2 +- .../src/lit-react/create-component.ts | 2 - .../frontend/component/src/ui/dnd/types.ts | 1 - .../ai/_common/components/ask-ai-button.ts | 2 +- .../presets/ai/chat-panel/chat-cards.ts | 71 +- .../ai/chat-panel/chat-panel-messages.ts | 9 +- .../ai/entries/slash-menu/setup-slash-menu.ts | 6 +- .../ai/peek-view/chat-block-peek-view.ts | 2 +- .../presets/ai/utils/selection-utils.ts | 4 +- .../general-setting/plans/plan-card.tsx | 2 +- .../members/cloud-members-panel.tsx | 8 +- .../explorer/nodes/folder/index.tsx | 1 - .../modules/cloud/entities/subscription.ts | 2 +- .../core/src/modules/dialogs/constant.ts | 1 - .../explorer/views/nodes/folder/index.tsx | 1 - .../modules/organize/entities/folder-node.ts | 1 - .../modules/workspace-engine/impls/cloud.ts | 4 +- .../core/src/utils/navigable-history.ts | 4 +- packages/frontend/i18n/src/utils/time.ts | 2 +- packages/frontend/track/src/events.ts | 8 - yarn.lock | 693 ++++++++---------- 37 files changed, 681 insertions(+), 736 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.js create mode 100644 eslint.config.mjs diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 339b0cb13697f..0000000000000 --- a/.eslintignore +++ /dev/null @@ -1,17 +0,0 @@ -node_modules -dist -.next -out -storybook-static -affine-out -_next -lib -.eslintrc.js -e2e-dist-* -static -web-static -public -packages/frontend/i18n/src/i18n-generated.ts -packages/frontend/i18n/src/i18n-completenesses.json -packages/frontend/templates/*.gen.ts -packages/frontend/apps/android/App/app/build diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index df53d073b0410..0000000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,249 +0,0 @@ -const { join } = require('node:path'); - -/** - * @type {import('eslint').Linter.Config} - */ -const config = { - root: true, - settings: { - react: { - version: 'detect', - }, - }, - extends: [ - 'eslint:recommended', - 'plugin:react-hooks/recommended', - 'plugin:react/recommended', - 'plugin:react/jsx-runtime', - 'plugin:@typescript-eslint/recommended', - 'prettier', - ], - parser: '@typescript-eslint/parser', - parserOptions: { - ecmaFeatures: { - globalReturn: false, - impliedStrict: true, - jsx: true, - }, - ecmaVersion: 'latest', - sourceType: 'module', - project: join(__dirname, 'tsconfig.eslint.json'), - }, - plugins: [ - 'react', - '@typescript-eslint', - 'sonarjs', - 'import-x', - 'rxjs', - 'unicorn', - ], - rules: { - // enabled in oxlint - 'array-callback-return': 'off', - 'constructor-super': 'off', - eqeqeq: 'off', - 'getter-return': 'off', - 'for-direction': 'off', - 'require-yield': 'off', - 'use-isnan': 'off', - 'valid-typeof': 'off', - 'no-self-compare': 'off', - 'no-empty': 'off', - 'no-constant-binary-expression': 'off', - 'no-constructor-return': 'off', - 'no-func-assign': 'off', - 'no-global-assign': 'off', - 'no-ex-assign': 'off', - 'no-fallthrough': 'off', - 'no-irregular-whitespace': 'off', - 'no-control-regex': 'off', - 'no-with': 'off', - 'no-debugger': 'off', - 'no-const-assign': 'off', - 'no-import-assign': 'off', - 'no-setter-return': 'off', - 'no-obj-calls': 'off', - 'no-unsafe-negation': 'off', - 'no-dupe-class-members': 'off', - 'no-dupe-keys': 'off', - 'no-this-before-super': 'off', - 'no-empty-character-class': 'off', - 'no-useless-catch': 'off', - 'no-async-promise-executor': 'off', - 'no-unreachable': 'off', - 'no-duplicate-case': 'off', - 'no-empty-pattern': 'off', - 'no-unused-labels': 'off', - 'no-sparse-arrays': 'off', - 'no-delete-var': 'off', - 'no-compare-neg-zero': 'off', - 'no-redeclare': 'off', - 'no-case-declarations': 'off', - 'no-class-assign': 'off', - 'no-var': 'off', - 'no-self-assign': 'off', - 'no-inner-declarations': 'off', - 'no-dupe-else-if': 'off', - 'no-invalid-regexp': 'off', - 'no-unsafe-finally': 'off', - 'no-prototype-builtins': 'off', - 'no-shadow-restricted-names': 'off', - 'no-nonoctal-decimal-escape': 'off', - 'no-constant-condition': 'off', - 'no-useless-escape': 'off', - 'no-unsafe-optional-chaining': 'off', - 'no-extra-boolean-cast': 'off', - 'no-regex-spaces': 'off', - 'react/jsx-no-useless-fragment': 'off', - 'react/no-unknown-property': 'off', - 'react/no-string-refs': 'off', - 'react/no-direct-mutation-state': 'off', - 'react/require-render-return': 'off', - 'react/jsx-no-undef': 'off', - 'react/jsx-no-duplicate-props': 'off', - 'react/jsx-key': 'off', - 'react/no-danger-with-children': 'off', - 'react/no-unescaped-entities': 'off', - 'react/no-is-mounted': 'off', - 'react/no-find-dom-node': 'off', - 'react/no-children-prop': 'off', - 'react/no-render-return-value': 'off', - 'react/jsx-no-target-blank': 'off', - 'react/jsx-no-comment-textnodes': 'off', - 'sonarjs/no-useless-catch': 'off', - '@typescript-eslint/consistent-type-imports': 'off', - '@typescript-eslint/no-unused-vars': 'off', - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/no-loss-of-precision': 'off', - '@typescript-eslint/ban-ts-comment': 'off', - '@typescript-eslint/triple-slash-reference': 'off', - '@typescript-eslint/no-non-null-asserted-optional-chain': 'off', - '@typescript-eslint/no-duplicate-enum-values': 'off', - '@typescript-eslint/no-extra-non-null-assertion': 'off', - '@typescript-eslint/no-misused-new': 'off', - '@typescript-eslint/prefer-for-of': 'off', - '@typescript-eslint/no-unsafe-declaration-merging': 'off', - '@typescript-eslint/no-this-alias': 'off', - '@typescript-eslint/prefer-as-const': 'off', - '@typescript-eslint/no-var-requires': 'off', - '@typescript-eslint/no-namespace': 'off', - '@typescript-eslint/no-unnecessary-type-constraint': 'off', - '@typescript-eslint/no-array-constructor': 'off', - '@typescript-eslint/ban-types': 'off', - // enable in typescript-eslint - 'no-undef': 'off', - 'no-cond-assign': 'off', - 'react/prop-types': 'off', - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/no-empty-function': 'off', - '@typescript-eslint/await-thenable': 'error', - '@typescript-eslint/require-array-sort-compare': 'error', - '@typescript-eslint/unified-signatures': 'error', - '@typescript-eslint/prefer-for-of': 'error', - '@typescript-eslint/no-restricted-imports': [ - 'error', - { - patterns: [ - { - group: ['**/dist'], - message: "Don't import from dist", - allowTypeImports: false, - }, - { - group: ['**/src'], - message: "Don't import from src", - allowTypeImports: false, - }, - { - group: ['@blocksuite/store'], - message: "Import from '@blocksuite/global/utils'", - importNames: ['assertExists', 'assertEquals'], - }, - ], - }, - ], - - 'sonarjs/no-all-duplicated-branches': 'error', - 'sonarjs/no-element-overwrite': 'error', - 'sonarjs/no-empty-collection': 'error', - 'sonarjs/no-extra-arguments': 'error', - 'sonarjs/no-identical-conditions': 'error', - 'sonarjs/no-identical-expressions': 'error', - 'sonarjs/no-ignored-return': 'error', - 'sonarjs/no-one-iteration-loop': 'error', - 'sonarjs/no-use-of-empty-return-value': 'error', - 'sonarjs/non-existent-operator': 'error', - 'sonarjs/no-collapsible-if': 'error', - 'sonarjs/no-same-line-conditional': 'error', - 'sonarjs/no-duplicated-branches': 'error', - 'sonarjs/no-collection-size-mischeck': 'error', - 'sonarjs/no-identical-functions': 'error', - 'rxjs/finnish': [ - 'error', - { - functions: false, - methods: false, - strict: true, - types: { - '^LiveData$': true, - // some yjs classes are Observables, but they don't need to be in Finnish notation - '^Doc$': false, // yjs Doc - '^Awareness$': false, // yjs Awareness - '^UndoManager$': false, // yjs UndoManager - }, - }, - ], - }, - overrides: [ - { - files: [ - `packages/**/*.{ts,tsx,js,mjs}`, - 'tools/cli/**/*.{ts,tsx,js,mjs}', - ], - rules: { - '@typescript-eslint/no-floating-promises': [ - 'error', - { - ignoreVoid: false, - ignoreIIFE: false, - }, - ], - '@typescript-eslint/no-misused-promises': ['error'], - '@typescript-eslint/prefer-readonly': 'error', - 'import-x/no-extraneous-dependencies': ['error'], - 'react-hooks/exhaustive-deps': [ - 'warn', - { - additionalHooks: - '(useAsyncCallback|useCatchEventCallback|useDraggable|useDropTarget|useRefEffect)', - }, - ], - }, - }, - { - files: [ - '**/__tests__/**/*', - '**/*.stories.tsx', - '**/*.spec.ts', - '**/tests/**/*', - 'scripts/**/*', - '**/benchmark/**/*', - '**/__debug__/**/*', - '**/e2e/**/*', - ], - rules: { - '@typescript-eslint/no-floating-promises': 0, - '@typescript-eslint/no-misused-promises': 0, - '@typescript-eslint/no-restricted-imports': 0, - }, - }, - { - files: ['packages/frontend/apps/electron/scripts/**/*'], - rules: { - 'import-x/no-extraneous-dependencies': 'off', - }, - }, - ], -}; - -module.exports = config; diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000000000..e5dfce3cc51df --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,285 @@ +import eslint from '@eslint/js'; +import rxjs from '@smarttools/eslint-plugin-rxjs'; +import tsParser from '@typescript-eslint/parser'; +import eslintConfigPrettier from 'eslint-config-prettier'; +import importX from 'eslint-plugin-import-x'; +import react from 'eslint-plugin-react'; +import reactHooks from 'eslint-plugin-react-hooks'; +import simpleImportSort from 'eslint-plugin-simple-import-sort'; +import sonarjs from 'eslint-plugin-sonarjs'; +import unicorn from 'eslint-plugin-unicorn'; +import tseslint from 'typescript-eslint'; + +export default tseslint.config( + { + ignores: [ + '**/node_modules', + '**/dist', + '**/.next', + '**/out', + '**/storybook-static', + '**/affine-out', + '**/_next', + '**/lib', + '**/.eslintrc.js', + '**/e2e-dist-*', + '**/static', + '**/web-static', + '**/public', + '**/.coverage', + '.nx/**', + '.yarn/**', + '**/*.d.ts', + '.github/**/*', + 'packages/frontend/component/.storybook/**/*', + 'packages/frontend/i18n/src/i18n-generated.ts', + 'packages/frontend/i18n/src/i18n-completenesses.json', + 'packages/frontend/templates/*.gen.ts', + 'packages/frontend/apps/android/App/app/build/**', + ], + }, + { + settings: { + react: { + version: 'detect', + }, + }, + languageOptions: { + parser: tsParser, + ecmaVersion: 'latest', + parserOptions: { + project: './tsconfig.eslint.json', + tsconfigRootDir: import.meta.dirname, + }, + }, + }, + { + plugins: { + '@typescript-eslint': tseslint.plugin, + react, + 'react-hooks': reactHooks, + sonarjs, + 'import-x': importX, + 'simple-import-sort': simpleImportSort, + rxjs, + unicorn, + }, + rules: { + ...eslint.configs.recommended.rules, + ...react.configs.recommended.rules, + ...react.configs['jsx-runtime'].rules, + ...reactHooks.configs.recommended.rules, + // the following rules are disabled because they are covered by oxlint + 'array-callback-return': 'off', + 'constructor-super': 'off', + eqeqeq: 'off', + 'getter-return': 'off', + 'for-direction': 'off', + 'require-yield': 'off', + 'use-isnan': 'off', + 'valid-typeof': 'off', + 'no-self-compare': 'off', + 'no-empty': 'off', + 'no-constant-binary-expression': 'off', + 'no-constructor-return': 'off', + 'no-func-assign': 'off', + 'no-global-assign': 'off', + 'no-ex-assign': 'off', + 'no-fallthrough': 'off', + 'no-irregular-whitespace': 'off', + 'no-control-regex': 'off', + 'no-with': 'off', + 'no-debugger': 'off', + 'no-const-assign': 'off', + 'no-import-assign': 'off', + 'no-setter-return': 'off', + 'no-obj-calls': 'off', + 'no-unsafe-negation': 'off', + 'no-dupe-class-members': 'off', + 'no-dupe-keys': 'off', + 'no-this-before-super': 'off', + 'no-empty-character-class': 'off', + 'no-useless-catch': 'off', + 'no-async-promise-executor': 'off', + 'no-unreachable': 'off', + 'no-duplicate-case': 'off', + 'no-empty-pattern': 'off', + 'no-unused-labels': 'off', + 'no-sparse-arrays': 'off', + 'no-delete-var': 'off', + 'no-compare-neg-zero': 'off', + 'no-redeclare': 'off', + 'no-case-declarations': 'off', + 'no-class-assign': 'off', + 'no-var': 'off', + 'no-self-assign': 'off', + 'no-inner-declarations': 'off', + 'no-dupe-else-if': 'off', + 'no-invalid-regexp': 'off', + 'no-unsafe-finally': 'off', + 'no-prototype-builtins': 'off', + 'no-shadow-restricted-names': 'off', + 'no-nonoctal-decimal-escape': 'off', + 'no-constant-condition': 'off', + 'no-useless-escape': 'off', + 'no-unsafe-optional-chaining': 'off', + 'no-extra-boolean-cast': 'off', + 'no-regex-spaces': 'off', + 'no-unused-vars': 'off', + 'no-undef': 'off', + 'no-cond-assign': 'off', + 'react/jsx-no-useless-fragment': 'off', + 'react/no-unknown-property': 'off', + 'react/no-string-refs': 'off', + 'react/no-direct-mutation-state': 'off', + 'react/require-render-return': 'off', + 'react/jsx-no-undef': 'off', + 'react/jsx-no-duplicate-props': 'off', + 'react/jsx-key': 'off', + 'react/no-danger-with-children': 'off', + 'react/no-unescaped-entities': 'off', + 'react/no-is-mounted': 'off', + 'react/no-find-dom-node': 'off', + 'react/no-children-prop': 'off', + 'react/no-render-return-value': 'off', + 'react/jsx-no-target-blank': 'off', + 'react/jsx-no-comment-textnodes': 'off', + 'react/prop-types': 'off', + 'sonarjs/no-useless-catch': 'off', + '@typescript-eslint/consistent-type-imports': 'off', + '@typescript-eslint/no-unused-vars': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-loss-of-precision': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + '@typescript-eslint/triple-slash-reference': 'off', + '@typescript-eslint/no-non-null-asserted-optional-chain': 'off', + '@typescript-eslint/no-duplicate-enum-values': 'off', + '@typescript-eslint/no-extra-non-null-assertion': 'off', + '@typescript-eslint/no-misused-new': 'off', + '@typescript-eslint/prefer-for-of': 'error', + '@typescript-eslint/no-unsafe-declaration-merging': 'off', + '@typescript-eslint/no-this-alias': 'off', + '@typescript-eslint/prefer-as-const': 'off', + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/no-namespace': 'off', + '@typescript-eslint/no-unnecessary-type-constraint': 'off', + '@typescript-eslint/no-array-constructor': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-empty-function': 'off', + + // rules that are not supported by oxlint + '@typescript-eslint/no-unsafe-function-type': 'error', + '@typescript-eslint/no-wrapper-object-types': 'error', + '@typescript-eslint/unified-signatures': 'error', + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['**/dist'], + message: "Don't import from dist", + allowTypeImports: false, + }, + { + group: ['**/src'], + message: "Don't import from src", + allowTypeImports: false, + }, + { + group: ['@blocksuite/store'], + message: "Import from '@blocksuite/global/utils'", + importNames: ['assertExists', 'assertEquals'], + }, + ], + }, + ], + 'sonarjs/no-all-duplicated-branches': 'error', + 'sonarjs/no-element-overwrite': 'error', + 'sonarjs/no-empty-collection': 'error', + 'sonarjs/no-extra-arguments': 'error', + 'sonarjs/no-identical-conditions': 'error', + 'sonarjs/no-identical-expressions': 'error', + 'sonarjs/no-ignored-return': 'error', + 'sonarjs/no-one-iteration-loop': 'error', + 'sonarjs/no-use-of-empty-return-value': 'error', + 'sonarjs/non-existent-operator': 'error', + 'sonarjs/no-collapsible-if': 'error', + 'sonarjs/no-same-line-conditional': 'error', + 'sonarjs/no-duplicated-branches': 'error', + 'sonarjs/no-collection-size-mischeck': 'error', + 'sonarjs/no-identical-functions': 'error', + + 'simple-import-sort/imports': 'error', + 'simple-import-sort/exports': 'error', + }, + }, + { + files: ['packages/**/*.{ts,tsx}', 'tools/cli/**/*.{ts,tsx}'], + rules: { + '@typescript-eslint/no-floating-promises': [ + 'error', + { + ignoreVoid: false, + ignoreIIFE: false, + }, + ], + '@typescript-eslint/await-thenable': 'error', + '@typescript-eslint/require-array-sort-compare': 'error', + '@typescript-eslint/no-misused-promises': ['error'], + '@typescript-eslint/prefer-readonly': 'error', + 'import-x/no-extraneous-dependencies': ['error'], + 'react-hooks/exhaustive-deps': [ + 'warn', + { + additionalHooks: + '(useAsyncCallback|useCatchEventCallback|useDraggable|useDropTarget|useRefEffect)', + }, + ], + 'rxjs/finnish': [ + 'error', + { + functions: false, + methods: false, + strict: true, + + types: { + '^LiveData$': true, + '^Doc$': false, + '^Awareness$': false, + '^UndoManager$': false, + }, + }, + ], + }, + }, + { + files: [ + '**/__tests__/**/*', + '**/*.stories.tsx', + '**/*.spec.ts', + '**/tests/**/*', + 'scripts/**/*', + '**/benchmark/**/*', + '**/__debug__/**/*', + '**/e2e/**/*', + ], + rules: { + '@typescript-eslint/no-floating-promises': 0, + '@typescript-eslint/no-misused-promises': 0, + '@typescript-eslint/no-restricted-imports': 0, + }, + }, + { + files: ['**/*.{ts,js,mjs}'], + rules: { + 'react-hooks/rules-of-hooks': 'off', + }, + }, + { + files: ['packages/frontend/apps/electron/scripts/**/*'], + rules: { + 'import-x/no-extraneous-dependencies': 'off', + }, + }, + eslintConfigPrettier +); diff --git a/oxlint.json b/oxlint.json index 32947a573a2e8..45aa4926f8627 100644 --- a/oxlint.json +++ b/oxlint.json @@ -10,6 +10,7 @@ "import/named": "allow", "no-await-in-loop": "allow", "promise/no-callback-in-promise": "allow", + "typescript/ban-types": "allow", "array-callback-return": "error", "constructor-super": "error", @@ -99,7 +100,6 @@ "typescript/prefer-for-of": "error", "typescript/no-unsafe-declaration-merging": "error", "typescript/no-unnecessary-type-constraint": "error", - "typescript/ban-types": "error", "typescript/no-this-alias": [ "error", { diff --git a/package.json b/package.json index 927886cb2addc..7d920cf8363e5 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "build:server-native": "yarn nx run-many -t build -p @affine/server-native", "start:web-static": "yarn workspace @affine/web static-server", "serve:test-static": "yarn exec serve tests/fixtures --cors -p 8081", - "lint:eslint": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" eslint . --ext .js,mjs,.ts,.tsx --cache", + "lint:eslint": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" eslint --report-unused-disable-directives-severity=off . --cache", "lint:eslint:fix": "yarn lint:eslint --fix", "lint:prettier": "prettier --ignore-unknown --cache --check .", "lint:prettier:fix": "prettier --ignore-unknown --cache --write .", @@ -55,29 +55,30 @@ "devDependencies": { "@affine/cli": "workspace:*", "@capacitor/cli": "^6.2.0", + "@eslint/js": "^9.16.0", "@faker-js/faker": "^9.3.0", "@istanbuljs/schema": "^0.1.3", "@magic-works/i18n-codegen": "^0.6.1", "@playwright/test": "=1.49.1", + "@smarttools/eslint-plugin-rxjs": "^1.0.8", "@swc/core": "^1.10.1", "@taplo/cli": "^0.7.0", "@toeverything/infra": "workspace:*", "@types/affine__env": "workspace:*", "@types/eslint": "^9.6.1", "@types/node": "^20.17.10", - "@typescript-eslint/eslint-plugin": "^7.18.0", - "@typescript-eslint/parser": "^7.18.0", + "@typescript-eslint/parser": "^8.18.0", "@vanilla-extract/vite-plugin": "^4.0.18", "@vitest/coverage-istanbul": "2.1.8", "@vitest/ui": "2.1.8", "cross-env": "^7.0.3", "electron": "^33.3.0", - "eslint": "^8.57.1", + "eslint": "^9.16.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-import-x": "^0.5.3", + "eslint-plugin-import-x": "^4.5.0", "eslint-plugin-react": "^7.37.2", - "eslint-plugin-react-hooks": "^4.6.2", - "eslint-plugin-rxjs": "^5.0.3", + "eslint-plugin-react-hooks": "^5.1.0", + "eslint-plugin-simple-import-sort": "^12.1.1", "eslint-plugin-sonarjs": "^3.0.1", "eslint-plugin-unicorn": "^56.0.1", "happy-dom": "^15.11.7", @@ -91,6 +92,7 @@ "semver": "^7.6.3", "serve": "^14.2.4", "typescript": "^5.7.2", + "typescript-eslint": "^8.18.0", "unplugin-swc": "^1.5.1", "vite": "^6.0.3", "vitest": "2.1.8" diff --git a/packages/backend/server/src/plugins/copilot/providers/fal.ts b/packages/backend/server/src/plugins/copilot/providers/fal.ts index a3ff3675086c1..4e9f32257ced5 100644 --- a/packages/backend/server/src/plugins/copilot/providers/fal.ts +++ b/packages/backend/server/src/plugins/copilot/providers/fal.ts @@ -253,7 +253,7 @@ export class FalProvider metrics.ai.counter('chat_text_stream_calls').add(1, { model }); const result = await this.generateText(messages, model, options); - for await (const content of result) { + for (const content of result) { if (content) { yield content; if (options.signal?.aborted) { diff --git a/packages/backend/server/src/plugins/oauth/providers/oidc.ts b/packages/backend/server/src/plugins/oauth/providers/oidc.ts index b0b8b6fc553a1..f8cfd4801bda5 100644 --- a/packages/backend/server/src/plugins/oauth/providers/oidc.ts +++ b/packages/backend/server/src/plugins/oauth/providers/oidc.ts @@ -178,6 +178,7 @@ export class OIDCProvider super(); } + // eslint-disable-next-line @typescript-eslint/no-misused-promises override async onModuleInit() { const config = this.optionalConfig as OAuthOIDCProviderConfig; if (config && config.issuer && config.clientId && config.clientSecret) { diff --git a/packages/backend/server/tests/utils/copilot.ts b/packages/backend/server/tests/utils/copilot.ts index 8404e00dc1ca9..5bd0088754be5 100644 --- a/packages/backend/server/tests/utils/copilot.ts +++ b/packages/backend/server/tests/utils/copilot.ts @@ -100,7 +100,7 @@ export class MockCopilotTestProvider // make some time gap for history test case await sleep(100); const result = 'generate text to text stream'; - for await (const message of result) { + for (const message of result) { yield message; if (options.signal?.aborted) { break; diff --git a/packages/common/infra/src/framework/core/components/component.ts b/packages/common/infra/src/framework/core/components/component.ts index f843be7719315..6887f7745f16b 100644 --- a/packages/common/infra/src/framework/core/components/component.ts +++ b/packages/common/infra/src/framework/core/components/component.ts @@ -1,7 +1,6 @@ import { CONSTRUCTOR_CONTEXT } from '../constructor-context'; import type { FrameworkProvider } from '../provider'; -// eslint-disable-next-line @typescript-eslint/ban-types export class Component { readonly framework: FrameworkProvider; diff --git a/packages/common/infra/src/framework/core/components/entity.ts b/packages/common/infra/src/framework/core/components/entity.ts index d6c8e2bc96ef9..8fd559ab1a6f4 100644 --- a/packages/common/infra/src/framework/core/components/entity.ts +++ b/packages/common/infra/src/framework/core/components/entity.ts @@ -1,6 +1,5 @@ import { Component } from './component'; -// eslint-disable-next-line @typescript-eslint/ban-types export class Entity extends Component { readonly __isEntity = true; } diff --git a/packages/common/infra/src/framework/core/components/scope.ts b/packages/common/infra/src/framework/core/components/scope.ts index 2c4a054c3a7c2..85f09ea8e0d24 100644 --- a/packages/common/infra/src/framework/core/components/scope.ts +++ b/packages/common/infra/src/framework/core/components/scope.ts @@ -1,6 +1,5 @@ import { Component } from './component'; -// eslint-disable-next-line @typescript-eslint/ban-types export class Scope extends Component { readonly __injectable = true; diff --git a/packages/common/infra/src/framework/core/types.ts b/packages/common/infra/src/framework/core/types.ts index 7af5412a24b1a..48af9cc880227 100644 --- a/packages/common/infra/src/framework/core/types.ts +++ b/packages/common/infra/src/framework/core/types.ts @@ -1,6 +1,5 @@ import type { FrameworkProvider } from './provider'; -// eslint-disable-next-line @typescript-eslint/ban-types export type Type = abstract new (...args: any) => T; export type ComponentFactory = (provider: FrameworkProvider) => T; diff --git a/packages/common/infra/src/framework/react/index.tsx b/packages/common/infra/src/framework/react/index.tsx index 4e6986f9a0659..8916fe2a34578 100644 --- a/packages/common/infra/src/framework/react/index.tsx +++ b/packages/common/infra/src/framework/react/index.tsx @@ -18,6 +18,7 @@ export function useFramework(): FrameworkProvider { export function useService( identifier: GeneralIdentifier ): T { + // eslint-disable-next-line react-hooks/rules-of-hooks const stack = useContext(FrameworkStackContext); let service: T | undefined = undefined; @@ -85,6 +86,7 @@ export function useServices< export function useServiceOptional( identifier: Type ): T | undefined { + // eslint-disable-next-line react-hooks/rules-of-hooks const stack = useContext(FrameworkStackContext); let service: T | undefined = undefined; diff --git a/packages/common/infra/src/modules/db/services/db.ts b/packages/common/infra/src/modules/db/services/db.ts index 10d5e49e55b63..c7afa13684beb 100644 --- a/packages/common/infra/src/modules/db/services/db.ts +++ b/packages/common/infra/src/modules/db/services/db.ts @@ -57,7 +57,6 @@ export class WorkspaceDBService extends Service { ) as WorkspaceDBWithTables; } - // eslint-disable-next-line @typescript-eslint/ban-types userdataDB(userId: (string & {}) | '__local__') { // __local__ for local workspace const userdataDb = this.userdataDBPool.get(userId); diff --git a/packages/common/nbstore/src/op/index.ts b/packages/common/nbstore/src/op/index.ts index a6b6ffd1fe89d..f07cbee357be2 100644 --- a/packages/common/nbstore/src/op/index.ts +++ b/packages/common/nbstore/src/op/index.ts @@ -28,8 +28,8 @@ export class SpaceStorageClient extends OpClient { await this.call('disconnect'); } - override async destroy() { - await this.call('destroy'); + override destroy() { + this.call('destroy').catch(console.error); super.destroy(); } @@ -46,8 +46,8 @@ export class SpaceStorageWorkerClient extends SpaceStorageClient { this.worker = worker; } - override async destroy() { - await super.destroy(); + override destroy() { + super.destroy(); this.worker.terminate(); } } diff --git a/packages/common/nbstore/src/storage/index.ts b/packages/common/nbstore/src/storage/index.ts index 0df5406248ac8..53cc9f3ba10a8 100644 --- a/packages/common/nbstore/src/storage/index.ts +++ b/packages/common/nbstore/src/storage/index.ts @@ -1,9 +1,9 @@ import EventEmitter2 from 'eventemitter2'; import type { ConnectionStatus } from '../connection'; -import { type Storage, type StorageType } from './storage'; import type { BlobStorage } from './blob'; import type { DocStorage } from './doc'; +import { type Storage, type StorageType } from './storage'; import type { SyncStorage } from './sync'; type Storages = DocStorage | BlobStorage | SyncStorage; diff --git a/packages/frontend/component/src/components/auth-components/password-input/index.tsx b/packages/frontend/component/src/components/auth-components/password-input/index.tsx index c17fc445bb259..c4f05048a256e 100644 --- a/packages/frontend/component/src/components/auth-components/password-input/index.tsx +++ b/packages/frontend/component/src/components/auth-components/password-input/index.tsx @@ -1,7 +1,7 @@ import { type PasswordLimitsFragment } from '@affine/graphql'; import { useI18n } from '@affine/i18n'; import { type Options, passwordStrength } from 'check-password-strength'; -import { type FC, useEffect, useMemo, useCallback, useState } from 'react'; +import { type FC, useCallback, useEffect, useMemo, useState } from 'react'; import { z, type ZodCustomIssue, ZodIssueCode } from 'zod'; import type { InputProps } from '../../../ui/input'; diff --git a/packages/frontend/component/src/lit-react/create-component.ts b/packages/frontend/component/src/lit-react/create-component.ts index 3906853297117..08ebc0a79da22 100644 --- a/packages/frontend/component/src/lit-react/create-component.ts +++ b/packages/frontend/component/src/lit-react/create-component.ts @@ -8,7 +8,6 @@ import type React from 'react'; const DEV_MODE = process.env.NODE_ENV !== 'production'; -// eslint-disable-next-line @typescript-eslint/no-explicit-any type DistributiveOmit = T extends any ? K extends keyof T ? Omit @@ -38,7 +37,6 @@ export type WebComponentProps = React.DetailedHTMLProps< > & ElementProps; -// eslint-disable-next-line @typescript-eslint/ban-types type EmptyObject = {}; /** diff --git a/packages/frontend/component/src/ui/dnd/types.ts b/packages/frontend/component/src/ui/dnd/types.ts index 0bf35657bc6fd..9c6c26b938ede 100644 --- a/packages/frontend/component/src/ui/dnd/types.ts +++ b/packages/frontend/component/src/ui/dnd/types.ts @@ -51,6 +51,5 @@ export type toExternalData = ( | 'text/plain' | 'text/html' | 'Files' - // eslint-disable-next-line @typescript-eslint/ban-types | (string & {})]?: string; }; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/ask-ai-button.ts b/packages/frontend/core/src/blocksuite/presets/ai/_common/components/ask-ai-button.ts index 2f7f0804f4354..97b02f137d58b 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/_common/components/ask-ai-button.ts +++ b/packages/frontend/core/src/blocksuite/presets/ai/_common/components/ask-ai-button.ts @@ -3,8 +3,8 @@ import './ask-ai-panel'; import { type EditorHost } from '@blocksuite/affine/block-std'; import { type AIItemGroupConfig, - EdgelessRootService, createLitPortal, + EdgelessRootService, HoverController, } from '@blocksuite/affine/blocks'; import { WithDisposable } from '@blocksuite/affine/global/utils'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-cards.ts b/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-cards.ts index ee972a5248e8c..a2bf9136b7b4d 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-cards.ts +++ b/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-cards.ts @@ -7,6 +7,7 @@ import { } from '@blocksuite/affine/blocks'; import { WithDisposable } from '@blocksuite/affine/global/utils'; import type { BlockModel } from '@blocksuite/affine/store'; +import { captureException } from '@sentry/react'; import { css, html, @@ -466,39 +467,47 @@ export class ChatCards extends WithDisposable(LitElement) { } } - protected override async willUpdate(changedProperties: PropertyValues) { - if (changedProperties.has('temporaryParams') && this.temporaryParams) { - const params = this.temporaryParams; - await this._appendCardWithParams(params); - this.temporaryParams = null; - } - - if (changedProperties.has('host')) { - if (this._currentDocId === this.host.doc.id) return; - this._currentDocId = this.host.doc.id; - this.cards = []; - - const { text, images } = await this._extractAll(); - const hasText = text.length > 0; - const hasImages = images.length > 0; - - // Currently only supports checking on first load - if (hasText || hasImages) { - const card: CardBlock = { - id: Date.now(), - type: CardType.Doc, - }; - if (hasText) { - card.text = text; - } - if (hasImages) { - card.images = images; + protected override willUpdate(changedProperties: PropertyValues) { + Promise.resolve() + .then(async () => { + if (changedProperties.has('temporaryParams') && this.temporaryParams) { + const params = this.temporaryParams; + await this._appendCardWithParams(params); + this.temporaryParams = null; } - this.cards.push(card); - this.requestUpdate(); - } - } + if (changedProperties.has('host')) { + if (this._currentDocId === this.host.doc.id) return; + this._currentDocId = this.host.doc.id; + this.cards = []; + + const { text, images } = await this._extractAll(); + const hasText = text.length > 0; + const hasImages = images.length > 0; + + // Currently only supports checking on first load + if (hasText || hasImages) { + const card: CardBlock = { + id: Date.now(), + type: CardType.Doc, + }; + if (hasText) { + card.text = text; + } + if (hasImages) { + card.images = images; + } + + this.cards.push(card); + this.requestUpdate(); + } + } + }) + .catch(err => { + captureException(err, { + level: 'fatal', + }); + }); } override connectedCallback() { diff --git a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-panel-messages.ts b/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-panel-messages.ts index d9b3ae45ac7d8..804a868aaf410 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-panel-messages.ts +++ b/packages/frontend/core/src/blocksuite/presets/ai/chat-panel/chat-panel-messages.ts @@ -276,11 +276,14 @@ export class ChatPanelMessages extends WithDisposable(ShadowlessElement) { : nothing} `; } - override async connectedCallback() { + override connectedCallback() { super.connectedCallback(); - const res = await AIProvider.userInfo; - this.avatarUrl = res?.avatarUrl ?? ''; + Promise.resolve(AIProvider.userInfo) + .then(res => { + this.avatarUrl = res?.avatarUrl ?? ''; + }) + .catch(console.error); this.disposables.add( AIProvider.slots.userInfo.on(userInfo => { const { status, error } = this.chatContextValue; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/entries/slash-menu/setup-slash-menu.ts b/packages/frontend/core/src/blocksuite/presets/ai/entries/slash-menu/setup-slash-menu.ts index 4c4b8af2641e1..f309b8dc01ca5 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/entries/slash-menu/setup-slash-menu.ts +++ b/packages/frontend/core/src/blocksuite/presets/ai/entries/slash-menu/setup-slash-menu.ts @@ -1,14 +1,14 @@ import { + AFFINE_AI_PANEL_WIDGET, type AffineAIPanelWidget, type AffineSlashMenuActionItem, type AffineSlashMenuContext, type AffineSlashMenuItem, + AffineSlashMenuWidget, type AffineSlashSubMenu, type AIItemConfig, - DocModeProvider, - AFFINE_AI_PANEL_WIDGET, - AffineSlashMenuWidget, AIStarIcon, + DocModeProvider, MoreHorizontalIcon, } from '@blocksuite/affine/blocks'; import { assertExists } from '@blocksuite/affine/global/utils'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-peek-view.ts b/packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-peek-view.ts index 1f191b9c59500..ebbf308a3073d 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-peek-view.ts +++ b/packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-peek-view.ts @@ -5,8 +5,8 @@ import { ConnectorMode, DocModeProvider, type EdgelessRootService, - TelemetryProvider, NotificationProvider, + TelemetryProvider, } from '@blocksuite/affine/blocks'; import { type AIChatBlockModel, diff --git a/packages/frontend/core/src/blocksuite/presets/ai/utils/selection-utils.ts b/packages/frontend/core/src/blocksuite/presets/ai/utils/selection-utils.ts index 224216078862a..91d8dbef3fe3b 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/utils/selection-utils.ts +++ b/packages/frontend/core/src/blocksuite/presets/ai/utils/selection-utils.ts @@ -1,11 +1,11 @@ import type { EditorHost } from '@blocksuite/affine/block-std'; import { + BlocksUtils, type CopilotTool, + EdgelessRootService, type FrameBlockModel, ImageBlockModel, type SurfaceBlockComponent, - BlocksUtils, - EdgelessRootService, } from '@blocksuite/affine/blocks'; import { assertExists } from '@blocksuite/affine/global/utils'; import { diff --git a/packages/frontend/core/src/desktop/dialogs/setting/general-setting/plans/plan-card.tsx b/packages/frontend/core/src/desktop/dialogs/setting/general-setting/plans/plan-card.tsx index 983c54a17864f..c0110cbdee712 100644 --- a/packages/frontend/core/src/desktop/dialogs/setting/general-setting/plans/plan-card.tsx +++ b/packages/frontend/core/src/desktop/dialogs/setting/general-setting/plans/plan-card.tsx @@ -10,8 +10,8 @@ import { import { GlobalDialogService } from '@affine/core/modules/dialogs'; import { type CreateCheckoutSessionInput, - SubscriptionRecurring, SubscriptionPlan, + SubscriptionRecurring, SubscriptionStatus, SubscriptionVariant, } from '@affine/graphql'; diff --git a/packages/frontend/core/src/desktop/dialogs/setting/workspace-setting/new-workspace-setting-detail/members/cloud-members-panel.tsx b/packages/frontend/core/src/desktop/dialogs/setting/workspace-setting/new-workspace-setting-detail/members/cloud-members-panel.tsx index f7a7258b5d9ce..f2abca7bd94dd 100644 --- a/packages/frontend/core/src/desktop/dialogs/setting/workspace-setting/new-workspace-setting-detail/members/cloud-members-panel.tsx +++ b/packages/frontend/core/src/desktop/dialogs/setting/workspace-setting/new-workspace-setting-detail/members/cloud-members-panel.tsx @@ -107,10 +107,10 @@ export const CloudWorkspaceMembersPanel = ({ return success; }, [permissionService.permission, workspaceShareSettingService.sharePreview]); - const onInviteBatchConfirm = useCallback< - InviteTeamMemberModalProps['onConfirm'] - >( - async ({ emails }) => { + const onInviteBatchConfirm = useAsyncCallback( + async ({ + emails, + }: Parameters[0]) => { setIsMutating(true); const success = await permissionService.permission.inviteMembers( emails, diff --git a/packages/frontend/core/src/mobile/components/explorer/nodes/folder/index.tsx b/packages/frontend/core/src/mobile/components/explorer/nodes/folder/index.tsx index 5315ecfc2e8b6..bf0e0bc74cb83 100644 --- a/packages/frontend/core/src/mobile/components/explorer/nodes/folder/index.tsx +++ b/packages/frontend/core/src/mobile/components/explorer/nodes/folder/index.tsx @@ -360,7 +360,6 @@ const ExplorerFolderNodeFolder = ({ }, [additionalOperations, folderOperations]); const childrenOperations = useCallback( - // eslint-disable-next-line @typescript-eslint/ban-types (type: string, node: FolderNode) => { if (type === 'doc' || type === 'collection' || type === 'tag') { return [ diff --git a/packages/frontend/core/src/modules/cloud/entities/subscription.ts b/packages/frontend/core/src/modules/cloud/entities/subscription.ts index f6b8be361188f..6c77aabb286e1 100644 --- a/packages/frontend/core/src/modules/cloud/entities/subscription.ts +++ b/packages/frontend/core/src/modules/cloud/entities/subscription.ts @@ -1,8 +1,8 @@ import { + SubscriptionPlan, type SubscriptionQuery, SubscriptionRecurring, SubscriptionVariant, - SubscriptionPlan, } from '@affine/graphql'; import { backoffRetry, diff --git a/packages/frontend/core/src/modules/dialogs/constant.ts b/packages/frontend/core/src/modules/dialogs/constant.ts index 1537e3991de4c..795b295d6fb53 100644 --- a/packages/frontend/core/src/modules/dialogs/constant.ts +++ b/packages/frontend/core/src/modules/dialogs/constant.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/ban-types */ import type { DocMode } from '@blocksuite/affine/blocks'; import type { WorkspaceMetadata } from '@toeverything/infra'; diff --git a/packages/frontend/core/src/modules/explorer/views/nodes/folder/index.tsx b/packages/frontend/core/src/modules/explorer/views/nodes/folder/index.tsx index 771f824e88de2..9da003d49db2c 100644 --- a/packages/frontend/core/src/modules/explorer/views/nodes/folder/index.tsx +++ b/packages/frontend/core/src/modules/explorer/views/nodes/folder/index.tsx @@ -712,7 +712,6 @@ const ExplorerFolderNodeFolder = ({ }, [additionalOperations, folderOperations]); const childrenOperations = useCallback( - // eslint-disable-next-line @typescript-eslint/ban-types (type: string, node: FolderNode) => { if (type === 'doc' || type === 'collection' || type === 'tag') { return [ diff --git a/packages/frontend/core/src/modules/organize/entities/folder-node.ts b/packages/frontend/core/src/modules/organize/entities/folder-node.ts index 4007d3e7f224a..aa3cd97981247 100644 --- a/packages/frontend/core/src/modules/organize/entities/folder-node.ts +++ b/packages/frontend/core/src/modules/organize/entities/folder-node.ts @@ -14,7 +14,6 @@ export class FolderNode extends Entity<{ info$ = LiveData.from<{ data: string; - // eslint-disable-next-line @typescript-eslint/ban-types type: (string & {}) | 'folder' | 'doc' | 'tag' | 'collection'; index: string; id: string; diff --git a/packages/frontend/core/src/modules/workspace-engine/impls/cloud.ts b/packages/frontend/core/src/modules/workspace-engine/impls/cloud.ts index 5db79455e8869..1292242ffc4f2 100644 --- a/packages/frontend/core/src/modules/workspace-engine/impls/cloud.ts +++ b/packages/frontend/core/src/modules/workspace-engine/impls/cloud.ts @@ -10,8 +10,10 @@ import { type BlobStorage, catchErrorInto, type DocStorage, + effect, exhaustMapSwitchUntilChanged, fromPromise, + getAFFiNEWorkspaceSchema, type GlobalState, LiveData, ObjectPool, @@ -24,8 +26,6 @@ import { type WorkspaceFlavoursProvider, type WorkspaceMetadata, type WorkspaceProfileInfo, - effect, - getAFFiNEWorkspaceSchema, } from '@toeverything/infra'; import { isEqual } from 'lodash-es'; import { nanoid } from 'nanoid'; diff --git a/packages/frontend/core/src/utils/navigable-history.ts b/packages/frontend/core/src/utils/navigable-history.ts index 0fcff1aba00b8..825b8b1b173ea 100644 --- a/packages/frontend/core/src/utils/navigable-history.ts +++ b/packages/frontend/core/src/utils/navigable-history.ts @@ -176,7 +176,6 @@ function createKey() { function warning(cond: any, message: string) { if (!cond) { - // eslint-disable-next-line no-console if (typeof console !== 'undefined') console.warn(message); try { @@ -186,7 +185,6 @@ function warning(cond: any, message: string) { // find the source for a warning that appears in the console by // enabling "pause on exceptions" in your JavaScript debugger. throw new Error(message); - // eslint-disable-next-line no-empty } catch {} } } @@ -201,7 +199,7 @@ type Events = { call: (arg: any) => void; }; -// eslint-disable-next-line @typescript-eslint/ban-types +// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type function createEvents(): Events { let handlers: F[] = []; diff --git a/packages/frontend/i18n/src/utils/time.ts b/packages/frontend/i18n/src/utils/time.ts index b9605090c7fb4..74576fa9e14cd 100644 --- a/packages/frontend/i18n/src/utils/time.ts +++ b/packages/frontend/i18n/src/utils/time.ts @@ -1,6 +1,6 @@ import dayjs from 'dayjs'; -import { type I18nInstance, I18n } from '../i18next'; +import { I18n, type I18nInstance } from '../i18next'; export type TimeUnit = | 'second' diff --git a/packages/frontend/track/src/events.ts b/packages/frontend/track/src/events.ts index bf621d5ff098c..10405f8291168 100644 --- a/packages/frontend/track/src/events.ts +++ b/packages/frontend/track/src/events.ts @@ -294,8 +294,6 @@ const PageEvents = { property: ['addProperty'], }, }, - // remove when type added - // eslint-disable-next-line @typescript-eslint/ban-types edgeless: {}, workspace: { $: { @@ -316,18 +314,12 @@ const PageEvents = { ], }, }, - // remove when type added - // eslint-disable-next-line @typescript-eslint/ban-types collection: { docList: { docMenu: ['removeOrganizeItem'], }, }, - // remove when type added - // eslint-disable-next-line @typescript-eslint/ban-types tag: {}, - // remove when type added - // eslint-disable-next-line @typescript-eslint/ban-types trash: {}, subscriptionLanding: { $: { diff --git a/yarn.lock b/yarn.lock index b7b12e8c42fa7..3862e04288d0e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -674,29 +674,30 @@ __metadata: dependencies: "@affine/cli": "workspace:*" "@capacitor/cli": "npm:^6.2.0" + "@eslint/js": "npm:^9.16.0" "@faker-js/faker": "npm:^9.3.0" "@istanbuljs/schema": "npm:^0.1.3" "@magic-works/i18n-codegen": "npm:^0.6.1" "@playwright/test": "npm:=1.49.1" + "@smarttools/eslint-plugin-rxjs": "npm:^1.0.8" "@swc/core": "npm:^1.10.1" "@taplo/cli": "npm:^0.7.0" "@toeverything/infra": "workspace:*" "@types/affine__env": "workspace:*" "@types/eslint": "npm:^9.6.1" "@types/node": "npm:^20.17.10" - "@typescript-eslint/eslint-plugin": "npm:^7.18.0" - "@typescript-eslint/parser": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^8.18.0" "@vanilla-extract/vite-plugin": "npm:^4.0.18" "@vitest/coverage-istanbul": "npm:2.1.8" "@vitest/ui": "npm:2.1.8" cross-env: "npm:^7.0.3" electron: "npm:^33.3.0" - eslint: "npm:^8.57.1" + eslint: "npm:^9.16.0" eslint-config-prettier: "npm:^9.1.0" - eslint-plugin-import-x: "npm:^0.5.3" + eslint-plugin-import-x: "npm:^4.5.0" eslint-plugin-react: "npm:^7.37.2" - eslint-plugin-react-hooks: "npm:^4.6.2" - eslint-plugin-rxjs: "npm:^5.0.3" + eslint-plugin-react-hooks: "npm:^5.1.0" + eslint-plugin-simple-import-sort: "npm:^12.1.1" eslint-plugin-sonarjs: "npm:^3.0.1" eslint-plugin-unicorn: "npm:^56.0.1" happy-dom: "npm:^15.11.7" @@ -710,6 +711,7 @@ __metadata: semver: "npm:^7.6.3" serve: "npm:^14.2.4" typescript: "npm:^5.7.2" + typescript-eslint: "npm:^8.18.0" unplugin-swc: "npm:^1.5.1" vite: "npm:^6.0.3" vitest: "npm:2.1.8" @@ -1944,7 +1946,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0, @babel/code-frame@npm:^7.26.2": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0": version: 7.26.2 resolution: "@babel/code-frame@npm:7.26.2" dependencies: @@ -1999,7 +2001,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.26.0, @babel/generator@npm:^7.26.3": +"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.0": version: 7.26.3 resolution: "@babel/generator@npm:7.26.3" dependencies: @@ -2206,7 +2208,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.10.3, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.16.8, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.6, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.3": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.16.8, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.6, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.3": version: 7.26.3 resolution: "@babel/parser@npm:7.26.3" dependencies: @@ -3229,22 +3231,22 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.10.3, @babel/traverse@npm:^7.14.0, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.25.9": - version: 7.26.4 - resolution: "@babel/traverse@npm:7.26.4" +"@babel/traverse@npm:^7.14.0, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/traverse@npm:7.25.9" dependencies: - "@babel/code-frame": "npm:^7.26.2" - "@babel/generator": "npm:^7.26.3" - "@babel/parser": "npm:^7.26.3" + "@babel/code-frame": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" "@babel/template": "npm:^7.25.9" - "@babel/types": "npm:^7.26.3" + "@babel/types": "npm:^7.25.9" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10/30c81a80d66fc39842814bc2e847f4705d30f3859156f130d90a0334fe1d53aa81eed877320141a528ecbc36448acc0f14f544a7d410fa319d1c3ab63b50b58f + checksum: 10/7431614d76d4a053e429208db82f2846a415833f3d9eb2e11ef72eeb3c64dfd71f4a4d983de1a4a047b36165a1f5a64de8ca2a417534cc472005c740ffcb9c6a languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.10.3, @babel/types@npm:^7.16.8, @babel/types@npm:^7.18.13, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.4, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.3, @babel/types@npm:^7.4.4": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.16.8, @babel/types@npm:^7.18.13, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.4, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.3, @babel/types@npm:^7.4.4": version: 7.26.3 resolution: "@babel/types@npm:7.26.3" dependencies: @@ -5410,34 +5412,70 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:4.12.1, @eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1, @eslint-community/regexpp@npm:^4.8.0": +"@eslint-community/regexpp@npm:4.12.1, @eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.8.0": version: 4.12.1 resolution: "@eslint-community/regexpp@npm:4.12.1" checksum: 10/c08f1dd7dd18fbb60bdd0d85820656d1374dd898af9be7f82cb00451313402a22d5e30569c150315b4385907cdbca78c22389b2a72ab78883b3173be317620cc languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" +"@eslint/config-array@npm:^0.19.0": + version: 0.19.1 + resolution: "@eslint/config-array@npm:0.19.1" + dependencies: + "@eslint/object-schema": "npm:^2.1.5" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10/1243b01f463de85c970c18f0994f9d1850dafe8cc8c910edb64105d845edd3cacaa0bbf028bf35a6daaf5a179021140b6a8b1dc7a2f915b42c2d35f022a9c201 + languageName: node + linkType: hard + +"@eslint/core@npm:^0.9.0": + version: 0.9.1 + resolution: "@eslint/core@npm:0.9.1" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10/f2263f8f94fdf84fc34573e027de98f1fce6287120513ae672ddf0652c75b9fa77c314d565628fc58e0a6f959766acc34c8191f9b94f1757b910408ffa04adde + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.2.0": + version: 3.2.0 + resolution: "@eslint/eslintrc@npm:3.2.0" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" + 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: 10/7a3b14f4b40fc1a22624c3f84d9f467a3d9ea1ca6e9a372116cb92507e485260359465b58e25bcb6c9981b155416b98c9973ad9b796053fd7b3f776a6946bce8 + checksum: 10/b32dd90ce7da68e89b88cd729db46b27aac79a2e6cb1fa75d25a6b766d586b443bfbf59622489efbd3c6f696f147b51111e81ec7cd23d70f215c5d474cad0261 languageName: node linkType: hard -"@eslint/js@npm:8.57.1": - version: 8.57.1 - resolution: "@eslint/js@npm:8.57.1" - checksum: 10/7562b21be10c2adbfa4aa5bb2eccec2cb9ac649a3569560742202c8d1cb6c931ce634937a2f0f551e078403a1c1285d6c2c0aa345dafc986149665cd69fe8b59 +"@eslint/js@npm:9.16.0, @eslint/js@npm:^9.16.0": + version: 9.16.0 + resolution: "@eslint/js@npm:9.16.0" + checksum: 10/122da09b6a2c6a92d68be26146af1da17d9d4e03cf9435a874d341f18519122eef9ed229e52a1b781dc5987239754954e80a0b11bbe8f65df96e9ef8f3b438ad + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^2.1.5": + version: 2.1.5 + resolution: "@eslint/object-schema@npm:2.1.5" + checksum: 10/bb07ec53357047f20de923bcd61f0306d9eee83ef41daa32e633e154a44796b5bd94670169eccb8fd8cb4ff42228a43b86953a6321f789f98194baba8207b640 + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.2.3": + version: 0.2.4 + resolution: "@eslint/plugin-kit@npm:0.2.4" + dependencies: + levn: "npm:^0.4.1" + checksum: 10/e34d02ea1dccd716e51369620263a4b2167aff3c0510ed776e21336cc3ad7158087449a76931baf07cdc33810cb6919db375f2e9f409435d2c6e0dd5f4786b25 languageName: node linkType: hard @@ -6315,14 +6353,20 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.13.0": - version: 0.13.0 - resolution: "@humanwhocodes/config-array@npm:0.13.0" +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10/270d936be483ab5921702623bc74ce394bf12abbf57d9145a69e8a0d1c87eb1c768bd2d93af16c5705041e257e6d9cc7529311f63a1349f3678abc776fc28523 + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.6 + resolution: "@humanfs/node@npm:0.16.6" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.3" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10/524df31e61a85392a2433bf5d03164e03da26c03d009f27852e7dcfdafbc4a23f17f021dacf88e0a7a9fe04ca032017945d19b57a16e2676d9114c22a53a9d11 + "@humanfs/core": "npm:^0.19.1" + "@humanwhocodes/retry": "npm:^0.3.0" + checksum: 10/6d43c6727463772d05610aa05c83dab2bfbe78291022ee7a92cb50999910b8c720c76cc312822e2dea2b497aa1b3fef5fe9f68803fc45c9d4ed105874a65e339 languageName: node linkType: hard @@ -6333,10 +6377,17 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.3": - version: 2.0.3 - resolution: "@humanwhocodes/object-schema@npm:2.0.3" - checksum: 10/05bb99ed06c16408a45a833f03a732f59bf6184795d4efadd33238ff8699190a8c871ad1121241bb6501589a9598dc83bf25b99dcbcf41e155cdf36e35e937a3 +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.1 + resolution: "@humanwhocodes/retry@npm:0.3.1" + checksum: 10/eb457f699529de7f07649679ec9e0353055eebe443c2efe71c6dd950258892475a038e13c6a8c5e13ed1fb538cdd0a8794faa96b24b6ffc4c87fb1fc9f70ad7f + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.4.1": + version: 0.4.1 + resolution: "@humanwhocodes/retry@npm:0.4.1" + checksum: 10/39fafc7319e88f61befebd5e1b4f0136534ea6a9bd10d74366698187bd63544210ec5d79a87ed4d91297f1cc64c4c53d45fb0077a2abfdce212cf0d3862d5f04 languageName: node linkType: hard @@ -8867,7 +8918,7 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": +"@nodelib/fs.walk@npm:^1.2.3": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: @@ -12461,6 +12512,21 @@ __metadata: languageName: node linkType: hard +"@smarttools/eslint-plugin-rxjs@npm:^1.0.8": + version: 1.0.8 + resolution: "@smarttools/eslint-plugin-rxjs@npm:1.0.8" + dependencies: + "@typescript-eslint/rule-tester": "npm:^8.13.0" + "@typescript-eslint/utils": "npm:^8.13.0" + common-tags: "npm:^1.8.2" + decamelize: "npm:^5.0.1" + tsutils: "npm:^3.21.0" + tsutils-etc: "npm:^1.4.2" + typescript: "npm:~5.5.4" + checksum: 10/cd18ccc85b32448447722fa037c6865a87f279696f1f38948f5968c65858da58a2880abaec2461d29d9c3ab0b9f52e3250490276cd82a1082267e4c46989e78c + languageName: node + linkType: hard + "@smithy/abort-controller@npm:^3.1.9": version: 3.1.9 resolution: "@smithy/abort-controller@npm:3.1.9" @@ -14288,7 +14354,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:*, @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: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7 @@ -14666,13 +14732,6 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7.3.12": - version: 7.5.8 - resolution: "@types/semver@npm:7.5.8" - checksum: 10/3496808818ddb36deabfe4974fd343a78101fa242c4690044ccdc3b95dcf8785b494f5d628f2f47f38a702f8db9c53c67f47d7818f2be1b79f2efb09692e1178 - languageName: node - linkType: hard - "@types/send@npm:*": version: 0.17.4 resolution: "@types/send@npm:0.17.4" @@ -14865,199 +14924,135 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/eslint-plugin@npm:7.18.0" +"@typescript-eslint/eslint-plugin@npm:8.18.0": + version: 8.18.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.18.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:7.18.0" - "@typescript-eslint/type-utils": "npm:7.18.0" - "@typescript-eslint/utils": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" + "@typescript-eslint/scope-manager": "npm:8.18.0" + "@typescript-eslint/type-utils": "npm:8.18.0" + "@typescript-eslint/utils": "npm:8.18.0" + "@typescript-eslint/visitor-keys": "npm:8.18.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" ts-api-utils: "npm:^1.3.0" peerDependencies: - "@typescript-eslint/parser": ^7.0.0 - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/6ee4c61f145dc05f0a567b8ac01b5399ef9c75f58bc6e9a3ffca8927b15e2be2d4c3fd32a2c1a7041cc0848fdeadac30d9cb0d3bcd3835d301847a88ffd19c4d + "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10/fc163212ab626b8880bcc6c166da6e1c907c1e9eac720a217e58bec64af3866dc18e990a15a7dcd9593643f390d921625a89fb235a7e126fbb0a2f52e4abf0f5 languageName: node linkType: hard -"@typescript-eslint/experimental-utils@npm:^5.0.0": - version: 5.62.0 - resolution: "@typescript-eslint/experimental-utils@npm:5.62.0" - dependencies: - "@typescript-eslint/utils": "npm:5.62.0" - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10/ce55d9f74eac5cb94d66d5db9ead9a5d734f4301519fb5956a57f4b405a5318a115b0316195a3c039e0111489138680411709cb769085d71e1e1db1376ea0949 - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:^7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/parser@npm:7.18.0" +"@typescript-eslint/parser@npm:8.18.0, @typescript-eslint/parser@npm:^8.18.0": + version: 8.18.0 + resolution: "@typescript-eslint/parser@npm:8.18.0" dependencies: - "@typescript-eslint/scope-manager": "npm:7.18.0" - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/typescript-estree": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" + "@typescript-eslint/scope-manager": "npm:8.18.0" + "@typescript-eslint/types": "npm:8.18.0" + "@typescript-eslint/typescript-estree": "npm:8.18.0" + "@typescript-eslint/visitor-keys": "npm:8.18.0" debug: "npm:^4.3.4" peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/36b00e192a96180220ba100fcce3c777fc3e61a6edbdead4e6e75a744d9f0cbe3fabb5f1c94a31cce6b28a4e4d5de148098eec01296026c3c8e16f7f0067cb1e + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10/5f4a1c431868ee677a6a1f55197c26c5c6e528a07fd8d8dee3648697c3617343693709c9f77cba86f8bdc1738c5727f5badfd3a9745f0e0719edb77fd0c01ba3 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" +"@typescript-eslint/rule-tester@npm:^8.13.0": + version: 8.18.0 + resolution: "@typescript-eslint/rule-tester@npm:8.18.0" dependencies: - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/visitor-keys": "npm:5.62.0" - checksum: 10/e827770baa202223bc0387e2fd24f630690809e460435b7dc9af336c77322290a770d62bd5284260fa881c86074d6a9fd6c97b07382520b115f6786b8ed499da + "@typescript-eslint/typescript-estree": "npm:8.18.0" + "@typescript-eslint/utils": "npm:8.18.0" + ajv: "npm:^6.12.6" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + lodash.merge: "npm:4.6.2" + semver: "npm:^7.6.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + checksum: 10/63722483a72e30ce81fc68bb69685d2a275638def988daa57061a46cb195c9853e05744793b58d5782998eedff9474f3b92fc7c91b6dd62d97bb8ab76233f554 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" +"@typescript-eslint/scope-manager@npm:8.18.0, @typescript-eslint/scope-manager@npm:^8.1.0": + version: 8.18.0 + resolution: "@typescript-eslint/scope-manager@npm:8.18.0" dependencies: - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" - checksum: 10/9eb2ae5d69d9f723e706c16b2b97744fc016996a5473bed596035ac4d12429b3d24e7340a8235d704efa57f8f52e1b3b37925ff7c2e3384859d28b23a99b8bcc + "@typescript-eslint/types": "npm:8.18.0" + "@typescript-eslint/visitor-keys": "npm:8.18.0" + checksum: 10/869fd569a1f98cd284001062cca501e25ef7079c761242926d3b35454da64e398391ddb9d686adb34bf7bee6446491617b52c54ba54db07ee637ad4ef024d262 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" +"@typescript-eslint/type-utils@npm:8.18.0": + version: 8.18.0 + resolution: "@typescript-eslint/type-utils@npm:8.18.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:7.18.0" - "@typescript-eslint/utils": "npm:7.18.0" + "@typescript-eslint/typescript-estree": "npm:8.18.0" + "@typescript-eslint/utils": "npm:8.18.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/bcc7958a4ecdddad8c92e17265175773e7dddf416a654c1a391e69cb16e43960b39d37b6ffa349941bf3635e050f0ca7cd8f56ec9dd774168f2bbe7afedc9676 - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/types@npm:5.62.0" - checksum: 10/24e8443177be84823242d6729d56af2c4b47bfc664dd411a1d730506abf2150d6c31bdefbbc6d97c8f91043e3a50e0c698239dcb145b79bb6b0c34469aaf6c45 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10/d857a0b6a52aad10dfd51465b8fc667f579c4a590e7fedd372f834abd2fb438186e2ebc25b61f8a5e4a90d40ebdf614367088d73ec7fe5ac0e8c9dc47ae02258 languageName: node linkType: hard -"@typescript-eslint/types@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/types@npm:7.18.0" - checksum: 10/0e30c73a3cc3c67dd06360a5a12fd12cee831e4092750eec3d6c031bdc4feafcb0ab1d882910a73e66b451a4f6e1dd015e9e2c4d45bf6bf716a474e5d123ddf0 - 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: 10/06c975eb5f44b43bd19fadc2e1023c50cf87038fe4c0dd989d4331c67b3ff509b17fa60a3251896668ab4d7322bdc56162a9926971218d2e1a1874d2bef9a52e +"@typescript-eslint/types@npm:8.18.0": + version: 8.18.0 + resolution: "@typescript-eslint/types@npm:8.18.0" + checksum: 10/6c6473c169671ca946df7c1e0e424e5296dd44d89833d5c82a0ec0fdb2c668c62f8de31c85b18754d332198f18340cf2b6f13d3b13d02770ee9d1a93a099f069 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/typescript-estree@npm:7.18.0" +"@typescript-eslint/typescript-estree@npm:8.18.0": + version: 8.18.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.18.0" dependencies: - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" + "@typescript-eslint/types": "npm:8.18.0" + "@typescript-eslint/visitor-keys": "npm:8.18.0" debug: "npm:^4.3.4" - globby: "npm:^11.1.0" + 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: 10/b01e66235a91aa4439d02081d4a5f8b4a7cf9cb24f26b334812f657e3c603493e5f41e5c1e89cf4efae7d64509fa1f73affc16afc5e15cb7f83f724577c82036 - languageName: node - linkType: hard - -"@typescript-eslint/utils@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/utils@npm:5.62.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" peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10/15ef13e43998a082b15f85db979f8d3ceb1f9ce4467b8016c267b1738d5e7cdb12aa90faf4b4e6dd6486c236cf9d33c463200465cf25ff997dbc0f12358550a1 + typescript: ">=4.8.4 <5.8.0" + checksum: 10/8ffd54a58dcc2c1b33f55c29193656fde772946d9dea87e06084a242dad3098049ecff9758e215c9f27ed358c5c7dabcae96cf19bc824098e075500725faf2e1 languageName: node linkType: hard -"@typescript-eslint/utils@npm:7.18.0, @typescript-eslint/utils@npm:^7.4.0": - version: 7.18.0 - resolution: "@typescript-eslint/utils@npm:7.18.0" +"@typescript-eslint/utils@npm:8.18.0, @typescript-eslint/utils@npm:^8.1.0, @typescript-eslint/utils@npm:^8.13.0": + version: 8.18.0 + resolution: "@typescript-eslint/utils@npm:8.18.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:7.18.0" - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/typescript-estree": "npm:7.18.0" + "@typescript-eslint/scope-manager": "npm:8.18.0" + "@typescript-eslint/types": "npm:8.18.0" + "@typescript-eslint/typescript-estree": "npm:8.18.0" peerDependencies: - eslint: ^8.56.0 - checksum: 10/f43fedb4f4d2e3836bdf137889449063a55c0ece74fdb283929cd376197b992313be8ef4df920c1c801b5c3076b92964c84c6c3b9b749d263b648d0011f5926e + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10/ced2775200a4d88f9c1808f2f9a4dc43505939c4bcd5b60ca2e74bf291d6f6993789ce9d56f373c39476080a9f430e969258ee8111d0a7a9ea85da399151d27e 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: 10/dc613ab7569df9bbe0b2ca677635eb91839dfb2ca2c6fa47870a5da4f160db0b436f7ec0764362e756d4164e9445d49d5eb1ff0b87f4c058946ae9d8c92eb388 - 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" +"@typescript-eslint/visitor-keys@npm:8.18.0": + version: 8.18.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.18.0" dependencies: - "@typescript-eslint/types": "npm:7.18.0" - eslint-visitor-keys: "npm:^3.4.3" - checksum: 10/b7cfe6fdeae86c507357ac6b2357813c64fb2fbf1aaf844393ba82f73a16e2599b41981b34200d9fc7765d70bc3a8181d76b503051e53f04bcb7c9afef637eab + "@typescript-eslint/types": "npm:8.18.0" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10/6b2e1e471097ddd903dcb125ba8ff42bf4262fc4f408ca3afacf4161cff6f06b7ab4a6a7dd273e34b61a676f89a00535de7497c77d9001a10512ba3fe7d91971 languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.0.0, @ungap/structured-clone@npm:^1.2.0": +"@ungap/structured-clone@npm:^1.0.0": version: 1.2.1 resolution: "@ungap/structured-clone@npm:1.2.1" checksum: 10/6770f71e8183311b2871601ddb02d62a26373be7cf2950cb546a345a2305c75b502e36ce80166120aa2f5f1ea1562141684651ebbfcc711c58acd32035d3e545 @@ -15687,7 +15682,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.11.0, acorn@npm:^8.13.0, acorn@npm:^8.14.0, acorn@npm:^8.4.1, acorn@npm:^8.6.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0, acorn@npm:^8.8.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": +"acorn@npm:^8.11.0, acorn@npm:^8.13.0, acorn@npm:^8.14.0, acorn@npm:^8.4.1, acorn@npm:^8.6.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0, acorn@npm:^8.8.1, acorn@npm:^8.8.2": version: 8.14.0 resolution: "acorn@npm:8.14.0" bin: @@ -15777,7 +15772,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.0, ajv@npm:^6.12.4, ajv@npm:^6.12.5": +"ajv@npm:^6.12.0, ajv@npm:^6.12.4, ajv@npm:^6.12.5, ajv@npm:^6.12.6": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -16612,17 +16607,6 @@ __metadata: languageName: node linkType: hard -"bent@npm:~7.3.6": - version: 7.3.12 - resolution: "bent@npm:7.3.12" - dependencies: - bytesish: "npm:^0.4.1" - caseless: "npm:~0.12.0" - is-stream: "npm:^2.0.0" - checksum: 10/9aa8e1a37081530912022662bec68d8a0279aaedbed963e8376314d8fea2037937bcfcca5259a5497b4a1111e4139c41d291f427d4be580751418872a07412d8 - languageName: node - linkType: hard - "better-opn@npm:^3.0.2": version: 3.0.2 resolution: "better-opn@npm:3.0.2" @@ -17055,13 +17039,6 @@ __metadata: languageName: node linkType: hard -"bytesish@npm:^0.4.1": - version: 0.4.4 - resolution: "bytesish@npm:0.4.4" - checksum: 10/50a6c9423f66fff984676ee1d3c5f12d2a23830cb5de81abc597415aa2f51cc617b251d660eede10b8e45bf3a3a5c31d4be467ec69888f31ccc66e90cb586ad5 - languageName: node - linkType: hard - "c12@npm:^1.11.2, c12@npm:^1.4.2": version: 1.11.2 resolution: "c12@npm:1.11.2" @@ -17305,13 +17282,6 @@ __metadata: languageName: node linkType: hard -"caseless@npm:~0.12.0": - version: 0.12.0 - resolution: "caseless@npm:0.12.0" - checksum: 10/ea1efdf430975fdbac3505cdd21007f7ac5aa29b6d4d1c091f965853cd1bf87e4b08ea07b31a6d688b038872b7cdf0589d9262d59c699d199585daad052aeb20 - languageName: node - linkType: hard - "cbor@npm:^9.0.2": version: 9.0.2 resolution: "cbor@npm:9.0.2" @@ -17374,7 +17344,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2, chalk@npm:~4.1.0": +"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -18102,7 +18072,7 @@ __metadata: languageName: node linkType: hard -"common-tags@npm:1.8.2, common-tags@npm:^1.8.0": +"common-tags@npm:1.8.2, common-tags@npm:^1.8.2": version: 1.8.2 resolution: "common-tags@npm:1.8.2" checksum: 10/c665d0f463ee79dda801471ad8da6cb33ff7332ba45609916a508ad3d77ba07ca9deeb452e83f81f24c2b081e2c1315347f23d239210e63d1c5e1a0c7c019fe2 @@ -18593,7 +18563,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -18967,7 +18937,7 @@ __metadata: languageName: node linkType: hard -"decamelize@npm:^5.0.0": +"decamelize@npm:^5.0.1": version: 5.0.1 resolution: "decamelize@npm:5.0.1" checksum: 10/643e88804c538a334fae303ae1da8b30193b81dad8689643b35e6ab8ab60a3b03492cab6096d8163bd41fd384d969485f0634c000f80af502aa7f4047258d5b4 @@ -20446,20 +20416,6 @@ __metadata: languageName: node linkType: hard -"eslint-etc@npm:^5.1.0": - version: 5.2.1 - resolution: "eslint-etc@npm:5.2.1" - dependencies: - "@typescript-eslint/experimental-utils": "npm:^5.0.0" - tsutils: "npm:^3.17.1" - tsutils-etc: "npm:^1.4.1" - peerDependencies: - eslint: ^8.0.0 - typescript: ">=4.0.0" - checksum: 10/2be2886635ade572638a77a2313fadb689435f89f5e56cefdca27d81970eabd76575f57cf950abcff9949e20ce4dd65ce6b6dafff3f95db7fe6aecbaf54a9004 - languageName: node - linkType: hard - "eslint-import-resolver-node@npm:^0.3.9": version: 0.3.9 resolution: "eslint-import-resolver-node@npm:0.3.9" @@ -20471,32 +20427,33 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import-x@npm:^0.5.3": - version: 0.5.3 - resolution: "eslint-plugin-import-x@npm:0.5.3" +"eslint-plugin-import-x@npm:^4.5.0": + version: 4.5.0 + resolution: "eslint-plugin-import-x@npm:4.5.0" dependencies: - "@typescript-eslint/utils": "npm:^7.4.0" + "@typescript-eslint/scope-manager": "npm:^8.1.0" + "@typescript-eslint/utils": "npm:^8.1.0" debug: "npm:^4.3.4" doctrine: "npm:^3.0.0" eslint-import-resolver-node: "npm:^0.3.9" get-tsconfig: "npm:^4.7.3" is-glob: "npm:^4.0.3" minimatch: "npm:^9.0.3" - semver: "npm:^7.6.0" + semver: "npm:^7.6.3" stable-hash: "npm:^0.0.4" - tslib: "npm:^2.6.2" + tslib: "npm:^2.6.3" peerDependencies: - eslint: ^8.56.0 || ^9.0.0-0 - checksum: 10/def1b5de6844f34bf718ec452631a3cb89697f0001a436e1e27818f39c1bad6268fa967d3c5cf1d0a0d8449fdf480f5135c0b0c4cbf41365dcdf718b904a1a86 + eslint: ^8.57.0 || ^9.0.0 + checksum: 10/c894408247344655f1f5db7c0d808ae5f7de331572968fa12074b54d490e6967cc5921f2ae616b161cafa171ff751c16bfd0201137fb47a1617105aabf5197d8 languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:^4.6.2": - version: 4.6.2 - resolution: "eslint-plugin-react-hooks@npm:4.6.2" +"eslint-plugin-react-hooks@npm:^5.1.0": + version: 5.1.0 + resolution: "eslint-plugin-react-hooks@npm:5.1.0" peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 10/5a0680941f34e70cf505bcb6082df31a3e445d193ee95a88ff3483041eb944f4cefdaf7e81b0eb1feb4eeceee8c7c6ddb8a2a6e8c4c0388514a42e16ac7b7a69 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + checksum: 10/b6778fd9e1940b06868921309e8b269426e17eda555816d4b71def4dcf0572de1199fdb627ac09ce42160b9569a93cd9b0fd81b740ab4df98205461c53997a43 languageName: node linkType: hard @@ -20528,23 +20485,12 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-rxjs@npm:^5.0.3": - version: 5.0.3 - resolution: "eslint-plugin-rxjs@npm:5.0.3" - dependencies: - "@typescript-eslint/experimental-utils": "npm:^5.0.0" - common-tags: "npm:^1.8.0" - decamelize: "npm:^5.0.0" - eslint-etc: "npm:^5.1.0" - requireindex: "npm:~1.2.0" - rxjs-report-usage: "npm:^1.0.4" - tslib: "npm:^2.0.0" - tsutils: "npm:^3.0.0" - tsutils-etc: "npm:^1.4.1" +"eslint-plugin-simple-import-sort@npm:^12.1.1": + version: 12.1.1 + resolution: "eslint-plugin-simple-import-sort@npm:12.1.1" peerDependencies: - eslint: ^8.0.0 - typescript: ">=4.0.0" - checksum: 10/dde92c7175e717e3075d427fdabcaf71e51b3a4b770efaef954697ce4caad3fc77a5610b8eab7e628033d619510367f876d1ef184f177488d2c85d5391d193c0 + eslint: ">=5.0.0" + checksum: 10/2a690cea9243fbefa70345687bca8952f5e185fa459b7a8db687a908cc31082435cfee236c619d5245548fa5f89a2f2c4f8499f80512e048d2bedc60e3662d5a languageName: node linkType: hard @@ -20599,7 +20545,7 @@ __metadata: 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: @@ -20609,13 +20555,13 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" +"eslint-scope@npm:^8.2.0": + version: 8.2.0 + resolution: "eslint-scope@npm:8.2.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10/5c660fb905d5883ad018a6fea2b49f3cb5b1cbf2cd4bd08e98646e9864f9bc2c74c0839bed2d292e90a4a328833accc197c8f0baed89cbe8d605d6f918465491 + checksum: 10/cd9ab60d5a68f3a0fcac04d1cff5a7383d0f331964d5f1c446259123caec5b3ccc542284d07846e4f4d1389da77750821cc9a6e1ce18558c674977351666f9a6 languageName: node linkType: hard @@ -20626,69 +20572,77 @@ __metadata: 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": +"eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 10/3f357c554a9ea794b094a09bd4187e5eacd1bc0d0653c3adeb87962c548e6a1ab8f982b86963ae1337f5d976004146536dcee5d0e2806665b193fbfbf1a9231b languageName: node linkType: hard -"eslint@npm:^8.57.1": - version: 8.57.1 - resolution: "eslint@npm:8.57.1" +"eslint-visitor-keys@npm:^4.2.0": + version: 4.2.0 + resolution: "eslint-visitor-keys@npm:4.2.0" + checksum: 10/9651b3356b01760e586b4c631c5268c0e1a85236e3292bf754f0472f465bf9a856c0ddc261fceace155334118c0151778effafbab981413dbf9288349343fa25 + languageName: node + linkType: hard + +"eslint@npm:^9.16.0": + version: 9.16.0 + resolution: "eslint@npm:9.16.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.1" - "@humanwhocodes/config-array": "npm:^0.13.0" + "@eslint-community/regexpp": "npm:^4.12.1" + "@eslint/config-array": "npm:^0.19.0" + "@eslint/core": "npm:^0.9.0" + "@eslint/eslintrc": "npm:^3.2.0" + "@eslint/js": "npm:9.16.0" + "@eslint/plugin-kit": "npm:^0.2.3" + "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" + "@humanwhocodes/retry": "npm:^0.4.1" + "@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.2" + cross-spawn: "npm:^7.0.5" debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" + eslint-scope: "npm:^8.2.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:^6.0.1" + file-entry-cache: "npm:^8.0.0" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" ignore: "npm:^5.2.0" imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" minimatch: "npm:^3.1.2" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true bin: eslint: bin/eslint.js - checksum: 10/5504fa24879afdd9f9929b2fbfc2ee9b9441a3d464efd9790fbda5f05738858530182029f13323add68d19fec749d3ab4a70320ded091ca4432b1e9cc4ed104c + checksum: 10/b47a34392a55bc08594ee2fed2777d7aff96f38b584791ccded44d88b72795acfe15b18643fd4046f680734a1f16244d554f34a485f660fa723e25d609fb12ba languageName: node linkType: hard -"espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" +"espree@npm:^10.0.1, espree@npm:^10.3.0": + version: 10.3.0 + resolution: "espree@npm:10.3.0" dependencies: - acorn: "npm:^8.9.0" + acorn: "npm:^8.14.0" acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10/255ab260f0d711a54096bdeda93adff0eadf02a6f9b92f02b323e83a2b7fc258797919437ad331efec3930475feb0142c5ecaaf3cdab4befebd336d47d3f3134 + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10/3412d44d4204c9e29d6b5dd0277400cfa0cd68495dc09eae1b9ce79d0c8985c1c5cc09cb9ba32a1cd963f48a49b0c46bdb7736afe395a300aa6bb1c0d86837e8 languageName: node linkType: hard @@ -20702,7 +20656,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.2, esquery@npm:^1.6.0": +"esquery@npm:^1.5.0, esquery@npm:^1.6.0": version: 1.6.0 resolution: "esquery@npm:1.6.0" dependencies: @@ -21246,12 +21200,12 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10/099bb9d4ab332cb93c48b14807a6918a1da87c45dce91d4b61fd40e6505d56d0697da060cb901c729c90487067d93c9243f5da3dc9c41f0358483bfdebca736b + flat-cache: "npm:^4.0.0" + checksum: 10/afe55c4de4e0d226a23c1eae62a7219aafb390859122608a89fa4df6addf55c7fd3f1a2da6f5b41e7cdff496e4cf28bbd215d53eab5c817afa96d2b40c81bfb0 languageName: node linkType: hard @@ -21411,14 +21365,13 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" +"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.3" - rimraf: "npm:^3.0.2" - checksum: 10/02381c6ece5e9fa5b826c9bbea481d7fd77645d96e4b0b1395238124d581d10e56f17f723d897b6d133970f7a57f0fab9148cbbb67237a0a0ffe794ba60c0c70 + keyv: "npm:^4.5.4" + checksum: 10/58ce851d9045fffc7871ce2bd718bc485ad7e777bf748c054904b87c351ff1080c2c11da00788d78738bfb51b71e4d5ea12d13b98eb36e3358851ffe495b62dc languageName: node linkType: hard @@ -22128,7 +22081,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:~7.2.0": +"glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -22221,12 +22174,10 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.19.0": - version: 13.24.0 - resolution: "globals@npm:13.24.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10/62c5b1997d06674fc7191d3e01e324d3eda4d65ac9cc4e78329fa3b5c4fd42a0e1c8722822497a6964eee075255ce21ccf1eec2d83f92ef3f06653af4d0ee28e +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10/03939c8af95c6df5014b137cac83aa909090c3a3985caef06ee9a5a669790877af8698ab38007e4c0186873adc14c0b13764acc754b16a754c216cc56aa5f021 languageName: node linkType: hard @@ -22246,7 +22197,7 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.0.3, globby@npm:^11.1.0": +"globby@npm:^11.0.3": version: 11.1.0 resolution: "globby@npm:11.1.0" dependencies: @@ -23684,13 +23635,6 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: 10/abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 - languageName: node - linkType: hard - "is-plain-obj@npm:^3.0.0": version: 3.0.0 resolution: "is-plain-obj@npm:3.0.0" @@ -24238,12 +24182,12 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^3.0.2": - version: 3.1.0 - resolution: "jsesc@npm:3.1.0" +"jsesc@npm:^3.0.2, jsesc@npm:~3.0.2": + version: 3.0.2 + resolution: "jsesc@npm:3.0.2" bin: jsesc: bin/jsesc - checksum: 10/20bd37a142eca5d1794f354db8f1c9aeb54d85e1f5c247b371de05d23a9751ecd7bd3a9c4fc5298ea6fa09a100dafb4190fa5c98c6610b75952c3487f3ce7967 + checksum: 10/8e5a7de6b70a8bd71f9cb0b5a7ade6a73ae6ab55e697c74cc997cede97417a3a65ed86c36f7dd6125fe49766e8386c845023d9e213916ca92c9dfdd56e2babf3 languageName: node linkType: hard @@ -24256,15 +24200,6 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:~3.0.2": - version: 3.0.2 - resolution: "jsesc@npm:3.0.2" - bin: - jsesc: bin/jsesc - checksum: 10/8e5a7de6b70a8bd71f9cb0b5a7ade6a73ae6ab55e697c74cc997cede97417a3a65ed86c36f7dd6125fe49766e8386c845023d9e213916ca92c9dfdd56e2babf3 - languageName: node - linkType: hard - "json-bigint@npm:^1.0.0": version: 1.0.0 resolution: "json-bigint@npm:1.0.0" @@ -24469,7 +24404,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.0.0, keyv@npm:^4.5.3": +"keyv@npm:^4.0.0, keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -24907,7 +24842,7 @@ __metadata: languageName: node linkType: hard -"lodash.merge@npm:^4.6.2": +"lodash.merge@npm:4.6.2, lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" checksum: 10/d0ea2dd0097e6201be083865d50c3fb54fbfbdb247d9cc5950e086c991f448b7ab0cdab0d57eacccb43473d3f2acd21e134db39f22dac2d6c9ba6bf26978e3d6 @@ -29035,7 +28970,7 @@ __metadata: languageName: node linkType: hard -"prompts@npm:^2.0.0, prompts@npm:^2.4.2, prompts@npm:~2.4.2": +"prompts@npm:^2.0.0, prompts@npm:^2.4.2": version: 2.4.2 resolution: "prompts@npm:2.4.2" dependencies: @@ -30064,13 +29999,6 @@ __metadata: languageName: node linkType: hard -"requireindex@npm:~1.2.0": - version: 1.2.0 - resolution: "requireindex@npm:1.2.0" - checksum: 10/266d1cb31f6cbc4b6cf2e898f5bbc45581f7919bcf61bba5c45d0adb69b722b9ff5a13727be3350cde4520d7cd37f39df45d58a29854baaa4552cd6b05ae4a1a - languageName: node - linkType: hard - "requires-port@npm:^1.0.0": version: 1.0.0 resolution: "requires-port@npm:1.0.0" @@ -30503,23 +30431,6 @@ __metadata: languageName: node linkType: hard -"rxjs-report-usage@npm:^1.0.4": - version: 1.0.6 - resolution: "rxjs-report-usage@npm:1.0.6" - dependencies: - "@babel/parser": "npm:^7.10.3" - "@babel/traverse": "npm:^7.10.3" - "@babel/types": "npm:^7.10.3" - bent: "npm:~7.3.6" - chalk: "npm:~4.1.0" - glob: "npm:~7.2.0" - prompts: "npm:~2.4.2" - bin: - rxjs-report-usage: bin/rxjs-report-usage - checksum: 10/b0488c2ccbed8915a3fc9f0303a87628ee546f89a371f06116a3a442d254d7967b09a00e74f12971d712617269f63458228c1dbc909da1f58935646da6b02399 - languageName: node - linkType: hard - "rxjs@npm:^7.5.5, rxjs@npm:^7.8.1": version: 7.8.1 resolution: "rxjs@npm:7.8.1" @@ -32395,13 +32306,6 @@ __metadata: languageName: node linkType: hard -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: 10/4383b5baaeffa9bb4cda2ac33a4aa2e6d1f8aaf811848bf73513a9b88fd76372dc461f6fd6d2e9cb5100f48b473be32c6f95bd983509b7d92bb4d92c10747452 - languageName: node - linkType: hard - "thenify-all@npm:^1.0.0": version: 1.6.0 resolution: "thenify-all@npm:1.6.0" @@ -32838,7 +32742,7 @@ __metadata: languageName: node linkType: hard -"tsutils-etc@npm:^1.4.1": +"tsutils-etc@npm:^1.4.2": version: 1.4.2 resolution: "tsutils-etc@npm:1.4.2" dependencies: @@ -32854,7 +32758,7 @@ __metadata: languageName: node linkType: hard -"tsutils@npm:^3.0.0, tsutils@npm:^3.17.1, tsutils@npm:^3.21.0": +"tsutils@npm:^3.21.0": version: 3.21.0 resolution: "tsutils@npm:3.21.0" dependencies: @@ -32918,13 +32822,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10/8907e16284b2d6cfa4f4817e93520121941baba36b39219ea36acfe64c86b9dbc10c9941af450bd60832c8f43464974d51c0957f9858bc66b952b66b6914cbb9 - languageName: node - linkType: hard - "type-fest@npm:^0.21.3": version: 0.21.3 resolution: "type-fest@npm:0.21.3" @@ -33037,6 +32934,20 @@ __metadata: languageName: node linkType: hard +"typescript-eslint@npm:^8.18.0": + version: 8.18.0 + resolution: "typescript-eslint@npm:8.18.0" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.18.0" + "@typescript-eslint/parser": "npm:8.18.0" + "@typescript-eslint/utils": "npm:8.18.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10/e39d39e25d3916b3c94715db3cb84cf7564b92e08ea026a5d6116a1bd6c8e0c1bfcadad2d26bdba195a59b0e0c1bed296f50b78a66f3516e13e9a6c380546719 + languageName: node + linkType: hard + "typescript@npm:^5, typescript@npm:^5.3.3, typescript@npm:^5.4.3, typescript@npm:^5.7.2": version: 5.7.2 resolution: "typescript@npm:5.7.2" @@ -33047,6 +32958,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:~5.5.4": + version: 5.5.4 + resolution: "typescript@npm:5.5.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/1689ccafef894825481fc3d856b4834ba3cc185a9c2878f3c76a9a1ef81af04194849840f3c69e7961e2312771471bb3b460ca92561e1d87599b26c37d0ffb6f + languageName: node + linkType: hard + "typescript@patch:typescript@npm%3A^5#optional!builtin, typescript@patch:typescript@npm%3A^5.3.3#optional!builtin, typescript@patch:typescript@npm%3A^5.4.3#optional!builtin, typescript@patch:typescript@npm%3A^5.7.2#optional!builtin": version: 5.7.2 resolution: "typescript@patch:typescript@npm%3A5.7.2#optional!builtin::version=5.7.2&hash=5786d5" @@ -33057,6 +32978,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@npm%3A~5.5.4#optional!builtin": + version: 5.5.4 + resolution: "typescript@patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=379a07" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/746fdd0865c5ce4f15e494c57ede03a9e12ede59cfdb40da3a281807853fe63b00ef1c912d7222143499aa82f18b8b472baa1830df8804746d09b55f6cf5b1cc + languageName: node + linkType: hard + "ua-parser-js@npm:^1.0.35": version: 1.0.39 resolution: "ua-parser-js@npm:1.0.39"