栗子前端技术周刊第 99 期 - pnpm 10.17、又一轮 NPM 生态链攻击、Bun v1.2.22...

962 阅读3分钟

🌰栗子前端技术周刊第 99 期 (2025.09.15 - 2025.09.21):浏览前端一周最新消息,学习国内外优秀文章视频,让我们保持对前端的好奇心。

📰 技术资讯

  1. pnpm 10.17:上周推出的 pnpm 10.16 版本中,新增了为包依赖指定“最小发布时长”的功能:若将该值设为“1440”(单位为分钟),则意味着仅会安装发布超过一天的包,此功能有助于规避那些被快速撤回的恶意版本包。pnpm 10.17 中 minimumReleaseAgeExclude 配置项现已支持匹配模式。
image-20250921085145525
  1. 又一轮 NPM 生态链攻击:在一场被称为“沙虫(Shai-Hulud)”的复杂供应链攻击中,周下载量超 200 万次的热门包 @ctrl/tinycolor 与其他 40 余个 npm 包一同遭到入侵。该恶意软件会在维护者的包之间自我传播,利用 TruffleHog 窃取亚马逊云、谷歌云、微软 Azure 的凭证,并通过 GitHub Actions 后门建立持久控制,意味着 npm 生态系统面临的威胁大幅升级。这些恶意软件会在 npm 执行 postinstall 脚本时运行信息窃取程序,以扫描并窃取敏感数据。

  2. Bun v1.2.22:Bun v1.2.22 版本带来了多项重要更新,内容包括:异步堆栈跟踪、新增 Bun.YAML.stringify 功能、简单对象的 postMessagestructuredClone 方法速度提升 240 倍等等。

📒 技术文章

  1. Fetch Streams are Great, But Not for Measuring Upload/Download Progress:Fetch 流虽好,却不适合用于测量上传 / 下载进度 - Fetch 上传流看似非常适合追踪上传进度,但正如作者所指出的:“从流中读取数据,并不意味着这些数据已通过网络发送出去。” 他还提及了一个与使用响应流测量下载进度相关的问题。

  2. Common React Mistakes and How to Correct Them:常见的 React 错误及优化方法 - 作者从日常代码审查中提炼出的 15 个影响重大的反模式,每一个都包含“问题所在”和“正确做法”,并附上可直接复制粘贴的优化后代码。

  3. 你的 H5 页面在折叠屏上适配了吗?:文章围绕 H5 页面在折叠屏上的适配展开,先调研主流适配方案,包括 PostCSS + vw、CSS 媒体查询、flexible.js + postcss-px-to-rem,最终通过优化现有的 flexible.js + postcss-px-to-rem 方案,成功兼容了折叠屏。

🔧 开发工具

  1. Cursor Effects:光标特效合集。
Cursor Effects
  1. npm-check-updates 18.2:将 package.json 依赖更新至最新版本,18.2 版本新增了“冷却期(cooldown)”功能,通过要求包版本至少发布满指定天数后才纳入升级考量,助力防范供应链攻击。
image-20250921144730045
  1. DayPicker 9.10:用于创建日期选择器、日历和日期输入框的 React 组件。
image-20250921145010275

🚀🚀🚀 以上资讯文章选自常见周刊,如 JavaScript Weekly 等,周刊内容也会不断优化改进,希望你们能够喜欢。

💖 欢迎关注微信公众号:栗子前端