Aller au contenu principal

AppHelper

Le paquet @churchapps/apphelper fournit des composants React partagés et des utilitaires pour toutes les applications web ChurchApps. C'est un seul paquet publié qui expose des modules de fonctionnalités via des points d'entrée de chemin secondaire -- connexion, donations, formulaires, markdown et fonctionnalités de site web/CMS -- aux côtés d'un ensemble central de composants et d'aides partagés.

Avant de commencer

  • Installez Node.js et Git -- voir Conditions préalables
  • Familiarisez-vous avec la configuration de l'espace de travail Packages et le flux de libération

Points d'entrée

Le paquet définit les exportations de chemin secondaire dans sa package.json, donc chaque module de fonctionnalité est importable par lui-même :

Point d'entréeContenu
@churchapps/apphelperComposants principaux, aides et crochets
@churchapps/apphelper/loginInterface utilisateur de connexion et d'enregistrement
@churchapps/apphelper/donationsComposants de donation et de don
@churchapps/apphelper/formsComposants de soumission de formulaire
@churchapps/apphelper/markdownÉditeurs et moteurs de rendu Markdown et HTML
@churchapps/apphelper/websiteComposants du constructeur de site web et du CMS

Qui consomme quoi

Avant de modifier une exportation partagée, vérifiez quelles applications l'importent :

Zone d'exportationCe qu'elle fournitConsommé par
Racine -- composants principaux et crochetsDisplayBox, InputBox, Loading, PageHeader, PersonAvatar, SmallButton, ErrorMessages, ExportLink, useMountedState, plus ré-exporté @churchapps/helpers utilitaires (ApiHelper, DateHelper, Locale, UserHelper, etc.)B1Admin, B1App, B1Transfer, LessonsApp
Racine -- chrome du siteSiteHeader (nav, menu utilisateur, notifications)B1Admin, B1Transfer, LessonsApp
Racine -- éditeurs de contenu adminImageEditor, HelpIconB1Admin
Racine -- tuyauterie en temps réelSocketHelper, SubscriptionManager, NotificationServiceB1Admin, B1App
Racine -- magasins de chat/présenceConversationStore, PresenceStoreB1App
Racine -- notes et interface utilisateur de messagerieNotes (notes du personnel sur les personnes/tâches) ; AddNote, SubscriptionToggle (messagerie des membres)B1Admin (Notes), B1App (AddNote, SubscriptionToggle)
Racine -- Lessons-spécifiqueAnalyticsHelper, FloatingSupport, SupportModalLessonsApp
./loginLoginPage, LogoutPageB1Admin, B1App, B1Transfer, LessonsApp
./markdownMarkdownEditor, MarkdownPreviewLight (partagé) ; MarkdownPreview, HtmlEditor (édition de contenu admin)B1Admin, B1App, LessonsApp
./donationsMultiGatewayDonationForm, RecurringDonations, PaymentMethods, StripePaymentMethod, DonationHelper/getPaymentProvider (partagé) ; FundDonations (admin uniquement)B1Admin, B1App
./formsFormSubmissionEdit (rend ConversationalForm quand le displayMode du formulaire est conversational)B1Admin, B1App
./websiteCœur de rendu de page partagé par l'éditeur et le moteur de rendu (Element + les moteurs de rendu par type résolus via ElementRegistry, StyleHelper, DroppableArea, DraggableWrapper, Theme, YoutubeBackground, SectionDivider/parseDividerConfig) ; widgets site-large (AnnouncementBanner, Launcher + leurs aides parse*Config) ; Animate, ElementBlock, NonAuthDonationWrapper, SermonElement utilisés uniquement par le moteur de rendu publicB1Admin (éditeur), B1App (composants d'éditeur + moteur de rendu)

B1Transfer et LessonsApp utilisent uniquement les points d'entrée racine et login -- les chemins secondaires donations, forms et website sont consommés exclusivement par B1Admin et B1App aujourd'hui.

Configuration pour le développement local

Ce paquet vit dans l'espace de travail Packages aux côtés des autres bibliothèques partagées :

  1. Clonez l'espace de travail :

    git clone https://github.com/ChurchApps/Packages.git
  2. Installez les dépendances à la racine de l'espace de travail :

    cd Packages && yarn install
  3. Lancez le terrain de jeu Vite à partir du répertoire du paquet :

    cd apphelper && yarn dev

    Le serveur de développement du terrain de jeu démarre à http://localhost:3001. Copiez playground/dotenv.sample en playground/.env et remplissez d'abord les valeurs requises.

Pour construire le paquet pour la consommation (compile vers dist/ et copie les actifs locale/CSS), exécutez yarn workspace @churchapps/apphelper build -- ou yarn build à la racine pour construire chaque paquet dans l'ordre de dépendance. Pour tester une construction non publiée dans une application consommatrice, utilisez un portail Yarn temporaire -- voir Développement local par rapport à une application consommatrice.

astuce

Le terrain de jeu est le moyen le plus rapide de développer et tester les composants AppHelper. Il recharge à chaud le serveur de développement Vite afin que vous puissiez voir les modifications en temps réel.

Publication

Les versions passent par des changements : exécutez yarn changeset à la racine de l'espace de travail avec chaque modification, puis yarn publish-all quand vous êtes prêt à libérer. Voir Aperçu des bibliothèques partagées pour le flux complet.

attention

Ne supprimez ou renommez jamais une exportation jusqu'à ce que le remplacement soit publié et que chaque consommateur soit migré -- grep tous les dépôts consommateurs avant de fusionner une suppression.

Articles connexes