Node.js周刊2026W37 | 三处进程崩溃修复、fs 内置 glob、Workers 模块注册表、Vitest 5.0

本周 Node.js 主线是稳定性与性能:官方修复流、子进程与 QUIC 三处进程崩溃问题,undefined 数据块不再抛 TypeError 终止进程。核心模块继续补强,node:fs 内置 glob、crypto.parsePKCS12 相继落地。生态侧 Cloudflare Workers 推出 Node.js 对齐的模块注册表,Vitest 5.0 正式发布。

🟢 Node.js 官方开发进展

🔧 Node.js 运行时

🐛 进程崩溃与误杀:流、子进程、QUIC 三处修复

流数据块为 undefined 时 for await 抛出的 TypeError 无法捕获、会终止进程,现已恢复为正常投递;spawn 失败后 child.kill() 不再误杀整个进程组,改为返回 false;QUIC 的 addressLRUSize 为 0 时首个 UDP 包即崩溃,现被校验拒绝。依赖 kill() 旧返回值或异常分支的代码需调整。

🆕 核心模块新能力:fs 原生 glob、crypto.parsePKCS12、HTTP/2 连接窗口与 BoundSocket 转移

node:fs 内置 glob 匹配,可去掉第三方 glob 依赖,但匹配语义与旧库可能不完全一致;crypto.parsePKCS12() 可直接取出 .p12/.pfx 中的私钥与证书链;http2 新增 connectionWindowSize,可在建连前设定初始连接窗口。net.BoundSocket 也可转移给其他线程或子进程,转移后源实例 address()/fd() 抛错、pipe 绑定不可转移。

⚡ Stream 分配与 fs.cp() 目录复制热路径优化

stream 写入不再预建 WriteWrap 对象、读缓冲改从 64KB slab 分配、每流状态改用 fast-mode 类实例避免 V8 字典模式,分配约快 50 倍;fs.cp() 复制目录树改到线程池,2100 个文件从约 215ms 降到 30ms,主线程几乎不再占用,cpSync 新建目录也不再丢失源目录权限。高频小包、短生命周期流和大目录复制自动受益,行为不变,无需改代码。

🔥 头条

Cloudflare Workers 推出与 Node.js 对齐的新模块注册表

Workers 上个月已默认启用 Node.js 兼容,意味着你可以在 Workers 中调用大部分 Node 内置 API。现在多了一种可选的模块加载方式,会把导入路径解析为真正的 URL,同时带来 import.meta 和 Node 的 require(esm) 规则。

Vitest 5.0 聚焦速度与测试调试

Vite 原生测试运行器的一次大版本发布,基准仓库显示在依赖繁重的应用上运行速度最多提升 53%。新的 Trace View 可逐步重放浏览器模式测试,vitest doctor 会推荐让测试套件跑得更快的配置。

📖 文章

自信地在 Kubernetes 上部署与管理容器化应用

加入 Erik Reinert 的这门详细视频课程,学习如何在 Kubernetes 上部署和管理生产级容器化应用。你将覆盖基础设施、测试、回滚、自动扩缩容等内容,最后再把集群推送到 EKS。

对 HTTP 客户端内部状态机做模糊测试

一个基于属性测试的实践案例:给 ffetch 已经通过的 206 个测试补上 fast-check 属性。生成的数千个用例在「已被充分测试」的代码中找出了 11 个真实缺陷。

为 Node.js 项目加上 MCP 服务器监控

只需一次函数调用。看清谁在连接、哪些工具拖慢速度,以及 MCP 从不抛出的那些失败。

vgpu:在浏览器或 Node.js 中渲染 WebGPU 着色器

让同一份着色器既能在浏览器里使用,也能在 Node 中无头渲染(输出高分辨率 PNG 或 MP4 视频)。WGSL 模块像 TypeScript 那样导入和导出。

前端项目抵御「代码垃圾」的 10 项举措

一次自动化检查的完整走查,用来减少你需要人工评审的代码量,涵盖 OpenAPI 代码生成、分层边界、变异测试,以及用 CI 让这些约束真正落地。

浏览器主线程很贵

一份深入剖析,配有演示,讲如何把主线程时间花在刀刃上,包括拆分、批处理、优先级排序与延迟任务,最终把工作彻底移出主线程。

🛠 工具

Rslib 1.0:面向 JavaScript 库与 CLI 的构建工具

