๐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
๐ Issue 8 / 26.05.2023
๐ DeviceScript: TypeScript for Tiny Thingamabobs
DeviceScript is a new Microsoft effort to take the TypeScript experience to low-resource microcontroller-based devices. Itโs compiled to a custom VM bytecode which can run in such constrained environments. (A bit like Goโs TinyGo.) Itโs aimed at VS Code users but thereโs a CLI option too.
MICROSOFT
๐ Deno 1.34: Now deno compile Supports npm Packages
Deno isnโt Node, but it increasingly likes to wear a Node-shaped costume. This release focuses on npm and Node compatibility and Denoโs
THE DENO TEAM
ยฉ๏ธJS WEEKLY
๐ DeviceScript: TypeScript for Tiny Thingamabobs
DeviceScript is a new Microsoft effort to take the TypeScript experience to low-resource microcontroller-based devices. Itโs compiled to a custom VM bytecode which can run in such constrained environments. (A bit like Goโs TinyGo.) Itโs aimed at VS Code users but thereโs a CLI option too.
MICROSOFT
๐ Deno 1.34: Now deno compile Supports npm Packages
Deno isnโt Node, but it increasingly likes to wear a Node-shaped costume. This release focuses on npm and Node compatibility and Denoโs
compile
command (for turning projects into single binary executables) now supports npm packages too which opens up a lot of use cases.THE DENO TEAM
ยฉ๏ธJS WEEKLY
๐5
ARTICLES & TUTORIALS
๐ Demystifying Tupper's Formula
Tupperโs self-referential formula is a formula that, when plotted, can represent itself. Confused? Luckily Eli shows us how simple the concept is and how to use JavaScript to render your own.
ELI BENDERSKY
๐ An Introduction to Web Components
A practical and straightforward introduction to using the custom element API now supported in all major browsers to create a basic tabbed panel.
MOHAMED RASVI
๐ฌ Why React is Here to Stay
A rebuttal of sorts to Adam Elmoreโs video from two weeks ago: ๐ฌ Iโm Done with React.
JOSCHA NESKE
๐ Demystifying Tupper's Formula
Tupperโs self-referential formula is a formula that, when plotted, can represent itself. Confused? Luckily Eli shows us how simple the concept is and how to use JavaScript to render your own.
ELI BENDERSKY
๐ An Introduction to Web Components
A practical and straightforward introduction to using the custom element API now supported in all major browsers to create a basic tabbed panel.
MOHAMED RASVI
๐ฌ Why React is Here to Stay
A rebuttal of sorts to Adam Elmoreโs video from two weeks ago: ๐ฌ Iโm Done with React.
JOSCHA NESKE
๐3๐ฅ3โค1
๐9๐ค5
๐ค9โค5