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

  1. Repository clonen: git clone https://gitlab.opencode.de/f13/microservices/frontend
  2. Ins Repository wechseln: cd frontend
  3. Ggf. auf main Branch wechseln: git checkout main
  4. Neuesten Stand ziehen: git pull origin main
  5. 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.

Edited by Eileen Vu
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information