github-actions[bot]
21b42e740a
chore: version packages ( #554 )
oxlint-plugin-react-doctor@0.2.11
react-doctor@0.2.11
eslint-plugin-react-doctor@0.2.11
2026-05-28 19:14:32 -04:00
Ray Arayilakath
6f8640f6d9
fix(oxlint-plugin): skip js-tosorted-immutable on React Native/Expo (Hermes) ( #546 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 18:38:22 -04:00
Ray Arayilakath
0596d63d1b
feat(rn): hint Reanimated .get()/.set() on react-compiler immutability findings ( #548 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 18:38:00 -04:00
Ray Arayilakath
646e80c1ed
fix(oxlint-plugin): use context.filename instead of deprecated getFilename ( #539 ) ( #549 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 18:36:34 -04:00
Ray Arayilakath
19f5f61152
fix(ci): stabilize Windows vitest worker pool ( #550 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 18:25:33 -04:00
Aiden Bai
7605c9538d
chore: version packages for 0.2.10
...
Prepare the 0.2.10 patch release with expanded changelog entries.
eslint-plugin-react-doctor@0.2.10
react-doctor@0.2.10
oxlint-plugin-react-doctor@0.2.10
2026-05-28 02:46:55 -07:00
Aiden Bai
d29cdad64c
fix(cli): avoid dead-code scan freezes ( #537 )
2026-05-28 02:39:09 -07:00
Aiden Bai
7fe3e41131
feat: add Preact framework support and rules ( #519 )
2026-05-28 02:39:01 -07:00
Aiden Bai
7ab5dbdc35
feat(cli): combine install setup prompts ( #535 )
2026-05-27 23:48:18 -07:00
Aiden Bai
1c5647cc9c
fix(cli): show setup prompt for monorepo scans ( #534 )
2026-05-27 22:41:40 -07:00
Ray Arayilakath
928f21cd68
MIL-1559: no-giant-component flags non-React TypeScript modules ( #525 )
...
Co-authored-by: Aiden Bai <aiden.bai05@gmail.com >
2026-05-27 17:34:25 -07:00
Aiden Bai
849b25dd91
feat(jotai): add three Jotai rules + register jotai bucket ( #531 )
2026-05-27 17:33:52 -07:00
Ray Arayilakath
07dcb0882c
MIL-1560: Fix false positives in control-has-associated-label ( #528 )
...
Co-authored-by: Aiden Bai <aiden.bai05@gmail.com >
2026-05-27 17:13:20 -07:00
Aiden Bai
f6938f93b8
feat(react-native): add three Pressable / list / ScrollView perf rules ( #529 )
2026-05-27 16:55:27 -07:00
Aiden Bai
a1be777904
feat(state-and-effects): add activity-wraps-effect-heavy-subtree ( #532 )
2026-05-27 16:55:14 -07:00
Aiden Bai
0ece9c4e08
feat(js-performance): add js-async-reduce-without-awaited-acc ( #530 )
2026-05-27 16:04:17 -07:00
Aiden Bai
dc5f2f0972
feat(rn): add rn-no-renderitem-key rule ( #526 )
2026-05-27 14:40:01 -07:00
Ray Arayilakath
8244f1f28f
docs: consolidate fragmented rule skills ( #522 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-27 04:46:10 -04:00
Rayhan Noufal Arayilakath
27e684c1dd
chore: format the damn code gng 🥀
2026-05-27 01:25:32 -07:00
Aiden Bai
ef47202cbd
fix: remove registry-url and upgrade npm for OIDC trusted publishing
...
setup-node's registry-url writes an .npmrc with _authToken placeholder
that short-circuits the OIDC exchange. Also need npm 11.5.1+ for
trusted publishing support.
eslint-plugin-react-doctor@0.2.9
oxlint-plugin-react-doctor@0.2.9
react-doctor@0.2.9
2026-05-27 01:03:10 -07:00
github-actions[bot]
4c02514ab8
chore: version packages ( #521 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-27 00:57:15 -07:00
Aiden Bai
6531454b95
fix: use pnpm run version in publish workflow
2026-05-27 00:54:37 -07:00
Aiden Bai
30afe81c4a
chore: add changeset to test trusted publishing
2026-05-27 00:53:44 -07:00
Aiden Bai
d9a6d68509
chore: add trusted publishing workflow via OIDC
2026-05-27 00:53:19 -07:00
Aiden Bai
1b325b8678
fix(test): bump surface-filter test timeout to 60s for Windows CI
...
The test calls inspect() twice, which exceeds the 30s default on
Windows runners.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-27 00:29:18 -07:00
Aiden Bai
94af28784f
feat(oxlint-plugin): harden React Native list performance rules ( #514 )
2026-05-27 00:16:42 -07:00
Aiden Bai
71242ad73c
feat(oxlint-plugin): add rn-no-falsy-and-render rule ( #518 )
2026-05-26 23:47:13 -07:00
Aiden Bai
7fa53326e2
feat(oxlint-plugin): improve animation and gesture detection rules ( #516 )
2026-05-26 23:43:48 -07:00
Aiden Bai
14bad8fad5
feat(oxlint-plugin): expand deprecated package and import detection ( #515 )
2026-05-26 23:43:22 -07:00
Aiden Bai
fc32204674
feat(oxlint-plugin): expand shadow, style, and scroll rules ( #517 )
2026-05-26 23:41:33 -07:00
Ray Arayilakath
444fbeb760
feat: add skills and docs for writing new rules ( #495 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-27 02:41:23 -04:00
Ray Arayilakath
4e3fa6e10c
fix: caution agents on hook dependency fixes ( #511 )
...
* fix: caution agents on hook dependency fixes
Co-authored-by: Cursor <cursoragent@cursor.com >
* fix: keep hook dependency guidance scoped
Co-authored-by: Cursor <cursoragent@cursor.com >
* fix: simplify exhaustive deps guidance
Co-authored-by: Cursor <cursoragent@cursor.com >
* fix: add exhaustive deps guidance example
Co-authored-by: Cursor <cursoragent@cursor.com >
* fix: expand exhaustive deps example guidance
Co-authored-by: Cursor <cursoragent@cursor.com >
---------
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-27 01:58:02 -04:00
Ray Arayilakath
68e7b80053
feat: animate perfect score terminal header ( #506 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-26 23:55:09 -04:00
Aiden Bai
e3fd765051
feat(oxlint-plugin): error on manual memoization when React Compiler is enabled ( #504 )
2026-05-26 20:01:04 -07:00
Ray Arayilakath
bfe1b8ed13
[MIL-1555] False positive for tanstack-start-missing-head-content ( #487 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-26 22:09:37 -04:00
Aiden Bai
1fc25d1afe
fix
2026-05-26 18:31:56 -07:00
Aiden Bai
07b8a6c3e0
fix: cross-platform spawn errors ( #498 , #501 ) and add Windows/macOS CI ( #502 )
2026-05-26 18:19:41 -07:00
Ray Arayilakath
910645f4c2
[MIL-1547] Recognize subscription.remove() as effect cleanup ( #471 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Ray Arayilakath <me@rayhanadev.com >
2026-05-26 21:12:58 -04:00
Ray Arayilakath
86928b4cdd
feat: run formatter pre-commit ( #503 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-26 20:57:17 -04:00
Ray Arayilakath
27ed9a72ef
[MIL-1550] fix navigation and Expo image false positives ( #481 )
2026-05-26 17:47:29 -07:00
Ray Arayilakath
b4d7928200
[MIL-1549] Gate expo-image recommendation for bare React Native ( #482 )
2026-05-26 17:47:03 -07:00
Ray Arayilakath
397b1d7828
[MIL-1548] Fix bottom sheet React Native false positive ( #480 )
2026-05-26 17:45:31 -07:00
Rayhan Noufal Arayilakath
9e0f96944e
chore: run the formatter lol
2026-05-26 17:17:50 -07:00
Aiden Bai
e332310146
refactor(api): rename diagnoseModules → diagnoseProjects, clean up API shape
...
- Single object arg (`DiagnoseProjectsInput`) instead of two positional args
- "Projects" vocabulary matching the rest of the codebase
- Per-project scan options (`deadCode`, `lint`, etc.) flat on the entry
instead of nested in `config.deadCode`
- `config` on a project entry means `ReactDoctorConfig` directly
- Discriminated union `ProjectResult` (`ok: true | false`) instead of
separate `modules` + `errors` arrays
2026-05-26 16:23:04 -07:00
Nisarg Patel
87eb13a4ac
fix: harden
2026-05-26 16:15:27 -07:00
Aiden Bai
a7b72e19a1
feat(api): add diagnoseModules() for native per-module scoring ( #499 )
2026-05-26 16:13:03 -07:00
Aiden Bai
5690704080
schema
2026-05-26 05:13:34 -07:00
Aiden Bai
28da2ae32a
0.2.7
2026-05-26 05:08:47 -07:00
Aiden Bai
eb5157e806
fix: bundle eslint-plugin-react-hooks as a direct dependency
...
The React Compiler rules (`react-hooks-js/*`) were silently missing in
published builds because `resolveReactHooksJsPlugin` resolved
`eslint-plugin-react-hooks` via `createRequire(import.meta.url)` — which
found the package in the monorepo's devDependencies but not in the
npm-installed package where it was only an optional peer dep.
Move `eslint-plugin-react-hooks` from optional peerDependencies +
devDependencies to a real dependency in both `@react-doctor/core` and
`react-doctor` so the compiler rules fire automatically for any project
with `babel-plugin-react-compiler` detected.
2026-05-26 04:52:11 -07:00
Aiden Bai
81fce1e205
fix
2026-05-26 03:52:45 -07:00