UNPKG

@eggjs/oxlint-config

Version:
152 lines (145 loc) 4.75 kB
{ "$schema": "./node_modules/oxlint/configuration_schema.json", "env": { "node": true }, "categories": { "correctness": "error", "perf": "error", "nursery": "error", "restriction": "error", "style": "error", "pedantic": "error", "suspicious": "error" }, "plugins": [ "import", "typescript", "unicorn", "jsdoc", "node", "promise", "oxc" ], "rules": { // eslint "constructor-super": "error", "getter-return": "error", "no-undef": "error", "no-unreachable": "error", "no-var": "error", "no-eq-null": "error", "no-await-in-loop": "allow", "eqeqeq": ["error", "smart"], "init-declarations": "allow", "curly": "allow", "no-ternary": "allow", "max-params": ["error", 5], "no-await-expression-member": "error", "no-continue": "allow", "guard-for-in": "allow", "func-style": "allow", "sort-imports": "allow", "yoda": "allow", "sort-keys": "allow", "no-magic-numbers": "allow", "no-duplicate-imports": "error", "no-multi-assign": "error", "func-names": "error", "default-param-last": "error", "prefer-object-spread": "error", "no-undefined": "allow", "no-plusplus": "allow", // maybe warn "no-console": "allow", "no-extraneous-class": "allow", "no-empty-function": "error", "max-depth": ["error", 6], "max-lines-per-function": "allow", "no-lonely-if": "error", "max-lines": "allow", "require-await": "allow", "max-nested-callbacks": ["error", 5], "max-classes-per-file": "allow", "radix": "allow", "no-negated-condition": "error", "no-else-return": "error", "no-throw-literal": "error", "id-length": "allow", "arrow-body-style": "allow", "prefer-destructuring": "allow", // import "import/exports-last": "allow", "import/max-dependencies": "allow", "import/no-cycle": "error", "import/no-anonymous-default-export": "allow", "import/no-namespace": "error", "import/named": "error", "import/export": "error", "import/no-default-export": "allow", "import/unambiguous": "error", "import/group-exports": "allow", "import/extensions": "allow", "import/consistent-type-specifier-style": "allow", "import/prefer-default-export": "allow", // promise "promise/no-return-wrap": "error", "promise/param-names": "error", "promise/prefer-await-to-callbacks": "error", "promise/prefer-await-to-then": "error", "promise/prefer-catch": "error", "promise/no-return-in-finally": "error", "promise/avoid-new": "error", // unicorn "unicorn/error-message": "error", "unicorn/no-null": "allow", "unicorn/filename-case": "allow", "unicorn/prefer-structured-clone": "error", "unicorn/prefer-logical-operator-over-ternary": "error", "unicorn/prefer-number-properties": "error", "unicorn/prefer-array-some": "error", "unicorn/prefer-string-slice": "error", // "unicorn/no-null": "error", "unicorn/throw-new-error": "error", "unicorn/catch-error-name": "allow", "unicorn/prefer-spread": "allow", "unicorn/numeric-separators-style": "error", "unicorn/prefer-string-raw": "error", "unicorn/text-encoding-identifier-case": "error", "unicorn/no-array-for-each": "error", "unicorn/explicit-length-check": "error", "unicorn/no-lonely-if": "error", "unicorn/no-useless-undefined": "allow", "unicorn/prefer-date-now": "error", "unicorn/no-static-only-class": "allow", "unicorn/no-typeof-undefined": "error", "unicorn/prefer-negative-index": "error", "unicorn/no-anonymous-default-export": "allow", // oxc "oxc/no-map-spread": "error", "oxc/no-rest-spread-properties": "allow", "oxc/no-optional-chaining": "allow", "oxc/no-async-await": "allow", "oxc/no-barrel-file": "allow", // typescript "typescript/explicit-function-return-type": "allow", "typescript/consistent-type-imports": "error", "typescript/consistent-type-definitions": "error", "typescript/consistent-indexed-object-style": "allow", "typescript/no-inferrable-types": "error", "typescript/array-type": "error", "typescript/no-non-null-assertion": "error", "typescript/no-explicit-any": "error", "typescript/no-import-type-side-effects": "error", "typescript/no-dynamic-delete": "error", "typescript/prefer-ts-expect-error": "error", "typescript/ban-ts-comment": "error", "typescript/prefer-enum-initializers": "error", "typescript/explicit-module-boundary-types": "allow", // jsdoc "jsdoc/require-returns": "allow", "jsdoc/require-param": "allow" }, "ignorePatterns": [ ] }