{ "name": "starter-code", "version": "0.0.1", "description": "", "author": "", "private": true, "license": "UNLICENSED", "scripts": { "prebuild": "rimraf dist", "build": "node --max-old-space-size=4096 node_modules/@nestjs/cli/bin/nest.js build", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "node --max-old-space-size=4096 node_modules/@nestjs/cli/bin/nest.js start --watch", "start:debug": "node --max-old-space-size=4096 node_modules/@nestjs/cli/bin/nest.js start --debug --watch", "start:prod": "node dist/src/main", "type-check": "tsc --project tsconfig.json --pretty --noEmit", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", "linting": "npm run type-check && npm run lint", "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", "prisma:generate": "npx prisma generate", "prisma:migrate": "npx prisma migrate dev", "prisma:push": "npx prisma db push", "prisma:studio": "npx prisma studio", "prisma:seed": "npx prisma db seed", "prisma-all": "npx prisma format && npx prisma generate && npx prisma db push", "prepare": "husky" }, "dependencies": { "@aws-sdk/client-s3": "^3.943.0", "@aws-sdk/s3-request-presigner": "^3.943.0", "@ffmpeg-installer/ffmpeg": "^1.1.0", "@ffprobe-installer/ffprobe": "^2.1.2", "@nestjs/common": "^11.1.9", "@nestjs/config": "^4.0.2", "@nestjs/core": "^11.1.9", "@nestjs/jwt": "^11.0.1", "@nestjs/mapped-types": "^2.1.0", "@nestjs/passport": "^11.0.5", "@nestjs/platform-express": "^11.1.9", "@nestjs/swagger": "^11.2.3", "@nestjs/throttler": "^6.4.0", "@prisma/adapter-pg": "^7.0.1", "@prisma/client": "^7.1.0", "@types/multer": "^2.0.0", "@uploadcare/rest-client": "^6.18.2", "bcrypt": "^6.0.0", "class-transformer": "^0.5.1", "class-validator": "^0.14.2", "cloudinary": "^2.8.0", "crypto-js": "^4.2.0", "dotenv": "^17.2.3", "dropbox": "^10.34.0", "express-basic-auth": "^1.2.1", "filestack-js": "^4.3.4", "fluent-ffmpeg": "^2.1.3", "geoip-lite": "^1.4.10", "googleapis": "^168.0.0", "helmet": "^8.1.0", "imagekit": "^6.0.0", "luxon": "^3.7.2", "multer": "^2.0.2", "nanoid": "^5.1.6", "otplib": "^12.0.1", "p-limit": "^7.2.0", "passport": "^0.7.0", "passport-jwt": "^4.0.1", "passport-local": "^1.0.0", "pg": "^8.16.3", "qrcode": "^1.5.4", "reflect-metadata": "^0.2.2", "request-ip": "^3.3.0", "rxjs": "^7.8.2", "sharp": "^0.34.5", "swagger-ui-express": "^5.0.1", "winston": "^3.18.3", "winston-daily-rotate-file": "^5.0.0" }, "devDependencies": { "@eslint/eslintrc": "^3.2.0", "@eslint/js": "^9.39.1", "@nestjs/cli": "^11.0.12", "@nestjs/schematics": "^11.0.9", "@nestjs/testing": "^11.1.9", "@types/bcrypt": "^6.0.0", "@types/crypto-js": "^4.2.2", "@types/express": "^5.0.5", "@types/fluent-ffmpeg": "^2.1.28", "@types/jest": "^30.0.0", "@types/luxon": "^3.7.1", "@types/node": "^22.19.1", "@types/passport-jwt": "^4.0.1", "@types/passport-local": "^1.0.38", "@types/qrcode": "^1.5.6", "@types/request-ip": "^0.0.41", "@types/supertest": "^6.0.2", "@typescript-eslint/eslint-plugin": "^8.48.0", "@typescript-eslint/parser": "^8.48.0", "eslint": "^9.39.1", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.4", "globals": "^16.5.0", "husky": "^9.1.7", "jest": "^30.2.0", "prettier": "^3.6.2", "prisma": "^7.1.0", "rimraf": "^6.1.2", "source-map-support": "^0.5.21", "supertest": "^7.0.0", "ts-jest": "^29.4.5", "ts-loader": "^9.5.4", "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", "typescript": "^5.9.3", "typescript-eslint": "^8.47.0" }, "jest": { "moduleFileExtensions": [ "js", "json", "ts" ], "rootDir": "src", "testRegex": ".*\\.spec\\.ts$", "transform": { "^.+\\.(t|j)s$": "ts-jest" }, "collectCoverageFrom": [ "**/*.(t|j)s" ], "coverageDirectory": "../coverage", "testEnvironment": "node" } }