{ "name": "samreshu-backend", "version": "0.1.0", "description": "Backend API for samreshu knowledge testing platform", "type": "module", "main": "dist/server.js", "scripts": { "build": "tsc", "dev": "tsx watch src/server.ts", "start": "node dist/server.js", "db:generate": "drizzle-kit generate --config=drizzle.config.ts", "db:migrate": "tsx src/db/migrate.ts", "db:studio": "drizzle-kit studio", "db:seed": "tsx src/db/seed.ts", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage", "lint": "eslint src --ext .ts", "lint:fix": "eslint src --ext .ts --fix", "typecheck": "tsc --noEmit" }, "dependencies": { "@fastify/cors": "^10.0.0", "@fastify/helmet": "^12.0.0", "@fastify/rate-limit": "^10.0.0", "argon2": "^0.41.0", "dotenv": "^17.3.1", "drizzle-orm": "^0.36.0", "fastify": "^5.0.0", "fastify-plugin": "^4.5.0", "ioredis": "^5.4.0", "jose": "^5.9.0", "pg": "^8.13.0", "pino": "^9.5.0", "pino-pretty": "^13.0.0", "zod": "^3.23.0" }, "devDependencies": { "@types/node": "^22.0.0", "@types/pg": "^8.11.0", "@vitest/coverage-v8": "^2.0.0", "drizzle-kit": "^0.28.0", "eslint": "^9.0.0", "tsx": "^4.19.0", "typescript": "^5.6.0", "vitest": "^2.0.0" }, "engines": { "node": ">=20" } }