#525 — March 19, 2024
Bringing require(esm) to Node — Joyee writes about landing experimental support for require()-ing synchronous ES modules in Node, a feature that has been a long time coming, due to both technical and cultural factors.
Joyee Cheung
Building a Node App with TypeScript — Learn how to set up TypeScript to bundle a Node app using pnpm, Node, TypeScript, and ES modules for a seamless development experience, all from someone who knows a thing or two about TypeScript!
Matt Pocock
Memetria: Secure, Scalable Redis Hosting — High performance Redis hosting with large key tracking, detailed metrics, and a superior uptime record.
Memetria sponsor
▶ Setting up an Express.js App with TypeScript in 2024 — This hour-long video doesn’t focus on building an Express.js app itself, but on getting everything set up and working in a very clear, easy to follow way with a variety of modern DX niceties.
Anson the Developer
IN BRIEF:
▶️ The Stack Overflow podcast interviewed Node’s creator Ryan Dahl about why he moved on to creating Deno, as well as JSR, edge functions, and the future of JavaScript generally.
⚙️ Sticking with Deno, the Deno project has unveiled deployctl, a CLI tool for working with Deno Deploy.
On the JSR front, there’s ▶️ now a 6-minute video introduction explaining its motivations and what it offers beyond npm.
If you’re a Windows-based developer and you’ve been itching to try the Bun runtime, hold that thought – Windows support is now close to shipping with 93% of tests passing.
unplugin-parcel-macros: Use Parcel/Bun Macros with Other Bundlers — Macros, as implemented in Parcel and Bun, are JavaScript functions that run at build time and whose values get inlined into the bundle in place of the original call. You can now use this feature with webpack, Vite, Rollup, esbuild, and Next.js.
Devon Govett
A Beginner’s Guide to Worker Threads in Node — Worker threads provide a way to create independent JavaScript execution threads that run in parallel.
Stanley Ulili
Building Reliable Applications with Durable Execution — Learn about the concept of durable execution, which is used to solve a wide range of problems in distributed systems.
Temporal Technologies sponsor
Parsing Hacker News’s ‘Who’s Hiring’ Threads with OpenAI and Node
Jeremy Bernier
Comparing ECMAScript Modules (ESM) with CommonJS
Marcin Wanago
▶ Is Drizzle Really Better Than Prisma?
Kyle Cook
Server Actions in Fastify
Jonas Galvez
🛠 Code & Tools
Eta 3.4: Embedded JS Template Engine for Node, Deno, & Browsers — Boasts being lighter and faster than EJS but with many of the same features (it looks a lot like Ruby’s ERB, if you like that vibe). GitHub repo.
Ben Gubler
VineJS: 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. Why use VineJS over Zod? They’ve answered that.
VineJS Contributors
📰 Classifieds
Never miss a webhook ever again. Use Hookdeck to receive, transform, filter, route, deliver, and even retry webhooks in DEV and PROD.
👨💻Try Pythagora – VS Code extension that builds apps from scratch with AI by talking to you. It writes the code while you write instructions.
date-fns 3.6: A Modern Date Utility Library — It’s been a few years since we linked to this “lodash for dates” that’s packed with over 100 date and time manipulation functions, but it continues to get frequent updates. GitHub repo.
Sasha Koss
💡 Tempo offers another suite of date and time functions and was inspired by date-fns.
Happy DOM 14.0 – JS implementation of a web browser sans UI.
date-fns 3.6 – ⏳ Modern JavaScript date utility library ⌛️
Nightwatch.js 3.5 – Node.js end-to-end testing framework.
ExpressoTS 2.9 – TypeScript framework for server-side apps.
RxDB 15.12 – Offline-first, reactive database for JS apps.
lmdb-js 3.0 – Data store wrapper for LMDB.
x-crawl 9.0 – Flexible Web crawling library.
Undici 6.9 – Node’s HTTP/1.1 client library.
Javet 3.1 – Java + V8. Embed JS into Java.