See the best posts from any Bluesky account
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

mise: collapse to 8 tasks, inline db startup and packages build

Remove install, packages:build, db:up, db:down as standalone tasks:
- install: users run `npm install` once manually
- packages:build: now inlined into build
- db:up/db:down: docker compose up -d clickhouse is inlined into db:wait
(which remains as the only entry point for "get CH running")

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+11 -38
+11 -38
mise.toml
··· 2 2 node = "24" 3 3 pnpm = "10" 4 4 5 - # The web app reads its own env vars from apps/web/.env via Adonis's 6 - # env loader, so mise doesn't need to duplicate them here. These values 7 - # are only for the few shell-level commands (docker compose) that use 8 - # them from the task environment. 9 5 [env] 10 6 CLICKHOUSE_PASSWORD = "" 11 7 APP_KEY = "mise-task-placeholder" 12 8 13 - [tasks.install] 14 - description = "Install npm workspace dependencies" 15 - run = "npm install" 16 - sources = ["package.json", "package-lock.json", "apps/web/package.json", "packages/atproto/package.json", "packages/clickhouse/package.json"] 17 - outputs = { auto = true } 18 - 19 - [tasks."packages:build"] 20 - description = "Build the shared TypeScript workspace packages" 21 - depends = ["install"] 22 - sources = ["packages/atproto/src/**/*.ts", "packages/atproto/tsconfig.json", "packages/clickhouse/src/**/*.ts", "packages/clickhouse/tsconfig.json"] 23 - outputs = { auto = true } 24 - run = [ 25 - "cd packages/atproto && npm run build", 26 - "cd packages/clickhouse && npm run build", 27 - ] 28 - 29 - [tasks."db:up"] 30 - description = "Start the ClickHouse container in the background" 31 - run = "docker compose up -d clickhouse" 32 - 33 - [tasks."db:down"] 34 - description = "Stop the ClickHouse container" 35 - run = "docker compose stop clickhouse" 36 - 37 9 [tasks."db:wait"] 38 - description = "Wait for ClickHouse to respond on /ping" 39 - depends = ["db:up"] 10 + description = "Start ClickHouse and wait for it to respond on /ping" 40 11 run = ''' 41 12 #!/usr/bin/env bash 42 13 set -euo pipefail 14 + docker compose up -d clickhouse 43 15 for i in $(seq 1 30); do 44 16 if curl -sf http://localhost:8123/ping > /dev/null 2>&1; then 45 17 echo "ClickHouse is ready" ··· 55 27 56 28 [tasks."db:migrate"] 57 29 description = "Run SQLite + ClickHouse migrations" 58 - depends = ["install", "db:wait"] 30 + depends = ["db:wait"] 59 31 dir = "{{config_root}}/apps/web" 60 32 run = [ 61 33 "node ace migration:run --force", ··· 85 57 ] 86 58 87 59 [tasks.test] 88 - description = "Run the full test suite (starts ClickHouse if needed)" 89 - depends = ["install", "db:wait"] 60 + description = "Run the full test suite" 61 + depends = ["db:wait"] 90 62 dir = "{{config_root}}/apps/web" 91 63 run = "node ace test" 92 64 93 65 [tasks.lint] 94 66 description = "Run ESLint on the web app" 95 - depends = ["install"] 96 67 dir = "{{config_root}}/apps/web" 97 68 run = "npm run lint" 98 69 99 70 [tasks.build] 100 - description = "Production build of the Adonis app and shared packages" 101 - depends = ["packages:build"] 102 - dir = "{{config_root}}/apps/web" 103 - run = "node ace build" 71 + description = "Production build: workspace packages and Adonis app" 72 + run = [ 73 + "cd packages/atproto && npm run build", 74 + "cd packages/clickhouse && npm run build", 75 + "cd apps/web && node ace build", 76 + ]