#439 — May 31, 2019

Read on the Web

JavaScript Weekly

Papa Parse 5.0: Fast In-Browser CSV Parsing — Complies with RFC4180, handles streaming, can both parse or convert JSON to CSV, and has no dependencies. It has a nice homepage with lots of usage examples too.

Matt Holt

Angular 8 Released — A major release of the popular app framework, featuring smaller bundles, CLI APIs, differential loading and more.

Stephen Fluin

'Why I'm Still Using jQuery in 2019' — It’s cool to disregard jQuery (we get comments whenever we link to jQuery plugins in JavaScript Weekly – which isn’t often, admittedly) but it’s still heavily used and useful for many. This post provoked an extensive discussion on Hacker News if you’re into such things.

Martin Tournoij

New Course: The Hard Parts of Servers & Node.js ☁️ — Learn the hard parts of the, "the most powerful technology to have emerged in the last 10 years for building servers: Node.js."

Frontend Masters sponsor

TypeScript 3.5 Released — It’s not a huge release but improved performance and incremental compilation and the Omit helper type will surely be welcome to the rapidly growing number of TypeScript users.

Daniel Rosenwasser (Microsoft)

React for Vue Developers — It’s always nice to see people riffing on how Vue and React approach problems and how their solutions differ. Here, Sebastian walks through Vue’s core features and how he’d approach them with hooks-flavored React.

Sebastian De Deyne

More Adventures in Functional JavaScript: Five Ways to Calculate an Average with Array reduce — Using the reduce method to calculate an average isn’t unusual but things get complicated fast if you go beyond the most basic examples. Lots to enjoy here.

James Sinclair

P.S. If you have a few minutes, Yulia Startsev of Mozilla (and a TC39 representative) asked if we'd be able to get some of you to take this survey to potentially help in the future design of JavaScript.

💻 Jobs

Join the Tech Team in Prague — Looking for developers who have grit and a thirst for learning while building a service that revolutionizes hospitality

Mews Systems

Frontend Engineers to Profitable Healthtech Startup — Stockholm, Sweden — Join our 30-person team of A-players, solve problems at global scale & help us become the most trustworthy online health company.

Diet Doctor Sweden AB

Find a JavaScript Job on Vettery — Vettery specializes in tech roles and is completely free for job seekers.


📘 Tutorials, Opinions, and Videos

The 80/20 Guide to JSON.stringify in JavaScriptJSON.stringify converts objects to JSON and it’s used in lots of places. Here’s a brief look at how it’s used and some of the errors it can throw.

Valeri Karpov

Build a Progressive Web App with Angular — Learn how to build an Angular-based PWA and deploy it for use on mobile devices using Netflify.

John Green

12 Tips for Writing Clean and Scalable JavaScript

Lukas Gisder-Dubé

2 Hour GraphQL Tutorials - Concise, Hands-On GraphQL Tutorials for Frontend Developers — A series of open-source GraphQL tutorials with videos. Now featuring tutorials for React, Vue, ReactNative, iOS & Android developers.

Hasura sponsor

Secrets of JavaScript: A Tale of React, Performance Optimization and Multi-Threading — Lessons learned from optimizing a uniquely challenging search UI presented in an interesting, almost ‘choose your own adventure’ format on Medium.

Leo Fabrikant

Compiling C to WebAssembly without Emscripten — Know C and want to compile a function to WebAssembly so you can call it from JavaScript? Here you go. If you’re a macOS user, I created a similar simple example to compiling C to WASM with clang.


🔧 Code and Tools

VS Code Browser Preview Gets 'Inspect Element' Feature — Inspect an element and go directly to the component’s source. Handy! Works with both React and Svelte so far. Here’s the extension itself.

Kenneth Auchenberg

Normalizr: Normalize Nested JSON to a Defined Schema — For example, consider if you receive a complicated, nested JSON object from a third party service and you want to boil it down to a format that better suits your app.. this is what you need. See the example.

Paul Armstrong

Safely Roll Out New Features in JavaScript with Optimizely Rollouts — Ship faster with less risk. Get free feature flags to instantly turn on or off features without deploys.

Optimizely Rollouts sponsor

Verdaccio 4 Released: A Private npm Registry and Cache — If you need your own private package manager, cache, and proxy, look no further. GitHub repo.


Puppeteer Recorder: A Chrome Extension That Creates Puppeteer Scripts — Hit record, do things in your browser, and this extension generates JavaScript code you can then run that uses Puppeteer to reproduce the actions headlessly.


babel-plugin-macros: Allows You to Build Simple Compile-Time Libraries — If you’re a Babel user and haven’t played with this easy way to integrate compile-time compilation into your code, you’re missing out. Here’s the how and why.

Kent C. Dodds

Zdog: A Pseudo-3D Engine for Canvas and SVG — A JavaScript engine for designing and rendering simple 3D models on the Web.


TipTap: A Rich-Text Editor for Vue.js — Check out the live demo. It’s based on Prosemirror and you can extend it easily using Vue components.


Get the Fastest Website Deployments. Get Started Free

Buddy sponsor

Pickr: A Flat, Simple, Dependency-Free Color PickerLive demo. It’s nice.

Simon Wep

MQTT.js: An MQTT Client for Node and the BrowserMQTT is a messaging protocol commonly associated with IoT. A new release this week adds support for MQTT 5.