Files
AFFiNE-Mirror/eslint.config.mjs
renovate 8c05c6ef5b chore: bump up all non-major dependencies (#9434)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@smarttools/eslint-plugin-rxjs](https://redirect.github.com/DaveMBush/eslint-plugin-rxjs) | [`1.0.10` -> `1.0.12`](https://renovatebot.com/diffs/npm/@smarttools%2feslint-plugin-rxjs/1.0.10/1.0.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@smarttools%2feslint-plugin-rxjs/1.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@smarttools%2feslint-plugin-rxjs/1.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@smarttools%2feslint-plugin-rxjs/1.0.10/1.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@smarttools%2feslint-plugin-rxjs/1.0.10/1.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| @​types/dompurify | [`3.0.5` -> `3.2.0`](https://renovatebot.com/diffs/npm/@types%2fdompurify/3.0.5/3.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fdompurify/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fdompurify/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fdompurify/3.0.5/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fdompurify/3.0.5/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.17.10` -> `20.17.11`](https://renovatebot.com/diffs/npm/@types%2fnode/20.17.10/20.17.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.17.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.17.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.17.10/20.17.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.17.10/20.17.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom) | [`16.0.1` -> `16.3.0`](https://renovatebot.com/diffs/npm/happy-dom/16.0.1/16.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/16.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/16.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/16.0.1/16.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/16.0.1/16.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [react-i18next](https://redirect.github.com/i18next/react-i18next) | [`15.3.0` -> `15.4.0`](https://renovatebot.com/diffs/npm/react-i18next/15.3.0/15.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-i18next/15.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-i18next/15.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-i18next/15.3.0/15.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-i18next/15.3.0/15.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [shiki](https://redirect.github.com/shikijs/shiki) ([source](https://redirect.github.com/shikijs/shiki/tree/HEAD/packages/shiki)) | [`1.24.4` -> `1.25.1`](https://renovatebot.com/diffs/npm/shiki/1.24.4/1.25.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/shiki/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/shiki/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/shiki/1.24.4/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/shiki/1.24.4/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.18.2` -> `8.19.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.18.2/8.19.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript-eslint/8.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript-eslint/8.18.2/8.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.18.2/8.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>DaveMBush/eslint-plugin-rxjs (@&#8203;smarttools/eslint-plugin-rxjs)</summary>

### [`v1.0.12`](https://redirect.github.com/DaveMBush/eslint-plugin-rxjs/releases/tag/v1.0.12): 1.0.12 (2025-01-01)

[Compare Source](https://redirect.github.com/DaveMBush/eslint-plugin-rxjs/compare/v1.0.11...v1.0.12)

Update dependencies
remove decamalize and replace with regex
remove unused file

### [`v1.0.11`](https://redirect.github.com/DaveMBush/eslint-plugin-rxjs/releases/tag/v1.0.11): 1.0.11 (2024-12-30)

[Compare Source](https://redirect.github.com/DaveMBush/eslint-plugin-rxjs/compare/v1.0.10...v1.0.11)

rollback to what was in 1.0.9 while trying to keep the intended fix for 1.0.10

</details>

<details>
<summary>capricorn86/happy-dom (happy-dom)</summary>

### [`v16.3.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.3.0)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.9...v16.3.0)

##### 🎨 Features

-   Adds support for child combinator to ":has()" pseudo selector (e.g. "span:has(> video)") - By **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in task [#&#8203;1642](https://redirect.github.com/capricorn86/happy-dom/issues/1642)

### [`v16.2.9`](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.8...3082b7e010c4362e762d2d387d0316dd96b017cd)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.8...v16.2.9)

### [`v16.2.8`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.2.8)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.7...v16.2.8)

##### 👷‍♂️ Patch fixes

-   Fixes issue where the wrong event target was used when dispatching events on HTMLFormElement or HTMLSelectElement - By **[@&#8203;betterqualityassuranceuser](https://redirect.github.com/betterqualityassuranceuser)** in task [#&#8203;1628](https://redirect.github.com/capricorn86/happy-dom/issues/1628)

### [`v16.2.7`](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.6...78eb24034576e4ecc39a3633967799ea75bead50)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.6...v16.2.7)

### [`v16.2.6`](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.5...2c8a59619a35b55c398db27927027d9a1458a6a1)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.5...v16.2.6)

### [`v16.2.5`](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.4...675e306d2440cabdb7e2d75ef5a78ea47e506494)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.4...v16.2.5)

### [`v16.2.4`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.2.4)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.3...v16.2.4)

##### 👷‍♂️ Patch fixes

-   Fixes bug where the incorrect location is set after a redirect in `BrowserFrame.goto()` and `DetachedBrowserFrame.goto()` - By **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in task [#&#8203;1627](https://redirect.github.com/capricorn86/happy-dom/issues/1627)

### [`v16.2.3`](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.2...f41ad67816008a068c5cefcbac31b2fda7d2f4e2)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.2...v16.2.3)

### [`v16.2.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.2.2)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.1...v16.2.2)

##### 👷‍♂️ Patch fixes

-   Improves error when a Symbol object is being sent to `querySelector()` or `querySelectorAll()` as selector - By **[@&#8203;chocolateboy](https://redirect.github.com/chocolateboy)** in task [#&#8203;1640](https://redirect.github.com/capricorn86/happy-dom/issues/1640)

### [`v16.2.1`](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.0...f7b6ac6bd6e3cfc843c9787ce935f348f0c40363)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.0...v16.2.1)

### [`v16.2.0`](https://redirect.github.com/capricorn86/happy-dom/compare/v16.1.0...5629a74693e19b6a7661a4242b139bf8524c6247)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.1.0...v16.2.0)

### [`v16.1.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.1.0)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.0.1...v16.1.0)

##### 🎨 Features

-   Add support for using whitespace-separated list to `getElementsByClassName()` - By **[@&#8203;kylehalleman](https://redirect.github.com/kylehalleman)** in task [#&#8203;1551](https://redirect.github.com/capricorn86/happy-dom/issues/1551)

</details>

<details>
<summary>i18next/react-i18next (react-i18next)</summary>

### [`v15.4.0`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1540)

[Compare Source](https://redirect.github.com/i18next/react-i18next/compare/v15.3.0...v15.4.0)

feat: add meta with codes on warnings to allow conditional logging [1826](https://redirect.github.com/i18next/react-i18next/pull/1826)

</details>

<details>
<summary>shikijs/shiki (shiki)</summary>

### [`v1.25.1`](https://redirect.github.com/shikijs/shiki/releases/tag/v1.25.1)

#####    🐞 Bug Fixes

-   Bundle externals  -  by [@&#8203;antfu](https://redirect.github.com/antfu) [<samp>(4e173)</samp>](https://redirect.github.com/shikijs/shiki/commit/4e173fe1)

#####     [View changes on GitHub](https://redirect.github.com/shikijs/shiki/compare/v1.25.0...v1.25.1)

### [`v1.25.0`](https://redirect.github.com/shikijs/shiki/releases/tag/v1.25.0)

[Compare Source](https://redirect.github.com/shikijs/shiki/compare/v1.24.4...v1.25.0)

#####    🚀 Features

-   Introduce `@shikijs/themes` and `@shikijs/langs` packages  -  by [@&#8203;antfu](https://redirect.github.com/antfu) in [https://github.com/shikijs/shiki/issues/879](https://redirect.github.com/shikijs/shiki/issues/879) [<samp>(32ce2)</samp>](https://redirect.github.com/shikijs/shiki/commit/32ce29fe)
-   Update grammars and `oniguruma-to-es`  -  by [@&#8203;antfu](https://redirect.github.com/antfu) [<samp>(3cdcb)</samp>](https://redirect.github.com/shikijs/shiki/commit/3cdcbac4)
-   **engine-js**: Update deps, support new languages  -  by [@&#8203;slevithan](https://redirect.github.com/slevithan) in [https://github.com/shikijs/shiki/issues/875](https://redirect.github.com/shikijs/shiki/issues/875) [<samp>(c3524)</samp>](https://redirect.github.com/shikijs/shiki/commit/c3524b2a)

#####     [View changes on GitHub](https://redirect.github.com/shikijs/shiki/compare/v1.24.4...v1.25.0)

</details>

<details>
<summary>typescript-eslint/typescript-eslint (typescript-eslint)</summary>

### [`v8.19.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8190-2024-12-30)

[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.18.2...v8.19.0)

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44NS4wIiwidXBkYXRlZEluVmVyIjoiMzkuODUuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2025-01-02 07:42:06 +00:00

294 lines
9.1 KiB
JavaScript

import { readFileSync } from 'node:fs';
import { createRequire } from 'node:module';
import eslint from '@eslint/js';
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';
const __require = createRequire(import.meta.url);
const rxjs = __require('@smarttools/eslint-plugin-rxjs');
const ignoreList = readFileSync('.prettierignore', 'utf-8')
.split('\n')
.filter(line => line.trim() && !line.startsWith('#'));
export default tseslint.config(
{
ignores: ignoreList,
},
{
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,
// covered by TypeScript
'no-dupe-args': 'off',
// 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',
'sonarjs/no-gratuitous-expressions': 'error',
'simple-import-sort/imports': 'error',
'simple-import-sort/exports': 'error',
},
},
{
files: [
'packages/**/*.{ts,tsx}',
'tools/**/*.{ts,tsx}',
'blocksuite/**/*.{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',
},
},
{
files: ['blocksuite/**/*.{ts,tsx}'],
rules: {
'rxjs/finnish': 'off',
},
},
{
files: [
'blocksuite/tests-legacy/**/*.{ts,tsx}',
'blocksuite/**/__tests__/**/*.{ts,tsx}',
],
rules: {
'import-x/no-extraneous-dependencies': 'off',
},
},
eslintConfigPrettier
);