View profile

Fastify has 91% developer satisfaction and others Adventures in Nodeland - Issue #48

Matteo Collina
Matteo Collina
Hi Folks, here is another edition of Adventures in Nodeland packed with great news and new releases. The biggest news is that Fastify has 91% developer satisfaction according to the State of JS survey. I find this result quite impressive - thank all of you for the support! On the release front… I shipped Fastify v4.0.0-alpha.1 on Friday! As usual, let me know if you have any questions!

Matteo Collina
According to the State of JavaScript, @fastifyjs is the @nodejs backend framework with higher developer satisfaction. I'm extremely proud of what we achieved as a team.
Last Friday I merged the next branch of Fastify with the main branch, officially starting the v4 release cycle with v4.0.0-alpha.1. The pre-release is pretty low on release notes, plugin support and migration guides. However all breaking changes are there. We will cut a release candidate soon!
Release v4.0.0-alpha.1 · fastify/fastify · GitHub
Last week we also shipped a new version of fastify-reply-from that adds support for custom querystring functions:
Release v6.5.0 · fastify/fastify-reply-from · GitHub
Fastify does not allow to redefine routes at runtime. This causes a challenge to use Fastify as the basis of any software that needs to do so when reacting on a configuration change. I have created a new library called @fastify/restartable that wraps Fastify and allow you to reload a fastify instance in the same process. Here is a simple example:
@fastify/restartable in action
@fastify/restartable in action
Mercurius Federation Gateway continues to improve. You should try the new release:
Release v9.3.2 · mercurius-js/mercurius · GitHub
One of my teams at NearForm keep finding edge cases that are not handled by Mercurius gateway, in this case the support for value types in top-level resolvers. I have a good grip on how federation work and fixing its problems, so this time it was not an impossible bug.
Manuel fixed an important bug on top of the previous fixes to handle empty arrays or null references.
fix: gateway empty types by Eomm · Pull Request #733 · mercurius-js/mercurius · GitHub
Pino v7.8.0 was released last week with a few fixes and a new feature: mixinMergeStrategy. Check it out
Release v7.8.0 · pinojs/pino · GitHub
Check out v6.14.0 that adds the mixinMergeStrategy to the LTS line too:
Release v6.14.0 · pinojs/pino · GitHub
One of the reason I build Open Source software is to improve the lives of the developers around the globe. Therefore I couldn’t have added the following article to my newsletter:
Building for the 99% Developers
After a couple of months from the previous release of express v4, we can see more movement on express that is now progressing in the release of v5 with the first beta release!
Release 5.0.0-beta.1 · expressjs/express · GitHub
Should you use REST? or maybe GraphQL? What is simpler and guarantee you the best time to market?
I often find myself in situations where I have to design a migration from a legacy system to a fresh, modern one.. Here is a detailed guide:
Gergely Orosz
"How can we do migrations better?"

I'm writing about this. The same toolset that allows for large migrations to be done as zero-downtime is a toolset that helps almost every migration.

My thoughts so far. Anything else you see missing?
I find the trend of specifying the types in modules using JSDoc instead of writing them in TypeScript from the get-go quite fascinating. It combines great user experience for users while retaining the full flexibility of JavaScript when implementing things. Wdyt? Would you use them?
How to add JSDoc Typechecking to SvelteKit
Do you like Markdown? I do! However quite a few startups are replacing it with their custom, post-markdown, proprietary format to be able to support more use cases. Check out this article from the smashing magazine.
Thoughts On Markdown — Smashing Magazine
I’m a huge proponent of the micro frontends approach… so I couldn’t link this article from Auth0 describing how they set it up!
Micro Frontends with Angular, Module Federation, and Auth0
How does twitter servers logs? What are the complexities involved? In the following article you would learn how hard logging at scale can be. Check it out:
Logging at Twitter: Updated
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.

In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Created with Revue by Twitter.