{ "name": "dashcaddy-api", "version": "1.1.5", "description": "DashCaddy API server - Dashboard backend for Docker, Caddy & DNS management", "main": "server.js", "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", "express": "^4.22.1", "express-rate-limit": "^7.5.1", "helmet": "^8.1.0", "js-yaml": "^4.1.1", "jsonwebtoken": "^9.0.2", "lru-cache": "^10.4.3", "nodemailer": "^8.0.4", "otplib": "^12.0.1", "png-to-ico": "^2.1.8", "proper-lockfile": "^4.1.2", "qrcode": "^1.5.3", "sharp": "^0.33.5", "validator": "^13.11.0", "ws": "^8.20.0" }, "devDependencies": { "eslint": "^8.57.1", "jest": "^29.7.0", "prettier": "^3.8.1", "supertest": "^6.3.4" } }