|
3 | 3 | "categories": { |
4 | 4 | "correctness": "error" |
5 | 5 | }, |
6 | | - "plugins": ["typescript", "import", "react"], |
| 6 | + "plugins": ["typescript", "import", "react", "jsx-a11y"], |
7 | 7 | "jsPlugins": [ |
8 | 8 | "./oxlint-plugins/no-thrown-unawaited-redirect.mjs", |
9 | 9 | "./oxlint-plugins/runops-residency.mjs", |
|
34 | 34 | ], |
35 | 35 | "no-empty-pattern": "off", |
36 | 36 | "no-control-regex": "off", |
37 | | - "typescript/no-non-null-asserted-optional-chain": "off", |
| 37 | + "typescript/no-non-null-asserted-optional-chain": "error", |
38 | 38 | "no-unused-expressions": [ |
39 | 39 | "error", |
40 | 40 | { |
|
47 | 47 | "import/namespace": "off", |
48 | 48 | "react-hooks/exhaustive-deps": "off", |
49 | 49 | "react-hooks/rules-of-hooks": "off", |
| 50 | + "guard-for-in": "error", |
| 51 | + "symbol-description": "error", |
| 52 | + "no-unneeded-ternary": "error", |
| 53 | + "prefer-object-has-own": "error", |
| 54 | + "no-redeclare": "error", |
| 55 | + "no-multi-assign": "error", |
| 56 | + "prefer-object-spread": "error", |
| 57 | + "react/jsx-no-target-blank": "error", |
| 58 | + "react/jsx-fragments": "error", |
| 59 | + "react/self-closing-comp": "error", |
| 60 | + "react/jsx-no-constructed-context-values": "error", |
| 61 | + "react/no-children-prop": "error", |
| 62 | + "react/no-danger-with-children": "error", |
| 63 | + "react/no-direct-mutation-state": "error", |
| 64 | + "react/no-find-dom-node": "error", |
| 65 | + "react/no-is-mounted": "error", |
| 66 | + "react/no-render-return-value": "error", |
| 67 | + "react/no-string-refs": "error", |
| 68 | + "react/no-unsafe": "error", |
| 69 | + "react/no-will-update-set-state": "error", |
| 70 | + "react/require-render-return": "error", |
| 71 | + "react/style-prop-object": "error", |
| 72 | + "react/void-dom-elements-no-children": "error", |
| 73 | + "react/checked-requires-onchange-or-readonly": "error", |
| 74 | + "react/forward-ref-uses-ref": "error", |
| 75 | + "react/iframe-missing-sandbox": "error", |
| 76 | + "react/no-unknown-property": "error", |
| 77 | + "jsx-a11y/alt-text": "off", |
| 78 | + "jsx-a11y/aria-role": "off", |
| 79 | + "jsx-a11y/click-events-have-key-events": "off", |
| 80 | + "jsx-a11y/control-has-associated-label": "off", |
| 81 | + "jsx-a11y/label-has-associated-control": "off", |
| 82 | + "jsx-a11y/no-autofocus": "off", |
| 83 | + "jsx-a11y/no-noninteractive-element-interactions": "off", |
| 84 | + "jsx-a11y/no-static-element-interactions": "off", |
| 85 | + "jsx-a11y/prefer-tag-over-role": "off", |
| 86 | + "jsx-a11y/anchor-ambiguous-text": "error", |
| 87 | + "jsx-a11y/anchor-has-content": "error", |
| 88 | + "jsx-a11y/anchor-is-valid": "error", |
| 89 | + "jsx-a11y/aria-activedescendant-has-tabindex": "error", |
| 90 | + "jsx-a11y/aria-props": "error", |
| 91 | + "jsx-a11y/aria-proptypes": "error", |
| 92 | + "jsx-a11y/aria-unsupported-elements": "error", |
| 93 | + "jsx-a11y/autocomplete-valid": "error", |
| 94 | + "jsx-a11y/heading-has-content": "error", |
| 95 | + "jsx-a11y/html-has-lang": "error", |
| 96 | + "jsx-a11y/iframe-has-title": "error", |
| 97 | + "jsx-a11y/img-redundant-alt": "error", |
| 98 | + "jsx-a11y/media-has-caption": "error", |
| 99 | + "jsx-a11y/no-access-key": "error", |
| 100 | + "jsx-a11y/no-aria-hidden-on-focusable": "error", |
| 101 | + "jsx-a11y/no-distracting-elements": "error", |
| 102 | + "jsx-a11y/no-redundant-roles": "error", |
| 103 | + "jsx-a11y/role-has-required-aria-props": "error", |
| 104 | + "jsx-a11y/role-supports-aria-props": "error", |
| 105 | + "jsx-a11y/scope": "error", |
| 106 | + "jsx-a11y/tabindex-no-positive": "error", |
| 107 | + "no-lone-blocks": "error", |
| 108 | + "typescript/prefer-function-type": "error", |
| 109 | + "typescript/prefer-for-of": "error", |
50 | 110 | "trigger/no-thrown-unawaited-redirect": "error", |
51 | 111 | "trigger-prisma/no-unbounded-list-filter": "error", |
52 | 112 | "trigger-prisma/no-unbounded-list-filter-in-args-helper": "error" |
|
72 | 132 | "trigger-prisma/no-unbounded-list-filter": "off", |
73 | 133 | "trigger-prisma/no-unbounded-list-filter-in-args-helper": "off" |
74 | 134 | } |
| 135 | + }, |
| 136 | + { |
| 137 | + "files": ["internal-packages/tsql/**"], |
| 138 | + "rules": { |
| 139 | + "prefer-object-has-own": "off" |
| 140 | + } |
| 141 | + }, |
| 142 | + { |
| 143 | + "files": [ |
| 144 | + "apps/webapp/app/components/primitives/charts/Chart.tsx", |
| 145 | + "apps/webapp/app/components/primitives/Timeline.tsx" |
| 146 | + ], |
| 147 | + "rules": { |
| 148 | + "react/jsx-no-constructed-context-values": "off" |
| 149 | + } |
75 | 150 | } |
76 | 151 | ] |
77 | 152 | } |
0 commit comments