首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

GitHub Satellite 2020:让GitHub和NPM为JavaScript开发者带来更多价值

GitHub的npm产品经理Edward Thomson在最近举行的GitHub Satellite 2020大会上解释了npm被GitHub收购后对JavaScript开发者的影响,以及如何在开源和非开源的工作中充分发挥GitHub的作用。

GitHub在今年4月完成了对npm的收购。GitHub随后表示计划从三个方面发展npm:基础设施、开发者体验和社区。Thomson在讲话中详细介绍了GitHub目前为改进npm CLI和npm注册表所采取的行动。

Thomson对CLI方面所做的努力发表了评论:

现在,团队正在开发npm v7,CLI的下一个版本。这实际上是一个非常大的转变。CLI团队正在进行一些重大的重构,对正确性和性能进行了改进。他们正在让软件变得更安全,并试图提高与生态系统中其他工具的兼容性。

npm CLI团队正在改进npm audit的体验,Thomson通过展示npm v6和npm v7之间不同的CLI输出来演示新的功能。在npm v6中,minimist包的漏洞以表格形式显示出来。将minimist作为依赖项的包都出现了这个问题。在npm v7中,有关安全漏洞以及如何修复它们的信息以更简洁的形式显示出来。minimist的安全问题只显示一次。npm v7意识到minimist是导致问题的唯一包,所以会提示用户运行npm audit fix来自动修复问题。

npm 6可能会推荐通过依赖更新来修复问题——一个包含重大变化的更新,可能需要开发人员重构他们的代码,但npm 7可能会尝试通过降级包版本来自动修复问题。此外,npm v7可以更好地与yarn(及yarn锁文件)共存。Thomson解释说:

我们希望确保这两个工具之间能够尽可能完美地兼容。这两个命令行接口(yarn和npm)曾经是相互独立的,但是在npm 7中,我们将看到它们在兼容性方面的巨大改进。

npm v7也将支持工作区特性,这是一个在大型项目中很流行的特性。npm v7将至少支持yarn工作区特性,并为v8中的更高级的工作区特性奠定基础。有了工作区特性,开发人员只需要运行一次安装脚本(例如,yarn install)就可以配置多个包,并一次性安装所有包。多个项目可以使用单个锁文件而不是使用多个不同的锁文件,这样就可以减少冲突,评审起来也更容易。

至于npm注册中心,GitHub尝试更好地整合npm和GitHub,加强npm的基础设施,让npm的付费客户转到GitHub。Thomson解释说:

npm有几种私人托管包付费计划,我们准备让付费的npm客户转到GitHub。这样我们就可以让每种代码库发挥它们各自的优势,GitHub成为托管私有包的一个很好的解决方案,而npm继续专注于成为开源包的一个很好的公共注册中心。

Thomson邀请开发者针对GitHub的这些举措提供反馈。开发者可以查看npm RFCnpm博客。Thomson的演讲视频可以在网上找到,其中包含了GitHub针对npm的举措的更多信息。

原文l链接

The JavaScript Coder’s Guide to Getting More from GitHub and Npm - GitHub Satellite 2020

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/zMNFOWirrMPYP7RU4FQX
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com