-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
/
biome.json
183 lines (183 loc) · 4.7 KB
/
biome.json
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
{
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
"vcs": {
"enabled": true,
"clientKind": "git",
"useIgnoreFile": true,
"defaultBranch": "master"
},
"organizeImports": {
"enabled": false
},
"linter": {
"enabled": true,
"rules": {
"recommended": false,
"a11y": {
"noBlankTarget": "error"
},
"correctness": {
"noGlobalObjectCalls": "error",
"noUnreachable": "error",
"useHookAtTopLevel": "error",
"useIsNan": "error",
"noUnusedPrivateClassMembers": "error",
"noInvalidUseBeforeDeclaration": "error"
},
"complexity": {
"useFlatMap": "error",
"useOptionalChain": "error",
"noEmptyTypeParameters": "error",
"noUselessLoneBlockStatements": "error",
"noUselessEmptyExport": "error",
"noUselessConstructor": "error",
"noUselessTypeConstraint": "error",
"noExcessiveNestedTestSuites": "error"
},
"nursery": {
"noDuplicateJsonKeys": "error",
"noNodejsModules": "error"
},
"performance": {
"noBarrelFile": "error"
},
"security": {
"noDangerouslySetInnerHtmlWithChildren": "error"
},
"suspicious": {
"noDebugger": "error",
"noDoubleEquals": "error",
"noDuplicateJsxProps": "error",
"noDuplicateObjectKeys": "error",
"noDuplicateParameters": "error",
"noDuplicateCase": "error",
"noFallthroughSwitchClause": "error",
"noRedeclare": "error",
"noSparseArray": "error",
"noUnsafeDeclarationMerging": "error",
"noUnsafeNegation": "error",
"useIsArray": "error",
"noApproximativeNumericConstant": "error",
"noMisrefactoredShorthandAssign": "error",
"useAwait": "error",
"useNamespaceKeyword": "error",
"noSkippedTests": "error",
"noFocusedTests": "error",
"noDuplicateTestHooks": "error"
},
"style": {
"noCommaOperator": "error",
"noShoutyConstants": "error",
"noParameterProperties": "error",
"noVar": "error",
"useConst": "error",
"useShorthandFunctionType": "error",
"useExportType": "error",
"useImportType": "error",
"useNodejsImportProtocol": "error",
"useLiteralEnumMembers": "error",
"useEnumInitializers": "error",
"useAsConstAssertion": "error"
}
}
},
"files": {
"ignoreUnknown": true,
"ignore": [
"**/*/trace.json",
"static/app/data/world.json",
"**/*.sourcemap.js",
"**/*.min.js",
"fixtures",
".devenv"
]
},
"formatter": {
"enabled": false,
"formatWithErrors": true,
"indentStyle": "space",
"indentWidth": 2,
"lineEnding": "lf",
"ignore": ["tests/**/*.json"]
},
"javascript": {
"formatter": {
"enabled": false,
"lineWidth": 90,
"quoteStyle": "single",
"jsxQuoteStyle": "double",
"quoteProperties": "asNeeded",
"trailingComma": "es5",
"semicolons": "always",
"arrowParentheses": "asNeeded",
"bracketSpacing": false,
"bracketSameLine": false
}
},
"json": {
"formatter": {
"enabled": true
}
},
"overrides": [
{
"include": ["biome.json", "config/tsconfig.*", "tsconfig.json", ".vscode/*"],
"json": {
"parser": {
"allowComments": true,
"allowTrailingCommas": true
}
}
},
{
"include": [
"api-docs/*.ts",
"build-utils/*.ts",
"config/*.ts",
"scripts",
"tests/js/sentry-test/loadFixtures.ts",
"tests/js/jest-pegjs-transform.js",
"tests/js/setup.ts",
"tests/js/test-balancer/index.js",
"*.config.ts"
],
"linter": {
"rules": {
"nursery": {
"noNodejsModules": "off"
}
}
}
},
{
"include": ["src/sentry/templates/sentry/error-page-embed.js"],
"linter": {
"rules": {
"style": {
"noVar": "off"
}
}
}
},
{
"include": [
"static/app/utils/replays/types.tsx",
"static/app/utils/queryClient.tsx",
"static/app/views/performance/traceDetails/styles.tsx",
"static/app/icons/index.tsx",
"static/app/components/tabs/index.tsx",
"static/app/components/sparklines/line.tsx",
"static/app/types/index.tsx",
"tests/js/sentry-test/reactTestingLibrary.tsx",
"tests/js/sentry-test/index.tsx"
],
"linter": {
"rules": {
"performance": {
"noBarrelFile": "off"
}
}
}
}
]
}