@biomejs/biome 1.9.2 → 1.9.3

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 CHANGED
@@ -8,22 +8,25 @@
8
8
 
9
9
  <div align="center">
10
10
 
11
- [![Discord chat][discord-badge]][discord-url]
12
11
  [![CI on main][ci-badge]][ci-url]
12
+ [![Discord chat][discord-badge]][discord-url]
13
13
  [![npm version][npm-badge]][npm-url]
14
14
  [![VSCode version][vscode-badge]][vscode-url]
15
15
  [![Open VSX version][open-vsx-badge]][open-vsx-url]
16
+ [![Polar bounties][polar-badge]][polar-url]
16
17
 
17
- [discord-badge]: https://badgen.net/discord/online-members/BypW39g6Yc?icon=discord&label=discord&color=green
18
- [discord-url]: https://discord.gg/BypW39g6Yc
19
18
  [ci-badge]: https://github.com/biomejs/biome/actions/workflows/main.yml/badge.svg
20
19
  [ci-url]: https://github.com/biomejs/biome/actions/workflows/main.yml
21
- [npm-badge]: https://badgen.net/npm/v/@biomejs/biome?icon=npm&color=green&label=%40biomejs%2Fbiome
20
+ [discord-badge]: https://badgen.net/discord/online-members/BypW39g6Yc?icon=discord&label=discord&color=60a5fa
21
+ [discord-url]: https://discord.gg/BypW39g6Yc
22
+ [npm-badge]: https://badgen.net/npm/v/@biomejs/biome?icon=npm&color=60a5fa&label=%40biomejs%2Fbiome
22
23
  [npm-url]: https://www.npmjs.com/package/@biomejs/biome/v/latest
23
- [vscode-badge]: https://badgen.net/vs-marketplace/v/biomejs.biome?label=vscode&icon=visualstudio&color=green
24
+ [vscode-badge]: https://badgen.net/vs-marketplace/v/biomejs.biome?label=vscode&icon=visualstudio&color=60a5fa
24
25
  [vscode-url]: https://marketplace.visualstudio.com/items?itemName=biomejs.biome
25
- [open-vsx-badge]: https://badgen.net/open-vsx/version/biomejs/biome?label=open-vsx&color=green
26
+ [open-vsx-badge]: https://badgen.net/open-vsx/version/biomejs/biome?label=open-vsx&color=60a5fa
26
27
  [open-vsx-url]: https://open-vsx.org/extension/biomejs/biome
28
+ [polar-badge]: https://polar.sh/embed/seeks-funding-shield.svg?org=biomejs
29
+ [polar-url]: https://polar.sh/biomejs
27
30
 
28
31
  </div>
29
32
 
@@ -105,13 +108,9 @@ Biome offers a simple sponsorship program that allows companies to get visibilit
105
108
 
106
109
  We use [Polar.sh](https://polar.sh/biomejs) to up-vote and promote specific features that you would like to see and implement. Check our backlog and help us:
107
110
 
108
- <a href="https://polar.sh/biomejs"><img src="https://polar.sh/embed/fund-our-backlog.svg?org=biomejs" /></a>
109
-
110
111
 
111
112
  ## Sponsors
112
113
 
113
- ### Gold Sponsors
114
-
115
114
  ### Silver Sponsors
116
115
 
117
116
  <table>
@@ -1051,7 +1051,7 @@
1051
1051
  "useExhaustiveDependencies": {
1052
1052
  "description": "Enforce all dependencies are correctly specified in a React hook.",
1053
1053
  "anyOf": [
1054
- { "$ref": "#/definitions/HooksConfiguration" },
1054
+ { "$ref": "#/definitions/UseExhaustiveDependenciesConfiguration" },
1055
1055
  { "type": "null" }
1056
1056
  ]
1057
1057
  },
@@ -1485,25 +1485,6 @@
1485
1485
  },
1486
1486
  "additionalProperties": false
1487
1487
  },
