chore: bump react from 19.2.0 to 19.3.0 in /web/playground - #6316
dependabot[bot] wants to merge 1 commit into
Conversation
Bumps [react](https://github.com/react/react/tree/HEAD/packages/react) from 19.2.0 to 19.3.0. - [Release notes](https://github.com/react/react/releases) - [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/react/react/commits/v19.3.0/packages/react) --- updated-dependencies: - dependency-name: react dependency-version: 19.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
prql-bot
left a comment
There was a problem hiding this comment.
This one shouldn't merge on its own — it needs to land together with #6315 (react-dom 19.2.0 → 19.3.0). With only react bumped, the playground pins react 19.3.0 against react-dom 19.2.0, and React 19's react-dom has a hard equality guard on the two versions: the development client throws Incompatible React versions at module init, so task web:run-playground comes up as a blank page.
Nothing on this PR will show that. react-dom 19.2.0 declares its peer range as react: ^19.2.0, which 19.3.0 satisfies, so npm ci installs the mismatched pair without a warning. And the guard only exists in the development bundle — build-web runs task web:build, which is npm ci && npm run build, so it gets the production bundle and stays green either way. The failure is reachable only from the dev server.
Merging both PRs back to back is enough to clear it, but it leaves main broken for anyone who pulls in between, and merging one and forgetting the other leaves it broken indefinitely with green CI.
The durable fix is at the Dependabot level: the npm ecosystem in .github/dependabot.yaml has no groups:, so react and react-dom get a PR each. That's the same failure the pyo3 group in the cargo ecosystem was added for a few entries above — "released in lockstep with pyo3 and expects to be on the same version, but ungrouped Dependabot raises a PR for each" — and the fix has the same shape:
groups:
react:
patterns:
- "react"
- "react-dom"With that in place Dependabot would supersede this pair with a single PR. Happy to open it if you'd like.
Where the guard lives
web/playground/src/main.jsx imports react-dom/client. That resolves to react-dom/client.js, which branches on NODE_ENV:
if (process.env.NODE_ENV === 'production') {
checkDCE();
module.exports = require('./cjs/react-dom-client.production.js');
} else {
module.exports = require('./cjs/react-dom-client.development.js');
}The development bundle runs this at module scope:
(function () {
var isomorphicReactPackageVersion = React.version;
if ("19.2.0" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
"\n - react-dom: 19.2.0\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();react-dom-client.production.js contains no such check, which is why npm run build is unaffected. run-playground in web/Taskfile.yaml is the path that hits it, via npm run dev.
|
Looks like react is up-to-date now, so this is no longer needed. |
Bumps react from 19.2.0 to 19.3.0.
Release notes
Sourced from react's releases.
... (truncated)
Changelog
Sourced from react's changelog.
... (truncated)
Commits
2dc7da7[test] Bump Jest to 30.4 (#37382)4f93894docs: remove stale parentType param from validateChildKeys JSDoc (#36928)dbc3750Update required references to GitHub repo (#36752)900ae09[flow] Bump flow to v0.317.0 (#36701)fbb1370[flow] Bump flow to v0.307.1 (#36199)56922cf[react-native-renderer] Delete Paper (legacy) renderer (#36285)74568e8[Flight] TransportAggregateErrors.errors(#36156)e66ef64[tests] remove withoutStack from assertConsole helpers (#35498)db71391[Fiber] Instrument the lazy initializer thenable in all cases (#35521)3e1abcc[tests] Require exact error messages in assertConsole helpers (#35497)Maintainer changes
This version was pushed to npm by GitHub Actions, a new releaser for react since your current version.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)