@jimmy.codes/eslint-config 2.0.0 → 3.1.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.cts CHANGED
@@ -1,14 +1,13 @@
1
1
  import * as eslint_plugin_jest from 'eslint-plugin-jest';
2
- import * as eslint_plugin_jest_dom from 'eslint-plugin-jest-dom';
3
2
  import * as eslint_plugin_testing_library from 'eslint-plugin-testing-library';
3
+ import * as eslint_plugin_jest_dom from 'eslint-plugin-jest-dom';
4
4
  import * as eslint_plugin_react_refresh from 'eslint-plugin-react-refresh';
5
- import * as eslint_plugin_jsx_a11y from 'eslint-plugin-jsx-a11y';
6
5
  import * as eslint_plugin_react_hooks from 'eslint-plugin-react-hooks';
7
6
  import * as eslint_plugin_react from 'eslint-plugin-react';
7
+ import * as eslint_plugin_jsx_a11y from 'eslint-plugin-jsx-a11y';
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
@@ -3026,6 +3033,109 @@ interface RuleOptions {
3026
3033
  * @deprecated
3027
3034
  */
3028
3035
  'padding-line-between-statements'?: Linter.RuleEntry<PaddingLineBetweenStatements>
3036
+ /**
3037
+ * Enforce sorted arrays before include method.
3038
+ * @see https://perfectionist.dev/rules/sort-array-includes
3039
+ */
3040
+ 'perfectionist/sort-array-includes'?: Linter.RuleEntry<PerfectionistSortArrayIncludes>
3041
+ /**
3042
+ * Enforce sorted Astro attributes.
3043
+ * @see https://perfectionist.dev/rules/sort-astro-attributes
3044
+ * @deprecated
3045
+ */
3046
+ 'perfectionist/sort-astro-attributes'?: Linter.RuleEntry<PerfectionistSortAstroAttributes>
3047
+ /**
3048
+ * Enforce sorted classes.
3049
+ * @see https://perfectionist.dev/rules/sort-classes
3050
+ */
3051
+ 'perfectionist/sort-classes'?: Linter.RuleEntry<PerfectionistSortClasses>
3052
+ /**
3053
+ * Enforce sorted TypeScript enums.
3054
+ * @see https://perfectionist.dev/rules/sort-enums
3055
+ */
3056
+ 'perfectionist/sort-enums'?: Linter.RuleEntry<PerfectionistSortEnums>
3057
+ /**
3058
+ * Enforce sorted exports.
3059
+ * @see https://perfectionist.dev/rules/sort-exports
3060
+ */
3061
+ 'perfectionist/sort-exports'?: Linter.RuleEntry<PerfectionistSortExports>
3062
+ /**
3063
+ * Enforce sorted imports.
3064
+ * @see https://perfectionist.dev/rules/sort-imports
3065
+ */
3066
+ 'perfectionist/sort-imports'?: Linter.RuleEntry<PerfectionistSortImports>
3067
+ /**
3068
+ * Enforce sorted interface properties.
3069
+ * @see https://perfectionist.dev/rules/sort-interfaces
3070
+ */
3071
+ 'perfectionist/sort-interfaces'?: Linter.RuleEntry<PerfectionistSortInterfaces>
3072
+ /**
3073
+ * Enforce sorted intersection types.
3074
+ * @see https://perfectionist.dev/rules/sort-intersection-types
3075
+ */
3076
+ 'perfectionist/sort-intersection-types'?: Linter.RuleEntry<PerfectionistSortIntersectionTypes>
3077
+ /**
3078
+ * Enforce sorted JSX props.
3079
+ * @see https://perfectionist.dev/rules/sort-jsx-props
3080
+ */
3081
+ 'perfectionist/sort-jsx-props'?: Linter.RuleEntry<PerfectionistSortJsxProps>
3082
+ /**
3083
+ * Enforce sorted Map elements.
3084
+ * @see https://perfectionist.dev/rules/sort-maps
3085
+ */
3086
+ 'perfectionist/sort-maps'?: Linter.RuleEntry<PerfectionistSortMaps>
3087
+ /**
3088
+ * Enforce sorted named exports.
3089
+ * @see https://perfectionist.dev/rules/sort-named-exports
3090
+ */
3091
+ 'perfectionist/sort-named-exports'?: Linter.RuleEntry<PerfectionistSortNamedExports>
3092
+ /**
3093
+ * Enforce sorted named imports.
3094
+ * @see https://perfectionist.dev/rules/sort-named-imports
3095
+ */
3096
+ 'perfectionist/sort-named-imports'?: Linter.RuleEntry<PerfectionistSortNamedImports>
3097
+ /**
3098
+ * Enforce sorted object types.
3099
+ * @see https://perfectionist.dev/rules/sort-object-types
3100
+ */
3101
+ 'perfectionist/sort-object-types'?: Linter.RuleEntry<PerfectionistSortObjectTypes>
3102
+ /**
3103
+ * Enforce sorted objects.
3104
+ * @see https://perfectionist.dev/rules/sort-objects
3105
+ */
3106
+ 'perfectionist/sort-objects'?: Linter.RuleEntry<PerfectionistSortObjects>
3107
+ /**
3108
+ * Enforce sorted sets.
3109
+ * @see https://perfectionist.dev/rules/sort-sets
3110
+ */
3111
+ 'perfectionist/sort-sets'?: Linter.RuleEntry<PerfectionistSortSets>
3112
+ /**
3113
+ * Enforce sorted Svelte attributes.
3114
+ * @see https://perfectionist.dev/rules/sort-svelte-attributes
3115
+ * @deprecated
3116
+ */
3117
+ 'perfectionist/sort-svelte-attributes'?: Linter.RuleEntry<PerfectionistSortSvelteAttributes>
3118
+ /**
3119
+ * Enforce sorted switch cases.
3120
+ * @see https://perfectionist.dev/rules/sort-switch-case
3121
+ */
3122
+ 'perfectionist/sort-switch-case'?: Linter.RuleEntry<PerfectionistSortSwitchCase>
3123
+ /**
3124
+ * Enforce sorted union types.
3125
+ * @see https://perfectionist.dev/rules/sort-union-types
3126
+ */
3127
+ 'perfectionist/sort-union-types'?: Linter.RuleEntry<PerfectionistSortUnionTypes>
3128
+ /**
3129
+ * Enforce sorted variable declarations.
3130
+ * @see https://perfectionist.dev/rules/sort-variable-declarations
3131
+ */
3132
+ 'perfectionist/sort-variable-declarations'?: Linter.RuleEntry<PerfectionistSortVariableDeclarations>
3133
+ /**
3134
+ * Enforce sorted Vue attributes.
3135
+ * @see https://perfectionist.dev/rules/sort-vue-attributes
3136
+ * @deprecated
3137
+ */
3138
+ 'perfectionist/sort-vue-attributes'?: Linter.RuleEntry<PerfectionistSortVueAttributes>
3029
3139
  /**
3030
3140
  * Require using arrow functions for callbacks
3031
3141
  * @see https://eslint.org/docs/latest/rules/prefer-arrow-callback
@@ -3652,17 +3762,11 @@ interface RuleOptions {
3652
3762
  * @see https://eslint.org/docs/latest/rules/require-await
3653
3763
  */
3654
3764
  '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
3765
  /**
3662
3766
  * Enforce the use of `u` or `v` flag on RegExp
3663
3767
  * @see https://eslint.org/docs/latest/rules/require-unicode-regexp
3664
3768
  */
3665
- 'require-unicode-regexp'?: Linter.RuleEntry<[]>
3769
+ 'require-unicode-regexp'?: Linter.RuleEntry<RequireUnicodeRegexp>
3666
3770
  /**
3667
3771
  * Require generator functions to contain `yield`
3668
3772
  * @see https://eslint.org/docs/latest/rules/require-yield
@@ -3692,16 +3796,6 @@ interface RuleOptions {
3692
3796
  * @deprecated
3693
3797
  */
3694
3798
  'semi-style'?: Linter.RuleEntry<SemiStyle>
3695
- /**
3696
- * Automatically sort exports.
3697
- * @see https://github.com/lydell/eslint-plugin-simple-import-sort#sort-order
3698
- */
3699
- 'simple-import-sort/exports'?: Linter.RuleEntry<[]>
3700
- /**
3701
- * Automatically sort imports.
3702
- * @see https://github.com/lydell/eslint-plugin-simple-import-sort#sort-order
3703
- */
3704
- 'simple-import-sort/imports'?: Linter.RuleEntry<SimpleImportSortImports>
3705
3799
  /**
3706
3800
  * Enforce sorted import declarations within modules
3707
3801
  * @see https://eslint.org/docs/latest/rules/sort-imports
@@ -3926,12 +4020,6 @@ interface RuleOptions {
3926
4020
  * @see https://eslint.org/docs/latest/rules/use-isnan
3927
4021
  */
3928
4022
  '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
4023
  /**
3936
4024
  * Enforce comparing `typeof` expressions against valid strings
3937
4025
  * @see https://eslint.org/docs/latest/rules/valid-typeof
@@ -4640,6 +4728,7 @@ type TypescriptEslintNoRestrictedImports = ((string | {
4640
4728
  name: string
4641
4729
  message?: string
4642
4730
  importNames?: string[]
4731
+ allowImportNames?: string[]
4643
4732
 
4644
4733
  allowTypeImports?: boolean
4645
4734
  })[] | []|[{
@@ -4647,6 +4736,7 @@ type TypescriptEslintNoRestrictedImports = ((string | {
4647
4736
  name: string
4648
4737
  message?: string
4649
4738
  importNames?: string[]
4739
+ allowImportNames?: string[]
4650
4740
 
4651
4741
  allowTypeImports?: boolean
4652
4742
  })[]
@@ -4654,8 +4744,12 @@ type TypescriptEslintNoRestrictedImports = ((string | {
4654
4744
 
4655
4745
  importNames?: [string, ...(string)[]]
4656
4746
 
4657
- group: [string, ...(string)[]]
4747
+ allowImportNames?: [string, ...(string)[]]
4748
+
4749
+ group?: [string, ...(string)[]]
4750
+ regex?: string
4658
4751
  importNamePattern?: string
4752
+ allowImportNamePattern?: string
4659
4753
  message?: string
4660
4754
  caseSensitive?: boolean
4661
4755
 
@@ -5111,6 +5205,198 @@ type ArrowSpacing = []|[{
5111
5205
  before?: boolean
5112
5206
  after?: boolean
5113
5207
  }]
5208
+ // ----- astro/jsx-a11y/alt-text -----
5209
+ type AstroJsxA11YAltText = []|[{
5210
+ elements?: string[]
5211
+ img?: string[]
5212
+ object?: string[]
5213
+ area?: string[]
5214
+ "input[type=\"image\"]"?: string[]
5215
+ [k: string]: unknown | undefined
5216
+ }]
5217
+ // ----- astro/jsx-a11y/anchor-ambiguous-text -----
5218
+ type AstroJsxA11YAnchorAmbiguousText = []|[{
5219
+ words?: string[]
5220
+ [k: string]: unknown | undefined
5221
+ }]
5222
+ // ----- astro/jsx-a11y/anchor-has-content -----
5223
+ type AstroJsxA11YAnchorHasContent = []|[{
5224
+ components?: string[]
5225
+ [k: string]: unknown | undefined
5226
+ }]
5227
+ // ----- astro/jsx-a11y/anchor-is-valid -----
5228
+ type AstroJsxA11YAnchorIsValid = []|[{
5229
+ components?: string[]
5230
+ specialLink?: string[]
5231
+
5232
+ aspects?: [("noHref" | "invalidHref" | "preferButton"), ...(("noHref" | "invalidHref" | "preferButton"))[]]
5233
+ [k: string]: unknown | undefined
5234
+ }]
5235
+ // ----- astro/jsx-a11y/aria-activedescendant-has-tabindex -----
5236
+ type AstroJsxA11YAriaActivedescendantHasTabindex = []|[{
5237
+ [k: string]: unknown | undefined
5238
+ }]
5239
+ // ----- astro/jsx-a11y/aria-props -----
5240
+ type AstroJsxA11YAriaProps = []|[{
5241
+ [k: string]: unknown | undefined
5242
+ }]
5243
+ // ----- astro/jsx-a11y/aria-proptypes -----
5244
+ type AstroJsxA11YAriaProptypes = []|[{
5245
+ [k: string]: unknown | undefined
5246
+ }]
5247
+ // ----- astro/jsx-a11y/aria-role -----
5248
+ type AstroJsxA11YAriaRole = []|[{
5249
+ allowedInvalidRoles?: string[]
5250
+ ignoreNonDOM?: boolean
5251
+ [k: string]: unknown | undefined
5252
+ }]
5253
+ // ----- astro/jsx-a11y/aria-unsupported-elements -----
5254
+ type AstroJsxA11YAriaUnsupportedElements = []|[{
5255
+ [k: string]: unknown | undefined
5256
+ }]
5257
+ // ----- astro/jsx-a11y/autocomplete-valid -----
5258
+ type AstroJsxA11YAutocompleteValid = []|[{
5259
+ inputComponents?: string[]
5260
+ [k: string]: unknown | undefined
5261
+ }]
5262
+ // ----- astro/jsx-a11y/click-events-have-key-events -----
5263
+ type AstroJsxA11YClickEventsHaveKeyEvents = []|[{
5264
+ [k: string]: unknown | undefined
5265
+ }]
5266
+ // ----- astro/jsx-a11y/control-has-associated-label -----
5267
+ type AstroJsxA11YControlHasAssociatedLabel = []|[{
5268
+ labelAttributes?: string[]
5269
+ controlComponents?: string[]
5270
+ ignoreElements?: string[]
5271
+ ignoreRoles?: string[]
5272
+
5273
+ depth?: number
5274
+ [k: string]: unknown | undefined
5275
+ }]
5276
+ // ----- astro/jsx-a11y/heading-has-content -----
5277
+ type AstroJsxA11YHeadingHasContent = []|[{
5278
+ components?: string[]
5279
+ [k: string]: unknown | undefined
5280
+ }]
5281
+ // ----- astro/jsx-a11y/html-has-lang -----
5282
+ type AstroJsxA11YHtmlHasLang = []|[{
5283
+ [k: string]: unknown | undefined
5284
+ }]
5285
+ // ----- astro/jsx-a11y/iframe-has-title -----
5286
+ type AstroJsxA11YIframeHasTitle = []|[{
5287
+ [k: string]: unknown | undefined
5288
+ }]
5289
+ // ----- astro/jsx-a11y/img-redundant-alt -----
5290
+ type AstroJsxA11YImgRedundantAlt = []|[{
5291
+ components?: string[]
5292
+ words?: string[]
5293
+ [k: string]: unknown | undefined
5294
+ }]
5295
+ // ----- astro/jsx-a11y/interactive-supports-focus -----
5296
+ type AstroJsxA11YInteractiveSupportsFocus = []|[{
5297
+
5298
+ 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")[]
5299
+ [k: string]: unknown | undefined
5300
+ }]
5301
+ // ----- astro/jsx-a11y/label-has-associated-control -----
5302
+ type AstroJsxA11YLabelHasAssociatedControl = []|[{
5303
+ labelComponents?: string[]
5304
+ labelAttributes?: string[]
5305
+ controlComponents?: string[]
5306
+
5307
+ assert?: ("htmlFor" | "nesting" | "both" | "either")
5308
+
5309
+ depth?: number
5310
+ [k: string]: unknown | undefined
5311
+ }]
5312
+ // ----- astro/jsx-a11y/lang -----
5313
+ type AstroJsxA11YLang = []|[{
5314
+ [k: string]: unknown | undefined
5315
+ }]
5316
+ // ----- astro/jsx-a11y/media-has-caption -----
5317
+ type AstroJsxA11YMediaHasCaption = []|[{
5318
+ audio?: string[]
5319
+ video?: string[]
5320
+ track?: string[]
5321
+ [k: string]: unknown | undefined
5322
+ }]
5323
+ // ----- astro/jsx-a11y/mouse-events-have-key-events -----
5324
+ type AstroJsxA11YMouseEventsHaveKeyEvents = []|[{
5325
+
5326
+ hoverInHandlers?: string[]
5327
+
5328
+ hoverOutHandlers?: string[]
5329
+ [k: string]: unknown | undefined
5330
+ }]
5331
+ // ----- astro/jsx-a11y/no-access-key -----
5332
+ type AstroJsxA11YNoAccessKey = []|[{
5333
+ [k: string]: unknown | undefined
5334
+ }]
5335
+ // ----- astro/jsx-a11y/no-aria-hidden-on-focusable -----
5336
+ type AstroJsxA11YNoAriaHiddenOnFocusable = []|[{
5337
+ [k: string]: unknown | undefined
5338
+ }]
5339
+ // ----- astro/jsx-a11y/no-autofocus -----
5340
+ type AstroJsxA11YNoAutofocus = []|[{
5341
+ ignoreNonDOM?: boolean
5342
+ [k: string]: unknown | undefined
5343
+ }]
5344
+ // ----- astro/jsx-a11y/no-distracting-elements -----
5345
+ type AstroJsxA11YNoDistractingElements = []|[{
5346
+
5347
+ elements?: ("marquee" | "blink")[]
5348
+ [k: string]: unknown | undefined
5349
+ }]
5350
+ // ----- astro/jsx-a11y/no-interactive-element-to-noninteractive-role -----
5351
+ type AstroJsxA11YNoInteractiveElementToNoninteractiveRole = []|[{
5352
+ [k: string]: string[] | undefined
5353
+ }]
5354
+ // ----- astro/jsx-a11y/no-noninteractive-element-interactions -----
5355
+ type AstroJsxA11YNoNoninteractiveElementInteractions = []|[{
5356
+ handlers?: string[]
5357
+ [k: string]: unknown | undefined
5358
+ }]
5359
+ // ----- astro/jsx-a11y/no-noninteractive-element-to-interactive-role -----
5360
+ type AstroJsxA11YNoNoninteractiveElementToInteractiveRole = []|[{
5361
+ [k: string]: string[] | undefined
5362
+ }]
5363
+ // ----- astro/jsx-a11y/no-noninteractive-tabindex -----
5364
+ type AstroJsxA11YNoNoninteractiveTabindex = []|[{
5365
+
5366
+ roles?: string[]
5367
+
5368
+ tags?: string[]
5369
+ [k: string]: unknown | undefined
5370
+ }]
5371
+ // ----- astro/jsx-a11y/no-redundant-roles -----
5372
+ type AstroJsxA11YNoRedundantRoles = []|[{
5373
+ [k: string]: string[] | undefined
5374
+ }]
5375
+ // ----- astro/jsx-a11y/no-static-element-interactions -----
5376
+ type AstroJsxA11YNoStaticElementInteractions = []|[{
5377
+ handlers?: string[]
5378
+ [k: string]: unknown | undefined
5379
+ }]
5380
+ // ----- astro/jsx-a11y/prefer-tag-over-role -----
5381
+ type AstroJsxA11YPreferTagOverRole = []|[{
5382
+ [k: string]: unknown | undefined
5383
+ }]
5384
+ // ----- astro/jsx-a11y/role-has-required-aria-props -----
5385
+ type AstroJsxA11YRoleHasRequiredAriaProps = []|[{
5386
+ [k: string]: unknown | undefined
5387
+ }]
5388
+ // ----- astro/jsx-a11y/role-supports-aria-props -----
5389
+ type AstroJsxA11YRoleSupportsAriaProps = []|[{
5390
+ [k: string]: unknown | undefined
5391
+ }]
5392
+ // ----- astro/jsx-a11y/scope -----
5393
+ type AstroJsxA11YScope = []|[{
5394
+ [k: string]: unknown | undefined
5395
+ }]
5396
+ // ----- astro/jsx-a11y/tabindex-no-positive -----
5397
+ type AstroJsxA11YTabindexNoPositive = []|[{
5398
+ [k: string]: unknown | undefined
5399
+ }]
5114
5400
  // ----- astro/prefer-split-class-list -----
5115
5401
  type AstroPreferSplitClassList = []|[{
5116
5402
  splitLiteral?: boolean
@@ -5143,7 +5429,7 @@ type Camelcase = []|[{
5143
5429
  ignoreGlobals?: boolean
5144
5430
  properties?: ("always" | "never")
5145
5431
 
5146
- allow?: []|[string]
5432
+ allow?: string[]
5147
5433
  }]
5148
5434
  // ----- capitalized-comments -----
5149
5435
  type CapitalizedComments = []|[("always" | "never")]|[("always" | "never"), ({
@@ -5192,6 +5478,7 @@ type CommaStyle = []|[("first" | "last")]|[("first" | "last"), {
5192
5478
  type Complexity = []|[(number | {
5193
5479
  maximum?: number
5194
5480
  max?: number
5481
+ variant?: ("classic" | "modified")
5195
5482
  })]
5196
5483
  // ----- computed-property-spacing -----
5197
5484
  type ComputedPropertySpacing = []|[("always" | "never")]|[("always" | "never"), {
@@ -5242,6 +5529,9 @@ type _FuncNamesValue = ("always" | "as-needed" | "never")
5242
5529
  // ----- func-style -----
5243
5530
  type FuncStyle = []|[("declaration" | "expression")]|[("declaration" | "expression"), {
5244
5531
  allowArrowFunctions?: boolean
5532
+ overrides?: {
5533
+ namedExports?: ("declaration" | "expression" | "ignore")
5534
+ }
5245
5535
  }]
5246
5536
  // ----- function-call-argument-newline -----
5247
5537
  type FunctionCallArgumentNewline = []|[("always" | "never" | "consistent")]
@@ -5681,6 +5971,221 @@ type JestValidTitle = []|[{
5681
5971
  [k: string]: (string | [string]|[string, string]) | undefined
5682
5972
  })
5683
5973
  }]
5974
+ // ----- jsx-a11y/accessible-emoji -----
5975
+ type JsxA11YAccessibleEmoji = []|[{
5976
+ [k: string]: unknown | undefined
5977
+ }]
5978
+ // ----- jsx-a11y/alt-text -----
5979
+ type JsxA11YAltText = []|[{
5980
+ elements?: string[]
5981
+ img?: string[]
5982
+ object?: string[]
5983
+ area?: string[]
5984
+ "input[type=\"image\"]"?: string[]
5985
+ [k: string]: unknown | undefined
5986
+ }]
5987
+ // ----- jsx-a11y/anchor-ambiguous-text -----
5988
+ type JsxA11YAnchorAmbiguousText = []|[{
5989
+ words?: string[]
5990
+ [k: string]: unknown | undefined
5991
+ }]
5992
+ // ----- jsx-a11y/anchor-has-content -----
5993
+ type JsxA11YAnchorHasContent = []|[{
5994
+ components?: string[]
5995
+ [k: string]: unknown | undefined
5996
+ }]
5997
+ // ----- jsx-a11y/anchor-is-valid -----
5998
+ type JsxA11YAnchorIsValid = []|[{
5999
+ components?: string[]
6000
+ specialLink?: string[]
6001
+
6002
+ aspects?: [("noHref" | "invalidHref" | "preferButton"), ...(("noHref" | "invalidHref" | "preferButton"))[]]
6003
+ [k: string]: unknown | undefined
6004
+ }]
6005
+ // ----- jsx-a11y/aria-activedescendant-has-tabindex -----
6006
+ type JsxA11YAriaActivedescendantHasTabindex = []|[{
6007
+ [k: string]: unknown | undefined
6008
+ }]
6009
+ // ----- jsx-a11y/aria-props -----
6010
+ type JsxA11YAriaProps = []|[{
6011
+ [k: string]: unknown | undefined
6012
+ }]
6013
+ // ----- jsx-a11y/aria-proptypes -----
6014
+ type JsxA11YAriaProptypes = []|[{
6015
+ [k: string]: unknown | undefined
6016
+ }]
6017
+ // ----- jsx-a11y/aria-role -----
6018
+ type JsxA11YAriaRole = []|[{
6019
+ allowedInvalidRoles?: string[]
6020
+ ignoreNonDOM?: boolean
6021
+ [k: string]: unknown | undefined
6022
+ }]
6023
+ // ----- jsx-a11y/aria-unsupported-elements -----
6024
+ type JsxA11YAriaUnsupportedElements = []|[{
6025
+ [k: string]: unknown | undefined
6026
+ }]
6027
+ // ----- jsx-a11y/autocomplete-valid -----
6028
+ type JsxA11YAutocompleteValid = []|[{
6029
+ inputComponents?: string[]
6030
+ [k: string]: unknown | undefined
6031
+ }]
6032
+ // ----- jsx-a11y/click-events-have-key-events -----
6033
+ type JsxA11YClickEventsHaveKeyEvents = []|[{
6034
+ [k: string]: unknown | undefined
6035
+ }]
6036
+ // ----- jsx-a11y/control-has-associated-label -----
6037
+ type JsxA11YControlHasAssociatedLabel = []|[{
6038
+ labelAttributes?: string[]
6039
+ controlComponents?: string[]
6040
+ ignoreElements?: string[]
6041
+ ignoreRoles?: string[]
6042
+
6043
+ depth?: number
6044
+ [k: string]: unknown | undefined
6045
+ }]
6046
+ // ----- jsx-a11y/heading-has-content -----
6047
+ type JsxA11YHeadingHasContent = []|[{
6048
+ components?: string[]
6049
+ [k: string]: unknown | undefined
6050
+ }]
6051
+ // ----- jsx-a11y/html-has-lang -----
6052
+ type JsxA11YHtmlHasLang = []|[{
6053
+ [k: string]: unknown | undefined
6054
+ }]
6055
+ // ----- jsx-a11y/iframe-has-title -----
6056
+ type JsxA11YIframeHasTitle = []|[{
6057
+ [k: string]: unknown | undefined
6058
+ }]
6059
+ // ----- jsx-a11y/img-redundant-alt -----
6060
+ type JsxA11YImgRedundantAlt = []|[{
6061
+ components?: string[]
6062
+ words?: string[]
6063
+ [k: string]: unknown | undefined
6064
+ }]
6065
+ // ----- jsx-a11y/interactive-supports-focus -----
6066
+ type JsxA11YInteractiveSupportsFocus = []|[{
6067
+
6068
+ 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")[]
6069
+ [k: string]: unknown | undefined
6070
+ }]
6071
+ // ----- jsx-a11y/label-has-associated-control -----
6072
+ type JsxA11YLabelHasAssociatedControl = []|[{
6073
+ labelComponents?: string[]
6074
+ labelAttributes?: string[]
6075
+ controlComponents?: string[]
6076
+
6077
+ assert?: ("htmlFor" | "nesting" | "both" | "either")
6078
+
6079
+ depth?: number
6080
+ [k: string]: unknown | undefined
6081
+ }]
6082
+ // ----- jsx-a11y/label-has-for -----
6083
+ type JsxA11YLabelHasFor = []|[{
6084
+ components?: string[]
6085
+ required?: (("nesting" | "id") | {
6086
+
6087
+ some: ("nesting" | "id")[]
6088
+ [k: string]: unknown | undefined
6089
+ } | {
6090
+
6091
+ every: ("nesting" | "id")[]
6092
+ [k: string]: unknown | undefined
6093
+ })
6094
+ allowChildren?: boolean
6095
+ [k: string]: unknown | undefined
6096
+ }]
6097
+ // ----- jsx-a11y/lang -----
6098
+ type JsxA11YLang = []|[{
6099
+ [k: string]: unknown | undefined
6100
+ }]
6101
+ // ----- jsx-a11y/media-has-caption -----
6102
+ type JsxA11YMediaHasCaption = []|[{
6103
+ audio?: string[]
6104
+ video?: string[]
6105
+ track?: string[]
6106
+ [k: string]: unknown | undefined
6107
+ }]
6108
+ // ----- jsx-a11y/mouse-events-have-key-events -----
6109
+ type JsxA11YMouseEventsHaveKeyEvents = []|[{
6110
+
6111
+ hoverInHandlers?: string[]
6112
+
6113
+ hoverOutHandlers?: string[]
6114
+ [k: string]: unknown | undefined
6115
+ }]
6116
+ // ----- jsx-a11y/no-access-key -----
6117
+ type JsxA11YNoAccessKey = []|[{
6118
+ [k: string]: unknown | undefined
6119
+ }]
6120
+ // ----- jsx-a11y/no-aria-hidden-on-focusable -----
6121
+ type JsxA11YNoAriaHiddenOnFocusable = []|[{
6122
+ [k: string]: unknown | undefined
6123
+ }]
6124
+ // ----- jsx-a11y/no-autofocus -----
6125
+ type JsxA11YNoAutofocus = []|[{
6126
+ ignoreNonDOM?: boolean
6127
+ [k: string]: unknown | undefined
6128
+ }]
6129
+ // ----- jsx-a11y/no-distracting-elements -----
6130
+ type JsxA11YNoDistractingElements = []|[{
6131
+
6132
+ elements?: ("marquee" | "blink")[]
6133
+ [k: string]: unknown | undefined
6134
+ }]
6135
+ // ----- jsx-a11y/no-interactive-element-to-noninteractive-role -----
6136
+ type JsxA11YNoInteractiveElementToNoninteractiveRole = []|[{
6137
+ [k: string]: string[] | undefined
6138
+ }]
6139
+ // ----- jsx-a11y/no-noninteractive-element-interactions -----
6140
+ type JsxA11YNoNoninteractiveElementInteractions = []|[{
6141
+ handlers?: string[]
6142
+ [k: string]: unknown | undefined
6143
+ }]
6144
+ // ----- jsx-a11y/no-noninteractive-element-to-interactive-role -----
6145
+ type JsxA11YNoNoninteractiveElementToInteractiveRole = []|[{
6146
+ [k: string]: string[] | undefined
6147
+ }]
6148
+ // ----- jsx-a11y/no-noninteractive-tabindex -----
6149
+ type JsxA11YNoNoninteractiveTabindex = []|[{
6150
+
6151
+ roles?: string[]
6152
+
6153
+ tags?: string[]
6154
+ [k: string]: unknown | undefined
6155
+ }]
6156
+ // ----- jsx-a11y/no-onchange -----
6157
+ type JsxA11YNoOnchange = []|[{
6158
+ [k: string]: unknown | undefined
6159
+ }]
6160
+ // ----- jsx-a11y/no-redundant-roles -----
6161
+ type JsxA11YNoRedundantRoles = []|[{
6162
+ [k: string]: string[] | undefined
6163
+ }]
6164
+ // ----- jsx-a11y/no-static-element-interactions -----
6165
+ type JsxA11YNoStaticElementInteractions = []|[{
6166
+ handlers?: string[]
6167
+ [k: string]: unknown | undefined
6168
+ }]
6169
+ // ----- jsx-a11y/prefer-tag-over-role -----
6170
+ type JsxA11YPreferTagOverRole = []|[{
6171
+ [k: string]: unknown | undefined
6172
+ }]
6173
+ // ----- jsx-a11y/role-has-required-aria-props -----
6174
+ type JsxA11YRoleHasRequiredAriaProps = []|[{
6175
+ [k: string]: unknown | undefined
6176
+ }]
6177
+ // ----- jsx-a11y/role-supports-aria-props -----
6178
+ type JsxA11YRoleSupportsAriaProps = []|[{
6179
+ [k: string]: unknown | undefined
6180
+ }]
6181
+ // ----- jsx-a11y/scope -----
6182
+ type JsxA11YScope = []|[{
6183
+ [k: string]: unknown | undefined
6184
+ }]
6185
+ // ----- jsx-a11y/tabindex-no-positive -----
6186
+ type JsxA11YTabindexNoPositive = []|[{
6187
+ [k: string]: unknown | undefined
6188
+ }]
5684
6189
  // ----- jsx-quotes -----
5685
6190
  type JsxQuotes = []|[("prefer-single" | "prefer-double")]
5686
6191
  // ----- key-spacing -----
@@ -6228,12 +6733,8 @@ type NoConsole = []|[{
6228
6733
  }]
6229
6734
  // ----- no-constant-condition -----
6230
6735
  type NoConstantCondition = []|[{
6231
- checkLoops?: boolean
6736
+ checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false)
6232
6737
  }]
6233
- // ----- no-constructor-return -----
6234
- interface NoConstructorReturn {
6235
- [k: string]: unknown | undefined
6236
- }
6237
6738
  // ----- no-duplicate-imports -----
6238
6739
  type NoDuplicateImports = []|[{
6239
6740
  includeExports?: boolean
@@ -6263,9 +6764,11 @@ type NoExtendNative = []|[{
6263
6764
  exceptions?: string[]
6264
6765
  }]
6265
6766
  // ----- no-extra-boolean-cast -----
6266
- type NoExtraBooleanCast = []|[{
6767
+ type NoExtraBooleanCast = []|[({
6768
+ enforceForInnerExpressions?: boolean
6769
+ } | {
6267
6770
  enforceForLogicalOperands?: boolean
6268
- }]
6771
+ })]
6269
6772
  // ----- no-extra-parens -----
6270
6773
  type NoExtraParens = ([]|["functions"] | []|["all"]|["all", {
6271
6774
  conditionalAssign?: boolean
@@ -6283,6 +6786,7 @@ type NoExtraParens = ([]|["functions"] | []|["all"]|["all", {
6283
6786
  type NoFallthrough = []|[{
6284
6787
  commentPattern?: string
6285
6788
  allowEmptyCase?: boolean
6789
+ reportUnusedFallthroughComment?: boolean
6286
6790
  }]
6287
6791
  // ----- no-global-assign -----
6288
6792
  type NoGlobalAssign = []|[{
@@ -6294,7 +6798,7 @@ type NoImplicitCoercion = []|[{
6294
6798
  number?: boolean
6295
6799
  string?: boolean
6296
6800
  disallowTemplateShorthand?: boolean
6297
- allow?: ("~" | "!!" | "+" | "*")[]
6801
+ allow?: ("~" | "!!" | "+" | "- -" | "-" | "*")[]
6298
6802
  }]
6299
6803
  // ----- no-implicit-globals -----
6300
6804
  type NoImplicitGlobals = []|[{
@@ -6305,7 +6809,9 @@ type NoInlineComments = []|[{
6305
6809
  ignorePattern?: string
6306
6810
  }]
6307
6811
  // ----- no-inner-declarations -----
6308
- type NoInnerDeclarations = []|[("functions" | "both")]
6812
+ type NoInnerDeclarations = []|[("functions" | "both")]|[("functions" | "both"), {
6813
+ blockScopedFunctions?: ("allow" | "disallow")
6814
+ }]
6309
6815
  // ----- no-invalid-regexp -----
6310
6816
  type NoInvalidRegexp = []|[{
6311
6817
  allowConstructorFlags?: string[]
@@ -6336,6 +6842,10 @@ type NoMagicNumbers = []|[{
6336
6842
  ignoreDefaultValues?: boolean
6337
6843
  ignoreClassFieldInitialValues?: boolean
6338
6844
  }]
6845
+ // ----- no-misleading-character-class -----
6846
+ type NoMisleadingCharacterClass = []|[{
6847
+ allowEscape?: boolean
6848
+ }]
6339
6849
  // ----- no-mixed-operators -----
6340
6850
  type NoMixedOperators = []|[{
6341
6851
  groups?: [("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ...(("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"))[]][]
@@ -6392,8 +6902,10 @@ type NoRedeclare = []|[{
6392
6902
  // ----- no-restricted-exports -----
6393
6903
  type NoRestrictedExports = []|[({
6394
6904
  restrictedNamedExports?: string[]
6905
+ restrictedNamedExportsPattern?: string
6395
6906
  } | {
6396
6907
  restrictedNamedExports?: string[]
6908
+ restrictedNamedExportsPattern?: string
6397
6909
  restrictDefaultExports?: {
6398
6910
  direct?: boolean
6399
6911
  named?: boolean
@@ -6412,21 +6924,19 @@ type NoRestrictedImports = ((string | {
6412
6924
  name: string
6413
6925
  message?: string
6414
6926
  importNames?: string[]
6927
+ allowImportNames?: string[]
6415
6928
  })[] | []|[{
6416
6929
  paths?: (string | {
6417
6930
  name: string
6418
6931
  message?: string
6419
6932
  importNames?: string[]
6933
+ allowImportNames?: string[]
6420
6934
  })[]
6421
- patterns?: (string[] | {
6422
-
6423
- importNames?: [string, ...(string)[]]
6424
-
6425
- group: [string, ...(string)[]]
6426
- importNamePattern?: string
6427
- message?: string
6428
- caseSensitive?: boolean
6429
- }[])
6935
+ patterns?: (string[] | ({
6936
+ [k: string]: unknown | undefined
6937
+ } | {
6938
+ [k: string]: unknown | undefined
6939
+ })[])
6430
6940
  }])
6431
6941
  // ----- no-restricted-modules -----
6432
6942
  type NoRestrictedModules = ((string | {
@@ -6533,6 +7043,8 @@ type NoUnusedVars = []|[(("all" | "local") | {
6533
7043
  caughtErrors?: ("all" | "none")
6534
7044
  caughtErrorsIgnorePattern?: string
6535
7045
  destructuredArrayIgnorePattern?: string
7046
+ ignoreClassWithStaticInitBlock?: boolean
7047
+ reportUsedIgnorePattern?: boolean
6536
7048
  })]
6537
7049
  // ----- no-use-before-define -----
6538
7050
  type NoUseBeforeDefine = []|[("nofunc" | {
@@ -6658,107 +7170,566 @@ type PaddingLineBetweenStatements = {
6658
7170
  prev: _PaddingLineBetweenStatementsStatementType
6659
7171
  next: _PaddingLineBetweenStatementsStatementType
6660
7172
  }[]
6661
- // ----- prefer-arrow-callback -----
6662
- type PreferArrowCallback = []|[{
6663
- allowNamedFunctions?: boolean
6664
- allowUnboundThis?: boolean
6665
- }]
6666
- // ----- prefer-const -----
6667
- type PreferConst = []|[{
6668
- destructuring?: ("any" | "all")
6669
- ignoreReadBeforeAssign?: boolean
7173
+ // ----- perfectionist/sort-array-includes -----
7174
+ type PerfectionistSortArrayIncludes = []|[{
7175
+
7176
+ type?: ("alphabetical" | "natural" | "line-length")
7177
+
7178
+ order?: ("asc" | "desc")
7179
+
7180
+ matcher?: ("minimatch" | "regex")
7181
+
7182
+ ignoreCase?: boolean
7183
+
7184
+ specialCharacters?: ("remove" | "trim" | "keep")
7185
+
7186
+ groupKind?: ("mixed" | "literals-first" | "spreads-first")
7187
+
7188
+ partitionByComment?: (string[] | boolean | string)
7189
+
7190
+ partitionByNewLine?: boolean
6670
7191
  }]
6671
- // ----- prefer-destructuring -----
6672
- type PreferDestructuring = []|[({
6673
- VariableDeclarator?: {
6674
- array?: boolean
6675
- object?: boolean
6676
- }
6677
- AssignmentExpression?: {
6678
- array?: boolean
6679
- object?: boolean
6680
- }
6681
- } | {
6682
- array?: boolean
6683
- object?: boolean
6684
- })]|[({
6685
- VariableDeclarator?: {
6686
- array?: boolean
6687
- object?: boolean
6688
- }
6689
- AssignmentExpression?: {
6690
- array?: boolean
6691
- object?: boolean
7192
+ // ----- perfectionist/sort-astro-attributes -----
7193
+ type PerfectionistSortAstroAttributes = []|[{
7194
+
7195
+ type?: ("alphabetical" | "natural" | "line-length")
7196
+
7197
+ order?: ("asc" | "desc")
7198
+
7199
+ matcher?: ("minimatch" | "regex")
7200
+
7201
+ ignoreCase?: boolean
7202
+
7203
+ specialCharacters?: ("remove" | "trim" | "keep")
7204
+
7205
+ groups?: (string | string[])[]
7206
+
7207
+ customGroups?: {
7208
+ [k: string]: (string | string[]) | undefined
6692
7209
  }
6693
- } | {
6694
- array?: boolean
6695
- object?: boolean
6696
- }), {
6697
- enforceForRenamedProperties?: boolean
6698
7210
  }]
6699
- // ----- prefer-promise-reject-errors -----
6700
- type PreferPromiseRejectErrors = []|[{
6701
- allowEmptyReject?: boolean
7211
+ // ----- perfectionist/sort-classes -----
7212
+ type PerfectionistSortClasses = []|[{
7213
+
7214
+ type?: ("alphabetical" | "natural" | "line-length")
7215
+
7216
+ order?: ("asc" | "desc")
7217
+
7218
+ matcher?: ("minimatch" | "regex")
7219
+
7220
+ ignoreCase?: boolean
7221
+
7222
+ specialCharacters?: ("remove" | "trim" | "keep")
7223
+
7224
+ partitionByComment?: (string[] | boolean | string)
7225
+
7226
+ groups?: (string | string[])[]
7227
+
7228
+ customGroups?: ({
7229
+ [k: string]: (string | string[]) | undefined
7230
+ } | ({
7231
+
7232
+ groupName?: string
7233
+
7234
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
7235
+
7236
+ order?: ("desc" | "asc")
7237
+ anyOf?: {
7238
+
7239
+ selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method")
7240
+
7241
+ modifiers?: ("protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[]
7242
+
7243
+ elementNamePattern?: string
7244
+
7245
+ elementValuePattern?: string
7246
+
7247
+ decoratorNamePattern?: string
7248
+ }[]
7249
+ } | {
7250
+
7251
+ groupName?: string
7252
+
7253
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
7254
+
7255
+ order?: ("desc" | "asc")
7256
+
7257
+ selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method")
7258
+
7259
+ modifiers?: ("protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[]
7260
+
7261
+ elementNamePattern?: string
7262
+
7263
+ elementValuePattern?: string
7264
+
7265
+ decoratorNamePattern?: string
7266
+ })[])
6702
7267
  }]
6703
- // ----- prefer-reflect -----
6704
- type PreferReflect = []|[{
6705
- exceptions?: ("apply" | "call" | "delete" | "defineProperty" | "getOwnPropertyDescriptor" | "getPrototypeOf" | "setPrototypeOf" | "isExtensible" | "getOwnPropertyNames" | "preventExtensions")[]
7268
+ // ----- perfectionist/sort-enums -----
7269
+ type PerfectionistSortEnums = []|[{
7270
+
7271
+ type?: ("alphabetical" | "natural" | "line-length")
7272
+
7273
+ order?: ("asc" | "desc")
7274
+
7275
+ matcher?: ("minimatch" | "regex")
7276
+
7277
+ ignoreCase?: boolean
7278
+
7279
+ specialCharacters?: ("remove" | "trim" | "keep")
7280
+
7281
+ sortByValue?: boolean
7282
+
7283
+ forceNumericSort?: boolean
7284
+
7285
+ partitionByComment?: (string[] | boolean | string)
7286
+
7287
+ partitionByNewLine?: boolean
6706
7288
  }]
6707
- // ----- prefer-regex-literals -----
6708
- type PreferRegexLiterals = []|[{
6709
- disallowRedundantWrapping?: boolean
7289
+ // ----- perfectionist/sort-exports -----
7290
+ type PerfectionistSortExports = []|[{
7291
+
7292
+ type?: ("alphabetical" | "natural" | "line-length")
7293
+
7294
+ order?: ("asc" | "desc")
7295
+
7296
+ matcher?: ("minimatch" | "regex")
7297
+
7298
+ ignoreCase?: boolean
7299
+
7300
+ specialCharacters?: ("remove" | "trim" | "keep")
7301
+
7302
+ partitionByComment?: (string[] | boolean | string)
7303
+
7304
+ partitionByNewLine?: boolean
7305
+
7306
+ groupKind?: ("mixed" | "values-first" | "types-first")
6710
7307
  }]
6711
- // ----- quote-props -----
6712
- type QuoteProps = ([]|[("always" | "as-needed" | "consistent" | "consistent-as-needed")] | []|[("always" | "as-needed" | "consistent" | "consistent-as-needed")]|[("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
6713
- keywords?: boolean
6714
- unnecessary?: boolean
6715
- numbers?: boolean
6716
- }])
6717
- // ----- quotes -----
6718
- type Quotes = []|[("single" | "double" | "backtick")]|[("single" | "double" | "backtick"), ("avoid-escape" | {
6719
- avoidEscape?: boolean
6720
- allowTemplateLiterals?: boolean
6721
- })]
6722
- // ----- radix -----
6723
- type Radix = []|[("always" | "as-needed")]
6724
- // ----- react-hooks/exhaustive-deps -----
6725
- type ReactHooksExhaustiveDeps = []|[{
6726
- additionalHooks?: string
6727
- enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean
7308
+ // ----- perfectionist/sort-imports -----
7309
+ type PerfectionistSortImports = []|[_PerfectionistSortImportsSortImports]
7310
+ type _PerfectionistSortImportsSortImports = (_PerfectionistSortImportsMaxLineLengthRequiresLineLengthType & {
7311
+
7312
+ type?: ("alphabetical" | "natural" | "line-length")
7313
+
7314
+ order?: ("asc" | "desc")
7315
+
7316
+ matcher?: ("minimatch" | "regex")
7317
+
7318
+ ignoreCase?: boolean
7319
+
7320
+ specialCharacters?: ("remove" | "trim" | "keep")
7321
+
7322
+ internalPattern?: string[]
7323
+
7324
+ sortSideEffects?: boolean
7325
+
7326
+ newlinesBetween?: ("ignore" | "always" | "never")
7327
+
7328
+ maxLineLength?: number
7329
+
7330
+ groups?: (string | string[])[]
7331
+
7332
+ customGroups?: {
7333
+ type?: {
7334
+ [k: string]: unknown | undefined
7335
+ }
7336
+ value?: {
7337
+ [k: string]: unknown | undefined
7338
+ }
7339
+ }
7340
+
7341
+ environment?: ("node" | "bun")
7342
+ })
7343
+ type _PerfectionistSortImportsMaxLineLengthRequiresLineLengthType = ({
7344
+ [k: string]: unknown | undefined
7345
+ } | _PerfectionistSortImports_IsLineLength)
7346
+ interface _PerfectionistSortImports_IsLineLength {
7347
+ type: "line-length"
7348
+ [k: string]: unknown | undefined
7349
+ }
7350
+ // ----- perfectionist/sort-interfaces -----
7351
+ type PerfectionistSortInterfaces = []|[{
7352
+
7353
+ type?: ("alphabetical" | "natural" | "line-length")
7354
+
7355
+ order?: ("asc" | "desc")
7356
+
7357
+ matcher?: ("minimatch" | "regex")
7358
+
7359
+ ignoreCase?: boolean
7360
+
7361
+ specialCharacters?: ("remove" | "trim" | "keep")
7362
+
7363
+ ignorePattern?: string[]
7364
+
7365
+ partitionByComment?: (boolean | string | string[])
7366
+
7367
+ partitionByNewLine?: boolean
7368
+
7369
+ groupKind?: ("mixed" | "optional-first" | "required-first")
7370
+
7371
+ groups?: (string | string[])[]
7372
+
7373
+ customGroups?: {
7374
+ [k: string]: (string | string[]) | undefined
7375
+ }
6728
7376
  }]
6729
- // ----- react-refresh/only-export-components -----
6730
- type ReactRefreshOnlyExportComponents = []|[{
6731
- allowConstantExport?: boolean
6732
- checkJS?: boolean
6733
- allowExportNames?: string[]
7377
+ // ----- perfectionist/sort-intersection-types -----
7378
+ type PerfectionistSortIntersectionTypes = []|[{
7379
+
7380
+ type?: ("alphabetical" | "natural" | "line-length")
7381
+
7382
+ order?: ("asc" | "desc")
7383
+
7384
+ matcher?: ("minimatch" | "regex")
7385
+
7386
+ ignoreCase?: boolean
7387
+
7388
+ specialCharacters?: ("remove" | "trim" | "keep")
7389
+
7390
+ groups?: (string | string[])[]
7391
+
7392
+ partitionByComment?: (string[] | boolean | string)
7393
+
7394
+ partitionByNewLine?: boolean
6734
7395
  }]
6735
- // ----- react/boolean-prop-naming -----
6736
- type ReactBooleanPropNaming = []|[{
7396
+ // ----- perfectionist/sort-jsx-props -----
7397
+ type PerfectionistSortJsxProps = []|[{
6737
7398
 
6738
- propTypeNames?: [string, ...(string)[]]
6739
- rule?: string
6740
- message?: string
6741
- validateNested?: boolean
7399
+ type?: ("alphabetical" | "natural" | "line-length")
7400
+
7401
+ order?: ("asc" | "desc")
7402
+
7403
+ matcher?: ("minimatch" | "regex")
7404
+
7405
+ ignoreCase?: boolean
7406
+
7407
+ specialCharacters?: ("remove" | "trim" | "keep")
7408
+
7409
+ ignorePattern?: string[]
7410
+
7411
+ groups?: (string | string[])[]
7412
+
7413
+ customGroups?: {
7414
+ [k: string]: (string | string[]) | undefined
7415
+ }
6742
7416
  }]
6743
- // ----- react/button-has-type -----
6744
- type ReactButtonHasType = []|[{
6745
- button?: boolean
6746
- submit?: boolean
6747
- reset?: boolean
7417
+ // ----- perfectionist/sort-maps -----
7418
+ type PerfectionistSortMaps = []|[{
7419
+
7420
+ type?: ("alphabetical" | "natural" | "line-length")
7421
+
7422
+ order?: ("asc" | "desc")
7423
+
7424
+ matcher?: ("minimatch" | "regex")
7425
+
7426
+ ignoreCase?: boolean
7427
+
7428
+ specialCharacters?: ("remove" | "trim" | "keep")
7429
+
7430
+ partitionByComment?: (string[] | boolean | string)
7431
+
7432
+ partitionByNewLine?: boolean
6748
7433
  }]
6749
- // ----- react/checked-requires-onchange-or-readonly -----
6750
- type ReactCheckedRequiresOnchangeOrReadonly = []|[{
6751
- ignoreMissingProperties?: boolean
6752
- ignoreExclusiveCheckedAttribute?: boolean
7434
+ // ----- perfectionist/sort-named-exports -----
7435
+ type PerfectionistSortNamedExports = []|[{
7436
+
7437
+ type?: ("alphabetical" | "natural" | "line-length")
7438
+
7439
+ order?: ("asc" | "desc")
7440
+
7441
+ matcher?: ("minimatch" | "regex")
7442
+
7443
+ ignoreCase?: boolean
7444
+
7445
+ specialCharacters?: ("remove" | "trim" | "keep")
7446
+
7447
+ groupKind?: ("mixed" | "values-first" | "types-first")
7448
+
7449
+ partitionByComment?: (string[] | boolean | string)
7450
+
7451
+ partitionByNewLine?: boolean
6753
7452
  }]
6754
- // ----- react/default-props-match-prop-types -----
6755
- type ReactDefaultPropsMatchPropTypes = []|[{
6756
- allowRequiredDefaults?: boolean
7453
+ // ----- perfectionist/sort-named-imports -----
7454
+ type PerfectionistSortNamedImports = []|[{
7455
+
7456
+ type?: ("alphabetical" | "natural" | "line-length")
7457
+
7458
+ order?: ("asc" | "desc")
7459
+
7460
+ matcher?: ("minimatch" | "regex")
7461
+
7462
+ ignoreCase?: boolean
7463
+
7464
+ specialCharacters?: ("remove" | "trim" | "keep")
7465
+
7466
+ ignoreAlias?: boolean
7467
+
7468
+ groupKind?: ("mixed" | "values-first" | "types-first")
7469
+
7470
+ partitionByComment?: (string[] | boolean | string)
7471
+
7472
+ partitionByNewLine?: boolean
6757
7473
  }]
6758
- // ----- react/destructuring-assignment -----
6759
- type ReactDestructuringAssignment = []|[("always" | "never")]|[("always" | "never"), {
6760
- ignoreClassFields?: boolean
6761
- destructureInSignature?: ("always" | "ignore")
7474
+ // ----- perfectionist/sort-object-types -----
7475
+ type PerfectionistSortObjectTypes = []|[{
7476
+
7477
+ type?: ("alphabetical" | "natural" | "line-length")
7478
+
7479
+ order?: ("asc" | "desc")
7480
+
7481
+ matcher?: ("minimatch" | "regex")
7482
+
7483
+ ignoreCase?: boolean
7484
+
7485
+ specialCharacters?: ("remove" | "trim" | "keep")
7486
+
7487
+ partitionByComment?: (string[] | boolean | string)
7488
+
7489
+ partitionByNewLine?: boolean
7490
+
7491
+ groupKind?: ("mixed" | "required-first" | "optional-first")
7492
+
7493
+ groups?: (string | string[])[]
7494
+
7495
+ customGroups?: {
7496
+ [k: string]: (string | string[]) | undefined
7497
+ }
7498
+ }]
7499
+ // ----- perfectionist/sort-objects -----
7500
+ type PerfectionistSortObjects = []|[{
7501
+
7502
+ type?: ("alphabetical" | "natural" | "line-length")
7503
+
7504
+ order?: ("asc" | "desc")
7505
+
7506
+ matcher?: ("minimatch" | "regex")
7507
+
7508
+ ignoreCase?: boolean
7509
+
7510
+ specialCharacters?: ("remove" | "trim" | "keep")
7511
+
7512
+ partitionByComment?: (string[] | boolean | string)
7513
+
7514
+ partitionByNewLine?: boolean
7515
+
7516
+ styledComponents?: boolean
7517
+
7518
+ destructureOnly?: boolean
7519
+
7520
+ ignorePattern?: string[]
7521
+
7522
+ groups?: (string | string[])[]
7523
+
7524
+ customGroups?: {
7525
+ [k: string]: (string | string[]) | undefined
7526
+ }
7527
+ }]
7528
+ // ----- perfectionist/sort-sets -----
7529
+ type PerfectionistSortSets = []|[{
7530
+
7531
+ type?: ("alphabetical" | "natural" | "line-length")
7532
+
7533
+ order?: ("asc" | "desc")
7534
+
7535
+ matcher?: ("minimatch" | "regex")
7536
+
7537
+ ignoreCase?: boolean
7538
+
7539
+ specialCharacters?: ("remove" | "trim" | "keep")
7540
+
7541
+ groupKind?: ("mixed" | "literals-first" | "spreads-first")
7542
+
7543
+ partitionByComment?: (string[] | boolean | string)
7544
+
7545
+ partitionByNewLine?: boolean
7546
+ }]
7547
+ // ----- perfectionist/sort-svelte-attributes -----
7548
+ type PerfectionistSortSvelteAttributes = []|[{
7549
+
7550
+ type?: ("alphabetical" | "natural" | "line-length")
7551
+
7552
+ order?: ("asc" | "desc")
7553
+
7554
+ matcher?: ("minimatch" | "regex")
7555
+
7556
+ ignoreCase?: boolean
7557
+
7558
+ specialCharacters?: ("remove" | "trim" | "keep")
7559
+
7560
+ groups?: (string | string[])[]
7561
+
7562
+ customGroups?: {
7563
+ [k: string]: (string | string[]) | undefined
7564
+ }
7565
+ }]
7566
+ // ----- perfectionist/sort-switch-case -----
7567
+ type PerfectionistSortSwitchCase = []|[{
7568
+
7569
+ type?: ("alphabetical" | "natural" | "line-length")
7570
+
7571
+ order?: ("asc" | "desc")
7572
+
7573
+ ignoreCase?: boolean
7574
+
7575
+ specialCharacters?: ("remove" | "trim" | "keep")
7576
+ }]
7577
+ // ----- perfectionist/sort-union-types -----
7578
+ type PerfectionistSortUnionTypes = []|[{
7579
+
7580
+ type?: ("alphabetical" | "natural" | "line-length")
7581
+
7582
+ order?: ("asc" | "desc")
7583
+
7584
+ matcher?: ("minimatch" | "regex")
7585
+
7586
+ ignoreCase?: boolean
7587
+
7588
+ specialCharacters?: ("remove" | "trim" | "keep")
7589
+
7590
+ groups?: (string | string[])[]
7591
+
7592
+ partitionByComment?: (string[] | boolean | string)
7593
+
7594
+ partitionByNewLine?: boolean
7595
+ }]
7596
+ // ----- perfectionist/sort-variable-declarations -----
7597
+ type PerfectionistSortVariableDeclarations = []|[{
7598
+
7599
+ type?: ("alphabetical" | "natural" | "line-length")
7600
+
7601
+ order?: ("asc" | "desc")
7602
+
7603
+ matcher?: ("minimatch" | "regex")
7604
+
7605
+ ignoreCase?: boolean
7606
+
7607
+ specialCharacters?: ("remove" | "trim" | "keep")
7608
+
7609
+ partitionByComment?: (string[] | boolean | string)
7610
+
7611
+ partitionByNewLine?: boolean
7612
+ }]
7613
+ // ----- perfectionist/sort-vue-attributes -----
7614
+ type PerfectionistSortVueAttributes = []|[{
7615
+
7616
+ type?: ("alphabetical" | "natural" | "line-length")
7617
+
7618
+ order?: ("asc" | "desc")
7619
+
7620
+ matcher?: ("minimatch" | "regex")
7621
+
7622
+ ignoreCase?: boolean
7623
+
7624
+ specialCharacters?: ("remove" | "trim" | "keep")
7625
+
7626
+ groups?: (string | string[])[]
7627
+
7628
+ customGroups?: {
7629
+ [k: string]: (string | string[]) | undefined
7630
+ }
7631
+ }]
7632
+ // ----- prefer-arrow-callback -----
7633
+ type PreferArrowCallback = []|[{
7634
+ allowNamedFunctions?: boolean
7635
+ allowUnboundThis?: boolean
7636
+ }]
7637
+ // ----- prefer-const -----
7638
+ type PreferConst = []|[{
7639
+ destructuring?: ("any" | "all")
7640
+ ignoreReadBeforeAssign?: boolean
7641
+ }]
7642
+ // ----- prefer-destructuring -----
7643
+ type PreferDestructuring = []|[({
7644
+ VariableDeclarator?: {
7645
+ array?: boolean
7646
+ object?: boolean
7647
+ }
7648
+ AssignmentExpression?: {
7649
+ array?: boolean
7650
+ object?: boolean
7651
+ }
7652
+ } | {
7653
+ array?: boolean
7654
+ object?: boolean
7655
+ })]|[({
7656
+ VariableDeclarator?: {
7657
+ array?: boolean
7658
+ object?: boolean
7659
+ }
7660
+ AssignmentExpression?: {
7661
+ array?: boolean
7662
+ object?: boolean
7663
+ }
7664
+ } | {
7665
+ array?: boolean
7666
+ object?: boolean
7667
+ }), {
7668
+ enforceForRenamedProperties?: boolean
7669
+ }]
7670
+ // ----- prefer-promise-reject-errors -----
7671
+ type PreferPromiseRejectErrors = []|[{
7672
+ allowEmptyReject?: boolean
7673
+ }]
7674
+ // ----- prefer-reflect -----
7675
+ type PreferReflect = []|[{
7676
+ exceptions?: ("apply" | "call" | "delete" | "defineProperty" | "getOwnPropertyDescriptor" | "getPrototypeOf" | "setPrototypeOf" | "isExtensible" | "getOwnPropertyNames" | "preventExtensions")[]
7677
+ }]
7678
+ // ----- prefer-regex-literals -----
7679
+ type PreferRegexLiterals = []|[{
7680
+ disallowRedundantWrapping?: boolean
7681
+ }]
7682
+ // ----- quote-props -----
7683
+ type QuoteProps = ([]|[("always" | "as-needed" | "consistent" | "consistent-as-needed")] | []|[("always" | "as-needed" | "consistent" | "consistent-as-needed")]|[("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
7684
+ keywords?: boolean
7685
+ unnecessary?: boolean
7686
+ numbers?: boolean
7687
+ }])
7688
+ // ----- quotes -----
7689
+ type Quotes = []|[("single" | "double" | "backtick")]|[("single" | "double" | "backtick"), ("avoid-escape" | {
7690
+ avoidEscape?: boolean
7691
+ allowTemplateLiterals?: boolean
7692
+ })]
7693
+ // ----- radix -----
7694
+ type Radix = []|[("always" | "as-needed")]
7695
+ // ----- react-hooks/exhaustive-deps -----
7696
+ type ReactHooksExhaustiveDeps = []|[{
7697
+ additionalHooks?: string
7698
+ enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean
7699
+ }]
7700
+ // ----- react-refresh/only-export-components -----
7701
+ type ReactRefreshOnlyExportComponents = []|[{
7702
+ allowConstantExport?: boolean
7703
+ checkJS?: boolean
7704
+ allowExportNames?: string[]
7705
+ }]
7706
+ // ----- react/boolean-prop-naming -----
7707
+ type ReactBooleanPropNaming = []|[{
7708
+
7709
+ propTypeNames?: [string, ...(string)[]]
7710
+ rule?: string
7711
+ message?: string
7712
+ validateNested?: boolean
7713
+ }]
7714
+ // ----- react/button-has-type -----
7715
+ type ReactButtonHasType = []|[{
7716
+ button?: boolean
7717
+ submit?: boolean
7718
+ reset?: boolean
7719
+ }]
7720
+ // ----- react/checked-requires-onchange-or-readonly -----
7721
+ type ReactCheckedRequiresOnchangeOrReadonly = []|[{
7722
+ ignoreMissingProperties?: boolean
7723
+ ignoreExclusiveCheckedAttribute?: boolean
7724
+ }]
7725
+ // ----- react/default-props-match-prop-types -----
7726
+ type ReactDefaultPropsMatchPropTypes = []|[{
7727
+ allowRequiredDefaults?: boolean
7728
+ }]
7729
+ // ----- react/destructuring-assignment -----
7730
+ type ReactDestructuringAssignment = []|[("always" | "never")]|[("always" | "never"), {
7731
+ ignoreClassFields?: boolean
7732
+ destructureInSignature?: ("always" | "ignore")
6762
7733
  }]
6763
7734
  // ----- react/display-name -----
6764
7735
  type ReactDisplayName = []|[{
@@ -7200,15 +8171,9 @@ type ReactStylePropObject = []|[{
7200
8171
  type RequireAtomicUpdates = []|[{
7201
8172
  allowProperties?: boolean
7202
8173
  }]
7203
- // ----- require-jsdoc -----
7204
- type RequireJsdoc = []|[{
7205
- require?: {
7206
- ClassDeclaration?: boolean
7207
- MethodDefinition?: boolean
7208
- FunctionDeclaration?: boolean
7209
- ArrowFunctionExpression?: boolean
7210
- FunctionExpression?: boolean
7211
- }
8174
+ // ----- require-unicode-regexp -----
8175
+ type RequireUnicodeRegexp = []|[{
8176
+ requireFlag?: ("u" | "v")
7212
8177
  }]
7213
8178
  // ----- rest-spread-spacing -----
7214
8179
  type RestSpreadSpacing = []|[("always" | "never")]
@@ -7226,10 +8191,6 @@ type SemiSpacing = []|[{
7226
8191
  }]
7227
8192
  // ----- semi-style -----
7228
8193
  type SemiStyle = []|[("last" | "first")]
7229
- // ----- simple-import-sort/imports -----
7230
- type SimpleImportSortImports = []|[{
7231
- groups?: string[][]
7232
- }]
7233
8194
  // ----- sort-imports -----
7234
8195
  type SortImports = []|[{
7235
8196
  ignoreCase?: boolean
@@ -7376,21 +8337,6 @@ type UseIsnan = []|[{
7376
8337
  enforceForSwitchCase?: boolean
7377
8338
  enforceForIndexOf?: boolean
7378
8339
  }]
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
8340
  // ----- valid-typeof -----
7395
8341
  type ValidTypeof = []|[{
7396
8342
  requireStringLiterals?: boolean
@@ -7418,7 +8364,7 @@ interface TypescriptOptions {
7418
8364
  */
7419
8365
  project: string | string[];
7420
8366
  }
