#428 — March 15, 2019

Read on the Web

JavaScript Weekly

KV Storage, the Web's First 'Built-In' Module? — Chrome is experimenting with a concept called built-in modules, essentially a sort of standard library for JavaScript that requires no extra downloads in clients such as browsers. A very interesting idea, but not without controversy.

Google Developers

7 Tricks with Resting and Spreading JavaScript Objects — Using modern JS features to merge objects, organize properties, and more. +1 for all the Mighty Boosh references too.

Joel Thoms

New Courses: 📡 API Design in Node & 👨‍🍳 GraphQL — Design and build APIs in Node.js from the ground up. Use Express to build an API and handle REST verb methods to create, read, update and delete resources from MongoDB. Then, in the next course, you'll learn how GraphQL empowers more flexibility into your APIs.

Frontend Masters sponsor

A Complete Guide to React's useEffect — An amazingly epic post that will get anyone working with or thinking about React Hooks excited. It’ll help you understand a lot of the concepts involved. No time? There’s a good TLDR too.

Dan Abramov

A Proposal to Add Differential Script Loading Support to the script Tag — Rather than polyfilling and bundling, what about a srcset attribute on the script tag to enable browsers to choose the right JavaScript to download for them? Your feedback is sought.


A Look at Experimental Features in Node.js — Everything in Node was ‘experimental’ at some point. This post looks at some currently experimental features such as worker threads (essentially Node's answer to Web Workers) and performance hooks.

Liz Parody

Why V8 Now Supports JIT-Less JavaScript Execution — Running without V8’s JIT compiler and optimizations naturally results in a performance penalty but allows V8 to avoid allocating executable memory at runtime and improve security (particularly in resource limited environments).

Jakob Gruber (Google)

💻 Jobs

Sr. Fullstack Engineer (Remote) — Sticker Mule is looking for passionate developers to join our remote team. Come help us become the Internet’s best place to shop and work.

Sticker Mule

Senior Angular / Node Engineer at eBench (Remote, Full-Time) — We are a SaaS company building a new collective intelligence platform. Enjoy crafting quality code? We would love to hear from you.


Find A Job Through Vettery — Vettery specializes in dev roles and is completely free for job seekers.


📘 Tutorials and Opinions

How to Roll Your Own Serverless JS-Powered Analytics System — A really neat walkthrough of the idea of building your own basic Web analytics system using React, AWS Lambda, and storing the results in Google Sheets.

PC Maffey

Why You Need to Normalize Unicode Strings — Or when "Zoë" !== "Zoë"! If you’re dealing with Unicode strings, you need to take into account that characters could be represented in multiple ways. See how String’s normalize method can help.

Alessandro Segala

Supporting Old Browsers Without Hurting Everyone — Deliver bulkier but more broadly compatible code to older clients, while keeping a streamlined version flowing to newer clients. Here’s how to pull it off with webpack.

Sérgio Gomes

GraphQL in Depth: What, Why, and How — Learn about types, queries, and mutations in this in-depth walkthrough.

Ryan Glover

Building Angular and React Applications Together With Nx — A look at how Nx can help you develop with multiple frameworks.

Victor Savkin

The Chronograf Files: The Curious Case of JavaScript’s sort

InfluxData sponsor

How I Ruined My JavaScript Code and Still Won a Coding Challenge“I will tell you the story about how overcomplicated JavaScript code impressed the judges.” This is one of those cases where you’re reading for the story rather than to learn!

Marcin Gajda

Porting Scratch from Flash to JS: Performance, Interop, and ExtensionsScratch is a popular programming environment principally used by young people for creative ends. This year’s Scratch 3.0 release was the culmination of a long process to port it from Flash to JavaScript.

Corey Frang

▶  Q&A with Cypress’ VP of Engineering on Modern Application Testing

Nrwl.io sponsor

Why You Shouldn't Use Moment.js? — Huge opinion piece alert! “Moment.js is heavy, slow, mutable and hard to debug, still yet it has some advantages.” And those advantages are well worth keeping in mind before you decide to ditch it.


A Visualization of the Components of a JS Function — A neat way to see the various pieces of a function and what they are.

Poet beginner

🔧 Code and Tools

Billboard.js 1.8.0 ReleasedBillboard.js is a really neat D3 v4+-based chart library. 1.8 introduces several new formatting features.

Jae Sung Park

Real-Time Debugging as You Code, Without Breakpoints and console.log — Wallaby catches errors in your tests and code and displays them right in your editor as you type, making your development feedback loop more productive.

Wallaby.js sponsor

Sucrase: A Super-Fast Alternative to Babel.. in Certain Situations — Smaller in scope than Babel and compiles down to modern JS runtimes only (rather than ES5) with more performance optimizations to be had.

Alan Pierce

React Native 0.59 Released — Hooks have made their way to React Native, along with CLI improvements and improved performance (and 64 bit support) on Android.

Ryan Turner

Micromodal: Tiny JS Library for Creating Accessible Modal Dialogs — Just 1.9KB minified and gzipped.

Kalpesh Singh and Indrashish Ghosh

CKEditor 5 v12.0.0 ReleasedCKEditor is a long standing rich text editor in the JS world, though note that it’s GPL 2+ licensed with commercial options.

Piotr Koszuliński and Anna Tomanek

A Basic 38 Line Reimplementation of Redux — Built as a learning experiment. Maybe it could help you too.

Deric Cain

promise-utils: Lodash-Like Utilities for Native ES6 Promises


🌀 Last but not least..

JavaScript-Powered 'Prank' Lands Japanese Teenager in Hot Water — And in the ‘slightly odd news’ department comes news of a Japanese girl who’s been charged for linking to some code that pops up an unending number of window alerts. Pretty sure we've all been stung by one of these over the years..

Ars Technica