320c0862df
Deploy to VPS / deploy (push) Has been cancelled
The previous attempts (--include=optional, then a separate npm install
fallback) failed because npm ci runs sharp's install script DURING
installation — and that script crashes ("Please add node-gyp to your
dependencies") before the next Dockerfile step gets to run.
Real fix: pin every sharp platform binary as an optionalDependency in
package.json. npm now records URL+hash for all of them in the lock
file regardless of which OS generated the lock. On any build host,
npm ci picks the matching binary via the os/cpu/libc filters in those
packages and silently skips the rest.
Pinned binaries (sharp 0.34.5):
- @img/sharp-linuxmusl-x64 (Alpine x64 — our VPS)
- @img/sharp-linuxmusl-arm64 (Alpine arm64)
- @img/sharp-linux-x64 (glibc x64)
- @img/sharp-linux-arm64 (glibc arm64)
- @img/sharp-darwin-arm64 (Apple Silicon dev)
- @img/sharp-darwin-x64 (Intel Mac dev)
Side benefit: simplifies the Dockerfile. Drops the secondary
`npm install --no-save --cpu=x64 --os=linux --libc=musl sharp` step
and the vips-dev system package (no source compilation needed when
the prebuilt binary is guaranteed present). The runner stage still
needs `vips` runtime, that stays.
65 lines
1.6 KiB
JSON
65 lines
1.6 KiB
JSON
{
|
|
"name": "flux-srl",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "eslint"
|
|
},
|
|
"dependencies": {
|
|
"@ai-sdk/openai": "^3.0.41",
|
|
"@ai-sdk/react": "^3.0.118",
|
|
"@prisma/adapter-pg": "^7.5.0",
|
|
"@prisma/client": "^7.5.0",
|
|
"@react-three/drei": "^10.7.7",
|
|
"@react-three/fiber": "^9.5.0",
|
|
"@swc/helpers": "^0.5.17",
|
|
"@types/nodemailer": "^7.0.11",
|
|
"ai": "^6.0.116",
|
|
"bcryptjs": "^3.0.3",
|
|
"clsx": "^2.1.1",
|
|
"framer-motion": "^12.35.2",
|
|
"jose": "^6.2.1",
|
|
"lucide-react": "^0.577.0",
|
|
"next": "16.1.6",
|
|
"next-intl": "^4.8.3",
|
|
"nodemailer": "^8.0.2",
|
|
"pg": "^8.20.0",
|
|
"qrcode": "^1.5.4",
|
|
"react": "19.2.4",
|
|
"react-dom": "19.2.4",
|
|
"resend": "^6.9.3",
|
|
"sharp": "^0.34.5",
|
|
"speakeasy": "^2.0.0",
|
|
"tailwind-merge": "^3.5.0",
|
|
"three": "^0.183.2",
|
|
"zod": "^4.3.6",
|
|
"zustand": "^5.0.11"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/postcss": "^4",
|
|
"@types/bcryptjs": "^3.0.0",
|
|
"@types/node": "^25",
|
|
"@types/pg": "^8.18.0",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"@types/speakeasy": "^2.0.10",
|
|
"eslint": "^10",
|
|
"eslint-config-next": "16.1.6",
|
|
"prisma": "^7.5.0",
|
|
"tailwindcss": "^4",
|
|
"typescript": "^5"
|
|
},
|
|
"optionalDependencies": {
|
|
"@img/sharp-linuxmusl-x64": "0.34.5",
|
|
"@img/sharp-linuxmusl-arm64": "0.34.5",
|
|
"@img/sharp-linux-x64": "0.34.5",
|
|
"@img/sharp-linux-arm64": "0.34.5",
|
|
"@img/sharp-darwin-arm64": "0.34.5",
|
|
"@img/sharp-darwin-x64": "0.34.5"
|
|
}
|
|
}
|