@quentinhsu/biome-config 0.3.3 → 0.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.
Files changed (34) hide show
  1. package/dist/131.mjs +358 -0
  2. package/dist/build.mjs +108 -360
  3. package/dist/index.jsonc +56 -56
  4. package/dist/index.mjs +1 -358
  5. package/dist/next.jsonc +60 -60
  6. package/dist/nuxt.jsonc +91 -91
  7. package/dist/react.jsonc +58 -58
  8. package/dist/rslib-runtime.mjs +38 -0
  9. package/dist/types/scripts/tag-release.d.ts +1 -0
  10. package/dist/types/scripts/validate-config-properties.d.ts +1 -0
  11. package/dist/types/src/constants/biome.d.ts +1 -1
  12. package/dist/types/src/generated/biome/index.d.ts +11 -8
  13. package/dist/types/src/generated/biome/no-comment-text-options.d.ts +761 -0
  14. package/dist/types/src/generated/biome/no-global-object-calls-options.d.ts +97 -97
  15. package/dist/types/src/generated/biome/no-sync-scripts-configuration.d.ts +185 -0
  16. package/dist/types/src/generated/biome/{use-semantic-elements-configuration.d.ts → no-useless-constructor-configuration.d.ts} +31 -49
  17. package/dist/types/src/generated/biome/nursery.d.ts +393 -594
  18. package/dist/types/src/generated/biome/{no-assign-in-expressions-configuration.d.ts → pattern-options.d.ts} +252 -179
  19. package/dist/types/src/generated/biome/rule-with-no-access-key-options.d.ts +555 -0
  20. package/dist/types/src/generated/biome/rule-with-no-blank-target-options.d.ts +530 -0
  21. package/dist/types/src/generated/biome/rule-with-no-fallthrough-switch-clause-options.d.ts +469 -0
  22. package/dist/types/src/generated/biome/rule-with-no-unknown-unit-options.d.ts +564 -0
  23. package/dist/types/src/generated/biome/schema.d.ts +35 -17
  24. package/dist/types/src/generated/biome/style.d.ts +614 -0
  25. package/dist/types/src/generated/biome/use-for-of-configuration.d.ts +144 -0
  26. package/dist/types/src/generated/biome/{no-non-null-assertion-options.d.ts → use-unique-variable-names-options.d.ts} +141 -119
  27. package/dist/types/src/index.d.ts +2 -2
  28. package/dist/vue.jsonc +60 -60
  29. package/package.json +38 -34
  30. package/dist/types/src/generated/biome/no-empty-source-configuration.d.ts +0 -241
  31. package/dist/types/src/generated/biome/no-misrefactored-shorthand-assign-options.d.ts +0 -1116
  32. package/dist/types/src/generated/biome/rule-with-no-document-import-in-page-options.d.ts +0 -1148
  33. package/dist/types/src/generated/biome/rule-with-no-implicit-coercions-options.d.ts +0 -1440
  34. package/dist/types/src/generated/biome/use-consistent-arrow-return-options.d.ts +0 -1341
@@ -1,170 +1,113 @@
1
1
  import type { FixKind, GroupPlainConfiguration, RuleAssistPlainConfiguration, RulePlainConfiguration } from './schema.ts';
