#​558 — December 3, 2024

Read on the Web

Together with  Crunchy Bridge
Node.js Weekly

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 ElixirElixir 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 JSOniguruma 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