𝗦𝗶𝗻𝗴𝗹𝗲𝗦𝗣𝗔 𝗳𝘂𝗻𝗰𝗶𝗼𝗻𝗮. 𝗟𝗼𝘀 𝗶𝗺𝗽𝗼𝗿𝘁 𝗺𝗮𝗽𝘀 𝗻𝗼 𝘀𝗲 𝗴𝗲𝘀𝘁𝗶𝗼𝗻𝗮𝗻 𝘀𝗼𝗹𝗼𝘀
SingleSPA funciona. Ejecutamos aplicaciones de React, Vue y Angular en una sola página. Se cargan de forma independiente. El framework cumple lo que promete.
El problema no es el framework. El problema es el ecosistema que lo rodea.
En una arquitectura distribuida, se necesita propiedad (ownership). Se necesita auditoría. Se necesita gobernanza. SingleSPA hace que estas necesidades sean visibles porque el import map es un punto central de coordinación.
El import map reside en su configuración raíz (root config). Es un archivo JSON. Le indica a cada micro frontend (MFE) qué versión de React debe cargar. En teoría, es la única fuente de verdad. En la práctica, nadie es el dueño.
Cada equipo es dueño de su propio MFE. Nadie es dueño del map.
Esto crea problemas:
- Los equipos retiran un MFE, pero la entrada permanece en el map.
Hemos creado una herramienta para solucionar esto. Hace dos cosas:
- Crea una matriz de versiones a partir del package.json de cada MFE.
- Compara esa matriz con tu import map.
La herramienta te muestra la brecha. Te muestra qué equipos cumplen y qué equipos se han desviado. También encuentra entradas obsoletas y URLs rotas. La ejecutamos todos los lunes por la mañana. Tarda 12 segundos.
Nuestra lección no fue técnica. Toda arquitectura distribuida necesita un responsable para la infraestructura compartida. En SingleSPA, el import map es infraestructura. No lo trates como un archivo compartido. Trátalo como un activo gestionado.
¿Cómo gestionas esto? ¿Tienes un responsable del import map? ¿O pasas tus lunes por la mañana haciendo grep en los archivos?
Fuente: https://dev.to/siongsheng/singlespa-works-import-maps-dont-manage-themselves-4jbe