Skip to content

fix: Production-Build startet nicht (Vite 5→6 Regression)#54

Merged
vwfox merged 3 commits into
mainfrom
fix/prod-build-vite6
Jun 2, 2026
Merged

fix: Production-Build startet nicht (Vite 5→6 Regression)#54
vwfox merged 3 commits into
mainfrom
fix/prod-build-vite6

Conversation

@vwfox
Copy link
Copy Markdown
Contributor

@vwfox vwfox commented Jun 2, 2026

Problem

Nach dem Vite 5→6 Upgrade via Dependabot startete die Production-App nicht mehr mit:

  • Class 'StorageAdapterRegistry' is not decorated with @injectable()
  • Failed to resolve module specifier '@emfts/core'

Ursache

Vite 6/7 änderte das ESM-Bundle-Verhalten: @eclipse-daanse/tsm wurde in storage-core vollständig eingebundelt statt externalisiert. Das erzeugte zwei Symbol-Instanzen für INJECTABLE_KEY — eine im Main-Bundle, eine in storage-core — wodurch isInjectable() immer false zurückgab.

Außerdem wurden dynamische import('@emfts/core') in ui-actions nicht durch den tsmPlugin transformiert und konnten im Browser nicht aufgelöst werden.

Fix

  • storage-core/vite.tsm.config.ts: tsmPlugin ergänzt → @eclipse-daanse/tsm wird korrekt externalisiert, nur eine Symbol-Instanz
  • ui-actions/builtinHandlers.ts + index.ts: Dynamische import('@emfts/core') → statische Imports (werden vom tsmPlugin korrekt transformiert)

vwfox added 3 commits June 2, 2026 13:08
- storage-core/vite.tsm.config.ts: tsmPlugin ergänzt damit @eclipse-daanse/tsm
  korrekt externalisiert wird (kein Symbol-Mismatch bei @Injectable())
- ui-actions/builtinHandlers.ts: dynamisches import('@emfts/core') → statischer Import
- ui-actions/index.ts: dynamisches import('@emfts/core') → statischer Import

Ursache: Vite 6/7 änderte ESM-Bundle-Verhalten, TSM wurde in storage-core doppelt
gebundelt → zwei Symbol-Instanzen → isInjectable() scheiterte.
Außerdem: dynamische imports() werden nicht durch tsmPlugin transformiert.
@vwfox vwfox merged commit 2c8af2b into main Jun 2, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant