Skip to content

fix(dumbridge): pin @effect/platform-node-shared to stop the install peer warning - #80

Merged
faw01 merged 2 commits into
mainfrom
fix/effect-peer-dep
Jul 21, 2026
Merged

fix(dumbridge): pin @effect/platform-node-shared to stop the install peer warning#80
faw01 merged 2 commits into
mainfrom
fix/effect-peer-dep

Conversation

@faw01

@faw01 faw01 commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Summary

Fresh installs of dumbridge@1.0.0 print warn: incorrect peer dependency "effect@4.0.0-beta.98" (bun; npm silently installs a second effect copy).

  • Root cause: @effect/platform-bun@4.0.0-beta.98 depends on @effect/platform-node-shared@^4.0.0-beta.98. Under prerelease semver that caret range also matches the newer 4.0.0-beta.99, so fresh installs resolve node-shared at beta.99 — whose peer range is effect@^4.0.0-beta.99, which our exact-pinned effect@4.0.0-beta.98 fails.
  • Fix: pin @effect/platform-node-shared@4.0.0-beta.98 as a direct dependency of dumbridge. Both bun and npm then dedupe the whole @effect graph onto beta.98 and one effect instance; verified with clean tarball installs under both package managers (warning gone, single effect in npm ls).
  • Durable against future upstream betas (bumping everything to beta.99 would re-break when beta.100 ships). @number0/iroh alias and everything else unchanged; .fallowrc.json gains an ignoreDependencies entry since nothing imports the pin directly.

Test plan

  • bun add / npm i of the packed tarball in clean temp dirs: no peer warning, node-shared resolves to beta.98, single deduped effect
  • bunx --no-install dumbridge --version / --help from the tarball install
  • bun run verify green
  • fallow audit --base origin/main exits 0

Note

Low Risk
Dependency-resolution and tooling config only; no application or runtime logic changes.

Overview
Pins @effect/platform-node-shared@4.0.0-beta.98 as a direct dependency of dumbridge so fresh installs no longer float that transitive package to a newer beta (via @effect/platform-bun’s caret range) whose effect peer no longer matches the app’s exact effect@4.0.0-beta.98. The goal is one deduped effect instance and no incorrect-peer warnings under bun/npm.

.fallowrc.json adds ignoreDependencies for that package because nothing imports it directly—it exists only to steer resolution. A changeset records a dumbridge patch; bun.lock reflects the new dependency (and workspace version entries in the lock snapshot).

Reviewed by Cursor Bugbot for commit 006f92b. Bugbot is set up for automated code reviews on this repo. Configure here.

Summary by CodeRabbit

  • Bug Fixes
    • Fixed dependency version alignment to prevent installation warnings and compatibility issues.
    • Added the required platform support package for the Dumbridge application.

@faw01

faw01 commented Jul 19, 2026

Copy link
Copy Markdown
Owner Author

bugbot run

@faw01

faw01 commented Jul 19, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: baf98c39-384f-4958-bfa8-c8be749a2b96

📥 Commits

Reviewing files that changed from the base of the PR and between 27bb186 and 006f92b.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (3)
  • .changeset/effect-peer-dep-pin.md
  • .fallowrc.json
  • apps/dumbridge/package.json

📝 Walkthrough

Walkthrough

Adds @effect/platform-node-shared at version 4.0.0-beta.98, configures fallow to ignore its dependency usage check, and adds a Changesets patch entry documenting the exact effect beta pin.

Changes

Effect platform dependency alignment

Layer / File(s) Summary
Dependency pin and release configuration
apps/dumbridge/package.json, .fallowrc.json, .changeset/effect-peer-dep-pin.md
Adds the pinned runtime dependency, excludes it from fallow dependency checks, and records a patch release describing the peer-dependency pin.

Estimated code review effort: 1 (Trivial) | ~5 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: pinning @effect/platform-node-shared to eliminate the install peer warning.
Description check ✅ Passed It includes the core change, rationale, and test results; the template headings and Closes # link are the main missing pieces.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/effect-peer-dep

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Biome (2.5.3)
.fallowrc.json

File contains syntax errors that prevent linting: Line 13: Expected a property but instead found '// CRAP scores are static estimates here (bun test emits no Istanbul'.; Line 16: End of file expected; Line 16: End of file expected; Line 16: End of file expected; Line 17: End of file expected; Line 18: End of file expected; Line 18: End of file expected; Line 19: Expected a property but instead found '// Inherited findings stay visible in reports; only findings introduced'.; Line 18: End of file expected; Line 19: End of file expected; Line 21: End of file expected; Line 21: End of file expected; Line 21: End of file expected; Line 22: End of file expected; Line 27: End of file expected; Line 27: End of file expected; Line 27: End of file expected; Line 27: End of file expected; Line 28: End of file expected; Line 28: End of file expected; Line 30: Expected a property but instead found '// dist/cli.js externalizes @number0/iroh and just-bash, so apps/dumbridge'.; Line 28: End of file expected; Line 30: End of file expected; Line 34: End of file expected; Line 34: End of file expected; Line 34: End of file expected; Line 34: End of file expected; Line 35: End of file expected; Line 35: End of file expected; Line 35: End of file expected; Line 38: End of file expected


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cursor cursor Bot 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.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 006f92b. Configure here.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Another round soon, please!

Reviewed commit: 006f92b840

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@faw01
faw01 merged commit dbb62ec into main Jul 21, 2026
7 checks passed
@faw01
faw01 deleted the fix/effect-peer-dep branch July 21, 2026 07:55
Sign up for free to 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.

1 participant