{ "name": "@todolist/api", "version": "0.1.0", "description": "TodoList API service", "scripts": { "prisma:generate": "node -e \"require('node:fs').rmSync('generated/prisma', { recursive: true, force: true })\" && prisma generate", "prisma:format": "prisma format", "prisma:validate": "prisma validate", "prebuild": "pnpm run prisma:generate", "pretypecheck": "pnpm run prisma:generate", "pretest": "pnpm run prisma:generate", "data:reencrypt": "ts-node scripts/reencrypt-sensitive-data.ts", "start": "node dist/main.js", "start:dev": "ts-node-dev --respawn --transpile-only src/main.ts", "build": "tsc -p tsconfig.build.json", "typecheck": "tsc --noEmit -p tsconfig.json", "test": "jest --config jest.config.cjs --runInBand" }, "license": "GPL-3.0-or-later", "devDependencies": { "@nestjs/testing": "^11.1.18", "@types/jest": "^30.0.0", "@types/node": "^25.5.2", "@types/nodemailer": "^8.0.0", "@types/passport-github2": "^1.2.9", "@types/passport-oauth2": "^1.8.0", "@types/supertest": "^7.2.0", "dotenv": "^16.6.1", "jest": "^30.3.0", "prisma": "^7.6.0", "supertest": "^7.2.2", "ts-jest": "^29.4.9", "ts-node": "^10.9.2", "ts-node-dev": "^2.0.0", "typescript": "^5.9.3" }, "private": true, "dependencies": { "@aws-sdk/client-s3": "^3.1024.0", "@aws-sdk/s3-request-presigner": "^3.1024.0", "@nestjs/common": "^11.1.18", "@nestjs/config": "^4.0.3", "@nestjs/core": "^11.1.18", "@nestjs/jwt": "^11.0.2", "@nestjs/passport": "^11.0.5", "@nestjs/platform-express": "^11.1.18", "@otplib/preset-default": "^12.0.1", "@prisma/adapter-pg": "^7.6.0", "@prisma/client": "^7.6.0", "class-transformer": "^0.5.1", "class-validator": "^0.15.1", "nodemailer": "^8.0.4", "otplib": "^13.4.0", "passport": "^0.7.0", "passport-github2": "^0.1.12", "passport-oauth2": "^1.8.0", "pg": "^8.20.0", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.2" } }