@jimmy.codes/eslint-config 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -8,7 +8,6 @@ import * as eslint_plugin_react from 'eslint-plugin-react';
8
8
  import * as eslint from 'eslint';
9
9
  import { Linter } from 'eslint';
10
10
  import * as _typescript_eslint_utils_ts_eslint from '@typescript-eslint/utils/ts-eslint';
11
- export { TSESLint } from '@typescript-eslint/utils';
12
11
 
13
12
  /* eslint-disable */
14
13
  /* prettier-ignore */
@@ -730,182 +729,182 @@ interface RuleOptions {
730
729
  * apply `jsx-a11y/alt-text` rule to Astro components
731
730
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/alt-text/
732
731
  */
733
- 'astro/jsx-a11y/alt-text'?: Linter.RuleEntry<AstroJsxA11yAltText>
732
+ 'astro/jsx-a11y/alt-text'?: Linter.RuleEntry<AstroJsxA11YAltText>
734
733
  /**
735
734
  * apply `jsx-a11y/anchor-ambiguous-text` rule to Astro components
736
735
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-ambiguous-text/
737
736
  */
738
- 'astro/jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry<AstroJsxA11yAnchorAmbiguousText>
737
+ 'astro/jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry<AstroJsxA11YAnchorAmbiguousText>
739
738
  /**
740
739
  * apply `jsx-a11y/anchor-has-content` rule to Astro components
741
740
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-has-content/
742
741
  */
743
- 'astro/jsx-a11y/anchor-has-content'?: Linter.RuleEntry<AstroJsxA11yAnchorHasContent>
742
+ 'astro/jsx-a11y/anchor-has-content'?: Linter.RuleEntry<AstroJsxA11YAnchorHasContent>
744
743
  /**
745
744
  * apply `jsx-a11y/anchor-is-valid` rule to Astro components
746
745
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-is-valid/
747
746
  */
748
- 'astro/jsx-a11y/anchor-is-valid'?: Linter.RuleEntry<AstroJsxA11yAnchorIsValid>
747
+ 'astro/jsx-a11y/anchor-is-valid'?: Linter.RuleEntry<AstroJsxA11YAnchorIsValid>
749
748
  /**
750
749
  * apply `jsx-a11y/aria-activedescendant-has-tabindex` rule to Astro components
751
750
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-activedescendant-has-tabindex/
752
751
  */
753
- 'astro/jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry<AstroJsxA11yAriaActivedescendantHasTabindex>
752
+ 'astro/jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry<AstroJsxA11YAriaActivedescendantHasTabindex>
754
753
  /**
755
754
  * apply `jsx-a11y/aria-props` rule to Astro components
756
755
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-props/
757
756
  */
758
- 'astro/jsx-a11y/aria-props'?: Linter.RuleEntry<AstroJsxA11yAriaProps>
757
+ 'astro/jsx-a11y/aria-props'?: Linter.RuleEntry<AstroJsxA11YAriaProps>
759
758
  /**
760
759
  * apply `jsx-a11y/aria-proptypes` rule to Astro components
761
760
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-proptypes/
762
761
  */
763
- 'astro/jsx-a11y/aria-proptypes'?: Linter.RuleEntry<AstroJsxA11yAriaProptypes>
762
+ 'astro/jsx-a11y/aria-proptypes'?: Linter.RuleEntry<AstroJsxA11YAriaProptypes>
764
763
  /**
765
764
  * apply `jsx-a11y/aria-role` rule to Astro components
766
765
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-role/
767
766
  */
768
- 'astro/jsx-a11y/aria-role'?: Linter.RuleEntry<AstroJsxA11yAriaRole>
767
+ 'astro/jsx-a11y/aria-role'?: Linter.RuleEntry<AstroJsxA11YAriaRole>
769
768
  /**
770
769
  * apply `jsx-a11y/aria-unsupported-elements` rule to Astro components
771
770
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-unsupported-elements/
772
771
  */
773
- 'astro/jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry<AstroJsxA11yAriaUnsupportedElements>
772
+ 'astro/jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry<AstroJsxA11YAriaUnsupportedElements>
774
773
  /**
775
774
  * apply `jsx-a11y/autocomplete-valid` rule to Astro components
776
775
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/autocomplete-valid/
777
776
  */
778
- 'astro/jsx-a11y/autocomplete-valid'?: Linter.RuleEntry<AstroJsxA11yAutocompleteValid>
777
+ 'astro/jsx-a11y/autocomplete-valid'?: Linter.RuleEntry<AstroJsxA11YAutocompleteValid>
779
778
  /**
780
779
  * apply `jsx-a11y/click-events-have-key-events` rule to Astro components
781
780
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/click-events-have-key-events/
782
781
  */
783
- 'astro/jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry<AstroJsxA11yClickEventsHaveKeyEvents>
782
+ 'astro/jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry<AstroJsxA11YClickEventsHaveKeyEvents>
784
783
  /**
785
784
  * apply `jsx-a11y/control-has-associated-label` rule to Astro components
786
785
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/control-has-associated-label/
787
786
  */
788
- 'astro/jsx-a11y/control-has-associated-label'?: Linter.RuleEntry<AstroJsxA11yControlHasAssociatedLabel>
787
+ 'astro/jsx-a11y/control-has-associated-label'?: Linter.RuleEntry<AstroJsxA11YControlHasAssociatedLabel>
789
788
  /**
790
789
  * apply `jsx-a11y/heading-has-content` rule to Astro components
791
790
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/heading-has-content/
792
791
  */
793
- 'astro/jsx-a11y/heading-has-content'?: Linter.RuleEntry<AstroJsxA11yHeadingHasContent>
792
+ 'astro/jsx-a11y/heading-has-content'?: Linter.RuleEntry<AstroJsxA11YHeadingHasContent>
794
793
  /**
795
794
  * apply `jsx-a11y/html-has-lang` rule to Astro components
796
795
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/html-has-lang/
797
796
  */
798
- 'astro/jsx-a11y/html-has-lang'?: Linter.RuleEntry<AstroJsxA11yHtmlHasLang>
797
+ 'astro/jsx-a11y/html-has-lang'?: Linter.RuleEntry<AstroJsxA11YHtmlHasLang>
799
798
  /**
800
799
  * apply `jsx-a11y/iframe-has-title` rule to Astro components
801
800
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/iframe-has-title/
802
801
  */
803
- 'astro/jsx-a11y/iframe-has-title'?: Linter.RuleEntry<AstroJsxA11yIframeHasTitle>
802
+ 'astro/jsx-a11y/iframe-has-title'?: Linter.RuleEntry<AstroJsxA11YIframeHasTitle>
804
803
  /**
805
804
  * apply `jsx-a11y/img-redundant-alt` rule to Astro components
806
805
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/img-redundant-alt/
807
806
  */
808
- 'astro/jsx-a11y/img-redundant-alt'?: Linter.RuleEntry<AstroJsxA11yImgRedundantAlt>
807
+ 'astro/jsx-a11y/img-redundant-alt'?: Linter.RuleEntry<AstroJsxA11YImgRedundantAlt>
809
808
  /**
810
809
  * apply `jsx-a11y/interactive-supports-focus` rule to Astro components
811
810
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/interactive-supports-focus/
812
811
  */
813
- 'astro/jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry<AstroJsxA11yInteractiveSupportsFocus>
812
+ 'astro/jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry<AstroJsxA11YInteractiveSupportsFocus>
814
813
  /**
815
814
  * apply `jsx-a11y/label-has-associated-control` rule to Astro components
816
815
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/label-has-associated-control/
817
816
  */
818
- 'astro/jsx-a11y/label-has-associated-control'?: Linter.RuleEntry<AstroJsxA11yLabelHasAssociatedControl>
817
+ 'astro/jsx-a11y/label-has-associated-control'?: Linter.RuleEntry<AstroJsxA11YLabelHasAssociatedControl>
819
818
  /**
820
819
  * apply `jsx-a11y/lang` rule to Astro components
821
820
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/lang/
822
821
  */
823
- 'astro/jsx-a11y/lang'?: Linter.RuleEntry<AstroJsxA11yLang>
822
+ 'astro/jsx-a11y/lang'?: Linter.RuleEntry<AstroJsxA11YLang>
824
823
  /**
825
824
  * apply `jsx-a11y/media-has-caption` rule to Astro components
826
825
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/media-has-caption/
827
826
  */
828
- 'astro/jsx-a11y/media-has-caption'?: Linter.RuleEntry<AstroJsxA11yMediaHasCaption>
827
+ 'astro/jsx-a11y/media-has-caption'?: Linter.RuleEntry<AstroJsxA11YMediaHasCaption>
829
828
  /**
830
829
  * apply `jsx-a11y/mouse-events-have-key-events` rule to Astro components
831
830
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/mouse-events-have-key-events/
832
831
  */
833
- 'astro/jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<AstroJsxA11yMouseEventsHaveKeyEvents>
832
+ 'astro/jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<AstroJsxA11YMouseEventsHaveKeyEvents>
834
833
  /**
835
834
  * apply `jsx-a11y/no-access-key` rule to Astro components
836
835
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-access-key/
837
836
  */
838
- 'astro/jsx-a11y/no-access-key'?: Linter.RuleEntry<AstroJsxA11yNoAccessKey>
837
+ 'astro/jsx-a11y/no-access-key'?: Linter.RuleEntry<AstroJsxA11YNoAccessKey>
839
838
  /**
840
839
  * apply `jsx-a11y/no-aria-hidden-on-focusable` rule to Astro components
841
840
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-aria-hidden-on-focusable/
842
841
  */
843
- 'astro/jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<AstroJsxA11yNoAriaHiddenOnFocusable>
842
+ 'astro/jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<AstroJsxA11YNoAriaHiddenOnFocusable>
844
843
  /**
845
844
  * apply `jsx-a11y/no-autofocus` rule to Astro components
846
845
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-autofocus/
847
846
  */
848
- 'astro/jsx-a11y/no-autofocus'?: Linter.RuleEntry<AstroJsxA11yNoAutofocus>
847
+ 'astro/jsx-a11y/no-autofocus'?: Linter.RuleEntry<AstroJsxA11YNoAutofocus>
849
848
  /**
850
849
  * apply `jsx-a11y/no-distracting-elements` rule to Astro components
851
850
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-distracting-elements/
852
851
  */
853
- 'astro/jsx-a11y/no-distracting-elements'?: Linter.RuleEntry<AstroJsxA11yNoDistractingElements>
852
+ 'astro/jsx-a11y/no-distracting-elements'?: Linter.RuleEntry<AstroJsxA11YNoDistractingElements>
854
853
  /**
855
854
  * apply `jsx-a11y/no-interactive-element-to-noninteractive-role` rule to Astro components
856
855
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-interactive-element-to-noninteractive-role/
857
856
  */
858
- 'astro/jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry<AstroJsxA11yNoInteractiveElementToNoninteractiveRole>
857
+ 'astro/jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry<AstroJsxA11YNoInteractiveElementToNoninteractiveRole>
859
858
  /**
860
859
  * apply `jsx-a11y/no-noninteractive-element-interactions` rule to Astro components
861
860
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-element-interactions/
862
861
  */
863
- 'astro/jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry<AstroJsxA11yNoNoninteractiveElementInteractions>
862
+ 'astro/jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry<AstroJsxA11YNoNoninteractiveElementInteractions>
864
863
  /**
865
864
  * apply `jsx-a11y/no-noninteractive-element-to-interactive-role` rule to Astro components
866
865
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-element-to-interactive-role/
867
866
  */
868
- 'astro/jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry<AstroJsxA11yNoNoninteractiveElementToInteractiveRole>
867
+ 'astro/jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry<AstroJsxA11YNoNoninteractiveElementToInteractiveRole>
869
868
  /**
870
869
  * apply `jsx-a11y/no-noninteractive-tabindex` rule to Astro components
871
870
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-tabindex/
872
871
  */
873
- 'astro/jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry<AstroJsxA11yNoNoninteractiveTabindex>
872
+ 'astro/jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry<AstroJsxA11YNoNoninteractiveTabindex>
874
873
  /**
875
874
  * apply `jsx-a11y/no-redundant-roles` rule to Astro components
876
875
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-redundant-roles/
877
876
  */
878
- 'astro/jsx-a11y/no-redundant-roles'?: Linter.RuleEntry<AstroJsxA11yNoRedundantRoles>
877
+ 'astro/jsx-a11y/no-redundant-roles'?: Linter.RuleEntry<AstroJsxA11YNoRedundantRoles>
879
878
  /**
880
879
  * apply `jsx-a11y/no-static-element-interactions` rule to Astro components
881
880
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-static-element-interactions/
882
881
  */
883
- 'astro/jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry<AstroJsxA11yNoStaticElementInteractions>
882
+ 'astro/jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry<AstroJsxA11YNoStaticElementInteractions>
884
883
  /**
885
884
  * apply `jsx-a11y/prefer-tag-over-role` rule to Astro components
886
885
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/prefer-tag-over-role/
887
886
  */
888
- 'astro/jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry<AstroJsxA11yPreferTagOverRole>
887
+ 'astro/jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry<AstroJsxA11YPreferTagOverRole>
889
888
  /**
890
889
  * apply `jsx-a11y/role-has-required-aria-props` rule to Astro components
891
890
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/role-has-required-aria-props/
892
891
  */
893
- 'astro/jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry<AstroJsxA11yRoleHasRequiredAriaProps>
892
+ 'astro/jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry<AstroJsxA11YRoleHasRequiredAriaProps>
894
893
  /**
895
894
  * apply `jsx-a11y/role-supports-aria-props` rule to Astro components
896
895
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/role-supports-aria-props/
897
896
  */
898
- 'astro/jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry<AstroJsxA11yRoleSupportsAriaProps>
897
+ 'astro/jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry<AstroJsxA11YRoleSupportsAriaProps>
899
898
  /**
900
899
  * apply `jsx-a11y/scope` rule to Astro components
901
900
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/scope/
902
901
  */
903
- 'astro/jsx-a11y/scope'?: Linter.RuleEntry<AstroJsxA11yScope>
902
+ 'astro/jsx-a11y/scope'?: Linter.RuleEntry<AstroJsxA11YScope>
904
903
  /**
905
904
  * apply `jsx-a11y/tabindex-no-positive` rule to Astro components
906
905
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/tabindex-no-positive/
907
906
  */
908
- 'astro/jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<AstroJsxA11yTabindexNoPositive>
907
+ 'astro/jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<AstroJsxA11YTabindexNoPositive>
909
908
  /**
910
909
  * the client:only directive is missing the correct component's framework value
911
910
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/missing-client-only-directive-value/
@@ -1137,7 +1136,7 @@ interface RuleOptions {
1137
1136
  */
1138
1137
  'func-names'?: Linter.RuleEntry<FuncNames>
1139
1138
  /**
1140
- * Enforce the consistent use of either `function` declarations or expressions
1139
+ * Enforce the consistent use of either `function` declarations or expressions assigned to variables
1141
1140
  * @see https://eslint.org/docs/latest/rules/func-style
1142
1141
  */
1143
1142
  'func-style'?: Linter.RuleEntry<FuncStyle>
@@ -1831,199 +1830,199 @@ interface RuleOptions {
1831
1830
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/accessible-emoji.md
1832
1831
  * @deprecated
1833
1832
  */
1834
- 'jsx-a11y/accessible-emoji'?: Linter.RuleEntry<JsxA11yAccessibleEmoji>
1833
+ 'jsx-a11y/accessible-emoji'?: Linter.RuleEntry<JsxA11YAccessibleEmoji>
1835
1834
  /**
1836
1835
  * Enforce all elements that require alternative text have meaningful information to relay back to end user.
1837
1836
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/alt-text.md
1838
1837
  */
1839
- 'jsx-a11y/alt-text'?: Linter.RuleEntry<JsxA11yAltText>
1838
+ 'jsx-a11y/alt-text'?: Linter.RuleEntry<JsxA11YAltText>
1840
1839
  /**
1841
1840
  * Enforce `<a>` text to not exactly match "click here", "here", "link", or "a link".
1842
1841
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-ambiguous-text.md
1843
1842
  */
1844
- 'jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry<JsxA11yAnchorAmbiguousText>
1843
+ 'jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry<JsxA11YAnchorAmbiguousText>
1845
1844
  /**
1846
1845
  * Enforce all anchors to contain accessible content.
1847
1846
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-has-content.md
1848
1847
  */
1849
- 'jsx-a11y/anchor-has-content'?: Linter.RuleEntry<JsxA11yAnchorHasContent>
1848
+ 'jsx-a11y/anchor-has-content'?: Linter.RuleEntry<JsxA11YAnchorHasContent>
1850
1849
  /**
1851
1850
  * Enforce all anchors are valid, navigable elements.
1852
1851
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-is-valid.md
1853
1852
  */
1854
- 'jsx-a11y/anchor-is-valid'?: Linter.RuleEntry<JsxA11yAnchorIsValid>
1853
+ 'jsx-a11y/anchor-is-valid'?: Linter.RuleEntry<JsxA11YAnchorIsValid>
1855
1854
  /**
1856
1855
  * Enforce elements with aria-activedescendant are tabbable.
1857
1856
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-activedescendant-has-tabindex.md
1858
1857
  */
1859
- 'jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry<JsxA11yAriaActivedescendantHasTabindex>
1858
+ 'jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry<JsxA11YAriaActivedescendantHasTabindex>
1860
1859
  /**
1861
1860
  * Enforce all `aria-*` props are valid.
1862
1861
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-props.md
1863
1862
  */
1864
- 'jsx-a11y/aria-props'?: Linter.RuleEntry<JsxA11yAriaProps>
1863
+ 'jsx-a11y/aria-props'?: Linter.RuleEntry<JsxA11YAriaProps>
1865
1864
  /**
1866
1865
  * Enforce ARIA state and property values are valid.
1867
1866
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-proptypes.md
1868
1867
  */
1869
- 'jsx-a11y/aria-proptypes'?: Linter.RuleEntry<JsxA11yAriaProptypes>
1868
+ 'jsx-a11y/aria-proptypes'?: Linter.RuleEntry<JsxA11YAriaProptypes>
1870
1869
  /**
1871
1870
  * Enforce that elements with ARIA roles must use a valid, non-abstract ARIA role.
1872
1871
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-role.md
1873
1872
  */
1874
- 'jsx-a11y/aria-role'?: Linter.RuleEntry<JsxA11yAriaRole>
1873
+ 'jsx-a11y/aria-role'?: Linter.RuleEntry<JsxA11YAriaRole>
1875
1874
  /**
1876
1875
  * Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.
1877
1876
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-unsupported-elements.md
1878
1877
  */
1879
- 'jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry<JsxA11yAriaUnsupportedElements>
1878
+ 'jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry<JsxA11YAriaUnsupportedElements>
1880
1879
  /**
1881
1880
  * Enforce that autocomplete attributes are used correctly.
1882
1881
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/autocomplete-valid.md
1883
1882
  */
1884
- 'jsx-a11y/autocomplete-valid'?: Linter.RuleEntry<JsxA11yAutocompleteValid>
1883
+ 'jsx-a11y/autocomplete-valid'?: Linter.RuleEntry<JsxA11YAutocompleteValid>
1885
1884
  /**
1886
1885
  * Enforce a clickable non-interactive element has at least one keyboard event listener.
1887
1886
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/click-events-have-key-events.md
1888
1887
  */
1889
- 'jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry<JsxA11yClickEventsHaveKeyEvents>
1888
+ 'jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry<JsxA11YClickEventsHaveKeyEvents>
1890
1889
  /**
1891
1890
  * Enforce that a control (an interactive element) has a text label.
1892
1891
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/control-has-associated-label.md
1893
1892
  */
1894
- 'jsx-a11y/control-has-associated-label'?: Linter.RuleEntry<JsxA11yControlHasAssociatedLabel>
1893
+ 'jsx-a11y/control-has-associated-label'?: Linter.RuleEntry<JsxA11YControlHasAssociatedLabel>
1895
1894
  /**
1896
1895
  * Enforce heading (`h1`, `h2`, etc) elements contain accessible content.
1897
1896
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/heading-has-content.md
1898
1897
  */
1899
- 'jsx-a11y/heading-has-content'?: Linter.RuleEntry<JsxA11yHeadingHasContent>
1898
+ 'jsx-a11y/heading-has-content'?: Linter.RuleEntry<JsxA11YHeadingHasContent>
1900
1899
  /**
1901
1900
  * Enforce `<html>` element has `lang` prop.
1902
1901
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/html-has-lang.md
1903
1902
  */
1904
- 'jsx-a11y/html-has-lang'?: Linter.RuleEntry<JsxA11yHtmlHasLang>
1903
+ 'jsx-a11y/html-has-lang'?: Linter.RuleEntry<JsxA11YHtmlHasLang>
1905
1904
  /**
1906
1905
  * Enforce iframe elements have a title attribute.
1907
1906
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/iframe-has-title.md
1908
1907
  */
1909
- 'jsx-a11y/iframe-has-title'?: Linter.RuleEntry<JsxA11yIframeHasTitle>
1908
+ 'jsx-a11y/iframe-has-title'?: Linter.RuleEntry<JsxA11YIframeHasTitle>
1910
1909
  /**
1911
1910
  * Enforce `<img>` alt prop does not contain the word "image", "picture", or "photo".
1912
1911
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/img-redundant-alt.md
1913
1912
  */
1914
- 'jsx-a11y/img-redundant-alt'?: Linter.RuleEntry<JsxA11yImgRedundantAlt>
1913
+ 'jsx-a11y/img-redundant-alt'?: Linter.RuleEntry<JsxA11YImgRedundantAlt>
1915
1914
  /**
1916
1915
  * Enforce that elements with interactive handlers like `onClick` must be focusable.
1917
1916
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/interactive-supports-focus.md
1918
1917
  */
1919
- 'jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry<JsxA11yInteractiveSupportsFocus>
1918
+ 'jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry<JsxA11YInteractiveSupportsFocus>
1920
1919
  /**
1921
1920
  * Enforce that a `label` tag has a text label and an associated control.
1922
1921
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/label-has-associated-control.md
1923
1922
  */
1924
- 'jsx-a11y/label-has-associated-control'?: Linter.RuleEntry<JsxA11yLabelHasAssociatedControl>
1923
+ 'jsx-a11y/label-has-associated-control'?: Linter.RuleEntry<JsxA11YLabelHasAssociatedControl>
1925
1924
  /**
1926
1925
  * Enforce that `<label>` elements have the `htmlFor` prop.
1927
1926
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/label-has-for.md
1928
1927
  * @deprecated
1929
1928
  */
1930
- 'jsx-a11y/label-has-for'?: Linter.RuleEntry<JsxA11yLabelHasFor>
1929
+ 'jsx-a11y/label-has-for'?: Linter.RuleEntry<JsxA11YLabelHasFor>
1931
1930
  /**
1932
1931
  * Enforce lang attribute has a valid value.
1933
1932
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/lang.md
1934
1933
  */
1935
- 'jsx-a11y/lang'?: Linter.RuleEntry<JsxA11yLang>
1934
+ 'jsx-a11y/lang'?: Linter.RuleEntry<JsxA11YLang>
1936
1935
  /**
1937
1936
  * Enforces that `<audio>` and `<video>` elements must have a `<track>` for captions.
1938
1937
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/media-has-caption.md
1939
1938
  */
1940
- 'jsx-a11y/media-has-caption'?: Linter.RuleEntry<JsxA11yMediaHasCaption>
1939
+ 'jsx-a11y/media-has-caption'?: Linter.RuleEntry<JsxA11YMediaHasCaption>
1941
1940
  /**
1942
1941
  * Enforce that `onMouseOver`/`onMouseOut` are accompanied by `onFocus`/`onBlur` for keyboard-only users.
1943
1942
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/mouse-events-have-key-events.md
1944
1943
  */
1945
- 'jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<JsxA11yMouseEventsHaveKeyEvents>
1944
+ 'jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<JsxA11YMouseEventsHaveKeyEvents>
1946
1945
  /**
1947
1946
  * Enforce that the `accessKey` prop is not used on any element to avoid complications with keyboard commands used by a screen reader.
1948
1947
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-access-key.md
1949
1948
  */
1950
- 'jsx-a11y/no-access-key'?: Linter.RuleEntry<JsxA11yNoAccessKey>
1949
+ 'jsx-a11y/no-access-key'?: Linter.RuleEntry<JsxA11YNoAccessKey>
1951
1950
  /**
1952
1951
  * Disallow `aria-hidden="true"` from being set on focusable elements.
1953
1952
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-aria-hidden-on-focusable.md
1954
1953
  */
1955
- 'jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<JsxA11yNoAriaHiddenOnFocusable>
1954
+ 'jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<JsxA11YNoAriaHiddenOnFocusable>
1956
1955
  /**
1957
1956
  * Enforce autoFocus prop is not used.
1958
1957
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-autofocus.md
1959
1958
  */
1960
- 'jsx-a11y/no-autofocus'?: Linter.RuleEntry<JsxA11yNoAutofocus>
1959
+ 'jsx-a11y/no-autofocus'?: Linter.RuleEntry<JsxA11YNoAutofocus>
1961
1960
  /**
1962
1961
  * Enforce distracting elements are not used.
1963
1962
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-distracting-elements.md
1964
1963
  */
1965
- 'jsx-a11y/no-distracting-elements'?: Linter.RuleEntry<JsxA11yNoDistractingElements>
1964
+ 'jsx-a11y/no-distracting-elements'?: Linter.RuleEntry<JsxA11YNoDistractingElements>
1966
1965
  /**
1967
1966
  * Interactive elements should not be assigned non-interactive roles.
1968
1967
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-interactive-element-to-noninteractive-role.md
1969
1968
  */
1970
- 'jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry<JsxA11yNoInteractiveElementToNoninteractiveRole>
1969
+ 'jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry<JsxA11YNoInteractiveElementToNoninteractiveRole>
1971
1970
  /**
1972
1971
  * Non-interactive elements should not be assigned mouse or keyboard event listeners.
1973
1972
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-element-interactions.md
1974
1973
  */
1975
- 'jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry<JsxA11yNoNoninteractiveElementInteractions>
1974
+ 'jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry<JsxA11YNoNoninteractiveElementInteractions>
1976
1975
  /**
1977
1976
  * Non-interactive elements should not be assigned interactive roles.
1978
1977
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-element-to-interactive-role.md
1979
1978
  */
1980
- 'jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry<JsxA11yNoNoninteractiveElementToInteractiveRole>
1979
+ 'jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry<JsxA11YNoNoninteractiveElementToInteractiveRole>
1981
1980
  /**
1982
1981
  * `tabIndex` should only be declared on interactive elements.
1983
1982
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-tabindex.md
1984
1983
  */
1985
- 'jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry<JsxA11yNoNoninteractiveTabindex>
1984
+ 'jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry<JsxA11YNoNoninteractiveTabindex>
1986
1985
  /**
1987
1986
  * Enforce usage of `onBlur` over `onChange` on select menus for accessibility.
1988
1987
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-onchange.md
1989
1988
  * @deprecated
1990
1989
  */
1991
- 'jsx-a11y/no-onchange'?: Linter.RuleEntry<JsxA11yNoOnchange>
1990
+ 'jsx-a11y/no-onchange'?: Linter.RuleEntry<JsxA11YNoOnchange>
1992
1991
  /**
1993
1992
  * Enforce explicit role property is not the same as implicit/default role property on element.
1994
1993
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-redundant-roles.md
1995
1994
  */
1996
- 'jsx-a11y/no-redundant-roles'?: Linter.RuleEntry<JsxA11yNoRedundantRoles>
1995
+ 'jsx-a11y/no-redundant-roles'?: Linter.RuleEntry<JsxA11YNoRedundantRoles>
1997
1996
  /**
1998
1997
  * Enforce that non-interactive, visible elements (such as `<div>`) that have click handlers use the role attribute.
1999
1998
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-static-element-interactions.md
2000
1999
  */
2001
- 'jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry<JsxA11yNoStaticElementInteractions>
2000
+ 'jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry<JsxA11YNoStaticElementInteractions>
2002
2001
  /**
2003
2002
  * Enforces using semantic DOM elements over the ARIA `role` property.
2004
2003
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/prefer-tag-over-role.md
2005
2004
  */
2006
- 'jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry<JsxA11yPreferTagOverRole>
2005
+ 'jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry<JsxA11YPreferTagOverRole>
2007
2006
  /**
2008
2007
  * Enforce that elements with ARIA roles must have all required attributes for that role.
2009
2008
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/role-has-required-aria-props.md
2010
2009
  */
2011
- 'jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry<JsxA11yRoleHasRequiredAriaProps>
2010
+ 'jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry<JsxA11YRoleHasRequiredAriaProps>
2012
2011
  /**
2013
2012
  * Enforce that elements with explicit or implicit roles defined contain only `aria-*` properties supported by that `role`.
2014
2013
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/role-supports-aria-props.md
2015
2014
  */
2016
- 'jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry<JsxA11yRoleSupportsAriaProps>
2015
+ 'jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry<JsxA11YRoleSupportsAriaProps>
2017
2016
  /**
2018
2017
  * Enforce `scope` prop is only used on `<th>` elements.
2019
2018
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/scope.md
2020
2019
  */
2021
- 'jsx-a11y/scope'?: Linter.RuleEntry<JsxA11yScope>
2020
+ 'jsx-a11y/scope'?: Linter.RuleEntry<JsxA11YScope>
2022
2021
  /**
2023
2022
  * Enforce `tabIndex` value is not greater than zero.
2024
2023
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/tabindex-no-positive.md
2025
2024
  */
2026
- 'jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<JsxA11yTabindexNoPositive>
2025
+ 'jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<JsxA11YTabindexNoPositive>
2027
2026
  /**
2028
2027
  * Enforce the consistent use of either double or single quotes in JSX attributes
2029
2028
  * @see https://eslint.org/docs/latest/rules/jsx-quotes
@@ -2045,6 +2044,7 @@ interface RuleOptions {
2045
2044
  /**
2046
2045
  * Enforce position of line comments
2047
2046
  * @see https://eslint.org/docs/latest/rules/line-comment-position
2047
+ * @deprecated
2048
2048
  */
2049
2049
  'line-comment-position'?: Linter.RuleEntry<LineCommentPosition>
2050
2050
  /**
@@ -2126,6 +2126,7 @@ interface RuleOptions {
2126
2126
  /**
2127
2127
  * Enforce a particular style for multiline comments
2128
2128
  * @see https://eslint.org/docs/latest/rules/multiline-comment-style
2129
+ * @deprecated
2129
2130
  */
2130
2131
  'multiline-comment-style'?: Linter.RuleEntry<MultilineCommentStyle>
2131
2132
  /**
@@ -2255,7 +2256,7 @@ interface RuleOptions {
2255
2256
  * Disallow returning value from constructor
2256
2257
  * @see https://eslint.org/docs/latest/rules/no-constructor-return
2257
2258
  */
2258
- 'no-constructor-return'?: Linter.RuleEntry<NoConstructorReturn>
2259
+ 'no-constructor-return'?: Linter.RuleEntry<[]>
2259
2260
  /**
2260
2261
  * Disallow `continue` statements
2261
2262
  * @see https://eslint.org/docs/latest/rules/no-continue
@@ -2498,7 +2499,7 @@ interface RuleOptions {
2498
2499
  * Disallow characters which are made with multiple code points in character class syntax
2499
2500
  * @see https://eslint.org/docs/latest/rules/no-misleading-character-class
2500
2501
  */
2501
- 'no-misleading-character-class'?: Linter.RuleEntry<[]>
2502
+ 'no-misleading-character-class'?: Linter.RuleEntry<NoMisleadingCharacterClass>
2502
2503
  /**
2503
2504
  * Disallow mixed binary operators
2504
2505
  * @see https://eslint.org/docs/latest/rules/no-mixed-operators
@@ -2591,6 +2592,7 @@ interface RuleOptions {
2591
2592
  /**
2592
2593
  * Disallow `new` operators with the `Symbol` object
2593
2594
  * @see https://eslint.org/docs/latest/rules/no-new-symbol
2595
+ * @deprecated
2594
2596
  */
2595
2597
  'no-new-symbol'?: Linter.RuleEntry<[]>
2596
2598
  /**
@@ -2887,6 +2889,11 @@ interface RuleOptions {
2887
2889
  * @see https://eslint.org/docs/latest/rules/no-use-before-define
2888
2890
  */
2889
2891
  'no-use-before-define'?: Linter.RuleEntry<NoUseBeforeDefine>
2892
+ /**
2893
+ * Disallow variable assignments when the value is not used
2894
+ * @see https://eslint.org/docs/latest/rules/no-useless-assignment
2895
+ */
2896
+ 'no-useless-assignment'?: Linter.RuleEntry<[]>
2890
2897
  /**
2891
2898
  * Disallow useless backreferences in regular expressions
2892
2899
  * @see https://eslint.org/docs/latest/rules/no-useless-backreference
@@ -3652,17 +3659,11 @@ interface RuleOptions {
3652
3659
  * @see https://eslint.org/docs/latest/rules/require-await
3653
3660
  */
3654
3661
  'require-await'?: Linter.RuleEntry<[]>
3655
- /**
3656
- * Require JSDoc comments
3657
- * @see https://eslint.org/docs/latest/rules/require-jsdoc
3658
- * @deprecated
3659
- */
3660
- 'require-jsdoc'?: Linter.RuleEntry<RequireJsdoc>
3661
3662
  /**
3662
3663
  * Enforce the use of `u` or `v` flag on RegExp
3663
3664
  * @see https://eslint.org/docs/latest/rules/require-unicode-regexp
3664
3665
  */
3665
- 'require-unicode-regexp'?: Linter.RuleEntry<[]>
3666
+ 'require-unicode-regexp'?: Linter.RuleEntry<RequireUnicodeRegexp>
3666
3667
  /**
3667
3668
  * Require generator functions to contain `yield`
3668
3669
  * @see https://eslint.org/docs/latest/rules/require-yield
@@ -3926,12 +3927,6 @@ interface RuleOptions {
3926
3927
  * @see https://eslint.org/docs/latest/rules/use-isnan
3927
3928
  */
3928
3929
  'use-isnan'?: Linter.RuleEntry<UseIsnan>
3929
- /**
3930
- * Enforce valid JSDoc comments
3931
- * @see https://eslint.org/docs/latest/rules/valid-jsdoc
3932
- * @deprecated
3933
- */
3934
- 'valid-jsdoc'?: Linter.RuleEntry<ValidJsdoc>
3935
3930
  /**
3936
3931
  * Enforce comparing `typeof` expressions against valid strings
3937
3932
  * @see https://eslint.org/docs/latest/rules/valid-typeof
@@ -4640,6 +4635,7 @@ type TypescriptEslintNoRestrictedImports = ((string | {
4640
4635
  name: string
4641
4636
  message?: string
4642
4637
  importNames?: string[]
4638
+ allowImportNames?: string[]
4643
4639
 
4644
4640
  allowTypeImports?: boolean
4645
4641
  })[] | []|[{
@@ -4647,6 +4643,7 @@ type TypescriptEslintNoRestrictedImports = ((string | {
4647
4643
  name: string
4648
4644
  message?: string
4649
4645
  importNames?: string[]
4646
+ allowImportNames?: string[]
4650
4647
 
4651
4648
  allowTypeImports?: boolean
4652
4649
  })[]
@@ -4654,8 +4651,12 @@ type TypescriptEslintNoRestrictedImports = ((string | {
4654
4651
 
4655
4652
  importNames?: [string, ...(string)[]]
4656
4653
 
4657
- group: [string, ...(string)[]]
4654
+ allowImportNames?: [string, ...(string)[]]
4655
+
4656
+ group?: [string, ...(string)[]]
4657
+ regex?: string
4658
4658
  importNamePattern?: string
4659
+ allowImportNamePattern?: string
4659
4660
  message?: string
4660
4661
  caseSensitive?: boolean
4661
4662
 
@@ -5111,6 +5112,198 @@ type ArrowSpacing = []|[{
5111
5112
  before?: boolean
5112
5113
  after?: boolean
5113
5114
  }]
5115
+ // ----- astro/jsx-a11y/alt-text -----
5116
+ type AstroJsxA11YAltText = []|[{
5117
+ elements?: string[]
5118
+ img?: string[]
5119
+ object?: string[]
5120
+ area?: string[]
5121
+ "input[type=\"image\"]"?: string[]
5122
+ [k: string]: unknown | undefined
5123
+ }]
5124
+ // ----- astro/jsx-a11y/anchor-ambiguous-text -----
5125
+ type AstroJsxA11YAnchorAmbiguousText = []|[{
5126
+ words?: string[]
5127
+ [k: string]: unknown | undefined
5128
+ }]
5129
+ // ----- astro/jsx-a11y/anchor-has-content -----
5130
+ type AstroJsxA11YAnchorHasContent = []|[{
5131
+ components?: string[]
5132
+ [k: string]: unknown | undefined
5133
+ }]
5134
+ // ----- astro/jsx-a11y/anchor-is-valid -----
5135
+ type AstroJsxA11YAnchorIsValid = []|[{
5136
+ components?: string[]
5137
+ specialLink?: string[]
5138
+
5139
+ aspects?: [("noHref" | "invalidHref" | "preferButton"), ...(("noHref" | "invalidHref" | "preferButton"))[]]
5140
+ [k: string]: unknown | undefined
5141
+ }]
5142
+ // ----- astro/jsx-a11y/aria-activedescendant-has-tabindex -----
5143
+ type AstroJsxA11YAriaActivedescendantHasTabindex = []|[{
5144
+ [k: string]: unknown | undefined
5145
+ }]
5146
+ // ----- astro/jsx-a11y/aria-props -----
5147
+ type AstroJsxA11YAriaProps = []|[{
5148
+ [k: string]: unknown | undefined
5149
+ }]
5150
+ // ----- astro/jsx-a11y/aria-proptypes -----
5151
+ type AstroJsxA11YAriaProptypes = []|[{
5152
+ [k: string]: unknown | undefined
5153
+ }]
5154
+ // ----- astro/jsx-a11y/aria-role -----
5155
+ type AstroJsxA11YAriaRole = []|[{
5156
+ allowedInvalidRoles?: string[]
5157
+ ignoreNonDOM?: boolean
5158
+ [k: string]: unknown | undefined
5159
+ }]
5160
+ // ----- astro/jsx-a11y/aria-unsupported-elements -----
5161
+ type AstroJsxA11YAriaUnsupportedElements = []|[{
5162
+ [k: string]: unknown | undefined
5163
+ }]
5164
+ // ----- astro/jsx-a11y/autocomplete-valid -----
5165
+ type AstroJsxA11YAutocompleteValid = []|[{
5166
+ inputComponents?: string[]
5167
+ [k: string]: unknown | undefined
5168
+ }]
5169
+ // ----- astro/jsx-a11y/click-events-have-key-events -----
5170
+ type AstroJsxA11YClickEventsHaveKeyEvents = []|[{
5171
+ [k: string]: unknown | undefined
5172
+ }]
5173
+ // ----- astro/jsx-a11y/control-has-associated-label -----
5174
+ type AstroJsxA11YControlHasAssociatedLabel = []|[{
5175
+ labelAttributes?: string[]
5176
+ controlComponents?: string[]
5177
+ ignoreElements?: string[]
5178
+ ignoreRoles?: string[]
5179
+
5180
+ depth?: number
5181
+ [k: string]: unknown | undefined
5182
+ }]
5183
+ // ----- astro/jsx-a11y/heading-has-content -----
5184
+ type AstroJsxA11YHeadingHasContent = []|[{
5185
+ components?: string[]
5186
+ [k: string]: unknown | undefined
5187
+ }]
5188
+ // ----- astro/jsx-a11y/html-has-lang -----
5189
+ type AstroJsxA11YHtmlHasLang = []|[{
5190
+ [k: string]: unknown | undefined
5191
+ }]
5192
+ // ----- astro/jsx-a11y/iframe-has-title -----
5193
+ type AstroJsxA11YIframeHasTitle = []|[{
5194
+ [k: string]: unknown | undefined
5195
+ }]
5196
+ // ----- astro/jsx-a11y/img-redundant-alt -----
5197
+ type AstroJsxA11YImgRedundantAlt = []|[{
5198
+ components?: string[]
5199
+ words?: string[]
5200
+ [k: string]: unknown | undefined
5201
+ }]
5202
+ // ----- astro/jsx-a11y/interactive-supports-focus -----
5203
+ type AstroJsxA11YInteractiveSupportsFocus = []|[{
5204
+
5205
+ tabbable?: ("button" | "checkbox" | "columnheader" | "combobox" | "grid" | "gridcell" | "link" | "listbox" | "menu" | "menubar" | "menuitem" | "menuitemcheckbox" | "menuitemradio" | "option" | "progressbar" | "radio" | "radiogroup" | "row" | "rowheader" | "scrollbar" | "searchbox" | "slider" | "spinbutton" | "switch" | "tab" | "tablist" | "textbox" | "tree" | "treegrid" | "treeitem" | "doc-backlink" | "doc-biblioref" | "doc-glossref" | "doc-noteref")[]
5206
+ [k: string]: unknown | undefined
5207
+ }]
5208
+ // ----- astro/jsx-a11y/label-has-associated-control -----
5209
+ type AstroJsxA11YLabelHasAssociatedControl = []|[{
5210
+ labelComponents?: string[]
5211
+ labelAttributes?: string[]
5212
+ controlComponents?: string[]
5213
+
5214
+ assert?: ("htmlFor" | "nesting" | "both" | "either")
5215
+
5216
+ depth?: number
5217
+ [k: string]: unknown | undefined
5218
+ }]
5219
+ // ----- astro/jsx-a11y/lang -----
5220
+ type AstroJsxA11YLang = []|[{
5221
+ [k: string]: unknown | undefined
5222
+ }]
5223
+ // ----- astro/jsx-a11y/media-has-caption -----
5224
+ type AstroJsxA11YMediaHasCaption = []|[{
5225
+ audio?: string[]
5226
+ video?: string[]
5227
+ track?: string[]
5228
+ [k: string]: unknown | undefined
5229
+ }]
5230
+ // ----- astro/jsx-a11y/mouse-events-have-key-events -----
5231
+ type AstroJsxA11YMouseEventsHaveKeyEvents = []|[{
5232
+
5233
+ hoverInHandlers?: string[]
5234
+
5235
+ hoverOutHandlers?: string[]
5236
+ [k: string]: unknown | undefined
5237
+ }]
5238
+ // ----- astro/jsx-a11y/no-access-key -----
5239
+ type AstroJsxA11YNoAccessKey = []|[{
5240
+ [k: string]: unknown | undefined
5241
+ }]
5242
+ // ----- astro/jsx-a11y/no-aria-hidden-on-focusable -----
5243
+ type AstroJsxA11YNoAriaHiddenOnFocusable = []|[{
5244
+ [k: string]: unknown | undefined
5245
+ }]
5246
+ // ----- astro/jsx-a11y/no-autofocus -----
5247
+ type AstroJsxA11YNoAutofocus = []|[{
5248
+ ignoreNonDOM?: boolean
5249
+ [k: string]: unknown | undefined
5250
+ }]
5251
+ // ----- astro/jsx-a11y/no-distracting-elements -----
5252
+ type AstroJsxA11YNoDistractingElements = []|[{
5253
+
5254
+ elements?: ("marquee" | "blink")[]
5255
+ [k: string]: unknown | undefined
5256
+ }]
5257
+ // ----- astro/jsx-a11y/no-interactive-element-to-noninteractive-role -----
5258
+ type AstroJsxA11YNoInteractiveElementToNoninteractiveRole = []|[{
5259
+ [k: string]: string[] | undefined
5260
+ }]
5261
+ // ----- astro/jsx-a11y/no-noninteractive-element-interactions -----
5262
+ type AstroJsxA11YNoNoninteractiveElementInteractions = []|[{
5263
+ handlers?: string[]
5264
+ [k: string]: unknown | undefined
5265
+ }]
5266
+ // ----- astro/jsx-a11y/no-noninteractive-element-to-interactive-role -----
5267
+ type AstroJsxA11YNoNoninteractiveElementToInteractiveRole = []|[{
5268
+ [k: string]: string[] | undefined
5269
+ }]
5270
+ // ----- astro/jsx-a11y/no-noninteractive-tabindex -----
5271
+ type AstroJsxA11YNoNoninteractiveTabindex = []|[{
5272
+
5273
+ roles?: string[]
5274
+
5275
+ tags?: string[]
5276
+ [k: string]: unknown | undefined
5277
+ }]
5278
+ // ----- astro/jsx-a11y/no-redundant-roles -----
5279
+ type AstroJsxA11YNoRedundantRoles = []|[{
5280
+ [k: string]: string[] | undefined
5281
+ }]
5282
+ // ----- astro/jsx-a11y/no-static-element-interactions -----
5283
+ type AstroJsxA11YNoStaticElementInteractions = []|[{
5284
+ handlers?: string[]
5285
+ [k: string]: unknown | undefined
5286
+ }]
5287
+ // ----- astro/jsx-a11y/prefer-tag-over-role -----
5288
+ type AstroJsxA11YPreferTagOverRole = []|[{
5289
+ [k: string]: unknown | undefined
5290
+ }]
5291
+ // ----- astro/jsx-a11y/role-has-required-aria-props -----
5292
+ type AstroJsxA11YRoleHasRequiredAriaProps = []|[{
5293
+ [k: string]: unknown | undefined
5294
+ }]
5295
+ // ----- astro/jsx-a11y/role-supports-aria-props -----
5296
+ type AstroJsxA11YRoleSupportsAriaProps = []|[{
5297
+ [k: string]: unknown | undefined
5298
+ }]
5299
+ // ----- astro/jsx-a11y/scope -----
5300
+ type AstroJsxA11YScope = []|[{
5301
+ [k: string]: unknown | undefined
5302
+ }]
5303
+ // ----- astro/jsx-a11y/tabindex-no-positive -----
5304
+ type AstroJsxA11YTabindexNoPositive = []|[{
5305
+ [k: string]: unknown | undefined
5306
+ }]
5114
5307
  // ----- astro/prefer-split-class-list -----
5115
5308
  type AstroPreferSplitClassList = []|[{
5116
5309
  splitLiteral?: boolean
@@ -5143,7 +5336,7 @@ type Camelcase = []|[{
5143
5336
  ignoreGlobals?: boolean
5144
5337
  properties?: ("always" | "never")
5145
5338
 
5146
- allow?: []|[string]
5339
+ allow?: string[]
5147
5340
  }]
5148
5341
  // ----- capitalized-comments -----
5149
5342
  type CapitalizedComments = []|[("always" | "never")]|[("always" | "never"), ({
@@ -5192,6 +5385,7 @@ type CommaStyle = []|[("first" | "last")]|[("first" | "last"), {
5192
5385
  type Complexity = []|[(number | {
5193
5386
  maximum?: number
5194
5387
  max?: number
5388
+ variant?: ("classic" | "modified")
5195
5389
  })]
5196
5390
  // ----- computed-property-spacing -----
5197
5391
  type ComputedPropertySpacing = []|[("always" | "never")]|[("always" | "never"), {
@@ -5242,6 +5436,9 @@ type _FuncNamesValue = ("always" | "as-needed" | "never")
5242
5436
  // ----- func-style -----
5243
5437
  type FuncStyle = []|[("declaration" | "expression")]|[("declaration" | "expression"), {
5244
5438
  allowArrowFunctions?: boolean
5439
+ overrides?: {
5440
+ namedExports?: ("declaration" | "expression" | "ignore")
5441
+ }
5245
5442
  }]
5246
5443
  // ----- function-call-argument-newline -----
5247
5444
  type FunctionCallArgumentNewline = []|[("always" | "never" | "consistent")]
@@ -5681,6 +5878,221 @@ type JestValidTitle = []|[{
5681
5878
  [k: string]: (string | [string]|[string, string]) | undefined
5682
5879
  })
5683
5880
  }]
5881
+ // ----- jsx-a11y/accessible-emoji -----
5882
+ type JsxA11YAccessibleEmoji = []|[{
5883
+ [k: string]: unknown | undefined
5884
+ }]
5885
+ // ----- jsx-a11y/alt-text -----
5886
+ type JsxA11YAltText = []|[{
5887
+ elements?: string[]
5888
+ img?: string[]
5889
+ object?: string[]
5890
+ area?: string[]
5891
+ "input[type=\"image\"]"?: string[]
5892
+ [k: string]: unknown | undefined
5893
+ }]
5894
+ // ----- jsx-a11y/anchor-ambiguous-text -----
5895
+ type JsxA11YAnchorAmbiguousText = []|[{
5896
+ words?: string[]
5897
+ [k: string]: unknown | undefined
5898
+ }]
5899
+ // ----- jsx-a11y/anchor-has-content -----
5900
+ type JsxA11YAnchorHasContent = []|[{
5901
+ components?: string[]
5902
+ [k: string]: unknown | undefined
5903
+ }]
5904
+ // ----- jsx-a11y/anchor-is-valid -----
5905
+ type JsxA11YAnchorIsValid = []|[{
5906
+ components?: string[]
5907
+ specialLink?: string[]
5908
+
5909
+ aspects?: [("noHref" | "invalidHref" | "preferButton"), ...(("noHref" | "invalidHref" | "preferButton"))[]]
5910
+ [k: string]: unknown | undefined
5911
+ }]
5912
+ // ----- jsx-a11y/aria-activedescendant-has-tabindex -----
5913
+ type JsxA11YAriaActivedescendantHasTabindex = []|[{
5914
+ [k: string]: unknown | undefined
5915
+ }]
5916
+ // ----- jsx-a11y/aria-props -----
5917
+ type JsxA11YAriaProps = []|[{
5918
+ [k: string]: unknown | undefined
5919
+ }]
5920
+ // ----- jsx-a11y/aria-proptypes -----
5921
+ type JsxA11YAriaProptypes = []|[{
5922
+ [k: string]: unknown | undefined
5923
+ }]
5924
+ // ----- jsx-a11y/aria-role -----
5925
+ type JsxA11YAriaRole = []|[{
5926
+ allowedInvalidRoles?: string[]
5927
+ ignoreNonDOM?: boolean
5928
+ [k: string]: unknown | undefined
5929
+ }]
5930
+ // ----- jsx-a11y/aria-unsupported-elements -----
5931
+ type JsxA11YAriaUnsupportedElements = []|[{
5932
+ [k: string]: unknown | undefined
5933
+ }]
5934
+ // ----- jsx-a11y/autocomplete-valid -----
5935
+ type JsxA11YAutocompleteValid = []|[{
5936
+ inputComponents?: string[]
5937
+ [k: string]: unknown | undefined
5938
+ }]
5939
+ // ----- jsx-a11y/click-events-have-key-events -----
5940
+ type JsxA11YClickEventsHaveKeyEvents = []|[{
5941
+ [k: string]: unknown | undefined
5942
+ }]
5943
+ // ----- jsx-a11y/control-has-associated-label -----
5944
+ type JsxA11YControlHasAssociatedLabel = []|[{
5945
+ labelAttributes?: string[]
5946
+ controlComponents?: string[]
5947
+ ignoreElements?: string[]
5948
+ ignoreRoles?: string[]
5949
+
5950
+ depth?: number
5951
+ [k: string]: unknown | undefined
5952
+ }]
5953
+ // ----- jsx-a11y/heading-has-content -----
5954
+ type JsxA11YHeadingHasContent = []|[{
5955
+ components?: string[]
5956
+ [k: string]: unknown | undefined
5957
+ }]
5958
+ // ----- jsx-a11y/html-has-lang -----
5959
+ type JsxA11YHtmlHasLang = []|[{
5960
+ [k: string]: unknown | undefined
5961
+ }]
5962
+ // ----- jsx-a11y/iframe-has-title -----
5963
+ type JsxA11YIframeHasTitle = []|[{
5964
+ [k: string]: unknown | undefined
5965
+ }]
5966
+ // ----- jsx-a11y/img-redundant-alt -----
5967
+ type JsxA11YImgRedundantAlt = []|[{
5968
+ components?: string[]
5969
+ words?: string[]
5970
+ [k: string]: unknown | undefined
5971
+ }]
5972
+ // ----- jsx-a11y/interactive-supports-focus -----
5973
+ type JsxA11YInteractiveSupportsFocus = []|[{
5974
+
5975
+ tabbable?: ("button" | "checkbox" | "columnheader" | "combobox" | "grid" | "gridcell" | "link" | "listbox" | "menu" | "menubar" | "menuitem" | "menuitemcheckbox" | "menuitemradio" | "option" | "progressbar" | "radio" | "radiogroup" | "row" | "rowheader" | "scrollbar" | "searchbox" | "slider" | "spinbutton" | "switch" | "tab" | "tablist" | "textbox" | "tree" | "treegrid" | "treeitem" | "doc-backlink" | "doc-biblioref" | "doc-glossref" | "doc-noteref")[]
5976
+ [k: string]: unknown | undefined
5977
+ }]
5978
+ // ----- jsx-a11y/label-has-associated-control -----
5979
+ type JsxA11YLabelHasAssociatedControl = []|[{
5980
+ labelComponents?: string[]
5981
+ labelAttributes?: string[]
5982
+ controlComponents?: string[]
5983
+
5984
+ assert?: ("htmlFor" | "nesting" | "both" | "either")
5985
+
5986
+ depth?: number
5987
+ [k: string]: unknown | undefined
5988
+ }]
5989
+ // ----- jsx-a11y/label-has-for -----
5990
+ type JsxA11YLabelHasFor = []|[{
5991
+ components?: string[]
5992
+ required?: (("nesting" | "id") | {
5993
+
5994
+ some: ("nesting" | "id")[]
5995
+ [k: string]: unknown | undefined
5996
+ } | {
5997
+
5998
+ every: ("nesting" | "id")[]
5999
+ [k: string]: unknown | undefined
6000
+ })
6001
+ allowChildren?: boolean
6002
+ [k: string]: unknown | undefined
6003
+ }]
6004
+ // ----- jsx-a11y/lang -----
6005
+ type JsxA11YLang = []|[{
6006
+ [k: string]: unknown | undefined
6007
+ }]
6008
+ // ----- jsx-a11y/media-has-caption -----
6009
+ type JsxA11YMediaHasCaption = []|[{
6010
+ audio?: string[]
6011
+ video?: string[]
6012
+ track?: string[]
6013
+ [k: string]: unknown | undefined
6014
+ }]
6015
+ // ----- jsx-a11y/mouse-events-have-key-events -----
6016
+ type JsxA11YMouseEventsHaveKeyEvents = []|[{
6017
+
6018
+ hoverInHandlers?: string[]
6019
+
6020
+ hoverOutHandlers?: string[]
6021
+ [k: string]: unknown | undefined
6022
+ }]
6023
+ // ----- jsx-a11y/no-access-key -----
6024
+ type JsxA11YNoAccessKey = []|[{
6025
+ [k: string]: unknown | undefined
6026
+ }]
6027
+ // ----- jsx-a11y/no-aria-hidden-on-focusable -----
6028
+ type JsxA11YNoAriaHiddenOnFocusable = []|[{
6029
+ [k: string]: unknown | undefined
6030
+ }]
6031
+ // ----- jsx-a11y/no-autofocus -----
6032
+ type JsxA11YNoAutofocus = []|[{
6033
+ ignoreNonDOM?: boolean
6034
+ [k: string]: unknown | undefined
6035
+ }]
6036
+ // ----- jsx-a11y/no-distracting-elements -----
6037
+ type JsxA11YNoDistractingElements = []|[{
6038
+
6039
+ elements?: ("marquee" | "blink")[]
6040
+ [k: string]: unknown | undefined
6041
+ }]
6042
+ // ----- jsx-a11y/no-interactive-element-to-noninteractive-role -----
6043
+ type JsxA11YNoInteractiveElementToNoninteractiveRole = []|[{
6044
+ [k: string]: string[] | undefined
6045
+ }]
6046
+ // ----- jsx-a11y/no-noninteractive-element-interactions -----
6047
+ type JsxA11YNoNoninteractiveElementInteractions = []|[{
6048
+ handlers?: string[]
6049
+ [k: string]: unknown | undefined
6050
+ }]
6051
+ // ----- jsx-a11y/no-noninteractive-element-to-interactive-role -----
6052
+ type JsxA11YNoNoninteractiveElementToInteractiveRole = []|[{
6053
+ [k: string]: string[] | undefined
6054
+ }]
6055
+ // ----- jsx-a11y/no-noninteractive-tabindex -----
6056
+ type JsxA11YNoNoninteractiveTabindex = []|[{
6057
+
6058
+ roles?: string[]
6059
+
6060
+ tags?: string[]
6061
+ [k: string]: unknown | undefined
6062
+ }]
6063
+ // ----- jsx-a11y/no-onchange -----
6064
+ type JsxA11YNoOnchange = []|[{
6065
+ [k: string]: unknown | undefined
6066
+ }]
6067
+ // ----- jsx-a11y/no-redundant-roles -----
6068
+ type JsxA11YNoRedundantRoles = []|[{
6069
+ [k: string]: string[] | undefined
6070
+ }]
6071
+ // ----- jsx-a11y/no-static-element-interactions -----
6072
+ type JsxA11YNoStaticElementInteractions = []|[{
6073
+ handlers?: string[]
6074
+ [k: string]: unknown | undefined
6075
+ }]
6076
+ // ----- jsx-a11y/prefer-tag-over-role -----
6077
+ type JsxA11YPreferTagOverRole = []|[{
6078
+ [k: string]: unknown | undefined
6079
+ }]
6080
+ // ----- jsx-a11y/role-has-required-aria-props -----
6081
+ type JsxA11YRoleHasRequiredAriaProps = []|[{
6082
+ [k: string]: unknown | undefined
6083
+ }]
6084
+ // ----- jsx-a11y/role-supports-aria-props -----
6085
+ type JsxA11YRoleSupportsAriaProps = []|[{
6086
+ [k: string]: unknown | undefined
6087
+ }]
6088
+ // ----- jsx-a11y/scope -----
6089
+ type JsxA11YScope = []|[{
6090
+ [k: string]: unknown | undefined
6091
+ }]
6092
+ // ----- jsx-a11y/tabindex-no-positive -----
6093
+ type JsxA11YTabindexNoPositive = []|[{
6094
+ [k: string]: unknown | undefined
6095
+ }]
5684
6096
  // ----- jsx-quotes -----
5685
6097
  type JsxQuotes = []|[("prefer-single" | "prefer-double")]
5686
6098
  // ----- key-spacing -----
@@ -6228,12 +6640,8 @@ type NoConsole = []|[{
6228
6640
  }]
6229
6641
  // ----- no-constant-condition -----
6230
6642
  type NoConstantCondition = []|[{
6231
- checkLoops?: boolean
6643
+ checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false)
6232
6644
  }]
6233
- // ----- no-constructor-return -----
6234
- interface NoConstructorReturn {
6235
- [k: string]: unknown | undefined
6236
- }
6237
6645
  // ----- no-duplicate-imports -----
6238
6646
  type NoDuplicateImports = []|[{
6239
6647
  includeExports?: boolean
@@ -6263,9 +6671,11 @@ type NoExtendNative = []|[{
6263
6671
  exceptions?: string[]
6264
6672
  }]
6265
6673
  // ----- no-extra-boolean-cast -----
6266
- type NoExtraBooleanCast = []|[{
6674
+ type NoExtraBooleanCast = []|[({
6675
+ enforceForInnerExpressions?: boolean
6676
+ } | {
6267
6677
  enforceForLogicalOperands?: boolean
6268
- }]
6678
+ })]
6269
6679
  // ----- no-extra-parens -----
6270
6680
  type NoExtraParens = ([]|["functions"] | []|["all"]|["all", {
6271
6681
  conditionalAssign?: boolean
@@ -6283,6 +6693,7 @@ type NoExtraParens = ([]|["functions"] | []|["all"]|["all", {
6283
6693
  type NoFallthrough = []|[{
6284
6694
  commentPattern?: string
6285
6695
  allowEmptyCase?: boolean
6696
+ reportUnusedFallthroughComment?: boolean
6286
6697
  }]
6287
6698
  // ----- no-global-assign -----
6288
6699
  type NoGlobalAssign = []|[{
@@ -6294,7 +6705,7 @@ type NoImplicitCoercion = []|[{
6294
6705
  number?: boolean
6295
6706
  string?: boolean
6296
6707
  disallowTemplateShorthand?: boolean
6297
- allow?: ("~" | "!!" | "+" | "*")[]
6708
+ allow?: ("~" | "!!" | "+" | "- -" | "-" | "*")[]
6298
6709
  }]
6299
6710
  // ----- no-implicit-globals -----
6300
6711
  type NoImplicitGlobals = []|[{
@@ -6305,7 +6716,9 @@ type NoInlineComments = []|[{
6305
6716
  ignorePattern?: string
6306
6717
  }]
6307
6718
  // ----- no-inner-declarations -----
6308
- type NoInnerDeclarations = []|[("functions" | "both")]
6719
+ type NoInnerDeclarations = []|[("functions" | "both")]|[("functions" | "both"), {
6720
+ blockScopedFunctions?: ("allow" | "disallow")
6721
+ }]
6309
6722
  // ----- no-invalid-regexp -----
6310
6723
  type NoInvalidRegexp = []|[{
6311
6724
  allowConstructorFlags?: string[]
@@ -6336,6 +6749,10 @@ type NoMagicNumbers = []|[{
6336
6749
  ignoreDefaultValues?: boolean
6337
6750
  ignoreClassFieldInitialValues?: boolean
6338
6751
  }]
6752
+ // ----- no-misleading-character-class -----
6753
+ type NoMisleadingCharacterClass = []|[{
6754
+ allowEscape?: boolean
6755
+ }]
6339
6756
  // ----- no-mixed-operators -----
6340
6757
  type NoMixedOperators = []|[{
6341
6758
  groups?: [("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ...(("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"))[]][]
@@ -6392,8 +6809,10 @@ type NoRedeclare = []|[{
6392
6809
  // ----- no-restricted-exports -----
6393
6810
  type NoRestrictedExports = []|[({
6394
6811
  restrictedNamedExports?: string[]
6812
+ restrictedNamedExportsPattern?: string
6395
6813
  } | {
6396
6814
  restrictedNamedExports?: string[]
6815
+ restrictedNamedExportsPattern?: string
6397
6816
  restrictDefaultExports?: {
6398
6817
  direct?: boolean
6399
6818
  named?: boolean
@@ -6412,21 +6831,19 @@ type NoRestrictedImports = ((string | {
6412
6831
  name: string
6413
6832
  message?: string
6414
6833
  importNames?: string[]
6834
+ allowImportNames?: string[]
6415
6835
  })[] | []|[{
6416
6836
  paths?: (string | {
6417
6837
  name: string
6418
6838
  message?: string
6419
6839
  importNames?: string[]
6840
+ allowImportNames?: string[]
6420
6841
  })[]
6421
- patterns?: (string[] | {
6422
-
6423
- importNames?: [string, ...(string)[]]
6424
-
6425
- group: [string, ...(string)[]]
6426
- importNamePattern?: string
6427
- message?: string
6428
- caseSensitive?: boolean
6429
- }[])
6842
+ patterns?: (string[] | ({
6843
+ [k: string]: unknown | undefined
6844
+ } | {
6845
+ [k: string]: unknown | undefined
6846
+ })[])
6430
6847
  }])
6431
6848
  // ----- no-restricted-modules -----
6432
6849
  type NoRestrictedModules = ((string | {
@@ -6533,6 +6950,8 @@ type NoUnusedVars = []|[(("all" | "local") | {
6533
6950
  caughtErrors?: ("all" | "none")
6534
6951
  caughtErrorsIgnorePattern?: string
6535
6952
  destructuredArrayIgnorePattern?: string
6953
+ ignoreClassWithStaticInitBlock?: boolean
6954
+ reportUsedIgnorePattern?: boolean
6536
6955
  })]
6537
6956
  // ----- no-use-before-define -----
6538
6957
  type NoUseBeforeDefine = []|[("nofunc" | {
@@ -7200,15 +7619,9 @@ type ReactStylePropObject = []|[{
7200
7619
  type RequireAtomicUpdates = []|[{
7201
7620
  allowProperties?: boolean
7202
7621
  }]
7203
- // ----- require-jsdoc -----
7204
- type RequireJsdoc = []|[{
7205
- require?: {
7206
- ClassDeclaration?: boolean
7207
- MethodDefinition?: boolean
7208
- FunctionDeclaration?: boolean
7209
- ArrowFunctionExpression?: boolean
7210
- FunctionExpression?: boolean
7211
- }
7622
+ // ----- require-unicode-regexp -----
7623
+ type RequireUnicodeRegexp = []|[{
7624
+ requireFlag?: ("u" | "v")
7212
7625
  }]
7213
7626
  // ----- rest-spread-spacing -----
7214
7627
  type RestSpreadSpacing = []|[("always" | "never")]
@@ -7376,21 +7789,6 @@ type UseIsnan = []|[{
7376
7789
  enforceForSwitchCase?: boolean
7377
7790
  enforceForIndexOf?: boolean
7378
7791
  }]
7379
- // ----- valid-jsdoc -----
7380
- type ValidJsdoc = []|[{
7381
- prefer?: {
7382
- [k: string]: string | undefined
7383
- }
7384
- preferType?: {
7385
- [k: string]: string | undefined
7386
- }
7387
- requireReturn?: boolean
7388
- requireParamDescription?: boolean
7389
- requireReturnDescription?: boolean
7390
- matchDescription?: string
7391
- requireReturnType?: boolean
7392
- requireParamType?: boolean
7393
- }]
7394
7792
  // ----- valid-typeof -----
7395
7793
  type ValidTypeof = []|[{
7396
7794
  requireStringLiterals?: boolean
@@ -7440,49 +7838,57 @@ interface ReactOptions {
7440
7838
  */
7441
7839
  utilities?: ReactUtilities[];
7442
7840
  }
7443
- type FlatConfigItem = Omit<Linter.FlatConfig, "plugins"> & {
7444
- name?: string;
7841
+ type TypedConfigItem = Omit<Linter.Config<Linter.RulesRecord & Rules>, "plugins"> & {
7842
+ /**
7843
+ * An object containing a name-value mapping of plugin names to plugin objects. When `files` is specified, these plugins are only available to the matching files.
7844
+ *
7845
+ * @see [Using plugins in your configuration](https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new#using-plugins-in-your-configuration)
7846
+ */
7445
7847
  plugins?: Record<string, unknown>;
7446
- rules?: Linter.RulesRecord & Rules;
7447
7848
  };
7448
7849
  interface Options {
7449
7850
  /**
7450
- * Are TypeScript rules are enabled?
7851
+ * Are TypeScript rules enabled?
7451
7852
  * @default false
7452
7853
  */
7453
7854
  typescript?: boolean | TypescriptOptions;
7454
7855
  /**
7455
- * Are React rules are enabled?
7856
+ * Are React rules enabled?
7456
7857
  * @default false
7457
7858
  */
7458
7859
  react?: boolean | ReactOptions;
7459
7860
  /**
7460
- * Are Jest rules are enabled?
7861
+ * Are Jest rules enabled?
7461
7862
  * @default false
7462
7863
  */
7463
7864
  /**
7464
- * Are testing rules are enabled?
7865
+ * Are testing rules enabled?
7465
7866
  * @default false
7466
7867
  */
7467
7868
  testing?: boolean | TestingOptions;
7468
7869
  /**
7469
- * Are astro rules are enabled?
7870
+ * Are astro rules enabled?
7470
7871
  * @default false
7471
7872
  */
7472
7873
  astro?: boolean;
7473
7874
  /**
7474
- * Additional flat configs to either extend or overrides configurations
7875
+ * Additional configs to either extend or overrides configurations
7475
7876
  * @default []
7476
7877
  */
7477
- overrides?: FlatConfigItem[];
7878
+ configs?: TypedConfigItem[] | Linter.Config[];
7478
7879
  /**
7479
7880
  * Is auto detection enabled?
7480
- * @default false
7881
+ * @default true
7481
7882
  */
7482
7883
  autoDetect?: boolean;
7884
+ /**
7885
+ * Glob patterns for files that should be ignored
7886
+ * @see [Ignoring files](https://eslint.org/docs/latest/use/configure/ignore)
7887
+ */
7888
+ ignores?: string[];
7483
7889
  }
7484
7890
 
7485
- declare const jimmyDotCodes: ({ typescript, react, testing, astro, overrides, autoDetect, }?: Options) => (FlatConfigItem | _typescript_eslint_utils_ts_eslint.FlatConfig.Config | {
7891
+ declare const jimmyDotCodes: ({ typescript, react, testing, astro, autoDetect, configs, ignores, }?: Options, ...moreConfigs: TypedConfigItem[] | Linter.Config[]) => (TypedConfigItem | Linter.Config<Linter.RulesRecord> | _typescript_eslint_utils_ts_eslint.FlatConfig.Config | {
7486
7892
  settings: {
7487
7893
  "import-x/core-modules": string[];
7488
7894
  };
@@ -9195,7 +9601,7 @@ declare const jimmyDotCodes: ({ typescript, react, testing, astro, overrides, au
9195
9601
  "jest-dom": typeof eslint_plugin_jest_dom;
9196
9602
  };
9197
9603
  rules: {
9198
- [x: string]: eslint.Linter.RuleEntry<any[]>;
9604
+ [x: string]: Linter.RuleEntry<any[]>;
9199
9605
  "testing-library/prefer-screen-queries"?: undefined;
9200
9606
  };
9201
9607
  } | {
@@ -9269,9 +9675,6 @@ declare const jimmyDotCodes: ({ typescript, react, testing, astro, overrides, au
9269
9675
  "prefer-arrow-callback": "error";
9270
9676
  "no-console": "warn";
9271
9677
  };
9272
- } | {
9273
- rules: eslint.Linter.RulesRecord;
9274
- name: string;
9275
9678
  })[];
9276
9679
 
9277
- export { jimmyDotCodes as default };
9680
+ export { type Options, type ReactOptions, type Rules, type TestingOptions, type TypedConfigItem, type TypescriptOptions, jimmyDotCodes as default };