#​514 — December 12, 2023

Read on the Web

✍️ We're prepping our annual roundup issue for next week, just before we take our Christmas break, so keep an eye out for that. We're also considering the future. We're exploring covering some extra server-side and non-browser topics, like Bun, Deno, serverless, etc. Stay tuned for a survey to gather your input. :-)
__
Your editor, Peter Cooper

Together with  Dragonfly
Node.js Weekly

▶  Node.js Configurations Masterclass — Well-known Node developer and TSC member Matteo looks at the phenomenon of so much Node code depending on the value of environment variables (and NODE_ENV, in particular, which affects the behavior of many modules) and the role that secret management can play in building robust, secure apps.

Matteo Collina

💡 There is a music bed throughout the video you might dislike, in which case Matteo's ▶️ "NODE_ENV = production is a lie" is a shorter, music-free talk flying through things with a broader brush.

Redis with Wings - Built for Modern Node Applications — Dragonfly is a drop-in Redis® replacement with significant performance and scalability advantages. Applications built on Dragonfly deliver incredibly fast user experiences while reducing both costs and complexity.

Dragonfly sponsor

Maglev: A Serious Look at V8’s Fastest Optimizing JIT — A deep dive into how the V8 JavaScript engine (as used in Node) is getting faster thanks to work on its Maglev JIT compiler which sits in between the existing Sparkplug and TurboFan compilers (which offer distinct compilation vs execution speed tradeoffs).

The V8 Team

In other V8 spelunking news, Andy Wingo has been taking a look into progress with V8's garbage collection. What does V8’s GC even look like these days?

IN BRIEF:

The Complete Puppeteer Cheatsheet — If you want to control a headless Chrome browser from Node, Puppeteer is for you. Now we just need a Playwright one as well ;-)

Mohan Ganesan

▶  Deploying Node.js with Google's Duet AIDuet AI is Google’s AI-based assistive agent that works both in the IDE and within Google Cloud. For now.

Google Cloud

Get Started with Node.js 20 on Red Hat OpenShift — Red Hat has released a fully-supported Node 20 container image.

Lucas Holmquist (Red Hat)

Job Scheduling in Node with Agenda: A Beginner's Guide
Stanley Ulili

Node.js, TypeScript and ESM: It Doesn't Have to Be Painful
Alejandro Oviedo

🛠 Code & Tools

Name Checker: Check if a Project Name is Taken — An online tool that checks a bunch of different package registries (npm, GitHub, GitLab, PyPI, Maven, RubyGems, Go packages, Rust crate, etc.) to see if the name is used by another project.

Todd Cooke

Auth. Built for Devs, by Devs — Easily add login, registration, SSO, MFA, user management and a bazillion more auth features to your application.

FusionAuth sponsor

Croner 8.0: 'Cron' for JavaScript and TypeScript — Trigger functions upon the schedule of your choice using the classic cron syntax. Works in Node, Deno, Bun and the browser, across time zones, offers error handling and overrun protection.

Hexagon

Rockpack 4.2: An Alternative React App Builder — Akin to Create React App, the goal is to get project setup time as low as possible, but Rockpack holds different opinions around how far to take things and packs in a lot of ideas including server side rendering, linting, and testing.

Alex Sergey

npm-check-extras: Check for Outdated and Unused Dependencies — A CLI app to check for outdated and unused dependencies and run update/delete over those you select.

akgondber

p-map 7.0: Map Over Promises Concurrently — Differs from Promise.all() in that you can control the concurrency and whether or not to stop iterating when there’s an error.

Sindre Sorhus

📰 Classifieds

👉 Free Temporal 101 & 102 Courses in TypeScript: Learn Temporal's open source key concepts and best practices with our self-paced training.


💻 At Bosch, we invent technology for life. Join in and get inspired by the perspectives of our community around the globe. Learn more.

node-re2: Bindings for Google's RE2 Regular Expression LibraryRE2 is a C++ finite-state machine-based regex library that takes a different approach to PCRE. It'll appeal to you if you want to avoid exponential runtime issues with certain regexes/ReDOS or so-called ‘evil input’.

Eugene Lazutkin

💡 You can experience the difference in approach by running this simple ReDoS script, CTRL+Cing it once you get bored, then switching in RE2, which completes quickly :-)