#475 — February 14, 2020

Unsubscribe  :  Read on the Web

An oddly quiet week in terms of big, timely news, but yet again there's so much generally going on that I think we've got a good issue here :-) Till next week!

JavaScript Weekly

FullCalendar: A Full Sized JavaScript Calendar Control — An interesting option if you want a Google Calendar style control for your own apps. Has connectors for React, Vue and Angular. The base version is MIT licensed, but there’s a ‘premium’ version too.

Adam Shaw

How to Make a WebGL-Powered US Counties Map with D3 and Three.js — Creating a simple SVG-based map is one thing, but if you want the best performance, leaning on WebGL and your GPU is a good option. This tutorial covers how to approach moving from SVG to WebGL by way of Three.js.

Mika Iriarte

New: Our 'Most Loved' JavaScript Course 🧡 Gets Updated — Take your JavaScript to the next level. Gain an understanding of callbacks, higher order functions, closure, asynchronous and object-oriented JavaScript.

Frontend Masters sponsor

On the Maintenance of Large Open-Source Projects — A written-up group chat with former Node core team member Bert Belder (of libuv fame) and Leaflet creator Vladimir Agafonkin about what it takes to maintain large open source projects.

Anne-Laure Civeyrac

Tiny Helpers: Single Purpose Online Tools for Web Developers — A growing collection of single-purpose online tools aimed at developers of all types. Covers things like base64 conversion, color management, favicon generators, exploring JavaScript ASTs, key codes..

Stefan Judis

7 (Possibly) Good Reasons Not to Use TypeScript — Hang on.. did you read that headline right? Why not to use TypeScript? Yes, despite all the buzz around TypeScript, you don’t have to use it and there might be good reasons not to (although the reasons presented are highly opinionated and you’re free to disagree too).

Michael Krasnov

Quick bytes:

  • There's a sneaky bug in Chrome 80 that affects Array#reduce and it has broken people's Angular apps. Here's a potential quick fix.
  • If you want to go to VueConf in Austin in a few weeks, I'm told this is the last week you can get tickets.
  • GitHub's new CLI tooling is now in beta and will help smooth out a lot of your GitHub workflow.

💻 Jobs

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.


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.


📘 Articles & Tutorials

Why JavaScript is Eating HTML — The idea of JavaScript and HTML remaining separate and never the twain shall meet is now decidedly old-school and HTML-in-JS (a la JSX) is definitely A Thing™. Here’s a tour of all the parts involved.

Mike Turley

Building a Continuous Integration and Deployment Pipeline Using Docker — A really sweet, well paced tutorial that almost anyone would be able to follow to set up a basic CI/CD process for a Node app.

Tania Rascia

A Pool Table-Style 'Bouncing Balls' Simulation in Plain JS — It’s mostly code but included in tutorials as it’s designed to be a learning experience. Here’s a demo of the end result.

Meto Trajkovski

Optimize the Performance of Single Page Applications Using RUM

Site24x7 sponsor

How to Publish an Updated Version of an npm Package — If you release your own npm packages, or if you’ve inherited packages from your team, this is a nice guide that covers many of the challenges with getting a new version out.

Scott Vandehey

70 JavaScript Interview Questions — You’re never going to get a list like this that’s perfect but it’s a pretty solid list of the sorts of questions (and answers) you could get thrown at an interview, so if you’re in that position..

Mark Abeto

4 Methods to Search Through Arraysincludes, find, indexOf, and filter.

Stephen Hartfield

▶  Fast by Default: Algorithmic Performance Optimization in Practice — A talk from dotJS 2019.

Vladimir Agafonkin

ForwardJS Ottawa (May 26-29) Speakers Announced — Topics include React/Redux, TypeScript, containers, design systems, static sites, scaling teams and monorepos. Join us.

ForwardJS sponsor

Building Bridges with Other Departments in Developer Relations — If you've been in the JavaScript world a while, you might be familiar with Estelle Weyl and her insights will interest you if a career in developer relations has ever intrigued you.

Dave Nugent and Estelle Weyl

How To Create Maps with React and Leaflet

Shajia Abidi

Building a 'Grouper' Component for Svelte — Mat Ryer shows how you can build a Grouper component in Svelte to neatly group up lists into meaningful sections.

Mat Ryer

🔧 Code & Tools

Debug Visualizer: Visualize Data While Debugging in VS Code — An interesting looking VS Code extension that lets you visualize the result of an repeatedly evaluated expression. An intriguing idea, though I think you’d need to fiddle a bit to get the results you want.

Henning Dieterichs

plink-plonk.js: Listen to Web Pages As Their DOM ChangesThis is really cool. Run this code at a console on a ‘busy’ Web page with lots of DOM changes and updates and you’ll be able to ‘hear’ them taking place.

Tom Hicks

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

Type Route: A Flexible, Type-Safe Routing Library — A flexible routing library with TypeScript support, designed with React integration in mind (indeed, it’s used in React Router), but can be used with any framework (Vue, Angular, etc).


Ionic 5 Released: A Popular Webapp + Native Framework — Ionic’s goal is to get you an app you can put on an app store and the Web with a single shared code base, yet with adaptive styling to look native in each case. It was originally focused on Angular but now has an official React integration.

Brandy Carney

esbuild: An Extremely Fast JavaScript Bundler and Minifier, But... — An experiment in proving that tools for bundling JavaScript can actually be very fast.. though in this case by implementing one in Go ;-)

Evan Wallace

LegraJS: Render Lego Brick Graphics to a Canvas — A small library for drawing LEGO style brick shapes on to a canvas.

Preet Shihn