2
- import type { Regex } from './no-non-null-assertion-options.ts';
3
- import type { Formats, RuleWithNoAssignInExpressionsOptions, RuleWithNoAsyncPromiseExecutorOptions, RuleWithNoBiomeFirstExceptionOptions, RuleWithNoBitwiseOperatorsOptions, RuleWithNoCatchAssignOptions, RuleWithNoClassAssignOptions, RuleWithNoCommentTextOptions, RuleWithNoCompareNegZeroOptions, RuleWithNoConfusingLabelsOptions, RuleWithNoConfusingVoidTypeOptions, RuleWithNoConsoleOptions, RuleWithNoConstEnumOptions, RuleWithNoConstantBinaryExpressionsOptions, RuleWithNoControlCharactersInRegexOptions, RuleWithNoDebuggerOptions, RuleWithNoDocumentCookieOptions } from './use-consistent-arrow-return-options.ts';
4
- import type { NoAccessKeyConfiguration, NoAriaHiddenOnFocusableConfiguration, NoAriaUnsupportedElementsConfiguration, NoAutofocusConfiguration, NoDistractingElementsConfiguration, NoHeaderScopeConfiguration, NoInteractiveElementToNoninteractiveRoleConfiguration, NoLabelWithoutControlConfiguration, NoNoninteractiveElementInteractionsConfiguration, NoNoninteractiveElementToInteractiveRoleConfiguration, NoNoninteractiveTabindexConfiguration, NoPositiveTabindexConfiguration, NoRedundantAltConfiguration, NoRedundantRolesConfiguration, NoStaticElementInteractionsConfiguration, NoSvgWithoutTitleConfiguration, RuleAssistWithOptionsFor_UseSortedAttributesOptions, RuleAssistWithOptionsFor_UseSortedKeysOptions, RuleWithNoDocumentImportInPageOptions, RuleWithNoDoubleEqualsOptions, RuleWithNoDuplicateAtImportRulesOptions, RuleWithNoDuplicateCaseOptions, RuleWithNoDuplicateClassMembersOptions, RuleWithNoDuplicateCustomPropertiesOptions, RuleWithNoDuplicateElseIfOptions, RuleWithNoDuplicateFieldsOptions, RuleWithNoDuplicateFontNamesOptions, RuleWithNoDuplicateJsxPropsOptions, RuleWithNoDuplicateObjectKeysOptions, RuleWithNoDuplicateParametersOptions, RuleWithNoDuplicatePropertiesOptions, RuleWithNoDuplicateSelectorsKeyframeBlockOptions, RuleWithNoDuplicateTestHooksOptions, RuleWithNoEmptyBlockOptions, RuleWithNoEmptyBlockStatementsOptions, RuleWithNoEmptyInterfaceOptions, RuleWithNoEvolvingTypesOptions, RuleWithNoExplicitAnyOptions, RuleWithNoExportsInTestOptions, RuleWithNoExtraNonNullAssertionOptions, RuleWithNoFallthroughSwitchClauseOptions, RuleWithNoFocusedTestsOptions, RuleWithNoFunctionAssignOptions, RuleWithNoGlobalAssignOptions, RuleWithNoGlobalIsFiniteOptions, RuleWithNoGlobalIsNanOptions, RuleWithNoHeadImportInDocumentOptions, RuleWithNoImplicitAnyLetOptions, RuleWithNoImportAssignOptions, RuleWithNoImportantInKeyframeOptions, RuleWithNoIrregularWhitespaceOptions, RuleWithNoLabelVarOptions, RuleWithNoMisleadingCharacterClassOptions, RuleWithNoMisleadingInstantiatorOptions, RuleWithNoMisplacedAssertionOptions, RuleWithNoMisrefactoredShorthandAssignOptions, RuleWithNoNonNullAssertedOptionalChainOptions, RuleWithNoOctalEscapeOptions, RuleWithNoPrototypeBuiltinsOptions, RuleWithNoQuickfixBiomeOptions, RuleWithNoReactSpecificPropsOptions, RuleWithNoRedeclareOptions, RuleWithNoRedundantUseStrictOptions, RuleWithNoSelfCompareOptions, RuleWithNoShadowRestrictedNamesOptions, RuleWithNoShorthandPropertyOverridesOptions, RuleWithNoSkippedTestsOptions, RuleWithNoSparseArrayOptions, RuleWithNoSuspiciousSemicolonInJsxOptions, RuleWithNoTemplateCurlyInStringOptions, RuleWithNoThenPropertyOptions, RuleWithNoTsIgnoreOptions, RuleWithNoUnassignedVariablesOptions, RuleWithNoUnknownAtRulesOptions, RuleWithNoUnsafeDeclarationMergingOptions, RuleWithNoUnsafeNegationOptions, RuleWithNoUselessEscapeInStringOptions, RuleWithNoUselessRegexBackrefsOptions, RuleWithNoVarOptions, RuleWithNoWithOptions, RuleWithUseAdjacentOverloadSignaturesOptions, RuleWithUseAwaitOptions, RuleWithUseBiomeIgnoreFolderOptions, RuleWithUseDefaultSwitchClauseLastOptions, RuleWithUseErrorMessageOptions, RuleWithUseGetterReturnOptions, RuleWithUseGoogleFontDisplayOptions, RuleWithUseGuardForInOptions, RuleWithUseIsArrayOptions, RuleWithUseIterableCallbackReturnOptions, RuleWithUseNamespaceKeywordOptions, RuleWithUseNumberToFixedDigitsArgumentOptions, RuleWithUseStaticResponseMethodsOptions, RuleWithUseStrictModeOptions, SourceMatcher, UseAltTextConfiguration, UseAnchorContentConfiguration, UseAriaActivedescendantWithTabindexConfiguration, UseAriaPropsForRoleConfiguration, UseAriaPropsSupportedByRoleConfiguration, UseButtonTypeConfiguration, UseFocusableInteractiveConfiguration, UseGenericFontNamesConfiguration, UseHeadingContentConfiguration, UseHtmlLangConfiguration, UseIframeTitleConfiguration, UseKeyWithClickEventsConfiguration, UseKeyWithMouseEventsConfiguration, UseMediaCaptionConfiguration } from './rule-with-no-document-import-in-page-options.ts';
5
- import type { NoAdjacentSpacesInRegexConfiguration, NoArgumentsConfiguration, NoBannedTypesConfiguration, NoCommaOperatorConfiguration, NoEmptyTypeParametersConfiguration, NoExcessiveCognitiveComplexityConfiguration, NoExcessiveLinesPerFunctionConfiguration, NoExcessiveNestedTestSuitesConfiguration, NoExtraBooleanCastConfiguration, NoFlatMapIdentityConfiguration, NoForEachConfiguration, NoImplicitCoercionsConfiguration, NoImportantStylesConfiguration, NoStaticOnlyClassConfiguration, NoThisInStaticConfiguration, NoUselessCatchConfiguration, NoUselessConstructorConfiguration, NoUselessContinueConfiguration, NoUselessEmptyExportConfiguration, NoUselessEscapeInRegexConfiguration, NoUselessFragmentsConfiguration, NoUselessLabelConfiguration, NoUselessLoneBlockStatementsConfiguration, NoUselessRenameConfiguration, NoUselessStringConcatConfiguration, NoUselessStringRawConfiguration, NoUselessSwitchCaseConfiguration, NoUselessTernaryConfiguration, NoUselessThisAliasConfiguration, NoUselessTypeConstraintConfiguration, NoUselessUndefinedInitializationConfiguration, NoVoidConfiguration, RuleWithNoPrivateImportsOptions, RuleWithNoRestrictedElementsOptions, RuleWithNoUndeclaredDependenciesOptions, UseArrowFunctionConfiguration, UseDateNowConfiguration, UseExhaustiveDependenciesOptions, UseFlatMapConfiguration, UseIndexOfConfiguration, UseLiteralKeysConfiguration, UseNumericLiteralsConfiguration, UseOptionalChainConfiguration, UseRegexLiteralsConfiguration, UseSemanticElementsConfiguration, UseSimpleNumberKeysConfiguration, UseSimplifiedLogicExpressionConfiguration, UseValidAnchorConfiguration, UseValidAriaPropsConfiguration, UseValidAriaRoleConfiguration, UseValidAriaValuesConfiguration, UseValidAutocompleteConfiguration, UseValidLangConfiguration, UseWhileConfiguration } from './use-semantic-elements-configuration.ts';
6
- import type { NoAccumulatingSpreadConfiguration, NoAlertConfiguration, NoApproximativeNumericConstantConfiguration, NoArrayIndexKeyConfiguration, NoAwaitInLoopsConfiguration, NoBarrelFileConfiguration, NoBlankTargetConfiguration, NoDangerouslySetInnerHtmlConfiguration, NoDangerouslySetInnerHtmlWithChildrenConfiguration, NoDeleteConfiguration, NoDynamicNamespaceImportAccessConfiguration, NoGlobalEvalConfiguration, NoImgElementConfiguration, NoNamespaceImportConfiguration, NoReExportAllConfiguration, NoRestrictedTypesOptions, NoSecretsConfiguration, NoUnwantedPolyfillioConfiguration, RuleWithNoParameterAssignOptions, RuleWithUseConsistentArrayTypeOptions, RuleWithUseConsistentArrowReturnOptions, RuleWithUseConsistentMemberAccessibilityOptions, RuleWithUseConsistentObjectDefinitionsOptions, RuleWithUseConsistentTypeDefinitionsOptions, RuleWithUseImportTypeOptions, Selector, UseFilenamingConventionOptions, UseGoogleFontPreconnectConfiguration, UseSolidForComponentConfiguration, UseTopLevelRegexConfiguration } from './no-empty-source-configuration.ts';
7
- export type NoAssignInExpressionsConfiguration = RulePlainConfiguration | RuleWithNoAssignInExpressionsOptions;
8
- export type NoAsyncPromiseExecutorConfiguration = RulePlainConfiguration | RuleWithNoAsyncPromiseExecutorOptions;
9
- export type NoBiomeFirstExceptionConfiguration = RulePlainConfiguration | RuleWithNoBiomeFirstExceptionOptions;
10
- export type NoBitwiseOperatorsConfiguration = RulePlainConfiguration | RuleWithNoBitwiseOperatorsOptions;
11
- export type NoCatchAssignConfiguration = RulePlainConfiguration | RuleWithNoCatchAssignOptions;
12
- export type NoClassAssignConfiguration = RulePlainConfiguration | RuleWithNoClassAssignOptions;
13
- export type NoCommentTextConfiguration = RulePlainConfiguration | RuleWithNoCommentTextOptions;
14
- export type NoCompareNegZeroConfiguration = RulePlainConfiguration | RuleWithNoCompareNegZeroOptions;
15
- export type NoConfusingLabelsConfiguration = RulePlainConfiguration | RuleWithNoConfusingLabelsOptions;
16
- export type NoConfusingVoidTypeConfiguration = RulePlainConfiguration | RuleWithNoConfusingVoidTypeOptions;
17
- export type NoConsoleConfiguration = RulePlainConfiguration | RuleWithNoConsoleOptions;
18
- export type NoConstEnumConfiguration = RulePlainConfiguration | RuleWithNoConstEnumOptions;
19
- export type NoConstantBinaryExpressionsConfiguration = RulePlainConfiguration | RuleWithNoConstantBinaryExpressionsOptions;
20
- export type NoControlCharactersInRegexConfiguration = RulePlainConfiguration | RuleWithNoControlCharactersInRegexOptions;
21
- export type NoDebuggerConfiguration = RulePlainConfiguration | RuleWithNoDebuggerOptions;
22
- export type NoDocumentCookieConfiguration = RulePlainConfiguration | RuleWithNoDocumentCookieOptions;
23
- export type NoDocumentImportInPageConfiguration = RulePlainConfiguration | RuleWithNoDocumentImportInPageOptions;
24
- export type NoDoubleEqualsConfiguration = RulePlainConfiguration | RuleWithNoDoubleEqualsOptions;
25
- export type NoDuplicateAtImportRulesConfiguration = RulePlainConfiguration | RuleWithNoDuplicateAtImportRulesOptions;
26
- export type NoDuplicateCaseConfiguration = RulePlainConfiguration | RuleWithNoDuplicateCaseOptions;
27
- export type NoDuplicateClassMembersConfiguration = RulePlainConfiguration | RuleWithNoDuplicateClassMembersOptions;
28
- export type NoDuplicateCustomPropertiesConfiguration = RulePlainConfiguration | RuleWithNoDuplicateCustomPropertiesOptions;
29
- export type NoDuplicateElseIfConfiguration = RulePlainConfiguration | RuleWithNoDuplicateElseIfOptions;
30
- export type NoDuplicateFieldsConfiguration = RulePlainConfiguration | RuleWithNoDuplicateFieldsOptions;
31
- export type NoDuplicateFontNamesConfiguration = RulePlainConfiguration | RuleWithNoDuplicateFontNamesOptions;
32
- export type NoDuplicateJsxPropsConfiguration = RulePlainConfiguration | RuleWithNoDuplicateJsxPropsOptions;
33
- export type NoDuplicateObjectKeysConfiguration = RulePlainConfiguration | RuleWithNoDuplicateObjectKeysOptions;
34
- export type NoDuplicateParametersConfiguration = RulePlainConfiguration | RuleWithNoDuplicateParametersOptions;
35
- export type NoDuplicatePropertiesConfiguration = RulePlainConfiguration | RuleWithNoDuplicatePropertiesOptions;
36
- export type NoDuplicateSelectorsKeyframeBlockConfiguration = RulePlainConfiguration | RuleWithNoDuplicateSelectorsKeyframeBlockOptions;
37
- export type NoDuplicateTestHooksConfiguration = RulePlainConfiguration | RuleWithNoDuplicateTestHooksOptions;
38
- export type NoEmptyBlockConfiguration = RulePlainConfiguration | RuleWithNoEmptyBlockOptions;
39
- export type NoEmptyBlockStatementsConfiguration = RulePlainConfiguration | RuleWithNoEmptyBlockStatementsOptions;
40
- export type NoEmptyInterfaceConfiguration = RulePlainConfiguration | RuleWithNoEmptyInterfaceOptions;
41
- export type NoEvolvingTypesConfiguration = RulePlainConfiguration | RuleWithNoEvolvingTypesOptions;
42
- export type NoExplicitAnyConfiguration = RulePlainConfiguration | RuleWithNoExplicitAnyOptions;
43
- export type NoExportsInTestConfiguration = RulePlainConfiguration | RuleWithNoExportsInTestOptions;
44
- export type NoExtraNonNullAssertionConfiguration = RulePlainConfiguration | RuleWithNoExtraNonNullAssertionOptions;
45
- export type NoFallthroughSwitchClauseConfiguration = RulePlainConfiguration | RuleWithNoFallthroughSwitchClauseOptions;
46
- export type NoFocusedTestsConfiguration = RulePlainConfiguration | RuleWithNoFocusedTestsOptions;
47
- export type NoFunctionAssignConfiguration = RulePlainConfiguration | RuleWithNoFunctionAssignOptions;
48
- export type NoGlobalAssignConfiguration = RulePlainConfiguration | RuleWithNoGlobalAssignOptions;
49
- export type NoGlobalIsFiniteConfiguration = RulePlainConfiguration | RuleWithNoGlobalIsFiniteOptions;
50
- export type NoGlobalIsNanConfiguration = RulePlainConfiguration | RuleWithNoGlobalIsNanOptions;
51
- export type NoHeadImportInDocumentConfiguration = RulePlainConfiguration | RuleWithNoHeadImportInDocumentOptions;
52
- export type NoImplicitAnyLetConfiguration = RulePlainConfiguration | RuleWithNoImplicitAnyLetOptions;
53
- export type NoImportAssignConfiguration = RulePlainConfiguration | RuleWithNoImportAssignOptions;
54
- export type NoImportantInKeyframeConfiguration = RulePlainConfiguration | RuleWithNoImportantInKeyframeOptions;
55
- export type NoIrregularWhitespaceConfiguration = RulePlainConfiguration | RuleWithNoIrregularWhitespaceOptions;
56
- export type NoLabelVarConfiguration = RulePlainConfiguration | RuleWithNoLabelVarOptions;
57
- export type NoMisleadingCharacterClassConfiguration = RulePlainConfiguration | RuleWithNoMisleadingCharacterClassOptions;
58
- export type NoMisleadingInstantiatorConfiguration = RulePlainConfiguration | RuleWithNoMisleadingInstantiatorOptions;
59
- export type NoMisplacedAssertionConfiguration = RulePlainConfiguration | RuleWithNoMisplacedAssertionOptions;
60
- export type NoMisrefactoredShorthandAssignConfiguration = RulePlainConfiguration | RuleWithNoMisrefactoredShorthandAssignOptions;
61
- export type NoNonNullAssertedOptionalChainConfiguration = RulePlainConfiguration | RuleWithNoNonNullAssertedOptionalChainOptions;
62
- export type NoOctalEscapeConfiguration = RulePlainConfiguration | RuleWithNoOctalEscapeOptions;
63
- export type NoPrototypeBuiltinsConfiguration = RulePlainConfiguration | RuleWithNoPrototypeBuiltinsOptions;
64
- export type NoQuickfixBiomeConfiguration = RulePlainConfiguration | RuleWithNoQuickfixBiomeOptions;
65
- export type NoReactSpecificPropsConfiguration = RulePlainConfiguration | RuleWithNoReactSpecificPropsOptions;
66
- export type NoRedeclareConfiguration = RulePlainConfiguration | RuleWithNoRedeclareOptions;
67
- export type NoRedundantUseStrictConfiguration = RulePlainConfiguration | RuleWithNoRedundantUseStrictOptions;
68
- export type NoSelfCompareConfiguration = RulePlainConfiguration | RuleWithNoSelfCompareOptions;
69
- export type NoShadowRestrictedNamesConfiguration = RulePlainConfiguration | RuleWithNoShadowRestrictedNamesOptions;
70
- export type NoShorthandPropertyOverridesConfiguration = RulePlainConfiguration | RuleWithNoShorthandPropertyOverridesOptions;
71
- export type NoSkippedTestsConfiguration = RulePlainConfiguration | RuleWithNoSkippedTestsOptions;
72
- export type NoSparseArrayConfiguration = RulePlainConfiguration | RuleWithNoSparseArrayOptions;
73
- export type NoSuspiciousSemicolonInJsxConfiguration = RulePlainConfiguration | RuleWithNoSuspiciousSemicolonInJsxOptions;
74
- export type NoTemplateCurlyInStringConfiguration = RulePlainConfiguration | RuleWithNoTemplateCurlyInStringOptions;
75
- export type NoThenPropertyConfiguration = RulePlainConfiguration | RuleWithNoThenPropertyOptions;
76
- export type NoTsIgnoreConfiguration = RulePlainConfiguration | RuleWithNoTsIgnoreOptions;
77
- export type NoUnassignedVariablesConfiguration = RulePlainConfiguration | RuleWithNoUnassignedVariablesOptions;
78
- export type NoUnknownAtRulesConfiguration = RulePlainConfiguration | RuleWithNoUnknownAtRulesOptions;
79
- export type NoUnsafeDeclarationMergingConfiguration = RulePlainConfiguration | RuleWithNoUnsafeDeclarationMergingOptions;
80
- export type NoUnsafeNegationConfiguration = RulePlainConfiguration | RuleWithNoUnsafeNegationOptions;
81
- export type NoUselessEscapeInStringConfiguration = RulePlainConfiguration | RuleWithNoUselessEscapeInStringOptions;
82
- export type NoUselessRegexBackrefsConfiguration = RulePlainConfiguration | RuleWithNoUselessRegexBackrefsOptions;
83
- export type NoVarConfiguration = RulePlainConfiguration | RuleWithNoVarOptions;
84
- export type NoWithConfiguration = RulePlainConfiguration | RuleWithNoWithOptions;
85
- export type UseAdjacentOverloadSignaturesConfiguration = RulePlainConfiguration | RuleWithUseAdjacentOverloadSignaturesOptions;
86
- export type UseAwaitConfiguration = RulePlainConfiguration | RuleWithUseAwaitOptions;
87
- export type UseBiomeIgnoreFolderConfiguration = RulePlainConfiguration | RuleWithUseBiomeIgnoreFolderOptions;
88
- export type UseDefaultSwitchClauseLastConfiguration = RulePlainConfiguration | RuleWithUseDefaultSwitchClauseLastOptions;
89
- export type UseErrorMessageConfiguration = RulePlainConfiguration | RuleWithUseErrorMessageOptions;
90
- export type UseGetterReturnConfiguration = RulePlainConfiguration | RuleWithUseGetterReturnOptions;
91
- export type UseGoogleFontDisplayConfiguration = RulePlainConfiguration | RuleWithUseGoogleFontDisplayOptions;
92
- export type UseGuardForInConfiguration = RulePlainConfiguration | RuleWithUseGuardForInOptions;
93
- export type UseIsArrayConfiguration = RulePlainConfiguration | RuleWithUseIsArrayOptions;
94
- export type UseIterableCallbackReturnConfiguration = RulePlainConfiguration | RuleWithUseIterableCallbackReturnOptions;
95
- export type UseNamespaceKeywordConfiguration = RulePlainConfiguration | RuleWithUseNamespaceKeywordOptions;
96
- export type UseNumberToFixedDigitsArgumentConfiguration = RulePlainConfiguration | RuleWithUseNumberToFixedDigitsArgumentOptions;
97
- export type UseStaticResponseMethodsConfiguration = RulePlainConfiguration | RuleWithUseStaticResponseMethodsOptions;
98
- export type UseStrictModeConfiguration = RulePlainConfiguration | RuleWithUseStrictModeOptions;
99
- export type SourcesMatcher = SourceMatcher | SourceMatcher[];
100
- export type RuleAssistConfigurationFor_UseSortedAttributesOptions = RuleAssistPlainConfiguration | RuleAssistWithOptionsFor_UseSortedAttributesOptions;
101
- export type RuleAssistConfigurationFor_UseSortedKeysOptions = RuleAssistPlainConfiguration | RuleAssistWithOptionsFor_UseSortedKeysOptions;
2
+ import type { Regex } from './no-global-object-calls-options.ts';
3
+ import type { SourceMatcher } from './no-comment-text-options.ts';
4
+ import type { Formats } from './rule-with-no-blank-target-options.ts';
5
+ import type { NoAccessKeyConfiguration, NoAdjacentSpacesInRegexConfiguration, NoArgumentsConfiguration, NoAriaHiddenOnFocusableConfiguration, NoAriaUnsupportedElementsConfiguration, NoAutofocusConfiguration, NoBannedTypesConfiguration, NoCommaOperatorConfiguration, NoDistractingElementsConfiguration, NoEmptyTypeParametersConfiguration, NoExcessiveCognitiveComplexityConfiguration, NoExcessiveLinesPerFunctionConfiguration, NoExcessiveNestedTestSuitesConfiguration, NoExtraBooleanCastConfiguration, NoFlatMapIdentityConfiguration, NoForEachConfiguration, NoHeaderScopeConfiguration, NoImplicitCoercionsConfiguration, NoImportantStylesConfiguration, NoInteractiveElementToNoninteractiveRoleConfiguration, NoLabelWithoutControlConfiguration, NoNoninteractiveElementInteractionsConfiguration, NoNoninteractiveElementToInteractiveRoleConfiguration, NoNoninteractiveTabindexConfiguration, NoPositiveTabindexConfiguration, NoRedundantAltConfiguration, NoRedundantRolesConfiguration, NoStaticElementInteractionsConfiguration, NoStaticOnlyClassConfiguration, NoSvgWithoutTitleConfiguration, NoThisInStaticConfiguration, NoUselessCatchConfiguration, RuleAssistWithUseSortedAttributesOptions, RuleAssistWithUseSortedKeysOptions, SourcesMatcher, UseAltTextConfiguration, UseAnchorContentConfiguration, UseAriaActivedescendantWithTabindexConfiguration, UseAriaPropsForRoleConfiguration, UseAriaPropsSupportedByRoleConfiguration, UseButtonTypeConfiguration, UseFocusableInteractiveConfiguration, UseGenericFontNamesConfiguration, UseHeadingContentConfiguration, UseHtmlLangConfiguration, UseIframeTitleConfiguration, UseKeyWithClickEventsConfiguration, UseKeyWithMouseEventsConfiguration, UseMediaCaptionConfiguration, UseSemanticElementsConfiguration, UseValidAnchorConfiguration, UseValidAriaPropsConfiguration, UseValidAriaRoleConfiguration, UseValidAriaValuesConfiguration, UseValidAutocompleteConfiguration, UseValidLangConfiguration } from './rule-with-no-fallthrough-switch-clause-options.ts';
6
+ import type { NoUselessConstructorConfiguration, NoUselessContinueConfiguration, NoUselessEmptyExportConfiguration, NoUselessEscapeInRegexConfiguration, NoUselessFragmentsConfiguration, NoUselessLabelConfiguration, NoUselessLoneBlockStatementsConfiguration, NoUselessRenameConfiguration, NoUselessStringConcatConfiguration, NoUselessStringRawConfiguration, NoUselessSwitchCaseConfiguration, NoUselessTernaryConfiguration, NoUselessThisAliasConfiguration, NoUselessTypeConstraintConfiguration, NoUselessUndefinedInitializationConfiguration, NoVoidConfiguration, RuleWithNoPrivateImportsOptions, RuleWithNoRestrictedElementsOptions, RuleWithNoUndeclaredDependenciesOptions, UseArrowFunctionConfiguration, UseDateNowConfiguration, UseExhaustiveDependenciesOptions, UseFlatMapConfiguration, UseIndexOfConfiguration, UseLiteralKeysConfiguration, UseNumericLiteralsConfiguration, UseOptionalChainConfiguration, UseRegexLiteralsConfiguration, UseSimpleNumberKeysConfiguration, UseSimplifiedLogicExpressionConfiguration, UseWhileConfiguration } from './no-useless-constructor-configuration.ts';
7
+ import type { NoAccumulatingSpreadConfiguration, NoAwaitInLoopsConfiguration, NoBarrelFileConfiguration, NoBlankTargetConfiguration, NoDangerouslySetInnerHtmlConfiguration, NoDangerouslySetInnerHtmlWithChildrenConfiguration, NoDeleteConfiguration, NoDynamicNamespaceImportAccessConfiguration, NoGlobalEvalConfiguration, NoImgElementConfiguration, NoNamespaceImportConfiguration, NoReExportAllConfiguration, NoRestrictedTypesOptions, NoSecretsConfiguration, NoUnwantedPolyfillioConfiguration, RuleWithNoParameterAssignOptions, RuleWithNoUndeclaredEnvVarsOptions, RuleWithUseConsistentArrayTypeOptions, RuleWithUseConsistentArrowReturnOptions, RuleWithUseConsistentGraphqlDescriptionsOptions, RuleWithUseConsistentMemberAccessibilityOptions, RuleWithUseConsistentObjectDefinitionsOptions, RuleWithUseConsistentTypeDefinitionsOptions, RuleWithUseVueConsistentDefinePropsDeclarationOptions, RuleWithUseVueConsistentVBindStyleOptions, RuleWithUseVueConsistentVOnStyleOptions, UseFilenamingConventionOptions, UseGoogleFontPreconnectConfiguration, UseSolidForComponentConfiguration, UseTopLevelRegexConfiguration } from './no-sync-scripts-configuration.ts';
8
+ import type { ImportMatcher, NoAlertConfiguration, NoApproximativeNumericConstantConfiguration, NoArrayIndexKeyConfiguration, NoAssignInExpressionsConfiguration, NoAsyncPromiseExecutorConfiguration, NoBiomeFirstExceptionConfiguration, NoBitwiseOperatorsConfiguration, NoCatchAssignConfiguration, NoClassAssignConfiguration, NoCommentTextConfiguration, NoCompareNegZeroConfiguration, NoConfusingLabelsConfiguration, NoConfusingVoidTypeConfiguration, NoConsoleConfiguration, NoConstEnumConfiguration, NoConstantBinaryExpressionsConfiguration, NoControlCharactersInRegexConfiguration, NoDebuggerConfiguration, NoDocumentCookieConfiguration, NoDocumentImportInPageConfiguration, NoDoubleEqualsConfiguration, NoDuplicateAtImportRulesConfiguration, NoDuplicateCaseConfiguration, NoDuplicateClassMembersConfiguration, NoDuplicateCustomPropertiesConfiguration, NoDuplicateElseIfConfiguration, NoDuplicateFieldsConfiguration, NoDuplicateFontNamesConfiguration, NoDuplicateJsxPropsConfiguration, NoDuplicateObjectKeysConfiguration, NoDuplicateParametersConfiguration, NoDuplicatePropertiesConfiguration, NoDuplicateSelectorsKeyframeBlockConfiguration, NoDuplicateTestHooksConfiguration, NoEmptyBlockConfiguration, NoEmptyBlockStatementsConfiguration, NoEmptyInterfaceConfiguration, NoEvolvingTypesConfiguration, NoExplicitAnyConfiguration, NoExportsInTestConfiguration, NoExtraNonNullAssertionConfiguration, NoFallthroughSwitchClauseConfiguration, NoFocusedTestsConfiguration, NoFunctionAssignConfiguration, NoGlobalAssignConfiguration, NoGlobalIsFiniteConfiguration, NoGlobalIsNanConfiguration, NoHeadImportInDocumentConfiguration, NoImplicitAnyLetConfiguration, NoImportAssignConfiguration, NoImportantInKeyframeConfiguration, NoIrregularWhitespaceConfiguration, NoLabelVarConfiguration, NoMisleadingCharacterClassConfiguration, NoMisleadingInstantiatorConfiguration, NoMisplacedAssertionConfiguration, NoMisrefactoredShorthandAssignConfiguration, NoNonNullAssertedOptionalChainConfiguration, NoOctalEscapeConfiguration, NoPrototypeBuiltinsConfiguration, NoQuickfixBiomeConfiguration, NoReactSpecificPropsConfiguration, NoRedeclareConfiguration, NoRedundantUseStrictConfiguration, NoSelfCompareConfiguration, NoShadowRestrictedNamesConfiguration, NoShorthandPropertyOverridesConfiguration, NoSkippedTestsConfiguration, NoSparseArrayConfiguration, NoSuspiciousSemicolonInJsxConfiguration, NoTemplateCurlyInStringConfiguration, NoThenPropertyConfiguration, NoTsIgnoreConfiguration, NoUnassignedVariablesConfiguration, NoUnknownAtRulesConfiguration, NoUnsafeDeclarationMergingConfiguration, NoUnsafeNegationConfiguration, NoUselessEscapeInStringConfiguration, NoUselessRegexBackrefsConfiguration, NoVarConfiguration, NoWithConfiguration, RuleWithUseImportTypeOptions, Selector, UseAdjacentOverloadSignaturesConfiguration, UseAwaitConfiguration, UseBiomeIgnoreFolderConfiguration, UseDefaultSwitchClauseLastConfiguration, UseErrorMessageConfiguration, UseGetterReturnConfiguration, UseGoogleFontDisplayConfiguration, UseGuardForInConfiguration, UseIsArrayConfiguration, UseIterableCallbackReturnConfiguration, UseNamespaceKeywordConfiguration, UseNumberToFixedDigitsArgumentConfiguration, UseStaticResponseMethodsConfiguration, UseStrictModeConfiguration } from './use-for-of-configuration.ts';
9
+ export interface PatternOptions {
10
+ /**
11
+ * An array of gitignore-style patterns.
12
+ */
13
+ group?: SourcesMatcher | null;
14
+ /**
15
+ * A regex pattern for import names to forbid within the matched modules.
16
+ */
17
+ importNamePattern?: Regex | null;
18
+ /**
19
+ * If true, the matched patterns in the importNamePattern will be allowed. Defaults to `false`.
20
+ */
21
+ invertImportNamePattern?: boolean;
22
+ /**
23
+ * A custom message for diagnostics related to this pattern.
24
+ */
25
+ message?: string | null;
26
+ }
27
+ export type UseSortedAttributesConfiguration = RuleAssistPlainConfiguration | RuleAssistWithUseSortedAttributesOptions;
28
+ export type UseSortedKeysConfiguration = RuleAssistPlainConfiguration | RuleAssistWithUseSortedKeysOptions;
102
29
  /**
103
30
  * A list of rules that belong to this group
104
31
  */
105
32
  export interface A11Y {
106
33
  /**
107
34
  * Enforce that the accessKey attribute is not used on any HTML element.
35
+ * See <https://biomejs.dev/linter/rules/no-access-key>
108
36
  */
109
37
  noAccessKey?: NoAccessKeyConfiguration | null;
110
38
  /**
111
39
  * Enforce that aria-hidden="true" is not set on focusable elements.
40
+ * See <https://biomejs.dev/linter/rules/no-aria-hidden-on-focusable>
112
41
  */
113
42
  noAriaHiddenOnFocusable?: NoAriaHiddenOnFocusableConfiguration | null;
114
43
  /**
115
44
  * Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.
45
+ * See <https://biomejs.dev/linter/rules/no-aria-unsupported-elements>
116
46
  */
117
47
  noAriaUnsupportedElements?: NoAriaUnsupportedElementsConfiguration | null;
118
48
  /**
119
49
  * Enforce that autoFocus prop is not used on elements.
50
+ * See <https://biomejs.dev/linter/rules/no-autofocus>
120
51
  */
121
52
  noAutofocus?: NoAutofocusConfiguration | null;
122
53
  /**
123
54
  * Enforces that no distracting elements are used.
55
+ * See <https://biomejs.dev/linter/rules/no-distracting-elements>
124
56
  */
125
57
  noDistractingElements?: NoDistractingElementsConfiguration | null;
126
58
  /**
127
59
  * The scope prop should be used only on \<th> elements.
60
+ * See <https://biomejs.dev/linter/rules/no-header-scope>
128
61
  */
129
62
  noHeaderScope?: NoHeaderScopeConfiguration | null;
130
63
  /**
131
64
  * Enforce that non-interactive ARIA roles are not assigned to interactive HTML elements.
65
+ * See <https://biomejs.dev/linter/rules/no-interactive-element-to-noninteractive-role>
132
66
  */
133
67
  noInteractiveElementToNoninteractiveRole?: NoInteractiveElementToNoninteractiveRoleConfiguration | null;
134
68
  /**
135
69
  * Enforce that a label element or component has a text label and an associated input.
70
+ * See <https://biomejs.dev/linter/rules/no-label-without-control>
136
71
  */
137
72
  noLabelWithoutControl?: NoLabelWithoutControlConfiguration | null;
138
73
  /**
139
74
  * Disallow use event handlers on non-interactive elements.
75
+ * See <https://biomejs.dev/linter/rules/no-noninteractive-element-interactions>
140
76
  */
141
77
  noNoninteractiveElementInteractions?: NoNoninteractiveElementInteractionsConfiguration | null;
142
78
  /**
143
79
  * Enforce that interactive ARIA roles are not assigned to non-interactive HTML elements.
80
+ * See <https://biomejs.dev/linter/rules/no-noninteractive-element-to-interactive-role>
144
81
  */
145
82
  noNoninteractiveElementToInteractiveRole?: NoNoninteractiveElementToInteractiveRoleConfiguration | null;
146
83
  /**
147
84
  * Enforce that tabIndex is not assigned to non-interactive HTML elements.
85
+ * See <https://biomejs.dev/linter/rules/no-noninteractive-tabindex>
148
86
  */
149
87
  noNoninteractiveTabindex?: NoNoninteractiveTabindexConfiguration | null;
150
88
  /**
151
- * Prevent the usage of positive integers on tabIndex property
89
+ * Prevent the usage of positive integers on tabIndex property.
90
+ * See <https://biomejs.dev/linter/rules/no-positive-tabindex>
152
91
  */
153
92
  noPositiveTabindex?: NoPositiveTabindexConfiguration | null;
154
93
  /**
155
94
  * Enforce img alt prop does not contain the word "image", "picture", or "photo".
95
+ * See <https://biomejs.dev/linter/rules/no-redundant-alt>
156
96
  */
157
97
  noRedundantAlt?: NoRedundantAltConfiguration | null;
158
98
  /**
159
99
  * Enforce explicit role property is not the same as implicit/default role property on an element.
100
+ * See <https://biomejs.dev/linter/rules/no-redundant-roles>
160
101
  */
161
102
  noRedundantRoles?: NoRedundantRolesConfiguration | null;
162
103
  /**
163
104
  * Enforce that static, visible elements (such as \<div>) that have click handlers use the valid role attribute.
105
+ * See <https://biomejs.dev/linter/rules/no-static-element-interactions>
164
106
  */
165
107
  noStaticElementInteractions?: NoStaticElementInteractionsConfiguration | null;
166
108
  /**
167
109
  * Enforces the usage of the title element for the svg element.
110
+ * See <https://biomejs.dev/linter/rules/no-svg-without-title>
168
111
  */
169
112
  noSvgWithoutTitle?: NoSvgWithoutTitleConfiguration | null;
170
113
  /**
@@ -173,86 +116,107 @@ export interface A11Y {
173
116
  recommended?: boolean | null;
174
117
  /**
175
118
  * Enforce that all elements that require alternative text have meaningful information to relay back to the end user.
119
+ * See <https://biomejs.dev/linter/rules/use-alt-text>
176
120
  */
177
121
  useAltText?: UseAltTextConfiguration | null;
178
122
  /**
179
123
  * Enforce that anchors have content and that the content is accessible to screen readers.
124
+ * See <https://biomejs.dev/linter/rules/use-anchor-content>
180
125
  */
181
126
  useAnchorContent?: UseAnchorContentConfiguration | null;
182
127
  /**
183
128
  * Enforce that tabIndex is assigned to non-interactive HTML elements with aria-activedescendant.
129
+ * See <https://biomejs.dev/linter/rules/use-aria-activedescendant-with-tabindex>
184
130
  */
185
131
  useAriaActivedescendantWithTabindex?: UseAriaActivedescendantWithTabindexConfiguration | null;
186
132
  /**
187
133
  * Enforce that elements with ARIA roles must have all required ARIA attributes for that role.
134
+ * See <https://biomejs.dev/linter/rules/use-aria-props-for-role>
188
135
  */
189
136
  useAriaPropsForRole?: UseAriaPropsForRoleConfiguration | null;
190
137
  /**
191
138
  * Enforce that ARIA properties are valid for the roles that are supported by the element.
139
+ * See <https://biomejs.dev/linter/rules/use-aria-props-supported-by-role>
192
140
  */
193
141
  useAriaPropsSupportedByRole?: UseAriaPropsSupportedByRoleConfiguration | null;
194
142
  /**
195
- * Enforces the usage of the attribute type for the element button
143
+ * Enforces the usage of the attribute type for the element button.
144
+ * See <https://biomejs.dev/linter/rules/use-button-type>
196
145
  */
197
146
  useButtonType?: UseButtonTypeConfiguration | null;
198
147
  /**
199
148
  * Elements with an interactive role and interaction handlers must be focusable.
149
+ * See <https://biomejs.dev/linter/rules/use-focusable-interactive>
200
150
  */
201
151
  useFocusableInteractive?: UseFocusableInteractiveConfiguration | null;
202
152
  /**
203
153
  * Disallow a missing generic family keyword within font families.
154
+ * See <https://biomejs.dev/linter/rules/use-generic-font-names>
204
155
  */
205
156
  useGenericFontNames?: UseGenericFontNamesConfiguration | null;
206
157
  /**
207
158
  * Enforce that heading elements (h1, h2, etc.) have content and that the content is accessible to screen readers. Accessible means that it is not hidden using the aria-hidden prop.
159
+ * See <https://biomejs.dev/linter/rules/use-heading-content>
208
160
  */
209
161
  useHeadingContent?: UseHeadingContentConfiguration | null;
210
162
  /**
211
163
  * Enforce that html element has lang attribute.
164
+ * See <https://biomejs.dev/linter/rules/use-html-lang>
212
165
  */
213
166
  useHtmlLang?: UseHtmlLangConfiguration | null;
214
167
  /**
215
168
  * Enforces the usage of the attribute title for the element iframe.
169
+ * See <https://biomejs.dev/linter/rules/use-iframe-title>
216
170
  */
217
171
  useIframeTitle?: UseIframeTitleConfiguration | null;
218
172
  /**
219
173
  * Enforce onClick is accompanied by at least one of the following: onKeyUp, onKeyDown, onKeyPress.
174
+ * See <https://biomejs.dev/linter/rules/use-key-with-click-events>
220
175
  */
221
176
  useKeyWithClickEvents?: UseKeyWithClickEventsConfiguration | null;
222
177
  /**
223
178
  * Enforce onMouseOver / onMouseOut are accompanied by onFocus / onBlur.
179
+ * See <https://biomejs.dev/linter/rules/use-key-with-mouse-events>
224
180
  */
225
181
  useKeyWithMouseEvents?: UseKeyWithMouseEventsConfiguration | null;
226
182
  /**
227
183
  * Enforces that audio and video elements must have a track for captions.
184
+ * See <https://biomejs.dev/linter/rules/use-media-caption>
228
185
  */
229
186
  useMediaCaption?: UseMediaCaptionConfiguration | null;
230
187
  /**
231
188
  * It detects the use of role attributes in JSX elements and suggests using semantic elements instead.
189
+ * See <https://biomejs.dev/linter/rules/use-semantic-elements>
232
190
  */
233
191
  useSemanticElements?: UseSemanticElementsConfiguration | null;
234
192
  /**
235
193
  * Enforce that all anchors are valid, and they are navigable elements.
194
+ * See <https://biomejs.dev/linter/rules/use-valid-anchor>
236
195
  */
237
196
  useValidAnchor?: UseValidAnchorConfiguration | null;
238
197
  /**
239
198
  * Ensures that ARIA properties aria-* are all valid.
199
+ * See <https://biomejs.dev/linter/rules/use-valid-aria-props>
240
200
  */
241
201
  useValidAriaProps?: UseValidAriaPropsConfiguration | null;
242
202
  /**
243
203
  * Elements with ARIA roles must use a valid, non-abstract ARIA role.
204
+ * See <https://biomejs.dev/linter/rules/use-valid-aria-role>
244
205
  */
245
206
  useValidAriaRole?: UseValidAriaRoleConfiguration | null;
246
207
  /**
247
208
  * Enforce that ARIA state and property values are valid.
209
+ * See <https://biomejs.dev/linter/rules/use-valid-aria-values>
248
210
  */
249
211
  useValidAriaValues?: UseValidAriaValuesConfiguration | null;
250
212
  /**
251
213
  * Use valid values for the autocomplete attribute on input elements.
214
+ * See <https://biomejs.dev/linter/rules/use-valid-autocomplete>
252
215
  */
253
216
  useValidAutocomplete?: UseValidAutocompleteConfiguration | null;
254
217
  /**
255
218
  * Ensure that the attribute passed to the lang attribute is a correct ISO language and/or country.
219
+ * See <https://biomejs.dev/linter/rules/use-valid-lang>
256
220
  */
257
221
  useValidLang?: UseValidLangConfiguration | null;
258
222
  }
