Adventures in Nodeland logo

Adventures in Nodeland

Subscribe
Archives
May 31, 2021

Adventures in Nodeland - Issue #12

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

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
How to prevent scope creep when managing a project from home - Stack Overflow Blog
When unexpected changes are requested during the development process, your final product may be a lot more complicated than what your spec originally called for. This phenomenon is called “scope creep.” Add a fully remote team with thin work-life boundaries on top of that, and you’ve got problems.
stackoverflow.blog

Fastify

Release v3.16.0 · fastify/fastify · GitHub
Release v3.16.0 · fastify/fastify · GitHub
This new version include several improvements and new features, check it out!
github.com
Release v3.16.0 · fastify/fastify · GitHub
Release v3.16.0 · fastify/fastify · GitHub
This new version include several improvements and new features, check it out!
github.com

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
Revert sent refactoring by mcollina · Pull Request #3108 · fastify/fastify · GitHub
Fixes #3107 Checklist
run npm run test and npm run benchmark commit message and code follows the Developer’s Certification of Origin and the Code of conduct
github.com

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 Pino@7, 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:

Add TS types by kibertoad · Pull Request #913 · pinojs/pino · GitHub
Add TS types by kibertoad · Pull Request #913 · pinojs/pino · GitHub
fixes #910
github.com
Add TS types by kibertoad · Pull Request #913 · pinojs/pino · GitHub
Add TS types by kibertoad · Pull Request #913 · pinojs/pino · GitHub
fixes #910
github.com

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
IBM and Red Hat’s recommendations for logging in Node.js applications – IBM Developer
The Node.js Reference Architecture from Red Hat and IBM recommends using Pino for logging in Node.js applications. Learn what logging practices the team recommends and why they chose Pino as an ideal choice.
developer.ibm.com

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:

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:

Sparkplug — A non-optimizing JavaScript compiler · V8
In V8 v9.1 we’re improving V8 performance by 5-15% with Sparkplug: a new, non-optimizing JavaScript compiler.
v8.dev

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!

Don't miss what's next. Subscribe to Adventures in Nodeland:
GitHub X YouTube LinkedIn