{
  "name": "dashcaddy-api",
  "version": "1.15.0",
  "description": "DashCaddy API server - Dashboard backend for Docker, Caddy & DNS management",
  "main": "server.js",
  "engines": {
    "node": ">=20.0.0"
  },
  "scripts": {
    "start": "node server.js",
    "test": "jest",
    "test:watch": "jest --watch",
    "test:coverage": "jest --coverage",
    "test:ci": "jest --ci --coverage --maxWorkers=2 --forceExit",
    "test:unit": "jest --testPathPattern=__tests__/(?!routes|integration) --no-coverage",
    "test:routes": "jest --testPathPattern=__tests__/routes --no-coverage",
    "test:security": "jest --testPathPattern=(crypto-utils|credential-manager|csrf-protection|auth-manager|input-validator|backup-manager) --no-coverage",
    "test:changed": "jest --onlyChanged --no-coverage",
    "test:debug": "node --inspect-brk node_modules/jest/bin/jest.js --runInBand --no-coverage",
    "lint": "eslint .",
    "lint:fix": "eslint . --fix",
    "format": "prettier --write '**/*.{js,json,md}'"
  },
  "dependencies": {
    "compression": "^1.8.1",
    "cors": "^2.8.6",
    "dockerode": "^4.0.9",
    "dropbox": "^10.34.0",
    "express": "^4.22.1",
    "express-rate-limit": "^7.5.1",
    "helmet": "^8.1.0",
    "joi": "^18.2.3",
    "js-yaml": "^4.1.1",
    "jsonwebtoken": "^9.0.2",
    "lru-cache": "^10.4.3",
    "nodemailer": "^9.0.5",
    "otplib": "^12.0.1",
    "pdfkit": "^0.15.2",
    "png-to-ico": "^2.1.8",
    "proper-lockfile": "^4.1.2",
    "qrcode": "^1.5.3",
    "sharp": "^0.35.3",
    "ssh2-sftp-client": "^11.0.0",
    "validator": "^13.11.0",
    "webdav": "^5.7.1",
    "ws": "^8.20.0"
  },
  "devDependencies": {
    "eslint": "^8.57.1",
    "jest": "^29.7.0",
    "pdf-parse": "^1.1.4",
    "prettier": "^3.8.1",
    "supertest": "^6.3.4"
  }
}
