#​488 — May 30, 2023

Read on the Web

Together with  Temporal logo
Node.js Weekly

▶  'I Tried 8 Different Postgres ORMs' — A modern, fast-paced, and slightly irreverent meme-heavy look at the various ways in which you can interact with Postgres (provided serverless by Neon, in this case) from a backend JavaScript app. It’s pretty neat as whirlwind tours go. (9 minutes.)

Beyond Fireship

🐘 And if you're a Postgres user, we have a newsletter for that!

Advanced Fastify: Hooks, Middleware, and DecoratorsFastify is an increasingly common alternative to Express (more on why here). Damilola looks at some higher level Fastify concepts here, as well as how you might incrementally migrate from Express to Fastify.

Damilola Olatunji

Temporal 101 Course in TypeScript — Learn Temporal's open source key concepts and best practices with our free self-paced training course in TypeScript.

Temporal Technologies sponsor

Color Names: A Gigantic List of Handpicked Color Names — At first, I thought this was just going to be a hundred or so obvious choices like the named colors in HTML (💜 rebeccapurple) but it’s actually 30126 colors with a delightful array of names and uses. There’s more to this project than meets the eye.

David Aerne

IN BRIEF:

Deploying Vanilla Node.js Apps on Fly.io — Actually titled “Vanilla with Candy Sprinkles”, this post covers the basics of using Fly’s next-gen hosting platform to quickly deploy Node apps (we have no affiliation with Fly but use it for some internal apps – it’s pretty good).

Sam Ruby (Fly)

▶  Building a RESTful API with Fastify, MongoDB and Mongoose — A substantial first part of a promised series of videos, along with the code.

Kevin Cunningham

🛠 Code & Tools

Bebop 2.7: Fast, Typesafe Binary Serialization — Schema-based, typesafe, binary serialization and code generation that supports numerous languages, including TypeScript. Has a built in REPL for playing with the code generation which has had some big improvements in this release. (Its homepage has a neat bit of ASCII art.)

Betwixt Labs

Got 13: A Powerful HTTP Request Library for Node — A popular HTTP request library. v13 requires Node 16 and makes Unix socket support off by default.

Sindre Sorhus

🚀 Need to Upgrade React Native from V0.59 to V0.71? We Can Help 🚀 — Read the full case study on our bold upgrade strategy (regenerating the ReactNative project) to reduce tech debt.

UpgradeJS | JS Upgrade Services sponsor

node-oracledb 6.0: A Pure JS Oracle Database Driver — A major release for the Oracle Database driver which can now be used in ‘thin’ and ‘thick’ modes providing either the essentials or the full fat Coke version (which requires some extra Oracle client libraries to be installed).

Sharad Chandran

Migrate 2.0: An Abstract Migrations Framework — Provides a simple mechanism around working with migrations without enforcing any particular database or system.

TJ Holowaychuk

axios-token-manager: Manage the Caching of Axios Tokens — For managing the caching of auth tokens for specified validity periods as well as refreshing or recovering them transparently (such as when the backend has revoked a token before its period has expired.)

Mickey Puri

💻 Jobs

Find Tech Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.
Hired

CSV Parse: Convert CSV Text into Arrays / Objects — Extends the native Node.js transform stream API so you can get up and running quickly – see some example code. Part of a suite of CSV libraries that can also generate and transform CSV more generally.

Adaltas

Jest Puppeteer 9.0: Run Tests using Jest and Puppeteer — A Jest preset enabling end-to-end testing with Puppeteer.

Argos CI

sequelize-paranoid-delete: onDelete for Sequelize Paranoid Mode — It sounds like a Radiohead song title, but actually enables onDelete when using paranoid mode with Sequelize. (Paranoid mode is an option where rows are not truly deleted but marked as deleted.)

Nico Gallinal

node-xlsx: An Excel File Parser and Builder
Olivier Louvignes