#511 — October 23, 2020

Unsubscribe  |  Read on the Web

JavaScript Weekly

React 17.0 Released — The focus in React 17 is peace, harmony, and gentle progression, with subtle changes, making apps easier to upgrade gradually in future, and also to make it easier to embed React apps into apps built with other technologies.

Dan Abramov and Rachel Nabors

Node 15 Released — The new ‘release’ line (the one that gets all the new features first) of Node is here. Two key features:

  • An upgrade to the V8 8.6 engine (from 8.4) adding various JS features like Promise.any(), logical assignment operators, and String.prototype.replaceAll()
  • Unhandled rejections are now raised as exceptions by default. If there's any one change that'll cause you some head scratching, it's this.

For more, check this week's Node Weekly ;-)

New Course: Introduction to Next.js, The Full-Stack React Framework — Next.js is a complete framework built on top of React.js. You'll learn server-side rendering, static site generation, data fetching, code API endpoints, creating pages with the file system, add CSS modules, and more.

Frontend Masters sponsor

What Vue.js Does Better Than React“I love and use React daily but was curious if there’s anything from Vue that React could learn from. Turns out there is! This post collects my findings.”

Harry Wolff

Skypack Discover: A Way to Discover and Test Recommended JS Packages — From the same folks as the Snowpack build tool, Skypack is basically a search engine for npm packages, but it’s added a ‘Discover’ feature which helps you pick the best options for you. You can then import them ES module style.

Fred K. Schott

⚡️ Quick bytes:

  • Want to see something cool? MONOSPACE is a demo (in the 'demoscene' sense) written in 1021 bytes of JavaScript and it won the 1024 byte demo competition at Assembly 2020.
  • Rich Harris (of Svelte fame) has shared a video exploring his thoughts on the future of Web development and where the Sapper Svelte-based framework slots in (or doesn't!) — Cool ideas here and a must watch if you're sick of endless bundling.
  • Vue 3.0.2 is out – almost entirely bug fixes. Or how about Ember 3.22 or the first RC of Angular 11?
  • Someone has noted that using const instead of var or let can cause big slowdowns in the JavaScriptCore engine Webkit (and Safari) uses. They're now on the case to resolve it.
  • Most of this is double dutch to me but apparently Agoric lets you write 'smart contracts' in JavaScript and a TC39 member is involved, if that's your thing. (Note to self: learn about this stuff.)
  • We announced webpack 5 last week, but we're already getting webpack 5.2.0 this week.

💻 Jobs

React JS Developer (Remote) — Millions get inspired and plan adventures with our apps. To help us make komoot.com the place to go to plan outdoor adventures, we’re looking for an ambitious ReactJS developer to join our team.


JavaScript/TypeScript Architect + Developer Advocate, London UK — It’s time to build your masterpiece – can you design a platform and a framework used by the NHS, HMRC, Valve, and Microsoft?


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


📚 Tutorials, Opinions and Stories

Dissecting A Dweet: City Sunset — A fascinating exploration of how a mere 140 characters of JavaScript can produce beautiful procedurally generated cityscapes. You can play with/tweak the code here. Fun!

Killed By A Pixel

'Basic Authentication' with Lambda@Edge — An interesting way to use Lambda@Edge (lets you run code in front of a Cloudfront distribution) to add a rather old-school way of securing access to a static site. But does it work? Yes.

Sebastian Petterson

All the Canaries Lived: It’s Time to Adopt Progressive Delivery

LaunchDarkly sponsor

Getting Started with Next.jsNext.js is a React-based framework focused on providing a good developer experience for building complete, production-bound apps covering both backend and frontend.

Adebiyi Adedotun

Introducing the Async Cookie Store API (in Chrome 87) — A look at a new API that exposes cookies to service workers and provides an async alternative to document.cookie that also lets you react to cookie changes in real time.

Matan Borenkraout

Getting Started with OpenTelemetry in JavaScript and Node.js

OpenTelemetry sponsor

Managing Side Effects with Monads

Why `flatMap` Is So Great

🛠 Code & Tools

supported by Okta

JSDB 1.0: An In-Memory, Streaming Write-on-Update Node.js Database — An easy-to-use, in-memory database that persists to a JavaScript transaction log and aimed at small scale (though Small Web is more nuanced than that as a concept) cases.

Aral Balkan

Pikaday: A Mature Date Picker with No Dependencies — This is an old project that has recently sprung back into life and gotten a release. I just love the name of it and its simple old-school nature. Demo here.

Bushell, Rikkert et al.

NSFW JS: TensorFlow-Powered Client Side Indecent Content Checking — Would it be helpful for you to detect.. ‘unseemly’ images on the client side? Enter NSFW JS. We first featured this over a year ago but it’s just had a significant performance-oriented update.

Infinite Red, Inc.

Stream Chat API & JavaScript SDK for Custom Chat Apps — Build real-time chat in less time. Rapidly ship in-app messaging with our highly reliable chat infrastructure.

Stream sponsor

JZZ: A MIDI Library for Node and the Browser — Brings the Web MIDI API to Node so you can send, receive and play MIDI messages from both Node and the browser on Linux, macOS and Windows. (Click on the logo on the official home page for a bit of fun.)

Jazz Soft

Fingerprint JS 3.0: Modern and Flexible Browser Fingerprinting Library — With v3 it’s become completely modular and has been rewritten in TypeScript. Definitely one of those ‘please use this for good, not evil’ type projects though.


73 Awesome NPM Packages for Productivity — This is one of those ‘grab bag’ list style posts we used to include a lot more several years ago, but it’s a reasonably good one if you fancy a quick browse.


🔗 From the queue..

We don't ever get to use all of the great links we have because we don't want to overwhelm you each week, but we thought it'd be neat to quickly feature some of them in case the titles jump out at you – so we'll be including this special section from time to time for you to skim through:


The Flavors of Object-Oriented Programming (in JavaScript)
Zell Liew

An Introduction To Running Lighthouse Programmatically
Katy Bowman

Understanding Reduce in JavaScript
Monica Powell

Working with JavaScript Media Queries
Marko Ilic

Supercharge Testing React Applications With Wallaby.js
Kelvin Omereshone

Three Approaches for Implementing Nested Forms in Angular
Latish Sehgal