🚀 Deno 2.4 发布:deno bundle 命令强势回归
🔗 原文链接
Deno 2.4 版本重新引入了 deno bundle 命令,该命令可以为服务器端和客户端创建单文件捆绑包(single-file bundles),并完全支持 npm 和 JSR 依赖以及自动化的摇树优化(tree-shaking)。
此外,你现在可以使用 import 将任意文件内容包含到模块中。Deno 内置的 OpenTelemetry 支持也已进入稳定阶段。这无疑是一次重大的版本更新。
💡 小贴士: 顺便一提,Bun v1.2.18 也发布了哦。
✨ ECMAScript 2025 新特性解读
🔗 原文链接
继上周我们分享了 Axel 博士对 ES2025 新特性的探讨之后,本文作者 Paweł 提供了另一个以代码示例为主导的解读视角,或许能给您带来新的启发。
⚡️ 简讯
- ⚖️ JavaScript™ 商标争议更新: Ryan Dahl 发布了关于 JavaScript™ 商标争议的最新动态。Oracle 有大约一个月的时间来对 Deno 的撤销申请作出全面回应。
- 🏆 JS1024 编程竞赛: JS1024 是一年一度的 JavaScript 代码高尔夫 比赛。您需要在 7 月 19 日之前,提交一个以“Creepy”(诡异)为主题且大小不超过 1024 字节的 JavaScript 程序。
- 🗳️ Angular 吉祥物投票: 今天是为 Angular 官方吉祥物投票的最后一天。
- 🛠️ Angular 调试新工具: 现在有了一种在 Chrome DevTools 中跟踪 Angular 特定数据的新方法。
- 🧑💻 Copilot Chat 扩展开源: 微软已将其用于 VS Code 的 GitHub Copilot Chat 扩展开源。即使您对 AI 不感兴趣,这个项目也为了解微软如何构建其自家扩展提供了一个很好的范例。
📦 新版发布
- Rspack 1.4 – 基于 Rust 的高性能 Web 打包工具(兼容 webpack),1.4 版本 благодаря WebAssembly 也可在浏览器中运行。
- Electron 37.0 – 跨平台桌面应用开发框架。
- ESLint 9.30.0 & 9.30.1
- 其他更新: Astro 5.11, Babel 7.28.0, Three.js r178
📖 文章与视频
🎨 如何构建自己的颜色搜索引擎
本文以一个非常务实的视角,介绍了如何整合多种技术和技能,创建一个由 AI 驱动的颜色推荐工具(你可以在这里试用)。文中所涵盖的技术可以应用于许多不同的实际场景。
🧩 一个令人困惑的 JavaScript 解析难题
这是今年《JavaScript Weekly》迄今为止最受欢迎的文章。它提出的问题看似简单,却暗藏玄机。仅仅 14 个字符的 JavaScript 代码和一个直白的问题——你能答对吗?
🛠️ 使用 JavaScript Proxies 构建轻量级响应式状态管理器
如果你不想依赖任何库来实现响应式状态管理呢?是否可以利用 JavaScript 的原生特性构建一个既强大又简单的系统?答案是肯定的!
🚀 2025 年的现代 Node.js 模式
本文反思了 Node.js 当前的潜力。作者提醒我们关注各项新进展,包括 ES 模块的使用、内置的 Web API、测试运行器、监视模式、权限模型、导入映射等。
📚 其他精选
- 📄 无需特殊设备,通过超声波传输数据 – Web Audio API 的一个创新应用。
- 📺 每个 React 开发者都应了解的 Signals – 来自 Signals 概念的提出者 Ryan Carniato 的分享。
- 📄 在 Mapbox 中使用自定义 3D 模型:分步指南 – 虽然小众,但可能非常有用。
- 📄 JSDoc 如何拯救了我的开发工作流
🛠️ 代码与工具
📝 Milkdown:插件驱动的所见即所得 Markdown 编辑器框架
一个基于插件系统的“所见即所得” Markdown 编辑器框架,支持高度定制化。它的官方文档本身就是由 Milkdown 渲染的,还有一个很酷的在线试验场供你体验。 GitHub 仓库。
🤖 Repomix 1.0:将代码库打包成 AI 友好的格式
输入一个 GitHub 仓库 URL,选择你的配置(如 XML、Markdown 等),即可生成一个整合后的文件。这个文件非常适合用于让大语言模型(LLM)分析仓库或回答相关问题。你可以在线使用或作为 Node.js 库来调用。 GitHub 仓库。
📸 snapDOM 1.8:将 DOM 节点捕获为图像
一个快速、精准且日益成熟的 DOM 到图像捕获工具,可以将任何 HTML 元素捕获为可缩放的 SVG 图像,并保留其样式、字体、背景图等。其官网上有大量示例。
📅 Time Picker:一个基于 shadcn/ui 的日期时间选择器组件
简洁、优雅,用户体验极佳。
🎨 Spectral.js:一个“颜料般”的颜色混合库
在两种颜色之间进行过渡时,直接对 RGB 值进行插值可能会产生一些不自然的中间色。Spectral.js 采用了 Kubelka–Munk 理论,其效果更接近于真实世界中颜料的混合方式,从而带来视觉上更令人满意的结果。
⚙️ 其他工具
- Protobuf-ES 2.6 – 完整的 Protocol Buffers JS/TS 实现。
- ♟︎ React Chessboard 5.0 – 用 React 渲染国际象棋棋盘。(示例)
- Faker 9.9 – 随心所欲地生成模拟数据。
- jQuery Terminal Emulator 2.45 – 创建基于 Web 的终端体验。(演示)
- Mineflayer 4.30 – 用 JavaScript 创建 Minecraft 机器人。
- Pixi.js 8.11 – 快速、灵活的 2D WebGL 渲染器。
🌍 生态圈观察
- Patreon 的工程师分享了他们近期完成的一项大型国际化重构的故事,该项目涉及超过 10,000 个 JavaScript 调用点。
- 如果 Cloudflare Workers 对你的使用场景来说限制太多,Cloudflare 提供了一个新选择:Cloudflare Containers。它与 Workers 集成,但允许你将应用打包成容器镜像,并以更灵活的方式运行。
- 一个名为“百万棋盘”(One Million Chessboards)的项目,讲述了他们如何设计和扩展一个 1000x1000 的在线实时国际象棋棋盘网格,故事非常引人入胜。
- 一位安全研究员分享了他们如何追踪到 GitHub 上大量被强制推送(force-pushed)的“oops”提交,并从中发现了价值 2.5 万美元漏洞赏金的机密信息。
- 知名的 MySQL 云服务提供商 PlanetScale 正在进军 Postgres 领域。目前该服务处于“内部预览”阶段,但他们已经发布了一些基准测试结果。
- 🎵 如果你想发挥创意,Strudel 是一个在浏览器中进行音乐编程的有趣工具。文档中包含了大量实时示例,值得一玩。