January 17, 2022
GraphQL Cache invalidations, HorseJS, Pino and other in Nodeland - Issue #43 - You can now sponsor me on GitHub sponsors!
Hi Everyone, this edition covers a couple of personal milestones for me: being cited by HorseJS and opening up my GitHub sponsor account. We also include several releases ranging from Mercurius Cache to Pino.
My biggest milestone of this week is that… I been “horsed”! I’m so proud about it and it shows my greatest commitment to the JavaScript community in these years.
I decided to open up GitHub Sponsors because while a lot of my OSS is funded by @NearForm, I very often receive requests for bug fixes etc from people/companies that for different reasons cannot hire NearForm and yet they cannot fix bugs themselves.
GitHub is where people build software. More than 73 million people use GitHub to discover, fork, and contribute to over 200 million projects.
|
This week marks a massive milestone for Mercurius. The cache plugin now support invalidations both for local memory and Redis. This feature has been result of the collaboration between Simone Sanfratello and myself
|
Contribute to mercurius-js/cache development by creating an account on GitHub.
|
|
Contribute to mercurius-js/cache development by creating an account on GitHub.
|
You can read more about it in the long PR that implemented it for the mercurius-cache module.
How does the cache works? The “magic” is all encapsulated in the async-cache-dedupe module. You can use it standalone and add it to your REST APIs too. Check out the PR that implemented invalidations to learn more of our tradeoffs.
|
update cache to use storage and invalidation features from async-cache-dedupe
also refactored report to its own lib file
|
|
update cache to use storage and invalidation features from async-cache-dedupe
also refactored report to its own lib file
|
..as well as learning how this was implemented generically for the async-cache-dedupe module.
Finally get
|
Use of an external storage, with optional invalidation
|
|
Use of an external storage, with optional invalidation
|
We also shipped a new release of Pino to fix a race condition during the start up phase that lead to the loss of a few lines. Specifically we did not close the ThreadStream if it was not ready yet.
|
Fixes pinojs/pino-pretty#290
|
|
Fixes pinojs/pino-pretty#290
|
|
🌲 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.
|
During last week we exposed a way to let our pino users create files with different permission modes.
|
|
|
|
Solving this problem (and writing tests for it) was quite a deep dive on the Unix permission system. It’s very important to know what a umask is and this article on Askubuntu was really on the spot:
|
On January 10th there has been a new release of Node.js core. This release include a few critical fixes to how we validate X509 certificates (TLS). It’s really import that you upgrade your Node.js version.
Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine.
|
Have you ever had to solve a performance issue with Node.js? If so you probably had to use one of our diagnostics tool. The Node.js project is trying to model the user journey of a user just like yourself. Could you help us by filling our survey?
|
This issue aims to track the remaining tutorials under documentation folder. The #439 contains the documents created in the WG Deep Dive and we are working to transpose them into live documents. Abnormal Termination Using exit stack trac…
|
|
This issue aims to track the remaining tutorials under documentation folder. The #439 contains the documents created in the WG Deep Dive and we are working to transpose them into live documents. Abnormal Termination Using exit stack trac…
|
Benjamin is adding quite a lot of methods to Readable to greatly simplify the stream consumption, check them out:
|
This is very much work in progress when meeting @ronag at NodeTLV.
This is based on the ongoing standards work in https://github.com/tc39/proposal-iterator-helpers in order to make Node.js more compatible with the language in the future.
In addition, people often really just want to map a stream and this provides a simpler API than compose or pipeline for simple cases.
This is still missing docs, I want to bikeshed the API and see we have consensus first.
|
|
This is very much work in progress when meeting @ronag at NodeTLV.
This is based on the ongoing standards work in https://github.com/tc39/proposal-iterator-helpers in order to make Node.js more compatible with the language in the future.
In addition, people often really just want to map a stream and this provides a simpler API than compose or pipeline for simple cases.
This is still missing docs, I want to bikeshed the API and see we have consensus first.
|
|
This continues the work in #40815 to make streams compatible with upcoming ECMAScript language features. It adds an experimental filter api to streams and tests/docs for it. See https://github.com/tc39/proposal-iterator-helpers/
|
|
This continues the work in #40815 to make streams compatible with upcoming ECMAScript language features. It adds an experimental filter api to streams and tests/docs for it. See https://github.com/tc39/proposal-iterator-helpers/
|
|
This is the next one in the series adding forEach from the iterator helpers proposal.
|
|
This is the next one in the series adding forEach from the iterator helpers proposal.
|
Over the holiday break we worked in updating the old “The Cost of Logging” I wrote in 2016 to the latest versions of our modules. Read up new article:
|
Logging is a crucial component of software development that can cause bottlenecks when handled incorrectly. Learn more about performant logging with Pino.
|
|
Logging is a crucial component of software development that can cause bottlenecks when handled incorrectly. Learn more about performant logging with Pino.
|
Following up from the previous write up from Moxie, read up Mikeal response:
TL;DR: ipfs users can breath a sigh of relief
|
Are you using the Undici http client? Have you ever tried to implement some mocking? Read up on our embedded mock implementation:
|
With Fusebit, quickly integrate your app to other SaaS applications using flexible code blocks, popular API connectors, and hosts your integrations at scale.
|
|
With Fusebit, quickly integrate your app to other SaaS applications using flexible code blocks, popular API connectors, and hosts your integrations at scale.
|