{ "name": "@tianji/server", "private": true, "description": "", "type": "module", "engines": { "node": ">=20.11.0" }, "scripts": { "dev": "tsx watch --env-file=.env ./main.ts", "build": "tsc", "postinstall": "pnpm db:generate", "check:type": "tsc --noEmit --skipLibCheck", "db:generate": "prisma generate", "db:migrate:dev": "prisma migrate dev", "db:migrate:apply": "prisma migrate deploy", "db:migrate:script": "tsx ./prisma/scripts/populate-ip-location.ts", "db:studio": "prisma studio", "db:seed:website": "tsx ./tests/seeds/website.ts", "test": "vitest", "test:ci": "vitest --run" }, "keywords": [], "author": "moonrailgun ", "dependencies": { "@auth/core": "^0.34.1", "@auth/express": "^0.5.5", "@paralleldrive/cuid2": "^2.2.2", "@prisma/client": "5.14.0", "@tianji/shared": "workspace:^", "@trpc/server": "^10.45.2", "accept-language-parser": "^1.5.0", "axios": "^1.5.0", "badge-maker": "^3.3.1", "bcryptjs": "^2.4.3", "cache-manager": "^5.7.2", "chardet": "^2.0.0", "compose-middleware": "^5.0.1", "compression": "^1.7.4", "cors": "^2.8.5", "croner": "^8.0.0", "dayjs": "^1.11.9", "detect-browser": "^5.3.0", "dotenv": "^16.3.1", "express": "^4.18.2", "express-async-errors": "^3.1.1", "express-validator": "^7.0.1", "fs-extra": "^11.2.0", "iconv-lite": "^0.6.3", "is-localhost-ip": "^2.0.0", "isolated-vm": "^4.7.2", "jsonwebtoken": "^9.0.2", "lighthouse": "^12.2.1", "lodash-es": "^4.17.21", "maxmind": "^4.3.18", "md5": "^2.3.0", "morgan": "^1.10.0", "nanoid": "^5.0.4", "nodemailer": "^6.9.8", "passport": "^0.7.0", "passport-jwt": "^4.0.1", "ping": "^0.4.4", "puppeteer": "^21.7.0", "request-ip": "^3.3.0", "socket.io": "^4.7.4", "swagger-ui-express": "^5.0.0", "tcp-ping": "^0.1.1", "trpc-openapi": "^1.2.0", "uuid": "^9.0.1", "vite-express": "^0.13.0", "winston": "^3.11.0", "yup": "^1.3.3", "zod": "^3.22.2", "zod-prisma": "0.5.4" }, "devDependencies": { "@faker-js/faker": "^8.4.0", "@types/accept-language-parser": "^1.5.6", "@types/bcryptjs": "^2.4.3", "@types/compression": "^1.7.2", "@types/cors": "^2.8.15", "@types/express": "^4.17.17", "@types/fs-extra": "^11.0.3", "@types/jsonwebtoken": "^9.0.5", "@types/lodash-es": "^4.17.12", "@types/md5": "^2.3.5", "@types/morgan": "^1.9.5", "@types/node": "^18.17.12", "@types/nodemailer": "^6.4.11", "@types/passport": "^1.0.12", "@types/passport-jwt": "^3.0.9", "@types/ping": "^0.4.2", "@types/request-ip": "^0.0.38", "@types/supertest": "^6.0.2", "@types/swagger-ui-express": "^4.1.5", "@types/tcp-ping": "^0.1.5", "@types/uuid": "^9.0.7", "execa": "^5.1.1", "p-map": "4.0.0", "prisma": "5.14.0", "prisma-json-types-generator": "3.0.3", "prisma-zod-generator": "0.8.13", "supertest": "^6.3.4", "tailwindcss": "^3.3.5", "tsx": "^4.16.2", "typescript": "^5.5.4", "vite": "^5.0.12", "vitest": "^1.2.1" } }