-
-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy path.oxlintrc.json
More file actions
77 lines (77 loc) · 3.14 KB
/
.oxlintrc.json
File metadata and controls
77 lines (77 loc) · 3.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
{
"ignorePatterns": ["dist", "test", "**/*.test.ts"],
"env": {
"shared-node-browser": true
},
"plugins": ["typescript", "unicorn", "oxc", "import", "jsdoc", "promise", "node", "vitest"],
"categories": {
"correctness": "error",
"suspicious": "error",
"pedantic": "error",
"perf": "error",
"style": "error",
"restriction": "error",
"nursery": "error"
},
"rules": {
// From "correctness"
"typescript/no-this-alias": ["error", { "allowDestructuring": true }],
// From "suspicious"
"jsdoc/require-returns": "off",
"jsdoc/require-param": "off",
// From "pedantic"
"eslint/max-lines": "off",
"eslint/max-lines-per-function": "off",
"eslint/max-depth": "off",
"eslint/max-nested-callbacks": "off",
"eslint/sort-vars": "off",
"import/max-dependencies": "off",
"unicorn/explicit-length-check": "off",
"unicorn/no-useless-undefined": "off",
"jsdoc/require-returns-type": "off",
"jsdoc/require-param-type": "off",
// From "style"
"eslint/new-cap": ["error", { "capIsNewExceptionPattern": "^YYYY\\w*|Intl" }],
"eslint/prefer-destructuring": [
"error",
{ "object": true, "array": false, "VariableDeclarator": { "object": true, "array": true } }
],
"unicorn/filename-case": ["error", { "cases": { "camelCase": true, "pascalCase": true } }],
"unicorn/no-null": "warn",
"eslint/func-style": ["error", "declaration"],
"eslint/no-magic-numbers": "off",
"eslint/yoda": "error",
"eslint/sort-imports": "off",
"eslint/curly": "off",
"eslint/no-ternary": "off",
"eslint/sort-keys": "off",
"eslint/vars-on-top": "off",
"eslint/no-continue": "off",
"eslint/no-nested-ternary": "off",
"unicorn/no-nested-ternary": "off",
"eslint/id-length": "off",
"typescript/consistent-indexed-object-style": ["error", "index-signature"],
"typescript/consistent-type-definitions": ["error", "type"],
"promise/avoid-new": "off",
"import/prefer-default-export": "off",
"import/group-exports": "off",
"import/exports-last": "off",
"import/consistent-type-specifier-style": ["error", "prefer-top-level"],
"eslint/no-duplicate-imports": "off", // taken care of by prettier-plugin-organize-imports and would conflict with: "import/consistent-type-specifier-style": ["error", "prefer-top-level"],
"import/no-duplicates": "off", // taken care of by prettier-plugin-organize-imports and would conflict with: "import/consistent-type-specifier-style": ["error", "prefer-top-level"],
// From "restriction"
"import/no-default-export": "error",
"import/no-named-export": "off",
"import/extensions": ["error", "always"],
"typescript/no-import-type-side-effects": "error",
"typescript/explicit-module-boundary-types": "off",
"typescript/explicit-function-return-type": ["error", { "allowExpressions": true }],
"eslint/no-undefined": "off",
"oxc/no-rest-spread-properties": "off",
"unicorn/no-array-reduce": "off",
"oxc/no-async-await": "off",
"oxc/no-optional-chaining": "off",
"eslint/no-empty-function": "off",
"eslint/no-void": "off" // want to allow: void somethingAsync()
}
}