@4byte/shared-lib
v0.0.13
Published
> Librería de componentes UI desarrollada con Angular, PrimeNG y Storybook.
Readme
4byteSharedLib
Librería de componentes UI desarrollada con Angular, PrimeNG y Storybook.
Descripción
4Byte Shared Lib es una librería de componentes reutilizables desarrollada sobre Angular y PrimeNG. Su objetivo es centralizar componentes, estilos y temas para facilitar el desarrollo de aplicaciones con una apariencia consistente.
Actualmente la librería incluye:
- Componentes reutilizables.
- Integración con PrimeNG.
- Sistema de temas personalizados.
- Documentación interactiva mediante Storybook.
Tecnologías
- Angular 21
- PrimeNG 21.1.9
- PrimeUIX Themes
- Storybook 10
- TypeScript
Requisitos
Antes de utilizar Empresa UI asegúrate de contar con el siguiente entorno:
| Herramienta | Versión | |-------------|----------| | Node.js | 22.12.0 o superior | | npm | 10 o superior | | Angular CLI | 21 | | Angular | 21 |
Puedes verificar las versiones instaladas ejecutando:
node -v
npm -v
ng versionInstalación
1. Clonar el repositorio
git clone <url-del-repositorio>2. Ingresar al proyecto
cd 4vyte-shared-lib3. Instalar dependencias
npm installConfiguración
La librería utiliza un proveedor para registrar la configuración global.
Ejemplo:
provideEmpresaUI({
theme: 'crm'
});Temas disponibles actualmente:
- CRM Theme (crm)
Scripts disponibles
Ejecutar Storybook
ng run storybook-host:storybookEjecutar la aplicación Demo
ng serve demoCompilar la librería
ng build shared-uiArquitectura del proyecto
4byte-shared-lib
│
├── .storybook
│
├── projects
│ └── demo
│
├── shared-ui
│ ├── components
│ ├── themes
│ ├── config
│ └── providers
│
└── distComponentes UI
Los componentes disponibles se encuentran documentados en Storybook.
Ejemplos:
- ByteCalendar
- ByteSelect
- ByteInput
Theming y estilos
4Byte Shared Lib permite cambiar el tema global mediante provideEmpresaUI().
Ejemplo:
provideEmpresaUI({
theme: 'crm'
});Accesibilidad
Los componentes están desarrollados sobre PrimeNG, aprovechando sus capacidades de accesibilidad y navegación mediante teclado.
Se recomienda validar la accesibilidad de cada componente incorporado a la librería.
Testing
Para ejecutar las pruebas:
ng testStorybook puede utilizarse para validar visualmente el comportamiento de los componentes.
Convenciones de desarrollo
- Utilizar componentes Standalone.
- Mantener tipado estricto de TypeScript.
- Documentar cada componente mediante Storybook.
- Mantener la estructura de carpetas definida por la librería.
- Agregar nuevas funcionalidades mediante Pull Request.
Contribución
- Crear una rama a partir de
develop. - Implementar los cambios.
- Ejecutar pruebas y validar Storybook.
- Crear un Merge Request para revisión.
Desarrollo local
Como projects/demo no está versionado en el repositorio, cada desarrollador debe generarlo localmente para poder probar la librería antes de publicarla.
1. Instalar dependencias
npm install2. Crear el proyecto demo
Si projects/demo no existe en tu copia local, créalo con el schematic de Angular (esto respeta la config ya definida en angular.json):
ng generate application demo --directory=projects/demo --routing=false --style=cssSi
angular.jsonya define el proyectodemopero la carpeta física no existe, este comando la generará. Si ya tienes la carpeta (por ejemplo porque otro compañero te la pasó), puedes omitir este paso.
3. Compilar la librería
ng build shared-uiEsto genera el output compilado en dist/shared-ui.
4. Enlazar la librería compilada globalmente
Entra a la carpeta del build y crea el link global de npm:
cd dist/shared-ui
npm link
cd ../..5. Consumir el link desde el proyecto demo
Vuelve a la raíz del workspace y enlaza el paquete dentro del proyecto demo:
npm link nombre-del-paquete
nombre-del-paquetedebe coincidir exactamente con el campo"name"dedist/shared-ui/package.json(generado porng-packagra partir de tupackage.jsonraíz o deng-package.json).
6. Levantar el proyecto demo
ng serve demoAhora projects/demo consume la librería como si fuera una dependencia real de node_modules, apuntando al build de dist/shared-ui.
🔁 Al modificar la librería
Angular CLI no recompila automáticamente al usar npm link de esta forma. Cada vez que cambies algo en src/lib, debes:
ng build shared-uiPara evitar hacerlo manualmente en cada cambio, puedes usar el modo watch:
ng build shared-ui --watchY en otra terminal, en paralelo:
ng serve demoAsí, cada cambio en la librería regenera dist/shared-ui y el demo recarga automáticamente (siempre que Angular detecte el cambio del symlink; si no recarga solo, reinicia ng serve demo).
🧹 Deshacer el link (opcional)
Si necesitas volver a instalar la dependencia real desde el registro (o limpiar el entorno):
npm unlink nombre-del-paquete
npm install