{
  "name": "midas-wallet-nextjs-backend",
  "version": "1.0.0",
  "private": true,
  "description": "Midas Wallet backend — Next.js port of midas-wallet-java-backend, wire-compatible with the shipped Android and React clients.",
  "scripts": {
    "build": "next build && cp -r .next/static .next/standalone/.next/ && cp -r public .next/standalone/",
    "build:deploy": "npm run build && sh scripts/package-deploy.sh",
    "db:check": "node --disable-warning=MODULE_TYPELESS_PACKAGE_JSON --experimental-strip-types scripts/db-check.ts",
    "db:check:mariadb": "DB_ENGINE=mariadb node --disable-warning=MODULE_TYPELESS_PACKAGE_JSON --experimental-strip-types scripts/db-check.ts",
    "db:dev": "prisma migrate dev",
    "db:generate": "npm run db:schema:mariadb && prisma generate && prisma generate --schema prisma/generated/schema.mariadb.prisma",
    "db:migrate": "prisma migrate deploy",
    "db:schema:mariadb": "node --disable-warning=MODULE_TYPELESS_PACKAGE_JSON --experimental-strip-types scripts/gen-mariadb-schema.ts",
    "db:seed": "node --disable-warning=MODULE_TYPELESS_PACKAGE_JSON --experimental-strip-types prisma/seed/seed.ts",
    "db:sql:mariadb": "node --disable-warning=MODULE_TYPELESS_PACKAGE_JSON --experimental-strip-types scripts/emit-manual-sql.ts",
    "dev": "next dev -p 8324",
    "lint": "eslint .",
    "prebuild": "npm run vendor:swagger && npm run db:generate",
    "predev": "npm run vendor:swagger && npm run db:generate",
    "routes:manifest": "node --disable-warning=MODULE_TYPELESS_PACKAGE_JSON --experimental-strip-types scripts/routes-manifest.ts",
    "start": "node .next/standalone/server.js",
    "start:dev": "next dev -p 8324",
    "test": "vitest run",
    "test:dialect": "vitest run --project dialect",
    "test:http": "npm run build && vitest run --project http",
    "test:http:mariadb": "npm run build && vitest run --project http-mariadb",
    "test:integration": "vitest run --project integration",
    "test:integration:mariadb": "vitest run --project integration-mariadb",
    "test:unit": "vitest run --project unit",
    "test:watch": "vitest",
    "typecheck": "tsc --noEmit",
    "vendor:swagger": "node scripts/vendor-swagger-ui.mjs"
  },
  "engines": {
    "node": ">=22"
  },
  "dependencies": {
    "@asteasolutions/zod-to-openapi": "9.1.0",
    "@neon/config": "^1.7.2",
    "@neon/env": "^1.4.3",
    "@prisma/adapter-mariadb": "^7.10.0",
    "@prisma/adapter-pg": "7.10.0",
    "@prisma/client": "7.10.0",
    "decimal.js": "^10.6.0",
    "dotenv": "^17.4.2",
    "google-auth-library": "^11.0.2",
    "jose": "^6.2.12",
    "lru-cache": "^11.5.2",
    "mariadb": "^3.5.4",
    "next": "^16.3.4",
    "pg": "^8.23.0",
    "prom-client": "^15.1.3",
    "react": "^19.2.8",
    "react-dom": "^19.2.8",
    "zod": "^4.5.4"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "@readme/openapi-parser": "^9.0.0",
    "@testcontainers/mariadb": "^12.1.0",
    "@testcontainers/postgresql": "^12.1.0",
    "@types/node": "^26.5.0",
    "@types/pg": "^8.23.1",
    "@types/react": "^19.2.18",
    "@types/react-dom": "^19.2.7",
    "eslint": "^10.10.0",
    "eslint-config-next": "^16.3.4",
    "fast-glob": "^3.3.3",
    "prisma": "7.10.0",
    "swagger-ui-dist": "^5.32.15",
    "typescript": "^6.0.3",
    "typescript-eslint": "^8.70.0",
    "vitest": "^5.0.0"
  }
}
