npm ci brach beim Deployment mit EBADENGINE ab: jsdom 30 verlangt ^22.22.2 || ^24.15.0 || >=26.0.0, Nixpacks liefert aber Node 24.10.0. 24.10 ist aelter als 24.15 und faellt damit durch; zusammen mit engine-strict=true in .npmrc bricht die Installation hart ab. Anders als bei frueheren Node-Problemen liegt es nicht an unserer eigenen engines-Angabe (^20.19 || ^22.12 || >=24) — die ist erfuellt. Die Anforderung kommt allein aus jsdom, und zwar erst seit Version 30; jsdom 29 verlangt nur >=24.0.0. Ein NIXPACKS_NODE_VERSION haette nicht geholfen, weil Nixpacks nur Major-Versionen aufloest und damit ohnehin bei 24.10 landet. jsdom ist eine devDependency und wird ausschliesslich als Testumgebung fuer Vitest genutzt (vite.config.ts). Fuer den Produktionsbuild ist sie irrelevant, wird aber mitinstalliert, weil Nixpacks NPM_CONFIG_PRODUCTION auf false setzt. Verifiziert: npm ci laeuft in einem node:24.10-slim-Container durch, also auf exakt der Version, an der das Deployment gescheitert ist. Alle 19 Tests in src/lib/gpx.test.ts bestehen unter jsdom 29.1.1, npm run build erzeugt das build-Verzeichnis. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
52 lines
1.6 KiB
JSON
52 lines
1.6 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",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"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",
|
|
"jsdom": "^29.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",
|
|
"vitest": "^4.1.10"
|
|
},
|
|
"dependencies": {
|
|
"date-fns": "^4.1.0",
|
|
"dompurify": "^3.4.13",
|
|
"lucide-svelte": "^0.503.0",
|
|
"maplibre-gl": "^6.2.0",
|
|
"mode-watcher": "^1.1.0",
|
|
"pocketbase": "^0.26.0",
|
|
"tippy.js": "^6.3.7"
|
|
}
|
|
}
|