@biomejs/biome 1.3.3-nightly.ced82da → 1.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/README.md +29 -11
- package/configuration_schema.json +88 -74
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -26,7 +26,15 @@
|
|
|
26
26
|
|
|
27
27
|
</div>
|
|
28
28
|
|
|
29
|
-
**Biome** is a toolchain for web projects, it aims to provide developer tools to maintain the health of said projects.
|
|
29
|
+
**Biome** is a performant toolchain for web projects, it aims to provide developer tools to maintain the health of said projects.
|
|
30
|
+
|
|
31
|
+
**Biome is a [fast formatter](./benchmark#formatting)** for _JavaScript_, _TypeScript_, _JSX_, and _JSON_ that scores **[96% compatibility with _Prettier_](https://console.algora.io/challenges/prettier)**.
|
|
32
|
+
|
|
33
|
+
**Biome is a [performant linter](https://github.com/biomejs/biome/tree/main/benchmark#linting)** for _JavaScript_, _TypeScript_, and _JSX_ that features **[more than 170 rules](https://biomejs.dev/linter/rules/)** from ESLint, TypeSCript ESLint, and [other sources](https://github.com/biomejs/biome/discussions/3).
|
|
34
|
+
It **outputs detailed and contextualized diagnostics** that help you to improve your code and become a better programmer!
|
|
35
|
+
|
|
36
|
+
**Biome** is designed from the start to be used [interactively within an editor](https://biomejs.dev/guides/integrate-in-editor/).
|
|
37
|
+
It can format and lint malformed code as you are writing it.
|
|
30
38
|
|
|
31
39
|
### Installation
|
|
32
40
|
|
|
@@ -57,37 +65,47 @@ If you want to give Biome a run without installing it, use the [online playgroun
|
|
|
57
65
|
Check out our [homepage][biomejs] to learn more about Biome,
|
|
58
66
|
or directly head to the [Getting Started guide][getting-started] to start using Biome.
|
|
59
67
|
|
|
60
|
-
##
|
|
68
|
+
## More about Biome
|
|
61
69
|
|
|
62
|
-
**Biome**
|
|
70
|
+
**Biome** has sane defaults and it doesn't require configuration.
|
|
71
|
+
|
|
72
|
+
**Biome** aims to support [all main languages][language-support] of modern web development.
|
|
63
73
|
|
|
64
74
|
**Biome** [doesn't require Node.js](https://biomejs.dev/guides/manual-installation/) to function.
|
|
65
75
|
|
|
66
76
|
**Biome** has first-class LSP support, with a sophisticated parser that represents the source text in full fidelity and top-notch error recovery.
|
|
67
77
|
|
|
68
|
-
**Biome** supports JavaScript, TypeScript, JSON, and more. It aims to support [all main languages][language-support] of modern web development.
|
|
69
|
-
|
|
70
|
-
**Biome** has sane defaults and it doesn't require configuration.
|
|
71
|
-
|
|
72
|
-
**Biome** helps you as much as possible by displaying detailed and contextualized diagnostics. Read more about our [project philosophy][biome-philosophy].
|
|
73
|
-
|
|
74
78
|
**Biome** unifies functionality that has previously been separate tools. Building upon a shared base allows us to provide a cohesive experience for processing code, displaying errors, parallelize work, caching, and configuration.
|
|
75
79
|
|
|
76
|
-
|
|
80
|
+
Read more about our [project philosophy][biome-philosophy].
|
|
77
81
|
|
|
82
|
+
**Biome** is [MIT licensed](https://github.com/biomejs/biome/tree/main/LICENSE-MIT) or [Apache 2.0 licensed](https://github.com/biomejs/biome/tree/main/LICENSE-APACHE) and moderated under the [Contributor Covenant Code of Conduct](https://github.com/biomejs/biome/tree/main/CODE_OF_CONDUCT.md).
|
|
78
83
|
|
|
79
84
|
## Sponsors
|
|
80
85
|
|
|
86
|
+
### Gold Sponsors
|
|
87
|
+
|
|
81
88
|
<table>
|
|
82
89
|
<tbody>
|
|
83
90
|
<tr>
|
|
84
91
|
<td align="center" valign="middle">
|
|
85
|
-
<a href="https://shiguredo.jp/" target="_blank"><img src="https://
|
|
92
|
+
<a href="https://shiguredo.jp/" target="_blank"><img src="https://shiguredo.jp/official_shiguredo_logo.svg" height="120"></a>
|
|
86
93
|
</td>
|
|
87
94
|
</tr>
|
|
88
95
|
</tbody>
|
|
89
96
|
</table>
|
|
90
97
|
|
|
98
|
+
### Bronze Sponsors
|
|
99
|
+
|
|
100
|
+
<table>
|
|
101
|
+
<tbody>
|
|
102
|
+
<tr>
|
|
103
|
+
<td align="center" valign="middle">
|
|
104
|
+
<a href="https://www.kanamekey.com" target="_blank"><img src="https://images.opencollective.com/kaname/d15fd98/logo/256.png?height=80" width="80"></a>
|
|
105
|
+
</td>
|
|
106
|
+
</tr>
|
|
107
|
+
</tbody>
|
|
108
|
+
</table>
|
|
91
109
|
|
|
92
110
|
[bench]: https://github.com/biomejs/biome/blob/main/benchmark/README.md
|
|
93
111
|
[biomejs]: https://biomejs.dev/
|
|
@@ -115,6 +115,13 @@
|
|
|
115
115
|
{ "type": "null" }
|
|
116
116
|
]
|
|
117
117
|
},
|
|
118
|
+
"noInteractiveElementToNoninteractiveRole": {
|
|
119
|
+
"description": "Enforce that non-interactive ARIA roles are not assigned to interactive HTML elements.",
|
|
120
|
+
"anyOf": [
|
|
121
|
+
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
122
|
+
{ "type": "null" }
|
|
123
|
+
]
|
|
124
|
+
},
|
|
118
125
|
"noNoninteractiveElementToInteractiveRole": {
|
|
119
126
|
"description": "Enforce that interactive ARIA roles are not assigned to non-interactive HTML elements.",
|
|
120
127
|
"anyOf": [
|
|
@@ -175,6 +182,13 @@
|
|
|
175
182
|
{ "type": "null" }
|
|
176
183
|
]
|
|
177
184
|
},
|
|
185
|
+
"useAriaActivedescendantWithTabindex": {
|
|
186
|
+
"description": "Enforce that tabIndex is assigned to non-interactive HTML elements with aria-activedescendant.",
|
|
187
|
+
"anyOf": [
|
|
188
|
+
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
189
|
+
{ "type": "null" }
|
|
190
|
+
]
|
|
191
|
+
},
|
|
178
192
|
"useAriaPropsForRole": {
|
|
179
193
|
"description": "Enforce that elements with ARIA roles must have all required ARIA attributes for that role.",
|
|
180
194
|
"anyOf": [
|
|
@@ -312,6 +326,13 @@
|
|
|
312
326
|
{ "type": "null" }
|
|
313
327
|
]
|
|
314
328
|
},
|
|
329
|
+
"noThisInStatic": {
|
|
330
|
+
"description": "Disallow this and super in static contexts.",
|
|
331
|
+
"anyOf": [
|
|
332
|
+
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
333
|
+
{ "type": "null" }
|
|
334
|
+
]
|
|
335
|
+
},
|
|
315
336
|
"noUselessCatch": {
|
|
316
337
|
"description": "Disallow unnecessary catch clauses.",
|
|
317
338
|
"anyOf": [
|
|
@@ -393,6 +414,13 @@
|
|
|
393
414
|
"description": "It enables the recommended rules for this group",
|
|
394
415
|
"type": ["boolean", "null"]
|
|
395
416
|
},
|
|
417
|
+
"useArrowFunction": {
|
|
418
|
+
"description": "Use arrow functions over function expressions.",
|
|
419
|
+
"anyOf": [
|
|
420
|
+
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
421
|
+
{ "type": "null" }
|
|
422
|
+
]
|
|
423
|
+
},
|
|
396
424
|
"useFlatMap": {
|
|
397
425
|
"description": "Promotes the use of .flatMap() when map().flat() are used together.",
|
|
398
426
|
"anyOf": [
|
|
@@ -480,6 +508,13 @@
|
|
|
480
508
|
{ "type": "null" }
|
|
481
509
|
]
|
|
482
510
|
},
|
|
511
|
+
"noEmptyCharacterClassInRegex": {
|
|
512
|
+
"description": "Disallow empty character classes in regular expression literals.",
|
|
513
|
+
"anyOf": [
|
|
514
|
+
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
515
|
+
{ "type": "null" }
|
|
516
|
+
]
|
|
517
|
+
},
|
|
483
518
|
"noEmptyPattern": {
|
|
484
519
|
"description": "Disallows empty destructuring patterns.",
|
|
485
520
|
"anyOf": [
|
|
@@ -508,6 +543,13 @@
|
|
|
508
543
|
{ "type": "null" }
|
|
509
544
|
]
|
|
510
545
|
},
|
|
546
|
+
"noInvalidNewBuiltin": {
|
|
547
|
+
"description": "Disallow new operators with global non-constructor functions.",
|
|
548
|
+
"anyOf": [
|
|
549
|
+
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
550
|
+
{ "type": "null" }
|
|
551
|
+
]
|
|
552
|
+
},
|
|
511
553
|
"noNewSymbol": {
|
|
512
554
|
"description": "Disallow new operators with the Symbol object.",
|
|
513
555
|
"anyOf": [
|
|
@@ -1070,8 +1112,8 @@
|
|
|
1070
1112
|
"description": "It enables ALL rules for this group.",
|
|
1071
1113
|
"type": ["boolean", "null"]
|
|
1072
1114
|
},
|
|
1073
|
-
"
|
|
1074
|
-
"description": "
|
|
1115
|
+
"noAriaHiddenOnFocusable": {
|
|
1116
|
+
"description": "Enforce that aria-hidden=\"true\" is not set on focusable elements.",
|
|
1075
1117
|
"anyOf": [
|
|
1076
1118
|
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1077
1119
|
{ "type": "null" }
|
|
@@ -1098,13 +1140,6 @@
|
|
|
1098
1140
|
{ "type": "null" }
|
|
1099
1141
|
]
|
|
1100
1142
|
},
|
|
1101
|
-
"noEmptyCharacterClassInRegex": {
|
|
1102
|
-
"description": "Disallow empty character classes in regular expression literals.",
|
|
1103
|
-
"anyOf": [
|
|
1104
|
-
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1105
|
-
{ "type": "null" }
|
|
1106
|
-
]
|
|
1107
|
-
},
|
|
1108
1143
|
"noImplicitAnyLet": {
|
|
1109
1144
|
"description": "Disallow use of implicit any type on variable declarations.",
|
|
1110
1145
|
"anyOf": [
|
|
@@ -1112,41 +1147,6 @@
|
|
|
1112
1147
|
{ "type": "null" }
|
|
1113
1148
|
]
|
|
1114
1149
|
},
|
|
1115
|
-
"noInteractiveElementToNoninteractiveRole": {
|
|
1116
|
-
"description": "Enforce that non-interactive ARIA roles are not assigned to interactive HTML elements.",
|
|
1117
|
-
"anyOf": [
|
|
1118
|
-
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1119
|
-
{ "type": "null" }
|
|
1120
|
-
]
|
|
1121
|
-
},
|
|
1122
|
-
"noInvalidNewBuiltin": {
|
|
1123
|
-
"description": "Disallow new operators with global non-constructor functions.",
|
|
1124
|
-
"anyOf": [
|
|
1125
|
-
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1126
|
-
{ "type": "null" }
|
|
1127
|
-
]
|
|
1128
|
-
},
|
|
1129
|
-
"noMisleadingInstantiator": {
|
|
1130
|
-
"description": "Enforce proper usage of new and constructor.",
|
|
1131
|
-
"anyOf": [
|
|
1132
|
-
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1133
|
-
{ "type": "null" }
|
|
1134
|
-
]
|
|
1135
|
-
},
|
|
1136
|
-
"noMisrefactoredShorthandAssign": {
|
|
1137
|
-
"description": "Disallow shorthand assign when variable appears on both sides.",
|
|
1138
|
-
"anyOf": [
|
|
1139
|
-
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1140
|
-
{ "type": "null" }
|
|
1141
|
-
]
|
|
1142
|
-
},
|
|
1143
|
-
"noThisInStatic": {
|
|
1144
|
-
"description": "Disallow this and super in static contexts.",
|
|
1145
|
-
"anyOf": [
|
|
1146
|
-
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1147
|
-
{ "type": "null" }
|
|
1148
|
-
]
|
|
1149
|
-
},
|
|
1150
1150
|
"noUnusedImports": {
|
|
1151
1151
|
"description": "Disallow unused imports.",
|
|
1152
1152
|
"anyOf": [
|
|
@@ -1161,13 +1161,6 @@
|
|
|
1161
1161
|
{ "type": "null" }
|
|
1162
1162
|
]
|
|
1163
1163
|
},
|
|
1164
|
-
"noUselessElse": {
|
|
1165
|
-
"description": "Disallow else block when the if block breaks early.",
|
|
1166
|
-
"anyOf": [
|
|
1167
|
-
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1168
|
-
{ "type": "null" }
|
|
1169
|
-
]
|
|
1170
|
-
},
|
|
1171
1164
|
"noUselessLoneBlockStatements": {
|
|
1172
1165
|
"description": "Disallow unnecessary nested block statements.",
|
|
1173
1166
|
"anyOf": [
|
|
@@ -1179,27 +1172,6 @@
|
|
|
1179
1172
|
"description": "It enables the recommended rules for this group",
|
|
1180
1173
|
"type": ["boolean", "null"]
|
|
1181
1174
|
},
|
|
1182
|
-
"useAriaActivedescendantWithTabindex": {
|
|
1183
|
-
"description": "Enforce that tabIndex is assigned to non-interactive HTML elements with aria-activedescendant.",
|
|
1184
|
-
"anyOf": [
|
|
1185
|
-
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1186
|
-
{ "type": "null" }
|
|
1187
|
-
]
|
|
1188
|
-
},
|
|
1189
|
-
"useArrowFunction": {
|
|
1190
|
-
"description": "Use arrow functions over function expressions.",
|
|
1191
|
-
"anyOf": [
|
|
1192
|
-
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1193
|
-
{ "type": "null" }
|
|
1194
|
-
]
|
|
1195
|
-
},
|
|
1196
|
-
"useAsConstAssertion": {
|
|
1197
|
-
"description": "Enforce the use of as const over literal type and type annotation.",
|
|
1198
|
-
"anyOf": [
|
|
1199
|
-
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1200
|
-
{ "type": "null" }
|
|
1201
|
-
]
|
|
1202
|
-
},
|
|
1203
1175
|
"useAwait": {
|
|
1204
1176
|
"description": "Ensure async functions utilize await.",
|
|
1205
1177
|
"anyOf": [
|
|
@@ -1221,8 +1193,8 @@
|
|
|
1221
1193
|
{ "type": "null" }
|
|
1222
1194
|
]
|
|
1223
1195
|
},
|
|
1224
|
-
"
|
|
1225
|
-
"description": "
|
|
1196
|
+
"useRegexLiterals": {
|
|
1197
|
+
"description": "Enforce the use of the regular expression literals instead of the RegExp constructor if possible.",
|
|
1226
1198
|
"anyOf": [
|
|
1227
1199
|
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1228
1200
|
{ "type": "null" }
|
|
@@ -1633,6 +1605,13 @@
|
|
|
1633
1605
|
{ "type": "null" }
|
|
1634
1606
|
]
|
|
1635
1607
|
},
|
|
1608
|
+
"noUselessElse": {
|
|
1609
|
+
"description": "Disallow else block when the if block breaks early.",
|
|
1610
|
+
"anyOf": [
|
|
1611
|
+
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1612
|
+
{ "type": "null" }
|
|
1613
|
+
]
|
|
1614
|
+
},
|
|
1636
1615
|
"noVar": {
|
|
1637
1616
|
"description": "Disallow the use of var",
|
|
1638
1617
|
"anyOf": [
|
|
@@ -1644,6 +1623,13 @@
|
|
|
1644
1623
|
"description": "It enables the recommended rules for this group",
|
|
1645
1624
|
"type": ["boolean", "null"]
|
|
1646
1625
|
},
|
|
1626
|
+
"useAsConstAssertion": {
|
|
1627
|
+
"description": "Enforce the use of as const over literal type and type annotation.",
|
|
1628
|
+
"anyOf": [
|
|
1629
|
+
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1630
|
+
{ "type": "null" }
|
|
1631
|
+
]
|
|
1632
|
+
},
|
|
1647
1633
|
"useBlockStatements": {
|
|
1648
1634
|
"description": "Requires following curly brace conventions.",
|
|
1649
1635
|
"anyOf": [
|
|
@@ -1728,6 +1714,13 @@
|
|
|
1728
1714
|
{ "type": "null" }
|
|
1729
1715
|
]
|
|
1730
1716
|
},
|
|
1717
|
+
"useShorthandAssign": {
|
|
1718
|
+
"description": "Require assignment operator shorthand where possible.",
|
|
1719
|
+
"anyOf": [
|
|
1720
|
+
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1721
|
+
{ "type": "null" }
|
|
1722
|
+
]
|
|
1723
|
+
},
|
|
1731
1724
|
"useSingleCaseStatement": {
|
|
1732
1725
|
"description": "Enforces switch clauses have a single statement, emits a quick fix wrapping the statements in a block.",
|
|
1733
1726
|
"anyOf": [
|
|
@@ -1766,6 +1759,13 @@
|
|
|
1766
1759
|
"description": "It enables ALL rules for this group.",
|
|
1767
1760
|
"type": ["boolean", "null"]
|
|
1768
1761
|
},
|
|
1762
|
+
"noApproximativeNumericConstant": {
|
|
1763
|
+
"description": "Usually, the definition in the standard library is more precise than what people come up with or the used constant exceeds the maximum precision of the number type.",
|
|
1764
|
+
"anyOf": [
|
|
1765
|
+
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1766
|
+
{ "type": "null" }
|
|
1767
|
+
]
|
|
1768
|
+
},
|
|
1769
1769
|
"noArrayIndexKey": {
|
|
1770
1770
|
"description": "Discourage the usage of Array index in keys.",
|
|
1771
1771
|
"anyOf": [
|
|
@@ -1962,6 +1962,20 @@
|
|
|
1962
1962
|
{ "type": "null" }
|
|
1963
1963
|
]
|
|
1964
1964
|
},
|
|
1965
|
+
"noMisleadingInstantiator": {
|
|
1966
|
+
"description": "Enforce proper usage of new and constructor.",
|
|
1967
|
+
"anyOf": [
|
|
1968
|
+
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1969
|
+
{ "type": "null" }
|
|
1970
|
+
]
|
|
1971
|
+
},
|
|
1972
|
+
"noMisrefactoredShorthandAssign": {
|
|
1973
|
+
"description": "Disallow shorthand assign when variable appears on both sides.",
|
|
1974
|
+
"anyOf": [
|
|
1975
|
+
{ "$ref": "#/definitions/RuleConfiguration" },
|
|
1976
|
+
{ "type": "null" }
|
|
1977
|
+
]
|
|
1978
|
+
},
|
|
1965
1979
|
"noPrototypeBuiltins": {
|
|
1966
1980
|
"description": "Disallow direct use of Object.prototype builtins.",
|
|
1967
1981
|
"anyOf": [
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@biomejs/biome","version":"1.
|
|
1
|
+
{"name":"@biomejs/biome","version":"1.4.0","bin":"bin/biome","scripts":{"postinstall":"node scripts/postinstall.js"},"homepage":"https://biomejs.dev","repository":{"type":"git","url":"https://github.com/biomejs/biome.git","directory":"packages/@biomejs/biome"},"author":"Emanuele Stoppa","license":"MIT OR Apache-2.0","bugs":"https://github.com/biomejs/biome/issues","description":"Biome is a toolchain for the web: formatter, linter and more","files":["bin/biome","scripts/postinstall.js","configuration_schema.json","README.md","LICENSE-APACHE","LICENSE-MIT"],"keywords":["JavaScript","TypeScript","format","lint","toolchain","JSON"],"engines":{"node":">=14.*"},"funding":{"type":"opencollective","url":"https://opencollective.com/biome"},"optionalDependencies":{"@biomejs/cli-win32-x64":"1.4.0","@biomejs/cli-win32-arm64":"1.4.0","@biomejs/cli-darwin-x64":"1.4.0","@biomejs/cli-darwin-arm64":"1.4.0","@biomejs/cli-linux-x64":"1.4.0","@biomejs/cli-linux-arm64":"1.4.0"}}
|