Das Coolify-Deployment scheiterte an zwei Stellen:
1. npm ci brach mit EBADENGINE ab. Coolify baute mit Node 22.11.0, vite und
@sveltejs/vite-plugin-svelte verlangen aber >=22.12; engine-strict=true
aus der .npmrc macht daraus einen Abbruch statt einer Warnung. Das
engines-Feld schreibt die Anforderung jetzt im Repo fest, statt sie einer
Einstellung in der Coolify-UI zu überlassen.
2. Selbst nach erfolgreichem npm ci wäre der Start gescheitert: adapter-auto
erkennt Coolify nicht ("Could not detect a supported production
environment") und erzeugt gar kein build/ — der Startbefehl "node build"
findet dann nichts. Jetzt adapter-node, adapter-auto entfällt.
Verifiziert in einer frischen Kopie ohne node_modules, mit derselben Kette
wie im Deployment: npm ci läuft durch, npm run build erzeugt build/index.js,
node build antwortet auf / und /login mit HTTP 200.
Dabei fiel ein dritter Punkt auf, der keine Code-Änderung braucht, aber im
Deployment gesetzt sein muss: PUBLIC_PB_URL wird zur Buildzeit eingesetzt.
Fehlt sie, bricht der Build mit "PUBLIC_PB_URL is not exported by
virtual:env/static/public" ab. Steht jetzt in frontend/README.md und CLAUDE.md.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
46 lines
1.5 KiB
JSON
46 lines
1.5 KiB
JSON
{
|
|
"name": "stammtisch-hersbruck.de",
|
|
"private": true,
|
|
"version": "2.0.0-alpha",
|
|
"type": "module",
|
|
"engines": {
|
|
"node": "^20.19 || ^22.12 || >=24"
|
|
},
|
|
"scripts": {
|
|
"dev": "vite dev --mode development",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"prepare": "svelte-kit sync || echo ''",
|
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
"generate-pocketbase-types": "node scripts/schema-to-json.mjs > .schema.tmp.json && pocketbase-typegen --json .schema.tmp.json --out ./src/lib/types.d.ts && rm -f .schema.tmp.json"
|
|
},
|
|
"devDependencies": {
|
|
"@internationalized/date": "^3.12.1",
|
|
"@lucide/svelte": "^1.16.0",
|
|
"@sveltejs/adapter-node": "^5.5.7",
|
|
"@sveltejs/kit": "^2.43.2",
|
|
"@sveltejs/vite-plugin-svelte": "^6.2.0",
|
|
"@tailwindcss/forms": "^0.5.10",
|
|
"@tailwindcss/typography": "^0.5.18",
|
|
"@tailwindcss/vite": "^4.1.13",
|
|
"bits-ui": "^2.18.1",
|
|
"clsx": "^2.1.1",
|
|
"pocketbase-typegen": "^1.3.1",
|
|
"svelte": "^5.39.5",
|
|
"svelte-check": "^4.3.2",
|
|
"tailwind-merge": "^3.3.1",
|
|
"tailwind-variants": "^3.2.2",
|
|
"tailwindcss": "^4.1.13",
|
|
"tw-animate-css": "^1.4.0",
|
|
"typescript": "^5.9.2",
|
|
"vite": "^7.1.7"
|
|
},
|
|
"dependencies": {
|
|
"date-fns": "^4.1.0",
|
|
"lucide-svelte": "^0.503.0",
|
|
"mode-watcher": "^1.1.0",
|
|
"pocketbase": "^0.26.0",
|
|
"tippy.js": "^6.3.7"
|
|
}
|
|
}
|