fix: OOM-Crash beim Seed-Schritt durch Vorkompilieren beheben
ts-node prisma/seed.ts lief bisher live im Container - der TypeScript-Compiler dafuer braucht deutlich mehr Heap als das 512Mi-Pod-Limit, daher sporadische "JavaScript heap out of memory"- Crashes beim Start (manchmal lief's, manchmal nicht, reine GC-Zufaelligkeit an der Speichergrenze). Fix: seed.ts wird jetzt wie main.ts beim Docker-Build vorkompiliert (tsconfig.seed.json, rootDir bewusst auf prisma/ statt Projekt-Root gesetzt, damit der relative Import '../generated/prisma' nach dem Kompilieren weiterhin auf denselben Pfad zeigt). Laufzeit-CMD startet nur noch plain `node dist/seed.js` - kein TypeScript-Compiler mehr im Container. ts-node/typescript zurueck zu devDependencies (nur noch fuer den Build-Schritt gebraucht, nicht mehr zur Laufzeit). incremental in tsconfig.seed.json explizit deaktiviert - ein stale tsconfig.seed.tsbuildinfo liess tsc beim zweiten Testlauf sonst faelschlich "nichts zu tun" melden (derselbe Fallstrick wie bei tsconfig.build.tsbuildinfo). Verifiziert: tsc/eslint clean, 304/304 Tests, Build reproduzierbar (zweimal hintereinander ohne Cache-Reset getestet), node dist/seed.js lief erfolgreich gegen die echte lokale DB (erkannte den bestehenden Admin korrekt und legte ihn nicht erneut an).
This commit is contained in:
1 parent
ce3a0c44ac
commit
f2b9993427
4 files changed
+44
-14
No files matched your search
@@ -6,7 +6,7 @@
|
||||
"private": true,
|
||||
"license": "UNLICENSED",
|
||||
"scripts": {
|
||||
"build": "nest build",
|
||||
"build": "nest build && tsc -p tsconfig.seed.json",
|
||||
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
|
||||
"start": "nest start",
|
||||
"start:dev": "nest start --watch",
|
||||
@@ -20,7 +20,7 @@
|
||||
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
|
||||
"test:e2e": "jest --config ./test/jest-e2e.json",
|
||||
"migrate:deploy": "prisma migrate deploy",
|
||||
"seed": "ts-node prisma/seed.ts"
|
||||
"seed": "node dist/seed.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@nestjs/common": "^11.0.1",
|
||||
@@ -45,9 +45,7 @@
|
||||
"prisma": "^7.9.1",
|
||||
"qrcode": "^1.5.4",
|
||||
"reflect-metadata": "^0.2.2",
|
||||
"rxjs": "^7.8.1",
|
||||
"ts-node": "^10.9.2",
|
||||
"typescript": "^5.7.3"
|
||||
"rxjs": "^7.8.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/eslintrc": "^3.2.0",
|
||||
@@ -75,7 +73,9 @@
|
||||
"supertest": "^7.0.0",
|
||||
"ts-jest": "^29.2.5",
|
||||
"ts-loader": "^9.5.2",
|
||||
"ts-node": "^10.9.2",
|
||||
"tsconfig-paths": "^4.2.0",
|
||||
"typescript": "^5.7.3",
|
||||
"typescript-eslint": "^8.20.0"
|
||||
},
|
||||
"jest": {
|
||||
|
||||
Reference in new issue
Block a user