Files
Styleguide/docs/portal_sync_flow.md
T

2.4 KiB

Portal Sync Flow

Ziel

Der Styleguide bleibt in diesem Repository die Source of Truth. Der Sync verteilt den freigegebenen Stand in beide Portal-Repos:

  • den deploy-relevanten CSS-Upstream versioniert als public/assets/styleguide.upstream.css
  • die vollstaendige Styleguide-Dokumentation gespiegelt nach docs/styleguide
  • die portal-spezifische Fertig-CSS-Datei als public/assets/styles.css
  • die konsumierbare Large-Table-Runtime als public/scripts/large-table-column-resize.js

Zielrepos:

  • WebApp_Aktienberater
  • erp_naurua

Vorbereitung

  • Version in VERSION erhoehen, sobald ein freigegebener Stand vorliegt.
  • Aenderungen im Styleguide committen und pushen.

Sync ausfuehren

Beispiel:

./scripts/sync_styleguide_to_webapp_aktienberater.sh \
  --commit-portal

Ergebnis im Portalrepo

  • public/assets/styleguide.upstream.css aktualisiert
  • public/assets/styleguide.upstream.meta.json aktualisiert (Version, Commit, Zeitstempel)
  • docs/styleguide gespiegelt (mit --delete, ohne .git, .codex, AGENTS.md und interne scripts/)
  • public/scripts/large-table-column-resize.js aus der Styleguide-Source-of-Truth kopiert
  • public/assets/styles.css aktualisiert
  • public/scripts/large-table-column-resize.js aktualisiert; lokale Portal-Kopien sind nicht zulässig
  • Optional: automatischer Commit + Push im Portalrepo

Standardprozess je Release

  1. Styleguide aendern
  2. VERSION erhoehen
  3. Styleguide commit + push
  4. Sync-Skript ausfuehren
  5. Beide Portalrepos Smoke-Testen

Large-Table-Runtime

Die Runtime liegt ausschließlich im Styleguide unter scripts/large-table-column-resize.js. Der Sync kopiert nur diese explizit freigegebene Runtime nach public/scripts/; andere Styleguide-Scripts wie Prüf- und Sync-Shellscripts werden nicht in docs/styleguide/scripts/ gespiegelt. Dadurch bleibt der Styleguide die Source of Truth und ein erneuter Sync überschreibt die Portaldatei kontrolliert.

Für den Smoke-Test in beiden Portalen ist zu prüfen:

  • public/scripts/large-table-column-resize.js ist vorhanden und unter /scripts/large-table-column-resize.js ladbar.
  • Die Large-Table-Seite lädt die Runtime ohne lokale Inline- oder Duplikatimplementierung.
  • Nach einer Spaltenbreitenänderung wird der Eintrag unter sg:large-table:column-widths:<key> gespeichert.
  • Ein erneuter Sync ersetzt die Datei aus der Styleguide-Quelle.