7421
- type TestingFrameworks = "vitest" | "jest";
8367
+ type TestingFrameworks = "jest" | "vitest";
7422
8368
  type TestingUtilities = "testing-library";
7423
8369
  type ReactUtilities = "@tanstack/query";
7424
8370
  interface TestingOptions {
@@ -7440,60 +8386,67 @@ interface ReactOptions {
7440
8386
  */
7441
8387
  utilities?: ReactUtilities[];
7442
8388
  }
7443
- type FlatConfigItem = Omit<Linter.FlatConfig, "plugins"> & {
7444
- name?: string;
8389
+ type TypedConfigItem = {
8390
+ /**
8391
+ * 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.
8392
+ *
8393
+ * @see [Using plugins in your configuration](https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new#using-plugins-in-your-configuration)
8394
+ */
7445
8395
  plugins?: Record<string, unknown>;
7446
- rules?: Linter.RulesRecord & Rules;
7447
- };
8396
+ } & Omit<Linter.Config<Linter.RulesRecord & Rules>, "plugins">;
7448
8397
  interface Options {
7449
8398
  /**
7450
- * Are TypeScript rules are enabled?
8399
+ * Are astro rules enabled?
7451
8400
  * @default false
7452
8401
  */
7453
- typescript?: boolean | TypescriptOptions;
8402
+ astro?: boolean;
7454
8403
  /**
7455
- * Are React rules are enabled?
7456
- * @default false
8404
+ * Is auto detection enabled?
8405
+ * @default true
7457
8406
  */
7458
- react?: boolean | ReactOptions;
8407
+ autoDetect?: boolean;
7459
8408
  /**
7460
- * Are Jest rules are enabled?
7461
- * @default false
8409
+ * Additional configs to either extend or overrides configurations
8410
+ * @default []
8411
+ */
8412
+ configs?: Linter.Config[] | TypedConfigItem[];
8413
+ /**
8414
+ * Glob patterns for files that should be ignored
8415
+ * @see [Ignoring files](https://eslint.org/docs/latest/use/configure/ignore)
7462
8416
  */
8417
+ ignores?: string[];
7463
8418
  /**
7464
- * Are testing rules are enabled?
8419
+ * Are React rules enabled?
7465
8420
  * @default false
7466
8421
  */
7467
- testing?: boolean | TestingOptions;
8422
+ react?: boolean | ReactOptions;
7468
8423
  /**
7469
- * Are astro rules are enabled?
8424
+ * Are Jest rules enabled?
7470
8425
  * @default false
7471
8426
  */
7472
- astro?: boolean;
7473
8427
  /**
7474
- * Additional flat configs to either extend or overrides configurations
7475
- * @default []
8428
+ * Are testing rules enabled?
8429
+ * @default false
7476
8430
  */
7477
- overrides?: FlatConfigItem[];
8431
+ testing?: boolean | TestingOptions;
7478
8432
  /**
7479
- * Is auto detection enabled?
8433
+ * Are TypeScript rules enabled?
7480
8434
  * @default false
7481
8435
  */
7482
- autoDetect?: boolean;
8436
+ typescript?: boolean | TypescriptOptions;
7483
8437
  }
7484
8438
 
7485
- declare const jimmyDotCodes: ({ typescript, react, testing, astro, overrides, autoDetect, }?: Options) => (FlatConfigItem | _typescript_eslint_utils_ts_eslint.FlatConfig.Config | {
8439
+ declare const jimmyDotCodes: ({ astro, autoDetect, configs, ignores, react, testing, typescript, }?: Options, ...moreConfigs: Linter.Config[] | TypedConfigItem[]) => (Linter.Config<Linter.RulesRecord> | TypedConfigItem | _typescript_eslint_utils_ts_eslint.FlatConfig.Config | {
8440
+ name: string;
7486
8441
  settings: {
7487
8442
  "import-x/core-modules": string[];
7488
8443
  };
7489
- name: string;
7490
8444
  files?: undefined;
7491
- plugins?: undefined;
7492
8445
  languageOptions?: undefined;
8446
+ plugins?: undefined;
7493
8447
  processor?: undefined;
7494
8448
  rules?: undefined;
7495
8449
  } | {
7496
- name: string;
7497
8450
  files: string[];
7498
8451
  languageOptions: {
7499
8452
  globals: {
@@ -7503,8 +8456,12 @@ declare const jimmyDotCodes: ({ typescript, react, testing, astro, overrides, au
7503
8456
  readonly require: false;
7504
8457
  };
7505
8458
  };
8459
+ name: string;
7506
8460
  } | {
7507
8461
  name: string;
8462
+ rules: {
8463
+ 'import-x/named': "off";
8464
+ };
7508
8465
  settings: {
7509
8466
  "import-x/resolver": {
7510
8467
  typescript: boolean;
@@ -7515,434 +8472,60 @@ declare const jimmyDotCodes: ({ typescript, react, testing, astro, overrides, au
7515
8472
  "@typescript-eslint/parser": (".ts" | ".tsx" | ".cts" | ".mts")[];
7516
8473
  };
7517
8474
  };
7518
- rules: {
7519
- 'import-x/named': "off";
7520
- };
7521
8475
  } | {
7522
- name: string;
7523
- plugins: {
7524
- "import-x": eslint.ESLint.Plugin;
7525
- "simple-import-sort": eslint.ESLint.Plugin;
7526
- "node-import": eslint.ESLint.Plugin;
7527
- };
7528
- settings: {
7529
- "import-x/parsers": {
7530
- espree: string[];
7531
- };
7532
- };
7533
8476
  languageOptions: {
7534
8477
  parserOptions: {
7535
8478
  ecmaVersion: "latest";
7536
8479
  sourceType: "module";
7537
8480
  };
7538
8481
  };
8482
+ name: string;
8483
+ plugins: {
8484
+ "import-x": eslint.ESLint.Plugin;
8485
+ "node-import": eslint.ESLint.Plugin;
8486
+ };
7539
8487
  rules: {
8488
+ "import-x/first": "error";
7540
8489
  "import-x/namespace": "off";
7541
8490
  "import-x/newline-after-import": "error";
7542
- "import-x/first": "error";
7543
8491
  "import-x/no-absolute-path": "error";
7544
- "import-x/no-useless-path-segments": "error";
7545
8492
  "import-x/no-empty-named-blocks": "error";
7546
8493
  "import-x/no-self-import": "error";
7547
- "simple-import-sort/imports": "error";
7548
- "simple-import-sort/exports": "error";
7549
- "node-import/prefer-node-protocol": "error";
7550
- 'import-x/no-unresolved': "error";
7551
- 'import-x/named': "error";
7552
- 'import-x/default': "error";
7553
- 'import-x/export': "error";
7554
- 'import-x/no-named-as-default': "warn";
7555
- 'import-x/no-named-as-default-member': "warn";
7556
- 'import-x/no-duplicates': "warn";
7557
- };
7558
- } | {
7559
- name: string;
7560
- files: string[];
7561
- plugins: {
7562
- react: {
7563
- deprecatedRules: Partial<{
7564
- 'boolean-prop-naming': eslint.Rule.RuleModule;
7565
- 'button-has-type': eslint.Rule.RuleModule;
7566
- 'checked-requires-onchange-or-readonly': eslint.Rule.RuleModule;
7567
- 'default-props-match-prop-types': eslint.Rule.RuleModule;
7568
- 'destructuring-assignment': eslint.Rule.RuleModule;
7569
- 'display-name': eslint.Rule.RuleModule;
7570
- 'forbid-component-props': eslint.Rule.RuleModule;
7571
- 'forbid-dom-props': eslint.Rule.RuleModule;
7572
- 'forbid-elements': eslint.Rule.RuleModule;
7573
- 'forbid-foreign-prop-types': eslint.Rule.RuleModule;
7574
- 'forbid-prop-types': eslint.Rule.RuleModule;
7575
- 'forward-ref-uses-ref': {
7576
- meta: {
7577
- docs: {
7578
- description: string;
7579
- category: string;
7580
- recommended: boolean;
7581
- url: string;
7582
- };
7583
- messages: {
7584
- missingRefParameter: string;
7585
- addRefParameter: string;
7586
- removeForwardRef: string;
7587
- };
7588
- schema: undefined[];
7589
- type: string;
7590
- hasSuggestions: boolean;
7591
- };
7592
- create(context: any): {
7593
- "FunctionExpression, ArrowFunctionExpression"(node: any): void;
7594
- };
7595
- };
7596
- 'function-component-definition': eslint.Rule.RuleModule;
7597
- 'hook-use-state': eslint.Rule.RuleModule;
7598
- 'iframe-missing-sandbox': eslint.Rule.RuleModule;
7599
- 'jsx-boolean-value': eslint.Rule.RuleModule;
7600
- 'jsx-child-element-spacing': eslint.Rule.RuleModule;
7601
- 'jsx-closing-bracket-location': eslint.Rule.RuleModule;
7602
- 'jsx-closing-tag-location': eslint.Rule.RuleModule;
7603
- 'jsx-curly-spacing': eslint.Rule.RuleModule;
7604
- 'jsx-curly-newline': eslint.Rule.RuleModule;
7605
- 'jsx-equals-spacing': eslint.Rule.RuleModule;
7606
- 'jsx-filename-extension': eslint.Rule.RuleModule;
7607
- 'jsx-first-prop-new-line': eslint.Rule.RuleModule;
7608
- 'jsx-handler-names': eslint.Rule.RuleModule;
7609
- 'jsx-indent': eslint.Rule.RuleModule;
7610
- 'jsx-indent-props': eslint.Rule.RuleModule;
7611
- 'jsx-key': eslint.Rule.RuleModule;
7612
- 'jsx-max-depth': eslint.Rule.RuleModule;
7613
- 'jsx-max-props-per-line': eslint.Rule.RuleModule;
7614
- 'jsx-newline': eslint.Rule.RuleModule;
7615
- 'jsx-no-bind': eslint.Rule.RuleModule;
7616
- 'jsx-no-comment-textnodes': eslint.Rule.RuleModule;
7617
- 'jsx-no-constructed-context-values': eslint.Rule.RuleModule;
7618
- 'jsx-no-duplicate-props': eslint.Rule.RuleModule;
7619
- 'jsx-no-leaked-render': eslint.Rule.RuleModule;
7620
- 'jsx-no-literals': {
7621
- meta: eslint.Rule.RuleMetaData;
7622
- create(context: any): (false & {
7623
- Literal(node: any): void;
7624
- JSXAttribute(node: any): void;
7625
- JSXText(node: any): void;
7626
- TemplateLiteral(node: any): void;
7627
- }) | ({
7628
- ImportDeclaration(node: any): void;
7629
- VariableDeclaration(node: any): void;
7630
- } & {
7631
- Literal(node: any): void;
7632
- JSXAttribute(node: any): void;
7633
- JSXText(node: any): void;
7634
- TemplateLiteral(node: any): void;
7635
- });
7636
- };
7637
- 'jsx-no-script-url': eslint.Rule.RuleModule;
7638
- 'jsx-no-target-blank': eslint.Rule.RuleModule;
7639
- 'jsx-no-useless-fragment': eslint.Rule.RuleModule;
7640
- 'jsx-one-expression-per-line': eslint.Rule.RuleModule;
7641
- 'jsx-no-undef': eslint.Rule.RuleModule;
7642
- 'jsx-curly-brace-presence': eslint.Rule.RuleModule;
7643
- 'jsx-pascal-case': eslint.Rule.RuleModule;
7644
- 'jsx-fragments': eslint.Rule.RuleModule;
7645
- 'jsx-props-no-multi-spaces': eslint.Rule.RuleModule;
7646
- 'jsx-props-no-spreading': eslint.Rule.RuleModule;
7647
- 'jsx-props-no-spread-multi': {
7648
- meta: {
7649
- docs: {
7650
- description: string;
7651
- category: string;
7652
- recommended: boolean;
7653
- url: string;
7654
- };
7655
- messages: {
7656
- noMultiSpreading: string;
7657
- };
7658
- };
7659
- create(context: any): {
7660
- JSXOpeningElement(node: any): void;
7661
- };
7662
- };
7663
- 'jsx-sort-default-props': eslint.Rule.RuleModule;
7664
- 'jsx-sort-props': eslint.Rule.RuleModule;
7665
- 'jsx-space-before-closing': eslint.Rule.RuleModule;
7666
- 'jsx-tag-spacing': eslint.Rule.RuleModule;
7667
- 'jsx-uses-react': eslint.Rule.RuleModule;
7668
- 'jsx-uses-vars': eslint.Rule.RuleModule;
7669
- 'jsx-wrap-multilines': eslint.Rule.RuleModule;
7670
- 'no-invalid-html-attribute': eslint.Rule.RuleModule;
7671
- 'no-access-state-in-setstate': eslint.Rule.RuleModule;
7672
- 'no-adjacent-inline-elements': eslint.Rule.RuleModule;
7673
- 'no-array-index-key': eslint.Rule.RuleModule;
7674
- 'no-arrow-function-lifecycle': eslint.Rule.RuleModule;
7675
- 'no-children-prop': eslint.Rule.RuleModule;
7676
- 'no-danger': eslint.Rule.RuleModule;
7677
- 'no-danger-with-children': eslint.Rule.RuleModule;
7678
- 'no-deprecated': eslint.Rule.RuleModule;
7679
- 'no-did-mount-set-state': eslint.Rule.RuleModule;
7680
- 'no-did-update-set-state': eslint.Rule.RuleModule;
7681
- 'no-direct-mutation-state': eslint.Rule.RuleModule;
7682
- 'no-find-dom-node': eslint.Rule.RuleModule;
7683
- 'no-is-mounted': eslint.Rule.RuleModule;
7684
- 'no-multi-comp': eslint.Rule.RuleModule;
7685
- 'no-namespace': eslint.Rule.RuleModule;
7686
- 'no-set-state': eslint.Rule.RuleModule;
7687
- 'no-string-refs': eslint.Rule.RuleModule;
7688
- 'no-redundant-should-component-update': eslint.Rule.RuleModule;
7689
- 'no-render-return-value': eslint.Rule.RuleModule;
7690
- 'no-this-in-sfc': eslint.Rule.RuleModule;
7691
- 'no-typos': eslint.Rule.RuleModule;
7692
- 'no-unescaped-entities': eslint.Rule.RuleModule;
7693
- 'no-unknown-property': eslint.Rule.RuleModule;
7694
- 'no-unsafe': eslint.Rule.RuleModule;
7695
- 'no-unstable-nested-components': eslint.Rule.RuleModule;
7696
- 'no-unused-class-component-methods': eslint.Rule.RuleModule;
7697
- 'no-unused-prop-types': eslint.Rule.RuleModule;
7698
- 'no-unused-state': eslint.Rule.RuleModule;
7699
- 'no-object-type-as-default-prop': eslint.Rule.RuleModule;
7700
- 'no-will-update-set-state': eslint.Rule.RuleModule;
7701
- 'prefer-es6-class': eslint.Rule.RuleModule;
7702
- 'prefer-exact-props': eslint.Rule.RuleModule;
7703
- 'prefer-read-only-props': eslint.Rule.RuleModule;
7704
- 'prefer-stateless-function': eslint.Rule.RuleModule;
7705
- 'prop-types': eslint.Rule.RuleModule;
7706
- 'react-in-jsx-scope': eslint.Rule.RuleModule;
7707
- 'require-default-props': eslint.Rule.RuleModule;
7708
- 'require-optimization': eslint.Rule.RuleModule;
7709
- 'require-render-return': eslint.Rule.RuleModule;
7710
- 'self-closing-comp': eslint.Rule.RuleModule;
7711
- 'sort-comp': eslint.Rule.RuleModule;
7712
- 'sort-default-props': eslint.Rule.RuleModule;
7713
- 'sort-prop-types': eslint.Rule.RuleModule;
7714
- 'state-in-constructor': eslint.Rule.RuleModule;
7715
- 'static-property-placement': eslint.Rule.RuleModule;
7716
- 'style-prop-object': eslint.Rule.RuleModule;
7717
- 'void-dom-elements-no-children': eslint.Rule.RuleModule;
7718
- }>;
7719
- rules: {
7720
- 'boolean-prop-naming': eslint.Rule.RuleModule;
7721
- 'button-has-type': eslint.Rule.RuleModule;
7722
- 'checked-requires-onchange-or-readonly': eslint.Rule.RuleModule;
7723
- 'default-props-match-prop-types': eslint.Rule.RuleModule;
7724
- 'destructuring-assignment': eslint.Rule.RuleModule;
7725
- 'display-name': eslint.Rule.RuleModule;
7726
- 'forbid-component-props': eslint.Rule.RuleModule;
7727
- 'forbid-dom-props': eslint.Rule.RuleModule;
7728
- 'forbid-elements': eslint.Rule.RuleModule;
7729
- 'forbid-foreign-prop-types': eslint.Rule.RuleModule;
7730
- 'forbid-prop-types': eslint.Rule.RuleModule;
7731
- 'forward-ref-uses-ref': {
7732
- meta: {
7733
- docs: {
7734
- description: string;
7735
- category: string;
7736
- recommended: boolean;
7737
- url: string;
7738
- };
7739
- messages: {
7740
- missingRefParameter: string;
7741
- addRefParameter: string;
7742
- removeForwardRef: string;
7743
- };
7744
- schema: undefined[];
7745
- type: string;
7746
- hasSuggestions: boolean;
7747
- };
7748
- create(context: any): {
7749
- "FunctionExpression, ArrowFunctionExpression"(node: any): void;
7750
- };
7751
- };
7752
- 'function-component-definition': eslint.Rule.RuleModule;
7753
- 'hook-use-state': eslint.Rule.RuleModule;
7754
- 'iframe-missing-sandbox': eslint.Rule.RuleModule;
7755
- 'jsx-boolean-value': eslint.Rule.RuleModule;
7756
- 'jsx-child-element-spacing': eslint.Rule.RuleModule;
7757
- 'jsx-closing-bracket-location': eslint.Rule.RuleModule;
7758
- 'jsx-closing-tag-location': eslint.Rule.RuleModule;
7759
- 'jsx-curly-spacing': eslint.Rule.RuleModule;
7760
- 'jsx-curly-newline': eslint.Rule.RuleModule;
7761
- 'jsx-equals-spacing': eslint.Rule.RuleModule;
7762
- 'jsx-filename-extension': eslint.Rule.RuleModule;
7763
- 'jsx-first-prop-new-line': eslint.Rule.RuleModule;
7764
- 'jsx-handler-names': eslint.Rule.RuleModule;
7765
- 'jsx-indent': eslint.Rule.RuleModule;
7766
- 'jsx-indent-props': eslint.Rule.RuleModule;
7767
- 'jsx-key': eslint.Rule.RuleModule;
7768
- 'jsx-max-depth': eslint.Rule.RuleModule;
7769
- 'jsx-max-props-per-line': eslint.Rule.RuleModule;
7770
- 'jsx-newline': eslint.Rule.RuleModule;
7771
- 'jsx-no-bind': eslint.Rule.RuleModule;
7772
- 'jsx-no-comment-textnodes': eslint.Rule.RuleModule;
7773
- 'jsx-no-constructed-context-values': eslint.Rule.RuleModule;
7774
- 'jsx-no-duplicate-props': eslint.Rule.RuleModule;
7775
- 'jsx-no-leaked-render': eslint.Rule.RuleModule;
7776
- 'jsx-no-literals': {
7777
- meta: eslint.Rule.RuleMetaData;
7778
- create(context: any): (false & {
7779
- Literal(node: any): void;
7780
- JSXAttribute(node: any): void;
7781
- JSXText(node: any): void;
7782
- TemplateLiteral(node: any): void;
7783
- }) | ({
7784
- ImportDeclaration(node: any): void;
7785
- VariableDeclaration(node: any): void;
7786
- } & {
7787
- Literal(node: any): void;
7788
- JSXAttribute(node: any): void;
7789
- JSXText(node: any): void;
7790
- TemplateLiteral(node: any): void;
7791
- });
7792
- };
7793
- 'jsx-no-script-url': eslint.Rule.RuleModule;
7794
- 'jsx-no-target-blank': eslint.Rule.RuleModule;
7795
- 'jsx-no-useless-fragment': eslint.Rule.RuleModule;
7796
- 'jsx-one-expression-per-line': eslint.Rule.RuleModule;
7797
- 'jsx-no-undef': eslint.Rule.RuleModule;
7798
- 'jsx-curly-brace-presence': eslint.Rule.RuleModule;
7799
- 'jsx-pascal-case': eslint.Rule.RuleModule;
7800
- 'jsx-fragments': eslint.Rule.RuleModule;
7801
- 'jsx-props-no-multi-spaces': eslint.Rule.RuleModule;
7802
- 'jsx-props-no-spreading': eslint.Rule.RuleModule;
7803
- 'jsx-props-no-spread-multi': {
7804
- meta: {
7805
- docs: {
7806
- description: string;
7807
- category: string;
7808
- recommended: boolean;
7809
- url: string;
7810
- };
7811
- messages: {
7812
- noMultiSpreading: string;
7813
- };
7814
- };
7815
- create(context: any): {
7816
- JSXOpeningElement(node: any): void;
7817
- };
7818
- };
7819
- 'jsx-sort-default-props': eslint.Rule.RuleModule;
7820
- 'jsx-sort-props': eslint.Rule.RuleModule;
7821
- 'jsx-space-before-closing': eslint.Rule.RuleModule;
7822
- 'jsx-tag-spacing': eslint.Rule.RuleModule;
7823
- 'jsx-uses-react': eslint.Rule.RuleModule;
7824
- 'jsx-uses-vars': eslint.Rule.RuleModule;
7825
- 'jsx-wrap-multilines': eslint.Rule.RuleModule;
7826
- 'no-invalid-html-attribute': eslint.Rule.RuleModule;
7827
- 'no-access-state-in-setstate': eslint.Rule.RuleModule;
7828
- 'no-adjacent-inline-elements': eslint.Rule.RuleModule;
7829
- 'no-array-index-key': eslint.Rule.RuleModule;
7830
- 'no-arrow-function-lifecycle': eslint.Rule.RuleModule;
7831
- 'no-children-prop': eslint.Rule.RuleModule;
7832
- 'no-danger': eslint.Rule.RuleModule;
7833
- 'no-danger-with-children': eslint.Rule.RuleModule;
7834
- 'no-deprecated': eslint.Rule.RuleModule;
7835
- 'no-did-mount-set-state': eslint.Rule.RuleModule;
7836
- 'no-did-update-set-state': eslint.Rule.RuleModule;
7837
- 'no-direct-mutation-state': eslint.Rule.RuleModule;
7838
- 'no-find-dom-node': eslint.Rule.RuleModule;
7839
- 'no-is-mounted': eslint.Rule.RuleModule;
7840
- 'no-multi-comp': eslint.Rule.RuleModule;
7841
- 'no-namespace': eslint.Rule.RuleModule;
7842
- 'no-set-state': eslint.Rule.RuleModule;
7843
- 'no-string-refs': eslint.Rule.RuleModule;
7844
- 'no-redundant-should-component-update': eslint.Rule.RuleModule;
7845
- 'no-render-return-value': eslint.Rule.RuleModule;
7846
- 'no-this-in-sfc': eslint.Rule.RuleModule;
7847
- 'no-typos': eslint.Rule.RuleModule;
7848
- 'no-unescaped-entities': eslint.Rule.RuleModule;
7849
- 'no-unknown-property': eslint.Rule.RuleModule;
7850
- 'no-unsafe': eslint.Rule.RuleModule;
7851
- 'no-unstable-nested-components': eslint.Rule.RuleModule;
7852
- 'no-unused-class-component-methods': eslint.Rule.RuleModule;
7853
- 'no-unused-prop-types': eslint.Rule.RuleModule;
7854
- 'no-unused-state': eslint.Rule.RuleModule;
7855
- 'no-object-type-as-default-prop': eslint.Rule.RuleModule;
7856
- 'no-will-update-set-state': eslint.Rule.RuleModule;
7857
- 'prefer-es6-class': eslint.Rule.RuleModule;
7858
- 'prefer-exact-props': eslint.Rule.RuleModule;
7859
- 'prefer-read-only-props': eslint.Rule.RuleModule;
7860
- 'prefer-stateless-function': eslint.Rule.RuleModule;
7861
- 'prop-types': eslint.Rule.RuleModule;
7862
- 'react-in-jsx-scope': eslint.Rule.RuleModule;
7863
- 'require-default-props': eslint.Rule.RuleModule;
7864
- 'require-optimization': eslint.Rule.RuleModule;
7865
- 'require-render-return': eslint.Rule.RuleModule;
7866
- 'self-closing-comp': eslint.Rule.RuleModule;
7867
- 'sort-comp': eslint.Rule.RuleModule;
7868
- 'sort-default-props': eslint.Rule.RuleModule;
7869
- 'sort-prop-types': eslint.Rule.RuleModule;
7870
- 'state-in-constructor': eslint.Rule.RuleModule;
7871
- 'static-property-placement': eslint.Rule.RuleModule;
7872
- 'style-prop-object': eslint.Rule.RuleModule;
7873
- 'void-dom-elements-no-children': eslint.Rule.RuleModule;
7874
- };
7875
- configs: {
7876
- recommended: {
7877
- plugins: ["react"];
7878
- parserOptions: {
7879
- ecmaFeatures: {
7880
- jsx: boolean;
7881
- };
7882
- };
7883
- rules: {
7884
- "react/display-name": number;
7885
- "react/jsx-key": number;
7886
- "react/jsx-no-comment-textnodes": number;
7887
- "react/jsx-no-duplicate-props": number;
7888
- "react/jsx-no-target-blank": number;
7889
- "react/jsx-no-undef": number;
7890
- "react/jsx-uses-react": number;
7891
- "react/jsx-uses-vars": number;
7892
- "react/no-children-prop": number;
7893
- "react/no-danger-with-children": number;
7894
- "react/no-deprecated": number;
7895
- "react/no-direct-mutation-state": number;
7896
- "react/no-find-dom-node": number;
7897
- "react/no-is-mounted": number;
7898
- "react/no-render-return-value": number;
7899
- "react/no-string-refs": number;
7900
- "react/no-unescaped-entities": number;
7901
- "react/no-unknown-property": number;
7902
- "react/no-unsafe": number;
7903
- "react/prop-types": number;
7904
- "react/react-in-jsx-scope": number;
7905
- "react/require-render-return": number;
7906
- };
7907
- };
7908
- all: {
7909
- plugins: ["react"];
7910
- parserOptions: {
7911
- ecmaFeatures: {
7912
- jsx: boolean;
7913
- };
7914
- };
7915
- rules: Record<"boolean-prop-naming" | "button-has-type" | "checked-requires-onchange-or-readonly" | "default-props-match-prop-types" | "destructuring-assignment" | "display-name" | "forbid-component-props" | "forbid-dom-props" | "forbid-elements" | "forbid-foreign-prop-types" | "forbid-prop-types" | "prop-types" | "forward-ref-uses-ref" | "function-component-definition" | "hook-use-state" | "iframe-missing-sandbox" | "jsx-boolean-value" | "jsx-child-element-spacing" | "jsx-closing-bracket-location" | "jsx-closing-tag-location" | "jsx-curly-spacing" | "jsx-curly-newline" | "jsx-equals-spacing" | "jsx-filename-extension" | "jsx-first-prop-new-line" | "jsx-handler-names" | "jsx-indent" | "jsx-indent-props" | "jsx-key" | "jsx-max-depth" | "jsx-max-props-per-line" | "jsx-newline" | "jsx-no-bind" | "jsx-no-comment-textnodes" | "jsx-no-constructed-context-values" | "jsx-no-duplicate-props" | "jsx-no-leaked-render" | "jsx-no-literals" | "jsx-no-script-url" | "jsx-no-target-blank" | "jsx-no-useless-fragment" | "jsx-one-expression-per-line" | "jsx-no-undef" | "jsx-curly-brace-presence" | "jsx-pascal-case" | "jsx-fragments" | "jsx-props-no-multi-spaces" | "jsx-props-no-spreading" | "jsx-props-no-spread-multi" | "sort-default-props" | "jsx-sort-default-props" | "jsx-sort-props" | "jsx-tag-spacing" | "jsx-space-before-closing" | "jsx-uses-react" | "jsx-uses-vars" | "jsx-wrap-multilines" | "no-invalid-html-attribute" | "no-access-state-in-setstate" | "no-adjacent-inline-elements" | "no-array-index-key" | "no-arrow-function-lifecycle" | "no-children-prop" | "no-danger" | "no-danger-with-children" | "no-deprecated" | "no-direct-mutation-state" | "no-find-dom-node" | "no-is-mounted" | "no-multi-comp" | "no-namespace" | "no-set-state" | "no-string-refs" | "no-redundant-should-component-update" | "no-render-return-value" | "no-this-in-sfc" | "no-typos" | "no-unescaped-entities" | "no-unknown-property" | "no-unsafe" | "no-unstable-nested-components" | "no-unused-class-component-methods" | "no-unused-prop-types" | "no-unused-state" | "no-object-type-as-default-prop" | "prefer-es6-class" | "prefer-exact-props" | "prefer-read-only-props" | "prefer-stateless-function" | "react-in-jsx-scope" | "require-default-props" | "require-optimization" | "require-render-return" | "self-closing-comp" | "sort-comp" | "sort-prop-types" | "state-in-constructor" | "static-property-placement" | "style-prop-object" | "void-dom-elements-no-children" | "no-did-mount-set-state" | "no-did-update-set-state" | "no-will-update-set-state", 2 | "error">;
7916
- };
7917
- 'jsx-runtime': {
7918
- plugins: ["react"];
7919
- parserOptions: {
7920
- ecmaFeatures: {
7921
- jsx: boolean;
7922
- };
7923
- jsxPragma: any;
7924
- };
7925
- rules: {
7926
- "react/react-in-jsx-scope": number;
7927
- "react/jsx-uses-react": number;
7928
- };
7929
- };
7930
- } & {
7931
- flat?: Record<string, eslint_plugin_react.ReactFlatConfig>;
7932
- };
8494
+ "import-x/no-useless-path-segments": "error";
8495
+ "node-import/prefer-node-protocol": "error";
8496
+ 'import-x/no-unresolved': "error";
8497
+ 'import-x/named': "error";
8498
+ 'import-x/default': "error";
8499
+ 'import-x/export': "error";
8500
+ 'import-x/no-named-as-default': "warn";
8501
+ 'import-x/no-named-as-default-member': "warn";
8502
+ 'import-x/no-duplicates': "warn";
8503
+ };
8504
+ settings: {
8505
+ "import-x/parsers": {
8506
+ espree: string[];
7933
8507
  };
7934
- "react-hooks": typeof eslint_plugin_react_hooks;
7935
- "jsx-a11y": typeof eslint_plugin_jsx_a11y;
7936
- "react-refresh": typeof eslint_plugin_react_refresh;
7937
- "@tanstack/query"?: undefined;
7938
8508
  };
7939
- languageOptions: {
7940
- parserOptions: {
7941
- jsxPragma: null;
7942
- ecmaFeatures: {
7943
- jsx: true;
8509
+ } | {
8510
+ name: string;
8511
+ plugins: {
8512
+ perfectionist: eslint.ESLint.Plugin;
8513
+ };
8514
+ rules: {
8515
+ "perfectionist/sort-imports": ["error", {
8516
+ customGroups: {
8517
+ type: {};
8518
+ value: {};
7944
8519
  };
7945
- };
8520
+ environment: "node";
8521
+ groups: (string | string[])[];
8522
+ order: "asc";
8523
+ type: "natural";
8524
+ }];
8525
+ };
8526
+ } | {
8527
+ files: string[];
8528
+ languageOptions: {
7946
8529
  globals: {
7947
8530
  AbortController: false;
7948
8531
  AbortSignal: false;
@@ -9069,47 +9652,399 @@ declare const jimmyDotCodes: ({ typescript, react, testing, astro, overrides, au
9069
9652
  XRWebGLLayer: false;
9070
9653
  XSLTProcessor: false;
9071
9654
  };
9655
+ parserOptions: {
9656
+ ecmaFeatures: {
9657
+ jsx: true;
9658
+ };
9659
+ jsxPragma: null;
9660
+ };
9072
9661
  };
9073
- settings: {
9662
+ name: string;
9663
+ plugins: {
9664
+ "jsx-a11y": typeof eslint_plugin_jsx_a11y;
9074
9665
  react: {
9075
- version: string;
9666
+ deprecatedRules: Partial<{
9667
+ 'boolean-prop-naming': eslint.Rule.RuleModule;
9668
+ 'button-has-type': eslint.Rule.RuleModule;
9669
+ 'checked-requires-onchange-or-readonly': eslint.Rule.RuleModule;
9670
+ 'default-props-match-prop-types': eslint.Rule.RuleModule;
9671
+ 'destructuring-assignment': eslint.Rule.RuleModule;
9672
+ 'display-name': eslint.Rule.RuleModule;
9673
+ 'forbid-component-props': eslint.Rule.RuleModule;
9674
+ 'forbid-dom-props': eslint.Rule.RuleModule;
9675
+ 'forbid-elements': eslint.Rule.RuleModule;
9676
+ 'forbid-foreign-prop-types': eslint.Rule.RuleModule;
9677
+ 'forbid-prop-types': eslint.Rule.RuleModule;
9678
+ 'forward-ref-uses-ref': {
9679
+ meta: {
9680
+ docs: {
9681
+ description: string;
9682
+ category: string;
9683
+ recommended: boolean;
9684
+ url: string;
9685
+ };
9686
+ messages: {
9687
+ missingRefParameter: string;
9688
+ addRefParameter: string;
9689
+ removeForwardRef: string;
9690
+ };
9691
+ schema: undefined[];
9692
+ type: string;
9693
+ hasSuggestions: boolean;
9694
+ };
9695
+ create(context: any): {
9696
+ "FunctionExpression, ArrowFunctionExpression"(node: any): void;
9697
+ };
9698
+ };
9699
+ 'function-component-definition': eslint.Rule.RuleModule;
9700
+ 'hook-use-state': eslint.Rule.RuleModule;
9701
+ 'iframe-missing-sandbox': eslint.Rule.RuleModule;
9702
+ 'jsx-boolean-value': eslint.Rule.RuleModule;
9703
+ 'jsx-child-element-spacing': eslint.Rule.RuleModule;
9704
+ 'jsx-closing-bracket-location': eslint.Rule.RuleModule;
9705
+ 'jsx-closing-tag-location': eslint.Rule.RuleModule;
9706
+ 'jsx-curly-spacing': eslint.Rule.RuleModule;
9707
+ 'jsx-curly-newline': eslint.Rule.RuleModule;
9708
+ 'jsx-equals-spacing': eslint.Rule.RuleModule;
9709
+ 'jsx-filename-extension': eslint.Rule.RuleModule;
9710
+ 'jsx-first-prop-new-line': eslint.Rule.RuleModule;
9711
+ 'jsx-handler-names': eslint.Rule.RuleModule;
9712
+ 'jsx-indent': eslint.Rule.RuleModule;
9713
+ 'jsx-indent-props': eslint.Rule.RuleModule;
9714
+ 'jsx-key': eslint.Rule.RuleModule;
9715
+ 'jsx-max-depth': eslint.Rule.RuleModule;
9716
+ 'jsx-max-props-per-line': eslint.Rule.RuleModule;
9717
+ 'jsx-newline': eslint.Rule.RuleModule;
9718
+ 'jsx-no-bind': eslint.Rule.RuleModule;
9719
+ 'jsx-no-comment-textnodes': eslint.Rule.RuleModule;
9720
+ 'jsx-no-constructed-context-values': eslint.Rule.RuleModule;
9721
+ 'jsx-no-duplicate-props': eslint.Rule.RuleModule;
9722
+ 'jsx-no-leaked-render': eslint.Rule.RuleModule;
9723
+ 'jsx-no-literals': {
9724
+ meta: eslint.Rule.RuleMetaData;
9725
+ create(context: any): (false & {
9726
+ Literal(node: any): void;
9727
+ JSXAttribute(node: any): void;
9728
+ JSXText(node: any): void;
9729
+ TemplateLiteral(node: any): void;
9730
+ }) | ({
9731
+ ImportDeclaration(node: any): void;
9732
+ VariableDeclaration(node: any): void;
9733
+ } & {
9734
+ Literal(node: any): void;
9735
+ JSXAttribute(node: any): void;
9736
+ JSXText(node: any): void;
9737
+ TemplateLiteral(node: any): void;
9738
+ });
9739
+ };
9740
+ 'jsx-no-script-url': eslint.Rule.RuleModule;
9741
+ 'jsx-no-target-blank': eslint.Rule.RuleModule;
9742
+ 'jsx-no-useless-fragment': eslint.Rule.RuleModule;
9743
+ 'jsx-one-expression-per-line': eslint.Rule.RuleModule;
9744
+ 'jsx-no-undef': eslint.Rule.RuleModule;
9745
+ 'jsx-curly-brace-presence': eslint.Rule.RuleModule;
9746
+ 'jsx-pascal-case': eslint.Rule.RuleModule;
9747
+ 'jsx-fragments': eslint.Rule.RuleModule;
9748
+ 'jsx-props-no-multi-spaces': eslint.Rule.RuleModule;
9749
+ 'jsx-props-no-spreading': eslint.Rule.RuleModule;
9750
+ 'jsx-props-no-spread-multi': {
9751
+ meta: {
9752
+ docs: {
9753
+ description: string;
9754
+ category: string;
9755
+ recommended: boolean;
9756
+ url: string;
9757
+ };
9758
+ messages: {
9759
+ noMultiSpreading: string;
9760
+ };
9761
+ };
9762
+ create(context: any): {
9763
+ JSXOpeningElement(node: any): void;
9764
+ };
9765
+ };
9766
+ 'jsx-sort-default-props': eslint.Rule.RuleModule;
9767
+ 'jsx-sort-props': eslint.Rule.RuleModule;
9768
+ 'jsx-space-before-closing': eslint.Rule.RuleModule;
9769
+ 'jsx-tag-spacing': eslint.Rule.RuleModule;
9770
+ 'jsx-uses-react': eslint.Rule.RuleModule;
9771
+ 'jsx-uses-vars': eslint.Rule.RuleModule;
9772
+ 'jsx-wrap-multilines': eslint.Rule.RuleModule;
9773
+ 'no-invalid-html-attribute': eslint.Rule.RuleModule;
9774
+ 'no-access-state-in-setstate': eslint.Rule.RuleModule;
9775
+ 'no-adjacent-inline-elements': eslint.Rule.RuleModule;
9776
+ 'no-array-index-key': eslint.Rule.RuleModule;
9777
+ 'no-arrow-function-lifecycle': eslint.Rule.RuleModule;
9778
+ 'no-children-prop': eslint.Rule.RuleModule;
9779
+ 'no-danger': eslint.Rule.RuleModule;
9780
+ 'no-danger-with-children': eslint.Rule.RuleModule;
9781
+ 'no-deprecated': eslint.Rule.RuleModule;
9782
+ 'no-did-mount-set-state': eslint.Rule.RuleModule;
9783
+ 'no-did-update-set-state': eslint.Rule.RuleModule;
9784
+ 'no-direct-mutation-state': eslint.Rule.RuleModule;
9785
+ 'no-find-dom-node': eslint.Rule.RuleModule;
9786
+ 'no-is-mounted': eslint.Rule.RuleModule;
9787
+ 'no-multi-comp': eslint.Rule.RuleModule;
9788
+ 'no-namespace': eslint.Rule.RuleModule;
9789
+ 'no-set-state': eslint.Rule.RuleModule;
9790
+ 'no-string-refs': eslint.Rule.RuleModule;
9791
+ 'no-redundant-should-component-update': eslint.Rule.RuleModule;
9792
+ 'no-render-return-value': eslint.Rule.RuleModule;
9793
+ 'no-this-in-sfc': eslint.Rule.RuleModule;
9794
+ 'no-typos': eslint.Rule.RuleModule;
9795
+ 'no-unescaped-entities': eslint.Rule.RuleModule;
9796
+ 'no-unknown-property': eslint.Rule.RuleModule;
9797
+ 'no-unsafe': eslint.Rule.RuleModule;
9798
+ 'no-unstable-nested-components': eslint.Rule.RuleModule;
9799
+ 'no-unused-class-component-methods': eslint.Rule.RuleModule;
9800
+ 'no-unused-prop-types': eslint.Rule.RuleModule;
9801
+ 'no-unused-state': eslint.Rule.RuleModule;
9802
+ 'no-object-type-as-default-prop': eslint.Rule.RuleModule;
9803
+ 'no-will-update-set-state': eslint.Rule.RuleModule;
9804
+ 'prefer-es6-class': eslint.Rule.RuleModule;
9805
+ 'prefer-exact-props': eslint.Rule.RuleModule;
9806
+ 'prefer-read-only-props': eslint.Rule.RuleModule;
9807
+ 'prefer-stateless-function': eslint.Rule.RuleModule;
9808
+ 'prop-types': eslint.Rule.RuleModule;
9809
+ 'react-in-jsx-scope': eslint.Rule.RuleModule;
9810
+ 'require-default-props': eslint.Rule.RuleModule;
9811
+ 'require-optimization': eslint.Rule.RuleModule;
9812
+ 'require-render-return': eslint.Rule.RuleModule;
9813
+ 'self-closing-comp': eslint.Rule.RuleModule;
9814
+ 'sort-comp': eslint.Rule.RuleModule;
9815
+ 'sort-default-props': eslint.Rule.RuleModule;
9816
+ 'sort-prop-types': eslint.Rule.RuleModule;
9817
+ 'state-in-constructor': eslint.Rule.RuleModule;
9818
+ 'static-property-placement': eslint.Rule.RuleModule;
9819
+ 'style-prop-object': eslint.Rule.RuleModule;
9820
+ 'void-dom-elements-no-children': eslint.Rule.RuleModule;
9821
+ }>;
9822
+ rules: {
9823
+ 'boolean-prop-naming': eslint.Rule.RuleModule;
9824
+ 'button-has-type': eslint.Rule.RuleModule;
9825
+ 'checked-requires-onchange-or-readonly': eslint.Rule.RuleModule;
9826
+ 'default-props-match-prop-types': eslint.Rule.RuleModule;
9827
+ 'destructuring-assignment': eslint.Rule.RuleModule;
9828
+ 'display-name': eslint.Rule.RuleModule;
9829
+ 'forbid-component-props': eslint.Rule.RuleModule;
9830
+ 'forbid-dom-props': eslint.Rule.RuleModule;
9831
+ 'forbid-elements': eslint.Rule.RuleModule;
9832
+ 'forbid-foreign-prop-types': eslint.Rule.RuleModule;
9833
+ 'forbid-prop-types': eslint.Rule.RuleModule;
9834
+ 'forward-ref-uses-ref': {
9835
+ meta: {
9836
+ docs: {
9837
+ description: string;
9838
+ category: string;
9839
+ recommended: boolean;
9840
+ url: string;
9841
+ };
9842
+ messages: {
9843
+ missingRefParameter: string;
9844
+ addRefParameter: string;
9845
+ removeForwardRef: string;
9846
+ };
9847
+ schema: undefined[];
9848
+ type: string;
9849
+ hasSuggestions: boolean;
9850
+ };
9851
+ create(context: any): {
9852
+ "FunctionExpression, ArrowFunctionExpression"(node: any): void;
9853
+ };
9854
+ };
9855
+ 'function-component-definition': eslint.Rule.RuleModule;
9856
+ 'hook-use-state': eslint.Rule.RuleModule;
9857
+ 'iframe-missing-sandbox': eslint.Rule.RuleModule;
9858
+ 'jsx-boolean-value': eslint.Rule.RuleModule;
9859
+ 'jsx-child-element-spacing': eslint.Rule.RuleModule;
9860
+ 'jsx-closing-bracket-location': eslint.Rule.RuleModule;
9861
+ 'jsx-closing-tag-location': eslint.Rule.RuleModule;
9862
+ 'jsx-curly-spacing': eslint.Rule.RuleModule;
9863
+ 'jsx-curly-newline': eslint.Rule.RuleModule;
9864
+ 'jsx-equals-spacing': eslint.Rule.RuleModule;
9865
+ 'jsx-filename-extension': eslint.Rule.RuleModule;
9866
+ 'jsx-first-prop-new-line': eslint.Rule.RuleModule;
9867
+ 'jsx-handler-names': eslint.Rule.RuleModule;
9868
+ 'jsx-indent': eslint.Rule.RuleModule;
9869
+ 'jsx-indent-props': eslint.Rule.RuleModule;
9870
+ 'jsx-key': eslint.Rule.RuleModule;
9871
+ 'jsx-max-depth': eslint.Rule.RuleModule;
9872
+ 'jsx-max-props-per-line': eslint.Rule.RuleModule;
9873
+ 'jsx-newline': eslint.Rule.RuleModule;
9874
+ 'jsx-no-bind': eslint.Rule.RuleModule;
9875
+ 'jsx-no-comment-textnodes': eslint.Rule.RuleModule;
9876
+ 'jsx-no-constructed-context-values': eslint.Rule.RuleModule;
9877
+ 'jsx-no-duplicate-props': eslint.Rule.RuleModule;
9878
+ 'jsx-no-leaked-render': eslint.Rule.RuleModule;
9879
+ 'jsx-no-literals': {
9880
+ meta: eslint.Rule.RuleMetaData;
9881
+ create(context: any): (false & {
9882
+ Literal(node: any): void;
9883
+ JSXAttribute(node: any): void;
9884
+ JSXText(node: any): void;
9885
+ TemplateLiteral(node: any): void;
9886
+ }) | ({
9887
+ ImportDeclaration(node: any): void;
9888
+ VariableDeclaration(node: any): void;
9889
+ } & {
9890
+ Literal(node: any): void;
9891
+ JSXAttribute(node: any): void;
9892
+ JSXText(node: any): void;
9893
+ TemplateLiteral(node: any): void;
9894
+ });
9895
+ };
9896
+ 'jsx-no-script-url': eslint.Rule.RuleModule;
9897
+ 'jsx-no-target-blank': eslint.Rule.RuleModule;
9898
+ 'jsx-no-useless-fragment': eslint.Rule.RuleModule;
9899
+ 'jsx-one-expression-per-line': eslint.Rule.RuleModule;
9900
+ 'jsx-no-undef': eslint.Rule.RuleModule;
9901
+ 'jsx-curly-brace-presence': eslint.Rule.RuleModule;
9902
+ 'jsx-pascal-case': eslint.Rule.RuleModule;
9903
+ 'jsx-fragments': eslint.Rule.RuleModule;
9904
+ 'jsx-props-no-multi-spaces': eslint.Rule.RuleModule;
9905
+ 'jsx-props-no-spreading': eslint.Rule.RuleModule;
9906
+ 'jsx-props-no-spread-multi': {
9907
+ meta: {
9908
+ docs: {
9909
+ description: string;
9910
+ category: string;
9911
+ recommended: boolean;
9912
+ url: string;
9913
+ };
9914
+ messages: {
9915
+ noMultiSpreading: string;
9916
+ };
9917
+ };
9918
+ create(context: any): {
9919
+ JSXOpeningElement(node: any): void;
9920
+ };
9921
+ };
9922
+ 'jsx-sort-default-props': eslint.Rule.RuleModule;
9923
+ 'jsx-sort-props': eslint.Rule.RuleModule;
9924
+ 'jsx-space-before-closing': eslint.Rule.RuleModule;
9925
+ 'jsx-tag-spacing': eslint.Rule.RuleModule;
9926
+ 'jsx-uses-react': eslint.Rule.RuleModule;
9927
+ 'jsx-uses-vars': eslint.Rule.RuleModule;
9928
+ 'jsx-wrap-multilines': eslint.Rule.RuleModule;
9929
+ 'no-invalid-html-attribute': eslint.Rule.RuleModule;
9930
+ 'no-access-state-in-setstate': eslint.Rule.RuleModule;
9931
+ 'no-adjacent-inline-elements': eslint.Rule.RuleModule;
9932
+ 'no-array-index-key': eslint.Rule.RuleModule;
9933
+ 'no-arrow-function-lifecycle': eslint.Rule.RuleModule;
9934
+ 'no-children-prop': eslint.Rule.RuleModule;
9935
+ 'no-danger': eslint.Rule.RuleModule;
9936
+ 'no-danger-with-children': eslint.Rule.RuleModule;
9937
+ 'no-deprecated': eslint.Rule.RuleModule;
9938
+ 'no-did-mount-set-state': eslint.Rule.RuleModule;
9939
+ 'no-did-update-set-state': eslint.Rule.RuleModule;
9940
+ 'no-direct-mutation-state': eslint.Rule.RuleModule;
9941
+ 'no-find-dom-node': eslint.Rule.RuleModule;
9942
+ 'no-is-mounted': eslint.Rule.RuleModule;
9943
+ 'no-multi-comp': eslint.Rule.RuleModule;
9944
+ 'no-namespace': eslint.Rule.RuleModule;
9945
+ 'no-set-state': eslint.Rule.RuleModule;
9946
+ 'no-string-refs': eslint.Rule.RuleModule;
9947
+ 'no-redundant-should-component-update': eslint.Rule.RuleModule;
9948
+ 'no-render-return-value': eslint.Rule.RuleModule;
9949
+ 'no-this-in-sfc': eslint.Rule.RuleModule;
9950
+ 'no-typos': eslint.Rule.RuleModule;
9951
+ 'no-unescaped-entities': eslint.Rule.RuleModule;
9952
+ 'no-unknown-property': eslint.Rule.RuleModule;
9953
+ 'no-unsafe': eslint.Rule.RuleModule;
9954
+ 'no-unstable-nested-components': eslint.Rule.RuleModule;
9955
+ 'no-unused-class-component-methods': eslint.Rule.RuleModule;
9956
+ 'no-unused-prop-types': eslint.Rule.RuleModule;
9957
+ 'no-unused-state': eslint.Rule.RuleModule;
9958
+ 'no-object-type-as-default-prop': eslint.Rule.RuleModule;
9959
+ 'no-will-update-set-state': eslint.Rule.RuleModule;
9960
+ 'prefer-es6-class': eslint.Rule.RuleModule;
9961
+ 'prefer-exact-props': eslint.Rule.RuleModule;
9962
+ 'prefer-read-only-props': eslint.Rule.RuleModule;
9963
+ 'prefer-stateless-function': eslint.Rule.RuleModule;
9964
+ 'prop-types': eslint.Rule.RuleModule;
9965
+ 'react-in-jsx-scope': eslint.Rule.RuleModule;
9966
+ 'require-default-props': eslint.Rule.RuleModule;
9967
+ 'require-optimization': eslint.Rule.RuleModule;
9968
+ 'require-render-return': eslint.Rule.RuleModule;
9969
+ 'self-closing-comp': eslint.Rule.RuleModule;
9970
+ 'sort-comp': eslint.Rule.RuleModule;
9971
+ 'sort-default-props': eslint.Rule.RuleModule;
9972
+ 'sort-prop-types': eslint.Rule.RuleModule;
9973
+ 'state-in-constructor': eslint.Rule.RuleModule;
9974
+ 'static-property-placement': eslint.Rule.RuleModule;
9975
+ 'style-prop-object': eslint.Rule.RuleModule;
9976
+ 'void-dom-elements-no-children': eslint.Rule.RuleModule;
9977
+ };
9978
+ configs: {
9979
+ recommended: {
9980
+ plugins: ["react"];
9981
+ parserOptions: {
9982
+ ecmaFeatures: {
9983
+ jsx: boolean;
9984
+ };
9985
+ };
9986
+ rules: {
9987
+ "react/display-name": number;
9988
+ "react/jsx-key": number;
9989
+ "react/jsx-no-comment-textnodes": number;
9990
+ "react/jsx-no-duplicate-props": number;
9991
+ "react/jsx-no-target-blank": number;
9992
+ "react/jsx-no-undef": number;
9993
+ "react/jsx-uses-react": number;
9994
+ "react/jsx-uses-vars": number;
9995
+ "react/no-children-prop": number;
9996
+ "react/no-danger-with-children": number;
9997
+ "react/no-deprecated": number;
9998
+ "react/no-direct-mutation-state": number;
9999
+ "react/no-find-dom-node": number;
10000
+ "react/no-is-mounted": number;
10001
+ "react/no-render-return-value": number;
10002
+ "react/no-string-refs": number;
10003
+ "react/no-unescaped-entities": number;
10004
+ "react/no-unknown-property": number;
10005
+ "react/no-unsafe": number;
10006
+ "react/prop-types": number;
10007
+ "react/react-in-jsx-scope": number;
10008
+ "react/require-render-return": number;
10009
+ };
10010
+ };
10011
+ all: {
10012
+ plugins: ["react"];
10013
+ parserOptions: {
10014
+ ecmaFeatures: {
10015
+ jsx: boolean;
10016
+ };
10017
+ };
10018
+ rules: Record<"boolean-prop-naming" | "button-has-type" | "checked-requires-onchange-or-readonly" | "default-props-match-prop-types" | "destructuring-assignment" | "display-name" | "forbid-component-props" | "forbid-dom-props" | "forbid-elements" | "forbid-foreign-prop-types" | "forbid-prop-types" | "prop-types" | "forward-ref-uses-ref" | "function-component-definition" | "hook-use-state" | "iframe-missing-sandbox" | "jsx-boolean-value" | "jsx-child-element-spacing" | "jsx-closing-bracket-location" | "jsx-closing-tag-location" | "jsx-curly-spacing" | "jsx-curly-newline" | "jsx-equals-spacing" | "jsx-filename-extension" | "jsx-first-prop-new-line" | "jsx-handler-names" | "jsx-indent" | "jsx-indent-props" | "jsx-key" | "jsx-max-depth" | "jsx-max-props-per-line" | "jsx-newline" | "jsx-no-bind" | "jsx-no-comment-textnodes" | "jsx-no-constructed-context-values" | "jsx-no-duplicate-props" | "jsx-no-leaked-render" | "jsx-no-literals" | "jsx-no-script-url" | "jsx-no-target-blank" | "jsx-no-useless-fragment" | "jsx-one-expression-per-line" | "jsx-no-undef" | "jsx-curly-brace-presence" | "jsx-pascal-case" | "jsx-fragments" | "jsx-props-no-multi-spaces" | "jsx-props-no-spreading" | "jsx-props-no-spread-multi" | "sort-default-props" | "jsx-sort-default-props" | "jsx-sort-props" | "jsx-tag-spacing" | "jsx-space-before-closing" | "jsx-uses-react" | "jsx-uses-vars" | "jsx-wrap-multilines" | "no-invalid-html-attribute" | "no-access-state-in-setstate" | "no-adjacent-inline-elements" | "no-array-index-key" | "no-arrow-function-lifecycle" | "no-children-prop" | "no-danger" | "no-danger-with-children" | "no-deprecated" | "no-direct-mutation-state" | "no-find-dom-node" | "no-is-mounted" | "no-multi-comp" | "no-namespace" | "no-set-state" | "no-string-refs" | "no-redundant-should-component-update" | "no-render-return-value" | "no-this-in-sfc" | "no-typos" | "no-unescaped-entities" | "no-unknown-property" | "no-unsafe" | "no-unstable-nested-components" | "no-unused-class-component-methods" | "no-unused-prop-types" | "no-unused-state" | "no-object-type-as-default-prop" | "prefer-es6-class" | "prefer-exact-props" | "prefer-read-only-props" | "prefer-stateless-function" | "react-in-jsx-scope" | "require-default-props" | "require-optimization" | "require-render-return" | "self-closing-comp" | "sort-comp" | "sort-prop-types" | "state-in-constructor" | "static-property-placement" | "style-prop-object" | "void-dom-elements-no-children" | "no-did-mount-set-state" | "no-did-update-set-state" | "no-will-update-set-state", 2 | "error">;
10019
+ };
10020
+ 'jsx-runtime': {
10021
+ plugins: ["react"];
10022
+ parserOptions: {
10023
+ ecmaFeatures: {
10024
+ jsx: boolean;
10025
+ };
10026
+ jsxPragma: any;
10027
+ };
10028
+ rules: {
10029
+ "react/react-in-jsx-scope": number;
10030
+ "react/jsx-uses-react": number;
10031
+ };
10032
+ };
10033
+ } & {
10034
+ flat?: Record<string, eslint_plugin_react.ReactFlatConfig>;
10035
+ };
9076
10036
  };
10037
+ "react-hooks": typeof eslint_plugin_react_hooks;
10038
+ "react-refresh": typeof eslint_plugin_react_refresh;
10039
+ "@tanstack/query"?: undefined;
9077
10040
  };
9078
10041
  rules: {
9079
- "react-hooks/exhaustive-deps": "error";
9080
- "react-hooks/rules-of-hooks": "error";
9081
- "react/display-name": "error";
9082
- "react/jsx-key": "error";
9083
- "react/jsx-no-comment-textnodes": "error";
9084
- "react/jsx-no-duplicate-props": "error";
9085
- "react/jsx-no-target-blank": "error";
9086
- "react/jsx-no-undef": "error";
9087
- "react/jsx-uses-vars": "error";
9088
- "react/no-children-prop": "error";
9089
- "react/no-danger-with-children": "error";
9090
- "react/no-deprecated": "error";
9091
- "react/no-direct-mutation-state": "error";
9092
- "react/no-find-dom-node": "error";
9093
- "react/no-is-mounted": "error";
9094
- "react/no-render-return-value": "error";
9095
- "react/no-string-refs": "error";
9096
- "react/no-unescaped-entities": "error";
9097
- "react/no-unknown-property": "error";
9098
- "react/no-unsafe": "off";
9099
- "react/prop-types": "error";
9100
- "react/require-render-return": "error";
9101
- "react/react-in-jsx-scope": "off";
9102
- "react/jsx-uses-react": "off";
9103
- "react-refresh/only-export-components": ["warn", {
9104
- allowConstantExport: true;
9105
- }];
9106
- "react/self-closing-comp": "error";
9107
- "react/jsx-curly-brace-presence": "error";
9108
10042
  "react/boolean-prop-naming": "off";
9109
10043
  "react/button-has-type": "error";
9110
10044
  "react/checked-requires-onchange-or-readonly": "error";
9111
10045
  "react/default-props-match-prop-types": "error";
9112
10046
  "react/destructuring-assignment": "off";
10047
+ "react/display-name": "error";
9113
10048
  "react/forbid-component-props": "off";
9114
10049
  "react/forbid-dom-props": "off";
9115
10050
  "react/forbid-elements": "off";
@@ -9119,15 +10054,21 @@ declare const jimmyDotCodes: ({ typescript, react, testing, astro, overrides, au
9119
10054
  "react/hook-use-state": "error";
9120
10055
  "react/iframe-missing-sandbox": "error";
9121
10056
  "react/jsx-boolean-value": ["error", "never"];
10057
+ "react/jsx-curly-brace-presence": "error";
9122
10058
  "react/jsx-filename-extension": "off";
9123
10059
  "react/jsx-fragments": ["error", "syntax"];
9124
10060
  "react/jsx-handler-names": "off";
10061
+ "react/jsx-key": "error";
9125
10062
  "react/jsx-max-depth": "off";
9126
10063
  "react/jsx-no-bind": "off";
10064
+ "react/jsx-no-comment-textnodes": "error";
9127
10065
  "react/jsx-no-constructed-context-values": "error";
10066
+ "react/jsx-no-duplicate-props": "error";
9128
10067
  "react/jsx-no-leaked-render": "error";
9129
10068
  "react/jsx-no-literals": "off";
9130
10069
  "react/jsx-no-script-url": "error";
10070
+ "react/jsx-no-target-blank": "error";
10071
+ "react/jsx-no-undef": "error";
9131
10072
  "react/jsx-no-useless-fragment": "error";
9132
10073
  "react/jsx-one-expression-per-line": "off";
9133
10074
  "react/jsx-pascal-case": ["error", {
@@ -9136,21 +10077,34 @@ declare const jimmyDotCodes: ({ typescript, react, testing, astro, overrides, au
9136
10077
  "react/jsx-props-no-spreading": "off";
9137
10078
  "react/jsx-sort-default-props": "off";
9138
10079
  "react/jsx-sort-props": "off";
10080
+ "react/jsx-uses-react": "off";
10081
+ "react/jsx-uses-vars": "error";
9139
10082
  "react/no-access-state-in-setstate": "error";
9140
10083
  "react/no-adjacent-inline-elements": "off";
9141
10084
  "react/no-array-index-key": "off";
9142
10085
  "react/no-arrow-function-lifecycle": "error";
10086
+ "react/no-children-prop": "error";
9143
10087
  "react/no-danger": "off";
10088
+ "react/no-danger-with-children": "error";
10089
+ "react/no-deprecated": "error";
9144
10090
  "react/no-did-mount-set-state": "error";
9145
10091
  "react/no-did-update-set-state": "error";
10092
+ "react/no-direct-mutation-state": "error";
10093
+ "react/no-find-dom-node": "error";
9146
10094
  "react/no-invalid-html-attribute": "error";
10095
+ "react/no-is-mounted": "error";
9147
10096
  "react/no-multi-comp": "off";
9148
10097
  "react/no-namespace": "error";
9149
10098
  "react/no-object-type-as-default-prop": "off";
9150
10099
  "react/no-redundant-should-component-update": "error";
10100
+ "react/no-render-return-value": "error";
9151
10101
  "react/no-set-state": "off";
10102
+ "react/no-string-refs": "error";
9152
10103
  "react/no-this-in-sfc": "error";
9153
10104
  "react/no-typos": "error";
10105
+ "react/no-unescaped-entities": "error";
10106
+ "react/no-unknown-property": "error";
10107
+ "react/no-unsafe": "off";
9154
10108
  "react/no-unstable-nested-components": "error";
9155
10109
  "react/no-unused-class-component-methods": "error";
9156
10110
  "react/no-unused-prop-types": "error";
@@ -9160,8 +10114,12 @@ declare const jimmyDotCodes: ({ typescript, react, testing, astro, overrides, au
9160
10114
  "react/prefer-exact-props": "off";
9161
10115
  "react/prefer-read-only-props": "off";
9162
10116
  "react/prefer-stateless-function": "off";
10117
+ "react/prop-types": "error";
10118
+ "react/react-in-jsx-scope": "off";
9163
10119
  "react/require-default-props": "off";
9164
10120
  "react/require-optimization": "off";
10121
+ "react/require-render-return": "error";
10122
+ "react/self-closing-comp": "error";
9165
10123
  "react/sort-comp": "off";
9166
10124
  "react/sort-default-props": "off";
9167
10125
  "react/sort-prop-types": "off";
@@ -9169,15 +10127,25 @@ declare const jimmyDotCodes: ({ typescript, react, testing, astro, overrides, au
9169
10127
  "react/static-property-placement": "off";
9170
10128
  "react/style-prop-object": "error";
9171
10129
  "react/void-dom-elements-no-children": "error";
10130
+ "react-hooks/exhaustive-deps": "error";
10131
+ "react-hooks/rules-of-hooks": "error";
10132
+ "react-refresh/only-export-components": ["warn", {
10133
+ allowConstantExport: true;
10134
+ }];
10135
+ };
10136
+ settings: {
10137
+ react: {
10138
+ version: string;
10139
+ };
9172
10140
  };
9173
10141
  } | {
9174
- name: string;
9175
10142
  files: string[];
10143
+ name: string;
9176
10144
  plugins: {
9177
10145
  "@tanstack/query": eslint.ESLint.Plugin;
10146
+ "jsx-a11y"?: undefined;
9178
10147
  react?: undefined;
9179
10148
  "react-hooks"?: undefined;
9180
- "jsx-a11y"?: undefined;
9181
10149
  "react-refresh"?: undefined;
9182
10150
  };
9183
10151
  rules: {
@@ -9188,37 +10156,37 @@ declare const jimmyDotCodes: ({ typescript, react, testing, astro, overrides, au
9188
10156
  languageOptions?: undefined;
9189
10157
  settings?: undefined;
9190
10158
  } | {
9191
- name: string;
9192
10159
  files: string[];
10160
+ name: string;
9193
10161
  plugins: {
9194
- "testing-library": typeof eslint_plugin_testing_library;
9195
10162
  "jest-dom": typeof eslint_plugin_jest_dom;
10163
+ "testing-library": typeof eslint_plugin_testing_library;
9196
10164
  };
9197
10165
  rules: {
9198
- [x: string]: eslint.Linter.RuleEntry<any[]>;
10166
+ [x: string]: Linter.RuleEntry<any[]>;
9199
10167
  "testing-library/prefer-screen-queries"?: undefined;
9200
10168
  };
9201
10169
  } | {
9202
- name: string;
9203
10170
  files: string[];
10171
+ name: string;
9204
10172
  rules: {
9205
10173
  "testing-library/prefer-screen-queries": "off";
9206
10174
  };
9207
10175
  plugins?: undefined;
9208
10176
  } | {
10177
+ languageOptions: eslint_plugin_jest.LanguageOptions;
9209
10178
  plugins: string[];
9210
10179
  rules: eslint_plugin_jest.Rules;
9211
- languageOptions: eslint_plugin_jest.LanguageOptions;
9212
- name: string;
9213
10180
  files: string[];
10181
+ name: string;
9214
10182
  } | {
9215
10183
  rules: {
9216
- "jest/no-alias-methods": "error";
9217
- "jest/no-commented-out-tests": "error";
9218
10184
  "jest/consistent-test-it": ["error", {
9219
10185
  fn: "test";
9220
10186
  withinDescribe: "it";
9221
10187
  }];
10188
+ "jest/no-alias-methods": "error";
10189
+ "jest/no-commented-out-tests": "error";
9222
10190
  "jest/no-conditional-in-test": "error";
9223
10191
  "jest/no-confusing-set-timeout": "error";
9224
10192
  "jest/no-duplicate-hooks": "error";
@@ -9247,13 +10215,13 @@ declare const jimmyDotCodes: ({ typescript, react, testing, astro, overrides, au
9247
10215
  "jest/require-top-level-describe": "off";
9248
10216
  "jest/unbound-method": "off";
9249
10217
  };
9250
- plugins: string[];
9251
10218
  languageOptions: eslint_plugin_jest.LanguageOptions;
9252
- name: string;
10219
+ plugins: string[];
9253
10220
  files: string[];
9254
- } | {
9255
10221
  name: string;
10222
+ } | {
9256
10223
  files: string[];
10224
+ name: string;
9257
10225
  rules: {
9258
10226
  "jest/expect-expect": "off";
9259
10227
  "jest/no-deprecated-functions": "off";
@@ -9262,16 +10230,13 @@ declare const jimmyDotCodes: ({ typescript, react, testing, astro, overrides, au
9262
10230
  } | {
9263
10231
  name: string;
9264
10232
  rules: {
9265
- curly: ["error", "multi-or-nest", "consistent"];
9266
10233
  "arrow-body-style": ["error", "always"];
9267
- "object-shorthand": "error";
10234
+ curly: ["error", "multi-or-nest", "consistent"];
10235
+ "no-console": "warn";
9268
10236
  "no-useless-rename": "error";
10237
+ "object-shorthand": "error";
9269
10238
  "prefer-arrow-callback": "error";
9270
- "no-console": "warn";
9271
10239
  };
9272
- } | {
9273
- rules: eslint.Linter.RulesRecord;
9274
- name: string;
9275
10240
  })[];
9276
10241
 
9277
- export { jimmyDotCodes as default };
10242
+ export { type Options, type ReactOptions, type Rules, type TestingOptions, type TypedConfigItem, type TypescriptOptions, jimmyDotCodes as default };