@biomejs/biome 2.0.0-beta.2 → 2.0.0-beta.4

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.zh-TW.md CHANGED
@@ -37,9 +37,9 @@
37
37
 
38
38
  **Biome** 是一個高效能的 Web 專案工具鏈,旨在提供開發工具以維持這些專案的健康。
39
39
 
40
- **Biome 是一個 [快速格式化工具](./benchmark#formatting)**,支持 _JavaScript_、_TypeScript_、_JSX_、_JSON_、_CSS_ 和 _GraphQL_,其 **與 _Prettier_ 的相容性達到 [97%](https://console.algora.io/challenges/prettier)**。
40
+ **Biome 是一個 [快速格式化工具](./benchmark#formatting)**,支援 _JavaScript_、_TypeScript_、_JSX_、_JSON_、_CSS_ 和 _GraphQL_,其 **與 _Prettier_ 的相容性達到 [97%](https://console.algora.io/challenges/prettier)**。
41
41
 
42
- **Biome 是一個 [高效能的語法檢查工具](https://github.com/biomejs/biome/tree/main/benchmark#linting)**,支持 _JavaScript_、_TypeScript_、_JSX_、_CSS_ 和 _GraphQL_,擁有來自 ESLint、typescript-eslint 和 [其他來源](https://github.com/biomejs/biome/discussions/3)的 **超過 270 條規則**。
42
+ **Biome 是一個 [高效能的語法檢查工具](https://github.com/biomejs/biome/tree/main/benchmark#linting)**,支援 _JavaScript_、_TypeScript_、_JSX_、_CSS_ 和 _GraphQL_,擁有來自 ESLint、typescript-eslint 和 [其他來源](https://github.com/biomejs/biome/discussions/3)的 **超過 270 條規則**。
43
43
  它 **輸出詳細且具上下文的診斷資訊**,幫助你改進程式碼並成為更好的程式設計師!
44
44
 
45
45
  **Biome** 從一開始就設計為可在 [編輯器中互動使用](https://biomejs.dev/guides/integrate-in-editor/)。
@@ -78,11 +78,11 @@ npx @biomejs/biome ci ./src
78
78
 
79
79
  **Biome** 擁有合理的預設設定,無需配置。
80
80
 
81
- **Biome** 旨在支持現代 Web 開發的 [所有主要開發語言][language-support]。
81
+ **Biome** 旨在支援現代 Web 開發的 [所有主要開發語言][language-support]。
82
82
 
83
83
  **Biome** [不需要 Node.js](https://biomejs.dev/guides/manual-installation/) 即可運行。
84
84
 
85
- **Biome** 擁有一流的 LSP 支持,配備了能完整保留原文的先進解析器和頂級的錯誤修復能力。
85
+ **Biome** 擁有一流的 LSP 支援,配備了能完整保留原文的先進解析器和頂級的錯誤修復能力。
86
86
 
87
87
  **Biome** 整合了以前分離的工具功能。基於共享基礎構建,讓我們能夠為程式碼處理、錯誤顯示、並行工作、快取記憶體和配置提供一致的體驗。
88
88
 
@@ -197,6 +197,13 @@
197
197
  { "type": "null" }
198
198
  ]
199
199
  },
200
+ "noStaticElementInteractions": {
201
+ "description": "Enforce that static, visible elements (such as \\<div>) that have click handlers use the valid role attribute.",
202
+ "anyOf": [
203
+ { "$ref": "#/definitions/RuleConfiguration" },
204
+ { "type": "null" }
205
+ ]
206
+ },
200
207
  "noSvgWithoutTitle": {
201
208
  "description": "Enforces the usage of the title element for the svg element.",
202
209
  "anyOf": [
@@ -236,6 +243,13 @@
236
243
  { "type": "null" }
237
244
  ]
238
245
  },
246
+ "useAriaPropsSupportedByRole": {
247
+ "description": "Enforce that ARIA properties are valid for the roles that are supported by the element.",
248
+ "anyOf": [
249
+ { "$ref": "#/definitions/RuleConfiguration" },
250
+ { "type": "null" }
251
+ ]
252
+ },
239
253
  "useButtonType": {
240
254
  "description": "Enforces the usage of the attribute type for the element button",
241
255
  "anyOf": [
@@ -334,6 +348,13 @@
334
348
  { "type": "null" }
335
349
  ]
336
350
  },
351
+ "useValidAutocomplete": {
352
+ "description": "Use valid values for the autocomplete attribute on input elements.",
353
+ "anyOf": [
354
+ { "$ref": "#/definitions/UseValidAutocompleteConfiguration" },
355
+ { "type": "null" }
356
+ ]
357
+ },
337
358
  "useValidLang": {
338
359
  "description": "Ensure that the attribute passed to the lang attribute is a correct ISO language and/or country.",
339
360
  "anyOf": [
@@ -476,6 +497,13 @@
476
497
  { "type": "null" }
477
498
  ]
478
499
  },
500
+ "noUselessEscapeInRegex": {
501
+ "description": "Disallow unnecessary escape sequence in regular expression literals.",
502
+ "anyOf": [
503
+ { "$ref": "#/definitions/RuleFixConfiguration" },
504
+ { "type": "null" }
505
+ ]
506
+ },
479
507
  "noUselessFragments": {
480
508
  "description": "Disallow unnecessary fragments",
481
509
  "anyOf": [
@@ -511,6 +539,13 @@
511
539
  { "type": "null" }
512
540
  ]
513
541
  },
542
+ "noUselessStringRaw": {
543
+ "description": "Disallow unnecessary String.raw function in template string literals without any escape sequence.",
544
+ "anyOf": [
545
+ { "$ref": "#/definitions/RuleConfiguration" },
546
+ { "type": "null" }
547
+ ]
548
+ },
514
549
  "noUselessSwitchCase": {
515
550
  "description": "Disallow useless case in switch statements.",
516
551
  "anyOf": [
@@ -607,7 +642,7 @@
607
642
  ]
608
643
  },
609
644
  "useSimpleNumberKeys": {
610
- "description": "Disallow number literal object member names which are not base10 or uses underscore as separator",
645
+ "description": "Disallow number literal object member names which are not base 10 or use underscore as separator.",
611
646
  "anyOf": [
612
647
  { "$ref": "#/definitions/RuleFixConfiguration" },
613
648
  { "type": "null" }
@@ -816,13 +851,6 @@
816
851
  { "type": "null" }
817
852
  ]
818
853
  },
819
- "noInvalidNewBuiltin": {
820
- "description": "Disallow new operators with global non-constructor functions.",
821
- "anyOf": [
822
- { "$ref": "#/definitions/RuleFixConfiguration" },
823
- { "type": "null" }
824
- ]
825
- },
826
854
  "noInvalidPositionAtImportRule": {
827
855
  "description": "Disallow the use of @import at-rules in invalid positions.",
828
856
  "anyOf": [
@@ -837,10 +865,10 @@
837
865
  { "type": "null" }
838
866
  ]
839
867
  },
840
- "noNewSymbol": {
841
- "description": "Disallow new operators with the Symbol object.",
868
+ "noMissingVarFunction": {
869
+ "description": "Disallow missing var function for css variables.",
842
870
  "anyOf": [
843
- { "$ref": "#/definitions/RuleFixConfiguration" },
871
+ { "$ref": "#/definitions/RuleConfiguration" },
844
872
  { "type": "null" }
845
873
  ]
846
874
  },
@@ -942,6 +970,27 @@
942
970
  { "type": "null" }
943
971
  ]
944
972
  },
973
+ "noUnknownPseudoClass": {
974
+ "description": "Disallow unknown pseudo-class selectors.",
975
+ "anyOf": [
976
+ { "$ref": "#/definitions/RuleConfiguration" },
977
+ { "type": "null" }
978
+ ]
979
+ },
980
+ "noUnknownPseudoElement": {
981
+ "description": "Disallow unknown pseudo-element selectors.",
982
+ "anyOf": [
983
+ { "$ref": "#/definitions/RuleConfiguration" },
984
+ { "type": "null" }
985
+ ]
986
+ },
987
+ "noUnknownTypeSelector": {
988
+ "description": "Disallow unknown type selectors.",
989
+ "anyOf": [
990
+ { "$ref": "#/definitions/RuleConfiguration" },
991
+ { "type": "null" }
992
+ ]
993
+ },
945
994
  "noUnknownUnit": {
946
995
  "description": "Disallow unknown CSS units.",
947
996
  "anyOf": [
@@ -1082,7 +1131,7 @@
1082
1131
  "useJsxKeyInIterable": {
1083
1132
  "description": "Disallow missing key props in iterators/collection literals.",
1084
1133
  "anyOf": [
1085
- { "$ref": "#/definitions/RuleConfiguration" },
1134
+ { "$ref": "#/definitions/UseJsxKeyInIterableConfiguration" },
1086
1135
  { "type": "null" }
1087
1136
  ]
1088
1137
  },
@@ -2349,6 +2398,25 @@
2349
2398
  },
2350
2399
  "additionalProperties": false
2351
2400
  },
2401
+ "NegatablePredefinedSourceMatcher": {
2402
+ "type": "string",
2403
+ "enum": [
2404
+ ":ALIAS:",
2405
+ ":BUN:",
2406
+ ":NODE:",
2407
+ ":PACKAGE:",
2408
+ ":PACKAGE_WITH_PROTOCOL:",
2409
+ ":PATH:",
2410
+ ":URL:",
2411
+ "!:ALIAS:",
2412
+ "!:BUN:",
2413
+ "!:NODE:",
2414
+ "!:PACKAGE:",
2415
+ "!:PACKAGE_WITH_PROTOCOL:",
2416
+ "!:PATH:",
2417
+ "!:URL:"
2418
+ ]
2419
+ },
2352
2420
  "NoBitwiseOperatorsConfiguration": {
2353
2421
  "anyOf": [
2354
2422
  { "$ref": "#/definitions/RulePlainConfiguration" },
@@ -2627,13 +2695,6 @@
2627
2695
  { "type": "null" }
2628
2696
  ]
2629
2697
  },
2630
- "noCommonJs": {
2631
- "description": "Disallow use of CommonJs module system in favor of ESM style imports.",
2632
- "anyOf": [
2633
- { "$ref": "#/definitions/RuleConfiguration" },
2634
- { "type": "null" }
2635
- ]
2636
- },
2637
2698
  "noConstantBinaryExpression": {
2638
2699
  "description": "Disallow expressions where the operation doesn't affect the value",
2639
2700
  "anyOf": [
@@ -2641,13 +2702,6 @@
2641
2702
  { "type": "null" }
2642
2703
  ]
2643
2704
  },
2644
- "noDescendingSpecificity": {
2645
- "description": "Disallow a lower specificity selector from coming after a higher specificity selector.",
2646
- "anyOf": [
2647
- { "$ref": "#/definitions/RuleConfiguration" },
2648
- { "type": "null" }
2649
- ]
2650
- },
2651
2705
  "noDestructuredProps": {
2652
2706
  "description": "Disallow destructuring props inside JSX components in Solid projects.",
2653
2707
  "anyOf": [
@@ -2655,484 +2709,221 @@
2655
2709
  { "type": "null" }
2656
2710
  ]
2657
2711
  },
2658
- "noDocumentCookie": {
2659
- "description": "Disallow direct assignments to document.cookie.",
2712
+ "noFloatingPromises": {
2713
+ "description": "Require Promise-like statements to be handled appropriately.",
2660
2714
  "anyOf": [
2661
- { "$ref": "#/definitions/RuleConfiguration" },
2715
+ { "$ref": "#/definitions/RuleFixConfiguration" },
2662
2716
  { "type": "null" }
2663
2717
  ]
2664
2718
  },
2665
- "noDocumentImportInPage": {
2666
- "description": "Prevents importing next/document outside of pages/_document.jsx in Next.js projects.",
2719
+ "noGlobalDirnameFilename": {
2720
+ "description": "Disallow the use of __dirname and __filename in the global scope.",
2667
2721
  "anyOf": [
2668
- { "$ref": "#/definitions/RuleConfiguration" },
2722
+ { "$ref": "#/definitions/RuleFixConfiguration" },
2669
2723
  { "type": "null" }
2670
2724
  ]
2671
2725
  },
2672
- "noDuplicateCustomProperties": {
2673
- "description": "Disallow duplicate custom properties within declaration blocks.",
2726
+ "noImportCycles": {
2727
+ "description": "Prevent import cycles.",
2674
2728
  "anyOf": [
2675
2729
  { "$ref": "#/definitions/RuleConfiguration" },
2676
2730
  { "type": "null" }
2677
2731
  ]
2678
2732
  },
2679
- "noDuplicateElseIf": {
2680
- "description": "Disallow duplicate conditions in if-else-if chains",
2733
+ "noImportantStyles": {
2734
+ "description": "Disallow the use of the !important style.",
2681
2735
  "anyOf": [
2682
- { "$ref": "#/definitions/RuleConfiguration" },
2736
+ { "$ref": "#/definitions/RuleFixConfiguration" },
2683
2737
  { "type": "null" }
2684
2738
  ]
2685
2739
  },
2686
- "noDuplicateFields": {
2687
- "description": "No duplicated fields in GraphQL operations.",
2740
+ "noNoninteractiveElementInteractions": {
2741
+ "description": "Disallow use event handlers on non-interactive elements.",
2688
2742
  "anyOf": [
2689
2743
  { "$ref": "#/definitions/RuleConfiguration" },
2690
2744
  { "type": "null" }
2691
2745
  ]
2692
2746
  },
2693
- "noDuplicateProperties": {
2694
- "description": "Disallow duplicate properties within declaration blocks.",
2747
+ "noProcessGlobal": {
2748
+ "description": "Disallow the use of process global.",
2695
2749
  "anyOf": [
2696
- { "$ref": "#/definitions/RuleConfiguration" },
2750
+ { "$ref": "#/definitions/RuleFixConfiguration" },
2697
2751
  { "type": "null" }
2698
2752
  ]
2699
2753
  },
2700
- "noDynamicNamespaceImportAccess": {
2701
- "description": "Disallow accessing namespace imports dynamically.",
2754
+ "noRestrictedElements": {
2755
+ "description": "Disallow the use of configured elements.",
2702
2756
  "anyOf": [
2703
- { "$ref": "#/definitions/RuleConfiguration" },
2757
+ { "$ref": "#/definitions/NoRestrictedElementsConfiguration" },
2704
2758
  { "type": "null" }
2705
2759
  ]
2706
2760
  },
2707
- "noEnum": {
2708
- "description": "Disallow TypeScript enum.",
2761
+ "noSecrets": {
2762
+ "description": "Disallow usage of sensitive data such as API keys and tokens.",
2709
2763
  "anyOf": [
2710
- { "$ref": "#/definitions/RuleConfiguration" },
2764
+ { "$ref": "#/definitions/NoSecretsConfiguration" },
2711
2765
  { "type": "null" }
2712
2766
  ]
2713
2767
  },
2714
- "noExportedImports": {
2715
- "description": "Disallow exporting an imported variable.",
2768
+ "noShadow": {
2769
+ "description": "Disallow variable declarations from shadowing variables declared in the outer scope.",
2716
2770
  "anyOf": [
2717
2771
  { "$ref": "#/definitions/RuleConfiguration" },
2718
2772
  { "type": "null" }
2719
2773
  ]
2720
2774
  },
2721
- "noFloatingPromises": {
2722
- "description": "Require Promise-like statements to be handled appropriately.",
2723
- "anyOf": [
2724
- { "$ref": "#/definitions/RuleFixConfiguration" },
2725
- { "type": "null" }
2726
- ]
2727
- },
2728
- "noGlobalDirnameFilename": {
2729
- "description": "Disallow the use of __dirname and __filename in the global scope.",
2775
+ "noTsIgnore": {
2776
+ "description": "Prevents the use of the TypeScript directive @ts-ignore.",
2730
2777
  "anyOf": [
2731
2778
  { "$ref": "#/definitions/RuleFixConfiguration" },
2732
2779
  { "type": "null" }
2733
2780
  ]
2734
2781
  },
2735
- "noHeadElement": {
2736
- "description": "Prevent usage of \\<head> element in a Next.js project.",
2782
+ "noUnknownAtRule": {
2783
+ "description": "Disallow unknown at-rules.",
2737
2784
  "anyOf": [
2738
2785
  { "$ref": "#/definitions/RuleConfiguration" },
2739
2786
  { "type": "null" }
2740
2787
  ]
2741
2788
  },
2742
- "noHeadImportInDocument": {
2743
- "description": "Prevent using the next/head module in pages/_document.js on Next.js projects.",
2789
+ "noUnresolvedImports": {
2790
+ "description": "Warn when importing non-existing exports.",
2744
2791
  "anyOf": [
2745
2792
  { "$ref": "#/definitions/RuleConfiguration" },
2746
2793
  { "type": "null" }
2747
2794
  ]
2748
2795
  },
2749
- "noImgElement": {
2750
- "description": "Prevent usage of \\<img> element in a Next.js project.",
2796
+ "noUnwantedPolyfillio": {
2797
+ "description": "Prevent duplicate polyfills from Polyfill.io.",
2751
2798
  "anyOf": [
2752
2799
  { "$ref": "#/definitions/RuleConfiguration" },
2753
2800
  { "type": "null" }
2754
2801
  ]
2755
2802
  },
2756
- "noImportCycles": {
2757
- "description": "Prevent import cycles.",
2803
+ "noUselessBackrefInRegex": {
2804
+ "description": "Disallow useless backreferences in regular expression literals that always match an empty string.",
2758
2805
  "anyOf": [
2759
2806
  { "$ref": "#/definitions/RuleConfiguration" },
2760
2807
  { "type": "null" }
2761
2808
  ]
2762
2809
  },
2763
- "noImportantStyles": {
2764
- "description": "Disallow the use of the !important style.",
2810
+ "noUselessEscapeInString": {
2811
+ "description": "Disallow unnecessary escapes in string literals.",
2765
2812
  "anyOf": [
2766
2813
  { "$ref": "#/definitions/RuleFixConfiguration" },
2767
2814
  { "type": "null" }
2768
2815
  ]
2769
2816
  },
2770
- "noIrregularWhitespace": {
2771
- "description": "Disallows the use of irregular whitespace characters.",
2772
- "anyOf": [
2773
- { "$ref": "#/definitions/RuleConfiguration" },
2774
- { "type": "null" }
2775
- ]
2776
- },
2777
- "noMissingVarFunction": {
2778
- "description": "Disallow missing var function for css variables.",
2817
+ "noUselessUndefined": {
2818
+ "description": "Disallow the use of useless undefined.",
2779
2819
  "anyOf": [
2780
- { "$ref": "#/definitions/RuleConfiguration" },
2820
+ { "$ref": "#/definitions/RuleFixConfiguration" },
2781
2821
  { "type": "null" }
2782
2822
  ]
2783
2823
  },
2784
- "noNestedTernary": {
2785
- "description": "Disallow nested ternary expressions.",
2786
- "anyOf": [
2787
- { "$ref": "#/definitions/RuleConfiguration" },
2788
- { "type": "null" }
2789
- ]
2824
+ "recommended": {
2825
+ "description": "It enables the recommended rules for this group",
2826
+ "type": ["boolean", "null"]
2790
2827
  },
2791
- "noNoninteractiveElementInteractions": {
2792
- "description": "Disallow use event handlers on non-interactive elements.",
2828
+ "useConsistentObjectDefinition": {
2829
+ "description": "Require the consistent declaration of object literals. Defaults to explicit definitions.",
2793
2830
  "anyOf": [
2794
- { "$ref": "#/definitions/RuleConfiguration" },
2831
+ {
2832
+ "$ref": "#/definitions/UseConsistentObjectDefinitionConfiguration"
2833
+ },
2795
2834
  { "type": "null" }
2796
2835
  ]
2797
2836
  },
2798
- "noOctalEscape": {
2799
- "description": "Disallow octal escape sequences in string literals",
2837
+ "useExhaustiveSwitchCases": {
2838
+ "description": "Require switch-case statements to be exhaustive.",
2800
2839
  "anyOf": [
2801
2840
  { "$ref": "#/definitions/RuleFixConfiguration" },
2802
2841
  { "type": "null" }
2803
2842
  ]
2804
2843
  },
2805
- "noProcessEnv": {
2806
- "description": "Disallow the use of process.env.",
2844
+ "useExplicitType": {
2845
+ "description": "Enforce types in functions, methods, variables, and parameters.",
2807
2846
  "anyOf": [
2808
2847
  { "$ref": "#/definitions/RuleConfiguration" },
2809
2848
  { "type": "null" }
2810
2849
  ]
2811
2850
  },
2812
- "noProcessGlobal": {
2813
- "description": "Disallow the use of process global.",
2851
+ "useExportsLast": {
2852
+ "description": "Require that all exports are declared after all non-export statements.",
2814
2853
  "anyOf": [
2815
- { "$ref": "#/definitions/RuleFixConfiguration" },
2854
+ { "$ref": "#/definitions/RuleConfiguration" },
2816
2855
  { "type": "null" }
2817
2856
  ]
2818
2857
  },
2819
- "noRestrictedElements": {
2820
- "description": "Disallow the use of configured elements.",
2858
+ "useForComponent": {
2859
+ "description": "Enforce using Solid's \\<For /> component for mapping an array to JSX elements.",
2821
2860
  "anyOf": [
2822
- { "$ref": "#/definitions/NoRestrictedElementsConfiguration" },
2861
+ { "$ref": "#/definitions/RuleConfiguration" },
2823
2862
  { "type": "null" }
2824
2863
  ]
2825
2864
  },
2826
- "noRestrictedImports": {
2827
- "description": "Disallow specified modules when loaded by import or require.",
2865
+ "useGoogleFontPreconnect": {
2866
+ "description": "Ensure the preconnect attribute is used when using Google Fonts.",
2828
2867
  "anyOf": [
2829
- { "$ref": "#/definitions/RestrictedImportsConfiguration" },
2868
+ { "$ref": "#/definitions/RuleFixConfiguration" },
2830
2869
  { "type": "null" }
2831
2870
  ]
2832
2871
  },
2833
- "noRestrictedTypes": {
2834
- "description": "Disallow user defined types.",
2872
+ "useIterableCallbackReturn": {
2873
+ "description": "Enforce consistent return values in iterable callbacks.",
2835
2874
  "anyOf": [
2836
- { "$ref": "#/definitions/NoRestrictedTypesConfiguration" },
2875
+ { "$ref": "#/definitions/RuleConfiguration" },
2837
2876
  { "type": "null" }
2838
2877
  ]
2839
2878
  },
2840
- "noSecrets": {
2841
- "description": "Disallow usage of sensitive data such as API keys and tokens.",
2879
+ "useNamedOperation": {
2880
+ "description": "Enforce specifying the name of GraphQL operations.",
2842
2881
  "anyOf": [
2843
- { "$ref": "#/definitions/NoSecretsConfiguration" },
2882
+ { "$ref": "#/definitions/RuleFixConfiguration" },
2844
2883
  { "type": "null" }
2845
2884
  ]
2846
2885
  },
2847
- "noStaticElementInteractions": {
2848
- "description": "Enforce that static, visible elements (such as \\<div>) that have click handlers use the valid role attribute.",
2886
+ "useNamingConvention": {
2887
+ "description": "Validates that all enum values are capitalized.",
2849
2888
  "anyOf": [
2850
2889
  { "$ref": "#/definitions/RuleConfiguration" },
2851
2890
  { "type": "null" }
2852
2891
  ]
2853
2892
  },
2854
- "noSubstr": {
2855
- "description": "Enforce the use of String.slice() over String.substr() and String.substring().",
2893
+ "useNumericSeparators": {
2894
+ "description": "Enforce the use of numeric separators in numeric literals.",
2856
2895
  "anyOf": [
2857
2896
  { "$ref": "#/definitions/RuleFixConfiguration" },
2858
2897
  { "type": "null" }
2859
2898
  ]
2860
2899
  },
2861
- "noTemplateCurlyInString": {
2862
- "description": "Disallow template literal placeholder syntax in regular strings.",
2900
+ "useParseIntRadix": {
2901
+ "description": "Enforce the consistent use of the radix argument when using parseInt().",
2863
2902
  "anyOf": [
2864
- { "$ref": "#/definitions/RuleConfiguration" },
2903
+ { "$ref": "#/definitions/RuleFixConfiguration" },
2865
2904
  { "type": "null" }
2866
2905
  ]
2867
2906
  },
2868
- "noTsIgnore": {
2869
- "description": "Prevents the use of the TypeScript directive @ts-ignore.",
2907
+ "useSingleJsDocAsterisk": {
2908
+ "description": "Enforce JSDoc comment lines to start with a single asterisk, except for the first one.",
2870
2909
  "anyOf": [
2871
2910
  { "$ref": "#/definitions/RuleFixConfiguration" },
2872
2911
  { "type": "null" }
2873
2912
  ]
2874
2913
  },
2875
- "noUnknownAtRule": {
2876
- "description": "Disallow unknown at-rules.",
2914
+ "useSortedClasses": {
2915
+ "description": "Enforce the sorting of CSS utility classes.",
2877
2916
  "anyOf": [
2878
- { "$ref": "#/definitions/RuleConfiguration" },
2917
+ { "$ref": "#/definitions/UtilityClassSortingConfiguration" },
2879
2918
  { "type": "null" }
2880
2919
  ]
2881
2920
  },
2882
- "noUnknownPseudoClass": {
2883
- "description": "Disallow unknown pseudo-class selectors.",
2921
+ "useSymbolDescription": {
2922
+ "description": "Require a description parameter for the Symbol().",
2884
2923
  "anyOf": [
2885
2924
  { "$ref": "#/definitions/RuleConfiguration" },
2886
2925
  { "type": "null" }
2887
2926
  ]
2888
- },
2889
- "noUnknownPseudoElement": {
2890
- "description": "Disallow unknown pseudo-element selectors.",
2891
- "anyOf": [
2892
- { "$ref": "#/definitions/RuleConfiguration" },
2893
- { "type": "null" }
2894
- ]
2895
- },
2896
- "noUnknownTypeSelector": {
2897
- "description": "Disallow unknown type selectors.",
2898
- "anyOf": [
2899
- { "$ref": "#/definitions/RuleConfiguration" },
2900
- { "type": "null" }
2901
- ]
2902
- },
2903
- "noUnresolvedImports": {
2904
- "description": "Warn when importing non-existing exports.",
2905
- "anyOf": [
2906
- { "$ref": "#/definitions/RuleConfiguration" },
2907
- { "type": "null" }
2908
- ]
2909
- },
2910
- "noUnwantedPolyfillio": {
2911
- "description": "Prevent duplicate polyfills from Polyfill.io.",
2912
- "anyOf": [
2913
- { "$ref": "#/definitions/RuleConfiguration" },
2914
- { "type": "null" }
2915
- ]
2916
- },
2917
- "noUselessEscapeInRegex": {
2918
- "description": "Disallow unnecessary escape sequence in regular expression literals.",
2919
- "anyOf": [
2920
- { "$ref": "#/definitions/RuleFixConfiguration" },
2921
- { "type": "null" }
2922
- ]
2923
- },
2924
- "noUselessEscapeInString": {
2925
- "description": "Disallow unnecessary escapes in string literals.",
2926
- "anyOf": [
2927
- { "$ref": "#/definitions/RuleFixConfiguration" },
2928
- { "type": "null" }
2929
- ]
2930
- },
2931
- "noUselessStringRaw": {
2932
- "description": "Disallow unnecessary String.raw function in template string literals without any escape sequence.",
2933
- "anyOf": [
2934
- { "$ref": "#/definitions/RuleConfiguration" },
2935
- { "type": "null" }
2936
- ]
2937
- },
2938
- "noUselessUndefined": {
2939
- "description": "Disallow the use of useless undefined.",
2940
- "anyOf": [
2941
- { "$ref": "#/definitions/RuleFixConfiguration" },
2942
- { "type": "null" }
2943
- ]
2944
- },
2945
- "noValueAtRule": {
2946
- "description": "Disallow use of @value rule in css modules.",
2947
- "anyOf": [
2948
- { "$ref": "#/definitions/RuleConfiguration" },
2949
- { "type": "null" }
2950
- ]
2951
- },
2952
- "recommended": {
2953
- "description": "It enables the recommended rules for this group",
2954
- "type": ["boolean", "null"]
2955
- },
2956
- "useAdjacentOverloadSignatures": {
2957
- "description": "Disallow the use of overload signatures that are not next to each other.",
2958
- "anyOf": [
2959
- { "$ref": "#/definitions/RuleConfiguration" },
2960
- { "type": "null" }
2961
- ]
2962
- },
2963
- "useAriaPropsSupportedByRole": {
2964
- "description": "Enforce that ARIA properties are valid for the roles that are supported by the element.",
2965
- "anyOf": [
2966
- { "$ref": "#/definitions/RuleConfiguration" },
2967
- { "type": "null" }
2968
- ]
2969
- },
2970
- "useAtIndex": {
2971
- "description": "Use at() instead of integer index access.",
2972
- "anyOf": [
2973
- { "$ref": "#/definitions/RuleFixConfiguration" },
2974
- { "type": "null" }
2975
- ]
2976
- },
2977
- "useCollapsedIf": {
2978
- "description": "Enforce using single if instead of nested if clauses.",
2979
- "anyOf": [
2980
- { "$ref": "#/definitions/RuleFixConfiguration" },
2981
- { "type": "null" }
2982
- ]
2983
- },
2984
- "useComponentExportOnlyModules": {
2985
- "description": "Enforce declaring components only within modules that export React Components exclusively.",
2986
- "anyOf": [
2987
- {
2988
- "$ref": "#/definitions/UseComponentExportOnlyModulesConfiguration"
2989
- },
2990
- { "type": "null" }
2991
- ]
2992
- },
2993
- "useConsistentCurlyBraces": {
2994
- "description": "This rule enforces consistent use of curly braces inside JSX attributes and JSX children.",
2995
- "anyOf": [
2996
- { "$ref": "#/definitions/RuleFixConfiguration" },
2997
- { "type": "null" }
2998
- ]
2999
- },
3000
- "useConsistentMemberAccessibility": {
3001
- "description": "Require consistent accessibility modifiers on class properties and methods.",
3002
- "anyOf": [
3003
- {
3004
- "$ref": "#/definitions/ConsistentMemberAccessibilityConfiguration"
3005
- },
3006
- { "type": "null" }
3007
- ]
3008
- },
3009
- "useConsistentObjectDefinition": {
3010
- "description": "Require the consistent declaration of object literals. Defaults to explicit definitions.",
3011
- "anyOf": [
3012
- {
3013
- "$ref": "#/definitions/UseConsistentObjectDefinitionConfiguration"
3014
- },
3015
- { "type": "null" }
3016
- ]
3017
- },
3018
- "useDeprecatedReason": {
3019
- "description": "Require specifying the reason argument when using @deprecated directive",
3020
- "anyOf": [
3021
- { "$ref": "#/definitions/RuleConfiguration" },
3022
- { "type": "null" }
3023
- ]
3024
- },
3025
- "useExplicitType": {
3026
- "description": "Enforce types in functions, methods, variables, and parameters.",
3027
- "anyOf": [
3028
- { "$ref": "#/definitions/RuleConfiguration" },
3029
- { "type": "null" }
3030
- ]
3031
- },
3032
- "useExportsLast": {
3033
- "description": "Require that all exports are declared after all non-export statements.",
3034
- "anyOf": [
3035
- { "$ref": "#/definitions/RuleConfiguration" },
3036
- { "type": "null" }
3037
- ]
3038
- },
3039
- "useForComponent": {
3040
- "description": "Enforce using Solid's \\<For /> component for mapping an array to JSX elements.",
3041
- "anyOf": [
3042
- { "$ref": "#/definitions/RuleConfiguration" },
3043
- { "type": "null" }
3044
- ]
3045
- },
3046
- "useGoogleFontDisplay": {
3047
- "description": "Enforces the use of a recommended display strategy with Google Fonts.",
3048
- "anyOf": [
3049
- { "$ref": "#/definitions/RuleConfiguration" },
3050
- { "type": "null" }
3051
- ]
3052
- },
3053
- "useGoogleFontPreconnect": {
3054
- "description": "Ensure the preconnect attribute is used when using Google Fonts.",
3055
- "anyOf": [
3056
- { "$ref": "#/definitions/RuleFixConfiguration" },
3057
- { "type": "null" }
3058
- ]
3059
- },
3060
- "useGuardForIn": {
3061
- "description": "Require for-in loops to include an if statement.",
3062
- "anyOf": [
3063
- { "$ref": "#/definitions/RuleConfiguration" },
3064
- { "type": "null" }
3065
- ]
3066
- },
3067
- "useIterableCallbackReturn": {
3068
- "description": "Enforce consistent return values in iterable callbacks.",
3069
- "anyOf": [
3070
- { "$ref": "#/definitions/RuleConfiguration" },
3071
- { "type": "null" }
3072
- ]
3073
- },
3074
- "useNamedOperation": {
3075
- "description": "Enforce specifying the name of GraphQL operations.",
3076
- "anyOf": [
3077
- { "$ref": "#/definitions/RuleFixConfiguration" },
3078
- { "type": "null" }
3079
- ]
3080
- },
3081
- "useNamingConvention": {
3082
- "description": "Validates that all enum values are capitalized.",
3083
- "anyOf": [
3084
- { "$ref": "#/definitions/RuleConfiguration" },
3085
- { "type": "null" }
3086
- ]
3087
- },
3088
- "useNumericSeparators": {
3089
- "description": "Enforce the use of numeric separators in numeric literals.",
3090
- "anyOf": [
3091
- { "$ref": "#/definitions/RuleFixConfiguration" },
3092
- { "type": "null" }
3093
- ]
3094
- },
3095
- "useParseIntRadix": {
3096
- "description": "Enforce the consistent use of the radix argument when using parseInt().",
3097
- "anyOf": [
3098
- { "$ref": "#/definitions/RuleFixConfiguration" },
3099
- { "type": "null" }
3100
- ]
3101
- },
3102
- "useSortedClasses": {
3103
- "description": "Enforce the sorting of CSS utility classes.",
3104
- "anyOf": [
3105
- { "$ref": "#/definitions/UtilityClassSortingConfiguration" },
3106
- { "type": "null" }
3107
- ]
3108
- },
3109
- "useStrictMode": {
3110
- "description": "Enforce the use of the directive \"use strict\" in script files.",
3111
- "anyOf": [
3112
- { "$ref": "#/definitions/RuleFixConfiguration" },
3113
- { "type": "null" }
3114
- ]
3115
- },
3116
- "useSymbolDescription": {
3117
- "description": "Require a description parameter for the Symbol().",
3118
- "anyOf": [
3119
- { "$ref": "#/definitions/RuleConfiguration" },
3120
- { "type": "null" }
3121
- ]
3122
- },
3123
- "useTrimStartEnd": {
3124
- "description": "Enforce the use of String.trimStart() and String.trimEnd() over String.trimLeft() and String.trimRight().",
3125
- "anyOf": [
3126
- { "$ref": "#/definitions/RuleFixConfiguration" },
3127
- { "type": "null" }
3128
- ]
3129
- },
3130
- "useValidAutocomplete": {
3131
- "description": "Use valid values for the autocomplete attribute on input elements.",
3132
- "anyOf": [
3133
- { "$ref": "#/definitions/UseValidAutocompleteConfiguration" },
3134
- { "type": "null" }
3135
- ]
3136
2927
  }
3137
2928
  },
3138
2929
  "additionalProperties": false
@@ -3356,6 +3147,20 @@
3356
3147
  { "type": "null" }
3357
3148
  ]
3358
3149
  },
3150
+ "noDynamicNamespaceImportAccess": {
3151
+ "description": "Disallow accessing namespace imports dynamically.",
3152
+ "anyOf": [
3153
+ { "$ref": "#/definitions/RuleConfiguration" },
3154
+ { "type": "null" }
3155
+ ]
3156
+ },
3157
+ "noImgElement": {
3158
+ "description": "Prevent usage of \\<img> element in a Next.js project.",
3159
+ "anyOf": [
3160
+ { "$ref": "#/definitions/RuleConfiguration" },
3161
+ { "type": "null" }
3162
+ ]
3163
+ },
3359
3164
  "noReExportAll": {
3360
3165
  "description": "Avoid re-export all.",
3361
3166
  "anyOf": [
@@ -3382,7 +3187,6 @@
3382
3187
  "type": "array",
3383
3188
  "items": { "$ref": "#/definitions/PluginConfiguration" }
3384
3189
  },
3385
- "PredefinedGroupMatcher": { "type": "string" },
3386
3190
  "QuoteProperties": { "type": "string", "enum": ["asNeeded", "preserve"] },
3387
3191
  "QuoteStyle": { "type": "string", "enum": ["double", "single"] },
3388
3192
  "Regex": { "type": "string" },
@@ -4019,21 +3823,36 @@
4019
3823
  },
4020
3824
  "additionalProperties": false
4021
3825
  },
4022
- "RuleWithUseImportExtensionsOptions": {
3826
+ "RuleWithUseImportExtensionsOptions": {
3827
+ "type": "object",
3828
+ "required": ["level"],
3829
+ "properties": {
3830
+ "fix": {
3831
+ "description": "The kind of the code actions emitted by the rule",
3832
+ "anyOf": [{ "$ref": "#/definitions/FixKind" }, { "type": "null" }]
3833
+ },
3834
+ "level": {
3835
+ "description": "The severity of the emitted diagnostics by the rule",
3836
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
3837
+ },
3838
+ "options": {
3839
+ "description": "Rule's options",
3840
+ "allOf": [{ "$ref": "#/definitions/UseImportExtensionsOptions" }]
3841
+ }
3842
+ },
3843
+ "additionalProperties": false
3844
+ },
3845
+ "RuleWithUseJsxKeyInIterableOptions": {
4023
3846
  "type": "object",
4024
3847
  "required": ["level"],
4025
3848
  "properties": {
4026
- "fix": {
4027
- "description": "The kind of the code actions emitted by the rule",
4028
- "anyOf": [{ "$ref": "#/definitions/FixKind" }, { "type": "null" }]
4029
- },
4030
3849
  "level": {
4031
3850
  "description": "The severity of the emitted diagnostics by the rule",
4032
3851
  "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
4033
3852
  },
4034
3853
  "options": {
4035
3854
  "description": "Rule's options",
4036
- "allOf": [{ "$ref": "#/definitions/UseImportExtensionsOptions" }]
3855
+ "allOf": [{ "$ref": "#/definitions/UseJsxKeyInIterableOptions" }]
4037
3856
  }
4038
3857
  },
4039
3858
  "additionalProperties": false
@@ -4332,7 +4151,7 @@
4332
4151
  },
4333
4152
  "SourceMatcher": {
4334
4153
  "anyOf": [
4335
- { "$ref": "#/definitions/PredefinedGroupMatcher" },
4154
+ { "$ref": "#/definitions/NegatablePredefinedSourceMatcher" },
4336
4155
  { "$ref": "#/definitions/ImportSourceGlob" }
4337
4156
  ]
4338
4157
  },
@@ -4379,6 +4198,13 @@
4379
4198
  { "type": "null" }
4380
4199
  ]
4381
4200
  },
4201
+ "noCommonJs": {
4202
+ "description": "Disallow use of CommonJs module system in favor of ESM style imports.",
4203
+ "anyOf": [
4204
+ { "$ref": "#/definitions/RuleConfiguration" },
4205
+ { "type": "null" }
4206
+ ]
4207
+ },
4382
4208
  "noDefaultExport": {
4383
4209
  "description": "Disallow default exports.",
4384
4210
  "anyOf": [
@@ -4386,6 +4212,13 @@
4386
4212
  { "type": "null" }
4387
4213
  ]
4388
4214
  },
4215
+ "noDescendingSpecificity": {
4216
+ "description": "Disallow a lower specificity selector from coming after a higher specificity selector.",
4217
+ "anyOf": [
4218
+ { "$ref": "#/definitions/RuleConfiguration" },
4219
+ { "type": "null" }
4220
+ ]
4221
+ },
4389
4222
  "noDoneCallback": {
4390
4223
  "description": "Disallow using a callback in asynchronous tests and hooks.",
4391
4224
  "anyOf": [
@@ -4393,6 +4226,27 @@
4393
4226
  { "type": "null" }
4394
4227
  ]
4395
4228
  },
4229
+ "noEnum": {
4230
+ "description": "Disallow TypeScript enum.",
4231
+ "anyOf": [
4232
+ { "$ref": "#/definitions/RuleConfiguration" },
4233
+ { "type": "null" }
4234
+ ]
4235
+ },
4236
+ "noExportedImports": {
4237
+ "description": "Disallow exporting an imported variable.",
4238
+ "anyOf": [
4239
+ { "$ref": "#/definitions/RuleConfiguration" },
4240
+ { "type": "null" }
4241
+ ]
4242
+ },
4243
+ "noHeadElement": {
4244
+ "description": "Prevent usage of \\<head> element in a Next.js project.",
4245
+ "anyOf": [
4246
+ { "$ref": "#/definitions/RuleConfiguration" },
4247
+ { "type": "null" }
4248
+ ]
4249
+ },
4396
4250
  "noImplicitBoolean": {
4397
4251
  "description": "Disallow implicit true values on JSX boolean attributes",
4398
4252
  "anyOf": [
@@ -4428,6 +4282,13 @@
4428
4282
  { "type": "null" }
4429
4283
  ]
4430
4284
  },
4285
+ "noNestedTernary": {
4286
+ "description": "Disallow nested ternary expressions.",
4287
+ "anyOf": [
4288
+ { "$ref": "#/definitions/RuleConfiguration" },
4289
+ { "type": "null" }
4290
+ ]
4291
+ },
4431
4292
  "noNonNullAssertion": {
4432
4293
  "description": "Disallow non-null assertions using the ! postfix operator.",
4433
4294
  "anyOf": [
@@ -4449,6 +4310,13 @@
4449
4310
  { "type": "null" }
4450
4311
  ]
4451
4312
  },
4313
+ "noProcessEnv": {
4314
+ "description": "Disallow the use of process.env.",
4315
+ "anyOf": [
4316
+ { "$ref": "#/definitions/RuleConfiguration" },
4317
+ { "type": "null" }
4318
+ ]
4319
+ },
4452
4320
  "noRestrictedGlobals": {
4453
4321
  "description": "This rule allows you to specify global variable names that you don’t want to use in your application.",
4454
4322
  "anyOf": [
@@ -4456,6 +4324,20 @@
4456
4324
  { "type": "null" }
4457
4325
  ]
4458
4326
  },
4327
+ "noRestrictedImports": {
4328
+ "description": "Disallow specified modules when loaded by import or require.",
4329
+ "anyOf": [
4330
+ { "$ref": "#/definitions/RestrictedImportsConfiguration" },
4331
+ { "type": "null" }
4332
+ ]
4333
+ },
4334
+ "noRestrictedTypes": {
4335
+ "description": "Disallow user defined types.",
4336
+ "anyOf": [
4337
+ { "$ref": "#/definitions/NoRestrictedTypesConfiguration" },
4338
+ { "type": "null" }
4339
+ ]
4340
+ },
4459
4341
  "noShoutyConstants": {
4460
4342
  "description": "Disallow the use of constants which its value is the upper-case version of its name.",
4461
4343
  "anyOf": [
@@ -4463,6 +4345,13 @@
4463
4345
  { "type": "null" }
4464
4346
  ]
4465
4347
  },
4348
+ "noSubstr": {
4349
+ "description": "Enforce the use of String.slice() over String.substr() and String.substring().",
4350
+ "anyOf": [
4351
+ { "$ref": "#/definitions/RuleFixConfiguration" },
4352
+ { "type": "null" }
4353
+ ]
4354
+ },
4466
4355
  "noUnusedTemplateLiteral": {
4467
4356
  "description": "Disallow template literals if interpolation and special-character handling are not needed",
4468
4357
  "anyOf": [
@@ -4477,6 +4366,13 @@
4477
4366
  { "type": "null" }
4478
4367
  ]
4479
4368
  },
4369
+ "noValueAtRule": {
4370
+ "description": "Disallow use of @value rule in css modules.",
4371
+ "anyOf": [
4372
+ { "$ref": "#/definitions/RuleConfiguration" },
4373
+ { "type": "null" }
4374
+ ]
4375
+ },
4480
4376
  "noYodaExpression": {
4481
4377
  "description": "Disallow the use of yoda expressions.",
4482
4378
  "anyOf": [
@@ -4495,6 +4391,13 @@
4495
4391
  { "type": "null" }
4496
4392
  ]
4497
4393
  },
4394
+ "useAtIndex": {
4395
+ "description": "Use at() instead of integer index access.",
4396
+ "anyOf": [
4397
+ { "$ref": "#/definitions/RuleFixConfiguration" },
4398
+ { "type": "null" }
4399
+ ]
4400
+ },
4498
4401
  "useBlockStatements": {
4499
4402
  "description": "Requires following curly brace conventions.",
4500
4403
  "anyOf": [
@@ -4509,6 +4412,22 @@
4509
4412
  { "type": "null" }
4510
4413
  ]
4511
4414
  },
4415
+ "useCollapsedIf": {
4416
+ "description": "Enforce using single if instead of nested if clauses.",
4417
+ "anyOf": [
4418
+ { "$ref": "#/definitions/RuleFixConfiguration" },
4419
+ { "type": "null" }
4420
+ ]
4421
+ },
4422
+ "useComponentExportOnlyModules": {
4423
+ "description": "Enforce declaring components only within modules that export React Components exclusively.",
4424
+ "anyOf": [
4425
+ {
4426
+ "$ref": "#/definitions/UseComponentExportOnlyModulesConfiguration"
4427
+ },
4428
+ { "type": "null" }
4429
+ ]
4430
+ },
4512
4431
  "useConsistentArrayType": {
4513
4432
  "description": "Require consistently using either T\\[] or Array\\<T>",
4514
4433
  "anyOf": [
@@ -4523,6 +4442,22 @@
4523
4442
  { "type": "null" }
4524
4443
  ]
4525
4444
  },
4445
+ "useConsistentCurlyBraces": {
4446
+ "description": "This rule enforces consistent use of curly braces inside JSX attributes and JSX children.",
4447
+ "anyOf": [
4448
+ { "$ref": "#/definitions/RuleFixConfiguration" },
4449
+ { "type": "null" }
4450
+ ]
4451
+ },
4452
+ "useConsistentMemberAccessibility": {
4453
+ "description": "Require consistent accessibility modifiers on class properties and methods.",
4454
+ "anyOf": [
4455
+ {
4456
+ "$ref": "#/definitions/ConsistentMemberAccessibilityConfiguration"
4457
+ },
4458
+ { "type": "null" }
4459
+ ]
4460
+ },
4526
4461
  "useConst": {
4527
4462
  "description": "Require const declarations for variables that are only assigned once.",
4528
4463
  "anyOf": [
@@ -4544,6 +4479,13 @@
4544
4479
  { "type": "null" }
4545
4480
  ]
4546
4481
  },
4482
+ "useDeprecatedReason": {
4483
+ "description": "Require specifying the reason argument when using @deprecated directive",
4484
+ "anyOf": [
4485
+ { "$ref": "#/definitions/RuleConfiguration" },
4486
+ { "type": "null" }
4487
+ ]
4488
+ },
4547
4489
  "useEnumInitializers": {
4548
4490
  "description": "Require that each enum member value be explicitly initialized.",
4549
4491
  "anyOf": [
@@ -4643,19 +4585,12 @@
4643
4585
  ]
4644
4586
  },
4645
4587
  "useSelfClosingElements": {
4646
- "description": "Prevent extra closing tags for components without children",
4588
+ "description": "Prevent extra closing tags for components without children.",
4647
4589
  "anyOf": [
4648
4590
  { "$ref": "#/definitions/UseSelfClosingElementsConfiguration" },
4649
4591
  { "type": "null" }
4650
4592
  ]
4651
4593
  },
4652
- "useShorthandArrayType": {
4653
- "description": "When expressing array types, this rule promotes the usage of T\\[] shorthand instead of Array\\<T>.",
4654
- "anyOf": [
4655
- { "$ref": "#/definitions/RuleFixConfiguration" },
4656
- { "type": "null" }
4657
- ]
4658
- },
4659
4594
  "useShorthandAssign": {
4660
4595
  "description": "Require assignment operator shorthand where possible.",
4661
4596
  "anyOf": [
@@ -4670,13 +4605,6 @@
4670
4605
  { "type": "null" }
4671
4606
  ]
4672
4607
  },
4673
- "useSingleCaseStatement": {
4674
- "description": "Enforces switch clauses have a single statement, emits a quick fix wrapping the statements in a block.",
4675
- "anyOf": [
4676
- { "$ref": "#/definitions/RuleFixConfiguration" },
4677
- { "type": "null" }
4678
- ]
4679
- },
4680
4608
  "useSingleVarDeclarator": {
4681
4609
  "description": "Disallow multiple variable declarations in the same variable statement",
4682
4610
  "anyOf": [
@@ -4704,6 +4632,13 @@
4704
4632
  { "$ref": "#/definitions/RuleConfiguration" },
4705
4633
  { "type": "null" }
4706
4634
  ]
4635
+ },
4636
+ "useTrimStartEnd": {
4637
+ "description": "Enforce the use of String.trimStart() and String.trimEnd() over String.trimLeft() and String.trimRight().",
4638
+ "anyOf": [
4639
+ { "$ref": "#/definitions/RuleFixConfiguration" },
4640
+ { "type": "null" }
4641
+ ]
4707
4642
  }
4708
4643
  },
4709
4644
  "additionalProperties": false
@@ -4830,6 +4765,20 @@
4830
4765
  { "type": "null" }
4831
4766
  ]
4832
4767
  },
4768
+ "noDocumentCookie": {
4769
+ "description": "Disallow direct assignments to document.cookie.",
4770
+ "anyOf": [
4771
+ { "$ref": "#/definitions/RuleConfiguration" },
4772
+ { "type": "null" }
4773
+ ]
4774
+ },
4775
+ "noDocumentImportInPage": {
4776
+ "description": "Prevents importing next/document outside of pages/_document.jsx in Next.js projects.",
4777
+ "anyOf": [
4778
+ { "$ref": "#/definitions/RuleConfiguration" },
4779
+ { "type": "null" }
4780
+ ]
4781
+ },
4833
4782
  "noDoubleEquals": {
4834
4783
  "description": "Require the use of === and !==.",
4835
4784
  "anyOf": [
@@ -4858,6 +4807,27 @@
4858
4807
  { "type": "null" }
4859
4808
  ]
4860
4809
  },
4810
+ "noDuplicateCustomProperties": {
4811
+ "description": "Disallow duplicate custom properties within declaration blocks.",
4812
+ "anyOf": [
4813
+ { "$ref": "#/definitions/RuleConfiguration" },
4814
+ { "type": "null" }
4815
+ ]
4816
+ },
4817
+ "noDuplicateElseIf": {
4818
+ "description": "Disallow duplicate conditions in if-else-if chains",
4819
+ "anyOf": [
4820
+ { "$ref": "#/definitions/RuleConfiguration" },
4821
+ { "type": "null" }
4822
+ ]
4823
+ },
4824
+ "noDuplicateFields": {
4825
+ "description": "No duplicated fields in GraphQL operations.",
4826
+ "anyOf": [
4827
+ { "$ref": "#/definitions/RuleConfiguration" },
4828
+ { "type": "null" }
4829
+ ]
4830
+ },
4861
4831
  "noDuplicateFontNames": {
4862
4832
  "description": "Disallow duplicate names within font families.",
4863
4833
  "anyOf": [
@@ -4886,6 +4856,13 @@
4886
4856
  { "type": "null" }
4887
4857
  ]
4888
4858
  },
4859
+ "noDuplicateProperties": {
4860
+ "description": "Disallow duplicate properties within declaration blocks.",
4861
+ "anyOf": [
4862
+ { "$ref": "#/definitions/RuleConfiguration" },
4863
+ { "type": "null" }
4864
+ ]
4865
+ },
4889
4866
  "noDuplicateSelectorsKeyframeBlock": {
4890
4867
  "description": "Disallow duplicate selectors within keyframe blocks.",
4891
4868
  "anyOf": [
@@ -4991,6 +4968,13 @@
4991
4968
  { "type": "null" }
4992
4969
  ]
4993
4970
  },
4971
+ "noHeadImportInDocument": {
4972
+ "description": "Prevent using the next/head module in pages/_document.js on Next.js projects.",
4973
+ "anyOf": [
4974
+ { "$ref": "#/definitions/RuleConfiguration" },
4975
+ { "type": "null" }
4976
+ ]
4977
+ },
4994
4978
  "noImplicitAnyLet": {
4995
4979
  "description": "Disallow use of implicit any type on variable declarations.",
4996
4980
  "anyOf": [
@@ -5012,6 +4996,13 @@
5012
4996
  { "type": "null" }
5013
4997
  ]
5014
4998
  },
4999
+ "noIrregularWhitespace": {
5000
+ "description": "Disallows the use of irregular whitespace characters.",
5001
+ "anyOf": [
5002
+ { "$ref": "#/definitions/RuleConfiguration" },
5003
+ { "type": "null" }
5004
+ ]
5005
+ },
5015
5006
  "noLabelVar": {
5016
5007
  "description": "Disallow labels that share a name with a variable",
5017
5008
  "anyOf": [
@@ -5047,6 +5038,13 @@
5047
5038
  { "type": "null" }
5048
5039
  ]
5049
5040
  },
5041
+ "noOctalEscape": {
5042
+ "description": "Disallow octal escape sequences in string literals",
5043
+ "anyOf": [
5044
+ { "$ref": "#/definitions/RuleFixConfiguration" },
5045
+ { "type": "null" }
5046
+ ]
5047
+ },
5050
5048
  "noPrototypeBuiltins": {
5051
5049
  "description": "Disallow direct use of Object.prototype builtins.",
5052
5050
  "anyOf": [
@@ -5117,6 +5115,13 @@
5117
5115
  { "type": "null" }
5118
5116
  ]
5119
5117
  },
5118
+ "noTemplateCurlyInString": {
5119
+ "description": "Disallow template literal placeholder syntax in regular strings.",
5120
+ "anyOf": [
5121
+ { "$ref": "#/definitions/RuleConfiguration" },
5122
+ { "type": "null" }
5123
+ ]
5124
+ },
5120
5125
  "noThenProperty": {
5121
5126
  "description": "Disallow then property.",
5122
5127
  "anyOf": [
@@ -5149,6 +5154,13 @@
5149
5154
  "description": "It enables the recommended rules for this group",
5150
5155
  "type": ["boolean", "null"]
5151
5156
  },
5157
+ "useAdjacentOverloadSignatures": {
5158
+ "description": "Disallow the use of overload signatures that are not next to each other.",
5159
+ "anyOf": [
5160
+ { "$ref": "#/definitions/RuleConfiguration" },
5161
+ { "type": "null" }
5162
+ ]
5163
+ },
5152
5164
  "useAwait": {
5153
5165
  "description": "Ensure async functions utilize await.",
5154
5166
  "anyOf": [
@@ -5177,6 +5189,20 @@
5177
5189
  { "type": "null" }
5178
5190
  ]
5179
5191
  },
5192
+ "useGoogleFontDisplay": {
5193
+ "description": "Enforces the use of a recommended display strategy with Google Fonts.",
5194
+ "anyOf": [
5195
+ { "$ref": "#/definitions/RuleConfiguration" },
5196
+ { "type": "null" }
5197
+ ]
5198
+ },
5199
+ "useGuardForIn": {
5200
+ "description": "Require for-in loops to include an if statement.",
5201
+ "anyOf": [
5202
+ { "$ref": "#/definitions/RuleConfiguration" },
5203
+ { "type": "null" }
5204
+ ]
5205
+ },
5180
5206
  "useIsArray": {
5181
5207
  "description": "Use Array.isArray() instead of instanceof Array.",
5182
5208
  "anyOf": [
@@ -5198,6 +5224,13 @@
5198
5224
  { "type": "null" }
5199
5225
  ]
5200
5226
  },
5227
+ "useStrictMode": {
5228
+ "description": "Enforce the use of the directive \"use strict\" in script files.",
5229
+ "anyOf": [
5230
+ { "$ref": "#/definitions/RuleFixConfiguration" },
5231
+ { "type": "null" }
5232
+ ]
5233
+ },
5201
5234
  "useValidTypeof": {
5202
5235
  "description": "This rule checks that the result of a typeof expression is compared to a valid value.",
5203
5236
  "anyOf": [
@@ -5343,6 +5376,23 @@
5343
5376
  },
5344
5377
  "additionalProperties": false
5345
5378
  },
5379
+ "UseJsxKeyInIterableConfiguration": {
5380
+ "anyOf": [
5381
+ { "$ref": "#/definitions/RulePlainConfiguration" },
5382
+ { "$ref": "#/definitions/RuleWithUseJsxKeyInIterableOptions" }
5383
+ ]
5384
+ },
5385
+ "UseJsxKeyInIterableOptions": {
5386
+ "type": "object",
5387
+ "properties": {
5388
+ "checkShorthandFragments": {
5389
+ "description": "Set to `true` to check shorthand fragments (`<></>`)",
5390
+ "default": false,
5391
+ "type": "boolean"
5392
+ }
5393
+ },
5394
+ "additionalProperties": false
5395
+ },
5346
5396
  "UseSelfClosingElementsConfiguration": {
5347
5397
  "anyOf": [
5348
5398
  { "$ref": "#/definitions/RulePlainConfiguration" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@biomejs/biome",
3
- "version": "2.0.0-beta.2",
3
+ "version": "2.0.0-beta.4",
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.0.0-beta.2",
50
- "@biomejs/cli-win32-arm64": "2.0.0-beta.2",
51
- "@biomejs/cli-darwin-x64": "2.0.0-beta.2",
52
- "@biomejs/cli-darwin-arm64": "2.0.0-beta.2",
53
- "@biomejs/cli-linux-x64": "2.0.0-beta.2",
54
- "@biomejs/cli-linux-arm64": "2.0.0-beta.2",
55
- "@biomejs/cli-linux-x64-musl": "2.0.0-beta.2",
56
- "@biomejs/cli-linux-arm64-musl": "2.0.0-beta.2"
49
+ "@biomejs/cli-win32-x64": "2.0.0-beta.4",
50
+ "@biomejs/cli-win32-arm64": "2.0.0-beta.4",
51
+ "@biomejs/cli-darwin-x64": "2.0.0-beta.4",
52
+ "@biomejs/cli-darwin-arm64": "2.0.0-beta.4",
53
+ "@biomejs/cli-linux-x64": "2.0.0-beta.4",
54
+ "@biomejs/cli-linux-arm64": "2.0.0-beta.4",
55
+ "@biomejs/cli-linux-x64-musl": "2.0.0-beta.4",
56
+ "@biomejs/cli-linux-arm64-musl": "2.0.0-beta.4"
57
57
  }
58
58
  }