#444 — July 5, 2019

Read on the Web

JavaScript Weekly

Babel 7.5.0 Released — The popular JavaScript compiler now includes an official plugin for dynamic imports (currently in stage 4) and the F# style pipeline operator. There’s also experimental support for TypeScript namespaces.

Nicolò Ribaudo

▶  Introducing The Babel Podcast — Not only do we get a new release of Babel this week, we get a whole new JavaScript podcast from them too. The first episode features Babel’s original creator, Sebastian McKenzie, talking about the history of Babel and his current Rome project.

Henry Zhu podcast

Free Course: Get Started with JavaScript by Kyle Simpson 👍 — Get three free courses: Getting Started with JavaScript, Complete Intro to Web Development & Practical Introduction to Algorithms free by signing up for a trial account – no credit card required.

Frontend Masters sponsor

What Are Higher-Order Functions, and Why Should You Care? — The latest in James Sinclair’s fantastic series of functional-focused articles. This time, he deftly tackles what everyone means by “higher-order function” and why you might use them.

James Sinclair

▶  'Svelte Is The Most Beautiful Web Framework I've Ever Seen' — Sure, it’s an opinion, but I enjoyed this (rather long) screencast where a developer finds his way with Svelte (an increasingly popular compile-time UI framework) by building a Tic-Tac-Toe game (or as we call it back in the UK, Noughts & Crosses!).

Jesse Skinner

p5.js: A Client-Side JS Platform for Creative, Arty Coding — It’s a mature project but we haven’t linked to it for years and it’s just had a big release. Check out some of the examples in the live p5.js playground for a feel for how cool this is – it makes putting together visualizations and visual experiments very easy.

Processing Foundation

Emscripten and the LLVM WebAssembly Backend — Emscripten is switching to the LLVM WebAssembly backend. Why is this a good thing? It’ll make Emscripten faster, more efficient, and be able to adopt new WebAssembly features more quickly.


💻 Jobs

JavaScript Developer - Shedul/Fresha (Warsaw) — Do you think Front-end is all about padding & fonts? Not at all. Apply now, and see what true engineering looks like.

Shedul / Fresha

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


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


📘 Tutorials, Opinions, and Videos

Using the Intl API for Internationalization in JavaScript — Rather than ship lots of locale-specific data in your app, you might be able to lean on the Intl object (supported in all major browsers) for date, time, and number formatting.

Ankita Masand

12 Tips for Improving JavaScript Performance — Half of your visitors expect a page to appear within 2 seconds so keeping your JavaScript fast is a must. Here are some relatively entry level tips to helping you on your way.

Liz Parody

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

How Array.prototype.sort is Now Stable — It’s now required by the ECMAScript spec for Array#sort to be ‘stable’ (i.e. where items with equal sort keys remain in their original order in the sorted result).

Mathias Bynens

Automatically Detect Memory Leaks with Puppeteer — An automated way to test for memory leaks in the browser.

Christoph Guttandin

A Look at the Public Class Fields Proposal

Dr. Axel Rauschmayer

How to Make HTTP Requests with Axios — Now that browsers widely support the Fetch API, Axios is less essential but it still provides a good HTTP client API and it works both in the browser and on Node.js.

Faraz Kelhini

Using Slots in Vue.js — A thorough tour of a popular though easily misunderstood Vue.js concept.

Joseph Zimmerman

Top 10 GitHub Best Practices: Lessons from Thousands of Repositories

Datree.io sponsor

Tips for Rolling Your Own Lazy Loading — A walkthrough of adding lazy loading to your site from scratch, from using Intersection Observer to determine when to load images to creating the right HTML.

Phil Hawksworth

▶  Immer, Immutability and the Wonderful World of Proxies

Michel Weststrate

How to Make an Interactive, Animated Vue.js Slider

Henry Desroches

🔧 Code and Tools

Frappe Charts: Simple and Modern SVG Charts — Aero dependencies, and supports bar, line, pie, and GitHub-style ‘heatmap’ charts.

Frappe Technologies

React Native 0.60 Released — A bigger release for the popular React-based native app framework than the version number gives away.

Ryan Turner

FormPersistence.js: Preserve HTML Form Data Across Sessions

Finn Thompson

A GraphQL API to Join Across Your Database and Other Data-Sources — Get a GraphQL API to join across your database and 3rd party APIs, microservices and different database instances with Hasura Remote Joins. Read more here. #JoinAllTheThings.

Hasura sponsor

zip: A Robust ZIP Decoder — If recent talk of ZIP ‘bombs’ (ZIP files that can decompress to gigantic sizes) is scaring you, this may be of interest.


Puppeteer Recorder 0.7: Records Browser Interactions and Turns Them into Puppeteer Scripts — Add this to Chrome, perform activities on the Web (now including taking screenshots), and you’re given editable code to re-run what you just did.

Tim Nolet

P.S. Did you know we're on Twitter as well? Follow us @JavaScriptDaily