#​503 — September 26, 2023

Read on the Web

Together with  Memetria
Node.js Weekly

Speeding up the JavaScript Ecosystem: Polyfills Gone Rogue? — Marvin has been on a mission to speed up popular libraries – first blogging about speeding up the JS ecosystem, one library at a time last year. Earlier this year he tackled npm scripts, and now he’s looking at the role of ‘unnecessary polyfills’ play in making node_modules folders so large. There are two sides to every story, though, as this Hacker News thread dug into.

Marvin Hagemeister

GitHub Actions Could Be So Much BetterGitHub Actions provides a fantastic and useful service, but the developer experience leaves a lot to be desired, particularly when debugging them. If you’ve been frustrated with figuring out Action and setting up your own workflows, you’ll find a lot to nod along to here.

William Woodruff

Memetria: Secure, Scalable Redis 7 Hosting — High performance Redis hosting with large key tracking, detailed metrics, and a superior uptime record.

Memetria sponsor

Token Based Authentication with JWTs in Fastify — Learn how to build secure authentication systems with Fastify, JWT, and TypeScript with this guide. (BTW, there should be more posts about Fastify – if you write any yourself, send them in to us!)

Arif Imran

Why the Temporal API is Awesome — It’s still sat in stage 3 as a proposal, but the Temporal API aims to work around a lot of Date’s limitations without needing to rely on third-party libraries.

Taro Dragan

ASIDES:

  • Node's Fetch API support is going to be marked as stable but some folks have concerns over the move.

  • An update on GitHub Actions' plan to transition from Node 16 to Node 20. "Starting October 23rd, workflows containing actions running on Node 16 will display a warning to alert users about the upcoming migration."

  • Ampt, a spin-off of Serverless Framework, has gone into general availability as a serverless platform for running Node.js and full-stack JavaScript apps.

  • It doesn't officially 'launch' till tomorrow.. but a heads up to instant.dev which promises to be an interesting Postgres-focused Ruby on Rails-inspired ORM and migrations system for Node apps.

  • ▶️ A fantastic documentary about TypeScript went up on YouTube last week – it covers its full origin story, why Microsoft backed it, and features takes from many folks in the TypeScript and JavaScript space. Entertaining and educational.

JavaScript Minification Benchmarks — A frequently updated benchmark suite and results comparing the speed and quality of JavaScript minification approaches across a variety of tools including esbuild, Babel, Bun, SWC, and Uglify.

Hiroki Osame

Why to Build Test Data Factories with Prisma
Brian Vanderwal

NODE_ENV Considered Harmful
Colin J. Ihrig

🛠 Code & Tools

Gitify: GitHub Notifications From Your Menu Bar — If you get too many GitHub notifications, this utility aims to ‘tame’ them by collecting together said notifications into a single app for macOS, Windows and Linux. Built using Node and React as an Electron app. Is it open source? Of course.

Manos Konstantinidis

Release Please 16.0: A Release Automation Tool from Google — A Google API team project that automates CHANGELOG, GitHub release, and release PR generation for projects that use Conventional Commits style commit messages.

Google APIs

Fully Managed Postgres + Great Support — We love helping people Postgres. Build your database knowledge with responses tailored to your environment.

Crunchy Bridge sponsor

Envalid 8.0: Environment Variable Validation — Ensure your program only runs when all of its environment dependencies are met. 8.0 is technically a ‘minor bump’ in terms of features, but the types have been changed enough to warrant it.

Aaron Franks

RDB: A Database Agnostic ORM for Node — Around for many years, RDB nonetheless sits amongst a wide range of options, but the homepage includes lots of examples of its API, so it’s easy to see if its particular flavor is to your taste. It supports both JS and TypeScript, ESM and CJS. GitHub repo.

Lars-Erik Roald

Jazzer.js 2.0: Coverage-Guided, In-Process Fuzzing for Node — Instrumentation-powered mutation for the JavaScript ecosystem by way of libFuzzer. If you’re upgrading, there’s a migration guide.

Code Intelligence

📰 Classifieds

🧑‍💻 Nest.js Back-End Developer at Carallel — Lead the development of a HealthTech platform, focused on Caregiver support. TypeScript, Nest.js, PostgreSQL, AWS, React/Next.js.


🎟️ CityJS Berlin: 1-3 November. Speakers include Elian Van Cutsem Astro core team, Alex Lichter Nuxt core team. Use COMMUNITY discount code to save 25% off.


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

Simple Git 3.20: Run git Commands in Node Apps — Not a Git reimplementation (such as isomorphic-git) but an interface/abstraction for using the standard git client from your Node code.

Steve King

Critical 6.0: Extracts and Inlines Critical Path CSS from HTML — A Node powered tool for when you want to optimize a page’s rendering to the max by inlining above-the-fold CSS.

Addy Osmani

The Canary in the Gold Mine v9.0 — A core tool that lets you pull down any module of your choice and test it using a specific version of the Node runtime. It’s used by the Node.js Project itself to test releases and ‘controversial changes.’

Node.js Project

node-poppler 7.0: Async Wrapper for the Poppler PDF RendererPoppler is a PDF rendering library based on xpdf. Note that Windows binaries come with this package but Linux and macOS users have some dependencies to install.

Frazer Smith

🤖 Good news?

GitHub's CEO, Thomas Dohmke, says that despite the rapid encroachment of AI and ML technologies into the software development sphere, "the demand for software developers will continue to outweigh the supply." Phew..?

On a related topic, I'm headed to the AI Engineer Summit in a couple of weeks to hopefully get a better feel for whether this is true and just how AI can help us progress as developers without unintended negative side effects. If you're also going to be there, say hi!

Peter Cooper, editor