@jimmy.codes/eslint-config 1.11.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -2,7 +2,9 @@ import * as eslint_plugin_jest_dom from 'eslint-plugin-jest-dom';
2
2
  import * as eslint_plugin_testing_library from 'eslint-plugin-testing-library';
3
3
  import * as _tanstack_eslint_plugin_query from '@tanstack/eslint-plugin-query';
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';
5
6
  import * as eslint_plugin_react_hooks from 'eslint-plugin-react-hooks';
7
+ import * as eslint_plugin_react from 'eslint-plugin-react';
6
8
  import * as eslint from 'eslint';
7
9
  import { Linter } from 'eslint';
8
10
  import * as _typescript_eslint_utils_ts_eslint from '@typescript-eslint/utils/ts-eslint';
@@ -13,21 +15,6 @@ export { TSESLint } from '@typescript-eslint/utils';
13
15
 
14
16
 
15
17
  interface RuleOptions {
16
- /**
17
- * Exhaustive deps rule for useQuery
18
- * @see https://tanstack.com/query/latest/docs/eslint/exhaustive-deps
19
- */
20
- '@tanstack/query/exhaustive-deps'?: Linter.RuleEntry<[]>
21
- /**
22
- * Disallows rest destructuring in queries
23
- * @see https://tanstack.com/query/latest/docs/eslint/no-rest-destructuring
24
- */
25
- '@tanstack/query/no-rest-destructuring'?: Linter.RuleEntry<[]>
26
- /**
27
- * Makes sure that QueryClient is stable
28
- * @see https://tanstack.com/query/latest/docs/eslint/stable-query-client
29
- */
30
- '@tanstack/query/stable-query-client'?: Linter.RuleEntry<[]>
31
18
  /**
32
19
  * Require that function overload signatures be consecutive
33
20
  * @see https://typescript-eslint.io/rules/adjacent-overload-signatures
@@ -1066,6 +1053,11 @@ interface RuleOptions {
1066
1053
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/semi/
1067
1054
  */
1068
1055
  'astro/semi'?: Linter.RuleEntry<AstroSemi>
1056
+ /**
1057
+ * enforce sorting of attributes
1058
+ * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/sort-attributes/
1059
+ */
1060
+ 'astro/sort-attributes'?: Linter.RuleEntry<AstroSortAttributes>
1069
1061
  /**
1070
1062
  * disallow warnings when compiling.
1071
1063
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/valid-compile/
@@ -1598,271 +1590,316 @@ interface RuleOptions {
1598
1590
  'jest-dom/prefer-to-have-value'?: Linter.RuleEntry<[]>
1599
1591
  /**
1600
1592
  * Enforce `test` and `it` usage conventions
1601
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/consistent-test-it.md
1593
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/consistent-test-it.md
1602
1594
  */
1603
1595
  'jest/consistent-test-it'?: Linter.RuleEntry<JestConsistentTestIt>
1604
1596
  /**
1605
1597
  * Enforce assertion to be made in a test body
1606
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/expect-expect.md
1598
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/expect-expect.md
1607
1599
  */
1608
1600
  'jest/expect-expect'?: Linter.RuleEntry<JestExpectExpect>
1609
1601
  /**
1610
1602
  * Enforces a maximum number assertion calls in a test body
1611
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/max-expects.md
1603
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/max-expects.md
1612
1604
  */
1613
1605
  'jest/max-expects'?: Linter.RuleEntry<JestMaxExpects>
1614
1606
  /**
1615
1607
  * Enforces a maximum depth to nested describe calls
1616
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/max-nested-describe.md
1608
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/max-nested-describe.md
1617
1609
  */
1618
1610
  'jest/max-nested-describe'?: Linter.RuleEntry<JestMaxNestedDescribe>
1619
1611
  /**
1620
1612
  * Disallow alias methods
1621
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-alias-methods.md
1613
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-alias-methods.md
1622
1614
  */
1623
1615
  'jest/no-alias-methods'?: Linter.RuleEntry<[]>
1624
1616
  /**
1625
1617
  * Disallow commented out tests
1626
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-commented-out-tests.md
1618
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-commented-out-tests.md
1627
1619
  */
1628
1620
  'jest/no-commented-out-tests'?: Linter.RuleEntry<[]>
1629
1621
  /**
1630
1622
  * Disallow calling `expect` conditionally
1631
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-conditional-expect.md
1623
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-conditional-expect.md
1632
1624
  */
1633
1625
  'jest/no-conditional-expect'?: Linter.RuleEntry<[]>
1634
1626
  /**
1635
1627
  * Disallow conditional logic in tests
1636
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-conditional-in-test.md
1628
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-conditional-in-test.md
1637
1629
  */
1638
1630
  'jest/no-conditional-in-test'?: Linter.RuleEntry<[]>
1639
1631
  /**
1640
1632
  * Disallow confusing usages of jest.setTimeout
1641
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-confusing-set-timeout.md
1633
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-confusing-set-timeout.md
1642
1634
  */
1643
1635
  'jest/no-confusing-set-timeout'?: Linter.RuleEntry<[]>
1644
1636
  /**
1645
1637
  * Disallow use of deprecated functions
1646
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-deprecated-functions.md
1638
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-deprecated-functions.md
1647
1639
  */
1648
1640
  'jest/no-deprecated-functions'?: Linter.RuleEntry<[]>
1649
1641
  /**
1650
1642
  * Disallow disabled tests
1651
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-disabled-tests.md
1643
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-disabled-tests.md
1652
1644
  */
1653
1645
  'jest/no-disabled-tests'?: Linter.RuleEntry<[]>
1654
1646
  /**
1655
1647
  * Disallow using a callback in asynchronous tests and hooks
1656
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-done-callback.md
1648
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-done-callback.md
1657
1649
  */
1658
1650
  'jest/no-done-callback'?: Linter.RuleEntry<[]>
1659
1651
  /**
1660
1652
  * Disallow duplicate setup and teardown hooks
1661
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-duplicate-hooks.md
1653
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-duplicate-hooks.md
1662
1654
  */
1663
1655
  'jest/no-duplicate-hooks'?: Linter.RuleEntry<[]>
1664
1656
  /**
1665
1657
  * Disallow using `exports` in files containing tests
1666
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-export.md
1658
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-export.md
1667
1659
  */
1668
1660
  'jest/no-export'?: Linter.RuleEntry<[]>
1669
1661
  /**
1670
1662
  * Disallow focused tests
1671
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-focused-tests.md
1663
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-focused-tests.md
1672
1664
  */
1673
1665
  'jest/no-focused-tests'?: Linter.RuleEntry<[]>
1674
1666
  /**
1675
1667
  * Disallow setup and teardown hooks
1676
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-hooks.md
1668
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-hooks.md
1677
1669
  */
1678
1670
  'jest/no-hooks'?: Linter.RuleEntry<JestNoHooks>
1679
1671
  /**
1680
1672
  * Disallow identical titles
1681
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-identical-title.md
1673
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-identical-title.md
1682
1674
  */
1683
1675
  'jest/no-identical-title'?: Linter.RuleEntry<[]>
1684
1676
  /**
1685
1677
  * Disallow string interpolation inside snapshots
1686
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-interpolation-in-snapshots.md
1678
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-interpolation-in-snapshots.md
1687
1679
  */
1688
1680
  'jest/no-interpolation-in-snapshots'?: Linter.RuleEntry<[]>
1689
1681
  /**
1690
1682
  * Disallow Jasmine globals
1691
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-jasmine-globals.md
1683
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-jasmine-globals.md
1692
1684
  */
1693
1685
  'jest/no-jasmine-globals'?: Linter.RuleEntry<[]>
1694
1686
  /**
1695
1687
  * Disallow large snapshots
1696
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-large-snapshots.md
1688
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-large-snapshots.md
1697
1689
  */
1698
1690
  'jest/no-large-snapshots'?: Linter.RuleEntry<JestNoLargeSnapshots>
1699
1691
  /**
1700
1692
  * Disallow manually importing from `__mocks__`
1701
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-mocks-import.md
1693
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-mocks-import.md
1702
1694
  */
1703
1695
  'jest/no-mocks-import'?: Linter.RuleEntry<[]>
1704
1696
  /**
1705
1697
  * Disallow specific `jest.` methods
1706
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-restricted-jest-methods.md
1698
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-restricted-jest-methods.md
1707
1699
  */
1708
1700
  'jest/no-restricted-jest-methods'?: Linter.RuleEntry<JestNoRestrictedJestMethods>
1709
1701
  /**
1710
1702
  * Disallow specific matchers & modifiers
1711
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-restricted-matchers.md
1703
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-restricted-matchers.md
1712
1704
  */
1713
1705
  'jest/no-restricted-matchers'?: Linter.RuleEntry<JestNoRestrictedMatchers>
1714
1706
  /**
1715
1707
  * Disallow using `expect` outside of `it` or `test` blocks
1716
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-standalone-expect.md
1708
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-standalone-expect.md
1717
1709
  */
1718
1710
  'jest/no-standalone-expect'?: Linter.RuleEntry<JestNoStandaloneExpect>
1719
1711
  /**
1720
1712
  * Require using `.only` and `.skip` over `f` and `x`
1721
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-test-prefixes.md
1713
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-test-prefixes.md
1722
1714
  */
1723
1715
  'jest/no-test-prefixes'?: Linter.RuleEntry<[]>
1724
1716
  /**
1725
1717
  * Disallow explicitly returning from tests
1726
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-test-return-statement.md
1718
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-test-return-statement.md
1727
1719
  */
1728
1720
  'jest/no-test-return-statement'?: Linter.RuleEntry<[]>
1729
1721
  /**
1730
1722
  * Disallow using `jest.mock()` factories without an explicit type parameter
1731
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/no-untyped-mock-factory.md
1723
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-untyped-mock-factory.md
1732
1724
  */
1733
1725
  'jest/no-untyped-mock-factory'?: Linter.RuleEntry<[]>
1726
+ /**
1727
+ * Enforce padding around `afterAll` blocks
1728
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-after-all-blocks.md
1729
+ */
1730
+ 'jest/padding-around-after-all-blocks'?: Linter.RuleEntry<[]>
1731
+ /**
1732
+ * Enforce padding around `afterEach` blocks
1733
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-after-each-blocks.md
1734
+ */
1735
+ 'jest/padding-around-after-each-blocks'?: Linter.RuleEntry<[]>
1736
+ /**
1737
+ * Enforce padding around Jest functions
1738
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-all.md
1739
+ */
1740
+ 'jest/padding-around-all'?: Linter.RuleEntry<[]>
1741
+ /**
1742
+ * Enforce padding around `beforeAll` blocks
1743
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-before-all-blocks.md
1744
+ */
1745
+ 'jest/padding-around-before-all-blocks'?: Linter.RuleEntry<[]>
1746
+ /**
1747
+ * Enforce padding around `beforeEach` blocks
1748
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-before-each-blocks.md
1749
+ */
1750
+ 'jest/padding-around-before-each-blocks'?: Linter.RuleEntry<[]>
1751
+ /**
1752
+ * Enforce padding around `describe` blocks
1753
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-describe-blocks.md
1754
+ */
1755
+ 'jest/padding-around-describe-blocks'?: Linter.RuleEntry<[]>
1756
+ /**
1757
+ * Enforce padding around `expect` groups
1758
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-expect-groups.md
1759
+ */
1760
+ 'jest/padding-around-expect-groups'?: Linter.RuleEntry<[]>
1761
+ /**
1762
+ * Enforce padding around afterAll blocks
1763
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-test-blocks.md
1764
+ */
1765
+ 'jest/padding-around-test-blocks'?: Linter.RuleEntry<[]>
1734
1766
  /**
1735
1767
  * Suggest using `toBeCalledWith()` or `toHaveBeenCalledWith()`
1736
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-called-with.md
1768
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-called-with.md
1737
1769
  */
1738
1770
  'jest/prefer-called-with'?: Linter.RuleEntry<[]>
1739
1771
  /**
1740
1772
  * Suggest using the built-in comparison matchers
1741
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-comparison-matcher.md
1773
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-comparison-matcher.md
1742
1774
  */
1743
1775
  'jest/prefer-comparison-matcher'?: Linter.RuleEntry<[]>
1744
1776
  /**
1745
1777
  * Prefer using `.each` rather than manual loops
1746
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-each.md
1778
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-each.md
1747
1779
  */
1748
1780
  'jest/prefer-each'?: Linter.RuleEntry<[]>
1749
1781
  /**
1750
1782
  * Suggest using the built-in equality matchers
1751
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-equality-matcher.md
1783
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-equality-matcher.md
1752
1784
  */
1753
1785
  'jest/prefer-equality-matcher'?: Linter.RuleEntry<[]>
1754
1786
  /**
1755
1787
  * Suggest using `expect.assertions()` OR `expect.hasAssertions()`
1756
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-expect-assertions.md
1788
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-expect-assertions.md
1757
1789
  */
1758
1790
  'jest/prefer-expect-assertions'?: Linter.RuleEntry<JestPreferExpectAssertions>
1759
1791
  /**
1760
1792
  * Prefer `await expect(...).resolves` over `expect(await ...)` syntax
1761
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-expect-resolves.md
1793
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-expect-resolves.md
1762
1794
  */
1763
1795
  'jest/prefer-expect-resolves'?: Linter.RuleEntry<[]>
1764
1796
  /**
1765
1797
  * Prefer having hooks in a consistent order
1766
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-hooks-in-order.md
1798
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-hooks-in-order.md
1767
1799
  */
1768
1800
  'jest/prefer-hooks-in-order'?: Linter.RuleEntry<[]>
1769
1801
  /**
1770
1802
  * Suggest having hooks before any test cases
1771
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-hooks-on-top.md
1803
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-hooks-on-top.md
1772
1804
  */
1773
1805
  'jest/prefer-hooks-on-top'?: Linter.RuleEntry<[]>
1774
1806
  /**
1775
1807
  * Prefer importing Jest globals
1776
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-importing-jest-globals.md
1808
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-importing-jest-globals.md
1809
+ */
1810
+ 'jest/prefer-importing-jest-globals'?: Linter.RuleEntry<JestPreferImportingJestGlobals>
1811
+ /**
1812
+ * Prefer `jest.mocked()` over `fn as jest.Mock`
1813
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-jest-mocked.md
1777
1814
  */
1778
- 'jest/prefer-importing-jest-globals'?: Linter.RuleEntry<[]>
1815
+ 'jest/prefer-jest-mocked'?: Linter.RuleEntry<[]>
1779
1816
  /**
1780
1817
  * Enforce lowercase test names
1781
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-lowercase-title.md
1818
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-lowercase-title.md
1782
1819
  */
1783
1820
  'jest/prefer-lowercase-title'?: Linter.RuleEntry<JestPreferLowercaseTitle>
1784
1821
  /**
1785
1822
  * Prefer mock resolved/rejected shorthands for promises
1786
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-mock-promise-shorthand.md
1823
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-mock-promise-shorthand.md
1787
1824
  */
1788
1825
  'jest/prefer-mock-promise-shorthand'?: Linter.RuleEntry<[]>
1789
1826
  /**
1790
1827
  * Prefer including a hint with external snapshots
1791
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-snapshot-hint.md
1828
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-snapshot-hint.md
1792
1829
  */
1793
1830
  'jest/prefer-snapshot-hint'?: Linter.RuleEntry<JestPreferSnapshotHint>
1794
1831
  /**
1795
1832
  * Suggest using `jest.spyOn()`
1796
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-spy-on.md
1833
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-spy-on.md
1797
1834
  */
1798
1835
  'jest/prefer-spy-on'?: Linter.RuleEntry<[]>
1799
1836
  /**
1800
1837
  * Suggest using `toStrictEqual()`
1801
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-strict-equal.md
1838
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-strict-equal.md
1802
1839
  */
1803
1840
  'jest/prefer-strict-equal'?: Linter.RuleEntry<[]>
1804
1841
  /**
1805
1842
  * Suggest using `toBe()` for primitive literals
1806
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-to-be.md
1843
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-to-be.md
1807
1844
  */
1808
1845
  'jest/prefer-to-be'?: Linter.RuleEntry<[]>
1809
1846
  /**
1810
1847
  * Suggest using `toContain()`
1811
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-to-contain.md
1848
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-to-contain.md
1812
1849
  */
1813
1850
  'jest/prefer-to-contain'?: Linter.RuleEntry<[]>
1814
1851
  /**
1815
1852
  * Suggest using `toHaveLength()`
1816
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-to-have-length.md
1853
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-to-have-length.md
1817
1854
  */
1818
1855
  'jest/prefer-to-have-length'?: Linter.RuleEntry<[]>
1819
1856
  /**
1820
1857
  * Suggest using `test.todo`
1821
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/prefer-todo.md
1858
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-todo.md
1822
1859
  */
1823
1860
  'jest/prefer-todo'?: Linter.RuleEntry<[]>
1824
1861
  /**
1825
1862
  * Require setup and teardown code to be within a hook
1826
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/require-hook.md
1863
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/require-hook.md
1827
1864
  */
1828
1865
  'jest/require-hook'?: Linter.RuleEntry<JestRequireHook>
1829
1866
  /**
1830
1867
  * Require a message for `toThrow()`
1831
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/require-to-throw-message.md
1868
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/require-to-throw-message.md
1832
1869
  */
1833
1870
  'jest/require-to-throw-message'?: Linter.RuleEntry<[]>
1834
1871
  /**
1835
1872
  * Require test cases and hooks to be inside a `describe` block
1836
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/require-top-level-describe.md
1873
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/require-top-level-describe.md
1837
1874
  */
1838
1875
  'jest/require-top-level-describe'?: Linter.RuleEntry<JestRequireTopLevelDescribe>
1839
1876
  /**
1840
1877
  * Enforce unbound methods are called with their expected scope
1841
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/unbound-method.md
1878
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/unbound-method.md
1842
1879
  */
1843
1880
  'jest/unbound-method'?: Linter.RuleEntry<JestUnboundMethod>
1844
1881
  /**
1845
1882
  * Enforce valid `describe()` callback
1846
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/valid-describe-callback.md
1883
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/valid-describe-callback.md
1847
1884
  */
1848
1885
  'jest/valid-describe-callback'?: Linter.RuleEntry<[]>
1849
1886
  /**
1850
1887
  * Enforce valid `expect()` usage
1851
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/valid-expect.md
1888
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/valid-expect.md
1852
1889
  */
1853
1890
  'jest/valid-expect'?: Linter.RuleEntry<JestValidExpect>
1854
1891
  /**
1855
1892
  * Require promises that have expectations in their chain to be valid
1856
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/valid-expect-in-promise.md
1893
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/valid-expect-in-promise.md
1857
1894
  */
1858
1895
  'jest/valid-expect-in-promise'?: Linter.RuleEntry<[]>
1859
1896
  /**
1860
1897
  * Enforce valid titles
1861
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.2.0/docs/rules/valid-title.md
1898
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/valid-title.md
1862
1899
  */
1863
1900
  'jest/valid-title'?: Linter.RuleEntry<JestValidTitle>
1864
1901
  /**
1865
- * Enforce emojis are wrapped in `<span>` and provide screenreader access.
1902
+ * Enforce emojis are wrapped in `<span>` and provide screen reader access.
1866
1903
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/accessible-emoji.md
1867
1904
  * @deprecated
1868
1905
  */
@@ -1979,7 +2016,7 @@ interface RuleOptions {
1979
2016
  */
1980
2017
  'jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<JsxA11yMouseEventsHaveKeyEvents>
1981
2018
  /**
1982
- * Enforce that the `accessKey` prop is not used on any element to avoid complications with keyboard commands used by a screenreader.
2019
+ * Enforce that the `accessKey` prop is not used on any element to avoid complications with keyboard commands used by a screen reader.
1983
2020
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-access-key.md
1984
2021
  */
1985
2022
  'jsx-a11y/no-access-key'?: Linter.RuleEntry<JsxA11yNoAccessKey>
@@ -3215,6 +3252,11 @@ interface RuleOptions {
3215
3252
  * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-prop-types.md
3216
3253
  */
3217
3254
  'react/forbid-prop-types'?: Linter.RuleEntry<ReactForbidPropTypes>
3255
+ /**
3256
+ * Require all forwardRef components include a ref parameter
3257
+ * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forward-ref-uses-ref.md
3258
+ */
3259
+ 'react/forward-ref-uses-ref'?: Linter.RuleEntry<[]>
3218
3260
  /**
3219
3261
  * Enforce a specific function type for function components
3220
3262
  * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/function-component-definition.md
@@ -3249,7 +3291,7 @@ interface RuleOptions {
3249
3291
  * Enforce closing tag location for multiline JSX
3250
3292
  * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-closing-tag-location.md
3251
3293
  */
3252
- 'react/jsx-closing-tag-location'?: Linter.RuleEntry<[]>
3294
+ 'react/jsx-closing-tag-location'?: Linter.RuleEntry<ReactJsxClosingTagLocation>
3253
3295
  /**
3254
3296
  * Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
3255
3297
  * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-curly-brace-presence.md
@@ -3334,7 +3376,7 @@ interface RuleOptions {
3334
3376
  * Disallows JSX context provider values from taking values that will cause needless rerenders
3335
3377
  * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-constructed-context-values.md
3336
3378
  */
3337
- 'react/jsx-no-constructed-context-values'?: Linter.RuleEntry<ReactJsxNoConstructedContextValues>
3379
+ 'react/jsx-no-constructed-context-values'?: Linter.RuleEntry<[]>
3338
3380
  /**
3339
3381
  * Disallow duplicate properties in JSX
3340
3382
  * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-duplicate-props.md
@@ -3385,6 +3427,11 @@ interface RuleOptions {
3385
3427
  * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-props-no-multi-spaces.md
3386
3428
  */
3387
3429
  'react/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>
3430
+ /**
3431
+ * Disallow JSX prop spreading the same identifier multiple times
3432
+ * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-props-no-spread-multi.md
3433
+ */
3434
+ 'react/jsx-props-no-spread-multi'?: Linter.RuleEntry<[]>
3388
3435
  /**
3389
3436
  * Disallow JSX prop spreading
3390
3437
  * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-props-no-spreading.md
@@ -3456,7 +3503,7 @@ interface RuleOptions {
3456
3503
  * Disallow usage of dangerous JSX properties
3457
3504
  * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-danger.md
3458
3505
  */
3459
- 'react/no-danger'?: Linter.RuleEntry<[]>
3506
+ 'react/no-danger'?: Linter.RuleEntry<ReactNoDanger>
3460
3507
  /**
3461
3508
  * Disallow when a DOM element is using both children and dangerouslySetInnerHTML
3462
3509
  * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-danger-with-children.md
@@ -3718,10 +3765,12 @@ interface RuleOptions {
3718
3765
  */
3719
3766
  'semi-style'?: Linter.RuleEntry<SemiStyle>
3720
3767
  /**
3768
+ * Automatically sort exports.
3721
3769
  * @see https://github.com/lydell/eslint-plugin-simple-import-sort#sort-order
3722
3770
  */
3723
3771
  'simple-import-sort/exports'?: Linter.RuleEntry<[]>
3724
3772
  /**
3773
+ * Automatically sort imports.
3725
3774
  * @see https://github.com/lydell/eslint-plugin-simple-import-sort#sort-order
3726
3775
  */
3727
3776
  'simple-import-sort/imports'?: Linter.RuleEntry<SimpleImportSortImports>
@@ -5512,6 +5561,12 @@ type AstroSemi = ([]|["never"]|["never", {
5512
5561
  omitLastInOneLineBlock?: boolean
5513
5562
  omitLastInOneLineClassBody?: boolean
5514
5563
  }])
5564
+ // ----- astro/sort-attributes -----
5565
+ type AstroSortAttributes = []|[{
5566
+ type?: ("alphabetical" | "line-length")
5567
+ ignoreCase?: boolean
5568
+ order?: ("asc" | "desc")
5569
+ }]
5515
5570
  // ----- block-spacing -----
5516
5571
  type BlockSpacing = []|[("always" | "never")]
5517
5572
  // ----- brace-style -----
@@ -5982,7 +6037,7 @@ type JestConsistentTestIt = []|[{
5982
6037
  }]
5983
6038
  // ----- jest/expect-expect -----
5984
6039
  type JestExpectExpect = []|[{
5985
- assertFunctionNames?: []|[string]
6040
+ assertFunctionNames?: string[]
5986
6041
  additionalTestBlockFunctions?: string[]
5987
6042
  }]
5988
6043
  // ----- jest/max-expects -----
@@ -6023,6 +6078,10 @@ type JestPreferExpectAssertions = []|[{
6023
6078
  onlyFunctionsWithExpectInLoop?: boolean
6024
6079
  onlyFunctionsWithExpectInCallback?: boolean
6025
6080
  }]
6081
+ // ----- jest/prefer-importing-jest-globals -----
6082
+ type JestPreferImportingJestGlobals = []|[{
6083
+ types?: ("hook" | "describe" | "test" | "expect" | "jest" | "unknown")[]
6084
+ }]
6026
6085
  // ----- jest/prefer-lowercase-title -----
6027
6086
  type JestPreferLowercaseTitle = []|[{
6028
6087
  ignore?: ("describe" | "test" | "it")[]
@@ -7150,13 +7209,22 @@ type ReactForbidComponentProps = []|[{
7150
7209
  forbid?: (string | {
7151
7210
  propName?: string
7152
7211
  allowedFor?: string[]
7212
+ allowedForPatterns?: string[]
7153
7213
  message?: string
7214
+ } | ({
7215
+ [k: string]: unknown | undefined
7154
7216
  } | {
7155
- propName?: string
7156
-
7157
- disallowedFor: [string, ...(string)[]]
7217
+ [k: string]: unknown | undefined
7218
+ }) | {
7219
+ propNamePattern?: string
7220
+ allowedFor?: string[]
7221
+ allowedForPatterns?: string[]
7158
7222
  message?: string
7159
- })[]
7223
+ } | ({
7224
+ [k: string]: unknown | undefined
7225
+ } | {
7226
+ [k: string]: unknown | undefined
7227
+ }))[]
7160
7228
  [k: string]: unknown | undefined
7161
7229
  }]
7162
7230
  // ----- react/forbid-dom-props -----
@@ -7211,6 +7279,10 @@ type ReactJsxClosingBracketLocation = []|[(("after-props" | "props-aligned" | "t
7211
7279
  nonEmpty?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned" | false)
7212
7280
  selfClosing?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned" | false)
7213
7281
  })]
7282
+ // ----- react/jsx-closing-tag-location -----
7283
+ type ReactJsxClosingTagLocation = []|[(("tag-aligned" | "line-aligned") | {
7284
+ location?: ("tag-aligned" | "line-aligned")
7285
+ })]
7214
7286
  // ----- react/jsx-curly-brace-presence -----
7215
7287
  type ReactJsxCurlyBracePresence = []|[({
7216
7288
  props?: ("always" | "never" | "ignore")
@@ -7266,20 +7338,26 @@ type ReactJsxHandlerNames = []|[({
7266
7338
  eventHandlerPropPrefix?: string
7267
7339
  checkLocalVariables?: boolean
7268
7340
  checkInlineFunction?: boolean
7341
+ ignoreComponentNames?: string[]
7269
7342
  } | {
7270
7343
  eventHandlerPrefix?: string
7271
7344
  eventHandlerPropPrefix?: false
7272
7345
  checkLocalVariables?: boolean
7273
7346
  checkInlineFunction?: boolean
7347
+ ignoreComponentNames?: string[]
7274
7348
  } | {
7275
7349
  eventHandlerPrefix?: false
7276
7350
  eventHandlerPropPrefix?: string
7277
7351
  checkLocalVariables?: boolean
7278
7352
  checkInlineFunction?: boolean
7353
+ ignoreComponentNames?: string[]
7279
7354
  } | {
7280
7355
  checkLocalVariables?: boolean
7281
7356
  } | {
7282
7357
  checkInlineFunction?: boolean
7358
+ } | {
7359
+ ignoreComponentNames?: string[]
7360
+ [k: string]: unknown | undefined
7283
7361
  })]
7284
7362
  // ----- react/jsx-indent -----
7285
7363
  type ReactJsxIndent = []|[("tab" | number)]|[("tab" | number), {
@@ -7326,10 +7404,6 @@ type ReactJsxNoBind = []|[{
7326
7404
  ignoreRefs?: boolean
7327
7405
  ignoreDOMComponents?: boolean
7328
7406
  }]
7329
- // ----- react/jsx-no-constructed-context-values -----
7330
- interface ReactJsxNoConstructedContextValues {
7331
- [k: string]: unknown | undefined
7332
- }
7333
7407
  // ----- react/jsx-no-duplicate-props -----
7334
7408
  type ReactJsxNoDuplicateProps = []|[{
7335
7409
  ignoreCase?: boolean
@@ -7340,6 +7414,16 @@ type ReactJsxNoLeakedRender = []|[{
7340
7414
  }]
7341
7415
  // ----- react/jsx-no-literals -----
7342
7416
  type ReactJsxNoLiterals = []|[{
7417
+ elementOverrides?: {
7418
+ [k: string]: {
7419
+ applyToNestedElements?: boolean
7420
+ noStrings?: boolean
7421
+ allowedStrings?: string[]
7422
+ ignoreProps?: boolean
7423
+ noAttributeStrings?: boolean
7424
+ [k: string]: unknown | undefined
7425
+ }
7426
+ }
7343
7427
  noStrings?: boolean
7344
7428
  allowedStrings?: string[]
7345
7429
  ignoreProps?: boolean
@@ -7392,6 +7476,7 @@ type ReactJsxPascalCase = []|[{
7392
7476
  type ReactJsxPropsNoSpreading = []|[({
7393
7477
  html?: ("enforce" | "ignore")
7394
7478
  custom?: ("enforce" | "ignore")
7479
+ explicitSpread?: ("enforce" | "ignore")
7395
7480
  exceptions?: string[]
7396
7481
  [k: string]: unknown | undefined
7397
7482
  } & {
@@ -7435,6 +7520,12 @@ type ReactJsxWrapMultilines = []|[{
7435
7520
  type ReactNoChildrenProp = []|[{
7436
7521
  allowFunctions?: boolean
7437
7522
  }]
7523
+ // ----- react/no-danger -----
7524
+ type ReactNoDanger = []|[{
7525
+
7526
+ customComponentNames?: string[]
7527
+ [k: string]: unknown | undefined
7528
+ }]
7438
7529
  // ----- react/no-did-mount-set-state -----
7439
7530
  type ReactNoDidMountSetState = []|["disallow-in-func"]
7440
7531
  // ----- react/no-did-update-set-state -----
@@ -7470,6 +7561,7 @@ type ReactNoUnsafe = []|[{
7470
7561
  type ReactNoUnstableNestedComponents = []|[{
7471
7562
  customValidators?: string[]
7472
7563
  allowAsProps?: boolean
7564
+ propNamePattern?: string
7473
7565
  }]
7474
7566
  // ----- react/no-unused-prop-types -----
7475
7567
  type ReactNoUnusedPropTypes = []|[{
@@ -7906,11 +7998,380 @@ declare const jimmyDotCodes: ({ typescript, react, testing, astro, overrides, au
7906
7998
  name: string;
7907
7999
  files: string[];
7908
8000
  plugins: {
7909
- react: eslint.ESLint.Plugin;
7910
- "react-hooks": typeof eslint_plugin_react_hooks;
7911
- "jsx-a11y": {
7912
- rules: Record<string, eslint.Rule.RuleModule | ((context: eslint.Rule.RuleContext) => eslint.Rule.RuleListener)> | undefined;
8001
+ react: {
8002
+ deprecatedRules: Partial<{
8003
+ 'boolean-prop-naming': eslint.Rule.RuleModule;
8004
+ 'button-has-type': eslint.Rule.RuleModule;
8005
+ 'checked-requires-onchange-or-readonly': eslint.Rule.RuleModule;
8006
+ 'default-props-match-prop-types': eslint.Rule.RuleModule;
8007
+ 'destructuring-assignment': eslint.Rule.RuleModule;
8008
+ 'display-name': eslint.Rule.RuleModule;
8009
+ 'forbid-component-props': eslint.Rule.RuleModule;
8010
+ 'forbid-dom-props': eslint.Rule.RuleModule;
8011
+ 'forbid-elements': eslint.Rule.RuleModule;
8012
+ 'forbid-foreign-prop-types': eslint.Rule.RuleModule;
8013
+ 'forbid-prop-types': eslint.Rule.RuleModule;
8014
+ 'forward-ref-uses-ref': {
8015
+ meta: {
8016
+ docs: {
8017
+ description: string;
8018
+ category: string;
8019
+ recommended: boolean;
8020
+ url: string;
8021
+ };
8022
+ messages: {
8023
+ missingRefParameter: string;
8024
+ addRefParameter: string;
8025
+ removeForwardRef: string;
8026
+ };
8027
+ schema: undefined[];
8028
+ type: string;
8029
+ hasSuggestions: boolean;
8030
+ };
8031
+ create(context: any): {
8032
+ 'FunctionExpression, ArrowFunctionExpression'(node: any): void;
8033
+ };
8034
+ };
8035
+ 'function-component-definition': eslint.Rule.RuleModule;
8036
+ 'hook-use-state': eslint.Rule.RuleModule;
8037
+ 'iframe-missing-sandbox': eslint.Rule.RuleModule;
8038
+ 'jsx-boolean-value': eslint.Rule.RuleModule;
8039
+ 'jsx-child-element-spacing': eslint.Rule.RuleModule;
8040
+ 'jsx-closing-bracket-location': eslint.Rule.RuleModule;
8041
+ 'jsx-closing-tag-location': eslint.Rule.RuleModule;
8042
+ 'jsx-curly-spacing': eslint.Rule.RuleModule;
8043
+ 'jsx-curly-newline': eslint.Rule.RuleModule;
8044
+ 'jsx-equals-spacing': eslint.Rule.RuleModule;
8045
+ 'jsx-filename-extension': eslint.Rule.RuleModule;
8046
+ 'jsx-first-prop-new-line': eslint.Rule.RuleModule;
8047
+ 'jsx-handler-names': eslint.Rule.RuleModule;
8048
+ 'jsx-indent': eslint.Rule.RuleModule;
8049
+ 'jsx-indent-props': eslint.Rule.RuleModule;
8050
+ 'jsx-key': eslint.Rule.RuleModule;
8051
+ 'jsx-max-depth': eslint.Rule.RuleModule;
8052
+ 'jsx-max-props-per-line': eslint.Rule.RuleModule;
8053
+ 'jsx-newline': eslint.Rule.RuleModule;
8054
+ 'jsx-no-bind': eslint.Rule.RuleModule;
8055
+ 'jsx-no-comment-textnodes': eslint.Rule.RuleModule;
8056
+ 'jsx-no-constructed-context-values': eslint.Rule.RuleModule;
8057
+ 'jsx-no-duplicate-props': eslint.Rule.RuleModule;
8058
+ 'jsx-no-leaked-render': eslint.Rule.RuleModule;
8059
+ 'jsx-no-literals': {
8060
+ meta: eslint.Rule.RuleMetaData;
8061
+ create(context: any): (false & {
8062
+ Literal(node: any): void;
8063
+ JSXAttribute(node: any): void;
8064
+ JSXText(node: any): void;
8065
+ TemplateLiteral(node: any): void;
8066
+ }) | ({
8067
+ ImportDeclaration(node: any): void;
8068
+ VariableDeclaration(node: any): void;
8069
+ } & {
8070
+ Literal(node: any): void;
8071
+ JSXAttribute(node: any): void;
8072
+ JSXText(node: any): void;
8073
+ TemplateLiteral(node: any): void;
8074
+ });
8075
+ };
8076
+ 'jsx-no-script-url': eslint.Rule.RuleModule;
8077
+ 'jsx-no-target-blank': eslint.Rule.RuleModule;
8078
+ 'jsx-no-useless-fragment': eslint.Rule.RuleModule;
8079
+ 'jsx-one-expression-per-line': eslint.Rule.RuleModule;
8080
+ 'jsx-no-undef': eslint.Rule.RuleModule;
8081
+ 'jsx-curly-brace-presence': eslint.Rule.RuleModule;
8082
+ 'jsx-pascal-case': eslint.Rule.RuleModule;
8083
+ 'jsx-fragments': eslint.Rule.RuleModule;
8084
+ 'jsx-props-no-multi-spaces': eslint.Rule.RuleModule;
8085
+ 'jsx-props-no-spreading': eslint.Rule.RuleModule;
8086
+ 'jsx-props-no-spread-multi': {
8087
+ meta: {
8088
+ docs: {
8089
+ description: string;
8090
+ category: string;
8091
+ recommended: boolean;
8092
+ url: string;
8093
+ };
8094
+ messages: {
8095
+ noMultiSpreading: string;
8096
+ };
8097
+ };
8098
+ create(context: any): {
8099
+ JSXOpeningElement(node: any): void;
8100
+ };
8101
+ };
8102
+ 'jsx-sort-default-props': eslint.Rule.RuleModule;
8103
+ 'jsx-sort-props': eslint.Rule.RuleModule;
8104
+ 'jsx-space-before-closing': eslint.Rule.RuleModule;
8105
+ 'jsx-tag-spacing': eslint.Rule.RuleModule;
8106
+ 'jsx-uses-react': eslint.Rule.RuleModule;
8107
+ 'jsx-uses-vars': eslint.Rule.RuleModule;
8108
+ 'jsx-wrap-multilines': eslint.Rule.RuleModule;
8109
+ 'no-invalid-html-attribute': eslint.Rule.RuleModule;
8110
+ 'no-access-state-in-setstate': eslint.Rule.RuleModule;
8111
+ 'no-adjacent-inline-elements': eslint.Rule.RuleModule;
8112
+ 'no-array-index-key': eslint.Rule.RuleModule;
8113
+ 'no-arrow-function-lifecycle': eslint.Rule.RuleModule;
8114
+ 'no-children-prop': eslint.Rule.RuleModule;
8115
+ 'no-danger': eslint.Rule.RuleModule;
8116
+ 'no-danger-with-children': eslint.Rule.RuleModule;
8117
+ 'no-deprecated': eslint.Rule.RuleModule;
8118
+ 'no-did-mount-set-state': eslint.Rule.RuleModule;
8119
+ 'no-did-update-set-state': eslint.Rule.RuleModule;
8120
+ 'no-direct-mutation-state': eslint.Rule.RuleModule;
8121
+ 'no-find-dom-node': eslint.Rule.RuleModule;
8122
+ 'no-is-mounted': eslint.Rule.RuleModule;
8123
+ 'no-multi-comp': eslint.Rule.RuleModule;
8124
+ 'no-namespace': eslint.Rule.RuleModule;
8125
+ 'no-set-state': eslint.Rule.RuleModule;
8126
+ 'no-string-refs': eslint.Rule.RuleModule;
8127
+ 'no-redundant-should-component-update': eslint.Rule.RuleModule;
8128
+ 'no-render-return-value': eslint.Rule.RuleModule;
8129
+ 'no-this-in-sfc': eslint.Rule.RuleModule;
8130
+ 'no-typos': eslint.Rule.RuleModule;
8131
+ 'no-unescaped-entities': eslint.Rule.RuleModule;
8132
+ 'no-unknown-property': eslint.Rule.RuleModule;
8133
+ 'no-unsafe': eslint.Rule.RuleModule;
8134
+ 'no-unstable-nested-components': eslint.Rule.RuleModule;
8135
+ 'no-unused-class-component-methods': eslint.Rule.RuleModule;
8136
+ 'no-unused-prop-types': eslint.Rule.RuleModule;
8137
+ 'no-unused-state': eslint.Rule.RuleModule;
8138
+ 'no-object-type-as-default-prop': eslint.Rule.RuleModule;
8139
+ 'no-will-update-set-state': eslint.Rule.RuleModule;
8140
+ 'prefer-es6-class': eslint.Rule.RuleModule;
8141
+ 'prefer-exact-props': eslint.Rule.RuleModule;
8142
+ 'prefer-read-only-props': eslint.Rule.RuleModule;
8143
+ 'prefer-stateless-function': eslint.Rule.RuleModule;
8144
+ 'prop-types': eslint.Rule.RuleModule;
8145
+ 'react-in-jsx-scope': eslint.Rule.RuleModule;
8146
+ 'require-default-props': eslint.Rule.RuleModule;
8147
+ 'require-optimization': eslint.Rule.RuleModule;
8148
+ 'require-render-return': eslint.Rule.RuleModule;
8149
+ 'self-closing-comp': eslint.Rule.RuleModule;
8150
+ 'sort-comp': eslint.Rule.RuleModule;
8151
+ 'sort-default-props': eslint.Rule.RuleModule;
8152
+ 'sort-prop-types': eslint.Rule.RuleModule;
8153
+ 'state-in-constructor': eslint.Rule.RuleModule;
8154
+ 'static-property-placement': eslint.Rule.RuleModule;
8155
+ 'style-prop-object': eslint.Rule.RuleModule;
8156
+ 'void-dom-elements-no-children': eslint.Rule.RuleModule;
8157
+ }>;
8158
+ rules: {
8159
+ 'boolean-prop-naming': eslint.Rule.RuleModule;
8160
+ 'button-has-type': eslint.Rule.RuleModule;
8161
+ 'checked-requires-onchange-or-readonly': eslint.Rule.RuleModule;
8162
+ 'default-props-match-prop-types': eslint.Rule.RuleModule;
8163
+ 'destructuring-assignment': eslint.Rule.RuleModule;
8164
+ 'display-name': eslint.Rule.RuleModule;
8165
+ 'forbid-component-props': eslint.Rule.RuleModule;
8166
+ 'forbid-dom-props': eslint.Rule.RuleModule;
8167
+ 'forbid-elements': eslint.Rule.RuleModule;
8168
+ 'forbid-foreign-prop-types': eslint.Rule.RuleModule;
8169
+ 'forbid-prop-types': eslint.Rule.RuleModule;
8170
+ 'forward-ref-uses-ref': {
8171
+ meta: {
8172
+ docs: {
8173
+ description: string;
8174
+ category: string;
8175
+ recommended: boolean;
8176
+ url: string;
8177
+ };
8178
+ messages: {
8179
+ missingRefParameter: string;
8180
+ addRefParameter: string;
8181
+ removeForwardRef: string;
8182
+ };
8183
+ schema: undefined[];
8184
+ type: string;
8185
+ hasSuggestions: boolean;
8186
+ };
8187
+ create(context: any): {
8188
+ 'FunctionExpression, ArrowFunctionExpression'(node: any): void;
8189
+ };
8190
+ };
8191
+ 'function-component-definition': eslint.Rule.RuleModule;
8192
+ 'hook-use-state': eslint.Rule.RuleModule;
8193
+ 'iframe-missing-sandbox': eslint.Rule.RuleModule;
8194
+ 'jsx-boolean-value': eslint.Rule.RuleModule;
8195
+ 'jsx-child-element-spacing': eslint.Rule.RuleModule;
8196
+ 'jsx-closing-bracket-location': eslint.Rule.RuleModule;
8197
+ 'jsx-closing-tag-location': eslint.Rule.RuleModule;
8198
+ 'jsx-curly-spacing': eslint.Rule.RuleModule;
8199
+ 'jsx-curly-newline': eslint.Rule.RuleModule;
8200
+ 'jsx-equals-spacing': eslint.Rule.RuleModule;
8201
+ 'jsx-filename-extension': eslint.Rule.RuleModule;
8202
+ 'jsx-first-prop-new-line': eslint.Rule.RuleModule;
8203
+ 'jsx-handler-names': eslint.Rule.RuleModule;
8204
+ 'jsx-indent': eslint.Rule.RuleModule;
8205
+ 'jsx-indent-props': eslint.Rule.RuleModule;
8206
+ 'jsx-key': eslint.Rule.RuleModule;
8207
+ 'jsx-max-depth': eslint.Rule.RuleModule;
8208
+ 'jsx-max-props-per-line': eslint.Rule.RuleModule;
8209
+ 'jsx-newline': eslint.Rule.RuleModule;
8210
+ 'jsx-no-bind': eslint.Rule.RuleModule;
8211
+ 'jsx-no-comment-textnodes': eslint.Rule.RuleModule;
8212
+ 'jsx-no-constructed-context-values': eslint.Rule.RuleModule;
8213
+ 'jsx-no-duplicate-props': eslint.Rule.RuleModule;
8214
+ 'jsx-no-leaked-render': eslint.Rule.RuleModule;
8215
+ 'jsx-no-literals': {
8216
+ meta: eslint.Rule.RuleMetaData;
8217
+ create(context: any): (false & {
8218
+ Literal(node: any): void;
8219
+ JSXAttribute(node: any): void;
8220
+ JSXText(node: any): void;
8221
+ TemplateLiteral(node: any): void;
8222
+ }) | ({
8223
+ ImportDeclaration(node: any): void;
8224
+ VariableDeclaration(node: any): void;
8225
+ } & {
8226
+ Literal(node: any): void;
8227
+ JSXAttribute(node: any): void;
8228
+ JSXText(node: any): void;
8229
+ TemplateLiteral(node: any): void;
8230
+ });
8231
+ };
8232
+ 'jsx-no-script-url': eslint.Rule.RuleModule;
8233
+ 'jsx-no-target-blank': eslint.Rule.RuleModule;
8234
+ 'jsx-no-useless-fragment': eslint.Rule.RuleModule;
8235
+ 'jsx-one-expression-per-line': eslint.Rule.RuleModule;
8236
+ 'jsx-no-undef': eslint.Rule.RuleModule;
8237
+ 'jsx-curly-brace-presence': eslint.Rule.RuleModule;
8238
+ 'jsx-pascal-case': eslint.Rule.RuleModule;
8239
+ 'jsx-fragments': eslint.Rule.RuleModule;
8240
+ 'jsx-props-no-multi-spaces': eslint.Rule.RuleModule;
8241
+ 'jsx-props-no-spreading': eslint.Rule.RuleModule;
8242
+ 'jsx-props-no-spread-multi': {
8243
+ meta: {
8244
+ docs: {
8245
+ description: string;
8246
+ category: string;
8247
+ recommended: boolean;
8248
+ url: string;
8249
+ };
8250
+ messages: {
8251
+ noMultiSpreading: string;
8252
+ };
8253
+ };
8254
+ create(context: any): {
8255
+ JSXOpeningElement(node: any): void;
8256
+ };
8257
+ };
8258
+ 'jsx-sort-default-props': eslint.Rule.RuleModule;
8259
+ 'jsx-sort-props': eslint.Rule.RuleModule;
8260
+ 'jsx-space-before-closing': eslint.Rule.RuleModule;
8261
+ 'jsx-tag-spacing': eslint.Rule.RuleModule;
8262
+ 'jsx-uses-react': eslint.Rule.RuleModule;
8263
+ 'jsx-uses-vars': eslint.Rule.RuleModule;
8264
+ 'jsx-wrap-multilines': eslint.Rule.RuleModule;
8265
+ 'no-invalid-html-attribute': eslint.Rule.RuleModule;
8266
+ 'no-access-state-in-setstate': eslint.Rule.RuleModule;
8267
+ 'no-adjacent-inline-elements': eslint.Rule.RuleModule;
8268
+ 'no-array-index-key': eslint.Rule.RuleModule;
8269
+ 'no-arrow-function-lifecycle': eslint.Rule.RuleModule;
8270
+ 'no-children-prop': eslint.Rule.RuleModule;
8271
+ 'no-danger': eslint.Rule.RuleModule;
8272
+ 'no-danger-with-children': eslint.Rule.RuleModule;
8273
+ 'no-deprecated': eslint.Rule.RuleModule;
8274
+ 'no-did-mount-set-state': eslint.Rule.RuleModule;
8275
+ 'no-did-update-set-state': eslint.Rule.RuleModule;
8276
+ 'no-direct-mutation-state': eslint.Rule.RuleModule;
8277
+ 'no-find-dom-node': eslint.Rule.RuleModule;
8278
+ 'no-is-mounted': eslint.Rule.RuleModule;
8279
+ 'no-multi-comp': eslint.Rule.RuleModule;
8280
+ 'no-namespace': eslint.Rule.RuleModule;
8281
+ 'no-set-state': eslint.Rule.RuleModule;
8282
+ 'no-string-refs': eslint.Rule.RuleModule;
8283
+ 'no-redundant-should-component-update': eslint.Rule.RuleModule;
8284
+ 'no-render-return-value': eslint.Rule.RuleModule;
8285
+ 'no-this-in-sfc': eslint.Rule.RuleModule;
8286
+ 'no-typos': eslint.Rule.RuleModule;
8287
+ 'no-unescaped-entities': eslint.Rule.RuleModule;
8288
+ 'no-unknown-property': eslint.Rule.RuleModule;
8289
+ 'no-unsafe': eslint.Rule.RuleModule;
8290
+ 'no-unstable-nested-components': eslint.Rule.RuleModule;
8291
+ 'no-unused-class-component-methods': eslint.Rule.RuleModule;
8292
+ 'no-unused-prop-types': eslint.Rule.RuleModule;
8293
+ 'no-unused-state': eslint.Rule.RuleModule;
8294
+ 'no-object-type-as-default-prop': eslint.Rule.RuleModule;
8295
+ 'no-will-update-set-state': eslint.Rule.RuleModule;
8296
+ 'prefer-es6-class': eslint.Rule.RuleModule;
8297
+ 'prefer-exact-props': eslint.Rule.RuleModule;
8298
+ 'prefer-read-only-props': eslint.Rule.RuleModule;
8299
+ 'prefer-stateless-function': eslint.Rule.RuleModule;
8300
+ 'prop-types': eslint.Rule.RuleModule;
8301
+ 'react-in-jsx-scope': eslint.Rule.RuleModule;
8302
+ 'require-default-props': eslint.Rule.RuleModule;
8303
+ 'require-optimization': eslint.Rule.RuleModule;
8304
+ 'require-render-return': eslint.Rule.RuleModule;
8305
+ 'self-closing-comp': eslint.Rule.RuleModule;
8306
+ 'sort-comp': eslint.Rule.RuleModule;
8307
+ 'sort-default-props': eslint.Rule.RuleModule;
8308
+ 'sort-prop-types': eslint.Rule.RuleModule;
8309
+ 'state-in-constructor': eslint.Rule.RuleModule;
8310
+ 'static-property-placement': eslint.Rule.RuleModule;
8311
+ 'style-prop-object': eslint.Rule.RuleModule;
8312
+ 'void-dom-elements-no-children': eslint.Rule.RuleModule;
8313
+ };
8314
+ configs: {
8315
+ recommended: {
8316
+ plugins: ["react"];
8317
+ parserOptions: {
8318
+ ecmaFeatures: {
8319
+ jsx: boolean;
8320
+ };
8321
+ };
8322
+ rules: {
8323
+ 'react/display-name': number;
8324
+ 'react/jsx-key': number;
8325
+ 'react/jsx-no-comment-textnodes': number;
8326
+ 'react/jsx-no-duplicate-props': number;
8327
+ 'react/jsx-no-target-blank': number;
8328
+ 'react/jsx-no-undef': number;
8329
+ 'react/jsx-uses-react': number;
8330
+ 'react/jsx-uses-vars': number;
8331
+ 'react/no-children-prop': number;
8332
+ 'react/no-danger-with-children': number;
8333
+ 'react/no-deprecated': number;
8334
+ 'react/no-direct-mutation-state': number;
8335
+ 'react/no-find-dom-node': number;
8336
+ 'react/no-is-mounted': number;
8337
+ 'react/no-render-return-value': number;
8338
+ 'react/no-string-refs': number;
8339
+ 'react/no-unescaped-entities': number;
8340
+ 'react/no-unknown-property': number;
8341
+ 'react/no-unsafe': number;
8342
+ 'react/prop-types': number;
8343
+ 'react/react-in-jsx-scope': number;
8344
+ 'react/require-render-return': number;
8345
+ };
8346
+ };
8347
+ all: {
8348
+ plugins: ["react"];
8349
+ parserOptions: {
8350
+ ecmaFeatures: {
8351
+ jsx: boolean;
8352
+ };
8353
+ };
8354
+ 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">;
8355
+ };
8356
+ 'jsx-runtime': {
8357
+ plugins: ["react"];
8358
+ parserOptions: {
8359
+ ecmaFeatures: {
8360
+ jsx: boolean;
8361
+ };
8362
+ jsxPragma: any;
8363
+ };
8364
+ rules: {
8365
+ 'react/react-in-jsx-scope': number;
8366
+ 'react/jsx-uses-react': number;
8367
+ };
8368
+ };
8369
+ } & {
8370
+ flat?: Record<string, eslint_plugin_react.ReactFlatConfig> | undefined;
8371
+ };
7913
8372
  };
8373
+ "react-hooks": typeof eslint_plugin_react_hooks;
8374
+ "jsx-a11y": typeof eslint_plugin_jsx_a11y;
7914
8375
  "react-refresh": typeof eslint_plugin_react_refresh;
7915
8376
  "@tanstack/query"?: undefined;
7916
8377
  };
@@ -9159,9 +9620,9 @@ declare const jimmyDotCodes: ({ typescript, react, testing, astro, overrides, au
9159
9620
  "react-refresh"?: undefined;
9160
9621
  };
9161
9622
  rules: {
9162
- "@tanstack/query/exhaustive-deps": "error";
9163
- "@tanstack/query/no-rest-destructuring": "warn";
9164
- "@tanstack/query/stable-query-client": "error";
9623
+ readonly "@tanstack/query/exhaustive-deps": "error";
9624
+ readonly "@tanstack/query/no-rest-destructuring": "warn";
9625
+ readonly "@tanstack/query/stable-query-client": "error";
9165
9626
  };
9166
9627
  languageOptions?: undefined;
9167
9628
  settings?: undefined;