Skip to content

Port effect-playwright to Effect v4 RC - #25

Merged
fiws merged 1 commit into
mainfrom
push-effect-v4-rc
Aug 21, 2026
Merged

Port effect-playwright to Effect v4 RC#25
fiws merged 1 commit into
mainfrom
push-effect-v4-rc

Conversation

@fiws

@fiws fiws commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

Changes

  • upgrade effect and @effect/vitest to 4.0.0-rc.111
  • migrate services, scoped layers, runtime access, Options, fibers, and stream callbacks to Effect v4 APIs
  • update Vitest and Playwright integration tests for Effect v4
  • remove obsolete Effect v3 platform and CLI dependencies

Verification

  • pnpm check
  • pnpm type-check
  • pnpm build
  • pnpm test (101 passed)
  • pnpm test:playwright (12 passed, 2 skipped)
  • pnpm check-doc-examples (31 examples)
  • pnpm coverage

Note

High Risk
This is a breaking peer-dependency jump from Effect 3 to Effect 4 RC, rewriting public service tags, streams, Options, and test helpers. Consumers on Effect 3 will not compile or run against this release.

Overview
Breaking: the peer dependency is now effect@^4.0.0-rc.111 (with matching @effect/vitest). @effect/platform is no longer a peer.

Service tags switch from Context.GenericTag / Context.Tag to Context.Service. Event streams use Stream.callback + Queue instead of Stream.asyncPush. Nullable Playwright values use Option.fromNullishOr / liftNullishOr. Page exposeFunction / exposeEffect run via Effect.runPromiseWith on captured context.

Tests move from it.scoped to it.effect, Effect.forkChild, and array-based collect results (no Chunk). The coverage script no longer uses @effect/cli / platform-node. The Playwright test helper builds layers with Layer.buildWithMemoMap and Layer.effect for scoped services.

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

@pkg-pr-new

pkg-pr-new Bot commented Aug 20, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/effect-playwright@e38f642

commit: e38f642

@fiws
fiws force-pushed the push-effect-v4-rc branch from acc613d to f3bbe5a Compare August 21, 2026 08:54
@fiws
fiws force-pushed the push-effect-v4-rc branch from f3bbe5a to e38f642 Compare August 21, 2026 08:56
@fiws fiws self-assigned this Aug 21, 2026
@fiws
fiws requested a review from StefanWerW August 21, 2026 08:56
Comment thread scripts/coverage.ts
@fiws
fiws merged commit c7afe7d into main Aug 21, 2026
5 checks passed
@fiws
fiws deleted the push-effect-v4-rc branch August 21, 2026 13:12
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.

2 participants