#502 — September 19, 2023
Does Node.js Need a Mascot? — Go has its cute gopher, Deno has a dinosaur, Bun has, well.. a bun, but what does Node have? Nothing official, as such, and Matteo Collina ponders whether we should change that. Most of the suggestions seem tongue in cheek, but the Node homepage does feel a little bare without something..
Matteo Collina et al.
Node v20.7.0 (Current) Released — A less feature-packed release than usual, but npm gets bumped to the recently released v10.1, you can use process.getSourceMapsEnabled to detect if source maps are enabled, multiple –env-file declarations are supported (where each file will override the previous one, as necessary), plus the usual entourage of bug fixes.
💡 Node v18.18.0 (LTS) has also been released and introduces the –import flag for pre-loading ESM modules, like how –require does for CommonJS modules.
Tracking Errors in a Node.js Application — Bugs in production slow down velocity and often affect the complete trajectory of your release roadmap. In this article, we’ll look at how to make tracking errors and fixing bugs in your Node.js application more convenient, automated, and safe.
Matteo’s Thoughts on Bun — As the creator of Fastify and a Node.js TSC member, it’s interesting to see what Matteo thinks of alternative runtime Bun. He finds it exciting but does not consider it to be a ‘drop-in replacement’ yet, especially as it does not support Fastify.. OK, as of Bun 1.0.2, it does.
What do you think about embedding SQLite in Node? There’s little consensus so far, but it’s an interesting discussion.
Looking out for a better coding font? Matej Latin has an analysis of 5 monospaced fonts that include coding ligatures.
Securing Node Apps by Analyzing Real-World Command Injection Examples — If there’s a vulnerability in an npm package, there’s a bad actor looking to take advantage of it. A particularly nasty vulnerability is when code can be manipulated to run unintended and arbitrary commands. Liran explains the ramifications of such command injections and shows off a real world example.
Serverless Bun vs Node: Benchmarking on AWS Lambda — Following the recent release of Bun 1.0, Mitchell ran some tests to determine if the updated runtime is a legitimate contender for serverless environments like AWS Lambda.
A Developer’s Guide to Getting Started with Temporal — Use this TypeScript SDK guide to see how Temporal OSS delivers durable execution for your services and applications.
Temporal Technologies sponsor
▶ Why You Shouldn’t Use EventEmitter for Async Operations
How to Use Node.js to SSH into Remote Servers
🛠 Code & Tools
Chrono 2.7: A Natural Language Date Parser — Give it a string like “today”, “last Friday”, “2 weeks from now”, or even an entire date and time, and it’ll come up with a date object to suit.
depcheck: A Tool to Check for Unused Dependencies — A command line tool that analyzes the dependencies in a project to see how each dependency is used, which dependencies are ‘useless’, and which are missing from package.json. You can run it with npx depcheck
Djordje Lukic and Junle Li
node-diskusage 1.2: Cross-Platform Disk Usage Statistics — Implements platform specific bindings to obtain disk usage information (available space, physically free space, and total space) on Windows and POSIX platforms.
workerpool 6.5: Offload Tasks to a Pool of Workers — A long established thread pool library that works not only on Node but also in the browser.
Jos de Jong
SMOB: Safe Merging of Objects and Arrays — A zero dependency library to safe merge objects and arrays with customizable behavior.
💻 Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.
🐘 Postgres user? Postgres Weekly is our sister newsletter focused entirely on the Postgres ecosystem.
📅 If you’re introducing AI and ML technologies into your programming, or intend to, check out the AI Engineer Summit taking place October 8-10 in San Francisco. If you can’t attend in person, you can get a free remote ticket.
i18n-iso-countries: i18n for ISO 3166-1 Country Codes — Supports 75 different languages and lets you convert between ISO 3166 representations in both alpha and numeric forms.
fusion.ssg 1.2: A Minimal Framework for Static Sites — If React may be overkill for your simple, static project, but you’d still like to use JSX/TSX components, this framework might be all you need. Here’s a video demo.
stale-dep: A CLI Tool to Check if Your node_modules is Stale — You can try it out right now with npx stale-dep.
↳ API wrapper for Google Sheets.
ics 3.5 – iCalendar (ics) generation library.