#478 — March 6, 2020
JavaScript Weekly
An Interactive Introduction to D3 — D3, the JavaScript library for producing interactive data visualizations, has just turned 9 years old so you’re probably familiar with it by now.. but this introduction is particularly neat as it’s an example of a live, interactive ‘notebook’ style tutorial.
MIT Visualization Group
Understanding the ECMAScript Spec, Part 2 — Part 1 looked at how to understand a single (and simple) method by reading the official ECMAScript specs. Part 2 goes into a trickier domain, understanding how ES interpreters do prototype lookups.
Marja Hölttä
🐋 Learn Docker in the New, 'Complete Intro to Containers' — Learn to create containers from scratch and with Dockerfiles, run containers from Docker Hub, and learn best practices are for front-end and Node.js code in containers.
Frontend Masters sponsor
p5.js 1.0: The 'Creative Coding' Libary — A major milestone for a long-standing JavaScript library that builds upon Processing, a popular creative coding environment (which also inspired the Arduino IDE). p5 is a bit hard to explain succinctly, so definitely check it out.
lauren mccarthy
Rollup 2.0 Released: The ES Module Bundler — Write your code using ES modules and get tree-shaking/dead code elimination and bundling to the format you require. v2 gets rid of lots of deprecated stuff, goes zero-dependency, and includes chokidar to improve its ‘watch’ mode’.
Lukas Taegert-Atkinson
A Growing Collection of 86 Node.js Best Practices — An in-depth guide for Node devs, available in multiple languages. Divided into 7 sections and updated regularly.
Yoni Goldberg
💻 Jobs
Senior JavaScript Developer (Warsaw, Relocation Package) — Open source project used by millions of users around the world. Strong focus on code quality. Join us.
CKEditor
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.
X-Team
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.
Vettery
i️ If you're interested in running a job listing in JavaScript Weekly, there's more info here.
📘 Articles & Tutorials
4 Best Practices To Writing Quality ES Modules — Principally these ideas are around organizing modules you create: prefer named exports, do no work during import, favor high cohesion and avoid long relative paths.
Dmitri Pavlutin
The Perils of Rehydration: An Eye-Opening Realization about Gatsby and React — We love how the author explains this piece himself: "Last week, I learned a whole lot about how React’s rehydration works. Wrote up those findings in a blog post!"
Josh W Comeau
Top GitHub Best Practices for Developers — Expanded Guide — Implementing these best practices could save you time, improve code maintainability, and prevent security risks.
Datree sponsor
7 Types of Native Errors in JavaScript You Should Know — A beginner’s level introduction to understanding the meaning behind errors like RangeError, ReferenceError and URIError.
Chidume Nnamdi
▶ Discussing JavaScript Deployments with Brian LeRoux — Brian is well known as an expert in the JavaScript space and is working on a serverless based platform for deploying JavaScript-powered APIs so it’s neat to hear what he thinks.
Software Engineering Daily podcast
▶ Building an Animated Counter with JavaScript — JavaScript has just gotten so serious nowadays, so I like to frequently link to tutorials like this that cover building neat Web page effects.. like we used JavaScript for back in the 90s 😄 18 minutes.
Traversy Media
3 Ways to Render Large Lists in Angular — An overview of the available techniques to render large lists of items with Angular.
Giancarlo Buomprisco
CES, Viacom & Intel Use .Tech Domains. What About You? Search Now
.TECH domains sponsor
In Favor of Small Modules and Plumbing — "This post examines how I used to be of the mindset that publishing a plethora of "focused" modules is a waste of time but now think is a fantastic idea."
Paul Anthony Webb
🔧 Code & Tools
Stryker: Test Your Tests with Mutation Testing — Stryker fiddles with your tests (in a large and complicated number of ways) and expects this to break them. If it doesn’t, your tests are too brittle and therefore failed the test. This is not something to run frequently (as it can be very slow) but is an interesting way to stress test your tests, if you will.
Jansen, de Lang, et al.
Immer 6.0: The Popular Immutable State Library — Immer only continues to get better over time but take note of the breaking changes.
immer
A Much Faster Way to Debug Code Than with Breakpoints or console.log — 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
Vue Formulate: The Easy Way to Build Forms with Vue.js — A well presented library that brings a lot of simple form-building power to Vue apps.
Braid LLC
Goxygen: Quickly Generate a Go and MongoDB-Backend for a JS Project — We first linked this opinionated full stack app generator only a few weeks ago, but since then it’s had a 0.2 version that extends its support from React to Angular and Vue.js too.
Sasha Shpota
ls-lint: A Fast File and Directory Name Linter — Also written in Go but clearly aimed at JS/front-end dev use cases. ls-lint provides a way to enforce rules for file naming and directory structures.
Lucas Löffel
i️ If you're interested in Go as well as JavaScript, check out our sister Go newsletter.
isomorphic-git 1.0: It's git but in Pure JavaScript — A pure JavaScript implementation of git for both Node and the browser.
isomorphic git team
Bootstrap Treeview: A Simple Plugin to Build a 'Treeview' with Bootstrap 4 — Here’s a live demo.
Sami Chniter
🎧 Something for the weekend..
▶ 'Somebody Somewhere Is Generating JS From Fortran..' — This is more a fun podcast listen for the weekend if you have the time. Brian Leroux (yes, again!) and Kevin Ball tackle all sorts of JavaScript topics from modules and progressive bundling to building infrastructure as code and the future of ‘JAMstack’.
JS Party Podcast podcast