{ "name": "pandektes-challenge", "version": "1.0.0", "description": "Legal document parsing API — extracts case law metadata from PDF/HTML using Gemini AI", "author": "George W.", "private": true, "license": "UNLICENSED", "scripts": { "build": "nest build", "start": "nest start", "start:dev": "nest start --watch", "start:prod": "npm run build && nest start", "test": "jest", "postinstall": "prisma generate" }, "dependencies": { "@apollo/server": "^5.4.0", "@as-integrations/express5": "^1.1.2", "@aws-sdk/client-s3": "^3.1000.0", "@aws-sdk/s3-request-presigner": "^3.1000.0", "@langchain/core": "^1.1.29", "@langchain/google-genai": "^2.1.22", "@nestjs/apollo": "^13.2.4", "@nestjs/bullmq": "^11.0.4", "@nestjs/common": "^11.1.14", "@nestjs/config": "^4.0.3", "@nestjs/core": "^11.1.14", "@nestjs/graphql": "^13.2.4", "@nestjs/platform-express": "^11.0.1", "@nestjs/serve-static": "^5.0.4", "@prisma/adapter-pg": "^7.4.2", "@prisma/client": "^7.4.2", "axios": "^1.13.6", "bullmq": "^5.70.1", "cheerio": "^1.2.0", "class-transformer": "^0.5.1", "class-validator": "^0.15.1", "graphql": "^16.13.0", "graphql-type-json": "^0.3.2", "graphql-upload-ts": "^2.1.3", "pdf-parse": "^2.4.5", "pg": "^8.19.0", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.2", "zod": "^4.3.6" }, "devDependencies": { "@eslint/eslintrc": "^3.2.0", "@eslint/js": "^9.18.0", "@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": "^22.10.7", "@types/pg": "^8.18.0", "dotenv": "^17.3.1", "eslint": "^9.18.0", "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.2", "globals": "^16.0.0", "jest": "^30.0.0", "prettier": "^3.4.2", "prisma": "^7.4.2", "ts-jest": "^29.2.5", "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", "typescript": "^5.7.3", "typescript-eslint": "^8.20.0" }, "engines": { "node": ">=20" }, "jest": { "moduleFileExtensions": [ "js", "json", "ts" ], "rootDir": "src", "testRegex": ".*\\.spec\\.ts$", "transform": { "^.+\\.(t|j)s$": "ts-jest" }, "collectCoverageFrom": [ "**/*.(t|j)s" ], "coverageDirectory": "../coverage", "testEnvironment": "node" }, "overrides": { "ajv": "^8.17.1", "hono": "^4.12.0", "lodash": "^4.17.21", "serialize-javascript": "^7.0.2", "multer": "1.4.5-lts.1" } }