JavaScript技术周刊 2026年第20周

本周JavaScript生态迎来多项重要更新:Rolldown 1.0正式发布,作为Vite 8的Rust打包器,性能比Rollup快10-30倍;Node 26.1添加实验性FFI支持;多家主流工具发布新版本。同时关注TanStack npm供应链攻击事件及Bun移植Rust进展。

🔥 头条

TanStack npm 供应链攻击事件分析

昨日,Shai-Hulud 蠕虫的新变种将 TanStack 包的恶意版本推送到 npm(包含一个触发机制,如果检测到 token 撤销就会删除文件),不过也影响了约 170 个其他包。维护者凭据未被盗取,攻击而是通过链式利用 pull_req

📖 文章

33 个 JavaScript 概念

最初作为 Medium 文章诞生并变成热门 GitHub 仓库的内容,现在已成为一个完整的网站,涵盖广泛的 JavaScript 概念,甚至超出了 33 个。

从 React 到 Web Components:节省 100 KB 的迁移

"我如何将网站从 React 迁移到原生 Web Components,为什么效果比我预期的更好,以及我使用的模式如何发展成一个名为 nanotags 的小库。"

为什么迁移到 Valibot?

Valibot 是一个轻量级、模块化的 TypeScript 模式验证库,是 Zod 等的替代品。v1.4.0 刚刚发布。

BlueJS:将 JavaScript 编译为小型二进制文件

一个 JavaScript 的提前编译器,可选嵌入 QuickJS 以支持动态特性和包支持。虽然是闭源的,但原始数据令人信服(约 5ms 启动时间;3.8MB 峰值内存使用,以及 1.2MB 二进制文件中的 GUI 应用程序)。

🛠 工具

Rolldown 1.0 发布:高性能 JS 打包器

作为 Vite 8 骨干构建的基于 Rust 的打包器达到了稳定的 v1.0。您可以获得巨大的性能提升,同时保持 Rollup 插件 API 兼容性:它比 Rollup 快 10-30 倍,早期采用者报告构建时间大幅减少。

Wakaru:拆解压缩的 JavaScript 打包文件

一个工具,您可以输入压缩的打包代码,然后取回可读的模块,无论是用于恢复代码、逆向工程还是安全审计。您可以在线试用。

pnpm 11.1

支持 GitHub Packages 的新 gh: 前缀,pnpm bugs 在浏览器中打开包的 bug 跟踪器,pnpm audit signatures 根据密钥验证 ECDSA 注册表签名。

Astro 6.3

添加对高级路由的实验性支持:控制请求如何通过您的应用程序流动,完全支持 Hono 等框架。

Syncpack 15.0

大型 JavaScript monorepo 依赖版本管理器。现在完全支持 pnpm 和 Bun catalogs。

Expo SDK 56 Beta

这款流行的 React Native 框架获得了速度提升,Jetpack Compose 和 SwiftUI API 趋于稳定。

MDXEditor 4.0

强大的 Markdown 编辑器 React 组件。

📝 简讯

Node.js 近期协作峰会纪要

如果您想了解 Node 团队目前正在做什么,Node.js 近期协作峰会的纪要值得一读。

关于 Bun 实验性移植到 Rust(从 Zig)

关于 Bun 实验性移植到 Rust(从 Zig),Jarred Sumner 表示,现在 96 万行代码的重写通过了 Bun 原有测试套件的 99.8%。

🤖 开发者发起将 NetHack 移植到 JavaScript 的挑战

🤖 一位开发者发起了一项将 NetHack 移植到 JavaScript 的挑战。LLM 能否完美移植这款复杂的 rogue-like 游戏?到目前为止,还不能,排行榜显示转译版本最接近。

📦 版本

Jest 30.4.0

这款流行的 JavaScript 测试框架的一次重要发布,改进了 ESM、Temporal 和 React 19 的支持。

Node 26.1(当前版)

上周的大型 Node 26 发布可能包含了 Temporal API,但 26.1 添加了(实验性)官方 FFI 支持。我在上周的 Node Weekly 末尾写了一篇关于这意味着什么的文章。

Electron 42

更新到 Chromium 148/Node 24.15/V8 14.8,并不再在 postinstall 脚本中下载 Electron 二进制文件,以提高安全性。

Capacitor 9.0 Alpha 1

Capacitor 9.0 Alpha 1

相关推荐
Hvitur37 分钟前
Java - Lambda
java·开发语言·python
xiaoye-duck43 分钟前
《C++ 项目:手写大模型接入 SDK》DataManager数据管理模块:SQLite持久化存储
开发语言·数据库·c++·sqlite
Evand J1 小时前
【MATLAB例程,PMSM19】永磁同步电机(PMSM)基于多速率无迹卡尔曼滤波(UKF)的转速与转子位置估计。测量缺失、状态预测与恢复性能分析
开发语言·matlab·电机·ekf·卡尔曼·电机滤波
喵了几个咪1 小时前
GoWind Flow 拆解:一个 Go 工作流引擎与它的双模式设计器
开发语言·人工智能·后端·golang
꧁细听勿语情꧂1 小时前
二叉树余题,排序、直接插入排序、希尔排序
c语言·开发语言·数据结构·算法
是main不是漫2 小时前
【C++——类和对象(上)】筑基篇:以封装奠定面向对象之基
c语言·开发语言·c++
apcipot_rain6 小时前
C++转Java日记(06)
java·开发语言
SomeOtherTime12 小时前
Rust所有权(AI回答)
开发语言·后端·rust
Easyhood13 小时前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
白杨尚青13 小时前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树