mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-10-03 18:23:47 +10:00
Vercel now deploys Reactive Resume as two services in one project: `frontend` serves the static Vite build from apps/web/dist, and `backend` runs the Hono server Function from apps/server. Top-level rewrites send server-owned paths (/api, /uploads, /mcp, /.well-known, robots.txt, sitemap.xml, llms.txt, schema.json, index.html) and every path without a file extension to `backend`, so HTML shells keep their injected SEO metadata. Paths with a file extension go to `frontend`. The service builder needs a few accommodations: - apps/server/vercel.mjs replaces api/index.mjs as the entrypoint, because a service entrypoint must exist before the build runs. - `outputDirectory: "."` stops the builder from using the Docker entrypoint in dist/ as the Function handler. - The builder loads external CommonJS dependencies through pnpm links that it leaves out of the Function. ioredis and react-reconciler are now bundled with their dependencies, and bcrypt is replaced with bcryptjs, which reads and writes the same $2b$ hashes. The Vercel compatibility workflow now builds with the services framework and loads a copy of the backend Function outside the checkout, so a dependency missing from the Function fails CI. The stale PDFKit trace checks are removed. Existing Vercel installations must set Framework Preset to Services before redeploying; the self-hosting guide documents this.
40 lines
1.3 KiB
JSON
40 lines
1.3 KiB
JSON
{
|
|
"name": "@reactive-resume/auth",
|
|
"version": "0.0.0",
|
|
"type": "module",
|
|
"private": true,
|
|
"exports": {
|
|
"./config": "./src/config.ts",
|
|
"./types": "./src/types.ts"
|
|
},
|
|
"scripts": {
|
|
"typecheck": "tsgo --noEmit",
|
|
"test": "vitest run --passWithNoTests",
|
|
"test:coverage": "vitest run --coverage --passWithNoTests",
|
|
"test:ci": "vitest run --reporter=default --reporter=github-actions --reporter=json --reporter=junit --outputFile.json=reports/vitest-results.json --outputFile.junit=reports/vitest-junit.xml --passWithNoTests",
|
|
"test:agent": "vitest run --reporter=agent --reporter=json --outputFile.json=reports/vitest-results.json --passWithNoTests"
|
|
},
|
|
"dependencies": {
|
|
"@better-auth/api-key": "^1.7.6",
|
|
"@better-auth/drizzle-adapter": "^1.7.6",
|
|
"@better-auth/infra": "^0.4.13",
|
|
"@better-auth/oauth-provider": "^1.7.6",
|
|
"@better-auth/passkey": "^1.7.6",
|
|
"@reactive-resume/db": "workspace:*",
|
|
"@reactive-resume/email": "workspace:*",
|
|
"@reactive-resume/env": "workspace:*",
|
|
"@reactive-resume/utils": "workspace:*",
|
|
"bcryptjs": "^3.0.3",
|
|
"better-auth": "1.7.6",
|
|
"drizzle-orm": "1.0.0-rc.4",
|
|
"jose": "^6.2.12",
|
|
"react": "^19.3.0"
|
|
},
|
|
"devDependencies": {
|
|
"@reactive-resume/config": "workspace:*",
|
|
"@types/react": "^19.3.0",
|
|
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
"typescript": "^7.0.2"
|
|
}
|
|
}
|