#474 — February 7, 2020

Unsubscribe  :  Read on the Web

JavaScript Weekly

Understanding the ECMAScript Spec — The meaty first post in a series looking at how to read parts of the formal ECMAScript spec that forms the basis for JavaScript and turns its formal notation into something you can learn from.

Marja Hölttä

Angular 9 Released: Project Ivy Has Arrived — A major release for Angular that includes an all new compilation and rendering pipeline (called Ivy) as well as updates across the entire framework including the CLI tools and Angular Material. “This is one of the biggest updates to Angular we’ve made in the past 3 years.”

Stephen Fluin

Locate Front-End Issues Like JavaScript or Network Errors Instantly — Get proactively alerted on any client-side issues such as JavaScript and network errors, optimize the load time of your front-end resources, and detect any UI issues that affect critical user journeys. Try it free with Datadog Synthetics.

Datadog sponsor

Electron 8.0.0 Released — The popular cross-platform desktop app development toolkit takes more steps forward, mostly in the area of dependencies, by moving to Chrome 80 (which only came out this week itself), V8 8.0, and Node 12.13. IPC communication now uses a new algorithm which is a lot faster for large and complex objects too. Offscreen rendering is currently disabled, however, so don’t upgrade if you depend on it.

Electron Project

A Proposal for a Built-In Decimal Datatype — An investigation into adding a built-in data type in JavaScript to represent base-10 decimal numbers that’s being presented to TC39. BTW, you may find this slidedeck to be more accessible.

Daniel Ehrenberg

Quick bytes:

💻 Jobs

Announcing a 100% Remote Opportunity as a Sr. Fullstack Dev (Node/React) — We’re passionate about giving developers the chance to do meaningful work by building transformational technology solutions.


JavaScript Developer at X-Team (Remote) — Work with the world's leading brands, from anywhere. Travel the world while being part of the most energizing community of developers.


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.


📘 Articles & Tutorials

Getting Acquainted With Svelte, the New Framework on the Block — We’ve mentioned Svelte, an interesting compile-time 'framework', a few times in the last year – here’s another take on why to consider it.

Tristram Tolliday

Formatting Dates with Intl.DateTimeFormat — A good demonstration of a modern way to format dates in a region friendly way using native APIs, as now supported in both Node and all major browsers.

Valentino Gagliardi

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

Adding a F#-Style Pipeline Operator to Your JavaScript with Babel — Using Babel’s custom transpilation powers to try out an alternative to the proposed pipeline operator.

George Dyrrachitis

Building an Accessible Autocomplete Control — Learn how to design and build an accessible autocomplete control from scratch.

Adam Silver

You (Possibly) Don't Need Moment.jsMoment.js is a popular date and time manipulation library but this repo shows off alternative approaches, including many native functions that do similar things. At the very least, this is a neat ‘cheat sheet’ for date and time manipulation :-)

Various Contributors

Implementing Basic 2D Physics in JavaScript — If you’ve ever seen a physics simulation on the Web and wondered about the basic math to pull it off, this will get you started.

Martin Heinz

▶  Building a Vue 3 Testing Framework from Scratch — This is not a guide to Vue testing but a look behind what’s necessary to implement your own testing framework for a framework like Vue.


How to Use Cloudflare JavaScript Workers to Deploy a Statically Generated Site

Ernesto Freyre

Debug JS Errors in Real-Time and Optimize Your Front-End Performance

Site24x7 sponsor

How To Create A Headless WordPress Site On The JAMstack

Sarah Drasner & Geoff Graham

3 Ways To Access Object Properties in JavaScript

Dmitri Pavlutin

10 Array Methods You Should Know — One for the beginners among you :-)

Rebecca Uranga

🔧 Code & Tools

CheerpJ 2.0 Released: A Java to WASM and JS Compiler — This is a commercial tool (though free for non-commercial purposes) but as someone who started on the Web in the 90s, the idea of Java being compiled to JavaScript continues to tickle me :-) Interesting tech.

Stefano De Rossi

vue-cli v4.2 Released — The latest release of the popular tools is fully baked with ESLint 6, optional chaining and nullish coalescing support, plus better Yarn 2 support if you’re using that.

Haoqun Jiang

Sharect: A Library to Let Users Share Text Selections to Social Networks — If you’ve seen how Medium lets readers select text and share it, it’s like that, but lighter.

Estevan Maito

New Time-Travel Debugger for JavaScript and TypeScript — Move forward and backwards through your code to understand the conditions that led to a specific bug, view runtime values, edit-and-continue, and more.

Wallaby.js sponsor

GLTFJSX 1.0: Turns GLTFs Into JSX Components — Turns GLTF (GL Transmission Format) files (as used for 3D models and scenes) into re-usable Three.js components.

Paul Henschel

Baretest: An 'Extremely Minimalistic' Alternative to Jest — A fast and simple JavaScript test runner that boasts a ‘brainless’ API. The motivation? Runniing tests as fast as possible.


Vendure: A Headless GraphQL E-commerce Framework — Built on Node, Nest and TypeScript. The idea is you’d use this for the backend, then implement the front-end of your store however you prefer.


defu: Recursively Assign Default Properties — In short, merge two objects together without the properties overwriting each other, as you might want to do when handling options and default settings on entry to a function.


x-spreadsheet: A JS and Canvas-Powered Spreadsheet Control