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.)
This commit is contained in:
Till JS 2026-05-08 14:24:24 +02:00
parent 08f4223404
commit 4cca25ed03
6 changed files with 13 additions and 13 deletions

View file

@ -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": {