Shell-free scripting from Node
#478 — March 16, 2023
Shell-Free Scripts with Execa 7.1 — Execa is a popular process execution library for Node and the latest version includes an interesting $ method feature for writing zx-style scripts with it, making it even more useful for shell scripting style usecases.
Turbowatch: File Change Detector and Task Orchestrator — Not just that but it claims to be extremely fast and “if you ever wanted something like Nodemon but more capable, then you are at the right place.” This looks very promising and the README is full of examples.
Improve Login for Your Web Apps with Web Authentication APIs — Upgrade from basic passwords to new APIs like Credentials, WebAuthn API, and Passkeys to use FaceID and biometrics to make passwordless web apps!
Frontend Masters sponsor
Node v19.8 (Current) Released — Mostly a minor collection of changes, right down to commits adding trailing commas! Buffer gains a new copyBytesFrom method, fs.openAsBlob is introduced to support File-backed blobs, and a wide variety of dependencies get updates too (e.g. npm to 9.5.1), but there’s little of significant note in 19.8.0. ⚠️ Node v19.8.1 quickly followed to fix a regression that was causing apps to crash so be sure to install 19.8.1 and not 19.8.0.
GitHub’s dependency graph and Dependabot now support npm v9 generated package-lock.json files.
Silvestar Bistrović shares his favorite npm packages. There are a couple I hadn’t heard of before.
How Cloudflare Built an SEO Tool on Workers, D1, and Queues — It’s an open-source tool for monitoring new site content called Prospector. If you use Cloudflare’s serverless platform at all, though, you may be more interested in this post which explains just how such a tool came together, including their use of Hono, an Express-like framework targeting edge compute cases.
Kristian Freeman and Neal Kindschi (Cloudflare)
How to Debug Node Segmentation Faults — Normal execptions are one thing, but when you’re faced with something as cryptic as “segmentation fault (core dumped)”, what are you to do? Tim has some pointers.
Crunchy Bridge sponsor
🛠 Code & Tools
Voici.js 2.0: Library for Printing Data on the Terminal — Pretty printing in tabular form, to be precise. It’ll take care of column sizing, sorting, let you style rows and columns, etc. GitHub repo.
Introducing Mongoose 7: The MongoDB ODM for Node — Popular MongoDB modeling library Mongoose 7 landed a month ago and Valeri wants to show off a few of the updates (though it’s not a big feature packed release).
Dynaboard: A Visual Web App IDE Made for Developers — Build high performance public and private web applications in a collaborative — full-stack — development environment.
Drizzle: An ORM That Lets You Just Write SQL — Drizzle takes a middle of the road approach where not everything is abstracted away but there’s a bit more structure than just writing raw SQL queries. Type safety is the order of the day here too. GitHub repo.
Andrew Israel (PropelAuth)
MiniSearch: Small In-Memory Fulltext Search Engine for Browser and Node — The strength of this solution is that the data from which it fetches is stored locally, thus allowing it to work offline and has good performance.
Find My Way: Fast HTTP Router That Uses Radix Trees — We first linked this many years ago but the author reached out to us and it continues to be updated. (If you’re a Fastify or Restify user, you’re already using it!)
Tomas Della Vedova
Software Engineer (Backend) — Join our “kick ass” team. Our software team operates from 17 countries and we’re always looking for more exceptional engineers.
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.
↳ Popular Node production process manager.
↳ Library to interact with the Discord chat API.
↳ Execute something on a schedule.
↳ Testing framework for browsers and Node.
↳ It’s Java + V8.
Lambda API 1.0.1
↳ Web framework for serverless apps.
↳ Postgres-backed Node background job system.
↳ Node.js-based forum software.