JavaScript Weekly 2025 年终特刊
这是 2025 年的最后一期 JavaScript Weekly。编辑 Peter Cooper 宣布,从 2026 年 1 月开始,周刊将改为每周二发布(下一期是 2026 年 1 月 6 日)。本期先带来几条新内容,然后回顾 2025 年度 Top 10 热门链接,并按月份整理今年 JavaScript 生态中的重要事件。在线阅读本期原文(英文)。
JavaScript 打包工具大奖赛
JavaScript 打包工具大奖赛(JavaScript Bundler Grand Prix) — 打包工具如今已经成为大部分 JavaScript 工作流的核心,甚至被集成进一些运行时本身(例如 Bun)。这篇文章对当下打包工具的生态进行了盘点,并提出一个观点:“速度战”基本告一段落,真正的战场正在转向产物体积,以及最终真正发给用户的代码质量。
Coding with AI:JavaScript 开发者的实战之路(赞助)
用 AI 编码:JavaScript 开发者的实战路径(Coding with AI: The Practical Path for JavaScript Devs) — 一门来自 Frontend Masters 的课程,重点不是花哨 Demo,而是如何将 AI 实实在在地融入 JavaScript 开发生产力:从提示工程、编码 Agent,到 MCP、ML 以及生产级应用落地。
我用 LLM 在 4.5 小时内把 JustHTML 从 Python 迁到 JavaScript
我用 LLM 在 4.5 小时内把 JustHTML 从 Python 迁到 JavaScript(I Ported JustHTML from Python to JavaScript with LLMs in 4.5 Hours) — 资深博主 Simon Willison 分享了他如何利用 OpenAI Codex CLI 和 GPT 5.2,将一个通过 9200+ 条 html5lib 测试的 HTML5 解析器从 Python 迁移到 JavaScript。可以在线体验最终结果,也可以直接查看源码。
简讯
- 🧩 Dan Abramov 展示了他的新工具 RSC Explorer 可视化工具,用于探索 React Server Components 在底层是如何运作的。
- ☁️ Cloudflare Workers 的 Wrangler 工具现在支持为多种 Web 框架自动生成部署配置,包括 Next.js、Astro、TanStack Start、SvelteKit 和 Nuxt 等。
- 🎯 picknplace.js 拖拽库 提供了一种实现拖拽交互的新思路。
- 🤖 OpenAI 公布了新的 GPT 5.2 Codex 模型,并展示了这个模型是如何帮助发现两个近期 React 漏洞的。
发布
- Tesseract.js 7.0 发布 – 浏览器与 Node 端的 OCR(图像文字识别)库,本次版本带来了明显的性能提升。
- Base UI 1.0 发布 – 一个优雅的 React 组件库,由一支经验丰富的团队打造。
- Wasp 0.20 发布 – 面向 React 19 + Node + Prisma 的“类 Rails 框架”,主打高生产力。
- Graffle 7.4 发布 – 一个可在任意环境运行的 JavaScript GraphQL 客户端。
- Next.js 16.1 发布
- Bun 1.3.5 发布
- MathJax 4.1 发布
- Prisma 7.2 发布
2025 年度 Top 10 热门链接
基于读者互动数据统计,以下是 2025 年最受关注的 10 篇链接:
- 令人困惑的 JavaScript 解析谜题(A Perplexing JavaScript Parsing Puzzle) — 一道只有 14 字节的 JavaScript 解析谜题,却让大量资深 JS 工程师“翻车”。即便作者自己在写了几十年 JavaScript 之后,第一次也答错了。
- Ecma 国际通过 ECMAScript 2025:有哪些新内容?(Ecma International Approved ECMAScript 2025: What’s New?) — 每年 Ecma 大会都会批准最新一版 ECMAScript 语言规范,你也可以直接阅读 ES2025 规范全文,不过更推荐 Dr. Axel 的这篇高质量总结。
- MACROSCOPE:面向开源项目的免费 AI 代码审查(MACROSCOPE - Free AI Code Review for Open Source) — 面向开源项目的免费 AI 代码审查工具,商用项目则可使用 OSSAI,并享受前两个月 5 折优惠。
- 我越来越喜欢生成器的人机工程体验(I Think the Ergonomics of Generators is Growing on Me) — 一篇关于生成器(Generator)使用体验的思考文章,如果你从未在生产中过生成器,这篇文章是一个不错的入门视角。作者认为“它们的实用性还没有真正被挖掘出来”。
- Web 正在如何使用 JavaScript(How the Web is Using JavaScript) — 来自今年 HTTP Archive Web Almanac 报告中的 JavaScript 章节,深入分析了 Web 世界到底在如何使用 JS:代码体积、TypeScript 流行度、Web Worker 使用情况,以及……是的,jQuery 依然非常流行。
- 如何让 package.json 不失控(How to Keep package.json Under Control) – 关于如何保持
package.json依赖“干净可控”的最佳实践与工具推荐。 - JavaScript 简史(A Brief History of JavaScript) – 一份极其详尽的 JavaScript 历史时间线,将在很长一段时间内都是学习 JS 发展史的权威资源。
- 战争故事:我调试过的最棘手 Bug(War Story: The Hardest Bug I Ever Debugged) – 一位前 Google Docs 工程师讲述了十年前他们遇到过的“最难调试的 Bug”之一的故事。
- 人们常误解的那些 Electron 事实(Things People Get Wrong About Electron) – Electron 维护者之一对项目多年来所做技术决策的一次系统性辩护,回应了围绕 Electron 的一些常见误解。
- 是时候转向只支持 ESM 了(Move On to ESM-Only) – Anthony 解释了为何现在是时候让包“只支持 ESM”,而不是同时兼容 ESM 和 CommonJS。
2025:JavaScript 一年大事记(月度回顾)
一月(JANUARY)
这一年对替代 JavaScript 运行时来说是个高产的开始,Bun 发布了 Bun 1.2 发布。同时,我们也看到了关于 Express.js 未来规划的大更新。
二月(FEBRUARY)
一部关于 Angular 的长篇纪录片发布。与此同时,Deno 与 Oracle 围绕“JavaScript 商标”的法律拉锯战仍在继续。TypeScript 5.8 发布,尤其对 Node 开发者意义重大。还有人用 TypeScript 的类型系统实现了一个完全用类型跑的 Doom。
三月(MARCH)
Babylon.js 8.0 发布,这是微软维护的重量级 3D 引擎。与此同时,Express 5.1 发布 也正式发布。
四月(APRIL)
Koa 3.0 发布;一场重要的 Node.js 协作峰会在巴黎召开;p5.js 2.0 发布 也在本月发布。
五月(MAY)
Remix 项目经历了一次重大调整。GSAP 动画工具包 宣布免费开放使用。Glitch 平台宣布关闭。Deno 团队整理了一份精彩的 JavaScript 历史时间线,微软则发布了原生 Go 版本 TypeScript 的首个预览。
六月(JUNE)
Oxlint 1.0 发布 和 Vite 7.0 发布 双双发布。Dr. Axel 公布了 ES2025 版本的《Exploring JavaScript》新书(相关介绍)。Biome v2 发布 成为首个无需依赖 tsc 的“类型感知” linter,Ecma International 也正式通过了 ECMAScript 2025 规范。
七月(JULY)
JS1024 代码高尔夫比赛 举行,Deno 2.4 发布,Vercel 宣布收购 NuxtLabs。
八月(AUGUST)
TypeScript 5.9 发布 和 Apache ECharts 6 发布。jQuery 团队发布了 jQuery 4.0 的 RC 版本(正式版仍在路上)。
九月(SEPTEMBER)
Mediabunny 媒体处理引擎 在媒体处理领域引起关注。Chrome 庆祝其 17 岁生日。同时,一系列 npm 包遭遇钓鱼攻击导致被劫持,拉开了一段混乱的 npm 供应链安全时期。作为回应,pnpm 增加了延迟依赖更新功能。macOS Tahoe 用户发现,Electron 应用在新系统上出现卡顿,原因是某个私有 API 的改动。Deno 项目则向社区募集 20 万美元,以支援其在 JavaScript 商标案件中的诉讼。
十月(OCTOBER)
React Compiler v1.0 发布,Node.js v25.0 发布,Node.js 24 成为新的 LTS 版本。React 团队宣布成立 React Foundation,以逐步弱化 React 与 Meta 公司之间的直接绑定。Bun 1.3 发布 引发大量讨论,Evan You 也公布了 Vite+ 项目。GitHub 则宣布 TypeScript 成为了平台上 #1 的语言。
十一月(NOVEMBER)
代号“Shai Hulud”的供应链攻击以“第二形态”回归。JavaScript Engines Zoo 项目 上线,向大家展示当今 JavaScript 引擎与运行时生态的多样性。Google 发布了 Angular v21 发布。
十二月(DECEMBER)
JavaScript 正式迎来 30 周岁生日。微软分享了 TypeScript 7.0 的最新进展,Deno 2.6 发布。Node.js v24.12.0 (LTS) 发布 同时发布,使“类型剥离(type stripping)”首次在 LTS 版本中变为稳定特性。
📰 分类广告
- 🎄 Meticulous 测试平台 可以自动观察你的应用并持续生成、维护 E2E UI 测试,让你在节日期间也能“自动写测试”。点此预约通话。
- Trigger.dev 工作流平台 负责队列、重试和长任务,让你可以用 TypeScript 构建生产级 Agent 和工作流,在规模化场景下保持可靠性。