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