星期二 04 下午 十二月 3o 2024
A full-fledged canvas for Node.js apps
#558 — December 3, 2024
Together with
Skia Canvas 2.0: A Browserless Canvas Environment for Node — Based on Google’s Skia graphics engine and offers end results similar to Chrome’s own canvas system. It’s GPU accelerated and can render images, paths, fonts, shapes, and (almost) everything you’d expect. v2.0 adds support for WOFF/WOFF2 fonts, WEBP exporting, and more. GitHub repo.
Christian Swinehart
❤️ Postgres — You need a database provider that loves Postgres as much as you do. We’ll take care of all the hassle - monitoring, backups, HA, disaster recovery so you don’t have to. Want amazing support? We’ll be there when you have questions.
Crunchy Bridge sponsor
Prisma 6: Better Performance, More Flexibility and Type-Safe SQL — Prisma is a popular, powerful ORM for Node.js and TypeScript apps that takes pride in doing things a little differently to most. You can now use it easily with serverless database platforms like PlanetScale and Neon, as well as in edge function platforms like Cloudflare Workers. D1 and Turso are now supported, and you can also write type-safe raw SQL queries. There’s a Prisma ORM 6 upgrade guide if you’re an existing user.
Nikolas Burk (Prisma)
💡 The Prisma team is also looking to the future and has produced a manifesto explaining their priorities going forward, including migrating Prisma’s core logic from Rust to TypeScript.
IN BRIEF:
Porffor is an interesting ahead-of-time JavaScript compiler, now complete with a snazzy new homepage.
The Linux Foundation is offering discounts on its Node.js courses and certifications over the next week.
🎄 If you fancy a daily programming challenge in the run up to Christmas, don’t forget that the Advent of Code 2024 has begun.
test262.fyi presents an interesting technical view of how different JavaScript engines fare on the official ECMAScript conformance test suite.
Inside Bluesky’s Engineering Culture — An interesting writeup from May 2024 that’s perhaps become more relevant with Bluesky’s recent rapid ascent. Node.js sits at the heart of the social network’s backend (along with other technologies).
Gergely Orosz and Elin Nilsson
Zero Ops Apache Kafka Replication and Data Mirroring — Moving to WarpStream to reduce your Kafka costs by 80+% and simplify ops is easy with 1:1 replication provided by Orbit.
WarpStream sponsor
📄 Writing Composable SQL using Knex and Pipelines Aycan Gulez
📄 Using Generative AI to Parse Web Pages into Data – Raymond turns to Google’s Gemini. Raymond Camden
📄 Unit Testing in Node with Jest Antonello Zanini
📄 Building Deep-Links in an Electron App Farhan CK
🛠 Code & Tools
Undici v7: The Modern HTTP Client Library for Node — A major release for a fundamental Node.js project. This release brings RFC-9111-compliant client-side HTTP caching, stricter fetch()
spec compliance, WebSocketStream
, and a new way to completely customize the lifecycle of requests.
Matteo Collina
VineJS 3.0: Form Data Validation Library for Node Apps — A fast validation library for data received by your backend app, providing both runtime and static type safety, and handling form data and JSON payloads. v3.0 has a few breaking changes to be aware of.
VineJS Contributors
Kaluma: A Tiny JS Runtime for the Raspberry Pi Pico — Can a JavaScript runtime squeeze into the 64KB necessary to run on the RP2040-based Raspberry Pi Pico? Kaluma can, all while offering some Node.js-like niceties.
Kaluma Project
A Way to Call Node.js Functions from Elixir — Elixir is a Ruby-inspired, Erlang VM-based language and this provides a way for Elixir apps to call Node functions.
Revelry
📰 Classifieds
🪝 Hookdeck: A serverless queue to reliably send, receive, transform, filter, and route events across your event-driven apps.
🔧 Still coding around process crashes, API downtime, and race conditions? See how durable execution solves these problems in our coding demo.
🌐 Caching is the backbone of fast, responsive apps, but when done wrong, things get BAD. We’ve done a deep dive into HTTP caching fundamentals.
png2embeddedjson: Convert PNGs to Base64-Encoded RGB565 in JSON — Niche, but has utility in embedding images directly into apps used on microcontrollers to drive small RGB displays. Both a library and CLI tool.
Andrew Chalkley
Oniguruma-to-ES: Convert Patterns from the Oniguruma Regex Engine to Native JS — Oniguruma is a powerful regex engine used by Ruby, TextMate, and other projects. This could be useful if you need to share regexes between Ruby, TextMate grammars, and JavaScript, say. There’s a demo.
Steven Levithan
NeutralinoJS 5.5 – The popular lightweight cross platform app platform (and alternative to Electron).
Vite 6.0 – A big release for the popular frontend build tool. Node.js 21 support has been dropped.
🤖 node-llama-cpp 3.3 – Run LLMs locally with bindings to llama.cpp
.
NodeGui 0.70 – Qt6-powered way to build cross-platform native desktop apps.
Faker 9.3 – Generate fabricated data to your heart’s content.
apns2 12.0 – Client for Apple’s Push Notification Service.
🎹 JZZ 1.8.7 – MIDI library for Node and browsers.
ArangoJS 9.2 – Driver for the ArangoDB graph database.
lmdb-js 3.2 – Data store wrapper for LMDB.
DOCX 9.1 – Generate .docx / Word files.
Opossum 8.4 – Circuit breaker library.
Got a link for us? Reply and tell us. We can’t include everything but we’ll look at anything you send. Thanks!
Sponsorship: Email [kristina@cooperpress.com](mailto:kristina@cooperpress.com)
for details.
Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
#558 — 2024 年 12 月 3 日
连同
[](https://nodeweekly .com/link/162855/0a4070b383)
Skia Canvas 2.0:Node 的无浏览器 Canvas 环境 — 基于 Google 的 [Skia 图形引擎](https://nodeweekly. com/link/162857/0a4070b383)并提供与 Chrome 自己的画布系统类似的最终结果。它采用 GPU 加速,可以渲染图像、路径、字体、形状和(几乎)您期望的所有内容。 v2.0 增加了对 WOFF/WOFF2 字体、WEBP 导出等的支持。 GitHub 存储库。
克里斯蒂安·斯温哈特
[](https://nodeweekly.com/link/162855/0a4070b383 )
❤️ Postgres — 您需要一个像您一样热爱 Postgres 的数据库提供商。我们将处理所有麻烦 - 监控、备份、HA、灾难恢复,因此您无需担心。想要惊人的支持吗?当您有疑问时,我们会随时为您服务。
脆脆桥赞助商
Prisma 6:更好的性能、更大的灵活性和类型安全的 SQL — Prisma 是一种流行的、功能强大的 Node.js 和TypeScript 应用程序以与大多数应用程序略有不同的方式做事而感到自豪。现在,您可以轻松地在 PlanetScale 和 Neon 等无服务器数据库平台以及 Cloudflare Workers 等边缘功能平台中使用它。现在支持 D1 和 Turso,您还可以编写类型安全的原始 SQL 查询。 有一个[Prisma ORM 6 升级指南](https: //nodeweekly.com/link/162861/0a4070b383)如果您是现有用户。
尼古拉斯·伯克(Prisma)
💡 Prisma 团队也在展望未来,并制作了一份宣言,解释他们未来的优先事项,,包括将 Prisma 的核心逻辑从 Rust 迁移到 TypeScript。
简而言之:
Porffor 是一个有趣的提前 JavaScript 编译器,现在拥有一个时髦的新主页。
Linux 基金会将在下周提供 Node.js 课程和认证 的折扣。
🎄 如果您喜欢在圣诞节前夕接受日常编程挑战,请不要忘记 Advent of Code 2024 已经开始。
test262.fyi 提供了一个有趣的技术视图,展示了不同 JavaScript 引擎在官方 ECMAScript 一致性测试套件上的表现。
Bluesky 的工程文化内部 — 2024 年 5 月写的一篇有趣的文章,可能与 Bluesky 最近的快速崛起更加相关。 Node.js(以及其他技术)位于社交网络后端的核心。
盖尔盖伊·奥罗斯和艾琳·尼尔森
零操作 Apache Kafka 复制和数据镜像 — 迁移到 WarpStream 可轻松将 Kafka 成本降低 80% 以上并简化操作由 Orbit 提供 1:1 复制。
WarpStream 赞助商
📄 使用 Knex 和 Pipelines 编写可组合 SQL Aycan Gulez
📄 使用生成式 AI 将网页解析为数据 – Raymond 求助于 Google 的 Gemini. Raymond Camden
📄 使用 Jest 在 Node 中进行单元测试 Antonello Zanini
📄 在 Electron 应用程序中构建深层链接 Farhan CK
🛠 代码和工具
Undici v7:Node 的现代 HTTP 客户端库 — 基本 Node.js 项目的主要版本。此版本带来了符合 RFC-9111 的客户端 HTTP 缓存、更严格的“fetch()”规范合规性、“WebSocketStream”以及一种完全自定义请求的生命周期。
马泰奥·科里纳
VineJS 3.0: Node Apps 的表单数据验证库 — 后端应用程序接收到的数据的快速验证库,提供运行时和静态类型安全,以及处理表单数据和 JSON 有效负载。 v3.0 有一些需要注意的重大更改。
VineJS 贡献者
Kaluma:适用于 Raspberry Pi Pico 的小型 JS 运行时 — JavaScript 运行时能否压缩到在基于 RP2040 的处理器上运行所需的 64KB树莓派皮科? Kaluma 可以,同时提供一些类似 Node.js 的细节。
卡鲁马项目
从 Elixir 调用 Node.js 函数的方法 — [Elixir](https://nodeweekly.com/link/162879/0a4070b383 )是一种受 Ruby 启发、基于 Erlang VM 的语言,这为 Elixir 应用程序提供了一种调用 Node 函数的方法。
狂欢
📰 分类广告
🪝 Hookdeck:一个无服务器队列,用于在事件驱动应用中可靠地发送、接收、转换、过滤和路由事件。
🔧 还在围绕进程崩溃、API 停机和竞争条件进行编码吗? 在我们的编码演示中了解持久执行如何解决这些问题。
🌐 缓存是快速、响应式应用程序的支柱,但如果做得错误,事情就会变得很糟糕。我们深入研究了 HTTP 缓存基础知识。
png2embeddedjson:将 PNG 转换为 JSON 中的 Base64 编码的 RGB565 — 利基市场,但可以将图像直接嵌入到微控制器上使用的应用程序中驱动小型 RGB 显示器。既是库又是 CLI 工具。
安德鲁·查克利
Oniguruma-to-ES:将模式从 Oniguruma 正则表达式引擎转换为原生 JS — [Oniguruma](https://nodeweekly.com /link/162885/0a4070b383) 是 Ruby、TextMate 和其他项目使用的强大正则表达式引擎。例如,如果您需要在 Ruby、TextMate 语法和 JavaScript 之间共享正则表达式,这可能会很有用。有演示
史蒂文·莱维森
NeutralinoJS 5.5 – 流行的轻量级跨平台应用程序平台(以及 Electron 的替代品)。
Vite 6.0 – 流行的前端构建工具的重大版本。 Node.js 21 支持已被放弃。
🤖 node-llama-cpp 3.3 – 在本地运行 LLM,并绑定到“llama.cpp”。
NodeGui 0.70 – 基于 Qt6 的构建跨平台本机桌面应用程序的方法。
Faker 9.3 – 生成随心所欲的捏造数据。
apns2 12.0 – Apple 推送通知服务的客户端。
🎹 JZZ 1.8.7 – 用于 Node 和浏览器的 MIDI 库。
ArangoJS 9.2 – ArangoDB 图形数据库的驱动程序。
lmdb-js 3.2 – LMDB 的数据存储包装器。
DOCX 9.1 – 生成 .docx / Word 文件。
Opossum 8.4 – 断路器库。
有我们的链接吗? 回复并告诉我们。我们无法包含所有内容,但我们会查看您发送的所有内容。 谢谢!
赞助: 发送电子邮件至“<kristina@cooperpress.com>”了解详细信息。
由库珀出版社有限公司出版
费尔菲尔德企业中心, 劳斯, LN11 0LS, 英国
发布者