diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 4167211049e1..000000000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,192 +0,0 @@ -/* eslint-disable no-undef */ -// ALL_PACKAGES -const allPackages = [ - 'framework/block-std', - 'framework/global', - 'framework/inline', - 'framework/store', - 'framework/sync', - 'affine/model', - 'affine/shared', - 'affine/components', - 'affine/block-paragraph', - 'affine/block-list', - 'blocks', - 'docs', - 'playground', - 'presets', -]; - -const createPattern = packageName => [ - { - group: ['**/dist', '**/dist/**'], - message: 'Do not import from dist', - allowTypeImports: false, - }, - { - group: ['**/src', '**/src/**'], - message: 'Do not import from src', - allowTypeImports: false, - }, - { - group: ['**/*.css', '**/*.css?*'], - message: - 'Do not import CSS directly, see https://github.com/toeverything/blocksuite/issues/525', - allowTypeImports: false, - }, - { - group: [`@blocksuite/${packageName}`], - message: 'Do not import package itself', - allowTypeImports: false, - }, - ...(packageName === 'blocks' - ? [ - { - group: ['**/std.js'], - message: 'Do not import from std', - allowTypeImports: false, - }, - ] - : []), -]; - -module.exports = { - env: { - browser: true, - es2022: true, - }, - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:wc/recommended', - 'plugin:lit/recommended', - 'plugin:perfectionist/recommended-natural', - 'plugin:prettier/recommended', - ], - ignorePatterns: [ - '**/dist/*', - '**/node_modules/*', - '**/*.cjs', - 'tests/snapshots/*', - '__snapshots__/*', - 'examples/**', - ], - overrides: [ - { - plugins: ['@typescript-eslint', '@stylistic/ts', 'unused-imports'], - files: ['*.ts', '*.spec.ts'], - rules: { - 'no-unused-vars': 'off', - '@typescript-eslint/ban-ts-comment': 'off', - '@typescript-eslint/explicit-member-accessibility': [ - 'error', - { - accessibility: 'no-public', - }, - ], - '@typescript-eslint/no-unused-vars': 'off', - 'unused-imports/no-unused-imports': 'error', - 'unused-imports/no-unused-vars': [ - 'error', - { - vars: 'all', - varsIgnorePattern: '^_', - args: 'after-used', - argsIgnorePattern: '^_', - caughtErrors: 'all', - caughtErrorsIgnorePattern: '^_', - destructuredArrayIgnorePattern: '^_', - ignoreRestSiblings: true, - }, - ], - '@typescript-eslint/no-non-null-asserted-nullish-coalescing': 'error', - 'no-return-await': 'off', - '@typescript-eslint/return-await': 'error', - 'require-await': 'off', - 'no-implied-eval': 'error', - '@typescript-eslint/no-implied-eval': 'error', - '@typescript-eslint/require-await': 'error', - '@typescript-eslint/await-thenable': 'error', - '@typescript-eslint/no-floating-promises': 'error', - '@typescript-eslint/no-misused-promises': 'error', - '@typescript-eslint/consistent-generic-constructors': 'error', - '@typescript-eslint/consistent-indexed-object-style': 'error', - '@typescript-eslint/consistent-type-assertions': 'error', - '@typescript-eslint/no-import-type-side-effects': 'error', - '@typescript-eslint/no-namespace': [ - 'error', - { allowDeclarations: true }, - ], - 'no-constant-binary-expression': 'error', - 'unicorn/no-useless-spread': 'error', - 'unicorn/no-useless-fallback-in-spread': 'error', - 'unicorn/prefer-dom-node-dataset': 'error', - 'unicorn/prefer-dom-node-append': 'error', - 'unicorn/prefer-dom-node-remove': 'error', - 'unicorn/prefer-array-some': 'error', - 'unicorn/prefer-date-now': 'error', - 'unicorn/prefer-blob-reading-methods': 'error', - 'unicorn/no-typeof-undefined': 'error', - 'unicorn/no-useless-promise-resolve-reject': 'error', - 'unicorn/no-new-array': 'error', - 'unicorn/new-for-builtins': 'error', - 'unicorn/prefer-node-protocol': 'error', - 'unicorn/no-useless-length-check': 'error', - '@stylistic/ts/lines-between-class-members': 'error', - '@stylistic/ts/space-before-blocks': 'error', - }, - }, - ...allPackages.map(pkg => ({ - files: [`packages/${pkg}/src/**/*.ts`], - rules: { - '@typescript-eslint/no-restricted-imports': [ - 'error', - { - patterns: createPattern(pkg), - }, - ], - }, - })), - ], - parser: '@typescript-eslint/parser', - parserOptions: { - project: `tsconfig.eslint.json`, - tsconfigRootDir: __dirname, - ecmaVersion: 'latest', - sourceType: 'module', - }, - plugins: ['unicorn', 'prettier'], - rules: { - '@typescript-eslint/consistent-type-imports': [ - 'error', - { prefer: 'type-imports', disallowTypeAnnotations: false }, - ], - 'arrow-body-style': 'off', - 'prefer-arrow-callback': 'off', - 'perfectionist/sort-intersection-types': 'off', - 'perfectionist/sort-union-types': 'off', - 'perfectionist/sort-interfaces': 'off', - 'perfectionist/sort-objects': 'off', - 'perfectionist/sort-object-types': 'off', - 'perfectionist/sort-classes': [ - 'error', - { - type: 'natural', - order: 'asc', - groups: [ - 'private-property', - 'static-property', - 'index-signature', - 'property', - 'constructor', - 'static-private-method', - 'static-method', - 'private-method', - 'method', - ['get-method', 'set-method'], - 'unknown', - ], - }, - ], - }, -}; diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 000000000000..900723cbc410 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,676 @@ +import { FlatCompat } from '@eslint/eslintrc'; +import js from '@eslint/js'; +import stylisticTs from '@stylistic/eslint-plugin-ts'; +import typescriptEslint from '@typescript-eslint/eslint-plugin'; +import tsParser from '@typescript-eslint/parser'; +import perfectionist from 'eslint-plugin-perfectionist'; +import prettier from 'eslint-plugin-prettier'; +import unicorn from 'eslint-plugin-unicorn'; +import unusedImports from 'eslint-plugin-unused-imports'; +import globals from 'globals'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +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 [ + { + ignores: [ + '**/dist/*', + '**/node_modules/*', + '**/*.cjs', + '.nx', + 'tests/snapshots/*', + '__snapshots__/*', + 'examples/**/*', + '**/.coverage/*', + '**/.vitepress/*', + '**/schemas.js', + '**/scripts/*', + 'vitest.workspace.js', + 'eslint.config.mjs', + ], + }, + ...compat.extends( + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:wc/recommended', + 'plugin:lit/recommended', + 'plugin:prettier/recommended' + ), + perfectionist.configs['recommended-natural'], + { + plugins: { + unicorn, + prettier, + }, + + languageOptions: { + globals: { + ...globals.browser, + }, + + parser: tsParser, + ecmaVersion: 'latest', + sourceType: 'module', + + parserOptions: { + project: ['./tsconfig.eslint.json'], + tsconfigRootDir: import.meta.dirname, + }, + }, + + rules: { + '@typescript-eslint/consistent-type-imports': [ + 'error', + { + prefer: 'type-imports', + disallowTypeAnnotations: false, + }, + ], + + 'arrow-body-style': 'off', + 'prefer-arrow-callback': 'off', + 'perfectionist/sort-intersection-types': 'off', + 'perfectionist/sort-union-types': 'off', + 'perfectionist/sort-interfaces': 'off', + 'perfectionist/sort-objects': 'off', + 'perfectionist/sort-object-types': 'off', + 'perfectionist/sort-variable-declarations': 'off', + + // TODO: enable these + 'perfectionist/sort-named-imports': 'off', + 'perfectionist/sort-switch-case': 'off', + 'perfectionist/sort-classes': 'off', + 'perfectionist/sort-named-exports': 'off', + // 'perfectionist/sort-classes': [ + // 'error', + // { + // type: 'natural', + // order: 'asc', + // + // groups: [ + // 'private-property', + // 'static-property', + // 'index-signature', + // 'property', + // 'constructor', + // 'static-private-method', + // 'static-method', + // 'private-method', + // 'method', + // ['get-method', 'set-method'], + // 'unknown', + // ], + // }, + // ], + }, + }, + { + files: ['**/*.ts', '**/*.spec.ts'], + + plugins: { + '@typescript-eslint': typescriptEslint, + '@stylistic/ts': stylisticTs, + 'unused-imports': unusedImports, + }, + + rules: { + 'no-unused-vars': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + '@typescript-eslint/no-empty-object-type': 'off', + '@typescript-eslint/no-unused-expressions': 'off', + + '@typescript-eslint/explicit-member-accessibility': [ + 'error', + { + accessibility: 'no-public', + }, + ], + + '@typescript-eslint/no-unused-vars': 'off', + 'unused-imports/no-unused-imports': 'error', + + 'unused-imports/no-unused-vars': [ + 'error', + { + vars: 'all', + varsIgnorePattern: '^_', + args: 'after-used', + argsIgnorePattern: '^_', + caughtErrors: 'all', + caughtErrorsIgnorePattern: '^_', + destructuredArrayIgnorePattern: '^_', + ignoreRestSiblings: true, + }, + ], + + '@typescript-eslint/no-non-null-asserted-nullish-coalescing': 'error', + 'no-return-await': 'off', + '@typescript-eslint/return-await': 'error', + 'require-await': 'off', + 'no-implied-eval': 'error', + '@typescript-eslint/no-implied-eval': 'error', + '@typescript-eslint/require-await': 'error', + '@typescript-eslint/await-thenable': 'error', + '@typescript-eslint/no-floating-promises': 'error', + '@typescript-eslint/no-misused-promises': 'error', + '@typescript-eslint/consistent-generic-constructors': 'error', + '@typescript-eslint/consistent-indexed-object-style': 'error', + '@typescript-eslint/consistent-type-assertions': 'error', + '@typescript-eslint/no-import-type-side-effects': 'error', + + '@typescript-eslint/no-namespace': [ + 'error', + { + allowDeclarations: true, + }, + ], + + 'no-constant-binary-expression': 'error', + 'unicorn/no-useless-spread': 'error', + 'unicorn/no-useless-fallback-in-spread': 'error', + 'unicorn/prefer-dom-node-dataset': 'error', + 'unicorn/prefer-dom-node-append': 'error', + 'unicorn/prefer-dom-node-remove': 'error', + 'unicorn/prefer-array-some': 'error', + 'unicorn/prefer-date-now': 'error', + 'unicorn/prefer-blob-reading-methods': 'error', + 'unicorn/no-typeof-undefined': 'error', + 'unicorn/no-useless-promise-resolve-reject': 'error', + 'unicorn/no-new-array': 'error', + 'unicorn/new-for-builtins': 'error', + 'unicorn/prefer-node-protocol': 'error', + 'unicorn/no-useless-length-check': 'error', + '@stylistic/ts/lines-between-class-members': 'error', + '@stylistic/ts/space-before-blocks': 'error', + }, + }, + { + files: ['packages/framework/block-std/src/**/*.ts'], + + rules: { + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['**/dist', '**/dist/**'], + message: 'Do not import from dist', + allowTypeImports: false, + }, + { + group: ['**/src', '**/src/**'], + message: 'Do not import from src', + allowTypeImports: false, + }, + { + group: ['**/*.css', '**/*.css?*'], + message: + 'Do not import CSS directly, see https://github.com/toeverything/blocksuite/issues/525', + allowTypeImports: false, + }, + { + group: ['@blocksuite/framework/block-std'], + message: 'Do not import package itself', + allowTypeImports: false, + }, + ], + }, + ], + }, + }, + { + files: ['packages/framework/global/src/**/*.ts'], + + rules: { + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['**/dist', '**/dist/**'], + message: 'Do not import from dist', + allowTypeImports: false, + }, + { + group: ['**/src', '**/src/**'], + message: 'Do not import from src', + allowTypeImports: false, + }, + { + group: ['**/*.css', '**/*.css?*'], + message: + 'Do not import CSS directly, see https://github.com/toeverything/blocksuite/issues/525', + allowTypeImports: false, + }, + { + group: ['@blocksuite/framework/global'], + message: 'Do not import package itself', + allowTypeImports: false, + }, + ], + }, + ], + }, + }, + { + files: ['packages/framework/inline/src/**/*.ts'], + + rules: { + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['**/dist', '**/dist/**'], + message: 'Do not import from dist', + allowTypeImports: false, + }, + { + group: ['**/src', '**/src/**'], + message: 'Do not import from src', + allowTypeImports: false, + }, + { + group: ['**/*.css', '**/*.css?*'], + message: + 'Do not import CSS directly, see https://github.com/toeverything/blocksuite/issues/525', + allowTypeImports: false, + }, + { + group: ['@blocksuite/framework/inline'], + message: 'Do not import package itself', + allowTypeImports: false, + }, + ], + }, + ], + }, + }, + { + files: ['packages/framework/store/src/**/*.ts'], + + rules: { + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['**/dist', '**/dist/**'], + message: 'Do not import from dist', + allowTypeImports: false, + }, + { + group: ['**/src', '**/src/**'], + message: 'Do not import from src', + allowTypeImports: false, + }, + { + group: ['**/*.css', '**/*.css?*'], + message: + 'Do not import CSS directly, see https://github.com/toeverything/blocksuite/issues/525', + allowTypeImports: false, + }, + { + group: ['@blocksuite/framework/store'], + message: 'Do not import package itself', + allowTypeImports: false, + }, + ], + }, + ], + }, + }, + { + files: ['packages/framework/sync/src/**/*.ts'], + + rules: { + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['**/dist', '**/dist/**'], + message: 'Do not import from dist', + allowTypeImports: false, + }, + { + group: ['**/src', '**/src/**'], + message: 'Do not import from src', + allowTypeImports: false, + }, + { + group: ['**/*.css', '**/*.css?*'], + message: + 'Do not import CSS directly, see https://github.com/toeverything/blocksuite/issues/525', + allowTypeImports: false, + }, + { + group: ['@blocksuite/framework/sync'], + message: 'Do not import package itself', + allowTypeImports: false, + }, + ], + }, + ], + }, + }, + { + files: ['packages/affine/model/src/**/*.ts'], + + rules: { + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['**/dist', '**/dist/**'], + message: 'Do not import from dist', + allowTypeImports: false, + }, + { + group: ['**/src', '**/src/**'], + message: 'Do not import from src', + allowTypeImports: false, + }, + { + group: ['**/*.css', '**/*.css?*'], + message: + 'Do not import CSS directly, see https://github.com/toeverything/blocksuite/issues/525', + allowTypeImports: false, + }, + { + group: ['@blocksuite/affine/model'], + message: 'Do not import package itself', + allowTypeImports: false, + }, + ], + }, + ], + }, + }, + { + files: ['packages/affine/shared/src/**/*.ts'], + + rules: { + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['**/dist', '**/dist/**'], + message: 'Do not import from dist', + allowTypeImports: false, + }, + { + group: ['**/src', '**/src/**'], + message: 'Do not import from src', + allowTypeImports: false, + }, + { + group: ['**/*.css', '**/*.css?*'], + message: + 'Do not import CSS directly, see https://github.com/toeverything/blocksuite/issues/525', + allowTypeImports: false, + }, + { + group: ['@blocksuite/affine/shared'], + message: 'Do not import package itself', + allowTypeImports: false, + }, + ], + }, + ], + }, + }, + { + files: ['packages/affine/components/src/**/*.ts'], + + rules: { + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['**/dist', '**/dist/**'], + message: 'Do not import from dist', + allowTypeImports: false, + }, + { + group: ['**/src', '**/src/**'], + message: 'Do not import from src', + allowTypeImports: false, + }, + { + group: ['**/*.css', '**/*.css?*'], + message: + 'Do not import CSS directly, see https://github.com/toeverything/blocksuite/issues/525', + allowTypeImports: false, + }, + { + group: ['@blocksuite/affine/components'], + message: 'Do not import package itself', + allowTypeImports: false, + }, + ], + }, + ], + }, + }, + { + files: ['packages/affine/block-paragraph/src/**/*.ts'], + + rules: { + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['**/dist', '**/dist/**'], + message: 'Do not import from dist', + allowTypeImports: false, + }, + { + group: ['**/src', '**/src/**'], + message: 'Do not import from src', + allowTypeImports: false, + }, + { + group: ['**/*.css', '**/*.css?*'], + message: + 'Do not import CSS directly, see https://github.com/toeverything/blocksuite/issues/525', + allowTypeImports: false, + }, + { + group: ['@blocksuite/affine/block-paragraph'], + message: 'Do not import package itself', + allowTypeImports: false, + }, + ], + }, + ], + }, + }, + { + files: ['packages/affine/block-list/src/**/*.ts'], + + rules: { + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['**/dist', '**/dist/**'], + message: 'Do not import from dist', + allowTypeImports: false, + }, + { + group: ['**/src', '**/src/**'], + message: 'Do not import from src', + allowTypeImports: false, + }, + { + group: ['**/*.css', '**/*.css?*'], + message: + 'Do not import CSS directly, see https://github.com/toeverything/blocksuite/issues/525', + allowTypeImports: false, + }, + { + group: ['@blocksuite/affine/block-list'], + message: 'Do not import package itself', + allowTypeImports: false, + }, + ], + }, + ], + }, + }, + { + files: ['packages/blocks/src/**/*.ts'], + + rules: { + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['**/dist', '**/dist/**'], + message: 'Do not import from dist', + allowTypeImports: false, + }, + { + group: ['**/src', '**/src/**'], + message: 'Do not import from src', + allowTypeImports: false, + }, + { + group: ['**/*.css', '**/*.css?*'], + message: + 'Do not import CSS directly, see https://github.com/toeverything/blocksuite/issues/525', + allowTypeImports: false, + }, + { + group: ['@blocksuite/blocks'], + message: 'Do not import package itself', + allowTypeImports: false, + }, + { + group: ['**/std.js'], + message: 'Do not import from std', + allowTypeImports: false, + }, + ], + }, + ], + }, + }, + { + files: ['packages/docs/src/**/*.ts'], + + rules: { + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['**/dist', '**/dist/**'], + message: 'Do not import from dist', + allowTypeImports: false, + }, + { + group: ['**/src', '**/src/**'], + message: 'Do not import from src', + allowTypeImports: false, + }, + { + group: ['**/*.css', '**/*.css?*'], + message: + 'Do not import CSS directly, see https://github.com/toeverything/blocksuite/issues/525', + allowTypeImports: false, + }, + { + group: ['@blocksuite/docs'], + message: 'Do not import package itself', + allowTypeImports: false, + }, + ], + }, + ], + }, + }, + { + files: ['packages/playground/src/**/*.ts'], + + rules: { + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['**/dist', '**/dist/**'], + message: 'Do not import from dist', + allowTypeImports: false, + }, + { + group: ['**/src', '**/src/**'], + message: 'Do not import from src', + allowTypeImports: false, + }, + { + group: ['**/*.css', '**/*.css?*'], + message: + 'Do not import CSS directly, see https://github.com/toeverything/blocksuite/issues/525', + allowTypeImports: false, + }, + { + group: ['@blocksuite/playground'], + message: 'Do not import package itself', + allowTypeImports: false, + }, + ], + }, + ], + }, + }, + { + files: ['packages/presets/src/**/*.ts'], + + rules: { + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['**/dist', '**/dist/**'], + message: 'Do not import from dist', + allowTypeImports: false, + }, + { + group: ['**/src', '**/src/**'], + message: 'Do not import from src', + allowTypeImports: false, + }, + { + group: ['**/*.css', '**/*.css?*'], + message: + 'Do not import CSS directly, see https://github.com/toeverything/blocksuite/issues/525', + allowTypeImports: false, + }, + { + group: ['@blocksuite/presets'], + message: 'Do not import package itself', + allowTypeImports: false, + }, + ], + }, + ], + }, + }, +]; diff --git a/package.json b/package.json index 96c33128ab9c..e186f92d0a28 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,8 @@ "@changesets/cli": "^2.27.7", "@commitlint/cli": "^19.4.0", "@commitlint/config-conventional": "^19.2.2", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "^9.9.1", "@nx/eslint": "19.6.2", "@nx/playwright": "19.6.2", "@nx/vite": "19.6.2", @@ -62,21 +64,22 @@ "@swc/core": "^1.7.14", "@types/jscodeshift": "^0.11.11", "@types/node": "^22.5.0", - "@typescript-eslint/eslint-plugin": "^7.18.0", - "@typescript-eslint/parser": "^7.18.0", + "@typescript-eslint/eslint-plugin": "^8.0.0", + "@typescript-eslint/parser": "^8.0.0", "@vitest/browser": "2.0.5", "@vitest/coverage-istanbul": "2.0.5", "@vitest/ui": "2.0.5", "es-module-lexer": "^1.5.4", "esbuild": "^0.23.1", - "eslint": "^8.57.0", + "eslint": "^9.0.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-lit": "^1.14.0", - "eslint-plugin-perfectionist": "^2.11.0", + "eslint-plugin-perfectionist": "^3.0.0", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-unicorn": "^55.0.0", "eslint-plugin-unused-imports": "^4.0.1", "eslint-plugin-wc": "^2.1.0", + "globals": "^15.9.0", "happy-dom": "^15.0.0", "husky": "^9.1.5", "inquirer": "^10.1.8", diff --git a/packages/affine/components/src/context-menu/menu.ts b/packages/affine/components/src/context-menu/menu.ts index 754d309f3b26..19f60db9ccac 100644 --- a/packages/affine/components/src/context-menu/menu.ts +++ b/packages/affine/components/src/context-menu/menu.ts @@ -37,7 +37,6 @@ export type GroupMenu = MenuCommon & { name: string; children: () => Menu[]; }; -// eslint-disable-next-line @typescript-eslint/ban-types type MenuClass = (string & {}) | 'delete-item'; export type NormalMenu = MenuCommon & ( diff --git a/packages/blocks/schemas.d.ts b/packages/blocks/schemas.d.ts index 3098a7347cf5..f5dfea69679c 100644 --- a/packages/blocks/schemas.d.ts +++ b/packages/blocks/schemas.d.ts @@ -1,3 +1,2 @@ -/* eslint-disable */ // @ts-ignore export * from './dist/schemas'; diff --git a/packages/blocks/schemas.js b/packages/blocks/schemas.js index edee00d2642d..7294e8f121c8 100644 --- a/packages/blocks/schemas.js +++ b/packages/blocks/schemas.js @@ -1,3 +1,2 @@ -/* eslint-disable */ /// export * from './dist/schemas.js'; diff --git a/packages/blocks/src/__tests__/database/database.unit.spec.ts b/packages/blocks/src/__tests__/database/database.unit.spec.ts index d30e629ba7cf..17ba8f423c82 100644 --- a/packages/blocks/src/__tests__/database/database.unit.spec.ts +++ b/packages/blocks/src/__tests__/database/database.unit.spec.ts @@ -187,7 +187,6 @@ describe('DatabaseManager', () => { expect(model).not.toBeNull(); - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const result = getCell(db, model!.id, column.id); expect(result).toEqual(cell); }); diff --git a/packages/blocks/src/database-block/data-view/common/data-source/context.ts b/packages/blocks/src/database-block/data-view/common/data-source/context.ts index df356e99fab6..98d57dc1bac8 100644 --- a/packages/blocks/src/database-block/data-view/common/data-source/context.ts +++ b/packages/blocks/src/database-block/data-view/common/data-source/context.ts @@ -1,4 +1,4 @@ -// eslint-disable-next-line @typescript-eslint/ban-types +// eslint-disable-next-line @typescript-eslint/no-wrapper-object-types export interface DataViewContextKey<_T> extends Symbol {} export const createContextKey = (name: string): DataViewContextKey => diff --git a/packages/blocks/src/database-block/data-view/view/data-view.ts b/packages/blocks/src/database-block/data-view/view/data-view.ts index ef022d0ddba1..406b891a1e65 100644 --- a/packages/blocks/src/database-block/data-view/view/data-view.ts +++ b/packages/blocks/src/database-block/data-view/view/data-view.ts @@ -56,7 +56,6 @@ export interface DataViewExpose { } declare global { - // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface DataViewDataTypeMap {} } export type BasicViewDataType< @@ -119,7 +118,6 @@ export const viewType = (type: Type) => ({ }); export class ViewRendererManager { - // eslint-disable-next-line @typescript-eslint/no-explicit-any private map = new Map(); getView(type: string): DataViewRendererConfig { diff --git a/packages/blocks/src/database-block/data-view/view/presets/table/cell.ts b/packages/blocks/src/database-block/data-view/view/presets/table/cell.ts index 364774ee6209..09bc6710bbe0 100644 --- a/packages/blocks/src/database-block/data-view/view/presets/table/cell.ts +++ b/packages/blocks/src/database-block/data-view/view/presets/table/cell.ts @@ -110,7 +110,6 @@ export class DatabaseCellContainer extends SignalWatcher( return selection.focus.rowIndex === this.rowIndex; } - /* eslint-disable lit/binding-positions, lit/no-invalid-html */ override render() { const renderer = this.column.renderer$.value; if (!renderer) { diff --git a/packages/blocks/src/database-block/widgets/expand/table-full-screen-modal.ts b/packages/blocks/src/database-block/widgets/expand/table-full-screen-modal.ts index 981aa82a3f9f..e63031f383fc 100644 --- a/packages/blocks/src/database-block/widgets/expand/table-full-screen-modal.ts +++ b/packages/blocks/src/database-block/widgets/expand/table-full-screen-modal.ts @@ -10,7 +10,6 @@ import { fullScreenStyles } from './styles.js'; @customElement('affine-database-table-view-full-screen') export class DatabaseTableViewFullScreen extends BlockComponent { _renderView = () => { - /* eslint-disable lit/binding-positions, lit/no-invalid-html */ return html` 0 || // eslint-disable-next-line unicorn/prefer-array-some std.selection.find('text') || - // eslint-disable-next-line unicorn/prefer-array-some Boolean(std.selection.find('surface')?.editing) ) { return; diff --git a/packages/blocks/src/root-block/edgeless/edgeless-root-block.ts b/packages/blocks/src/root-block/edgeless/edgeless-root-block.ts index 9a302ed321ad..5b61beb3f863 100644 --- a/packages/blocks/src/root-block/edgeless/edgeless-root-block.ts +++ b/packages/blocks/src/root-block/edgeless/edgeless-root-block.ts @@ -773,7 +773,6 @@ export class EdgelessRootBlockComponent extends BlockComponent< return; }); - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion this.mouseRoot = this.parentElement!; this._initTools(); diff --git a/packages/blocks/src/root-block/edgeless/services/tools-manager.ts b/packages/blocks/src/root-block/edgeless/services/tools-manager.ts index 337a9cc6ff72..f2dfd7a69bf2 100644 --- a/packages/blocks/src/root-block/edgeless/services/tools-manager.ts +++ b/packages/blocks/src/root-block/edgeless/services/tools-manager.ts @@ -366,7 +366,6 @@ export class EdgelessToolsManager { }; } - // eslint-disable-next-line @typescript-eslint/no-empty-function clear() {} dispose() { diff --git a/packages/blocks/src/root-block/edgeless/tools/default-tool.ts b/packages/blocks/src/root-block/edgeless/tools/default-tool.ts index 7c6b5f6dbbac..eab79086e104 100644 --- a/packages/blocks/src/root-block/edgeless/tools/default-tool.ts +++ b/packages/blocks/src/root-block/edgeless/tools/default-tool.ts @@ -953,6 +953,7 @@ export class DefaultToolController extends EdgelessToolController { } } + // eslint-disable-next-line @typescript-eslint/no-misused-promises async onContainerDragStart(e: PointerEventState) { if (this.edgelessSelectionManager.editing) return; // Determine the drag type based on the current state and event diff --git a/packages/blocks/src/surface-block/element-model/utility-type.ts b/packages/blocks/src/surface-block/element-model/utility-type.ts index 28f3b66e3b99..be38c93594e7 100644 --- a/packages/blocks/src/surface-block/element-model/utility-type.ts +++ b/packages/blocks/src/surface-block/element-model/utility-type.ts @@ -7,7 +7,7 @@ export type OmitFunctionsAndKeysAndReadOnly = { }; type FunctionPropertyNames = { - // eslint-disable-next-line @typescript-eslint/ban-types + // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]; diff --git a/packages/blocks/src/surface-block/elements/text/utils.ts b/packages/blocks/src/surface-block/elements/text/utils.ts index 4d09a94f47f7..511d060fb8d9 100644 --- a/packages/blocks/src/surface-block/elements/text/utils.ts +++ b/packages/blocks/src/surface-block/elements/text/utils.ts @@ -228,7 +228,6 @@ export function wrapText(text: string, font: string, maxWidth: number): string { while (words[index].length > 0) { const currentChar = String.fromCodePoint( - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion words[index].codePointAt(0)! ); const width = charWidth.calculate(currentChar, font); diff --git a/packages/blocks/src/surface-block/renderer/elements/text/utils.ts b/packages/blocks/src/surface-block/renderer/elements/text/utils.ts index 18b544157c8d..f621c50853e7 100644 --- a/packages/blocks/src/surface-block/renderer/elements/text/utils.ts +++ b/packages/blocks/src/surface-block/renderer/elements/text/utils.ts @@ -383,7 +383,6 @@ export function wrapText(text: string, font: string, maxWidth: number): string { while (words[index].length > 0) { const currentChar = String.fromCodePoint( - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion words[index].codePointAt(0)! ); const width = charWidth.calculate(currentChar, font); diff --git a/packages/blocks/src/surface-block/utils/rough/canvas.ts b/packages/blocks/src/surface-block/utils/rough/canvas.ts index 9b315372a189..8b23c2f92fd6 100644 --- a/packages/blocks/src/surface-block/utils/rough/canvas.ts +++ b/packages/blocks/src/surface-block/utils/rough/canvas.ts @@ -18,7 +18,7 @@ export class RoughCanvas { constructor(canvas: HTMLCanvasElement, config?: Config) { this.canvas = canvas; - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + this.ctx = this.canvas.getContext('2d')!; this.gen = new RoughGenerator(config); } diff --git a/packages/blocks/src/surface-block/utils/rough/generator.ts b/packages/blocks/src/surface-block/utils/rough/generator.ts index 99db211d13a0..5ff872f10a13 100644 --- a/packages/blocks/src/surface-block/utils/rough/generator.ts +++ b/packages/blocks/src/surface-block/utils/rough/generator.ts @@ -235,8 +235,7 @@ export class RoughGenerator { const hasStroke = o.stroke !== NOS; const simplified = !!(o.simplification && o.simplification < 1); const distance = simplified - ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - 4 - 4 * o.simplification! + ? 4 - 4 * o.simplification! : (1 + o.roughness) / 2; const sets = pointsOnPath(d, 1, distance); diff --git a/packages/blocks/src/surface-ref-block/surface-ref-portal.ts b/packages/blocks/src/surface-ref-block/surface-ref-portal.ts index e5f14158b051..4aa1cf1e40f2 100644 --- a/packages/blocks/src/surface-ref-block/surface-ref-portal.ts +++ b/packages/blocks/src/surface-ref-block/surface-ref-portal.ts @@ -1,5 +1,3 @@ -/* eslint-disable lit/binding-positions, lit/no-invalid-html */ - import type { FrameBlockModel, GroupElementModel, diff --git a/packages/framework/block-std/src/command/types.ts b/packages/framework/block-std/src/command/types.ts index 9c6e9e825f9a..90d9aa2bbe96 100644 --- a/packages/framework/block-std/src/command/types.ts +++ b/packages/framework/block-std/src/command/types.ts @@ -21,7 +21,6 @@ export type CommandKeyToData = Pick< export type Command< In extends BlockSuite.CommandDataName = never, Out extends BlockSuite.CommandDataName = never, - // eslint-disable-next-line @typescript-eslint/ban-types InData extends object = {}, > = ( ctx: CommandKeyToData & InitCommandCtx & InData, @@ -37,7 +36,6 @@ type OutDataOfCommand = // eslint-disable-next-line @typescript-eslint/no-explicit-any C extends Command ? CommandKeyToData : never; -// eslint-disable-next-line @typescript-eslint/ban-types type CommonMethods = { inline: ( command: Command, InlineOut> @@ -59,7 +57,6 @@ type Cmds = { [cmdSymbol]: Command[]; }; -// eslint-disable-next-line @typescript-eslint/ban-types export type Chain = CommonMethods & { [K in keyof BlockSuite.Commands]: ( data: MakeOptionalIfEmpty< @@ -80,7 +77,6 @@ declare global { type CommandName = keyof Commands; type CommandDataName = keyof CommandContext; - // eslint-disable-next-line @typescript-eslint/ban-types type CommandChain = Chain; } } diff --git a/packages/framework/block-std/src/gfx/surface/decorators/observer.ts b/packages/framework/block-std/src/gfx/surface/decorators/observer.ts index 25a4f369ba7a..8a825068a8c0 100644 --- a/packages/framework/block-std/src/gfx/surface/decorators/observer.ts +++ b/packages/framework/block-std/src/gfx/surface/decorators/observer.ts @@ -37,10 +37,7 @@ export function observe< // eslint-disable-next-line @typescript-eslint/no-explicit-any E extends Y.YEvent, T extends GfxPrimitiveElementModel, ->( - // eslint-disable-next-line @typescript-eslint/no-explicit-any - fn: ObserveFn -) { +>(fn: ObserveFn) { return function observeDecorator( _: unknown, context: ClassAccessorDecoratorContext diff --git a/packages/framework/block-std/src/gfx/surface/decorators/watch.ts b/packages/framework/block-std/src/gfx/surface/decorators/watch.ts index ecac0f8588d3..b45312bf835c 100644 --- a/packages/framework/block-std/src/gfx/surface/decorators/watch.ts +++ b/packages/framework/block-std/src/gfx/surface/decorators/watch.ts @@ -14,10 +14,7 @@ const watchSymbol = Symbol('watch'); * The watch decorator is used to watch the property change of the element. * You can thinks of it as a decorator version of `elementUpdated` slot of the surface model. */ -export function watch( - // eslint-disable-next-line @typescript-eslint/no-explicit-any - fn: WatchFn -) { +export function watch(fn: WatchFn) { return function watchDecorator( _: unknown, context: ClassAccessorDecoratorContext diff --git a/packages/framework/global/src/di/types.ts b/packages/framework/global/src/di/types.ts index c3f8c7bfedc8..3b2f2a4e70b5 100644 --- a/packages/framework/global/src/di/types.ts +++ b/packages/framework/global/src/di/types.ts @@ -1,7 +1,6 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import type { ServiceProvider } from './provider.js'; -// eslint-disable-next-line @typescript-eslint/ban-types export type Type = abstract new (...args: any) => T; export type ServiceFactory = (provider: ServiceProvider) => T; diff --git a/packages/framework/inline/src/__tests__/utils.ts b/packages/framework/inline/src/__tests__/utils.ts index b3cf600762f8..cd6b1804d33a 100644 --- a/packages/framework/inline/src/__tests__/utils.ts +++ b/packages/framework/inline/src/__tests__/utils.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line @typescript-eslint/no-restricted-imports import type { DeltaInsert, InlineEditor, diff --git a/packages/framework/store/src/__tests__/collection.unit.spec.ts b/packages/framework/store/src/__tests__/collection.unit.spec.ts index 40c9c6907784..0edb232a5fa9 100644 --- a/packages/framework/store/src/__tests__/collection.unit.spec.ts +++ b/packages/framework/store/src/__tests__/collection.unit.spec.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-restricted-imports */ // checkout https://vitest.dev/guide/debugging.html for debugging tests import type { Slot } from '@blocksuite/global/utils'; @@ -374,7 +373,6 @@ describe('addBlock', () => { assert.equal(root.flavour, 'affine:page'); - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion doc.addBlock('affine:paragraph', {}, noteId!); assert.equal(root.children[0].flavour, 'affine:note'); assert.equal(root.children[0].children[0].flavour, 'affine:paragraph'); diff --git a/packages/framework/store/src/__tests__/schema.unit.spec.ts b/packages/framework/store/src/__tests__/schema.unit.spec.ts index 715ed80d7105..a4455e227270 100644 --- a/packages/framework/store/src/__tests__/schema.unit.spec.ts +++ b/packages/framework/store/src/__tests__/schema.unit.spec.ts @@ -1,5 +1,3 @@ -/* eslint-disable @typescript-eslint/no-restricted-imports */ - import { literal } from 'lit/static-html.js'; import { describe, expect, it, vi } from 'vitest'; diff --git a/packages/playground/apps/_common/components/debug-menu.ts b/packages/playground/apps/_common/components/debug-menu.ts index beb262e3bc77..68ce68e474af 100644 --- a/packages/playground/apps/_common/components/debug-menu.ts +++ b/packages/playground/apps/_common/components/debug-menu.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-restricted-imports */ import type { SerializedXYWH } from '@blocksuite/global/utils'; import type { DeltaInsert } from '@blocksuite/inline/types'; import type { SlDropdown } from '@shoelace-style/shoelace'; diff --git a/packages/playground/apps/_common/components/quick-edgeless-menu.ts b/packages/playground/apps/_common/components/quick-edgeless-menu.ts index affd48e310e4..5272f2450d8c 100644 --- a/packages/playground/apps/_common/components/quick-edgeless-menu.ts +++ b/packages/playground/apps/_common/components/quick-edgeless-menu.ts @@ -1,11 +1,13 @@ -/* eslint-disable @typescript-eslint/no-restricted-imports */ -import type { DocMode } from '@blocksuite/blocks'; import type { SerializedXYWH } from '@blocksuite/global/utils'; import type { DeltaInsert } from '@blocksuite/inline'; import type { AffineEditorContainer } from '@blocksuite/presets'; import { ShadowlessElement } from '@blocksuite/block-std'; -import { type AffineTextAttributes, DocModeProvider } from '@blocksuite/blocks'; +import { + type AffineTextAttributes, + type DocMode, + DocModeProvider, +} from '@blocksuite/blocks'; import { EdgelessRootService, printToPdf } from '@blocksuite/blocks'; import { type DocCollection, Text } from '@blocksuite/store'; import '@shoelace-style/shoelace/dist/components/alert/alert.js'; diff --git a/packages/playground/apps/_common/components/start-panel.ts b/packages/playground/apps/_common/components/start-panel.ts index c4993f017eec..473379d39b87 100644 --- a/packages/playground/apps/_common/components/start-panel.ts +++ b/packages/playground/apps/_common/components/start-panel.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-restricted-imports */ import '@shoelace-style/shoelace/dist/components/card/card.js'; import { LitElement, css, html } from 'lit'; import { customElement } from 'lit/decorators.js'; diff --git a/packages/playground/apps/default/main.ts b/packages/playground/apps/default/main.ts index aac0b31e6165..df058aef32fb 100644 --- a/packages/playground/apps/default/main.ts +++ b/packages/playground/apps/default/main.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line @typescript-eslint/no-restricted-imports import '@blocksuite/presets/themes/affine.css'; import { setupEdgelessTemplate } from '../_common/setup.js'; diff --git a/packages/playground/apps/starter/main.ts b/packages/playground/apps/starter/main.ts index 963479a30970..c990b1e380bc 100644 --- a/packages/playground/apps/starter/main.ts +++ b/packages/playground/apps/starter/main.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line @typescript-eslint/no-restricted-imports import { WidgetViewMapExtension, WidgetViewMapIdentifier, diff --git a/packages/playground/apps/starter/utils/test-worker.ts b/packages/playground/apps/starter/utils/test-worker.ts index 4fa78618e105..827635be3d7f 100644 --- a/packages/playground/apps/starter/utils/test-worker.ts +++ b/packages/playground/apps/starter/utils/test-worker.ts @@ -1,7 +1,5 @@ // This file is used to test blocksuite can run in a web worker. SEE: tests/worker.spec.ts -/* eslint-disable @typescript-eslint/no-restricted-imports */ - import '@blocksuite/store'; // import '@blocksuite/block-std'; // seems not working import '@blocksuite/blocks/schemas'; diff --git a/packages/playground/examples/basic/edgeless/main.ts b/packages/playground/examples/basic/edgeless/main.ts index def838fecf22..ce85b1ed2ec4 100644 --- a/packages/playground/examples/basic/edgeless/main.ts +++ b/packages/playground/examples/basic/edgeless/main.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line @typescript-eslint/no-restricted-imports import { EdgelessEditor, createEmptyDoc } from '@blocksuite/presets'; import '@blocksuite/presets/themes/affine.css'; diff --git a/packages/playground/examples/basic/page/main.ts b/packages/playground/examples/basic/page/main.ts index 7613aef11d72..e0976fbd881c 100644 --- a/packages/playground/examples/basic/page/main.ts +++ b/packages/playground/examples/basic/page/main.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line @typescript-eslint/no-restricted-imports import { PageEditor, createEmptyDoc } from '@blocksuite/presets'; import '@blocksuite/presets/themes/affine.css'; import { Text } from '@blocksuite/store'; diff --git a/packages/playground/examples/inline/test-page.ts b/packages/playground/examples/inline/test-page.ts index 5d06b512b4e4..bac0cc0f04fd 100644 --- a/packages/playground/examples/inline/test-page.ts +++ b/packages/playground/examples/inline/test-page.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-non-null-assertion */ import { ShadowlessElement } from '@blocksuite/block-std'; import { type AttributeRenderer, diff --git a/packages/playground/examples/multiple-editors/edgeless-edgeless/main.ts b/packages/playground/examples/multiple-editors/edgeless-edgeless/main.ts index c138898a67f9..1332a8d8ce5c 100644 --- a/packages/playground/examples/multiple-editors/edgeless-edgeless/main.ts +++ b/packages/playground/examples/multiple-editors/edgeless-edgeless/main.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line @typescript-eslint/no-restricted-imports import { EdgelessEditor, createEmptyDoc } from '@blocksuite/presets'; import '@blocksuite/presets/themes/affine.css'; diff --git a/packages/playground/examples/multiple-editors/page-edgeless/main.ts b/packages/playground/examples/multiple-editors/page-edgeless/main.ts index a7a15608af8c..4e56b7f60bff 100644 --- a/packages/playground/examples/multiple-editors/page-edgeless/main.ts +++ b/packages/playground/examples/multiple-editors/page-edgeless/main.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line @typescript-eslint/no-restricted-imports import { EdgelessEditor, PageEditor, diff --git a/packages/playground/examples/multiple-editors/page-page/main.ts b/packages/playground/examples/multiple-editors/page-page/main.ts index de4d6fc12170..ad0630a8d9c7 100644 --- a/packages/playground/examples/multiple-editors/page-page/main.ts +++ b/packages/playground/examples/multiple-editors/page-page/main.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line @typescript-eslint/no-restricted-imports import { PageEditor, createEmptyDoc } from '@blocksuite/presets'; import '@blocksuite/presets/themes/affine.css'; diff --git a/packages/presets/src/__tests__/edgeless/layer.spec.ts b/packages/presets/src/__tests__/edgeless/layer.spec.ts index 62afdb0e3bd0..b70ab8ace0b6 100644 --- a/packages/presets/src/__tests__/edgeless/layer.spec.ts +++ b/packages/presets/src/__tests__/edgeless/layer.spec.ts @@ -1,5 +1,5 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -// eslint-disable-next-line @typescript-eslint/no-restricted-imports + import type { BlockComponent } from '@blocksuite/block-std'; import { diff --git a/packages/presets/src/__tests__/env.d.ts b/packages/presets/src/__tests__/env.d.ts index 513ef63dd820..9f29257211f4 100644 --- a/packages/presets/src/__tests__/env.d.ts +++ b/packages/presets/src/__tests__/env.d.ts @@ -1,7 +1,6 @@ import type { Job } from '@blocksuite/store'; import type { Doc, DocCollection } from '@blocksuite/store'; -// eslint-disable-next-line @typescript-eslint/no-restricted-imports import type { AffineEditorContainer } from '../index.js'; declare global { diff --git a/packages/presets/src/__tests__/utils/edgeless.ts b/packages/presets/src/__tests__/utils/edgeless.ts index 331b98bf17ab..644e8e714df5 100644 --- a/packages/presets/src/__tests__/utils/edgeless.ts +++ b/packages/presets/src/__tests__/utils/edgeless.ts @@ -6,7 +6,6 @@ import type { } from '@blocksuite/blocks'; import type { Doc } from '@blocksuite/store'; -// eslint-disable-next-line @typescript-eslint/no-restricted-imports import type { AffineEditorContainer } from '../../index.js'; export function getSurface(doc: Doc, editor: AffineEditorContainer) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 71409b982b72..3b9bbc94e6fc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,12 +48,18 @@ importers: '@commitlint/config-conventional': specifier: ^19.2.2 version: 19.2.2 + '@eslint/eslintrc': + specifier: ^3.1.0 + version: 3.1.0 + '@eslint/js': + specifier: ^9.9.1 + version: 9.9.1 '@nx/eslint': specifier: 19.6.2 - version: 19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))) + version: 19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(@zkochan/js-yaml@0.0.7)(eslint@9.9.1(jiti@1.21.6))(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))) '@nx/playwright': specifier: 19.6.2 - version: 19.6.2(@babel/traverse@7.25.3)(@playwright/test@1.46.1)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(@zkochan/js-yaml@0.0.7)(esbuild@0.23.1)(eslint@8.57.0)(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12)))(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.6))(vitest@2.0.5(@types/node@22.5.0)(@vitest/browser@2.0.5)(@vitest/ui@2.0.5)(happy-dom@15.0.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.6)) + version: 19.6.2(@babel/traverse@7.25.3)(@playwright/test@1.46.1)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(@zkochan/js-yaml@0.0.7)(esbuild@0.23.1)(eslint@9.9.1(jiti@1.21.6))(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12)))(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.6))(vitest@2.0.5(@types/node@22.5.0)(@vitest/browser@2.0.5)(@vitest/ui@2.0.5)(happy-dom@15.0.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.6)) '@nx/vite': specifier: 19.6.2 version: 19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12)))(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.6))(vitest@2.0.5(@types/node@22.5.0)(@vitest/browser@2.0.5)(@vitest/ui@2.0.5)(happy-dom@15.0.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.6)) @@ -68,7 +74,7 @@ importers: version: 1.46.1 '@stylistic/eslint-plugin-ts': specifier: ^2.4.0 - version: 2.6.4(eslint@8.57.0)(typescript@5.5.4) + version: 2.6.4(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) '@swc-node/register': specifier: ^1.10.9 version: 1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4) @@ -82,11 +88,11 @@ importers: specifier: ^22.5.0 version: 22.5.0 '@typescript-eslint/eslint-plugin': - specifier: ^7.18.0 - version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) + specifier: ^8.0.0 + version: 8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) '@typescript-eslint/parser': - specifier: ^7.18.0 - version: 7.18.0(eslint@8.57.0)(typescript@5.5.4) + specifier: ^8.0.0 + version: 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) '@vitest/browser': specifier: 2.0.5 version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) @@ -103,29 +109,32 @@ importers: specifier: npm:esbuild@latest version: 0.23.1 eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.0.0 + version: 9.9.1(jiti@1.21.6) eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) + version: 9.1.0(eslint@9.9.1(jiti@1.21.6)) eslint-plugin-lit: specifier: ^1.14.0 - version: 1.14.0(eslint@8.57.0) + version: 1.14.0(eslint@9.9.1(jiti@1.21.6)) eslint-plugin-perfectionist: - specifier: ^2.11.0 - version: 2.11.0(eslint@8.57.0)(typescript@5.5.4) + specifier: ^3.0.0 + version: 3.3.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) eslint-plugin-prettier: specifier: ^5.2.1 - version: 5.2.1(@types/eslint@9.6.0)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3) + version: 5.2.1(@types/eslint@9.6.0)(eslint-config-prettier@9.1.0(eslint@9.9.1(jiti@1.21.6)))(eslint@9.9.1(jiti@1.21.6))(prettier@3.3.3) eslint-plugin-unicorn: specifier: ^55.0.0 - version: 55.0.0(eslint@8.57.0) + version: 55.0.0(eslint@9.9.1(jiti@1.21.6)) eslint-plugin-unused-imports: specifier: ^4.0.1 - version: 4.1.3(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0) + version: 4.1.3(@typescript-eslint/eslint-plugin@8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.1(jiti@1.21.6)) eslint-plugin-wc: specifier: ^2.1.0 - version: 2.1.1(eslint@8.57.0) + version: 2.1.1(eslint@9.9.1(jiti@1.21.6)) + globals: + specifier: ^15.9.0 + version: 15.9.0 happy-dom: specifier: ^15.0.0 version: 15.0.0 @@ -890,6 +899,9 @@ packages: peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' + peerDependenciesMeta: + '@algolia/client-search': + optional: true '@algolia/cache-browser-local-storage@4.24.0': resolution: {integrity: sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==} @@ -1979,13 +1991,21 @@ packages: resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.18.0': + resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@3.1.0': + resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.9.1': + resolution: {integrity: sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.4': + resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@floating-ui/core@1.6.7': resolution: {integrity: sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==} @@ -1996,18 +2016,13 @@ packages: '@floating-ui/utils@0.2.7': resolution: {integrity: sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead - '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead + '@humanwhocodes/retry@0.3.0': + resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} + engines: {node: '>=18.18'} '@inquirer/checkbox@2.4.7': resolution: {integrity: sha512-5YwCySyV1UEgqzz34gNsC38eKxRBtlRDpJLlKcRtTjlYA/yDKuc1rfw+hjw+2WJxbAZtaDPsRl5Zk7J14SBoBw==} @@ -2280,6 +2295,10 @@ packages: resolution: {integrity: sha512-9h/nxZqmCy26r9VXGUz+Q77vq3eINXOYgE4st3dj6DoE7tulfJueCLw5d4hfDy3S8mKg4cFXaP+KxYQ+txvMzw==} engines: {node: '>=12.4.0'} + '@nolyfill/is-core-module@1.0.39': + resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} + engines: {node: '>=12.4.0'} + '@nolyfill/is-generator-function@1.0.29': resolution: {integrity: sha512-dBNj5iWhFQUM3JG8XxdwYMQMes44GY9cHCeBXAZNrsYAuQofcL0ke4c9BNh/2FPSVr+sVjErbQHLpaos/XMpug==} engines: {node: '>=12.4.0'} @@ -2999,40 +3018,35 @@ packages: '@types/yargs@17.0.33': resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - '@typescript-eslint/eslint-plugin@7.18.0': - resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/eslint-plugin@8.4.0': + resolution: {integrity: sha512-rg8LGdv7ri3oAlenMACk9e+AR4wUV0yrrG+XKsGKOK0EVgeEDqurkXMPILG2836fW4ibokTB5v4b6Z9+GYQDEw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/parser@7.18.0': - resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/parser@8.4.0': + resolution: {integrity: sha512-NHgWmKSgJk5K9N16GIhQ4jSobBoJwrmURaLErad0qlLjrpP5bECYg+wxVTGlGZmJbU03jj/dfnb6V9bw+5icsA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/scope-manager@7.18.0': - resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} - engines: {node: ^18.18.0 || >=20.0.0} - - '@typescript-eslint/scope-manager@8.2.0': - resolution: {integrity: sha512-OFn80B38yD6WwpoHU2Tz/fTz7CgFqInllBoC3WP+/jLbTb4gGPTy9HBSTsbDWkMdN55XlVU0mMDYAtgvlUspGw==} + '@typescript-eslint/scope-manager@8.4.0': + resolution: {integrity: sha512-n2jFxLeY0JmKfUqy3P70rs6vdoPjHK8P/w+zJcV3fk0b0BwRXC/zxRTEnAsgYT7MwdQDt/ZEbtdzdVC+hcpF0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@7.18.0': - resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/type-utils@8.4.0': + resolution: {integrity: sha512-pu2PAmNrl9KX6TtirVOrbLPLwDmASpZhK/XU7WvoKoCUkdtq9zF7qQ7gna0GBZFN0hci0vHaSusiL2WpsQk37A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: @@ -3042,8 +3056,8 @@ packages: resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@8.2.0': - resolution: {integrity: sha512-6a9QSK396YqmiBKPkJtxsgZZZVjYQ6wQ/TlI0C65z7vInaETuC6HAHD98AGLC8DyIPqHytvNuS8bBVvNLKyqvQ==} + '@typescript-eslint/types@8.4.0': + resolution: {integrity: sha512-T1RB3KQdskh9t3v/qv7niK6P8yvn7ja1mS7QK7XfRVL6wtZ8/mFs/FHf4fKvTA0rKnqnYxl/uHFNbnEt0phgbw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@7.18.0': @@ -3055,8 +3069,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.2.0': - resolution: {integrity: sha512-kiG4EDUT4dImplOsbh47B1QnNmXSoUqOjWDvCJw/o8LgfD0yr7k2uy54D5Wm0j4t71Ge1NkynGhpWdS0dEIAUA==} + '@typescript-eslint/typescript-estree@8.4.0': + resolution: {integrity: sha512-kJ2OIP4dQw5gdI4uXsaxUZHRwWAGpREJ9Zq6D5L0BweyOrWsL6Sz0YcAZGWhvKnH7fm1J5YFE1JrQL0c9dd53A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -3064,14 +3078,8 @@ packages: typescript: optional: true - '@typescript-eslint/utils@7.18.0': - resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - - '@typescript-eslint/utils@8.2.0': - resolution: {integrity: sha512-O46eaYKDlV3TvAVDNcoDzd5N550ckSe8G4phko++OCSC1dYIb9LTc3HDGYdWqWIAT5qDUKphO6sd9RrpIJJPfg==} + '@typescript-eslint/utils@8.4.0': + resolution: {integrity: sha512-swULW8n1IKLjRAgciCkTCafyTHHfwVQFt8DovmaF69sKbOxTSFMmIZaSHjqO9i/RV0wIblaawhzvtva8Nmm7lQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3080,8 +3088,8 @@ packages: resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@8.2.0': - resolution: {integrity: sha512-sbgsPMW9yLvS7IhCi8IpuK1oBmtbWUNP+hBdwl/I9nzqVsszGnNGti5r9dUtF5RLivHUFFIdRvLiTsPhzSyJ3Q==} + '@typescript-eslint/visitor-keys@8.4.0': + resolution: {integrity: sha512-zTQD6WLNTre1hj5wp09nBIDiOc2U5r/qmzo7wxPn4ZgAjHql09EofqhF9WF+fZHzL5aCyaIpPcT2hyxl73kr9A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': @@ -4256,10 +4264,6 @@ packages: resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} @@ -4416,13 +4420,14 @@ packages: peerDependencies: eslint: '>= 5' - eslint-plugin-perfectionist@2.11.0: - resolution: {integrity: sha512-XrtBtiu5rbQv88gl+1e2RQud9te9luYNvKIgM9emttQ2zutHPzY/AQUucwxscDKV4qlTkvLTxjOFvxqeDpPorw==} + eslint-plugin-perfectionist@3.3.0: + resolution: {integrity: sha512-sGgShkEqDBqIZ3WlenGHwLe1cl3vHKTfeh9b1XXAamaxSC7AY4Os0jdNCXnGJW4l0TlpismT5t2r7CXY7sfKlw==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: astro-eslint-parser: ^1.0.2 eslint: '>=8.0.0' svelte: '>=3.0.0' - svelte-eslint-parser: ^0.37.0 + svelte-eslint-parser: ^0.41.0 vue-eslint-parser: '>=9.0.0' peerDependenciesMeta: astro-eslint-parser: @@ -4472,9 +4477,9 @@ packages: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.0.2: + resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} @@ -4484,19 +4489,20 @@ packages: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint@9.9.1: + resolution: {integrity: sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true espree@10.1.0: resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -4608,9 +4614,9 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} file-type@19.4.1: resolution: {integrity: sha512-RuWzwF2L9tCHS76KR/Mdh+DwJZcFCzrhrPXpOw6MlEfl/o31fjpTikzcKlYuyeV7e7ftdCGVJTNOCzkYD/aLbw==} @@ -4675,9 +4681,9 @@ packages: find-yarn-workspace-root2@1.2.16: resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} @@ -4870,9 +4876,9 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} globals@15.9.0: resolution: {integrity: sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==} @@ -5145,10 +5151,6 @@ packages: resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} engines: {node: '>=6'} - is-core-module@2.15.1: - resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} - engines: {node: '>= 0.4'} - is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} @@ -7547,10 +7549,6 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -8164,8 +8162,9 @@ snapshots: '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@5.1.1)(algoliasearch@4.24.0)': dependencies: - '@algolia/client-search': 5.1.1 algoliasearch: 4.24.0 + optionalDependencies: + '@algolia/client-search': 5.1.1 '@algolia/cache-browser-local-storage@4.24.0': dependencies: @@ -9356,7 +9355,7 @@ snapshots: '@codesandbox/nodebox@0.1.8': dependencies: - outvariant: 1.4.0 + outvariant: 1.4.3 strict-event-emitter: 0.4.6 '@codesandbox/sandpack-client@2.18.2': @@ -9602,19 +9601,27 @@ snapshots: '@esbuild/win32-x64@0.23.1': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.9.1(jiti@1.21.6))': dependencies: - eslint: 8.57.0 + eslint: 9.9.1(jiti@1.21.6) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.0': {} - '@eslint/eslintrc@2.1.4': + '@eslint/config-array@0.18.0': + dependencies: + '@eslint/object-schema': 2.1.4 + debug: 4.3.6 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 debug: 4.3.6 - espree: 9.6.1 - globals: 13.24.0 + espree: 10.1.0 + globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -9623,7 +9630,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} + '@eslint/js@9.9.1': {} + + '@eslint/object-schema@2.1.4': {} '@floating-ui/core@1.6.7': dependencies: @@ -9636,17 +9645,9 @@ snapshots: '@floating-ui/utils@0.2.7': {} - '@humanwhocodes/config-array@0.11.14': - dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.6 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/retry@0.3.0': {} '@inquirer/checkbox@2.4.7': dependencies: @@ -10046,6 +10047,8 @@ snapshots: '@nolyfill/hasown@1.0.29': {} + '@nolyfill/is-core-module@1.0.39': {} + '@nolyfill/is-generator-function@1.0.29': {} '@nolyfill/isarray@1.0.29': {} @@ -10182,12 +10185,12 @@ snapshots: tslib: 2.6.3 yargs-parser: 21.1.1 - '@nx/eslint@19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12)))': + '@nx/eslint@19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(@zkochan/js-yaml@0.0.7)(eslint@9.9.1(jiti@1.21.6))(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12)))': dependencies: '@nx/devkit': 19.6.2(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))) '@nx/js': 19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12)))(typescript@5.4.5) - '@nx/linter': 19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))) - eslint: 8.57.0 + '@nx/linter': 19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(@zkochan/js-yaml@0.0.7)(eslint@9.9.1(jiti@1.21.6))(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))) + eslint: 9.9.1(jiti@1.21.6) semver: 7.6.3 tslib: 2.6.3 typescript: 5.4.5 @@ -10290,9 +10293,9 @@ snapshots: - supports-color - typescript - '@nx/linter@19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12)))': + '@nx/linter@19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(@zkochan/js-yaml@0.0.7)(eslint@9.9.1(jiti@1.21.6))(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12)))': dependencies: - '@nx/eslint': 19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))) + '@nx/eslint': 19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(@zkochan/js-yaml@0.0.7)(eslint@9.9.1(jiti@1.21.6))(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -10336,10 +10339,10 @@ snapshots: '@nx/nx-win32-x64-msvc@19.6.2': optional: true - '@nx/playwright@19.6.2(@babel/traverse@7.25.3)(@playwright/test@1.46.1)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(@zkochan/js-yaml@0.0.7)(esbuild@0.23.1)(eslint@8.57.0)(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12)))(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.6))(vitest@2.0.5(@types/node@22.5.0)(@vitest/browser@2.0.5)(@vitest/ui@2.0.5)(happy-dom@15.0.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.6))': + '@nx/playwright@19.6.2(@babel/traverse@7.25.3)(@playwright/test@1.46.1)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(@zkochan/js-yaml@0.0.7)(esbuild@0.23.1)(eslint@9.9.1(jiti@1.21.6))(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12)))(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.6))(vitest@2.0.5(@types/node@22.5.0)(@vitest/browser@2.0.5)(@vitest/ui@2.0.5)(happy-dom@15.0.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.6))': dependencies: '@nx/devkit': 19.6.2(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))) - '@nx/eslint': 19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))) + '@nx/eslint': 19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(@zkochan/js-yaml@0.0.7)(eslint@9.9.1(jiti@1.21.6))(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))) '@nx/js': 19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12)))(typescript@5.5.4) '@nx/vite': 19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12)))(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.6))(vitest@2.0.5(@types/node@22.5.0)(@vitest/browser@2.0.5)(@vitest/ui@2.0.5)(happy-dom@15.0.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.6)) '@nx/webpack': 19.6.2(@babel/traverse@7.25.3)(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.0)(esbuild@0.23.1)(nx@19.6.2(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.7.14(@swc/helpers@0.5.12)))(typescript@5.5.4) @@ -10676,20 +10679,20 @@ snapshots: '@stitches/core@1.2.8': {} - '@stylistic/eslint-plugin-js@2.6.4(eslint@8.57.0)': + '@stylistic/eslint-plugin-js@2.6.4(eslint@9.9.1(jiti@1.21.6))': dependencies: '@types/eslint': 9.6.0 acorn: 8.12.1 - eslint: 8.57.0 + eslint: 9.9.1(jiti@1.21.6) eslint-visitor-keys: 4.0.0 espree: 10.1.0 - '@stylistic/eslint-plugin-ts@2.6.4(eslint@8.57.0)(typescript@5.5.4)': + '@stylistic/eslint-plugin-ts@2.6.4(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)': dependencies: - '@stylistic/eslint-plugin-js': 2.6.4(eslint@8.57.0) + '@stylistic/eslint-plugin-js': 2.6.4(eslint@9.9.1(jiti@1.21.6)) '@types/eslint': 9.6.0 - '@typescript-eslint/utils': 8.2.0(eslint@8.57.0)(typescript@5.5.4) - eslint: 8.57.0 + '@typescript-eslint/utils': 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) + eslint: 9.9.1(jiti@1.21.6) transitivePeerDependencies: - supports-color - typescript @@ -11070,15 +11073,15 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 7.18.0 - eslint: 8.57.0 + '@typescript-eslint/parser': 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.4.0 + '@typescript-eslint/type-utils': 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/utils': 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.4.0 + eslint: 9.9.1(jiti@1.21.6) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -11088,44 +11091,39 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/parser@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)': dependencies: - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 7.18.0 + '@typescript-eslint/scope-manager': 8.4.0 + '@typescript-eslint/types': 8.4.0 + '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.4.0 debug: 4.3.6 - eslint: 8.57.0 + eslint: 9.9.1(jiti@1.21.6) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@7.18.0': + '@typescript-eslint/scope-manager@8.4.0': dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 + '@typescript-eslint/types': 8.4.0 + '@typescript-eslint/visitor-keys': 8.4.0 - '@typescript-eslint/scope-manager@8.2.0': + '@typescript-eslint/type-utils@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)': dependencies: - '@typescript-eslint/types': 8.2.0 - '@typescript-eslint/visitor-keys': 8.2.0 - - '@typescript-eslint/type-utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)': - dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4) + '@typescript-eslint/utils': 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) debug: 4.3.6 - eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: + - eslint - supports-color '@typescript-eslint/types@7.18.0': {} - '@typescript-eslint/types@8.2.0': {} + '@typescript-eslint/types@8.4.0': {} '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.4)': dependencies: @@ -11142,12 +11140,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.2.0(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@8.4.0(typescript@5.5.4)': dependencies: - '@typescript-eslint/types': 8.2.0 - '@typescript-eslint/visitor-keys': 8.2.0 + '@typescript-eslint/types': 8.4.0 + '@typescript-eslint/visitor-keys': 8.4.0 debug: 4.3.6 - globby: 11.1.0 + fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 @@ -11157,24 +11155,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - eslint: 8.57.0 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@8.2.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/utils@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 8.2.0 - '@typescript-eslint/types': 8.2.0 - '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.5.4) - eslint: 8.57.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@1.21.6)) + '@typescript-eslint/scope-manager': 8.4.0 + '@typescript-eslint/types': 8.4.0 + '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4) + eslint: 9.9.1(jiti@1.21.6) transitivePeerDependencies: - supports-color - typescript @@ -11184,9 +11171,9 @@ snapshots: '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.2.0': + '@typescript-eslint/visitor-keys@8.4.0': dependencies: - '@typescript-eslint/types': 8.2.0 + '@typescript-eslint/types': 8.4.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} @@ -12454,10 +12441,6 @@ snapshots: dependencies: '@leichtgewicht/ip-codec': 2.0.5 - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dom-accessibility-api@0.5.16: {} dom-serializer@2.0.0: @@ -12599,45 +12582,46 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@9.1.0(eslint@8.57.0): + eslint-config-prettier@9.1.0(eslint@9.9.1(jiti@1.21.6)): dependencies: - eslint: 8.57.0 + eslint: 9.9.1(jiti@1.21.6) - eslint-plugin-lit@1.14.0(eslint@8.57.0): + eslint-plugin-lit@1.14.0(eslint@9.9.1(jiti@1.21.6)): dependencies: - eslint: 8.57.0 + eslint: 9.9.1(jiti@1.21.6) parse5: 6.0.1 parse5-htmlparser2-tree-adapter: 6.0.1 requireindex: 1.2.0 - eslint-plugin-perfectionist@2.11.0(eslint@8.57.0)(typescript@5.5.4): + eslint-plugin-perfectionist@3.3.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4): dependencies: - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) - eslint: 8.57.0 - minimatch: 9.0.5 + '@typescript-eslint/types': 8.4.0 + '@typescript-eslint/utils': 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) + eslint: 9.9.1(jiti@1.21.6) + minimatch: 10.0.1 natural-compare-lite: 1.4.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-prettier@5.2.1(@types/eslint@9.6.0)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3): + eslint-plugin-prettier@5.2.1(@types/eslint@9.6.0)(eslint-config-prettier@9.1.0(eslint@9.9.1(jiti@1.21.6)))(eslint@9.9.1(jiti@1.21.6))(prettier@3.3.3): dependencies: - eslint: 8.57.0 + eslint: 9.9.1(jiti@1.21.6) prettier: 3.3.3 prettier-linter-helpers: 1.0.0 synckit: 0.9.1 optionalDependencies: '@types/eslint': 9.6.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint-config-prettier: 9.1.0(eslint@9.9.1(jiti@1.21.6)) - eslint-plugin-unicorn@55.0.0(eslint@8.57.0): + eslint-plugin-unicorn@55.0.0(eslint@9.9.1(jiti@1.21.6)): dependencies: '@babel/helper-validator-identifier': 7.24.7 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@1.21.6)) ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.38.1 - eslint: 8.57.0 + eslint: 9.9.1(jiti@1.21.6) esquery: 1.6.0 globals: 15.9.0 indent-string: 4.0.0 @@ -12650,15 +12634,15 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-unused-imports@4.1.3(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0): + eslint-plugin-unused-imports@4.1.3(@typescript-eslint/eslint-plugin@8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.1(jiti@1.21.6)): dependencies: - eslint: 8.57.0 + eslint: 9.9.1(jiti@1.21.6) optionalDependencies: - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) - eslint-plugin-wc@2.1.1(eslint@8.57.0): + eslint-plugin-wc@2.1.1(eslint@9.9.1(jiti@1.21.6)): dependencies: - eslint: 8.57.0 + eslint: 9.9.1(jiti@1.21.6) is-valid-element-name: 1.0.0 js-levenshtein-esm: 1.2.0 @@ -12667,7 +12651,7 @@ snapshots: esrecurse: 4.3.0 estraverse: 4.3.0 - eslint-scope@7.2.2: + eslint-scope@8.0.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 @@ -12676,38 +12660,34 @@ snapshots: eslint-visitor-keys@4.0.0: {} - eslint@8.57.0: + eslint@9.9.1(jiti@1.21.6): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@1.21.6)) '@eslint-community/regexpp': 4.11.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint/config-array': 0.18.0 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.9.1 '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.6 - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.0.2 + eslint-visitor-keys: 4.0.0 + espree: 10.1.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 @@ -12716,6 +12696,8 @@ snapshots: optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 + optionalDependencies: + jiti: 1.21.6 transitivePeerDependencies: - supports-color @@ -12725,12 +12707,6 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.12.1) eslint-visitor-keys: 4.0.0 - espree@9.6.1: - dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 3.4.3 - esprima@4.0.1: {} esquery@1.6.0: @@ -12877,9 +12853,9 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 file-type@19.4.1: dependencies: @@ -12977,11 +12953,10 @@ snapshots: micromatch: 4.0.7 pkg-dir: 4.2.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: flatted: 3.3.1 keyv: 4.5.4 - rimraf: 3.0.2 flat@5.0.2: {} @@ -13177,9 +13152,7 @@ snapshots: globals@11.12.0: {} - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@14.0.0: {} globals@15.9.0: {} @@ -13512,10 +13485,6 @@ snapshots: dependencies: builtin-modules: 3.3.0 - is-core-module@2.15.1: - dependencies: - hasown: '@nolyfill/hasown@1.0.29' - is-docker@2.2.1: {} is-docker@3.0.0: {} @@ -14807,7 +14776,7 @@ snapshots: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.6.1 + cli-spinners: 2.9.2 is-interactive: 1.0.0 log-symbols: 4.1.0 strip-ansi: 6.0.1 @@ -15505,7 +15474,7 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.15.1 + is-core-module: '@nolyfill/is-core-module@1.0.39' path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -15866,7 +15835,7 @@ snapshots: '@open-draft/deferred-promise': 2.2.0 dotenv: 16.4.5 mime-db: 1.53.0 - outvariant: 1.4.0 + outvariant: 1.4.3 statuses@1.5.0: {} @@ -16265,8 +16234,6 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-fest@0.20.2: {} - type-fest@0.21.3: {} type-fest@0.6.0: {} diff --git a/scripts/node-import-test.ts b/scripts/node-import-test.ts index 610992776e5c..3c94709c6a41 100644 --- a/scripts/node-import-test.ts +++ b/scripts/node-import-test.ts @@ -1,5 +1,3 @@ -/* eslint-disable @typescript-eslint/no-restricted-imports */ - import '../packages/framework/store/src/index'; import '../packages/affine/model/src/index'; diff --git a/tests/edgeless/linked-doc.spec.ts b/tests/edgeless/linked-doc.spec.ts index 128500d36bd9..3f5c2cf90b2c 100644 --- a/tests/edgeless/linked-doc.spec.ts +++ b/tests/edgeless/linked-doc.spec.ts @@ -1,7 +1,6 @@ import { assertNotExists } from '@global/utils.js'; import { expect } from '@playwright/test'; -// eslint-disable-next-line @typescript-eslint/no-restricted-imports import { Shape, activeNoteInEdgeless, diff --git a/tests/edgeless/note/note.spec.ts b/tests/edgeless/note/note.spec.ts index 401110b51d14..57ed54d791ba 100644 --- a/tests/edgeless/note/note.spec.ts +++ b/tests/edgeless/note/note.spec.ts @@ -1,7 +1,6 @@ import { NOTE_WIDTH, NoteDisplayMode } from '@blocksuite/affine-model'; import { expect } from '@playwright/test'; -// eslint-disable-next-line @typescript-eslint/no-restricted-imports import { activeNoteInEdgeless, addNote, diff --git a/tests/link.spec.ts b/tests/link.spec.ts index 2927aea05a43..30b58b14604c 100644 --- a/tests/link.spec.ts +++ b/tests/link.spec.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-non-null-assertion */ import type { Page } from '@playwright/test'; import { expect } from '@playwright/test'; diff --git a/tests/selection/block.spec.ts b/tests/selection/block.spec.ts index fd5d082288fb..55dcee4c69c3 100644 --- a/tests/selection/block.spec.ts +++ b/tests/selection/block.spec.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-non-null-assertion */ import type { Page } from '@playwright/test'; import { expect } from '@playwright/test'; diff --git a/tests/selection/native.spec.ts b/tests/selection/native.spec.ts index e1214f4dd908..cf1b6ea7d1de 100644 --- a/tests/selection/native.spec.ts +++ b/tests/selection/native.spec.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-non-null-assertion */ import { expect } from '@playwright/test'; import { diff --git a/tests/utils/actions/misc.ts b/tests/utils/actions/misc.ts index 2c32874902a0..aabc3bf3f26c 100644 --- a/tests/utils/actions/misc.ts +++ b/tests/utils/actions/misc.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-restricted-imports */ import type { EditorHost } from '@block-std/view/element/lit-host.js'; import type { DatabaseBlockModel, ListType, RichText } from '@blocks/index.js'; import type { InlineRange, InlineRootElement } from '@inline/index.js'; @@ -1092,7 +1091,6 @@ export async function setSelection( focusOffset, currentEditorIndex, }) => { - /* eslint-disable @typescript-eslint/no-non-null-assertion */ const editorHost = document.querySelectorAll('editor-host')[currentEditorIndex]; const anchorRichText = editorHost.querySelector( diff --git a/tests/utils/asserts.ts b/tests/utils/asserts.ts index 8ac4efa35017..3f80f2213513 100644 --- a/tests/utils/asserts.ts +++ b/tests/utils/asserts.ts @@ -1,6 +1,3 @@ -/* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */ -/* eslint-disable @typescript-eslint/no-non-null-assertion */ - import type { BlockComponent, EditorHost, diff --git a/tests/utils/declare-test-window.ts b/tests/utils/declare-test-window.ts index 4f7e29d778f1..fae0370a3e70 100644 --- a/tests/utils/declare-test-window.ts +++ b/tests/utils/declare-test-window.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-restricted-imports */ import type { WidgetViewMapIdentifier } from '@block-std/index.js'; import type { EditorHost } from '@block-std/view/element/index.js'; import type { TestUtils } from '@blocks/index.js';