Zum Hauptinhalt springen

AppHelper

Das Paket @churchapps/apphelper bietet gemeinsame React-Komponenten und Utilities für alle ChurchApps-Webanwendungen. Es ist ein einziges veröffentlichtes Paket, das Feature-Module durch Subpfad-Einstiegspunkte – Login, Spenden, Formulare, Markdown und Website-/CMS-Funktionalität – neben einem Kernset gemeinsamer Komponenten und Helfer bereitstellt.

Bevor Sie beginnen

Einstiegspunkte

Das Paket definiert Subpfad-Exporte in seinem package.json, sodass jedes Feature-Modul auf sich allein importierbar ist:

EinstiegspunktInhalte
@churchapps/apphelperKern-Komponenten, Helfer und Hooks
@churchapps/apphelper/loginLogin- und Registrierungs-UI
@churchapps/apphelper/donationsSpendenkomponenten
@churchapps/apphelper/formsFormular-Einreichungskomponenten
@churchapps/apphelper/markdownMarkdown- und HTML-Editoren und Renderer
@churchapps/apphelper/websiteWebsite-Builder und CMS-Komponenten

Wer konsumiert was

Bevor Sie einen gemeinsamen Export ändern, überprüfen Sie, welche Apps ihn importieren:

Export-BereichWas es bietetKonsumiert von
Root – Kern-Komponenten & HooksDisplayBox, InputBox, Loading, PageHeader, PersonAvatar, SmallButton, ErrorMessages, ExportLink, useMountedState, plus erneut exportierte @churchapps/helpers-Utilities (ApiHelper, DateHelper, Locale, UserHelper usw.)B1Admin, B1App, B1Transfer, LessonsApp
Root – Website-ChromeSiteHeader (Nav, Benutzermenü, Benachrichtigungen)B1Admin, B1Transfer, LessonsApp
Root – Admin-Inhalts-EditorenImageEditor, HelpIconB1Admin
Root – Realtime-StrukturSocketHelper, SubscriptionManager, NotificationServiceB1Admin, B1App
Root – Chat/Presence-StoresConversationStore, PresenceStoreB1App
Root – Notes & Messaging-UINotes (Personal-Notizen auf Personen/Aufgaben); AddNote, SubscriptionToggle (Mitglieder-Messaging)B1Admin (Notes), B1App (AddNote, SubscriptionToggle)
Root – Lessons-spezifischAnalyticsHelper, FloatingSupport, SupportModalLessonsApp
./loginLoginPage, LogoutPageB1Admin, B1App, B1Transfer, LessonsApp
./markdownMarkdownEditor, MarkdownPreviewLight (gemeinsam); MarkdownPreview, HtmlEditor (Admin-Inhalts-Bearbeitung)B1Admin, B1App, LessonsApp
./donationsMultiGatewayDonationForm, RecurringDonations, PaymentMethods, StripePaymentMethod, DonationHelper/getPaymentProvider (gemeinsam); FundDonations (nur Admin)B1Admin, B1App
./formsFormSubmissionEdit (rendert ConversationalForm, wenn die displayMode des Formulars conversational ist)B1Admin, B1App
./websiteSeiten-Rendering-Core geteilt durch Editor und Renderer (Element + die Pro-Typ-Renderer aufgelöst über ElementRegistry, StyleHelper, DroppableArea, DraggableWrapper, Theme, YoutubeBackground, SectionDivider/parseDividerConfig); Site-wide Widgets (AnnouncementBanner, Launcher + ihre parse*Config-Helfer); Animate, ElementBlock, NonAuthDonationWrapper, SermonElement nur vom öffentlich-gerichteten Renderer verwendetB1Admin (Editor), B1App (Editor-Komponenten + Renderer)

B1Transfer und LessonsApp verwenden nur die Root- und login-Einstiegspunkte – die donations, forms und website-Subpfade werden ausschließlich von B1Admin und B1App heute konsumiert.

Setup für lokale Entwicklung

Dieses Paket lebt im Packages-Arbeitsbereich neben den anderen gemeinsamen Bibliotheken:

  1. Klonen Sie den Arbeitsbereich:

    git clone https://github.com/ChurchApps/Packages.git
  2. Installieren Sie Abhängigkeiten im Arbeitsbereich-Root:

    cd Packages && yarn install
  3. Starten Sie den Vite-Spielplatz aus dem Paketverzeichnis:

    cd apphelper && yarn dev

    Der Spielplatz-Dev-Server startet unter http://localhost:3001. Kopieren Sie zuerst playground/dotenv.sample zu playground/.env und füllen Sie die erforderlichen Werte aus.

Um das Paket zur Verwendung zu bauen (kompiliert zu dist/ und kopiert Locale-/CSS-Assets), führen Sie yarn workspace @churchapps/apphelper build aus – oder yarn build im Root, um jedes Paket in Abhängigkeitsreihenfolge zu bauen. Um einen nicht veröffentlichten Build in einer verbrauchenden App zu testen, verwenden Sie ein temporäres Yarn-Portal – siehe Lokale Entwicklung gegen eine verbrauchende App.

Tipp

Der Spielplatz ist die schnellste Weise, AppHelper-Komponenten zu entwickeln und zu testen. Es Hot-Reloads den Vite-Dev-Server, sodass Sie Änderungen in Echtzeit sehen können.

Veröffentlichung

Releases gehen durch Changesets: führen Sie yarn changeset im Arbeitsbereich-Root mit jedem Change aus, dann yarn publish-all, wenn Sie bereit sind zu veröffentlichen. Siehe Übersicht über gemeinsame Bibliotheken für den vollständigen Fluss.

Warnung

Entfernen oder benennen Sie einen Export nie, bis der Ersatz veröffentlicht ist und jeder Verbraucher migriert wurde – Grep alle Verbrauchungs-Repos vor dem Mergen eines Removals.

Verwandte Artikel