Update react monorepo to v19.2.18 - #16

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-monorepo
Open

Update react monorepo to v19.2.18#16
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-monorepo

Conversation

@renovate

@renovaterenovateBot commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
@types/react (source)19.2.219.2.18ageconfidence
@types/react-dom (source)19.2.219.2.5ageconfidence
react (source)19.2.019.2.8ageconfidence
react-dom (source)19.2.019.2.8ageconfidence

Release Notes

react/react (react)

v19.2.8

Compare Source

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components

v19.2.4

Compare Source

React Server Components

v19.2.3

Compare Source

React Server Components

v19.2.2

Compare Source

React Server Components

v19.2.1

Compare Source

React Server Components
react/react (react-dom)

v19.2.8

Compare Source

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components

v19.2.4

Compare Source

React Server Components

v19.2.3

Compare Source

React Server Components

v19.2.2

Compare Source

React Server Components

v19.2.1

Compare Source

React Server Components

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@cloudflare-workers-and-pages

cloudflare-workers-and-pagesBot commented Nov 27, 2025

Copy link
Copy Markdown

Deploying docs with Cloudflare Pages Cloudflare Pages

Latest commit:8d8d9ae
Status:🚫 Build failed.

View logs

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from d500a06 to 8f9a564CompareDecember 4, 2025 19:30
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 8f9a564 to 8d8d9aeCompareDecember 12, 2025 00:00
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 8d8d9ae to 9c2e88fCompareJanuary 1, 2026 01:16
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from f168ce8 to 0a13768CompareJanuary 11, 2026 07:37
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.7chore(deps): update react monorepo to v19.2.8Jan 11, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from b28c978 to d0a2c20CompareJanuary 21, 2026 07:34
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.8chore(deps): update react monorepo to v19.2.9Jan 21, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 3 times, most recently from 2a277f2 to 7739a2bCompareJanuary 28, 2026 19:46
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.9chore(deps): update react monorepo to v19.2.10Jan 28, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 1c52659 to ba3e90eCompareFebruary 4, 2026 20:15
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.10chore(deps): update react monorepo to v19.2.11Feb 4, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from ba3e90e to eb5703aCompareFebruary 6, 2026 03:15
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.11chore(deps): update react monorepo to v19.2.13Feb 6, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from eb5703a to d8e9377CompareFebruary 13, 2026 11:42
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.13chore(deps): update react monorepo to v19.2.14Feb 13, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from d8e9377 to 72c8caeCompareFebruary 19, 2026 03:14
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from ebfeb96 to 643f7efCompareMarch 14, 2026 14:09
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 643f7ef to 8491c21CompareApril 15, 2026 17:23
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.14Update react monorepo to v19.2.14Apr 15, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 78e99e6 to 3a9ed6cCompareMay 6, 2026 19:39

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React and React DOM from v19.2.0 to v19.2.14, along with updating all related dependencies in the lock files (package-lock.json and yarn.lock). This is a Renovate bot-generated PR for routine dependency maintenance.

Verdict: Needs changes before merging - While the React upgrade itself appears safe, there are significant concerns about the Node.js engine requirement changes that need to be addressed.

