Rules

no-effect-runtime-run

Keep runtime execution at explicitly documented workflow boundaries.

Purpose and behavior

Keep runtime execution at explicitly documented workflow boundaries.

Reports non-computed member calls named runCallback, runFork, runMain, runPromise, runPromiseExit or runSync regardless of receiver name. It does not automatically exempt top-level entrypoints. Use a reasoned suppression for genuine execution boundaries; compose effects elsewhere.

Options

No configurable options. Enable with "rules/no-effect-runtime-run": "error".

Invalid example

Effect.runPromise(program)

Valid example

program.pipe(Effect.provide(layer))

Fixes and exceptions

This rule reports diagnostics without an automatic fix. Rewrite the code deliberately rather than guessing its intended semantics.

For a genuine boundary exception, use an oxlint-disable-next-line rules/no-effect-runtime-run -- reason comment. Examples illustrate this rule alone and may omit imports and declarations.

Source and tests

Enabled by the Effect preset.

no-effect-runtime-run.ts · Tests