From 4cca25ed03cf6b4936bda4414a9e497ed1576715 Mon Sep 17 00:00:00 2001 From: Till JS Date: Fri, 8 May 2026 14:24:24 +0200 Subject: [PATCH] chore(dev): switch all Bun services from --watch to --hot Fans out the cards-server fix from 08f422340 to every other Bun service in the monorepo. --hot keeps the port bound across HMR reloads via globalThis[hmrSymbol]; --watch restarts the process and races old/new Bun.serve for the port. Touched: dev:auth, dev:credits, dev:events, dev:analytics, dev:memoro:server, dev:memoro:audio-server, dev:uload:server in the root package.json plus the matching `dev` script in each service's own package.json. All six services already export the `{ port, fetch }` default that Bun's --hot expects. Smoke-tested: pnpm dev:cardecky:full boots clean, then touching auth/credits/cards-server entry files all hot-reload without dropping their port. (memoro/apps/audio-server doesn't have a `dev: bun --watch ...` script in its own package.json, so only the root entry got the swap there.) --- apps/uload/apps/server/package.json | 2 +- package.json | 16 ++++++++-------- services/mana-analytics/package.json | 2 +- services/mana-auth/package.json | 2 +- services/mana-credits/package.json | 2 +- services/mana-events/package.json | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/apps/uload/apps/server/package.json b/apps/uload/apps/server/package.json index d60a92268..32c18162d 100644 --- a/apps/uload/apps/server/package.json +++ b/apps/uload/apps/server/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "bun run --watch src/index.ts", + "dev": "bun run --hot src/index.ts", "start": "bun run src/index.ts", "type-check": "tsc --noEmit" }, diff --git a/package.json b/package.json index a633706ea..5dbceb430 100644 --- a/package.json +++ b/package.json @@ -78,9 +78,9 @@ "dev:chat:web": "pnpm --filter @chat/web dev", "dev:chat:landing": "pnpm --filter @chat/landing dev", "dev:chat:app": "concurrently -n api,web -c yellow,cyan \"pnpm dev:api\" \"pnpm dev:chat:web\"", - "dev:auth": "cd services/mana-auth && bun run --watch src/index.ts", - "dev:events": "cd services/mana-events && bun run --watch src/index.ts", - "dev:analytics": "cd services/mana-analytics && bun run --watch src/index.ts", + "dev:auth": "cd services/mana-auth && bun run --hot src/index.ts", + "dev:events": "cd services/mana-events && bun run --hot src/index.ts", + "dev:analytics": "cd services/mana-analytics && bun run --hot src/index.ts", "dev:sync": "cd services/mana-sync && JWKS_URL=http://localhost:3001/api/auth/jwks DATABASE_URL=postgresql://mana:devpassword@localhost:5432/mana_sync ./server", "dev:sync:build": "cd services/mana-sync && go build -o server ./cmd/server", "dev:chat:full": "concurrently -n auth,sync,api -c blue,magenta,yellow \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\"", @@ -115,12 +115,12 @@ "dev:todo:app": "concurrently -n api,web -c yellow,cyan \"pnpm dev:api\" \"pnpm dev:todo:web\"", "dev:todo:full": "./scripts/setup-databases.sh auth && concurrently -n auth,sync,api,web -c blue,magenta,yellow,cyan \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\" \"pnpm dev:todo:web\"", "dev:todo:local": "concurrently -n sync,api,web -c magenta,yellow,cyan \"pnpm dev:sync\" \"pnpm dev:api\" \"pnpm dev:todo:web\"", - "dev:memoro:server": "cd apps/memoro/apps/server && bun run --watch src/index.ts", - "dev:memoro:audio-server": "cd apps/memoro/apps/audio-server && bun run --watch src/index.ts", + "dev:memoro:server": "cd apps/memoro/apps/server && bun run --hot src/index.ts", + "dev:memoro:audio-server": "cd apps/memoro/apps/audio-server && bun run --hot src/index.ts", "dev:memoro:app": "concurrently -n server,audio -c yellow,green \"pnpm dev:memoro:server\" \"pnpm dev:memoro:audio-server\"", "dev:memoro:full": "concurrently -n auth,server,audio -c blue,yellow,green \"pnpm dev:auth\" \"pnpm dev:memoro:server\" \"pnpm dev:memoro:audio-server\"", "dev:uload:web": "pnpm --filter @uload/web dev", - "dev:uload:server": "cd apps/uload/apps/server && bun run --watch src/index.ts", + "dev:uload:server": "cd apps/uload/apps/server && bun run --hot src/index.ts", "dev:uload:landing": "pnpm --filter @uload/landing dev", "dev:uload:local": "concurrently -n sync,server,web -c magenta,yellow,cyan \"pnpm dev:sync\" \"pnpm dev:uload:server\" \"pnpm dev:uload:web\"", "dev:uload:full": "./scripts/setup-databases.sh uload && ./scripts/setup-databases.sh auth && concurrently -n auth,sync,server,web -c blue,magenta,yellow,cyan \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:uload:server\" \"pnpm dev:uload:web\"", @@ -234,7 +234,7 @@ "cf:projects:create": "echo 'Creating Cloudflare Pages projects...' && npx wrangler pages project create chat-landing --production-branch=main && npx wrangler pages project create picture-landing --production-branch=main && npx wrangler pages project create mana-landing --production-branch=main && npx wrangler pages project create cards-landing --production-branch=main && npx wrangler pages project create quotes-landing --production-branch=main", "dev:search": "cd services/mana-search && PORT=3021 SEARXNG_URL=http://localhost:8080 REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD=${REDIS_PASSWORD:-devpassword} go run ./cmd/server", "dev:crawler": "cd services/mana-crawler && go run ./cmd/server", - "dev:credits": "cd services/mana-credits && bun run --watch src/index.ts", + "dev:credits": "cd services/mana-credits && bun run --hot src/index.ts", "dev:notify": "cd services/mana-notify && DATABASE_URL=postgresql://mana:devpassword@localhost:5432/mana_notify go run ./cmd/server", "questions:dev": "turbo run dev --filter=questions...", "dev:questions:web": "pnpm --filter @questions/web dev", @@ -268,7 +268,7 @@ "dev:calc:local": "concurrently -n sync,web -c magenta,cyan \"pnpm dev:sync\" \"pnpm dev:calc:web\"", "dev:manavoxel:local": "concurrently -n sync,web -c magenta,cyan \"pnpm dev:sync\" \"pnpm dev:manavoxel:web\"", "dev:media": "cd services/mana-media/apps/api && bun run --hot src/index.ts", - "dev:geocoding": "cd services/mana-geocoding && bun run --watch src/index.ts", + "dev:geocoding": "cd services/mana-geocoding && bun run --hot src/index.ts", "dev:mana:servers": "concurrently -n auth,sync,api,media,crawler,credits,search -c blue,magenta,yellow,green,cyan,red,gray \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\" \"pnpm dev:media\" \"pnpm dev:crawler\" \"pnpm dev:credits\" \"pnpm dev:search\"" }, "devDependencies": { diff --git a/services/mana-analytics/package.json b/services/mana-analytics/package.json index a97d40065..e32555b3c 100644 --- a/services/mana-analytics/package.json +++ b/services/mana-analytics/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "bun run --watch src/index.ts", + "dev": "bun run --hot src/index.ts", "start": "bun run src/index.ts", "db:push": "drizzle-kit push", "db:studio": "drizzle-kit studio", diff --git a/services/mana-auth/package.json b/services/mana-auth/package.json index feec90949..26d0bd08f 100644 --- a/services/mana-auth/package.json +++ b/services/mana-auth/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "bun run --watch src/index.ts", + "dev": "bun run --hot src/index.ts", "start": "bun run src/index.ts", "test": "bun test", "db:push": "drizzle-kit push", diff --git a/services/mana-credits/package.json b/services/mana-credits/package.json index 61475059a..a16102256 100644 --- a/services/mana-credits/package.json +++ b/services/mana-credits/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "bun run --watch src/index.ts", + "dev": "bun run --hot src/index.ts", "start": "bun run src/index.ts", "db:push": "drizzle-kit push", "db:generate": "drizzle-kit generate", diff --git a/services/mana-events/package.json b/services/mana-events/package.json index ca4c3189f..cd5c39e62 100644 --- a/services/mana-events/package.json +++ b/services/mana-events/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "bun run --watch src/index.ts", + "dev": "bun run --hot src/index.ts", "start": "bun run src/index.ts", "test": "bun test", "db:push": "drizzle-kit push",