Del caos a la claridad: Reparando nuestro monorepo

Descubre cómo limpiamos Journey monorepo: eliminamos dependencias innecesarias, estandarizamos tooling con Vite y Vitest, y aceleramos builds y onboarding. Lecciones y resultados.

19 ago 2025 • 5 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Introducción: por qué esta historia puede ahorrarte dolores de cabeza

Si has trabajado en una base de código grande, seguro que te suena esto: el código funciona pero cada cambio tarda muchísimo más de lo que debería. Actualizar una funcionalidad rompe otra. Añadir una dependencia implica preocuparse por conflictos. Herramientas de compilación antiguas siguen ahí y nadie se siente seguro actualizando paquetes de los que depende gran parte del sistema.

En nuestro monorepo journey monorepo nos encontramos exactamente con eso. Dependencias conectadas de maneras inconsistentes, equipos que habían introducido herramientas solapadas y librerías sin tocar desde hace años. Proponer una limpieza se sentía como pedir que se rediseñe una ciudad mientras todavía vive gente en ella: arriesgado, disruptivo y fácil de posponer indefinidamente.

¿Por qué nos molestamos entonces?

Porque el desarrollo iba tan lento que las builds consumían demasiado tiempo. Esperar minutos para ver un cambio en el navegador mataba la productividad. Cada cambio se sentía peligroso: la telaraña de dependencias hacía que una pequeña modificación en un paquete pudiera romper múltiples aplicaciones. Incorporar nuevos desarrolladores era doloroso: tenían que aprender múltiples bundlers, configuraciones de tests y rarezas de herramientas obsoletas. La deuda técnica bloqueaba nuevas funcionalidades y los costes crecían por tiempos largos en CI y mantenimiento.

Resumen del monorepo

Journey monorepo es el repositorio central de la plataforma que alberga todo lo relacionado con journeys. Contenía aplicaciones principales como journey app y journey builder, más paquetes compartidos para renderizado, configuradores, utilidades y lógica. Al crecer rápido, el repo se expandió sin un plan claro y las dependencias y herramientas se mezclaron.

La configuración antes de la limpieza

Teníamos varias apps y paquetes interconectados y, para colmo, múltiples herramientas de build: Webpack, Craco, Tsup, Tsx, Tsdx. Esto produjo una red de riesgos del tipo si cambias esto puede romper aquello y aquello podía estar en cualquier sitio.

Cómo lo afrontamos

Empezamos con un RFC para documentar objetivos y plan. Nuestros dos grandes objetivos fueron unificar la herramienta y desenredar dependencias para permitir que los equipos trabajaran sin pisarse entre sí.

Paso 1: cortar dependencias innecesarias

Mapeamos las conexiones y eliminamos enlaces innecesarios, reduciendo las dependencias cruzadas que generaban builds frágiles. Trasladamos configuradores de bloques a journey builder porque nunca estuvieron pensados para uso externo. Movimos renderizadores a journey app para simplificar la arquitectura. Eliminamos paquetes pequeños o los fusionamos en otros, y reemplazamos librerías antiguas por alternativas mantenibles. Fue doloroso pero el repositorio quedó más ligero y fácil de razonar.

Paso 2: estandarizar el tooling

Tras recortar dependencias, abordamos las herramientas. Migramos de Craco, Tsup y Tsdx a Vite para conseguir builds más rápidos y configuraciones sencillas. Sustituimos Jest por Vitest para tests rápidos y mejor integración con Vite. Unificar el tooling redujo la carga cognitiva: los desarrolladores ya no tenían que recordar qué herramienta usar en cada paquete y la experiencia diaria mejoró.

Resultado después de la reestructuración

El monorepo quedó más ordenado, con menos dependencias cruzadas y la mayoría de variaciones en herramientas eliminadas. Cambiar cosas dejó de sentirse peligroso. Las builds y los tests dejaron de ser un castigo gracias al servidor de desarrollo de Vite y a los tiempos de test reducidos con Vitest. El onboarding pasó de lento a aceptable porque los nuevos podían configurarse sin aprender cuatro bundlers.

Qué aprendimos

Victorias inmediatas: menos riesgo al cambiar código, feedback instantáneo en desarrollo, tests más rápidos y onboarding más fácil. Pagos más lentos: no todo encaja perfectamente en la nueva herramienta, algunos plugins de Webpack no tenían equivalente y hubo que replantear o sacrificar funciones. Vitest reveló tests frágiles que antes pasaban por peculiaridades de Jest. Realidad y concesiones: no todo se migró, algunas apps siguen en setups legacy porque el riesgo de migrarlas ahora no compensa. Además, ahora aplicamos la regla antes de crear un paquete compartido: realmente necesita ser compartido.

Consejos si piensas hacerlo

Dibuja el grafo de dependencias antes de empezar, ayuda a convencer a otros. Espera retrocesos y PRs que rompan cosas temporalmente. Automatiza chequeos de paquetes sin uso y obsoletos. Celebra pequeñas victorias.

Sobre Q2BSTUDIO y por qué te interesa

En Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida para empresas que necesitan soluciones personalizadas. Ofrecemos servicios avanzados en inteligencia artificial e ia para empresas, creamos agentes IA y soluciones de inteligencia artificial integradas para mejorar procesos y experiencia de usuario. También somos expertos en ciberseguridad para proteger aplicaciones y datos, y contamos con servicios cloud aws y azure para desplegar y escalar proyectos de manera segura y eficiente. Además entregamos servicios inteligencia de negocio y dashboards con power bi para transformar datos en decisiones accionables.

Nuestro enfoque al enfrentar un monorepo desordenado fue el mismo que aplicamos con clientes: entender el problema, priorizar impacto y aplicar soluciones iterativas. Si necesitas una migración de arquitectura, optimización de pipelines CI, implementación de IA para empresas, agentes IA conversacionales o crear aplicaciones a medida seguras en cloud aws y azure, en Q2BSTUDIO podemos ayudarte a diseñar una estrategia que reduzca riesgo y aumente velocidad de entrega.

Palabras clave y posicionamiento

Este artículo incluye términos relevantes para buscadores como aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi para mejorar el posicionamiento y conectar con quienes buscan soluciones profesionales en desarrollo de software y analítica avanzada.

Reflexión final

La limpieza del monorepo no fue una tarea ligera ni rápida, fue un proceso de medio año realizado junto con el trabajo cotidiano. El resultado fue mayor velocidad de desarrollo, menos zonas intocables y la sensación de que el repositorio volvió a ser algo nuestro y no un monstruo. Si tuviera que dejar una sola recomendación diría: mantenerlo simple. Cada dependencia, herramienta o paquete adicional que evites hoy es una cosa menos que tendrás que desenredar mañana.

Si quieres llevar tu monorepo a la claridad, optimizar builds, implementar inteligencia artificial o asegurar tus aplicaciones con ciberseguridad y servicios cloud aws y azure, contacta con Q2BSTUDIO y hablamos de cómo convertir el caos en claridad.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.