-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathoxlint.config.ts
More file actions
127 lines (125 loc) · 3.32 KB
/
Copy pathoxlint.config.ts
File metadata and controls
127 lines (125 loc) · 3.32 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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import { defineConfig } from "oxlint";
import core from "ultracite/oxlint/core";
const relativeParentImportPackages = [
"packages/backend/**/*.{js,jsx,ts,tsx}",
"packages/cli/**/*.{js,jsx,ts,tsx}",
"packages/internals/persistence/**/*.{js,jsx,ts,tsx}",
"packages/internals/policy-engine/**/*.{js,jsx,ts,tsx}",
"packages/internals/policy-packs/**/*.{js,jsx,ts,tsx}",
"packages/node-sdk/**/*.{js,jsx,ts,tsx}",
"packages/storage-filesystem/**/*.{js,jsx,ts,tsx}",
"packages/storage-s3/**/*.{js,jsx,ts,tsx}",
"packages/storage-vercel-blob/**/*.{js,jsx,ts,tsx}",
];
export default defineConfig({
extends: [core],
ignorePatterns: core.ignorePatterns,
overrides: [
{
files: [
"**/*.{test,spec}.{ts,tsx,js,jsx}",
"**/__tests__/**/*.{ts,tsx,js,jsx}",
],
rules: {
"jest/no-standalone-expect": "off",
"jest/require-hook": "off",
"jest/valid-title": "off",
"vitest/no-importing-vitest-globals": "off",
},
},
{
files: relativeParentImportPackages,
rules: {
"import/no-relative-parent-imports": "off",
},
},
{
files: [
"packages/backend/**/*.{js,jsx,ts,tsx}",
"packages/internals/persistence/**/*.{js,jsx,ts,tsx}",
"packages/internals/policy-engine/**/*.{js,jsx,ts,tsx}",
"packages/internals/policy-packs/**/*.{js,jsx,ts,tsx}",
],
rules: {
"max-classes-per-file": "off",
"max-statements": "off",
"oxc/no-barrel-file": "off",
},
},
{
files: [
"packages/backend/**/*.{js,jsx,ts,tsx}",
"packages/internals/persistence/**/*.{js,jsx,ts,tsx}",
],
rules: {
"jest/valid-title": "off",
"unicorn/no-array-method-this-argument": "off",
},
},
{
files: [
"packages/dsar/**/*.{js,jsx,ts,tsx}",
"packages/internals/schema/**/*.{js,jsx,ts,tsx}",
],
rules: {
"oxc/no-barrel-file": "off",
},
},
{
files: ["packages/backend/**/*.{js,jsx,ts,tsx}"],
rules: {
"unicorn/prefer-response-static-json": "off",
},
},
{
files: ["packages/internals/policy-engine/**/*.{js,jsx,ts,tsx}"],
rules: {
"import/no-nodejs-modules": "off",
"jest/prefer-each": "off",
"unicorn/no-array-reverse": "off",
"unicorn/no-array-sort": "off",
},
},
{
files: ["packages/internals/policy-packs/**/*.{js,jsx,ts,tsx}"],
rules: {
"no-shadow": "off",
"unicorn/no-array-method-this-argument": "off",
},
},
],
rules: {
"import/no-nodejs-modules": "off",
"jsdoc/check-tag-names": "off",
"jsdoc/require-param-type": "off",
"jsdoc/require-returns-type": "off",
"jsdoc/require-throws-type": "off",
"no-await-in-loop": "off",
"no-restricted-imports": [
"error",
{
paths: [
{
allowTypeImports: true,
message:
"Import from specific modules instead (e.g. effect/Effect, effect/Stream).",
name: "effect",
},
],
},
],
"prefer-named-capture-group": "off",
"promise/prefer-await-to-callbacks": "off",
"promise/prefer-await-to-then": "off",
"require-unicode-regexp": "off",
"unicorn/consistent-function-scoping": "off",
"unicorn/custom-error-definition": "off",
"unicorn/import-style": "off",
"unicorn/no-array-for-each": "off",
"unicorn/prefer-export-from": "off",
"unicorn/prefer-number-coercion": "off",
"unicorn/prefer-single-call": "off",
"unicorn/text-encoding-identifier-case": "off",
"vitest/no-importing-vitest-globals": "off",
},
});