22 billions of npm downloads in 2023 and other Adventures in Nodeland
Happy new year folks! This is our first edition of 2024, and I expect to deliver one of this to you every month or so. This edition includes a full celebration of last year, including most of my talks and key videos. There are also a ton of releases that happened in December and over the break.
22 Billions of Downloads in 2023
Modules I maintain have been downloaded 22 billion times last year. Would you like to sponsor some of my work?
You can sponsor my Open Source work on my GitHub Sponsor page.
Last Year Top Videos Recap
In "How to make your Node.js API 5x faster!" I show how to use https://github.com/mcollina/async-cache-dedupe to make Platformatic db 5x faster! Bonus point: you can use this technique as well.
Watch "Type-Safe Fastify" to learn about Fastify type safe system!
Do you think EventEmitter
is an easy API to master? It's a tricky one! Watch "Why you should not mix Promises and events".
Configuration is one of biggest pain points. Watch NODE_ENV=development is a lie to learn more.
Learn how not to thrash the Node.js event loop.
Finally, learn how to generate types in the simplest way.
Releases
- pino-pretty v10.3.0 updates dependencies, v10.3.1 adds build function export in type define file.
- Pino v8.17.1 fixes a regression in the types.
- @fastify/websocket v8.3.0 update the types to support Fastify v4.25.0.
- pino-http fix type variable for Logger.
- @fastify/cors v8.5.0 reverts a bad fix
- readable-stream v4.5.0 update to Node.js 18.19.0
- @fastify/etag v5.1.0 adds an option to disable automatic 304 responses.
- fastify-user v0.3.2
- fastify v4.25.2 fixes a regression that made response payload not being consumed when returning a 204.
- @fastify/websocket v8.3.1 fix types
- @fastify/throttle v2.0.1 fix for invalid hook function head.
- @fastify/funky v3.1.0 makes types work with latest fastify
- find-my-way v8.0.0 adds the
useSemicolonDelimter
option, setting it by default tofalse
. v8.1.0 return route params on findRoute. - @fastify/restartable v2.2.0 supports synchronous hooks.
- @mercurius/gateway v8.2.0 adds export of
defaultErrorFormatter
andFederatedError
as it now differs frommercurius
. - @fastify/oauth2 v7.8.0 supports async
generateStateFunction
. - fast-json-stringify v5.9.2 consistently handle strings in array. v5.10.0 avoid a crash if a null is passed if an object was required.
- pino-http v9.0.0 includes
req.readableAborted
flag todefaultSuccessfulRequestMessageProvider
. - @fastify/bearer-auth v9.2.0 validate authorization schema. v9.2.1 improves performance and fixes a bug. v9.3.0 adds an option to skip the case sensitivity.
- @fastify/type-provider-typebox add support for typebox v0.32.
- @fastify/rate-limit v9.1.0 use a Map for the in-memory store.
- fastify-cli v6.0.0 drops support for old Node.js versions, and generates all new apps with the node:test framework instead of tap; v6.0.1 fixes generation of plugins.
- @fastify/request-context v5.1.0 added AsyncResource factory function option.
- @fastify/jwt v8.0.0 supports ignoring authorization headers if not
Bearer
. - sonic-boom v3.8.0 convert writingBuf to Buffer to compute the original string length.
- @fastify/reply-from add custom retry callback; v9.6.0 fixes a security vulnerability on JSON parsing that could lead to a bypass in security checks implemented on top of this module. v9.7.0 adds
retriesCount
property to the callback. - autocannon v7.15.0 allows only one host header.
- undici v6.3.0 adds support for NODE_DEBUG and several other bugfixes. @fastify/type-provider-json-schema-to-ts v3.0.0 updates to latest json-schema-to-ts and clearly document that strict mode is necessary.
Articles
-
The $100,000 Astro Ecosystem Fund | Astro
Astro — the web framework for building content-driven websites like blogs, marketing, and e-commerce — is giving away $100,000 to support other open-source projects in our ecosystem that improve the lives of Astro users everywhere, every day.
- Support for Dual Package Publish | Serverless Adapter
- React Server Components: the Good, the Bad, and the Ugly
- LLMs and Programming in the first days of 2024 -
- Improving Node.js loader performance
- Fast Buffer-to-String conversion in JavaScript with a Lookup Table
- Upgrading GitHub.com to MySQL 8.0
- Avoid Fastify's reply.raw and reply.hijack Despite Being A Powerful HTTP Streams Tool
- Looking For a Job As an Open Source Maintainer
Upcoming Node.js Masterclass
In Platformatic's next masterclass, I'll be discussing:
- Fastify's inception
- The shift from framework-centric approaches to holistic platform solutions
- Using Platformatic with Fastify
Register through our form.