#472 — January 24, 2020

Read on the Web

JavaScript Weekly

▶  A Look at Deno: Could It Supplant Node (One Day)? — Over the past couple of years, we’ve mentioned Deno a few times. It’s a 'new' JavaScript and TypeScript runtime initially created by Ryan Dahl, the creator of Node, so it’s interesting to see how he thinks things should be done nowadays. Version 1.0 is due soon and we'll feature it in more detail then.

Bert Belder

A Guide to ESLint Configuration and Best Practices — A start-to-finish walkthrough aimed at beginners or anyone who usually just copy/pastes settings until things work. This will help you really understand what’s going on.

Lucas Santoni

React Hooks Guide: See the In-Depth Tutorials with Examples — This guide serves as an exhaustive resource for learning the built-in Hooks that are now part of React. Learn all about them as we comprehensively cover: State and Effects, Context, Reducers, and Custom React Hooks. Start learning today.

Progress KendoReact sponsor

TypeOfNaN JavaScript Quiz Questions — A set of 72 (so far) multiple choice questions to test out your JavaScript knowledge. Give it a try over the weekend :-)

Nick Scialli

Playwright: A Node Library to Automate Chromium, Firefox and WebKit — If you’re familiar with Puppeteer for automating Chrome/Chromium, this is in a similar vein for multiple browsers and is being worked on by some of the same contributors. The goal? To be vendor-neutral and to make the APIs more testing-friendly than Puppeteer.


⚡️ Quick Releases

💻 Jobs

Full Stack Engineer — Expensify seeks a self-driven individual passionate about making code effective, with an understanding of algorithms and design patterns.


Programmer — Basecamp (Remote) — Join our Research & Fidelity team and help shape the front end of our Rails apps and expand our suite of open-source JavaScript frameworks.


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


📘 Articles & Tutorials

JavaScript Visualized: Generators and Iterators — An easily accessible introduction to generator functions with code and animated examples.

Lydia Hallie

How to Pass Data Between Components in Vue.js — With several ways to share data across components, it’s worth spending some time to reflect on what best suits your situation.

Matt Maribojoc

Writing Dependency-Free JavaScript — If you really need to have no dependencies at all, these tips may help.

Magnus Hovland Hoff

▶  Scaling Telecommunications Data with a Service Mesh — Luca Maraschi, a TELUS Digital chief architect, shares how they serve massive volumes of data to millions of customers.

Heroku sponsorpodcast

JavaScript Tree Shaking, Like A Pro — Eliminating dead code is becoming an essential practice, to avoid large bundle sizes and improve performance. But “as a general rule of thumb: predicting how Webpack will behave for a given module, is not easy to do by eye.”

Daniel Brain

The Best Way to Build Reactive Sub-Forms with Angular — Learn how to extract repetitive sub-form implementations into standalone, robust and type safe components.

Tomas Trajan

How We Do Efficient TDD with Karma and Webpack — How Bamboo has made the act of writing a unit test, running the test and seeing feedback into a fast, iterative process for their developers.

Josh Hale

TypeScript's Secret Parallel Universe — How TypeScript handles name clashes between types and variables.

Florian Reuschel

A Basic Introduction to 'Big O' Notation via JS — This article won’t get you through a CS degree(!) but if you’ve heard people talking about things like “O(n) complexity”, it’ll help.

Joshua Hall

The 10 Most Important JavaScript Frameworks of The Past Decade? — It’s a bit of a listicle by definition, but covers frontend, backend, and native and broadly matches up with our experiences. Where’s Ember though?

Ovie Okeh

How We Replaced Mocha with Jest

Ákos K

🔧 Code & Tools

React Nice Dates: Responsive, Touch-Friendly Modular Date Picker — Another month, another date picker, but this seems to be a pretty good one. Lots of demos and code examples and the control itself feels good.

Hernán Sartorio

Time-Travel Debugger for JavaScript and TypeScript — Move forward and backwards through your code to understand the conditions that led to a specific bug, view runtime values, edit-and-continue, and more.

Wallaby.js sponsor

Panzoom: A Universal Panning and Zooming Library — Here’s a live demo.

Andrei Kashcha

Ava 3.0 Released: The Popular Test Runner — A popular test runner for Node with a concise API, detailed error output, etc. 3.0 drops built-in Babel support due to advancements in Node’s native modern JavaScript support and this has some implications for how you’ll write your tests so take care with this upgrade and read this post first.


Proton Native V2: React, but for Desktop Apps — Make cross-platform desktop apps with React without using Electron or a browser by using Qt (or, as of v2, wxWidgets) for rendering native interfaces.

Gustav Hansen

BLAKE3 Hashing for JavaScript: Native Node Binding and WebAssembly — BLAKE3 is a Merkle-tree based cryptographic hash function (originally implemented in Rust) that’s fast, secure, and highly parallelizable.

Connor Peet

Axe Pro: Free Accessibility Testing Tool Created for Development Teams

Deque sponsor

EPANET-JS: Model A Water Distribution Network in JavaScript — This certainly seems like the real deal, but the creator is quick to note that it’s “extremely niche as I don’t suspect there will be many engineers simulating water networks”. Hmm.

Luke Butler

A Big List of HTTP Static Server One-liners — Want to spin up a quick HTTP server locally? There’s a lot of ways to do it.

William Bowers

💡 A quick tip...

Tomek Sułkowski seems to post lots of little tips like this on his Twitter account so consider giving him a follow :-) We also have our own @JavaScriptDaily account that recaps a lot of what we cover in the newsletter.