Repository navigation
Rollout: upgrade Effect and Foldkit - #49
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Addresses only
effect-latestandfoldkit-latest. The earlier dependency rollout (#43) is merged; this branch starts fresh fromorigin/mainat e24dcdb.effect,@effect/platform-browser,@effect/platform-node,@effect/platform-node-shared,@effect/sql-d1,@effect/sql-pg,@effect/sql-sqlite-do,@effect/sql-sqlite-node,@effect/vitestfoldkit,@foldkit/ui@foldkit/vite-pluginThe catalog, public Effect peers, lockfile, installation guidance, and Changeset move together. All 12 selected packages have only their requested locked versions. No unused Foldkit companions were added.
Compatibility and migration
~4.1.0peers accept 4.1.1 directly; strict peer validation remains enabled.^4.0.0peers but imports the removedeffect/Cryptomodule. Inspected beta.81 through beta.84; all retain that runtime import, so an Alchemy update alone does not solve it. A patch scoped toalchemy@2.0.0-beta.80migrates OAuth state/PKCE toSecureRandomandDigest, provides these services in its platform layer, and updates the shipped source and declarations.scripts/check-alchemy.mjs, wired intopnpm check, checks Cloudflare provider imports and verifies PKCE against Node's SHA-256 without credentials or network calls. Remove the patch when upstream migrates these APIs.^4.0.0; two scoped catalog overrides align them to the tested 4.1.1 targets within their supported ranges. Its Distilled dependencies also accept Effect 4.1.1. No older Effect runtime or peer-range exception is needed.alchemy --helpworks without planning or deploying.Verification
Verified on Node 24.22.1 with pnpm 10.11.0:
pnpm install --frozen-lockfile --strict-peer-dependencies— passed.TURBO_CONCURRENCY=2 pnpm check— passed formatting, lint, Alchemy compatibility, all workspace types and checked docs/examples, unit/SQLite/workerd integration tests, package builds, and the docs build/llms link check.pnpm pack:check— verified all 10 tarballs and a clean external consumer, including SQLite runtime and CLI checks; all packed Effect peers resolve to 4.1.1.PG_TEST_URL=postgresql://triplex_test@127.0.0.1:55432/triplex_test pnpm test:postgres:integration— all 20 tests passed against a disposable PostgreSQL 17.10 instance.pnpm exec playwright install chromiumandpnpm test:e2e— all 13 Chromium tests passed, including dashboard interactions/screenshots, docs themes/mobile, embedded explorer, and playground. Existing image snapshots remain unchanged.pnpm exec alchemy --help, imports of both existing Alchemy stacks, and offline provider/PKCE checks passed.Limitations
No implementation blockers remain for the selected items. The VM needed
TURBO_CONCURRENCY=2to avoid the existing five-second conformance timeouts under high parallel load; test assertions, timeouts, and repository concurrency settings are unchanged. One retry also cleared a stale Vitest filesystem-cache startup race.FoundationDB's native integration suite remains opt-in and was not run because the native client is unavailable. Credentialed provider reconciliation remains outside this validation; no deployment, publication, or merge was performed.
Final status: Ready for review. Both selected dependency items are implemented and locally verified.
Open workspace in Conductor