- Create packages/types with shared TypeScript domain model interfaces (User, Video, Model, Article, Comment, Recording, etc.) - Wire both frontend and backend packages to use @sexy.pivoine.art/types via workspace:* - Update backend Pothos objectRef types to use shared interfaces instead of inline types - Update frontend $lib/types.ts to re-export from shared package - Fix all type errors introduced by more accurate nullable types (avatar/banner as string|null UUIDs, author nullable, events/device_info as object[]) - Add artist_name to comment user select in backend resolver - Widen utility function signatures (getAssetUrl, getUserInitials, calcReadingTime) to accept null/undefined Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
51 lines
1.5 KiB
JSON
51 lines
1.5 KiB
JSON
{
|
|
"name": "@sexy.pivoine.art/backend",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "UPLOAD_DIR=/home/valknar/sexy-uploads DATABASE_URL=postgresql://sexy:sexy@localhost:5432/sexy REDIS_URL=redis://localhost:6379 tsx watch src/index.ts",
|
|
"build": "tsc",
|
|
"start": "node dist/index.js",
|
|
"db:generate": "drizzle-kit generate",
|
|
"db:migrate": "drizzle-kit migrate",
|
|
"db:studio": "drizzle-kit studio",
|
|
"schema:migrate": "tsx src/scripts/migrate.ts",
|
|
"migrate": "tsx src/scripts/data-migration.ts",
|
|
"check": "tsc --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"@sexy.pivoine.art/types": "workspace:*",
|
|
"@fastify/cookie": "^11.0.2",
|
|
"@fastify/cors": "^10.0.2",
|
|
"@fastify/multipart": "^9.0.3",
|
|
"@fastify/static": "^8.1.1",
|
|
"@pothos/core": "^4.4.0",
|
|
"@pothos/plugin-errors": "^4.2.0",
|
|
"argon2": "^0.43.0",
|
|
"drizzle-orm": "^0.44.1",
|
|
"fastify": "^5.4.0",
|
|
"fluent-ffmpeg": "^2.1.3",
|
|
"graphql": "^16.11.0",
|
|
"graphql-scalars": "^1.24.2",
|
|
"graphql-ws": "^6.0.4",
|
|
"graphql-yoga": "^5.13.4",
|
|
"ioredis": "^5.6.1",
|
|
"nanoid": "^3.3.11",
|
|
"nodemailer": "^7.0.3",
|
|
"pg": "^8.16.0",
|
|
"sharp": "^0.33.5",
|
|
"slugify": "^1.6.6",
|
|
"uuid": "^11.1.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/fluent-ffmpeg": "^2.1.27",
|
|
"@types/nodemailer": "^6.4.17",
|
|
"@types/pg": "^8.15.4",
|
|
"@types/sharp": "^0.32.0",
|
|
"@types/uuid": "^10.0.0",
|
|
"drizzle-kit": "^0.31.1",
|
|
"tsx": "^4.19.4",
|
|
"typescript": "^5.9.3"
|
|
}
|
|
}
|