View profile

Adventures in Nodeland - Issue #12

Matteo Collina
Matteo Collina
Hi Everyone! What happened in Nodeland this week? A few new releases, interesting discussions and new features in Fastify, Pino and Node.js!

Matteo Collina
Why I don’t like/use lockfiles for modules. A 🧵
In the above Twitter thread, I talk about a day in my life as a maintainer of more than 400 modules… it’s quite a different experience in our JavaScript ecosystem than most application developers are used to.
Good reads
The article I would like to highlight this week is a piece that was mentioned during one of our internal meetings at NearForm, on learning how “saying no” can prevent scope creep in our projects:
How to prevent scope creep when managing a project from home - Stack Overflow Blog
Fastify
Release v3.16.0 · fastify/fastify · GitHub
Last week I shipped v3.16.0, v3.16.1 and v3.16.2 in rapid succession. During the weekend, I shipped v3.17.0 to revert some changes that were breaking in a very subtle way… and to actually postpone them to v4. Read more at:
Revert sent refactoring by mcollina · Pull Request #3108 · fastify/fastify · GitHub
In the ecosystem, we also shipped a new release of fastify-jwt to avoid exposing the secret in the decorator: https://github.com/fastify/fastify-jwt/releases/tag/v3.0.0.
Pino
Last April I did the first sneak-peak of the new Pino transport system at the London “JS Monthly” meetup. If you are curious about how it all works together you can watch it here:
Multithreading in JavaScript - JS Monthly - April 2021
Multithreading in JavaScript - JS Monthly - April 2021
This week I did not spend much time developing [email protected], however, we have received a few great contributions from Igor Savin, in which he has started to add native typescript support to Pino and its dependents. Check it out:
I’m also extremely happy to share that Pino has been selected as the logging recommendation for Node.js applications by IBM and Red Hat.
IBM and Red Hat’s recommendations for logging in Node.js applications – IBM Developer
Node.js
There have been some very interesting discussions on Twitter about the drop in the performance of Node.js. Check out this fascinating thread from Bradley on a different point of view:
Bradley Farias
The issues around HTTP perf in Node are a great example of how static guaranteed behavior can be slower than runtime behavior. In this case Node made a lot of changes to avoid things like prototype pollution vectors (the most noisy thing on npm vuln dbs). \1
The most exciting piece of news of the week in Nodeland is the addition of a new, non-optimizing compiler to V8, called Sparkplug. This new compiler will get you a faster “cold start” performance. I can’t wait to test this out in Node.js - we will just need a few more weeks to ship V8 v9.1 in Node.js v16! In the meanwhile, read up the article:
Thanks
It’s a wrap! Next week I have a few days of vacation, so I might skip or produce a lighter edition if I see I do not have enough content, we’ll see!
Thanks for reading!
Did you enjoy this issue? Yes No
Matteo Collina
Matteo Collina @matteocollina

I write about my journey as a core contributor of Node.js, as an author and a maintainer of many modules - including Fastify and Pino. In addition, I speak at conferences, and I will add links to all my talks in case you missed one.

If you don't want these updates anymore, please unsubscribe here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Created with Revue by Twitter.