January 24, 2022
Adventures in Nodeland - Issue #44
Hi Everyone! This edition includes a massive list of changes that have been worked on in the last weeks in Fastify and Pino. Thanks to our fantastic community, we have been able to ship all this work! This edition also feature a few articles covering OSS sustainability, Remix, and a few other very interesting takes. Enjoy!
This week I will be speaking at JS Poland about Fastify! Tune in at:
|
1 days - 1 tracks - 25 speakers - 1000+ developers
|
|
1 days - 1 tracks - 25 speakers - 1000+ developers
|
Next week I will be part of the GraphQL meetup hosted by Prisma, join up:
|
mar 1 feb 2022, 18:00: Tune in for the 25th edition of the GraphQL Berlin Meetup! 🤗 Connect with the GraphQL enthusiasts worldwide, get inspired by the talks, join the Q&A session and win prizes in t
|
|
mar 1 feb 2022, 18:00: Tune in for the 25th edition of the GraphQL Berlin Meetup! 🤗 Connect with the GraphQL enthusiasts worldwide, get inspired by the talks, join the Q&A session and win prizes in t
|
We have recently added the go-to guide for Prototype Poisoning to Fastify docs. This is an old article from Eran Hammer. It is a must read for all JS developers.
The following is an article written by Eran Hammer. It is reproduced here for posterity with permission. It has been reformatted from the original HTML source to Markdown source, but otherwise remains the same.
|
fastify-cli@2.15.0 include a new test helper that was developed by Manuel Spigolon. Check it out:
Compare 📚 PR: • chore(deps): bump fastify/github-action-merge-dependabot (#437)
|
As with every new releases, our users have found a significant regression in fast-json-stringify v3 (which will be part of Fastify v4): a memory leak due to some internal changes in Ajv. Fellow collaborator Mohamed Edrah diagnosed the problem and fixed it fairly quickly with a brilliant solution that also yield significant performance increase for that use case.
|
Checklist
run npm run test and npm run benchmark
tests and/or benchmarks are included
documentation is changed or added
commit message and code follows the Developer’s Certification of Origin
and the Code of conduct
Uses ajv.addSchema to load all validation schemas while building the code instead of serializing the schema to an object literal that is eventually passed ajv.validate.
Could fix the memory leak discussed in #379
|
|
Checklist
run npm run test and npm run benchmark
tests and/or benchmarks are included
documentation is changed or added
commit message and code follows the Developer’s Certification of Origin
and the Code of conduct
Uses ajv.addSchema to load all validation schemas while building the code instead of serializing the schema to an object literal that is eventually passed ajv.validate.
Could fix the memory leak discussed in #379
|
A few weeks ago, AWS shipped a new feature that enables Lamba Functions written in JavaScript to leverage the asynchronous initialization of ESM modules to massively reduce cold start for lambdas with provisioned capacity (-94%). Check it out:
|
|
|
|
Have you ever heard of Turborepo? It’s an all-in-one solution to reduce the install time of modules in monorepos. Interestingly, they were acquired by Vercel which made the client Open Source while there is a server counterpart that is so proprietary. Fastify collaborator Maksim recently built an open source version of it using your favorite framework… check it out!
|
This project is an open-source implementation of the .
|
|
This project is an open-source implementation of the .
|
Fastify v3.26.0 is out! We have a few new features, including a typescript regression fix, better support for the plugin names and many docs updates and other fixes.
|
|
|
|
Shortly after Fastify v3.26.0 was released, I realized I released too soon as the PR from James Sumners got finished. This change add a new option to Fastify to make the .close method automatically destroy all connected sockets. This behavior is very useful because it allows a very quick shutdown of the server. It’s not enabled by default because it introduces some overhead when in use. Check it out:
|
|
|
|
This new feature was then released as the only change in v3.27.0. Integers are cheap, so I just released a new minor version straight away. You can safely skip v3.26.0.
|
|
|
|
Following up on a huge demand from Jest users, we added a sync flag to pino-pretty so it could be configured to make all its logging synchronous. Why it benefits Jest? Because it tracks all open handles and any asynchronous logging would result in a warning ⚠️. Enjoy!
|
|
|
|
We shipped the above new feature together with the additional prettifiers metadata https://github.com/pinojs/pino-pretty/pull/283 and many others
|
🌲Basic prettifier for Pino log lines. Contribute to pinojs/pino-pretty development by creating an account on GitHub.
|
|
🌲Basic prettifier for Pino log lines. Contribute to pinojs/pino-pretty development by creating an account on GitHub.
|
We
|
🌲Basic prettifier for Pino log lines. Contribute to pinojs/pino-pretty development by creating an account on GitHub.
|
|
🌲Basic prettifier for Pino log lines. Contribute to pinojs/pino-pretty development by creating an account on GitHub.
|
I shipped a new release of thread-stream - the utility that pino uses to implement fast, cross thread streaming. This new version fixes a bug when used in conjunction with Yarn PnP.
|
A streaming way to send data to a Node.js Worker Thread - Release v0.13.1 · pinojs/thread-stream
|
|
A streaming way to send data to a Node.js Worker Thread - Release v0.13.1 · pinojs/thread-stream
|
We shipped a release of the standard pino serializers to support the new AggregateError that are now part of JavaScript. Check it out!
|
🌲 A list of standard object serializers for the Pino logger - Release v5.1.0 · pinojs/pino-std-serializers
|
|
🌲 A list of standard object serializers for the Pino logger - Release v5.1.0 · pinojs/pino-std-serializers
|
We shipped a new fix about the caller recognition in pino that improves the reusability of transport modules, check it out:
|
🌲 super fast, all natural json logger. Contribute to pinojs/pino development by creating an account on GitHub.
|
|
🌲 super fast, all natural json logger. Contribute to pinojs/pino development by creating an account on GitHub.
|
We also shipped a new version of pino-http that implement access to custom properties in the response:
|
🌲 high-speed HTTP logger for Node.js. Contribute to pinojs/pino-http development by creating an account on GitHub.
|
|
🌲 high-speed HTTP logger for Node.js. Contribute to pinojs/pino-http development by creating an account on GitHub.
|
Last but not least, we landed a change adding multi wildcard support to fast-redact, the library that pino uses to perform data redaction (it’s critical for managing private data according to the various laws). Enjoy:
|
First - thanks for all the efforts already put in this project and also the PR with I`am picking up! 2nd - I hope I have picked up the prior work correctly, please tell me if I take a wrong path here. (Followed the suggested manual: https://gist.github.com/jsumners/461ef7a64545108635cc437fde112721) I´ve worked on finishing the multi-wildcard feature #36 with the missing test-coverage. hope we can bring this feature to life!
|
|
First - thanks for all the efforts already put in this project and also the PR with I`am picking up! 2nd - I hope I have picked up the prior work correctly, please tell me if I take a wrong path here. (Followed the suggested manual: https://gist.github.com/jsumners/461ef7a64545108635cc437fde112721) I´ve worked on finishing the multi-wildcard feature #36 with the missing test-coverage. hope we can bring this feature to life!
|
Read up this twitter thread from my friend Bryan English on tracking asynchronous context through multiple libraries:
Another very interesting twitter thread is from Tobie, take a look at his opinion on Color.js and Faker.js.
What does have the maintainer of CURL to say about OSS sustainability? Daniel maintains a very important piece of the ecosystem.
|
The well-known log4j security vulnerability of December 2021 triggered a lot of renewed discussions around software supply chain security, and sometimes it has also been said to be an Open Source related issue.
|
|
The well-known log4j security vulnerability of December 2021 triggered a lot of renewed discussions around software supply chain security, and sometimes it has also been said to be an Open Source related issue.
|
If you have not heard about Remix, it’s a new React metaframework that is taking over all the buzz in the JS world. Here is a long comparison with Next.js. Read up:
|
Easily the biggest question we get asked is something like: How is Remix different from Next.js?
|
|
Easily the biggest question we get asked is something like: How is Remix different from Next.js?
|
If you are a leader in a technology organisation, you should read this must-read article on how to integrate technology and business. This is the most important part of the article. Enjoy
Honeycomb has a reputation for being a very engineering-driven company. No surprise there, since it was founded by two engineers and our mission involves building an engineering product for other engineers.
|
Want to learn how Amazon sped up the latency of their e-commerce platform, improving sales? Follow this twitter feed: