@luxass/eslint-config 4.0.0-beta.0 → 4.0.0-beta.1
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/chunk-KTJ5MQXV.mjs +460 -0
- package/dist/configs/index.cjs +418 -421
- package/dist/configs/index.mjs +1 -1
- package/dist/configs/react.cjs +418 -421
- package/dist/configs/react.mjs +1 -1
- package/dist/index.cjs +418 -421
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-AQEIRSYN.mjs +0 -463
package/dist/configs/index.cjs
CHANGED
|
@@ -1443,8 +1443,8 @@ async function react() {
|
|
|
1443
1443
|
}
|
|
1444
1444
|
},
|
|
1445
1445
|
{
|
|
1446
|
-
|
|
1447
|
-
|
|
1446
|
+
files: [GLOB_REACT],
|
|
1447
|
+
languageOptions: {
|
|
1448
1448
|
...pluginReact.configs.recommended.languageOptions,
|
|
1449
1449
|
globals: {
|
|
1450
1450
|
...import_globals2.default.browser
|
|
@@ -1455,427 +1455,424 @@ async function react() {
|
|
|
1455
1455
|
}
|
|
1456
1456
|
}
|
|
1457
1457
|
},
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
"
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
],
|
|
1473
|
-
"jsx-a11y/anchor-has-content": ["warn", { components: [] }],
|
|
1474
|
-
"jsx-a11y/anchor-is-valid": [
|
|
1475
|
-
"warn",
|
|
1476
|
-
{
|
|
1477
|
-
aspects: ["noHref", "invalidHref", "preferButton"],
|
|
1478
|
-
components: ["Link"],
|
|
1479
|
-
specialLink: ["to"]
|
|
1480
|
-
}
|
|
1481
|
-
],
|
|
1482
|
-
"jsx-a11y/aria-activedescendant-has-tabindex": ["warn"],
|
|
1483
|
-
"jsx-a11y/aria-props": ["warn"],
|
|
1484
|
-
"jsx-a11y/aria-proptypes": ["warn"],
|
|
1485
|
-
"jsx-a11y/aria-role": ["warn", { ignoreNonDOM: false }],
|
|
1486
|
-
"jsx-a11y/aria-unsupported-elements": ["warn"],
|
|
1487
|
-
"jsx-a11y/autocomplete-valid": ["off", { inputComponents: [] }],
|
|
1488
|
-
"jsx-a11y/click-events-have-key-events": ["warn"],
|
|
1489
|
-
"jsx-a11y/control-has-associated-label": [
|
|
1490
|
-
"warn",
|
|
1491
|
-
{
|
|
1492
|
-
controlComponents: [],
|
|
1493
|
-
depth: 5,
|
|
1494
|
-
ignoreElements: [
|
|
1495
|
-
"audio",
|
|
1496
|
-
"canvas",
|
|
1497
|
-
"embed",
|
|
1498
|
-
"input",
|
|
1499
|
-
"textarea",
|
|
1500
|
-
"tr",
|
|
1501
|
-
"video"
|
|
1502
|
-
],
|
|
1503
|
-
ignoreRoles: [
|
|
1504
|
-
"grid",
|
|
1505
|
-
"listbox",
|
|
1506
|
-
"menu",
|
|
1507
|
-
"menubar",
|
|
1508
|
-
"radiogroup",
|
|
1509
|
-
"row",
|
|
1510
|
-
"tablist",
|
|
1511
|
-
"toolbar",
|
|
1512
|
-
"tree",
|
|
1513
|
-
"treegrid"
|
|
1514
|
-
],
|
|
1515
|
-
labelAttributes: ["label"]
|
|
1516
|
-
}
|
|
1517
|
-
],
|
|
1518
|
-
"jsx-a11y/heading-has-content": ["warn", { components: [""] }],
|
|
1519
|
-
"jsx-a11y/html-has-lang": ["warn"],
|
|
1520
|
-
"jsx-a11y/iframe-has-title": ["warn"],
|
|
1521
|
-
"jsx-a11y/img-redundant-alt": ["warn"],
|
|
1522
|
-
"jsx-a11y/interactive-supports-focus": ["warn"],
|
|
1523
|
-
"jsx-a11y/label-has-associated-control": [
|
|
1524
|
-
"warn",
|
|
1525
|
-
{
|
|
1526
|
-
assert: "both",
|
|
1527
|
-
controlComponents: [],
|
|
1528
|
-
depth: 25,
|
|
1529
|
-
labelAttributes: [],
|
|
1530
|
-
labelComponents: []
|
|
1531
|
-
}
|
|
1532
|
-
],
|
|
1533
|
-
"jsx-a11y/label-has-for": [
|
|
1534
|
-
"off",
|
|
1535
|
-
{
|
|
1536
|
-
allowChildren: false,
|
|
1537
|
-
components: [],
|
|
1538
|
-
required: {
|
|
1539
|
-
every: ["nesting", "id"]
|
|
1458
|
+
name: "luxass:react:rules",
|
|
1459
|
+
rules: {
|
|
1460
|
+
...pluginReact.configs.all.rules,
|
|
1461
|
+
...pluginReactHooks.configs.recommended.rules,
|
|
1462
|
+
...pluginA11y.configs.recommended.rules,
|
|
1463
|
+
"jsx-a11y/accessible-emoji": ["warn"],
|
|
1464
|
+
"jsx-a11y/alt-text": [
|
|
1465
|
+
"warn",
|
|
1466
|
+
{
|
|
1467
|
+
"area": [],
|
|
1468
|
+
"elements": ["img", "object", "area", 'input[type="image"]'],
|
|
1469
|
+
"img": [],
|
|
1470
|
+
'input[type="image"]': [],
|
|
1471
|
+
"object": []
|
|
1540
1472
|
}
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
"
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
"onKeyDown",
|
|
1572
|
-
"onKeyUp"
|
|
1573
|
-
]
|
|
1574
|
-
}
|
|
1575
|
-
],
|
|
1576
|
-
"jsx-a11y/no-noninteractive-element-to-interactive-role": [
|
|
1577
|
-
"warn",
|
|
1578
|
-
{
|
|
1579
|
-
li: ["menuitem", "option", "row", "tab", "treeitem"],
|
|
1580
|
-
ol: [
|
|
1581
|
-
"listbox",
|
|
1582
|
-
"menu",
|
|
1583
|
-
"menubar",
|
|
1584
|
-
"radiogroup",
|
|
1585
|
-
"tablist",
|
|
1586
|
-
"tree",
|
|
1587
|
-
"treegrid"
|
|
1588
|
-
],
|
|
1589
|
-
table: ["grid"],
|
|
1590
|
-
td: ["gridcell"],
|
|
1591
|
-
ul: [
|
|
1592
|
-
"listbox",
|
|
1593
|
-
"menu",
|
|
1594
|
-
"menubar",
|
|
1595
|
-
"radiogroup",
|
|
1596
|
-
"tablist",
|
|
1597
|
-
"tree",
|
|
1598
|
-
"treegrid"
|
|
1599
|
-
]
|
|
1600
|
-
}
|
|
1601
|
-
],
|
|
1602
|
-
"jsx-a11y/no-noninteractive-tabindex": [
|
|
1603
|
-
"warn",
|
|
1604
|
-
{ roles: ["tabpanel"], tags: [] }
|
|
1605
|
-
],
|
|
1606
|
-
"jsx-a11y/no-onchange": ["off"],
|
|
1607
|
-
"jsx-a11y/no-redundant-roles": ["warn"],
|
|
1608
|
-
"jsx-a11y/no-static-element-interactions": [
|
|
1609
|
-
"off",
|
|
1610
|
-
{
|
|
1611
|
-
handlers: [
|
|
1612
|
-
"onClick",
|
|
1613
|
-
"onMouseDown",
|
|
1614
|
-
"onMouseUp",
|
|
1615
|
-
"onKeyPress",
|
|
1616
|
-
"onKeyDown",
|
|
1617
|
-
"onKeyUp"
|
|
1618
|
-
]
|
|
1619
|
-
}
|
|
1620
|
-
],
|
|
1621
|
-
"jsx-a11y/role-has-required-aria-props": ["warn"],
|
|
1622
|
-
"jsx-a11y/role-supports-aria-props": ["warn"],
|
|
1623
|
-
"jsx-a11y/scope": ["warn"],
|
|
1624
|
-
"jsx-a11y/tabindex-no-positive": ["warn"],
|
|
1625
|
-
"react-hooks/exhaustive-deps": ["warn"],
|
|
1626
|
-
"react-hooks/rules-of-hooks": ["error"],
|
|
1627
|
-
"react/boolean-prop-naming": [
|
|
1628
|
-
"warn",
|
|
1629
|
-
{ rule: "^(is|has)[A-Z]([A-Za-z0-9]?)+", validateNested: true }
|
|
1630
|
-
],
|
|
1631
|
-
"react/button-has-type": [
|
|
1632
|
-
"error",
|
|
1633
|
-
{ button: true, reset: false, submit: true }
|
|
1634
|
-
],
|
|
1635
|
-
"react/default-props-match-prop-types": [
|
|
1636
|
-
"error",
|
|
1637
|
-
{ allowRequiredDefaults: false }
|
|
1638
|
-
],
|
|
1639
|
-
"react/destructuring-assignment": ["off", "always"],
|
|
1640
|
-
"react/display-name": ["error", { ignoreTranspilerName: false }],
|
|
1641
|
-
"react/forbid-component-props": ["off", { forbid: [] }],
|
|
1642
|
-
"react/forbid-dom-props": ["off", { forbid: [] }],
|
|
1643
|
-
"react/forbid-elements": ["off", { forbid: [] }],
|
|
1644
|
-
"react/forbid-foreign-prop-types": ["error", { allowInPropTypes: true }],
|
|
1645
|
-
"react/forbid-prop-types": ["error", { forbid: ["any", "array"] }],
|
|
1646
|
-
"react/function-component-definition": [
|
|
1647
|
-
"error",
|
|
1648
|
-
{
|
|
1649
|
-
namedComponents: "arrow-function",
|
|
1650
|
-
unnamedComponents: "arrow-function"
|
|
1651
|
-
}
|
|
1652
|
-
],
|
|
1653
|
-
"react/hook-use-state": ["error"],
|
|
1654
|
-
"react/iframe-missing-sandbox": ["error"],
|
|
1655
|
-
"react/jsx-boolean-value": ["error", "never", { always: [] }],
|
|
1656
|
-
"react/jsx-child-element-spacing": ["off"],
|
|
1657
|
-
"react/jsx-closing-bracket-location": [
|
|
1658
|
-
"off",
|
|
1659
|
-
{ nonEmpty: "tag-aligned", selfClosing: false }
|
|
1660
|
-
],
|
|
1661
|
-
"react/jsx-closing-tag-location": ["off"],
|
|
1662
|
-
"react/jsx-curly-brace-presence": [
|
|
1663
|
-
"error",
|
|
1664
|
-
{ children: "ignore", propElementValues: "always", props: "never" }
|
|
1665
|
-
],
|
|
1666
|
-
"react/jsx-curly-newline": [
|
|
1667
|
-
"off",
|
|
1668
|
-
{ multiline: "consistent", singleline: "forbid" }
|
|
1669
|
-
],
|
|
1670
|
-
"react/jsx-curly-spacing": ["error", "never"],
|
|
1671
|
-
"react/jsx-equals-spacing": ["error", "never"],
|
|
1672
|
-
"react/jsx-filename-extension": ["warn", { extensions: [".tsx"] }],
|
|
1673
|
-
"react/jsx-first-prop-new-line": ["off", "multiline"],
|
|
1674
|
-
"react/jsx-fragments": ["error", "syntax"],
|
|
1675
|
-
"react/jsx-handler-names": [
|
|
1676
|
-
"error",
|
|
1677
|
-
{ eventHandlerPrefix: "handle", eventHandlerPropPrefix: "on" }
|
|
1678
|
-
],
|
|
1679
|
-
"react/jsx-indent": ["off", "tab"],
|
|
1680
|
-
"react/jsx-indent-props": ["off", "tab"],
|
|
1681
|
-
"react/jsx-key": [
|
|
1682
|
-
"error",
|
|
1683
|
-
{
|
|
1684
|
-
checkFragmentShorthand: true,
|
|
1685
|
-
checkKeyMustBeforeSpread: true,
|
|
1686
|
-
warnOnDuplicates: true
|
|
1687
|
-
}
|
|
1688
|
-
],
|
|
1689
|
-
"react/jsx-max-depth": ["off"],
|
|
1690
|
-
"react/jsx-max-props-per-line": [
|
|
1691
|
-
"off",
|
|
1692
|
-
{ maximum: 3, when: "multiline" }
|
|
1693
|
-
],
|
|
1694
|
-
"react/jsx-newline": ["off"],
|
|
1695
|
-
"react/jsx-no-bind": [
|
|
1696
|
-
"error",
|
|
1697
|
-
{
|
|
1698
|
-
allowArrowFunctions: true,
|
|
1699
|
-
allowBind: false,
|
|
1700
|
-
allowFunctions: false,
|
|
1701
|
-
ignoreDOMComponents: false,
|
|
1702
|
-
ignoreRefs: false
|
|
1703
|
-
}
|
|
1704
|
-
],
|
|
1705
|
-
"react/jsx-no-comment-textnodes": ["error"],
|
|
1706
|
-
"react/jsx-no-constructed-context-values": ["error"],
|
|
1707
|
-
"react/jsx-no-duplicate-props": ["error", { ignoreCase: false }],
|
|
1708
|
-
"react/jsx-no-literals": ["off", { noStrings: true }],
|
|
1709
|
-
"react/jsx-no-script-url": ["error", [{ name: "Link", props: ["to"] }]],
|
|
1710
|
-
"react/jsx-no-target-blank": [
|
|
1711
|
-
"error",
|
|
1712
|
-
{ forms: true, links: true, warnOnSpreadAttributes: true }
|
|
1713
|
-
],
|
|
1714
|
-
"react/jsx-no-undef": ["error"],
|
|
1715
|
-
"react/jsx-no-useless-fragment": ["error"],
|
|
1716
|
-
"react/jsx-one-expression-per-line": ["off", { allow: "single-child" }],
|
|
1717
|
-
"react/jsx-pascal-case": ["error", { allowAllCaps: true, ignore: [] }],
|
|
1718
|
-
"react/jsx-props-no-multi-spaces": ["error"],
|
|
1719
|
-
"react/jsx-props-no-spreading": [
|
|
1720
|
-
"off",
|
|
1721
|
-
{
|
|
1722
|
-
custom: "enforce",
|
|
1723
|
-
exceptions: [],
|
|
1724
|
-
explicitSpread: "ignore",
|
|
1725
|
-
html: "enforce"
|
|
1726
|
-
}
|
|
1727
|
-
],
|
|
1728
|
-
"react/jsx-sort-default-props": ["off", { ignoreCase: true }],
|
|
1729
|
-
"react/jsx-sort-prop-types": ["off"],
|
|
1730
|
-
"react/jsx-sort-props": [
|
|
1731
|
-
"error",
|
|
1732
|
-
{
|
|
1733
|
-
callbacksLast: true,
|
|
1734
|
-
locale: "auto",
|
|
1735
|
-
multiline: "ignore",
|
|
1736
|
-
noSortAlphabetically: true,
|
|
1737
|
-
reservedFirst: true,
|
|
1738
|
-
shorthandFirst: true
|
|
1739
|
-
}
|
|
1740
|
-
],
|
|
1741
|
-
"react/jsx-space-before-closing": ["off", "always"],
|
|
1742
|
-
"react/jsx-tag-spacing": [
|
|
1743
|
-
"error",
|
|
1744
|
-
{
|
|
1745
|
-
afterOpening: "never",
|
|
1746
|
-
beforeClosing: "never",
|
|
1747
|
-
beforeSelfClosing: "always",
|
|
1748
|
-
closingSlash: "never"
|
|
1749
|
-
}
|
|
1750
|
-
],
|
|
1751
|
-
"react/jsx-uses-react": ["off"],
|
|
1752
|
-
"react/jsx-uses-vars": ["error"],
|
|
1753
|
-
"react/jsx-wrap-multilines": [
|
|
1754
|
-
"error",
|
|
1755
|
-
{
|
|
1756
|
-
arrow: "parens-new-line",
|
|
1757
|
-
assignment: "parens-new-line",
|
|
1758
|
-
condition: "ignore",
|
|
1759
|
-
declaration: "parens-new-line",
|
|
1760
|
-
logical: "ignore",
|
|
1761
|
-
prop: "ignore",
|
|
1762
|
-
return: "parens-new-line"
|
|
1763
|
-
}
|
|
1764
|
-
],
|
|
1765
|
-
"react/no-access-state-in-setstate": ["error"],
|
|
1766
|
-
"react/no-adjacent-inline-elements": ["off"],
|
|
1767
|
-
"react/no-array-index-key": ["error"],
|
|
1768
|
-
"react/no-arrow-function-lifecycle": ["error"],
|
|
1769
|
-
"react/no-children-prop": ["error"],
|
|
1770
|
-
"react/no-danger": ["error"],
|
|
1771
|
-
"react/no-danger-with-children": ["error"],
|
|
1772
|
-
"react/no-deprecated": ["error"],
|
|
1773
|
-
"react/no-did-mount-set-state": ["off"],
|
|
1774
|
-
"react/no-did-update-set-state": ["error"],
|
|
1775
|
-
"react/no-direct-mutation-state": ["error"],
|
|
1776
|
-
"react/no-find-dom-node": ["error"],
|
|
1777
|
-
"react/no-invalid-html-attribute": ["error"],
|
|
1778
|
-
"react/no-is-mounted": ["error"],
|
|
1779
|
-
"react/no-multi-comp": ["off"],
|
|
1780
|
-
"react/no-namespace": ["error"],
|
|
1781
|
-
"react/no-redundant-should-component-update": ["error"],
|
|
1782
|
-
"react/no-render-return-value": ["error"],
|
|
1783
|
-
"react/no-set-state": ["off"],
|
|
1784
|
-
"react/no-string-refs": ["error", { noTemplateLiterals: true }],
|
|
1785
|
-
"react/no-this-in-sfc": ["error"],
|
|
1786
|
-
"react/no-typos": ["error"],
|
|
1787
|
-
"react/no-unescaped-entities": ["error"],
|
|
1788
|
-
"react/no-unknown-property": ["error"],
|
|
1789
|
-
"react/no-unsafe": ["error", { checkAliases: true }],
|
|
1790
|
-
"react/no-unstable-nested-components": ["error"],
|
|
1791
|
-
"react/no-unused-class-component-methods": ["error"],
|
|
1792
|
-
"react/no-unused-prop-types": [
|
|
1793
|
-
"error",
|
|
1794
|
-
{ customValidators: [], skipShapeProps: true }
|
|
1795
|
-
],
|
|
1796
|
-
"react/no-unused-state": ["error"],
|
|
1797
|
-
"react/no-will-update-set-state": ["error"],
|
|
1798
|
-
"react/prefer-es6-class": ["error", "always"],
|
|
1799
|
-
"react/prefer-exact-props": ["error"],
|
|
1800
|
-
"react/prefer-read-only-props": ["error"],
|
|
1801
|
-
"react/prefer-stateless-function": [
|
|
1802
|
-
"error",
|
|
1803
|
-
{ ignorePureComponents: true }
|
|
1804
|
-
],
|
|
1805
|
-
"react/prop-types": [
|
|
1806
|
-
"error",
|
|
1807
|
-
{ customValidators: [], ignore: [], skipUndeclared: false }
|
|
1808
|
-
],
|
|
1809
|
-
"react/react-in-jsx-scope": ["off"],
|
|
1810
|
-
"react/require-default-props": [
|
|
1811
|
-
"off",
|
|
1812
|
-
{ forbidDefaultForRequired: true, ignoreFunctionalComponents: true }
|
|
1813
|
-
],
|
|
1814
|
-
"react/require-optimization": ["off", { allowDecorators: [] }],
|
|
1815
|
-
"react/require-render-return": ["error"],
|
|
1816
|
-
"react/self-closing-comp": ["error", { component: true, html: true }],
|
|
1817
|
-
"react/sort-comp": [
|
|
1818
|
-
"off",
|
|
1819
|
-
{
|
|
1820
|
-
groups: {
|
|
1821
|
-
lifecycle: [
|
|
1822
|
-
"displayName",
|
|
1823
|
-
"propTypes",
|
|
1824
|
-
"contextTypes",
|
|
1825
|
-
"childContextTypes",
|
|
1826
|
-
"mixins",
|
|
1827
|
-
"statics",
|
|
1828
|
-
"defaultProps",
|
|
1829
|
-
"constructor",
|
|
1830
|
-
"getDefaultProps",
|
|
1831
|
-
"getInitialState",
|
|
1832
|
-
"state",
|
|
1833
|
-
"getChildContext",
|
|
1834
|
-
"getDerivedStateFromProps",
|
|
1835
|
-
"componentWillMount",
|
|
1836
|
-
"UNSAFE_componentWillMount",
|
|
1837
|
-
"componentDidMount",
|
|
1838
|
-
"componentWillReceiveProps",
|
|
1839
|
-
"UNSAFE_componentWillReceiveProps",
|
|
1840
|
-
"shouldComponentUpdate",
|
|
1841
|
-
"componentWillUpdate",
|
|
1842
|
-
"UNSAFE_componentWillUpdate",
|
|
1843
|
-
"getSnapshotBeforeUpdate",
|
|
1844
|
-
"componentDidUpdate",
|
|
1845
|
-
"componentDidCatch",
|
|
1846
|
-
"componentWillUnmount"
|
|
1473
|
+
],
|
|
1474
|
+
"jsx-a11y/anchor-has-content": ["warn", { components: [] }],
|
|
1475
|
+
"jsx-a11y/anchor-is-valid": [
|
|
1476
|
+
"warn",
|
|
1477
|
+
{
|
|
1478
|
+
aspects: ["noHref", "invalidHref", "preferButton"],
|
|
1479
|
+
components: ["Link"],
|
|
1480
|
+
specialLink: ["to"]
|
|
1481
|
+
}
|
|
1482
|
+
],
|
|
1483
|
+
"jsx-a11y/aria-activedescendant-has-tabindex": ["warn"],
|
|
1484
|
+
"jsx-a11y/aria-props": ["warn"],
|
|
1485
|
+
"jsx-a11y/aria-proptypes": ["warn"],
|
|
1486
|
+
"jsx-a11y/aria-role": ["warn", { ignoreNonDOM: false }],
|
|
1487
|
+
"jsx-a11y/aria-unsupported-elements": ["warn"],
|
|
1488
|
+
"jsx-a11y/autocomplete-valid": ["off", { inputComponents: [] }],
|
|
1489
|
+
"jsx-a11y/click-events-have-key-events": ["warn"],
|
|
1490
|
+
"jsx-a11y/control-has-associated-label": [
|
|
1491
|
+
"warn",
|
|
1492
|
+
{
|
|
1493
|
+
controlComponents: [],
|
|
1494
|
+
depth: 5,
|
|
1495
|
+
ignoreElements: [
|
|
1496
|
+
"audio",
|
|
1497
|
+
"canvas",
|
|
1498
|
+
"embed",
|
|
1499
|
+
"input",
|
|
1500
|
+
"textarea",
|
|
1501
|
+
"tr",
|
|
1502
|
+
"video"
|
|
1847
1503
|
],
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
"
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
"
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1504
|
+
ignoreRoles: [
|
|
1505
|
+
"grid",
|
|
1506
|
+
"listbox",
|
|
1507
|
+
"menu",
|
|
1508
|
+
"menubar",
|
|
1509
|
+
"radiogroup",
|
|
1510
|
+
"row",
|
|
1511
|
+
"tablist",
|
|
1512
|
+
"toolbar",
|
|
1513
|
+
"tree",
|
|
1514
|
+
"treegrid"
|
|
1515
|
+
],
|
|
1516
|
+
labelAttributes: ["label"]
|
|
1517
|
+
}
|
|
1518
|
+
],
|
|
1519
|
+
"jsx-a11y/heading-has-content": ["warn", { components: [""] }],
|
|
1520
|
+
"jsx-a11y/html-has-lang": ["warn"],
|
|
1521
|
+
"jsx-a11y/iframe-has-title": ["warn"],
|
|
1522
|
+
"jsx-a11y/img-redundant-alt": ["warn"],
|
|
1523
|
+
"jsx-a11y/interactive-supports-focus": ["warn"],
|
|
1524
|
+
"jsx-a11y/label-has-associated-control": [
|
|
1525
|
+
"warn",
|
|
1526
|
+
{
|
|
1527
|
+
assert: "both",
|
|
1528
|
+
controlComponents: [],
|
|
1529
|
+
depth: 25,
|
|
1530
|
+
labelAttributes: [],
|
|
1531
|
+
labelComponents: []
|
|
1532
|
+
}
|
|
1533
|
+
],
|
|
1534
|
+
"jsx-a11y/label-has-for": [
|
|
1535
|
+
"off",
|
|
1536
|
+
{
|
|
1537
|
+
allowChildren: false,
|
|
1538
|
+
components: [],
|
|
1539
|
+
required: {
|
|
1540
|
+
every: ["nesting", "id"]
|
|
1541
|
+
}
|
|
1542
|
+
}
|
|
1543
|
+
],
|
|
1544
|
+
"jsx-a11y/lang": ["warn"],
|
|
1545
|
+
"jsx-a11y/media-has-caption": [
|
|
1546
|
+
"warn",
|
|
1547
|
+
{
|
|
1548
|
+
audio: [],
|
|
1549
|
+
track: [],
|
|
1550
|
+
video: []
|
|
1551
|
+
}
|
|
1552
|
+
],
|
|
1553
|
+
"jsx-a11y/mouse-events-have-key-events": ["warn"],
|
|
1554
|
+
"jsx-a11y/no-access-key": ["warn"],
|
|
1555
|
+
"jsx-a11y/no-autofocus": ["warn", { ignoreNonDOM: true }],
|
|
1556
|
+
"jsx-a11y/no-distracting-elements": [
|
|
1557
|
+
"warn",
|
|
1558
|
+
{ elements: ["marquee", "blink"] }
|
|
1559
|
+
],
|
|
1560
|
+
"jsx-a11y/no-interactive-element-to-noninteractive-role": [
|
|
1561
|
+
"warn",
|
|
1562
|
+
{ tr: ["none", "presentation"] }
|
|
1563
|
+
],
|
|
1564
|
+
"jsx-a11y/no-noninteractive-element-interactions": [
|
|
1565
|
+
"warn",
|
|
1566
|
+
{
|
|
1567
|
+
handlers: [
|
|
1568
|
+
"onClick",
|
|
1569
|
+
"onMouseDown",
|
|
1570
|
+
"onMouseUp",
|
|
1571
|
+
"onKeyPress",
|
|
1572
|
+
"onKeyDown",
|
|
1573
|
+
"onKeyUp"
|
|
1574
|
+
]
|
|
1575
|
+
}
|
|
1576
|
+
],
|
|
1577
|
+
"jsx-a11y/no-noninteractive-element-to-interactive-role": [
|
|
1578
|
+
"warn",
|
|
1579
|
+
{
|
|
1580
|
+
li: ["menuitem", "option", "row", "tab", "treeitem"],
|
|
1581
|
+
ol: [
|
|
1582
|
+
"listbox",
|
|
1583
|
+
"menu",
|
|
1584
|
+
"menubar",
|
|
1585
|
+
"radiogroup",
|
|
1586
|
+
"tablist",
|
|
1587
|
+
"tree",
|
|
1588
|
+
"treegrid"
|
|
1589
|
+
],
|
|
1590
|
+
table: ["grid"],
|
|
1591
|
+
td: ["gridcell"],
|
|
1592
|
+
ul: [
|
|
1593
|
+
"listbox",
|
|
1594
|
+
"menu",
|
|
1595
|
+
"menubar",
|
|
1596
|
+
"radiogroup",
|
|
1597
|
+
"tablist",
|
|
1598
|
+
"tree",
|
|
1599
|
+
"treegrid"
|
|
1600
|
+
]
|
|
1601
|
+
}
|
|
1602
|
+
],
|
|
1603
|
+
"jsx-a11y/no-noninteractive-tabindex": [
|
|
1604
|
+
"warn",
|
|
1605
|
+
{ roles: ["tabpanel"], tags: [] }
|
|
1606
|
+
],
|
|
1607
|
+
"jsx-a11y/no-onchange": ["off"],
|
|
1608
|
+
"jsx-a11y/no-redundant-roles": ["warn"],
|
|
1609
|
+
"jsx-a11y/no-static-element-interactions": [
|
|
1610
|
+
"off",
|
|
1611
|
+
{
|
|
1612
|
+
handlers: [
|
|
1613
|
+
"onClick",
|
|
1614
|
+
"onMouseDown",
|
|
1615
|
+
"onMouseUp",
|
|
1616
|
+
"onKeyPress",
|
|
1617
|
+
"onKeyDown",
|
|
1618
|
+
"onKeyUp"
|
|
1619
|
+
]
|
|
1620
|
+
}
|
|
1621
|
+
],
|
|
1622
|
+
"jsx-a11y/role-has-required-aria-props": ["warn"],
|
|
1623
|
+
"jsx-a11y/role-supports-aria-props": ["warn"],
|
|
1624
|
+
"jsx-a11y/scope": ["warn"],
|
|
1625
|
+
"jsx-a11y/tabindex-no-positive": ["warn"],
|
|
1626
|
+
"react-hooks/exhaustive-deps": ["warn"],
|
|
1627
|
+
"react-hooks/rules-of-hooks": ["error"],
|
|
1628
|
+
"react/boolean-prop-naming": [
|
|
1629
|
+
"warn",
|
|
1630
|
+
{ rule: "^(is|has)[A-Z]([A-Za-z0-9]?)+", validateNested: true }
|
|
1631
|
+
],
|
|
1632
|
+
"react/button-has-type": [
|
|
1633
|
+
"error",
|
|
1634
|
+
{ button: true, reset: false, submit: true }
|
|
1635
|
+
],
|
|
1636
|
+
"react/default-props-match-prop-types": [
|
|
1637
|
+
"error",
|
|
1638
|
+
{ allowRequiredDefaults: false }
|
|
1639
|
+
],
|
|
1640
|
+
"react/destructuring-assignment": ["off", "always"],
|
|
1641
|
+
"react/display-name": ["error", { ignoreTranspilerName: false }],
|
|
1642
|
+
"react/forbid-component-props": ["off", { forbid: [] }],
|
|
1643
|
+
"react/forbid-dom-props": ["off", { forbid: [] }],
|
|
1644
|
+
"react/forbid-elements": ["off", { forbid: [] }],
|
|
1645
|
+
"react/forbid-foreign-prop-types": ["error", { allowInPropTypes: true }],
|
|
1646
|
+
"react/forbid-prop-types": ["error", { forbid: ["any", "array"] }],
|
|
1647
|
+
"react/function-component-definition": "error",
|
|
1648
|
+
"react/hook-use-state": ["error"],
|
|
1649
|
+
"react/iframe-missing-sandbox": ["error"],
|
|
1650
|
+
"react/jsx-boolean-value": ["error", "never", { always: [] }],
|
|
1651
|
+
"react/jsx-child-element-spacing": ["off"],
|
|
1652
|
+
"react/jsx-closing-bracket-location": [
|
|
1653
|
+
"off",
|
|
1654
|
+
{ nonEmpty: "tag-aligned", selfClosing: false }
|
|
1655
|
+
],
|
|
1656
|
+
"react/jsx-closing-tag-location": ["off"],
|
|
1657
|
+
"react/jsx-curly-brace-presence": [
|
|
1658
|
+
"error",
|
|
1659
|
+
{ children: "ignore", propElementValues: "always", props: "never" }
|
|
1660
|
+
],
|
|
1661
|
+
"react/jsx-curly-newline": [
|
|
1662
|
+
"off",
|
|
1663
|
+
{ multiline: "consistent", singleline: "forbid" }
|
|
1664
|
+
],
|
|
1665
|
+
"react/jsx-curly-spacing": ["error", "never"],
|
|
1666
|
+
"react/jsx-equals-spacing": ["error", "never"],
|
|
1667
|
+
"react/jsx-filename-extension": ["warn", { extensions: [".tsx"] }],
|
|
1668
|
+
"react/jsx-first-prop-new-line": ["off", "multiline"],
|
|
1669
|
+
"react/jsx-fragments": ["error", "syntax"],
|
|
1670
|
+
"react/jsx-handler-names": [
|
|
1671
|
+
"error",
|
|
1672
|
+
{ eventHandlerPrefix: "handle", eventHandlerPropPrefix: "on" }
|
|
1673
|
+
],
|
|
1674
|
+
"react/jsx-indent": ["off", "tab"],
|
|
1675
|
+
"react/jsx-indent-props": ["off", "tab"],
|
|
1676
|
+
"react/jsx-key": [
|
|
1677
|
+
"error",
|
|
1678
|
+
{
|
|
1679
|
+
checkFragmentShorthand: true,
|
|
1680
|
+
checkKeyMustBeforeSpread: true,
|
|
1681
|
+
warnOnDuplicates: true
|
|
1682
|
+
}
|
|
1683
|
+
],
|
|
1684
|
+
"react/jsx-max-depth": ["off"],
|
|
1685
|
+
"react/jsx-max-props-per-line": [
|
|
1686
|
+
"off",
|
|
1687
|
+
{ maximum: 3, when: "multiline" }
|
|
1688
|
+
],
|
|
1689
|
+
"react/jsx-newline": ["off"],
|
|
1690
|
+
"react/jsx-no-bind": [
|
|
1691
|
+
"error",
|
|
1692
|
+
{
|
|
1693
|
+
allowArrowFunctions: true,
|
|
1694
|
+
allowBind: false,
|
|
1695
|
+
allowFunctions: false,
|
|
1696
|
+
ignoreDOMComponents: false,
|
|
1697
|
+
ignoreRefs: false
|
|
1698
|
+
}
|
|
1699
|
+
],
|
|
1700
|
+
"react/jsx-no-comment-textnodes": ["error"],
|
|
1701
|
+
"react/jsx-no-constructed-context-values": ["error"],
|
|
1702
|
+
"react/jsx-no-duplicate-props": ["error", { ignoreCase: false }],
|
|
1703
|
+
"react/jsx-no-leaked-render": "off",
|
|
1704
|
+
"react/jsx-no-literals": ["off", { noStrings: true }],
|
|
1705
|
+
"react/jsx-no-script-url": ["error", [{ name: "Link", props: ["to"] }]],
|
|
1706
|
+
"react/jsx-no-target-blank": [
|
|
1707
|
+
"error",
|
|
1708
|
+
{ forms: true, links: true, warnOnSpreadAttributes: true }
|
|
1709
|
+
],
|
|
1710
|
+
"react/jsx-no-undef": ["error"],
|
|
1711
|
+
"react/jsx-no-useless-fragment": ["error"],
|
|
1712
|
+
"react/jsx-one-expression-per-line": ["off", { allow: "single-child" }],
|
|
1713
|
+
"react/jsx-pascal-case": ["error", { allowAllCaps: true, ignore: [] }],
|
|
1714
|
+
"react/jsx-props-no-multi-spaces": ["error"],
|
|
1715
|
+
"react/jsx-props-no-spreading": [
|
|
1716
|
+
"off",
|
|
1717
|
+
{
|
|
1718
|
+
custom: "enforce",
|
|
1719
|
+
exceptions: [],
|
|
1720
|
+
explicitSpread: "ignore",
|
|
1721
|
+
html: "enforce"
|
|
1722
|
+
}
|
|
1723
|
+
],
|
|
1724
|
+
"react/jsx-sort-default-props": ["off", { ignoreCase: true }],
|
|
1725
|
+
"react/jsx-sort-prop-types": ["off"],
|
|
1726
|
+
"react/jsx-sort-props": [
|
|
1727
|
+
"error",
|
|
1728
|
+
{
|
|
1729
|
+
callbacksLast: true,
|
|
1730
|
+
locale: "auto",
|
|
1731
|
+
multiline: "ignore",
|
|
1732
|
+
noSortAlphabetically: true,
|
|
1733
|
+
reservedFirst: true,
|
|
1734
|
+
shorthandFirst: true
|
|
1735
|
+
}
|
|
1736
|
+
],
|
|
1737
|
+
"react/jsx-space-before-closing": ["off", "always"],
|
|
1738
|
+
"react/jsx-tag-spacing": [
|
|
1739
|
+
"error",
|
|
1740
|
+
{
|
|
1741
|
+
afterOpening: "never",
|
|
1742
|
+
beforeClosing: "never",
|
|
1743
|
+
beforeSelfClosing: "always",
|
|
1744
|
+
closingSlash: "never"
|
|
1745
|
+
}
|
|
1746
|
+
],
|
|
1747
|
+
"react/jsx-uses-react": ["off"],
|
|
1748
|
+
"react/jsx-uses-vars": ["error"],
|
|
1749
|
+
"react/jsx-wrap-multilines": [
|
|
1750
|
+
"error",
|
|
1751
|
+
{
|
|
1752
|
+
arrow: "parens-new-line",
|
|
1753
|
+
assignment: "parens-new-line",
|
|
1754
|
+
condition: "ignore",
|
|
1755
|
+
declaration: "parens-new-line",
|
|
1756
|
+
logical: "ignore",
|
|
1757
|
+
prop: "ignore",
|
|
1758
|
+
return: "parens-new-line"
|
|
1759
|
+
}
|
|
1760
|
+
],
|
|
1761
|
+
"react/no-access-state-in-setstate": ["error"],
|
|
1762
|
+
"react/no-adjacent-inline-elements": ["off"],
|
|
1763
|
+
"react/no-array-index-key": ["error"],
|
|
1764
|
+
"react/no-arrow-function-lifecycle": ["error"],
|
|
1765
|
+
"react/no-children-prop": ["error"],
|
|
1766
|
+
"react/no-danger": ["error"],
|
|
1767
|
+
"react/no-danger-with-children": ["error"],
|
|
1768
|
+
"react/no-deprecated": ["error"],
|
|
1769
|
+
"react/no-did-mount-set-state": ["off"],
|
|
1770
|
+
"react/no-did-update-set-state": ["error"],
|
|
1771
|
+
"react/no-direct-mutation-state": ["error"],
|
|
1772
|
+
"react/no-find-dom-node": ["error"],
|
|
1773
|
+
"react/no-invalid-html-attribute": ["error"],
|
|
1774
|
+
"react/no-is-mounted": ["error"],
|
|
1775
|
+
"react/no-multi-comp": ["off"],
|
|
1776
|
+
"react/no-namespace": ["error"],
|
|
1777
|
+
"react/no-redundant-should-component-update": ["error"],
|
|
1778
|
+
"react/no-render-return-value": ["error"],
|
|
1779
|
+
"react/no-set-state": ["off"],
|
|
1780
|
+
"react/no-string-refs": ["error", { noTemplateLiterals: true }],
|
|
1781
|
+
"react/no-this-in-sfc": ["error"],
|
|
1782
|
+
"react/no-typos": ["error"],
|
|
1783
|
+
"react/no-unescaped-entities": ["error"],
|
|
1784
|
+
"react/no-unknown-property": ["error"],
|
|
1785
|
+
"react/no-unsafe": ["error", { checkAliases: true }],
|
|
1786
|
+
"react/no-unstable-nested-components": ["error"],
|
|
1787
|
+
"react/no-unused-class-component-methods": ["error"],
|
|
1788
|
+
"react/no-unused-prop-types": [
|
|
1789
|
+
"off"
|
|
1790
|
+
// { customValidators: [], skipShapeProps: true },
|
|
1791
|
+
],
|
|
1792
|
+
"react/no-unused-state": ["error"],
|
|
1793
|
+
"react/no-will-update-set-state": ["error"],
|
|
1794
|
+
"react/prefer-es6-class": ["error", "always"],
|
|
1795
|
+
"react/prefer-exact-props": ["error"],
|
|
1796
|
+
"react/prefer-read-only-props": ["error"],
|
|
1797
|
+
"react/prefer-stateless-function": [
|
|
1798
|
+
"error",
|
|
1799
|
+
{ ignorePureComponents: true }
|
|
1800
|
+
],
|
|
1801
|
+
"react/prop-types": [
|
|
1802
|
+
"off"
|
|
1803
|
+
// { customValidators: [], ignore: [], skipUndeclared: false },
|
|
1804
|
+
],
|
|
1805
|
+
"react/react-in-jsx-scope": ["off"],
|
|
1806
|
+
"react/require-default-props": [
|
|
1807
|
+
"off",
|
|
1808
|
+
{ forbidDefaultForRequired: true, ignoreFunctionalComponents: true }
|
|
1809
|
+
],
|
|
1810
|
+
"react/require-optimization": ["off", { allowDecorators: [] }],
|
|
1811
|
+
"react/require-render-return": ["error"],
|
|
1812
|
+
"react/self-closing-comp": ["error", { component: true, html: true }],
|
|
1813
|
+
"react/sort-comp": [
|
|
1814
|
+
"off",
|
|
1815
|
+
{
|
|
1816
|
+
groups: {
|
|
1817
|
+
lifecycle: [
|
|
1818
|
+
"displayName",
|
|
1819
|
+
"propTypes",
|
|
1820
|
+
"contextTypes",
|
|
1821
|
+
"childContextTypes",
|
|
1822
|
+
"mixins",
|
|
1823
|
+
"statics",
|
|
1824
|
+
"defaultProps",
|
|
1825
|
+
"constructor",
|
|
1826
|
+
"getDefaultProps",
|
|
1827
|
+
"getInitialState",
|
|
1828
|
+
"state",
|
|
1829
|
+
"getChildContext",
|
|
1830
|
+
"getDerivedStateFromProps",
|
|
1831
|
+
"componentWillMount",
|
|
1832
|
+
"UNSAFE_componentWillMount",
|
|
1833
|
+
"componentDidMount",
|
|
1834
|
+
"componentWillReceiveProps",
|
|
1835
|
+
"UNSAFE_componentWillReceiveProps",
|
|
1836
|
+
"shouldComponentUpdate",
|
|
1837
|
+
"componentWillUpdate",
|
|
1838
|
+
"UNSAFE_componentWillUpdate",
|
|
1839
|
+
"getSnapshotBeforeUpdate",
|
|
1840
|
+
"componentDidUpdate",
|
|
1841
|
+
"componentDidCatch",
|
|
1842
|
+
"componentWillUnmount"
|
|
1843
|
+
],
|
|
1844
|
+
rendering: ["/^render.+$/", "render"]
|
|
1845
|
+
},
|
|
1846
|
+
order: [
|
|
1847
|
+
"static-variables",
|
|
1848
|
+
"static-methods",
|
|
1849
|
+
"instance-variables",
|
|
1850
|
+
"lifecycle",
|
|
1851
|
+
"/^handle.+$/",
|
|
1852
|
+
"/^on.+$/",
|
|
1853
|
+
"getters",
|
|
1854
|
+
"setters",
|
|
1855
|
+
"/^(get|set)(?!(InitialState$|DefaultProps$|ChildContext$)).+$/",
|
|
1856
|
+
"instance-methods",
|
|
1857
|
+
"everything-else",
|
|
1858
|
+
"rendering"
|
|
1859
|
+
]
|
|
1860
|
+
}
|
|
1861
|
+
],
|
|
1862
|
+
"react/sort-prop-types": [
|
|
1863
|
+
"off",
|
|
1864
|
+
{
|
|
1865
|
+
callbacksLast: false,
|
|
1866
|
+
ignoreCase: true,
|
|
1867
|
+
requiredFirst: false,
|
|
1868
|
+
sortShapeProp: true
|
|
1869
|
+
}
|
|
1870
|
+
],
|
|
1871
|
+
"react/state-in-constructor": ["error", "never"],
|
|
1872
|
+
"react/static-property-placement": ["error", "property assignment"],
|
|
1873
|
+
"react/style-prop-object": ["error", { allow: ["FormattedNumber"] }],
|
|
1874
|
+
"react/void-dom-elements-no-children": ["error"]
|
|
1875
|
+
}
|
|
1879
1876
|
}
|
|
1880
1877
|
];
|
|
1881
1878
|
}
|