{
  "name": "qris-soundbox-platform",
  "version": "0.1.0",
  "private": true,
  "type": "module",
  "scripts": {
    "build": "tsc -p tsconfig.json",
    "dev": "tsx watch src/index.ts",
    "start": "tsx src/index.ts",
    "start:dist": "tsx dist/index.js",
    "smoke:cleanup": "node scripts/smoke-cleanup.mjs",
    "typecheck": "tsc --noEmit",
    "db:migrate": "tsx scripts/migrate.mts",
    "load:test": "node scripts/load-test.mjs",
    "load:test:staging": "node scripts/run-staging-load-report.mjs",
    "smoke:flow": "node scripts/smoke.mjs",
    "smoke:mqtt-real": "PORT=3115 MQTT_PUBLISH_MODE=broker node scripts/smoke-mqtt-real.mjs",
    "smoke:qf100": "node scripts/smoke-qf100-adapter.mjs",
    "deploy:check-env": "node scripts/check-production-env.mjs",
    "backup:production": "node scripts/backup-production.mjs",
    "restore:plan": "node scripts/restore-plan.mjs",
    "restore:validate": "node scripts/restore-drill-validate.mjs",
    "ui:qa": "node scripts/ui-qa-check.mjs",
    "admin:create-user": "node scripts/create-admin-user.mjs",
    "merchant:create-user": "node scripts/create-merchant-user.mjs",
    "mqtt:provision-device": "node scripts/provision-mqtt-device.mjs",
    "mqtt:check-acl": "node scripts/check-mqtt-acl.mjs",
    "smoke:mqtt-acl": "node scripts/smoke-mqtt-acl.mjs",
    "smoke:e2e": "bash -c 'export PGHOST=127.0.0.1 PGPORT=5432 PGUSER=postgres PGPASSWORD=postgres PGDATABASE=qris_soundbox_platform; npm run smoke:cleanup; PORT=3100 ADMIN_TOKEN=admin-dev-token DEVICE_TOKEN=device-dev-token INTEGRATION_WEBHOOK_SECRET=dev-callback-secret MQTT_PUBLISH_MODE=simulator npm start > /tmp/qris-smoke-e2e-server.log 2>&1 & echo $! >/tmp/qris-smoke-e2e.pid; for i in $(seq 1 120); do if curl -s -f http://127.0.0.1:3100/health >/dev/null; then break; fi; sleep 0.2; done; npm run smoke:flow; status=$?; kill $(cat /tmp/qris-smoke-e2e.pid) >/dev/null 2>&1 || true; exit $status'"
  },
  "dependencies": {
    "dotenv": "^17.4.2",
    "express": "^4.19.2",
    "helmet": "^7.1.0",
    "mqtt": "^5.15.1",
    "pg": "^8.21.0"
  },
  "devDependencies": {
    "@types/express": "^4.17.21",
    "@types/node": "^22.7.0",
    "@types/pg": "^8.20.0",
    "tsc-watch": "^6.0.4",
    "tsup": "^8.3.5",
    "tsx": "^4.19.2",
    "typescript": "^5.6.3"
  }
}
