Skip to content

fix: pin @effect/platform-node-shared to stop dual effect runtimes - #67

Merged
altaywtf merged 1 commit into
mainfrom
fix/effect-rc-drift
Aug 19, 2026
Merged

fix: pin @effect/platform-node-shared to stop dual effect runtimes#67
altaywtf merged 1 commit into
mainfrom
fix/effect-rc-drift

Conversation

@altaywtf

Copy link
Copy Markdown
Member

Problem: vp run verify is red on clean main at smoke-packed-install. Root cause: @effect/platform-node@4.0.0-rc.109 declares @effect/platform-node-shared: ^4.0.0-rc.109; upstream published rc.110, which peer-requires effect ^4.0.0-rc.110. The root effect@4.0.0-rc.109 pin does not satisfy that peer, so a fresh npm install of the packed tarball nests a second effect runtime and the single-runtime assertion fails. The published 1.6.2 package fails the same fresh-install contract. The pre-push hook (full verify) blocked every push from this repo.

Solution: pin @effect/platform-node-shared@4.0.0-rc.109 as a direct dependency. npm dedupes @effect/platform-node's ^4.0.0-rc.109 edge onto the pinned rc.109, whose effect ^4.0.0-rc.109 peer is satisfied by the existing root runtime — one effect installs. The package is resolution-only (never imported), so it is added to knip ignoreDependencies. Exact-pin scope matches the existing exact pins on effect and @effect/platform-node; drop all three together when bumping the rc.

vp run verify green including smoke-packed-install (proof artifact single-effect-runtime).

Fixes #66

🤖 Generated with Claude Code

@effect/platform-node@4.0.0-rc.109 declares
@effect/platform-node-shared: ^4.0.0-rc.109, which now floats to
rc.110 on fresh installs; rc.110 peer-requires effect ^4.0.0-rc.110,
so npm nests a second effect runtime and smoke-packed-install fails
on clean main. Pin the shared package to 4.0.0-rc.109 as a direct
dependency so the ^ range dedupes onto one runtime; knip ignores it
because it is resolution-only, not imported.

Fixes #66

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Copilot AI 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.

Pull request overview

Pins @effect/platform-node-shared to the same Effect RC version as the rest of the Effect stack to prevent dependency drift (and the resulting dual effect runtimes) during fresh installs of the packed CLI, restoring vp run verify / smoke-packed-install on clean environments.

Changes:

  • Add a direct, exact dependency pin for @effect/platform-node-shared@4.0.0-rc.109 to keep a single effect runtime resolvable.
  • Update the pnpm lockfile to reflect the new direct dependency.
  • Add @effect/platform-node-shared to knip’s ignoreDependencies since it is resolution-only and not imported.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.

File Description
package.json Adds direct exact pin for @effect/platform-node-shared to prevent RC drift.
pnpm-lock.yaml Records the new direct dependency resolution and snapshots.
knip.json Ignores @effect/platform-node-shared for unused-dependency checks (resolution-only).
Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@altaywtf
altaywtf merged commit 0ca31bd into main Aug 19, 2026
7 checks passed
@altaywtf
altaywtf deleted the fix/effect-rc-drift branch August 19, 2026 18:49
putio-releaser Bot added a commit that referenced this pull request Aug 19, 2026
## [1.6.3](v1.6.2...v1.6.3) (2026-08-19)

### Bug Fixes

* pin @effect/platform-node-shared to stop dual effect runtimes ([#67](#67)) ([0ca31bd](0ca31bd)), closes [#66](#66)
@putio-releaser

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 1.6.3 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

verify red on clean main: Effect rc drift installs a second effect runtime

2 participants