An introduction to building live collaborative JS apps

#​719 — January 17, 2025

Read on the Web

JavaScript Weekly

Learn Yjs and Building Realtime Collaborative Apps in JavaScriptYjs is a CRDT (Conflict-free replicated data type) library for building collaborative and local-first apps. CDRTs are powerful but can be tricky to ‘get’ which is why this new interactive Yjs tutorial is so valuable. A great way to learn about building collaborative, syncing webapps from the ground up.

Jamsocket

Bun v1.1.44: The Fast JS Runtime Adds On-Demand Frontend Bundling — The popular, high-performance alternative JavaScript runtime has extended its Bun.serve() HTTP handler with support for bundling frontend apps on demand using HTML imports.

Ben Grant

Protect Against Bots, Fraud, and Abuse in Real Time — With WorkOS Radar you can detect, verify and block harmful behaviour, protecting your app with advanced device fingerprinting. Stop fake signups, stop free tier abuse, and stop bot attacks and brute force attempts today.

WorkOS sponsor

A Checklist for Your tsconfig.json — What I love about Dr. Axel is when he’s done the hard work of figuring something out for himself, he writes it down. So it goes here, with his journey to set up a good tsconfig.json for his projects.

Dr. Axel Rauschmayer

IN BRIEF:

The Angular team shares a brief update on how they’re working on Angular’s strategy for 2025.

👽 Alien Signals are coming to Vue 3.6… (it’s basically a really fast way to handle signals.)

Tired of seeing this everywhere in your code? Dave Rupert has a fun way to turn it into a single glyph in VS Code.

RELEASES:

Electron 34 – The JS, HTML and CSS desktop app framework updates to Chromium 132, Node 20.18.1, and adds a way to access the JavaScript call stack of unresponsive renderers.

Puppeteer 24 – Popular high-level API to control Chrome or Firefox.

Cypress 14 – Easy testing for anything that runs in a browser. Now supporting the latest versions of React, Angular, Svelte & Vite for component testing.

Storybook 8.5, ESLint 9.18.0, ESLint Config Inspector 1.0, AngularFire 19.0

📒 Articles & Tutorials

A Look at Regular Expression Pattern Modifiers — You may be familiar with using flags to change the behavior of regexes, but Dr. Axel looks at a proposal bringing a way to change regex flags within subexpressions (e.g. /^[a-z](?-i:[a-z])$/i;). It’s at stage 4 and should land in ECMAScript 2025.

Dr. Axel Rauschmayer

Accessibility Essentials Every React JS Developer Should Know — If you’re an experienced frontend developer, these might be second nature to you by now, but this is a good roundup of the entry level ‘table stakes’ for frontend accessibility, whether using React or not.

Martijn Hols

Write More Maintainable JavaScript with AI Code Reviews — CodeRabbit is your AI-powered code review companion that deeply understands the JavaScript codebase. Free for open source.

CodeRabbit sponsor

Five Years of React Native at Shopify — Five years ago, Shopify said React Native was the future for mobile development at their company and they meant it, with every mobile app moving to RN over time. Here’s what they learnt along the way and why they’re sticking with it.

Mustafa Ali (Shopify)

Revealed: React’s Experimental Animations API — <ViewTransition /> is based on the browser’s View Transition API. It’s only in pre-release versions of React, but Matt is armed with examples for you to get a feel for the potential.

Matt Perry (Motion)

📄 All JavaScript Keyboard Shortcut Libraries are Broken – Reflections on long standing complexities with the myriad ways of detecting keypresses. Jack Duvall

📄 JavaScript Hashing Speed Comparison: MD5 vs. SHA-256 – You shouldn’t be using MD5 anyway, but you especially shouldn’t be using it with the misconception that it’s faster. Daniel Lemire

📄 5 Technical JavaScript Trends You Need To Know About in 2025 Alexander T. Williams

📄 Creating a Generative Artwork with Three.js Eduard Fossas

📄 JavaScript’s Promise.race and Promise.all Are Not “Fair” Chris Krycho

📄 Node.js’s Type Stripping Explained Marco Ippolito

🛠 Code & Tools

