diff --git a/package.json b/package.json index 2f73cd5..7bb8385 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "husky": "^9.0.11", "lint-staged": "^15.2.5", "memfs": "^4.9.2", - "oxlint": "^0.4.0", + "oxlint": "^0.5.0", "prettier": "^3.3.1", "shelljs": "^0.8.5", "tsx": "^4.15.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 28716f4..ecdb818 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -58,8 +58,8 @@ importers: specifier: ^4.9.2 version: 4.9.3 oxlint: - specifier: ^0.4.0 - version: 0.4.2 + specifier: ^0.5.0 + version: 0.5.0 prettier: specifier: ^3.3.1 version: 3.3.2 @@ -362,43 +362,43 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxlint/darwin-arm64@0.4.2': - resolution: {integrity: sha512-CFXWZimr7fwBR6JxjiFI/4zkCT6qSjIbdQNWz9mhyZFDSAdchiqLtUNNfAWtAs9GfHNT+tBbasnn+LquSVU2/Q==} + '@oxlint/darwin-arm64@0.5.0': + resolution: {integrity: sha512-1WS+jX0cw6Xq7BM5NkBm0hIVf1CVwaHYFyfpVwDS84kcryGPrfEGepW+J2nquQK3iu8squCA5mBMIKWrdpzCGg==} cpu: [arm64] os: [darwin] - '@oxlint/darwin-x64@0.4.2': - resolution: {integrity: sha512-e4Niy4gMfIAy1vj21Bo365tjyfreeqP/1VdgauVPNnSLGM5w/TTh5VUQ8DYAp0iYhVGqBdKk7CnBr6tadup+vQ==} + '@oxlint/darwin-x64@0.5.0': + resolution: {integrity: sha512-EC3rLi0PmO7ts2EUmn+pVlTz4szFT/FOqqkeX1gcHPFfh7I+mE7DMBTnmDSZvU0SVSrMvIW2u/tVvZ7mie+UTA==} cpu: [x64] os: [darwin] - '@oxlint/linux-arm64-gnu@0.4.2': - resolution: {integrity: sha512-V84gsMy1QQkgWXD70sEm97UMjwIzzrLd+se5vIHbmcWRt5MIS1VT5D1lQCjl2ADQnIBxuqv66j/zgwVkewRkRQ==} + '@oxlint/linux-arm64-gnu@0.5.0': + resolution: {integrity: sha512-yosA5HkNs9LjaO2NR4nhr7Jjfdsci2ctDBrjvPNez0G4NGgIMSyIhWnLn9xzv6aws1hMUaO5qd+POxWJ1SB0+A==} cpu: [arm64] os: [linux] - '@oxlint/linux-arm64-musl@0.4.2': - resolution: {integrity: sha512-ktzyvyOVO5lPVn0YPn4G8cBuIVcHdGwnBfUQOW/ZV39TrQvW+g4QMAYfxjjl8qYDb1oBAMG8UXYbk4NSmEr+hA==} + '@oxlint/linux-arm64-musl@0.5.0': + resolution: {integrity: sha512-B9u5Hz8a6NmCspJFkAfMSEhddZXa7QUn8JbHGB62aReY/kl+DAyRTZ4gbPQzfPmTd7zbr1vvqiU24dzAMxS9jw==} cpu: [arm64] os: [linux] - '@oxlint/linux-x64-gnu@0.4.2': - resolution: {integrity: sha512-ee2FukXvFfQkveSPSBR7ePX3KKI+sS360EtDlTCwCFyRq9e/YsamwGC69V7S/hBV62tBOL+++qgqv4Q8mF7h/A==} + '@oxlint/linux-x64-gnu@0.5.0': + resolution: {integrity: sha512-9X4d2GARKK7WnHcMSdKeXLsnrNwRK9T9/C2YSxVfYEgBUqXza8L9ACbGH1v2BUm1ScHzKOakpRQ3XKD2Xe/G1w==} cpu: [x64] os: [linux] - '@oxlint/linux-x64-musl@0.4.2': - resolution: {integrity: sha512-Zldot210KZGULkEx2JXDA31yZiQTHEghl7ragYw4IdSB2VOBObabfBCh0Y4lBt+lqPKdDJbMxAiKGNYld1abdQ==} + '@oxlint/linux-x64-musl@0.5.0': + resolution: {integrity: sha512-fv3GE5PXtvrl1q9ZrF55ImoRgehPuD56c8FqGGd88Aj4Uo1pDHYpNtmlm6RHdicAkwIytrpzc3o/uuxYb89/Zw==} cpu: [x64] os: [linux] - '@oxlint/win32-arm64@0.4.2': - resolution: {integrity: sha512-aQ1575I9QdCb3IgzoBhLH8h0ySFup9IJXHd/VmnzEzLYhiq/N78NL6WeN/rBhd/Xp/b7YC8wSU4x67C3a+GHrQ==} + '@oxlint/win32-arm64@0.5.0': + resolution: {integrity: sha512-wd5HqczvEFqs8YeIkeGC6vDD7LodNPjMcJrnD3zxXHkHFrn/vPPk8jLLLq6YyfmudPwOV+Rfjq7TvvWqOfloaQ==} cpu: [arm64] os: [win32] - '@oxlint/win32-x64@0.4.2': - resolution: {integrity: sha512-z47AU5Czu+IZFLz8gMQhieFPI68iiVngPCHhOSpuX2HNkXALW5Wg4U+LwBr8Pn4vIdL6ANnOaOf7LH9bJrF/dA==} + '@oxlint/win32-x64@0.5.0': + resolution: {integrity: sha512-upNYLh71F9pAh3m79a1K6Tm4IHYbDdkmRBdwUc3Kdz3jXw0vDBH2KsfUP6YitJKvTn6gzryzf7O7LNRh3rp75Q==} cpu: [x64] os: [win32] @@ -1455,8 +1455,8 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - oxlint@0.4.2: - resolution: {integrity: sha512-q8vrd3OVi5+66+XX3Yy/d9Xo1SVhUXrrZKiSuy2q5NM9h2rmnIdm6uNtsETwoarJHtU9Lep5F2fYtRF1jzcPgQ==} + oxlint@0.5.0: + resolution: {integrity: sha512-eb8ba12zrwnQatTvM1OzO4dWrjeDvsTlFPwLlfBEA5wOOdB+0pnY02FOe6uO3MMmzJLvHfyQlDNTp2Iq4yr1Hw==} engines: {node: '>=14.*'} hasBin: true @@ -2250,28 +2250,28 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@oxlint/darwin-arm64@0.4.2': + '@oxlint/darwin-arm64@0.5.0': optional: true - '@oxlint/darwin-x64@0.4.2': + '@oxlint/darwin-x64@0.5.0': optional: true - '@oxlint/linux-arm64-gnu@0.4.2': + '@oxlint/linux-arm64-gnu@0.5.0': optional: true - '@oxlint/linux-arm64-musl@0.4.2': + '@oxlint/linux-arm64-musl@0.5.0': optional: true - '@oxlint/linux-x64-gnu@0.4.2': + '@oxlint/linux-x64-gnu@0.5.0': optional: true - '@oxlint/linux-x64-musl@0.4.2': + '@oxlint/linux-x64-musl@0.5.0': optional: true - '@oxlint/win32-arm64@0.4.2': + '@oxlint/win32-arm64@0.5.0': optional: true - '@oxlint/win32-x64@0.4.2': + '@oxlint/win32-x64@0.5.0': optional: true '@rollup/pluginutils@5.1.0(rollup@4.18.0)': @@ -3410,16 +3410,16 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - oxlint@0.4.2: + oxlint@0.5.0: optionalDependencies: - '@oxlint/darwin-arm64': 0.4.2 - '@oxlint/darwin-x64': 0.4.2 - '@oxlint/linux-arm64-gnu': 0.4.2 - '@oxlint/linux-arm64-musl': 0.4.2 - '@oxlint/linux-x64-gnu': 0.4.2 - '@oxlint/linux-x64-musl': 0.4.2 - '@oxlint/win32-arm64': 0.4.2 - '@oxlint/win32-x64': 0.4.2 + '@oxlint/darwin-arm64': 0.5.0 + '@oxlint/darwin-x64': 0.5.0 + '@oxlint/linux-arm64-gnu': 0.5.0 + '@oxlint/linux-arm64-musl': 0.5.0 + '@oxlint/linux-x64-gnu': 0.5.0 + '@oxlint/linux-x64-musl': 0.5.0 + '@oxlint/win32-arm64': 0.5.0 + '@oxlint/win32-x64': 0.5.0 p-limit@2.3.0: dependencies: diff --git a/src/rules-by-category.ts b/src/rules-by-category.ts index 4abc135..02b25e7 100644 --- a/src/rules-by-category.ts +++ b/src/rules-by-category.ts @@ -7,12 +7,24 @@ const pedanticRules = { 'max-lines': 'off', 'no-array-constructor': 'off', 'no-case-declarations': 'off', + 'no-constructor-return': 'off', + 'no-fallthrough': 'off', 'no-inner-declarations': 'off', 'no-new-wrappers': 'off', 'no-prototype-builtins': 'off', 'no-redeclare': 'off', 'no-self-compare': 'off', radix: 'off', + 'require-await': 'off', + 'symbol-description': 'off', + 'import/max-dependencies': 'off', + 'jsdoc/require-param': 'off', + 'jsdoc/require-param-description': 'off', + 'jsdoc/require-param-name': 'off', + 'jsdoc/require-param-type': 'off', + 'jsdoc/require-returns': 'off', + 'jsdoc/require-returns-description': 'off', + 'jsdoc/require-returns-type': 'off', 'react/checked-requires-onchange-or-readonly': 'off', 'react/jsx-no-useless-fragment': 'off', 'react/no-unescaped-entities': 'off', @@ -59,16 +71,61 @@ const pedanticRules = { const nurseryRules = { 'constructor-super': 'off', 'getter-return': 'off', - 'no-fallthrough': 'off', - 'no-import-assign': 'off', 'no-undef': 'off', + 'no-unreachable': 'off', + 'no-useless-constructor': 'off', 'import/export': 'off', 'import/no-deprecated': 'off', 'import/no-unused-modules': 'off', + 'react/require-render-return': 'off', 'react/rules-of-hooks': 'off', 'tree-shaking/no-side-effects-in-initialization': 'off', }; +const restrictionRules = { + 'default-case': 'off', + 'no-bitwise': 'off', + 'no-console': 'off', + 'no-div-regex': 'off', + 'no-empty': 'off', + 'no-empty-function': 'off', + 'no-eq-null': 'off', + 'no-eval': 'off', + 'no-iterator': 'off', + 'no-proto': 'off', + 'no-regex-spaces': 'off', + 'no-restricted-globals': 'off', + 'no-unsafe-optional-chaining': 'off', + 'no-var': 'off', + 'no-void': 'off', + 'unicode-bom': 'off', + 'import/no-amd': 'off', + 'import/no-cycle': 'off', + 'import/no-default-export': 'off', + 'jsdoc/check-access': 'off', + 'jsdoc/empty-tags': 'off', + 'react/button-has-type': 'off', + 'react/no-danger': 'off', + 'react/no-unknown-property': 'off', + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-import-type-side-effects': 'off', + '@typescript-eslint/no-non-null-asserted-nullish-coalescing': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/prefer-literal-enum-member': 'off', + 'unicorn/no-abusive-eslint-disable': 'off', + 'unicorn/no-anonymous-default-export': 'off', + 'unicorn/no-array-for-each': 'off', + 'unicorn/no-array-reduce': 'off', + 'unicorn/no-magic-array-flat-depth': 'off', + 'unicorn/no-nested-ternary': 'off', + 'unicorn/no-process-exit': 'off', + 'unicorn/prefer-modern-math-apis': 'off', + 'unicorn/prefer-node-protocol': 'off', + 'unicorn/prefer-number-properties': 'off', +}; + const styleRules = { 'default-case-last': 'off', 'default-param-last': 'off', @@ -78,15 +135,20 @@ const styleRules = { 'no-script-url': 'off', 'no-template-curly-in-string': 'off', 'no-ternary': 'off', + 'prefer-exponentiation-operator': 'off', + 'sort-imports': 'off', 'jest/max-expects': 'off', + 'jest/max-nested-describe': 'off', 'jest/no-alias-methods': 'off', 'jest/no-confusing-set-timeout': 'off', 'jest/no-deprecated-functions': 'off', 'jest/no-done-callback': 'off', + 'jest/no-duplicate-hooks': 'off', 'jest/no-hooks': 'off', 'jest/no-identical-title': 'off', 'jest/no-interpolation-in-snapshots': 'off', 'jest/no-jasmine-globals': 'off', + 'jest/no-large-snapshots': 'off', 'jest/no-mocks-import': 'off', 'jest/no-restricted-jest-methods': 'off', 'jest/no-restricted-matchers': 'off', @@ -97,6 +159,8 @@ const styleRules = { 'jest/prefer-comparison-matcher': 'off', 'jest/prefer-equality-matcher': 'off', 'jest/prefer-expect-resolves': 'off', + 'jest/prefer-hooks-on-top': 'off', + 'jest/prefer-jest-mocked': 'off', 'jest/prefer-lowercase-title': 'off', 'jest/prefer-mock-promise-shorthand': 'off', 'jest/prefer-spy-on': 'off', @@ -106,9 +170,12 @@ const styleRules = { 'jest/prefer-to-have-length': 'off', 'jest/prefer-todo': 'off', 'jest/require-hook': 'off', + 'jest/require-top-level-describe': 'off', + 'react/prefer-es6-class': 'off', '@typescript-eslint/adjacent-overload-signatures': 'off', '@typescript-eslint/array-type': 'off', '@typescript-eslint/ban-tslint-comment': 'off', + '@typescript-eslint/consistent-indexed-object-style': 'off', '@typescript-eslint/consistent-type-definitions': 'off', '@typescript-eslint/no-empty-interface': 'off', '@typescript-eslint/prefer-for-of': 'off', @@ -163,6 +230,7 @@ const correctnessRules = { 'no-extra-boolean-cast': 'off', 'no-func-assign': 'off', 'no-global-assign': 'off', + 'no-import-assign': 'off', 'no-irregular-whitespace': 'off', 'no-loss-of-precision': 'off', 'no-new-native-nonconstructor': 'off', @@ -262,7 +330,6 @@ const correctnessRules = { 'react/no-is-mounted': 'off', 'react/no-render-return-value': 'off', 'react/no-string-refs': 'off', - 'react/require-render-return': 'off', 'react/void-dom-elements-no-children': 'off', '@typescript-eslint/no-extra-non-null-assertion': 'off', '@typescript-eslint/no-misused-new': 'off', @@ -270,6 +337,7 @@ const correctnessRules = { '@typescript-eslint/no-non-null-asserted-optional-chain': 'off', '@typescript-eslint/no-this-alias': 'off', '@typescript-eslint/no-unsafe-declaration-merging': 'off', + '@typescript-eslint/no-useless-empty-export': 'off', '@typescript-eslint/prefer-as-const': 'off', '@typescript-eslint/triple-slash-reference': 'off', 'unicorn/no-await-in-promise-methods': 'off', @@ -295,43 +363,9 @@ const perfRules = { 'react-perf/jsx-no-new-object-as-prop': 'off', }; -const restrictionRules = { - 'no-bitwise': 'off', - 'no-console': 'off', - 'no-empty': 'off', - 'no-empty-function': 'off', - 'no-eq-null': 'off', - 'no-eval': 'off', - 'no-iterator': 'off', - 'no-proto': 'off', - 'no-regex-spaces': 'off', - 'no-unsafe-optional-chaining': 'off', - 'no-var': 'off', - 'no-void': 'off', - 'unicode-bom': 'off', - 'import/no-amd': 'off', - 'import/no-cycle': 'off', - 'import/no-default-export': 'off', - 'jsdoc/check-access': 'off', - 'jsdoc/empty-tags': 'off', - 'react/button-has-type': 'off', - 'react/no-danger': 'off', - 'react/no-unknown-property': 'off', - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/no-var-requires': 'off', - '@typescript-eslint/prefer-literal-enum-member': 'off', - 'unicorn/no-abusive-eslint-disable': 'off', - 'unicorn/no-anonymous-default-export': 'off', - 'unicorn/no-array-for-each': 'off', - 'unicorn/no-array-reduce': 'off', - 'unicorn/no-nested-ternary': 'off', - 'unicorn/no-process-exit': 'off', - 'unicorn/prefer-modern-math-apis': 'off', - 'unicorn/prefer-node-protocol': 'off', - 'unicorn/prefer-number-properties': 'off', -}; - const suspiciousRules = { + 'no-new': 'off', + 'no-useless-concat': 'off', 'import/no-duplicates': 'off', 'import/no-named-as-default': 'off', 'import/no-named-as-default-member': 'off', @@ -346,9 +380,9 @@ const suspiciousRules = { export { pedanticRules, nurseryRules, + restrictionRules, styleRules, correctnessRules, perfRules, - restrictionRules, suspiciousRules, }; diff --git a/src/rules-by-scope.ts b/src/rules-by-scope.ts index c1cf914..42c7c7e 100644 --- a/src/rules-by-scope.ts +++ b/src/rules-by-scope.ts @@ -3,6 +3,7 @@ const eslintRules = { 'array-callback-return': 'off', 'constructor-super': 'off', + 'default-case': 'off', 'default-case-last': 'off', 'default-param-last': 'off', eqeqeq: 'off', @@ -25,10 +26,12 @@ const eslintRules = { 'no-const-assign': 'off', 'no-constant-binary-expression': 'off', 'no-constant-condition': 'off', + 'no-constructor-return': 'off', 'no-continue': 'off', 'no-control-regex': 'off', 'no-debugger': 'off', 'no-delete-var': 'off', + 'no-div-regex': 'off', 'no-dupe-class-members': 'off', 'no-dupe-else-if': 'off', 'no-dupe-keys': 'off', @@ -50,6 +53,7 @@ const eslintRules = { 'no-irregular-whitespace': 'off', 'no-iterator': 'off', 'no-loss-of-precision': 'off', + 'no-new': 'off', 'no-new-native-nonconstructor': 'off', 'no-new-wrappers': 'off', 'no-nonoctal-decimal-escape': 'off', @@ -58,6 +62,7 @@ const eslintRules = { 'no-prototype-builtins': 'off', 'no-redeclare': 'off', 'no-regex-spaces': 'off', + 'no-restricted-globals': 'off', 'no-script-url': 'off', 'no-self-assign': 'off', 'no-self-compare': 'off', @@ -68,19 +73,26 @@ const eslintRules = { 'no-ternary': 'off', 'no-this-before-super': 'off', 'no-undef': 'off', + 'no-unreachable': 'off', 'no-unsafe-finally': 'off', 'no-unsafe-negation': 'off', 'no-unsafe-optional-chaining': 'off', 'no-unused-labels': 'off', 'no-unused-private-class-members': 'off', 'no-useless-catch': 'off', + 'no-useless-concat': 'off', + 'no-useless-constructor': 'off', 'no-useless-escape': 'off', 'no-useless-rename': 'off', 'no-var': 'off', 'no-void': 'off', 'no-with': 'off', + 'prefer-exponentiation-operator': 'off', radix: 'off', + 'require-await': 'off', 'require-yield': 'off', + 'sort-imports': 'off', + 'symbol-description': 'off', 'unicode-bom': 'off', 'use-isnan': 'off', 'valid-typeof': 'off', @@ -89,6 +101,7 @@ const eslintRules = { const importRules = { 'import/default': 'off', 'import/export': 'off', + 'import/max-dependencies': 'off', 'import/named': 'off', 'import/namespace': 'off', 'import/no-amd': 'off', @@ -105,6 +118,7 @@ const importRules = { const jestRules = { 'jest/expect-expect': 'off', 'jest/max-expects': 'off', + 'jest/max-nested-describe': 'off', 'jest/no-alias-methods': 'off', 'jest/no-commented-out-tests': 'off', 'jest/no-conditional-expect': 'off', @@ -112,12 +126,14 @@ const jestRules = { 'jest/no-deprecated-functions': 'off', 'jest/no-disabled-tests': 'off', 'jest/no-done-callback': 'off', + 'jest/no-duplicate-hooks': 'off', 'jest/no-export': 'off', 'jest/no-focused-tests': 'off', 'jest/no-hooks': 'off', 'jest/no-identical-title': 'off', 'jest/no-interpolation-in-snapshots': 'off', 'jest/no-jasmine-globals': 'off', + 'jest/no-large-snapshots': 'off', 'jest/no-mocks-import': 'off', 'jest/no-restricted-jest-methods': 'off', 'jest/no-restricted-matchers': 'off', @@ -129,6 +145,8 @@ const jestRules = { 'jest/prefer-comparison-matcher': 'off', 'jest/prefer-equality-matcher': 'off', 'jest/prefer-expect-resolves': 'off', + 'jest/prefer-hooks-on-top': 'off', + 'jest/prefer-jest-mocked': 'off', 'jest/prefer-lowercase-title': 'off', 'jest/prefer-mock-promise-shorthand': 'off', 'jest/prefer-spy-on': 'off', @@ -139,6 +157,7 @@ const jestRules = { 'jest/prefer-todo': 'off', 'jest/require-hook': 'off', 'jest/require-to-throw-message': 'off', + 'jest/require-top-level-describe': 'off', 'jest/valid-describe-callback': 'off', 'jest/valid-expect': 'off', 'jest/valid-title': 'off', @@ -151,10 +170,17 @@ const jsdocRules = { 'jsdoc/empty-tags': 'off', 'jsdoc/implements-on-classes': 'off', 'jsdoc/no-defaults': 'off', + 'jsdoc/require-param': 'off', + 'jsdoc/require-param-description': 'off', + 'jsdoc/require-param-name': 'off', + 'jsdoc/require-param-type': 'off', 'jsdoc/require-property': 'off', 'jsdoc/require-property-description': 'off', 'jsdoc/require-property-name': 'off', 'jsdoc/require-property-type': 'off', + 'jsdoc/require-returns': 'off', + 'jsdoc/require-returns-description': 'off', + 'jsdoc/require-returns-type': 'off', 'jsdoc/require-yields': 'off', }; @@ -228,6 +254,7 @@ const reactRules = { 'react/no-string-refs': 'off', 'react/no-unescaped-entities': 'off', 'react/no-unknown-property': 'off', + 'react/prefer-es6-class': 'off', 'react/react-in-jsx-scope': 'off', 'react/require-render-return': 'off', 'react/rules-of-hooks': 'off', @@ -251,17 +278,23 @@ const typescriptRules = { '@typescript-eslint/ban-ts-comment': 'off', '@typescript-eslint/ban-tslint-comment': 'off', '@typescript-eslint/ban-types': 'off', + '@typescript-eslint/consistent-indexed-object-style': 'off', '@typescript-eslint/consistent-type-definitions': 'off', + '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/no-duplicate-enum-values': 'off', '@typescript-eslint/no-empty-interface': 'off', '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-extra-non-null-assertion': 'off', + '@typescript-eslint/no-import-type-side-effects': 'off', '@typescript-eslint/no-misused-new': 'off', '@typescript-eslint/no-namespace': 'off', + '@typescript-eslint/no-non-null-asserted-nullish-coalescing': 'off', '@typescript-eslint/no-non-null-asserted-optional-chain': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', '@typescript-eslint/no-this-alias': 'off', '@typescript-eslint/no-unnecessary-type-constraint': 'off', '@typescript-eslint/no-unsafe-declaration-merging': 'off', + '@typescript-eslint/no-useless-empty-export': 'off', '@typescript-eslint/no-var-requires': 'off', '@typescript-eslint/prefer-as-const': 'off', '@typescript-eslint/prefer-enum-initializers': 'off', @@ -293,6 +326,7 @@ const unicornRules = { 'unicorn/no-instanceof-array': 'off', 'unicorn/no-invalid-remove-event-listener': 'off', 'unicorn/no-lonely-if': 'off', + 'unicorn/no-magic-array-flat-depth': 'off', 'unicorn/no-negated-condition': 'off', 'unicorn/no-nested-ternary': 'off', 'unicorn/no-new-array': 'off',