@biomejs/biome 2.3.14 → 2.4.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/configuration_schema.json +364 -146
- package/package.json +9 -9
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"type": "object",
|
|
80
80
|
"properties": {
|
|
81
81
|
"noAccessKey": {
|
|
82
|
-
"description": "Enforce that the
|
|
82
|
+
"description": "Enforce that the accesskey attribute is not used on any HTML element.\nSee https://biomejs.dev/linter/rules/no-access-key",
|
|
83
83
|
"anyOf": [
|
|
84
84
|
{ "$ref": "#/$defs/NoAccessKeyConfiguration" },
|
|
85
85
|
{ "type": "null" }
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
]
|
|
101
101
|
},
|
|
102
102
|
"noAutofocus": {
|
|
103
|
-
"description": "Enforce that
|
|
103
|
+
"description": "Enforce that the autofocus attribute is not used on elements.\nSee https://biomejs.dev/linter/rules/no-autofocus",
|
|
104
104
|
"anyOf": [
|
|
105
105
|
{ "$ref": "#/$defs/NoAutofocusConfiguration" },
|
|
106
106
|
{ "type": "null" }
|
|
@@ -162,7 +162,7 @@
|
|
|
162
162
|
]
|
|
163
163
|
},
|
|
164
164
|
"noPositiveTabindex": {
|
|
165
|
-
"description": "Prevent the usage of positive integers on
|
|
165
|
+
"description": "Prevent the usage of positive integers on tabindex attribute.\nSee https://biomejs.dev/linter/rules/no-positive-tabindex",
|
|
166
166
|
"anyOf": [
|
|
167
167
|
{ "$ref": "#/$defs/NoPositiveTabindexConfiguration" },
|
|
168
168
|
{ "type": "null" }
|
|
@@ -238,7 +238,7 @@
|
|
|
238
238
|
]
|
|
239
239
|
},
|
|
240
240
|
"useButtonType": {
|
|
241
|
-
"description": "Enforces the usage of the attribute type for the element button.\nSee https://biomejs.dev/linter/rules/use-button-type",
|
|
241
|
+
"description": "Enforces the usage and validity of the attribute type for the element button.\nSee https://biomejs.dev/linter/rules/use-button-type",
|
|
242
242
|
"anyOf": [
|
|
243
243
|
{ "$ref": "#/$defs/UseButtonTypeConfiguration" },
|
|
244
244
|
{ "type": "null" }
|
|
@@ -531,6 +531,13 @@
|
|
|
531
531
|
{ "type": "null" }
|
|
532
532
|
]
|
|
533
533
|
},
|
|
534
|
+
"noUselessCatchBinding": {
|
|
535
|
+
"description": "Disallow unused catch bindings.\nSee https://biomejs.dev/linter/rules/no-useless-catch-binding",
|
|
536
|
+
"anyOf": [
|
|
537
|
+
{ "$ref": "#/$defs/NoUselessCatchBindingConfiguration" },
|
|
538
|
+
{ "type": "null" }
|
|
539
|
+
]
|
|
540
|
+
},
|
|
534
541
|
"noUselessConstructor": {
|
|
535
542
|
"description": "Disallow unnecessary constructors.\nSee https://biomejs.dev/linter/rules/no-useless-constructor",
|
|
536
543
|
"anyOf": [
|
|
@@ -629,6 +636,13 @@
|
|
|
629
636
|
{ "type": "null" }
|
|
630
637
|
]
|
|
631
638
|
},
|
|
639
|
+
"noUselessUndefined": {
|
|
640
|
+
"description": "Disallow the use of useless undefined.\nSee https://biomejs.dev/linter/rules/no-useless-undefined",
|
|
641
|
+
"anyOf": [
|
|
642
|
+
{ "$ref": "#/$defs/NoUselessUndefinedConfiguration" },
|
|
643
|
+
{ "type": "null" }
|
|
644
|
+
]
|
|
645
|
+
},
|
|
632
646
|
"noUselessUndefinedInitialization": {
|
|
633
647
|
"description": "Disallow initializing variables to undefined.\nSee https://biomejs.dev/linter/rules/no-useless-undefined-initialization",
|
|
634
648
|
"anyOf": [
|
|
@@ -682,6 +696,13 @@
|
|
|
682
696
|
{ "type": "null" }
|
|
683
697
|
]
|
|
684
698
|
},
|
|
699
|
+
"useMaxParams": {
|
|
700
|
+
"description": "Enforce a maximum number of parameters in function definitions.\nSee https://biomejs.dev/linter/rules/use-max-params",
|
|
701
|
+
"anyOf": [
|
|
702
|
+
{ "$ref": "#/$defs/UseMaxParamsConfiguration" },
|
|
703
|
+
{ "type": "null" }
|
|
704
|
+
]
|
|
705
|
+
},
|
|
685
706
|
"useNumericLiterals": {
|
|
686
707
|
"description": "Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals.\nSee https://biomejs.dev/linter/rules/use-numeric-literals",
|
|
687
708
|
"anyOf": [
|
|
@@ -905,6 +926,13 @@
|
|
|
905
926
|
{ "type": "null" }
|
|
906
927
|
]
|
|
907
928
|
},
|
|
929
|
+
"noNextAsyncClientComponent": {
|
|
930
|
+
"description": "Prevent client components from being async functions.\nSee https://biomejs.dev/linter/rules/no-next-async-client-component",
|
|
931
|
+
"anyOf": [
|
|
932
|
+
{ "$ref": "#/$defs/NoNextAsyncClientComponentConfiguration" },
|
|
933
|
+
{ "type": "null" }
|
|
934
|
+
]
|
|
935
|
+
},
|
|
908
936
|
"noNodejsModules": {
|
|
909
937
|
"description": "Forbid the use of Node.js builtin modules.\nSee https://biomejs.dev/linter/rules/no-nodejs-modules",
|
|
910
938
|
"anyOf": [
|
|
@@ -1087,6 +1115,13 @@
|
|
|
1087
1115
|
{ "type": "null" }
|
|
1088
1116
|
]
|
|
1089
1117
|
},
|
|
1118
|
+
"noUnresolvedImports": {
|
|
1119
|
+
"description": "Warn when importing non-existing exports.\nSee https://biomejs.dev/linter/rules/no-unresolved-imports",
|
|
1120
|
+
"anyOf": [
|
|
1121
|
+
{ "$ref": "#/$defs/NoUnresolvedImportsConfiguration" },
|
|
1122
|
+
{ "type": "null" }
|
|
1123
|
+
]
|
|
1124
|
+
},
|
|
1090
1125
|
"noUnsafeFinally": {
|
|
1091
1126
|
"description": "Disallow control flow statements in finally blocks.\nSee https://biomejs.dev/linter/rules/no-unsafe-finally",
|
|
1092
1127
|
"anyOf": [
|
|
@@ -1150,6 +1185,41 @@
|
|
|
1150
1185
|
{ "type": "null" }
|
|
1151
1186
|
]
|
|
1152
1187
|
},
|
|
1188
|
+
"noVueDataObjectDeclaration": {
|
|
1189
|
+
"description": "Enforce that Vue component data options are declared as functions.\nSee https://biomejs.dev/linter/rules/no-vue-data-object-declaration",
|
|
1190
|
+
"anyOf": [
|
|
1191
|
+
{ "$ref": "#/$defs/NoVueDataObjectDeclarationConfiguration" },
|
|
1192
|
+
{ "type": "null" }
|
|
1193
|
+
]
|
|
1194
|
+
},
|
|
1195
|
+
"noVueDuplicateKeys": {
|
|
1196
|
+
"description": "Disallow duplicate keys in Vue component data, methods, computed properties, and other options.\nSee https://biomejs.dev/linter/rules/no-vue-duplicate-keys",
|
|
1197
|
+
"anyOf": [
|
|
1198
|
+
{ "$ref": "#/$defs/NoVueDuplicateKeysConfiguration" },
|
|
1199
|
+
{ "type": "null" }
|
|
1200
|
+
]
|
|
1201
|
+
},
|
|
1202
|
+
"noVueReservedKeys": {
|
|
1203
|
+
"description": "Disallow reserved keys in Vue component data and computed properties.\nSee https://biomejs.dev/linter/rules/no-vue-reserved-keys",
|
|
1204
|
+
"anyOf": [
|
|
1205
|
+
{ "$ref": "#/$defs/NoVueReservedKeysConfiguration" },
|
|
1206
|
+
{ "type": "null" }
|
|
1207
|
+
]
|
|
1208
|
+
},
|
|
1209
|
+
"noVueReservedProps": {
|
|
1210
|
+
"description": "Disallow reserved names to be used as props.\nSee https://biomejs.dev/linter/rules/no-vue-reserved-props",
|
|
1211
|
+
"anyOf": [
|
|
1212
|
+
{ "$ref": "#/$defs/NoVueReservedPropsConfiguration" },
|
|
1213
|
+
{ "type": "null" }
|
|
1214
|
+
]
|
|
1215
|
+
},
|
|
1216
|
+
"noVueSetupPropsReactivityLoss": {
|
|
1217
|
+
"description": "Disallow destructuring of props passed to setup in Vue projects.\nSee https://biomejs.dev/linter/rules/no-vue-setup-props-reactivity-loss",
|
|
1218
|
+
"anyOf": [
|
|
1219
|
+
{ "$ref": "#/$defs/NoVueSetupPropsReactivityLossConfiguration" },
|
|
1220
|
+
{ "type": "null" }
|
|
1221
|
+
]
|
|
1222
|
+
},
|
|
1153
1223
|
"recommended": {
|
|
1154
1224
|
"description": "Enables the recommended rules for this group",
|
|
1155
1225
|
"type": ["boolean", "null"]
|
|
@@ -1224,6 +1294,20 @@
|
|
|
1224
1294
|
{ "type": "null" }
|
|
1225
1295
|
]
|
|
1226
1296
|
},
|
|
1297
|
+
"useQwikMethodUsage": {
|
|
1298
|
+
"description": "Disallow use* hooks outside of component$ or other use* hooks in Qwik applications.\nSee https://biomejs.dev/linter/rules/use-qwik-method-usage",
|
|
1299
|
+
"anyOf": [
|
|
1300
|
+
{ "$ref": "#/$defs/UseQwikMethodUsageConfiguration" },
|
|
1301
|
+
{ "type": "null" }
|
|
1302
|
+
]
|
|
1303
|
+
},
|
|
1304
|
+
"useQwikValidLexicalScope": {
|
|
1305
|
+
"description": "Disallow unserializable expressions in Qwik dollar ($) scopes.\nSee https://biomejs.dev/linter/rules/use-qwik-valid-lexical-scope",
|
|
1306
|
+
"anyOf": [
|
|
1307
|
+
{ "$ref": "#/$defs/UseQwikValidLexicalScopeConfiguration" },
|
|
1308
|
+
{ "type": "null" }
|
|
1309
|
+
]
|
|
1310
|
+
},
|
|
1227
1311
|
"useSingleJsDocAsterisk": {
|
|
1228
1312
|
"description": "Enforce JSDoc comment lines to start with a single asterisk, except for the first one.\nSee https://biomejs.dev/linter/rules/use-single-js-doc-asterisk",
|
|
1229
1313
|
"anyOf": [
|
|
@@ -1345,6 +1429,10 @@
|
|
|
1345
1429
|
"quoteStyle": {
|
|
1346
1430
|
"description": "The type of quotes used in CSS code. Defaults to double.",
|
|
1347
1431
|
"anyOf": [{ "$ref": "#/$defs/QuoteStyle" }, { "type": "null" }]
|
|
1432
|
+
},
|
|
1433
|
+
"trailingNewline": {
|
|
1434
|
+
"description": "Whether to add a trailing newline at the end of the file.\n\nSetting this option to `false` is **highly discouraged** because it could cause many problems with other tools:\n- <https://thoughtbot.com/blog/no-newline-at-end-of-file>\n- <https://callmeryan.medium.com/no-newline-at-end-of-file-navigating-gits-warning-for-android-developers-af14e73dd804>\n- <https://unix.stackexchange.com/questions/345548/how-to-cat-files-together-adding-missing-newlines-at-end-of-some-files>\n\nDisable the option at your own risk.\n\nDefaults to true.",
|
|
1435
|
+
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
|
|
1348
1436
|
}
|
|
1349
1437
|
},
|
|
1350
1438
|
"additionalProperties": false
|
|
@@ -1369,7 +1457,7 @@
|
|
|
1369
1457
|
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
|
|
1370
1458
|
},
|
|
1371
1459
|
"cssModules": {
|
|
1372
|
-
"description": "Enables parsing of CSS Modules specific features.",
|
|
1460
|
+
"description": "Enables parsing of CSS Modules specific features. Enable this feature only\nwhen your files don't end in `.module.css`.",
|
|
1373
1461
|
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
|
|
1374
1462
|
},
|
|
1375
1463
|
"tailwindDirectives": {
|
|
@@ -1583,8 +1671,12 @@
|
|
|
1583
1671
|
"description": "What's the max width of a line. Defaults to 80.",
|
|
1584
1672
|
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }]
|
|
1585
1673
|
},
|
|
1674
|
+
"trailingNewline": {
|
|
1675
|
+
"description": "Whether to add a trailing newline at the end of the file.\n\nSetting this option to `false` is **highly discouraged** because it could cause many problems with other tools:\n- <https://thoughtbot.com/blog/no-newline-at-end-of-file>\n- <https://callmeryan.medium.com/no-newline-at-end-of-file-navigating-gits-warning-for-android-developers-af14e73dd804>\n- <https://unix.stackexchange.com/questions/345548/how-to-cat-files-together-adding-missing-newlines-at-end-of-some-files>\n\nDisable the option at your own risk.\n\nDefaults to true.",
|
|
1676
|
+
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
|
|
1677
|
+
},
|
|
1586
1678
|
"useEditorconfig": {
|
|
1587
|
-
"description": "Use any `.editorconfig` files to configure the formatter. Configuration\nin `biome.json` will override `.editorconfig` configuration.\n\nDefault: `
|
|
1679
|
+
"description": "Use any `.editorconfig` files to configure the formatter. Configuration\nin `biome.json` will override `.editorconfig` configuration.\n\nDefault: `false`.",
|
|
1588
1680
|
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
|
|
1589
1681
|
}
|
|
1590
1682
|
},
|
|
@@ -1668,6 +1760,10 @@
|
|
|
1668
1760
|
"description": "The type of quotes used in GraphQL code. Defaults to double.",
|
|
1669
1761
|
"anyOf": [{ "$ref": "#/$defs/QuoteStyle" }, { "type": "null" }],
|
|
1670
1762
|
"default": null
|
|
1763
|
+
},
|
|
1764
|
+
"trailingNewline": {
|
|
1765
|
+
"description": "Whether to add a trailing newline at the end of the file.\n\nSetting this option to `false` is **highly discouraged** because it could cause many problems with other tools:\n- <https://thoughtbot.com/blog/no-newline-at-end-of-file>\n- <https://callmeryan.medium.com/no-newline-at-end-of-file-navigating-gits-warning-for-android-developers-af14e73dd804>\n- <https://unix.stackexchange.com/questions/345548/how-to-cat-files-together-adding-missing-newlines-at-end-of-some-files>\n\nDisable the option at your own risk.\n\nDefaults to true.",
|
|
1766
|
+
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
|
|
1671
1767
|
}
|
|
1672
1768
|
},
|
|
1673
1769
|
"additionalProperties": false
|
|
@@ -1744,6 +1840,10 @@
|
|
|
1744
1840
|
"lineWidth": {
|
|
1745
1841
|
"description": "What's the max width of a line applied to Grit files. Defaults to 80.",
|
|
1746
1842
|
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }]
|
|
1843
|
+
},
|
|
1844
|
+
"trailingNewline": {
|
|
1845
|
+
"description": "Whether to add a trailing newline at the end of the file.\n\nSetting this option to `false` is **highly discouraged** because it could cause many problems with other tools:\n- <https://thoughtbot.com/blog/no-newline-at-end-of-file>\n- <https://callmeryan.medium.com/no-newline-at-end-of-file-navigating-gits-warning-for-android-developers-af14e73dd804>\n- <https://unix.stackexchange.com/questions/345548/how-to-cat-files-together-adding-missing-newlines-at-end-of-some-files>\n\nDisable the option at your own risk.\n\nDefaults to true.",
|
|
1846
|
+
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
|
|
1747
1847
|
}
|
|
1748
1848
|
},
|
|
1749
1849
|
"additionalProperties": false
|
|
@@ -1920,6 +2020,10 @@
|
|
|
1920
2020
|
{ "type": "null" }
|
|
1921
2021
|
]
|
|
1922
2022
|
},
|
|
2023
|
+
"trailingNewline": {
|
|
2024
|
+
"description": "Whether to add a trailing newline at the end of the file.\n\nSetting this option to `false` is **highly discouraged** because it could cause many problems with other tools:\n- <https://thoughtbot.com/blog/no-newline-at-end-of-file>\n- <https://callmeryan.medium.com/no-newline-at-end-of-file-navigating-gits-warning-for-android-developers-af14e73dd804>\n- <https://unix.stackexchange.com/questions/345548/how-to-cat-files-together-adding-missing-newlines-at-end-of-some-files>\n\nDisable the option at your own risk.\n\nDefaults to true.",
|
|
2025
|
+
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
|
|
2026
|
+
},
|
|
1923
2027
|
"whitespaceSensitivity": {
|
|
1924
2028
|
"description": "Whether to account for whitespace sensitivity when formatting HTML (and its super languages). Defaults to \"css\".",
|
|
1925
2029
|
"anyOf": [
|
|
@@ -2018,6 +2122,10 @@
|
|
|
2018
2122
|
{ "type": "null" }
|
|
2019
2123
|
]
|
|
2020
2124
|
},
|
|
2125
|
+
"experimentalEmbeddedSnippetsEnabled": {
|
|
2126
|
+
"description": "Enables support for embedding snippets.",
|
|
2127
|
+
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
|
|
2128
|
+
},
|
|
2021
2129
|
"formatter": {
|
|
2022
2130
|
"description": "Formatting options",
|
|
2023
2131
|
"anyOf": [
|
|
@@ -2119,6 +2227,10 @@
|
|
|
2119
2227
|
"trailingCommas": {
|
|
2120
2228
|
"description": "Print trailing commas wherever possible in multi-line comma-separated syntactic structures. Defaults to \"all\".",
|
|
2121
2229
|
"anyOf": [{ "$ref": "#/$defs/JsTrailingCommas" }, { "type": "null" }]
|
|
2230
|
+
},
|
|
2231
|
+
"trailingNewline": {
|
|
2232
|
+
"description": "Whether to add a trailing newline at the end of the file.\n\nSetting this option to `false` is **highly discouraged** because it could cause many problems with other tools:\n- <https://thoughtbot.com/blog/no-newline-at-end-of-file>\n- <https://callmeryan.medium.com/no-newline-at-end-of-file-navigating-gits-warning-for-android-developers-af14e73dd804>\n- <https://unix.stackexchange.com/questions/345548/how-to-cat-files-together-adding-missing-newlines-at-end-of-some-files>\n\nDisable the option at your own risk.\n\nDefaults to true.",
|
|
2233
|
+
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
|
|
2122
2234
|
}
|
|
2123
2235
|
},
|
|
2124
2236
|
"additionalProperties": false
|
|
@@ -2241,6 +2353,10 @@
|
|
|
2241
2353
|
{ "$ref": "#/$defs/JsonTrailingCommas" },
|
|
2242
2354
|
{ "type": "null" }
|
|
2243
2355
|
]
|
|
2356
|
+
},
|
|
2357
|
+
"trailingNewline": {
|
|
2358
|
+
"description": "Whether to add a trailing newline at the end of the file.\n\nSetting this option to `false` is **highly discouraged** because it could cause many problems with other tools:\n- <https://thoughtbot.com/blog/no-newline-at-end-of-file>\n- <https://callmeryan.medium.com/no-newline-at-end-of-file-navigating-gits-warning-for-android-developers-af14e73dd804>\n- <https://unix.stackexchange.com/questions/345548/how-to-cat-files-together-adding-missing-newlines-at-end-of-some-files>\n\nDisable the option at your own risk.\n\nDefaults to true.",
|
|
2359
|
+
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
|
|
2244
2360
|
}
|
|
2245
2361
|
},
|
|
2246
2362
|
"additionalProperties": false
|
|
@@ -3066,6 +3182,28 @@
|
|
|
3066
3182
|
"type": "object",
|
|
3067
3183
|
"additionalProperties": false
|
|
3068
3184
|
},
|
|
3185
|
+
"NoDuplicateClassesConfiguration": {
|
|
3186
|
+
"oneOf": [
|
|
3187
|
+
{ "$ref": "#/$defs/RuleAssistPlainConfiguration" },
|
|
3188
|
+
{ "$ref": "#/$defs/RuleAssistWithNoDuplicateClassesOptions" }
|
|
3189
|
+
]
|
|
3190
|
+
},
|
|
3191
|
+
"NoDuplicateClassesOptions": {
|
|
3192
|
+
"type": "object",
|
|
3193
|
+
"properties": {
|
|
3194
|
+
"attributes": {
|
|
3195
|
+
"description": "Additional attributes that will be sorted.",
|
|
3196
|
+
"type": ["array", "null"],
|
|
3197
|
+
"items": { "type": "string" }
|
|
3198
|
+
},
|
|
3199
|
+
"functions": {
|
|
3200
|
+
"description": "Names of the functions or tagged templates that will be sorted.",
|
|
3201
|
+
"type": ["array", "null"],
|
|
3202
|
+
"items": { "type": "string" }
|
|
3203
|
+
}
|
|
3204
|
+
},
|
|
3205
|
+
"additionalProperties": false
|
|
3206
|
+
},
|
|
3069
3207
|
"NoDuplicateCustomPropertiesConfiguration": {
|
|
3070
3208
|
"oneOf": [
|
|
3071
3209
|
{ "$ref": "#/$defs/RulePlainConfiguration" },
|
|
@@ -4068,6 +4206,16 @@
|
|
|
4068
4206
|
"type": "object",
|
|
4069
4207
|
"additionalProperties": false
|
|
4070
4208
|
},
|
|
4209
|
+
"NoNestedPromisesConfiguration": {
|
|
4210
|
+
"oneOf": [
|
|
4211
|
+
{ "$ref": "#/$defs/RulePlainConfiguration" },
|
|
4212
|
+
{ "$ref": "#/$defs/RuleWithNoNestedPromisesOptions" }
|
|
4213
|
+
]
|
|
4214
|
+
},
|
|
4215
|
+
"NoNestedPromisesOptions": {
|
|
4216
|
+
"type": "object",
|
|
4217
|
+
"additionalProperties": false
|
|
4218
|
+
},
|
|
4071
4219
|
"NoNestedTernaryConfiguration": {
|
|
4072
4220
|
"oneOf": [
|
|
4073
4221
|
{ "$ref": "#/$defs/RulePlainConfiguration" },
|
|
@@ -4845,6 +4993,13 @@
|
|
|
4845
4993
|
},
|
|
4846
4994
|
"NoUnknownFunctionOptions": {
|
|
4847
4995
|
"type": "object",
|
|
4996
|
+
"properties": {
|
|
4997
|
+
"ignore": {
|
|
4998
|
+
"description": "A list of unknown function names to ignore (case-insensitive).",
|
|
4999
|
+
"type": "array",
|
|
5000
|
+
"items": { "type": "string" }
|
|
5001
|
+
}
|
|
5002
|
+
},
|
|
4848
5003
|
"additionalProperties": false
|
|
4849
5004
|
},
|
|
4850
5005
|
"NoUnknownMediaFeatureNameConfiguration": {
|
|
@@ -4865,6 +5020,13 @@
|
|
|
4865
5020
|
},
|
|
4866
5021
|
"NoUnknownPropertyOptions": {
|
|
4867
5022
|
"type": "object",
|
|
5023
|
+
"properties": {
|
|
5024
|
+
"ignore": {
|
|
5025
|
+
"description": "A list of unknown property names to ignore (case-insensitive).",
|
|
5026
|
+
"type": "array",
|
|
5027
|
+
"items": { "type": "string" }
|
|
5028
|
+
}
|
|
5029
|
+
},
|
|
4868
5030
|
"additionalProperties": false
|
|
4869
5031
|
},
|
|
4870
5032
|
"NoUnknownPseudoClassConfiguration": {
|
|
@@ -4875,6 +5037,13 @@
|
|
|
4875
5037
|
},
|
|
4876
5038
|
"NoUnknownPseudoClassOptions": {
|
|
4877
5039
|
"type": "object",
|
|
5040
|
+
"properties": {
|
|
5041
|
+
"ignore": {
|
|
5042
|
+
"description": "A list of unknown pseudo-class names to ignore (case-insensitive).",
|
|
5043
|
+
"type": "array",
|
|
5044
|
+
"items": { "type": "string" }
|
|
5045
|
+
}
|
|
5046
|
+
},
|
|
4878
5047
|
"additionalProperties": false
|
|
4879
5048
|
},
|
|
4880
5049
|
"NoUnknownPseudoElementConfiguration": {
|
|
@@ -4885,6 +5054,13 @@
|
|
|
4885
5054
|
},
|
|
4886
5055
|
"NoUnknownPseudoElementOptions": {
|
|
4887
5056
|
"type": "object",
|
|
5057
|
+
"properties": {
|
|
5058
|
+
"ignore": {
|
|
5059
|
+
"description": "A list of unknown pseudo-element names to ignore (case-insensitive).",
|
|
5060
|
+
"type": "array",
|
|
5061
|
+
"items": { "type": "string" }
|
|
5062
|
+
}
|
|
5063
|
+
},
|
|
4888
5064
|
"additionalProperties": false
|
|
4889
5065
|
},
|
|
4890
5066
|
"NoUnknownTypeSelectorConfiguration": {
|
|
@@ -5211,6 +5387,16 @@
|
|
|
5211
5387
|
"type": "object",
|
|
5212
5388
|
"additionalProperties": false
|
|
5213
5389
|
},
|
|
5390
|
+
"NoUselessReturnConfiguration": {
|
|
5391
|
+
"oneOf": [
|
|
5392
|
+
{ "$ref": "#/$defs/RulePlainConfiguration" },
|
|
5393
|
+
{ "$ref": "#/$defs/RuleWithNoUselessReturnOptions" }
|
|
5394
|
+
]
|
|
5395
|
+
},
|
|
5396
|
+
"NoUselessReturnOptions": {
|
|
5397
|
+
"type": "object",
|
|
5398
|
+
"additionalProperties": false
|
|
5399
|
+
},
|
|
5214
5400
|
"NoUselessStringConcatConfiguration": {
|
|
5215
5401
|
"oneOf": [
|
|
5216
5402
|
{ "$ref": "#/$defs/RulePlainConfiguration" },
|
|
@@ -5460,13 +5646,6 @@
|
|
|
5460
5646
|
{ "type": "null" }
|
|
5461
5647
|
]
|
|
5462
5648
|
},
|
|
5463
|
-
"noDeprecatedImports": {
|
|
5464
|
-
"description": "Restrict imports of deprecated exports.\nSee https://biomejs.dev/linter/rules/no-deprecated-imports",
|
|
5465
|
-
"anyOf": [
|
|
5466
|
-
{ "$ref": "#/$defs/NoDeprecatedImportsConfiguration" },
|
|
5467
|
-
{ "type": "null" }
|
|
5468
|
-
]
|
|
5469
|
-
},
|
|
5470
5649
|
"noDeprecatedMediaType": {
|
|
5471
5650
|
"description": "Disallow deprecated media types.\nSee https://biomejs.dev/linter/rules/no-deprecated-media-type",
|
|
5472
5651
|
"anyOf": [
|
|
@@ -5495,13 +5674,6 @@
|
|
|
5495
5674
|
{ "type": "null" }
|
|
5496
5675
|
]
|
|
5497
5676
|
},
|
|
5498
|
-
"noDuplicateDependencies": {
|
|
5499
|
-
"description": "Prevent the listing of duplicate dependencies. The rule supports the following dependency groups: \"bundledDependencies\", \"bundleDependencies\", \"dependencies\", \"devDependencies\", \"overrides\", \"optionalDependencies\", and \"peerDependencies\".\nSee https://biomejs.dev/linter/rules/no-duplicate-dependencies",
|
|
5500
|
-
"anyOf": [
|
|
5501
|
-
{ "$ref": "#/$defs/NoDuplicateDependenciesConfiguration" },
|
|
5502
|
-
{ "type": "null" }
|
|
5503
|
-
]
|
|
5504
|
-
},
|
|
5505
5677
|
"noDuplicateEnumValueNames": {
|
|
5506
5678
|
"description": "Require all enum value names to be unique.\nSee https://biomejs.dev/linter/rules/no-duplicate-enum-value-names",
|
|
5507
5679
|
"anyOf": [
|
|
@@ -5551,13 +5723,6 @@
|
|
|
5551
5723
|
{ "type": "null" }
|
|
5552
5724
|
]
|
|
5553
5725
|
},
|
|
5554
|
-
"noEmptySource": {
|
|
5555
|
-
"description": "Disallow empty sources.\nSee https://biomejs.dev/linter/rules/no-empty-source",
|
|
5556
|
-
"anyOf": [
|
|
5557
|
-
{ "$ref": "#/$defs/NoEmptySourceConfiguration" },
|
|
5558
|
-
{ "type": "null" }
|
|
5559
|
-
]
|
|
5560
|
-
},
|
|
5561
5726
|
"noEqualsToNull": {
|
|
5562
5727
|
"description": "Require the use of === or !== for comparison with null.\nSee https://biomejs.dev/linter/rules/no-equals-to-null",
|
|
5563
5728
|
"anyOf": [
|
|
@@ -5607,13 +5772,6 @@
|
|
|
5607
5772
|
{ "type": "null" }
|
|
5608
5773
|
]
|
|
5609
5774
|
},
|
|
5610
|
-
"noImportCycles": {
|
|
5611
|
-
"description": "Prevent import cycles.\nSee https://biomejs.dev/linter/rules/no-import-cycles",
|
|
5612
|
-
"anyOf": [
|
|
5613
|
-
{ "$ref": "#/$defs/NoImportCyclesConfiguration" },
|
|
5614
|
-
{ "type": "null" }
|
|
5615
|
-
]
|
|
5616
|
-
},
|
|
5617
5775
|
"noIncrementDecrement": {
|
|
5618
5776
|
"description": "Disallows the usage of the unary operators ++ and --.\nSee https://biomejs.dev/linter/rules/no-increment-decrement",
|
|
5619
5777
|
"anyOf": [
|
|
@@ -5621,13 +5779,6 @@
|
|
|
5621
5779
|
{ "type": "null" }
|
|
5622
5780
|
]
|
|
5623
5781
|
},
|
|
5624
|
-
"noJsxLiterals": {
|
|
5625
|
-
"description": "Disallow string literals inside JSX elements.\nSee https://biomejs.dev/linter/rules/no-jsx-literals",
|
|
5626
|
-
"anyOf": [
|
|
5627
|
-
{ "$ref": "#/$defs/NoJsxLiteralsConfiguration" },
|
|
5628
|
-
{ "type": "null" }
|
|
5629
|
-
]
|
|
5630
|
-
},
|
|
5631
5782
|
"noJsxPropsBind": {
|
|
5632
5783
|
"description": "Disallow .bind(), arrow functions, or function expressions in JSX props.\nSee https://biomejs.dev/linter/rules/no-jsx-props-bind",
|
|
5633
5784
|
"anyOf": [
|
|
@@ -5663,10 +5814,10 @@
|
|
|
5663
5814
|
{ "type": "null" }
|
|
5664
5815
|
]
|
|
5665
5816
|
},
|
|
5666
|
-
"
|
|
5667
|
-
"description": "
|
|
5817
|
+
"noNestedPromises": {
|
|
5818
|
+
"description": "Disallow nested .then() or .catch() promise calls.\nSee https://biomejs.dev/linter/rules/no-nested-promises",
|
|
5668
5819
|
"anyOf": [
|
|
5669
|
-
{ "$ref": "#/$defs/
|
|
5820
|
+
{ "$ref": "#/$defs/NoNestedPromisesConfiguration" },
|
|
5670
5821
|
{ "type": "null" }
|
|
5671
5822
|
]
|
|
5672
5823
|
},
|
|
@@ -5684,13 +5835,6 @@
|
|
|
5684
5835
|
{ "type": "null" }
|
|
5685
5836
|
]
|
|
5686
5837
|
},
|
|
5687
|
-
"noReactForwardRef": {
|
|
5688
|
-
"description": "Replaces usages of forwardRef with passing ref as a prop.\nSee https://biomejs.dev/linter/rules/no-react-forward-ref",
|
|
5689
|
-
"anyOf": [
|
|
5690
|
-
{ "$ref": "#/$defs/NoReactForwardRefConfiguration" },
|
|
5691
|
-
{ "type": "null" }
|
|
5692
|
-
]
|
|
5693
|
-
},
|
|
5694
5838
|
"noRedundantDefaultExport": {
|
|
5695
5839
|
"description": "Checks if a default export exports the same symbol as a named export.\nSee https://biomejs.dev/linter/rules/no-redundant-default-export",
|
|
5696
5840
|
"anyOf": [
|
|
@@ -5761,31 +5905,10 @@
|
|
|
5761
5905
|
{ "type": "null" }
|
|
5762
5906
|
]
|
|
5763
5907
|
},
|
|
5764
|
-
"
|
|
5765
|
-
"description": "
|
|
5766
|
-
"anyOf": [
|
|
5767
|
-
{ "$ref": "#/$defs/NoUnresolvedImportsConfiguration" },
|
|
5768
|
-
{ "type": "null" }
|
|
5769
|
-
]
|
|
5770
|
-
},
|
|
5771
|
-
"noUnusedExpressions": {
|
|
5772
|
-
"description": "Disallow expression statements that are neither a function call nor an assignment.\nSee https://biomejs.dev/linter/rules/no-unused-expressions",
|
|
5773
|
-
"anyOf": [
|
|
5774
|
-
{ "$ref": "#/$defs/NoUnusedExpressionsConfiguration" },
|
|
5775
|
-
{ "type": "null" }
|
|
5776
|
-
]
|
|
5777
|
-
},
|
|
5778
|
-
"noUselessCatchBinding": {
|
|
5779
|
-
"description": "Disallow unused catch bindings.\nSee https://biomejs.dev/linter/rules/no-useless-catch-binding",
|
|
5780
|
-
"anyOf": [
|
|
5781
|
-
{ "$ref": "#/$defs/NoUselessCatchBindingConfiguration" },
|
|
5782
|
-
{ "type": "null" }
|
|
5783
|
-
]
|
|
5784
|
-
},
|
|
5785
|
-
"noUselessUndefined": {
|
|
5786
|
-
"description": "Disallow the use of useless undefined.\nSee https://biomejs.dev/linter/rules/no-useless-undefined",
|
|
5908
|
+
"noUselessReturn": {
|
|
5909
|
+
"description": "Disallow redundant return statements.\nSee https://biomejs.dev/linter/rules/no-useless-return",
|
|
5787
5910
|
"anyOf": [
|
|
5788
|
-
{ "$ref": "#/$defs/
|
|
5911
|
+
{ "$ref": "#/$defs/NoUselessReturnConfiguration" },
|
|
5789
5912
|
{ "type": "null" }
|
|
5790
5913
|
]
|
|
5791
5914
|
},
|
|
@@ -5796,20 +5919,6 @@
|
|
|
5796
5919
|
{ "type": "null" }
|
|
5797
5920
|
]
|
|
5798
5921
|
},
|
|
5799
|
-
"noVueDataObjectDeclaration": {
|
|
5800
|
-
"description": "Enforce that Vue component data options are declared as functions.\nSee https://biomejs.dev/linter/rules/no-vue-data-object-declaration",
|
|
5801
|
-
"anyOf": [
|
|
5802
|
-
{ "$ref": "#/$defs/NoVueDataObjectDeclarationConfiguration" },
|
|
5803
|
-
{ "type": "null" }
|
|
5804
|
-
]
|
|
5805
|
-
},
|
|
5806
|
-
"noVueDuplicateKeys": {
|
|
5807
|
-
"description": "Disallow duplicate keys in Vue component data, methods, computed properties, and other options.\nSee https://biomejs.dev/linter/rules/no-vue-duplicate-keys",
|
|
5808
|
-
"anyOf": [
|
|
5809
|
-
{ "$ref": "#/$defs/NoVueDuplicateKeysConfiguration" },
|
|
5810
|
-
{ "type": "null" }
|
|
5811
|
-
]
|
|
5812
|
-
},
|
|
5813
5922
|
"noVueOptionsApi": {
|
|
5814
5923
|
"description": "Disallow the use of Vue Options API.\nSee https://biomejs.dev/linter/rules/no-vue-options-api",
|
|
5815
5924
|
"anyOf": [
|
|
@@ -5817,27 +5926,6 @@
|
|
|
5817
5926
|
{ "type": "null" }
|
|
5818
5927
|
]
|
|
5819
5928
|
},
|
|
5820
|
-
"noVueReservedKeys": {
|
|
5821
|
-
"description": "Disallow reserved keys in Vue component data and computed properties.\nSee https://biomejs.dev/linter/rules/no-vue-reserved-keys",
|
|
5822
|
-
"anyOf": [
|
|
5823
|
-
{ "$ref": "#/$defs/NoVueReservedKeysConfiguration" },
|
|
5824
|
-
{ "type": "null" }
|
|
5825
|
-
]
|
|
5826
|
-
},
|
|
5827
|
-
"noVueReservedProps": {
|
|
5828
|
-
"description": "Disallow reserved names to be used as props.\nSee https://biomejs.dev/linter/rules/no-vue-reserved-props",
|
|
5829
|
-
"anyOf": [
|
|
5830
|
-
{ "$ref": "#/$defs/NoVueReservedPropsConfiguration" },
|
|
5831
|
-
{ "type": "null" }
|
|
5832
|
-
]
|
|
5833
|
-
},
|
|
5834
|
-
"noVueSetupPropsReactivityLoss": {
|
|
5835
|
-
"description": "Disallow destructuring of props passed to setup in Vue projects.\nSee https://biomejs.dev/linter/rules/no-vue-setup-props-reactivity-loss",
|
|
5836
|
-
"anyOf": [
|
|
5837
|
-
{ "$ref": "#/$defs/NoVueSetupPropsReactivityLossConfiguration" },
|
|
5838
|
-
{ "type": "null" }
|
|
5839
|
-
]
|
|
5840
|
-
},
|
|
5841
5929
|
"noVueVIfWithVFor": {
|
|
5842
5930
|
"description": "Disallow using v-if and v-for directives on the same element.\nSee https://biomejs.dev/linter/rules/no-vue-v-if-with-v-for",
|
|
5843
5931
|
"anyOf": [
|
|
@@ -5863,13 +5951,6 @@
|
|
|
5863
5951
|
{ "type": "null" }
|
|
5864
5952
|
]
|
|
5865
5953
|
},
|
|
5866
|
-
"useConsistentArrowReturn": {
|
|
5867
|
-
"description": "Enforce consistent arrow function bodies.\nSee https://biomejs.dev/linter/rules/use-consistent-arrow-return",
|
|
5868
|
-
"anyOf": [
|
|
5869
|
-
{ "$ref": "#/$defs/UseConsistentArrowReturnConfiguration" },
|
|
5870
|
-
{ "type": "null" }
|
|
5871
|
-
]
|
|
5872
|
-
},
|
|
5873
5954
|
"useConsistentEnumValueType": {
|
|
5874
5955
|
"description": "Disallow enums from having both number and string members.\nSee https://biomejs.dev/linter/rules/use-consistent-enum-value-type",
|
|
5875
5956
|
"anyOf": [
|
|
@@ -5891,13 +5972,6 @@
|
|
|
5891
5972
|
{ "type": "null" }
|
|
5892
5973
|
]
|
|
5893
5974
|
},
|
|
5894
|
-
"useDeprecatedDate": {
|
|
5895
|
-
"description": "Require the @deprecated directive to specify a deletion date.\nSee https://biomejs.dev/linter/rules/use-deprecated-date",
|
|
5896
|
-
"anyOf": [
|
|
5897
|
-
{ "$ref": "#/$defs/UseDeprecatedDateConfiguration" },
|
|
5898
|
-
{ "type": "null" }
|
|
5899
|
-
]
|
|
5900
|
-
},
|
|
5901
5975
|
"useDestructuring": {
|
|
5902
5976
|
"description": "Require destructuring from arrays and/or objects.\nSee https://biomejs.dev/linter/rules/use-destructuring",
|
|
5903
5977
|
"anyOf": [
|
|
@@ -5968,27 +6042,6 @@
|
|
|
5968
6042
|
{ "type": "null" }
|
|
5969
6043
|
]
|
|
5970
6044
|
},
|
|
5971
|
-
"useMaxParams": {
|
|
5972
|
-
"description": "Enforce a maximum number of parameters in function definitions.\nSee https://biomejs.dev/linter/rules/use-max-params",
|
|
5973
|
-
"anyOf": [
|
|
5974
|
-
{ "$ref": "#/$defs/UseMaxParamsConfiguration" },
|
|
5975
|
-
{ "type": "null" }
|
|
5976
|
-
]
|
|
5977
|
-
},
|
|
5978
|
-
"useQwikMethodUsage": {
|
|
5979
|
-
"description": "Disallow use* hooks outside of component$ or other use* hooks in Qwik applications.\nSee https://biomejs.dev/linter/rules/use-qwik-method-usage",
|
|
5980
|
-
"anyOf": [
|
|
5981
|
-
{ "$ref": "#/$defs/UseQwikMethodUsageConfiguration" },
|
|
5982
|
-
{ "type": "null" }
|
|
5983
|
-
]
|
|
5984
|
-
},
|
|
5985
|
-
"useQwikValidLexicalScope": {
|
|
5986
|
-
"description": "Disallow unserializable expressions in Qwik dollar ($) scopes.\nSee https://biomejs.dev/linter/rules/use-qwik-valid-lexical-scope",
|
|
5987
|
-
"anyOf": [
|
|
5988
|
-
{ "$ref": "#/$defs/UseQwikValidLexicalScopeConfiguration" },
|
|
5989
|
-
{ "type": "null" }
|
|
5990
|
-
]
|
|
5991
|
-
},
|
|
5992
6045
|
"useRegexpExec": {
|
|
5993
6046
|
"description": "Enforce RegExp#exec over String#match if no global flag is provided.\nSee https://biomejs.dev/linter/rules/use-regexp-exec",
|
|
5994
6047
|
"anyOf": [
|
|
@@ -6266,6 +6319,10 @@
|
|
|
6266
6319
|
"lineWidth": {
|
|
6267
6320
|
"description": "What's the max width of a line. Defaults to 80.",
|
|
6268
6321
|
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }]
|
|
6322
|
+
},
|
|
6323
|
+
"trailingNewline": {
|
|
6324
|
+
"description": "Whether to add a trailing newline at the end of the file.\n\nSetting this option to `false` is **highly discouraged** because it could cause many problems with other tools:\n- <https://thoughtbot.com/blog/no-newline-at-end-of-file>\n- <https://callmeryan.medium.com/no-newline-at-end-of-file-navigating-gits-warning-for-android-developers-af14e73dd804>\n- <https://unix.stackexchange.com/questions/345548/how-to-cat-files-together-adding-missing-newlines-at-end-of-some-files>\n\nDisable the option at your own risk.\n\nDefaults to true.",
|
|
6325
|
+
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
|
|
6269
6326
|
}
|
|
6270
6327
|
},
|
|
6271
6328
|
"additionalProperties": false
|
|
@@ -6541,6 +6598,14 @@
|
|
|
6541
6598
|
"enum": ["abstract", "private", "protected", "readonly", "static"]
|
|
6542
6599
|
},
|
|
6543
6600
|
"RuleAssistPlainConfiguration": { "type": "string", "enum": ["off", "on"] },
|
|
6601
|
+
"RuleAssistWithNoDuplicateClassesOptions": {
|
|
6602
|
+
"type": "object",
|
|
6603
|
+
"properties": {
|
|
6604
|
+
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
|
|
6605
|
+
"options": { "$ref": "#/$defs/NoDuplicateClassesOptions" }
|
|
6606
|
+
},
|
|
6607
|
+
"required": ["level", "options"]
|
|
6608
|
+
},
|
|
6544
6609
|
"RuleAssistWithOrganizeImportsOptions": {
|
|
6545
6610
|
"type": "object",
|
|
6546
6611
|
"properties": {
|
|
@@ -6557,6 +6622,14 @@
|
|
|
6557
6622
|
},
|
|
6558
6623
|
"required": ["level", "options"]
|
|
6559
6624
|
},
|
|
6625
|
+
"RuleAssistWithUseSortedInterfaceMembersOptions": {
|
|
6626
|
+
"type": "object",
|
|
6627
|
+
"properties": {
|
|
6628
|
+
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
|
|
6629
|
+
"options": { "$ref": "#/$defs/UseSortedInterfaceMembersOptions" }
|
|
6630
|
+
},
|
|
6631
|
+
"required": ["level", "options"]
|
|
6632
|
+
},
|
|
6560
6633
|
"RuleAssistWithUseSortedKeysOptions": {
|
|
6561
6634
|
"type": "object",
|
|
6562
6635
|
"properties": {
|
|
@@ -6616,6 +6689,11 @@
|
|
|
6616
6689
|
"description": "Turborepo build system rules",
|
|
6617
6690
|
"type": "string",
|
|
6618
6691
|
"const": "turborepo"
|
|
6692
|
+
},
|
|
6693
|
+
{
|
|
6694
|
+
"description": "Rules that require type inference",
|
|
6695
|
+
"type": "string",
|
|
6696
|
+
"const": "types"
|
|
6619
6697
|
}
|
|
6620
6698
|
]
|
|
6621
6699
|
},
|
|
@@ -8079,6 +8157,15 @@
|
|
|
8079
8157
|
"additionalProperties": false,
|
|
8080
8158
|
"required": ["level"]
|
|
8081
8159
|
},
|
|
8160
|
+
"RuleWithNoNestedPromisesOptions": {
|
|
8161
|
+
"type": "object",
|
|
8162
|
+
"properties": {
|
|
8163
|
+
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
|
|
8164
|
+
"options": { "$ref": "#/$defs/NoNestedPromisesOptions" }
|
|
8165
|
+
},
|
|
8166
|
+
"additionalProperties": false,
|
|
8167
|
+
"required": ["level"]
|
|
8168
|
+
},
|
|
8082
8169
|
"RuleWithNoNestedTernaryOptions": {
|
|
8083
8170
|
"type": "object",
|
|
8084
8171
|
"properties": {
|
|
@@ -9079,6 +9166,16 @@
|
|
|
9079
9166
|
"additionalProperties": false,
|
|
9080
9167
|
"required": ["level"]
|
|
9081
9168
|
},
|
|
9169
|
+
"RuleWithNoUselessReturnOptions": {
|
|
9170
|
+
"type": "object",
|
|
9171
|
+
"properties": {
|
|
9172
|
+
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
|
|
9173
|
+
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
|
|
9174
|
+
"options": { "$ref": "#/$defs/NoUselessReturnOptions" }
|
|
9175
|
+
},
|
|
9176
|
+
"additionalProperties": false,
|
|
9177
|
+
"required": ["level"]
|
|
9178
|
+
},
|
|
9082
9179
|
"RuleWithNoUselessStringConcatOptions": {
|
|
9083
9180
|
"type": "object",
|
|
9084
9181
|
"properties": {
|
|
@@ -10950,6 +11047,13 @@
|
|
|
10950
11047
|
"description": "A list of rules that belong to this group",
|
|
10951
11048
|
"type": "object",
|
|
10952
11049
|
"properties": {
|
|
11050
|
+
"noDuplicateClasses": {
|
|
11051
|
+
"description": "Remove duplicate CSS classes.\nSee https://biomejs.dev/assist/actions/no-duplicate-classes",
|
|
11052
|
+
"anyOf": [
|
|
11053
|
+
{ "$ref": "#/$defs/NoDuplicateClassesConfiguration" },
|
|
11054
|
+
{ "type": "null" }
|
|
11055
|
+
]
|
|
11056
|
+
},
|
|
10953
11057
|
"organizeImports": {
|
|
10954
11058
|
"description": "Provides a code action to sort the imports and exports in the file using a built-in or custom order.\nSee https://biomejs.dev/assist/actions/organize-imports",
|
|
10955
11059
|
"anyOf": [
|
|
@@ -10968,6 +11072,13 @@
|
|
|
10968
11072
|
{ "type": "null" }
|
|
10969
11073
|
]
|
|
10970
11074
|
},
|
|
11075
|
+
"useSortedInterfaceMembers": {
|
|
11076
|
+
"description": "Sort interface members by key.\nSee https://biomejs.dev/assist/actions/use-sorted-interface-members",
|
|
11077
|
+
"anyOf": [
|
|
11078
|
+
{ "$ref": "#/$defs/UseSortedInterfaceMembersConfiguration" },
|
|
11079
|
+
{ "type": "null" }
|
|
11080
|
+
]
|
|
11081
|
+
},
|
|
10971
11082
|
"useSortedKeys": {
|
|
10972
11083
|
"description": "Sort the keys of a JSON object in natural order.\nSee https://biomejs.dev/assist/actions/use-sorted-keys",
|
|
10973
11084
|
"anyOf": [
|
|
@@ -11089,6 +11200,13 @@
|
|
|
11089
11200
|
{ "type": "null" }
|
|
11090
11201
|
]
|
|
11091
11202
|
},
|
|
11203
|
+
"noJsxLiterals": {
|
|
11204
|
+
"description": "Disallow string literals inside JSX elements.\nSee https://biomejs.dev/linter/rules/no-jsx-literals",
|
|
11205
|
+
"anyOf": [
|
|
11206
|
+
{ "$ref": "#/$defs/NoJsxLiteralsConfiguration" },
|
|
11207
|
+
{ "type": "null" }
|
|
11208
|
+
]
|
|
11209
|
+
},
|
|
11092
11210
|
"noMagicNumbers": {
|
|
11093
11211
|
"description": "Reports usage of \"magic numbers\" — numbers used directly instead of being assigned to named constants.\nSee https://biomejs.dev/linter/rules/no-magic-numbers",
|
|
11094
11212
|
"anyOf": [
|
|
@@ -11195,7 +11313,7 @@
|
|
|
11195
11313
|
]
|
|
11196
11314
|
},
|
|
11197
11315
|
"noValueAtRule": {
|
|
11198
|
-
"description": "Disallow use of @value rule in
|
|
11316
|
+
"description": "Disallow use of @value rule in CSS modules.\nSee https://biomejs.dev/linter/rules/no-value-at-rule",
|
|
11199
11317
|
"anyOf": [
|
|
11200
11318
|
{ "$ref": "#/$defs/NoValueAtRuleConfiguration" },
|
|
11201
11319
|
{ "type": "null" }
|
|
@@ -11268,6 +11386,13 @@
|
|
|
11268
11386
|
{ "type": "null" }
|
|
11269
11387
|
]
|
|
11270
11388
|
},
|
|
11389
|
+
"useConsistentArrowReturn": {
|
|
11390
|
+
"description": "Enforce consistent arrow function bodies.\nSee https://biomejs.dev/linter/rules/use-consistent-arrow-return",
|
|
11391
|
+
"anyOf": [
|
|
11392
|
+
{ "$ref": "#/$defs/UseConsistentArrowReturnConfiguration" },
|
|
11393
|
+
{ "type": "null" }
|
|
11394
|
+
]
|
|
11395
|
+
},
|
|
11271
11396
|
"useConsistentBuiltinInstantiation": {
|
|
11272
11397
|
"description": "Enforce the use of new for all builtins, except String, Number and Boolean.\nSee https://biomejs.dev/linter/rules/use-consistent-builtin-instantiation",
|
|
11273
11398
|
"anyOf": [
|
|
@@ -11676,6 +11801,13 @@
|
|
|
11676
11801
|
{ "type": "null" }
|
|
11677
11802
|
]
|
|
11678
11803
|
},
|
|
11804
|
+
"noDeprecatedImports": {
|
|
11805
|
+
"description": "Restrict imports of deprecated exports.\nSee https://biomejs.dev/linter/rules/no-deprecated-imports",
|
|
11806
|
+
"anyOf": [
|
|
11807
|
+
{ "$ref": "#/$defs/NoDeprecatedImportsConfiguration" },
|
|
11808
|
+
{ "type": "null" }
|
|
11809
|
+
]
|
|
11810
|
+
},
|
|
11679
11811
|
"noDocumentCookie": {
|
|
11680
11812
|
"description": "Disallow direct assignments to document.cookie.\nSee https://biomejs.dev/linter/rules/no-document-cookie",
|
|
11681
11813
|
"anyOf": [
|
|
@@ -11725,6 +11857,13 @@
|
|
|
11725
11857
|
{ "type": "null" }
|
|
11726
11858
|
]
|
|
11727
11859
|
},
|
|
11860
|
+
"noDuplicateDependencies": {
|
|
11861
|
+
"description": "Prevent the listing of duplicate dependencies. The rule supports the following dependency groups: \"bundledDependencies\", \"bundleDependencies\", \"dependencies\", \"devDependencies\", \"overrides\", \"optionalDependencies\", and \"peerDependencies\".\nSee https://biomejs.dev/linter/rules/no-duplicate-dependencies",
|
|
11862
|
+
"anyOf": [
|
|
11863
|
+
{ "$ref": "#/$defs/NoDuplicateDependenciesConfiguration" },
|
|
11864
|
+
{ "type": "null" }
|
|
11865
|
+
]
|
|
11866
|
+
},
|
|
11728
11867
|
"noDuplicateElseIf": {
|
|
11729
11868
|
"description": "Disallow duplicate conditions in if-else-if chains.\nSee https://biomejs.dev/linter/rules/no-duplicate-else-if",
|
|
11730
11869
|
"anyOf": [
|
|
@@ -11811,6 +11950,13 @@
|
|
|
11811
11950
|
{ "type": "null" }
|
|
11812
11951
|
]
|
|
11813
11952
|
},
|
|
11953
|
+
"noEmptySource": {
|
|
11954
|
+
"description": "Disallow empty sources.\nSee https://biomejs.dev/linter/rules/no-empty-source",
|
|
11955
|
+
"anyOf": [
|
|
11956
|
+
{ "$ref": "#/$defs/NoEmptySourceConfiguration" },
|
|
11957
|
+
{ "type": "null" }
|
|
11958
|
+
]
|
|
11959
|
+
},
|
|
11814
11960
|
"noEvolvingTypes": {
|
|
11815
11961
|
"description": "Disallow variables from evolving into any type through reassignments.\nSee https://biomejs.dev/linter/rules/no-evolving-types",
|
|
11816
11962
|
"anyOf": [
|
|
@@ -11902,6 +12048,13 @@
|
|
|
11902
12048
|
{ "type": "null" }
|
|
11903
12049
|
]
|
|
11904
12050
|
},
|
|
12051
|
+
"noImportCycles": {
|
|
12052
|
+
"description": "Prevent import cycles.\nSee https://biomejs.dev/linter/rules/no-import-cycles",
|
|
12053
|
+
"anyOf": [
|
|
12054
|
+
{ "$ref": "#/$defs/NoImportCyclesConfiguration" },
|
|
12055
|
+
{ "type": "null" }
|
|
12056
|
+
]
|
|
12057
|
+
},
|
|
11905
12058
|
"noImportantInKeyframe": {
|
|
11906
12059
|
"description": "Disallow invalid !important within keyframe declarations.\nSee https://biomejs.dev/linter/rules/no-important-in-keyframe",
|
|
11907
12060
|
"anyOf": [
|
|
@@ -11979,6 +12132,13 @@
|
|
|
11979
12132
|
{ "type": "null" }
|
|
11980
12133
|
]
|
|
11981
12134
|
},
|
|
12135
|
+
"noReactForwardRef": {
|
|
12136
|
+
"description": "Replaces usages of forwardRef with passing ref as a prop.\nSee https://biomejs.dev/linter/rules/no-react-forward-ref",
|
|
12137
|
+
"anyOf": [
|
|
12138
|
+
{ "$ref": "#/$defs/NoReactForwardRefConfiguration" },
|
|
12139
|
+
{ "type": "null" }
|
|
12140
|
+
]
|
|
12141
|
+
},
|
|
11982
12142
|
"noReactSpecificProps": {
|
|
11983
12143
|
"description": "Prevents React-specific JSX properties from being used.\nSee https://biomejs.dev/linter/rules/no-react-specific-props",
|
|
11984
12144
|
"anyOf": [
|
|
@@ -12091,6 +12251,13 @@
|
|
|
12091
12251
|
{ "type": "null" }
|
|
12092
12252
|
]
|
|
12093
12253
|
},
|
|
12254
|
+
"noUnusedExpressions": {
|
|
12255
|
+
"description": "Disallow expression statements that are neither a function call nor an assignment.\nSee https://biomejs.dev/linter/rules/no-unused-expressions",
|
|
12256
|
+
"anyOf": [
|
|
12257
|
+
{ "$ref": "#/$defs/NoUnusedExpressionsConfiguration" },
|
|
12258
|
+
{ "type": "null" }
|
|
12259
|
+
]
|
|
12260
|
+
},
|
|
12094
12261
|
"noUselessEscapeInString": {
|
|
12095
12262
|
"description": "Disallow unnecessary escapes in string literals.\nSee https://biomejs.dev/linter/rules/no-useless-escape-in-string",
|
|
12096
12263
|
"anyOf": [
|
|
@@ -12151,6 +12318,13 @@
|
|
|
12151
12318
|
{ "type": "null" }
|
|
12152
12319
|
]
|
|
12153
12320
|
},
|
|
12321
|
+
"useDeprecatedDate": {
|
|
12322
|
+
"description": "Require the @deprecated directive to specify a deletion date.\nSee https://biomejs.dev/linter/rules/use-deprecated-date",
|
|
12323
|
+
"anyOf": [
|
|
12324
|
+
{ "$ref": "#/$defs/UseDeprecatedDateConfiguration" },
|
|
12325
|
+
{ "type": "null" }
|
|
12326
|
+
]
|
|
12327
|
+
},
|
|
12154
12328
|
"useErrorMessage": {
|
|
12155
12329
|
"description": "Enforce passing a message value when creating a built-in error.\nSee https://biomejs.dev/linter/rules/use-error-message",
|
|
12156
12330
|
"anyOf": [
|
|
@@ -12224,6 +12398,7 @@
|
|
|
12224
12398
|
},
|
|
12225
12399
|
"additionalProperties": false
|
|
12226
12400
|
},
|
|
12401
|
+
"TrailingNewline": { "type": "boolean" },
|
|
12227
12402
|
"UseAdjacentOverloadSignaturesConfiguration": {
|
|
12228
12403
|
"oneOf": [
|
|
12229
12404
|
{ "$ref": "#/$defs/RulePlainConfiguration" },
|
|
@@ -12969,6 +13144,14 @@
|
|
|
12969
13144
|
},
|
|
12970
13145
|
"UseHookAtTopLevelOptions": {
|
|
12971
13146
|
"type": "object",
|
|
13147
|
+
"properties": {
|
|
13148
|
+
"ignore": {
|
|
13149
|
+
"description": "List of function names that should not be treated as hooks.\nFunctions in this list will be ignored by the rule even if they follow the `use*` naming convention.",
|
|
13150
|
+
"type": ["array", "null"],
|
|
13151
|
+
"items": { "type": "string" },
|
|
13152
|
+
"uniqueItems": true
|
|
13153
|
+
}
|
|
13154
|
+
},
|
|
12972
13155
|
"additionalProperties": false
|
|
12973
13156
|
},
|
|
12974
13157
|
"UseHtmlLangConfiguration": {
|
|
@@ -13004,6 +13187,11 @@
|
|
|
13004
13187
|
"UseImportExtensionsOptions": {
|
|
13005
13188
|
"type": "object",
|
|
13006
13189
|
"properties": {
|
|
13190
|
+
"extensionMappings": {
|
|
13191
|
+
"description": "A map of file extensions to their suggested replacements.\nFor example, `{\"ts\": \"js\"}` would suggest `.js` extensions for TypeScript imports.",
|
|
13192
|
+
"type": ["object", "null"],
|
|
13193
|
+
"additionalProperties": { "type": "string" }
|
|
13194
|
+
},
|
|
13007
13195
|
"forceJsExtensions": {
|
|
13008
13196
|
"description": "If `true`, the suggested extension is always `.js` regardless of what\nextension the source file has in your project.",
|
|
13009
13197
|
"type": ["boolean", "null"]
|
|
@@ -13090,6 +13278,12 @@
|
|
|
13090
13278
|
},
|
|
13091
13279
|
"UseIterableCallbackReturnOptions": {
|
|
13092
13280
|
"type": "object",
|
|
13281
|
+
"properties": {
|
|
13282
|
+
"checkForEach": {
|
|
13283
|
+
"description": "When `true`, the rule reports `forEach` callbacks that return a value (default behaviour).\nWhen `false` or unset, such callbacks are ignored.",
|
|
13284
|
+
"type": ["boolean", "null"]
|
|
13285
|
+
}
|
|
13286
|
+
},
|
|
13093
13287
|
"additionalProperties": false
|
|
13094
13288
|
},
|
|
13095
13289
|
"UseJsonImportAttributesConfiguration": {
|
|
@@ -13552,6 +13746,16 @@
|
|
|
13552
13746
|
},
|
|
13553
13747
|
"additionalProperties": false
|
|
13554
13748
|
},
|
|
13749
|
+
"UseSortedInterfaceMembersConfiguration": {
|
|
13750
|
+
"oneOf": [
|
|
13751
|
+
{ "$ref": "#/$defs/RuleAssistPlainConfiguration" },
|
|
13752
|
+
{ "$ref": "#/$defs/RuleAssistWithUseSortedInterfaceMembersOptions" }
|
|
13753
|
+
]
|
|
13754
|
+
},
|
|
13755
|
+
"UseSortedInterfaceMembersOptions": {
|
|
13756
|
+
"type": "object",
|
|
13757
|
+
"additionalProperties": false
|
|
13758
|
+
},
|
|
13555
13759
|
"UseSortedKeysConfiguration": {
|
|
13556
13760
|
"oneOf": [
|
|
13557
13761
|
{ "$ref": "#/$defs/RuleAssistPlainConfiguration" },
|
|
@@ -13561,6 +13765,10 @@
|
|
|
13561
13765
|
"UseSortedKeysOptions": {
|
|
13562
13766
|
"type": "object",
|
|
13563
13767
|
"properties": {
|
|
13768
|
+
"groupByNesting": {
|
|
13769
|
+
"description": "When enabled, groups object keys by their value's nesting depth before sorting.\nSimple values (primitives, single-line arrays, single-line objects) are sorted first,\nfollowed by nested values (multi-line objects, multi-line arrays).",
|
|
13770
|
+
"type": ["boolean", "null"]
|
|
13771
|
+
},
|
|
13564
13772
|
"sortOrder": {
|
|
13565
13773
|
"anyOf": [{ "$ref": "#/$defs/SortOrder" }, { "type": "null" }]
|
|
13566
13774
|
}
|
|
@@ -13666,6 +13874,16 @@
|
|
|
13666
13874
|
},
|
|
13667
13875
|
"UseUnifiedTypeSignaturesOptions": {
|
|
13668
13876
|
"type": "object",
|
|
13877
|
+
"properties": {
|
|
13878
|
+
"ignoreDifferentJsDoc": {
|
|
13879
|
+
"description": "Whether to ignore overloads with different JSDoc comments.",
|
|
13880
|
+
"type": ["boolean", "null"]
|
|
13881
|
+
},
|
|
13882
|
+
"ignoreDifferentlyNamedParameters": {
|
|
13883
|
+
"description": "Whether to ignore overloads with differently named parameters.",
|
|
13884
|
+
"type": ["boolean", "null"]
|
|
13885
|
+
}
|
|
13886
|
+
},
|
|
13669
13887
|
"additionalProperties": false
|
|
13670
13888
|
},
|
|
13671
13889
|
"UseUniqueElementIdsConfiguration": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@biomejs/biome",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"bin": {
|
|
5
5
|
"biome": "bin/biome"
|
|
6
6
|
},
|
|
@@ -46,13 +46,13 @@
|
|
|
46
46
|
"provenance": true
|
|
47
47
|
},
|
|
48
48
|
"optionalDependencies": {
|
|
49
|
-
"@biomejs/cli-win32-x64": "2.
|
|
50
|
-
"@biomejs/cli-win32-arm64": "2.
|
|
51
|
-
"@biomejs/cli-darwin-x64": "2.
|
|
52
|
-
"@biomejs/cli-darwin-arm64": "2.
|
|
53
|
-
"@biomejs/cli-linux-x64": "2.
|
|
54
|
-
"@biomejs/cli-linux-arm64": "2.
|
|
55
|
-
"@biomejs/cli-linux-x64-musl": "2.
|
|
56
|
-
"@biomejs/cli-linux-arm64-musl": "2.
|
|
49
|
+
"@biomejs/cli-win32-x64": "2.4.0",
|
|
50
|
+
"@biomejs/cli-win32-arm64": "2.4.0",
|
|
51
|
+
"@biomejs/cli-darwin-x64": "2.4.0",
|
|
52
|
+
"@biomejs/cli-darwin-arm64": "2.4.0",
|
|
53
|
+
"@biomejs/cli-linux-x64": "2.4.0",
|
|
54
|
+
"@biomejs/cli-linux-arm64": "2.4.0",
|
|
55
|
+
"@biomejs/cli-linux-x64-musl": "2.4.0",
|
|
56
|
+
"@biomejs/cli-linux-arm64-musl": "2.4.0"
|
|
57
57
|
}
|
|
58
58
|
}
|