feat(frontend): Q3+Q4 — Komponenten-Chunk-Map wird aus Plugin-Manifesten GENERIERT
Check Cross-Plugin Imports / check (push) Has been cancelled
Check Cross-Plugin Imports / check (push) Has been cancelled
scripts/generate_component_map.py scannt alle builtin-Manifeste + system_miniapps.py und erzeugt frontend/src/generated/pluginComponents.generated.ts (37 Komponenten). PluginLoader (STATIC_COMPONENT_MAP) und MiniAppHost (widgetRegistry) nutzen die generierte Map — ein Plugin meldet seine Komponenten nur noch im Manifest, keine zentrale Frontend-Datei muss angefasst werden. Garantien: Generator failt hart bei Ghost-Komponenten (bewiesen: exit 1), erkennt default- vs. named-exports, deterministische Ausgabe, --check-Modus fuer CI. Kontakts DedupMergePage-Pfad-Alias auf echte Datei korrigiert. Verifikation: tsc exit 0; production build exit 0; Ghost-Fail-Hard exit 1; Dashboard+MiniAppWindow 17/17; pluginStore 18/18; keine Restreferenzen auf STATIC_COMPONENT_MAP/widgetRegistry.
This commit is contained in:
@@ -100,7 +100,7 @@ class ContactsPlugin(BasePlugin):
|
||||
page_routes=[
|
||||
FrontendPageRoute(path='/contacts', component='@/pages/ContactsList', protected=True, permission='contacts:read'),
|
||||
FrontendPageRoute(path='/contacts/:id', component='@/pages/ContactDetailPage', protected=True, permission='contacts:read'),
|
||||
FrontendPageRoute(path='/contacts/dedup', component='@/pages/DedupMergePage', protected=True, permission='contacts:read'),
|
||||
FrontendPageRoute(path='/contacts/dedup', component='@/pages/DedupMerge', protected=True, permission='contacts:read'),
|
||||
],
|
||||
permissions=[
|
||||
"contacts:read",
|
||||
|
||||
Reference in New Issue
Block a user