BUG: Frontend Docker-Build bricht ab wegen falsch deklarierter Variable
Fehler
Als User habe ich einen Fehler(Bug) gefunden, der behoben werden muss. Dazu liefere ich in dieser Vorlage bei allen kursiv beschriebenen Fragen/Unterpunkten alle relevanten Informationen für die Entwicklenden mit.
Bugbeschreibung
Beim Versuch, das Frontend per Docker zu bauen (docker build -t f13/frontend .), schlägt der Build-Prozess beim Schritt npm run build fehl. Die Svelte-Komponente App.svelte versucht, ein Property feedbackOpen zu binden, das jedoch nicht deklariert wurde. Dies führt zu einem ValidationError.
Reproduzierbarkeit
- Repository clonen:
git clone https://gitlab.opencode.de/f13/microservices/frontend - Ins Repository wechseln:
cd frontend - Ggf. auf main Branch wechseln:
git checkout main - Neuesten Stand ziehen:
git pull origin main - Image bauen:
docker build -t f13/frontend .
Der Fehler tritt beim Build bei Schritt [builder 9/9] RUN npm run build auf.
Erwartetes Verhalten
Das Frontend sollte erfolgreich gebaut werden, ohne dass ein ValidationError auftritt.
Priorität
1
Screenshots/Fehlermeldung des Systems
> frontend git:(main) docker build -t f13/frontend .
<previous steps are successful>
=> ERROR [builder 9/9] RUN npm run build 5.1s
------
> [builder 9/9] RUN npm run build:
0.397
0.397 > svelte-app@1.0.0 build
0.397 > rollup -c
0.397
1.286
1.286 src/main.js → public/build...
1.801 [!] (plugin svelte) ValidationError: feedbackOpen is not declared
1.801 src/App.svelte
1.801 504: <FeedbackButtons
1.801 505: buttonClicked="0"
1.801 506: bind:feedbackOpen
1.801 ^
1.801 507: showButtons={false}
1.801 508: callback={(rating, feedback_text) => giveFeedback(feedback_text)}
2.298 ValidationError: feedbackOpen is not declared
2.298 at error (/frontend/node_modules/svelte/src/compiler/utils/error.ts:25:16)
2.298 at Component.error (/frontend/node_modules/svelte/src/compiler/compile/Component.ts:472:4)
2.298 at new Binding (/frontend/node_modules/svelte/src/compiler/compile/nodes/Binding.ts:80:15)
2.298 at /frontend/node_modules/svelte/src/compiler/compile/nodes/InlineComponent.ts:61:25
2.298 at Array.forEach (<anonymous>)
2.298 at new InlineComponent (/frontend/node_modules/svelte/src/compiler/compile/nodes/InlineComponent.ts:44:19)
2.298 at /frontend/node_modules/svelte/src/compiler/compile/nodes/shared/map_children.ts:62:16
2.298 at Array.map (<anonymous>)
2.298 at map_children (/frontend/node_modules/svelte/src/compiler/compile/nodes/shared/map_children.ts:56:18)
2.298 at new Fragment (/frontend/node_modules/svelte/src/compiler/compile/nodes/Fragment.ts:20:19)
2.298
------
Dockerfile:19
--------------------
17 | COPY rollup.config.js ./
18 | # compile frontend
19 | >>> RUN npm run build
20 |
21 |
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c npm run build" did not complete successfully: exit code: 1
Umgebung
- Branch: main
- Version: latest commit
Zusätzlicher Inhalt
Das Problem liegt in dieser Zeile. Dabei wird definiert:
const _feedbackOpen = false; # diese Zeile wurde am 07.10.2025 geändert. Schlägt fehl.
Wenn dies ersetzt wird durch:
let feedbackOpen = false; # so wurde die Variable vor dem 07.10.2025 definiert. Funktioniert.
, dann klappt der Build.
Dieser Commit vom 07.10.2025 hat zu diesem Problem geführt.