Repository navigation
Update dependency react-doctor to ^0.9.22 - #1573
renovate[bot] wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
🩺 React Doctor — Score:Full diagnostics``` $ react-doctor . --verbose ✔ Select projects › dfweb-v4Failed to parse oxlint output: Failed to parse oxlint configuration file. × Failed to parse config with error Error("invalid major version in settings.react.version", line: 0, column: 0)
✔ Scanned 191 files in 1.2s React Doctor — dfweb-v4 1 issue ✖ Hardcoded secret fallback for env var Results are incomplete: lint checks failed. ──────────────────────────────────────────────────────────── Docs: https://react.doctor/docs GitHub: https://github.com/millionco/react-doctor [ELIFECYCLE] Command failed with exit code 1. |
57b7749 to
28919cd
Compare
28919cd to
27f2daf
Compare
27f2daf to
67459f8
Compare
67459f8 to
9a9ecc4
Compare
9a9ecc4 to
016c085
Compare
016c085 to
0fa73cb
Compare
0fa73cb to
22e2041
Compare
22e2041 to
a8c42d9
Compare
a8c42d9 to
c03bb39
Compare
c03bb39 to
67fbc66
Compare
67fbc66 to
3c9f072
Compare
3c9f072 to
7b5000b
Compare
7b5000b to
69771ad
Compare
4c12c82 to
39615dc
Compare
39615dc to
5a6f407
Compare
5a6f407 to
acb8686
Compare
acb8686 to
ffd5577
Compare
ffd5577 to
ef9bde8
Compare
ef9bde8 to
73bae0c
Compare
73bae0c to
0824318
Compare
0824318 to
767c5d3
Compare
767c5d3 to
7f9caf6
Compare
7f9caf6 to
c77f63d
Compare
c77f63d to
686a838
Compare
686a838 to
08af6df
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1573 +/- ##
=======================================
Coverage 99.66% 99.66%
=======================================
Files 40 40
Lines 2699 2699
Branches 224 224
=======================================
Hits 2690 2690
Misses 9 9 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
|



Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
^0.0.47→^0.9.22Release Notes
millionco/react-doctor (react-doctor)
v0.9.22Compare Source
Patch Changes
#2327
49ee624Thanks @aidenybai! - Pineslint-plugin-react-hooksto 7.1.1, the version the lockfile resolves, soreact-hooks-js/*diagnostics do not change when a new plugin release ships.#2328
13ff2a0Thanks @aidenybai! ---scope changed --include-untrackednow treats a tracked file that was deleted and recreated at an untracked path as a rename, so its existing findings match the base instead of being reported as new and fixed.Updated dependencies [
ad51b5a]:v0.9.21Compare Source
Patch Changes
5a2c6f5,39152dc]:v0.9.20Compare Source
Patch Changes
2c5d72c,8a7c60a,b713862]:v0.9.19Compare Source
Patch Changes
#2000
9a79847Thanks @aidenybai! - Let rules declare the code that owns a finding separately from its diagnostic location. With--scope contextual,exhaustive-depsnow reports existing dependency findings when their hook call or resolved local callback changes. Ownership survives lint-cache replay and stays out of public JSON reports and score requests.Add JSX element scope for
alt-textandclick-events-have-key-events, and function scope forrules-of-hooks. Existing scan defaults and other scopes are unchanged.#2310
3fd747eThanks @aidenybai! - Detect render-time ref.current writes made through Object.assign while preserving predictable guarded initialization and deferred effect or event writes. Keep semantic analysis lazy for unrelated calls. Exclude calls to an overridden Object.assign.#1983
a1df4e5Thanks @skoshx! - Skip .open-next build output in security scanThe security scan now skips
.open-next/directories (OpenNext build output) the same way it skips.next/and.vercel/, preventing false positive security findings from bundled library code.Updated dependencies [
9a79847,813bd63,be55f78,e5c7c99,a4bcd7f,84ad0c8,95cd1d4,3fd747e,a1df4e5]:v0.9.18Compare Source
Patch Changes
#1386
041d1abThanks @skoshx! - Record the GitHub Action clean-comment preference in anonymized scan telemetry and document the workflow input.#1943
6932e7dThanks @aidenybai! - Match API Platform subscription IDs to the provider's resource-and-IDs unsubscribe contract.#1920
0298eb8Thanks @aidenybai! - Do not infer React hooks from relative helper imports in Angular component classes. Continue to check React and React ecosystem imports.#1926
012e208Thanks @aidenybai! - Do not classify a local state transition as a prop-driven adjustment when its only prop dependencies are called notifications. Keep checks for prop values used in guards, results, or reset dependencies.#1911
bb00a27Thanks @aidenybai! - Do not recommend lazy state initialization for cheap primitive toString calls, including numeric React Native Dimensions values. Keep warnings for unproven receivers and nested expensive calls.#1919
1f6b98aThanks @aidenybai! - Report inaccessible parent click actions when descendant handlers stop keyboard-generated clicks from reaching them.#1928
a68f193Thanks @aidenybai! - Match listener cleanup when both branches of conditional options have the same capture value. Keep warnings for differing capture values, changed options, and missing cleanup.Recognize exhaustive listener-removal loops extracted into a synchronous helper when the cleanup only invokes that helper.
#1965
695e46eThanks @aidenybai! - Add the opt-in--scope contextualreporting mode. Selected rules report existing findings when their owning function, JSX element, or file changes. Other rules retain line filtering. Support deletion-only edits, staged scans, untracked files, and separate result-cache entries while preserving existing scope defaults and diagnostic locations.#1933
72fab66Thanks @aidenybai! - Preserve count-based placeholder identity through a local array before mapping wrappers.#1907
e2b047bThanks @aidenybai! - Preserve numeric placeholder-loop identity through local key aliases, including constant-prefix keys. Continue reporting index aliases for loops over array data.#1905
a1cff2eThanks @aidenybai! - Keep browser reads in helpers defined inside React effects out of server-render diagnostics. Preserve warnings for render callbacks and shadowed effect functions.#1924
89c6701Thanks @aidenybai! - Do not classify zero-argument effect notifications as state payloads sent to a parent. Continue to report callbacks that pass local state.#1850
ab39ac4Thanks @skoshx! - Install and manage GitHub Actions workflows at the repository root when invoked from a nested package or linked worktree.#1852
d53c820Thanks @skoshx! - Exclude.cloudflarebuild output directory from source file discovery. Cloudflare'scfCLI stores compiled Worker bundles and cache state there, mirroring the existing.wranglerexclusion.#1964
5f322adThanks @aidenybai! - Honor explicitrulessettings of"warn"or"error"for ported rules whencustomRulesOnlyis enabled. Current and legacy rule keys both work. Other ported rules and the React Compiler plugin stay disabled, and project requirements and tag exclusions still apply.#1883
909b8e5Thanks @skoshx! - fix(effect-needs-cleanup): accept Promise timer that resets its own handle in callbackFixes #1882. The rule no longer flags a timer created in a Promise callback when the timer's own callback resets the handle to
nullorundefined. This is safe because the timer has already fired when the reset happens, so no live handle is lost.#1631
f8e6ea4Thanks @skoshx! - Fix--stagedrefusing to scan in linked git worktrees whenGIT_DIRis set. Clear the inheritedGIT_DIRenvironment variable in the staged divergence check so git status resolves paths correctly, matching the fix for scoped scans in #1516.#1869
7bebcfcThanks @aidenybai! - Use constant Boolean initializers before treating numeric-looking JSX guard names as numbers. Preserve warnings for mutable bindings, destructuring defaults, and numeric values.#1873
6790398Thanks @aidenybai! - Require root route error boundaries only for data routers, since declarative useRoutes configurations do not use data-router error handling.#1875
ad8bca6Thanks @aidenybai! - Recognize legacy React.createClass components so render callbacks retain their instance this instead of being treated as function components.#1874
c92fec1Thanks @aidenybai! - Accept direct anchor children owned by an imported Next Link component, including the legacy Link child API.#1872
2825dfdThanks @aidenybai! - Allow state updater callbacks to reassign their local parameter while still reporting writes to prior-state properties and captured values.#1878
cc78fa3Thanks @aidenybai! - Respect the installed or declared React Native version before reporting removed AsyncStorage and WebView exports. Reuse package-version resolution and track manifests for diagnostic cache invalidation.#1871
4f8866cThanks @aidenybai! - Stop reporting the core SafeAreaView export as removed. It remains implemented even where it is deprecated.#1880
96bf20fThanks @aidenybai! - Restrict App Router path checks to the project app or src/app directory so nested Pages Router paths do not trigger App Router rules.#1877
4899bc4Thanks @aidenybai! - Recognize optional-chain and TypeScript-wrapped response status guards before fetch body reads.#1879
45f9769Thanks @aidenybai! - Avoid treating promise-returning query APIs as array find calls. Keep reports for known arrays and known predicates.#1866
dfb598aThanks @aidenybai! - Recognize static import and require paths wrapped in TypeScript assertions, while retaining warnings for dynamic paths inside those wrappers.#1870
a293facThanks @aidenybai! - Preserve state used by a render-phase throw, including Suspense promises and errors, instead of recommending a ref.#1876
1b149baThanks @aidenybai! - Recognize either global timer-clear API as releasing a matching timeout or interval handle, including exhaustive retained timer collections.#1867
888dc2aThanks @aidenybai! - Allow author-provided accessible names on the tooltip role. Preserve naming restrictions on roles that prohibit them and warnings for unsupported tooltip states.#1868
7e24c41Thanks @aidenybai! - Skip missing image sizes advice when next/image explicitly disables optimization, since that path does not generate responsive source candidates.#1915
c1181f0Thanks @aidenybai! - Report array-index keys passed as React cloneElement overrides, including imported aliases and static computed keys.#1902
9e9680bThanks @aidenybai! - Allow updater callbacks to mutate a local container when both branches of its conditional initializer create a fresh container. Continue reporting mutations of prior state and shared collections.#1940
a47c7e0Thanks @aidenybai! - Ignore unreachable fresh fallbacks inside a controlled-state selection when the value type excludes null.#1937
2c5d1a1Thanks @aidenybai! - Use the properties read by a resolved local helper when checking object argument dependencies.#1923
ab83f31Thanks @aidenybai! - Accept positional keys for immutable arrays of identical literal placeholders. Keep checks for distinct values, records, spreads, and mutated arrays.#1942
a410280Thanks @aidenybai! - Detect fresh cleanup callbacks through local imported wrappers of DOM event listener APIs.#1934
7ad2c9bThanks @aidenybai! - Track subscriptions pushed into arrays that already contain other owned handles.#1936
03b21c8Thanks @aidenybai! - Do not classify paired Layer.extend lifecycle methods as React event handlers.#1904
55c2235Thanks @aidenybai! - Recognize deterministic lazy ref initialization through an immediately preceding local assignment. Check the resolved value for non-deterministic initialization hidden by aliases.#1912
683d0c2Thanks @aidenybai! - Avoid parent-notification warnings when a local memoized loader only reads props and updates local state. Keep warnings for actual parent callback calls, including asynchronous and direct callback wrappers.#1909
45f5620Thanks @aidenybai! - Recognize named functions passed to React memo and forwardRef as render scopes in rules-of-hooks, including nonstandard internal names. Keep conditional and nested hook checks active.#1908
738b340Thanks @aidenybai! - Recognize object URL cleanup returned on every path after URL creation, including effects that return early before they allocate a URL.#1906
130fc45Thanks @aidenybai! - Prevent boolean-toggle cleanup analysis from crashing when an effect omits its dependency array. Preserve the existing toggle diagnostic and functional-update exemption.#1931
6ee5988Thanks @aidenybai! - Follow guarded observer setup helpers invoked by effect-owned listeners.#1935
5b301c9Thanks @aidenybai! - Recognize loading-set resets paired with cancellation of owned request-map entries.#1918
b6b2d68Thanks @aidenybai! - Recognize react_ujs useContext and useContexts as component registration methods rather than React hooks. Support stable CommonJS and ES module bindings.#1921
f986f15Thanks @aidenybai! - Do not classify an imported use-prefixed function as a React hook when its resolved implementation only returns static data.#1925
1451cdbThanks @aidenybai! - Accept positional keys for plain text rows from string splitting and Boolean filtering. Keep checks for stateful children, unknown split methods, and changed token arrays.#1929
67531ccThanks @aidenybai! - Recognize portal readiness state after DOM container discovery.#1927
9e305dfThanks @aidenybai! - Accept index keys for identical map slots that ignore the item and collection values and use the index only as a key. Keep warnings when output depends on an item or an indexed record.#1913
83bf9adThanks @aidenybai! - Recognize fresh const aliases of effect cancellation guards after await. Keep warnings when a snapshot was captured before suspension or another await can make it stale.#1930
8bfb598Thanks @aidenybai! - Recognize primitive cumulative labels in stateless index-keyed rows.#1922
4fd3e87Thanks @aidenybai! - Accept positional keys for Array.from slots whose count comes from a property or expression. Keep checks when the index reads external records or the source has record entries.#1901
295becbThanks @aidenybai! - Detect unstable nested components created inside React forwardRef and memo render callbacks, including import aliases and TypeScript wrappers.#1916
8fdead9Thanks @aidenybai! - Recognize request ownership predicates and loading resets on proven view, close, and unmount paths. Keep warnings when an invalidated request can leave the loading flag set.#1917
6331b39Thanks @aidenybai! - Keep React hook ordering checks out of files that use a proven non-React JSX runtime. Mixed React files retain the checks.#1900
6ff6710Thanks @aidenybai! - Add--warning-exit-code <code>for non-blocking warnings, including GitLab CI jobs that useallow_failure.exit_codes. Accept integers from 2 to 255. Preserve existing blocking rules, CI surface filters, and default exit codes across text, JSON, and interactive reports.#1939
0179427Thanks @aidenybai! - Recognize object URLs retained in React refs when replacement and unmount both revoke the owned value.#1932
6bed9f6Thanks @aidenybai! - Recognize clearing the state handle of an object URL after revocation.#1938
a26bc44Thanks @aidenybai! - Follow synchronous cleanup helpers that invoke a retained listener disposer on unmount.#1903
4bcbcd9Thanks @aidenybai! - Do not treat directly returned component functions as JSX rendered by their factory. Keep detecting direct component calls and executed render callbacks.#1910
943ca32Thanks @aidenybai! - Avoid cleanup warnings for local functions and state setters named setInterval or setTimeout. Require a global timer or a matching Node timers import before classifying these calls as timer allocations.#1941
b880403Thanks @aidenybai! - Recognize the stable send result of XState React v1 useService when its interpreter is a module singleton.Updated dependencies [
6932e7d,0298eb8,012e208,bb00a27,1f6b98a,a68f193,695e46e,72fab66,e2b047b,a1cff2e,89c6701,e18d7da,f3f167e,909b8e5,281fdc9,a3cbae0,a3cbae0,7bebcfc,6790398,ad8bca6,c92fec1,2825dfd,cc78fa3,4f8866c,96bf20f,4899bc4,45f9769,dfb598a,a293fac,1b149ba,888dc2a,7e24c41,e50ba27,91b6991,d8c0517,0d99110,712a08a,e6457e3,d1cd769,0a8982b,c1181f0,9e9680b,a47c7e0,2c5d1a1,ab83f31,a410280,7ad2c9b,03b21c8,55c2235,683d0c2,45f5620,738b340,130fc45,6ee5988,5b301c9,b6b2d68,f986f15,1451cdb,67531cc,9e305df,83bf9ad,8bfb598,4fd3e87,295becb,8fdead9,6331b39,0179427,6bed9f6,a26bc44,4bcbcd9,943ca32,b880403]:v0.9.17Compare Source
Patch Changes
#1864
fcfb6eaThanks @aidenybai! - Fix false new findings in--baselineand--scope changedafter formatting or editing existing flagged code. Compare finding counts per file and rule, then use fingerprints, messages, and Git line shifts to identify added findings. Skip location matching when counts do not increase. Apply portable config filters to saved baseline findings and reject reports with missing or incompatible source-dependent filter settings; regenerate those base reports with the current version and settings.Updated dependencies []:
v0.9.16Compare Source
Patch Changes
#1860
8ed70dfThanks @aidenybai! - Fix changed-scope scans to compare findings for uncommitted changes and use flagged source spans instead of whole lines. Match duplicate findings by count and limit cross-file matches to Git renames.Add
--baseline <report.json>to reuse a saved scan. JSON reports now include stable finding fingerprints, the source revision, the comparison source, and the number of matched base findings. Gates and summary counts use only new findings.#1846
6313667Thanks @aidenybai! - Disablerequire-pnpm-hardeningby default; enable it explicitly throughruleswhen wanted. Describe await parallelization as a conditional opportunity, preserving ordering, resource limits, and error semantics. Recognize local Promise.all/allSettled collectors and stop describing async array callbacks as sequential.#1832
8a950f0Thanks @skoshx! - Fixeffect-needs-cleanupfalse positive for React 19 callback ref cleanup returns. React 19 callback refs can return cleanup functions with the signature(node: T | null) => void | (() => void). The rule now correctly handles cases where cleanup is only returned after resource usage (e.g., afterResizeObserver.observe()), allowingvoidreturns on the null branch.Updated dependencies [
23d6160,23d6160,23d6160,6313667,3242a81,8a950f0,23d6160,23d6160,23d6160,23d6160]:v0.9.14Compare Source
Patch Changes
#1783
1239043Thanks @aidenybai! - Upgrade oxlint to 1.81 and oxc-parser to 0.148.#1777
52ab4f5Thanks @aidenybai! - Detect React Compiler when@vitejs/plugin-reactis called with an enabledcompileroption (react({ compiler: true })orreact({ compiler: { ... } })), including aliased, namespace, and CommonJS forms of the default export.compiler: falseand unrelated objects with acompilerproperty stay undetected, so rules disabled under React Compiler now switch off for these Vite projects.#1778
1279996Thanks @aidenybai! - Skip source files that Git still tracks but that no longer exist in the working tree (for example a deleted rootindex.htmlin a TanStack Start app) instead of failing the scan withENOENTwhile preparing lint sources.#1780
7c31dc7Thanks @aidenybai! - Exclude every discovered nested workspace project from an ancestor scan, whether or not it was selected. Scanning only the root of a monorepo previously pulled a nested app's files into the root scan and judged them against the root's framework and React Compiler settings, so a compiler-enabled Expo app inside a Vite workspace reported compiler-gated rules likeprefer-module-scope-pure-functionthat its own config suppresses. A nested project's files are now only checked by that project's scan, matching what selecting both projects already did.#1779
9b1fbf4Thanks @aidenybai! - Keep--scope changedin baseline mode when the change set deletes a source file. A deleted file that cannot be read or linted at the basConfiguration
📅 Schedule: (in timezone Europe/Oslo)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.