@wistia/oxlint-config 1.11.1 → 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/CHANGELOG.md +439 -0
- package/package.json +8 -8
- package/rules/base.mjs +4 -0
- package/rules/react.mjs +118 -13
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
# @wistia/oxlint-config
|
|
2
|
+
|
|
3
|
+
## 1.12.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#179](https://github.com/wistia/oxlint-config/pull/179) [`2cb8282`](https://github.com/wistia/oxlint-config/commit/2cb8282f1660a8c2b211ef86d7cbb9249500a1ec) Thanks [@okize](https://github.com/okize)! - feat: configure the React Compiler rule split from oxlint v1.79.0
|
|
8
|
+
|
|
9
|
+
- Bump `oxlint` peer minimum to `>= 1.79.0` and `oxfmt` peer minimum to `>= 0.64.0`
|
|
10
|
+
- oxlint v1.79.0 removes `react/react-compiler` (previously `error`) and splits it into 22 per-category React Compiler rules. All 22 are now configured:
|
|
11
|
+
- `error` — the upstream `recommended` preset: `react/error-boundaries`, `react/globals`, `react/immutability`, `react/incompatible-library`, `react/preserve-manual-memoization`, `react/purity`, `react/refs`, `react/set-state-in-effect`, `react/set-state-in-render`, `react/static-components`, `react/unsupported-syntax`, `react/use-memo`, `react/void-use-memo`
|
|
12
|
+
- `off` — duplicate existing native coverage: `react/hooks` (handled by `react/rules-of-hooks`), `react/exhaustive-effect-dependencies` and `react/memo-dependencies` (handled by `react/exhaustive-deps`)
|
|
13
|
+
- `off` — report compiler status rather than code defects: `react/invariant`, `react/todo`, `react/syntax`
|
|
14
|
+
- `off` — upstream keeps these off; revisit if the React Compiler transform is adopted: `react/no-deriving-state-in-effects`, `react/rule-suppression`, `react/capitalized-calls`
|
|
15
|
+
- Ten `@eslint-react` jsPlugin rules superseded by the new native rules flip from `error` to `off`: `error-boundaries`, `globals`, `immutability`, `purity`, `refs`, `set-state-in-effect`, `set-state-in-render`, `static-components`, `unsupported-syntax`, `use-memo`
|
|
16
|
+
- Behavior changes in v1.79.0 to rules already set to `error`, no config change required:
|
|
17
|
+
- `eslint/no-irregular-whitespace` now checks comments by default
|
|
18
|
+
- `eslint/no-redeclare` now runs in ES modules, skipping only the globals check
|
|
19
|
+
- `import/no-named-as-default` now reports local export conflicts
|
|
20
|
+
- `import/no-named-default` now flags type-only named defaults
|
|
21
|
+
- `react/rules-of-hooks` now reports hooks inside `try` blocks
|
|
22
|
+
- `react/exhaustive-deps` now handles destructured object dependencies
|
|
23
|
+
|
|
24
|
+
## 1.11.2
|
|
25
|
+
|
|
26
|
+
### Patch Changes
|
|
27
|
+
|
|
28
|
+
- [#173](https://github.com/wistia/oxlint-config/pull/173) [`73b7bd9`](https://github.com/wistia/oxlint-config/commit/73b7bd94a2f9a0ce3a1675eb26a2b9b8392392b9) Thanks [@okize](https://github.com/okize)! - build(deps): upgrade `oxlint` to v1.78.0
|
|
29
|
+
|
|
30
|
+
- Bump `oxlint` peer minimum to `>= 1.78.0` and `oxfmt` peer minimum to `>= 0.63.0`
|
|
31
|
+
- New native rule in v1.78.0, now configured:
|
|
32
|
+
- `eslint/one-var` set to `['error', 'never']` — variables must be declared separately
|
|
33
|
+
|
|
34
|
+
## 1.11.1
|
|
35
|
+
|
|
36
|
+
### Patch Changes
|
|
37
|
+
|
|
38
|
+
- [#171](https://github.com/wistia/oxlint-config/pull/171) [`5ca5aa6`](https://github.com/wistia/oxlint-config/commit/5ca5aa6d57b2aa5302bce9e3daae6dd344177e21) Thanks [@okize](https://github.com/okize)! - build(deps): upgrade `oxlint` to v1.77.0
|
|
39
|
+
|
|
40
|
+
- Bump `oxlint` peer minimum to `>= 1.77.0`
|
|
41
|
+
- No new native rules, renames, or removals in v1.77.0 — no rule-file changes required
|
|
42
|
+
- Behavior change in v1.77.0 to a rule already set to `error`, no config change required:
|
|
43
|
+
- `oxc/bad-char-at-comparison` expands coverage ([#25001](https://github.com/wistia/oxlint-config/issues/25001))
|
|
44
|
+
|
|
45
|
+
## 1.11.0
|
|
46
|
+
|
|
47
|
+
### Minor Changes
|
|
48
|
+
|
|
49
|
+
- [#163](https://github.com/wistia/oxlint-config/pull/163) [`d17e9db`](https://github.com/wistia/oxlint-config/commit/d17e9db7e783312761bf8a2c589783a66153570d) Thanks [@okize](https://github.com/okize)! - feat: configure new native rules from oxlint v1.76.0
|
|
50
|
+
|
|
51
|
+
- Bump `oxlint` peer minimum to `>= 1.76.0`
|
|
52
|
+
- Configure the new native rules in oxlint v1.76.0:
|
|
53
|
+
- `oxc/bad-match-all-arg`: `error` — flags `matchAll()` with a non-global regex, which throws a `TypeError` at runtime
|
|
54
|
+
- `node/exports-style`: `['error', 'module.exports']`, replacing jsPlugin `n/exports-style` (now `off`) — same option as the previous jsPlugin default, no behavior change
|
|
55
|
+
- `eslint/id-denylist`: `off` — requires a project-specific identifier list; too opinionated for a shared config
|
|
56
|
+
- Behavior changes in v1.76.0 to rules already set to `error`, no config change required:
|
|
57
|
+
- `typescript/no-confusing-non-null-assertion` now also reports `in` and `instanceof`
|
|
58
|
+
- `jsx_a11y/interactive-supports-focus` now matches ESLint behavior for custom components
|
|
59
|
+
- `eslint/func-names` now ignores overloads
|
|
60
|
+
- `unicorn/no-array-reverse` and `unicorn/no-array-sort` replacements are now suggestions rather than auto-fixes
|
|
61
|
+
|
|
62
|
+
## 1.10.1
|
|
63
|
+
|
|
64
|
+
### Patch Changes
|
|
65
|
+
|
|
66
|
+
- [#164](https://github.com/wistia/oxlint-config/pull/164) [`5e92c96`](https://github.com/wistia/oxlint-config/commit/5e92c9603eeceb476eb9e1958597473cc597ffea) Thanks [@okize](https://github.com/okize)! - fix: allow both `chalk` import forms in `unicorn/import-style`
|
|
67
|
+
|
|
68
|
+
`chalk` is now `{ named: true, default: true }`. The previous `default: false` errored on `import chalk from 'chalk'` — the pre-built instance that is chalk's entire main API — forcing consumers to add an `oxlint-disable-next-line` on the idiomatic import. `import { Chalk } from 'chalk'` is also valid (it is the class you instantiate for a custom instance), so both forms are now allowed.
|
|
69
|
+
|
|
70
|
+
## 1.10.0
|
|
71
|
+
|
|
72
|
+
### Minor Changes
|
|
73
|
+
|
|
74
|
+
- [#156](https://github.com/wistia/oxlint-config/pull/156) [`d1b23e3`](https://github.com/wistia/oxlint-config/commit/d1b23e3f0e6c1606643c12ec04c587b34058e272) Thanks [@okize](https://github.com/okize)! - feat: configure new native rules and bump peer minimums
|
|
75
|
+
|
|
76
|
+
- Bump peer minimums: `oxlint` to `>= 1.75.0`, `oxfmt` to `>= 0.60.0`, `eslint` to `>=10.7.0`
|
|
77
|
+
- Configure the new native rules in oxlint v1.75.0:
|
|
78
|
+
- `node/no-top-level-await`: `['error', { ignoreBin: true }]`, replacing jsPlugin `n/no-top-level-await` (now `off`) — same options, no behavior change
|
|
79
|
+
- `vitest/padding-around-test-blocks`: `error`, replacing jsPlugin `vitest-js/padding-around-test-blocks` (now `off`) — no behavior change
|
|
80
|
+
- `react/function-component-definition`: `off` (style preference)
|
|
81
|
+
- `import/consistent-type-specifier-style` gains a `prefer-top-level-if-only-type-imports` option in v1.75.0; the configured `prefer-top-level` setting is unchanged
|
|
82
|
+
|
|
83
|
+
## 1.9.1
|
|
84
|
+
|
|
85
|
+
### Patch Changes
|
|
86
|
+
|
|
87
|
+
- [#153](https://github.com/wistia/oxlint-config/pull/153) [`c7afe2e`](https://github.com/wistia/oxlint-config/commit/c7afe2ef1419c673cf3a5e9ef295ef29cf3aaec8) Thanks [@okize](https://github.com/okize)! - build(deps): upgrade `oxlint` to v1.74.0 and `oxfmt` to v0.59.0
|
|
88
|
+
|
|
89
|
+
- Bump peer minimums: `oxlint` to `>= 1.74.0`, `oxfmt` to `>= 0.59.0`
|
|
90
|
+
- No rule changes: oxlint v1.74.0 adds no new native rules and renames or removes none
|
|
91
|
+
- Behavior changes to already-configured rules, all false-positive or fix improvements: `import/no-duplicates` gains an autofix; `eslint/no-loop-func` no longer errors on catch variables; `eslint/no-unused-vars` counts default-parameter updates as usage; `eslint/no-unreachable` handles `break` in switch statements correctly
|
|
92
|
+
- Drop repo-only `ignorePatterns` from `oxfmt.config.mjs`; oxlint v1.74.0 errors on `ignorePatterns` that cannot match files outside the config directory
|
|
93
|
+
|
|
94
|
+
## 1.9.0
|
|
95
|
+
|
|
96
|
+
### Minor Changes
|
|
97
|
+
|
|
98
|
+
- [#150](https://github.com/wistia/oxlint-config/pull/150) [`298a7db`](https://github.com/wistia/oxlint-config/commit/298a7dba27872143f8c1d7905e7609b150dbb149) Thanks [@okize](https://github.com/okize)! - feat: explicitly configure every jsPlugin rule and enforce coverage in tests
|
|
99
|
+
|
|
100
|
+
Every rule of every declared jsPlugin is now explicitly `error` or `off`, matching the existing convention for native oxlint rules. A new test fails when a jsPlugin upgrade adds, renames, or removes rules, and config validation now also fails on jsPlugin runtime errors.
|
|
101
|
+
|
|
102
|
+
New rules set to `error`:
|
|
103
|
+
|
|
104
|
+
- `@eslint-react/web-api-no-leaked-intersection-observer`
|
|
105
|
+
- `eslint-plugin-playwright/no-duplicate-slow`
|
|
106
|
+
|
|
107
|
+
All other previously unconfigured jsPlugin rules are set to `off` with documented decisions, including `eslint-plugin-styled-components-a11y/lang`, which the plugin exports but crashes on when enabled. Alias names exposing an already-configured rule object under a second name (the 53 `@eslint-react/x-*` names) are exempt: the coverage test requires exactly one configured name per rule.
|
|
108
|
+
|
|
109
|
+
## 1.8.0
|
|
110
|
+
|
|
111
|
+
### Minor Changes
|
|
112
|
+
|
|
113
|
+
- [#140](https://github.com/wistia/oxlint-config/pull/140) [`7693fd0`](https://github.com/wistia/oxlint-config/commit/7693fd0a4a4f275be0fc7bde7a0d7047979403cf) Thanks [@okize](https://github.com/okize)! - feat: configure new native rules from oxlint v1.73.0
|
|
114
|
+
|
|
115
|
+
New rules, all set to `error`:
|
|
116
|
+
|
|
117
|
+
- `eslint/no-unreachable-loop`
|
|
118
|
+
- `unicorn/explicit-timer-delay`
|
|
119
|
+
- `unicorn/no-confusing-array-with`
|
|
120
|
+
|
|
121
|
+
Peer dependency minimums raised: `oxlint >= 1.73.0`, `oxlint-tsgolint >= 0.24.0`, `oxfmt >= 0.58.0`.
|
|
122
|
+
|
|
123
|
+
## 1.7.3
|
|
124
|
+
|
|
125
|
+
### Patch Changes
|
|
126
|
+
|
|
127
|
+
- [#146](https://github.com/wistia/oxlint-config/pull/146) [`950e921`](https://github.com/wistia/oxlint-config/commit/950e92141f2afa1fbc28c100f2cab90d14f2ecf0) Thanks [@okize](https://github.com/okize)! - Resolve jsPlugin package specifiers to absolute paths from within this package (via the new `resolve-plugin.mjs` helper, shipped in the tarball) so plugins load in consumers whose dependency trees nest this package's dependencies — e.g. a consumer on typescript 7 while this package depends on typescript 6. Bare specifiers were resolved by oxlint from the consumer's config location and failed with "Failed to load JS plugin" when the plugin was not hoisted to the consumer's root. Config validation tests now catch jsPlugin load failures, which oxlint prints to stdout — the previous stderr-only assertion passed vacuously.
|
|
128
|
+
|
|
129
|
+
## 1.7.2
|
|
130
|
+
|
|
131
|
+
### Patch Changes
|
|
132
|
+
|
|
133
|
+
- [#144](https://github.com/wistia/oxlint-config/pull/144) [`f49c832`](https://github.com/wistia/oxlint-config/commit/f49c832bf31ae62e0bd6cad8c0525e9d21995677) Thanks [@okize](https://github.com/okize)! - Restore the oxfmt config object that v1.7.1 accidentally dropped. `oxfmtConfig.mjs` imported a file that was never committed, so importing `@wistia/oxlint-config/oxfmtConfig` crashed with ERR_MODULE_NOT_FOUND. The config object is inlined again (named `oxfmtConfig` export and default export, matching the type declarations), this repo now formats itself with the shipped config, and a smoke test imports the module so a broken import graph can't ship again.
|
|
134
|
+
|
|
135
|
+
## 1.7.1
|
|
136
|
+
|
|
137
|
+
### Patch Changes
|
|
138
|
+
|
|
139
|
+
- [#141](https://github.com/wistia/oxlint-config/pull/141) [`fc7a1af`](https://github.com/wistia/oxlint-config/commit/fc7a1af9f2d7d6e4bf91a23d0ec0892f817d0413) Thanks [@okize](https://github.com/okize)! - Anchor the package.json `files` patterns to the package root. Yarn matches unanchored entries gitignore-style at any depth, so the bare `index.mjs` pattern pulled `test/fixtures/**/index.mjs` files into the published tarball.
|
|
140
|
+
|
|
141
|
+
## 1.7.0
|
|
142
|
+
|
|
143
|
+
### Minor Changes
|
|
144
|
+
|
|
145
|
+
- [#135](https://github.com/wistia/oxlint-config/pull/135) [`81032aa`](https://github.com/wistia/oxlint-config/commit/81032aa26552bb686ee965c4de193a6c49fd994c) Thanks [@okize](https://github.com/okize)! - feat: configure new `node` and `unicorn` native rules
|
|
146
|
+
|
|
147
|
+
## 1.6.1
|
|
148
|
+
|
|
149
|
+
### Patch Changes
|
|
150
|
+
|
|
151
|
+
- [#132](https://github.com/wistia/oxlint-config/pull/132) [`e074e30`](https://github.com/wistia/oxlint-config/commit/e074e30c67b0433bf855bbe2c0e04ff91135d9bc) Thanks [@okize](https://github.com/okize)! - fix: ship type declarations for the `oxfmtConfig` subpath export
|
|
152
|
+
|
|
153
|
+
## 1.6.0
|
|
154
|
+
|
|
155
|
+
### Minor Changes
|
|
156
|
+
|
|
157
|
+
- [#130](https://github.com/wistia/oxlint-config/pull/130) [`f5940f8`](https://github.com/wistia/oxlint-config/commit/f5940f8816ff65f4a50e462e5ec20e4f8e7f7849) Thanks [@okize](https://github.com/okize)! - feat: add standardized `Oxfmt` config to exports
|
|
158
|
+
|
|
159
|
+
## 1.5.0
|
|
160
|
+
|
|
161
|
+
### Minor Changes
|
|
162
|
+
|
|
163
|
+
- [#128](https://github.com/wistia/oxlint-config/pull/128) [`44eeb0d`](https://github.com/wistia/oxlint-config/commit/44eeb0d70e4f2703257db58a43eb048fa2225bf8) Thanks [@okize](https://github.com/okize)! - feat: configure new unicorn rules
|
|
164
|
+
|
|
165
|
+
## 1.4.0
|
|
166
|
+
|
|
167
|
+
### Minor Changes
|
|
168
|
+
|
|
169
|
+
- [#125](https://github.com/wistia/oxlint-config/pull/125) [`784a928`](https://github.com/wistia/oxlint-config/commit/784a928b4e213d43f719c7bc0a0ad42a872530e2) Thanks [@okize](https://github.com/okize)! - feat: rely on oxfmt for import ordering, disable `import-x-js/order`
|
|
170
|
+
|
|
171
|
+
## 1.3.0
|
|
172
|
+
|
|
173
|
+
### Minor Changes
|
|
174
|
+
|
|
175
|
+
- [#117](https://github.com/wistia/oxlint-config/pull/117) [`cd93a96`](https://github.com/wistia/oxlint-config/commit/cd93a969c125bf382ff0c9174f3389acd9f7045f) Thanks [@okize](https://github.com/okize)! - feat: add `custom/match-exported` rule via custom local jsPlugin
|
|
176
|
+
|
|
177
|
+
## 1.2.0
|
|
178
|
+
|
|
179
|
+
### Minor Changes
|
|
180
|
+
|
|
181
|
+
- [#121](https://github.com/wistia/oxlint-config/pull/121) [`278e34b`](https://github.com/wistia/oxlint-config/commit/278e34bb9d2bc4ae52e49835e34b5d69005668d2) Thanks [@okize](https://github.com/okize)! - feat(import): order type imports before runtime imports
|
|
182
|
+
|
|
183
|
+
## 1.1.1
|
|
184
|
+
|
|
185
|
+
### Patch Changes
|
|
186
|
+
|
|
187
|
+
- [#119](https://github.com/wistia/oxlint-config/pull/119) [`7724ae5`](https://github.com/wistia/oxlint-config/commit/7724ae51fa3328cb5637cb982354faedcc189fe1) Thanks [@okize](https://github.com/okize)! - fix(node): configure native node/callback-return and reconcile n/ jsPlugin inversions
|
|
188
|
+
|
|
189
|
+
## 1.1.0
|
|
190
|
+
|
|
191
|
+
### Minor Changes
|
|
192
|
+
|
|
193
|
+
- [#118](https://github.com/wistia/oxlint-config/pull/118) [`d057248`](https://github.com/wistia/oxlint-config/commit/d057248d21d0a9282d76dc3775fa81a744c7354f) Thanks [@okize](https://github.com/okize)! - feat: configure new `react` and `unicorn` rules
|
|
194
|
+
|
|
195
|
+
## 1.0.5
|
|
196
|
+
|
|
197
|
+
### Patch Changes
|
|
198
|
+
|
|
199
|
+
- [#111](https://github.com/wistia/oxlint-config/pull/111) [`0f7b064`](https://github.com/wistia/oxlint-config/commit/0f7b064f387c44659869b01315fe5392b2a45311) Thanks [@okize](https://github.com/okize)! - fix: enable `eslint/curly` rule
|
|
200
|
+
|
|
201
|
+
## 1.0.4
|
|
202
|
+
|
|
203
|
+
### Patch Changes
|
|
204
|
+
|
|
205
|
+
- [#109](https://github.com/wistia/oxlint-config/pull/109) [`616754c`](https://github.com/wistia/oxlint-config/commit/616754c259339bba4aee78310f444553ca44e4c0) Thanks [@okize](https://github.com/okize)! - fix: update `eslint/no-param-reassign` to be a little looser and avoid maintaining an allowlist
|
|
206
|
+
|
|
207
|
+
## 1.0.3
|
|
208
|
+
|
|
209
|
+
### Patch Changes
|
|
210
|
+
|
|
211
|
+
- [#107](https://github.com/wistia/oxlint-config/pull/107) [`bb9b52d`](https://github.com/wistia/oxlint-config/commit/bb9b52d0abea040f37125731abb63d9aa23c85ad) Thanks [@okize](https://github.com/okize)! - fix: disable unicorn/no-useless-promise-resolve-reject (conflicts with require-await)
|
|
212
|
+
|
|
213
|
+
## 1.0.2
|
|
214
|
+
|
|
215
|
+
### Patch Changes
|
|
216
|
+
|
|
217
|
+
- [#105](https://github.com/wistia/oxlint-config/pull/105) [`ebf6def`](https://github.com/wistia/oxlint-config/commit/ebf6def36e1ccda8d483b5aec9aa7aa5a4074551) Thanks [@okize](https://github.com/okize)! - fix: reconcile rules with oxlint v1.69.0
|
|
218
|
+
- Configure new native `eslint/prefer-named-capture-group` (off, too strict)
|
|
219
|
+
- Configure new native `typescript/method-signature-style` (error)
|
|
220
|
+
- Bump peer minimums: `eslint` to `>= 10.4.1`, `oxlint` to `>= 1.69.0`
|
|
221
|
+
- Update `validate-configs` test to detect config rejection via stderr instead of the removed "Found" summary line
|
|
222
|
+
|
|
223
|
+
## 1.0.1
|
|
224
|
+
|
|
225
|
+
### Patch Changes
|
|
226
|
+
|
|
227
|
+
- [#102](https://github.com/wistia/oxlint-config/pull/102) [`9129584`](https://github.com/wistia/oxlint-config/commit/9129584bda88123f8df500b1f0ff0e54bde3dfee) Thanks [@okize](https://github.com/okize)! - fix: add `eslint` package as a peerDependency
|
|
228
|
+
|
|
229
|
+
## 1.0.0
|
|
230
|
+
|
|
231
|
+
### Major Changes
|
|
232
|
+
|
|
233
|
+
- [#100](https://github.com/wistia/oxlint-config/pull/100) [`b536b56`](https://github.com/wistia/oxlint-config/commit/b536b567e0ec4f8ca6ab3721cba92009cb3f7966) Thanks [@okize](https://github.com/okize)! - feat!: no breaking changes from previous release, just declaring this package as v1
|
|
234
|
+
|
|
235
|
+
## 0.9.4
|
|
236
|
+
|
|
237
|
+
### Patch Changes
|
|
238
|
+
|
|
239
|
+
- [#98](https://github.com/wistia/oxlint-config/pull/98) [`3a5d713`](https://github.com/wistia/oxlint-config/commit/3a5d713e508991a359fffee42708810587686bb2) Thanks [@okize](https://github.com/okize)! - fix: enable & disable various rules
|
|
240
|
+
|
|
241
|
+
## 0.9.3
|
|
242
|
+
|
|
243
|
+
### Patch Changes
|
|
244
|
+
|
|
245
|
+
- [#96](https://github.com/wistia/oxlint-config/pull/96) [`684b5be`](https://github.com/wistia/oxlint-config/commit/684b5be2d25a8299775b369d46a81e5a6b4a761a) Thanks [@okize](https://github.com/okize)! - fix: `eslint/no-useless-assignment` rule should only be `off` in typescript config
|
|
246
|
+
|
|
247
|
+
## 0.9.2
|
|
248
|
+
|
|
249
|
+
### Patch Changes
|
|
250
|
+
|
|
251
|
+
- [#93](https://github.com/wistia/oxlint-config/pull/93) [`1d76d7f`](https://github.com/wistia/oxlint-config/commit/1d76d7f455e9260f0f45eeb210d546b1148c9a62) Thanks [@okize](https://github.com/okize)! - fix: disable `unicorn(no-useless-switch-case)` rule
|
|
252
|
+
|
|
253
|
+
## 0.9.1
|
|
254
|
+
|
|
255
|
+
### Patch Changes
|
|
256
|
+
|
|
257
|
+
- [#91](https://github.com/wistia/oxlint-config/pull/91) [`f3824be`](https://github.com/wistia/oxlint-config/commit/f3824be1dec1fae0f15c7b8d4cf7a0f9feec7a24) Thanks [@okize](https://github.com/okize)! - fix: disable `unicorn/prefer-global-this` rule and modify `unicorn/import-style` rule
|
|
258
|
+
|
|
259
|
+
## 0.9.0
|
|
260
|
+
|
|
261
|
+
### Minor Changes
|
|
262
|
+
|
|
263
|
+
- [#88](https://github.com/wistia/oxlint-config/pull/88) [`1d74f94`](https://github.com/wistia/oxlint-config/commit/1d74f94158e19e05de2affd31cde831b593a0518) Thanks [@okize](https://github.com/okize)! - feat: ensure unicorn rules work correctly
|
|
264
|
+
|
|
265
|
+
## 0.8.2
|
|
266
|
+
|
|
267
|
+
### Patch Changes
|
|
268
|
+
|
|
269
|
+
- [#85](https://github.com/wistia/oxlint-config/pull/85) [`e07db56`](https://github.com/wistia/oxlint-config/commit/e07db56628aaf903f531af34eeeafdcc12d6a6a8) Thanks [@okize](https://github.com/okize)! - fix: update `vitest` config to favor native rules over plugin
|
|
270
|
+
|
|
271
|
+
## 0.8.1
|
|
272
|
+
|
|
273
|
+
### Patch Changes
|
|
274
|
+
|
|
275
|
+
- [#82](https://github.com/wistia/oxlint-config/pull/82) [`ccb5847`](https://github.com/wistia/oxlint-config/commit/ccb58478051486be6593b4533084d849c2c69cbc) Thanks [@okize](https://github.com/okize)! - fix: disable `no-extraneous-dependencies` and leave it to knip to figure out
|
|
276
|
+
|
|
277
|
+
## 0.8.0
|
|
278
|
+
|
|
279
|
+
### Minor Changes
|
|
280
|
+
|
|
281
|
+
- [#78](https://github.com/wistia/oxlint-config/pull/78) [`6b77af0`](https://github.com/wistia/oxlint-config/commit/6b77af04ca3b1ba6877fd17af7bdc4996f3b8b45) Thanks [@okize](https://github.com/okize)! - feat: add native oxlint rules for eslint, import, jsx-a11y, react, and vitest plugins
|
|
282
|
+
|
|
283
|
+
## 0.7.5
|
|
284
|
+
|
|
285
|
+
### Patch Changes
|
|
286
|
+
|
|
287
|
+
- [#72](https://github.com/wistia/oxlint-config/pull/72) [`46ca002`](https://github.com/wistia/oxlint-config/commit/46ca00287af1f89ece05124689af0592226f849a) Thanks [@okize](https://github.com/okize)! - fix: enable rules that should not have been set to `off`
|
|
288
|
+
|
|
289
|
+
## 0.7.4
|
|
290
|
+
|
|
291
|
+
### Patch Changes
|
|
292
|
+
|
|
293
|
+
- [#68](https://github.com/wistia/oxlint-config/pull/68) [`e437df8`](https://github.com/wistia/oxlint-config/commit/e437df8cf031a45203518178e63cb6b6e7e5df46) Thanks [@okize](https://github.com/okize)! - fix: explicitly configure all missing native oxlint rules to prevent default warn severity
|
|
294
|
+
|
|
295
|
+
## 0.7.3
|
|
296
|
+
|
|
297
|
+
### Patch Changes
|
|
298
|
+
|
|
299
|
+
- [#66](https://github.com/wistia/oxlint-config/pull/66) [`85054b9`](https://github.com/wistia/oxlint-config/commit/85054b9dc07779183a453509fc21db345fd35fd3) Thanks [@okize](https://github.com/okize)! - fix: remove jest plugin, use vitest-only rules to eliminate warn-level defaults
|
|
300
|
+
|
|
301
|
+
## 0.7.2
|
|
302
|
+
|
|
303
|
+
### Patch Changes
|
|
304
|
+
|
|
305
|
+
- [#63](https://github.com/wistia/oxlint-config/pull/63) [`c21219e`](https://github.com/wistia/oxlint-config/commit/c21219e9539c152ddc2a0e29b241e76874459984) Thanks [@okize](https://github.com/okize)! - fix: enable `vitest/valid-title` & disable `jest/valid-title`
|
|
306
|
+
|
|
307
|
+
## 0.7.1
|
|
308
|
+
|
|
309
|
+
### Patch Changes
|
|
310
|
+
|
|
311
|
+
- [#61](https://github.com/wistia/oxlint-config/pull/61) [`b852e47`](https://github.com/wistia/oxlint-config/commit/b852e47c11bb3d56792530e83c0f65158c8aa705) Thanks [@okize](https://github.com/okize)! - fix: `n/no-process-exit` should be set to error
|
|
312
|
+
|
|
313
|
+
## 0.7.0
|
|
314
|
+
|
|
315
|
+
### Minor Changes
|
|
316
|
+
|
|
317
|
+
- [#58](https://github.com/wistia/oxlint-config/pull/58) [`3769a02`](https://github.com/wistia/oxlint-config/commit/3769a02b66b1bcab0531d8a7711f3fad40b6b51d) Thanks [@okize](https://github.com/okize)! - feat: update react rules for new @eslint-react/eslint-plugin version
|
|
318
|
+
|
|
319
|
+
- [#56](https://github.com/wistia/oxlint-config/pull/56) [`6562106`](https://github.com/wistia/oxlint-config/commit/65621065c5bb49b851bf0e937cb8e9d711ed1282) Thanks [@okize](https://github.com/okize)! - feat: update `vitest` rules
|
|
320
|
+
|
|
321
|
+
## 0.6.1
|
|
322
|
+
|
|
323
|
+
### Patch Changes
|
|
324
|
+
|
|
325
|
+
- [#52](https://github.com/wistia/oxlint-config/pull/52) [`675ef21`](https://github.com/wistia/oxlint-config/commit/675ef215854ad1ceca79212f8e748489bddf4676) Thanks [@okize](https://github.com/okize)! - fix: add missing rules
|
|
326
|
+
|
|
327
|
+
## 0.6.0
|
|
328
|
+
|
|
329
|
+
### Minor Changes
|
|
330
|
+
|
|
331
|
+
- [#48](https://github.com/wistia/oxlint-config/pull/48) [`98e2c92`](https://github.com/wistia/oxlint-config/commit/98e2c920dc03f19996869b368ca095b96ab8f19f) Thanks [@okize](https://github.com/okize)! - feat: enable `no-restricted-globals` rule
|
|
332
|
+
|
|
333
|
+
## 0.5.1
|
|
334
|
+
|
|
335
|
+
### Patch Changes
|
|
336
|
+
|
|
337
|
+
- [#44](https://github.com/wistia/oxlint-config/pull/44) [`1c264a3`](https://github.com/wistia/oxlint-config/commit/1c264a312de7a34eadb84fe8ce889d464e1288ed) Thanks [@okize](https://github.com/okize)! - fix: allow 'log', 'warn' & 'error' methods in `no-console` rule
|
|
338
|
+
|
|
339
|
+
## 0.5.0
|
|
340
|
+
|
|
341
|
+
### Minor Changes
|
|
342
|
+
|
|
343
|
+
- [#42](https://github.com/wistia/oxlint-config/pull/42) [`8682859`](https://github.com/wistia/oxlint-config/commit/8682859e8680595e0068820b25cd947b90f1e5da) Thanks [@okize](https://github.com/okize)! - feat: turn off `eslint/no-magic-numbers` since it is frequently disabled
|
|
344
|
+
|
|
345
|
+
## 0.4.7
|
|
346
|
+
|
|
347
|
+
### Patch Changes
|
|
348
|
+
|
|
349
|
+
- [#40](https://github.com/wistia/oxlint-config/pull/40) [`88b04c3`](https://github.com/wistia/oxlint-config/commit/88b04c30783116b215436624d3bc49549848d25e) Thanks [@okize](https://github.com/okize)! - fix: `eslint/no-unused-vars` was intended to be `off`
|
|
350
|
+
|
|
351
|
+
## 0.4.6
|
|
352
|
+
|
|
353
|
+
### Patch Changes
|
|
354
|
+
|
|
355
|
+
- [#38](https://github.com/wistia/oxlint-config/pull/38) [`db05ae2`](https://github.com/wistia/oxlint-config/commit/db05ae2fc9f10a28f3b612729a60a3065eff2036) Thanks [@okize](https://github.com/okize)! - fix: do not disable base rules in typescript config that do not have an equivalent rule at this point
|
|
356
|
+
|
|
357
|
+
## 0.4.5
|
|
358
|
+
|
|
359
|
+
### Patch Changes
|
|
360
|
+
|
|
361
|
+
- [#36](https://github.com/wistia/oxlint-config/pull/36) [`49d2b43`](https://github.com/wistia/oxlint-config/commit/49d2b43295f6039991c65818aa29becdda096019) Thanks [@okize](https://github.com/okize)! - fix: disable @eslint-react rules that are covered by oxlint rules already
|
|
362
|
+
|
|
363
|
+
## 0.4.4
|
|
364
|
+
|
|
365
|
+
### Patch Changes
|
|
366
|
+
|
|
367
|
+
- [#34](https://github.com/wistia/oxlint-config/pull/34) [`16415e1`](https://github.com/wistia/oxlint-config/commit/16415e14b4a6fa120e642de11753bee4f8033a8d) Thanks [@okize](https://github.com/okize)! - fix: disable react rules that require type information
|
|
368
|
+
|
|
369
|
+
## 0.4.3
|
|
370
|
+
|
|
371
|
+
### Patch Changes
|
|
372
|
+
|
|
373
|
+
- [#32](https://github.com/wistia/oxlint-config/pull/32) [`3762563`](https://github.com/wistia/oxlint-config/commit/3762563104abe0155bd7c1b2ba4cb6fc9b3183ac) Thanks [@okize](https://github.com/okize)! - fix: add explicit severity for all oxlint default-enabled rules missing from config (vitest, typescript, unicorn)
|
|
374
|
+
|
|
375
|
+
## 0.4.2
|
|
376
|
+
|
|
377
|
+
### Patch Changes
|
|
378
|
+
|
|
379
|
+
- [#30](https://github.com/wistia/oxlint-config/pull/30) [`b797b64`](https://github.com/wistia/oxlint-config/commit/b797b6442d5991e2c42e5c27ae719ebc3cc9d7a1) Thanks [@okize](https://github.com/okize)! - fix: add missing `vitest/require-mock-type-parameters` rule
|
|
380
|
+
|
|
381
|
+
## 0.4.1
|
|
382
|
+
|
|
383
|
+
### Patch Changes
|
|
384
|
+
|
|
385
|
+
- [#28](https://github.com/wistia/oxlint-config/pull/28) [`8acbf9d`](https://github.com/wistia/oxlint-config/commit/8acbf9d653775c9d34fafc4bfd5438e538fdd52a) Thanks [@okize](https://github.com/okize)! - fix: add missing eslint-react rules
|
|
386
|
+
|
|
387
|
+
## 0.4.0
|
|
388
|
+
|
|
389
|
+
### Minor Changes
|
|
390
|
+
|
|
391
|
+
- [#23](https://github.com/wistia/oxlint-config/pull/23) [`14b32be`](https://github.com/wistia/oxlint-config/commit/14b32bee07f385324778e2646aa7ba740e4c8089) Thanks [@okize](https://github.com/okize)! - feat!: enable type-aware linting and type checking via tsgolint
|
|
392
|
+
|
|
393
|
+
## 0.3.5
|
|
394
|
+
|
|
395
|
+
### Patch Changes
|
|
396
|
+
|
|
397
|
+
- [#19](https://github.com/wistia/oxlint-config/pull/19) [`f4c3cad`](https://github.com/wistia/oxlint-config/commit/f4c3cad67a3186013ca94e717225c3dd220234e2) Thanks [@okize](https://github.com/okize)! - feat: switch to `overrides` and add file paths for `extends` in consumer configs
|
|
398
|
+
|
|
399
|
+
## 0.3.4
|
|
400
|
+
|
|
401
|
+
### Patch Changes
|
|
402
|
+
|
|
403
|
+
- [#16](https://github.com/wistia/oxlint-config/pull/16) [`6ac9316`](https://github.com/wistia/oxlint-config/commit/6ac931625b570aaae3223688fe49cd12effabfc2) Thanks [@okize](https://github.com/okize)! - feat: add filenames and barrel-files rules via jsPlugins
|
|
404
|
+
|
|
405
|
+
## 0.3.3
|
|
406
|
+
|
|
407
|
+
### Patch Changes
|
|
408
|
+
|
|
409
|
+
- [#14](https://github.com/wistia/oxlint-config/pull/14) [`47ee30a`](https://github.com/wistia/oxlint-config/commit/47ee30a612d85367b2027c4fcf895af54fce9ab2) Thanks [@okize](https://github.com/okize)! - feat: include more rules from `import-x` and `eslint` base rules
|
|
410
|
+
|
|
411
|
+
## 0.3.2
|
|
412
|
+
|
|
413
|
+
### Patch Changes
|
|
414
|
+
|
|
415
|
+
- [#12](https://github.com/wistia/oxlint-config/pull/12) [`650b7cb`](https://github.com/wistia/oxlint-config/commit/650b7cbe893a5006aafabc543afc20f000378abb) Thanks [@okize](https://github.com/okize)! - feat: add type declarations for TypeScript consumers
|
|
416
|
+
|
|
417
|
+
## 0.3.1
|
|
418
|
+
|
|
419
|
+
### Patch Changes
|
|
420
|
+
|
|
421
|
+
- [#10](https://github.com/wistia/oxlint-config/pull/10) [`ad37d45`](https://github.com/wistia/oxlint-config/commit/ad37d45db5911119cc9d7725ada72b94ab22a311) Thanks [@okize](https://github.com/okize)! - fix: convert typescript to ESM javascript
|
|
422
|
+
|
|
423
|
+
## 0.3.0
|
|
424
|
+
|
|
425
|
+
### Minor Changes
|
|
426
|
+
|
|
427
|
+
- [#8](https://github.com/wistia/oxlint-config/pull/8) [`b4075f2`](https://github.com/wistia/oxlint-config/commit/b4075f22baf55fd80c196665250279620ecb5f97) Thanks [@okize](https://github.com/okize)! - feat: replace JSONC configs with TypeScript
|
|
428
|
+
|
|
429
|
+
## 0.2.0
|
|
430
|
+
|
|
431
|
+
### Minor Changes
|
|
432
|
+
|
|
433
|
+
- 10f14ec: feat: add config & rulesets for styled-components, testing-library, playwright & storybook'
|
|
434
|
+
|
|
435
|
+
## 0.1.0
|
|
436
|
+
|
|
437
|
+
### Minor Changes
|
|
438
|
+
|
|
439
|
+
- 25713f4: feat: shared oxlint configs for javascript, typescript, react, node, and vitest
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wistia/oxlint-config",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.0",
|
|
4
4
|
"description": "Wistia's Oxlint configurations",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"linter",
|
|
@@ -92,19 +92,19 @@
|
|
|
92
92
|
"typescript": "^6.0.3"
|
|
93
93
|
},
|
|
94
94
|
"devDependencies": {
|
|
95
|
-
"@changesets/changelog-github": "^0.
|
|
96
|
-
"@changesets/cli": "^
|
|
95
|
+
"@changesets/changelog-github": "^1.0.0",
|
|
96
|
+
"@changesets/cli": "^3.0.0",
|
|
97
97
|
"eslint": "^10.8.0",
|
|
98
|
-
"oxfmt": "^0.
|
|
99
|
-
"oxlint": "^1.
|
|
98
|
+
"oxfmt": "^0.64.0",
|
|
99
|
+
"oxlint": "^1.79.0",
|
|
100
100
|
"oxlint-tsgolint": "^7.0.2001",
|
|
101
101
|
"storybook": "^10.5.5",
|
|
102
102
|
"vitest": "^4.1.10"
|
|
103
103
|
},
|
|
104
104
|
"peerDependencies": {
|
|
105
105
|
"eslint": ">= 10.8.0",
|
|
106
|
-
"oxfmt": ">= 0.
|
|
107
|
-
"oxlint": ">= 1.
|
|
106
|
+
"oxfmt": ">= 0.64.0",
|
|
107
|
+
"oxlint": ">= 1.79.0",
|
|
108
108
|
"oxlint-tsgolint": ">= 7.0.2001"
|
|
109
109
|
},
|
|
110
110
|
"peerDependenciesMeta": {
|
|
@@ -116,4 +116,4 @@
|
|
|
116
116
|
"node": "^20.19.0 || ^22.13.0 || >=24 || >=26"
|
|
117
117
|
},
|
|
118
118
|
"packageManager": "yarn@4.18.0"
|
|
119
|
-
}
|
|
119
|
+
}
|
package/rules/base.mjs
CHANGED
|
@@ -582,6 +582,10 @@ export const baseRules = {
|
|
|
582
582
|
// https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-with.html
|
|
583
583
|
'eslint/no-with': 'error',
|
|
584
584
|
|
|
585
|
+
// Enforce variables to be declared separately
|
|
586
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/eslint/one-var.html
|
|
587
|
+
'eslint/one-var': ['error', 'never'],
|
|
588
|
+
|
|
585
589
|
// Require or disallow assignment operator shorthand where possible
|
|
586
590
|
// https://oxc.rs/docs/guide/usage/linter/rules/eslint/operator-assignment.html
|
|
587
591
|
'eslint/operator-assignment': ['error', 'always'],
|
package/rules/react.mjs
CHANGED
|
@@ -279,9 +279,104 @@ export const reactRules = {
|
|
|
279
279
|
// Decision: too opinionated for general use
|
|
280
280
|
'react/state-in-constructor': 'off',
|
|
281
281
|
|
|
282
|
-
//
|
|
283
|
-
|
|
284
|
-
|
|
282
|
+
// --- React Compiler rules ---
|
|
283
|
+
|
|
284
|
+
// Validate usage of Error Boundaries instead of try/catch for child errors
|
|
285
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/error-boundaries.html
|
|
286
|
+
'react/error-boundaries': 'error',
|
|
287
|
+
|
|
288
|
+
// Restrict reading or writing mutable globals during render
|
|
289
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/globals.html
|
|
290
|
+
'react/globals': 'error',
|
|
291
|
+
|
|
292
|
+
// Disallow mutating props, state, and other immutable values
|
|
293
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/immutability.html
|
|
294
|
+
'react/immutability': 'error',
|
|
295
|
+
|
|
296
|
+
// Flag library APIs known to be incompatible with memoization
|
|
297
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/incompatible-library.html
|
|
298
|
+
'react/incompatible-library': 'error',
|
|
299
|
+
|
|
300
|
+
// Ensure the compiler's inferred dependencies preserve existing manual memoization
|
|
301
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/preserve-manual-memoization.html
|
|
302
|
+
'react/preserve-manual-memoization': 'error',
|
|
303
|
+
|
|
304
|
+
// Validate that components and hooks are pure
|
|
305
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/purity.html
|
|
306
|
+
'react/purity': 'error',
|
|
307
|
+
|
|
308
|
+
// Validate that refs are not read or written during render
|
|
309
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/refs.html
|
|
310
|
+
'react/refs': 'error',
|
|
311
|
+
|
|
312
|
+
// Disallow calling setState synchronously in an effect
|
|
313
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/set-state-in-effect.html
|
|
314
|
+
'react/set-state-in-effect': 'error',
|
|
315
|
+
|
|
316
|
+
// Disallow setting state during render
|
|
317
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/set-state-in-render.html
|
|
318
|
+
'react/set-state-in-render': 'error',
|
|
319
|
+
|
|
320
|
+
// Enforce static component definitions
|
|
321
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/static-components.html
|
|
322
|
+
'react/static-components': 'error',
|
|
323
|
+
|
|
324
|
+
// Disallow syntax that React does not support
|
|
325
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/unsupported-syntax.html
|
|
326
|
+
'react/unsupported-syntax': 'error',
|
|
327
|
+
|
|
328
|
+
// Validate that useMemo callbacks return a value
|
|
329
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/use-memo.html
|
|
330
|
+
'react/use-memo': 'error',
|
|
331
|
+
|
|
332
|
+
// Validate that useMemo results are actually used
|
|
333
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/void-use-memo.html
|
|
334
|
+
'react/void-use-memo': 'error',
|
|
335
|
+
|
|
336
|
+
// Compiler-powered Rules of Hooks validation
|
|
337
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/hooks.html
|
|
338
|
+
// Decision: handled by native react/rules-of-hooks
|
|
339
|
+
'react/hooks': 'off',
|
|
340
|
+
|
|
341
|
+
// Validate effect dependency arrays are exhaustive without extraneous values
|
|
342
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/exhaustive-effect-dependencies.html
|
|
343
|
+
// Decision: handled by native react/exhaustive-deps
|
|
344
|
+
'react/exhaustive-effect-dependencies': 'off',
|
|
345
|
+
|
|
346
|
+
// Validate useMemo/useCallback dependency lists
|
|
347
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/memo-dependencies.html
|
|
348
|
+
// Decision: handled by native react/exhaustive-deps
|
|
349
|
+
'react/memo-dependencies': 'off',
|
|
350
|
+
|
|
351
|
+
// Report internal React Compiler invariant violations
|
|
352
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/invariant.html
|
|
353
|
+
// Decision: reports bugs in the compiler itself, not code defects
|
|
354
|
+
'react/invariant': 'off',
|
|
355
|
+
|
|
356
|
+
// Report code the React Compiler cannot analyze yet
|
|
357
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/todo.html
|
|
358
|
+
// Decision: reports compiler bail-outs, not code defects
|
|
359
|
+
'react/todo': 'off',
|
|
360
|
+
|
|
361
|
+
// Report invalid JavaScript the compiler encountered (e.g. const reassignment)
|
|
362
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/syntax.html
|
|
363
|
+
// Decision: invalid JS is already reported by base eslint rules like no-const-assign
|
|
364
|
+
'react/syntax': 'off',
|
|
365
|
+
|
|
366
|
+
// Disallow deriving values from state inside an effect and storing them back into state
|
|
367
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/no-deriving-state-in-effects.html
|
|
368
|
+
// Decision: upstream preset keeps this off; enable if we adopt the React Compiler
|
|
369
|
+
'react/no-deriving-state-in-effects': 'off',
|
|
370
|
+
|
|
371
|
+
// Report suppressions of React rules inside components (compiler skips those functions)
|
|
372
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/rule-suppression.html
|
|
373
|
+
// Decision: upstream preset keeps this off; enable if we adopt the React Compiler
|
|
374
|
+
'react/rule-suppression': 'off',
|
|
375
|
+
|
|
376
|
+
// Disallow calling capitalized functions directly during render
|
|
377
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/react/capitalized-calls.html
|
|
378
|
+
// Decision: upstream preset keeps this off; enable if we adopt the React Compiler
|
|
379
|
+
'react/capitalized-calls': 'off',
|
|
285
380
|
|
|
286
381
|
// Disallow string literals in JSX
|
|
287
382
|
// https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-no-literals.html
|
|
@@ -292,11 +387,13 @@ export const reactRules = {
|
|
|
292
387
|
|
|
293
388
|
// Validates usage of Error Boundaries instead of try/catch for child errors
|
|
294
389
|
// https://eslint-react.xyz/docs/rules/error-boundaries
|
|
295
|
-
|
|
390
|
+
// Decision: handled by native react/error-boundaries
|
|
391
|
+
'@eslint-react/error-boundaries': 'off',
|
|
296
392
|
|
|
297
393
|
// Restricts usage of global variables in React components
|
|
298
394
|
// https://eslint-react.xyz/docs/rules/globals
|
|
299
|
-
|
|
395
|
+
// Decision: handled by native react/globals
|
|
396
|
+
'@eslint-react/globals': 'off',
|
|
300
397
|
|
|
301
398
|
// Verify the list of the dependencies for Hooks like useEffect and similar
|
|
302
399
|
// https://eslint-react.xyz/docs/rules/exhaustive-deps
|
|
@@ -305,7 +402,8 @@ export const reactRules = {
|
|
|
305
402
|
|
|
306
403
|
// Validates against mutating props, state, and other immutable values
|
|
307
404
|
// https://eslint-react.xyz/docs/rules/immutability
|
|
308
|
-
|
|
405
|
+
// Decision: handled by native react/immutability
|
|
406
|
+
'@eslint-react/immutability': 'off',
|
|
309
407
|
|
|
310
408
|
// Prevent accidental JS comments from being injected into JSX as text
|
|
311
409
|
// https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
|
|
@@ -520,11 +618,13 @@ export const reactRules = {
|
|
|
520
618
|
|
|
521
619
|
// Validates that components/hooks are pure
|
|
522
620
|
// https://eslint-react.xyz/docs/rules/purity
|
|
523
|
-
|
|
621
|
+
// Decision: handled by native react/purity
|
|
622
|
+
'@eslint-react/purity': 'off',
|
|
524
623
|
|
|
525
624
|
// Validates correct usage of refs, not reading/writing during render
|
|
526
625
|
// https://eslint-react.xyz/docs/rules/refs
|
|
527
|
-
|
|
626
|
+
// Decision: handled by native react/refs
|
|
627
|
+
'@eslint-react/refs': 'off',
|
|
528
628
|
|
|
529
629
|
// Enforce Rules of Hooks
|
|
530
630
|
// https://eslint-react.xyz/docs/rules/rules-of-hooks
|
|
@@ -533,23 +633,28 @@ export const reactRules = {
|
|
|
533
633
|
|
|
534
634
|
// Validates against calling setState synchronously in an effect
|
|
535
635
|
// https://eslint-react.xyz/docs/rules/set-state-in-effect
|
|
536
|
-
|
|
636
|
+
// Decision: handled by native react/set-state-in-effect
|
|
637
|
+
'@eslint-react/set-state-in-effect': 'off',
|
|
537
638
|
|
|
538
639
|
// Validates against setting state during render
|
|
539
640
|
// https://eslint-react.xyz/docs/rules/set-state-in-render
|
|
540
|
-
|
|
641
|
+
// Decision: handled by native react/set-state-in-render
|
|
642
|
+
'@eslint-react/set-state-in-render': 'off',
|
|
541
643
|
|
|
542
644
|
// Enforces static component definitions
|
|
543
645
|
// https://eslint-react.xyz/docs/rules/static-components
|
|
544
|
-
|
|
646
|
+
// Decision: handled by native react/static-components
|
|
647
|
+
'@eslint-react/static-components': 'off',
|
|
545
648
|
|
|
546
649
|
// Validates against syntax that React does not support
|
|
547
650
|
// https://eslint-react.xyz/docs/rules/unsupported-syntax
|
|
548
|
-
|
|
651
|
+
// Decision: handled by native react/unsupported-syntax
|
|
652
|
+
'@eslint-react/unsupported-syntax': 'off',
|
|
549
653
|
|
|
550
654
|
// Validates usage of useMemo with a return value
|
|
551
655
|
// https://eslint-react.xyz/docs/rules/use-memo
|
|
552
|
-
|
|
656
|
+
// Decision: handled by native react/use-memo
|
|
657
|
+
'@eslint-react/use-memo': 'off',
|
|
553
658
|
|
|
554
659
|
// Ensure destructuring and symmetric naming of useState hook value and setter
|
|
555
660
|
// https://eslint-react.xyz/docs/rules/use-state
|