{ "name": "@musicshare/api", "version": "0.0.0", "private": true, "type": "module", "scripts": { "dev": "concurrently -n api,worker -c blue,magenta \"tsx watch src/server.ts\" \"tsx watch src/worker.ts\"", "build": "tsup src/server.ts src/worker.ts --format esm --target node22 --noExternal @musicshare/shared", "start": "node dist/server.js", "start:worker": "node dist/worker.js", "typecheck": "tsc -p .", "db:generate": "drizzle-kit generate", "db:migrate": "tsx src/db/migrate.ts", "test": "vitest run", "test:unit": "vitest run --project unit", "test:watch": "vitest" }, "dependencies": { "@fastify/cookie": "^11.1.2", "@fastify/cors": "^11.3.0", "@fastify/rate-limit": "^11.2.0", "@fastify/websocket": "^11.3.2", "@musicshare/shared": "*", "@node-rs/argon2": "^2.2.1", "bullmq": "^6.3.11", "dotenv": "^18.0.5", "drizzle-orm": "^0.45.3", "fastify": "^5.12.5", "ioredis": "^6.0.0", "postgres": "^3.4.9", "undici": "^6.29.0", "zod": "^4.6.5" }, "devDependencies": { "@types/node": "^26.6.4", "@types/ws": "^8.18.2", "concurrently": "^10.0.5", "drizzle-kit": "^0.31.11", "tsup": "^8.5.1", "tsx": "^4.23.15", "typescript": "~6.0.3", "vitest": "^5.0.3" } }