We’re going on a memory leak hunt

#​470 — January 19, 2023

Read on the Web

Fixing a Memory Leak in a Production Node App — Kent encountered a variety of weird memory and CPU usage spikes in his Node-powered app and decided to figure out what was going on. This post walks through his complete journey, with plenty of side problems encountered along the way, before discovering the root cause was where he least expected it.

Kent C Dodds

How To Handle Asynchronous Tasks with BullMQBullMQ is a Redis-based job queue system you can use to offload asynchronous tasks from your app to run in the background. This is a very thorough, practical walkthrough in typical DigitalOcean style.

Stanley Ulili

Learn the Stack and Master the Server — Expand your abilities with this wide-ranging collection of courses on full stack engineering, databases, VIM fundamentals, API design, containers, and more.

Frontend Masters sponsor

Bun v0.5 ReleasedBun is another JavaScript runtime taking the world by storm and unlike Deno, some level of Node compatibility has been considered important from the start. v0.5 adds support for node:readline, workspaces, a node:dns shim, and network socket creation support such that more Node.js-based database libraries work out of the box.

Ashcon Partovi

From Ruby to Node: Overhauling Shopify’s CLI — E-commerce platform Shopify is well known as a Ruby shop but even they found a compelling reason to switch to Node for their CLI tool. There are numerous reasons explained here, though easier cross-platform packaging was clearly a big motivation.

Pedro Piñera (Shopify)

IN BRIEF:

The OpenJS Foundation has published a Node.js security progress report with a few brief updates on security work done in December 2022.

The folks at NodeSource have put together a top 10 list of Node open source projects ‘to keep an eye on’ in 2023.

Blue Green Deployment for Node.js without Kubernetes — Discover how to perform Blue-Green deployments from scratch without Kubernetes, along with CI/CD integration, some Nginx, and the PM2 process manager.

Bikash Paneru and Dan Ackerson

The Gotcha of Unhandled Promise Rejections — A rough edge with promises that can sneak up on you. Jake looks at a ‘gotcha’ around unhandled promise rejections and how to work around them.

Jake Archibald

▶  Whiskey Web and Whatnot: Your New Favorite JavaScript Podcast

Whiskey Web and Whatnot sponsorpodcast

Send UDP Messages in Node Without dns.lookup

Herman J. Radtke III

🛠 Code & Tools

Glob 8.1: Match Files Using Shell-Style Patterns“Match files using the patterns the shell uses, like stars and stuff.” I still think this is the cutest logo of any Node project out there (if you disagree, hit reply and show us a cuter one).

Isaac Z. Schlueter

Prisma 4.9: Node + TypeScript Database Toolkit — The popular ORM adds initial support for database views and multi-schema support for SQL Server, amongst other minor things and bug fixes. A live ▶️ what’s new in Prisma session takes place on YouTube next Thursday.

Prisma

Let Us Help You Reduce Your Tech Debt. Let’s Modernize Your JS Stack — Need a reliable, cost-effective service agency to upgrade your dependencies? Contact UpgradeJS to reduce your tech debt.

UpgradeJS: A Productized Node.js Upgrade Service sponsor

node-html-to-image: Generate Images from HTML — Wraps around Puppeteer, but also lets you use Handlebars for added logic in your HTML.

Yvonnick Frin

Blockman: Highlight Nested Code Blocks in VS Code — If you’re working with deeply nested code, this could be handy as it provides a more visual way to see each nested block than VS Code’s usual pale lines. There’s a ▶️ one minute introductory video to convince you.

Levan Katsadze

Remix 1.10.0
↳ Full stack web framework.

Commander.js 10.0
↳ Command-line interfaces made easy.

Restify 11.0
↳ REST-oriented web service framework.

Postgraphile 4.13
↳ Spin up a GraphQL API for a Postgres database.

create-dmg 5.5
↳ Create good-looking DMGs for macOS apps.

file-type 18.2
↳ Detect the file type of a Buffer. Just added: Apache Parquet support.

node-mysql2 3.0 – Fast MySQL driver.

aws-lambda-fastify 3.2

Axios 1.2.3

💻 Jobs

Backend Engineer, TypeScript (Berlin / Remote) — Thousands of people love our product (see Trustpilot for yourself). Join the team behind it and help us scale. 🚀

Feather

Find Tech Jobs with Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It’s free for job-seekers.

Hired