{ "name": "nestapi", "version": "1.0.0", "description": "Enterprise-grade NestJS API backend", "main": "dist/main.js", "scripts": { "start": "nest start", "start:dev": "npm run build && npm run migration:run:safe && nest start --watch", "start:prod": "npm run migration:run:prod && node dist/main.js", "build": "nest build", "build:prod": "nest build && npm run migration:build", "test": "jest", "test:e2e": "jest --config ./test/jest-e2e.json", "migration:generate": "typeorm-ts-node-esm migration:generate -d src/data-source.ts", "migration:create": "typeorm-ts-node-esm migration:create", "migration:run": "typeorm migration:run -d data-source.js", "migration:run:safe": "typeorm migration:run -d data-source.js || echo 'Migrations completed or no migrations to run'", "migration:run:prod": "cross-env NODE_ENV=production typeorm migration:run -d data-source.js", "migration:revert": "cross-env NODE_ENV=development typeorm-ts-node-esm migration:revert -d src/data-source.ts", "migration:revert:prod": "cross-env NODE_ENV=production typeorm migration:revert -d dist/data-source.js", "migration:build": "tsc src/database/migrations/*.ts --outDir dist/database/migrations --target es2020 --module commonjs", "migration:show": "cross-env NODE_ENV=development typeorm-ts-node-esm migration:show -d src/data-source.ts", "schema:sync": "cross-env NODE_ENV=development typeorm-ts-node-esm schema:sync -d src/data-source.ts", "schema:drop": "cross-env NODE_ENV=development typeorm-ts-node-esm schema:drop -d src/data-source.ts" }, "dependencies": { "@nestjs/common": "^10.0.0", "@nestjs/config": "^3.0.0", "@nestjs/core": "^10.0.0", "@nestjs/jwt": "^10.0.0", "@nestjs/passport": "^10.0.3", "@nestjs/platform-express": "^10.0.0", "@nestjs/swagger": "^7.4.2", "@nestjs/throttler": "^3.0.0", "@nestjs/typeorm": "^11.0.0", "@types/crypto-js": "^4.2.2", "@types/qrcode": "^1.5.5", "@types/speakeasy": "^2.0.10", "argon2": "^0.30.0", "bcrypt": "^5.1.0", "class-transformer": "^0.5.1", "class-validator": "^0.14.0", "crypto-js": "^4.2.0", "dotenv": "^17.2.1", "jsonwebtoken": "^9.0.0", "mysql2": "^3.14.3", "passport": "^0.7.0", "passport-jwt": "^4.0.1", "passport-local": "^1.0.0", "qrcode": "^1.5.4", "rate-limiter-flexible": "^7.2.0", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.2", "speakeasy": "^2.0.0", "typeorm": "^0.3.25", "uuid": "^9.0.0" }, "devDependencies": { "@nestjs/cli": "^10.0.0", "@nestjs/testing": "^10.0.0", "@types/bcrypt": "^6.0.0", "@types/express": "^5.0.3", "@types/jest": "^29.0.0", "@types/node": "^20.0.0", "@types/passport-jwt": "^4.0.1", "@types/passport-local": "^1.0.38", "cross-env": "^10.0.0", "jest": "^29.0.0", "ts-jest": "^29.0.0", "ts-node": "^10.9.2", "typescript": "^5.0.0" } }