Helpers
Das Paket @churchapps/helpers bietet Basis-Dienstprogramme, die von allen ChurchApps-Projekten verwendet werden, sowohl Frontend als auch Backend. Es ist Framework-agnostisch und beinhaltet häufige Helfer wie DateHelper, ApiHelper, CurrencyHelper, plus die gemeinsamen 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 Setup und dem Release-Fluss des Packages-Arbeitsbereichs vertraut
Wer verbraucht dieses
Jede ChurchApps API (die Core Api, AskApi und LessonsApi) und jedes Web-Frontend (B1Admin, B1App, B1Transfer, LessonsApp) hängt direkt von diesem Paket ab. Frontends erhalten auch viele seiner Exporte (ApiHelper, DateHelper, UserHelper und andere Schnittstellen) re-exported durch @churchapps/apphelper. Die anderen gemeinsamen Pakete deklarieren es als Peer-Abhängigkeit, so dass jede App genau eine Kopie auflöst.
Setup für lokale Entwicklung
Dieses Paket lebt im Packages Arbeitsbereich neben anderen gemeinsamen Bibliotheken:
-
Klonen Sie den Arbeitsbereich:
git clone https://github.com/ChurchApps/Packages.git -
Installieren Sie Abhängigkeiten an der Arbeitsbereich-Root:
cd Packages && yarn install -
Bauen (kompiliert TypeScript zu
dist/):yarn workspace @churchapps/helpers buildOder führen Sie
yarn buildan der Root aus, um jedes Paket in Abhängigkeitsreihenfolge zu bauen.
Zum Testen von Änderungen innerhalb eines verbrauchenden Projekts verwenden Sie ein temporäres Yarn-Portal – siehe Lokale Entwicklung gegen eine verbrauchende App.
Veröffentlichung
Releases gehen durch Changesets, anstatt manuelle Versions-Bumps:
- Führen Sie
yarn changesetan der Arbeitsbereich-Root durch und wählen Sie@churchapps/helpersmit dem entsprechenden Bump-Typ aus; committen Sie die generierte Changeset-Datei zusammen mit Ihrer Änderung. - Wenn Sie bereit sind zu veröffentlichen, führen Sie
yarn publish-allan der Root durch – es baut alles in Abhängigkeitsreihenfolge und veröffentlicht die Bumped-Pakete zu npm.
Neue gemeinsame Schnittstellen gehen in helpers/src/interfaces/ und werden durch die Paket-Barrel exportiert. Der Element-Typ-Katalog des Website-Builders (ElementTypes.ts – 35 Typen mit ihren Antwort-Schemas) lebt auch hier; er ist der Vertrag, der durch die AppHelper-Renderer, die B1Admin-Editor-Formulare und die AI-Generierungs-Eingabeaufforderungen geteilt wird (siehe Website Builder Architecture).
Da dieses Paket von jedem ChurchApps-Projekt verwendet wird, haben Änderungen hier breite Auswirkungen. Eine Veröffentlichung von helpers bummert automatisch apihelper und apphelper, so dass ihre Abhängigkeitsbereiche aktuell bleiben. Testen Sie mit einem Yarn-Portal in mindestens einer verbrauchenden API und einer verbrauchenden Web-App, bevor Sie veröffentlichen.
Verwandte Artikel
- ApiHelper – Server-seitige Dienstprogramme, die von diesem Paket abhängen
- AppHelper – React-Komponenten, die von diesem Paket abhängen
- Shared Libraries Overview – Arbeitsbereich-Setup, Release-Fluss und lokales Link-Workflow