🗞 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
🤔10🤣8