#​594 — June 17, 2022

Unsubscribe  |  Read on the Web

JavaScript Weekly

AbortController is Your Friend (for Cancelling Async Tasks and More)AbortController provides a way to abort web requests at any point without waiting for a response, but it’s possible to apply its handy mechanism to other use cases, as shown here.

Sam Thorogood

Microvium: A Tiny JavaScript Engine for Microcontrollers — How tiny? Try 8.5 KB and needing just 34 bytes of RAM at idle. Despite neat projects like Espruino, JS has never been a natural fit for constrained environments but Microvium, Elk and low.js are working hard at the problem. Here’s how Microvium works and the obligatory GitHub repo.

Michael Hunter

Couchbase Capella DBaaS: Store in JSON, Access with SQL — Build faster with in-memory performance, automatic replication and scaling. Try it now for free and be live in under three minutes

Couchbase sponsor

Vitest: A Vite-Powered 'Blazing Fast' Unit Testing Framework — Brings a lot of cool stuff into one place and really is quick – if you want near instant feedback when you change your code, check it out. You get Vite’s transformers, resolvers, and plugins, snapshot testing, native code coverage, component testing, an instant watch mode, and more.

Vitest

IN BRIEF:

  • ⭐️ Last week, Vue.js's creator gave ▶️ a 'State of the Union'-style address on the project (plus Vite) for Vue.js Amsterdam.

  • 👾 OneJS is an intriguing JavaScript-based scripting engine for building UIs in the Unity game engine. There's some example code of using it to create a UI on top of a game.

  • Someone scraped 1 million top domains to analyze what JS libraries they're relying upon. There's a lot of data or just enjoy this summary graphic showing that jQuery leads the way! Ken Wheeler's Slick also does very well. WordPress seems to have a big influence here.

  • 📆 Sails is a MVC-oriented webapp framework for Node and an online Sails event, Sailsconf, is taking place on YouTube on June 22-24 (next Weds-Fri).

  • The end-of-life date for Node.js 16 has been brought forward to September 2023 to coincide with the EOL of OpenSSL 1.1.1.

RELEASES:

Prettier 2.7 – Now supports TypeScript 4.7 syntax.
Lerna 5.1 – JS monorepo management now even faster.
Strapi 4.2 – Node.js headless CMS.
Octokit.js 1.8.0 – GitHub SDK for Node, Deno and browsers.
Inferno 8.0 – Fast React-like UI library.
Boa 0.15 – Experimental JS parser and compiler in Rust.
Ember.js 4.5
Node.js v18.4.0 – Minor cleanups.

💻 Jobs

Software Engineers — Sticker Mule is the Internet's most "kick ass" brand. Our software team operates from 17 countries, and we're always looking for more exceptional engineers.
Sticker mule

Senior Software Engineer at This Dot Labs (Remote, Worldwide) — Great benefits working in modern tech stacks and amazing clients such as Google, Meta, Twilio, Cloudinary, Roblox, and more.
This Dot Labs

Senior FullStack Engineer (Vue.js + Node.js) at Lepaya — Lepaya is hiring awesome developers like you. Come and help us to empower professionals across the globe.
Lepaya

Find JavaScript Jobs with 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

📒 Articles & Tutorials

▶  How to Remove 99% of JavaScript from the Main Thread — The original creator of Angular gives a talk about the Qwik framework which takes a low-JavaScript HTML-first approach to building front-end apps. Partytown gets involved to move scripts into Web Workers, taking them off of the main thread.

Misko Hevery

Notes on Maintaining an Internal React Component Library — A developer’s thoughts on maintaining a component library as part of an existing design system used by a large number of frontend apps at DigitalOcean.

Gabe Scholz

The Complete Guide to Building a React Form in 2022 — A good form can be a thing of beauty - and beauty's in the details. Read this blog for everything you need to know about designing & building sleek, user-friendly and accessible Forms.

Progress KendoReact sponsor

▶  Ten Talks from JSConf Budapest 2022 — Took place a few weeks ago and these are good quality recordings. Gil Tayar’s talk about the type annotations proposal is a good place to start.

JSConf

▶  Zen and the Art of Building a Gmail-like UI with React Native — A beautiful (dare we say, zen) screencast with high production values, no spoken words and shot on location at a temple.

Takuya Matsuyama

See How Much Free Time Engineers Have in the State of Engineering Time Report

Retool: State Of Engineering Time Report sponsor

Using Web Streams on Node.js
Dr. Axel Rauschmayer

🛠 Code & Tools

Component Encyclopedia: A Catalog of 5000+ UI ComponentsStorybook, a UI component devtool, has unveiled a visual catalog of 5,000+ components (mostly React, but some Vue and Web Components) – you don’t need to be a Storybook user as links to repos and demos are provided.

Dominic Nguyen (Storybook)

ow 1.0: Function Argument Validation for Humans — A fluent API to define constraints for function arguments (e.g. ow(input, ow.string.minLength(5))) and get nice error messages on failure. Now a pure ESM package. GitHub repo.

Sindre Sorhus

zx v7.0: Better Shell Scripting with JavaScript — If writing JavaScript sounds better than wrestling with bash, Perl or Python, zx is for you. v7.0 is rewritten in TypeScript, has an echo function for printing the output of other scripts, within for creating new async contexts, and a new interactive REPL mode (behind -i).

Google

Fx 24.0: A Command-Line JSON Processing Tool — If you’ve got some JSON you want to slice and dice, Fx is for you. It was recently rewritten in Go from its original JavaScript but you can still write reducers in JavaScript (or Ruby, or Python) with it. A handy tool.

Anton Medvedev

Studio 3T Manages Your Data, While You Wrestle Your App into Shape — Studio 3T's full suite of MongoDB tools lets you query quicker, develop with data even faster and turn queries into code automatically. Try it free for 30 days - no credit card needed.

Studio 3T sponsor

Moon: A New Build System for the JavaScript Ecosystem — Built in Rust for performance, Moon appears to be focused on features for larger projects that may have lots of dependencies, developers, and processes to balance. It’ll be interesting to see this one develop further.

Miles Johnson

public-ip 6.0: Quickly Get Your Public IP Address — Works in both Node and the browser and uses different approaches on each. v6 lets you choose between IPv6 and IPv4.

Sindre Sorhus