Research notes

  • React 19.2.6 Release Notes: The latest version (19.2.6, released May 6th, 2026) includes "Type hardening and performance improvements" for React Server Components (#36425). No breaking changes mentioned for this patch update.

  • React 19 Upgrade Guide: According to React's official upgrade guide, React 19 introduces several breaking changes including:

    • Removal of ReactDOM.render, ReactDOM.hydrate (must use createRoot/hydrateRoot)
    • Removal of propTypes and defaultProps for function components
    • Removal of string refs, legacy context, and other deprecated APIs
    • Changes to error handling (errors no longer re-thrown)
    • TypeScript type changes requiring useRef to have an argument
  • Docusaurus Compatibility: The lock file changes show Docusaurus packages being updated from 3.8.1 to 3.10.1, which now support react: ^18.0.0 || ^19.0.0. However, the engine requirement changed from node: >=18.0 to node: >=20.0 across all Docusaurus packages.

  • Current package.json: Still specifies "engines": { "node": ">=18.0" } and "packageManager": "yarn@4.9.4"

Suggested next steps

  1. Blocking: Update the engines field in package.json from "node": ">=18.0" to "node": ">=20.0" to match the new Docusaurus requirements, or verify your deployment environment supports Node.js 20+.

  2. Non-blocking: Verify the application builds and runs correctly with React 19.2.6, especially if using any deprecated patterns like:

    • String refs (ref="myRef")
    • propTypes on function components
    • defaultProps on function components
    • Legacy ReactDOM.render() calls
  3. Testing recommendation: Run the full test suite and verify SSR/hydration works correctly, as React 19 has improved hydration error reporting that may surface previously hidden issues.

General findings

  • The PR only contains lock file changes (package-lock.json and yarn.lock), with no changes to package.json. This is appropriate for a dependency version bump where the semver ranges already allow the new versions.

  • The React upgrade path is correct: ^19.0.0 in package.json correctly resolves to 19.2.6 (the latest 19.x version).

  • Many transitive dependencies have been updated alongside React, including:

    • postcss-preset-env: 10.4.0 → 10.6.1
    • node-gyp: 11.5.0 → 12.3.0 (now uses undici instead of make-fetch-happen)
    • Various security patches in the ecosystem
  • Important: If your CI/CD pipeline or production environment runs Node.js 18.x, this PR will break builds after merge due to the Docusaurus engine requirement change to Node.js 20+. This should be verified before merging.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 3a9ed6c to 94df8e5CompareMay 13, 2026 07:11

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React-related dependencies from v19.2.0 to v19.2.6 (React/ReactDOM) and @types/react to v19.2.14. The update itself appears safe - the React 19.2.6 release notes indicate only "type hardening and performance improvements" for React Server Components with no breaking changes.

However, there are several issues that need attention before this can be approved:

  1. Misleading PR title - Claims "v19.2.14" but React itself only goes to 19.2.6
  2. Version constraint drift - yarn.lock shows changed version ranges (^19.0.0 → ^19.2.6)
  3. Dual lockfile anti-pattern - Both yarn.lock and package-lock.json committed despite using Yarn

Research notes

  • Fetched React 19.2.6 release notes - confirms minor update with type/performance improvements only
  • Package.json specifies "packageManager": "yarn@4.9.4" indicating Yarn Berry is the intended package manager
  • Yarn lockfile format confirms Yarn 4.x (checksums use 10c0/ prefix)

Suggested next steps

  1. Fix PR title to accurately reflect versions (React 19.2.6, @types/react 19.2.14)
  2. Investigate why yarn.lock version constraints changed from ^19.0.0 to ^19.2.6 - this suggests either manual editing or transitive dependency forcing resolution
  3. Remove package-lock.json from version control since project uses Yarn (or configure corepack to prevent npm from generating it)
  4. Run yarn install fresh to regenerate clean lockfile with correct version ranges preserved

General findings

Dual lockfile maintenance issue

The repository tracks both yarn.lock and package-lock.json, but package.json explicitly declares "packageManager": "yarn@4.9.4". This creates potential for dependency drift between tools.

Why it matters: Having both lockfiles can lead to inconsistent installations depending on which tool runs first. CI might use one tool while developers use another, causing "works on my machine" issues.

Suggested fix: Add package-lock.json to .gitignore and remove it from the repository. If npm compatibility is needed, consider using yarn install --no-immutable in CI or document which tool is authoritative.


Version constraint preservation in yarn.lock

The diff shows yarn.lock entries changing from "react@npm:^19.0.0" to "react@npm:^19.2.6". Yarn typically preserves the original semver range from package.json in the lockfile key.

Why it matters: This suggests either (a) the lockfile was regenerated with different resolution logic, (b) a transitive dependency is forcing stricter constraints, or (c) manual edits were made. This makes the actual resolved versions opaque to future maintainers.

Suggested fix: Run yarn install with the current package.json to regenerate the lockfile. Verify that version ranges in yarn.lock match what's declared in package.json.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 94df8e5 to 3fc03faCompareMay 21, 2026 07:54
@renovaterenovateBot changed the title Update react monorepo to v19.2.14Update react monorepo to v19.2.15May 21, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates the yarn.lock and package-lock.json files to resolve newer versions of React ecosystem packages. The base package.json dependencies remain unchanged (react@^19.0.0, react-dom@^19.0.0, Docusaurus ^3.9.2), but the lock files now resolve to more recent patch versions.

Verdict: Approved with minor notes - this is a routine dependency resolution update with no breaking changes expected for end users.

Research notes

  • React 19.2.x changelog: React 19.2.0 introduced <Activity>, useEffectEvent, cacheSignal, and various SSR/Suspense improvements. Patch versions 19.2.1-19.2.6 contain bug fixes only.
  • Docusaurus compatibility: Docusaurus 3.9.2 (current in package.json) supports React 19 per official docs. The resolved @docusaurus/* packages at ^3.9.2 maintain compatibility with React 19.2.x.
  • webpack-dev-middleware: Updated from 5.x to 7.x (requires Node >= 18.12, already satisfied by engine constraint >=18.0).
  • selfsigned: Major version jump from 2.4.1 to 5.5.0 - internal dev dependency for webpack-dev-server, no user-facing impact.

Suggested next steps

  1. Verify build locally - Run yarn install && yarn build to ensure the new resolved versions don't introduce any type errors or build failures.
  2. Test dev server - The webpack-dev-server and webpack-dev-middleware updates could affect local development; verify yarn start works correctly.
  3. Consider pinning React versions - If deterministic builds are critical, consider changing ^19.0.0 to an exact version in package.json to prevent future surprises.

General findings

  • The PR title "Update react monorepo to v19.2.15" is slightly misleading - react and react-dom are updated to 19.2.6, while only @types/react goes to 19.2.15. This is normal (type definitions often version independently), but worth clarifying.
  • No changes to package.json means this is purely a lockfile regeneration, likely from running yarn install with updated upstream packages.
  • All peer dependency ranges appear satisfied - no conflicts detected in the lock file diff.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 3fc03fa to fe17fe1CompareMay 30, 2026 11:30

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates lock files (package-lock.json and yarn.lock) to resolve dependency versions, primarily driven by React type definitions updates (@types/react 19.2.2 → 19.2.15, @types/react-dom 19.2.2 → 19.2.3). The changes also pull in updated transitive dependencies including Docusaurus (3.8.1 → 3.9.2/3.10.1), Algolia clients (5.40.x → 5.53.0), and Babel packages (7.27.x/7.28.x → 7.29.7).

Verdict: Needs changes - the package.json engines field should be updated to reflect new Node.js requirements from Docusaurus.

Research notes

  • Fetched Docusaurus release notes: Updates from 3.8.1 to 3.10.1 are backward-compatible minor releases with bug fixes and features, no breaking changes for typical documentation site usage.
  • Checked npm registry for @types/react: Version 19.2.15 is the latest stable release (published May 2026), updating from 19.2.2. These are TypeScript type definitions from DefinitelyTyped - typically non-breaking.
  • CI workflow uses Node.js 22, which satisfies all new engine requirements.

Suggested next steps

  1. Blocking: Update package.json engines field from "node": ">=18.0" to "node": ">=20.0" to align with Docusaurus 3.9+ requirements.
  2. Consider documenting the Node.js version requirement change in a changelog or migration note if one exists.
  3. Verify the build succeeds locally with Node 20+ before merging.

General findings

Node.js Engine Requirement Mismatch

Multiple Docusaurus packages (core, bundler, logger, plugin-content-docs, theme-classic, etc.) now specify "engines": { "node": ">=20.0" } in the updated lock files, but package.json still declares "engines": { "node": ">=18.0" }. While the CI uses Node 22 (which is compatible), developers or deployment environments using Node 18 may encounter warnings or failures.

Mixed Package Manager Lock Files

The repository maintains both package-lock.json (npm) and yarn.lock (Yarn). The project explicitly uses Yarn 4.9.4 (per packageManager field and .yarnrc.yml). Having both lock files can lead to divergence if updates are made with different package managers. Consider whether package-lock.json is needed or should be added to .gitignore if only Yarn is used.

PR Title Accuracy

The title "Update react monorepo to v19.2.15" is somewhat misleading - while @types/react is updated to 19.2.15, the PR includes broader dependency updates (Docusaurus, Algolia, Babel). A more accurate title might be "chore(deps): update dependencies" or similar.

General findings (auto-demoted from inline due to pre-validation)

  • Blockingpackage-lock.json:49 — This engines declaration in package.json specifies ">=18.0" but the updated Docusaurus dependencies (visible in this diff at multiple locations) now require "node": ">=20.0". This mismatch could cause issues for developers or CI environments running Node 18.
    • (demoted: line 49 (side=RIGHT) is not part of any diff hunk in package-lock.json)

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from fe17fe1 to c4ab7daCompareJune 5, 2026 03:15
@renovaterenovateBot changed the title Update react monorepo to v19.2.15Update react monorepo to v19.2.16Jun 5, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates the React-related dependencies in the lock files (yarn.lock and package-lock.json). The commit message states "Update react monorepo to v19.2.16" but the actual React version being resolved is 19.2.7. The package.json continues to specify ^19.0.0 for React packages.

Verdict: Needs clarification before approval - The PR appears to be a routine dependency update from Renovate, but there are discrepancies between the PR title, commit message, and actual versions being installed that should be clarified.

Research notes

I reviewed the React 19 release notes and React 19 Upgrade Guide to identify potential breaking changes:

  1. JSX Transform: React 19 requires the new JSX transform (introduced in 2020). Most modern setups already have this enabled via Babel/TypeScript configuration.
  2. Removed deprecated APIs: propTypes, defaultProps for function components, string refs, legacy context, createFactory, module pattern factories, and various ReactDOM methods (render, hydrate, unmountComponentAtNode, findDOMNode).
  3. Error handling changes: Errors in render are no longer re-thrown; new onUncaughtError and onCaughtError callbacks are available.
  4. TypeScript changes: useRef now requires an argument, ref callback cleanup functions change typing requirements.

For this Docusaurus site using React 19.0.0 → 19.2.7, the main risk is transitive dependencies that may rely on deprecated React APIs.

Suggested next steps

  1. Clarify the version discrepancy between PR title (v19.2.15), commit message (v19.2.16), and actual React version (19.2.7)
  2. Test the build locally with yarn install && yarn build to ensure Docusaurus can successfully build with the updated React version
  3. Consider updating package.json to explicitly specify the target React version range if intentional (e.g., ^19.2.7)
  4. Verify TypeScript compilation passes with the updated @types/react and @types/react-dom (19.2.16)

General findings

Version inconsistency in PR metadata

The PR title states "Update react monorepo to v19.2.15" but:

  • The commit message says "Update react monorepo to v19.2.16"
  • The yarn.lock resolves React to version 19.2.7
  • The @types/react resolves to 19.2.16

This suggests the PR title may have been auto-generated incorrectly by Renovate, or there's confusion about which version number refers to which package. For future Renovate PRs, consider configuring Renovate to include more specific version information in the PR title.

Package.json vs lockfile drift

The package.json specifies "react": "^19.0.0" which allows any 19.x version, so the lockfile updating to 19.2.7 is within spec. However, if you want more predictable builds or explicit version tracking, consider:

  • Pinning to exact versions: "react": "19.2.7"
  • Or using a more specific range: "react": "^19.2.0"

This would make it clearer what React version the project targets and reduce confusion in PR titles.

Build verification recommended

The CI workflow runs yarn build which should catch most React compatibility issues. However, I recommend manually testing:

  1. Local dev server with yarn start
  2. Production build with yarn build
  3. Preview the built site with yarn serve

This ensures React 19.2.7 doesn't introduce runtime issues with your Docusaurus components, especially the custom InteractiveOverview component.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from c4ab7da to f9e1b32CompareJune 6, 2026 23:16
@renovaterenovateBot changed the title Update react monorepo to v19.2.16Update react monorepo to v19.2.17Jun 6, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React and React-DOM from 19.2.0 to 19.2.7 via Yarn's semver resolution (package.json specifies ^19.2.7 after the update). The change also updates numerous transitive dependencies including build tools, CSS processors, and server-related packages.

Verdict: Needs minor corrections before merging — see blocking finding about version mismatch.

Research notes

  • React 19 Release Notes: React 19 introduced new features like Actions, useActionState, useOptimistic, use(), ref as prop, form actions, and Server Components. Breaking changes include removal of deprecated APIs (propTypes, defaultProps for functions, string refs, legacy context, ReactDOM.render, etc.).
  • React 19 Upgrade Guide: Provides migration guidance and codemods for breaking changes.
  • React Changelog: Versions 19.2.0 → 19.2.7 contain bug fixes primarily for React Server Components (cycle protection, FormData fixes in Server Actions).
  • Docusaurus 3.9.x (current version in package.json) supports React 18.x and 19.x according to peer dependency ranges found in lockfile (react: ">= 16.8.0 < 20.0.0").

Suggested next steps

  1. Blocking: Fix the version mismatch between PR title ("v19.2.16"), commit message ("v19.2.17"), and actual resolved versions in lockfiles (19.2.7).
  2. Verify the application builds successfully with yarn build after merging.
  3. Test SSR/hydration behavior if the app uses static site generation or server-side rendering.
  4. If using any deprecated patterns (string refs, propTypes, defaultProps in function components), address them proactively even though React 19 may only warn in some cases.

General findings

Transitive dependency updates warrant attention

Several notable transitive dependency changes:

  • node-gyp: 11.5.0 → 12.4.0 (native build tool, should not affect runtime)
  • postcss-preset-env: 10.4.0 → 10.6.1 (CSS processing, added new PostCSS plugins)
  • svgo: 3.3.2 → 3.3.3 (SVG optimization)
  • selfsigned: 2.4.1 → 5.5.0 (major version bump, changed from node-forge to pkijs for certificate generation — dev-only dependency)
  • qs: 6.13.0 → 6.15.2 (query string parsing, minor security/stability fixes)
  • send/serve-static/express ecosystem: Multiple packages received patch updates addressing security hardening (e.g., encodeurl, http-errors, statuses version alignment)

These are all indirect dependencies used during build/dev time. Runtime impact should be minimal, but testing is recommended.

No source code changes required

The package.json already declares ^19.0.0 for React, so this update aligns the lockfile with what was already permitted. Assuming the codebase was working on 19.2.0, no code changes should be needed for 19.2.7 since it's a patch release focused on bug fixes.

JSX transform

React 19 requires the new JSX transform. Since the project uses Docusaurus 3.9.x and TypeScript, the Babel/TypeScript configuration should already emit the modern JSX format. If you see warnings about "outdated JSX transform", check your tsconfig.json has "jsx": "react-jsx" or that Babel config includes @babel/preset-react with runtime: 'automatic'.

General findings (auto-demoted from inline due to pre-validation)

  • Blockingyarn.lock:12047 — Version specifier inconsistency detected.
    • (demoted: line 12047 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:12052 — Peer dependency alignment looks correct.
    • (demoted: line 12052 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:12062 — React version update from 19.2.0 to 19.2.7.
    • (demoted: line 12062 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:9380path-to-regexp updated from 0.1.12 to 0.1.13.
    • (demoted: line 9380 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:11139 — Major version bump for selfsigned from 2.4.1 to 5.5.0.
    • (demoted: line 11139 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:10452qs updated from 6.13.0 to 6.15.2.
    • (demoted: line 10452 (side=RIGHT) is not part of any diff hunk in yarn.lock)

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from f9e1b32 to 79f90a9CompareJune 13, 2026 03:01
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 79f90a9 to cd06a6dCompareJuly 18, 2026 02:55
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 86d10a2 to 02c000bCompareAugust 1, 2026 07:43
@renovaterenovateBot changed the title Update react monorepo to v19.2.17Update react monorepo to v19.2.18Aug 1, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 02c000b to be75d17CompareAugust 15, 2026 03:44
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from be75d17 to 7c70b8bCompareAugust 29, 2026 08:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Update react monorepo to v19.2.18 - #16

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-monorepo
Open

Update react monorepo to v19.2.18#16
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-monorepo

Conversation

@renovate

@renovaterenovateBot commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
@types/react (source)19.2.219.2.18ageconfidence
@types/react-dom (source)19.2.219.2.5ageconfidence
react (source)19.2.019.2.8ageconfidence
react-dom (source)19.2.019.2.8ageconfidence

Release Notes

react/react (react)

v19.2.8

Compare Source

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components

v19.2.4

Compare Source

React Server Components

v19.2.3

Compare Source

React Server Components

v19.2.2

Compare Source

React Server Components

v19.2.1

Compare Source

React Server Components
react/react (react-dom)

v19.2.8

Compare Source

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components

v19.2.4

Compare Source

React Server Components

v19.2.3

Compare Source

React Server Components

v19.2.2

Compare Source

React Server Components

v19.2.1

Compare Source

React Server Components

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@cloudflare-workers-and-pages

cloudflare-workers-and-pagesBot commented Nov 27, 2025

Copy link
Copy Markdown

Deploying docs with Cloudflare Pages Cloudflare Pages

Latest commit:8d8d9ae
Status:🚫 Build failed.

View logs

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from d500a06 to 8f9a564CompareDecember 4, 2025 19:30
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 8f9a564 to 8d8d9aeCompareDecember 12, 2025 00:00
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 8d8d9ae to 9c2e88fCompareJanuary 1, 2026 01:16
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from f168ce8 to 0a13768CompareJanuary 11, 2026 07:37
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.7chore(deps): update react monorepo to v19.2.8Jan 11, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from b28c978 to d0a2c20CompareJanuary 21, 2026 07:34
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.8chore(deps): update react monorepo to v19.2.9Jan 21, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 3 times, most recently from 2a277f2 to 7739a2bCompareJanuary 28, 2026 19:46
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.9chore(deps): update react monorepo to v19.2.10Jan 28, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 1c52659 to ba3e90eCompareFebruary 4, 2026 20:15
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.10chore(deps): update react monorepo to v19.2.11Feb 4, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from ba3e90e to eb5703aCompareFebruary 6, 2026 03:15
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.11chore(deps): update react monorepo to v19.2.13Feb 6, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from eb5703a to d8e9377CompareFebruary 13, 2026 11:42
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.13chore(deps): update react monorepo to v19.2.14Feb 13, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from d8e9377 to 72c8caeCompareFebruary 19, 2026 03:14
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from ebfeb96 to 643f7efCompareMarch 14, 2026 14:09
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 643f7ef to 8491c21CompareApril 15, 2026 17:23
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.14Update react monorepo to v19.2.14Apr 15, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 78e99e6 to 3a9ed6cCompareMay 6, 2026 19:39

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React and React DOM from v19.2.0 to v19.2.14, along with updating all related dependencies in the lock files (package-lock.json and yarn.lock). This is a Renovate bot-generated PR for routine dependency maintenance.

Verdict: Needs changes before merging - While the React upgrade itself appears safe, there are significant concerns about the Node.js engine requirement changes that need to be addressed.

Research notes

  • React 19.2.6 Release Notes: The latest version (19.2.6, released May 6th, 2026) includes "Type hardening and performance improvements" for React Server Components (#36425). No breaking changes mentioned for this patch update.

  • React 19 Upgrade Guide: According to React's official upgrade guide, React 19 introduces several breaking changes including:

    • Removal of ReactDOM.render, ReactDOM.hydrate (must use createRoot/hydrateRoot)
    • Removal of propTypes and defaultProps for function components
    • Removal of string refs, legacy context, and other deprecated APIs
    • Changes to error handling (errors no longer re-thrown)
    • TypeScript type changes requiring useRef to have an argument
  • Docusaurus Compatibility: The lock file changes show Docusaurus packages being updated from 3.8.1 to 3.10.1, which now support react: ^18.0.0 || ^19.0.0. However, the engine requirement changed from node: >=18.0 to node: >=20.0 across all Docusaurus packages.

  • Current package.json: Still specifies "engines": { "node": ">=18.0" } and "packageManager": "yarn@4.9.4"

Suggested next steps

  1. Blocking: Update the engines field in package.json from "node": ">=18.0" to "node": ">=20.0" to match the new Docusaurus requirements, or verify your deployment environment supports Node.js 20+.

  2. Non-blocking: Verify the application builds and runs correctly with React 19.2.6, especially if using any deprecated patterns like:

    • String refs (ref="myRef")
    • propTypes on function components
    • defaultProps on function components
    • Legacy ReactDOM.render() calls
  3. Testing recommendation: Run the full test suite and verify SSR/hydration works correctly, as React 19 has improved hydration error reporting that may surface previously hidden issues.

General findings

  • The PR only contains lock file changes (package-lock.json and yarn.lock), with no changes to package.json. This is appropriate for a dependency version bump where the semver ranges already allow the new versions.

  • The React upgrade path is correct: ^19.0.0 in package.json correctly resolves to 19.2.6 (the latest 19.x version).

  • Many transitive dependencies have been updated alongside React, including:

    • postcss-preset-env: 10.4.0 → 10.6.1
    • node-gyp: 11.5.0 → 12.3.0 (now uses undici instead of make-fetch-happen)
    • Various security patches in the ecosystem
  • Important: If your CI/CD pipeline or production environment runs Node.js 18.x, this PR will break builds after merge due to the Docusaurus engine requirement change to Node.js 20+. This should be verified before merging.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 3a9ed6c to 94df8e5CompareMay 13, 2026 07:11

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React-related dependencies from v19.2.0 to v19.2.6 (React/ReactDOM) and @types/react to v19.2.14. The update itself appears safe - the React 19.2.6 release notes indicate only "type hardening and performance improvements" for React Server Components with no breaking changes.

However, there are several issues that need attention before this can be approved:

  1. Misleading PR title - Claims "v19.2.14" but React itself only goes to 19.2.6
  2. Version constraint drift - yarn.lock shows changed version ranges (^19.0.0 → ^19.2.6)
  3. Dual lockfile anti-pattern - Both yarn.lock and package-lock.json committed despite using Yarn

Research notes

  • Fetched React 19.2.6 release notes - confirms minor update with type/performance improvements only
  • Package.json specifies "packageManager": "yarn@4.9.4" indicating Yarn Berry is the intended package manager
  • Yarn lockfile format confirms Yarn 4.x (checksums use 10c0/ prefix)

Suggested next steps

  1. Fix PR title to accurately reflect versions (React 19.2.6, @types/react 19.2.14)
  2. Investigate why yarn.lock version constraints changed from ^19.0.0 to ^19.2.6 - this suggests either manual editing or transitive dependency forcing resolution
  3. Remove package-lock.json from version control since project uses Yarn (or configure corepack to prevent npm from generating it)
  4. Run yarn install fresh to regenerate clean lockfile with correct version ranges preserved

General findings

Dual lockfile maintenance issue

The repository tracks both yarn.lock and package-lock.json, but package.json explicitly declares "packageManager": "yarn@4.9.4". This creates potential for dependency drift between tools.

Why it matters: Having both lockfiles can lead to inconsistent installations depending on which tool runs first. CI might use one tool while developers use another, causing "works on my machine" issues.

Suggested fix: Add package-lock.json to .gitignore and remove it from the repository. If npm compatibility is needed, consider using yarn install --no-immutable in CI or document which tool is authoritative.


Version constraint preservation in yarn.lock

The diff shows yarn.lock entries changing from "react@npm:^19.0.0" to "react@npm:^19.2.6". Yarn typically preserves the original semver range from package.json in the lockfile key.

Why it matters: This suggests either (a) the lockfile was regenerated with different resolution logic, (b) a transitive dependency is forcing stricter constraints, or (c) manual edits were made. This makes the actual resolved versions opaque to future maintainers.

Suggested fix: Run yarn install with the current package.json to regenerate the lockfile. Verify that version ranges in yarn.lock match what's declared in package.json.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 94df8e5 to 3fc03faCompareMay 21, 2026 07:54
@renovaterenovateBot changed the title Update react monorepo to v19.2.14Update react monorepo to v19.2.15May 21, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates the yarn.lock and package-lock.json files to resolve newer versions of React ecosystem packages. The base package.json dependencies remain unchanged (react@^19.0.0, react-dom@^19.0.0, Docusaurus ^3.9.2), but the lock files now resolve to more recent patch versions.

Verdict: Approved with minor notes - this is a routine dependency resolution update with no breaking changes expected for end users.

Research notes

  • React 19.2.x changelog: React 19.2.0 introduced <Activity>, useEffectEvent, cacheSignal, and various SSR/Suspense improvements. Patch versions 19.2.1-19.2.6 contain bug fixes only.
  • Docusaurus compatibility: Docusaurus 3.9.2 (current in package.json) supports React 19 per official docs. The resolved @docusaurus/* packages at ^3.9.2 maintain compatibility with React 19.2.x.
  • webpack-dev-middleware: Updated from 5.x to 7.x (requires Node >= 18.12, already satisfied by engine constraint >=18.0).
  • selfsigned: Major version jump from 2.4.1 to 5.5.0 - internal dev dependency for webpack-dev-server, no user-facing impact.

Suggested next steps

  1. Verify build locally - Run yarn install && yarn build to ensure the new resolved versions don't introduce any type errors or build failures.
  2. Test dev server - The webpack-dev-server and webpack-dev-middleware updates could affect local development; verify yarn start works correctly.
  3. Consider pinning React versions - If deterministic builds are critical, consider changing ^19.0.0 to an exact version in package.json to prevent future surprises.

General findings

  • The PR title "Update react monorepo to v19.2.15" is slightly misleading - react and react-dom are updated to 19.2.6, while only @types/react goes to 19.2.15. This is normal (type definitions often version independently), but worth clarifying.
  • No changes to package.json means this is purely a lockfile regeneration, likely from running yarn install with updated upstream packages.
  • All peer dependency ranges appear satisfied - no conflicts detected in the lock file diff.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 3fc03fa to fe17fe1CompareMay 30, 2026 11:30

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates lock files (package-lock.json and yarn.lock) to resolve dependency versions, primarily driven by React type definitions updates (@types/react 19.2.2 → 19.2.15, @types/react-dom 19.2.2 → 19.2.3). The changes also pull in updated transitive dependencies including Docusaurus (3.8.1 → 3.9.2/3.10.1), Algolia clients (5.40.x → 5.53.0), and Babel packages (7.27.x/7.28.x → 7.29.7).

Verdict: Needs changes - the package.json engines field should be updated to reflect new Node.js requirements from Docusaurus.

Research notes

  • Fetched Docusaurus release notes: Updates from 3.8.1 to 3.10.1 are backward-compatible minor releases with bug fixes and features, no breaking changes for typical documentation site usage.
  • Checked npm registry for @types/react: Version 19.2.15 is the latest stable release (published May 2026), updating from 19.2.2. These are TypeScript type definitions from DefinitelyTyped - typically non-breaking.
  • CI workflow uses Node.js 22, which satisfies all new engine requirements.

Suggested next steps

  1. Blocking: Update package.json engines field from "node": ">=18.0" to "node": ">=20.0" to align with Docusaurus 3.9+ requirements.
  2. Consider documenting the Node.js version requirement change in a changelog or migration note if one exists.
  3. Verify the build succeeds locally with Node 20+ before merging.

General findings

Node.js Engine Requirement Mismatch

Multiple Docusaurus packages (core, bundler, logger, plugin-content-docs, theme-classic, etc.) now specify "engines": { "node": ">=20.0" } in the updated lock files, but package.json still declares "engines": { "node": ">=18.0" }. While the CI uses Node 22 (which is compatible), developers or deployment environments using Node 18 may encounter warnings or failures.

Mixed Package Manager Lock Files

The repository maintains both package-lock.json (npm) and yarn.lock (Yarn). The project explicitly uses Yarn 4.9.4 (per packageManager field and .yarnrc.yml). Having both lock files can lead to divergence if updates are made with different package managers. Consider whether package-lock.json is needed or should be added to .gitignore if only Yarn is used.

PR Title Accuracy

The title "Update react monorepo to v19.2.15" is somewhat misleading - while @types/react is updated to 19.2.15, the PR includes broader dependency updates (Docusaurus, Algolia, Babel). A more accurate title might be "chore(deps): update dependencies" or similar.

General findings (auto-demoted from inline due to pre-validation)

  • Blockingpackage-lock.json:49 — This engines declaration in package.json specifies ">=18.0" but the updated Docusaurus dependencies (visible in this diff at multiple locations) now require "node": ">=20.0". This mismatch could cause issues for developers or CI environments running Node 18.
    • (demoted: line 49 (side=RIGHT) is not part of any diff hunk in package-lock.json)

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from fe17fe1 to c4ab7daCompareJune 5, 2026 03:15
@renovaterenovateBot changed the title Update react monorepo to v19.2.15Update react monorepo to v19.2.16Jun 5, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates the React-related dependencies in the lock files (yarn.lock and package-lock.json). The commit message states "Update react monorepo to v19.2.16" but the actual React version being resolved is 19.2.7. The package.json continues to specify ^19.0.0 for React packages.

Verdict: Needs clarification before approval - The PR appears to be a routine dependency update from Renovate, but there are discrepancies between the PR title, commit message, and actual versions being installed that should be clarified.

Research notes

I reviewed the React 19 release notes and React 19 Upgrade Guide to identify potential breaking changes:

  1. JSX Transform: React 19 requires the new JSX transform (introduced in 2020). Most modern setups already have this enabled via Babel/TypeScript configuration.
  2. Removed deprecated APIs: propTypes, defaultProps for function components, string refs, legacy context, createFactory, module pattern factories, and various ReactDOM methods (render, hydrate, unmountComponentAtNode, findDOMNode).
  3. Error handling changes: Errors in render are no longer re-thrown; new onUncaughtError and onCaughtError callbacks are available.
  4. TypeScript changes: useRef now requires an argument, ref callback cleanup functions change typing requirements.

For this Docusaurus site using React 19.0.0 → 19.2.7, the main risk is transitive dependencies that may rely on deprecated React APIs.

Suggested next steps

  1. Clarify the version discrepancy between PR title (v19.2.15), commit message (v19.2.16), and actual React version (19.2.7)
  2. Test the build locally with yarn install && yarn build to ensure Docusaurus can successfully build with the updated React version
  3. Consider updating package.json to explicitly specify the target React version range if intentional (e.g., ^19.2.7)
  4. Verify TypeScript compilation passes with the updated @types/react and @types/react-dom (19.2.16)

General findings

Version inconsistency in PR metadata

The PR title states "Update react monorepo to v19.2.15" but:

  • The commit message says "Update react monorepo to v19.2.16"
  • The yarn.lock resolves React to version 19.2.7
  • The @types/react resolves to 19.2.16

This suggests the PR title may have been auto-generated incorrectly by Renovate, or there's confusion about which version number refers to which package. For future Renovate PRs, consider configuring Renovate to include more specific version information in the PR title.

Package.json vs lockfile drift

The package.json specifies "react": "^19.0.0" which allows any 19.x version, so the lockfile updating to 19.2.7 is within spec. However, if you want more predictable builds or explicit version tracking, consider:

  • Pinning to exact versions: "react": "19.2.7"
  • Or using a more specific range: "react": "^19.2.0"

This would make it clearer what React version the project targets and reduce confusion in PR titles.

Build verification recommended

The CI workflow runs yarn build which should catch most React compatibility issues. However, I recommend manually testing:

  1. Local dev server with yarn start
  2. Production build with yarn build
  3. Preview the built site with yarn serve

This ensures React 19.2.7 doesn't introduce runtime issues with your Docusaurus components, especially the custom InteractiveOverview component.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from c4ab7da to f9e1b32CompareJune 6, 2026 23:16
@renovaterenovateBot changed the title Update react monorepo to v19.2.16Update react monorepo to v19.2.17Jun 6, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React and React-DOM from 19.2.0 to 19.2.7 via Yarn's semver resolution (package.json specifies ^19.2.7 after the update). The change also updates numerous transitive dependencies including build tools, CSS processors, and server-related packages.

Verdict: Needs minor corrections before merging — see blocking finding about version mismatch.

Research notes

  • React 19 Release Notes: React 19 introduced new features like Actions, useActionState, useOptimistic, use(), ref as prop, form actions, and Server Components. Breaking changes include removal of deprecated APIs (propTypes, defaultProps for functions, string refs, legacy context, ReactDOM.render, etc.).
  • React 19 Upgrade Guide: Provides migration guidance and codemods for breaking changes.
  • React Changelog: Versions 19.2.0 → 19.2.7 contain bug fixes primarily for React Server Components (cycle protection, FormData fixes in Server Actions).
  • Docusaurus 3.9.x (current version in package.json) supports React 18.x and 19.x according to peer dependency ranges found in lockfile (react: ">= 16.8.0 < 20.0.0").

Suggested next steps

  1. Blocking: Fix the version mismatch between PR title ("v19.2.16"), commit message ("v19.2.17"), and actual resolved versions in lockfiles (19.2.7).
  2. Verify the application builds successfully with yarn build after merging.
  3. Test SSR/hydration behavior if the app uses static site generation or server-side rendering.
  4. If using any deprecated patterns (string refs, propTypes, defaultProps in function components), address them proactively even though React 19 may only warn in some cases.

General findings

Transitive dependency updates warrant attention

Several notable transitive dependency changes:

  • node-gyp: 11.5.0 → 12.4.0 (native build tool, should not affect runtime)
  • postcss-preset-env: 10.4.0 → 10.6.1 (CSS processing, added new PostCSS plugins)
  • svgo: 3.3.2 → 3.3.3 (SVG optimization)
  • selfsigned: 2.4.1 → 5.5.0 (major version bump, changed from node-forge to pkijs for certificate generation — dev-only dependency)
  • qs: 6.13.0 → 6.15.2 (query string parsing, minor security/stability fixes)
  • send/serve-static/express ecosystem: Multiple packages received patch updates addressing security hardening (e.g., encodeurl, http-errors, statuses version alignment)

These are all indirect dependencies used during build/dev time. Runtime impact should be minimal, but testing is recommended.

No source code changes required

The package.json already declares ^19.0.0 for React, so this update aligns the lockfile with what was already permitted. Assuming the codebase was working on 19.2.0, no code changes should be needed for 19.2.7 since it's a patch release focused on bug fixes.

JSX transform

React 19 requires the new JSX transform. Since the project uses Docusaurus 3.9.x and TypeScript, the Babel/TypeScript configuration should already emit the modern JSX format. If you see warnings about "outdated JSX transform", check your tsconfig.json has "jsx": "react-jsx" or that Babel config includes @babel/preset-react with runtime: 'automatic'.

General findings (auto-demoted from inline due to pre-validation)

  • Blockingyarn.lock:12047 — Version specifier inconsistency detected.
    • (demoted: line 12047 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:12052 — Peer dependency alignment looks correct.
    • (demoted: line 12052 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:12062 — React version update from 19.2.0 to 19.2.7.
    • (demoted: line 12062 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:9380path-to-regexp updated from 0.1.12 to 0.1.13.
    • (demoted: line 9380 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:11139 — Major version bump for selfsigned from 2.4.1 to 5.5.0.
    • (demoted: line 11139 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:10452qs updated from 6.13.0 to 6.15.2.
    • (demoted: line 10452 (side=RIGHT) is not part of any diff hunk in yarn.lock)

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from f9e1b32 to 79f90a9CompareJune 13, 2026 03:01
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 79f90a9 to cd06a6dCompareJuly 18, 2026 02:55
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 86d10a2 to 02c000bCompareAugust 1, 2026 07:43
@renovaterenovateBot changed the title Update react monorepo to v19.2.17Update react monorepo to v19.2.18Aug 1, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 02c000b to be75d17CompareAugust 15, 2026 03:44
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from be75d17 to 7c70b8bCompareAugust 29, 2026 08:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update react monorepo to v19.2.18 - #16

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-monorepo
Open

Update react monorepo to v19.2.18#16
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-monorepo

Conversation

@renovate

@renovaterenovateBot commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
@types/react (source)19.2.219.2.18ageconfidence
@types/react-dom (source)19.2.219.2.5ageconfidence
react (source)19.2.019.2.8ageconfidence
react-dom (source)19.2.019.2.8ageconfidence

Release Notes

react/react (react)

v19.2.8

Compare Source

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components

v19.2.4

Compare Source

React Server Components

v19.2.3

Compare Source

React Server Components

v19.2.2

Compare Source

React Server Components

v19.2.1

Compare Source

React Server Components
react/react (react-dom)

v19.2.8

Compare Source

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components

v19.2.4

Compare Source

React Server Components

v19.2.3

Compare Source

React Server Components

v19.2.2

Compare Source

React Server Components

v19.2.1

Compare Source

React Server Components

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@cloudflare-workers-and-pages

cloudflare-workers-and-pagesBot commented Nov 27, 2025

Copy link
Copy Markdown

Deploying docs with Cloudflare Pages Cloudflare Pages

Latest commit:8d8d9ae
Status:🚫 Build failed.

View logs

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from d500a06 to 8f9a564CompareDecember 4, 2025 19:30
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 8f9a564 to 8d8d9aeCompareDecember 12, 2025 00:00
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 8d8d9ae to 9c2e88fCompareJanuary 1, 2026 01:16
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from f168ce8 to 0a13768CompareJanuary 11, 2026 07:37
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.7chore(deps): update react monorepo to v19.2.8Jan 11, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from b28c978 to d0a2c20CompareJanuary 21, 2026 07:34
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.8chore(deps): update react monorepo to v19.2.9Jan 21, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 3 times, most recently from 2a277f2 to 7739a2bCompareJanuary 28, 2026 19:46
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.9chore(deps): update react monorepo to v19.2.10Jan 28, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 1c52659 to ba3e90eCompareFebruary 4, 2026 20:15
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.10chore(deps): update react monorepo to v19.2.11Feb 4, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from ba3e90e to eb5703aCompareFebruary 6, 2026 03:15
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.11chore(deps): update react monorepo to v19.2.13Feb 6, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from eb5703a to d8e9377CompareFebruary 13, 2026 11:42
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.13chore(deps): update react monorepo to v19.2.14Feb 13, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from d8e9377 to 72c8caeCompareFebruary 19, 2026 03:14
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from ebfeb96 to 643f7efCompareMarch 14, 2026 14:09
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 643f7ef to 8491c21CompareApril 15, 2026 17:23
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.14Update react monorepo to v19.2.14Apr 15, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 78e99e6 to 3a9ed6cCompareMay 6, 2026 19:39

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React and React DOM from v19.2.0 to v19.2.14, along with updating all related dependencies in the lock files (package-lock.json and yarn.lock). This is a Renovate bot-generated PR for routine dependency maintenance.

Verdict: Needs changes before merging - While the React upgrade itself appears safe, there are significant concerns about the Node.js engine requirement changes that need to be addressed.

Research notes

  • React 19.2.6 Release Notes: The latest version (19.2.6, released May 6th, 2026) includes "Type hardening and performance improvements" for React Server Components (#36425). No breaking changes mentioned for this patch update.

  • React 19 Upgrade Guide: According to React's official upgrade guide, React 19 introduces several breaking changes including:

    • Removal of ReactDOM.render, ReactDOM.hydrate (must use createRoot/hydrateRoot)
    • Removal of propTypes and defaultProps for function components
    • Removal of string refs, legacy context, and other deprecated APIs
    • Changes to error handling (errors no longer re-thrown)
    • TypeScript type changes requiring useRef to have an argument
  • Docusaurus Compatibility: The lock file changes show Docusaurus packages being updated from 3.8.1 to 3.10.1, which now support react: ^18.0.0 || ^19.0.0. However, the engine requirement changed from node: >=18.0 to node: >=20.0 across all Docusaurus packages.

  • Current package.json: Still specifies "engines": { "node": ">=18.0" } and "packageManager": "yarn@4.9.4"

Suggested next steps

  1. Blocking: Update the engines field in package.json from "node": ">=18.0" to "node": ">=20.0" to match the new Docusaurus requirements, or verify your deployment environment supports Node.js 20+.

  2. Non-blocking: Verify the application builds and runs correctly with React 19.2.6, especially if using any deprecated patterns like:

    • String refs (ref="myRef")
    • propTypes on function components
    • defaultProps on function components
    • Legacy ReactDOM.render() calls
  3. Testing recommendation: Run the full test suite and verify SSR/hydration works correctly, as React 19 has improved hydration error reporting that may surface previously hidden issues.

General findings

  • The PR only contains lock file changes (package-lock.json and yarn.lock), with no changes to package.json. This is appropriate for a dependency version bump where the semver ranges already allow the new versions.

  • The React upgrade path is correct: ^19.0.0 in package.json correctly resolves to 19.2.6 (the latest 19.x version).

  • Many transitive dependencies have been updated alongside React, including:

    • postcss-preset-env: 10.4.0 → 10.6.1
    • node-gyp: 11.5.0 → 12.3.0 (now uses undici instead of make-fetch-happen)
    • Various security patches in the ecosystem
  • Important: If your CI/CD pipeline or production environment runs Node.js 18.x, this PR will break builds after merge due to the Docusaurus engine requirement change to Node.js 20+. This should be verified before merging.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 3a9ed6c to 94df8e5CompareMay 13, 2026 07:11

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React-related dependencies from v19.2.0 to v19.2.6 (React/ReactDOM) and @types/react to v19.2.14. The update itself appears safe - the React 19.2.6 release notes indicate only "type hardening and performance improvements" for React Server Components with no breaking changes.

However, there are several issues that need attention before this can be approved:

  1. Misleading PR title - Claims "v19.2.14" but React itself only goes to 19.2.6
  2. Version constraint drift - yarn.lock shows changed version ranges (^19.0.0 → ^19.2.6)
  3. Dual lockfile anti-pattern - Both yarn.lock and package-lock.json committed despite using Yarn

Research notes

  • Fetched React 19.2.6 release notes - confirms minor update with type/performance improvements only
  • Package.json specifies "packageManager": "yarn@4.9.4" indicating Yarn Berry is the intended package manager
  • Yarn lockfile format confirms Yarn 4.x (checksums use 10c0/ prefix)

Suggested next steps

  1. Fix PR title to accurately reflect versions (React 19.2.6, @types/react 19.2.14)
  2. Investigate why yarn.lock version constraints changed from ^19.0.0 to ^19.2.6 - this suggests either manual editing or transitive dependency forcing resolution
  3. Remove package-lock.json from version control since project uses Yarn (or configure corepack to prevent npm from generating it)
  4. Run yarn install fresh to regenerate clean lockfile with correct version ranges preserved

General findings

Dual lockfile maintenance issue

The repository tracks both yarn.lock and package-lock.json, but package.json explicitly declares "packageManager": "yarn@4.9.4". This creates potential for dependency drift between tools.

Why it matters: Having both lockfiles can lead to inconsistent installations depending on which tool runs first. CI might use one tool while developers use another, causing "works on my machine" issues.

Suggested fix: Add package-lock.json to .gitignore and remove it from the repository. If npm compatibility is needed, consider using yarn install --no-immutable in CI or document which tool is authoritative.


Version constraint preservation in yarn.lock

The diff shows yarn.lock entries changing from "react@npm:^19.0.0" to "react@npm:^19.2.6". Yarn typically preserves the original semver range from package.json in the lockfile key.

Why it matters: This suggests either (a) the lockfile was regenerated with different resolution logic, (b) a transitive dependency is forcing stricter constraints, or (c) manual edits were made. This makes the actual resolved versions opaque to future maintainers.

Suggested fix: Run yarn install with the current package.json to regenerate the lockfile. Verify that version ranges in yarn.lock match what's declared in package.json.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 94df8e5 to 3fc03faCompareMay 21, 2026 07:54
@renovaterenovateBot changed the title Update react monorepo to v19.2.14Update react monorepo to v19.2.15May 21, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates the yarn.lock and package-lock.json files to resolve newer versions of React ecosystem packages. The base package.json dependencies remain unchanged (react@^19.0.0, react-dom@^19.0.0, Docusaurus ^3.9.2), but the lock files now resolve to more recent patch versions.

Verdict: Approved with minor notes - this is a routine dependency resolution update with no breaking changes expected for end users.

Research notes

  • React 19.2.x changelog: React 19.2.0 introduced <Activity>, useEffectEvent, cacheSignal, and various SSR/Suspense improvements. Patch versions 19.2.1-19.2.6 contain bug fixes only.
  • Docusaurus compatibility: Docusaurus 3.9.2 (current in package.json) supports React 19 per official docs. The resolved @docusaurus/* packages at ^3.9.2 maintain compatibility with React 19.2.x.
  • webpack-dev-middleware: Updated from 5.x to 7.x (requires Node >= 18.12, already satisfied by engine constraint >=18.0).
  • selfsigned: Major version jump from 2.4.1 to 5.5.0 - internal dev dependency for webpack-dev-server, no user-facing impact.

Suggested next steps

  1. Verify build locally - Run yarn install && yarn build to ensure the new resolved versions don't introduce any type errors or build failures.
  2. Test dev server - The webpack-dev-server and webpack-dev-middleware updates could affect local development; verify yarn start works correctly.
  3. Consider pinning React versions - If deterministic builds are critical, consider changing ^19.0.0 to an exact version in package.json to prevent future surprises.

General findings

  • The PR title "Update react monorepo to v19.2.15" is slightly misleading - react and react-dom are updated to 19.2.6, while only @types/react goes to 19.2.15. This is normal (type definitions often version independently), but worth clarifying.
  • No changes to package.json means this is purely a lockfile regeneration, likely from running yarn install with updated upstream packages.
  • All peer dependency ranges appear satisfied - no conflicts detected in the lock file diff.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 3fc03fa to fe17fe1CompareMay 30, 2026 11:30

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates lock files (package-lock.json and yarn.lock) to resolve dependency versions, primarily driven by React type definitions updates (@types/react 19.2.2 → 19.2.15, @types/react-dom 19.2.2 → 19.2.3). The changes also pull in updated transitive dependencies including Docusaurus (3.8.1 → 3.9.2/3.10.1), Algolia clients (5.40.x → 5.53.0), and Babel packages (7.27.x/7.28.x → 7.29.7).

Verdict: Needs changes - the package.json engines field should be updated to reflect new Node.js requirements from Docusaurus.

Research notes

  • Fetched Docusaurus release notes: Updates from 3.8.1 to 3.10.1 are backward-compatible minor releases with bug fixes and features, no breaking changes for typical documentation site usage.
  • Checked npm registry for @types/react: Version 19.2.15 is the latest stable release (published May 2026), updating from 19.2.2. These are TypeScript type definitions from DefinitelyTyped - typically non-breaking.
  • CI workflow uses Node.js 22, which satisfies all new engine requirements.

Suggested next steps

  1. Blocking: Update package.json engines field from "node": ">=18.0" to "node": ">=20.0" to align with Docusaurus 3.9+ requirements.
  2. Consider documenting the Node.js version requirement change in a changelog or migration note if one exists.
  3. Verify the build succeeds locally with Node 20+ before merging.

General findings

Node.js Engine Requirement Mismatch

Multiple Docusaurus packages (core, bundler, logger, plugin-content-docs, theme-classic, etc.) now specify "engines": { "node": ">=20.0" } in the updated lock files, but package.json still declares "engines": { "node": ">=18.0" }. While the CI uses Node 22 (which is compatible), developers or deployment environments using Node 18 may encounter warnings or failures.

Mixed Package Manager Lock Files

The repository maintains both package-lock.json (npm) and yarn.lock (Yarn). The project explicitly uses Yarn 4.9.4 (per packageManager field and .yarnrc.yml). Having both lock files can lead to divergence if updates are made with different package managers. Consider whether package-lock.json is needed or should be added to .gitignore if only Yarn is used.

PR Title Accuracy

The title "Update react monorepo to v19.2.15" is somewhat misleading - while @types/react is updated to 19.2.15, the PR includes broader dependency updates (Docusaurus, Algolia, Babel). A more accurate title might be "chore(deps): update dependencies" or similar.

General findings (auto-demoted from inline due to pre-validation)

  • Blockingpackage-lock.json:49 — This engines declaration in package.json specifies ">=18.0" but the updated Docusaurus dependencies (visible in this diff at multiple locations) now require "node": ">=20.0". This mismatch could cause issues for developers or CI environments running Node 18.
    • (demoted: line 49 (side=RIGHT) is not part of any diff hunk in package-lock.json)

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from fe17fe1 to c4ab7daCompareJune 5, 2026 03:15
@renovaterenovateBot changed the title Update react monorepo to v19.2.15Update react monorepo to v19.2.16Jun 5, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates the React-related dependencies in the lock files (yarn.lock and package-lock.json). The commit message states "Update react monorepo to v19.2.16" but the actual React version being resolved is 19.2.7. The package.json continues to specify ^19.0.0 for React packages.

Verdict: Needs clarification before approval - The PR appears to be a routine dependency update from Renovate, but there are discrepancies between the PR title, commit message, and actual versions being installed that should be clarified.

Research notes

I reviewed the React 19 release notes and React 19 Upgrade Guide to identify potential breaking changes:

  1. JSX Transform: React 19 requires the new JSX transform (introduced in 2020). Most modern setups already have this enabled via Babel/TypeScript configuration.
  2. Removed deprecated APIs: propTypes, defaultProps for function components, string refs, legacy context, createFactory, module pattern factories, and various ReactDOM methods (render, hydrate, unmountComponentAtNode, findDOMNode).
  3. Error handling changes: Errors in render are no longer re-thrown; new onUncaughtError and onCaughtError callbacks are available.
  4. TypeScript changes: useRef now requires an argument, ref callback cleanup functions change typing requirements.

For this Docusaurus site using React 19.0.0 → 19.2.7, the main risk is transitive dependencies that may rely on deprecated React APIs.

Suggested next steps

  1. Clarify the version discrepancy between PR title (v19.2.15), commit message (v19.2.16), and actual React version (19.2.7)
  2. Test the build locally with yarn install && yarn build to ensure Docusaurus can successfully build with the updated React version
  3. Consider updating package.json to explicitly specify the target React version range if intentional (e.g., ^19.2.7)
  4. Verify TypeScript compilation passes with the updated @types/react and @types/react-dom (19.2.16)

General findings

Version inconsistency in PR metadata

The PR title states "Update react monorepo to v19.2.15" but:

  • The commit message says "Update react monorepo to v19.2.16"
  • The yarn.lock resolves React to version 19.2.7
  • The @types/react resolves to 19.2.16

This suggests the PR title may have been auto-generated incorrectly by Renovate, or there's confusion about which version number refers to which package. For future Renovate PRs, consider configuring Renovate to include more specific version information in the PR title.

Package.json vs lockfile drift

The package.json specifies "react": "^19.0.0" which allows any 19.x version, so the lockfile updating to 19.2.7 is within spec. However, if you want more predictable builds or explicit version tracking, consider:

  • Pinning to exact versions: "react": "19.2.7"
  • Or using a more specific range: "react": "^19.2.0"

This would make it clearer what React version the project targets and reduce confusion in PR titles.

Build verification recommended

The CI workflow runs yarn build which should catch most React compatibility issues. However, I recommend manually testing:

  1. Local dev server with yarn start
  2. Production build with yarn build
  3. Preview the built site with yarn serve

This ensures React 19.2.7 doesn't introduce runtime issues with your Docusaurus components, especially the custom InteractiveOverview component.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from c4ab7da to f9e1b32CompareJune 6, 2026 23:16
@renovaterenovateBot changed the title Update react monorepo to v19.2.16Update react monorepo to v19.2.17Jun 6, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React and React-DOM from 19.2.0 to 19.2.7 via Yarn's semver resolution (package.json specifies ^19.2.7 after the update). The change also updates numerous transitive dependencies including build tools, CSS processors, and server-related packages.

Verdict: Needs minor corrections before merging — see blocking finding about version mismatch.

Research notes

  • React 19 Release Notes: React 19 introduced new features like Actions, useActionState, useOptimistic, use(), ref as prop, form actions, and Server Components. Breaking changes include removal of deprecated APIs (propTypes, defaultProps for functions, string refs, legacy context, ReactDOM.render, etc.).
  • React 19 Upgrade Guide: Provides migration guidance and codemods for breaking changes.
  • React Changelog: Versions 19.2.0 → 19.2.7 contain bug fixes primarily for React Server Components (cycle protection, FormData fixes in Server Actions).
  • Docusaurus 3.9.x (current version in package.json) supports React 18.x and 19.x according to peer dependency ranges found in lockfile (react: ">= 16.8.0 < 20.0.0").

Suggested next steps

  1. Blocking: Fix the version mismatch between PR title ("v19.2.16"), commit message ("v19.2.17"), and actual resolved versions in lockfiles (19.2.7).
  2. Verify the application builds successfully with yarn build after merging.
  3. Test SSR/hydration behavior if the app uses static site generation or server-side rendering.
  4. If using any deprecated patterns (string refs, propTypes, defaultProps in function components), address them proactively even though React 19 may only warn in some cases.

General findings

Transitive dependency updates warrant attention

Several notable transitive dependency changes:

  • node-gyp: 11.5.0 → 12.4.0 (native build tool, should not affect runtime)
  • postcss-preset-env: 10.4.0 → 10.6.1 (CSS processing, added new PostCSS plugins)
  • svgo: 3.3.2 → 3.3.3 (SVG optimization)
  • selfsigned: 2.4.1 → 5.5.0 (major version bump, changed from node-forge to pkijs for certificate generation — dev-only dependency)
  • qs: 6.13.0 → 6.15.2 (query string parsing, minor security/stability fixes)
  • send/serve-static/express ecosystem: Multiple packages received patch updates addressing security hardening (e.g., encodeurl, http-errors, statuses version alignment)

These are all indirect dependencies used during build/dev time. Runtime impact should be minimal, but testing is recommended.

No source code changes required

The package.json already declares ^19.0.0 for React, so this update aligns the lockfile with what was already permitted. Assuming the codebase was working on 19.2.0, no code changes should be needed for 19.2.7 since it's a patch release focused on bug fixes.

JSX transform

React 19 requires the new JSX transform. Since the project uses Docusaurus 3.9.x and TypeScript, the Babel/TypeScript configuration should already emit the modern JSX format. If you see warnings about "outdated JSX transform", check your tsconfig.json has "jsx": "react-jsx" or that Babel config includes @babel/preset-react with runtime: 'automatic'.

General findings (auto-demoted from inline due to pre-validation)

  • Blockingyarn.lock:12047 — Version specifier inconsistency detected.
    • (demoted: line 12047 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:12052 — Peer dependency alignment looks correct.
    • (demoted: line 12052 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:12062 — React version update from 19.2.0 to 19.2.7.
    • (demoted: line 12062 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:9380path-to-regexp updated from 0.1.12 to 0.1.13.
    • (demoted: line 9380 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:11139 — Major version bump for selfsigned from 2.4.1 to 5.5.0.
    • (demoted: line 11139 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:10452qs updated from 6.13.0 to 6.15.2.
    • (demoted: line 10452 (side=RIGHT) is not part of any diff hunk in yarn.lock)

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from f9e1b32 to 79f90a9CompareJune 13, 2026 03:01
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 79f90a9 to cd06a6dCompareJuly 18, 2026 02:55
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 86d10a2 to 02c000bCompareAugust 1, 2026 07:43
@renovaterenovateBot changed the title Update react monorepo to v19.2.17Update react monorepo to v19.2.18Aug 1, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 02c000b to be75d17CompareAugust 15, 2026 03:44
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from be75d17 to 7c70b8bCompareAugust 29, 2026 08:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update react monorepo to v19.2.18 - #16

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-monorepo
Open

Update react monorepo to v19.2.18#16
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-monorepo

Conversation

@renovate

@renovaterenovateBot commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
@types/react (source)19.2.219.2.18ageconfidence
@types/react-dom (source)19.2.219.2.5ageconfidence
react (source)19.2.019.2.8ageconfidence
react-dom (source)19.2.019.2.8ageconfidence

Release Notes

react/react (react)

v19.2.8

Compare Source

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components

v19.2.4

Compare Source

React Server Components

v19.2.3

Compare Source

React Server Components

v19.2.2

Compare Source

React Server Components

v19.2.1

Compare Source

React Server Components
react/react (react-dom)

v19.2.8

Compare Source

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components

v19.2.4

Compare Source

React Server Components

v19.2.3

Compare Source

React Server Components

v19.2.2

Compare Source

React Server Components

v19.2.1

Compare Source

React Server Components

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@cloudflare-workers-and-pages

cloudflare-workers-and-pagesBot commented Nov 27, 2025

Copy link
Copy Markdown

Deploying docs with Cloudflare Pages Cloudflare Pages

Latest commit:8d8d9ae
Status:🚫 Build failed.

View logs

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from d500a06 to 8f9a564CompareDecember 4, 2025 19:30
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 8f9a564 to 8d8d9aeCompareDecember 12, 2025 00:00
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 8d8d9ae to 9c2e88fCompareJanuary 1, 2026 01:16
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from f168ce8 to 0a13768CompareJanuary 11, 2026 07:37
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.7chore(deps): update react monorepo to v19.2.8Jan 11, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from b28c978 to d0a2c20CompareJanuary 21, 2026 07:34
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.8chore(deps): update react monorepo to v19.2.9Jan 21, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 3 times, most recently from 2a277f2 to 7739a2bCompareJanuary 28, 2026 19:46
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.9chore(deps): update react monorepo to v19.2.10Jan 28, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 1c52659 to ba3e90eCompareFebruary 4, 2026 20:15
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.10chore(deps): update react monorepo to v19.2.11Feb 4, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from ba3e90e to eb5703aCompareFebruary 6, 2026 03:15
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.11chore(deps): update react monorepo to v19.2.13Feb 6, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from eb5703a to d8e9377CompareFebruary 13, 2026 11:42
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.13chore(deps): update react monorepo to v19.2.14Feb 13, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from d8e9377 to 72c8caeCompareFebruary 19, 2026 03:14
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from ebfeb96 to 643f7efCompareMarch 14, 2026 14:09
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 643f7ef to 8491c21CompareApril 15, 2026 17:23
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.14Update react monorepo to v19.2.14Apr 15, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 78e99e6 to 3a9ed6cCompareMay 6, 2026 19:39

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React and React DOM from v19.2.0 to v19.2.14, along with updating all related dependencies in the lock files (package-lock.json and yarn.lock). This is a Renovate bot-generated PR for routine dependency maintenance.

Verdict: Needs changes before merging - While the React upgrade itself appears safe, there are significant concerns about the Node.js engine requirement changes that need to be addressed.

Research notes

  • React 19.2.6 Release Notes: The latest version (19.2.6, released May 6th, 2026) includes "Type hardening and performance improvements" for React Server Components (#36425). No breaking changes mentioned for this patch update.

  • React 19 Upgrade Guide: According to React's official upgrade guide, React 19 introduces several breaking changes including:

    • Removal of ReactDOM.render, ReactDOM.hydrate (must use createRoot/hydrateRoot)
    • Removal of propTypes and defaultProps for function components
    • Removal of string refs, legacy context, and other deprecated APIs
    • Changes to error handling (errors no longer re-thrown)
    • TypeScript type changes requiring useRef to have an argument
  • Docusaurus Compatibility: The lock file changes show Docusaurus packages being updated from 3.8.1 to 3.10.1, which now support react: ^18.0.0 || ^19.0.0. However, the engine requirement changed from node: >=18.0 to node: >=20.0 across all Docusaurus packages.

  • Current package.json: Still specifies "engines": { "node": ">=18.0" } and "packageManager": "yarn@4.9.4"

Suggested next steps

  1. Blocking: Update the engines field in package.json from "node": ">=18.0" to "node": ">=20.0" to match the new Docusaurus requirements, or verify your deployment environment supports Node.js 20+.

  2. Non-blocking: Verify the application builds and runs correctly with React 19.2.6, especially if using any deprecated patterns like:

    • String refs (ref="myRef")
    • propTypes on function components
    • defaultProps on function components
    • Legacy ReactDOM.render() calls
  3. Testing recommendation: Run the full test suite and verify SSR/hydration works correctly, as React 19 has improved hydration error reporting that may surface previously hidden issues.

General findings

  • The PR only contains lock file changes (package-lock.json and yarn.lock), with no changes to package.json. This is appropriate for a dependency version bump where the semver ranges already allow the new versions.

  • The React upgrade path is correct: ^19.0.0 in package.json correctly resolves to 19.2.6 (the latest 19.x version).

  • Many transitive dependencies have been updated alongside React, including:

    • postcss-preset-env: 10.4.0 → 10.6.1
    • node-gyp: 11.5.0 → 12.3.0 (now uses undici instead of make-fetch-happen)
    • Various security patches in the ecosystem
  • Important: If your CI/CD pipeline or production environment runs Node.js 18.x, this PR will break builds after merge due to the Docusaurus engine requirement change to Node.js 20+. This should be verified before merging.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 3a9ed6c to 94df8e5CompareMay 13, 2026 07:11

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React-related dependencies from v19.2.0 to v19.2.6 (React/ReactDOM) and @types/react to v19.2.14. The update itself appears safe - the React 19.2.6 release notes indicate only "type hardening and performance improvements" for React Server Components with no breaking changes.

However, there are several issues that need attention before this can be approved:

  1. Misleading PR title - Claims "v19.2.14" but React itself only goes to 19.2.6
  2. Version constraint drift - yarn.lock shows changed version ranges (^19.0.0 → ^19.2.6)
  3. Dual lockfile anti-pattern - Both yarn.lock and package-lock.json committed despite using Yarn

Research notes

  • Fetched React 19.2.6 release notes - confirms minor update with type/performance improvements only
  • Package.json specifies "packageManager": "yarn@4.9.4" indicating Yarn Berry is the intended package manager
  • Yarn lockfile format confirms Yarn 4.x (checksums use 10c0/ prefix)

Suggested next steps

  1. Fix PR title to accurately reflect versions (React 19.2.6, @types/react 19.2.14)
  2. Investigate why yarn.lock version constraints changed from ^19.0.0 to ^19.2.6 - this suggests either manual editing or transitive dependency forcing resolution
  3. Remove package-lock.json from version control since project uses Yarn (or configure corepack to prevent npm from generating it)
  4. Run yarn install fresh to regenerate clean lockfile with correct version ranges preserved

General findings

Dual lockfile maintenance issue

The repository tracks both yarn.lock and package-lock.json, but package.json explicitly declares "packageManager": "yarn@4.9.4". This creates potential for dependency drift between tools.

Why it matters: Having both lockfiles can lead to inconsistent installations depending on which tool runs first. CI might use one tool while developers use another, causing "works on my machine" issues.

Suggested fix: Add package-lock.json to .gitignore and remove it from the repository. If npm compatibility is needed, consider using yarn install --no-immutable in CI or document which tool is authoritative.


Version constraint preservation in yarn.lock

The diff shows yarn.lock entries changing from "react@npm:^19.0.0" to "react@npm:^19.2.6". Yarn typically preserves the original semver range from package.json in the lockfile key.

Why it matters: This suggests either (a) the lockfile was regenerated with different resolution logic, (b) a transitive dependency is forcing stricter constraints, or (c) manual edits were made. This makes the actual resolved versions opaque to future maintainers.

Suggested fix: Run yarn install with the current package.json to regenerate the lockfile. Verify that version ranges in yarn.lock match what's declared in package.json.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 94df8e5 to 3fc03faCompareMay 21, 2026 07:54
@renovaterenovateBot changed the title Update react monorepo to v19.2.14Update react monorepo to v19.2.15May 21, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates the yarn.lock and package-lock.json files to resolve newer versions of React ecosystem packages. The base package.json dependencies remain unchanged (react@^19.0.0, react-dom@^19.0.0, Docusaurus ^3.9.2), but the lock files now resolve to more recent patch versions.

Verdict: Approved with minor notes - this is a routine dependency resolution update with no breaking changes expected for end users.

Research notes

  • React 19.2.x changelog: React 19.2.0 introduced <Activity>, useEffectEvent, cacheSignal, and various SSR/Suspense improvements. Patch versions 19.2.1-19.2.6 contain bug fixes only.
  • Docusaurus compatibility: Docusaurus 3.9.2 (current in package.json) supports React 19 per official docs. The resolved @docusaurus/* packages at ^3.9.2 maintain compatibility with React 19.2.x.
  • webpack-dev-middleware: Updated from 5.x to 7.x (requires Node >= 18.12, already satisfied by engine constraint >=18.0).
  • selfsigned: Major version jump from 2.4.1 to 5.5.0 - internal dev dependency for webpack-dev-server, no user-facing impact.

Suggested next steps

  1. Verify build locally - Run yarn install && yarn build to ensure the new resolved versions don't introduce any type errors or build failures.
  2. Test dev server - The webpack-dev-server and webpack-dev-middleware updates could affect local development; verify yarn start works correctly.
  3. Consider pinning React versions - If deterministic builds are critical, consider changing ^19.0.0 to an exact version in package.json to prevent future surprises.

General findings

  • The PR title "Update react monorepo to v19.2.15" is slightly misleading - react and react-dom are updated to 19.2.6, while only @types/react goes to 19.2.15. This is normal (type definitions often version independently), but worth clarifying.
  • No changes to package.json means this is purely a lockfile regeneration, likely from running yarn install with updated upstream packages.
  • All peer dependency ranges appear satisfied - no conflicts detected in the lock file diff.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 3fc03fa to fe17fe1CompareMay 30, 2026 11:30

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates lock files (package-lock.json and yarn.lock) to resolve dependency versions, primarily driven by React type definitions updates (@types/react 19.2.2 → 19.2.15, @types/react-dom 19.2.2 → 19.2.3). The changes also pull in updated transitive dependencies including Docusaurus (3.8.1 → 3.9.2/3.10.1), Algolia clients (5.40.x → 5.53.0), and Babel packages (7.27.x/7.28.x → 7.29.7).

Verdict: Needs changes - the package.json engines field should be updated to reflect new Node.js requirements from Docusaurus.

Research notes

  • Fetched Docusaurus release notes: Updates from 3.8.1 to 3.10.1 are backward-compatible minor releases with bug fixes and features, no breaking changes for typical documentation site usage.
  • Checked npm registry for @types/react: Version 19.2.15 is the latest stable release (published May 2026), updating from 19.2.2. These are TypeScript type definitions from DefinitelyTyped - typically non-breaking.
  • CI workflow uses Node.js 22, which satisfies all new engine requirements.

Suggested next steps

  1. Blocking: Update package.json engines field from "node": ">=18.0" to "node": ">=20.0" to align with Docusaurus 3.9+ requirements.
  2. Consider documenting the Node.js version requirement change in a changelog or migration note if one exists.
  3. Verify the build succeeds locally with Node 20+ before merging.

General findings

Node.js Engine Requirement Mismatch

Multiple Docusaurus packages (core, bundler, logger, plugin-content-docs, theme-classic, etc.) now specify "engines": { "node": ">=20.0" } in the updated lock files, but package.json still declares "engines": { "node": ">=18.0" }. While the CI uses Node 22 (which is compatible), developers or deployment environments using Node 18 may encounter warnings or failures.

Mixed Package Manager Lock Files

The repository maintains both package-lock.json (npm) and yarn.lock (Yarn). The project explicitly uses Yarn 4.9.4 (per packageManager field and .yarnrc.yml). Having both lock files can lead to divergence if updates are made with different package managers. Consider whether package-lock.json is needed or should be added to .gitignore if only Yarn is used.

PR Title Accuracy

The title "Update react monorepo to v19.2.15" is somewhat misleading - while @types/react is updated to 19.2.15, the PR includes broader dependency updates (Docusaurus, Algolia, Babel). A more accurate title might be "chore(deps): update dependencies" or similar.

General findings (auto-demoted from inline due to pre-validation)

  • Blockingpackage-lock.json:49 — This engines declaration in package.json specifies ">=18.0" but the updated Docusaurus dependencies (visible in this diff at multiple locations) now require "node": ">=20.0". This mismatch could cause issues for developers or CI environments running Node 18.
    • (demoted: line 49 (side=RIGHT) is not part of any diff hunk in package-lock.json)

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from fe17fe1 to c4ab7daCompareJune 5, 2026 03:15
@renovaterenovateBot changed the title Update react monorepo to v19.2.15Update react monorepo to v19.2.16Jun 5, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates the React-related dependencies in the lock files (yarn.lock and package-lock.json). The commit message states "Update react monorepo to v19.2.16" but the actual React version being resolved is 19.2.7. The package.json continues to specify ^19.0.0 for React packages.

Verdict: Needs clarification before approval - The PR appears to be a routine dependency update from Renovate, but there are discrepancies between the PR title, commit message, and actual versions being installed that should be clarified.

Research notes

I reviewed the React 19 release notes and React 19 Upgrade Guide to identify potential breaking changes:

  1. JSX Transform: React 19 requires the new JSX transform (introduced in 2020). Most modern setups already have this enabled via Babel/TypeScript configuration.
  2. Removed deprecated APIs: propTypes, defaultProps for function components, string refs, legacy context, createFactory, module pattern factories, and various ReactDOM methods (render, hydrate, unmountComponentAtNode, findDOMNode).
  3. Error handling changes: Errors in render are no longer re-thrown; new onUncaughtError and onCaughtError callbacks are available.
  4. TypeScript changes: useRef now requires an argument, ref callback cleanup functions change typing requirements.

For this Docusaurus site using React 19.0.0 → 19.2.7, the main risk is transitive dependencies that may rely on deprecated React APIs.

Suggested next steps

  1. Clarify the version discrepancy between PR title (v19.2.15), commit message (v19.2.16), and actual React version (19.2.7)
  2. Test the build locally with yarn install && yarn build to ensure Docusaurus can successfully build with the updated React version
  3. Consider updating package.json to explicitly specify the target React version range if intentional (e.g., ^19.2.7)
  4. Verify TypeScript compilation passes with the updated @types/react and @types/react-dom (19.2.16)

General findings

Version inconsistency in PR metadata

The PR title states "Update react monorepo to v19.2.15" but:

  • The commit message says "Update react monorepo to v19.2.16"
  • The yarn.lock resolves React to version 19.2.7
  • The @types/react resolves to 19.2.16

This suggests the PR title may have been auto-generated incorrectly by Renovate, or there's confusion about which version number refers to which package. For future Renovate PRs, consider configuring Renovate to include more specific version information in the PR title.

Package.json vs lockfile drift

The package.json specifies "react": "^19.0.0" which allows any 19.x version, so the lockfile updating to 19.2.7 is within spec. However, if you want more predictable builds or explicit version tracking, consider:

  • Pinning to exact versions: "react": "19.2.7"
  • Or using a more specific range: "react": "^19.2.0"

This would make it clearer what React version the project targets and reduce confusion in PR titles.

Build verification recommended

The CI workflow runs yarn build which should catch most React compatibility issues. However, I recommend manually testing:

  1. Local dev server with yarn start
  2. Production build with yarn build
  3. Preview the built site with yarn serve

This ensures React 19.2.7 doesn't introduce runtime issues with your Docusaurus components, especially the custom InteractiveOverview component.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from c4ab7da to f9e1b32CompareJune 6, 2026 23:16
@renovaterenovateBot changed the title Update react monorepo to v19.2.16Update react monorepo to v19.2.17Jun 6, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React and React-DOM from 19.2.0 to 19.2.7 via Yarn's semver resolution (package.json specifies ^19.2.7 after the update). The change also updates numerous transitive dependencies including build tools, CSS processors, and server-related packages.

Verdict: Needs minor corrections before merging — see blocking finding about version mismatch.

Research notes

  • React 19 Release Notes: React 19 introduced new features like Actions, useActionState, useOptimistic, use(), ref as prop, form actions, and Server Components. Breaking changes include removal of deprecated APIs (propTypes, defaultProps for functions, string refs, legacy context, ReactDOM.render, etc.).
  • React 19 Upgrade Guide: Provides migration guidance and codemods for breaking changes.
  • React Changelog: Versions 19.2.0 → 19.2.7 contain bug fixes primarily for React Server Components (cycle protection, FormData fixes in Server Actions).
  • Docusaurus 3.9.x (current version in package.json) supports React 18.x and 19.x according to peer dependency ranges found in lockfile (react: ">= 16.8.0 < 20.0.0").

Suggested next steps

  1. Blocking: Fix the version mismatch between PR title ("v19.2.16"), commit message ("v19.2.17"), and actual resolved versions in lockfiles (19.2.7).
  2. Verify the application builds successfully with yarn build after merging.
  3. Test SSR/hydration behavior if the app uses static site generation or server-side rendering.
  4. If using any deprecated patterns (string refs, propTypes, defaultProps in function components), address them proactively even though React 19 may only warn in some cases.

General findings

Transitive dependency updates warrant attention

Several notable transitive dependency changes:

  • node-gyp: 11.5.0 → 12.4.0 (native build tool, should not affect runtime)
  • postcss-preset-env: 10.4.0 → 10.6.1 (CSS processing, added new PostCSS plugins)
  • svgo: 3.3.2 → 3.3.3 (SVG optimization)
  • selfsigned: 2.4.1 → 5.5.0 (major version bump, changed from node-forge to pkijs for certificate generation — dev-only dependency)
  • qs: 6.13.0 → 6.15.2 (query string parsing, minor security/stability fixes)
  • send/serve-static/express ecosystem: Multiple packages received patch updates addressing security hardening (e.g., encodeurl, http-errors, statuses version alignment)

These are all indirect dependencies used during build/dev time. Runtime impact should be minimal, but testing is recommended.

No source code changes required

The package.json already declares ^19.0.0 for React, so this update aligns the lockfile with what was already permitted. Assuming the codebase was working on 19.2.0, no code changes should be needed for 19.2.7 since it's a patch release focused on bug fixes.

JSX transform

React 19 requires the new JSX transform. Since the project uses Docusaurus 3.9.x and TypeScript, the Babel/TypeScript configuration should already emit the modern JSX format. If you see warnings about "outdated JSX transform", check your tsconfig.json has "jsx": "react-jsx" or that Babel config includes @babel/preset-react with runtime: 'automatic'.

General findings (auto-demoted from inline due to pre-validation)

  • Blockingyarn.lock:12047 — Version specifier inconsistency detected.
    • (demoted: line 12047 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:12052 — Peer dependency alignment looks correct.
    • (demoted: line 12052 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:12062 — React version update from 19.2.0 to 19.2.7.
    • (demoted: line 12062 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:9380path-to-regexp updated from 0.1.12 to 0.1.13.
    • (demoted: line 9380 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:11139 — Major version bump for selfsigned from 2.4.1 to 5.5.0.
    • (demoted: line 11139 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:10452qs updated from 6.13.0 to 6.15.2.
    • (demoted: line 10452 (side=RIGHT) is not part of any diff hunk in yarn.lock)

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from f9e1b32 to 79f90a9CompareJune 13, 2026 03:01
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 79f90a9 to cd06a6dCompareJuly 18, 2026 02:55
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 86d10a2 to 02c000bCompareAugust 1, 2026 07:43
@renovaterenovateBot changed the title Update react monorepo to v19.2.17Update react monorepo to v19.2.18Aug 1, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 02c000b to be75d17CompareAugust 15, 2026 03:44
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from be75d17 to 7c70b8bCompareAugust 29, 2026 08:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Update react monorepo to v19.2.18 - #16

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-monorepo
Open

Update react monorepo to v19.2.18#16
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-monorepo

Conversation

@renovate

@renovaterenovateBot commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
@types/react (source)19.2.219.2.18ageconfidence
@types/react-dom (source)19.2.219.2.5ageconfidence
react (source)19.2.019.2.8ageconfidence
react-dom (source)19.2.019.2.8ageconfidence

Release Notes

react/react (react)

v19.2.8

Compare Source

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components

v19.2.4

Compare Source

React Server Components

v19.2.3

Compare Source

React Server Components

v19.2.2

Compare Source

React Server Components

v19.2.1

Compare Source

React Server Components
react/react (react-dom)

v19.2.8

Compare Source

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components

v19.2.4

Compare Source

React Server Components

v19.2.3

Compare Source

React Server Components

v19.2.2

Compare Source

React Server Components

v19.2.1

Compare Source

React Server Components

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@cloudflare-workers-and-pages

cloudflare-workers-and-pagesBot commented Nov 27, 2025

Copy link
Copy Markdown

Deploying docs with Cloudflare Pages Cloudflare Pages

Latest commit:8d8d9ae
Status:🚫 Build failed.

View logs

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from d500a06 to 8f9a564CompareDecember 4, 2025 19:30
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 8f9a564 to 8d8d9aeCompareDecember 12, 2025 00:00
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 8d8d9ae to 9c2e88fCompareJanuary 1, 2026 01:16
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from f168ce8 to 0a13768CompareJanuary 11, 2026 07:37
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.7chore(deps): update react monorepo to v19.2.8Jan 11, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from b28c978 to d0a2c20CompareJanuary 21, 2026 07:34
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.8chore(deps): update react monorepo to v19.2.9Jan 21, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 3 times, most recently from 2a277f2 to 7739a2bCompareJanuary 28, 2026 19:46
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.9chore(deps): update react monorepo to v19.2.10Jan 28, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 1c52659 to ba3e90eCompareFebruary 4, 2026 20:15
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.10chore(deps): update react monorepo to v19.2.11Feb 4, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from ba3e90e to eb5703aCompareFebruary 6, 2026 03:15
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.11chore(deps): update react monorepo to v19.2.13Feb 6, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from eb5703a to d8e9377CompareFebruary 13, 2026 11:42
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.13chore(deps): update react monorepo to v19.2.14Feb 13, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from d8e9377 to 72c8caeCompareFebruary 19, 2026 03:14
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from ebfeb96 to 643f7efCompareMarch 14, 2026 14:09
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 643f7ef to 8491c21CompareApril 15, 2026 17:23
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.14Update react monorepo to v19.2.14Apr 15, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 78e99e6 to 3a9ed6cCompareMay 6, 2026 19:39

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React and React DOM from v19.2.0 to v19.2.14, along with updating all related dependencies in the lock files (package-lock.json and yarn.lock). This is a Renovate bot-generated PR for routine dependency maintenance.

Verdict: Needs changes before merging - While the React upgrade itself appears safe, there are significant concerns about the Node.js engine requirement changes that need to be addressed.

Research notes

  • React 19.2.6 Release Notes: The latest version (19.2.6, released May 6th, 2026) includes "Type hardening and performance improvements" for React Server Components (#36425). No breaking changes mentioned for this patch update.

  • React 19 Upgrade Guide: According to React's official upgrade guide, React 19 introduces several breaking changes including:

    • Removal of ReactDOM.render, ReactDOM.hydrate (must use createRoot/hydrateRoot)
    • Removal of propTypes and defaultProps for function components
    • Removal of string refs, legacy context, and other deprecated APIs
    • Changes to error handling (errors no longer re-thrown)
    • TypeScript type changes requiring useRef to have an argument
  • Docusaurus Compatibility: The lock file changes show Docusaurus packages being updated from 3.8.1 to 3.10.1, which now support react: ^18.0.0 || ^19.0.0. However, the engine requirement changed from node: >=18.0 to node: >=20.0 across all Docusaurus packages.

  • Current package.json: Still specifies "engines": { "node": ">=18.0" } and "packageManager": "yarn@4.9.4"

Suggested next steps

  1. Blocking: Update the engines field in package.json from "node": ">=18.0" to "node": ">=20.0" to match the new Docusaurus requirements, or verify your deployment environment supports Node.js 20+.

  2. Non-blocking: Verify the application builds and runs correctly with React 19.2.6, especially if using any deprecated patterns like:

    • String refs (ref="myRef")
    • propTypes on function components
    • defaultProps on function components
    • Legacy ReactDOM.render() calls
  3. Testing recommendation: Run the full test suite and verify SSR/hydration works correctly, as React 19 has improved hydration error reporting that may surface previously hidden issues.

General findings

  • The PR only contains lock file changes (package-lock.json and yarn.lock), with no changes to package.json. This is appropriate for a dependency version bump where the semver ranges already allow the new versions.

  • The React upgrade path is correct: ^19.0.0 in package.json correctly resolves to 19.2.6 (the latest 19.x version).

  • Many transitive dependencies have been updated alongside React, including:

    • postcss-preset-env: 10.4.0 → 10.6.1
    • node-gyp: 11.5.0 → 12.3.0 (now uses undici instead of make-fetch-happen)
    • Various security patches in the ecosystem
  • Important: If your CI/CD pipeline or production environment runs Node.js 18.x, this PR will break builds after merge due to the Docusaurus engine requirement change to Node.js 20+. This should be verified before merging.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 3a9ed6c to 94df8e5CompareMay 13, 2026 07:11

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React-related dependencies from v19.2.0 to v19.2.6 (React/ReactDOM) and @types/react to v19.2.14. The update itself appears safe - the React 19.2.6 release notes indicate only "type hardening and performance improvements" for React Server Components with no breaking changes.

However, there are several issues that need attention before this can be approved:

  1. Misleading PR title - Claims "v19.2.14" but React itself only goes to 19.2.6
  2. Version constraint drift - yarn.lock shows changed version ranges (^19.0.0 → ^19.2.6)
  3. Dual lockfile anti-pattern - Both yarn.lock and package-lock.json committed despite using Yarn

Research notes

  • Fetched React 19.2.6 release notes - confirms minor update with type/performance improvements only
  • Package.json specifies "packageManager": "yarn@4.9.4" indicating Yarn Berry is the intended package manager
  • Yarn lockfile format confirms Yarn 4.x (checksums use 10c0/ prefix)

Suggested next steps

  1. Fix PR title to accurately reflect versions (React 19.2.6, @types/react 19.2.14)
  2. Investigate why yarn.lock version constraints changed from ^19.0.0 to ^19.2.6 - this suggests either manual editing or transitive dependency forcing resolution
  3. Remove package-lock.json from version control since project uses Yarn (or configure corepack to prevent npm from generating it)
  4. Run yarn install fresh to regenerate clean lockfile with correct version ranges preserved

General findings

Dual lockfile maintenance issue

The repository tracks both yarn.lock and package-lock.json, but package.json explicitly declares "packageManager": "yarn@4.9.4". This creates potential for dependency drift between tools.

Why it matters: Having both lockfiles can lead to inconsistent installations depending on which tool runs first. CI might use one tool while developers use another, causing "works on my machine" issues.

Suggested fix: Add package-lock.json to .gitignore and remove it from the repository. If npm compatibility is needed, consider using yarn install --no-immutable in CI or document which tool is authoritative.


Version constraint preservation in yarn.lock

The diff shows yarn.lock entries changing from "react@npm:^19.0.0" to "react@npm:^19.2.6". Yarn typically preserves the original semver range from package.json in the lockfile key.

Why it matters: This suggests either (a) the lockfile was regenerated with different resolution logic, (b) a transitive dependency is forcing stricter constraints, or (c) manual edits were made. This makes the actual resolved versions opaque to future maintainers.

Suggested fix: Run yarn install with the current package.json to regenerate the lockfile. Verify that version ranges in yarn.lock match what's declared in package.json.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 94df8e5 to 3fc03faCompareMay 21, 2026 07:54
@renovaterenovateBot changed the title Update react monorepo to v19.2.14Update react monorepo to v19.2.15May 21, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates the yarn.lock and package-lock.json files to resolve newer versions of React ecosystem packages. The base package.json dependencies remain unchanged (react@^19.0.0, react-dom@^19.0.0, Docusaurus ^3.9.2), but the lock files now resolve to more recent patch versions.

Verdict: Approved with minor notes - this is a routine dependency resolution update with no breaking changes expected for end users.

Research notes

  • React 19.2.x changelog: React 19.2.0 introduced <Activity>, useEffectEvent, cacheSignal, and various SSR/Suspense improvements. Patch versions 19.2.1-19.2.6 contain bug fixes only.
  • Docusaurus compatibility: Docusaurus 3.9.2 (current in package.json) supports React 19 per official docs. The resolved @docusaurus/* packages at ^3.9.2 maintain compatibility with React 19.2.x.
  • webpack-dev-middleware: Updated from 5.x to 7.x (requires Node >= 18.12, already satisfied by engine constraint >=18.0).
  • selfsigned: Major version jump from 2.4.1 to 5.5.0 - internal dev dependency for webpack-dev-server, no user-facing impact.

Suggested next steps

  1. Verify build locally - Run yarn install && yarn build to ensure the new resolved versions don't introduce any type errors or build failures.
  2. Test dev server - The webpack-dev-server and webpack-dev-middleware updates could affect local development; verify yarn start works correctly.
  3. Consider pinning React versions - If deterministic builds are critical, consider changing ^19.0.0 to an exact version in package.json to prevent future surprises.

General findings

  • The PR title "Update react monorepo to v19.2.15" is slightly misleading - react and react-dom are updated to 19.2.6, while only @types/react goes to 19.2.15. This is normal (type definitions often version independently), but worth clarifying.
  • No changes to package.json means this is purely a lockfile regeneration, likely from running yarn install with updated upstream packages.
  • All peer dependency ranges appear satisfied - no conflicts detected in the lock file diff.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 3fc03fa to fe17fe1CompareMay 30, 2026 11:30

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates lock files (package-lock.json and yarn.lock) to resolve dependency versions, primarily driven by React type definitions updates (@types/react 19.2.2 → 19.2.15, @types/react-dom 19.2.2 → 19.2.3). The changes also pull in updated transitive dependencies including Docusaurus (3.8.1 → 3.9.2/3.10.1), Algolia clients (5.40.x → 5.53.0), and Babel packages (7.27.x/7.28.x → 7.29.7).

Verdict: Needs changes - the package.json engines field should be updated to reflect new Node.js requirements from Docusaurus.

Research notes

  • Fetched Docusaurus release notes: Updates from 3.8.1 to 3.10.1 are backward-compatible minor releases with bug fixes and features, no breaking changes for typical documentation site usage.
  • Checked npm registry for @types/react: Version 19.2.15 is the latest stable release (published May 2026), updating from 19.2.2. These are TypeScript type definitions from DefinitelyTyped - typically non-breaking.
  • CI workflow uses Node.js 22, which satisfies all new engine requirements.

Suggested next steps

  1. Blocking: Update package.json engines field from "node": ">=18.0" to "node": ">=20.0" to align with Docusaurus 3.9+ requirements.
  2. Consider documenting the Node.js version requirement change in a changelog or migration note if one exists.
  3. Verify the build succeeds locally with Node 20+ before merging.

General findings

Node.js Engine Requirement Mismatch

Multiple Docusaurus packages (core, bundler, logger, plugin-content-docs, theme-classic, etc.) now specify "engines": { "node": ">=20.0" } in the updated lock files, but package.json still declares "engines": { "node": ">=18.0" }. While the CI uses Node 22 (which is compatible), developers or deployment environments using Node 18 may encounter warnings or failures.

Mixed Package Manager Lock Files

The repository maintains both package-lock.json (npm) and yarn.lock (Yarn). The project explicitly uses Yarn 4.9.4 (per packageManager field and .yarnrc.yml). Having both lock files can lead to divergence if updates are made with different package managers. Consider whether package-lock.json is needed or should be added to .gitignore if only Yarn is used.

PR Title Accuracy

The title "Update react monorepo to v19.2.15" is somewhat misleading - while @types/react is updated to 19.2.15, the PR includes broader dependency updates (Docusaurus, Algolia, Babel). A more accurate title might be "chore(deps): update dependencies" or similar.

General findings (auto-demoted from inline due to pre-validation)

  • Blockingpackage-lock.json:49 — This engines declaration in package.json specifies ">=18.0" but the updated Docusaurus dependencies (visible in this diff at multiple locations) now require "node": ">=20.0". This mismatch could cause issues for developers or CI environments running Node 18.
    • (demoted: line 49 (side=RIGHT) is not part of any diff hunk in package-lock.json)

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from fe17fe1 to c4ab7daCompareJune 5, 2026 03:15
@renovaterenovateBot changed the title Update react monorepo to v19.2.15Update react monorepo to v19.2.16Jun 5, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates the React-related dependencies in the lock files (yarn.lock and package-lock.json). The commit message states "Update react monorepo to v19.2.16" but the actual React version being resolved is 19.2.7. The package.json continues to specify ^19.0.0 for React packages.

Verdict: Needs clarification before approval - The PR appears to be a routine dependency update from Renovate, but there are discrepancies between the PR title, commit message, and actual versions being installed that should be clarified.

Research notes

I reviewed the React 19 release notes and React 19 Upgrade Guide to identify potential breaking changes:

  1. JSX Transform: React 19 requires the new JSX transform (introduced in 2020). Most modern setups already have this enabled via Babel/TypeScript configuration.
  2. Removed deprecated APIs: propTypes, defaultProps for function components, string refs, legacy context, createFactory, module pattern factories, and various ReactDOM methods (render, hydrate, unmountComponentAtNode, findDOMNode).
  3. Error handling changes: Errors in render are no longer re-thrown; new onUncaughtError and onCaughtError callbacks are available.
  4. TypeScript changes: useRef now requires an argument, ref callback cleanup functions change typing requirements.

For this Docusaurus site using React 19.0.0 → 19.2.7, the main risk is transitive dependencies that may rely on deprecated React APIs.

Suggested next steps

  1. Clarify the version discrepancy between PR title (v19.2.15), commit message (v19.2.16), and actual React version (19.2.7)
  2. Test the build locally with yarn install && yarn build to ensure Docusaurus can successfully build with the updated React version
  3. Consider updating package.json to explicitly specify the target React version range if intentional (e.g., ^19.2.7)
  4. Verify TypeScript compilation passes with the updated @types/react and @types/react-dom (19.2.16)

General findings

Version inconsistency in PR metadata

The PR title states "Update react monorepo to v19.2.15" but:

  • The commit message says "Update react monorepo to v19.2.16"
  • The yarn.lock resolves React to version 19.2.7
  • The @types/react resolves to 19.2.16

This suggests the PR title may have been auto-generated incorrectly by Renovate, or there's confusion about which version number refers to which package. For future Renovate PRs, consider configuring Renovate to include more specific version information in the PR title.

Package.json vs lockfile drift

The package.json specifies "react": "^19.0.0" which allows any 19.x version, so the lockfile updating to 19.2.7 is within spec. However, if you want more predictable builds or explicit version tracking, consider:

  • Pinning to exact versions: "react": "19.2.7"
  • Or using a more specific range: "react": "^19.2.0"

This would make it clearer what React version the project targets and reduce confusion in PR titles.

Build verification recommended

The CI workflow runs yarn build which should catch most React compatibility issues. However, I recommend manually testing:

  1. Local dev server with yarn start
  2. Production build with yarn build
  3. Preview the built site with yarn serve

This ensures React 19.2.7 doesn't introduce runtime issues with your Docusaurus components, especially the custom InteractiveOverview component.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from c4ab7da to f9e1b32CompareJune 6, 2026 23:16
@renovaterenovateBot changed the title Update react monorepo to v19.2.16Update react monorepo to v19.2.17Jun 6, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React and React-DOM from 19.2.0 to 19.2.7 via Yarn's semver resolution (package.json specifies ^19.2.7 after the update). The change also updates numerous transitive dependencies including build tools, CSS processors, and server-related packages.

Verdict: Needs minor corrections before merging — see blocking finding about version mismatch.

Research notes

  • React 19 Release Notes: React 19 introduced new features like Actions, useActionState, useOptimistic, use(), ref as prop, form actions, and Server Components. Breaking changes include removal of deprecated APIs (propTypes, defaultProps for functions, string refs, legacy context, ReactDOM.render, etc.).
  • React 19 Upgrade Guide: Provides migration guidance and codemods for breaking changes.
  • React Changelog: Versions 19.2.0 → 19.2.7 contain bug fixes primarily for React Server Components (cycle protection, FormData fixes in Server Actions).
  • Docusaurus 3.9.x (current version in package.json) supports React 18.x and 19.x according to peer dependency ranges found in lockfile (react: ">= 16.8.0 < 20.0.0").

Suggested next steps

  1. Blocking: Fix the version mismatch between PR title ("v19.2.16"), commit message ("v19.2.17"), and actual resolved versions in lockfiles (19.2.7).
  2. Verify the application builds successfully with yarn build after merging.
  3. Test SSR/hydration behavior if the app uses static site generation or server-side rendering.
  4. If using any deprecated patterns (string refs, propTypes, defaultProps in function components), address them proactively even though React 19 may only warn in some cases.

General findings

Transitive dependency updates warrant attention

Several notable transitive dependency changes:

  • node-gyp: 11.5.0 → 12.4.0 (native build tool, should not affect runtime)
  • postcss-preset-env: 10.4.0 → 10.6.1 (CSS processing, added new PostCSS plugins)
  • svgo: 3.3.2 → 3.3.3 (SVG optimization)
  • selfsigned: 2.4.1 → 5.5.0 (major version bump, changed from node-forge to pkijs for certificate generation — dev-only dependency)
  • qs: 6.13.0 → 6.15.2 (query string parsing, minor security/stability fixes)
  • send/serve-static/express ecosystem: Multiple packages received patch updates addressing security hardening (e.g., encodeurl, http-errors, statuses version alignment)

These are all indirect dependencies used during build/dev time. Runtime impact should be minimal, but testing is recommended.

No source code changes required

The package.json already declares ^19.0.0 for React, so this update aligns the lockfile with what was already permitted. Assuming the codebase was working on 19.2.0, no code changes should be needed for 19.2.7 since it's a patch release focused on bug fixes.

JSX transform

React 19 requires the new JSX transform. Since the project uses Docusaurus 3.9.x and TypeScript, the Babel/TypeScript configuration should already emit the modern JSX format. If you see warnings about "outdated JSX transform", check your tsconfig.json has "jsx": "react-jsx" or that Babel config includes @babel/preset-react with runtime: 'automatic'.

General findings (auto-demoted from inline due to pre-validation)

  • Blockingyarn.lock:12047 — Version specifier inconsistency detected.
    • (demoted: line 12047 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:12052 — Peer dependency alignment looks correct.
    • (demoted: line 12052 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:12062 — React version update from 19.2.0 to 19.2.7.
    • (demoted: line 12062 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:9380path-to-regexp updated from 0.1.12 to 0.1.13.
    • (demoted: line 9380 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:11139 — Major version bump for selfsigned from 2.4.1 to 5.5.0.
    • (demoted: line 11139 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:10452qs updated from 6.13.0 to 6.15.2.
    • (demoted: line 10452 (side=RIGHT) is not part of any diff hunk in yarn.lock)

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from f9e1b32 to 79f90a9CompareJune 13, 2026 03:01
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 79f90a9 to cd06a6dCompareJuly 18, 2026 02:55
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 86d10a2 to 02c000bCompareAugust 1, 2026 07:43
@renovaterenovateBot changed the title Update react monorepo to v19.2.17Update react monorepo to v19.2.18Aug 1, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 02c000b to be75d17CompareAugust 15, 2026 03:44
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from be75d17 to 7c70b8bCompareAugust 29, 2026 08:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update react monorepo to v19.2.18 - #16

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-monorepo
Open

Update react monorepo to v19.2.18#16
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-monorepo

Conversation

@renovate

@renovaterenovateBot commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
@types/react (source)19.2.219.2.18ageconfidence
@types/react-dom (source)19.2.219.2.5ageconfidence
react (source)19.2.019.2.8ageconfidence
react-dom (source)19.2.019.2.8ageconfidence

Release Notes

react/react (react)

v19.2.8

Compare Source

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components

v19.2.4

Compare Source

React Server Components

v19.2.3

Compare Source

React Server Components

v19.2.2

Compare Source

React Server Components

v19.2.1

Compare Source

React Server Components
react/react (react-dom)

v19.2.8

Compare Source

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components

v19.2.4

Compare Source

React Server Components

v19.2.3

Compare Source

React Server Components

v19.2.2

Compare Source

React Server Components

v19.2.1

Compare Source

React Server Components

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@cloudflare-workers-and-pages

cloudflare-workers-and-pagesBot commented Nov 27, 2025

Copy link
Copy Markdown

Deploying docs with Cloudflare Pages Cloudflare Pages

Latest commit:8d8d9ae
Status:🚫 Build failed.

View logs

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from d500a06 to 8f9a564CompareDecember 4, 2025 19:30
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 8f9a564 to 8d8d9aeCompareDecember 12, 2025 00:00
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 8d8d9ae to 9c2e88fCompareJanuary 1, 2026 01:16
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from f168ce8 to 0a13768CompareJanuary 11, 2026 07:37
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.7chore(deps): update react monorepo to v19.2.8Jan 11, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from b28c978 to d0a2c20CompareJanuary 21, 2026 07:34
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.8chore(deps): update react monorepo to v19.2.9Jan 21, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 3 times, most recently from 2a277f2 to 7739a2bCompareJanuary 28, 2026 19:46
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.9chore(deps): update react monorepo to v19.2.10Jan 28, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 1c52659 to ba3e90eCompareFebruary 4, 2026 20:15
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.10chore(deps): update react monorepo to v19.2.11Feb 4, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from ba3e90e to eb5703aCompareFebruary 6, 2026 03:15
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.11chore(deps): update react monorepo to v19.2.13Feb 6, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from eb5703a to d8e9377CompareFebruary 13, 2026 11:42
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.13chore(deps): update react monorepo to v19.2.14Feb 13, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from d8e9377 to 72c8caeCompareFebruary 19, 2026 03:14
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from ebfeb96 to 643f7efCompareMarch 14, 2026 14:09
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 643f7ef to 8491c21CompareApril 15, 2026 17:23
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.14Update react monorepo to v19.2.14Apr 15, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 78e99e6 to 3a9ed6cCompareMay 6, 2026 19:39

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React and React DOM from v19.2.0 to v19.2.14, along with updating all related dependencies in the lock files (package-lock.json and yarn.lock). This is a Renovate bot-generated PR for routine dependency maintenance.

Verdict: Needs changes before merging - While the React upgrade itself appears safe, there are significant concerns about the Node.js engine requirement changes that need to be addressed.

Research notes

  • React 19.2.6 Release Notes: The latest version (19.2.6, released May 6th, 2026) includes "Type hardening and performance improvements" for React Server Components (#36425). No breaking changes mentioned for this patch update.

  • React 19 Upgrade Guide: According to React's official upgrade guide, React 19 introduces several breaking changes including:

    • Removal of ReactDOM.render, ReactDOM.hydrate (must use createRoot/hydrateRoot)
    • Removal of propTypes and defaultProps for function components
    • Removal of string refs, legacy context, and other deprecated APIs
    • Changes to error handling (errors no longer re-thrown)
    • TypeScript type changes requiring useRef to have an argument
  • Docusaurus Compatibility: The lock file changes show Docusaurus packages being updated from 3.8.1 to 3.10.1, which now support react: ^18.0.0 || ^19.0.0. However, the engine requirement changed from node: >=18.0 to node: >=20.0 across all Docusaurus packages.

  • Current package.json: Still specifies "engines": { "node": ">=18.0" } and "packageManager": "yarn@4.9.4"

Suggested next steps

  1. Blocking: Update the engines field in package.json from "node": ">=18.0" to "node": ">=20.0" to match the new Docusaurus requirements, or verify your deployment environment supports Node.js 20+.

  2. Non-blocking: Verify the application builds and runs correctly with React 19.2.6, especially if using any deprecated patterns like:

    • String refs (ref="myRef")
    • propTypes on function components
    • defaultProps on function components
    • Legacy ReactDOM.render() calls
  3. Testing recommendation: Run the full test suite and verify SSR/hydration works correctly, as React 19 has improved hydration error reporting that may surface previously hidden issues.

General findings

  • The PR only contains lock file changes (package-lock.json and yarn.lock), with no changes to package.json. This is appropriate for a dependency version bump where the semver ranges already allow the new versions.

  • The React upgrade path is correct: ^19.0.0 in package.json correctly resolves to 19.2.6 (the latest 19.x version).

  • Many transitive dependencies have been updated alongside React, including:

    • postcss-preset-env: 10.4.0 → 10.6.1
    • node-gyp: 11.5.0 → 12.3.0 (now uses undici instead of make-fetch-happen)
    • Various security patches in the ecosystem
  • Important: If your CI/CD pipeline or production environment runs Node.js 18.x, this PR will break builds after merge due to the Docusaurus engine requirement change to Node.js 20+. This should be verified before merging.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 3a9ed6c to 94df8e5CompareMay 13, 2026 07:11

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React-related dependencies from v19.2.0 to v19.2.6 (React/ReactDOM) and @types/react to v19.2.14. The update itself appears safe - the React 19.2.6 release notes indicate only "type hardening and performance improvements" for React Server Components with no breaking changes.

However, there are several issues that need attention before this can be approved:

  1. Misleading PR title - Claims "v19.2.14" but React itself only goes to 19.2.6
  2. Version constraint drift - yarn.lock shows changed version ranges (^19.0.0 → ^19.2.6)
  3. Dual lockfile anti-pattern - Both yarn.lock and package-lock.json committed despite using Yarn

Research notes

  • Fetched React 19.2.6 release notes - confirms minor update with type/performance improvements only
  • Package.json specifies "packageManager": "yarn@4.9.4" indicating Yarn Berry is the intended package manager
  • Yarn lockfile format confirms Yarn 4.x (checksums use 10c0/ prefix)

Suggested next steps

  1. Fix PR title to accurately reflect versions (React 19.2.6, @types/react 19.2.14)
  2. Investigate why yarn.lock version constraints changed from ^19.0.0 to ^19.2.6 - this suggests either manual editing or transitive dependency forcing resolution
  3. Remove package-lock.json from version control since project uses Yarn (or configure corepack to prevent npm from generating it)
  4. Run yarn install fresh to regenerate clean lockfile with correct version ranges preserved

General findings

Dual lockfile maintenance issue

The repository tracks both yarn.lock and package-lock.json, but package.json explicitly declares "packageManager": "yarn@4.9.4". This creates potential for dependency drift between tools.

Why it matters: Having both lockfiles can lead to inconsistent installations depending on which tool runs first. CI might use one tool while developers use another, causing "works on my machine" issues.

Suggested fix: Add package-lock.json to .gitignore and remove it from the repository. If npm compatibility is needed, consider using yarn install --no-immutable in CI or document which tool is authoritative.


Version constraint preservation in yarn.lock

The diff shows yarn.lock entries changing from "react@npm:^19.0.0" to "react@npm:^19.2.6". Yarn typically preserves the original semver range from package.json in the lockfile key.

Why it matters: This suggests either (a) the lockfile was regenerated with different resolution logic, (b) a transitive dependency is forcing stricter constraints, or (c) manual edits were made. This makes the actual resolved versions opaque to future maintainers.

Suggested fix: Run yarn install with the current package.json to regenerate the lockfile. Verify that version ranges in yarn.lock match what's declared in package.json.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 94df8e5 to 3fc03faCompareMay 21, 2026 07:54
@renovaterenovateBot changed the title Update react monorepo to v19.2.14Update react monorepo to v19.2.15May 21, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates the yarn.lock and package-lock.json files to resolve newer versions of React ecosystem packages. The base package.json dependencies remain unchanged (react@^19.0.0, react-dom@^19.0.0, Docusaurus ^3.9.2), but the lock files now resolve to more recent patch versions.

Verdict: Approved with minor notes - this is a routine dependency resolution update with no breaking changes expected for end users.

Research notes

  • React 19.2.x changelog: React 19.2.0 introduced <Activity>, useEffectEvent, cacheSignal, and various SSR/Suspense improvements. Patch versions 19.2.1-19.2.6 contain bug fixes only.
  • Docusaurus compatibility: Docusaurus 3.9.2 (current in package.json) supports React 19 per official docs. The resolved @docusaurus/* packages at ^3.9.2 maintain compatibility with React 19.2.x.
  • webpack-dev-middleware: Updated from 5.x to 7.x (requires Node >= 18.12, already satisfied by engine constraint >=18.0).
  • selfsigned: Major version jump from 2.4.1 to 5.5.0 - internal dev dependency for webpack-dev-server, no user-facing impact.

Suggested next steps

  1. Verify build locally - Run yarn install && yarn build to ensure the new resolved versions don't introduce any type errors or build failures.
  2. Test dev server - The webpack-dev-server and webpack-dev-middleware updates could affect local development; verify yarn start works correctly.
  3. Consider pinning React versions - If deterministic builds are critical, consider changing ^19.0.0 to an exact version in package.json to prevent future surprises.

General findings

  • The PR title "Update react monorepo to v19.2.15" is slightly misleading - react and react-dom are updated to 19.2.6, while only @types/react goes to 19.2.15. This is normal (type definitions often version independently), but worth clarifying.
  • No changes to package.json means this is purely a lockfile regeneration, likely from running yarn install with updated upstream packages.
  • All peer dependency ranges appear satisfied - no conflicts detected in the lock file diff.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 3fc03fa to fe17fe1CompareMay 30, 2026 11:30

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates lock files (package-lock.json and yarn.lock) to resolve dependency versions, primarily driven by React type definitions updates (@types/react 19.2.2 → 19.2.15, @types/react-dom 19.2.2 → 19.2.3). The changes also pull in updated transitive dependencies including Docusaurus (3.8.1 → 3.9.2/3.10.1), Algolia clients (5.40.x → 5.53.0), and Babel packages (7.27.x/7.28.x → 7.29.7).

Verdict: Needs changes - the package.json engines field should be updated to reflect new Node.js requirements from Docusaurus.

Research notes

  • Fetched Docusaurus release notes: Updates from 3.8.1 to 3.10.1 are backward-compatible minor releases with bug fixes and features, no breaking changes for typical documentation site usage.
  • Checked npm registry for @types/react: Version 19.2.15 is the latest stable release (published May 2026), updating from 19.2.2. These are TypeScript type definitions from DefinitelyTyped - typically non-breaking.
  • CI workflow uses Node.js 22, which satisfies all new engine requirements.

Suggested next steps

  1. Blocking: Update package.json engines field from "node": ">=18.0" to "node": ">=20.0" to align with Docusaurus 3.9+ requirements.
  2. Consider documenting the Node.js version requirement change in a changelog or migration note if one exists.
  3. Verify the build succeeds locally with Node 20+ before merging.

General findings

Node.js Engine Requirement Mismatch

Multiple Docusaurus packages (core, bundler, logger, plugin-content-docs, theme-classic, etc.) now specify "engines": { "node": ">=20.0" } in the updated lock files, but package.json still declares "engines": { "node": ">=18.0" }. While the CI uses Node 22 (which is compatible), developers or deployment environments using Node 18 may encounter warnings or failures.

Mixed Package Manager Lock Files

The repository maintains both package-lock.json (npm) and yarn.lock (Yarn). The project explicitly uses Yarn 4.9.4 (per packageManager field and .yarnrc.yml). Having both lock files can lead to divergence if updates are made with different package managers. Consider whether package-lock.json is needed or should be added to .gitignore if only Yarn is used.

PR Title Accuracy

The title "Update react monorepo to v19.2.15" is somewhat misleading - while @types/react is updated to 19.2.15, the PR includes broader dependency updates (Docusaurus, Algolia, Babel). A more accurate title might be "chore(deps): update dependencies" or similar.

General findings (auto-demoted from inline due to pre-validation)

  • Blockingpackage-lock.json:49 — This engines declaration in package.json specifies ">=18.0" but the updated Docusaurus dependencies (visible in this diff at multiple locations) now require "node": ">=20.0". This mismatch could cause issues for developers or CI environments running Node 18.
    • (demoted: line 49 (side=RIGHT) is not part of any diff hunk in package-lock.json)

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from fe17fe1 to c4ab7daCompareJune 5, 2026 03:15
@renovaterenovateBot changed the title Update react monorepo to v19.2.15Update react monorepo to v19.2.16Jun 5, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates the React-related dependencies in the lock files (yarn.lock and package-lock.json). The commit message states "Update react monorepo to v19.2.16" but the actual React version being resolved is 19.2.7. The package.json continues to specify ^19.0.0 for React packages.

Verdict: Needs clarification before approval - The PR appears to be a routine dependency update from Renovate, but there are discrepancies between the PR title, commit message, and actual versions being installed that should be clarified.

Research notes

I reviewed the React 19 release notes and React 19 Upgrade Guide to identify potential breaking changes:

  1. JSX Transform: React 19 requires the new JSX transform (introduced in 2020). Most modern setups already have this enabled via Babel/TypeScript configuration.
  2. Removed deprecated APIs: propTypes, defaultProps for function components, string refs, legacy context, createFactory, module pattern factories, and various ReactDOM methods (render, hydrate, unmountComponentAtNode, findDOMNode).
  3. Error handling changes: Errors in render are no longer re-thrown; new onUncaughtError and onCaughtError callbacks are available.
  4. TypeScript changes: useRef now requires an argument, ref callback cleanup functions change typing requirements.

For this Docusaurus site using React 19.0.0 → 19.2.7, the main risk is transitive dependencies that may rely on deprecated React APIs.

Suggested next steps

  1. Clarify the version discrepancy between PR title (v19.2.15), commit message (v19.2.16), and actual React version (19.2.7)
  2. Test the build locally with yarn install && yarn build to ensure Docusaurus can successfully build with the updated React version
  3. Consider updating package.json to explicitly specify the target React version range if intentional (e.g., ^19.2.7)
  4. Verify TypeScript compilation passes with the updated @types/react and @types/react-dom (19.2.16)

General findings

Version inconsistency in PR metadata

The PR title states "Update react monorepo to v19.2.15" but:

  • The commit message says "Update react monorepo to v19.2.16"
  • The yarn.lock resolves React to version 19.2.7
  • The @types/react resolves to 19.2.16

This suggests the PR title may have been auto-generated incorrectly by Renovate, or there's confusion about which version number refers to which package. For future Renovate PRs, consider configuring Renovate to include more specific version information in the PR title.

Package.json vs lockfile drift

The package.json specifies "react": "^19.0.0" which allows any 19.x version, so the lockfile updating to 19.2.7 is within spec. However, if you want more predictable builds or explicit version tracking, consider:

  • Pinning to exact versions: "react": "19.2.7"
  • Or using a more specific range: "react": "^19.2.0"

This would make it clearer what React version the project targets and reduce confusion in PR titles.

Build verification recommended

The CI workflow runs yarn build which should catch most React compatibility issues. However, I recommend manually testing:

  1. Local dev server with yarn start
  2. Production build with yarn build
  3. Preview the built site with yarn serve

This ensures React 19.2.7 doesn't introduce runtime issues with your Docusaurus components, especially the custom InteractiveOverview component.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from c4ab7da to f9e1b32CompareJune 6, 2026 23:16
@renovaterenovateBot changed the title Update react monorepo to v19.2.16Update react monorepo to v19.2.17Jun 6, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React and React-DOM from 19.2.0 to 19.2.7 via Yarn's semver resolution (package.json specifies ^19.2.7 after the update). The change also updates numerous transitive dependencies including build tools, CSS processors, and server-related packages.

Verdict: Needs minor corrections before merging — see blocking finding about version mismatch.

Research notes

  • React 19 Release Notes: React 19 introduced new features like Actions, useActionState, useOptimistic, use(), ref as prop, form actions, and Server Components. Breaking changes include removal of deprecated APIs (propTypes, defaultProps for functions, string refs, legacy context, ReactDOM.render, etc.).
  • React 19 Upgrade Guide: Provides migration guidance and codemods for breaking changes.
  • React Changelog: Versions 19.2.0 → 19.2.7 contain bug fixes primarily for React Server Components (cycle protection, FormData fixes in Server Actions).
  • Docusaurus 3.9.x (current version in package.json) supports React 18.x and 19.x according to peer dependency ranges found in lockfile (react: ">= 16.8.0 < 20.0.0").

Suggested next steps

  1. Blocking: Fix the version mismatch between PR title ("v19.2.16"), commit message ("v19.2.17"), and actual resolved versions in lockfiles (19.2.7).
  2. Verify the application builds successfully with yarn build after merging.
  3. Test SSR/hydration behavior if the app uses static site generation or server-side rendering.
  4. If using any deprecated patterns (string refs, propTypes, defaultProps in function components), address them proactively even though React 19 may only warn in some cases.

General findings

Transitive dependency updates warrant attention

Several notable transitive dependency changes:

  • node-gyp: 11.5.0 → 12.4.0 (native build tool, should not affect runtime)
  • postcss-preset-env: 10.4.0 → 10.6.1 (CSS processing, added new PostCSS plugins)
  • svgo: 3.3.2 → 3.3.3 (SVG optimization)
  • selfsigned: 2.4.1 → 5.5.0 (major version bump, changed from node-forge to pkijs for certificate generation — dev-only dependency)
  • qs: 6.13.0 → 6.15.2 (query string parsing, minor security/stability fixes)
  • send/serve-static/express ecosystem: Multiple packages received patch updates addressing security hardening (e.g., encodeurl, http-errors, statuses version alignment)

These are all indirect dependencies used during build/dev time. Runtime impact should be minimal, but testing is recommended.

No source code changes required

The package.json already declares ^19.0.0 for React, so this update aligns the lockfile with what was already permitted. Assuming the codebase was working on 19.2.0, no code changes should be needed for 19.2.7 since it's a patch release focused on bug fixes.

JSX transform

React 19 requires the new JSX transform. Since the project uses Docusaurus 3.9.x and TypeScript, the Babel/TypeScript configuration should already emit the modern JSX format. If you see warnings about "outdated JSX transform", check your tsconfig.json has "jsx": "react-jsx" or that Babel config includes @babel/preset-react with runtime: 'automatic'.

General findings (auto-demoted from inline due to pre-validation)

  • Blockingyarn.lock:12047 — Version specifier inconsistency detected.
    • (demoted: line 12047 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:12052 — Peer dependency alignment looks correct.
    • (demoted: line 12052 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:12062 — React version update from 19.2.0 to 19.2.7.
    • (demoted: line 12062 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:9380path-to-regexp updated from 0.1.12 to 0.1.13.
    • (demoted: line 9380 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:11139 — Major version bump for selfsigned from 2.4.1 to 5.5.0.
    • (demoted: line 11139 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:10452qs updated from 6.13.0 to 6.15.2.
    • (demoted: line 10452 (side=RIGHT) is not part of any diff hunk in yarn.lock)

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from f9e1b32 to 79f90a9CompareJune 13, 2026 03:01
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 79f90a9 to cd06a6dCompareJuly 18, 2026 02:55
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 86d10a2 to 02c000bCompareAugust 1, 2026 07:43
@renovaterenovateBot changed the title Update react monorepo to v19.2.17Update react monorepo to v19.2.18Aug 1, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 02c000b to be75d17CompareAugust 15, 2026 03:44
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from be75d17 to 7c70b8bCompareAugust 29, 2026 08:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update react monorepo to v19.2.18 - #16

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-monorepo
Open

Update react monorepo to v19.2.18#16
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-monorepo

Conversation

@renovate

@renovaterenovateBot commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
@types/react (source)19.2.219.2.18ageconfidence
@types/react-dom (source)19.2.219.2.5ageconfidence
react (source)19.2.019.2.8ageconfidence
react-dom (source)19.2.019.2.8ageconfidence

Release Notes

react/react (react)

v19.2.8

Compare Source

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components

v19.2.4

Compare Source

React Server Components

v19.2.3

Compare Source

React Server Components

v19.2.2

Compare Source

React Server Components

v19.2.1

Compare Source

React Server Components
react/react (react-dom)

v19.2.8

Compare Source

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components

v19.2.4

Compare Source

React Server Components

v19.2.3

Compare Source

React Server Components

v19.2.2

Compare Source

React Server Components

v19.2.1

Compare Source

React Server Components

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@cloudflare-workers-and-pages

cloudflare-workers-and-pagesBot commented Nov 27, 2025

Copy link
Copy Markdown

Deploying docs with Cloudflare Pages Cloudflare Pages

Latest commit:8d8d9ae
Status:🚫 Build failed.

View logs

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from d500a06 to 8f9a564CompareDecember 4, 2025 19:30
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 8f9a564 to 8d8d9aeCompareDecember 12, 2025 00:00
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 8d8d9ae to 9c2e88fCompareJanuary 1, 2026 01:16
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from f168ce8 to 0a13768CompareJanuary 11, 2026 07:37
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.7chore(deps): update react monorepo to v19.2.8Jan 11, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from b28c978 to d0a2c20CompareJanuary 21, 2026 07:34
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.8chore(deps): update react monorepo to v19.2.9Jan 21, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 3 times, most recently from 2a277f2 to 7739a2bCompareJanuary 28, 2026 19:46
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.9chore(deps): update react monorepo to v19.2.10Jan 28, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 1c52659 to ba3e90eCompareFebruary 4, 2026 20:15
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.10chore(deps): update react monorepo to v19.2.11Feb 4, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from ba3e90e to eb5703aCompareFebruary 6, 2026 03:15
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.11chore(deps): update react monorepo to v19.2.13Feb 6, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from eb5703a to d8e9377CompareFebruary 13, 2026 11:42
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.13chore(deps): update react monorepo to v19.2.14Feb 13, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from d8e9377 to 72c8caeCompareFebruary 19, 2026 03:14
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from ebfeb96 to 643f7efCompareMarch 14, 2026 14:09
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 643f7ef to 8491c21CompareApril 15, 2026 17:23
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.14Update react monorepo to v19.2.14Apr 15, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 78e99e6 to 3a9ed6cCompareMay 6, 2026 19:39

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React and React DOM from v19.2.0 to v19.2.14, along with updating all related dependencies in the lock files (package-lock.json and yarn.lock). This is a Renovate bot-generated PR for routine dependency maintenance.

Verdict: Needs changes before merging - While the React upgrade itself appears safe, there are significant concerns about the Node.js engine requirement changes that need to be addressed.

Research notes

  • React 19.2.6 Release Notes: The latest version (19.2.6, released May 6th, 2026) includes "Type hardening and performance improvements" for React Server Components (#36425). No breaking changes mentioned for this patch update.

  • React 19 Upgrade Guide: According to React's official upgrade guide, React 19 introduces several breaking changes including:

    • Removal of ReactDOM.render, ReactDOM.hydrate (must use createRoot/hydrateRoot)
    • Removal of propTypes and defaultProps for function components
    • Removal of string refs, legacy context, and other deprecated APIs
    • Changes to error handling (errors no longer re-thrown)
    • TypeScript type changes requiring useRef to have an argument
  • Docusaurus Compatibility: The lock file changes show Docusaurus packages being updated from 3.8.1 to 3.10.1, which now support react: ^18.0.0 || ^19.0.0. However, the engine requirement changed from node: >=18.0 to node: >=20.0 across all Docusaurus packages.

  • Current package.json: Still specifies "engines": { "node": ">=18.0" } and "packageManager": "yarn@4.9.4"

Suggested next steps

  1. Blocking: Update the engines field in package.json from "node": ">=18.0" to "node": ">=20.0" to match the new Docusaurus requirements, or verify your deployment environment supports Node.js 20+.

  2. Non-blocking: Verify the application builds and runs correctly with React 19.2.6, especially if using any deprecated patterns like:

    • String refs (ref="myRef")
    • propTypes on function components
    • defaultProps on function components
    • Legacy ReactDOM.render() calls
  3. Testing recommendation: Run the full test suite and verify SSR/hydration works correctly, as React 19 has improved hydration error reporting that may surface previously hidden issues.

General findings

  • The PR only contains lock file changes (package-lock.json and yarn.lock), with no changes to package.json. This is appropriate for a dependency version bump where the semver ranges already allow the new versions.

  • The React upgrade path is correct: ^19.0.0 in package.json correctly resolves to 19.2.6 (the latest 19.x version).

  • Many transitive dependencies have been updated alongside React, including:

    • postcss-preset-env: 10.4.0 → 10.6.1
    • node-gyp: 11.5.0 → 12.3.0 (now uses undici instead of make-fetch-happen)
    • Various security patches in the ecosystem
  • Important: If your CI/CD pipeline or production environment runs Node.js 18.x, this PR will break builds after merge due to the Docusaurus engine requirement change to Node.js 20+. This should be verified before merging.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 3a9ed6c to 94df8e5CompareMay 13, 2026 07:11

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React-related dependencies from v19.2.0 to v19.2.6 (React/ReactDOM) and @types/react to v19.2.14. The update itself appears safe - the React 19.2.6 release notes indicate only "type hardening and performance improvements" for React Server Components with no breaking changes.

However, there are several issues that need attention before this can be approved:

  1. Misleading PR title - Claims "v19.2.14" but React itself only goes to 19.2.6
  2. Version constraint drift - yarn.lock shows changed version ranges (^19.0.0 → ^19.2.6)
  3. Dual lockfile anti-pattern - Both yarn.lock and package-lock.json committed despite using Yarn

Research notes

  • Fetched React 19.2.6 release notes - confirms minor update with type/performance improvements only
  • Package.json specifies "packageManager": "yarn@4.9.4" indicating Yarn Berry is the intended package manager
  • Yarn lockfile format confirms Yarn 4.x (checksums use 10c0/ prefix)

Suggested next steps

  1. Fix PR title to accurately reflect versions (React 19.2.6, @types/react 19.2.14)
  2. Investigate why yarn.lock version constraints changed from ^19.0.0 to ^19.2.6 - this suggests either manual editing or transitive dependency forcing resolution
  3. Remove package-lock.json from version control since project uses Yarn (or configure corepack to prevent npm from generating it)
  4. Run yarn install fresh to regenerate clean lockfile with correct version ranges preserved

General findings

Dual lockfile maintenance issue

The repository tracks both yarn.lock and package-lock.json, but package.json explicitly declares "packageManager": "yarn@4.9.4". This creates potential for dependency drift between tools.

Why it matters: Having both lockfiles can lead to inconsistent installations depending on which tool runs first. CI might use one tool while developers use another, causing "works on my machine" issues.

Suggested fix: Add package-lock.json to .gitignore and remove it from the repository. If npm compatibility is needed, consider using yarn install --no-immutable in CI or document which tool is authoritative.


Version constraint preservation in yarn.lock

The diff shows yarn.lock entries changing from "react@npm:^19.0.0" to "react@npm:^19.2.6". Yarn typically preserves the original semver range from package.json in the lockfile key.

Why it matters: This suggests either (a) the lockfile was regenerated with different resolution logic, (b) a transitive dependency is forcing stricter constraints, or (c) manual edits were made. This makes the actual resolved versions opaque to future maintainers.

Suggested fix: Run yarn install with the current package.json to regenerate the lockfile. Verify that version ranges in yarn.lock match what's declared in package.json.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 94df8e5 to 3fc03faCompareMay 21, 2026 07:54
@renovaterenovateBot changed the title Update react monorepo to v19.2.14Update react monorepo to v19.2.15May 21, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates the yarn.lock and package-lock.json files to resolve newer versions of React ecosystem packages. The base package.json dependencies remain unchanged (react@^19.0.0, react-dom@^19.0.0, Docusaurus ^3.9.2), but the lock files now resolve to more recent patch versions.

Verdict: Approved with minor notes - this is a routine dependency resolution update with no breaking changes expected for end users.

Research notes

  • React 19.2.x changelog: React 19.2.0 introduced <Activity>, useEffectEvent, cacheSignal, and various SSR/Suspense improvements. Patch versions 19.2.1-19.2.6 contain bug fixes only.
  • Docusaurus compatibility: Docusaurus 3.9.2 (current in package.json) supports React 19 per official docs. The resolved @docusaurus/* packages at ^3.9.2 maintain compatibility with React 19.2.x.
  • webpack-dev-middleware: Updated from 5.x to 7.x (requires Node >= 18.12, already satisfied by engine constraint >=18.0).
  • selfsigned: Major version jump from 2.4.1 to 5.5.0 - internal dev dependency for webpack-dev-server, no user-facing impact.

Suggested next steps

  1. Verify build locally - Run yarn install && yarn build to ensure the new resolved versions don't introduce any type errors or build failures.
  2. Test dev server - The webpack-dev-server and webpack-dev-middleware updates could affect local development; verify yarn start works correctly.
  3. Consider pinning React versions - If deterministic builds are critical, consider changing ^19.0.0 to an exact version in package.json to prevent future surprises.

General findings

  • The PR title "Update react monorepo to v19.2.15" is slightly misleading - react and react-dom are updated to 19.2.6, while only @types/react goes to 19.2.15. This is normal (type definitions often version independently), but worth clarifying.
  • No changes to package.json means this is purely a lockfile regeneration, likely from running yarn install with updated upstream packages.
  • All peer dependency ranges appear satisfied - no conflicts detected in the lock file diff.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 3fc03fa to fe17fe1CompareMay 30, 2026 11:30

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates lock files (package-lock.json and yarn.lock) to resolve dependency versions, primarily driven by React type definitions updates (@types/react 19.2.2 → 19.2.15, @types/react-dom 19.2.2 → 19.2.3). The changes also pull in updated transitive dependencies including Docusaurus (3.8.1 → 3.9.2/3.10.1), Algolia clients (5.40.x → 5.53.0), and Babel packages (7.27.x/7.28.x → 7.29.7).

Verdict: Needs changes - the package.json engines field should be updated to reflect new Node.js requirements from Docusaurus.

Research notes

  • Fetched Docusaurus release notes: Updates from 3.8.1 to 3.10.1 are backward-compatible minor releases with bug fixes and features, no breaking changes for typical documentation site usage.
  • Checked npm registry for @types/react: Version 19.2.15 is the latest stable release (published May 2026), updating from 19.2.2. These are TypeScript type definitions from DefinitelyTyped - typically non-breaking.
  • CI workflow uses Node.js 22, which satisfies all new engine requirements.

Suggested next steps

  1. Blocking: Update package.json engines field from "node": ">=18.0" to "node": ">=20.0" to align with Docusaurus 3.9+ requirements.
  2. Consider documenting the Node.js version requirement change in a changelog or migration note if one exists.
  3. Verify the build succeeds locally with Node 20+ before merging.

General findings

Node.js Engine Requirement Mismatch

Multiple Docusaurus packages (core, bundler, logger, plugin-content-docs, theme-classic, etc.) now specify "engines": { "node": ">=20.0" } in the updated lock files, but package.json still declares "engines": { "node": ">=18.0" }. While the CI uses Node 22 (which is compatible), developers or deployment environments using Node 18 may encounter warnings or failures.

Mixed Package Manager Lock Files

The repository maintains both package-lock.json (npm) and yarn.lock (Yarn). The project explicitly uses Yarn 4.9.4 (per packageManager field and .yarnrc.yml). Having both lock files can lead to divergence if updates are made with different package managers. Consider whether package-lock.json is needed or should be added to .gitignore if only Yarn is used.

PR Title Accuracy

The title "Update react monorepo to v19.2.15" is somewhat misleading - while @types/react is updated to 19.2.15, the PR includes broader dependency updates (Docusaurus, Algolia, Babel). A more accurate title might be "chore(deps): update dependencies" or similar.

General findings (auto-demoted from inline due to pre-validation)

  • Blockingpackage-lock.json:49 — This engines declaration in package.json specifies ">=18.0" but the updated Docusaurus dependencies (visible in this diff at multiple locations) now require "node": ">=20.0". This mismatch could cause issues for developers or CI environments running Node 18.
    • (demoted: line 49 (side=RIGHT) is not part of any diff hunk in package-lock.json)

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from fe17fe1 to c4ab7daCompareJune 5, 2026 03:15
@renovaterenovateBot changed the title Update react monorepo to v19.2.15Update react monorepo to v19.2.16Jun 5, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates the React-related dependencies in the lock files (yarn.lock and package-lock.json). The commit message states "Update react monorepo to v19.2.16" but the actual React version being resolved is 19.2.7. The package.json continues to specify ^19.0.0 for React packages.

Verdict: Needs clarification before approval - The PR appears to be a routine dependency update from Renovate, but there are discrepancies between the PR title, commit message, and actual versions being installed that should be clarified.

Research notes

I reviewed the React 19 release notes and React 19 Upgrade Guide to identify potential breaking changes:

  1. JSX Transform: React 19 requires the new JSX transform (introduced in 2020). Most modern setups already have this enabled via Babel/TypeScript configuration.
  2. Removed deprecated APIs: propTypes, defaultProps for function components, string refs, legacy context, createFactory, module pattern factories, and various ReactDOM methods (render, hydrate, unmountComponentAtNode, findDOMNode).
  3. Error handling changes: Errors in render are no longer re-thrown; new onUncaughtError and onCaughtError callbacks are available.
  4. TypeScript changes: useRef now requires an argument, ref callback cleanup functions change typing requirements.

For this Docusaurus site using React 19.0.0 → 19.2.7, the main risk is transitive dependencies that may rely on deprecated React APIs.

Suggested next steps

  1. Clarify the version discrepancy between PR title (v19.2.15), commit message (v19.2.16), and actual React version (19.2.7)
  2. Test the build locally with yarn install && yarn build to ensure Docusaurus can successfully build with the updated React version
  3. Consider updating package.json to explicitly specify the target React version range if intentional (e.g., ^19.2.7)
  4. Verify TypeScript compilation passes with the updated @types/react and @types/react-dom (19.2.16)

General findings

Version inconsistency in PR metadata

The PR title states "Update react monorepo to v19.2.15" but:

  • The commit message says "Update react monorepo to v19.2.16"
  • The yarn.lock resolves React to version 19.2.7
  • The @types/react resolves to 19.2.16

This suggests the PR title may have been auto-generated incorrectly by Renovate, or there's confusion about which version number refers to which package. For future Renovate PRs, consider configuring Renovate to include more specific version information in the PR title.

Package.json vs lockfile drift

The package.json specifies "react": "^19.0.0" which allows any 19.x version, so the lockfile updating to 19.2.7 is within spec. However, if you want more predictable builds or explicit version tracking, consider:

  • Pinning to exact versions: "react": "19.2.7"
  • Or using a more specific range: "react": "^19.2.0"

This would make it clearer what React version the project targets and reduce confusion in PR titles.

Build verification recommended

The CI workflow runs yarn build which should catch most React compatibility issues. However, I recommend manually testing:

  1. Local dev server with yarn start
  2. Production build with yarn build
  3. Preview the built site with yarn serve

This ensures React 19.2.7 doesn't introduce runtime issues with your Docusaurus components, especially the custom InteractiveOverview component.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from c4ab7da to f9e1b32CompareJune 6, 2026 23:16
@renovaterenovateBot changed the title Update react monorepo to v19.2.16Update react monorepo to v19.2.17Jun 6, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React and React-DOM from 19.2.0 to 19.2.7 via Yarn's semver resolution (package.json specifies ^19.2.7 after the update). The change also updates numerous transitive dependencies including build tools, CSS processors, and server-related packages.

Verdict: Needs minor corrections before merging — see blocking finding about version mismatch.

Research notes

  • React 19 Release Notes: React 19 introduced new features like Actions, useActionState, useOptimistic, use(), ref as prop, form actions, and Server Components. Breaking changes include removal of deprecated APIs (propTypes, defaultProps for functions, string refs, legacy context, ReactDOM.render, etc.).
  • React 19 Upgrade Guide: Provides migration guidance and codemods for breaking changes.
  • React Changelog: Versions 19.2.0 → 19.2.7 contain bug fixes primarily for React Server Components (cycle protection, FormData fixes in Server Actions).
  • Docusaurus 3.9.x (current version in package.json) supports React 18.x and 19.x according to peer dependency ranges found in lockfile (react: ">= 16.8.0 < 20.0.0").

Suggested next steps

  1. Blocking: Fix the version mismatch between PR title ("v19.2.16"), commit message ("v19.2.17"), and actual resolved versions in lockfiles (19.2.7).
  2. Verify the application builds successfully with yarn build after merging.
  3. Test SSR/hydration behavior if the app uses static site generation or server-side rendering.
  4. If using any deprecated patterns (string refs, propTypes, defaultProps in function components), address them proactively even though React 19 may only warn in some cases.

General findings

Transitive dependency updates warrant attention

Several notable transitive dependency changes:

  • node-gyp: 11.5.0 → 12.4.0 (native build tool, should not affect runtime)
  • postcss-preset-env: 10.4.0 → 10.6.1 (CSS processing, added new PostCSS plugins)
  • svgo: 3.3.2 → 3.3.3 (SVG optimization)
  • selfsigned: 2.4.1 → 5.5.0 (major version bump, changed from node-forge to pkijs for certificate generation — dev-only dependency)
  • qs: 6.13.0 → 6.15.2 (query string parsing, minor security/stability fixes)
  • send/serve-static/express ecosystem: Multiple packages received patch updates addressing security hardening (e.g., encodeurl, http-errors, statuses version alignment)

These are all indirect dependencies used during build/dev time. Runtime impact should be minimal, but testing is recommended.

No source code changes required

The package.json already declares ^19.0.0 for React, so this update aligns the lockfile with what was already permitted. Assuming the codebase was working on 19.2.0, no code changes should be needed for 19.2.7 since it's a patch release focused on bug fixes.

JSX transform

React 19 requires the new JSX transform. Since the project uses Docusaurus 3.9.x and TypeScript, the Babel/TypeScript configuration should already emit the modern JSX format. If you see warnings about "outdated JSX transform", check your tsconfig.json has "jsx": "react-jsx" or that Babel config includes @babel/preset-react with runtime: 'automatic'.

General findings (auto-demoted from inline due to pre-validation)

  • Blockingyarn.lock:12047 — Version specifier inconsistency detected.
    • (demoted: line 12047 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:12052 — Peer dependency alignment looks correct.
    • (demoted: line 12052 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:12062 — React version update from 19.2.0 to 19.2.7.
    • (demoted: line 12062 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:9380path-to-regexp updated from 0.1.12 to 0.1.13.
    • (demoted: line 9380 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:11139 — Major version bump for selfsigned from 2.4.1 to 5.5.0.
    • (demoted: line 11139 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:10452qs updated from 6.13.0 to 6.15.2.
    • (demoted: line 10452 (side=RIGHT) is not part of any diff hunk in yarn.lock)

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from f9e1b32 to 79f90a9CompareJune 13, 2026 03:01
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 79f90a9 to cd06a6dCompareJuly 18, 2026 02:55
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 86d10a2 to 02c000bCompareAugust 1, 2026 07:43
@renovaterenovateBot changed the title Update react monorepo to v19.2.17Update react monorepo to v19.2.18Aug 1, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 02c000b to be75d17CompareAugust 15, 2026 03:44
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from be75d17 to 7c70b8bCompareAugust 29, 2026 08:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Update react monorepo to v19.2.18 - #16

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-monorepo
Open

Update react monorepo to v19.2.18#16
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-monorepo

Conversation

@renovate

@renovaterenovateBot commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
@types/react (source)19.2.219.2.18ageconfidence
@types/react-dom (source)19.2.219.2.5ageconfidence
react (source)19.2.019.2.8ageconfidence
react-dom (source)19.2.019.2.8ageconfidence

Release Notes

react/react (react)

v19.2.8

Compare Source

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components

v19.2.4

Compare Source

React Server Components

v19.2.3

Compare Source

React Server Components

v19.2.2

Compare Source

React Server Components

v19.2.1

Compare Source

React Server Components
react/react (react-dom)

v19.2.8

Compare Source

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components

v19.2.4

Compare Source

React Server Components

v19.2.3

Compare Source

React Server Components

v19.2.2

Compare Source

React Server Components

v19.2.1

Compare Source

React Server Components

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@cloudflare-workers-and-pages

cloudflare-workers-and-pagesBot commented Nov 27, 2025

Copy link
Copy Markdown

Deploying docs with Cloudflare Pages Cloudflare Pages

Latest commit:8d8d9ae
Status:🚫 Build failed.

View logs

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from d500a06 to 8f9a564CompareDecember 4, 2025 19:30
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 8f9a564 to 8d8d9aeCompareDecember 12, 2025 00:00
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 8d8d9ae to 9c2e88fCompareJanuary 1, 2026 01:16
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from f168ce8 to 0a13768CompareJanuary 11, 2026 07:37
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.7chore(deps): update react monorepo to v19.2.8Jan 11, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from b28c978 to d0a2c20CompareJanuary 21, 2026 07:34
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.8chore(deps): update react monorepo to v19.2.9Jan 21, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 3 times, most recently from 2a277f2 to 7739a2bCompareJanuary 28, 2026 19:46
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.9chore(deps): update react monorepo to v19.2.10Jan 28, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 1c52659 to ba3e90eCompareFebruary 4, 2026 20:15
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.10chore(deps): update react monorepo to v19.2.11Feb 4, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from ba3e90e to eb5703aCompareFebruary 6, 2026 03:15
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.11chore(deps): update react monorepo to v19.2.13Feb 6, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from eb5703a to d8e9377CompareFebruary 13, 2026 11:42
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.13chore(deps): update react monorepo to v19.2.14Feb 13, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from d8e9377 to 72c8caeCompareFebruary 19, 2026 03:14
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from ebfeb96 to 643f7efCompareMarch 14, 2026 14:09
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 643f7ef to 8491c21CompareApril 15, 2026 17:23
@renovaterenovateBot changed the title chore(deps): update react monorepo to v19.2.14Update react monorepo to v19.2.14Apr 15, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 78e99e6 to 3a9ed6cCompareMay 6, 2026 19:39

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React and React DOM from v19.2.0 to v19.2.14, along with updating all related dependencies in the lock files (package-lock.json and yarn.lock). This is a Renovate bot-generated PR for routine dependency maintenance.

Verdict: Needs changes before merging - While the React upgrade itself appears safe, there are significant concerns about the Node.js engine requirement changes that need to be addressed.

Research notes

  • React 19.2.6 Release Notes: The latest version (19.2.6, released May 6th, 2026) includes "Type hardening and performance improvements" for React Server Components (#36425). No breaking changes mentioned for this patch update.

  • React 19 Upgrade Guide: According to React's official upgrade guide, React 19 introduces several breaking changes including:

    • Removal of ReactDOM.render, ReactDOM.hydrate (must use createRoot/hydrateRoot)
    • Removal of propTypes and defaultProps for function components
    • Removal of string refs, legacy context, and other deprecated APIs
    • Changes to error handling (errors no longer re-thrown)
    • TypeScript type changes requiring useRef to have an argument
  • Docusaurus Compatibility: The lock file changes show Docusaurus packages being updated from 3.8.1 to 3.10.1, which now support react: ^18.0.0 || ^19.0.0. However, the engine requirement changed from node: >=18.0 to node: >=20.0 across all Docusaurus packages.

  • Current package.json: Still specifies "engines": { "node": ">=18.0" } and "packageManager": "yarn@4.9.4"

Suggested next steps

  1. Blocking: Update the engines field in package.json from "node": ">=18.0" to "node": ">=20.0" to match the new Docusaurus requirements, or verify your deployment environment supports Node.js 20+.

  2. Non-blocking: Verify the application builds and runs correctly with React 19.2.6, especially if using any deprecated patterns like:

    • String refs (ref="myRef")
    • propTypes on function components
    • defaultProps on function components
    • Legacy ReactDOM.render() calls
  3. Testing recommendation: Run the full test suite and verify SSR/hydration works correctly, as React 19 has improved hydration error reporting that may surface previously hidden issues.

General findings

  • The PR only contains lock file changes (package-lock.json and yarn.lock), with no changes to package.json. This is appropriate for a dependency version bump where the semver ranges already allow the new versions.

  • The React upgrade path is correct: ^19.0.0 in package.json correctly resolves to 19.2.6 (the latest 19.x version).

  • Many transitive dependencies have been updated alongside React, including:

    • postcss-preset-env: 10.4.0 → 10.6.1
    • node-gyp: 11.5.0 → 12.3.0 (now uses undici instead of make-fetch-happen)
    • Various security patches in the ecosystem
  • Important: If your CI/CD pipeline or production environment runs Node.js 18.x, this PR will break builds after merge due to the Docusaurus engine requirement change to Node.js 20+. This should be verified before merging.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 3a9ed6c to 94df8e5CompareMay 13, 2026 07:11

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React-related dependencies from v19.2.0 to v19.2.6 (React/ReactDOM) and @types/react to v19.2.14. The update itself appears safe - the React 19.2.6 release notes indicate only "type hardening and performance improvements" for React Server Components with no breaking changes.

However, there are several issues that need attention before this can be approved:

  1. Misleading PR title - Claims "v19.2.14" but React itself only goes to 19.2.6
  2. Version constraint drift - yarn.lock shows changed version ranges (^19.0.0 → ^19.2.6)
  3. Dual lockfile anti-pattern - Both yarn.lock and package-lock.json committed despite using Yarn

Research notes

  • Fetched React 19.2.6 release notes - confirms minor update with type/performance improvements only
  • Package.json specifies "packageManager": "yarn@4.9.4" indicating Yarn Berry is the intended package manager
  • Yarn lockfile format confirms Yarn 4.x (checksums use 10c0/ prefix)

Suggested next steps

  1. Fix PR title to accurately reflect versions (React 19.2.6, @types/react 19.2.14)
  2. Investigate why yarn.lock version constraints changed from ^19.0.0 to ^19.2.6 - this suggests either manual editing or transitive dependency forcing resolution
  3. Remove package-lock.json from version control since project uses Yarn (or configure corepack to prevent npm from generating it)
  4. Run yarn install fresh to regenerate clean lockfile with correct version ranges preserved

General findings

Dual lockfile maintenance issue

The repository tracks both yarn.lock and package-lock.json, but package.json explicitly declares "packageManager": "yarn@4.9.4". This creates potential for dependency drift between tools.

Why it matters: Having both lockfiles can lead to inconsistent installations depending on which tool runs first. CI might use one tool while developers use another, causing "works on my machine" issues.

Suggested fix: Add package-lock.json to .gitignore and remove it from the repository. If npm compatibility is needed, consider using yarn install --no-immutable in CI or document which tool is authoritative.


Version constraint preservation in yarn.lock

The diff shows yarn.lock entries changing from "react@npm:^19.0.0" to "react@npm:^19.2.6". Yarn typically preserves the original semver range from package.json in the lockfile key.

Why it matters: This suggests either (a) the lockfile was regenerated with different resolution logic, (b) a transitive dependency is forcing stricter constraints, or (c) manual edits were made. This makes the actual resolved versions opaque to future maintainers.

Suggested fix: Run yarn install with the current package.json to regenerate the lockfile. Verify that version ranges in yarn.lock match what's declared in package.json.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 94df8e5 to 3fc03faCompareMay 21, 2026 07:54
@renovaterenovateBot changed the title Update react monorepo to v19.2.14Update react monorepo to v19.2.15May 21, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates the yarn.lock and package-lock.json files to resolve newer versions of React ecosystem packages. The base package.json dependencies remain unchanged (react@^19.0.0, react-dom@^19.0.0, Docusaurus ^3.9.2), but the lock files now resolve to more recent patch versions.

Verdict: Approved with minor notes - this is a routine dependency resolution update with no breaking changes expected for end users.

Research notes

  • React 19.2.x changelog: React 19.2.0 introduced <Activity>, useEffectEvent, cacheSignal, and various SSR/Suspense improvements. Patch versions 19.2.1-19.2.6 contain bug fixes only.
  • Docusaurus compatibility: Docusaurus 3.9.2 (current in package.json) supports React 19 per official docs. The resolved @docusaurus/* packages at ^3.9.2 maintain compatibility with React 19.2.x.
  • webpack-dev-middleware: Updated from 5.x to 7.x (requires Node >= 18.12, already satisfied by engine constraint >=18.0).
  • selfsigned: Major version jump from 2.4.1 to 5.5.0 - internal dev dependency for webpack-dev-server, no user-facing impact.

Suggested next steps

  1. Verify build locally - Run yarn install && yarn build to ensure the new resolved versions don't introduce any type errors or build failures.
  2. Test dev server - The webpack-dev-server and webpack-dev-middleware updates could affect local development; verify yarn start works correctly.
  3. Consider pinning React versions - If deterministic builds are critical, consider changing ^19.0.0 to an exact version in package.json to prevent future surprises.

General findings

  • The PR title "Update react monorepo to v19.2.15" is slightly misleading - react and react-dom are updated to 19.2.6, while only @types/react goes to 19.2.15. This is normal (type definitions often version independently), but worth clarifying.
  • No changes to package.json means this is purely a lockfile regeneration, likely from running yarn install with updated upstream packages.
  • All peer dependency ranges appear satisfied - no conflicts detected in the lock file diff.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 3fc03fa to fe17fe1CompareMay 30, 2026 11:30

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates lock files (package-lock.json and yarn.lock) to resolve dependency versions, primarily driven by React type definitions updates (@types/react 19.2.2 → 19.2.15, @types/react-dom 19.2.2 → 19.2.3). The changes also pull in updated transitive dependencies including Docusaurus (3.8.1 → 3.9.2/3.10.1), Algolia clients (5.40.x → 5.53.0), and Babel packages (7.27.x/7.28.x → 7.29.7).

Verdict: Needs changes - the package.json engines field should be updated to reflect new Node.js requirements from Docusaurus.

Research notes

  • Fetched Docusaurus release notes: Updates from 3.8.1 to 3.10.1 are backward-compatible minor releases with bug fixes and features, no breaking changes for typical documentation site usage.
  • Checked npm registry for @types/react: Version 19.2.15 is the latest stable release (published May 2026), updating from 19.2.2. These are TypeScript type definitions from DefinitelyTyped - typically non-breaking.
  • CI workflow uses Node.js 22, which satisfies all new engine requirements.

Suggested next steps

  1. Blocking: Update package.json engines field from "node": ">=18.0" to "node": ">=20.0" to align with Docusaurus 3.9+ requirements.
  2. Consider documenting the Node.js version requirement change in a changelog or migration note if one exists.
  3. Verify the build succeeds locally with Node 20+ before merging.

General findings

Node.js Engine Requirement Mismatch

Multiple Docusaurus packages (core, bundler, logger, plugin-content-docs, theme-classic, etc.) now specify "engines": { "node": ">=20.0" } in the updated lock files, but package.json still declares "engines": { "node": ">=18.0" }. While the CI uses Node 22 (which is compatible), developers or deployment environments using Node 18 may encounter warnings or failures.

Mixed Package Manager Lock Files

The repository maintains both package-lock.json (npm) and yarn.lock (Yarn). The project explicitly uses Yarn 4.9.4 (per packageManager field and .yarnrc.yml). Having both lock files can lead to divergence if updates are made with different package managers. Consider whether package-lock.json is needed or should be added to .gitignore if only Yarn is used.

PR Title Accuracy

The title "Update react monorepo to v19.2.15" is somewhat misleading - while @types/react is updated to 19.2.15, the PR includes broader dependency updates (Docusaurus, Algolia, Babel). A more accurate title might be "chore(deps): update dependencies" or similar.

General findings (auto-demoted from inline due to pre-validation)

  • Blockingpackage-lock.json:49 — This engines declaration in package.json specifies ">=18.0" but the updated Docusaurus dependencies (visible in this diff at multiple locations) now require "node": ">=20.0". This mismatch could cause issues for developers or CI environments running Node 18.
    • (demoted: line 49 (side=RIGHT) is not part of any diff hunk in package-lock.json)

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from fe17fe1 to c4ab7daCompareJune 5, 2026 03:15
@renovaterenovateBot changed the title Update react monorepo to v19.2.15Update react monorepo to v19.2.16Jun 5, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates the React-related dependencies in the lock files (yarn.lock and package-lock.json). The commit message states "Update react monorepo to v19.2.16" but the actual React version being resolved is 19.2.7. The package.json continues to specify ^19.0.0 for React packages.

Verdict: Needs clarification before approval - The PR appears to be a routine dependency update from Renovate, but there are discrepancies between the PR title, commit message, and actual versions being installed that should be clarified.

Research notes

I reviewed the React 19 release notes and React 19 Upgrade Guide to identify potential breaking changes:

  1. JSX Transform: React 19 requires the new JSX transform (introduced in 2020). Most modern setups already have this enabled via Babel/TypeScript configuration.
  2. Removed deprecated APIs: propTypes, defaultProps for function components, string refs, legacy context, createFactory, module pattern factories, and various ReactDOM methods (render, hydrate, unmountComponentAtNode, findDOMNode).
  3. Error handling changes: Errors in render are no longer re-thrown; new onUncaughtError and onCaughtError callbacks are available.
  4. TypeScript changes: useRef now requires an argument, ref callback cleanup functions change typing requirements.

For this Docusaurus site using React 19.0.0 → 19.2.7, the main risk is transitive dependencies that may rely on deprecated React APIs.

Suggested next steps

  1. Clarify the version discrepancy between PR title (v19.2.15), commit message (v19.2.16), and actual React version (19.2.7)
  2. Test the build locally with yarn install && yarn build to ensure Docusaurus can successfully build with the updated React version
  3. Consider updating package.json to explicitly specify the target React version range if intentional (e.g., ^19.2.7)
  4. Verify TypeScript compilation passes with the updated @types/react and @types/react-dom (19.2.16)

General findings

Version inconsistency in PR metadata

The PR title states "Update react monorepo to v19.2.15" but:

  • The commit message says "Update react monorepo to v19.2.16"
  • The yarn.lock resolves React to version 19.2.7
  • The @types/react resolves to 19.2.16

This suggests the PR title may have been auto-generated incorrectly by Renovate, or there's confusion about which version number refers to which package. For future Renovate PRs, consider configuring Renovate to include more specific version information in the PR title.

Package.json vs lockfile drift

The package.json specifies "react": "^19.0.0" which allows any 19.x version, so the lockfile updating to 19.2.7 is within spec. However, if you want more predictable builds or explicit version tracking, consider:

  • Pinning to exact versions: "react": "19.2.7"
  • Or using a more specific range: "react": "^19.2.0"

This would make it clearer what React version the project targets and reduce confusion in PR titles.

Build verification recommended

The CI workflow runs yarn build which should catch most React compatibility issues. However, I recommend manually testing:

  1. Local dev server with yarn start
  2. Production build with yarn build
  3. Preview the built site with yarn serve

This ensures React 19.2.7 doesn't introduce runtime issues with your Docusaurus components, especially the custom InteractiveOverview component.

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from c4ab7da to f9e1b32CompareJune 6, 2026 23:16
@renovaterenovateBot changed the title Update react monorepo to v19.2.16Update react monorepo to v19.2.17Jun 6, 2026

@doubleword-codedoubleword-codeBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

This PR updates React and React-DOM from 19.2.0 to 19.2.7 via Yarn's semver resolution (package.json specifies ^19.2.7 after the update). The change also updates numerous transitive dependencies including build tools, CSS processors, and server-related packages.

Verdict: Needs minor corrections before merging — see blocking finding about version mismatch.

Research notes

  • React 19 Release Notes: React 19 introduced new features like Actions, useActionState, useOptimistic, use(), ref as prop, form actions, and Server Components. Breaking changes include removal of deprecated APIs (propTypes, defaultProps for functions, string refs, legacy context, ReactDOM.render, etc.).
  • React 19 Upgrade Guide: Provides migration guidance and codemods for breaking changes.
  • React Changelog: Versions 19.2.0 → 19.2.7 contain bug fixes primarily for React Server Components (cycle protection, FormData fixes in Server Actions).
  • Docusaurus 3.9.x (current version in package.json) supports React 18.x and 19.x according to peer dependency ranges found in lockfile (react: ">= 16.8.0 < 20.0.0").

Suggested next steps

  1. Blocking: Fix the version mismatch between PR title ("v19.2.16"), commit message ("v19.2.17"), and actual resolved versions in lockfiles (19.2.7).
  2. Verify the application builds successfully with yarn build after merging.
  3. Test SSR/hydration behavior if the app uses static site generation or server-side rendering.
  4. If using any deprecated patterns (string refs, propTypes, defaultProps in function components), address them proactively even though React 19 may only warn in some cases.

General findings

Transitive dependency updates warrant attention

Several notable transitive dependency changes:

  • node-gyp: 11.5.0 → 12.4.0 (native build tool, should not affect runtime)
  • postcss-preset-env: 10.4.0 → 10.6.1 (CSS processing, added new PostCSS plugins)
  • svgo: 3.3.2 → 3.3.3 (SVG optimization)
  • selfsigned: 2.4.1 → 5.5.0 (major version bump, changed from node-forge to pkijs for certificate generation — dev-only dependency)
  • qs: 6.13.0 → 6.15.2 (query string parsing, minor security/stability fixes)
  • send/serve-static/express ecosystem: Multiple packages received patch updates addressing security hardening (e.g., encodeurl, http-errors, statuses version alignment)

These are all indirect dependencies used during build/dev time. Runtime impact should be minimal, but testing is recommended.

No source code changes required

The package.json already declares ^19.0.0 for React, so this update aligns the lockfile with what was already permitted. Assuming the codebase was working on 19.2.0, no code changes should be needed for 19.2.7 since it's a patch release focused on bug fixes.

JSX transform

React 19 requires the new JSX transform. Since the project uses Docusaurus 3.9.x and TypeScript, the Babel/TypeScript configuration should already emit the modern JSX format. If you see warnings about "outdated JSX transform", check your tsconfig.json has "jsx": "react-jsx" or that Babel config includes @babel/preset-react with runtime: 'automatic'.

General findings (auto-demoted from inline due to pre-validation)

  • Blockingyarn.lock:12047 — Version specifier inconsistency detected.
    • (demoted: line 12047 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:12052 — Peer dependency alignment looks correct.
    • (demoted: line 12052 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:12062 — React version update from 19.2.0 to 19.2.7.
    • (demoted: line 12062 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:9380path-to-regexp updated from 0.1.12 to 0.1.13.
    • (demoted: line 9380 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:11139 — Major version bump for selfsigned from 2.4.1 to 5.5.0.
    • (demoted: line 11139 (side=RIGHT) is not part of any diff hunk in yarn.lock)
  • Non-blockingyarn.lock:10452qs updated from 6.13.0 to 6.15.2.
    • (demoted: line 10452 (side=RIGHT) is not part of any diff hunk in yarn.lock)

@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from f9e1b32 to 79f90a9CompareJune 13, 2026 03:01
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 79f90a9 to cd06a6dCompareJuly 18, 2026 02:55
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch 2 times, most recently from 86d10a2 to 02c000bCompareAugust 1, 2026 07:43
@renovaterenovateBot changed the title Update react monorepo to v19.2.17Update react monorepo to v19.2.18Aug 1, 2026
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from 02c000b to be75d17CompareAugust 15, 2026 03:44
@renovate
renovateBotforce-pushed the renovate/react-monorepo branch from be75d17 to 7c70b8bCompareAugust 29, 2026 08:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants