Node.js周刊2026W34 | Node.js 26.7.0发布、pnpm 12进入候选版、Fastify 6.0开放Alpha、Preact 11候选版、Deno 2.9.5补齐兼容

本周运行时与新版集中爆发:Node.js 26.7.0 带来 Perfetto 追踪与 SQLite 修复,Deno 2.9.5 补齐 Node 兼容差距,pnpm 12 进入 RC,Fastify 6.0 开放 Alpha,Preact 11 与 TanStack Table v9 推进前端框架演进,DeepSeek Harness 与 Kitesurf 探索 Agent 新形态。

🔥 头条

TermDOM:用 HTML、CSS 和 DOM 构建终端 UI

你喜欢 Ink 的外观但不喜欢 React?TermDOM 实现了一个 DOM、层叠样式和布局引擎,并绘制到终端上,这样你就可以用 HTML 和 CSS 编写 TUI。纯 JS,没有原生或 WASM 依赖,官方 TodoMVC 只需换一个样式表就能运行。还是早期阶段,但我喜欢这个想法!

将一个大型 Flow 单体仓库迁移到 TypeScript

几年来,Yelp 把 140 万行代码从 Flow 迁移了出去,这篇总结与其说是一个 Flow 故事,不如说更适合作为运行任何长期迁移的指南。它本身就是一个巨大的胜利:类型覆盖率从 83% 提升到了 96%。

📖 文章

加第二个中间件让 TypeScript 类型崩了

一个 TypeScript 侦探故事:增加一个第二个中间件竟可能让返回类型坍缩成 {}。罪魁祸首是一个被广泛使用的键值过滤惯用法,当属性可选时会泄漏 undefined。

DeepSeek Harness:DeepSeek 新推出的 Node 驱动 Agent 框架

今天,这家知名的中国模型实验室发布了自己的类 Claude Code 工具,并且已经斩获 3 万 star。不过它不是典型的 CLI 框架,而是通过 Web UI 运行。有趣的是,一切皆插件,构建在 Cordis 之上——这是一个已有的 Node 插件系统,其作者已被 DeepSeek 招致麾下。GitHub 仓库

Kitesurf:跑在 V8 Isolate 上的 Cloudflare 面向 Agent 的浏览器

一个运行在 Workers 上的浏览器引擎,每个页面一个 isolate。它面向 Agent 而非人类,相比 Chromium 使用 3 到 7 倍的更少 CPU 和内存,代价是速度更慢。你现在就可以在 beta 中试用,后续会适时开源。

JavaScript 内部的渐进增强

在火车上工作时,不稳定的数据连接让 Remy 注意到用户可以在页面 JavaScript 就绪之前就与之交互,一个巧妙的修复方法是尽早绑定处理器,之后再重放用户意图。

TanStack Table v9:更快、更模块化的基础

这个无头表格库获得了可 tree-shake 的架构,状态迁移到 TanStack Store 以实现细粒度响应式,并在大数据集上带来显著的内存收益。

🛠 工具

Fastify 6.0 进入 Alpha

自流行的高性能 Web 框架 Fastify 发布 v5 以来已经过去了两年,但 v6 已初见端倪。它大体上会成为一次“大扫除”式的发布,最低要求 Node 24,但应该适合初步测试。更多背景请看这里。

unbash:零依赖的快速 Bash 解析库

Knip 用来理解 shell 脚本的解析器,现在作为独立库发布。它把 bash 代码转换成带类型的 AST,可用于分类、权限检查、重写命令等更多场景。

在 Drizzle 中实现全文搜索,无需引入第二套系统

试试 ParadeDB 为 Drizzle 提供的官方集成。直接搜索你正在使用的 Postgres 表。无需 ETL,也无需 Elasticsearch 集群。

Hucre 1.0:零依赖的电子表格引擎

一个用于读写常见电子表格格式的库,包括嵌入图片、超链接、密码保护和表格等特性。

devalue 5.9

Svelte 项目更强大的 JSON.stringify,支持更多 JS 语言特性。

Svelte Select 6.0

