{
  "name": "9router-app",
  "version": "0.6.12",
  "description": "9Router web dashboard",
  "private": true,
  "scripts": {
    "dev": "next dev --webpack --port 20127",
    "build": "next build --webpack",
    "start": "next start",
    "dev:bun": "bun --bun next dev --webpack --port 20127",
    "build:bun": "bun --bun next build --webpack",
    "start:bun": "bun ./.next/standalone/server.js",
    "cli:pack": "npm --prefix cli run pack:cli",
    "cli:publish": "npm --prefix cli run publish:cli",
    "gateway": "node --import ./gateway/register-aliases.mjs gateway/server.mjs",
    "gateway:build": "node gateway/build.mjs",
    "test:unit": "cd tests && ./node_modules/.bin/vitest run --dir unit --reporter=verbose",
    "test:audit": "cd tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js unit/metrics-2026-07-18.test.js",
    "smoke": "node scripts/smoke-api.mjs",
    "e2e": "cd e2e && npm test",
    "e2e:install": "cd e2e && npm install && npm run install-browsers",
    "pre-release": "npm run test:audit && echo '✅ audit tests pass — safe to bump version'"
  },
  "dependencies": {
    "@dnd-kit/core": "^6.3.1",
    "@dnd-kit/modifiers": "^9.0.0",
    "@dnd-kit/sortable": "^10.0.0",
    "@dnd-kit/utilities": "^3.2.2",
    "@monaco-editor/react": "^4.7.0",
    "@next/third-parties": "^16.2.9",
    "@xyflow/react": "^12.10.1",
    "bcryptjs": "^3.0.3",
    "confbox": "^0.2.4",
    "jose": "^6.1.3",
    "marked": "^18.0.1",
    "material-symbols": "^0.44.6",
    "monaco-editor": "^0.55.1",
    "next": "^16.1.6",
    "node-forge": "^1.3.3",
    "node-machine-id": "^1.1.12",
    "open": "^11.0.0",
    "ora": "^9.1.0",
    "react": "19.2.4",
    "react-dom": "19.2.4",
    "react-is": "^16.13.1",
    "recharts": "^3.7.0",
    "selfsigned": "^5.5.0",
    "sql.js": "^1.14.1",
    "undici": "^7.19.2",
    "uuid": "^13.0.0",
    "zustand": "^5.0.10"
  },
  "optionalDependencies": {
    "better-sqlite3": "^12.6.2"
  },
  "comment_better_sqlite3": "kept in optionalDependencies so npm install doesn't fail on systems without build tools — sql.js is used as fallback at runtime",
  "overrides": {
    "dompurify": "^3.4.12",
    "postcss": "^8.5.10"
  },
  "comment_overrides": "Pin dompurify (closes monaco-editor XSS advisories) and postcss (closes CSS stringify XSS via unescaped </style>) transitively.",
  "devDependencies": {
    "@tailwindcss/postcss": "^4.1.18",
    "esbuild": "^0.25.12",
    "eslint": "^9",
    "eslint-config-next": "16.1.6",
    "postcss": "^8.5.10",
    "tailwindcss": "^4"
  }
}
