September 27, 2021
Too many Fastify releases and other Adventures in Nodeland - Issue #28
Hi Everyone,
What happen in Nodeland last week? Plenty! I’m currently very busy on Pino, NodeConf, a few Node.js improvements and a few Fastify releases as I botched a change a couple of weeks ago. Interested? Read through!
Only 3 weeks to NodeConf! Are you ready? Sign up, it’s going to be amazing!
|
NodeConf Remote brings speakers and devs from across the globe together for 4 full days of talks and workshops centred around the Node.js framework.
|
|
NodeConf Remote brings speakers and devs from across the globe together for 4 full days of talks and workshops centred around the Node.js framework.
|
We recently shipped a new release of Undici to fix a few outstanding issues and introduce support for diagnostics_channel. This new feature will underpin how Application Performance Management (APM) software will instrument Undici without the need of monkeypatching:
|
An HTTP/1.1 client, written from scratch for Node.js - Release v4.7.0 · nodejs/undici
|
|
An HTTP/1.1 client, written from scratch for Node.js - Release v4.7.0 · nodejs/undici
|
If you are interested about Node.js streams, read this issue as it clarifies a few interesting points:
|
Version 16.4.2 Platform Windows 10 Subsystem No response What steps will reproduce the bug? I am reading specific lengths of data off the readable queue. I check the readableLength to determine how much data I can read. However, there ar…
|
|
Version 16.4.2 Platform Windows 10 Subsystem No response What steps will reproduce the bug? I am reading specific lengths of data off the readable queue. I check the readableLength to determine how much data I can read. However, there ar…
|
We keep pursuing the release of Pino@7.0.0 and we are relatively close to finalize the release. There was some good activity on sonic-boom, making it more solid and easier to control the memory used for buffering.
|
|
|
|
|
Add a synchronous callback for when we encounter EAGAIN errors. The function must return true or false to inform sonic-boom if it should continue retrying or if it should bubble up the error it encounters.
|
|
Add a synchronous callback for when we encounter EAGAIN errors. The function must return true or false to inform sonic-boom if it should continue retrying or if it should bubble up the error it encounters.
|
On the pino front, there has been an interesting discussion on dropped logs in certain condition when using the new transport features. However without a clear way to reproduce it is hard to know if we ever fix it…
|
|
|
|
…anyway I did my best attempt with the following PR. The problem was quite interesting and due to an old wart of Node.js streams when they are piped into each other. Luckily in this case I could just remove it:
|
I have been investigating #1138 for dropped logs, and I found some during process shutdown. Specifically, it is due to the Transform stream emitting close while the destination was still shutting down.
We would need some better mechanism to signal pino “the whole pipeline has been shutdown”.
|
|
I have been investigating #1138 for dropped logs, and I found some during process shutdown. Specifically, it is due to the Transform stream emitting close while the destination was still shutting down.
We would need some better mechanism to signal pino “the whole pipeline has been shutdown”.
|
My sequence of botched Fastify releases continued. Last week I ended up releasing Fastify v3.21.4, .5 and .6 to finally fix all the regressions introduced by a seemingly innocuous fix. I’m afraid we need to integrate some regression testing on as many official plugins we can muster soon, similar to what Node.js does with its CITGM project.
|
|
|
|
|
|
As you probably know, I’m not a fan of Jest. However many of you are and this blog post is going to be very helpful on how to integrate it with Fastify.
Proof of concept to test a Fastify App which uses asynchronous plugins.
|
How would you write an OAuth 2.0 authorization server with Fastify? You don’t, because it is already implemented for you by Jason:
|
A standards compliant implementation of an OAuth 2.0 authorization server for Node that utilizes JWT and Proof Key for Code Exchange (PKCE), written in TypeScript. - Release v2.0.0 Fastify! · jasonraimondi/ts-oauth2-server
|
|
A standards compliant implementation of an OAuth 2.0 authorization server for Node that utilizes JWT and Proof Key for Code Exchange (PKCE), written in TypeScript. - Release v2.0.0 Fastify! · jasonraimondi/ts-oauth2-server
|
Do you think that Rust is the future of JavaScript? The team at Rome bets on this.
For the JavaScript and Web communities, these responsibilities have often been split between many different tools, which causes everyone to implement the same things in slightly different ways over and over.
|
As part of my new role of Chief Software Architect I will have to oversee all of the Developer Relations activities that we do at NearForm. How do you measure them? Check out this article by swyx:
|
DevRel is hot but nobody knows how to measure it. That’s because we don’t agree on what effective DevRel is, and we don’t agree on the tradeoffs of lagging vs leading metrics for a creative, unattributable, intimately human endeavor.
|
|
DevRel is hot but nobody knows how to measure it. That’s because we don’t agree on what effective DevRel is, and we don’t agree on the tradeoffs of lagging vs leading metrics for a creative, unattributable, intimately human endeavor.
|
As you might know, I’m incredibly interested in GraphQL-based architecture for the enterprise. Check out this article about how IMDB implemented theirs:
|
This post is written by Krzysztof Lis, Senior Software Development Engineer, IMDb. IMDb is the world’s most popular source for movie, TV, and celebrity content. It deals with a complex business domain including movies, shows, celebrities, industry professionals, events, and a distributed ownership model.
|
|
This post is written by Krzysztof Lis, Senior Software Development Engineer, IMDb. IMDb is the world’s most popular source for movie, TV, and celebrity content. It deals with a complex business domain including movies, shows, celebrities, industry professionals, events, and a distributed ownership model.
|
Last weekend I was scrolling twitter and my eyes stumbled on this article about parenthood: I feel I’m significantly more at the risk of burnout than before. Read up the story of Elena, there is much we could be better at:
I work in tech, I’m a parent, and I’m struggling with burnout. If I’m honest, I’ve been running on fumes for a while. But there were enough milestones along the way to keep chasing that next moment of reprieve.
|