Skip to content

Commit bd75d24

Browse files
committed
feat(cli): migrate compose from YAML to TS
1 parent ac37e67 commit bd75d24

25 files changed

+1790
-478
lines changed

apps/cli/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@
3939
"semver": "^7.7.2",
4040
"smol-toml": "^1.4.2",
4141
"tmp": "^0.2.5",
42-
"viem": "^2.37.6"
42+
"viem": "^2.37.6",
43+
"yaml": "^2.8.2"
4344
},
4445
"devDependencies": {
4546
"@biomejs/biome": "catalog:",

apps/cli/src/compose/anvil.ts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import { Config, Service } from "../types/compose.js";
2+
import { AnvilServiceOptions } from "./builder.js";
3+
4+
// Anvil service
5+
export const anvil: (options: AnvilServiceOptions) => Service = (options) => ({
6+
image: `${options.imageName}:${options.imageTag}`,
7+
command: ["devnet", "--block-time", `${options.blockTime}`],
8+
healthcheck: {
9+
test: ["CMD", "eth_isready"],
10+
start_period: "10s",
11+
start_interval: "200ms",
12+
interval: "10s",
13+
timeout: "1s",
14+
retries: 5,
15+
},
16+
environment: {
17+
ANVIL_IP_ADDR: "0.0.0.0",
18+
},
19+
});
20+
21+
export const anvilProxyConfig: Config = {
22+
content: `http:
23+
routers:
24+
anvil:
25+
rule: "PathPrefix(\`/anvil\`)"
26+
middlewares:
27+
- "remove-anvil-prefix"
28+
service: anvil
29+
middlewares:
30+
remove-anvil-prefix:
31+
replacePathRegex:
32+
regex: "^/anvil(.*)"
33+
replacement: "$1"
34+
services:
35+
anvil:
36+
loadBalancer:
37+
servers:
38+
- url: "http://anvil:8545"`,
39+
};

0 commit comments

Comments
 (0)