{ "name": "@stackframe/stack-dashboard", "version": "2.6.30", "private": true, "scripts": { "clean": "rimraf .next && rimraf node_modules", "typecheck": "tsc --noEmit", "with-env": "dotenv -c development --", "with-env:prod": "dotenv -c --", "dev": "next dev --port 8101", "build": "next build", "analyze-bundle": "ANALYZE_BUNDLE=1 pnpm run build", "start": "next start --port 8101", "psql": "pnpm run with-env bash -c 'psql $STACK_DATABASE_CONNECTION_STRING'", "lint": "next lint", "generate-keys": "pnpm run with-env tsx scripts/generate-keys.ts" }, "dependencies": { "@hookform/resolvers": "^3.3.4", "@mdx-js/loader": "^3", "@mdx-js/react": "^3.0.0", "@next/bundle-analyzer": "^14.0.3", "@next/mdx": "^14", "@node-oauth/oauth2-server": "^5.1.0", "@radix-ui/react-icons": "^1.3.1", "@sentry/nextjs": "^8.40.0", "@stackframe/stack": "workspace:*", "@stackframe/stack-emails": "workspace:*", "@stackframe/stack-shared": "workspace:*", "@stackframe/stack-ui": "workspace:*", "@tanstack/react-table": "^8.20.5", "@vercel/analytics": "^1.2.2", "@vercel/speed-insights": "^1.0.12", "bcrypt": "^5.1.1", "canvas-confetti": "^1.9.2", "clsx": "^2.0.0", "dotenv-cli": "^7.3.0", "export-to-csv": "^1.3.0", "geist": "^1", "jose": "^5.2.2", "lucide-react": "^0.378.0", "next": "^14.2.5", "next-themes": "^0.2.1", "nodemailer": "^6.9.10", "openid-client": "^5.6.4", "posthog-js": "^1.149.1", "react": "^18.2", "react-dom": "^18", "react-hook-form": "^7.53.1", "react-icons": "^5.0.1", "rehype-katex": "^7", "remark-gfm": "^4", "remark-heading-id": "^1.0.1", "remark-math": "^6", "server-only": "^0.0.1", "svix": "^1.32.0", "svix-react": "^1.13.0", "tailwind-merge": "^2.3.0", "tailwindcss-animate": "^1.0.7", "yup": "^1.4.0" }, "devDependencies": { "@types/canvas-confetti": "^1.6.4", "@types/node": "^20.8.10", "@types/nodemailer": "^6.4.14", "@types/react": "^18.3.12", "@types/react-dom": "^18", "autoprefixer": "^10.4.17", "glob": "^10.4.1", "postcss": "^8.4.38", "rimraf": "^5.0.5", "tailwindcss": "^3.4.1", "tsx": "^4.7.2" } }