#​540 — May 28, 2021

Unsubscribe  |  Read on the Web

JavaScript Weekly

Sparkplug: V8's Non-Optimizing JavaScript Compiler — When you wonder just where the V8 team will pull out a few more % of performance improvements, they come up with something :-). Their new ‘super-fast non-optimizing compiler’ in V8 v9.1 sits in between the existing interpreter and TurboFan compiler engines and brings another 5-15% boost to benchmarks. Firefox has had a similar concept in the shape of the baseline interpreter.

Leszek Swirski (V8 Team)

Locate Front-End Issues Like JavaScript or Network Errors Instantly — Get proactively alerted on any client-side issues such as JavaScript and network errors, optimize the load time of your front-end resources, and detect any UI issues that affect critical user journeys. Try it free with Datadog Synthetics.

Datadog sponsor

TypeScript 4.3 Released — Just a couple of weeks after the beta comes the real deal with a rather long feature list:

  • An override keyword to explicitly define overriding methods.
  • A --noImplicitOverride flag to make it an error to override methods in superclasses without using the aforementioned override.
  • Template string type improvements.
  • Methods and accessors can now be given private names, e.g. get #someValue().
  • static index signatures.
  • And, yes, a lot more.

Daniel Rosenwasser (Microsoft)

Jest 27 Released, Complete with Some New Defaults — Jest has ‘flipped some switches’ and introduced some new defaults you’ll want to be aware of if you use the popular testing framework. You can now also interactively step through failed tests one at a time, get inline snapshots without using Prettier, and you get much faster initialization times than Jest 26 too.

Tim Seckinger

Quick Bits

Releases

fabric.js 4.5 — JS Canvas framework (and SVG to Canvas parser).
Chart.js 3.3 — Simple, flexible JS charting.
xstyled 3.0 — CSS-in-JS framework built for React.
Cypress 7.4.0 — Testing system.
ESLint 7.27.0 — Find and fix problems in your JavaScript.

💻 Jobs

Senior Frontend Engineer - Remote — Looking for a JS enthusiast who loves TypeScript, Next.js, and SSR. Let's build the future of finance together.
Kikoff

JavaScript Developer at X-Team (Remote) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more.
X-Team

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

▶  How To Create Your First Flow in Node-REDNode-RED is a browser-based ‘flow’ programming environment that uses Node.js under the hood. An interesting alternative way to build JavaScript powered systems.

Bleeding Code

A Thorough Analysis of CSS-in-JS — I feel too old-fashioned to fully buy into writing CSS alongside my JavaScript (sorry!) but Andrei does a good job at selling the benefits and compares some approaches.

Andrei Pfeiffer

Build a Node.js App with CockroachDB and the Node.js pg Driver — In this tutorial you’ll learn how to build a simple Node.js application with CockroachDB and the Node.js pg driver.

Cockroach Labs sponsor

Building a Rich WYSIWYG Text Editor From Scratch — Learn how to build a rich text editor into an app with Slate doing the heavy lifting.

Shalabh Vyas

The Modern Guide to React State Patterns — At one stage, you could basically just say ‘use Redux’ but there are so many options now, and this guide flies through a few approaches.

Fredrik Strand Oseberg

New Standards to Access User Device Hardware from JavaScript — WebHID, WebNFC, and Web Serial have opened up new avenues to interact with user’s device hardware for web apps. Device and browser support is kinda patchy, however.

Viduni Wickramarachchi

Using Pinia, an Alternative Vue.js Store — If you want to just go straight to the library, here’s its homepage (cute logo!)

Daniel Kelly

[Free Download] Guide to Effective Feature Management — Learn feature management practices to accelerate release cycles and deploy every 6 hours, instead of every 6 weeks.

LaunchDarkly sponsor

Get Started with React by Building a 'Whac-a-Mole' Game — This is truly aimed at beginners keen to strike some ‘aha!’ moments while learning React. Using it to create a simple game certainly could take you out of your comfort zone.

Jhey Tompkins

Where's The Best Place to Host a Next.js Site? — A detailed look at deploying a Next.js app to Vercel, Netlify, Layer0 and Heroku and rating them based upon a variety of factors.

Ondrej Polesny

A Beginner's Guide to Vue 3
Catalin Pit

🛠 Code & Tools

supported by Okta

Boring Avatars: React Library to Generate Custom Avatars — Ranging from generic gradients to face-like creations, this library (GitHub repo) generates custom, SVG-based, round avatars from any username and color palette.

Boring Designers

CandyGraph: A Fast, Flexible 2D Plotting Library — A flexible and fast-by-default 2D plotting library tuned for rendering huge datasets on the GPU at interactive speeds. And if that sounds like a boast, hit up the examples (the animated ones lower down are the most interesting).

Rye Terrell

Drag-n-Drop Email Editor for React, Angular and Vue

Unlayer sponsor

threads.js: Web Workers Meet Worker ThreadsThreads is both a terrifying nuclear apocalypse movie and also this library for making using both Web Workers and worker threads (as implemented in Node) as simple as possible. Outsourcing intensive code to other threads can really help in some cases.

Andy Wermke

NocoDB: An Open Source Airtable-a-Like — Airtable is a popular commercial spreadsheet-database service that we even use here at Cooperpress to help put the newsletters together. This is a flexible and surprisingly good looking open source pastiche with a Vue powered frontend.

nocodb team

ts-node 10.0: TypeScript Execution and REPL for Node
TypeStrong

eslint-plugin-tailwindcss: ESLint Plugin for Tailwind CSS Usage
Francois Massart

Velociraptor 1.0: npm-Style Script Runner for Deno
JurassiScripts