#470 — January 10, 2020

Read on the Web

JavaScript Weekly

Snowpack: A 'Run Once' Dependency Builder/Modularizer — An interesting project (formerly known as pika/web) from the folks behind Pika. The idea is that you run Snowpack once after npm install and it prepares your dependencies as ES modules that can be loaded dynamically by the browser so you don’t need to rebundle on every code change you make. This isn’t good if you want to target old browsers, but for the 90% of cases, this could change your dev process.

Fred K. Schott

2019's JavaScript 'Rising Stars' — If you don’t like popularity contests, skip this one, but it’s the latest annual roundup of which JavaScript projects did well in terms of gaining GitHub stars in 2019. Vue took the top spot for the 4th year in a row, but the subcategories are more interesting.

Michael Rambeau and Sacha Grief

Get Best in Class Error Reporting for Your JavaScript Apps — Time is money. Software bugs waste both. Save time with Bugsnag. Automatically detect and diagnose errors impacting your users. Get comprehensive diagnostic reports, know immediately which errors are worth fixing, and debug in minutes. Try it free.

Bugsnag sponsor

Dan Abramov on What JavaScript Is Made Up Of — Dan (of React core team and Redux fame) reflects on his mental model of what JavaScript is in terms of raw concepts.

Dan Abramov

How to Move a Project to TypeScript - At Your Own Pace — We’ve recently commented how 2019 seemed to be the year of many people ‘switching’ to TypeScript.. but if you’re intimidated, you might like this guide to moving an existing project in a gradual way.

Dominik Kundel

The State of Storybook at the End of 2019Storybook is a popular tool for developing and showcasing UI components (originally just for React, but now supporting Angular, Vue, and more). 2019 saw even more growth for Storybook’s ecosystem and community.

Michael Shilman

⚡️ Quick Releases

💻 Jobs

Full-Stack or Front-End Engineer - Rails/React (Remote/NYC) — Got 2+ years of experience? Come help build the next iteration of our growing digital recovery platform centered providing alcohol abuse treatment.


Find a 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

An Abbreviated History of JavaScript Package Managers — This post explains why npm, Yarn and pnpm were created and the problems they’ve set out to solve over time.

Matt Goldwater

Understanding Async/Await — A straightforward and easily accessible tutorial on using promises and how async and await can make the resulting code more straightforward.

Sarah Drasner

CFP for ForwardJS San Francisco and Ottawa now OPEN — Submit your proposal to speak at ForwardJS Ottawa (May 26-29) or San Francisco (July 20-24) Ticket sales begin Jan 15.

ForwardJS sponsor

Off Main Thread Architecture with Vuex — Inspired by Surma’s articles on using Web Workers to take work off of the main thread, Abdelrahman was inspired to see how this could help with Vue and Vuex.

Abdelrahman Awad

How To Create And Deploy an Angular Material App — This article will help you get started with a new Angular project from just a thought to deployment (on Netlify, in this case).


Things I've Learnt Optimizing My Build Time — Things a developer has learnt implementing some build time optimization techniques at the company he works for.

Eldad Bercovici

Why I Avoid Nesting Closures“A little tendency I have to reduce cognitive load for readers of my code.”

Kent C Dodds

A Basic Example of the Web Share API — The Web Share API enables native sharing (via other apps/social networks) on pages.

Dillion Megida

Breaking Chains with Pipelines in Modern JavaScript

Dan Shappir

Comparing the Different Types of Native JavaScript 'Popups'window.confirm, window.onbeforeunload, etc.

Elliot Goldman

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

▶  Why GitHub Actions Is One Developer's New Favorite Programming Tool — While Github Actions is commonly associated with deployment and pipelines, it’s ultimately an engine for running JavaScript in the cloud, and that opens up some neat use cases as demonstrated here. 17 minutes.

Kristian Freeman

🔧 Code & Tools

Craft.js: A React Framework for Building Drag and Drop Page Editors — It’s a bold move to make the landing page for your project be a text editor itself, but I like it :-)

Prev Wong

Code to Graph: Visualize JavaScript Code as a Network Diagram — An interesting idea and fun to play with.

Vincent Lecrubier

Faster CI/CD for All Your Software Projects Using Buildkite

Buildkite sponsor

Mocha 7.0 Released: The Popular JavaScript Test Framework — Mocha has been a popular go-to test framework for both Node and the browser for years now. 7.0.0 isn’t a huge release but drops Node 6 support and makes enough changes and deprecations to warrant the version update.


Postgres.js: A Fast, Full-Featured Postgres Client for Node — Claims to be the fastest even (at 2-10x faster than the popular pg module) but we’ll let you be the judge of that :-)

Rasmus Porsager

scalajs-react: React, but for Scala.JS — Feeling brave? Scala.js provides a way to build front-end apps using Scala (which is then compiled into JavaScript) and scalajs-react brings React into the mix too.

David Barri

😂 Last but not least..

The Size of a node_modules Folder When Installing The Top 100 Packages — We’ve all heard the jokes about the size of node_modules directories, but I found it neat that someone’s actually tracking this on an ongoing basis. And if you really want to clean up those folders, check out npkill.

Koen van Gilst