#373 — January 28, 2021

Read on the Web

Node Weekly

It's Time to Take the Node.js 2021 User Survey — The Node.js team has announced the opening of the 2021 Node.js user survey and you can take it here – the deadline is February 15 but we’ll do another reminder before then. Don’t forget to mention us when they ask where you heard about the survey from 😄 The results from last time (PDF) (in 2018) taught us all kinds of things, and it'll be interesting to see the shifts since then.

Node.js Project

parse-xml 3.0: A Fast, Compliant XML Parser — The goal with this project was to be fast, robust with good error handling, and to have no native dependencies. v3.0.0, which has just dropped, includes a brand new parser and supports Node 12+.

Ryan Grove

Track Redis Memory Use with RedisGreen — RedisGreen monitors the largest keys in your database over time, and builds a visual guide of which keys use the most memory. With SSL encryption and online upgrades to support your app from dev to prod.

RedisGreen sponsor

Cypress vs Selenium vs Playwright vs Puppeteer Speed Comparison — If you’ve got some browser automation to do, particularly around testing, you now have quite a few options, but how do they compare in terms of speed? Spoiler: Playwright comes out of it looking very good.

Giovanni Rago (Checkly)

Node v15.7.0 (Current) Released — Nothing big, but Blob has been introduced to buffer as a first step to aligning with the Blob Web API and there’s now a base64url Buffer encoding option.

Ruy Adorno

Deno 1.7 Released — Node’s younger cousin comes boasting new features and improvements. A big update is that deno compile (which lets you compile complete JavaScript apps to a single executable) is more efficient with support for cross compilation and ~60% reduced compiled size. Via our Deno newsletter.

Bartek Iwańczuk and Luca Casonato

💻 Jobs

Node.js Developer at X-Team (Remote) — Join the most energizing community for developers and work on projects for Riot Games, FOX, Sony, Coinbase, and more.

X-Team

Find Your Next Job Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.

Hired

📗 Tutorials and Stories

Practical Aspect Oriented Programming in JavaScriptAspect oriented programming is a modular coding technique where existing code is embellished or extended rather than modified. This is a very brief JS-oriented overview.

Valeri Karpov

Capturing Hacker News Mentions with Node and MongoDB — If you don’t want to read the ‘orange site’ (as it’s often called) but you’d like to know if something gets mentioned there, here’s one option.

Nic Raboy

Testing Sails Applications with Mocha and SuperTestSails is a popular MVC framework.

Kelvin Omereshone

The Ultimate Guide to Cardinality for Observability

Lightstep sponsor

Migrating Puppeteer to TypeScript — A Googler reflects on how the Puppeteer team are migrating the project over to TypeScript.

Jack Franklin (Google)

A Possible LFR and RCE Vulnerability If Using Express with Handlebars via hbs? — Note: This is a last minute addition that we have not verified.

Captain Freak

Docker for Node.js Developers: 5 Things You Need to Know

Liran Tal (Snyk)

🛠 Code and Tools

supported by Okta

napi-nim: How to Write Native Node Extensions in Nim — Is C too verbose, C++ too complicated, and you’re just not feeling Rust? Nim is a relatively friendly compiled systems language you can use to build Node extensions instead, as seen here, though it’s still early days for this project.

Andi Rosca

A Flappy Bird Clone using Raylib — It’s not often we see native games written in Node so if it’s something you fancy trying, this code may intrigue you. It leans on Raylib, a C-based library for building basic games and graphical experiments.

Arthur Massanes

Video for Your Node App That Streams Beautifully, Everywhere — Full-featured API that lets you build beautiful video for your Node app.

Mux sponsor

Middy 2.0 Now in Alpha: Node Middleware for AWS Lambda — A middleware engine to simplify your AWS Lambda code when using Node. The project is also seeking help with improving TypeScript support.

Middy

string-similarity: Finds Degree of Similarity Between Two Strings — Uses the Sørensen–Dice coefficient which is better than Levenshtein distance for many use cases.

Akash K

Opus 0.4: Native Opus Bindings for Node — Bindings for libopus, a library for working with the Opus lossy audio codec.

Discord.js Team

Trilium Notes: A Knowledge Base App Built on Express.js — A hierarchical note taking app. Built as an Express app but also includes Electron packaging.

zadam