Packages

oxlint-plugin-react-doctor

0.9.18 · 12 Oct 2026SEE LICENSE IN LICENSE1.4M / weekRepositoryHomepagenpmAtom feed

65 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.

  1. 0.9.x · latest line
  2. 0.9.18

    12 Oct 2026
    • deprecated

      Stop reporting the core SafeAreaView export as removed. It remains implemented even where it is deprecated.

    • Match API Platform subscription IDs to the provider's resource-and-IDs unsubscribe contract.

    • Do not infer React hooks from relative helper imports in Angular component classes. Continue to check React and React ecosystem imports.

  3. 0.9.17

    5 Oct 2026
  4. 0.9.16

    4 Oct 2026
    • Avoid sequential-await warnings when local helpers read the same cache entry or delegate to the same imported operation with matching stable arguments. Follow bounded imported helpers to guarded, module-owned Map/WeakMap caches keyed by unchanged function parameters, with dependency fingerprints for cache invalidation. Preserve warnings for distinct imported operations sharing an input, and bound the diagnostic's parallelization advice.

      Keep diagnostics when a helper computes a cache key with an unknown call or property read. These values can change between calls.

    • Recognize convergent last-item equality guards in no-self-updating-effect, including literal tail replacements and appends with tail-preserving deferred trims.

    • Avoid no-derived-state false positives when custom hooks return draft state setters through immutable aliases.

  5. 0.9.14

    12 Sep 2026
    • Upgrade oxlint to 1.81 and oxc-parser to 0.148.

    • Avoid effect-needs-cleanup diagnostics for owned chained timers, guarded post-await timers, and listeners released through an abort handler.

    • Fix an async-defer-await false positive on exact live and isLive liveness guards without exempting unrelated names that only contain the same text.

  6. 0.9.13

    2 Sep 2026
    • Upgrade the Oxc parser and Oxlint runtime while preserving hard failures for broken JS plugins.

    • Keep ESLint presets on React Doctor's curated low-noise rule behavior and honor configured capabilities when a rule declares disabledWhen, including suppressing manual-memoization diagnostics for React Compiler projects.

    • Keep the interactive score header intact in narrow split views and invalidate locally stale scan results when rule implementations change.

      Report standalone Three.js render loops that use requestAnimationFrame instead of the renderer-managed setAnimationLoop API.

      Include standalone Three.js, supported React framework, Remotion, and React Three Fiber ecosystem packages in automatic workspace project discovery.

  7. 0.9.12

    13 Aug 2026
    • Reduce false positives across Three.js, JavaScript performance, security, and async rules by recognizing stable lifecycle guards, intentional sequencing, non-escaping values, renderer aliases, and safe DOM data flows.

    • Make every ported React and accessibility rule match its pinned upstream test contract while preserving React Doctor's lower-noise curated defaults.

    • Trace hydration decisions through imported browser helpers, report passive media-capability branch flicker, preserve committed-DOM state synchronization through local helpers, and exclude test-only dependency stubs from production diagnostics.

  8. 0.9.11

    9 Aug 2026
    • Recognize cleanup ownership, invalidation guards, and retained callback lifecycles in real-world timer and subscription patterns without hiding mismatched or unowned resources.

  9. 0.9.10

    9 Aug 2026
  10. 0.9.9

    8 Aug 2026
    • Avoid reporting one-shot effect timers whose callbacks exit on a leading compound unmount guard.

  11. 0.9.8

    8 Aug 2026
    • Fix React Bench false positives and false negatives across effect cleanup, fetch status, async ownership, loading state, timer refs, state updaters, and trusted KaTeX HTML analysis.

    • Harden scan orchestration and cache persistence, modernize the Effect runtime, simplify package boundaries and analyzers, share cycle and suppression analysis, keep workflow paths inside the repository, and remove unused internals.

  12. 0.9.7

    8 Aug 2026
    • Fix React Bench false positives in async cancellation, fetch status validation, lifecycle cleanup, timer ownership, request ownership, and trusted KaTeX provenance, and detect History mutations and prop callback calls inside state updater functions.

  13. 0.9.6

    7 Aug 2026
    • Recognize browser media capability and playback lifecycles without masking unrelated prop-driven state adjustments, and resolve cross-file helpers with dotted basenames.

    • Fix derived-state detection through render-updated refs and avoid flagging finite timer lifecycle shutdowns as prop-driven state adjustments.

    • Accept trailing loading resets after non-rethrowing catch handlers, and preserve effect-local cleanup helpers with deterministic false-positive and false-negative fuzz replay.

  14. 0.9.5

    5 Aug 2026
    • Reduce default rule scan overhead by gating framework-specific visitors and skipping expensive analyses until their prerequisite syntax is present.

    • Recognize callable listener disposers, exhaustive cleanup of mapped subscription collections, and guarded timers owned by effect-local helpers in effect-needs-cleanup.

    • Avoid reporting callbacks passed to destructured Zustand imperative store methods as fresh-reference selectors.

  15. 0.9.4

    4 Aug 2026
    • Avoid treating a resource failure latch as an all-state prop reset.

    • Limit missing button type diagnostics to form-owned buttons and report broken literal fragment links.

    • Add an opt-in diagnostic for effects that let externally controlled selection changes move focus.

  16. 0.9.3

    1 Aug 2026
    • Detect Astro projects, run template design rules through Astro's compiler with source-mapped diagnostics, and keep Astro's default sharp image service out of unused-dependency findings.

    • Recognize default-exported React HoC feature components in no-multi-comp.

    • Detect index keys in dynamic React child arrays and data-indexed while loops.

  17. 0.9.2

    27 Jul 2026
    • Detect TanStack Start root documents that omit client scripts and unsafe filesystem containment checks that compare resolved paths with a bare string prefix.

    • Add opt-in diagnostics for auto-scrolling content, decorative radial effects, pulsing status dots, repeated container copy, and shape-assembled illustrations. Improve existing design and copy diagnostics with stricter visibility, cascade, motion, contrast, and structural analysis.

    • Improve diagnostic precision for effect cleanup, derived state, parent callbacks, deferred state transitions, and KaTeX HTML rendering.

  18. 0.9.1

    23 Jul 2026

    Reading the note…

  19. 0.9.0

    22 Jul 2026

    Reading the note…

  20. 0.8.x
  21. 0.8.3

    21 Jul 2026

    Reading the note…

  22. 0.8.2

    21 Jul 2026

    Reading the note…

  23. 0.8.1

    18 Jul 2026

    Reading the note…

  24. 0.8.0

    18 Jul 2026

    Reading the note…

  25. 0.7.x
  26. 0.7.8

    14 Jul 2026

    Reading the note…

  27. 0.7.7

    13 Jul 2026

    Reading the note…

  28. 0.7.6

    12 Jul 2026

    Reading the note…

  29. 0.7.5

    12 Jul 2026

    Reading the note…

  30. 0.7.4

    10 Jul 2026

    Reading the note…

  31. 0.7.3

    9 Jul 2026

    Reading the note…

  32. 0.7.2

    8 Jul 2026

    Reading the note…

  33. 0.7.1

    4 Jul 2026

    Reading the note…

  34. 0.7.0

    4 Jul 2026

    Reading the note…

  35. 0.6.x
  36. 0.6.3

    4 Jul 2026

    Reading the note…

  37. 0.6.2

    3 Jul 2026

    Reading the note…

  38. 0.6.1

    3 Jul 2026

    Reading the note…

  39. 0.6.0

    2 Jul 2026

    Reading the note…

  40. 0.5.x
  41. 0.5.8

    20 Jun 2026

    Reading the note…

  42. 0.5.7

    19 Jun 2026

    Reading the note…

  43. 0.5.6

    15 Jun 2026

    Reading the note…

  44. 0.5.5

    14 Jun 2026

    Reading the note…

  45. 0.5.4

    13 Jun 2026

    Reading the note…

  46. 0.5.3

    13 Jun 2026

    Reading the note…

  47. 0.5.2

    13 Jun 2026

    Reading the note…

  48. 0.5.1

    9 Jun 2026

    Reading the note…

  49. 0.5.0

    9 Jun 2026

    Reading the note…

  50. 0.4.x
  51. 0.4.2

    7 Jun 2026

    Reading the note…

  52. 0.4.1

    7 Jun 2026

    Reading the note…

  53. 0.4.0

    5 Jun 2026

    Reading the note…

  54. 0.3.x
  55. 0.3.0

    4 Jun 2026

    Reading the note…

  56. 0.2.x
  57. 0.2.16

    1 Jun 2026

    Reading the note…

  58. 0.2.15

    1 Jun 2026

    Reading the note…