#481 — March 27, 2020

Unsubscribe  :  Read on the Web

JavaScript Weekly

Prettier 2.0 “2020” Released — The popular code formatter now adds better defaults, a better CLI, TypeScript 3.8 feature support (e.g. export * as ns), and lots more. Project homepage.


What Happens When the Maintainer of a Major JS Library Goes to Jail? — The maintainer of the popular core-js library (very commonly used alongside Babel) lost an appeal to overturn an 18-month prison sentence.

Thomas Claburn (The Register)

Online Lab: Build a Blockchain App with JavaScript — Learn how to build a distributed ledger into your JavaScript application using open source tools and best practices in this interactive lab from IBMers Lennart Frantzell and Dave Nugent.

IBM Developer sponsor

HTML DOM: A Resource for Solving DOM Problems with Native APIs — A guide with a list of different things we might normally do with a JavaScript library, but can now be done using native APIs.

Nguyen Huu Phuoc

Angular 9.1 Released: TypeScript 3.8 and Faster Builds — A minor Angular release that acts as a ‘drop-in replacement’ for 9.0 and brings concurrent package compilation for faster build times. A few other niceties too, all covered here.

Stephen Fluin

📅 Forthcoming Online JavaScript Conferences

The reality of world events are encouraging a proliferation of online events to replace in-person events that have been postponed. At least two have been announced in the JavaScript world so far:

⭐️ JavaScript Remote Conf 2020 (May 14-15) — This is being run by the folks behind the JavaScript Jabber podcast. Speakers lined up already include Douglas Crockford, Aimee Knight and Christian Heilmann, and you can submit a talk if you want to join them.

⭐️ ESNEXT CONF 2020 (May 18-22) — This one comes from the Pika folks (of Snowpack fame). 12 speakers over 5 days so it's a gradual pace. You can apply to speak here up until April 3.

⭐️ ForwardJS (May 26-29) — A real world event (ForwardJS Ottawa) that has now become a virtual event. It's going to be a busy May for watching events online 😄

⚡️ Quick Releases

💻 Jobs

React JS Developer (Remote) — 9+ million people plan outdoor adventures with our apps every day. If you are smart and ambitious, join us to inspire people to explore more of the great outdoors.


Principal UI Engineer — Join a tech team based in the heart of NYC and work on a data-driven, cloud solution for the world's leading entertainment brands.

Whip Media Group

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


ℹ️ If you're interested in running a job listing in JavaScript Weekly, there's more info here.

📘 Articles & Tutorials

Measuring the Performance of JavaScript Functions“In this article I will explain how you can measure the performance of your functions and what to do with the results you get from them.”

Felix Gerschau

Building a Code Editor with CodeMirrorCodeMirror is an open source project that makes it easy to build advanced text editors into your frontend apps. Here’s how to build a code editor with it and how to connect together all the pieces.

Valeri Karpov

Top GitHub Best Practices for Developers - Expanded Guide — Implementing these best practices could save you time, improve code maintainability, and prevent security risks.

Datree.io sponsor

Deleting Scrobbles on last.fm En Masse with a JS One Liner — A reminder, if you needed one, that running quick, scrappy JavaScript one liners in the devtools can help you gain some serious power over the pages you’re navigating.

Charlie Ritter

How to Use the Web Storage API — An introductory guide to localStorage and sessionStorage.

Chidume Nnamdi

Optimizing JS for Native-Like Webviews — Serving web pages fast enough to feel native.

Leo Jiang

Register for the Free ForwardJS May 2020 Livestream

ForwardJS sponsor

How To Make Life Easier When Using Git — Lots of useful bits and pieces in here.

Shane Hudson

How to Use the URL API with Vanilla JavaScript — A simple look at a lesser-known Web API, which lets you grab various bits including the hash, hostname, pathname, protocol, etc.

Chris Ferdinandi

🔧 Code & Tools

TOAST UI Editor 2.0: A Powerful WYSIWYG Markdown Editor — Two years in comes version 2.0, along with 10K GitHub stars to boot. v2.0 has a new Markdown parser, better syntax highlighting, improved scroll syncing and live previews, and more. GitHub repo.


match-sorter: Deterministic Best-Match Array Sorting — If you have an array full of items that you want to filter and sort ‘intelligently’ and deterministically, check this out.

Kent C. Dodds

Nano ID 3.0: A Unique String ID Generator — Tiny (108 bytes), secure, and URL-friendly. 3.0 requires changes to your code if you’re already using it.

Andrey Sitnik

jsSHA: Pure JS Implementations of SHA-1, SHA-256, SHA3-512, Etc. — If there’s a SHA hash, this library probably covers it.

Brian Turek

Analyze Page Load Time and Optimize Your Front-End Performance

Site24x7 sponsor

Rsup Progress: A Simple Progress Bar with Promises Support


ElectronCGI 1.0: Build Cross-Platform GUIs for .NET Core — Lets you invoke .NET Core code from Node and vice versa so you can use Electron to build a UI for an app otherwise based on a .NET Core language.

Rui Figueiredo

Dinero.js: A Library for Working with Monetary ValuesGitHub repo.

Sarah Dayan

jest-dom: Custom Jest Matchers to Test the State of the DOM — So you want to use Jest to write tests that assert various things about the state of a DOM..

Testing Library