Plus two approaches to being a JavaScript expert, choosing a React state management library, and an ESLint plugin for better regexes. |

#531 — March 26, 2021

Unsubscribe  |  Read on the Web

JavaScript Weekly

Human-Readable JavaScript: A Tale of Two Experts — JavaScript gives us many ways to do things, but deciding which way can be tricky. Laurie Barth looks at two broad approaches to choosing different paths with using new language features.

A List Apart

Sinon.JS 10: Test Fakes, Spies, Stubs and Mocks for JavaScript — We’ve mentioned Sinon in passing for years but never featured it directly, so when better than a big 10.0 release? Sinon is something you’d use when you have tricky things to test where a test double/stand-in object might be appropriate.

Sinon Committers

New Course: Production-Grade Next.js with Scott Moss — No matter if you’re making a blog, marketing page, or a full-stack app, Next.js has the tools you need. This detailed course runs through everything you need to build a production-ready, full-stack app.

Frontend Masters sponsor

SvelteKit Now In Public Beta — Back in November, we linked to What’s the deal with SvelteKit? – an article from Svelte’s creator on how he was rethinking the process of building Svelte apps. Here’s step one of the result: think of it as Next for Svelte. It’s a framework for building apps with Svelte, complete with server-side rendering, routing, code-splitting for JS and CSS, adapters for different serverless platforms and so on. This episode of Svelte Radio may also be of interest.

Rich Harris (Svelte)

📈 Billboard.js 3.0: The D3.js-Powered Chart Library — A popular library supporting a whole range of chart types out of the box (bar, line, areas, donuts, radars, and various hybrids) – 3.0 brings candlestick / OHLC chart support (often used in financial contexts) and supports D3.js v6. Project homepage.

Jae Sung Park

Quick Bits

Quick Releases

Node 15.12.0 — Runs all the things.
webpack 5.28.0 — The big bundler of everything.
React Spring 9.0 — Animation library for React apps.
pkg 4.5.0 — Turn Node apps into executables.
ReacType 6.0 — Visual React prototyping tool.

📖 Articles, Opinion & Tutorials

React State Management Libraries and How to Choose — An overview of the best state management libraries and how to choose the right state management strategy for your app.

Dave Ceddia

▶  Discussing WebAssembly and WASI with Aaron Turner — The use of WebAssembly for deploying code generated by languages like Rust and Go to the Web is reasonably well understood, but this interview digs more into WebAssembly’s uses on the server (including for, yes, serverless use cases!) and how WASI makes it possible.

Serverless Chats Podcast podcast

Collaborative, Effortless Project Management — Clubhouse helps engineering and product teams ship quality software, faster. Easily import from Jira or Trello.

Clubhouse.io sponsor

▶  Automating Social Images with Airtable, Cloudinary, and Serverless — It’s an hour long but this is a fun format for a video.. a developer is brought on to solve a problem, live, in an hour. James’ challenge is to create a system to auto-generate social media sharing images using a variety of tools.

Colby Fayock and James Quick

The Difference Between Values and References in JavaScript — A look at the difference between passing by value and passing by reference.

Dmitri Pavlutin

How to Create a Screen Reader Accessible Graph (Like Apple's) with D3.js — A neat use of D3.js (commonly used to create data visualizations) to recreate Apple Watch-style ‘activity rings’. A detailed tutorial with lots of code and CodePen examples to dive into.

Sarah L. Fossheim

Nine JavaScript and TypeScript ORMs for 2021 — A roundup, complete with code examples, showing off a variety of tools like Knex.js, Mongoose, TypeORM, Waterline, and Bookshelf.

Michael Wanyoike

Observability Won’t Replace Monitoring (Because It Shouldn’t)

Lightstep sponsor

Why I Prefer Makefiles Over package.json Scripts
John Ruble

How To Navigate Between Views with Vue Router
Dave Berning

🛠 Code & Tools

supported by Okta

wordwrapjs: A Word Wrapping Library for Node and Browser — It always intrigues me to see a package with over 700,000 downloads per week but relatively few GitHub stars.

Lloyd Brookes

eslint-plugin-clean-regex: ESLint Plugin for Better Regular Expressions — Catches things like redundant or non-functional patterns and can optimize character classes.

Michael Schmidt

Aladino: A Tiny WebGL Library to Enhance Your Site with Shader Effects — Lots of cool examples on the demo page but some of these can likely be accomplished with more optimal code.

Luigi De Rosa

Breakpoints and console.log Is the Past, Time Travel Is the Future — 15x faster JavaScript debugging than with breakpoints and console.log.

Wallaby.js sponsor

Faker.js 5.5: Generate Realistic Fake Data in Node and Browser‘No more free work’ said the maintainer of Faker.js last year, but happily he’s back maintaining this library, has received some support, and he has a (paid) API service to help keep the lights on.

Marak Squires

Piscina: A Fast Worker Thread Pool Implementation for Node.js — Now that Node now offers worker threads which bring true multithreading to Node apps..

Piscina

CodeTour: VS Code Extension to Record and Playback Guided Tours of Codebases — Here it is on the Visual Studio marketplace.

Microsoft

Intro.js: A User-Friendly 'Onboarding Tour' Library — For creating step-by-step product tours as commonly used when onboarding SaaS users, say. It’s AGPL-licensed, so a license is needed for commercial use. Shepherd is a similar MIT-licensed alternative.

Afshin Mehrabani

jsep: JavaScript Expression Parser“Think of jsep as a tool to parse the kinds of expressions that would be written in individual Excel cells.”

Stephen Oney

Delaunator 5.0: Fast Delaunay Triangulation of 2D Points — The demo is the best way to get a feel for what this is about.

Mapbox

TypeScript Dedent: Smartly Trim and Strip Indentation from Multiline Strings

Tamino Martinius

💻 Jobs

Senior JavaScript Developer (Fullstack) — We’re looking for a senior full-stack developer to help us build a high performance, high accuracy online fraud prevention service.

FingerprintJS

Software Engineer at Carbon Five — Stagnating? Carbon Five has new projects, tech and challenges perfectly paired with kind, supportive, brilliant people. Check us out.

Carbon Five

Find Your Next Job Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.

Hired

o