---
title: "Express.js 5.0"
publication: "Node Weekly"
issue: 547
published_at: "2024-09-10"
canonical_url: "https://nodeweekly.com/issues/547"
---

Plus TypeScript 5.6, Cloudflare Workers gets better Node support, and pure JS image processing. |        

#​547 — September 10, 2024 

[Read on the Web](https://nodeweekly.com/issues/547)  

Together with [![WorkOS\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_514,h_98/e_make_transparent/co_white,e_outline:9/tdfxwgk852ui9leli4wm.png)](https://workos.com/?utm_source=cpnode&utm_medium=newsletter&utm_campaign=q32024)  

![Node.js Weekly](https://res.cloudinary.com/cpress/image/upload/v1653576619/lgfqinzbdqttwmhvljxb.png) 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/aotnwiyag6iy9ffzpwnh.jpg)](https://github.com/expressjs/express/releases/tag/v5.0.0)  

[Express.js 5.0 Released; Sort Of](https://github.com/expressjs/express/releases/tag/v5.0.0) — After a long period of seeming to merely be on life support, work on Express picked up significantly earlier this year with [a big plan to push ‘Express forward.’](https://github.com/expressjs/discussions/issues/160) The first fruit of this process is now beginning to appear with v5.0. Node 18 is now the minimum support version, there are error handling improvements, improvements to the project’s tooling, the introduction of a [Threat Model](https://github.com/expressjs/express/pull/5526), and updates to many of its dependencies. 

Wesley Todd   

💡 We say _sort of_ because there's no official release post yet, and [over on the npm registry](https://www.npmjs.com/package/express?activeTab=versions), 5.0 is still tagged as `next`, so take that into account when installing it.  [![\](https://copm.s3.amazonaws.com/be776ba6.png)](https://workos.com/?utm_source=cpnode&utm_medium=newsletter&utm_campaign=q32024) 

[WorkOS: The Modern Identity Platform for B2B SaaS](https://workos.com/?utm_source=cpnode&utm_medium=newsletter&utm_campaign=q32024) — WorkOS is a modern identity platform for B2B SaaS, offering flexible and easy-to-use APIs to integrate SSO, SCIM, and RBAC in minutes instead of months. It's trusted by hundreds of high-growth startups such as Perplexity, Vercel, Drata, and Webflow. 

WorkOS sponsor   

**IN BRIEF:** 

- [TypeScript 5.6 has been released](https://devblogs.microsoft.com/typescript/announcing-typescript-5-6/) with full support for iterator helpers, support for arbitrary module identifiers, a `--noUncheckedSideEffectImports` to import modules without importing any values from them, and [better handling of CommonJS vs ES modules in Node](https://devblogs.microsoft.com/typescript/announcing-typescript-5-6/#respecting-file-extensions-and-package.json-from-within-node_modules14).
- [Cloudflare Workers has greatly improved its npm package support.](https://blog.cloudflare.com/more-npm-packages-on-cloudflare-workers-combining-polyfills-and-native-code/) The popular serverless platform now supports a lot more Node.js APIs.
- [pg-boss](https://github.com/timgit/pg-boss) is a popular Postgres-based background job system for Node and the folks at Wasp [interviewed its maintainer](https://wasp-lang.dev/blog/2024/09/03/OS-builders-interview-with-tim-jones-pgboss) who shared more details on why it exists, how it works, and why [pg-boss v10.0](https://github.com/timgit/pg-boss/releases/tag/10.0.0) is worth a look.   

[`setImmediate()` vs `setTimeout()`](https://www.trevorlasn.com/blog/setimmediate-vs-settimeout-in-javascript) — `setImmediate` is [considered deprecated](https://developer.mozilla.org/en-US/docs/Web/API/Window/setImmediate) in the browser space, but its different behavior still has a role to play in Node. 

Trevor Lasn   

[Set Up a $4/mo Hetzner VM to Skip the 'Serverless Tax'?](https://shipixen.com/tutorials/self-host-web-app-on-a-hetzner-virtual-machine) — For many use cases, it can be cheaper and more convenient to spin up a cheap server than go serverless. 

Shipixen   

[Integrating Slonik with Express.js](https://contra.com/p/bgA66gkW-integrating-slonik-with-expressjs) — [Slonik](https://github.com/gajus/slonik) is a type-safe Node Postgres client that lets you build SQL queries in a composable way. 

Gajus Kuizinas   

📄 [How to Create a Weekly Google Analytics Report That Posts to Slack](https://www.smashingmagazine.com/2024/09/how-create-weekly-google-analytics-report-posts-slack/) Paul Scanlon 

📄 [Securing Node Apps from Supply Chain Attacks](https://auth0.com/blog/secure-nodejs-applications-from-supply-chain-attacks/) Leonardo Zanivan (Auth0) 

📄 [Implementing Filtered Semantic Search Using pgvector and JavaScript](https://www.timescale.com/blog/implementing-filtered-semantic-search-using-pgvector-and-javascript/) Team Timescale 

📄 [How to Detect Broken Links with Playwright](https://www.checklyhq.com/blog/how-to-detect-broken-links-with-playwright/) Stefan Judis (Checkly)    

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/fqzdvljfymdfj2rgqepi.jpg)](https://jimp-dev.github.io/jimp/)  

[Jimp 1.6: Image Processing in Node without Native Dependencies](https://jimp-dev.github.io/jimp/) — Most image libraries, such as the powerful [Sharp](https://sharp.pixelplumbing.com/), lean on external libraries to do the heavy lifting, but Jimp can handle BMPs, GIFs, JPEGs, PNGs, and TIFFs on its own for blurring, color adjustments, resizing, rotation, etc. [GitHub repo.](https://github.com/jimp-dev/jimp) 

jimp Contributors   

💡 Being pure JavaScript, Jimp can [also be used in the browser.](https://jimp-dev.github.io/jimp/guides/browser/)  

[Cut Code Review Time and Bugs in Half with AI](https://coderabbit.ai?utm_source=cooperpress&utm_medium=node%28sponsored+link%29) — Supercharge your entire team with AI-driven contextual feedback. Supports all languages. 

CodeRabbit sponsor   

[jsdiff 7.0: A JavaScript Text Diffing Implementation](https://github.com/kpdecker/jsdiff) — Can compare strings for differences in various ways including creating patches. There’s an [online demo](http://incaseofstairs.com/jsdiff/). 

Kevin Decker   

[Rockpack 4.4: An Alternative React App Builder](https://alexsergey.github.io/rockpack/) — Akin to _Create React App_, the goal is to get project setup time as low as possible, but Rockpack holds different opinions around how far to take things and packs in a lot of ideas including server side rendering, linting, and testing. [GitHub repo.](https://github.com/AlexSergey/rockpack) 

Alex Sergey   

[node-html-to-image 5.0: Generate Images from HTML](https://github.com/frinyvonnick/node-html-to-image) — Wraps around Puppeteer, but also lets you use Handlebars for added logic in your HTML. 

Yvonnick Frin   

- [create-fastify 5.0](https://github.com/fastify/create-fastify) – Rapidly generate a Fastify project. You don't even need to install it first. You can use `npm init fastify app_name_here`.
- [file-type 19.5](https://github.com/sindresorhus/file-type) – Detect the file type of a file, stream, or data. Now with WebVTT support.
- [better-sqlite 11.3](https://github.com/WiseLibs/better-sqlite3) – A neat way to use SQLite from Node. Now with SQLite 3.46.1.
- [Faker 9.0](https://github.com/faker-js/faker) – Generate large amounts of fake data. [Upgrade guide.](https://v9.fakerjs.dev/guide/upgrading.html)
- [pnpm 9.10](https://github.com/pnpm/pnpm/releases/tag/v9.10.0) – The fast, efficiency-focused package manager.
- [ESLint 9.10](https://eslint.org/blog/2024/09/eslint-v9.10.0-released/) – Now with types _included._
- [ini 5.0](https://github.com/npm/ini) – npm's INI file parser/serializer.    

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. _Thanks!_ 

--- 

**Sponsorship:** Email `[kristina@cooperpress.com](mailto:kristina@cooperpress.com)` for details. 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

[Cancel your subscription](https://nodeweekly.com/leave/*|UID|*) or [change your address](https://nodeweekly.com/edit_subscription/*|UID|*).
