Separate YouTube video titles from on-video song/artist fields with Pro gating, serve curated fonts and watermark assets for 1:1 preview parity, and include billing/API/docs/deploy stack for self-hosted release.
48 lines
1.4 KiB
JSON
48 lines
1.4 KiB
JSON
{
|
|
"name": "songs2vid",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"dev:all": "concurrently -n web,worker,docs -c blue,green,magenta \"npm run dev\" \"npm run worker\" \"npm run docs:dev\"",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "next lint",
|
|
"worker": "tsx --env-file=.env worker/index.ts",
|
|
"db:generate": "prisma generate",
|
|
"db:migrate": "prisma migrate dev",
|
|
"db:push": "prisma db push",
|
|
"docs:dev": "npm run start --prefix website -- --port 3001",
|
|
"docs:build": "npm run build --prefix website",
|
|
"docs:serve": "npm run serve --prefix website -- --port 3001"
|
|
},
|
|
"dependencies": {
|
|
"@auth/prisma-adapter": "^2.7.4",
|
|
"@prisma/client": "^6.1.0",
|
|
"@tailwindcss/typography": "^0.5.20",
|
|
"bullmq": "^5.34.5",
|
|
"ffmpeg-static": "^5.3.0",
|
|
"googleapis": "^144.0.0",
|
|
"ioredis": "^5.11.1",
|
|
"music-metadata": "^11.13.0",
|
|
"next": "^15.1.3",
|
|
"next-auth": "^4.24.11",
|
|
"react": "^19.0.0",
|
|
"react-dom": "^19.0.0",
|
|
"stripe": "^22.3.2"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.10.2",
|
|
"@types/react": "^19.0.2",
|
|
"@types/react-dom": "^19.0.2",
|
|
"concurrently": "^9.2.0",
|
|
"eslint": "^9.17.0",
|
|
"eslint-config-next": "^15.1.3",
|
|
"postcss": "^8.4.49",
|
|
"prisma": "^6.1.0",
|
|
"tailwindcss": "^3.4.17",
|
|
"tsx": "^4.19.2",
|
|
"typescript": "^5.7.2"
|
|
}
|
|
}
|