| 1 | #!/usr/bin/env node |
| 2 | import * as NodeRuntime from "@effect/platform-node/NodeRuntime" |
| 3 | import * as NodeServices from "@effect/platform-node/NodeServices" |
| 4 | import * as Command from "effect/cli/Command" |
| 5 | import * as Effect from "effect/Effect" |
| 6 | import * as Layer from "effect/Layer" |
| 7 | import PackageJson from "../package.json" with { type: "json" } |
| 8 | import { ApiDiff } from "./ApiDiff.ts" |
| 9 | import { cli } from "./Cli.ts" |
| 10 | |
| 11 | const MainLayer = ApiDiff.layer.pipe( |
| 12 | Layer.provideMerge(NodeServices.layer) |
| 13 | ) |
| 14 | |
| 15 | Command.run(cli, { version: PackageJson.version }).pipe( |
| 16 | Effect.provide(MainLayer), |
| 17 | NodeRuntime.runMain |
| 18 | ) |