{
  "name": "dfuk-api",
  "version": "0.0.0",
  "description": "TypeScript + TypeORM + PostgreSQL + Express API Server",
  "author": "",
  "license": "ISC",
  "engines": {
    "node": ">=20.18.3"
  },
  "scripts": {
    "start": "nest start",
    "process-mdx": "ts-node src/cli.ts process-mdx",
    "process-mdx-prod": "node dist/cli.js process-mdx",
    "cli": "ts-node -r tsconfig-paths/register src/cli.ts",
    "import-csv": "npm run cli -- import-csv",
    "import-csv-prod": "node -r tsconfig-paths/register dist/cli.js -- import-csv",
    "import-json": "npm run cli -- import-json",
    "start:dev": "nest start --watch",
    "start:prod": "npm run build && node dist/main",
    "build": "nest build",
    "test": "jest --forceExit --detectOpenHandles",
    "lint": "eslint .",
    "lint:fix": "eslint . --fix",
    "format": "prettier --write .",
    "format:check": "prettier --check .",
    "deploy:prod": "npm run build && pm2 start dist/main.js --name dfuk-api",
    "deploy:dev": "pm2 start dist/main.js --watch --name dfuk-api",
    "typeorm": "typeorm-ts-node-commonjs",
    "migration:create": "npm run typeorm -- migration:create src/migrations/$npm_config_name",
    "migration:generate": "npm run build && npm run typeorm -- migration:generate -d src/config/database/database.config.ts",
    "migration:run": "npm run build && npm run typeorm -- migration:run -d src/config/database/database.config.ts",
    "migration:revert": "npm run typeorm -- migration:revert -d src/config/database/database.config.ts",
    "migration:run-prod": "npm run typeorm -- migration:run -d dist/config/database/database.config.js",
    "migration:generate-prod": "npm run typeorm -- migration:generate -d dist/config/database/database.config.js",
    "migration:revert-prod": "npm run typeorm -- migration:revert -d dist/config/database/database.config.js"
  },
  "dependencies": {
    "@huggingface/inference": "^2.8.1",
    "@langchain/community": "^0.3.35",
    "@langchain/groq": "^0.2.1",
    "@langchain/openai": "^0.4.4",
    "@langchain/pinecone": "^0.2.0",
    "@nestjs/axios": "^4.0.0",
    "@nestjs/cli": "^11.0.4",
    "@nestjs/common": "^11.0.10",
    "@nestjs/config": "^4.0.0",
    "@nestjs/core": "^11.0.10",
    "@nestjs/jwt": "^11.0.0",
    "@nestjs/passport": "^11.0.5",
    "@nestjs/platform-express": "^11.0.10",
    "@nestjs/schedule": "^5.0.1",
    "@nestjs/serve-static": "^5.0.3",
    "@nestjs/swagger": "^11.0.4",
    "@nestjs/typeorm": "^11.0.0",
    "@pdf-lib/fontkit": "^1.1.1",
    "@pinecone-database/pinecone": "^5.1.1",
    "@types/compression": "^1.7.5",
    "@types/hbs": "^4.0.4",
    "@types/nodemailer": "^6.4.17",
    "@types/streamifier": "^0.1.2",
    "adm-zip": "^0.5.16",
    "axios": "^1.7.9",
    "bcrypt": "^5.1.1",
    "cheerio": "^1.0.0",
    "class-transformer": "^0.5.1",
    "class-validator": "^0.14.1",
    "cloudinary": "^1.41.3",
    "compression": "^1.8.0",
    "cookie-parser": "^1.4.7",
    "cors": "^2.8.5",
    "discord.js": "^14.17.3",
    "dotenv": "^16.4.7",
    "express-basic-auth": "^1.2.1",
    "express-rate-limit": "^7.5.0",
    "express-session": "^1.18.1",
    "fast-csv": "^5.0.2",
    "geoip-lite": "^1.4.10",
    "gray-matter": "^4.0.3",
    "helmet": "^8.0.0",
    "hpp": "^0.2.3",
    "langchain": "^0.3.19",
    "maxmind": "^4.3.24",
    "multer": "^1.4.5-lts.1",
    "multer-storage-cloudinary": "^4.0.0",
    "mysql2": "^3.12.0",
    "natural": "^8.1.0",
    "nepali-datetime": "^1.4.1",
    "nest-commander": "^3.16.1",
    "node-cache": "^5.1.2",
    "nodemailer": "^6.10.0",
    "openai": "^4.91.1",
    "papaparse": "^5.5.2",
    "passport": "^0.7.0",
    "passport-google-oauth20": "^2.0.0",
    "passport-jwt": "^4.0.1",
    "passport-local": "^1.0.0",
    "pdf-lib": "^1.17.1",
    "puppeteer": "^24.9.0",
    "regenerator-runtime": "^0.14.1",
    "rxjs": "^7.8.1",
    "slugify": "^1.6.6",
    "socks-proxy-agent": "^8.0.5",
    "streamifier": "^0.1.1",
    "swagger-jsdoc": "^6.2.8",
    "swagger-ui-express": "^5.0.1",
    "tldts": "^7.0.8",
    "tsconfig-paths": "^4.2.0",
    "typedi": "^0.10.0",
    "typeorm": "^0.3.20",
    "ua-parser-js": "^2.0.3"
  },
  "devDependencies": {
    "@eslint/eslintrc": "^3.2.0",
    "@eslint/js": "^9.20.0",
    "@swc/cli": "^0.6.0",
    "@swc/core": "^1.10.14",
    "@types/adm-zip": "^0.5.7",
    "@types/bcrypt": "^5.0.2",
    "@types/cookie-parser": "^1.4.8",
    "@types/cors": "^2.8.17",
    "@types/express": "^5.0.0",
    "@types/express-session": "^1.18.1",
    "@types/geoip-lite": "^1.4.4",
    "@types/hpp": "^0.2.6",
    "@types/jest": "^29.5.14",
    "@types/jsonwebtoken": "^9.0.8",
    "@types/morgan": "^1.9.9",
    "@types/multer": "^1.4.12",
    "@types/node": "^22.13.1",
    "@types/passport-google-oauth20": "^2.0.16",
    "@types/passport-jwt": "^4.0.1",
    "@types/supertest": "^6.0.2",
    "@types/swagger-jsdoc": "^6.0.4",
    "@types/swagger-ui-express": "^4.1.7",
    "@typescript-eslint/eslint-plugin": "^8.24.1",
    "@typescript-eslint/parser": "^8.24.1",
    "cross-env": "^7.0.3",
    "eslint": "^9.20.1",
    "eslint-config-prettier": "^10.0.1",
    "eslint-plugin-prettier": "^5.2.3",
    "globals": "^16.0.0",
    "husky": "^9.1.7",
    "jest": "^29.7.0",
    "lint-staged": "^15.4.3",
    "node-config": "^0.0.2",
    "node-gyp": "^11.0.0",
    "nodemon": "^3.1.9",
    "pm2": "^5.4.3",
    "prettier": "^3.5.1",
    "ts-node": "^10.9.2",
    "tsc-alias": "^1.8.10",
    "typescript": "^5.7.3",
    "typescript-eslint": "^8.24.1"
  }
}
