{ "name": "@yuzhiran/backend", "version": "1.0.0", "description": "宇之然 AI - 后端 API 服务", "main": "dist/main.js", "scripts": { "build": "nest build", "start": "nest start", "dev": "nest start --watch", "start:prod": "node dist/main", "prisma:generate": "prisma generate", "prisma:push": "prisma db push", "prisma:migrate": "prisma migrate dev", "prisma:seed": "ts-node prisma/seed.ts", "lint": "nest lint", "test": "jest --no-cache --verbose", "test:watch": "jest --watch" }, "keywords": [ "yuzhiran", "ai", "learning", "platform" ], "author": "北京宇之然科技中心", "license": "UNLICENSED", "private": true, "prisma": { "seed": "node prisma/seed.js" }, "dependencies": { "@nestjs/common": "^11.1.19", "@nestjs/config": "^4.0.4", "@nestjs/core": "^11.1.19", "@nestjs/jwt": "^11.0.2", "@nestjs/passport": "^11.0.5", "@nestjs/platform-express": "^11.1.19", "@nestjs/serve-static": "^5.0.5", "@nestjs/swagger": "^11.4.2", "@prisma/client": "^5.22.0", "bcryptjs": "^3.0.3", "class-transformer": "^0.5.1", "class-validator": "^0.15.1", "compression": "^1.8.1", "helmet": "^8.1.0", "passport": "^0.7.0", "passport-jwt": "^4.0.1", "prisma": "^5.22.0", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.2", "wechat-pay-nodejs": "^0.2.3" }, "devDependencies": { "@nestjs/cli": "^11.0.21", "@nestjs/schematics": "^11.1.0", "@nestjs/testing": "^11.1.19", "@types/bcryptjs": "^2.4.6", "@types/compression": "^1.8.1", "@types/express": "^5.0.6", "@types/jest": "^30.0.0", "@types/multer": "^2.1.0", "@types/node": "^20.19.40", "@types/passport-jwt": "^4.0.1", "@types/supertest": "^7.2.0", "jest": "^30.4.0", "supertest": "^7.2.2", "ts-jest": "^29.4.9", "ts-loader": "^9.5.7", "ts-node": "^10.9.2", "tsx": "^4.21.0", "typescript": "5.3" } }