{ "name": "gymflow-server", "version": "1.0.0", "description": "Backend for GymFlow AI", "main": "src/index.ts", "scripts": { "start": "npm run start:prod", "start:prod": "cross-env APP_MODE=prod DATABASE_URL=file:./prod.db npx prisma db push && cross-env APP_MODE=prod DATABASE_URL_PROD=file:./prod.db ts-node-dev -r dotenv/config --respawn --transpile-only src/index.ts", "start:test": "cross-env APP_MODE=test DATABASE_URL=file:./test.db DATABASE_URL_TEST=file:./test.db npx prisma db push --accept-data-loss && cross-env APP_MODE=test DATABASE_URL_TEST=file:./test.db ts-node-dev -r dotenv/config --respawn --transpile-only src/index.ts", "dev": "cross-env APP_MODE=dev ts-node-dev -r dotenv/config --respawn --transpile-only src/index.ts", "build": "tsc", "migrate:deploy": "npx prisma migrate deploy" }, "dependencies": { "@google/generative-ai": "^0.24.1", "@prisma/adapter-better-sqlite3": "^7.1.0", "@prisma/client": "^7.1.0", "@types/better-sqlite3": "^7.6.13", "bcryptjs": "3.0.3", "better-sqlite3": "^11.0.0", "cors": "2.8.5", "dotenv": "17.2.3", "express": "5.1.0", "jsonwebtoken": "9.0.2", "ts-node-dev": "^2.0.0", "winston": "^3.19.0", "zod": "^4.1.13" }, "devDependencies": { "@types/bcryptjs": "*", "@types/cors": "*", "@types/express": "*", "@types/jsonwebtoken": "*", "@types/node": "*", "cross-env": "^10.1.0", "dotenv-cli": "^11.0.0", "nodemon": "*", "prisma": "^7.1.0", "ts-node": "*", "typescript": "*" } }