AppHelper
Das Paket @churchapps/apphelper bietet gemeinsame React-Komponenten und Dienstprogramme für alle ChurchApps-Webanwendungen. Es ist ein einzelnes veröffentlichtes Paket, das Funktionsmodule durch Subpath-Einstiegspunkte bereitstellt – Anmeldung, Spenden, Formulare, Markdown und Website/CMS-Funktionalität – neben einer Kernsatz von gemeinsamen Komponenten und Helfern.
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
Einstiegspunkte
Das Paket definiert Subpath-Exporte in seinem package.json, daher ist jedes Funktionsmodul auf seinem eigenen importierbar:
| Einstiegspunkt | Inhalt |
|---|---|
@churchapps/apphelper | Kern-Komponenten, Helfer und Hooks |
@churchapps/apphelper/login | Anmeldungs- und Registrierungs-UI |
@churchapps/apphelper/donations | Spenden- und Spendenkomponenten |
@churchapps/apphelper/forms | Formular-Einreichungs-Komponenten |
@churchapps/apphelper/markdown | Markdown- und HTML-Editoren und Renderer |
@churchapps/apphelper/website | Website-Builder und CMS-Komponenten |
Wer verbraucht Was
Bevor Sie einen gemeinsamen Export ändern, überprüfen Sie, welche Apps ihn importieren:
| Exportbereich | Was es bietet | Verbraucht von |
|---|---|---|
| Root – Kern-Komponenten & Hooks | DisplayBox, InputBox, Loading, PageHeader, PersonAvatar, SmallButton, ErrorMessages, ExportLink, useMountedState, plus re-exported @churchapps/helpers Dienstprogramme (ApiHelper, DateHelper, Locale, UserHelper, usw.) | B1Admin, B1App, B1Transfer, LessonsApp |
| Root – Website-Chrome | SiteHeader (nav, Benutzermenü, Benachrichtigungen) | B1Admin, B1Transfer, LessonsApp |
| Root – Admin-Inhalts-Editoren | ImageEditor, HelpIcon | B1Admin |
| Root – Echtzeit-Rohrleitungen | SocketHelper, SubscriptionManager, NotificationService | B1Admin, B1App |
| Root – Chat/Präsenz-Speicher | ConversationStore, PresenceStore | B1App |
| Root – Notizen- & Messaging-UI | Notes (Stab-Notizen auf Personen/Aufgaben); AddNote, SubscriptionToggle (Mitglied-Messaging) | B1Admin (Notes), B1App (AddNote, SubscriptionToggle) |
| Root – Lessons-spezifisch | AnalyticsHelper, FloatingSupport, SupportModal | LessonsApp |
./login | LoginPage, LogoutPage | B1Admin, B1App, B1Transfer, LessonsApp |
./markdown | MarkdownEditor, MarkdownPreviewLight (gemeinsam); MarkdownPreview, HtmlEditor (Admin-Inhalts-Bearbeitung) | B1Admin, B1App, LessonsApp |
./donations | MultiGatewayDonationForm, RecurringDonations, PaymentMethods, StripePaymentMethod, DonationHelper/getPaymentProvider (gemeinsam); FundDonations (nur Admin) | B1Admin, B1App |
./forms | FormSubmissionEdit (rendert ConversationalForm, wenn der displayMode des Formulars conversational ist) | B1Admin, B1App |
./website | Seiten-Rendering-Kern, der vom Editor und Renderer geteilt wird (Element + die Pro-Typ-Renderer, die über ElementRegistry aufgelöst werden, StyleHelper, DroppableArea, DraggableWrapper, Theme, YoutubeBackground, SectionDivider/parseDividerConfig); Site-Wide Widgets (AnnouncementBanner, Launcher + ihre parse*Config Helfer); Animate, ElementBlock, NonAuthDonationWrapper, SermonElement, die nur vom öffentlich-gerichteten Renderer verwendet werden | B1Admin (Editor), B1App (Editor-Komponenten + Renderer) |
B1Transfer und LessonsApp verwenden nur die Root- und login Einstiegspunkte – die donations, forms und website Subpaths werden heute ausschließlich von B1Admin und B1App verbraucht.
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 -
Starten Sie den Vite-Spielplatz aus dem Paketverzeichnis:
cd apphelper && yarn devDer Spielplatz Dev-Server startet bei
http://localhost:3001. Kopieren Sie zunächstplayground/dotenv.samplenachplayground/.envund füllen Sie die erforderlichen Werte aus.
Zum Bauen des Pakets für den Verbrauch (kompiliert zu dist/ und kopiert Gebietsschema-/CSS-Vermögenswerte), führen Sie yarn workspace @churchapps/apphelper build durch – oder yarn build an der Root, um jedes Paket in Abhängigkeitsreihenfolge zu bauen. Zum Testen eines unveröffentlichten Builds innerhalb einer verbrauchenden App verwenden Sie ein temporäres Yarn-Portal – siehe Lokale Entwicklung gegen eine verbrauchende App.
Der Spielplatz ist der schnellste Weg zur Entwicklung und zum Testen von AppHelper-Komponenten. Er lädt den Vite Dev-Server neu, so dass Sie Änderungen in Echtzeit sehen können.
Veröffentlichung
Releases gehen durch Changesets: Führen Sie yarn changeset an der Arbeitsbereich-Root mit jeder Änderung durch, dann yarn publish-all, wenn Sie bereit sind zu veröffentlichen. Siehe Shared Libraries Overview für den vollständigen Fluss.
Entfernen oder benennen Sie keinen Export um, bis der Ersatz veröffentlicht ist und jeder Consumer migriert wurde – grep über alle verbrauchenden Repos, bevor Sie eine Entfernung zusammenführen.
Verwandte Artikel
- Helpers – Das Basis-Utility-Paket, das zusammen mit AppHelper verwendet wird
- Web-Apps – Die Webanwendungen, die dieses Paket verbrauchen
- Shared Libraries Overview – Arbeitsbereich-Setup, Release-Fluss und lokales Link-Workflow