Hola, mi nombre es Zoltan Kochan y hoy voy a hablar sobre pnpm, que es un gestor de paquetes rápido y eficiente en el uso del espacio en disco.
Antes de eso, permítanme presentarme. Soy Zoltan Kochan. Nací y crecí en Ucrania. Actualmente vivo en Ucrania también. Por ahora estoy a salvo. Trabajo de forma remota para BIT. BIT es una empresa que ayuda a los desarrolladores a implementar el desarrollo basado en componentes. Antes de BIT, trabajé para Just Answer durante nueve años y, al mismo tiempo, desde 2016, he estado desarrollando y manteniendo npm-pm constantemente. Antes de hablar sobre npm-pm, hablemos brevemente sobre otros gestores de paquetes de JavaScript. El gestor de paquetes más popular de node.js o JavaScript es npm, que es el gestor de paquetes oficial del registro de npm. Se envía con node.js y en el pasado npm tuvo muchos problemas, como ser lento, no ser determinista, a veces dar resultados extraños, por lo que se crearon algunas alternativas. Una de las alternativas fue creada por Facebook, probablemente hayas oído hablar de yarn, que es el segundo gestor de paquetes más popular después de npm. Ahora es mantenido por la comunidad y resolvió muchos de los problemas que npm tenía en las versiones 3 y 4. Desde entonces, en la versión 2, yarn ha cambiado para usar plug and play de forma predeterminada, por lo que aunque admite la instalación clásica de módulos de nodo, ahora prefiere usar plug and play, lo cual a muchos les gusta y a muchos no. Personalmente, creo que es una característica genial. Y yarn se envía actualmente con la última versión de Node.js. El tercer gestor de paquetes más popular es pnpm. Es un proyecto completamente independiente, fue creado por colaboradores de código abierto para solucionar los problemas de npm v3. Al mismo tiempo que yarn 2, por lo que pnpm no es como un proyecto nuevo, existe desde que yarn existe, básicamente. Y ahora es compatible con bit, porque trabajo en bit y pnpm se utiliza mucho en bitcli para la gestión de paquetes y pnpm también se envía con nodjs a través de la función corepack de nodjs. Si comparamos estos gestores de paquetes por popularidad, obviamente npm es actualmente el más popular, luego yarn y pnpm es el menos popular, aunque pnpm salió al mismo tiempo que yarn, pero por supuesto Facebook tenía mucho poder de marketing para hacer que yarn fuera muy popular al principio. Sin embargo, aunque pnpm es menos popular por ahora, tuvo un gran aumento en popularidad el año pasado, por lo que en 2021 se descargó pnpm tres veces más que en 2020. Tenemos muchas grandes empresas de tecnología que ya utilizan pnpm, incluso Microsoft utiliza pnpm en algunos de sus proyectos, y el equipo de frontend de TikTok utiliza pnpm. Así que pnpm funciona muy bien y está listo para producción.
Veamos qué hace que pnpm sea único. Cuando instalas una dependencia con npm o Yarn Classic, todas las subdependencias se elevan a la raíz de los módulos de nodo. Como puedes ver en este ejemplo, aunque solo Express está en las dependencias, todos esos otros paquetes también se elevan a la raíz de los módulos de nodo. Por el contrario, pnpm solo coloca Express en la raíz de los módulos de nodo. Por lo tanto, aunque cookie no es una dependencia de tu proyecto, importarla funcionará. Esta es una situación peligrosa.
Comments