{ "name": "@gongxue/server", "version": "0.0.1", "private": true, "description": "", "license": "UNLICENSED", "author": "", "scripts": { "dev": "cross-env SEED_DEV=true nest start --watch -p tsconfig.build.json", "build": "nest build -p tsconfig.build.json", "start:dev": "nest start --watch", "format": "oxfmt", "start": "nest start", "start:debug": "nest start --debug --watch", "start:prod": "node dist/main", "generate:student-import": "ts-node -r tsconfig-paths/register -P tsconfig.json scripts/generate-student-import-xlsx.ts", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\"", "lint:fix": "npm run lint -- --fix", "typecheck": "tsc -p tsconfig.build.json --noEmit", "test": "jest", "test:watch": "jest --watch", "test:cov": "jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", "test:e2e": "jest --config ./test/jest-e2e.json", "migration:generate": "ts-node -r tsconfig-paths/register -P tsconfig.json ../../node_modules/typeorm/cli.js -d datasource.ts migration:generate", "migration:create": "ts-node -r tsconfig-paths/register -P tsconfig.json ../../node_modules/typeorm/cli.js -d datasource.ts migration:create", "migration:run": "ts-node -r tsconfig-paths/register -P tsconfig.json ../../node_modules/typeorm/cli.js -d datasource.ts migration:run", "migration:revert": "ts-node -r tsconfig-paths/register -P tsconfig.json ../../node_modules/typeorm/cli.js -d datasource.ts migration:revert", "migration:show": "ts-node -r tsconfig-paths/register -P tsconfig.json ../../node_modules/typeorm/cli.js -d datasource.ts migration:show" }, "dependencies": { "@casl/ability": "^7.0.1", "@nestjs/common": "^11.0.1", "@nestjs/config": "^4.0.4", "@nestjs/core": "^11.0.1", "@nestjs/event-emitter": "^3.1.0", "@nestjs/jwt": "^11.0.2", "@nestjs/mapped-types": "^2.1.1", "@nestjs/passport": "^11.0.5", "@nestjs/platform-express": "^11.1.28", "@nestjs/schedule": "^6.1.3", "@nestjs/throttler": "^6.5.0", "@nestjs/typeorm": "^11.0.1", "@officecli/officecli": "^1.0.143", "@types/multer": "^2.1.0", "bcryptjs": "^3.0.3", "class-transformer": "^0.5.1", "class-validator": "^0.15.1", "compression": "^1.8.1", "dotenv": "^17.4.1", "exceljs": "^4.4.0", "express": "^5.2.1", "helmet": "^8.3.0", "jszip": "^3.10.1", "mammoth": "^1.12.0", "multer": "^2.2.0", "mysql2": "^3.22.2", "nestjs-pino": "^4.6.1", "passport": "^0.7.0", "passport-jwt": "^4.0.1", "pdf-parse": "^2.4.5", "pdfkit": "^0.18.0", "pino": "^10.3.1", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.1", "typeorm": "^0.3.31" }, "devDependencies": { "@eslint/js": "^9.18.0", "@gongxue/typescript-config": "*", "@nestjs/cli": "^11.0.0", "@nestjs/schematics": "^11.0.0", "@nestjs/testing": "^11.0.1", "@types/express": "^5.0.0", "@types/jest": "^30.0.0", "@types/node": "^24.0.0", "@types/passport-jwt": "^4.0.1", "@types/supertest": "^7.0.0", "cross-env": "^10.1.0", "eslint": "^9.18.0", "globals": "^17.0.0", "jest": "^30.0.0", "supertest": "^7.0.0", "ts-jest": "^29.2.5", "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", "typescript": "~6.0.2", "typescript-eslint": "^8.20.0" }, "jest": { "collectCoverageFrom": [ "**/*.(t|j)s" ], "coverageDirectory": "../coverage", "moduleFileExtensions": [ "js", "json", "ts" ], "rootDir": "src", "testEnvironment": "node", "testRegex": ".*\\.spec\\.ts$", "transform": { "^.+\\.(t|j)s$": "ts-jest" } } }