Así que debido a esto, cambié en uno de los micro frontends, cuando compilamos ese micro frontend, estaba tardando alrededor de 60 a 70 segundos. Imagina una compilación en un micro frontend tardando alrededor de 60 a 70 segundos. Entonces, ¿qué hicimos? Restringimos eso, el primero, la explosión de tipos, restringimos nuestro tipo. Así que, por ejemplo, para tipografía, el caso de uso que expliqué para tipografía, no necesitamos que todas las posibles etiquetas HTML se incluyan aquí. Porque en general, la tipografía podría ser div, span, párrafo, sección, main, o cualquier etiqueta posible que pudiera ayudarnos a formatear el texto. Pero no queremos la etiqueta de imagen, etiqueta SVG, y todas estas cosas. Así que hicimos este tipo mucho más restrictivo.
Y archivos barrel. Sí, esto es algo que estamos haciendo ahora. Hay muchos archivos barrel en nuestro monorepo, que estamos tratando de eliminar uno por uno por uno. Todavía estamos con ello. Pero ambos juntos nos ayudaron a reducir el tiempo de compilación. Para un MFV, antes, tomaba alrededor de 60 a 70 segundos. Pero ahora solo toma 30 a 30 segundos. Así que en general, para un commit en el PR, el CI, la parte de compilación, que estaba tomando alrededor de 35 minutos, ahora se redujo a 10 a 15 minutos. Vean una gran mejora que tenemos. Así que esto realmente nos ayudó a reducir nuestro tiempo de compilación en más del 60%.
Así que estas tres cosas nos ayudaron a mejorar nuestro CSV mucho. Pero, ¿tenemos más cosas que podrían ayudarnos aquí? Sí, identificamos tres cosas más pequeñas que podrían ayudar aquí. Una es pnpm. Sí, estábamos usando npm y luego YARN classic. Pero la gestión de dependencias era pobre en eso. Así que luego nos movimos hacia pnpm. Y sabes que con pnpm, la gestión de dependencias es mucho más rápida, simple y fácil de romper y todas esas cosas. Así que migramos hacia pnpm. Y la siguiente preocupación que teníamos es que algunas de las cosas que tenemos en nuestro CI son totalmente un desperdicio. Por ejemplo, las traducciones. Así que como les dije el escenario que teníamos para desplegar más de 10 micro frontends. Las traducciones ya están integradas en nuestro CI. Y la transición estaba corriendo como un minuto por micro frontend.
Comments