From eb48e34bfd6660f867f9620d684f30ff05d3cc68 Mon Sep 17 00:00:00 2001 From: fds2610-bot Date: Fri, 7 Aug 2026 10:51:18 +0200 Subject: [PATCH] Frontend-Tests wieder lauffaehig: Node 24 im Test-Container Der letzte Commit stellte das Test-Skript in package.json auf ein Glob-Muster um, weil "node --test tests/frontend" seit Node 24 das Verzeichnis nicht mehr als Testverzeichnis aufloest. Der Test-Container lief aber weiter auf node:20-alpine, und Node 20 kennt Globs in "node --test" noch nicht - es sucht woertlich nach einer Datei mit Sternchen im Namen und bricht ab: Could not find '/app/tests/frontend/**/*.test.js' Auf dem Entwicklungsrechner (Node 24 auf dem Host) fiel das nicht auf, auf dem Produktionsserver liefen die Frontend-Tests dadurch gar nicht mehr. Da update.sh mit "set -e" laeuft, brach es an dieser Stelle ab, noch bevor es die Abschlusszeile ausgeben konnte - das Update selbst war zu dem Zeitpunkt aber schon vollstaendig eingespielt, die Tests laufen erst nach dem Neustart der Dienste. Statt das Glob zurueckzubauen das Image angehoben: node:20 ist seit April 2026 ohnehin ohne Support. Unter node:24-alpine laufen die 76 Frontend-Tests durch. Co-Authored-By: Claude Opus 5 --- docker-compose.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 392b424..bc7a509 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -93,8 +93,10 @@ services: # Fuehrt die Node-basierten Frontend-Tests (tests/frontend/) aus. Node/npm sind nur im # Container noetig, nicht auf dem Host (analog zum api-Service mit PHP/Composer). + # Node >= 21 noetig: das Test-Skript in package.json uebergibt ein Glob-Muster an + # "node --test", das aeltere Versionen als Dateinamen lesen und nicht aufloesen. frontend: - image: node:20-alpine + image: node:24-alpine working_dir: /app volumes: - .:/app