FesaComponents
DataTableAyuda

Desarrollar la librería

Clonar, testear y las convenciones del repo.

git clone [email protected]:AdanSerrano/fesa-components.git
cd fesa-components && bun install
bun run typecheck    # tsc estricto (exactOptionalPropertyTypes + noUncheckedIndexedAccess)
bun run test         # vitest — 34 tests
  • Estructura: src/ (motor, componentes, hooks, store, lib), src/ui/ (primitivas shadcn propias), website/ (este sitio).
  • El tsconfig usa los flags del consumidor más estricto: si compila aquí, compila en las cuatro apps.
  • Los tests cubren lo que una demo no enseña: races del store, respuestas stale, corrección de página vacía, ciclo del error, offsets de pinning, parsing de URL con claves legacy, escaping CSV, merge de labels. Toda lógica nueva no trivial lleva su test.
  • CI (GitHub Actions) corre typecheck + tests en cada push. Nada llega roto a las apps.
  • Convenciones: código e identificadores en inglés; textos visibles solo a través del sistema de labels (default español); ningún acceso a base de datos dentro de la librería; los mapas legacy específicos de una app viven en esa app.
  • Estas docs: website/ en el repo (Next.js + fumadocs, export estático). Tras editar, push y en el VPS ./update-datatable-docs.sh (git pull + build + copia al docroot).