本周 React 发布 19.2.8 等三个维护版本修复 RSC 性能,Shopify 迁移至 Preact+Web 组件实现包体积缩减 85%;JavaScript 方面 Vue 3.6 RC 携 Vapor Mode 性能持平 Solid,ECMAScript 2026 获批新增 Array.fromAsync;Node.js 领域 better-sqlite3 13.0 迁移 N-API 单二进制跨运行时运行,Node.js 26.5.0 发布。
⚛️ React
React 19.2.8、19.1.9 和 19.0.8 发布
React 同步发布三个维护版本——19.2.8、19.1.9 和 19.0.8,均于 2026 年 7 月 21 日发布,唯一记录的变更是一项 React 服务端组件解码性能修复。跨三个版本协调补丁发布表明某回退或安全问题范围足以需要向后移植,但更新日志仅显示 @eps1lon 的一项内部优化。发布说明介绍了 RSC 反序列化中变动的内容及受影响的版本。
Shopify 的 React 到 Preact + Web 组件迁移
Shopify 通过从 React 迁移到 Preact 并结合 Polaris Web 组件,将结账扩展包体积减少了 40% 到 85%。每个扩展都会在关键的结账时刻增加面向用户的延迟,而 Shopify 遗留的 Remote UI 桥接层运行在一个即将停用的 API 版本上,没有替代方案。本文详细介绍了迁移路径、TypeScript 重写以及将五个高流量扩展迁移至 remote-dom 所带来的量化性能提升。
React Colorful 5.8:简洁的颜色选择器组件
一个已有六年历史的颜色选择器组件,简洁直观,现在支持 Shadow DOM。首页包含在线演示。
edge-aura:为视口带来有机屏幕边缘发光效果
一种能实时响应屏幕内容的边缘发光效果,而非静态 CSS 装饰。大多数 UI 发光效果是预先烘焙的,忽略视口中正在发生的变化,让人感觉脱节而平淡。edge-aura 提供有机的实时边缘光晕,紧紧贴合屏幕边缘并动态反映上方的控制内容,API 简洁明了,记录在 README 中。
Next.js 承诺的定期安全更新首期发布
随着 LLM 辅助的漏洞发现爆发式增长——Mozilla 在一次 Firefox 发布中披露了 271 个问题,均由 Anthropic 的 Mythos Preview 发现——Next.js 正在将月度安全发布正式化。历史上,Next.js 不定期发布安全补丁且无预先通知,让团队忙于应急修复;如今攻击者与研究人员使用同样的 AI 工具,旧模式已不可持续。本文介绍了新的预先公布的月度更新计划、严重性评级以及协调缓解措施,帮助团队规划升级而不影响工作。
想用 Next.js 尝试 TypeScript 7.0?现在就可以
TypeScript 7 以 Go 原生重写登场,全量构建速度提升 8 到 12 倍。TypeScript 的类型检查长期以来一直是大型代码库的瓶颈,即使很小的改动也会触发数秒的重检查,中断整个开发周期的流程。本文介绍了忠实的移植方法、共享内存多线程技术,以及如何开始使用新版 tsc 和编辑器支持。
GTKX 让你用 React 构建原生 Linux 桌面应用
React 开发者可以构建真正的原生 Linux 桌面应用——不是 Electron 包装器,而是通过 Rust 驱动核心渲染的一流 GTK4 和 Adwaita 部件。传统的 GTK 开发需要 C、GObject 或 Vala,将庞大的 React 生态系统拒之门外,迫使开发者在 Web 开发效率和原生质量之间做出痛苦的选择。GTKX 以 React 声明式模型、热重载、类型化绑定、内置测试甚至 AI agent 的 MCP 服务器架起了这座桥梁。
React Router 团队建议升级至 v7.18.0
React Router 团队因多个新发布的 CVE 建议升级至 v7.18.0 或 v8.3.0。
React on Rails 17.0
React on Rails 17.0 将 React 服务端组件锁定到稳定的 React 19.2.x 版本线,放弃所有预发布版 RSC 支持。Pro RSC 生态系统曾因预发布 React 版本的分裂而面临兼容性问题和维护负担,让运行混合环境的团队苦不堪言。该版本通过协调的运行时脚手架、稳定版本强制以及针对生产部署的紧急回滚逃生通道扫清了道路。
React Data Table 8.8
一款 React 数据表格,将排序、分页、行选择、内联编辑和主题打包进单一依赖——零样板代码、零 CSS 文件、无付费版本。大多数表格库迫使开发者在功能丰富的付费工具和需要大量手动编排的轻量级免费替代品之间做选择。React Data Table 8.8 开箱即提供完整功能集,周下载量 23.8 万,代码库成熟且自 2018 年以来一直活跃维护。
react-native-graph 1.3
react-native-graph 为 Pink Panda Wallet 在生产环境中支撑每日数千次的代币图表,使用 Skia 而非常见的基于 JS 的图表方案。React Native 开发者长期以来一直困扰于滚动时卡顿、数据过渡时抖动或耗电的图表库;react-native-graph 通过 Skia 的原生插值系统运行动画,零 JS 线程参与,解决了这一问题。1.3 版本涵盖动画/非动画渲染模式、带触觉反馈的平移手势支持以及面向生产级金融图表的可配置轴标签。
react-native-nitro-sqlite 9.7
NitroSQLite 9.7 为 React Native 带来向量搜索,让你直接在设备上运行语义数据库查询。向量搜索一直是移动端 AI 功能的缺失环节——需要 RAG 或相似度搜索的应用要么必须部署独立的向量数据库,要么调用云 API,增加了延迟和离线缺口。该版本引入了 react-native-nitro-sqlite-vec,一个将向量索引嵌入现有 SQLite 表的配套包,零外部依赖实现设备端语义搜索。
React Router 8.3
React Router 8.3 终于修复了一个长期困扰的问题——像 1.0.0+1 这样的 semver 版本号在 URL 路径中不再被编码为难以阅读的 1.0.0%2B1。旧的 encodeURIComponent 方法过于激进,对 RFC 3986 中完全有效的路径段字符也进行了编码,迫使开发者手动解码 URL。该版本提供了符合 RFC 3986 的路径编码、保留 RSC 路由组件元数据以减少不必要的服务端往返、为生产级 RSC 部署添加 CSP nonce 和 SRI 支持,并扩展了 TypeScript 7 在框架层面的兼容性。
react-jsonschema-form 6.7
基于 JSON Schema 构建表单的组件。
react-intersection-observer 10.1
react-intersection-observer 10.1 将一个功能完整的可见性检测 Hook 打包进仅约 1.15kB 的体积。原生 Intersection Observer API 无法与 React 干净集成——需要手动附加 ref、手动清理观察器、并过滤首次虚假通知以避免错误的状态变更。该版本涵盖 useInView 和 useOnInView 两个 Hook、支持 tree-shake 的构建以及面向 Jest 和 Vitest 的现成 mock。
MDXEditor 4.1
MDXEditor 4.1 采用带兼容性门的 Lexical 0.48——这是一次重大的框架升级,在解锁新功能的同时保护现有集成不受破坏性变更影响。构建在快速演进框架上的富文本编辑器始终面临上游改进与 API 稳定性之间的张力。本文详细介绍了 Lexical 迁移策略、新增选择性从当前选区导出 Markdown 的功能,并使搜索替换操作具备状态支持。
Jotai 3.0 Alpha
Jotai 3.0 Alpha
🟨 JavaScript
框架基准测试:对比前端框架
Vanilla JS 在包体积和性能上击败所有框架——却没有人用它构建生产应用。框架基准测试因精心挑选的示例和过时的版本而声名狼藉,几乎无法帮助选择正确的工具。该项目每晚在 13 个框架上运行相同的应用,发布原始 JSON 结果,包括 Lighthouse 分数、CPU/内存、HMR 时间以及用于个性化推荐的 Stack Match 工具。
使用 Web Locks API 处理 Web 并发
OLX 前端工程师处理 20GB 上传时发现,并发 bug——曾经仅限于 Java 后端代码——如今也困扰着现代 Web。Web Locks API 最初设计用于 Service Worker 协调,结果却是同步竞争同一上传会话的多个标签页所需的缺失基元。本文深入介绍了 OLX 使用 Web Locks API 实现可恢复上传的实践,涵盖锁获取策略、跨标签页进度同步以及处理标签页关闭后重新打开的场景。
使用数据导向设计构建高性能解析器
一位独立开发者用 Zig 构建了一个 JavaScript 解析器,运行速度比团队构建的替代方案快 3 到 10 倍——不是通过更好的算法,而是通过 AST 节点在内存中的布局方式。教科书式的指针链接树迫使 100KB 的文件进行 5 万次独立分配,每次遍历都变成预取器无法辅助的缓存未命中指针追逐。本文揭示了如何用平面整数索引替换每个指针,消除分散的分配、将内存开销减半,并产生可写入磁盘或跨进程共享的位置无关树。
unwasm:像导入普通 ES 模块一样导入 .wasm 文件
现在可以使用一行代码在 JavaScript 中导入 WebAssembly 模块——import { sum } from “sum.wasm”——无需手动绑定、无需胶水代码、无需构建插件。在此之前,桥接 .wasm 二进制文件和 JavaScript 需要繁琐的样板代码:手动声明导入和导出、编写包装函数、为每个运行时配置打包工具插件。unwasm 在构建时自动解析、解析并生成绑定,遵循 ES Module Integration 提案的同时保持与当前生态系统的兼容性。
BotKit:构建独立的 ActivityPub Bot
你的联邦宇宙 bot 不需要 Mastodon 账号——BotKit 从一个单一文件运行完整的 ActivityPub 服务器,没有 500 字符限制,也不需要平台权限。传统的 bot 脚本依赖他人的服务器,受限于其 API 上限和松散的静态类型;BotKit 让你在自己的域名上作为独立行动者获得完全控制。本文介绍了该框架的零配置 API、联合边界处的 TypeScript 保障,以及构建自托管联邦宇宙 bot 的架构。
Vue 3.6 进入发布候选阶段——Vapor Mode 来了
Vue 3.6 在第三方基准测试中与 Solid 和 Svelte 5 持平——这个传统上被认为更重的框架现在与最快的编译器正面交锋。Vue 基于 VNode 的运行时一直是阻碍其进入编译优化框架性能层的瓶颈。发布说明介绍了 Vapor Mode 的 API 兼容性、可选使用方式以及使其成为可能的基于 alien-signals 的响应式重写。
Angular 转向年度发布周期
经过近十年的半年一次大版本发布,Angular 正从 v22 开始放缓为年度发布节奏。半年一次的快速发布让许多团队疲于升级和框架更替,损害了作为 Angular 核心用户的企业级稳定性。本文介绍了新的 12 个月大版本周期、每个大版本 4 到 6 个次要版本,以及延长至 24 个月的支持窗口。
ESLint 现已提供官方 codemod 用于自动迁移
ESLint v10.8.0 提供官方 codemod,在大版本升级期间自动重写配置和规则,消除手动迁移。升级 ESLint 大版本历来要求团队手动更新每个配置文件和不推荐使用的规则引用——这是一个繁琐且容易出错的过程,常常阻碍版本采用。该版本涵盖了端到端的升级工作流,使用经过测试的官方 codemod,让团队零手动配置漂移地放心采用新版 ESLint。
法国巴黎——Three.js 官方大会来了
在塑造了整整一代创意开发者(涵盖作品集、装置艺术和游戏)近十五年后,Three.js 终于迎来了首次官方大会——今年九月在巴黎举办。该库十多年来一直是 Web 图形的核心,但其全球社区此前从未面对面相聚过。本文预告了演讲者将带来的内容,从 Bruno 为其 Three.js Journey 课程做的最大的 WebGPU 更新,到远超文档范围的每日 TSL 实验。
WebStorm 2026.2
TypeScript 7 将 Kibana 代码库的项目加载时间从 12 秒缩短到 3 秒——提升了四倍——在 WebStorm 2026.2 中实现。大型 TypeScript monorepo 长期以来饱受缓慢的补全和重构之苦,旧工具链在日益增长的代码库下不堪重负。该版本涵盖微软 Go 重写的编译器、原生 GitHub Copilot 集成、用于可复用 AI 上下文的 agent 技能管理器以及 React 19 支持——均无需完整项目迁移。
Astro 7.1
Astro 7.1 终于让你控制分页 URL——当部署静态 .html 文件到没有 URL 重写规则的主机时,不再出现像 /blog/2 这样不匹配的路径。多年来,paginate() 生成的文件名与磁盘上实际内容不匹配。该版本还引入了更精细的 CSP 指令(内联样式不安全的粒度控制,不影响外部 CSS 安全性)、用于大型内容集合的内存节省模式以及实验性的内容存储分块。
Travels 2.1
一个 1MB 的状态对象经过 100 次编辑后,在传统撤销系统中会消耗 100MB——Travels 2.1 将其缩减到几千字节。基于快照的撤销对小应用有效,但随着状态增长变得极其昂贵,使长历史和持久化变得不切实际。Travels 仅存储 JSON Patch(RFC 6902)而非完整克隆,大幅削减了内存、序列化和存储成本,同时支持 React、Vue、Zustand 或原生 JavaScript。
gridstack.js 13.0
gridstack.js 13.0 仅用 10 行代码即可获得完全交互的拖拽仪表盘——无需框架样板代码。构建响应式、可调整大小的部件布局传统上需要重型框架或数百行自定义事件处理。该版本涵盖零配置 API、高级功能如垃圾桶式部件删除,以及信赖它用于生产仪表盘的组织的实际采用案例。
np 12.0
发布 npm 包涉及一打容易出错的手动步骤——验证分支、运行测试、升级版本、推送标签——任何一步失误都可能导致发布损坏的版本或使 git 处于不一致状态。np 12.0 用一个交互式命令取代了这个脆弱的流程,处理安全检查、版本升级、npm 发布、git 标签创建以及失败时的自动回滚,全部通过引导式 UI 完成。该工具涵盖分支强制、依赖验证、双因素认证和 dry-run 模式——但明确不支持 monorepo 和 CI,保持专注的本地交互式体验。
AngularEditor 3.1
AngularEditor 3.1 停止支持 Angular 22 以下版本,抛弃了仍在使用 Angular 13 到 19 的团队。这个广泛使用的 WYSIWYG 编辑器曾跨越 Angular 6 到 19 版本,现在需要最新框架,给遗留项目带来了昂贵的迁移门槛。该版本涵盖新的 CSS 变量系统、Vitest 测试集成以及完整的配置 API。
Pinia 4.0
Pinia 4.0 完全放弃 CommonJS,成为纯 ESM 库——这一破坏性变更迫使生态系统现代化。错误消息和开发警告已在新 Nostics 系统中完全重构,解决了长期困扰开发者的晦涩 Vue 状态管理错误问题。发布说明详细介绍了迁移路径以及新错误格式如何帮助人类开发者和 AI agent 更快诊断问题。
关于 Java 的新纪录片
众所周知,Java 给 JavaScript 的唯一馈赠就是名字的前四个字母。这在这部 74 分钟的 Java 新纪录片中没有提及,但我仍然很喜欢了解 Java 的故事。它出自制作了精彩的 Vite、Angular 和 Node.js 纪录片的同一团队。
ReactBench
顶尖模型在 ReactBench 上勉强达到 53% 的分数,但它们能通过所有现有的基准测试。问题在于当前的评估验证了行为却完全忽略了性能、可访问性和质量——正是那些让 React 在生产环境中出问题的因素。ReactBench 对 17 个编码 agent 在真实的 React 工作上打分,暴露了测试通过率与实际生产就绪度之间的巨大差距。
shadcn/typeset
你的应用的标题、段落和代码块在每页上看起来都不一样——博客、文档、聊天各自需要自己的样式表,重复劳动且造成间距不一致。相同的 HTML 元素到处渲染,但每个上下文需要不同的节奏。shadcn/typeset 用一个 CSS 文件解决了这个问题:添加一个 .typeset 类,仅用三个变量(字号、行高、间距流)即可调整每个表面的节奏,包括内置流式支持,新块不会重新样式化之前的部分。
它的博客
近 70% 的 BGP 路径的 ORIGIN 属性被传输提供商为流量优势操纵路由选择而静默重写。BGP 基于信任的 ORIGIN 系统原意是一个简单的路径属性,已变成全球规模的路由操纵工具。本文介绍了这一发现背后的测量方法,并主张完全从路由选择中废弃 ORIGIN 属性。
下一届 js13kGames
如果你想参加下一届 js13kGames 游戏开发竞赛,主题将于 8 月 13 日公布,提交截止日期为 9 月 13 日。
Stars 数前 100 的 JavaScript 项目
top 100 starred JavaScript projects
🟢 Node.js
不,我们无法加固 Node.js 以防止原型污染
每一份原型污染安全报告都在要求错误的修复方案。每个在 Node.js 核心或其依赖中发现的新“gadget”看起来都是离散的 bug,但它们共享同一个未明确说明的先决条件:攻击者已经拥有对 Object.prototype 的写入权限。修补任何一个单独的 gadget 都毫无意义,因为还有无数个——在 execSync、fetch、vm 以及每个下游库中。本文重新定义了整个讨论,解释了为什么加固单个 API 是一场必输的游戏,以及真正的防御应该放在哪里。
Drizzle 中无需第二系统的全文搜索
一个 Postgres 数据库现在可以替代独立的 Elasticsearch 或 Meilisearch 集群用于全文搜索。团队传统上需要维护 Postgres 之外的第二个系统来实现 BM25 搜索和向量检索,带来了运维复杂性、同步延迟和基础设施成本。ParadeDB 官方 Drizzle 集成在熟悉的 ORM API 下带来了 pg_search 扩展,涵盖 BM25 索引、分面搜索、自动补全、混合 RRF 和 RAG,支持 Node 22.12+ 和 PostgreSQL 15+。
Domenic Denicola 的 Agentic 编程环境设置
Domenic Denicola 现在可以在火车上用手机使用前沿 AI agent 修复生产 bug。Agentic 编程在 Windows 上几乎不可行——agent 严重依赖 Bash 和 Unix 工具,在 PowerShell 引号处理和 UTF-8 问题上频频出错——而原生 Claude Code 缺少无缝设备切换、并行工作流和安全预览服务器的基础设施。他详细介绍了基于 Linux 的设置、agent 框架配置以及使之成为可能的工作流技巧。
better-sqlite3 13.0:流行 SQLite 库迁移到 N-API
better-sqlite3 13.0 取消了按 Node.js 版本编译原生绑定——其首个 N-API 构建生成一个单一的二进制文件,可在 Node.js、Electron 甚至 Bun 上运行。此前,这一流行的 SQLite 库依赖已废弃的 prebuild-install,需要按版本编译二进制文件,在运行时升级之间频繁断连。发布说明详细介绍了迁移过程、二进制分发变更以及这个 7400 Star 项目的生态系统兼容性影响。
高吞吐量分析,仍然只用 Postgres
High-Ingest Analytics, Still Just Postgres
Execa 10.0:更好的 Node 进程执行
Node 中的进程执行一直意味着在 Shell 便利性和安全性之间做选择——Execa 10.0 用零转义模板字符串 API 打破了这一权衡,完全消除了 Shell 注入。内置的 child_process 模块需要冗长的样板代码和手动引号处理,使即使简单的命令在生产脚本中也容易出错。本文介绍了 Execa 10.0 基于 Promise 的 API、改进的带中间结果的管道处理以及用于可靠自动化的健壮边界情况处理。
追踪一次 HTTP 请求约 200ms 的生命周期
一次点击经过 4,700 公里穿越七个网络站点,在仅 211 毫秒内返回订单确认——对用户完全不可见。在点击和“已确认”屏幕之间,Wi-Fi 信号转换为以太网、跨越大陆通过光纤、命中负载均衡器路由到四个 Node.js 进程之一、然后查询相邻建筑的 Postgres 实例,全部在四分之一秒内完成。交互式页面分解了这一旅程的每一毫秒,从网络协议层到解析、路由和响应传输。
最好的 Harness 胜出,而非最好的模型——学习 Harness Engineering
在生产环境交付 AI agent 时,最好的 harness 胜出,而非最好的模型。没有基础设施层——持久化执行、安全沙箱、记忆系统、多 agent 编排——LLM 只是一个事务性推理调用,而不是能从失败中恢复的真正 agent。Netflix 高级工程师 Scott Moss 教授如何使用 TypeScript 和 Vercel AI SDK 构建生产级 agent harness,涵盖项目结构、工具集成和基于 WebSocket 的分布式执行。
Fetch 需要错误码
fetch() 中的每个网络失败——DNS 故障、TLS 错误、连接被拒绝、服务端重置——都产生完全相同的通用 TypeError,刻意丢弃所有诊断信息。这种不透明性是防止跨源探测的必要安全措施,但 HTTP/2 和 HTTP/3 在 RST_STREAM 和 STOP_SENDING 帧中携带丰富的 32 位错误码,规范直接将其丢弃。本文探讨了一个活跃的 TC39 提案,用于暴露类型化流重置,以及浏览器安全与有意义错误处理之间的权衡。
Telegram Serverless:在 Telegram 服务器上运行 Telegram Bot
运行 Telegram bot 的后端代码不再需要配置服务器——Telegram 现在直接在其自身的 V8 沙箱中运行你的 JavaScript 模块,紧邻 Bot API。每个 bot 开发者都经历过为响应 /start 命令而将 bot 连接到 VPS 或云函数的摩擦,自行管理正常运行时间和扩展。本文介绍了零基础设施的工作流:单命令部署、三个文件的项目结构、内置数据库以及一个完整的演示 bot。
LiteParse 2:快速、轻量的 PDF 文档解析
LiteParse 2 在设备端实现生产级 PDF 空间解析,带边界框——无需云 API、无需专有 LLM、零外部依赖。大多数现代文档解析工具通过将任务卸载到云服务来牺牲隐私、速度和成本换取准确性,但 LiteParse 2 在普通文档场景下挑战了这一权衡。本文介绍了其架构:PDFium 文本提取、使用 Tesseract 或自定义服务器的可插拔 OCR、智能复杂性检测以及从 Rust 和 Python 到浏览器 WASM 的多语言绑定。
Tinbase:单一二进制文件中的 Supabase 兼容后端
Supabase 本地开发需要 12 个容器 2.3GB 的 Docker 栈——tinbase 用一个 30MB 的单一二进制文件替代,提供相同的 API。基于 Docker 的本地开发开销推动许多团队转向 PocketBase 等轻量替代方案,但它们在不同的 API 后使用 SQLite,与官方 supabase-js SDK 不兼容。本文探讨了 tinbase 如何从头实现 PostgREST、GoTrue 认证、Storage 和 Realtime API,在 Postgres 和 SQLite 引擎之间切换,甚至完全在浏览器标签页中运行。
Node.js 26.5.0(最新 Current 版本)发布
Node.js 26.5.0 附带了一位新发布者 Stewart X Addison 的新发布签名密钥。发布真实性对 Node.js 供应链至关重要,每位新签名者都加强了维护生态系统安全的分布式信任模型。此小版本包含 Current 版本线的标准 bug 修复和性能改进。
CVE-2026-48931 本不应是 CVE
报告并修复 Node.js HTTP/1.1 响应队列污染问题的工程师承认,这个 CVE 本不应存在——而且他的错误破坏了生产部署。HTTP/1.1 没有响应标识符,因此被攻破的上游可以注入未经请求的响应到保活的 keep-alive 套接字上,使之后的所有请求失去同步;但恶意源已经控制它发送给你的每个字节,使得额外的污染角度从安全角度看实际上不值得关注。本文详细介绍了根因、破坏了部署的修复方案,以及关于何时不该提交 CVE 的三个痛苦教训。
ECMAScript 2026 新特性
ECMAScript 2026 于 6 月 30 日获批,终于为异步迭代器添加了 Array.fromAsync——自异步迭代引入以来语言一直需要的特性。同步迭代器自 ES2015 起就有 Array.from(),而异步迭代器只能通过冗长的 for await 循环来消费,没有简洁的一步转换为数组的方法。本文涵盖了 2026 规范的所有新增内容,附带实例代码以及指向完整十年变更日志的链接。
terminal-image 5.0:在终端中显示图像
你可以直接在终端中显示全分辨率图像——无需图像查看器。大多数开发者仍将终端视为纯文本界面,但现代终端如 iTerm、Kitty 和 WezTerm 支持图形协议,其他终端则回退到 ANSI 块字符。terminal-image 5.0 提供了简单的异步 API 用于渲染 PNG、JPEG 和动画 GIF,自动缩放并保持宽高比。
eslint-node-test:面向 Node 内置测试运行器的 ESLint 规则
Node 内置测试运行器 node:test 自 Node 20 起已可用于生产,但大多数项目仍在使用第三方框架。没有专门的 lint 规则,常见的错误如忘记删除 .only 测试或重复的测试标题会悄悄溜过。这个插件为 node:test 提供了可自动修复的 ESLint 规则,仅在从该模块导入时激活,因此你可以安全地应用于整个项目。
webpack-dev-server 6.0:官方 webpack 开发服务器
webpack-dev-server 6.0 停止支持 Node.js 22.15.0 以下版本,并将 Express 升级到 v5,带来了多年来最具破坏性的一组破坏性变更。依赖内置 CLI 标志和 SockJS 的团队需要迁移——CLI 标志已被完全移除,转而使用 webpack-cli 的 serve 命令,并且 SockJS 支持已被弃用。该版本还将源码转换为原生 ES 模块,同时保持 CommonJS 兼容性,升级解锁了 Express 5 对开发工作流的改进。
如何提交你的第一个 Node.js 核心贡献
提交第一个 Node.js 核心贡献不需要请求许可——这个项目没有项目经理,任何人都可以挑选一个问题并立即开始工作。新的贡献者常常犹豫不决,不知道从哪里开始,也不了解大型志愿者驱动代码库中未言明的交往礼仪。本指南介绍了如何通过“good first issue”标签找到适合初学者的问题、何时开启讨论与何时直接提交 Pull Request,以及如何沟通进度而不过度承诺。
用 TypeScript 构建你的自主工程团队
一个 API 调用即可启动一个完整的自主工程团队——产品经理、架构师、编码者、审查者和测试者——负责范围界定、构建和端到端交付复杂软件。传统开发受限于协调开销、招聘周期和团队扩展成本;SWE-AF 用一个单一编排运行时替代了所有这些,从简单的 JWT 认证任务扩展到拥有数百次 agent 调用的多仓库重写。本文介绍了 SWE-AF 的架构、单仓库和多仓库模式、跨角色的模型切换,以及通向自主软件工程工厂的愿景。
37 个 Node CLI 应用最佳实践
大多数 CLI 应用失败不是因为缺少功能,而是因为它们忽视了基本可用性——从 POSIX 参数解析到正确的退出码,好 CLI 和差 CLI 之间的用户体验鸿沟巨大。构建真正令人舒适的命令行工具出乎意料地困难,POSIX 信号处理、跨平台兼容性和错误报告中有无数陷阱会静默破坏用户的工作流。Liran Tal 提炼了 41 个经过实战验证的实践,涵盖命令行体验、分发、互操作性、可访问性、测试和错误处理,汇集成一份可操作指南。
为什么 Drizzle ORM 一个月无法在 npm 上发布新版本
一个单一的元数据文件膨胀到 100MB,将一个流行 ORM 锁在 npm 发布机制之外数周。npm 基于 CouchDB 的注册表将所有版本清单捆绑到一个“packument”文档中——Drizzle 大量的 ESM 导出将其推过了极少团队知道的隐形注册表限制。本文分析了 packument 为何变得如此庞大,以及包作者可以采取什么措施来避免同样的陷阱。
使用 TypeScript 7 加速 VS Code 迭代
VS Code 在 TypeScript 7——编译器完全用 Go 重写——还在构建中、类型检查甚至尚未稳定时就开始采用它。在开发过程中重写核心依赖是有风险的,但较慢的 TypeScript 6 构建已经在损害开发者和 AI agent 的日常编辑循环。本文详细介绍了 VS Code 团队如何通过渐进式采用加速了他们自己的构建、向 TypeScript 团队提供了关键的真实世界测试反馈,并最终帮助交付了经过更多实战检验的 10 倍更快的编译器。
Node-GTK 4.0:Node 的 GTK 绑定
Node.js 现在在 Linux、macOS 和 Windows 上运行原生 GTK 桌面应用,支持 CSS 热重载和完整的 TypeScript 支持。构建 GTK 应用传统上意味着离开 Node 生态系统——需要 C、Python 或 GJS——而堆栈的其他每个部分都已迁移到 JavaScript。node-gtk 4.0 提供预构建二进制文件(甚至支持 Windows)、单命令项目脚手架以及用于生产分发的 Flatpak 打包。
使用 xyOps 在服务器集群中调度 Node.js 脚本
Schedule Node.js Scripts Across Your Server Fleet with xyOps
Electron 43:更快的启动速度与 V8 15
Electron 43 通过消除沙箱化渲染进程在导航开始前等待的一个阻塞式 IPC 往返,大幅缩短了应用的启动时间。Electron 应用长期以来素有冷启动缓慢的问题,但此版本通过三项架构变更正面解决了这一问题:主进程的内嵌 Node.js 启动快照、框架包和预加载脚本的编译型 V8 字节码缓存,以及在导航前推送沙箱化渲染进程数据。该版本还搭载了 Chromium 150(含 V8 15),新增了 macOS 通知生命周期 API,并默认将 Linux 无边框窗口改为圆角。
往期精选
- Web前端周刊2026W29 | TypeScript 7.0 RC、Bun Rust重写、Node.js 26.5、ESLint 10.7
- Web前端周刊2026W28 | TypeScript 7.0 RC、npm v12、Node.js 26.5.0、ECMAScript 2026、React Hook Form 7.81.0
- Web前端周刊2026W27 | TS 7 RC、Expo SDK 57、Node 26.4
- 用 Rust 重写 Bun
- PHP周刊2026W29 | Laravel 13.19发布、PR-AF代码审查登顶、Redis缓存雪崩应对、PHP基金会迎新
- Rust周刊2026W29 | Rust 1.97.0发布、Bun重写为Rust、crates.io源码浏览、thread-per-core WebRTC SFU
扫码关注「右耳朵猫AI」