Files
scriptc/tests/fixtures/effect4/cli-subcommands.ts
Chris Tate e2d58f60d2 Expand static support for common Effect 4 patterns (#600)
* Expand static compilation for common Effect 4 patterns

* Run every Effect 4 fixture slice in CI

* Preserve existing corpus behavior across Effect 4 lowering

* Preserve Effect platform callbacks and native stream state

* Record new corpus baselines and retain child stdin refusals

* Retire the obsolete stateful regex diagnostic

* Preserve promise reference count layout for cycle collection
2026-10-01 17:36:29 -05:00

10 lines
704 B
TypeScript

import * as Effect from "effect/Effect";
import * as Command from "effect/cli/Command";
import * as Flag from "effect/cli/Flag";
import * as Argument from "effect/cli/Argument";
import * as NodeServices from "@effect/platform-node/NodeServices";
const root=Command.make("tasks").pipe(Command.withSharedFlags({verbose:Flag.Boolean("verbose")}));
const create=Command.make("create",{name:Argument.String("name")},({name})=>Effect.gen(function*(){const options=yield* root;console.log(name,options.verbose)}));
const command=root.pipe(Command.withSubcommands([create]));
Effect.runPromise(Command.runWith(command,{version:"1.0.0"})(["--verbose","create","world"]).pipe(Effect.provide(NodeServices.layer)));