♟️ Chess.js: A Library to Manage a Chess Game — Provides move generation, validation, piece placement, check/checkmate/stalemate detection – “everything but the AI!” v1.0 offers a rewrite to TypeScript and a variety of enhancements.

Jeff Hlywa

💡 Chess Engines: A Zero to One is a neat article digging into the technicalities of implementing a chess engine.

react-nil 2.0: A React ‘Null Renderer’ — An interesting experiment to use React in situations where you don’t need it to render anything, but you want to use hooks, suspense, context, and other bits of the React lifecycle. Like in, say, a Node app. Maybe this CodeSandbox example will provoke some ideas.

Poimandres

🔎 file-type 20.0: Detect the File Type of a File, Stream or Data — For example, give it the raw data from a PNG file, and it’ll tell you it’s a PNG. Uses a ‘magic number’ approach so is targeted at non text-based formats. v20 adds support for yet more formats, including JARs, Word/Excel templates, and now supports ZIP decompression.

Sindre Sorhus

Node Web Audio API 1.0: A Web Audio API Implementation for Node — More accurately, it’s a set of Node bindings for a Rust-powered non-browser implementation of the Web Audio API.

IRCAM – Centre Pompidou

⚙️ Vue Spring Bottom Sheet – A lightweight, flexible solution for bottom sheets in Vue apps. megaarmos

⚙️ Act – A Go-powered tool that looks at your repo’s GitHub Actions, uses Docker to grab the necessary images, and runs the tasks locally. Nektos

⚙️ Svar – A new suite of open source UI components for Svelte, React, and Vue. XB Software

📰 Classifieds

Optimize Your Next.js App’s Metadata – Discover practical ways to boost your site’s SEO and visibility by customizing metadata in Next.js.

🎹 STRICH: Add blazing fast and reliable 1D/2D Barcode Scanning to your web apps. Free demo app and 30-day trial available.

Meticulous automatically creates and maintains an E2E UI test suite with zero developer effort. Relied on by Lattice, Bilt Rewards, etc.

Perspective 3.3 – Streaming data viz and analytics component. The core is written in C++ and compiled to WebAssembly. The homepage shows it off well.

eslint-plugin-functional 8.0 – ESLint rules to disable mutation and promote functional approaches.

React Testing Library 16.2 – DOM testing utils that encourage good practices.

Happy DOM 16.6 – Cross-runtime JS implementation of a web browser sans UI.

PowerGlitch 2.4 – Tiny library to add a ‘glitch’ effect to images on the Web.

🤖 node-llama-cpp 3.4 – Run LLMs locally with bindings to llama.cpp.

Faker 9.4 – Generate fabricated data to your heart’s content.

Gridstack.js 11.3 – Build responsive interactive dashboards quickly.

Mineflayer 4.25 – Create Minecraft bots in JavaScript.

The projects that shaped JavaScript in 2024

#​718 — January 10, 2025

Read on the Web

🗓️ Friday is the new Thursday! If you were a JavaScript Weekly reader several years ago, you might remember it always landed on Fridays and after getting caught out by a variety of big news items landing on Thursdays in recent years, we’re back 😉
__
Your editor, Peter Cooper

JavaScript Weekly

 2024’s JavaScript Rising Stars — It’s time to fully wave goodbye to 2024, but not before Michael Rambeau’s annual analysis of which JavaScript projects fared best on GitHub over the past year. Even if you dislike GitHub stars as a metric for anything, this remains a great way to get a feel for the JavaScript ecosystem and see what libraries and tools have mindshare in a variety of niches. A fantastic roundup as always.

Michael Rambeau

A Look at Import Attributes — It’s always a pleasure to see Dr. Axel blogging about JavaScript again, and he’s back with one of his typical deep dives into a newer ECMAScript feature: import attributes. This feature provides an inline syntax for attaching metadata to module imports such as for importing non-JavaScript modules (e.g. JSON, WASM or CSS).

Dr. Axel Rauschmayer

How to Enable End-to-End Testing with Synthetic Monitoring — Synthetic Monitoring helps you launch new features with confidence and speed. Learn how you can create robust end-to-end test suites, spend less time on false positives, and proactively catch errors before they get to production.

