@aprx/biome-config 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +136 -0
- package/package.json +32 -0
- package/src/base.jsonc +429 -0
- package/src/dom.jsonc +148 -0
- package/src/lib.jsonc +55 -0
- package/src/nextjs.jsonc +30 -0
- package/src/react.jsonc +44 -0
- package/src/testing.jsonc +23 -0
- package/src/vue.jsonc +39 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Aperrix
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# @aprx/biome-config
|
|
2
|
+
|
|
3
|
+
## Setup
|
|
4
|
+
|
|
5
|
+
- Install the package
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install --dev @aprx/biome-config @biomejs/biome
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
- Choose which preset you need from the [list](#presets) below and add it to your `biome.json`
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"extends": ["@aprx/biome-config/react", "@aprx/biome-config/testing"]
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Presets
|
|
20
|
+
|
|
21
|
+
### Hierarchy
|
|
22
|
+
|
|
23
|
+
Presets are organized in layers. Each preset inherits all rules from its parent:
|
|
24
|
+
|
|
25
|
+
```txt
|
|
26
|
+
base Universal JS/TS rules (formatter, linter, assist)
|
|
27
|
+
├── dom + browser/DOM rules (a11y, security)
|
|
28
|
+
│ ├── react + React-specific rules
|
|
29
|
+
│ │ └── nextjs + Next.js-specific rules
|
|
30
|
+
│ └── vue + Vue-specific rules
|
|
31
|
+
└── lib + Node.js-specific rules
|
|
32
|
+
|
|
33
|
+
testing Composable with any preset above
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Reference
|
|
37
|
+
|
|
38
|
+
| Preset | Use case |
|
|
39
|
+
|----------------------------------|--------------------------------------------|
|
|
40
|
+
| ```@aprx/biome-config``` | Base rules only (e.g. universal library) |
|
|
41
|
+
| ```@aprx/biome-config/dom``` | Browser/DOM application without framework |
|
|
42
|
+
| ```@aprx/biome-config/lib``` | Node.js library or backend service |
|
|
43
|
+
| ```@aprx/biome-config/react``` | React application (includes `dom`) |
|
|
44
|
+
| ```@aprx/biome-config/nextjs``` | Next.js application (includes `react`) |
|
|
45
|
+
| ```@aprx/biome-config/vue``` | Vue application (includes `dom`) |
|
|
46
|
+
| ```@aprx/biome-config/testing``` | Test files (combine with any preset above) |
|
|
47
|
+
|
|
48
|
+
### Examples
|
|
49
|
+
|
|
50
|
+
React application with tests:
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"extends": ["@aprx/biome-config/react", "@aprx/biome-config/testing"]
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Node.js backend with tests:
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"extends": ["@aprx/biome-config/lib", "@aprx/biome-config/testing"]
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Vanilla browser application:
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
{
|
|
70
|
+
"extends": ["@aprx/biome-config/dom"]
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Monorepo usage
|
|
75
|
+
|
|
76
|
+
In a monorepo, create a `biome.json` at the root and per-package configs that extend it using the `"//"` syntax:
|
|
77
|
+
|
|
78
|
+
```txt
|
|
79
|
+
monorepo/
|
|
80
|
+
├── biome.json Root config
|
|
81
|
+
├── packages/
|
|
82
|
+
│ ├── ui/
|
|
83
|
+
│ │ └── biome.json Extends root + react preset
|
|
84
|
+
│ ├── api/
|
|
85
|
+
│ │ └── biome.json Extends root + lib preset
|
|
86
|
+
│ └── shared/
|
|
87
|
+
│ └── biome.json Extends root only
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Root `biome.json`:
|
|
91
|
+
|
|
92
|
+
```json
|
|
93
|
+
{
|
|
94
|
+
"extends": ["@aprx/biome-config"]
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Package `packages/ui/biome.json`:
|
|
99
|
+
|
|
100
|
+
```json
|
|
101
|
+
{
|
|
102
|
+
"extends": ["//", "@aprx/biome-config/react", "@aprx/biome-config/testing"]
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
The `"//"` syntax tells Biome to inherit from the root configuration regardless of the package location. See the [Biome monorepo guide][biome-mono] for more details.
|
|
107
|
+
|
|
108
|
+
## VS Code integration
|
|
109
|
+
|
|
110
|
+
Install the [Biome extension][biome-extension] (`biomejs.biome`), then add the following to your `.vscode/settings.json`:
|
|
111
|
+
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"editor.defaultFormatter": "biomejs.biome",
|
|
115
|
+
"editor.formatOnSave": true,
|
|
116
|
+
"editor.codeActionsOnSave": {
|
|
117
|
+
"source.fixAll.biome": "explicit",
|
|
118
|
+
"source.organizeImports.biome": "explicit"
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
This enables format on save, auto-fix of lint issues, and import sorting.
|
|
124
|
+
|
|
125
|
+
## Resources
|
|
126
|
+
|
|
127
|
+
- <https://biomejs.dev/>
|
|
128
|
+
- <https://biomejs.dev/guides/big-projects/>
|
|
129
|
+
- <https://biomejs.dev/reference/vscode/>
|
|
130
|
+
|
|
131
|
+
## License
|
|
132
|
+
|
|
133
|
+
MIT
|
|
134
|
+
|
|
135
|
+
[biome-mono]: https://biomejs.dev/guides/big-projects/
|
|
136
|
+
[biome-extension]: https://marketplace.visualstudio.com/items?itemName=biomejs.biome
|
package/package.json
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@aprx/biome-config",
|
|
3
|
+
"description": "An opinionated Biome configuration",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "Aperrix",
|
|
7
|
+
"homepage": "https://github.com/aperrix/code-quality-tools/tree/main/packages/biome#readme",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/aperrix/code-quality-tools.git",
|
|
11
|
+
"directory": "packages/biome"
|
|
12
|
+
},
|
|
13
|
+
"type": "module",
|
|
14
|
+
"exports": {
|
|
15
|
+
".": "./src/base.jsonc",
|
|
16
|
+
"./dom": "./src/dom.jsonc",
|
|
17
|
+
"./lib": "./src/lib.jsonc",
|
|
18
|
+
"./react": "./src/react.jsonc",
|
|
19
|
+
"./nextjs": "./src/nextjs.jsonc",
|
|
20
|
+
"./vue": "./src/vue.jsonc",
|
|
21
|
+
"./testing": "./src/testing.jsonc"
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"src"
|
|
25
|
+
],
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"access": "public"
|
|
28
|
+
},
|
|
29
|
+
"peerDependencies": {
|
|
30
|
+
"@biomejs/biome": "^2.3.9"
|
|
31
|
+
}
|
|
32
|
+
}
|
package/src/base.jsonc
ADDED
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../node_modules/@biomejs/biome/configuration_schema.json",
|
|
3
|
+
"root": true,
|
|
4
|
+
// "extends": [],
|
|
5
|
+
"files": {
|
|
6
|
+
// "includes": [],
|
|
7
|
+
"ignoreUnknown": true
|
|
8
|
+
// "maxSize": 1048576
|
|
9
|
+
},
|
|
10
|
+
"vcs": {
|
|
11
|
+
"enabled": true,
|
|
12
|
+
"clientKind": "git",
|
|
13
|
+
"useIgnoreFile": true,
|
|
14
|
+
// "root": "",
|
|
15
|
+
"defaultBranch": "main"
|
|
16
|
+
},
|
|
17
|
+
"linter": {
|
|
18
|
+
"enabled": true,
|
|
19
|
+
// "includes": [],
|
|
20
|
+
"rules": {
|
|
21
|
+
"complexity": {
|
|
22
|
+
"recommended": true,
|
|
23
|
+
|
|
24
|
+
// JS/TS
|
|
25
|
+
// "noAdjacentSpacesInRegex": "error",
|
|
26
|
+
// "noArguments": "error",
|
|
27
|
+
// "noBannedTypes": "error",
|
|
28
|
+
// "noCommaOperator": "error",
|
|
29
|
+
// "noEmptyTypeParameters": "error",
|
|
30
|
+
// "noExcessiveCognitiveComplexity": "error",
|
|
31
|
+
// "noExcessiveLinesPerFunction": "error",
|
|
32
|
+
// "noExtraBooleanCast": "error",
|
|
33
|
+
// "noFlatMapIdentity": "error",
|
|
34
|
+
// "noForEach": "error",
|
|
35
|
+
// "noImplicitCoercions": "error",
|
|
36
|
+
"noStaticOnlyClass": "error",
|
|
37
|
+
// "noThisInStatic": "error",
|
|
38
|
+
// "noUselessCatch": "error",
|
|
39
|
+
"noUselessConstructor": "error",
|
|
40
|
+
// "noUselessContinue": "error",
|
|
41
|
+
"noUselessEmptyExport": "error",
|
|
42
|
+
// "noUselessEscapeInRegex": "error",
|
|
43
|
+
// "noUselessLabel": "error",
|
|
44
|
+
// "noUselessLoneBlockStatements": "error",
|
|
45
|
+
// "noUselessRename": "error",
|
|
46
|
+
"noUselessStringConcat": "error",
|
|
47
|
+
// "noUselessStringRaw": "error",
|
|
48
|
+
// "noUselessSwitchCase": "error",
|
|
49
|
+
"noUselessTernary": "error",
|
|
50
|
+
// "noUselessThisAlias": "error",
|
|
51
|
+
// "noUselessTypeConstraint": "error",
|
|
52
|
+
// "noUselessUndefinedInitialization": "error",
|
|
53
|
+
// "noVoid": "error",
|
|
54
|
+
// "useArrowFunction": "error",
|
|
55
|
+
"useDateNow": "error",
|
|
56
|
+
"useFlatMap": "error"
|
|
57
|
+
// "useIndexOf": "error",
|
|
58
|
+
// "useLiteralKeys": "error",
|
|
59
|
+
// "useNumericLiterals": "error",
|
|
60
|
+
// "useOptionalChain": "error",
|
|
61
|
+
// "useRegexLiterals": "error",
|
|
62
|
+
// "useSimpleNumberKeys": "error",
|
|
63
|
+
// "useSimplifiedLogicExpression": "error",
|
|
64
|
+
// "useWhile": "error"
|
|
65
|
+
},
|
|
66
|
+
"correctness": {
|
|
67
|
+
"recommended": true,
|
|
68
|
+
|
|
69
|
+
// JS/TS
|
|
70
|
+
// "noConstAssign": "error",
|
|
71
|
+
// "noConstantCondition": "error",
|
|
72
|
+
// "noConstantMathMinMaxClamp": "error",
|
|
73
|
+
// "noConstructorReturn": "error",
|
|
74
|
+
// "noEmptyCharacterClassInRegex": "error",
|
|
75
|
+
// "noEmptyPattern": "error",
|
|
76
|
+
// "noGlobalObjectCalls": "error",
|
|
77
|
+
// "noInnerDeclarations": "error",
|
|
78
|
+
// "noInvalidBuiltinInstantiation": "error",
|
|
79
|
+
// "noInvalidConstructorSuper": "error",
|
|
80
|
+
// "noInvalidUseBeforeDeclaration": "error",
|
|
81
|
+
// "noNonoctalDecimalEscape": "error",
|
|
82
|
+
// "noPrecisionLoss": "error",
|
|
83
|
+
"noPrivateImports": "error",
|
|
84
|
+
// "noQwikUseVisibleTask": "error",
|
|
85
|
+
// "noRestrictedElements": "error",
|
|
86
|
+
// "noSelfAssign": "error",
|
|
87
|
+
// "noSetterReturn": "error",
|
|
88
|
+
// "noSolidDestructuredProps": "error",
|
|
89
|
+
// "noStringCaseMismatch": "error",
|
|
90
|
+
// "noSwitchDeclarations": "error",
|
|
91
|
+
"noUndeclaredDependencies": "error"
|
|
92
|
+
// "noUndeclaredVariables": "error",
|
|
93
|
+
// "noUnreachable": "error",
|
|
94
|
+
// "noUnreachableSuper": "error",
|
|
95
|
+
// "noUnsafeFinally": "error",
|
|
96
|
+
// "noUnsafeOptionalChaining": "error",
|
|
97
|
+
// "noUnusedFunctionParameters": "error",
|
|
98
|
+
// "noUnusedImports": "error",
|
|
99
|
+
// "noUnusedLabels": "error",
|
|
100
|
+
// "noUnusedPrivateClassMembers": "error",
|
|
101
|
+
// "noUnusedVariables": "error",
|
|
102
|
+
// "noVoidTypeReturn": "error",
|
|
103
|
+
// "useImportExtensions": "error",
|
|
104
|
+
// "useIsNan": "error",
|
|
105
|
+
// "useJsonImportAttributes": "error",
|
|
106
|
+
// "useParseIntRadix": "error",
|
|
107
|
+
// "useQwikClasslist": "error",
|
|
108
|
+
// "useSingleJsDocAsterisk": "error",
|
|
109
|
+
// "useValidForDirection": "error",
|
|
110
|
+
// "useValidTypeof": "error",
|
|
111
|
+
// "useYield": "error"
|
|
112
|
+
},
|
|
113
|
+
"nursery": {
|
|
114
|
+
"recommended": true,
|
|
115
|
+
|
|
116
|
+
// JS/TS
|
|
117
|
+
// "noContinue": "error",
|
|
118
|
+
// "noDeprecatedImports": "error",
|
|
119
|
+
// "noDivRegex": "error",
|
|
120
|
+
// "noDuplicateEnumValues": "error",
|
|
121
|
+
// "noEmptySource": "error",
|
|
122
|
+
// "noEqualsToNull": "error",
|
|
123
|
+
// "noExcessiveClassesPerFile": "error",
|
|
124
|
+
// "noExcessiveLinesPerFile": "error",
|
|
125
|
+
// "noFloatingClasses": "error",
|
|
126
|
+
// "noFloatingPromises": "error",
|
|
127
|
+
// "noForIn": "error",
|
|
128
|
+
"noImportCycles": "error",
|
|
129
|
+
// "noIncrementDecrement": "error",
|
|
130
|
+
// "noMisusedPromises": "error",
|
|
131
|
+
// "noMultiAssign": "error",
|
|
132
|
+
// "noMultiStr": "error",
|
|
133
|
+
// "noParametersOnlyUsedInRecursion": "error",
|
|
134
|
+
// "noProto": "error",
|
|
135
|
+
// "useQwikMethodUsage": "error",
|
|
136
|
+
// "useQwikValidLexicalScope": "error",
|
|
137
|
+
// "noReturnAssign": "error",
|
|
138
|
+
// "noShadow": "error",
|
|
139
|
+
// "noTernary": "error",
|
|
140
|
+
// "noUndeclaredEnvVars": "error",
|
|
141
|
+
// "noUnknownAttribute": "error",
|
|
142
|
+
// "noUnnecessaryConditions": "error",
|
|
143
|
+
"noUnresolvedImports": "error"
|
|
144
|
+
// "noUnusedExpressions": "error",
|
|
145
|
+
// "noUselessCatchBinding": "error",
|
|
146
|
+
// "noUselessUndefined": "error",
|
|
147
|
+
// "useArraySortCompare": "error",
|
|
148
|
+
// "useAwaitThenable": "error",
|
|
149
|
+
// "useConsistentArrowReturn": "error",
|
|
150
|
+
// "useConsistentEnumValueType": "error",
|
|
151
|
+
// "useDestructuring": "error",
|
|
152
|
+
// "useErrorCause": "error",
|
|
153
|
+
// "useExhaustiveSwitchCases": "error",
|
|
154
|
+
// "useExplicitType": "error",
|
|
155
|
+
// "useFind": "error",
|
|
156
|
+
// "useMaxParams": "error",
|
|
157
|
+
// "useRegexpExec": "error",
|
|
158
|
+
// "useSortedClasses": "error",
|
|
159
|
+
// "useSpread": "error",
|
|
160
|
+
|
|
161
|
+
// JSON
|
|
162
|
+
// "noDuplicateDependencies": "error",
|
|
163
|
+
// "useRequiredScripts": "error"
|
|
164
|
+
},
|
|
165
|
+
"performance": {
|
|
166
|
+
"recommended": true,
|
|
167
|
+
|
|
168
|
+
// JS/TS
|
|
169
|
+
"noAccumulatingSpread": "error",
|
|
170
|
+
"noAwaitInLoops": "error",
|
|
171
|
+
"noBarrelFile": "error",
|
|
172
|
+
"noDelete": "error",
|
|
173
|
+
"noDynamicNamespaceImportAccess": "error",
|
|
174
|
+
"noNamespaceImport": "error",
|
|
175
|
+
"noReExportAll": "error",
|
|
176
|
+
// "useSolidForComponent": "error",
|
|
177
|
+
"useTopLevelRegex": "error"
|
|
178
|
+
},
|
|
179
|
+
"security": {
|
|
180
|
+
"recommended": true,
|
|
181
|
+
|
|
182
|
+
// JS/TS
|
|
183
|
+
"noGlobalEval": "error",
|
|
184
|
+
"noSecrets": "error"
|
|
185
|
+
},
|
|
186
|
+
"style": {
|
|
187
|
+
"recommended": true,
|
|
188
|
+
|
|
189
|
+
// JS/TS
|
|
190
|
+
"noCommonJs": "error",
|
|
191
|
+
// "noDefaultExport": "error",
|
|
192
|
+
"noEnum": "error",
|
|
193
|
+
// "noExportedImports": "error",
|
|
194
|
+
"noImplicitBoolean": "error",
|
|
195
|
+
"noInferrableTypes": "error",
|
|
196
|
+
// "noMagicNumbers": "error",
|
|
197
|
+
"noNamespace": "error",
|
|
198
|
+
"noNegationElse": "error",
|
|
199
|
+
"noNestedTernary": "error",
|
|
200
|
+
// "noNonNullAssertion": "error",
|
|
201
|
+
// "noParameterAssign": "error",
|
|
202
|
+
// "noParameterProperties": "error",
|
|
203
|
+
// "noProcessEnv": "error",
|
|
204
|
+
// "noRestrictedGlobals": "error",
|
|
205
|
+
// "noRestrictedImports": "error",
|
|
206
|
+
// "noRestrictedTypes": "error",
|
|
207
|
+
// "noShoutyConstants": "error",
|
|
208
|
+
"noSubstr": "error",
|
|
209
|
+
"noUnusedTemplateLiteral": "error",
|
|
210
|
+
"noUselessElse": "error",
|
|
211
|
+
"noYodaExpression": "error",
|
|
212
|
+
// "useArrayLiterals": "error",
|
|
213
|
+
"useAsConstAssertion": "error",
|
|
214
|
+
"useAtIndex": "error",
|
|
215
|
+
// "useBlockStatements": "error",
|
|
216
|
+
"useCollapsedElseIf": "error",
|
|
217
|
+
// "useCollapsedIf": "error",
|
|
218
|
+
"useConsistentArrayType": "error",
|
|
219
|
+
"useConsistentBuiltinInstantiation": "error",
|
|
220
|
+
// "useConsistentCurlyBraces": "error",
|
|
221
|
+
// "useConsistentMemberAccessibility": "error",
|
|
222
|
+
// "useConsistentObjectDefinitions": "error",
|
|
223
|
+
// "useConsistentTypeDefinitions": "error",
|
|
224
|
+
"useConst": "error",
|
|
225
|
+
"useDefaultParameterLast": "error",
|
|
226
|
+
// "useDefaultSwitchClause": "error",
|
|
227
|
+
// "useEnumInitializers": "error",
|
|
228
|
+
// "useExplicitLengthCheck": "error",
|
|
229
|
+
"useExponentiationOperator": "error",
|
|
230
|
+
"useExportType": "error",
|
|
231
|
+
// "useExportsLast": "error",
|
|
232
|
+
"useFilenamingConvention": "error",
|
|
233
|
+
"useForOf": "error",
|
|
234
|
+
"useGroupedAccessorPairs": "error",
|
|
235
|
+
"useImportType": "error",
|
|
236
|
+
// "useLiteralEnumMembers": "error",
|
|
237
|
+
"useNamingConvention": "error",
|
|
238
|
+
"useNumberNamespace": "error",
|
|
239
|
+
// "useNumericSeparators": "error",
|
|
240
|
+
// "useObjectSpread": "error",
|
|
241
|
+
// "useReadonlyClassProperties": "error",
|
|
242
|
+
"useSelfClosingElements": "error",
|
|
243
|
+
"useShorthandAssign": "error",
|
|
244
|
+
"useShorthandFunctionType": "error",
|
|
245
|
+
"useSingleVarDeclarator": "error",
|
|
246
|
+
// "useSymbolDescription": "error",
|
|
247
|
+
"useTemplate": "error",
|
|
248
|
+
// "useThrowNewError": "error",
|
|
249
|
+
// "useThrowOnlyError": "error",
|
|
250
|
+
"useTrimStartEnd": "error"
|
|
251
|
+
// "useUnifiedTypeSignatures": "error"
|
|
252
|
+
},
|
|
253
|
+
"suspicious": {
|
|
254
|
+
"recommended": true,
|
|
255
|
+
|
|
256
|
+
// JS/TS
|
|
257
|
+
// "noApproximativeNumericConstant": "error",
|
|
258
|
+
// "noAssignInExpressions": "error",
|
|
259
|
+
// "noAsyncPromiseExecutor": "error",
|
|
260
|
+
// "noBitwiseOperators": "error",
|
|
261
|
+
// "noCatchAssign": "error",
|
|
262
|
+
// "noClassAssign": "error",
|
|
263
|
+
// "noCompareNegZero": "error",
|
|
264
|
+
// "noConfusingLabels": "error",
|
|
265
|
+
"noConfusingVoidType": "error",
|
|
266
|
+
"noConsole": "error",
|
|
267
|
+
// "noConstEnum": "error",
|
|
268
|
+
// "noConstantBinaryExpressions": "error",
|
|
269
|
+
// "noControlCharactersInRegex": "error",
|
|
270
|
+
"noDebugger": "error",
|
|
271
|
+
"noDoubleEquals": "error",
|
|
272
|
+
// "noDuplicateCase": "error",
|
|
273
|
+
// "noDuplicateClassMembers": "error",
|
|
274
|
+
// "noDuplicateElseIf": "error",
|
|
275
|
+
// "noDuplicateObjectKeys": "error",
|
|
276
|
+
// "noDuplicateParameters": "error",
|
|
277
|
+
"noEmptyBlockStatements": "error",
|
|
278
|
+
// "noEmptyInterface": "error",
|
|
279
|
+
"noEvolvingTypes": "error",
|
|
280
|
+
"noExplicitAny": "error",
|
|
281
|
+
// "noExtraNonNullAssertion": "error",
|
|
282
|
+
"noFallthroughSwitchClause": "error",
|
|
283
|
+
// "noFunctionAssign": "error",
|
|
284
|
+
// "noGlobalAssign": "error",
|
|
285
|
+
// "noGlobalIsFinite": "error",
|
|
286
|
+
// "noGlobalIsNan": "error",
|
|
287
|
+
"noImplicitAnyLet": "error",
|
|
288
|
+
// "noImportAssign": "error",
|
|
289
|
+
// "noIrregularWhitespace": "error",
|
|
290
|
+
// "noLabelVar": "error",
|
|
291
|
+
// "noMisleadingCharacterClass": "error",
|
|
292
|
+
// "noMisleadingInstantiator": "error",
|
|
293
|
+
// "noMisrefactoredShorthandAssign": "error",
|
|
294
|
+
"noNonNullAssertedOptionalChain": "error",
|
|
295
|
+
// "noOctalEscape": "error",
|
|
296
|
+
// "noPrototypeBuiltins": "error",
|
|
297
|
+
"noRedeclare": "error",
|
|
298
|
+
// "noRedundantUseStrict": "error",
|
|
299
|
+
"noSelfCompare": "error",
|
|
300
|
+
"noShadowRestrictedNames": "error",
|
|
301
|
+
// "noSparseArray": "error",
|
|
302
|
+
"noTemplateCurlyInString": "error",
|
|
303
|
+
// "noThenProperty": "error",
|
|
304
|
+
"noTsIgnore": "error",
|
|
305
|
+
// "noUnassignedVariables": "error",
|
|
306
|
+
// "noUnsafeDeclarationMerging": "error",
|
|
307
|
+
// "noUnsafeNegation": "error",
|
|
308
|
+
// "noUselessEscapeInString": "error",
|
|
309
|
+
// "noUselessRegexBackrefs": "error",
|
|
310
|
+
"noVar": "error",
|
|
311
|
+
// "noWith": "error",
|
|
312
|
+
// "useAdjacentOverloadSignatures": "error",
|
|
313
|
+
// "useAwait": "error",
|
|
314
|
+
"useDefaultSwitchClauseLast": "error",
|
|
315
|
+
"useErrorMessage": "error",
|
|
316
|
+
// "useGetterReturn": "error",
|
|
317
|
+
"useGuardForIn": "error"
|
|
318
|
+
// "useIsArray": "error",
|
|
319
|
+
// "useIterableCallbackReturn": "error",
|
|
320
|
+
// "useNamespaceKeyword": "error",
|
|
321
|
+
// "useNumberToFixedDigitsArgument": "error",
|
|
322
|
+
// "useStaticResponseMethods": "error",
|
|
323
|
+
// "useStrictMode": "error",
|
|
324
|
+
|
|
325
|
+
// JSON
|
|
326
|
+
// "noBiomeFirstException": "error",
|
|
327
|
+
// "noQuickfixBiome": "error",
|
|
328
|
+
// "useBiomeIgnoreFolder": "error"
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
},
|
|
332
|
+
"assist": {
|
|
333
|
+
"enabled": true,
|
|
334
|
+
// "includes": [],
|
|
335
|
+
"actions": {
|
|
336
|
+
"source": {
|
|
337
|
+
// "recommended": true,
|
|
338
|
+
"organizeImports": "on",
|
|
339
|
+
"useSortedAttributes": "on",
|
|
340
|
+
"useSortedProperties": "on",
|
|
341
|
+
"useSortedKeys": "on"
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
"formatter": {
|
|
346
|
+
"enabled": true,
|
|
347
|
+
// "includes": [],
|
|
348
|
+
"formatWithErrors": false,
|
|
349
|
+
"indentStyle": "space",
|
|
350
|
+
"indentWidth": 4,
|
|
351
|
+
"lineEnding": "lf",
|
|
352
|
+
"lineWidth": 120,
|
|
353
|
+
"attributePosition": "auto",
|
|
354
|
+
"bracketSpacing": true,
|
|
355
|
+
"expand": "auto",
|
|
356
|
+
"useEditorconfig": false
|
|
357
|
+
},
|
|
358
|
+
"javascript": {
|
|
359
|
+
"parser": {
|
|
360
|
+
"unsafeParameterDecoratorsEnabled": true,
|
|
361
|
+
"jsxEverywhere": true
|
|
362
|
+
},
|
|
363
|
+
"formatter": {
|
|
364
|
+
"enabled": true,
|
|
365
|
+
// "indentStyle": "space",
|
|
366
|
+
// "indentWidth": 4,
|
|
367
|
+
// "lineEnding": "lf",
|
|
368
|
+
// "lineWidth": 120,
|
|
369
|
+
"quoteStyle": "double",
|
|
370
|
+
"jsxQuoteStyle": "double",
|
|
371
|
+
"quoteProperties": "asNeeded",
|
|
372
|
+
"trailingCommas": "all",
|
|
373
|
+
"semicolons": "asNeeded",
|
|
374
|
+
"arrowParentheses": "always",
|
|
375
|
+
"bracketSameLine": true,
|
|
376
|
+
// "bracketSpacing": true,
|
|
377
|
+
// "attributePosition": "auto",
|
|
378
|
+
// "expand": "auto",
|
|
379
|
+
"operatorLinebreak": "before"
|
|
380
|
+
},
|
|
381
|
+
// "globals": [],
|
|
382
|
+
"jsxRuntime": "transparent",
|
|
383
|
+
"linter": {
|
|
384
|
+
"enabled": true
|
|
385
|
+
},
|
|
386
|
+
"assist": {
|
|
387
|
+
"enabled": true
|
|
388
|
+
}
|
|
389
|
+
},
|
|
390
|
+
"json": {
|
|
391
|
+
"parser": {
|
|
392
|
+
"allowComments": true,
|
|
393
|
+
"allowTrailingCommas": true
|
|
394
|
+
},
|
|
395
|
+
"formatter": {
|
|
396
|
+
"enabled": true,
|
|
397
|
+
// "indentStyle": "space",
|
|
398
|
+
// "indentWidth": 4,
|
|
399
|
+
// "lineEnding": "lf",
|
|
400
|
+
// "lineWidth": 120,
|
|
401
|
+
"trailingCommas": "all",
|
|
402
|
+
// "expand": "auto",
|
|
403
|
+
"bracketSpacing": true
|
|
404
|
+
},
|
|
405
|
+
"linter": {
|
|
406
|
+
"enabled": true
|
|
407
|
+
},
|
|
408
|
+
"assist": {
|
|
409
|
+
"enabled": true
|
|
410
|
+
}
|
|
411
|
+
},
|
|
412
|
+
"grit": {
|
|
413
|
+
"formatter": {
|
|
414
|
+
"enabled": true
|
|
415
|
+
// "indentStyle": "space",
|
|
416
|
+
// "indentWidth": 4,
|
|
417
|
+
// "lineEnding": "lf",
|
|
418
|
+
// "lineWidth": 120,
|
|
419
|
+
// "quoteStyle": "double"
|
|
420
|
+
},
|
|
421
|
+
"linter": {
|
|
422
|
+
"enabled": true
|
|
423
|
+
},
|
|
424
|
+
"assist": {
|
|
425
|
+
"enabled": true
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
// "overrides": []
|
|
429
|
+
}
|
package/src/dom.jsonc
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../node_modules/@biomejs/biome/configuration_schema.json",
|
|
3
|
+
"extends": ["./base.jsonc"],
|
|
4
|
+
"linter": {
|
|
5
|
+
"rules": {
|
|
6
|
+
"a11y": {
|
|
7
|
+
"recommended": true
|
|
8
|
+
|
|
9
|
+
// JS/TS
|
|
10
|
+
// "noAccessKey": "error",
|
|
11
|
+
// "noAriaHiddenOnFocusable": "error",
|
|
12
|
+
// "noAriaUnsupportedElements": "error",
|
|
13
|
+
// "noAutofocus": "error",
|
|
14
|
+
// "noDistractingElements": "error",
|
|
15
|
+
// "noHeaderScope": "error",
|
|
16
|
+
// "noInteractiveElementToNoninteractiveRole": "error",
|
|
17
|
+
// "noLabelWithoutControl": "error",
|
|
18
|
+
// "noNoninteractiveElementInteractions": "error",
|
|
19
|
+
// "noNoninteractiveElementToInteractiveRole": "error",
|
|
20
|
+
// "noNoninteractiveTabindex": "error",
|
|
21
|
+
// "noPositiveTabindex": "error",
|
|
22
|
+
// "noRedundantAlt": "error",
|
|
23
|
+
// "noRedundantRoles": "error",
|
|
24
|
+
// "noStaticElementInteractions": "error",
|
|
25
|
+
// "noSvgWithoutTitle": "error",
|
|
26
|
+
// "useAltText": "error",
|
|
27
|
+
// "useAnchorContent": "error",
|
|
28
|
+
// "useAriaActivedescendantWithTabindex": "error",
|
|
29
|
+
// "useAriaPropsForRole": "error",
|
|
30
|
+
// "useAriaPropsSupportedByRole": "error",
|
|
31
|
+
// "useButtonType": "error",
|
|
32
|
+
// "useFocusableInteractive": "error",
|
|
33
|
+
// "useHeadingContent": "error",
|
|
34
|
+
// "useHtmlLang": "error",
|
|
35
|
+
// "useIframeTitle": "error",
|
|
36
|
+
// "useKeyWithClickEvents": "error",
|
|
37
|
+
// "useKeyWithMouseEvents": "error",
|
|
38
|
+
// "useMediaCaption": "error",
|
|
39
|
+
// "useSemanticElements": "error",
|
|
40
|
+
// "useValidAnchor": "error",
|
|
41
|
+
// "useValidAriaProps": "error",
|
|
42
|
+
// "useValidAriaRole": "error",
|
|
43
|
+
// "useValidAriaValues": "error",
|
|
44
|
+
// "useValidAutocomplete": "error",
|
|
45
|
+
// "useValidLang": "error",
|
|
46
|
+
|
|
47
|
+
// CSS
|
|
48
|
+
// "useGenericFontNames": "error"
|
|
49
|
+
},
|
|
50
|
+
"complexity": {
|
|
51
|
+
// CSS
|
|
52
|
+
// "noImportantStyles": "error"
|
|
53
|
+
},
|
|
54
|
+
"correctness": {
|
|
55
|
+
// "noNodejsModules": "error",
|
|
56
|
+
// "noProcessGlobal": "error",
|
|
57
|
+
// "useImageSize": "error",
|
|
58
|
+
// CSS
|
|
59
|
+
// "noInvalidDirectionInLinearGradient": "error",
|
|
60
|
+
// "noInvalidGridAreas": "error",
|
|
61
|
+
// "noInvalidPositionAtImportRule": "error",
|
|
62
|
+
// "noMissingVarFunction": "error",
|
|
63
|
+
// "noUnknownFunction": "error",
|
|
64
|
+
// "noUnknownMediaFeatureName": "error",
|
|
65
|
+
// "noUnknownProperty": "error",
|
|
66
|
+
// "noUnknownPseudoClass": "error",
|
|
67
|
+
// "noUnknownPseudoElement": "error",
|
|
68
|
+
// "noUnknownTypeSelector": "error",
|
|
69
|
+
// "noUnknownUnit": "error",
|
|
70
|
+
// "noUnmatchableAnbSelector": "error"
|
|
71
|
+
},
|
|
72
|
+
"nursery": {
|
|
73
|
+
// "noAmbiguousAnchorText": "error",
|
|
74
|
+
// "noScriptUrl": "error",
|
|
75
|
+
// HTML
|
|
76
|
+
// "noDuplicateAttributes": "error"
|
|
77
|
+
},
|
|
78
|
+
"security": {
|
|
79
|
+
"noBlankTarget": "error",
|
|
80
|
+
"noDangerouslySetInnerHtml": "error",
|
|
81
|
+
"noDangerouslySetInnerHtmlWithChildren": "error"
|
|
82
|
+
},
|
|
83
|
+
"style": {
|
|
84
|
+
// CSS
|
|
85
|
+
// "noDescendingSpecificity": "error",
|
|
86
|
+
// "noValueAtRule": "error"
|
|
87
|
+
},
|
|
88
|
+
"suspicious": {
|
|
89
|
+
// "noAlert": "error",
|
|
90
|
+
// "noDocumentCookie": "error",
|
|
91
|
+
// CSS
|
|
92
|
+
// "noDuplicateAtImportRules": "error",
|
|
93
|
+
// "noDuplicateCustomProperties": "error",
|
|
94
|
+
// "noDuplicateFontNames": "error",
|
|
95
|
+
// "noDuplicateProperties": "error",
|
|
96
|
+
// "noDuplicateSelectorsKeyframeBlock": "error",
|
|
97
|
+
// "noEmptyBlock": "error",
|
|
98
|
+
// "noImportantInKeyframe": "error",
|
|
99
|
+
// "noShorthandPropertyOverrides": "error",
|
|
100
|
+
// "noUnknownAtRules": "error"
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"css": {
|
|
105
|
+
"parser": {
|
|
106
|
+
"cssModules": true,
|
|
107
|
+
"tailwindDirectives": true
|
|
108
|
+
},
|
|
109
|
+
"formatter": {
|
|
110
|
+
"enabled": true,
|
|
111
|
+
// "indentStyle": "space",
|
|
112
|
+
// "indentWidth": 4,
|
|
113
|
+
// "lineEnding": "lf",
|
|
114
|
+
// "lineWidth": 120,
|
|
115
|
+
"quoteStyle": "double"
|
|
116
|
+
},
|
|
117
|
+
"linter": {
|
|
118
|
+
"enabled": true
|
|
119
|
+
},
|
|
120
|
+
"assist": {
|
|
121
|
+
"enabled": true
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"html": {
|
|
125
|
+
// "experimentalFullSupportEnabled": true,
|
|
126
|
+
"parser": {
|
|
127
|
+
// "interpolation": false
|
|
128
|
+
},
|
|
129
|
+
"formatter": {
|
|
130
|
+
"enabled": true
|
|
131
|
+
// "indentStyle": "space",
|
|
132
|
+
// "indentWidth": 4,
|
|
133
|
+
// "lineEnding": "lf",
|
|
134
|
+
// "lineWidth": 120,
|
|
135
|
+
// "attributePosition": "auto",
|
|
136
|
+
// "bracketSameLine": false,
|
|
137
|
+
// "whitespaceSensitivity": "css",
|
|
138
|
+
// "indentScriptAndStyle": false,
|
|
139
|
+
// "selfCloseVoidElements": "never"
|
|
140
|
+
},
|
|
141
|
+
"linter": {
|
|
142
|
+
"enabled": true
|
|
143
|
+
},
|
|
144
|
+
"assist": {
|
|
145
|
+
"enabled": true
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
package/src/lib.jsonc
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../node_modules/@biomejs/biome/configuration_schema.json",
|
|
3
|
+
"extends": ["./base.jsonc"],
|
|
4
|
+
"linter": {
|
|
5
|
+
"rules": {
|
|
6
|
+
"correctness": {
|
|
7
|
+
// "noGlobalDirnameFilename": "error",
|
|
8
|
+
// GraphQL
|
|
9
|
+
// "useGraphqlNamedOperations": "error"
|
|
10
|
+
},
|
|
11
|
+
"nursery": {
|
|
12
|
+
// GraphQL
|
|
13
|
+
// "noDuplicateArgumentNames": "error",
|
|
14
|
+
// "noDuplicateEnumValueNames": "error",
|
|
15
|
+
// "noDuplicateFieldDefinitionNames": "error",
|
|
16
|
+
// "noDuplicateGraphqlOperationName": "error",
|
|
17
|
+
// "noDuplicateInputFieldNames": "error",
|
|
18
|
+
// "noDuplicateVariableNames": "error",
|
|
19
|
+
// "noRootType": "error",
|
|
20
|
+
// "useConsistentGraphqlDescriptions": "error",
|
|
21
|
+
// "useDeprecatedDate": "error",
|
|
22
|
+
// "useLoneAnonymousOperation": "error",
|
|
23
|
+
// "useLoneExecutableDefinition": "error"
|
|
24
|
+
},
|
|
25
|
+
"style": {
|
|
26
|
+
// "useNodeAssertStrict": "error",
|
|
27
|
+
"useNodejsImportProtocol": "error"
|
|
28
|
+
|
|
29
|
+
// GraphQL
|
|
30
|
+
// "useDeprecatedReason": "error",
|
|
31
|
+
// "useGraphqlNamingConvention": "error"
|
|
32
|
+
},
|
|
33
|
+
"suspicious": {
|
|
34
|
+
// GraphQL
|
|
35
|
+
// "noDuplicateFields": "error"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"graphql": {
|
|
40
|
+
"formatter": {
|
|
41
|
+
"enabled": true,
|
|
42
|
+
// "indentStyle": "space",
|
|
43
|
+
// "indentWidth": 4,
|
|
44
|
+
// "lineEnding": "lf",
|
|
45
|
+
// "lineWidth": 120,
|
|
46
|
+
"quoteStyle": "double"
|
|
47
|
+
},
|
|
48
|
+
"linter": {
|
|
49
|
+
"enabled": true
|
|
50
|
+
},
|
|
51
|
+
"assist": {
|
|
52
|
+
"enabled": true
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
package/src/nextjs.jsonc
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../node_modules/@biomejs/biome/configuration_schema.json",
|
|
3
|
+
"extends": ["./react.jsonc"],
|
|
4
|
+
"linter": {
|
|
5
|
+
"domains": {
|
|
6
|
+
"next": "all"
|
|
7
|
+
},
|
|
8
|
+
"rules": {
|
|
9
|
+
"nursery": {
|
|
10
|
+
// "noBeforeInteractiveScriptOutsideDocument": "error",
|
|
11
|
+
// "noNextAsyncClientComponent": "error",
|
|
12
|
+
// "noSyncScripts": "error",
|
|
13
|
+
// "useInlineScriptId": "error"
|
|
14
|
+
},
|
|
15
|
+
"performance": {
|
|
16
|
+
// "noImgElement": "error",
|
|
17
|
+
// "noUnwantedPolyfillio": "error",
|
|
18
|
+
// "useGoogleFontPreconnect": "error"
|
|
19
|
+
},
|
|
20
|
+
"style": {
|
|
21
|
+
// "noHeadElement": "error"
|
|
22
|
+
},
|
|
23
|
+
"suspicious": {
|
|
24
|
+
// "noDocumentImportInPage": "error",
|
|
25
|
+
// "noHeadImportInDocument": "error",
|
|
26
|
+
// "useGoogleFontDisplay": "error"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
package/src/react.jsonc
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../node_modules/@biomejs/biome/configuration_schema.json",
|
|
3
|
+
"extends": ["./dom.jsonc"],
|
|
4
|
+
"linter": {
|
|
5
|
+
"domains": {
|
|
6
|
+
"react": "all"
|
|
7
|
+
},
|
|
8
|
+
"rules": {
|
|
9
|
+
"complexity": {
|
|
10
|
+
// "noUselessFragments": "error"
|
|
11
|
+
},
|
|
12
|
+
"correctness": {
|
|
13
|
+
// "noChildrenProp": "error",
|
|
14
|
+
// "noNestedComponentDefinitions": "error",
|
|
15
|
+
// "noReactPropAssignments": "error",
|
|
16
|
+
// "noRenderReturnValue": "error",
|
|
17
|
+
// "noVoidElementsWithChildren": "error",
|
|
18
|
+
// "useExhaustiveDependencies": "error",
|
|
19
|
+
// "useHookAtTopLevel": "error",
|
|
20
|
+
// "useJsxKeyInIterable": "error",
|
|
21
|
+
// "useUniqueElementIds": "error"
|
|
22
|
+
},
|
|
23
|
+
"nursery": {
|
|
24
|
+
// "noDuplicatedSpreadProps": "error",
|
|
25
|
+
// "noJsxLiterals": "error",
|
|
26
|
+
// "noJsxPropsBind": "error",
|
|
27
|
+
// "noLeakedRender": "error",
|
|
28
|
+
// "noReactForwardRef": "error"
|
|
29
|
+
},
|
|
30
|
+
"style": {
|
|
31
|
+
// "useComponentExportOnlyModules": "error",
|
|
32
|
+
// "useFragmentSyntax": "error",
|
|
33
|
+
// "useReactFunctionComponents": "error"
|
|
34
|
+
},
|
|
35
|
+
"suspicious": {
|
|
36
|
+
// "noArrayIndexKey": "error",
|
|
37
|
+
// "noCommentText": "error",
|
|
38
|
+
// "noDuplicateJsxProps": "error",
|
|
39
|
+
// "noReactSpecificProps": "error",
|
|
40
|
+
// "noSuspiciousSemicolonInJsx": "error"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../node_modules/@biomejs/biome/configuration_schema.json",
|
|
3
|
+
"linter": {
|
|
4
|
+
"domains": {
|
|
5
|
+
"test": "all"
|
|
6
|
+
},
|
|
7
|
+
"rules": {
|
|
8
|
+
"complexity": {
|
|
9
|
+
// "noExcessiveNestedTestSuites": "error"
|
|
10
|
+
},
|
|
11
|
+
"style": {
|
|
12
|
+
// "noDoneCallback": "error"
|
|
13
|
+
},
|
|
14
|
+
"suspicious": {
|
|
15
|
+
// "noDuplicateTestHooks": "error",
|
|
16
|
+
// "noExportsInTest": "error",
|
|
17
|
+
// "noFocusedTests": "error",
|
|
18
|
+
// "noMisplacedAssertion": "error",
|
|
19
|
+
// "noSkippedTests": "error"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
package/src/vue.jsonc
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../node_modules/@biomejs/biome/configuration_schema.json",
|
|
3
|
+
"extends": ["./dom.jsonc"],
|
|
4
|
+
"linter": {
|
|
5
|
+
"domains": {
|
|
6
|
+
"vue": "all"
|
|
7
|
+
},
|
|
8
|
+
"rules": {
|
|
9
|
+
"nursery": {
|
|
10
|
+
// "noVueDataObjectDeclaration": "error",
|
|
11
|
+
// "noVueDuplicateKeys": "error",
|
|
12
|
+
// "noVueOptionsApi": "error",
|
|
13
|
+
// "noVueReservedKeys": "error",
|
|
14
|
+
// "noVueReservedProps": "error",
|
|
15
|
+
// "noVueSetupPropsReactivityLoss": "error",
|
|
16
|
+
// "noVueVIfWithVFor": "error",
|
|
17
|
+
// "useVueConsistentDefinePropsDeclaration": "error",
|
|
18
|
+
// "useVueConsistentVBindStyle": "error",
|
|
19
|
+
// "useVueConsistentVOnStyle": "error",
|
|
20
|
+
// "useVueDefineMacrosOrder": "error",
|
|
21
|
+
// "useVueHyphenatedAttributes": "error",
|
|
22
|
+
// "useVueMultiWordComponentNames": "error",
|
|
23
|
+
// "useVueVForKey": "error",
|
|
24
|
+
// "useVueValidTemplateRoot": "error",
|
|
25
|
+
// "useVueValidVBind": "error",
|
|
26
|
+
// "useVueValidVCloak": "error",
|
|
27
|
+
// "useVueValidVElse": "error",
|
|
28
|
+
// "useVueValidVElseIf": "error",
|
|
29
|
+
// "useVueValidVHtml": "error",
|
|
30
|
+
// "useVueValidVIf": "error",
|
|
31
|
+
// "useVueValidVOn": "error",
|
|
32
|
+
// "useVueValidVOnce": "error",
|
|
33
|
+
// "useVueValidVPre": "error",
|
|
34
|
+
// "useVueValidVText": "error",
|
|
35
|
+
// "useVueVapor": "error"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|