#468 — December 20, 2019

Read on the Web

If you're subscribed to any of our other newsletters, you'll have seen we're doing 2019 roundups this week.. but not in JavaScript Weekly! :-) Our 2019 JavaScript roundup will be here on January 3, but today is a normal issue. Happy holidays!

JavaScript Weekly

Tesseract.js 2.0: Pure JavaScript OCR for 100 Languages — A pure JavaScript port of the popular C++ Tesseract library commonly used for visual text recognition purposes by other systems. The homepage has a neat demo where you can drop on images of your own and see how they get processed. v2.0 is now out and here's why the creator has been working on it.

Jerome Wu

V8 Release v8.0 — Yes, that’s v8 of v8 – not confusing at all 😂 Nonetheless, it’s a key step forward for the most widely deployed JavaScript engine, and introduces optional chaining, nullish coalescing, and some significant performance improvements. It’ll be landing in a Chrome and Node near you soon.

Leszek Swirski

Learn the Full Stack with Jem Young, Senior Software Engineer at Netflix — Become a more well rounded engineer by understanding what is happening on the server-side.

Frontend Masters sponsor

Results from the 'State of JavaScript' 2019 Survey — While the methodology is far from perfect (for example, Angular and Angular.js seem to get lumped together as the same thing), this is nonetheless the biggest JavaScript-specific survey. There’s a lot to dig through, so you may prefer The Changelog's 7 insights from the State of JS 2019 roundup post that looks at the most striking results. I also found the associated Hacker News discussion interesting.

Sacha Greif, Raphaël Benitte and Amelia Wattenberger

An Update on CDNJSCDNJS is a popular content distribution network for JavaScript files but just a couple of months ago its continued development was in doubt. In this significant update we learn more about how CDNJS works and how Cloudflare want to take it forward (and they need our help).

Zack Bloom

Mastering console.log Like A Pro — This isn’t exactly new ground, but if you’re a heavy console.log user, this article deftly covers a variety of extra console methods to keep on your radar.

Harsh Makadia

⚡️ Quick Releases

💻 Jobs

Backend Engineering Position 🤘 in Beautiful Norway 🎉 — Passion for JavaScript, GraphQL, Scalability and Performance? Want to move to Norway? Join our fast growing e-commerce service Crystallize.


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


Technical Content Producer (Interim) at Ably (London, Remote OK) — Ably builds tools and cloud infrastructure for the realtime internet. They need a developer/tech writer on a temporary basis to coordinate, outsource, and review the creation of technical content for a developer audience.


📘 Articles & Tutorials

What's Coming in Angular 9.0.0 and Ivy Improvements — Angular 9.0 was due to be released this year but is being held back until next year to give the team a break. Nonetheless, it’s going to pack in some key improvements.

Mike Hartington

An Introduction to Controlling the Raspberry Pi 4's GPIO Pins from Node — If you’ve got a Raspberry Pi sat around (I have a few!) and you’re looking to have a play over the holiday season, you could start here.

Uday Hiwarale

Migrating a Distributed System from JavaScript to TypeScript — Learn how to migrate a globally-distributed system written in JavaScript over to TypeScript.

Ably sponsor

Understanding Decorators in JavaScript — Decorators are a first-class concept in some languages that can be used to quickly modify functions or classes by way of a simple directive. The idea is still merely a proposal for JavaScript, but it’s possible to adapt some of the ideas now with Babel.

Mike Green

A Case for Using void in Modern JavaScript? — Some interesting points here. I doubt they’ll take off, but I like the examples.


Writing JavaScript With Only Six Characters — A fun article like this tends to do the rounds each year and it never ceases to delight me at how quirky JavaScript can be.

Erik Wendel

Const Assertions in Literal Expressions in TypeScript

Marius Schulz

What’s New in Preact X?Preact is a lightweight React alternative with React API compatibility.

Ogundipe Samuel

Sentiment Analysis of Your Year with TensorFlow.js — Perform sentiment analysis with TensorFlow in JavaScript to determine the positivity of text messages received via Twilio.

Lizzie Siegle

BDD vs Executable Specifications

Gauge sponsor

▶  The Design Principles of Vue 3.0 — A 50 minute talk from the creator of Vue.js, Evan You, on the principles behind the changes coming in Vue 3.0.

Evan You

10 Useful Angular Features You’ve Probably Never Used — Assuming you actually use Angular in the first place, naturally.

Chidume Nnamdi

Why Svelte Won’t 'Kill' React

Kit Isaev

🔧 Code & Tools

A-Frame 1.0 Released: Framework for Building VR Experiences — A-Frame handles the 3D and WebVR boilerplate required to get running across numerous platforms quickly. Version 1 boasts full WebXR support.

A-Frame Team

Introducing Scully: The Angular Static Site Generator — The Angular community now has their very own static site generator.


Polly.js 3.0: Record, Replay, and Stub HTTP Interactions — A library from Netflix for recording, replaying and stubbing HTTP interactions via native browser APIs. GitHub repo.


▶  From NodeConf EU: What's Being Built and Where Node.js Is Heading

Heroku sponsor

Sarus: A Client-Side Library for WebSockets — Helps you handle situations where connections unexpectedly close.


Alpine.js: A Minimal Framework for Composing Behavior in Your Markup“Think of it like Tailwind for JavaScript.”


vue2-datepicker: A Date / DateTime Picker Component for Vue


Looking for a bit more? Enjoy our annual roundups in a number of other fields:

If you're celebrating, we hope you have a happy holiday season and we'll see you in the new year on January 3, 2020.