#374 — February 4, 2021

Read on the Web

đź‘‹ Node Weekly has become curiously more difficult to curate over the past year as the ecosystem seems to have reached a plateau of maturity with fewer random proposals, libraries, or noteworthy events. This has its pros and cons, but means I appreciate any submissions you send in (hit reply to do this!) :-)

With that said, I've been improving our systems lately and have found quite a few neat code and tools projects this week so be sure to scroll down and check those out. Thanks for your continued support!
__
Peter Cooper, your editor

Node Weekly

npm 7 Now 'Generally Available' — It’s been in beta for quite some time but the final production release of npm 7 is now here. The new features and changes (which are reasonably minimal) were covered in last year’s presenting npm 7.0.0 post but include workspaces, automatically installing peer dependencies and an improved package lock format.

Brian Douglas

Node 14.x Runtime Now Available in AWS Lambda — The popular AWS Lambda serverless platform has supported Node since day one, and now they’ve introduced Node 14 support which introduces all the delights of V8 8.0 and 8.1 plus diagnostic reporting, and improved streams APIs.

Benjamin Smith (AWS)

Troubleshoot Node.js App Performance with Datadog APM — Inspect detailed flame graphs to identify bottlenecks, latency and other issues. Pivot seamlessly to related logs and metrics without switching tools for fast troubleshooting. Try Datadog APM free.

Datadog sponsor

Node v15.8.0 (Current) Released — npm gets updated to 7.5 (which introduces the npm diff command), the crypto package gains a pseudo-random prime generator and checker, and readline gets some tweaks.

Michaël Zasso

Awesome Node: Over 600 Curated Node Packages, Resources and Links — We link to this every year or so as it’s a truly definitive list of categorized Node resources and continues to be updated, pruned, and added to over time.

Sindre Sorhus

Node(Source) By the Numbers 2020 — The folks over at NodeSource have put together some numbers relating to the downloads they had of their NodeSource Node distribution in 2020, including what versions were most popular and where their users are.

Liz Parody (NodeSource)

đź’» Jobs

Node.js Developer at X-Team (Remote) — Join the most energizing community for developers and work on projects for Riot Games, FOX, Sony, Coinbase, and more.

X-Team

Find a Job Through 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

đź“— Tutorials and Stories

Don't Use Functions As Callbacks Unless They're Designed for It — A clever and nuanced point here. Callbacks can introduce added hidden complexity that can cause seemingly innocent code to break, so it pays to be careful.

Jake Archibald

Experimenting with Remote Debugging: Node.js Runtime Code Injection — A look at remote debugging in Node using the remote inspector interface and Chrome debug protocol to change a running process.

Vladimir de Turckheim

The Ultimate Guide to Cardinality for Observability

Lightstep sponsor

▶  Using Vue 3 with Electron to Build a Desktop App — A tightly edited 10-minute screencast that shows off the key parts in making a local file explorer with Vue and Electron without plodding through every single line of code.

Coding with Justin

Zero-Downtime Deploys with DigitalOcean, GitHub, and Docker — Uses a Node-based app to demonstrate the concept, although it could apply to anything else you can run with Docker.

Thomas Hunter II

▶  Deploying a Prisma App to Vercel and Setting Up Connection Pooling with PgBouncer
Daniel Norman

▶  How To Use TypeScript in a Node.js and Express Project
Catalin Pit

🛠 Code and Tools

Miss Piggy: A Test Runner for Puppeteer — Provides a simple layer of structure around using Puppeteer for testing Web sites. Mwah!

Krasimir Tsonev

Envalid 7.0: Environment Variable Validation — Ensure your program only runs when all of its environment dependencies are met. 7.0.0 is a major release with breaking changes – it’s also been rewritten in TypeScript and all runtime dependencies have been removed.

Aaron Franks

Release Please 10.0: A Release Automation Tool from Google — A Google API team project that automates CHANGELOG, GitHub release, and release PR generation for projects that use Conventional Commits style commit messages. semantic-release is a very similar tool with a slightly different approach if you want to compare.

Google APIs

Scout APM: A Node Developer’s Best Friend. Try Free for 14 Days — Streamline troubleshooting with real-time alerts & tracing logic that ties issues to source code. Plans from $39/month.

Scout APM sponsor

Introducing Sqlcommenter: An Open Source ORM Auto-Instrumentation Library — An open source library that enables ORMs to augment SQL statements before execution, with comments containing information about the code that caused its execution. Available for certain ORMs in Python, Java, Node.js and Ruby. GitHub repo.

Bala Chandrasekeran (Google Cloud)

eslint-config-auto: Automatically Configure ESLint Based on Project Dependencies — “Having got fed up of maintaining eslint configs on a range of projects, I’ve put together a meta config that inspects the dependencies listed package.json and then automatically configures itself with the most appropriate plugins using their recommend configs..”

David J. Bradshaw

pg-boss 5.1.0: Postgres + Node Job Queueing System — A job queue for background processing and reliable asynchronous execution. It uses Postgres specific features to guarantee safety.

Tim Jones

pg-anonymizer: Anonymized Data Dumping from Postgres — A Node.js-powered tool for taking anonymized exports of databases. Sensitive data is replaced with faked data of equivalent types.

Raphaël Huchet

The Official Dropbox API v2 SDK for JavaScript 9.0
Dropbox