{
  "name": "idswyft-backend",
  "version": "1.12.14",
  "description": "Backend API for Idswyft identity verification platform",
  "type": "module",
  "main": "dist/server.js",
  "scripts": {
    "dev": "tsx watch --clear-screen=false src/server.ts",
    "build": "tsc && tsc-alias",
    "start": "node dist/server.js",
    "test": "vitest",
    "lint": "eslint src --ext .ts,.js",
    "type-check": "tsc --noEmit",
    "migrate": "tsx src/scripts/migrate.ts",
    "benchmark": "tsx scripts/benchmark/benchmark-ocr.ts --specimens-dir scripts/benchmark/specimens --output scripts/benchmark/benchmark-results.json",
    "railway:build": "npm run build",
    "railway:start": "npm run start"
  },
  "dependencies": {
    "@aws-sdk/client-s3": "^3.1062.0",
    "@aws-sdk/s3-request-presigner": "^3.1062.0",
    "@idswyft/shared": "*",
    "@noble/ed25519": "^3.1.0",
    "@sentry/node": "^10.56.0",
    "@sentry/profiling-node": "^10.56.0",
    "@supabase/supabase-js": "^2.107.0",
    "axios": "^1.17.0",
    "bcryptjs": "^2.4.3",
    "compression": "^1.7.4",
    "cookie-parser": "^1.4.7",
    "cors": "^2.8.6",
    "crypto-js": "^4.2.0",
    "csrf-csrf": "^3.2.0",
    "did-jwt": "^8.0.18",
    "did-jwt-vc": "^4.0.16",
    "did-resolver": "^4.1.0",
    "dotenv": "^17.4.2",
    "express": "^4.22.1",
    "express-rate-limit": "^7.1.5",
    "express-validator": "^7.3.2",
    "file-type": "^21.3.4",
    "geoip-lite": "^2.0.2",
    "helmet": "^7.1.0",
    "image-size": "^1.0.2",
    "ipaddr.js": "^1.9.1",
    "jsonwebtoken": "^9.0.3",
    "morgan": "^1.11.0",
    "mrz": "^5.0.2",
    "multer": "^1.4.5-lts.1",
    "node-cron": "^3.0.3",
    "otplib": "^12.0.1",
    "parse-usdl": "^3.2.0",
    "pg": "^8.21.0",
    "pixelmatch": "^4.0.2",
    "qrcode": "^1.5.4",
    "sharp": "^0.34.5",
    "uuid": "^9.0.1",
    "validator": "^13.15.35",
    "web-did-resolver": "^2.0.32",
    "winston": "^3.11.0",
    "ws": "^8.21.0",
    "zod": "^3.22.4"
  },
  "devDependencies": {
    "@types/bcryptjs": "^2.4.6",
    "@types/compression": "^1.7.5",
    "@types/cookie-parser": "^1.4.10",
    "@types/cors": "^2.8.17",
    "@types/crypto-js": "^4.2.1",
    "@types/express": "^4.17.21",
    "@types/geoip-lite": "^1.4.4",
    "@types/jsonwebtoken": "^9.0.5",
    "@types/morgan": "^1.9.9",
    "@types/mrz": "^3.2.0",
    "@types/multer": "^1.4.11",
    "@types/node": "^20.10.0",
    "@types/node-cron": "^3.0.11",
    "@types/pg": "^8.20.0",
    "@types/qrcode": "^1.5.6",
    "@types/supertest": "^7.2.0",
    "@types/uuid": "^9.0.7",
    "@types/validator": "^13.15.10",
    "@types/ws": "^8.18.1",
    "supertest": "^7.2.2",
    "tsc-alias": "^1.8.17",
    "tsx": "^4.22.4",
    "typescript": "^5.3.2",
    "vitest": "^1.0.4"
  }
}
