pnpm es un administrador de paquetes rápido y eficiente en el espacio en disco. Utiliza un sistema de archivos direccionable por contenido para almacenar todos los archivos de todos los directorios de módulos en el disco. Al usar npm o Yarn, si tiene 100 proyectos que usan lodash, tendrá 100 copias de lodash en el disco, mientras que con pnpm lodash se almacenará en una memoria direccionable por contenido.
pnpm 8.0 se lanza oficialmente, las actualizaciones son las siguientes:
cambios principales
- Fin del soporte para Node.js 14
- actualización de configuración
auto-install-peers
: activado por defectodedupe-peer-dependents
: Habilitado por defecto.resolve-peers-from-workspace-root
: Habilitado por defecto.save-workspace-protocol
: La configuración predeterminada esrolling
.resolution-mode
: La configuración predeterminada eslowest-direct
.publishConfig.linkDirectory
: Habilitado por defecto.
- Modificación de Lockfile
- Se adopta Lockfile v6 . Este nuevo formato mejora la legibilidad de Lockfiles al eliminar el hash de la ID del paquete. También reorganiza los campos de
importers
la sección . Los archivos nuevospnpm-lock.yaml
son más resistentes a los conflictos de fusión de git - El
pnpm-lock.yaml
camporesolution
se elimina del objeto que contiene. - Incluso para proyectos sin dependencias, se genera un Lockfile.
- Se adopta Lockfile v6 . Este nuevo formato mejora la legibilidad de Lockfiles al eliminar el hash de la ID del paquete. También reorganiza los campos de
- otros cambios
- Cuando
package.json
hayfiles
un campo en él, solo se implementarán los archivos enumerados en él. La misma lógica se aplica a la inyección de paquetes. Este comportamiento se puede cambiar[deploy-all-files](<https://pnpm.io/8.x/npmrc#deploy-all-files>)
configurando eltrue
- Se eliminan las dependencias directas. Si existe una dependencia tanto en el proyecto como en la raíz del espacio de trabajo, solo se vinculará con la raíz del espacio de trabajo.
- Cuando
- soporte pnpm v7
- pnpm v7 probablemente no obtendrá nuevas funciones después de eso, pero seguirá obteniendo correcciones de errores durante algunos meses y correcciones de errores durante al menos un año.
Para obtener más detalles, consulte: https://github.com/pnpm/pnpm/releases/tag/v8.0.0