Ausliefern und versionieren
Template zur Build-Zeit ins Image bringen, Semver und Veröffentlichung.
Ins Image bringen
Templates sind Build-Zeit-Module: Sie stecken im Image der Web-App (Darstellung) und der API (Katalog, Prüfung, Galerie). Welche Templates ein Image enthält, bestimmen die Abhängigkeiten der beiden Apps.
# Abhängigkeit in apps/web/package.json UND apps/api/package.json:
# "@patriotconnect/template-mein-template": "workspace:*"
pnpm install
pnpm gen:templates # erneuert die generierten Template-Listen beider Apps
pnpm check:templates # Teil von pnpm verify – bricht ab, wenn eine Liste veraltet istpnpm new:template erledigt diese Schritte. Eine Änderung am Plattform-Code oder an den Dockerfiles ist nicht nötig.
Deployen Sie Web-App und API gemeinsam – kennt nur die API ein Template, zeigt die Web-App standard.
Mandanten-Templates heißen template-<mandant>-<name> und werden nur für diesen Mandanten freigeschaltet.
Versionierung (Semver)
Manifest und package.json tragen dieselbe Version.
| Änderung | Stufe |
|---|---|
| Darstellung feiner abstimmen, Fehler beheben, Test ergänzen | Patch |
| neue Option mit Default, neue Region, neuer erlaubter Block | Minor |
Option oder Region entfernen/umbenennen, Kennung ändern, Website-Arten einschränken, nachträglich license setzen | Major |
Nachträglich ein license-Feld zu setzen schränkt die Wählbarkeit ein und ist deshalb ein Major. Die Kennung zu
ändern heißt, ein neues Template anzulegen.
Ablauf: Version anheben, CHANGELOG.md ergänzen, Tests und CI grün (inklusive Secret-Scan), Tag setzen (v0.2.0),
im Plattform-Repo den Submodul-Zeiger aktualisieren und pnpm gen:templates && pnpm verify ausführen.
Vertrag @patriotconnect/template-sdk
Das SDK enthält nur Typen und reine Funktionen und folgt ebenfalls Semver (Breaking Change = Major). Die Plattform hält ihre eigenen Typen per Kompatibilitätstest deckungsgleich; Templates, die nur das SDK nutzen, bleiben über Minor- und Patch-Versionen der Plattform hinweg stabil.