Node.js 20 is fast(er)
#487 — May 23, 2023
The State of Node.js Performance in 2023 — Nearform’s Rafael Gonzaga reflects on the recent release of Node 20 and puts it through its paces against v18.16 and v16.20 with a few different benchmark suites running on a pretty typical EC2 instance. He goes into a lot of depth that’s worth checking out, but if you haven’t got time: “Node 20 is faster.” ????
Rafael Gonzaga
Companies Spend 4.5 Trillion Dollars on IT Annually — Find out how they’re building internal tools to increase developer productivity & impact. Explore Retool’s 2023 State of Internal Tools report.
Retool sponsor
Bun v0.6.0: Upping Its Node.js Compatibility Game — A ‘biggest release yet’ of the popular alternative JS runtime adds a built-in bundler and minifier, standalone executable generation, and more enhancements to its Node.js compatibility (something Bun boasts as a feature as a ‘drop-in replacement’, as opposed to Deno where it’s more of a late addition).
Jarred Sumner
How to Build Leaner Node Container Images with UBI and Podman — UBI being Red Hat’s Universal Base Images.
Evan Shortiss
IN BRIEF:
It’s not just Bun and Deno trying to offer more Node.js support, but Cloudflare Workers now has support for three more Node APIs too: node:path, the Streams API, and StringDecoder.
The folks at ReversingLabs wrote about how their researchers found some ‘RATs’ hiding in the npm attic – specifically, the TurkoRat ‘infostealer.’
Fusion is a promising looking Node.js-based static site generator sent in by a Node Weekly reader. We’ll cover it properly when it hits 1.0.
A Guide to Visual Regression Testing with Playwright — The Playwright browser control library can form the basis of an end-to-end testing mechanism all written in JavaScript, and comparing the visual output of tests can show where things are going wrong.
Dima Ivashchuk (Lost Pixel)
Benchmarking a ‘Compiled’ Node vs Bun App — The latest release of Bun (also above) has the ability to compile apps into a single executable (something Node 20 added too, though the author uses Vercel’s pkg instead). This isn’t a particularly insightful benchmark, but does provide a data point.
Decode
Server-Sent Events with Node — Server-Sent Events (SSE) enable a web server to send real-time updates to the client but without the two-way connection overhead of WebSockets.
endpts Team
???? Code & Tools
Better SQLite3 8.4: Fast and Simple SQLite3 Library — With good docs too. Supports a lot of SQLite specific functionality, has a synchronous API that boasts better concurrency than an async one (?) and worker thread support. v8.4 updates it to SQLite v3.42.0 standard.
Joshua Wise
❤️ Postgres — You need a database provider that loves Postgres as much as you do. Fully managed on public cloud with amazing support.
Crunchy Bridge sponsor
ts-sql-query: Type-Safe SQL Query Builder — Want to build dynamic SQL queries in a type-safe way with TypeScript verifying queries? This is for you. Supports numerous SQL-based database systems and isn’t an ORM itself. (Comes from a direct recommendation from a reader who uses it.)
Juan Luis Paz Rojas
Joplin: An Open Source Note Taking and To-Do System — Essentially an open source Evernote, complete with numerous client apps (desktop and mobile) and a server supporting synchronization via cloud services. GitHub repo.
Laurent Cozic
HyperExpress 6.7: High Performance Server Powered by uWebSockets.js — Aims to be a simple yet performant HTTP and WebSocket Server.
Kartik
???? 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
Mongoose 7.2
↳ MongoDB object modelling library.
Nodejs SQL Parser 4.7
↳ Parse SQL into syntax trees.
Eta (η) 2.2
↳ Embedded JS template engine.
Ts.ED 7.29
↳ TypeScript framework on top of Express.
zip-it-and-ship-it 9.6
↳ Prepare Node Lambda functions for deployment.
AdminJS 7.0.4
↳ Admin panel for Node-based apps.
rimraf 5.0.1
↳ rm -rf util for Node.
node-sass 9.0
↳ Still deprecated, but adds Node.js 20 support.