Datadog sponsor

Node’s New Built-in Support for TypeScriptNode.js v23.6.0 (Current) has just been released and makes Node’s new type-stripping features work by default, so you can just run node file.ts and it Should Just Work™. Dr. Axel explains how it works and what the limitations are.

Dr. Axel Rauschmayer

IN BRIEF:

🥊 The Deno vs Oracle fight over the JavaScript™ trademark continues as Oracle has informed Deno they’re not going to voluntarily relinquish the mark. Deno’s job now is to show how JavaScript has long been used as a generic term and hasn’t been controlled by Oracle.

The Express.js team has posted about the project’s recent revival and its plans to push Express.js forward in 2025.

❄️ The ‘WinterCG’ Web Interoperable Runtimes Community Group, an effort to promote standards around runtime interoperability of JavaScript runtimes, has moved to Ecma International and is now known as WinterTC (TC55).

📺 Node.js creator Ryan Dahl gave a talk at GOTO Chicago 2024 about Deno 2, covering Deno’s differences to Node and what Deno 2.0 (and JSR) has to offer JavaScript developers, complete with live demos.

RELEASES:

pnpm 10 – The efficient npm alternative no longer runs lifecycle scripts of dependencies for security reasons, hashing algorithms have been upgraded to SHA256, and lots of minor tweaks.

Bun v1.1.43 – The high performance runtime gets first class S3 support, an HTML bundler, and can output V8 heap snapshots (which is quite something as Bun uses JavaScriptCore, not V8).

🔠 Tesseract.js 6.0 – The popular pure JS multilingual OCR library has resolved a variety of memory leak issues.

Docusaurus 3.7 – The popular docs-oriented site generator goes full React 19.

Node.js v22.13.0 (LTS) – The permission model system is now stable.

Puppeteer 24.0, RxDB 16.0, Ember 6.1, QuickJS 0.8

📒 Articles & Tutorials

The Future of htmxhtmx is an increasingly popular way to enhance HTML and actually write less JavaScript on the frontend. This post reflects on how htmx would like to be ‘the new jQuery’, not least in the sense that one of the project’s goals is to push the ideas of htmx into the HTML standard itself, as in this set of proposals.

Gross and Petros

You Don’t Need Next.js — As much as Next.js is considered the React meta-framework of choice, if your requirements are modest, simply going with plain React offers numerous benefits in terms of simplicity and speed, as seen here.

Benny Kok

Introducing Clerk SDKs for Vue and Nuxt — Official @clerk/vue & @clerk/nuxt SDKs for authentication integration with pre-built UI components in Vue/Nuxt apps.

Clerk sponsor

Using TypeScript Without Build Tools — Chris Coyier enjoys the benefits of TypeScript while developing, but actually compiling it to JavaScript in various scenarios is less endearing. We’ve learnt (above) that Node can now run .ts files directly, but what other projects support the use of TypeScript without build tools?

Chris Coyier

📄 Using a JavaScript Component Inside a Haskell App – Did you know Haskell’s main compiler supports integrating with JavaScript? Mateusz Goślinowski

📄 Crafting a Dreamy Particle Effect with Three.js and GPGPU Dominik Fojcik

📄 Build Your Own Site Speed Testing Tool with Puppeteer Henry Price

📄 Sharing a Variable Across HTML, CSS, and JavaScript Chris Coyier

📄 Benchmarking GraphQL Solutions in the JS/TS Landscape Tomasz Nieżurawski

📄 Shallow Clones vs Structured Clones Phil Nash

🛠 Code & Tools

PostalMime: A Universal Email Parsing Library — An email parsing library happy in most JS runtimes. Takes the raw source of emails and parses them into their constituent parts.

Postal Systems

trimMiddle(): The Missing String Trim Method? — If you’ve got a long string and want to keep the start and end and truncate in the middle, this is for you. There’s a live demo here and GitHub repo.

Christian Heilmann

Fully Customizable Form Builder that Blends Seamlessly with Your JS App — Need a survey solution you control? With SurveyJS, customize your form builder’s look and functionality. Try it for free.

SurveyJS sponsor

