Files
Reactive-Resume/apps/server/package.json
T
Amruth Pillai 57171c6fcb feat(api): add REST endpoints for imports, exports, checks and pagination
Resource-oriented REST aliases cover file imports (PDF text layer, JSON
Resume, Reactive Resume v4/current, LinkedIn), PDF/DOCX/Markdown/JSON
exports for resumes and cover letters, editor content checks, job-term
matching and a public PDF readability checker. Collection endpoints accept
limit/offset with X-Total-Count headers, and PATCH routes cover partial
updates. Existing routes and response shapes stay unchanged.

The OpenAPI spec marks public operations with `security: []`, the REST
surface gets a 40 MiB body limit, and Better Auth publishes its own
OpenAPI schema. Cookie sessions are rejected for cross-origin requests.
DOCX export parses HTML with node-html-parser so it runs on the server,
and PDF line extraction moves to @reactive-resume/import for reuse.
2026-10-01 23:01:11 +02:00

105 lines
3.3 KiB
JSON

{
"name": "server",
"version": "0.0.0",
"type": "module",
"private": true,
"scripts": {
"dev": "tsx watch src/index.ts",
"build": "tsdown",
"start": "node dist/index.mjs",
"docs:gen": "tsx src/openapi/generate-spec.ts",
"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": {
"@ai-sdk/anthropic": "^4.0.71",
"@ai-sdk/cerebras": "^3.0.62",
"@ai-sdk/cohere": "^4.0.54",
"@ai-sdk/deepseek": "^3.0.58",
"@ai-sdk/fireworks": "^3.0.65",
"@ai-sdk/google": "^4.0.87",
"@ai-sdk/groq": "^4.0.54",
"@ai-sdk/mistral": "^4.0.56",
"@ai-sdk/openai": "^4.0.83",
"@ai-sdk/openai-compatible": "^3.0.62",
"@ai-sdk/perplexity": "^5.0.5",
"@ai-sdk/togetherai": "^3.0.63",
"@ai-sdk/xai": "^5.0.14",
"@aws-sdk/client-s3": "^3.1144.0",
"@better-auth/api-key": "catalog:",
"@better-auth/drizzle-adapter": "1.7.7",
"@better-auth/infra": "catalog:",
"@better-auth/oauth-provider": "catalog:",
"@better-auth/passkey": "catalog:",
"@bramus/specificity": "^2.4.2",
"@formepdf/core": "0.26.0",
"@formepdf/react": "0.26.0",
"@hono/node-server": "^2.1.3",
"@modelcontextprotocol/sdk": "^1.31.0",
"@orpc/client": "catalog:",
"@orpc/experimental-ratelimit": "^1.15.4",
"@orpc/json-schema": "^1.15.4",
"@orpc/openapi": "^1.15.4",
"@orpc/server": "catalog:",
"@orpc/zod": "^1.15.4",
"@reactive-resume/api": "workspace:*",
"@reactive-resume/auth": "workspace:*",
"@reactive-resume/db": "workspace:*",
"@reactive-resume/env": "workspace:*",
"@reactive-resume/mcp": "workspace:*",
"@reactive-resume/schema": "workspace:*",
"@reactive-resume/utils": "workspace:*",
"@sindresorhus/slugify": "^3.0.1",
"@t3-oss/env-core": "^0.13.11",
"@uiw/color-convert": "catalog:",
"@vercel/blob": "^2.8.0",
"@vercel/functions": "^3.9.9",
"ai": "catalog:",
"bcryptjs": "catalog:",
"better-auth": "catalog:",
"cjk-regex": "^3.5.0",
"css-tree": "^3.2.1",
"docx": "^9.8.1",
"drizzle-orm": "catalog:",
"drizzle-zod": "1.0.0-beta.14-a36c63d",
"es-toolkit": "catalog:",
"fast-json-patch": "^3.1.1",
"fast-png": "^8.0.0",
"fflate": "catalog:",
"hono": "^4.13.12",
"ioredis": "catalog:",
"jose": "^6.2.12",
"jsonrepair": "catalog:",
"node-html-parser": "^9.0.4",
"nodemailer": "^10.0.13",
"ollama-ai-provider-v2": "^4.0.1",
"pdfjs-dist": "6.3.289",
"pg": "catalog:",
"react": "catalog:",
"react-email": "^6.11.0",
"react-reconciler": "0.34.0",
"resumable-stream": "^2.2.13",
"sanitize-html": "^2.18.0",
"sharp": "^0.35.5",
"tokenx": "^2.1.0",
"ts-pattern": "catalog:",
"unique-names-generator": "^4.7.1",
"uuid": "^14.0.2",
"zod": "catalog:"
},
"devDependencies": {
"@reactive-resume/config": "workspace:*",
"@types/node": "catalog:",
"@types/pg": "catalog:",
"@types/react": "catalog:",
"@typescript/native-preview": "catalog:",
"tsdown": "^0.23.0",
"tsx": "^4.23.15",
"typescript": "catalog:",
"vitest": "catalog:"
}
}