#​617 — December 2, 2022

Read on the Web

JavaScript Weekly

AppSignal for Node.js 3.0 Introduces OpenTelemetry Support — AppSignal now supports OpenTelemetry, the open-source standard for telemetry data collection. We’ve also added support for 6 new integrations in this release.

AppSignal sponsor

Electron 22.0 Released, Plus Other Electron News — The long standing cross platform desktop framework continues to evolve. v22 jumps up to Chromium 108 and Node 16.17.1. The UtilityProcess API is a new feature. There are also some other Electron related updates to be aware of:

The end of support for Windows 7, 8, and 8.1 as of Electron 23. v22 is the final version to support Windows < 10.

Electron Forge 6 has been released. Forge is an official tool for packaging and distributing Electron apps. 6.0 is a total rewrite and now considered the official ‘batteries included build pipeline’ for Electron apps.
The Electron project is going quiet for December so the team can recharge their batteries for 2023 (or maybe to do Advent of Code? ;-))

OpenJS Foundation


Like puzzles? This year’s Advent of Code has begun.

📅 There’s an online Rust for JavaScript Developers workshop taking place on December 14 where you’ll see an Express.js app rewritten into Rust. It’s free but I imagine there’s a limit to numbers.


Tesseract.js 4.0
↳ Pure JS OCR for more than 100 languages.

Superagent 8.0.4
↳ Popular HTTP client API.

Prisma 4.7
↳ Next-gen ORM for Node.js and TypeScript.

Lerna 6.1
↳ Build & publish multiple packages from the same repo.

Node.js 19.2.0 (Current)

📒 Articles & Tutorials

Splitting Strings into Sentences, Words or Graphemes with Intl.Segmenter — No libraries needed here. Give Intl.Segmenter a locale and granularity and it will divide up your strings to your heart’s content. It has wide support except for, curiously, in Firefox.

Stefan Judis

Migrating from Vue 2 to Svelte — After two years of Vue 2, a team had a decision to make: move to Vue 3 or give Svelte a try?

Sophie Boulaaouli (Escape)

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

Wallaby.js sponsor

Working with Zustand for Easier React State Management — Some tips for using Zustand, a relatively minimal state management library with a lot of enthusiastic users.


Sketchy Pencil Effect with Three.js Post-Processing — 3D development always gets my head spinning a bit, but the sketched pencil effect here is compelling and unique.

Maya Nedeljković Batić

V8 Optimization:  Pointer Compression in Oilpan — This is barely about JS at all, but shows off the (very) low level optimizations the V8 team makes to make JavaScript more efficient. This time, it’s about using smaller pointers, because who needs 64 bits in a small app?

Bikineev and Lippautz (V8 Team)

The State of Notifications Report – User Preferences

Courier.com sponsor

Building a New JS Linting Experience for Visual Studio

Maria Solano (Microsoft)

🛠 Code & Tools

Neutralino.js 4.9: Lightweight Cross Platform Desktop App Framework — Think Electron but with a rather different approach: no embedded Chromium, no embedded Node.. it uses the system’s existing Web browser APIs. This has its pros and cons, of course. v4.9 adds a new API for writing custom backend code in any language (that can communicate over a WebSocket). Official homepage.


Mithril.js: Client-Side Framework for Single Page Apps — A neat alternative to things like Vue, React or Angular. It’s been around for years and deserves more attention we feel. Mithril is compact, fast, and runs closer to vanilla JS than the alternatives so is well suited for bringing together vanilla JS libraries. Want to compare it to $your_favorite_framework? Here you go.


A Professional Scheduling Component for React, Vue, Angular Apps — Schedule doctors, machines or your next trip to Mars. Easily done with the Scheduler Pro widget. Free 45-day trial.

Bryntum sponsor

Vanilla Extract: Zero-Runtime Stylesheets in TypeScript — Using TypeScript as a preprocessor, you can use this framework agnostic approach to write type-safe, static CSS. Not my cup of tea, but the homepage does a good job on selling the idea.


Choices.js 10.2: A Configurable Select Box/Text Input Plugin — Lots of examples or you can go straight to the GitHub repo.

Josh Johnson

vm2: A Sandbox for Running Untrusted Node Code — A locked down, restricted sandbox build around Node’s internal vm module that lets you add a timeout, limit access to built-in modules as you see fit, and more.

Patrik Simek

Reapop 4.2: Simple, Customizable Notifications System — This project’s homepage is itself a giant, customizable demo of what Reapop can do. Keep clicking away on “Random notification” to fill your screen! GitHub repo.

Louis Barranqueiro

React Unity WebGL: Embed Unity WebGL Apps into React Apps — Best known as a way to build 3D games, Unity is can be used for broader applications too. React Unity WebGL integrates WebGL-powered Unity apps with React apps on the Web. GitHub repo.

Jeffrey Lanters

jsdoc-to-markdown 8.0
↳ Generate Markdown from JSDoc-annotated JS.

<relative-time> 4.0
↳ GitHub’s Web Component extension to <time>

Bootbox.js 6.0
↳ Bootstrap alert, confirm & modal wrappers.

Minimatch 5.1.1
↳ Glob matcher library, as used in npm

SVGuitar 2.2 – SVG guitar chord rendering.

TWGL.js 5.3 – WebGL, but less verbose.

React Tabs 6.0 – Accessible tab component.

OCLIF 3.3 – Node.js CLI framework.

AWS Amplify JS Library v5

💻 Jobs

Software Engineer — Join our “kick ass” team. Our software team operates from 17 countries and we’re always looking for more exceptional engineers.


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.


Leave a comment

Your email address will not be published. Required fields are marked *