Introducing @smoores/epub: A Package for Working with EPUB FilesEPUB is a popular e-book file format and this new library provides a way to both read and write them. npm package link.

Shane Friedman

Tipex: An Advanced Rich Text Editor for Svelte — Based on the popular Tiptap editor framework, it’s customizable, has theming support, and is Svelte 5-ready. Here’s a live example.

Friend of Svelte

React-Toastify 11: In-Page Notifications Made Easy — There’s an elaborate demo page here but essentially it’s a flexible, easy to style ‘toast’ style notifications system with many years under its belt. GitHub repo.

Fadi Khadra

Electrobun: A New JS Cross-Platform Desktop App Toolkit — A fresh take on the concept covered by Electron and Neutralinojs, except based around Bun. It’s early days, though, with only ARM-based Macs supported for now.

Blackboard Technologies inc.

Tagify 4.33: An Elegant Input Component for Tags — The polished demos show a lot of effort has been put in here. GitHub repo.

Yair Even-Or

📊 Recharts v2.15.0 – D3-powered React chart library now with React 19 support.

Discordeno 21.0 – Discord API library for Node, Deno and Bun.

htmlparser2 10.0 – Fast and forgiving HTML and XML parser.

Ts.ED 8.4 – Node + TypeScript framework on top of Express.

📊 ApexCharts 4.3 – Popular JS charting library. (Demos.)

zx 8.3 – Google’s tool for better Node.js shell scripting.

Octokit.js 4.1 – ‘Batteries-included’ GitHub SDK.

📰 Classifieds

Meticulous automatically creates and maintains an E2E UI test suite with zero developer effort. Relied on by Lattice, Bilt Rewards, etc.

🔹Sell to enterprise with a few lines of code with WorkOS — the modern, flexible identity platform for B2B SaaS. Integrate SSO, SCIM and FGA in minutes, not months.

🎁 And one for fun?

📄 Play Tetris in a PDF File — (direct link to PDF)

I’ll let you decide if this one is fun or frightening! Whether or not this will work depends on your PDF reader or browser support, but it works with Chrome and Firefox, at least.

The PDF document format supports embedded JavaScript and this experiment uses it to implement a game of Tetris. The developer, Thomas Rinsma, has used Python to output the PostScript that includes the game’s JavaScript. Couple that with the fact many browser PDF renderers are themselves implemented in JavaScript (e.g. PDF.js) and you have a veritable Matryoshka doll of technologies at play here.

A 2024 JavaScript retrospective

#​717 — December 19, 2024

Read on the Web

🎄 We’ve made it to the end of 2024! In this issue, we’re being reflective, leading with a few news items but then looking at what made 2024 special in the world of JavaScript, and covering some of the biggest things we linked to this year.

Then we’re on a Christmas break for two weeks and will be back in your inbox on Friday, January 10, 2025, — yes, we’re moving back to Fridays for 2025! We hope you have a Merry Christmas and a Happy New Year.
__
Peter Cooper and the Cooperpress team

JavaScript Weekly

The State of JavaScript 2024 Results — We recently encouraged you to take the annual State of JavaScript survey; the results are now out. 14,015 folks took part and we get to see what language features folks are using, experiences with popular libraries, build tool popularity, AI preferences, popular podcasts, runtime usage, and perhaps controversially, how more JavaScript developers are using TypeScript than not. There’s a lot to dig through here.

Sacha Greif

Complete Intro to React v9: New Project, Modern Stack — Join Brian Holt in building a pizza delivery app from scratch. Master hooks, TanStack Router, testing, and React 19 features in this comprehensive guide to modern React development. No prior React experience needed.

Frontend Masters sponsor

IN BRIEF:

🥇 JetBrains’ recent State of Developer Ecosystem report shows that JavaScript is “the most used programming language”, reports InfoWorld‘s Paul Krill. The report also claims “despite its gains, TypeScript will not replace JavaScript”.

🗓️ We’ve just finished 2024 wrap ups in the latest issue of Node Weekly and React Status, if you want more depth into those topics.

🤖 GitHub has made its Copilot AI assistant available for free (with limits). We also learn that there are now 150 million developers on GitHub.

