Constants
packages/constants/README.md
@repo/constants
Constantes globales del proyecto para mantener consistencia entre apps.
1. Funcion del package
- Centralizar constantes de base de datos/Firebase, permisos, rutas, redirects, landing, logos y tokens visuales.
- Evitar hardcodes duplicados en apps y packages.
- Asegurar una sola fuente de verdad para branding y configuracion.
2. API publica actual
Se exporta desde src/index.ts:
logos: rutas relacionadas a assets de marca.colors: paletas y tokens semanticos (APP_COLORS,APP_CONFIG_COLORS, etc).landing: contenido estructurado de la landing.permissions: roles y permisos.firebase: nombres y configuracion compartida de Firebase.routes: rutas y redirects.
3. Ejemplo de uso
ts
import { APP_CONFIG_COLORS, APP_BRAND_COLORS } from '@repo/constants';
import { FIRESTORE_PATHS, APP_ROUTES } from '@repo/constants';
const theme = {
primary: APP_CONFIG_COLORS.brand.PRIMARY,
forest500: APP_BRAND_COLORS.FOREST['500'],
};
Usar este package para valores compartidos entre dos o mas apps/packages. No agregar aqui
constantes privadas de una pantalla o de una sola app. Para conocer el nombre exacto de un
export, buscar primero el barrel del modulo en src/ y luego src/index.ts.
4. Lineamientos de desarrollo
- No agregar constantes de uso local de una sola app.
- Usar nombres semanticos, no orientados a una pantalla puntual.
- Mantener estructura estable para evitar breaking changes.
- Si se cambia un token existente, documentar impacto.
5. Buenas practicas
- Preferir objetos
as constpara preservar literales. - Agrupar por dominio (
colors,logos, etc). - Exportar todo desde barrels por modulo y desde
src/index.ts.
6. Como contribuir
- Crear o editar modulo en
src/. - Exportar desde el
index.tsdel modulo. - Exportar modulo desde
src/index.ts. - Validar:
bash
pnpm lint --filter @repo/constants
pnpm build --filter @repo/constants
pnpm check-types --filter @repo/constants
7. Crear package nuevo basado en 01-base-package
Si las nuevas constantes pertenecen a un dominio independiente, crear un package nuevo desde la plantilla base y dejar @repo/constants para valores verdaderamente globales.