Plus Deno 1.9, D3.js 6.7.0, and a string function cheatsheet. |

#​534 — April 16, 2021

Unsubscribe  |  Read on the Web

JavaScript Weekly

Comparing the New Generation of Build Tools — A detailed evaluation of a variety of approaches for bundling JavaScript and other front-end assets, including Snowpack, esbuild, Vite, and wmr. A handy overview.

Hugh Haworth

Slow and Steady: Converting Sentry’s Entire Frontend to TypeScript — Dozens of developers took a year to convert 1,100 files and 95,000 lines of code from JavaScript to TypeScript. This is one of those “we did a complicated thing and here’s what we learnt” pieces you’ll want to point to if your workplace attempts a similar thing.

Priscila Oliveira and Mark Story (Sentry)

Get to Know Chrome’s Dev Tools — Join Jon Kuperman for this introduction to Google’s Chrome Developer Tools. You’ll learn how to edit, debug and profile you web apps in this detailed video course.

Frontend Masters sponsor

15 DevTool Secrets for JavaScript Developers — I think ‘secrets’ is a bit bold, but nonetheless I picked up a few tips here. Breaking on DOM changes, filtering requests in the Network panel, and copying requests in fetch or curl format are all very neat.

Craig Buckler

🎤 It must be the season for thinking about the DevTools as the Syntax.fm podcast did an episode explaining the DevTools tabs too.

Quick Bits

Releases

D3.js 6.7.0 — Data visualization toolkit.
eslint-plugin-vue 7.9.0 — ESLint plugin for Vue.js.
react-markdown 6.0 — Markdown component for React.
pnpm 6.1.0 — Alternative 'disk space efficient' package manager.
Cypress 7.1 — Testing for anything that runs in a browser.

💻 Jobs

JavaScript Engineer — Join our "kick ass" team. Our software team operates from 17 countries and we're always looking for more exceptional engineers.
Sticker Mule

Find Software Engineering Jobs with Hired — Take 5 minutes to build your free profile & start getting interviews for your next job. Companies on Hired are actively hiring right now.
Hired

📖 Articles, Opinions & Tutorials

A Thorough Guide to Working with Strings in Modern JavaScript — A well presented suite of examples showing off numerous string manipulation techniques from how template literals work to joining, comparing, and searching through strings.

Dave J Saunders

Hyperapp – Is It a Lightweight 'React Killer'? — There are lots of frameworks which aspire to chip away at React’s market position. After an ecosystem setback when breaking changes were introduced in v2, Hyperapp is back and its claimed benefits warrant another look.

Arek Nawo

A Simple Start to ES Modules in Node.js — Once Node 10 shuffles away later this month, every supported Node release will support ES modules in addition to CommonJS. If you haven’t dipped a toe in the ESM water yet, Kent keeps it simple and straightforward with an example here.

Kent C Dodds

You Build the App, We’ll Parse the Logs — Send logs from your Node.js and JavaScript apps to LogDNA. We’ll parse them so you can search and take action in real time.

LogDNA sponsor

An Introduction to the switch(true) Pattern — Seán likes it, but I’m not so sure. It’s an interesting way to manage a complex set of conditionals though.

Seán Barry

How to Send Tweets with a JavaScript GitHub Action — Learn how to create a GitHub action which sends a tweet whenever a pull request is merged.

James Hibbard

A Real World CSS vs. CSS-in-JS Performance Comparison — No huge surprise here, I suspect.

Tomas Pustelnik

Building a Video Streaming App with Nuxt.js, Node and Express — A walkthrough of creating a server-side Node app that will handle the fetching and streaming of videos, generating thumbnails, and serving captions and subtitles. Nuxt.js is the Vue.js based framework that brings it all together.

Deven Rathore

Book a Demo. Ship Fast. Rest Easy. LaunchDarkly — Testing in production? It's scary until it's not. Control your code. Ship fast. Reduce risk. Reclaim your life.

LaunchDarkly sponsor

▶  Building an ASCII Game Engine That Runs in the Browser — One of the best JavaScript YouTubers moves into a little bit of game development. If recreating Dwarf Fortress is on your bucket list, you might enjoy this.

Low Level JavaScript

Going “Meta GSAP”: The Quest for “Perfect” Infinite Scrolling
Jhey Tompkins

Tricking TypeScript Into Typing Untyped JavaScript Modules
Kamran Ayub

JS Classes Are Not “Just Syntactic Sugar”
Andrea Giammarchi

🛠 Code & Tools

Deno 1.9 Released — Node's anagrammed cousin continues to get even better. 1.9 brings a native HTTP/2-compliant Web server (which seems to beat Node's in basic benchmarks), support for blob and data URLs, faster interop with the underlying Rust code, and more. "Why use Deno," you ask? Think V8, but with the layer on top built in Rust, with a focus on extra security, first class TypeScript support, and offering browser-compatible APIs wherever possible.

The Deno Team

Announcing react-pdf v2.0 — While it remains backward-compatible with v1, the new version of react-pdf is a complete reimplementation from scratch. It offers a new hook-based API, improved performance, SVG support, and support for more CSS properties including z-index and overflow.

Diego Muracciole

Automate Code Standard Enforcement with Lightweight Static Analysis

Semgrep sponsor

party.js: A Way to 'Brighten Up' Your Site with Visual Effects — Back in the late 90s and early 00s, JavaScript was very commonly used to add ‘sparkle’ to Web sites in the form of snow, unusual cursors, and such. This is in much the same spirit. Support varies but it’s presented well.

YilianSource

Algolia Search API Client for JavaScript — An official, fully featured low-level client for interacting with Algolia, a popular search API. Works in both the browser and on Node.

Algolia

jest-puppeteer 5.0: Run Your Tests using Jest and Puppeteer

Smooth Code

o