#​595 — June 24, 2022

Unsubscribe  |  Read on the Web

JavaScript Weekly

Ecma International Approves ECMAScript 2022, But What’s New? — Thanks Ecma – ECMAScript 2022 is now an approved standard. JavaScript’s resident doctor brings us up to speed with what this means in practice, as well as answering a few common questions. You’ll already be using some of these features – this is mostly about tying up the formalities. On to ES2023..

Dr. Axel Rauschmayer

❓ If you're unfamiliar with ECMAScript as a term, it's the name of the generic, standardized language behind JavaScript implementations, as JavaScript is technically a trademark of the Oracle Corporation. Longer explanation.

In Defense of Blocks to Create Localized Scope — Kyle Simpson (of YDKJS fame) pops up to give his thoughts on a recently popular article about using ‘block statements’ to group code together which attracted some criticism. In short, Kyle’s a big fan of the approach.

Kyle Simpson

New Course on Web Components — "Web Components are one of the most exciting new technologies on the web platform today." ~Dave Rupert. Learn to create your own custom web components using JavaScript and the Lit library in this course.

Frontend Masters sponsor

When You Should Prefer Map Over Object In JavaScriptMap objects are (nearly) universally available in JS implementations now and present some benefits to using regular Objects.

Zhenghao He

What the React Team is Working On Now — With the React 18 launch behind them, the React team has turned their attention to the future and this post gives some detailed hints of what’s going on. It’s not a road map, though, and they stress that some of what’s discussed many not even materialize as-is.

The React.js Team



Angular ESLint 14.0
FontKit 2.0– Advanced font engine for Node and the browser.
melonJS 11.0 – 2D sprite-based game engine.
Fastify 4.1 – Popular low overhead Node web framework.
Capacitor 3.6 – Build cross-platform native apps with JS.
Partytown 0.6.2 – Relocate intensive code into Web Worker threads.
Gatsby 4.17
React Native 0.69 – Hello React 18 support!

💻 Jobs

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.

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

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.

📒 Articles & Tutorials

Using Playwright Test to Run Unit Tests — A comparison of Playwright’s new test runner versus ‘traditional’ approaches like Jest and Mocha.

Patrick Kerschbaum

▶  Let's Code Skifree with JavaScript and Kaboom.js — Ania is back with one of her usual fantastic screencasts recreating a game I spent a lot of time on at school in the 90s. (Though it's not quite as old as Ania suggests.. 😅)

Ania Kubów

Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut — The best issue tracking software is one that software developers are actually happy to use. Try it for free today.

Shortcut (formerly Clubhouse.io) sponsor

Alternatives to Installing npm Packages Globally — A topic often prone to tripping folks up.

Dr. Axel Rauschmayer

Random Notes Around Service Workers Development and Testing“a bunch of tips and tricks I learned through the years around service workers”

Matteo Mazzarolo

Precise Timing with the Web Animations API — Working with timers in JavaScript can quickly get complicated. Kirill takes a look at how the Web Animations API could eliminate the need for such timers in certain cases.

Kirill Myshkin

Observability for Your Jest Tests

Buildkite Test Analytics sponsor

How to Create a Vanilla JS Gantt Chart — The first part came out in August last year if you want to catch up.

Anna Prenzel

Sponsoring Dependencies: The Next Step in Open Source Sustainability
Nicholas C Zakas

▶  Discussing the Art of Authoring Browser Extensions with Tim Leland
Syntax Podcast podcast

🛠 Code & Tools

Puppeteer 15.0: Control Headless Chrome from NodePlaywright has picked up a lot of the browser control market in recent years, but the popular Chrome-oriented Puppeteer remains a fantastic option if you don’t need to support multiple browsers. It now uses Chromium 103 and supports Node 18.


Deep Persistent Proxy Objects: Automatically Persist JS Objects in IndexedDB — Create and maintain objects that automatically back themselves up to IndexedDB behind the scenes, so that if you refresh or restart the app in the browser, the object’s content is automatically restored to its previous state.

Rob Tweed

Tired of Manually Managing Your Content Security Policies? — Meet DomainGuard! DomainGuard gives you customization, automation, and optimization—all in one single Content Security Policy solution.

Feroot Security sponsor

main-thread-scheduling 6.0: Consistently Responsive Apps While Staying on the Main Thread — An alternative to the Web Workers approach that uses the approach of stopping tasks executing when the user interacts with the UI. Interesting ideas here.

Antonio Stoilkov

React Joyride: Create Guided Tours in Your Apps — Uses react-floater to position and style floating ‘tour guide’ elements. GitHub repo.

Gil Barbara

PSD 0.2: Zero-Dependency PSD (Photoshop) Parser — For both browser and Node.js. GitHub repo.


Reactime 14.0: A Chrome Developer Tool for Time Travel Debugging in React Apps — v14 introduces support for apps using React Router.


😍 A lovely splash of paint..

We're ❤️ing ESLint's All New Homepage — ESLint is a hugely popular linter for identifying and reporting on patterns in JavaScript and v8.18.0 has just been released. Even better, though, is their all new Web site forged from several months of work. It’s rather slick and even includes a fantastic photo of Addy Osmani.

ESLint Project