#441 — June 14, 2019

Read on the Web

JavaScript Weekly

43 JavaScript Questions, With Their Answers Explained — Want to test your JavaScript knowledge? Whether for fun or a job interview, this is an interesting set of questions, complete with explanations of the answers.

Lydia Hallie

An Overview of Promise Combinators — Since ES6 / ES2015, the Promise.all (short-circuits when any promise is rejected) and Promise.race (short-circuits when any promise is settled) have provided two ways to work with groups of promises, but Promise.allSettled and Promise.any are on the way to add extra flexibility. Here’s how to use them all.

Mathias Bynens

Image & Video Management Made for Developers — Simplify and automate the process of uploading, manipulating, optimizing, and delivering images and videos across every device at any bandwidth. Try Cloudinary. See how easy media management can be. Get your own free account today.

Cloudinary sponsor

When Should You Be Using Web Workers? — Web Workers provide a way to run JavaScript in background threads in the browser and you’d think using them as much as possible would be a good thing.. right? Current frameworks make this tough, says Surma, who shows us why we should be working to change this ASAP.


Pika CDN: A CDN for Modern JavaScript — An interesting idea, this. It’s a proxy that serves up npm packages that use the ES Module syntax so you can use them directly on the Web using import.


Lebab 3.1: Turn Your ES5 Code Into Readable ES6 / ES2015 — An interesting project that follows a variety of rules to convert traditional JavaScript into a more modern variant. You can try it live here. It’s been a couple of years since we’ve linked to it, but it’s continued to get updates.

Rene Saarsoo

An Early Stage Proposal for Immutable Data Structures — A proposal for introducing immutable value types natively to JavaScript. It’s at an early stage but there are some interesting ideas.

Robin Ricard

💻 Jobs

Senior Node.js API Engineer - Exodus (Remote) — Do you live for beautiful APIs? We're looking for a meticulous, obsessive leader to focus on our backend API services.


Stream Is Hiring a Senior Full Stack Engineer in Boulder - Colorado — Love writing JavaScript and maintaining infrastructure? We do too. Apply now and join the team in Boulder, Colorado.


Land a New Dev Job on Vettery — Vettery specializes in tech roles and is completely free for job seekers.


📘 Tutorials, Opinions, and Videos

Using Array.prototype.flat and Array.prototype.flatMap — A quick look at two methods which are now supported in the latest versions of Node, Chrome, Firefox and Safari.

Mathias Bynens

▶  Porting Your Node.js Web App to Serverless in 30 Minutes(ish..) — This live-coding session will guide you through the process of migrating an existing Express application to AWS Lambda.

Alex Casalboni

Join a Community of 3.5 Million Developers — Deploy cloud native apps on the platform developers love. Sign up now with a new user activation credit.

DigitalOcean sponsor

Widening the Web with ECMA-402: Our Work on the Internationalization Extension to JavaScriptECMA-402 is a separate standard (to ECMAScript itself) defining an internationalization API for ECMAScript. It’s supported to a certain extent by most browsers but there is still a lot of work to be done.

Valerie Young (Bocoup)

How One Team of Freelancers Writes Full Stack JavaScript Apps — Some simple principles one distributed agency uses.

Elie Steinbock

The reduce ({...spread}) Anti-Pattern — As an aside, this post is really well presented.

Rich Snapp

The Open Source Conundrum: How Do We Keep the Lights On?

CodeFund sponsor

A Guide to Angular 8's Differential Loading — Angular 8 now sends different bundles of code to different clients. Here’s the how and why, plus an Angular Auth0 tutorial tacked onto the end for some reason 😄

Sam Julien

To Have A Future, Ember Must Kill Its Past

Andrew Callahan

🔧 Code and Tools

readme-md-generator: A CLI That Generates Good-Looking README.md Files — It’s pretty simple but the results are nice. Answer some questions and get a good starter template for your project’s README.md file.

Franck Abgrall

VuePress 1.0 Released: A Vue.js-Powered Static Site Generator — There’s also a writeup of a talk which covered what’s new in 1.x.

Evan You

React Hot Loader 4.11.0: Tweak React Components in Real Time

Abramov, et al.

ChessBoard.js 1.0: A JavaScript Chessboard Component — Happy 1.0! Note that jQuery is a dependency. Examples here.

Chris Oakman

Gauge + Taiko = No More Flaky Tests. Everything You Need for Reliable End-to-End Testing — Gauge and Taiko are open source tools created by ThoughtWorks for end-to-end test automation.

Gauge sponsor

React-Leaflet 2.4: React Components for Leaflet MapsLeaflet is a popular JavaScript library for creating interactive maps. This library brings support direct to React and has recently added React 16.8 and Flow 0.100 support.

Paul Le Cam

Swagger Client: A JS Client to Fetch, Resolve, and Interact with Swagger/OpenAPI Documents


A Minimal Starter Boilerplate for JavaScript Libraries — Brings together Webpack 4, Babel 7, and Jest.

Francisco Hodge

Lightweight Charts: Lightweight, Canvas-Powered Financial Charts

TradingView, Inc.