Adventures in Nodeland logo

Adventures in Nodeland

Subscribe
Archives
July 10, 2023

Releasing modules on stage at JSNation, What I learned using Postman Collections, Pairing ChatGPT with Platformatic, and other Adventures in Nodeland

Hi Folks,

A lot happened in the last few weeks! This edition of Adventures in Nodeland includes three talks I delivered in the latest spring 2023 season, the recordings of two live streams, many releases, two articles I have authored, and many interesting articles I've read that I have found very useful.

Talks

In this talk that Luca Maraschi and I delivered last June at JSNation, we explore the story of backend APIs and the good and bad of every generation of technologies. We also launched a few new things, doing a live release on stage! Watch the end of the video; you can't miss it. It starts at 20:48: portal.gitnation.org/contents/apis-are-evolving-again.

At JSNation, I also delivered my "I would never use an ORM" talk, which might be its last outing. Check out the latest recording at: portal.gitnation.org/contents/i-would-never-use-an-orm.

How would you build a backend in 2023? Let me demo to you how you could do that with Platformatic: youtu.be/5wG2fy0Xe0A. It's pretty amazing!

Live Streams

In the 19th of June live stream, we integrated GitHub authentication with Fastify and Platformatic via the @fastify/oauth2 module. We also talked about the new fastify.dev website and many other things! Watch it at youtu.be/Qtw_BTTqCjU

In the 22nd of June live stream, we explored how to use the new Platformatic fetch client: youtu.be/yFAGI0IZ-BY.

Platformatic Improvements

Last week I shipped Platformatic v0.29.0, which packs several improvements:

  • it adds support for compiling TypeScript for production;
  • it makes the Platformatic Client runtime aware;
  • it allows for customization of the composed APIs;
  • it adds to Platformatic DB the capability to generate custom SQL and connection strings generator for MySQL, MariaDB, and PostgreSQL.

Read the full release notes on the Platformatic Blog.

Releases

  • @fastify/aws-lambda v3.3.0 introduces the retainState option.
  • fastify-undici-dispatcher v0.4.2 uses res.rawPayload instead of res.body.
  • @fastify/error v3.3.0 reduces the overhead of creating an Error by 20%.
  • @fastify/jwt v7.1.0 adds the ability to only verify tokens and not sign them. v7.2.0 uncoditionally decorates the server with jwtDecode.
  • pino-std-serializers v6.2.2 adds params and query to ts definition.
  • @fastify/helment v11.0.0 bumps helmet to v7.0.0.
  • @fastify/swagger-ui v1.9.1 updates swagger-ui to v5.1.0. v1.9.2 fixes a problem with Jest.
  • clinic v13.0.0 drops support for Node.js v14.
  • @fastify/view v8.0.0 bumps Eta support to v3.0.0.
  • fastify v4.19.0 adds the ability to narrow the types based on status code, adds "hot fix" to a memory leak in Node.js core, and many other fixes. v4.19.1 is a hot fix for a typescript regression. v4.19.2 fixes a few regression on types and close.
  • @fastify/oauth2 v7.2.0 This release fixes CVE-2023-31999 GHSA-g8x5-p9qc-cf95, it changes the default behavior to store the OAuth2 state in a cookie with the http-only and same-site=lax attributes set; the state is now by default generated for every user; note that this contains a breaking change in the checkStateFunction function, which now accepts the full Request object. v7.2.1 fixes the inevitable regression.
  • @fastify/session v10.3.1 make isModified return false when manually persisting the session. v10.4.0 makes sure to set cookie on manual session saves.
  • @fastify/response-validation v2.4.0 allows developers to pass in ajv instance.
  • @fastify/swagger v8.7.0 adds route, openapi and swagger objects to transform. v8.8.0 adds a transformObject hook.
  • @matteo.collina/sqlite-pool v0.2.0 ships with better-sqlite3 v8 and supports Node.js v20. [v0.3.0])https://github.com/mcollina/sqlite-pool/releases/tag/v0.3.0) changes the API to use a named export and adds an onQuery option to log queries.

Articles

  • How to Create a Postman Collection From Your Platformatic API
  • Use ChatGPT and Platformatic to Build Your API in No Time
  • The massive bug at the heart of the npm ecosystem
  • Why I enjoy PostgreSQL - Infrastructure Engineer's Perspective
  • Interview with Matteo Collina - Packt Partnerships
  • Setting Expectations for the Node.js Test Runner
  • Avoid Fastify's reply.raw and reply.hijack Despite Being A Powerful HTTP Streams Tool
  • HTML is all you need to make a website - Salma Alam-Naylor
  • LiteFS Cloud: Distributed SQLite with Managed Backups
  • Privilege Escalation Inside Your CI/CD Pipeline
  • An Introduction to Command Injection Vulnerabilities in Node.js and JavaScript
Don't miss what's next. Subscribe to Adventures in Nodeland:
GitHub X YouTube LinkedIn