Skip to content

Recognize Effect runners as provide entry points - #774

Merged
mattiamanzati merged 2 commits into
mainfrom
t3code/allow-run-combinators
Sep 17, 2026
Merged

mattiamanzati merged 2 commits into
mainfrom
t3code/allow-run-combinators

Conversation

@mattiamanzati

Copy link
Copy Markdown
Contributor

Closes #773

Summary

  • suppress strictEffectProvide when a layer-backed Effect.provide is immediately consumed by a recognized application runner
  • recognize Effect run APIs plus NodeRuntime/BunRuntime entry points through existing piping flows and package-aware symbol resolution
  • update the Effect v4 harness and development dependencies to 4.0.0-rc.115, including the RC CLI constructor migration
  • ignore the local .zvec-grep index directory

Example

NodeRuntime.runMain(
  program.pipe(Effect.provide(AppLayer))
)

strictEffectProvide no longer reports the Effect.provide above, while similarly named local functions continue to report.

Verification

  • pnpm codegen
  • pnpm lint-fix
  • pnpm check
  • pnpm test (649 passed, 2 skipped)
  • pnpm test:v4 (651 passed, 3 skipped)

@changeset-bot

changeset-bot Bot commented Sep 17, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 8a44992

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@effect/language-service Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@mattiamanzati
mattiamanzati merged commit 8e9cb21 into main Sep 17, 2026
5 checks passed
@mattiamanzati
mattiamanzati deleted the t3code/allow-run-combinators branch September 17, 2026 21:01
@github-actions github-actions Bot mentioned this pull request Sep 17, 2026
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.

strictEffectProvide: recognise Effect.provide directly inside a run* entry point

1 participant