1488
- "HooksConfiguration": {
1489
- "anyOf": [
1490
- { "$ref": "#/definitions/RulePlainConfiguration" },
1491
- { "$ref": "#/definitions/RuleWithHooksOptions" }
1492
- ]
1493
- },
1494
- "HooksOptions": {
1495
- "description": "Options for the rule `useExhaustiveDependencies`",
1496
- "type": "object",
1497
- "required": ["hooks"],
1498
- "properties": {
1499
- "hooks": {
1500
- "description": "List of hooks of which the dependencies should be validated.",
1501
- "type": "array",
1502
- "items": { "$ref": "#/definitions/Hook" }
1503
- }
1504
- },
1505
- "additionalProperties": false
1506
- },
1507
1488
  "IndentStyle": {
1508
1489
  "oneOf": [
1509
1490
  { "description": "Tab", "type": "string", "enum": ["tab"] },
@@ -2029,20 +2010,22 @@
2029
2010
  },
2030
2011
  "NoLabelWithoutControlOptions": {
2031
2012
  "type": "object",
2032
- "required": ["inputComponents", "labelAttributes", "labelComponents"],
2033
2013
  "properties": {
2034
2014
  "inputComponents": {
2035
2015
  "description": "Array of component names that should be considered the same as an `input` element.",
2016
+ "default": [],
2036
2017
  "type": "array",
2037
2018
  "items": { "type": "string" }
2038
2019
  },
2039
2020
  "labelAttributes": {
2040
2021
  "description": "Array of attributes that should be treated as the `label` accessible text content.",
2022
+ "default": [],
2041
2023
  "type": "array",
2042
2024
  "items": { "type": "string" }
2043
2025
  },
2044
2026
  "labelComponents": {
2045
2027
  "description": "Array of component names that should be considered the same as a `label` element.",
2028
+ "default": [],
2046
2029
  "type": "array",
2047
2030
  "items": { "type": "string" }
2048
2031
  }
@@ -2083,6 +2066,13 @@
2083
2066
  { "type": "null" }
2084
2067
  ]
2085
2068
  },
2069
+ "noDescendingSpecificity": {
2070
+ "description": "Disallow a lower specificity selector from coming after a higher specificity selector.",
2071
+ "anyOf": [
2072
+ { "$ref": "#/definitions/RuleConfiguration" },
2073
+ { "type": "null" }
2074
+ ]
2075
+ },
2086
2076
  "noDuplicateCustomProperties": {
2087
2077
  "description": "Disallow duplicate custom properties within declaration blocks.",
2088
2078
  "anyOf": [
@@ -2139,6 +2129,20 @@
2139
2129
  { "type": "null" }
2140
2130
  ]
2141
2131
  },
2132
+ "noNestedTernary": {
2133
+ "description": "Disallow nested ternary expressions.",
2134
+ "anyOf": [
2135
+ { "$ref": "#/definitions/RuleConfiguration" },
2136
+ { "type": "null" }
2137
+ ]
2138
+ },
2139
+ "noOctalEscape": {
2140
+ "description": "Disallow octal escape sequences in string literals",
2141
+ "anyOf": [
2142
+ { "$ref": "#/definitions/RuleConfiguration" },
2143
+ { "type": "null" }
2144
+ ]
2145
+ },
2142
2146
  "noProcessEnv": {
2143
2147
  "description": "Disallow the use of process.env.",
2144
2148
  "anyOf": [
@@ -2181,6 +2185,13 @@
2181
2185
  { "type": "null" }
2182
2186
  ]
2183
2187
  },
2188
+ "noTemplateCurlyInString": {
2189
+ "description": "Disallow template literal placeholder syntax in regular strings.",
2190
+ "anyOf": [
2191
+ { "$ref": "#/definitions/RuleConfiguration" },
2192
+ { "type": "null" }
2193
+ ]
2194
+ },
2184
2195
  "noUnknownPseudoClass": {
2185
2196
  "description": "Disallow unknown pseudo-class selectors.",
2186
2197
  "anyOf": [
@@ -2259,6 +2270,13 @@
2259
2270
  { "type": "null" }
2260
2271
  ]
2261
2272
  },
2273
+ "useExplicitFunctionReturnType": {
2274
+ "description": "Require explicit return types on functions and class methods.",
2275
+ "anyOf": [
2276
+ { "$ref": "#/definitions/RuleConfiguration" },
2277
+ { "type": "null" }
2278
+ ]
2279
+ },
2262
2280
  "useImportRestrictions": {
2263
2281
  "description": "Disallows package private imports.",
2264
2282
  "anyOf": [
@@ -2565,7 +2583,7 @@
2565
2583
  },
2566
2584
  "RuleWithAllowDomainOptions": {
2567
2585
  "type": "object",
2568
- "required": ["level", "options"],
2586
+ "required": ["level"],
2569
2587
  "properties": {
2570
2588
  "fix": {
2571
2589
  "description": "The kind of the code actions emitted by the rule",
@@ -2584,7 +2602,7 @@
2584
2602
  },
2585
2603
  "RuleWithComplexityOptions": {
2586
2604
  "type": "object",
2587
- "required": ["level", "options"],
2605
+ "required": ["level"],
2588
2606
  "properties": {
2589
2607
  "level": {
2590
2608
  "description": "The severity of the emitted diagnostics by the rule",
@@ -2599,7 +2617,7 @@
2599
2617
  },
2600
2618
  "RuleWithConsistentArrayTypeOptions": {
2601
2619
  "type": "object",
2602
- "required": ["level", "options"],
2620
+ "required": ["level"],
2603
2621
  "properties": {
2604
2622
  "fix": {
2605
2623
  "description": "The kind of the code actions emitted by the rule",
@@ -2618,7 +2636,7 @@
2618
2636
  },
2619
2637
  "RuleWithConsistentMemberAccessibilityOptions": {
2620
2638
  "type": "object",
2621
- "required": ["level", "options"],
2639
+ "required": ["level"],
2622
2640
  "properties": {
2623
2641
  "level": {
2624
2642
  "description": "The severity of the emitted diagnostics by the rule",
@@ -2635,7 +2653,7 @@
2635
2653
  },
2636
2654
  "RuleWithDeprecatedHooksOptions": {
2637
2655
  "type": "object",
2638
- "required": ["level", "options"],
2656
+ "required": ["level"],
2639
2657
  "properties": {
2640
2658
  "level": {
2641
2659
  "description": "The severity of the emitted diagnostics by the rule",
@@ -2650,7 +2668,7 @@
2650
2668
  },
2651
2669
  "RuleWithFilenamingConventionOptions": {
2652
2670
  "type": "object",
2653
- "required": ["level", "options"],
2671
+ "required": ["level"],
2654
2672
  "properties": {
2655
2673
  "level": {
2656
2674
  "description": "The severity of the emitted diagnostics by the rule",
@@ -2678,24 +2696,9 @@
2678
2696
  },
2679
2697
  "additionalProperties": false
2680
2698
  },
2681
- "RuleWithHooksOptions": {
2682
- "type": "object",
2683
- "required": ["level", "options"],
2684
- "properties": {
2685
- "level": {
2686
- "description": "The severity of the emitted diagnostics by the rule",
2687
- "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2688
- },
2689
- "options": {
2690
- "description": "Rule's options",
2691
- "allOf": [{ "$ref": "#/definitions/HooksOptions" }]
2692
- }
2693
- },
2694
- "additionalProperties": false
2695
- },
2696
2699
  "RuleWithNamingConventionOptions": {
2697
2700
  "type": "object",
2698
- "required": ["level", "options"],
2701
+ "required": ["level"],
2699
2702
  "properties": {
2700
2703
  "fix": {
2701
2704
  "description": "The kind of the code actions emitted by the rule",
@@ -2714,7 +2717,7 @@
2714
2717
  },
2715
2718
  "RuleWithNoConsoleOptions": {
2716
2719
  "type": "object",
2717
- "required": ["level", "options"],
2720
+ "required": ["level"],
2718
2721
  "properties": {
2719
2722
  "fix": {
2720
2723
  "description": "The kind of the code actions emitted by the rule",
@@ -2733,7 +2736,7 @@
2733
2736
  },
2734
2737
  "RuleWithNoDoubleEqualsOptions": {
2735
2738
  "type": "object",
2736
- "required": ["level", "options"],
2739
+ "required": ["level"],
2737
2740
  "properties": {
2738
2741
  "fix": {
2739
2742
  "description": "The kind of the code actions emitted by the rule",
@@ -2752,7 +2755,7 @@
2752
2755
  },
2753
2756
  "RuleWithNoLabelWithoutControlOptions": {
2754
2757
  "type": "object",
2755
- "required": ["level", "options"],
2758
+ "required": ["level"],
2756
2759
  "properties": {
2757
2760
  "level": {
2758
2761
  "description": "The severity of the emitted diagnostics by the rule",
@@ -2778,7 +2781,7 @@
2778
2781
  },
2779
2782
  "RuleWithNoRestrictedTypesOptions": {
2780
2783
  "type": "object",
2781
- "required": ["level", "options"],
2784
+ "required": ["level"],
2782
2785
  "properties": {
2783
2786
  "fix": {
2784
2787
  "description": "The kind of the code actions emitted by the rule",
@@ -2797,7 +2800,7 @@
2797
2800
  },
2798
2801
  "RuleWithRestrictedGlobalsOptions": {
2799
2802
  "type": "object",
2800
- "required": ["level", "options"],
2803
+ "required": ["level"],
2801
2804
  "properties": {
2802
2805
  "level": {
2803
2806
  "description": "The severity of the emitted diagnostics by the rule",
@@ -2812,7 +2815,7 @@
2812
2815
  },
2813
2816
  "RuleWithRestrictedImportsOptions": {
2814
2817
  "type": "object",
2815
- "required": ["level", "options"],
2818
+ "required": ["level"],
2816
2819
  "properties": {
2817
2820
  "level": {
2818
2821
  "description": "The severity of the emitted diagnostics by the rule",
@@ -2827,7 +2830,7 @@
2827
2830
  },
2828
2831
  "RuleWithUseComponentExportOnlyModulesOptions": {
2829
2832
  "type": "object",
2830
- "required": ["level", "options"],
2833
+ "required": ["level"],
2831
2834
  "properties": {
2832
2835
  "level": {
2833
2836
  "description": "The severity of the emitted diagnostics by the rule",
@@ -2842,9 +2845,26 @@
2842
2845
  },
2843
2846
  "additionalProperties": false
2844
2847
  },
2848
+ "RuleWithUseExhaustiveDependenciesOptions": {
2849
+ "type": "object",
2850
+ "required": ["level"],
2851
+ "properties": {
2852
+ "level": {
2853
+ "description": "The severity of the emitted diagnostics by the rule",
2854
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2855
+ },
2856
+ "options": {
2857
+ "description": "Rule's options",
2858
+ "allOf": [
2859
+ { "$ref": "#/definitions/UseExhaustiveDependenciesOptions" }
2860
+ ]
2861
+ }
2862
+ },
2863
+ "additionalProperties": false
2864
+ },
2845
2865
  "RuleWithUseImportExtensionsOptions": {
2846
2866
  "type": "object",
2847
- "required": ["level", "options"],
2867
+ "required": ["level"],
2848
2868
  "properties": {
2849
2869
  "fix": {
2850
2870
  "description": "The kind of the code actions emitted by the rule",
@@ -2863,7 +2883,7 @@
2863
2883
  },
2864
2884
  "RuleWithUseValidAutocompleteOptions": {
2865
2885
  "type": "object",
2866
- "required": ["level", "options"],
2886
+ "required": ["level"],
2867
2887
  "properties": {
2868
2888
  "level": {
2869
2889
  "description": "The severity of the emitted diagnostics by the rule",
@@ -2878,7 +2898,7 @@
2878
2898
  },
2879
2899
  "RuleWithUtilityClassSortingOptions": {
2880
2900
  "type": "object",
2881
- "required": ["level", "options"],
2901
+ "required": ["level"],
2882
2902
  "properties": {
2883
2903
  "fix": {
2884
2904
  "description": "The kind of the code actions emitted by the rule",
@@ -2897,7 +2917,7 @@
2897
2917
  },
2898
2918
  "RuleWithValidAriaRoleOptions": {
2899
2919
  "type": "object",
2900
- "required": ["level", "options"],
2920
+ "required": ["level"],
2901
2921
  "properties": {
2902
2922
  "fix": {
2903
2923
  "description": "The kind of the code actions emitted by the rule",
@@ -3973,6 +3993,30 @@
3973
3993
  },
3974
3994
  "additionalProperties": false
3975
3995
  },
3996
+ "UseExhaustiveDependenciesConfiguration": {
3997
+ "anyOf": [
3998
+ { "$ref": "#/definitions/RulePlainConfiguration" },
3999
+ { "$ref": "#/definitions/RuleWithUseExhaustiveDependenciesOptions" }
4000
+ ]
4001
+ },
4002
+ "UseExhaustiveDependenciesOptions": {
4003
+ "description": "Options for the rule `useExhaustiveDependencies`",
4004
+ "type": "object",
4005
+ "properties": {
4006
+ "hooks": {
4007
+ "description": "List of hooks of which the dependencies should be validated.",
4008
+ "default": [],
4009
+ "type": "array",
4010
+ "items": { "$ref": "#/definitions/Hook" }
4011
+ },
4012
+ "reportUnnecessaryDependencies": {
4013
+ "description": "Whether to report an error when a dependency is listed in the dependencies array but isn't used. Defaults to true.",
4014
+ "default": true,
4015
+ "type": "boolean"
4016
+ }
4017
+ },
4018
+ "additionalProperties": false
4019
+ },
3976
4020
  "UseImportExtensionsConfiguration": {
3977
4021
  "anyOf": [
3978
4022
  { "$ref": "#/definitions/RulePlainConfiguration" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@biomejs/biome",
3
- "version": "1.9.2",
3
+ "version": "1.9.3",
4
4
  "bin": {
5
5
  "biome": "bin/biome"
6
6
  },
@@ -50,13 +50,13 @@
50
50
  "provenance": true
51
51
  },
52
52
  "optionalDependencies": {
53
- "@biomejs/cli-win32-x64": "1.9.2",
54
- "@biomejs/cli-win32-arm64": "1.9.2",
55
- "@biomejs/cli-darwin-x64": "1.9.2",
56
- "@biomejs/cli-darwin-arm64": "1.9.2",
57
- "@biomejs/cli-linux-x64": "1.9.2",
58
- "@biomejs/cli-linux-arm64": "1.9.2",
59
- "@biomejs/cli-linux-x64-musl": "1.9.2",
60
- "@biomejs/cli-linux-arm64-musl": "1.9.2"
53
+ "@biomejs/cli-win32-x64": "1.9.3",
54
+ "@biomejs/cli-win32-arm64": "1.9.3",
55
+ "@biomejs/cli-darwin-x64": "1.9.3",
56
+ "@biomejs/cli-darwin-arm64": "1.9.3",
57
+ "@biomejs/cli-linux-x64": "1.9.3",
58
+ "@biomejs/cli-linux-arm64": "1.9.3",
59
+ "@biomejs/cli-linux-x64-musl": "1.9.3",
60
+ "@biomejs/cli-linux-arm64-musl": "1.9.3"
61
61
  }
62
62
  }