Thursday, 4 February, 2021 UTC


Summary

#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