🇵🇱 If you’re in Poland, consider heading along to the next WarsawJS meetup on January 8. Esteemed Polish computer scientist Andrzej Blikle will be speaking, amongst others.

🤖 Vercel is running a State of AI developer survey they’d like you to take.

RELEASES:

JerryScript 3.0 – ‘Ultra lightweight’ JS engine for IoT/embedded use cases with full ES 5.1 compliance and 84% Test262 conformance.

🤖 Transformers.js v3.2 – Run machine learning models in the browser. Now supporting Moonshine real-time speech recognition and Phi 3.5 Vision.

Bun 1.1.39 and 1.1.40 – The fast JS runtime gets a human-readble lockfile format, fetch bodies can now be streams, and Node compatibility improves.

Prisma 6.1 – Popular ORM for Node.js and TypeScript. Tracing is now GA.

pnpm 10.0 RC 0, ESLint v9.17.0, Recharts 2.15

Introducing Authentication Support for React Router — Add authentication and authorization to your React Router application in minutes with pre-built components and more.

Clerk sponsor

📄 Introducing TanStack Start – A new full-stack React framework powered by TanStack Router. Adam Rackis

📄 How to Create Multi-Step Forms with Vanilla JS and CSS Fatuma Abdullaho

📄 Summarizing Text with Transformers.js Raymond Camden

🗓️ What Happened to JavaScript in 2024

The JavaScript world has had a busy 2024, as you’d expect for the world’s most used programming language (despite the threat of being split into two). We looked back over the year and remembered some things that occurred:

In February, the React team posted a mega ‘React Labs’ update which framed the whole of React’s year, explaining the goals of the React Compiler and the eventual React 19 release (which went stable this month).

Alternative JavaScript runtimes had a great 2024, particularly Bun which introduced Bun Shell, Windows support and the ability to compile and run native C from JavaScript. Deno had a big year too, with the release of Deno 2 which included stronger Node.js/npm compatibility and package management tooling. Other systems continuing to progress this year include Boa JS, QuickJS, and Porffor.

Over at TC39, lots of language proposals were advanced this year (and that’s just a sample – here’s some more!). The ES2025 future is bright.

Boost Semantic Search with MongoDB Atlas Vector Search — Create embeddings, index them, and run semantic queries—just follow the quick start tutorial.

MongoDB sponsor

Deno decided to take the JavaScript trademark fight to Oracle and formally filed a petition with the USPTO to cancel it. We hope to see some developments here in 2025, but Oracle are prepared to defend it.

Not content to merely work on an edge platform, JS runtime, and fight Oracle, Deno also unveiled JSR, a fresh attempt at providing a registry for JavaScript packages.

There were lots of big releases generally for major JavaScript projects including Svelte v5, Node.js v23.0, Astro 5.0, TypeScript 5.7, Vite 6.0, React Native 0.76, Next.js 15, React Router v7, Rspack 1.0, Vue.js 3.5, and Angular 19.

The OG of JavaScript libraries jQuery 4.0 went into beta too! We keep our fingers crossed for a jQuery 4.0 final release in 2025.. 😉

🥇 Our Top Items of 2024

Next up is a walk through the top items we included in 2024, ordered by level of reader engagement. No editorial judgments here – these are the things you cared about most:

1. console.delightBy far our most popular link of the year with over 20,000 clicks(!) – but who doesn’t use and love console.log? This post showed us how in the browser console it’s not merely for printing plain text, but can be used to render things like SVGs and HTML.

Zach Saucier

2. JavaScript Visualized: Promise Execution — A well-diagrammed article coupled with an (optional) 8 minute video that went into how promises work under the hood. Hugely popular as most of Lydia’s content tends to be.

Lydia Hallie

WorkOS: Sell to Enterprises with a Few Lines of Code — The modern identity platform for B2B SaaS, offering flexible, easy-to-use APIs to integrate SSO, SCIM, and FGA in minutes instead of months.

WorkOS sponsor

3. Is htmx Just Another JavaScript Framework? — Despite being five years old, htmx has seen a surge in popularity in 2023 and 2024, partly due to framework fatigue, but also as its simple HTML-oriented approach to adding functionality to pages appeals to a diverse group of developers. v2.0 landed in June.

