呜啦!日常碎碎念,偶尔掉落优质前端博文推荐、学习资源等
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态

图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
#优质博文 #npm #安全 #CSS #JavaScript #前端 #新动态
啊这,我居然才知道,第一句话就蚌埠住了。
PS: 现在看 npm 页面已经恢复了
npm 'accidentally' removes Stylus package, breaks builds and pipelines

AI 摘要:npm 不慎移除了被广泛使用的 Stylus 库,导致全球开发者构建和 CI/CD 流程中断。移除原因是 Stylus 的一位维护者发布了无关的恶意软件包,导致其账户及关联软件包被禁,Stylus 库也因此受牵连。目前,npm 和 GitHub 正在努力恢复 Stylus,并提供了临时解决方案以帮助开发者通过直接引用 GitHub 仓库或使用 overrides 功能来恢复其项目。

1. 事件总览
• Stylus 库被意外下架: 全球最大的软件注册表 npm 意外地移除了所有版本的 Stylus 库,并替换为一个“安全占位页面”,导致依赖该库的全球构建和 CI/CD 流程中断。
• 开发者与维护者回应: Stylus 开发者 Lei Chen 在 GitHub 和 X(原 Twitter)上声明 Stylus 被 npmjs 意外禁用,并寻求帮助以尽快恢复。
• 广泛的影响: 每周近 300 万次下载的 Stylus 库被下架后,大量依赖它的项目如 typescript-plugin-css-modules、Frappe/ERPNext 和 Angular 12 等的构建相继失败,引发开发者不满和担忧。
• 事件真相揭示: 供应链安全公司 Mend.io 的安全研究员 Tom Abai 调查发现,Stylus 库本身是干净且功能正常的。问题在于 Stylus 的一位维护者“panya”发布了三个无关的恶意软件包(如包含依赖混淆漏洞的 PoC),导致其账户被封禁,进而关联的 Stylus 库也被错误地移除。
• 临时解决方案: 针对 Stylus 库被移除,开发者可采取以下临时措施:
• 在 package.json 的 dependencies 中动态引用 GitHub 上的 Stylus 特定版本(例如:"stylus": "github:stylus/stylus#version-you-need")。
• 使用 npm v8.3.0 及更高版本支持的 overrides 功能来指定 Stylus 版本。
• 在应用上述更改后,需清除 npm 缓存(npm cache clean --force)。
• 维护者建议: Stylus 维护者 Lei Chen 确认 Stylus 不含恶意代码,并指出 npmmirror.com(由阿里巴巴赞助的非营利镜像)已恢复对该库的访问。他建议受影响的公司重新评估 npmjs 与 npm mirror 的关系,并设计更可靠的开发流程。
2. 安全事件分析
• 恶意行为与误伤: 事件起因是 Stylus 维护者之一“panya”发布了恶意软件包,但这些恶意软件包与 Stylus 库本身无关。npm 采取封禁账户并移除所有关联软件包的措施,却无意中“误伤”了无辜且重要的 Stylus 库。
• 官方回应: GitHub Trust & Safety 团队已回复 Stylus 维护者,确认问题是由于一名维护者发布了恶意软件包导致账户被暂停及关联软件包被移除,并表示工程师正在努力恢复 Stylus。
• 事件特殊性: 此次事件是首例由注册表因管理错误而下架整个合法开源项目的重要案例,与此前开发者因争议或抗议而自行撤回库的情况不同。


author Ax Sharma npm 'accidentally' removes Stylus package, breaks builds and pipelines
#tools #npm #开源 #工程化 #可视化

Announcing @Tan_Stack NPM Stats (Beta)

AI 摘要:Tanner Linsley 宣布推出 Tan_Stack NPM Stats (Beta),这是一个用于分析和可视化 NPM 软件包统计数据的工具。该工具提供了丰富的功能,包括可共享的深度链接、软件包分组、多种时间范围的统计数据查看、增长趋势分析、自定义显示选项以及开源支持,旨在帮助开发者更直观地了解和比较 NPM 软件包的表现。

1. 可共享的深度链接:用户可以生成并分享特定的统计数据视图链接,方便协作与交流。
2. 软件包分组:支持将相关软件包组合在一起,便于管理和比较。
3. 时间分箱选项:提供每日、每周、每月、每年的数据统计分箱,灵活查看不同时间段的表现。
4. 增长趋势分析:用户可以选择查看绝对增长或相对增长数据,了解软件包的增长趋势。
5. 比较基线设置:支持设置基线数据,用于与其他软件包或时间段进行对比。


示例链接

author Tanner Linsley Tanner Linsley (@tannerlinsley)
#优质博文 #前端 #tools #资源推荐 #npm
7 Tools to Choose the Right NPM Package

摘要:这篇文章介绍了7个免费工具,帮助开发者比较并选择最适合项目的NPM包。这些工具包括:

1. GitHub/GitHub Insights 提供包的受欢迎程度和维护情况的指标
2. BundlePhobia 估计包的性能影响,提供了有趣的指标,如 Bundle size (缩小和缩小+Gzip)和 Download time (3G和4G)。
3. NPM Trends 展示NPM包的下载趋势和GitHub统计数据,可同时比较很多个包
4. NPM Compare 提供更详细的多个包比较,如 Version Average , Maintainers 的数量, Open issues 的数量和 Monthly Downloads 的数量,最后给出总分。
5. Moiva 结合多个数据源(NPM,Github,Snyk,BundlePhobia)的比较工具
6. Snyk Advisor 测量包的健康状况,从 Popularity, Maintenance, Security, Community 四个维度
7. Openbase 提供包的综合评价,此外,Openbase 提供了替代建议包和相关的教程视频。(但是这个工具没了,悲,可以用 kandi 替代)

这些工具的数据可以结合使用,以全面评估每个包的健康状况

via Medium Alexis Regnaud 7 Tools to Choose the Right NPM Package
 
 
Back to Top