Helpers
Das Paket @churchapps/helpers stellt grundlegende Hilfsprogramme bereit, die von allen ChurchApps-Projekten verwendet werden, sowohl im Frontend als auch im Backend. Es ist framework-agnostisch und enthält gängige Hilfsprogramme wie DateHelper, ApiHelper, CurrencyHelper, sowie die gemeinsam genutzten TypeScript-Schnittstellen, die den Datenvertrag zwischen Apps und APIs bilden.
Bevor Sie beginnen
- Installieren Sie Node.js und Git -- siehe Voraussetzungen
- Machen Sie sich mit dem Aufbau und Release-Ablauf des Packages-Workspace vertraut
Wer dies nutzt
Jede ChurchApps-API (der Kern-Api, AskApi und LessonsApi) und jedes Web-Frontend (B1Admin, B1App, B1Transfer, LessonsApp) hängt direkt von diesem Paket ab. Frontends erhalten viele seiner Exporte (ApiHelper, DateHelper, UserHelper und weitere Schnittstellen) auch erneut exportiert über @churchapps/apphelper. Die anderen gemeinsam genutzten Pakete deklarieren es als Peer-Dependency, sodass jede App genau eine Kopie davon auflöst.
Einrichtung für die lokale Entwicklung
Dieses Paket befindet sich im Packages-Workspace zusammen mit den anderen gemeinsam genutzten Bibliotheken:
-
Workspace klonen:
git clone https://github.com/ChurchApps/Packages.git -
Abhängigkeiten im Workspace-Root installieren:
cd Packages && yarn install -
Bauen (kompiliert TypeScript nach
dist/):yarn workspace @churchapps/helpers buildOder führen Sie
yarn buildim Root aus, um alle Pakete in Abhängigkeitsreihenfolge zu bauen.
Um Änderungen innerhalb eines konsumierenden Projekts zu testen, verwenden Sie ein temporäres Yarn-Portal -- siehe Lokale Entwicklung gegen eine konsumierende App.
Veröffentlichung
Releases laufen über Changesets statt über manuelle Versionserhöhungen:
- Führen Sie
yarn changesetim Workspace-Root aus und wählen Sie@churchapps/helpersmit dem passenden Erhöhungstyp; committen Sie die erzeugte Changeset-Datei zusammen mit Ihrer Änderung. - Wenn Sie bereit für die Veröffentlichung sind, führen Sie
yarn publish-allim Root aus -- es erhöht Versionen, schreibt CHANGELOGs, baut in Abhängigkeitsreihenfolge und veröffentlicht auf npm.
Neue gemeinsam genutzte Schnittstellen kommen in helpers/src/interfaces/ und werden über das Paket-Barrel erneut exportiert. Der Element-Typ-Katalog des Website-Builders (ElementTypes.ts — 35 Typen mit ihren Antwortschemata) befindet sich ebenfalls hier; es ist der Vertrag, der von den apphelper-Renderern, den B1Admin-Editorformularen und den KI-Generierungs-Prompts gemeinsam genutzt wird (siehe Architektur des Website-Builders).
Da dieses Paket von jedem ChurchApps-Projekt verwendet wird, haben Änderungen hier eine breite Auswirkung. Ein Release von helpers erhöht automatisch die Versionen von apihelper und apphelper, damit deren Abhängigkeitsbereiche aktuell bleiben. Testen Sie mit einem Yarn-Portal in mindestens einer konsumierenden API und einer konsumierenden Web-App, bevor Sie veröffentlichen.
Verwandte Artikel
- ApiHelper -- Serverseitige Hilfsprogramme, die von diesem Paket abhängen
- AppHelper -- React-Komponenten, die von diesem Paket abhängen
- Übersicht der gemeinsam genutzten Bibliotheken -- Workspace-Setup, Release-Ablauf und lokaler Link-Workflow