@@ -261,131 +225,163 @@ export interface A11Y {
261
225
  */
262
226
  export interface Complexity {
263
227
  /**
264
- * Disallow unclear usage of consecutive space characters in regular expression literals
228
+ * Disallow unclear usage of consecutive space characters in regular expression literals.
229
+ * See <https://biomejs.dev/linter/rules/no-adjacent-spaces-in-regex>
265
230
  */
266
231
  noAdjacentSpacesInRegex?: NoAdjacentSpacesInRegexConfiguration | null;
267
232
  /**
268
233
  * Disallow the use of arguments.
234
+ * See <https://biomejs.dev/linter/rules/no-arguments>
269
235
  */
270
236
  noArguments?: NoArgumentsConfiguration | null;
271
237
  /**
272
238
  * Disallow primitive type aliases and misleading types.
239
+ * See <https://biomejs.dev/linter/rules/no-banned-types>
273
240
  */
274
241
  noBannedTypes?: NoBannedTypesConfiguration | null;
275
242
  /**
276
243
  * Disallow comma operator.
244
+ * See <https://biomejs.dev/linter/rules/no-comma-operator>
277
245
  */
278
246
  noCommaOperator?: NoCommaOperatorConfiguration | null;
279
247
  /**
280
248
  * Disallow empty type parameters in type aliases and interfaces.
249
+ * See <https://biomejs.dev/linter/rules/no-empty-type-parameters>
281
250
  */
282
251
  noEmptyTypeParameters?: NoEmptyTypeParametersConfiguration | null;
283
252
  /**
284
253
  * Disallow functions that exceed a given Cognitive Complexity score.
254
+ * See <https://biomejs.dev/linter/rules/no-excessive-cognitive-complexity>
285
255
  */
286
256
  noExcessiveCognitiveComplexity?: NoExcessiveCognitiveComplexityConfiguration | null;
287
257
  /**
288
258
  * Restrict the number of lines of code in a function.
259
+ * See <https://biomejs.dev/linter/rules/no-excessive-lines-per-function>
289
260
  */
290
261
  noExcessiveLinesPerFunction?: NoExcessiveLinesPerFunctionConfiguration | null;
291
262
  /**
292
263
  * This rule enforces a maximum depth to nested describe() in test files.
264
+ * See <https://biomejs.dev/linter/rules/no-excessive-nested-test-suites>
293
265
  */
294
266
  noExcessiveNestedTestSuites?: NoExcessiveNestedTestSuitesConfiguration | null;
295
267
  /**
296
- * Disallow unnecessary boolean casts
268
+ * Disallow unnecessary boolean casts.
269
+ * See <https://biomejs.dev/linter/rules/no-extra-boolean-cast>
297
270
  */
298
271
  noExtraBooleanCast?: NoExtraBooleanCastConfiguration | null;
299
272
  /**
300
273
  * Disallow to use unnecessary callback on flatMap.
274
+ * See <https://biomejs.dev/linter/rules/no-flat-map-identity>
301
275
  */
302
276
  noFlatMapIdentity?: NoFlatMapIdentityConfiguration | null;
303
277
  /**
304
278
  * Prefer for...of statement instead of Array.forEach.
279
+ * See <https://biomejs.dev/linter/rules/no-for-each>
305
280
  */
306
281
  noForEach?: NoForEachConfiguration | null;
307
282
  /**
308
283
  * Disallow shorthand type conversions.
284
+ * See <https://biomejs.dev/linter/rules/no-implicit-coercions>
309
285
  */
310
286
  noImplicitCoercions?: NoImplicitCoercionsConfiguration | null;
311
287
  /**
312
288
  * Disallow the use of the !important style.
289
+ * See <https://biomejs.dev/linter/rules/no-important-styles>
313
290
  */
314
291
  noImportantStyles?: NoImportantStylesConfiguration | null;
315
292
  /**
316
293
  * This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace.
294
+ * See <https://biomejs.dev/linter/rules/no-static-only-class>
317
295
  */
318
296
  noStaticOnlyClass?: NoStaticOnlyClassConfiguration | null;
319
297
  /**
320
298
  * Disallow this and super in static contexts.
299
+ * See <https://biomejs.dev/linter/rules/no-this-in-static>
321
300
  */
322
301
  noThisInStatic?: NoThisInStaticConfiguration | null;
323
302
  /**
324
303
  * Disallow unnecessary catch clauses.
304
+ * See <https://biomejs.dev/linter/rules/no-useless-catch>
325
305
  */
326
306
  noUselessCatch?: NoUselessCatchConfiguration | null;
327
307
  /**
328
308
  * Disallow unnecessary constructors.
309
+ * See <https://biomejs.dev/linter/rules/no-useless-constructor>
329
310
  */
330
311
  noUselessConstructor?: NoUselessConstructorConfiguration | null;
331
312
  /**
332
313
  * Avoid using unnecessary continue.
314
+ * See <https://biomejs.dev/linter/rules/no-useless-continue>
333
315
  */
334
316
  noUselessContinue?: NoUselessContinueConfiguration | null;
335
317
  /**
336
318
  * Disallow empty exports that don't change anything in a module file.
319
+ * See <https://biomejs.dev/linter/rules/no-useless-empty-export>
337
320
  */
338
321
  noUselessEmptyExport?: NoUselessEmptyExportConfiguration | null;
339
322
  /**
340
323
  * Disallow unnecessary escape sequence in regular expression literals.
324
+ * See <https://biomejs.dev/linter/rules/no-useless-escape-in-regex>
341
325
  */
342
326
  noUselessEscapeInRegex?: NoUselessEscapeInRegexConfiguration | null;
343
327
  /**
344
- * Disallow unnecessary fragments
328
+ * Disallow unnecessary fragments.
329
+ * See <https://biomejs.dev/linter/rules/no-useless-fragments>
345
330
  */
346
331
  noUselessFragments?: NoUselessFragmentsConfiguration | null;
347
332
  /**
348
333
  * Disallow unnecessary labels.
334
+ * See <https://biomejs.dev/linter/rules/no-useless-label>
349
335
  */
350
336
  noUselessLabel?: NoUselessLabelConfiguration | null;
351
337
  /**
352
338
  * Disallow unnecessary nested block statements.
339
+ * See <https://biomejs.dev/linter/rules/no-useless-lone-block-statements>
353
340
  */
354
341
  noUselessLoneBlockStatements?: NoUselessLoneBlockStatementsConfiguration | null;
355
342
  /**
356
343
  * Disallow renaming import, export, and destructured assignments to the same name.
344
+ * See <https://biomejs.dev/linter/rules/no-useless-rename>
357
345
  */
358
346
  noUselessRename?: NoUselessRenameConfiguration | null;
359
347
  /**
360
348
  * Disallow unnecessary concatenation of string or template literals.
349
+ * See <https://biomejs.dev/linter/rules/no-useless-string-concat>
361
350
  */
362
351
  noUselessStringConcat?: NoUselessStringConcatConfiguration | null;
363
352
  /**
364
353
  * Disallow unnecessary String.raw function in template string literals without any escape sequence.
354
+ * See <https://biomejs.dev/linter/rules/no-useless-string-raw>
365
355
  */
366
356
  noUselessStringRaw?: NoUselessStringRawConfiguration | null;
367
357
  /**
368
358
  * Disallow useless case in switch statements.
359
+ * See <https://biomejs.dev/linter/rules/no-useless-switch-case>
369
360
  */
370
361
  noUselessSwitchCase?: NoUselessSwitchCaseConfiguration | null;
371
362
  /**
372
363
  * Disallow ternary operators when simpler alternatives exist.
364
+ * See <https://biomejs.dev/linter/rules/no-useless-ternary>
373
365
  */
374
366
  noUselessTernary?: NoUselessTernaryConfiguration | null;
375
367
  /**
376
368
  * Disallow useless this aliasing.
369
+ * See <https://biomejs.dev/linter/rules/no-useless-this-alias>
377
370
  */
378
371
  noUselessThisAlias?: NoUselessThisAliasConfiguration | null;
379
372
  /**
380
373
  * Disallow using any or unknown as type constraint.
374
+ * See <https://biomejs.dev/linter/rules/no-useless-type-constraint>
381
375
  */
382
376
  noUselessTypeConstraint?: NoUselessTypeConstraintConfiguration | null;
383
377
  /**
384
378
  * Disallow initializing variables to undefined.
379
+ * See <https://biomejs.dev/linter/rules/no-useless-undefined-initialization>
385
380
  */
386
381
  noUselessUndefinedInitialization?: NoUselessUndefinedInitializationConfiguration | null;
387
382
  /**
388
383
  * Disallow the use of void operators, which is not a familiar operator.
384
+ * See <https://biomejs.dev/linter/rules/no-void>
389
385
  */
390
386
  noVoid?: NoVoidConfiguration | null;
391
387
  /**
@@ -394,46 +390,57 @@ export interface Complexity {
394
390
  recommended?: boolean | null;
395
391
  /**
396
392
  * Use arrow functions over function expressions.
393
+ * See <https://biomejs.dev/linter/rules/use-arrow-function>
397
394
  */
398
395
  useArrowFunction?: UseArrowFunctionConfiguration | null;
399
396
  /**
400
397
  * Use Date.now() to get the number of milliseconds since the Unix Epoch.
398
+ * See <https://biomejs.dev/linter/rules/use-date-now>
401
399
  */
402
400
  useDateNow?: UseDateNowConfiguration | null;
403
401
  /**
404
402
  * Promotes the use of .flatMap() when map().flat() are used together.
403
+ * See <https://biomejs.dev/linter/rules/use-flat-map>
405
404
  */
406
405
  useFlatMap?: UseFlatMapConfiguration | null;
407
406
  /**
408
407
  * Prefer Array#{indexOf,lastIndexOf}() over Array#{findIndex,findLastIndex}() when looking for the index of an item.
408
+ * See <https://biomejs.dev/linter/rules/use-index-of>
409
409
  */
410
410
  useIndexOf?: UseIndexOfConfiguration | null;
411
411
  /**
412
412
  * Enforce the usage of a literal access to properties over computed property access.
413
+ * See <https://biomejs.dev/linter/rules/use-literal-keys>
413
414
  */
414
415
  useLiteralKeys?: UseLiteralKeysConfiguration | null;
415
416
  /**
416
- * Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals
417
+ * Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals.
418
+ * See <https://biomejs.dev/linter/rules/use-numeric-literals>
417
419
  */
418
420
  useNumericLiterals?: UseNumericLiteralsConfiguration | null;
419
421
  /**
420
422
  * Enforce using concise optional chain instead of chained logical expressions.
423
+ * See <https://biomejs.dev/linter/rules/use-optional-chain>
421
424
  */
422
425
  useOptionalChain?: UseOptionalChainConfiguration | null;
423
426
  /**
424
427
  * Enforce the use of the regular expression literals instead of the RegExp constructor if possible.
428
+ * See <https://biomejs.dev/linter/rules/use-regex-literals>
425
429
  */
426
430
  useRegexLiterals?: UseRegexLiteralsConfiguration | null;
427
431
  /**
428
432
  * Disallow number literal object member names which are not base 10 or use underscore as separator.
433
+ * See <https://biomejs.dev/linter/rules/use-simple-number-keys>
429
434
  */
430
435
  useSimpleNumberKeys?: UseSimpleNumberKeysConfiguration | null;
431
436
  /**
432
437
  * Discard redundant terms from logical expressions.
438
+ * See <https://biomejs.dev/linter/rules/use-simplified-logic-expression>
433
439
  */
434
440
  useSimplifiedLogicExpression?: UseSimplifiedLogicExpressionConfiguration | null;
435
441
  /**
436
442
  * Enforce the use of while loops instead of for loops when the initializer and update expressions are not needed.
443
+ * See <https://biomejs.dev/linter/rules/use-while>
437
444
  */
438
445
  useWhile?: UseWhileConfiguration | null;
439
446
  }
@@ -441,58 +448,63 @@ export type NoPrivateImportsConfiguration = RulePlainConfiguration | RuleWithNoP
441
448
  export type NoRestrictedElementsConfiguration = RulePlainConfiguration | RuleWithNoRestrictedElementsOptions;
442
449
  export type NoUndeclaredDependenciesConfiguration = RulePlainConfiguration | RuleWithNoUndeclaredDependenciesOptions;
443
450
  export interface RuleWithUseExhaustiveDependenciesOptions {
444
- /**
445
- * The kind of the code actions emitted by the rule
446
- */
447
451
  fix?: FixKind | null;
448
- /**
449
- * The severity of the emitted diagnostics by the rule
450
- */
451
452
  level: RulePlainConfiguration;
452
- /**
453
- * Rule's options
454
- */
455
- options: UseExhaustiveDependenciesOptions;
453
+ options?: UseExhaustiveDependenciesOptions;
456
454
  }
455
+ export type NoUndeclaredEnvVarsConfiguration = RulePlainConfiguration | RuleWithNoUndeclaredEnvVarsOptions;
457
456
  export type UseConsistentArrowReturnConfiguration = RulePlainConfiguration | RuleWithUseConsistentArrowReturnOptions;
457
+ export type UseConsistentGraphqlDescriptionsConfiguration = RulePlainConfiguration | RuleWithUseConsistentGraphqlDescriptionsOptions;
458
+ export type UseVueConsistentDefinePropsDeclarationConfiguration = RulePlainConfiguration | RuleWithUseVueConsistentDefinePropsDeclarationOptions;
459
+ export type UseVueConsistentVBindStyleConfiguration = RulePlainConfiguration | RuleWithUseVueConsistentVBindStyleOptions;
460
+ export type UseVueConsistentVOnStyleConfiguration = RulePlainConfiguration | RuleWithUseVueConsistentVOnStyleOptions;
458
461
  /**
459
462
  * A list of rules that belong to this group
460
463
  */
461
464
  export interface Performance {
462
465
  /**
463
466
  * Disallow the use of spread (...) syntax on accumulators.
467
+ * See <https://biomejs.dev/linter/rules/no-accumulating-spread>
464
468
  */
465
469
  noAccumulatingSpread?: NoAccumulatingSpreadConfiguration | null;
466
470
  /**
467
471
  * Disallow await inside loops.
472
+ * See <https://biomejs.dev/linter/rules/no-await-in-loops>
468
473
  */
469
474
  noAwaitInLoops?: NoAwaitInLoopsConfiguration | null;
470
475
  /**
471
476
  * Disallow the use of barrel file.
477
+ * See <https://biomejs.dev/linter/rules/no-barrel-file>
472
478
  */
473
479
  noBarrelFile?: NoBarrelFileConfiguration | null;
474
480
  /**
475
481
  * Disallow the use of the delete operator.
482
+ * See <https://biomejs.dev/linter/rules/no-delete>
476
483
  */
477
484
  noDelete?: NoDeleteConfiguration | null;
478
485
  /**
479
486
  * Disallow accessing namespace imports dynamically.
487
+ * See <https://biomejs.dev/linter/rules/no-dynamic-namespace-import-access>
480
488
  */
481
489
  noDynamicNamespaceImportAccess?: NoDynamicNamespaceImportAccessConfiguration | null;
482
490
  /**
483
491
  * Prevent usage of \<img> element in a Next.js project.
492
+ * See <https://biomejs.dev/linter/rules/no-img-element>
484
493
  */
485
494
  noImgElement?: NoImgElementConfiguration | null;
486
495
  /**
487
496
  * Disallow the use of namespace imports.
497
+ * See <https://biomejs.dev/linter/rules/no-namespace-import>
488
498
  */
489
499
  noNamespaceImport?: NoNamespaceImportConfiguration | null;
490
500
  /**
491
501
  * Avoid re-export all.
502
+ * See <https://biomejs.dev/linter/rules/no-re-export-all>
492
503
  */
493
504
  noReExportAll?: NoReExportAllConfiguration | null;
494
505
  /**
495
506
  * Prevent duplicate polyfills from Polyfill.io.
507
+ * See <https://biomejs.dev/linter/rules/no-unwanted-polyfillio>
496
508
  */
497
509
  noUnwantedPolyfillio?: NoUnwantedPolyfillioConfiguration | null;
498
510
  /**
@@ -501,14 +513,17 @@ export interface Performance {
501
513
  recommended?: boolean | null;
502
514
  /**
503
515
  * Ensure the preconnect attribute is used when using Google Fonts.
516
+ * See <https://biomejs.dev/linter/rules/use-google-font-preconnect>
504
517
  */
505
518
  useGoogleFontPreconnect?: UseGoogleFontPreconnectConfiguration | null;
506
519
  /**
507
520
  * Enforce using Solid's \<For /> component for mapping an array to JSX elements.
521
+ * See <https://biomejs.dev/linter/rules/use-solid-for-component>
508
522
  */
509
523
  useSolidForComponent?: UseSolidForComponentConfiguration | null;
510
524
  /**
511
525
  * Require regex literals to be declared at the top level.
526
+ * See <https://biomejs.dev/linter/rules/use-top-level-regex>
512
527
  */
513
528
  useTopLevelRegex?: UseTopLevelRegexConfiguration | null;
514
529
  }
@@ -518,22 +533,27 @@ export interface Performance {
518
533
  export interface Security {
519
534
  /**
520
535
  * Disallow target="_blank" attribute without rel="noopener".
536
+ * See <https://biomejs.dev/linter/rules/no-blank-target>
521
537
  */
522
538
  noBlankTarget?: NoBlankTargetConfiguration | null;
523
539
  /**
524
- * Prevent the usage of dangerous JSX props
540
+ * Prevent the usage of dangerous JSX props.
541
+ * See <https://biomejs.dev/linter/rules/no-dangerously-set-inner-html>
525
542
  */
526
543
  noDangerouslySetInnerHtml?: NoDangerouslySetInnerHtmlConfiguration | null;
527
544
  /**
528
545
  * Report when a DOM element or a component uses both children and dangerouslySetInnerHTML prop.
546
+ * See <https://biomejs.dev/linter/rules/no-dangerously-set-inner-html-with-children>
529
547
  */
530
548
  noDangerouslySetInnerHtmlWithChildren?: NoDangerouslySetInnerHtmlWithChildrenConfiguration | null;
531
549
  /**
532
550
  * Disallow the use of global eval().
551
+ * See <https://biomejs.dev/linter/rules/no-global-eval>
533
552
  */
534
553
  noGlobalEval?: NoGlobalEvalConfiguration | null;
535
554
  /**
536
555
  * Disallow usage of sensitive data such as API keys and tokens.
556
+ * See <https://biomejs.dev/linter/rules/no-secrets>
537
557
  */
538
558
  noSecrets?: NoSecretsConfiguration | null;
539
559
  /**
@@ -543,46 +563,25 @@ export interface Security {
543
563
  }
544
564
  export type NoParameterAssignConfiguration = RulePlainConfiguration | RuleWithNoParameterAssignOptions;
545
565
  export interface RuleWithNoRestrictedTypesOptions {
546
- /**
547
- * The kind of the code actions emitted by the rule
548
- */
549
566
  fix?: FixKind | null;
550
- /**
551
- * The severity of the emitted diagnostics by the rule
552
- */
553
567
  level: RulePlainConfiguration;
554
- /**
555
- * Rule's options
556
- */
557
- options: NoRestrictedTypesOptions;
568
+ options?: NoRestrictedTypesOptions;
558
569
  }
559
570
  export type UseConsistentArrayTypeConfiguration = RulePlainConfiguration | RuleWithUseConsistentArrayTypeOptions;
560
571
  export type UseConsistentMemberAccessibilityConfiguration = RulePlainConfiguration | RuleWithUseConsistentMemberAccessibilityOptions;
561
572
  export type UseConsistentObjectDefinitionsConfiguration = RulePlainConfiguration | RuleWithUseConsistentObjectDefinitionsOptions;
562
573
  export type UseConsistentTypeDefinitionsConfiguration = RulePlainConfiguration | RuleWithUseConsistentTypeDefinitionsOptions;
563
574
  export interface RuleWithUseFilenamingConventionOptions {
564
- /**
565
- * The severity of the emitted diagnostics by the rule
566
- */
567
575
  level: RulePlainConfiguration;
568
- /**
569
- * Rule's options
570
- */
571
- options: UseFilenamingConventionOptions;
576
+ options?: UseFilenamingConventionOptions;
572
577
  }
573
578
  export type UseImportTypeConfiguration = RulePlainConfiguration | RuleWithUseImportTypeOptions;
574
579
  export interface Convention {
575
- /**
576
- * String cases to enforce
577
- */
578
580
  formats?: Formats;
579
581
  /**
580
582
  * Regular expression to enforce
581
583
  */
582
584
  match?: Regex | null;
583
- /**
584
- * Declarations concerned by this convention
585
- */
586
585
  selector?: Selector;
587
586
  }
588
587
  /**
@@ -591,326 +590,407 @@ export interface Convention {
591
590
  export interface Suspicious {
592
591
  /**
593
592
  * Disallow the use of alert, confirm, and prompt.
593
+ * See <https://biomejs.dev/linter/rules/no-alert>
594
594
  */
595
595
  noAlert?: NoAlertConfiguration | null;
596
596
  /**
597
597
  * Use standard constants instead of approximated literals.
598
+ * See <https://biomejs.dev/linter/rules/no-approximative-numeric-constant>
598
599
  */
599
600
  noApproximativeNumericConstant?: NoApproximativeNumericConstantConfiguration | null;
600
601
  /**
601
602
  * Discourage the usage of Array index in keys.
603
+ * See <https://biomejs.dev/linter/rules/no-array-index-key>
602
604
  */
603
605
  noArrayIndexKey?: NoArrayIndexKeyConfiguration | null;
604
606
  /**
605
607
  * Disallow assignments in expressions.
608
+ * See <https://biomejs.dev/linter/rules/no-assign-in-expressions>
606
609
  */
607
610
  noAssignInExpressions?: NoAssignInExpressionsConfiguration | null;
608
611
  /**
609
612
  * Disallows using an async function as a Promise executor.
613
+ * See <https://biomejs.dev/linter/rules/no-async-promise-executor>
610
614
  */
611
615
  noAsyncPromiseExecutor?: NoAsyncPromiseExecutorConfiguration | null;
612
616
  /**
613
- * Prevents the use of the ! pattern in the first position of files.includes in the configuration file.
617
+ * Prevents the misuse of glob patterns inside the files.includes field.
618
+ * See <https://biomejs.dev/linter/rules/no-biome-first-exception>
614
619
  */
615
620
  noBiomeFirstException?: NoBiomeFirstExceptionConfiguration | null;
616
621
  /**
617
622
  * Disallow bitwise operators.
623
+ * See <https://biomejs.dev/linter/rules/no-bitwise-operators>
618
624
  */
619
625
  noBitwiseOperators?: NoBitwiseOperatorsConfiguration | null;
620
626
  /**
621
627
  * Disallow reassigning exceptions in catch clauses.
628
+ * See <https://biomejs.dev/linter/rules/no-catch-assign>
622
629
  */
623
630
  noCatchAssign?: NoCatchAssignConfiguration | null;
624
631
  /**
625
632
  * Disallow reassigning class members.
633
+ * See <https://biomejs.dev/linter/rules/no-class-assign>
626
634
  */
627
635
  noClassAssign?: NoClassAssignConfiguration | null;
628
636
  /**
629
- * Prevent comments from being inserted as text nodes
637
+ * Prevent comments from being inserted as text nodes.
638
+ * See <https://biomejs.dev/linter/rules/no-comment-text>
630
639
  */
631
640
  noCommentText?: NoCommentTextConfiguration | null;
632
641
  /**
633
- * Disallow comparing against -0
642
+ * Disallow comparing against -0.
643
+ * See <https://biomejs.dev/linter/rules/no-compare-neg-zero>
634
644
  */
635
645
  noCompareNegZero?: NoCompareNegZeroConfiguration | null;
636
646
  /**
637
647
  * Disallow labeled statements that are not loops.
648
+ * See <https://biomejs.dev/linter/rules/no-confusing-labels>
638
649
  */
639
650
  noConfusingLabels?: NoConfusingLabelsConfiguration | null;
640
651
  /**
641
652
  * Disallow void type outside of generic or return types.
653
+ * See <https://biomejs.dev/linter/rules/no-confusing-void-type>
642
654
  */
643
655
  noConfusingVoidType?: NoConfusingVoidTypeConfiguration | null;
644
656
  /**
645
657
  * Disallow the use of console.
658
+ * See <https://biomejs.dev/linter/rules/no-console>
646
659
  */
647
660
  noConsole?: NoConsoleConfiguration | null;
648
661
  /**
649
- * Disallow TypeScript const enum
662
+ * Disallow TypeScript const enum.
663
+ * See <https://biomejs.dev/linter/rules/no-const-enum>
650
664
  */
651
665
  noConstEnum?: NoConstEnumConfiguration | null;
652
666
  /**
653
- * Disallow expressions where the operation doesn't affect the value
667
+ * Disallow expressions where the operation doesn't affect the value.
668
+ * See <https://biomejs.dev/linter/rules/no-constant-binary-expressions>
654
669
  */
655
670
  noConstantBinaryExpressions?: NoConstantBinaryExpressionsConfiguration | null;
656
671
  /**
657
672
  * Prevents from having control characters and some escape sequences that match control characters in regular expression literals.
673
+ * See <https://biomejs.dev/linter/rules/no-control-characters-in-regex>
658
674
  */
659
675
  noControlCharactersInRegex?: NoControlCharactersInRegexConfiguration | null;
660
676
  /**
661
- * Disallow the use of debugger
677
+ * Disallow the use of debugger.
678
+ * See <https://biomejs.dev/linter/rules/no-debugger>
662
679
  */
663
680
  noDebugger?: NoDebuggerConfiguration | null;
664
681
  /**
665
682
  * Disallow direct assignments to document.cookie.
683
+ * See <https://biomejs.dev/linter/rules/no-document-cookie>
666
684
  */
667
685
  noDocumentCookie?: NoDocumentCookieConfiguration | null;
668
686
  /**
669
687
  * Prevents importing next/document outside of pages/_document.jsx in Next.js projects.
688
+ * See <https://biomejs.dev/linter/rules/no-document-import-in-page>
670
689
  */
671
690
  noDocumentImportInPage?: NoDocumentImportInPageConfiguration | null;
672
691
  /**
673
692
  * Require the use of === and !==.
693
+ * See <https://biomejs.dev/linter/rules/no-double-equals>
674
694
  */
675
695
  noDoubleEquals?: NoDoubleEqualsConfiguration | null;
676
696
  /**
677
697
  * Disallow duplicate @import rules.
698
+ * See <https://biomejs.dev/linter/rules/no-duplicate-at-import-rules>
678
699
  */
679
700
  noDuplicateAtImportRules?: NoDuplicateAtImportRulesConfiguration | null;
680
701
  /**
681
702
  * Disallow duplicate case labels.
703
+ * See <https://biomejs.dev/linter/rules/no-duplicate-case>
682
704
  */
683
705
  noDuplicateCase?: NoDuplicateCaseConfiguration | null;
684
706
  /**
685
707
  * Disallow duplicate class members.
708
+ * See <https://biomejs.dev/linter/rules/no-duplicate-class-members>
686
709
  */
687
710
  noDuplicateClassMembers?: NoDuplicateClassMembersConfiguration | null;
688
711
  /**
689
712
  * Disallow duplicate custom properties within declaration blocks.
713
+ * See <https://biomejs.dev/linter/rules/no-duplicate-custom-properties>
690
714
  */
691
715
  noDuplicateCustomProperties?: NoDuplicateCustomPropertiesConfiguration | null;
692
716
  /**
693
- * Disallow duplicate conditions in if-else-if chains
717
+ * Disallow duplicate conditions in if-else-if chains.
718
+ * See <https://biomejs.dev/linter/rules/no-duplicate-else-if>
694
719
  */
695
720
  noDuplicateElseIf?: NoDuplicateElseIfConfiguration | null;
696
721
  /**
697
722
  * No duplicated fields in GraphQL operations.
723
+ * See <https://biomejs.dev/linter/rules/no-duplicate-fields>
698
724
  */
699
725
  noDuplicateFields?: NoDuplicateFieldsConfiguration | null;
700
726
  /**
701
727
  * Disallow duplicate names within font families.
728
+ * See <https://biomejs.dev/linter/rules/no-duplicate-font-names>
702
729
  */
703
730
  noDuplicateFontNames?: NoDuplicateFontNamesConfiguration | null;
704
731
  /**
705
732
  * Prevents JSX properties to be assigned multiple times.
733
+ * See <https://biomejs.dev/linter/rules/no-duplicate-jsx-props>
706
734
  */
707
735
  noDuplicateJsxProps?: NoDuplicateJsxPropsConfiguration | null;
708
736
  /**
709
737
  * Disallow two keys with the same name inside objects.
738
+ * See <https://biomejs.dev/linter/rules/no-duplicate-object-keys>
710
739
  */
711
740
  noDuplicateObjectKeys?: NoDuplicateObjectKeysConfiguration | null;
712
741
  /**
713
742
  * Disallow duplicate function parameter name.
743
+ * See <https://biomejs.dev/linter/rules/no-duplicate-parameters>
714
744
  */
715
745
  noDuplicateParameters?: NoDuplicateParametersConfiguration | null;
716
746
  /**
717
747
  * Disallow duplicate properties within declaration blocks.
748
+ * See <https://biomejs.dev/linter/rules/no-duplicate-properties>
718
749
  */
719
750
  noDuplicateProperties?: NoDuplicatePropertiesConfiguration | null;
720
751
  /**
721
752
  * Disallow duplicate selectors within keyframe blocks.
753
+ * See <https://biomejs.dev/linter/rules/no-duplicate-selectors-keyframe-block>
722
754
  */
723
755
  noDuplicateSelectorsKeyframeBlock?: NoDuplicateSelectorsKeyframeBlockConfiguration | null;
724
756
  /**
725
757
  * A describe block should not contain duplicate hooks.
758
+ * See <https://biomejs.dev/linter/rules/no-duplicate-test-hooks>
726
759
  */
727
760
  noDuplicateTestHooks?: NoDuplicateTestHooksConfiguration | null;
728
761
  /**
729
762
  * Disallow CSS empty blocks.
763
+ * See <https://biomejs.dev/linter/rules/no-empty-block>
730
764
  */
731
765
  noEmptyBlock?: NoEmptyBlockConfiguration | null;
732
766
  /**
733
767
  * Disallow empty block statements and static blocks.
768
+ * See <https://biomejs.dev/linter/rules/no-empty-block-statements>
734
769
  */
735
770
  noEmptyBlockStatements?: NoEmptyBlockStatementsConfiguration | null;
736
771
  /**
737
772
  * Disallow the declaration of empty interfaces.
773
+ * See <https://biomejs.dev/linter/rules/no-empty-interface>
738
774
  */
739
775
  noEmptyInterface?: NoEmptyInterfaceConfiguration | null;
740
776
  /**
741
777
  * Disallow variables from evolving into any type through reassignments.
778
+ * See <https://biomejs.dev/linter/rules/no-evolving-types>
742
779
  */
743
780
  noEvolvingTypes?: NoEvolvingTypesConfiguration | null;
744
781
  /**
745
782
  * Disallow the any type usage.
783
+ * See <https://biomejs.dev/linter/rules/no-explicit-any>
746
784
  */
747
785
  noExplicitAny?: NoExplicitAnyConfiguration | null;
748
786
  /**
749
- * Disallow using export or module.exports in files containing tests
787
+ * Disallow using export or module.exports in files containing tests.
788
+ * See <https://biomejs.dev/linter/rules/no-exports-in-test>
750
789
  */
751
790
  noExportsInTest?: NoExportsInTestConfiguration | null;
752
791
  /**
753
792
  * Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files.
793
+ * See <https://biomejs.dev/linter/rules/no-extra-non-null-assertion>
754
794
  */
755
795
  noExtraNonNullAssertion?: NoExtraNonNullAssertionConfiguration | null;
756
796
  /**
757
797
  * Disallow fallthrough of switch clauses.
798
+ * See <https://biomejs.dev/linter/rules/no-fallthrough-switch-clause>
758
799
  */
759
800
  noFallthroughSwitchClause?: NoFallthroughSwitchClauseConfiguration | null;
760
801
  /**
761
802
  * Disallow focused tests.
803
+ * See <https://biomejs.dev/linter/rules/no-focused-tests>
762
804
  */
763
805
  noFocusedTests?: NoFocusedTestsConfiguration | null;
764
806
  /**
765
807
  * Disallow reassigning function declarations.
808
+ * See <https://biomejs.dev/linter/rules/no-function-assign>
766
809
  */
767
810
  noFunctionAssign?: NoFunctionAssignConfiguration | null;
768
811
  /**
769
812
  * Disallow assignments to native objects and read-only global variables.
813
+ * See <https://biomejs.dev/linter/rules/no-global-assign>
770
814
  */
771
815
  noGlobalAssign?: NoGlobalAssignConfiguration | null;
772
816
  /**
773
817
  * Use Number.isFinite instead of global isFinite.
818
+ * See <https://biomejs.dev/linter/rules/no-global-is-finite>
774
819
  */
775
820
  noGlobalIsFinite?: NoGlobalIsFiniteConfiguration | null;
776
821
  /**
777
822
  * Use Number.isNaN instead of global isNaN.
823
+ * See <https://biomejs.dev/linter/rules/no-global-is-nan>
778
824
  */
779
825
  noGlobalIsNan?: NoGlobalIsNanConfiguration | null;
780
826
  /**
781
827
  * Prevent using the next/head module in pages/_document.js on Next.js projects.
828
+ * See <https://biomejs.dev/linter/rules/no-head-import-in-document>
782
829
  */
783
830
  noHeadImportInDocument?: NoHeadImportInDocumentConfiguration | null;
784
831
  /**
785
832
  * Disallow use of implicit any type on variable declarations.
833
+ * See <https://biomejs.dev/linter/rules/no-implicit-any-let>
786
834
  */
787
835
  noImplicitAnyLet?: NoImplicitAnyLetConfiguration | null;
788
836
  /**
789
- * Disallow assigning to imported bindings
837
+ * Disallow assigning to imported bindings.
838
+ * See <https://biomejs.dev/linter/rules/no-import-assign>
790
839
  */
791
840
  noImportAssign?: NoImportAssignConfiguration | null;
792
841
  /**
793
- * Disallow invalid !important within keyframe declarations
842
+ * Disallow invalid !important within keyframe declarations.
843
+ * See <https://biomejs.dev/linter/rules/no-important-in-keyframe>
794
844
  */
795
845
  noImportantInKeyframe?: NoImportantInKeyframeConfiguration | null;
796
846
  /**
797
847
  * Disallows the use of irregular whitespace characters.
848
+ * See <https://biomejs.dev/linter/rules/no-irregular-whitespace>
798
849
  */
799
850
  noIrregularWhitespace?: NoIrregularWhitespaceConfiguration | null;
800
851
  /**
801
- * Disallow labels that share a name with a variable
852
+ * Disallow labels that share a name with a variable.
853
+ * See <https://biomejs.dev/linter/rules/no-label-var>
802
854
  */
803
855
  noLabelVar?: NoLabelVarConfiguration | null;
804
856
  /**
805
857
  * Disallow characters made with multiple code points in character class syntax.
858
+ * See <https://biomejs.dev/linter/rules/no-misleading-character-class>
806
859
  */
807
860
  noMisleadingCharacterClass?: NoMisleadingCharacterClassConfiguration | null;
808
861
  /**
809
862
  * Enforce proper usage of new and constructor.
863
+ * See <https://biomejs.dev/linter/rules/no-misleading-instantiator>
810
864
  */
811
865
  noMisleadingInstantiator?: NoMisleadingInstantiatorConfiguration | null;
812
866
  /**
813
867
  * Checks that the assertion function, for example expect, is placed inside an it() function call.
868
+ * See <https://biomejs.dev/linter/rules/no-misplaced-assertion>
814
869
  */
815
870
  noMisplacedAssertion?: NoMisplacedAssertionConfiguration | null;
816
871
  /**
817
872
  * Disallow shorthand assign when variable appears on both sides.
873
+ * See <https://biomejs.dev/linter/rules/no-misrefactored-shorthand-assign>
818
874
  */
819
875
  noMisrefactoredShorthandAssign?: NoMisrefactoredShorthandAssignConfiguration | null;
820
876
  /**
821
877
  * Disallow non-null assertions after optional chaining expressions.
878
+ * See <https://biomejs.dev/linter/rules/no-non-null-asserted-optional-chain>
822
879
  */
823
880
  noNonNullAssertedOptionalChain?: NoNonNullAssertedOptionalChainConfiguration | null;
824
881
  /**
825
- * Disallow octal escape sequences in string literals
882
+ * Disallow octal escape sequences in string literals.
883
+ * See <https://biomejs.dev/linter/rules/no-octal-escape>
826
884
  */
827
885
  noOctalEscape?: NoOctalEscapeConfiguration | null;
828
886
  /**
829
887
  * Disallow direct use of Object.prototype builtins.
888
+ * See <https://biomejs.dev/linter/rules/no-prototype-builtins>
830
889
  */
831
890
  noPrototypeBuiltins?: NoPrototypeBuiltinsConfiguration | null;
832
891
  /**
833
892
  * Disallow the use if quickfix.biome inside editor settings file.
893
+ * See <https://biomejs.dev/linter/rules/no-quickfix-biome>
834
894
  */
835
895
  noQuickfixBiome?: NoQuickfixBiomeConfiguration | null;
836
896
  /**
837
897
  * Prevents React-specific JSX properties from being used.
898
+ * See <https://biomejs.dev/linter/rules/no-react-specific-props>
838
899
  */
839
900
  noReactSpecificProps?: NoReactSpecificPropsConfiguration | null;
840
901
  /**
841
902
  * Disallow variable, function, class, and type redeclarations in the same scope.
903
+ * See <https://biomejs.dev/linter/rules/no-redeclare>
842
904
  */
843
905
  noRedeclare?: NoRedeclareConfiguration | null;
844
906
  /**
845
907
  * Prevents from having redundant "use strict".
908
+ * See <https://biomejs.dev/linter/rules/no-redundant-use-strict>
846
909
  */
847
910
  noRedundantUseStrict?: NoRedundantUseStrictConfiguration | null;
848
911
  /**
849
912
  * Disallow comparisons where both sides are exactly the same.
913
+ * See <https://biomejs.dev/linter/rules/no-self-compare>
850
914
  */
851
915
  noSelfCompare?: NoSelfCompareConfiguration | null;
852
916
  /**
853
917
  * Disallow identifiers from shadowing restricted names.
918
+ * See <https://biomejs.dev/linter/rules/no-shadow-restricted-names>
854
919
  */
855
920
  noShadowRestrictedNames?: NoShadowRestrictedNamesConfiguration | null;
856
921
  /**
857
922
  * Disallow shorthand properties that override related longhand properties.
923
+ * See <https://biomejs.dev/linter/rules/no-shorthand-property-overrides>
858
924
  */
859
925
  noShorthandPropertyOverrides?: NoShorthandPropertyOverridesConfiguration | null;
860
926
  /**
861
927
  * Disallow disabled tests.
928
+ * See <https://biomejs.dev/linter/rules/no-skipped-tests>
862
929
  */
863
930
  noSkippedTests?: NoSkippedTestsConfiguration | null;
864
931
  /**
865
932
  * Prevents the use of sparse arrays (arrays with holes).
933
+ * See <https://biomejs.dev/linter/rules/no-sparse-array>
866
934
  */
867
935
  noSparseArray?: NoSparseArrayConfiguration | null;
868
936
  /**
869
937
  * It detects possible "wrong" semicolons inside JSX elements.
938
+ * See <https://biomejs.dev/linter/rules/no-suspicious-semicolon-in-jsx>
870
939
  */
871
940
  noSuspiciousSemicolonInJsx?: NoSuspiciousSemicolonInJsxConfiguration | null;
872
941
  /**
873
942
  * Disallow template literal placeholder syntax in regular strings.
943
+ * See <https://biomejs.dev/linter/rules/no-template-curly-in-string>
874
944
  */
875
945
  noTemplateCurlyInString?: NoTemplateCurlyInStringConfiguration | null;
876
946
  /**
877
947
  * Disallow then property.
948
+ * See <https://biomejs.dev/linter/rules/no-then-property>
878
949
  */
879
950
  noThenProperty?: NoThenPropertyConfiguration | null;
880
951
  /**
881
952
  * Prevents the use of the TypeScript directive @ts-ignore.
953
+ * See <https://biomejs.dev/linter/rules/no-ts-ignore>
882
954
  */
883
955
  noTsIgnore?: NoTsIgnoreConfiguration | null;
884
956
  /**
885
957
  * Disallow let or var variables that are read but never assigned.
958
+ * See <https://biomejs.dev/linter/rules/no-unassigned-variables>
886
959
  */
887
960
  noUnassignedVariables?: NoUnassignedVariablesConfiguration | null;
888
961
  /**
889
962
  * Disallow unknown at-rules.
963
+ * See <https://biomejs.dev/linter/rules/no-unknown-at-rules>
890
964
  */
891
965
  noUnknownAtRules?: NoUnknownAtRulesConfiguration | null;
892
966
  /**
893
967
  * Disallow unsafe declaration merging between interfaces and classes.
968
+ * See <https://biomejs.dev/linter/rules/no-unsafe-declaration-merging>
894
969
  */
895
970
  noUnsafeDeclarationMerging?: NoUnsafeDeclarationMergingConfiguration | null;
896
971
  /**
897
972
  * Disallow using unsafe negation.
973
+ * See <https://biomejs.dev/linter/rules/no-unsafe-negation>
898
974
  */
899
975
  noUnsafeNegation?: NoUnsafeNegationConfiguration | null;
900
976
  /**
901
977
  * Disallow unnecessary escapes in string literals.
978
+ * See <https://biomejs.dev/linter/rules/no-useless-escape-in-string>
902
979
  */
903
980
  noUselessEscapeInString?: NoUselessEscapeInStringConfiguration | null;
904
981
  /**
905
982
  * Disallow useless backreferences in regular expression literals that always match an empty string.
983
+ * See <https://biomejs.dev/linter/rules/no-useless-regex-backrefs>
906
984
  */
907
985
  noUselessRegexBackrefs?: NoUselessRegexBackrefsConfiguration | null;
908
986
  /**
909
- * Disallow the use of var
987
+ * Disallow the use of var.
988
+ * See <https://biomejs.dev/linter/rules/no-var>
910
989
  */
911
990
  noVar?: NoVarConfiguration | null;
912
991
  /**
913
992
  * Disallow with statements in non-strict contexts.
993
+ * See <https://biomejs.dev/linter/rules/no-with>
914
994
  */
915
995
  noWith?: NoWithConfiguration | null;
916
996
  /**
@@ -919,84 +999,77 @@ export interface Suspicious {
919
999
  recommended?: boolean | null;
920
1000
  /**
921
1001
  * Disallow the use of overload signatures that are not next to each other.
1002
+ * See <https://biomejs.dev/linter/rules/use-adjacent-overload-signatures>
922
1003
  */
923
1004
  useAdjacentOverloadSignatures?: UseAdjacentOverloadSignaturesConfiguration | null;
924
1005
  /**
925
1006
  * Ensure async functions utilize await.
1007
+ * See <https://biomejs.dev/linter/rules/use-await>
926
1008
  */
927
1009
  useAwait?: UseAwaitConfiguration | null;
928
1010
  /**
929
1011
  * Promotes the correct usage for ignoring folders in the configuration file.
1012
+ * See <https://biomejs.dev/linter/rules/use-biome-ignore-folder>
930
1013
  */
931
1014
  useBiomeIgnoreFolder?: UseBiomeIgnoreFolderConfiguration | null;
932
1015
  /**
933
- * Enforce default clauses in switch statements to be last
1016
+ * Enforce default clauses in switch statements to be last.
1017
+ * See <https://biomejs.dev/linter/rules/use-default-switch-clause-last>
934
1018
  */
935
1019
  useDefaultSwitchClauseLast?: UseDefaultSwitchClauseLastConfiguration | null;
936
1020
  /**
937
1021
  * Enforce passing a message value when creating a built-in error.
1022
+ * See <https://biomejs.dev/linter/rules/use-error-message>
938
1023
  */
939
1024
  useErrorMessage?: UseErrorMessageConfiguration | null;
940
1025
  /**
941
1026
  * Enforce get methods to always return a value.
1027
+ * See <https://biomejs.dev/linter/rules/use-getter-return>
942
1028
  */
943
1029
  useGetterReturn?: UseGetterReturnConfiguration | null;
944
1030
  /**
945
1031
  * Enforces the use of a recommended display strategy with Google Fonts.
1032
+ * See <https://biomejs.dev/linter/rules/use-google-font-display>
946
1033
  */
947
1034
  useGoogleFontDisplay?: UseGoogleFontDisplayConfiguration | null;
948
1035
  /**
949
1036
  * Require for-in loops to include an if statement.
1037
+ * See <https://biomejs.dev/linter/rules/use-guard-for-in>
950
1038
  */
951
1039
  useGuardForIn?: UseGuardForInConfiguration | null;
952
1040
  /**
953
1041
  * Use Array.isArray() instead of instanceof Array.
1042
+ * See <https://biomejs.dev/linter/rules/use-is-array>
954
1043
  */
955
1044
  useIsArray?: UseIsArrayConfiguration | null;
956
1045
  /**
957
1046
  * Enforce consistent return values in iterable callbacks.
1047
+ * See <https://biomejs.dev/linter/rules/use-iterable-callback-return>
958
1048
  */
959
1049
  useIterableCallbackReturn?: UseIterableCallbackReturnConfiguration | null;
960
1050
  /**
961
1051
  * Require using the namespace keyword over the module keyword to declare TypeScript namespaces.
1052
+ * See <https://biomejs.dev/linter/rules/use-namespace-keyword>
962
1053
  */
963
1054
  useNamespaceKeyword?: UseNamespaceKeywordConfiguration | null;
964
1055
  /**
965
1056
  * Enforce using the digits argument with Number#toFixed().
1057
+ * See <https://biomejs.dev/linter/rules/use-number-to-fixed-digits-argument>
966
1058
  */
967
1059
  useNumberToFixedDigitsArgument?: UseNumberToFixedDigitsArgumentConfiguration | null;
968
1060
  /**
969
1061
  * Use static Response methods instead of new Response() constructor when possible.
1062
+ * See <https://biomejs.dev/linter/rules/use-static-response-methods>
970
1063
  */
971
1064
  useStaticResponseMethods?: UseStaticResponseMethodsConfiguration | null;
972
1065
  /**
973
1066
  * Enforce the use of the directive "use strict" in script files.
1067
+ * See <https://biomejs.dev/linter/rules/use-strict-mode>
974
1068
  */
975
1069
  useStrictMode?: UseStrictModeConfiguration | null;
976
1070
  }
977
- export interface ImportMatcher {
978
- source?: SourcesMatcher | null;
979
- type?: boolean | null;
980
- [k: string]: unknown;
981
- }
982
- export interface PatternOptions {
983
- /**
984
- * An array of gitignore-style patterns.
985
- */
986
- group?: SourcesMatcher | null;
987
- /**
988
- * A regex pattern for import names to forbid within the matched modules.
989
- */
990
- importNamePattern?: Regex | null;
991
- /**
992
- * If true, the matched patterns in the importNamePattern will be allowed. Defaults to `false`.
993
- */
994
- invertImportNamePattern?: boolean;
995
- /**
996
- * A custom message for diagnostics related to this pattern.
997
- */
998
- message?: string | null;
999
- }
1000
- export type SeverityOrGroupFor_A11Y = GroupPlainConfiguration | A11Y;
1001
- export type SeverityOrGroupFor_Complexity = GroupPlainConfiguration | Complexity;
1071
+ export type GroupMatcher = ImportMatcher | SourceMatcher;
1072
+ export type Patterns = PatternOptions;
1073
+ export type SeverityOrA11Y = GroupPlainConfiguration | A11Y;
1074
+ export type SeverityOrComplexity = GroupPlainConfiguration | Complexity;
1002
1075
  export type UseExhaustiveDependenciesConfiguration = RulePlainConfiguration | RuleWithUseExhaustiveDependenciesOptions;