Saltar a contenido

Overview

Introducción

A lo largo de este tiempo se decidio utilizar npm como manejador de paquetes para la instalacion de dependencias tanto nuestras como externas. Luego de una investigacion de performance y un analisis aparece pnpm que a simples rasgos es un npm mas performante tanto para la instalacion y el uso de memoria en nuestra pc como tambien a la hora de accionar nuestros actions en el despliegue. Luego de este analisis se vio a simple viste una mejora de tiempo considerable en los actions y un menor uso de memoria de nuestra pc que nos llevo a tomar la desicion de elegir a pnpm como manejador de paquetes por default. a continuacion dejamos el link a la documentacion oficial y dejar plasmadas las diferencias entre npm y pnpm.

link a la documentacion oficial

Diferencias entre npm y pnpm

Espacio en disco: Una de las principales ventajas de pnpm sobre npm es que utiliza un sistema de enlace simbólico para evitar la duplicación de paquetes en el disco. Esto significa que pnpm requiere menos espacio en disco que npm.

Tiempo de instalación: Otra ventaja de pnpm es que, al evitar la duplicación de paquetes, los tiempos de instalación pueden ser significativamente más rápidos que con npm. En algunos casos, pnpm puede instalar paquetes hasta un 70% más rápido que npm.

Compatibilidad con múltiples proyectos: Cuando se trabaja con varios proyectos, npm puede tener dificultades para manejar diferentes versiones de paquetes en cada uno. pnpm maneja esto de manera más eficiente, ya que puede compartir paquetes entre proyectos, pero mantener diferentes versiones de los mismos en cada uno.

Ecosistema npm: El ecosistema npm es muy grande y completo, por lo que es posible que algunos paquetes no estén disponibles en otros manejadores de paquetes. Si bien pnpm admite la mayoría de los paquetes de npm, es posible que algunos paquetes no estén disponibles en pnpm.

Porqué utilizar pnpm

Menor uso de espacio en disco: Como se mencionó anteriormente, pnpm utiliza enlaces simbólicos para evitar la duplicación de paquetes en el disco, lo que puede ser muy beneficioso si se trabaja con muchos paquetes o proyectos.

Instalaciones más rápidas: Debido a que no hay duplicación de paquetes en el disco, las instalaciones pueden ser mucho más rápidas con pnpm que con npm.

Soporte para múltiples proyectos: pnpm es especialmente útil si se trabaja en varios proyectos a la vez, ya que puede compartir paquetes entre ellos, lo que puede reducir significativamente el espacio en disco y mejorar la eficiencia.

Compatibilidad con npm: pnpm es compatible con la mayoría de los paquetes de npm, por lo que no se perderá la funcionalidad de npm si se cambia a pnpm.

Ejemplo de performance al crear un proyecto con el front-cli

pnpm