Rspack 对标 tsup/tsdown 的方案发布 1.0,配置与 JS API 已稳定。它能从 engines.node 推断语法目标,借助 TypeScript 7 更快生成声明文件,还能(实验性)构建 Node SEA 可执行文件。

MikroORM 7.2:行级安全、WASM SQLite 驱动等

一个面向 SQL 数据库和 MongoDB 的 TypeScript ORM。7.2 新增原生 Postgres 行级安全,策略作为实体元数据,另外还有穿透关系和 WASM sql.js 驱动(没错,现在可以在浏览器里用 MikroORM 了!)

Javet 6.0:在 Java 中嵌入 Node.js 与 V8

一个把真实 Node.js 运行时(现为 v26)嵌入 JVM 的 Java 库。Java 代码可以加载 npm 包、调用正在运行的 Node 代码,并同时运行多个 Node 实例。GitHub 仓库。

eslint-plugin-regexp 3.3:找出正则表达式错误的 ESLint 插件

有一个精巧的在线演示,展示它能捕捉到的问题。

SimpleWebAuthn 14.0:现已支持抗量子通行密钥

这个通行密钥库现在可以验证抗量子的 ML-DSA 通行密钥,并且在 Node 24.7 及以上版本中,注册时默认优先选用 ML-DSA-44。

ESLint Config Inspector 3.4

新增耗时分析,更容易找出拖慢 lint 运行的规则。

GPUIX 0.7

用 React 和 TypeScript,在 Zed 所用的框架之上构建原生 GPU 加速桌面应用。

memlab 2.0.5

Meta 的框架,用于在浏览器和 Node.js JavaScript 应用中查找内存泄漏。

Astro LilyPond

为 Astro 提供构建期文本转乐谱渲染。

vue-echarts 8.3

Apache ECharts 的 Vue.js 组件。

📝 简讯

🎂 jQuery 1.0 已经 20 岁了,InfoQ 回顾往昔

🎂 jQuery 1.0 已经 20 岁了。InfoQ 回顾了 $() 如何帮我们避开浏览器大战,以及为什么许多网站至今仍在使用它。再往前十年,微软为了绕开商标问题,在 Internet Explorer 中以 JScript 之名发布了 JavaScript。

两人因 TeamPCP npm 供应链攻击被捕

两人因 TeamPCP npm 供应链攻击被捕。TeamPCP 涉嫌克隆 Shai-Hulud 蠕虫,由此引发了「Mini Shai-Hulud」攻击潮。

VoidZero 最新更新:Vitest 周下载量突破 1 亿

VoidZero 的最新更新庆祝 Vitest 周下载量突破 1 亿次、React Compiler 支持进入 Vite,并介绍了 Rolldown、Vite+ 与 ViteConf(将于 10 月 15 日线上举行)的最新进展。

📦 版本

deck.gl 9.4

这个由 GPU 驱动的数据可视化库扩展了实验性的 WebGPU 支持,预计这是 v9 的最后一个版本。

Bun 1.4.1

空闲内存占用大幅下降,bun build 产物更小,Bun.serve 可在同一端口同时说 HTTP/2 与 HTTP/1.1,还有更多改进。

NVM for Windows 2.0

面向 Windows 的 Node 版本管理器。v2 不再需要管理员权限。

Astro 7.3


往期精选


阅读原文

相关推荐
giszhc1 小时前
腾讯地图瓦片接入方案:一个 Bun 代理,让 Mapbox / Leaflet / OpenLayers 通用
前端·后端
她的男孩1 小时前
加了 @Idempotent 还是重复扣款了 3 笔:扒完 1279 行幂等 Starter,我挖出 5 个隐蔽的坑
java·后端·架构
右耳朵猫AI1 小时前
Web前端周刊2026W37 | Shopify 转原生、React 编译 Rust 化、Vitest 5.0、Rslib 1.0
前端·javascript·react.js·typescript·node.js
秋秋小事1 小时前
node prisma中的crud
node.js
pe7er2 小时前
引子
前端·后端·架构
SimonKing2 小时前
阅后即焚的加密便签:Cryptgeon,你口袋里的秘密信使
java·后端·程序员
灯澜忆梦2 小时前
【Redis中间件】#2 | 基础数据类型语法
redis·后端
孙启超2 小时前
【AI开发之Rust】第 6 课:结构体、枚举与方法 —— 开始定义自己的类型
开发语言·人工智能·后端·ai·rust
小蒜学长2 小时前
基于Python的微博热搜话题可视化分析系统的设计与实现(代码+数据库+LW)
后端·python·django·数据可视化·情感分析·微博热搜