managarten/package.json
Till JS 115afea519 chore(dev): wire SearXNG + mana-search into dev:mana:all
News Research's web-search backend (mana-search → SearXNG) was missing
from the standard dev stack — a "Finden" click failed with a connect
error until the standalone services/mana-search/docker-compose.dev.yml
was started by hand.

- docker-compose.dev.yml: add `searxng` (Port 8080), config mounted
  read-only from the service tree. Reuses the shared mana-redis,
  no second cache instance needed.
- package.json: docker:up + docker🆙infra include searxng;
  dev:mana:servers spawns dev:search alongside the other 6 servers;
  dev:search now passes PORT=3021 + REDIS auth so it talks to the
  shared password-protected mana-redis instead of defaulting to a
  no-auth localhost:6379

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 22:31:29 +02:00

304 lines
23 KiB
JSON

{
"name": "mana-monorepo",
"version": "1.0.0",
"private": true,
"type": "module",
"description": "Mana Monorepo containing mana, cards, picture, chat, quotes, and presi",
"scripts": {
"dev": "turbo run dev",
"build": "turbo run build",
"test": "turbo run test",
"lint": "turbo run lint",
"lint:root": "eslint . --cache",
"lint:fix": "eslint . --fix --cache",
"type-check": "turbo run type-check --filter='./apps/**' --filter='./packages/**' --filter='./services/**'",
"type-check:all": "turbo run type-check",
"clean": "turbo run clean",
"format": "prettier --config .prettierrc.json --write \"**/*.{ts,tsx,js,jsx,json,md,svelte,astro}\"",
"format:check": "prettier --config .prettierrc.json --check \"**/*.{ts,tsx,js,jsx,json,md,svelte,astro}\"",
"check:status": "bash scripts/check-status.sh",
"validate:dockerfiles": "node scripts/validate-dockerfiles.mjs",
"audit:deps": "node scripts/audit-workspace-deps.mjs",
"audit:modules": "node scripts/audit-modules.mjs",
"audit:coupling": "node scripts/audit-module-coupling.mjs",
"audit:complexity": "node scripts/audit-complexity.mjs",
"audit:map": "node scripts/build-complexity-map.mjs",
"generate:dockerfiles": "node scripts/generate-dockerfiles.mjs",
"setup:env": "node scripts/generate-env.mjs",
"setup:secrets": "node scripts/setup-secrets.mjs",
"setup:db": "./scripts/setup-databases.sh",
"setup:db:chat": "./scripts/setup-databases.sh chat",
"setup:db:auth": "./scripts/setup-databases.sh auth",
"setup:dev-user": "./scripts/dev/setup-dev-user.sh",
"build:packages": "pnpm --filter '@mana/*' build",
"postinstall": "node scripts/generate-env.mjs || true && pnpm run build:packages || true",
"mana:dev": "turbo run dev --filter=mana...",
"cards:dev": "turbo run dev --filter=cards...",
"picture:dev": "turbo run dev --filter=picture...",
"chat:dev": "turbo run dev --filter=chat...",
"dev:mana:web": "pnpm --filter @mana/web dev",
"dev:mana:landing": "pnpm --filter @mana/landing dev",
"dev:mana:mobile": "pnpm --filter @mana/mobile dev",
"dev:mana:app": "pnpm --filter @mana/web dev",
"dev:mana:full": "concurrently -n web,servers -c cyan,yellow \"pnpm dev:mana:web\" \"pnpm dev:mana:servers\"",
"dev:mana:all": "pnpm docker:up && pnpm setup:db && pnpm dev:mana:full",
"dev:cards:web": "pnpm --filter @cards/web dev",
"dev:cards:landing": "pnpm --filter @cards/landing dev",
"dev:cards:mobile": "pnpm --filter @cards/mobile dev",
"dev:cards:app": "concurrently -n api,web -c yellow,cyan \"pnpm dev:api\" \"pnpm dev:cards:web\"",
"dev:picture:web": "pnpm --filter @picture/web dev",
"dev:picture:landing": "pnpm --filter @picture/landing dev",
"dev:picture:mobile": "pnpm --filter @picture/mobile dev",
"dev:picture:app": "concurrently -n api,web -c yellow,cyan \"pnpm dev:api\" \"pnpm dev:picture:web\"",
"dev:picture:full": "concurrently -n auth,sync,api -c blue,magenta,yellow \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:chat:mobile": "pnpm --filter @chat/mobile dev",
"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: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\"",
"memoro:dev": "turbo run dev --filter=memoro...",
"dev:memoro:mobile": "pnpm --filter @memoro/mobile start",
"dev:memoro:landing": "pnpm --filter @memoro/landing dev",
"quotes:dev": "turbo run dev --filter=quotes...",
"dev:quotes:mobile": "pnpm --filter @quotes/mobile dev",
"dev:quotes:web": "pnpm --filter @quotes/web dev",
"dev:quotes:landing": "pnpm --filter @quotes/landing dev",
"dev:quotes:app": "pnpm dev:quotes:web",
"dev:quotes:full": "concurrently -n auth,sync,web -c blue,magenta,cyan \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:quotes:web\"",
"contacts:dev": "turbo run dev --filter=contacts...",
"dev:contacts:mobile": "pnpm --filter @contacts/mobile dev",
"dev:contacts:web": "pnpm --filter @contacts/web dev",
"dev:contacts:landing": "pnpm --filter @contacts/landing dev",
"dev:contacts:app": "concurrently -n api,web -c yellow,cyan \"pnpm dev:api\" \"pnpm dev:contacts:web\"",
"dev:contacts:full": "concurrently -n auth,sync,api -c blue,magenta,yellow \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\"",
"calendar:dev": "turbo run dev --filter=calendar...",
"dev:calendar:mobile": "pnpm --filter @calendar/mobile dev",
"dev:calendar:web": "pnpm --filter @calendar/web dev",
"dev:calendar:landing": "pnpm --filter @calendar/landing dev",
"dev:calendar:app": "concurrently -n api,web -c yellow,cyan \"pnpm dev:api\" \"pnpm dev:calendar:web\"",
"dev:calendar:full": "concurrently -n auth,sync,api -c blue,magenta,yellow \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\"",
"mail:dev": "turbo run dev --filter=mail...",
"dev:mail:mobile": "pnpm --filter @mail/mobile dev",
"dev:mail:web": "pnpm --filter @mail/web dev",
"dev:mail:landing": "pnpm --filter @mail/landing dev",
"todo:dev": "turbo run dev --filter=todo...",
"dev:todo:web": "pnpm --filter @todo/web dev",
"dev:todo:landing": "pnpm --filter @todo/landing dev",
"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: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: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\"",
"dev:moodlit:web": "pnpm --filter @moodlit/web dev",
"dev:moodlit:landing": "pnpm --filter @moodlit/landing dev",
"dev:moodlit:local": "concurrently -n sync,api -c magenta,yellow \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:news:web": "pnpm --filter @news/web dev",
"dev:news:landing": "pnpm --filter @news/landing dev",
"dev:news:local": "concurrently -n sync,api -c magenta,yellow \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:news:full": "concurrently -n auth,sync,api -c blue,magenta,yellow \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\"",
"photos:dev": "turbo run dev --filter=photos...",
"dev:photos:web": "pnpm --filter @photos/web dev",
"dev:photos:app": "pnpm dev:photos:web",
"dev:photos:full": "concurrently -n auth,sync,web -c blue,magenta,cyan \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:photos:web\"",
"dev:tags-test": "concurrently -n auth,sync,api -c blue,magenta,yellow \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\"",
"inventory:dev": "turbo run dev --filter=inventory...",
"dev:inventory:web": "pnpm --filter @inventory/web dev",
"times:dev": "turbo run dev --filter=times...",
"dev:times:web": "pnpm --filter @times/web dev",
"dev:times:full": "concurrently -n auth,sync,web -c blue,magenta,cyan \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:times:web\"",
"manavoxel:dev": "turbo run dev --filter=manavoxel...",
"dev:manavoxel:web": "pnpm --filter @manavoxel/web dev",
"dev:manavoxel:full": "concurrently -n auth,sync,web -c blue,magenta,cyan \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:manavoxel:web\"",
"calc:dev": "turbo run dev --filter=calc...",
"dev:calc:web": "pnpm --filter @calc/web dev",
"dev:calc:app": "pnpm dev:calc:web",
"dev:calc:full": "concurrently -n auth,sync,web -c blue,magenta,cyan \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:calc:web\"",
"guides:dev": "turbo run dev --filter=guides...",
"dev:guides:web": "pnpm --filter @guides/web dev",
"dev:guides:app": "concurrently -n api,web -c yellow,cyan \"pnpm dev:api\" \"pnpm dev:guides:web\"",
"dev:guides:local": "concurrently -n sync,api -c magenta,yellow \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:guides:full": "concurrently -n auth,sync,api -c blue,magenta,yellow \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\"",
"moodlit:dev": "turbo run dev --filter=moodlit...",
"dev:moodlit:mobile": "pnpm --filter @moodlit/mobile dev",
"dev:moodlit:app": "concurrently -n api,web -c yellow,cyan \"pnpm dev:api\" \"pnpm dev:moodlit:web\"",
"finance:dev": "turbo run dev --filter=finance...",
"dev:finance:web": "pnpm --filter @finance/web dev",
"dev:finance:mobile": "pnpm --filter @finance/mobile dev",
"dev:finance:landing": "pnpm --filter @finance/landing dev",
"voxel-lava:dev": "turbo run dev --filter=@voxel-lava/web",
"dev:voxel-lava:web": "pnpm --filter @voxel-lava/web dev",
"arcade:dev": "turbo run dev --filter=arcade...",
"dev:arcade:web": "pnpm --filter @arcade/web dev",
"dev:arcade:server": "pnpm --filter @arcade/server dev",
"dev:arcade:app": "turbo run dev --filter=@arcade/web --filter=@arcade/server",
"figgos:dev": "turbo run dev --filter=figgos...",
"dev:figgos:mobile": "pnpm --filter @figgos/mobile dev",
"dev:figgos:web": "pnpm --filter @figgos/web dev",
"dev:figgos:ios": "pnpm --filter @figgos/mobile ios",
"dev:figgos:android": "pnpm --filter @figgos/mobile android",
"context:dev": "turbo run dev --filter=context...",
"dev:context:mobile": "pnpm --filter @context/mobile dev",
"dev:context:web": "pnpm --filter @context/web dev",
"dev:context:app": "concurrently -n api,web -c yellow,cyan \"pnpm dev:api\" \"pnpm dev:context:web\"",
"dev:context:full": "concurrently -n auth,sync,api -c blue,magenta,yellow \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\"",
"setup:db:context": "./scripts/setup-databases.sh context",
"citycorners:dev": "turbo run dev --filter=citycorners...",
"dev:citycorners:landing": "pnpm --filter @citycorners/landing dev",
"dev:citycorners:web": "pnpm --filter @citycorners/web dev",
"dev:citycorners:app": "pnpm dev:citycorners:web",
"dev:citycorners:full": "concurrently -n auth,sync,web -c blue,magenta,cyan \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:citycorners:web\"",
"deploy:landing:citycorners": "pnpm --filter @citycorners/landing build && npx wrangler pages deploy apps/citycorners/apps/landing/dist --project-name=citycorners-landing",
"plants:dev": "turbo run dev --filter=plants...",
"dev:plants:web": "pnpm --filter @plants/web dev",
"dev:plants:app": "concurrently -n api,web -c yellow,cyan \"pnpm dev:api\" \"pnpm dev:plants:web\"",
"dev:plants:full": "concurrently -n auth,sync,api -c blue,magenta,yellow \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\"",
"food:dev": "turbo run dev --filter=food...",
"dev:food:web": "pnpm --filter @food/web dev",
"dev:food:landing": "pnpm --filter @food/landing dev",
"dev:food:app": "concurrently -n api,web -c yellow,cyan \"pnpm dev:api\" \"pnpm dev:food:web\"",
"dev:food:full": "concurrently -n auth,sync,api -c blue,magenta,yellow \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\"",
"deploy:landing:food": "pnpm --filter @food/landing build && npx wrangler pages deploy apps/food/apps/landing/dist --project-name=food-landing",
"presi:dev": "turbo run dev --filter=presi...",
"dev:presi:web": "pnpm --filter @presi/web dev",
"dev:presi:landing": "pnpm --filter @presi/landing dev",
"dev:presi:app": "pnpm dev:presi:web",
"dev:presi:full": "concurrently -n auth,sync,api -c blue,magenta,yellow \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\"",
"storage:dev": "turbo run dev --filter=storage...",
"dev:storage:web": "pnpm --filter @storage/web dev",
"dev:storage:app": "concurrently -n api,web -c yellow,cyan \"pnpm dev:api\" \"pnpm dev:storage:web\"",
"dev:storage:full": "concurrently -n auth,sync,api -c blue,magenta,yellow \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\"",
"music:dev": "turbo run dev --filter=music...",
"dev:music:web": "pnpm --filter @music/web dev",
"dev:music:landing": "pnpm --filter @music/landing dev",
"dev:music:app": "concurrently -n api,web -c yellow,cyan \"pnpm dev:api\" \"pnpm dev:music:web\"",
"dev:music:full": "concurrently -n auth,sync,api -c blue,magenta,yellow \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\"",
"traces:dev": "turbo run dev --filter=traces...",
"dev:traces:mobile": "pnpm --filter @traces/mobile dev",
"dev:traces:full": "concurrently -n auth,sync,api -c blue,magenta,yellow \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:landing-builder": "pnpm --filter @mana-landing-builder/service start:dev",
"docker:up": "docker compose -f docker-compose.dev.yml --env-file .env.development up -d postgres redis minio minio-init searxng",
"docker:up:infra": "docker compose -f docker-compose.dev.yml --env-file .env.development up -d postgres redis minio minio-init searxng",
"docker:up:db": "docker compose -f docker-compose.dev.yml --env-file .env.development up -d postgres redis",
"docker:up:auth": "docker compose -f docker-compose.dev.yml --env-file .env.development --profile auth up -d",
"docker:up:chat": "docker compose -f docker-compose.dev.yml --env-file .env.development --profile chat up -d",
"docker:up:all": "docker compose -f docker-compose.dev.yml --env-file .env.development --profile all up -d",
"docker:down": "docker compose -f docker-compose.dev.yml --env-file .env.development --profile all down",
"docker:logs": "docker compose -f docker-compose.dev.yml --env-file .env.development logs -f",
"docker:logs:auth": "docker compose -f docker-compose.dev.yml --env-file .env.development logs -f mana-auth",
"docker:logs:chat": "docker compose -f docker-compose.dev.yml --env-file .env.development logs -f chat-backend",
"docker:ps": "docker compose -f docker-compose.dev.yml --env-file .env.development ps -a",
"docker:clean": "docker compose -f docker-compose.dev.yml --env-file .env.development --profile all down -v",
"deploy:landing:uload": "pnpm --filter @uload/landing build && npx wrangler pages deploy apps/uload/apps/landing/dist --project-name=uload-landing",
"deploy:landing:todo": "pnpm --filter @todo/landing build && npx wrangler pages deploy apps/todo/apps/landing/dist --project-name=todo-landing",
"deploy:landing:contacts": "pnpm --filter @contacts/landing build && npx wrangler pages deploy apps/contacts/apps/landing/dist --project-name=contacts-landing",
"deploy:landing:calendar": "pnpm --filter @calendar/landing build && npx wrangler pages deploy apps/calendar/apps/landing/dist --project-name=calendars-landing",
"deploy:landing:chat": "pnpm --filter @chat/landing build && npx wrangler pages deploy apps/chat/apps/landing/dist --project-name=chat-landing",
"deploy:landing:picture": "pnpm --filter @picture/landing build && npx wrangler pages deploy apps/picture/apps/landing/dist --project-name=picture-landing",
"deploy:landing:mana": "pnpm --filter @mana/landing build && npx wrangler pages deploy apps/mana/apps/landing/dist --project-name=mana-landing",
"deploy:landing:cards": "pnpm --filter @cards/landing build && npx wrangler pages deploy apps/cards/apps/landing/dist --project-name=cards-landing",
"deploy:landing:quotes": "pnpm --filter @quotes/landing build && npx wrangler pages deploy apps/quotes/apps/landing/dist --project-name=quotes-landing",
"deploy:landing:presi": "pnpm --filter @presi/landing build && npx wrangler pages deploy apps/presi/apps/landing/dist --project-name=presi-landing",
"deploy:landing:mail": "pnpm --filter @mail/landing build && npx wrangler pages deploy apps/mail/apps/landing/dist --project-name=mail-landing",
"deploy:landing:moodlit": "pnpm --filter @moodlit/landing build && npx wrangler pages deploy apps/moodlit/apps/landing/dist --project-name=moodlit-landing",
"deploy:landing:it": "pnpm --filter @mana/it-landing build && npx wrangler pages deploy services/it-landing/dist --project-name=it-landing",
"deploy:landing:all": "pnpm deploy:landing:calendar && pnpm deploy:landing:chat && pnpm deploy:landing:picture && pnpm deploy:landing:mana && pnpm deploy:landing:cards && pnpm deploy:landing:quotes && pnpm deploy:landing:presi && pnpm deploy:landing:mail && pnpm deploy:landing:food && pnpm deploy:landing:contacts && pnpm deploy:landing:todo",
"dev:docs": "pnpm --filter @mana/docs dev",
"build:docs": "pnpm --filter @mana/docs build",
"deploy:docs": "pnpm --filter @mana/docs build && npx wrangler pages deploy apps/docs/dist --project-name=mana-docs",
"cf:login": "npx wrangler login",
"cf:projects:list": "npx wrangler pages project list",
"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:notify": "cd services/mana-notify && go run ./cmd/server",
"questions:dev": "turbo run dev --filter=questions...",
"dev:questions:web": "pnpm --filter @questions/web dev",
"dev:questions:app": "concurrently -n api,web -c yellow,cyan \"pnpm dev:api\" \"pnpm dev:questions:web\"",
"dev:questions:full": "concurrently -n auth,sync,api -c blue,magenta,yellow \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:skilltree:web": "pnpm --filter @skilltree/web dev",
"dev:skilltree:app": "pnpm dev:skilltree:web",
"dev:skilltree:full": "concurrently -n auth,sync,web -c blue,magenta,cyan \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:skilltree:web\"",
"dev:llm-playground": "pnpm --filter @mana-llm/playground dev",
"build:llm-playground": "pnpm --filter @mana-llm/playground build",
"prepare": "husky",
"dev:api": "cd apps/api && bun run --hot src/index.ts",
"dev:calendar:local": "concurrently -n sync,api -c magenta,yellow \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:chat:local": "concurrently -n sync,api -c magenta,yellow \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:contacts:local": "concurrently -n sync,api -c magenta,yellow \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:context:local": "concurrently -n sync,api -c magenta,yellow \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:cards:local": "concurrently -n sync,api -c magenta,yellow \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:music:local": "concurrently -n sync,api -c magenta,yellow \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:food:local": "concurrently -n sync,api -c magenta,yellow \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:picture:local": "concurrently -n sync,api -c magenta,yellow \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:plants:local": "concurrently -n sync,api -c magenta,yellow \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:questions:local": "concurrently -n sync,api -c magenta,yellow \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:storage:local": "concurrently -n sync,api -c magenta,yellow \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:presi:local": "concurrently -n sync,api -c magenta,yellow \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:traces:local": "concurrently -n sync,api -c magenta,yellow \"pnpm dev:sync\" \"pnpm dev:api\"",
"dev:quotes:local": "concurrently -n sync,web -c magenta,cyan \"pnpm dev:sync\" \"pnpm dev:quotes:web\"",
"dev:skilltree:local": "concurrently -n sync,web -c magenta,cyan \"pnpm dev:sync\" \"pnpm dev:skilltree:web\"",
"dev:photos:local": "concurrently -n sync,web -c magenta,cyan \"pnpm dev:sync\" \"pnpm dev:photos:web\"",
"dev:citycorners:local": "concurrently -n sync,web -c magenta,cyan \"pnpm dev:sync\" \"pnpm dev:citycorners:web\"",
"dev:inventory:local": "concurrently -n sync,web -c magenta,cyan \"pnpm dev:sync\" \"pnpm dev:inventory:web\"",
"dev:times:local": "concurrently -n sync,web -c magenta,cyan \"pnpm dev:sync\" \"pnpm dev:times:web\"",
"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: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": {
"@mana/eslint-config": "workspace:*",
"@eslint/js": "^9.39.1",
"concurrently": "^9.2.0",
"eslint": "^9.39.1",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.4",
"globals": "^16.5.0",
"husky": "^9.1.7",
"lint-staged": "^16.2.7",
"prettier": "^3.3.3",
"prettier-plugin-astro": "^0.14.1",
"prettier-plugin-svelte": "^3.4.0",
"turbo": "^2.3.0",
"typescript": "^5.9.3",
"typescript-eslint": "^8.48.1",
"wrangler": "^4.51.0"
},
"engines": {
"node": ">=18.0.0"
},
"packageManager": "pnpm@9.15.0",
"pnpm": {
"peerDependencyRules": {
"allowedVersions": {
"react-native>react": ">=18.0.0",
"react-native>@types/react": ">=18.0.0",
"@sveltejs/vite-plugin-svelte>vite": ">=6.0.0",
"@sveltejs/vite-plugin-svelte-inspector>vite": ">=6.0.0"
}
},
"neverBuiltDependencies": [
"cpu-features",
"ssh2",
"sharp"
],
"patchedDependencies": {},
"overrides": {
"cpu-features": "npm:empty-npm-package@1.0.0",
"ssh2": "npm:empty-npm-package@1.0.0"
}
}
}