mirror of
https://github.com/stack-auth/stack.git
synced 2026-06-13 21:01:21 +08:00
### Summary of Changes We ran into an error on sentry when the vercel fallback and freestyle improvements were pushed to prod. Spiking into the error handling revealed that the errors could be more informative to enable easier debugging. We improve the error handling and add extra test coverage to cover the error pathways through the code. Note that we do not test vercel sandbox itself nor the fallback mechanism-this is because a) these will be logged and tested in prod with the sanity test code, and b) creating a mock vercel sandbox instance the way we have a mock freestyle server would just slow down any tests that pass through the email rendering pipeline, all for something thats meant to just be a fallback. However, locally, we tested with scripts and real vercel sandbox test project to success. Note that we also tried running the existing email-rendering test suite with fake freestyle credentials and real vercel-sandbox credentials (to mimic the fallback) and they passed.
135 lines
6.3 KiB
JSON
135 lines
6.3 KiB
JSON
{
|
|
"name": "@stackframe/stack-backend",
|
|
"version": "2.8.60",
|
|
"repository": "https://github.com/stack-auth/stack-auth",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"clean": "rimraf src/generated && rimraf .next && rimraf node_modules",
|
|
"typecheck": "tsc --noEmit",
|
|
"with-env": "dotenv -c --",
|
|
"with-env:dev": "dotenv -c development --",
|
|
"with-env:prod": "dotenv -c production --",
|
|
"dev": "concurrently -n \"dev,codegen,prisma-studio,email-queue\" -k \"next dev --port ${NEXT_PUBLIC_STACK_PORT_PREFIX:-81}02 ${STACK_BACKEND_DEV_EXTRA_ARGS:-}\" \"pnpm run codegen:watch\" \"pnpm run prisma-studio\" \"pnpm run run-email-queue\"",
|
|
"dev:inspect": "STACK_BACKEND_DEV_EXTRA_ARGS=\"--inspect\" pnpm run dev",
|
|
"dev:profile": "STACK_BACKEND_DEV_EXTRA_ARGS=\"--experimental-cpu-prof\" pnpm run dev",
|
|
"build": "pnpm run codegen && next build",
|
|
"docker-build": "pnpm run codegen && next build --experimental-build-mode compile",
|
|
"build-self-host-migration-script": "tsup --config scripts/db-migrations.tsup.config.ts",
|
|
"analyze-bundle": "next experimental-analyze",
|
|
"start": "next start --port ${NEXT_PUBLIC_STACK_PORT_PREFIX:-81}02",
|
|
"codegen-prisma": "STACK_DATABASE_CONNECTION_STRING=\"${STACK_DATABASE_CONNECTION_STRING:-placeholder-database-connection-string}\" pnpm run prisma generate",
|
|
"codegen-prisma:watch": "STACK_DATABASE_CONNECTION_STRING=\"${STACK_DATABASE_CONNECTION_STRING:-placeholder-database-connection-string}\" pnpm run prisma generate --watch",
|
|
"codegen-route-info": "pnpm run with-env tsx scripts/generate-route-info.ts",
|
|
"codegen-route-info:watch": "pnpm run with-env tsx watch --clear-screen=false scripts/generate-route-info.ts",
|
|
"codegen": "pnpm run with-env pnpm run generate-migration-imports && pnpm run with-env bash -c 'if [ \"$STACK_ACCELERATE_ENABLED\" = \"true\" ]; then pnpm run prisma generate --no-engine; else pnpm run codegen-prisma; fi' && pnpm run codegen-docs && pnpm run codegen-route-info",
|
|
"codegen:watch": "concurrently -n \"prisma,docs,route-info,migration-imports\" -k \"pnpm run codegen-prisma:watch\" \"pnpm run codegen-docs:watch\" \"pnpm run codegen-route-info:watch\" \"pnpm run generate-migration-imports:watch\"",
|
|
"psql-inner": "psql $(echo $STACK_DATABASE_CONNECTION_STRING | sed 's/\\?.*$//')",
|
|
"psql": "pnpm run with-env:dev pnpm run psql-inner",
|
|
"prisma-studio": "pnpm run with-env:dev prisma studio --port ${NEXT_PUBLIC_STACK_PORT_PREFIX:-81}06 --browser none",
|
|
"prisma:dev": "pnpm run with-env:dev prisma",
|
|
"prisma": "pnpm run with-env prisma",
|
|
"db:migration-gen": "pnpm run with-env:dev tsx scripts/db-migrations.ts generate-migration-file",
|
|
"db:reset": "pnpm run with-env:dev tsx scripts/db-migrations.ts reset",
|
|
"db:seed": "pnpm run with-env:dev tsx scripts/db-migrations.ts seed",
|
|
"db:init": "pnpm run with-env:dev tsx scripts/db-migrations.ts init",
|
|
"db:migrate": "pnpm run with-env:dev tsx scripts/db-migrations.ts migrate",
|
|
"generate-migration-imports": "pnpm run with-env tsx scripts/generate-migration-imports.ts",
|
|
"generate-migration-imports:watch": "chokidar 'prisma/migrations/**/*.sql' -c 'pnpm run generate-migration-imports'",
|
|
"lint": "eslint .",
|
|
"codegen-docs": "pnpm run with-env tsx scripts/generate-openapi-fumadocs.ts",
|
|
"codegen-docs:watch": "pnpm run with-env tsx watch --exclude '**/node_modules/**' --clear-screen=false scripts/generate-openapi-fumadocs.ts",
|
|
"generate-keys": "pnpm run with-env tsx scripts/generate-keys.ts",
|
|
"db-seed-script": "pnpm run db:seed",
|
|
"verify-data-integrity": "pnpm run with-env:dev tsx scripts/verify-data-integrity.ts",
|
|
"run-email-queue": "pnpm run with-env:dev tsx scripts/run-email-queue.ts"
|
|
},
|
|
"prisma": {
|
|
"seed": "pnpm run db-seed-script"
|
|
},
|
|
"dependencies": {
|
|
"@ai-sdk/openai": "^1.3.23",
|
|
"@aws-sdk/client-s3": "^3.855.0",
|
|
"@node-oauth/oauth2-server": "^5.1.0",
|
|
"@opentelemetry/api": "^1.9.0",
|
|
"@opentelemetry/api-logs": "^0.53.0",
|
|
"@opentelemetry/auto-instrumentations-node": "^0.67.3",
|
|
"@opentelemetry/context-async-hooks": "^1.26.0",
|
|
"@opentelemetry/core": "^1.26.0",
|
|
"@opentelemetry/exporter-trace-otlp-http": "^0.53.0",
|
|
"@opentelemetry/instrumentation": "^0.53.0",
|
|
"@opentelemetry/resources": "^1.26.0",
|
|
"@opentelemetry/sdk-logs": "^0.53.0",
|
|
"@opentelemetry/sdk-trace-base": "^1.26.0",
|
|
"@opentelemetry/sdk-trace-node": "^1.26.0",
|
|
"@opentelemetry/semantic-conventions": "^1.27.0",
|
|
"@oslojs/otp": "^1.1.0",
|
|
"@prisma/adapter-neon": "^7.0.0",
|
|
"@prisma/adapter-pg": "^7.0.0",
|
|
"@prisma/client": "^7.0.0",
|
|
"@prisma/extension-read-replicas": "^0.5.0",
|
|
"@prisma/instrumentation": "^7.0.0",
|
|
"@react-email/render": "^1.2.1",
|
|
"@sentry/nextjs": "^10.11.0",
|
|
"@simplewebauthn/server": "^11.0.0",
|
|
"@stackframe/stack": "workspace:*",
|
|
"@stackframe/stack-shared": "workspace:*",
|
|
"@upstash/qstash": "^2.8.2",
|
|
"@vercel/functions": "^2.0.0",
|
|
"@vercel/otel": "^1.10.4",
|
|
"@vercel/sandbox": "^1.2.0",
|
|
"ai": "^4.3.17",
|
|
"bcrypt": "^5.1.1",
|
|
"chokidar-cli": "^3.0.0",
|
|
"dotenv": "^16.4.5",
|
|
"dotenv-cli": "^7.3.0",
|
|
"freestyle-sandboxes": "^0.1.6",
|
|
"jose": "^6.1.3",
|
|
"json-diff": "^1.0.6",
|
|
"next": "16.1.1",
|
|
"nodemailer": "^6.9.10",
|
|
"oidc-provider": "^8.5.1",
|
|
"openid-client": "5.6.4",
|
|
"pg": "^8.16.3",
|
|
"postgres": "^3.4.5",
|
|
"posthog-node": "^4.1.0",
|
|
"react": "19.2.3",
|
|
"react-dom": "19.2.3",
|
|
"resend": "^6.0.1",
|
|
"semver": "^7.6.3",
|
|
"sharp": "^0.34.4",
|
|
"stripe": "^18.3.0",
|
|
"svix": "^1.25.0",
|
|
"vite": "^6.1.0",
|
|
"yaml": "^2.4.5",
|
|
"yup": "^1.7.1",
|
|
"zod": "^3.23.8"
|
|
},
|
|
"devDependencies": {
|
|
"@simplewebauthn/types": "^11.0.0",
|
|
"@types/json-diff": "^1.0.3",
|
|
"@types/node": "20.17.6",
|
|
"@types/nodemailer": "^6.4.14",
|
|
"@types/oidc-provider": "^8.5.1",
|
|
"@types/pg": "^8.16.0",
|
|
"@types/react": "19.2.7",
|
|
"@types/react-dom": "19.2.3",
|
|
"@types/semver": "^7.5.8",
|
|
"concurrently": "^8.2.2",
|
|
"glob": "^10.4.1",
|
|
"import-in-the-middle": "1.14.2",
|
|
"prisma": "^7.0.0",
|
|
"require-in-the-middle": "^7.4.0",
|
|
"rimraf": "^5.0.5",
|
|
"tsup": "^8.3.0",
|
|
"tsx": "^4.7.2"
|
|
},
|
|
"pnpm": {
|
|
"overrides": {
|
|
"@types/react": "19.2.7",
|
|
"@types/react-dom": "19.2.3"
|
|
}
|
|
},
|
|
"packageManager": "pnpm@10.23.0"
|
|
}
|