import { defineConfig } from "oxlint" export default defineConfig({ plugins: ["typescript", "unicorn", "oxc"], ignorePatterns: ["**/*.gen.ts", "node_modules/**/*"], categories: { correctness: "error", suspicious: "warn", perf: "warn", style: "warn", restriction: "error", }, rules: { "capitalized-comments": "off", "default-case": "off", "filename-case": "off", "func-style": ["error", "declaration", { allowArrowFunctions: true }], "id-length": "off", "init-declarations": "off", "max-params": "off", "max-statements": "off", "new-cap": "off", "no-array-for-each": "off", "no-async-await": "off", "no-await-expression-member": "off", "no-await-in-loop": "off", "no-bitwise": "off", "no-console": "off", "no-continue": "off", "no-dynamic-delete": "off", "no-empty-file": "off", "no-empty-function": "off", "no-eq-null": "warn", "no-implicit-coercion": "off", "no-magic-numbers": "off", "no-multi-assign": "off", "no-nested-ternary": "off", "unicorn/no-nested-ternary": "off", "no-null": "off", "no-optional-chaining": "off", "no-plusplus": "off", "no-rest-spread-properties": "off", "no-shadow-restricted-names": "off", "no-shadow": "off", "no-ternary": "off", "no-undefined": "off", "no-underscore-dangle": "off", "no-use-before-define": "off", "unicorn/numeric-separators-style": "off", "prefer-destructuring": "off", "prefer-for-of": "off", "prefer-template": "off", "prefer-ternary": "off", "require-module-specifiers": "off", "sort-imports": "off", "sort-keys": "off", "switch-case-braces": "off", "typescript/consistent-indexed-object-style": "off", "typescript/consistent-type-definitions": ["error", "type"], "typescript/explicit-function-return-type": "off", "typescript/explicit-member-accessibility": "off", "typescript/explicit-module-boundary-types": "off", "typescript/no-empty-interface": "off", "typescript/no-empty-object-type": "off", "typescript/no-namespace": "off", "typescript/no-non-null-assertion": "off", "typescript/prefer-function-type": "off", "unicorn/no-process-exit": "off", "unicorn/text-encoding-identifier-case": "off", }, overrides: [ { files: ["*.test.ts"], rules: { "typescript/no-explicit-any": "off", "typescript/no-require-imports": "off", "typescript/no-var-requires": "off", "unicorn/prefer-module": "off", "unicorn/consistent-function-scoping": "off", "func-names": "off", }, }, { files: ["*.d.ts"], rules: { "typescript/no-explicit-any": "off", "unicorn/consistent-function-scoping": "off", "typescript/consistent-type-definitions": "off", }, }, ], })