π11π€7
β€12
π€14β€8π4
π21π3
π11
π Issue 7 / 24.05.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
π 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
Β©οΈNODE.JS WEEKLY
π 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
π 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
Β©οΈNODE.JS WEEKLY
π₯5
οΈ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:
π 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.
π 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.
π1
ARTICLES & TUTORIALS
π 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
π 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
π5
RELEASES / UPDATES
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
node-sass 9.0
Still deprecated, but adds Node.js 20 support.
Axios Cache Interceptor 1.1
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.
Axios Cache Interceptor 1.1
π1
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
π© 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
π© HyperExpress 6.7: High Performance Server Powered by uWebSockets.js
Aims to be a simple yet performant HTTP and WebSocket Server.
KARTIK
π©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
π© 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
π© HyperExpress 6.7: High Performance Server Powered by uWebSockets.js
Aims to be a simple yet performant HTTP and WebSocket Server.
KARTIK
β€6π2
What is the output?
Anonymous Quiz
11%
3, 1, 4, 5, 2
40%
1, 5, 4, 3, 2
18%
1, 4, 3, 5, 2
31%
1, 4, 5, 3, 2
π7π₯6π€£2