#350 — August 6, 2020

Read on the Web

Node Weekly

Node Modules at 'War': Why CommonJS and ES Modules Can’t Get Along — As a Node developer you’ll certainly be familiar with CommonJS, the module format system Node uses. ES Modules, however, are an official, standardized way to bring modules to JavaScript and Node has varying (and experimental) support for them. What’s the difference? Why does it matter? And how can you deal with the existence of both? (And, no, there’s not really a ‘war’ 🙂)

Dan Fabulich

Top-Level await Being Unflagged — Node 14.8 isn’t out yet (it should be very soon) but it’s big news that top-level await support will be enabled without needing to set the --harmony-top-level-await flag (only within module/.mjs files, however). Example.

Node.js Project

Redis 6.0 on RedisGreen — SSL encryption, key size tracking, memory mapping, online upgrades, and more.

RedisGreen sponsor

How To Launch Child Processes from Node — A thorough tutorial that covers a variety of ways for launching and working with external processes from your own Node programs.

DigitalOcean

Let's Debug a Node Application — A brief, high level look at some ways to step beyond the console.log approach, by using Node Inspect, ndb, llnode, or other modules.

Julián Duque (Heroku)

⚡️ Quick bytes:

💻 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

One Application, Hundreds of Hiring Managers — Use Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers.

Vettery

🧑‍💻 Interested in running a job listing in this newsletter? There's more info here.

🛠 Tools, Resources and Libraries

Dynamoose: A Modeling Tool for Amazon's DynamoDB — As Mongoose is to MongoDB, Dynamoose hopes to be to Amazon’s DynamoDB.

Dynamoose

Rando.js 2.0: A Helper for Making Randomness Easier — The rando function lets you get random integers in a range, floats in a range, pick between multiple items, return a random element from an array, and more. There’s also randosequence for a more shuffle-like experience.

nastyox

Monitor Node Apps End-To-End with Distributed Tracing in Datadog — Search and analyze distributed traces to resolve Node application performance issues. Try Datadog APM Free.

Datadog sponsor

fdir 4.1: A High Performance Directory Crawler Library — Need to scan through directories rapidly either asynchronously or synchronously? This is worth a try. This library is certainly going all out to be faster and faster with each release.

Abdullah Atta

WordSafety: Check a Name for Unwanted Meanings in Other Languages — A neat idea. Rather than name your next project something that offends half of a continent, run it through this to pick up any glaring issues.

Pauli Olavi Ojala

GOMP (Git COMPare): A Tool for Comparing Branches — Used by its creators “as both a daily tool for handling commits and merges and as a powerful way to visualize complex histories while preparing releases.” Written in Python but you may find this useful nonetheless.

Markforged

Liquid: Node Port of the Liquid Template Engine — A port of the Ruby Liquid templating library. Liquid is used heavily by Shopify as well as other systems that provide customizable templating facilities to end users.

GitHub Docs

AppSignal Now Supports Redis for Node.js Out of the Box

AppSignal sponsor

c8: Output Coverage Reports using Node's Built in Coverage — Code-coverage using Node.js’ built in functionality that’s compatible with Istanbul’s reporters.

Benjamin E. Coe

Airtable.js: A JavaScript Client for Airtable — Airtable is a popular cloud-based spreadsheet-meets-database service.

Airtable

Node-Chromium: Package That Downloads and Provides Chromium for Your Project

Dmytro Tolstyi