{ "name": "@app/api", "version": "0.1.0", "private": true, "type": "module", "description": "Food API – enda ingången för mobilappen (spec §31, §50)", "scripts": { "dev": "tsx watch src/index.ts", "start": "node dist/index.js", "build": "tsup src/index.ts --format esm --target node22 --sourcemap --clean", "typecheck": "tsc --noEmit", "test": "vitest run --fileParallelism=false" }, "dependencies": { "@app/ai-contracts": "workspace:*", "@app/analytics": "workspace:*", "@app/connectors": "workspace:*", "@app/database": "workspace:*", "@app/events": "workspace:*", "@app/feature-flags": "workspace:*", "@app/inventory-engine": "workspace:*", "@app/memory-client": "workspace:*", "@app/nutrition-engine": "workspace:*", "@app/recipe-engine": "workspace:*", "@app/recommendation-engine": "workspace:*", "@app/shared-types": "workspace:*", "@app/subscriptions": "workspace:*", "@app/validation": "workspace:*", "@aws-sdk/client-s3": "^3.1102.0", "@aws-sdk/s3-request-presigner": "^3.1102.0", "@fastify/cors": "^11.0.0", "@fastify/jwt": "^10.0.0", "@fastify/rate-limit": "^10.0.0", "bullmq": "^6.0.0", "dotenv": "^16.4.0", "drizzle-orm": "^0.45.0", "fastify": "^5.6.0", "fastify-plugin": "^5.0.0", "ioredis": "^6.0.0", "nodemailer": "^9.0.3", "pg": "^8.13.0", "zod": "^4.4.0" }, "devDependencies": { "@types/nodemailer": "^8.0.1", "@types/pg": "^8.11.0", "tsup": "^8.3.0" }, "tsup": { "noExternal": [ "@app/ai-contracts", "@app/analytics", "@app/connectors", "@app/database", "@app/events", "@app/feature-flags", "@app/inventory-engine", "@app/memory-client", "@app/nutrition-engine", "@app/recipe-engine", "@app/recommendation-engine", "@app/shared-types", "@app/subscriptions", "@app/validation" ] } }