chore: standardize React 19.1.x version constraints
Summary
- Updates peer dependencies to use
>=19.1.0 <19.2.0constraint across all packages - Changes React/React DOM versions from caret to tilde ranges (
~19.1.0) - Updates TypeScript type definitions to match tilde range pattern
- Ensures consistent React 19.1.x usage and prevents accidental upgrades to 19.2.x
Test plan
- [ ] Verify all packages build successfully
- [ ] Check that React version constraints are enforced correctly
- [ ] Ensure no breaking changes in dependent applications
π€ Generated with Claude Code
Summary by CodeRabbit
-
Chores
- Tightened React peer dependency to ~19.1.0 across packages.
- Switched React, React DOM, and their type defs to tilde (~19.1.0) ranges for more consistent installs.
- Updated dashboard and example apps to React 19.1.x and matching typings; tests/utilities aligned.
- CI workflow gains an option to skip smoke tests during publish.
Walkthrough
Pinned and tightened React-related dependency ranges to ~19.1.0 across multiple packages; changed several caret (^) specifiers to tilde (~) for react-dom and type packages; added a new skip_smoke input to the base action and gated start/smoke steps, and updated CI workflow to pass skip_smoke: 'true'.
Changes
| Cohort / File(s) | Summary of Changes |
|---|---|
Peer React range narrowedcloud/base/package.json, core/core/package.json, core/tests/package.json, use-fireproof/package.json, cloud/todo-app/package.json |
peerDependencies.react tightened from >=18.0.0 (or similar) to ~19.1.0 (restricting to 19.1.x) |
Tilde pin for React DOM and typingscloud/3rd-party/package.json, cloud/todo-app/package.json, dashboard/package.json, examples/react-router/package.json |
Replaced caret (^) ranges with tilde (~) for react-dom, @types/react, and @types/react-dom (targeting 19.1.x) |
CI workflow input & guards.github/workflows/ci-core-publish.yaml, actions/base/action.yaml |
Added skip_smoke input to actions/base; conditionalized start-esm + npm, smoke Attempt 1, and smoke Attempt 2 to run only when skip_smoke != 'true'; CI workflow now passes skip_smoke: 'true' to the base action |
Sequence Diagram(s)
sequenceDiagram
participant CI as GitHub Actions Runner
participant Base as actions/base
participant Steps as Build/Smoke Steps
CI->>Base: invoke action (inputs: skip_smoke: 'true')
alt skip_smoke == 'true'
Note right of Base #F3F6FF: start & smoke steps are skipped
Base-->>CI: action completes without running start/smoke
else skip_smoke != 'true'
Base->>Steps: run start-esm + npm
Steps-->>Base: start result
Base->>Steps: run smoke Attempt 1
alt smoke Attempt 1 fails
Base->>Steps: run smoke Attempt 2
Steps-->>Base: smoke Attempt 2 result
end
Base-->>CI: action completes with smoke status
end
Estimated code review effort
π― 3 (Moderate) | β±οΈ ~20 minutes
Possibly related PRs
- fireproof-storage/fireproof#1056 β overlaps with dependency edits in
cloud/3rd-party/package.json(React/react-dom/@types), likely related or conflicting.
Pre-merge checks and finishing touches
β Passed checks (3 passed)
| Check name | Status | Explanation |
|---|---|---|
| Description Check | β Passed | Check skipped - CodeRabbitβs high-level summary is enabled. |
| Title Check | β Passed | The title uses the chore prefix and focuses on standardizing React 19.1.x version constraints across packages, which aligns with the primary change. It is concise, specific, and clearly communicates the core dependency update without extraneous detail, enabling teammates to understand the main change at a glance. |
| Docstring Coverage | β Passed | No functions found in the changes. Docstring coverage check skipped. |
β¨ Finishing touches
π§ͺ Generate unit tests
- [ ] Create PR with unit tests
- [ ] Post copyable unit tests in a comment
- [ ] Commit unit tests in branch
jchris/react-version
π Recent review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
π₯ Commits
Reviewing files that changed from the base of the PR and between 834313dd06e02de659ea453ee8c7686cc5d0c8a5 and ab47c322c27d49dea484f6e61f65dc2766909873.
β Files ignored due to path filters (1)
-
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (5)
-
cloud/base/package.json(1 hunks) -
cloud/todo-app/package.json(1 hunks) -
core/core/package.json(1 hunks) -
core/tests/package.json(1 hunks) -
use-fireproof/package.json(2 hunks)
π§ Files skipped from review as they are similar to previous changes (2)
- cloud/todo-app/package.json
- use-fireproof/package.json
β° Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: compile ci core
- GitHub Check: ci compile
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands and usage tips.
released latest tag npm package from this branch
that will never land in fp