{ "name": "backend", "version": "0.1.0", "private": true, "type": "module", "engines": { "node": ">=20" }, "scripts": { "dev": "node --watch src/server.js", "start": "node src/server.js", "migrate": "knex migrate:latest", "seed:admin": "node src/db/seedAdmin.js", "seed:survey": "node src/db/seedSurvey.js", "import:doctors": "node src/db/importDoctors.js", "test": "vitest run", "test:coverage": "vitest run --coverage", "load": "node scripts/load.js", "reencrypt": "node src/db/reencryptFields.js" }, "dependencies": { "@aws-sdk/client-s3": "^3.1143.0", "@aws-sdk/s3-request-presigner": "^3.1143.0", "@hapi/boom": "^10.0.1", "@hapi/cookie": "^12.0.1", "@hapi/hapi": "^21.4.0", "@sendgrid/eventwebhook": "^8.0.0", "@sendgrid/mail": "^8.1.6", "argon2": "^0.45.1", "dotenv": "^17.2.2", "exceljs": "^4.4.0", "fast-csv": "^4.3.6", "hapi-pino": "^12.1.0", "hapi-rate-limit": "^8.0.0", "jsonwebtoken": "^9.0.3", "knex": "^3.1.0", "mysql2": "^3.14.3", "node-cron": "^4.6.0", "zod": "^3.25.76" }, "devDependencies": { "@vitest/coverage-v8": "^3.2.7", "autocannon": "^8.0.0", "vitest": "^3.2.4" } }