Alexander Petros

4. Ecma International Approves ECMAScript 2024: What’s New? — In June, the Ecma General Assembly approved the latest ECMAScript / JavaScript spec, officially making it a standard. As with ES2023, it was a reasonably small step forward, but Dr. Axel rounded up what was new.

Dr. Axel Rauschmayer

5. JavaScript’s ??= Operator: Default Values Made Simple — The ??= nullish coalescing assignment operator snuck into JavaScript a few years ago via ES2021 and has been broadly supported almost everywhere for ages. Trevor showed off how it can tighten up your assignments.

Trevor I. Lasn

6. Eloquent JavaScript: The Fourth Edition — Coming several years after the third edition, the latest version of what is, perhaps, the best ‘all rounder’ book for learning JavaScript arrived in March “adjusted to the realities of 2024 and generally touched up.”

Marijn Haverbeke

7. 33 JavaScript Concepts Every Developer Should Know — A curated collection of links to tutorials on 33 different areas it’s worth understanding well, including types, closures, equality, scope, and different engines.

Leonardo Maldonado

8. How Google Handles JavaScript In Its Indexing Process — At one point if you wanted Google to index your content it needed to be directly written in HTML and not dynamically rendered with JavaScript. Things have since changed, of course, but by how much?

Zecchini, Moore, Siddle, Ubl (Vercel)

📰 Classifieds

Meticulous automatically creates & maintains E2E UI tests. Zero flakes. Used by Lattice, Bilt Rewards and others.

Hookdeck: An alternative to Amazon API Gateway + Lambda + SQS. With local dev, debugging, and observability built-in.

🤗 Many thanks for reading JavaScript Weekly in 2024, sending in your links, and generally supporting us. We look forward to seeing you again early next year. Remember, we’re moving back to Fridays (long term subscribers may remember we used to go out on Fridays for the first several years) so we’ll be back on Friday, January 10.

Benchmarking Node’s recent performance enhancements

#​716 — December 12, 2024

Read on the Web

JavaScript Weekly

Boa v0.20: An Alternative JavaScript Compiler — Under development for several years, Boa has a few missions: be a Rust ECMAScript implementation, be easy to embed in Rust projects, and be a fast, safe JS engine overall. v0.20 sees a bump up to 89.92% compliance in the Test262 suite, improves Temporal support, adds Atomics.pause, and more. This is no toy engine.

Boa Developers

React v19 Now Stable — First teased in a February 2024 update, React 19 has been in beta for 8 months, so there’s already a wealth of content about it, from the React 19 upgrade guide or an explanation of its compiler to cheat sheets and Vercel’s roundup of what’s new in React 19.

The React Team

Build with Gemini at Lightning Speeds — With the largest context window available, Google Gemini provides JavaScript developers multimodal processing of images, videos and text. Start using Google Gemini in minutes using AI Studio.

Google Gemini sponsor

IN BRIEF:

🎮 If you ever do any game development with JavaScript, it’s time to take the Gamedev.JS Survey 2024. If you don’t, you can head to JS13KGames and enjoy other people’s creative efforts instead 🙂

Apple has released Safari 18.2 which introduces a few enhancements to JavaScript support including Float16Array, more methods for Uint8Array, Promise.try, RegExp.escape, and more.

Did you know Douglas Crockford is Not Your Dad? Well, at least when it comes to putting comments in JSON..

RELEASES:

VS Code November Release – Now when you copy and paste JS/TS code, VS Code can add imports for the pasted code.

Next.js 15.1 – The popular React framework gets full React 19 support.

Node v23.4.0 (Current) – Say hello to assert.partialDeepStrictEqual and –trace-env for tracing environment variable usage.

Sheriff v25 – Opinionated TypeScript-first ESLint configuration. Now supporting ESLint v9.

Undici 7.1 – HTTP/2 support now marked as stable in the Node.js HTTP library.

pnpm 9.15, Dependency Cruiser 16.8, Redux Toolkit 2.5, YouTube.js 12.2

📒 Articles & Tutorials