Svelte Select 6.0 彻底放弃对 Svelte 4 的支持,基于 Svelte 5 runes 重建组件,使用回调属性和 snippets 取代旧的事件派发器和具名插槽。从早期版本升级会破坏任何依赖 createEventDispatcher 或基于插槽组合的代码,浮动层现在依赖 floating-ui。本次发布附带了迁移指南、逐属性演示和 REPL 示例,方便团队无需猜测即可采用新的响应式模型。

fuzzysort 4.0

fuzzysort 4.0 在不到一毫秒内对 13,000 个文件完成匹配,零依赖,快到足以在每次按键时对整个代码库做模糊搜索。朴素子串匹配会用无关结果淹没用户,而传统模糊库则迫使你在速度和排序质量之间做取舍。本文讲解了 go/single/snapshot 查询、自定义 scoreFn 权重,以及在纯字符串和 React 中的高亮渲染。

GTKX 1.0

React hooks 和 JSX 现在能驱动真正的 GTK4 控件——一个 useState 计数器会重新渲染原生的 GtkLabel,而不是 webview。GTK4 的 GtkBuilder XML 只布局静态界面,因此状态变化时不会重渲染,工作时也不会热重载,使这个工具包缺少 React 开发者所期望的响应式层。本文讲解了 GTKX 的声明式层、CLI 生成的逐项目绑定,以及构建原生 Linux 桌面应用的标准 Web 工具链。

Belgie 0.40

Python 开发者现在可以在进程内运行一个拥有完整权限的 Deno 运行时——通过一条 uv add 就能执行 JavaScript 和 TypeScript 脚本,或交给 AI Agent 一个沙箱化的 JS 工具。打通 Python 和 JS 通常意味着派生子进程或管理一套 Node 工具链,且跨越边界的值仍须是 JSON 兼容的。README 讲解了 Runtime/Script API、React MCP 小组件应用,以及 Pydantic AI 或 LangChain 沙箱集成。

📚 教程

Harness 工程:如何驯服你的 Agent

模型在不断变化。Harness 是你自己构建的部分。Netflix 的 Scott Moss 展示了如何做:持久化执行、沙箱化的工具调用、记忆系统,以及多 Agent 交接。

📝 简讯

pnpm 12(Rust 重写版)现已发布候选版

pnpm 12,也就是 Rust 重写版,现在已进入发布候选阶段,与 pnpm 11 相比只有三处不同。

Bun 1.4 在 𝕏 上几乎每日被预热

Bun 1.4 在 𝕏 上几乎以每日的频率被预热,预计随时都会发布,不过其创造者 Jarred Sumner 正被尝试解决黎曼假设这件事分了心。

📦 版本

Deno 2.9.5

Deno 2.9.5 在一个补丁中附带了一个实验性 QuickJS 后端,以及另外 28 项修复和特性。Node.js 兼容性已悄然成为 Deno 最锋利的尖刀——本次发布大部分是在填补长达数年的差距,如 web-streams 背压、v8.promiseHooks 和 fs.readdir 排序——然而每项修复都埋在原始变更日志里。更新说明列出了每一项改动及对应的 PR 编号,方便你精确追溯哪些已合入,以及你自己的 Node 到 Deno 迁移行为现在可能有何不同。

Node.js 26.7.0(Current)

新增 --test-coverage-include-all、FFI 和 SQLite 崩溃修复,以及初步的 Perfetto 追踪支持。

SolidStart v2

Preact 11 发布候选版

Preact 11 的发布候选版在悄然缩小库压缩后核心体积的同时,新增了 React 19 兼容特性,如 use 和 createPortal。其中的张力在于:要保持“开箱即用”的 React 替代品地位,意味着要匹配新 API,又不能膨胀掉让 Preact 值得被选中的小巧体积。该 RC 实现了 React 19 对等兼容、通过最长递增子序列移动的更智能 DOM diff,以及正确性修复——完整说明涵盖了每一个特性、性能提升和迁移细节。


往期精选


阅读原文


扫码关注「右耳朵猫AI」

扫码关注「右耳朵猫AI」

posted @ 2026-08-29 17:20  右耳朵猫AI  阅读(19)  评论(0)    收藏  举报