{
  "name": "zuzufy",
  "version": "0.1.0",
  "private": true,
  "description": "Zuzufy \u2014 24/7 podcast, internet radio, live broadcasting and creator subscription platform.",
  "main": "server.js",
  "engines": {
    "node": ">=22"
  },
  "scripts": {
    "start": "node server.js",
    "dev": "node --watch server.js",
    "migrate": "node scripts/migrate.js up",
    "migrate:down": "node scripts/migrate.js down",
    "migrate:status": "node scripts/migrate.js status",
    "seed": "node scripts/seed.js",
    "create-admin": "node scripts/create-admin.js",
    "test": "node --test --test-concurrency=1 tests/*.test.js",
    "build:vendor": "node scripts/build-vendor.js",
    "test:e2e": "node --test --test-concurrency=1 tests/e2e/acceptance.e2e.js",
    "docs:api": "node scripts/gen-openapi.js",
    "vapid": "node scripts/vapid.js"
  },
  "license": "UNLICENSED",
  "dependencies": {
    "@anthropic-ai/sdk": "^0.132.1",
    "bcryptjs": "^3.0.3",
    "busboy": "^1.6.0",
    "dotenv": "^18.0.6",
    "express": "^5.2.1",
    "helmet": "^8.3.0",
    "mediasoup": "^3.29.0",
    "mysql2": "^3.24.5",
    "nodemailer": "^10.0.16",
    "pino": "^10.4.0",
    "qrcode": "^1.5.4",
    "speakeasy": "^2.0.0",
    "stripe": "^23.0.0",
    "web-push": "^3.6.7",
    "ws": "^8.22.0"
  },
  "devDependencies": {
    "esbuild": "^0.28.2",
    "mediasoup-client": "^3.24.5",
    "playwright": "^1.64.0"
  }
}