The State of Node.js Performance in 2024 — A thorough set of benchmarks covering recent performance advancements made in Node.js. The improvements between Node 18 and 20 up to version 22 might surprise you – it’s clear the team has put a lot of work into this area.

Gonzaga and Parody (NodeSource)

How to Reduce TTFB? — High “time to first byte” affects web vitals. Learn to identify and fix issues slowing your TTFB.

Sentry sponsor

Publishing a Simple Client-Side JS Package to npm with GitHub Actions — As part of the process of building Prompts.js, a new library for creating simple await-able alternatives to alert(), confirm() and prompt(), Simon wanted to make it easy to publish as an npm package too.

Simon Willison

How to Build a SolidJS App with DenoSolidJS is a declarative library for creating user interfaces that emphasizes fine-grained reactivity and minimal overhead and it plays well with Deno.

Andy Jiang

Get Cooking! Generative AI with MongoDB — See how MongoDB, the world’s most popular document database, integrates with RAG pipelines and cutting-edge AI agents.

MongoDB sponsor

📄 Building Your Own npm create Package – You’ll have seen (or used) various scaffolding tools using this technique. (A Different) Alex Chan

📄 What We Learned Migrating From Webpack to Vite Roman Zaynetdinov

📄 Understanding the Browser’s Main Thread Amrik Malhans

📺 An Honest Review of TanStack Start vs Next.js Ankita Kulkarni

📄 How React Compiler Performs on Real Code Nadia Makarevich

🛠 Code & Tools

Termo: An Easy to Use Terminal Control for Websites — If you want to offer a terminal emulator style feature on your site (maybe for advanced users, to enhance your docs, or even just as an easter egg), Termo enhances Xterm.js and presents a slick experience.

Raj Nandan Sharma

🖼️ wasm-vips: libvips Image Processing via WebAssemblylibvips is an efficient image processing library written in C. This build offers an isomorphic route to using it in the browser, as well as Node and Deno, all thanks to WebAssembly. (There’s an interactive demo here.)

Kleis Auke Wolthuizen

Looking for a DIY Survey Solution? SurveyJS Has You Covered — Build, customize, and store surveys with ease. Total data control, JSON-driven, no backend restrictions—integrates into any JavaScript app.

SurveyJS sponsor

Civet 0.9: Code More with Less Using a TypeScript Superset — Two years old and well maintained, Civet offers an interesting approach. Think JavaScript but with Python style indentation, chained comparisons, built-in JSX, & more. This example alone shows off the potential for tighter, easier-to-write code.

Daniel X Moore and Contributors

Rockpack 5.0: An Alternative React App Starter — A Create React App-style tool aiming to get React project setup time as low as possible, complete with server side rendering support, bundling, linting and testing. GitHub repo.

Alex Sergey

jsesc: Get a Stringified, ASCII-Safe Representation of Any Data — Think JSON.stringify() but instead it returns JavaScript meaning it can support things like maps, sets, and BigInts.

Mathias Bynens

📊 Perspective 3.2 (above) – Data visualization and analytics component. The core is written in C++ and compiled to WebAssembly where it can be used from JavaScript. Their homepage shows it off well with a live example. Now supports newline delimited JSON (ndjson).

☎︎ International Telephone Input 25.2 – Component for entering and validating international phone numbers. Vue, React, and vanilla.

debug 4.4 – Tiny debugging utility modelled after Node.js core’s debugging approach (but for the browser too).

ExpressoTS 3.0 – TypeScript framework for server-side Node.js apps.

InversifyJS 6.2 – Inversion of control container for JavaScript.

📊 ApexCharts 4.2 – Popular JS charting library. (Demos.)

Vue3-Carousel 0.9 – Customizable, lightweight Vue 3 carousel component.

html-react-parser 5.2 – Isomorphic HTML to React parser.

AlaSQL.js 4.6 – Isomorphic JavaScript SQL database.

📰 Classifieds

Meticulous automatically creates & maintains E2E UI tests. Zero flakes. Used by Lattice, Bilt Rewards and others.

If your work leans more towards the frontend, be sure to check out the latest issue of Frontend Focus, our sister newsletter focused on all things browser-side.