Node.js Timeline

datetime event
2010 npm发布,支持Node.js®
2016 第一个版本的pnpm发布,支持多包管理器安装,减少了大型项目的磁盘空间占用。
2016 yarn发布,它显示出比npm更高的性能。它还生成一个yarn.lock文件,使repos的共享和精确复制变得更加容易和可预测。
2017 npm 5发布,它提供自动生成package-lock.json文件以响应yarn.lock
2017 pnpm 1.0发布,支持了一些新功能,包括 hoisting、flat node_modules 和 sideEffects 等特性。
2018 npm 6发布,提高了安全性。现在npm在安装依赖项之前检查安全漏洞。
2018 pnpm 2.0发布,支持了类似于Yarnworkspaces特性,使得管理多个包更加容易。
2019 pnpm 3.0发布,支持了多个重要的新特性,包括了hooksbetter peer dependenciesoffline mirror等。
2020 yarn 2发布,带有很棒的新功能:
1. 使用Plug'n'Play架构,将无需安装依赖项直接使用它们
2. 使用TypeScript构建,提供更好的类型支持和错误反馈
3. 支持Zero-Installs模式,可实现跨多个工作区的公共依赖项重用
4. 引入yarn set version命令,使您可以轻松地在不同的项目之间切换Yarn版本
2020 npm 7发布
2020 pnpm 4.0发布,主要更新了一些底层依赖库和一些性能提升。
2021 yarn 3发布并进行了各种改进。
1. 完全去除传统锁定机制,提供了更快,更可靠的依赖解析
2. 支持 Workspaces
3. 支持 Patches
4. 采用 node_modules/ 文件夹软链接的方式实现,使得它们更加容易管理和处理
5. 支持 monorepo,减少重复安装
6. 更好的兼容性和可维护性
2021 pnpm 5.0发布,带来了一些新的功能和改进,包括了better workspaces supportbuild cachebetter error messages等。

总的来说,pnpm 提供了比 npm 和 yarn 更好的包管理体验,特别是在多个项目之间共享依赖包时,能够更好地减少磁盘空间和加速依赖包的安装。