Este documento registra los hitos arquitectónicos, la evolución de los datos y las lecciones aprendidas durante el desarrollo y consolidación de la librería mita-dom. Sirve como bitácora antes de pasar a la siguiente fase de desarrollo de aplicaciones cliente.
"De Bolivia para el Mundo"
mita-dom (del quechua Mitay y el guaraní Mita) nació como una respuesta social a la sobrecomplejidad de la web moderna. Su objetivo es democratizar la tecnología ofreciendo un entorno Zero Dependencias, basado puramente en Vanilla JS y APIs nativas. Buscamos el máximo rendimiento para asegurar que los usuarios con dispositivos de gama baja o conexiones limitadas tengan una experiencia fluida e instantánea (Inclusión Digital).
- Creación del Motor Reactivo Granular:
- Implementación de la clase
SignalusandoSetpara prevenir fugas de memoria. - Sincronización del DOM sin necesidad del pesado Virtual DOM.
- Implementación de la clase
- Enrutamiento de Vanguardia:
- Implementación de un Router SPA utilizando la ultimísima Navigation API, interceptando eventos de forma nativa sin recargar la página.
- Lanzamiento Global en NPM:
- Publicación exitosa de la versión
1.0.0(y actualizaciones hasta1.0.4) en el registro global de NPM, poniéndola a disposición de millones de desarrolladores.
- Publicación exitosa de la versión
- Soporte Nativo para TypeScript:
- Creación del archivo
mita-dom.d.ts, dotando a la librería de tipado estricto, genéricos y autocompletado nivel Enterprise, todo ello manteniendo el código fuente original en JavaScript puro.
- Creación del archivo
- Testing de Alta Precisión:
- Suite de 12 pruebas ejecutadas bajo el motor nativo de Node.js 24 (
node:test), logrando un overhead de 0 dependencias y reportes (spec) impecables.
- Suite de 12 pruebas ejecutadas bajo el motor nativo de Node.js 24 (
Durante nuestra jornada nos topamos con obstáculos que fortalecieron la arquitectura:
- Protección Typo-Squatting en NPM (Error 403): Al intentar registrar el alias
mita-dom, el algoritmo de NPM nos bloqueó para evitar spam. Esto nos confirmó que la marca principalmita-domestaba protegida y consolidada a nivel global. - El Misterio del Error 404 (
vite preview): Descubrimos que el comando preview lanzaba 404 porque la librería se compila en Modo Librería (build.lib). Vite empaqueta el JS pero no expone HTML. Solución: Las librerías no se previsualizan estáticamente, se consumen en aplicaciones cliente. - Limpieza de Responsabilidades (innerHTML): Detectamos que estábamos cayendo en la mala práctica de inyectar HTML complejo dentro de JS. Lo solucionamos extirpando esa lógica hacia un
index.htmllimpio, honrando el HTML Semántico. - Gestión de Dependencias (devDependencies vs dependencies): Aclaramos que paquetes como
vite,eslintyterserson solo herramientas de desarrollo para empaquetar, asegurando que el cliente final reciba la librería limpia (0 dependencias reales). También impusimos el requerimiento de motorengines: { "node": ">=24.0.0" }para asegurar soporte LTS en tests.
mita-dom ha evolucionado de ser un "Playground" donde mezclábamos componentes visuales y lógica core, a convertirse en una Librería de Grado de Producción Pura.
- Todo código UI de demostración (
<mita-tarjeta>,<mita-perfil>, carpetas de ejemplo) fue expulsado del repositorio central. - El repositorio ahora contiene únicamente:
Signals,Router,ResourceySeguridad. - El paquete NPM pesa apenas ~11kB y transpila directamente a ES Modules limpios.
El ecosistema de mita-dom está oficialmente listo y estabilizado.
A partir de aquí, el siguiente paso es abandonar este repositorio y saltar a nuestro nuevo proyecto cliente externo (example-mita-spa-01-js). En ese nuevo terreno, pondremos la librería a prueba creando:
- Comunicación asíncrona entre componentes desconectados.
- Formularios Dinámicos con Signals.
- Creación de la Documentación Oficial de Uso: Dónde, cómo y por qué usar mita-dom frente a frameworks tradicionales, con guías detalladas de todos sus beneficios en acción real.