#316 — November 28, 2019

Read on the Web

Node Weekly

Node Now Has 'Enabled-By-Default' Support for ES ModulesNode.js 13.2.0 came out late last week with both an upgrade to V8 and unflagged support for using ES modules. There are some rules to using them, and you might find this V8 blog entry on JavaScript modules worth revisiting to get a feel for what’s involved. or maybe even Lin Clark's illustrated deep dive.

Node.js Foundation

Easier Node Streams via Async Iteration — Working with Node.js streams is “much more pleasant” if using asynchronous iteration — this post explores how to do that.

Dr. Axel Rauschmayer

Welcome to Hey Node: Expert Node.js Training Anytime, Anywhere — Use Hey Node to help prepare for the JSNAD certification exam. Learn to move data, the module system, NPM, and package.json. Solve problems with use cases. Brand-new, info-packed, peer-reviewed written and video tutorials.

Hey Node by Osio Labs sponsor

Publishing npm Packages Without Meta Files — What ‘meta’ files (think config files, .npmignore, IDE files, etc.) should not make it into your npm packages? Joel and the Node.js package maintenance team share some pointers.

Joel Chen

▶  Building Promises From Scratch in a Post-Apocalyptic Future — The title is a rather dramatic way of saying that this 20 minute screencast covers what’s involved in creating a promises implementation from scratch on top of lower level primitives (e.g. callbacks).

Low Level JavaScript

💻 Jobs

Senior Software Engineer at Getty (Los Angeles, CA) — Build fantastic tools and interfaces at one of the world's most prestigious cultural heritage orgs using Linked-Open-Data, Python, Structured-CMS, Vue.js.

J. Paul Getty Trust

Find a Job Through Vettery — Make a profile, name your salary, and connect with hiring managers from top employers. Vettery is completely free for job seekers.


📚 Articles and Tutorials

A First Look at GitHub Actions — A walkthrough of a typical Node.js CI workflow using GitHub Actions, migrated from Travis CI.

Jason Karns

A Guide to Helm 3 with an Express.js Microservice — Helm is a package management tool for the Kubernetes ecosystem. ‘Charts’ are basically the packages/pre-packaged apps it can work with, and this tutorial covers creating a chart for an Express.js service.

Alex Ellis

Best Practices for Node.js Development — A list of tips and techniques to keep you and your Node apps happy.

Heroku sponsor

How to Build a Simple Message Queue using NSQ — A basic introduction to using NSQ, a realtime distributed messaging system, from Node.

Vladislav Guleaev

Understanding Streams in Node.js — Streams continue to be one of the fundamental concepts that power Node applications.

Liz Parody

▶  Create a RESTful API Using Mongoose, Joi and Hapi.jsMongoose connects Node and MongoDB, Joi validates the data and schema, and Hapi provides the webapp framework.

Coding Shiksha

Five Things I Love About Strapi, a Node-Based Headless CMSStrapi is an open source, headless CMS that provides both a RESTful and GraphQL-based API out of the box.

Michele Riva

How to Secure Twilio Webhook URLs in Node

Stefan Judis (Twilio)

🛠 Code and Tools

Lambda API: A Lightweight Web Framework for Serverless Apps — A stripped down framework that takes an Express-esque approach to putting together serverless JavaScript apps to run on AWS Lambda behind API Gateway.

Jeremy Daly

fix-es-imports: Fix Your ES Import Paths From Node-style to Explicit Filenames — If you were using the --experimental-modules flag in earlier versions of Node to play with ES modules, this tool may help you out in the new unflagged ES module future.

James Billingham

The Art of PostgreSQL: A Book to Learn How to Best Use SQL from Your Node App

The Art of PostgreSQL sponsor

public-ip: Quickly Get Your Public IP Address — Queries the DNS records of OpenDNS, Google DNS, and HTTPS services to determine your IP address.

Sindre Sorhus

node-oracledb: An Oracle Database Driver for Node — It’s maintained by Oracle too.


Postgraphile: Quickly Get a GraphQL API for Your Postgres DB — The latest release (4.5.0) provides an easier ‘explain’ mechanism for analyzing queries.


chromium-headless-remote: Dockerized Chromium in Headless Remote Debugging Mode — Ideal to use with Puppeteer.

Kir Belevich

node-mssql 6.0: A Microsoft SQL Server Client for Node — Works cross-platform.

Patrik Simek and contributors