#440 — June 7, 2019

Read on the Web

JavaScript Weekly

On the Economics of Package Management — An essay version of C J Silverio’s talk from JSConfEU ▶️ (watch it if you have 35 minutes to spare). She was ousted as CTO of npm, Inc. last year but is back with a history of the JavaScript package ecosystem, a discussion of who really ‘owns’ it, and a suggestion for a new way forward oriented around Entropic, a new, agnostic, federated package registry.

C J Silverio

Several New JS Features are Getting Closer with 'Optional Chaining' Now at Stage 2 — New JavaScript features go through various stages before they become official and this ?. operator to let you make chained property or function calls optional has taken another step forward. In related news, Array.isTemplateObject has also just gone to stage 2, top-level await to stage 3, and BigInt is now at stage 4.

Ecma TC39

⚛️ The NEW Complete Intro to React... Now, with Hooks — Much more than an intro, you’ll build a real-world app with the latest features in React including 🎣 hooks, effects, context, and portals.

Frontend Masters sponsor

Are Long JavaScript Tasks Delaying Your 'Time to Interactive'? — Chrome DevTools can now visualize ‘Long Tasks’ (code that causes the main thread to freeze, breaking the user experience) making it easier to debug and optimize away any problems.

Addy Osmani

Switch from Medium to Your Own Blog in a Few Minutes — Would’t it be great if more people we linked to were using their own blog instead of Medium? (Yes.) Here’s an example of the end result, but you can tweak it to your own tastes.

Mathieu Dutour

Just Write Code: Cloudflare Improves the Developer Experience of their Workers Serverless JavaScript PlatformWorkers, Cloudflare’s globally distributed serverless platform, gets a CLI developer tool, the ability to run apps on workers.dev without using your own domain, new docs, and a free tier to make it easier to try it out.

Rita Kozlov (Cloudflare)

Quick bytes:

💻 Jobs

JavaScript Developer at X-Team (Remote) — Join the most energizing community for developers. Work from anywhere with the world's leading brands.


Front End Engineer (Manchester, UK) — Join our friendly team creating beautiful applications loved by customers around the world. Excellent work/life balance & benefits.


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


📘 Tutorials, Opinions, and Videos

8 Useful JavaScript Tricks — You all seem to love a good list’o’tips article, and this one is not bad at all, particularly if you consider yourself at beginner to intermediate level.

Milos Protic

Unpacking Hoisting“Hoisting is old and confused terminology,” said Allen Wirfs-Brock recently. Dr. Axel has some ideas on how to better think about declarations.

Dr. Axel Rauschmayer

Automate Your Code Reviews — Codacy flags errors in your code so you can fix them quickly, directly from your current workflow. Get started today.

Codacy sponsor

Best Practices for Building a Large Scale React App — A few concepts worth keeping in mind to make neater, larger scale apps over time.

Aman Khalid

How to Render a Dynamic Tree Diagram with SVG and Vue.js — What’s involved in creating a dynamic tree diagram using cubic bezier curve paths and Vue for data reactivity.

Krutie Patel

An introduction to the MediaRecorder API — The MediaRecorder API is a browser API that you can use to record audio and video in the browser. Here’s how.

Phil Nash (Twilio)

How To Use jQuery With Angular (When You Absolutely Have To) — For, like, when you really have to.. as “when it comes to integrating jQuery in Angular, things get a little weird.”

Aditya Modi

Angular 8: A Brief Summary of What's New


Building Web Apps with MERN Stack and Google Cloud Platform

MongoDB sponsor

Enabling Modern JavaScript on npm — Modern JavaScript syntax lets you do more with less code, but how much of the JavaScript we ship to users is actually ‘modern’ and are we transpiling too much?

Jason Miller

🔧 Code and Tools

PixelMatch 5.0: The Simplest and Fastest Pixel-Level Image Comparison Library — Give it two images, it’ll highlight the differences.


Nerv: A Fast IE8- and React 16-Compatible React Alternative — Nerv bills itself as a tinier, faster React alternative that supports modern React 16 features. v1.4.0 just dropped.

Li Weitao

inline-loops.macro: A Babel Macro to Inline Iterators to Native Loops for Performance — Provides methods like map, reduce and find and compiles these down to allegedly faster loop-driven alternatives.

Tony Quetano

Get Reliable JavaScript Tests with Gauge and Taiko — New open source test automation framework by ThoughtWorks.

Gauge sponsor

Pinker.js: A Library for Rendering Code and Class UML Diagrams

Without Haste

PDFKit: A PDF Generation Library for Node and The Browser


tinydate: A Tiny and Fast Reusable Date Formatter — e.g. tinydate('Current time: [{HH}:{mm}:{ss}]') .. which returns an object you can call at any time (or supply a time of your own to format).

Luke Edwards

ms: Tiny Millisecond Conversion Utility — For example: ms('2 days') returns 172800000. A new version has just dropped fixing some bugs.