The ten top Node Weekly links of 2023
#515 — December 19, 2023
The Best of Node Weekly in 2023
It’s the final issue of the year, so in our usual tradition, we’re revisiting 2023’s most popular items. There’s sure to be a few that escaped your attention or you’ve since forgotten about, so enjoy! We’ve also included a handful of fresh news items at the end of the issue. 😁
We’re back on January 9, 2024 — we hope you have a happy holiday season.
____
Peter Cooper, your editor
1: The Node.js Best Practices List: 2023 Edition — This long standing resource is valuable enough that it was in 2022’s ‘best of’ too 😉 Delightfully it was “modernized to 2023 standards” with much work by creator Yoni and a growing team of contributors. The topics remained the same, though, covering areas like code style, project architecture, and taking apps to production.
Yoni Goldberg et al.
2: The 12 Most Popular Node.js Frameworks in 2023 — The data came from surveys, GitHub stars, plus some gut feelings, but it was a well put together summarized list of frameworks of the moment.
Alex Ivanovs
AppSignal Has Levelled Up — When bits hit the fan, you need a reliable APM by your side. With AppSignal, you get a 360° overview of your app, and our latest improvements will help you identify issues even faster.
AppSignal sponsor
3: Nut.js: Use Node.js for Desktop Automation — Take control of your desktop environment (Windows, macOS or Linux) from code with control over keyboard and pointer, plus you get some image matching functionality too. (Note: It became a commercial product, but still has an open source core.)
Simon Hofmann
4: The State of Node.js Performance in 2023 — Node 20 was put through its paces against 18.16 and 16.20 with a few different benchmark suites running on EC2. It went into a lot of depth, but ultimately Node 20 is the champion.
Rafael Gonzaga
5: An Introduction to Debugging in Node — An informative primer on debugging, covering approaches like logging, IDE extensions that highlight potential problems, using the V8 inspector, and debugging via Chrome.
Craig Buckler
6: Fixing a Memory Leak in a Production Node App — Kent encountered some odd memory and CPU usage spikes in his app and had to figure out what was going on. This post walks through his journey, with plenty of side quests along the way, before discovering the root cause was where he least expected it..
Kent C Dodds
Product for Engineers: A Newsletter Helping Flex Your Product Muscle — Subscribe to get curated advice on building great products, lessons from PostHog, and best practices of top startups.
PostHog sponsor
7: Hands On with Node’s Built-In Test Runner — Node’s built-in test runner became stable with the release of Node 20 this year. Phil walked through its use with an easily understood and complete example.
Phil Nash
8: Testing the Dark Scenarios of Your Node App — Examples of less obvious, easy to forget, but nonetheless important, tests to have in your app or package. What happens when a service times out, code is mutating things it shouldn’t, or you have zombie processes milling around? These are some of the ‘dark scenarios’ you can be prepared for.
Yoni Goldberg and Raz Luvaton
9: qnm: A CLI Tool to Look Into node_modules — If you’ve ever gone into node_modules and been overwhelmed, this tool, supporting both npm and Yarn, lets you dig around with some guidance as to what is what. You can use fuzzy search to find specific things and also see which modules are using the most space.
Ran Yitzhaki
10: The Complexity of Building an Efficient Node Docker Image
Samuel Bodin
SOME ACTUAL NEWS:
The Deno team has unveiled an npm package to let you use Deno KV in Node too. (It’s their isomorphic client and platform-side key value store.)
Bun v1.0.18 was released with yet more Node.js compatibility improvements. The Bun project also has a goal for 2024: “Flip the default backend JavaScript runtime from Node.js to Bun.” 😬
Eleventy (aka 11ty) is a popular Node.js-based static site generator and the first v3 alpha release is out now and introduces ESM support.
You can now log in to multiple GitHub accounts with the CLI tool.
🐦 @npm_malware is a new Twitter/X account that tweets out information about malicious packages detected in the main npm registry ‘in real time.’ It’s powered by Socket.