Helpers
El paquete @churchapps/helpers proporciona utilidades base usadas por todos los proyectos de ChurchApps, tanto frontend como backend. Es independiente de framework e incluye ayudantes comunes como DateHelper, ApiHelper, CurrencyHelper, más las interfaces TypeScript compartidas que forman el contrato de datos entre aplicaciones y APIs.
Antes de comenzar
- Instala Node.js y Git -- consulta Requisitos Previos
- Familiarízate con la configuración del espacio de trabajo Packages y el flujo de lanzamiento
Quién Consume Esto
Cada API de ChurchApps (la Api principal, AskApi, y LessonsApi) y cada frontend web (B1Admin, B1App, B1Transfer, LessonsApp) depende de este paquete directamente. Los frontends también obtienen muchas de sus exportaciones (ApiHelper, DateHelper, UserHelper, y otras interfaces) re-exportadas a través de @churchapps/apphelper. Los otros paquetes compartidos lo declaran como una dependencia par para que cada aplicación resuelva exactamente una copia.
Configuración para Desarrollo Local
Este paquete vive en el espacio de trabajo Packages junto con las otras bibliotecas compartidas:
-
Clona el espacio de trabajo:
git clone https://github.com/ChurchApps/Packages.git -
Instala dependencias en la raíz del espacio de trabajo:
cd Packages && yarn install -
Compila (compila TypeScript a
dist/):yarn workspace @churchapps/helpers buildO ejecuta
yarn builden la raíz para compilar cada paquete en orden de dependencia.
Para probar cambios dentro de un proyecto consumidor, usa un portal Yarn temporal -- consulta Desarrollo Local Contra una Aplicación Consumidora.
Publicación
Los lanzamientos pasan por changesets en lugar de incrementos de versión manuales:
- Ejecuta
yarn changeseten la raíz del espacio de trabajo y selecciona@churchapps/helperscon el tipo de incremento apropiado; confirma el archivo changeset generado con tu cambio. - Cuando estés listo para lanzar, ejecuta
yarn publish-allen la raíz -- incrementa versiones, escribe CHANGELOGs, compila en orden de dependencia, y publica en npm.
Las nuevas interfaces compartidas van en helpers/src/interfaces/ y se re-exportan a través del barril del paquete. El catálogo de tipos de elemento del generador de sitios web (ElementTypes.ts — 35 tipos con sus esquemas de respuestas) también vive aquí; es el contrato compartido por los renderizadores de apphelper, los formularios del editor de B1Admin, y los prompts de generación de IA (consulta Arquitectura del Generador de Sitios Web).
Dado que este paquete es usado por cada proyecto de ChurchApps, los cambios aquí tienen un amplio impacto. Un lanzamiento de helpers incrementa automáticamente apihelper y apphelper para que sus rangos de dependencia se mantengan actualizados. Prueba con un portal Yarn en al menos una API consumidora y una aplicación web consumidora antes de publicar.
Artículos Relacionados
- ApiHelper -- Utilidades del lado del servidor que dependen de este paquete
- AppHelper -- Componentes React que dependen de este paquete
- Descripción General de Bibliotecas Compartidas -- Configuración del espacio de trabajo, flujo de lanzamiento, y flujo de trabajo de enlace local