专栏首页技术那些事只有几行代码的库,坑了数百万个项目

只有几行代码的库,坑了数百万个项目

只有几行代码的库,坑了数百万 JS 项目

上周末,一个 npm 小项目的更新给整个 npm 生态系统制造了一场混乱,影响到了数百万 JS 项目。

这个库就是 is-promise ,仅包含了几行代码,其功能是让开发者测试一个 JS 对象是否是 Promise,其它 JS 项目可通过一行代码调用使用该库。

尽管这个库没几行代码,但它却是最流行的 npm 包之一,超过 340 万个项目使用。

上周末 is-promised 发布了一个更新,结果由于它不符合正确的 ES 模块标准,导致使用该库的其它项目在构建时出错。问题并没有导致现有 JS 项目崩溃,而主要无法编译新版本。

许多知名的 JS 项目都受到影响,其中包括 Facebook 的 Create React App,Google 的 Angular.js 框架,Google 的 Firebasse-tools,亚马逊的 AWS Serverless CLI,Nuxt.js 等等。

难道程序员连代码都不会写了吗?

npm 生态系统的依赖问题,早在 2016 年就引发过类似事件,有一个 NPM 库开发者撤回了他的代码(代码并不多,也就几行),导致诸多重量级应用(比如 React 和 Babel)都出问题了。

四年前,这个事情就引发激烈讨论。曾有人为此发出疑问:难道程序员连代码都不会写了吗?

举例来说,有一个叫 isArray 的软件包,当时其一天的下载量有 88 万,2016 年2 月有 1800 万次下载量,它本身就只有一行代码。

NPM 生态系统中的许多开发者,看起来宁愿复用其他人写好的代码而不是自己写。这种做法存在严重的安全隐患,因为一个被广泛使用的软件包存在bug,你的代码也会受到影响,而你却无法自己去修正。

本文分享自微信公众号 - 程序猿技术大咖(cxyjsdk)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 为什么要放弃 Lombok ?

    如果您正在阅读此文,想必您对Project Lombok已经有了一段时间的了解。您是否正准备拥抱Lombok?还是正准备将如此酷炫的项目推荐给你的团队?如果您准...

    xcbeyond
  • 技术面试官应该怎么问?面试者应该怎么答?

    每年年初都是招聘、求职的旺季,不管你是企业面试官,还是职场小鸟,都应该要清楚对方问的是什么,意图在哪里,不要答非所问,一脸迟疑。

    xcbeyond
  • 文档写作利器:Markdown

    无论你是软件开发者,还是互联网写作者,为了使自己写的文档或作品更好的流通,便于在不同场合、不同环境、不同人群的查看,亟需寻求一种通用、便于扭转、留存的文档格式。

    xcbeyond
  • 观点 | UC伯克利教授迈克尔·乔丹采访:人类对机器学习期待过高,机器学习的发展还应当更广阔

    AI 科技评论按:2017年6月21日至22日,腾讯·云+未来峰会在深圳举行。在主题为“机器学习:创新视角,直面挑战”的演讲 - AI 科技评论后,AI 科技评...

    AI科技评论
  • 深度:数据科学,来自业界的诱惑

    编者记:本文是一篇非常国际化的文章,译者在翻译的时候,非常严谨和认真,每个字都细细斟酌,是一篇难得的好文章。国外数据科学的文章,在一定程度上对中国数据科学的发展...

    CSDN技术头条
  • 【活动】客户标签画像推荐系统讲座于9月19日举行,小伙伴赶紧报名吧!

    活动概况 ---- 活动主题:客户标签画像推荐系统 活动嘉宾:李永、符鹏飞 活动对象:信息主管CIO、业务部门主管、工程师、SI人员 活动时间: 2015...

    小莹莹
  • 计算机视觉界牛人牛事

    作者:GarfieldEr007 原文地址:http://www.jianshu.com/p/b3bbeb7c67f5 CV人物1:Jianbo Shi史建波...

    陆勤_数据人网
  • 滴滴叶杰平:年运送乘客百亿次,AI如何“服务”出行领域?| BDTC 2019

    “如果把北京一天滴滴的轨迹数据放在一起,要覆盖北京所有道路差不多四百次,数据非常大、非常完整。”

    AI科技大本营
  • 一些R代码学习笔记

    可用rarefy得到结果后在ggplot里自己画。核心是设定一个步长,这些步长都用rarefy函数进行重抽,再组合到一起即可。

    生物信息知识分享
  • AI时代大点兵-国内外知名AI公司2018年最新盘点

    在人工智能领域大规模并行计算是一个刚性的需求,CPU由于本身设计更偏重于多任务处理、逻辑控制所以不太适合在矩阵计算这种需要高并行的场景中应用,这也给了像Nvid...

    SIGAI学习与实践平台

扫码关注云+社区

领取腾讯云代金券