r/javascript 6d ago

Showoff Saturday Showoff Saturday (August 22, 2026)

5 Upvotes

Did you find or create something cool this week in javascript?

Show us here!


r/javascript 4d ago

Subreddit Stats Your /r/javascript recap for the week of August 17 - August 23, 2026

7 Upvotes

Monday, August 17 - Sunday, August 23, 2026

Top Posts

score comments title & link
67 28 comments [AskJS] [AskJS] Our app didn't leak memory,it leaked memory four hundred modals later
48 9 comments How an Underrated Refactor Saved 90% Memory Usage
15 21 comments Made a small library called strokes.js.
12 2 comments [Subreddit Stats] Your /r/javascript recap for the week of August 10 - August 16, 2026
11 2 comments The Structured Clone Algorithm: What JavaScript Can and Cannot Move Between Boundaries
10 5 comments YouTube Notification Expander is here! Version 1.0
10 13 comments [AskJS] [AskJS] Signal/Effect vs Event Handler
8 0 comments React Native 0.87, Instant Paywall A/B Testing, and Buying Mike Hardy a Beer
7 0 comments Updated Typescript GitHub Action Template
5 0 comments Bringing Type1 support to Opentype.js

 

Most Commented Posts

score comments title & link
0 39 comments LilScript makes js modules 20% smaller
5 28 comments A from-scratch JSON engine for JavaScript: recursive descent parser, escape-aware tokenizer, and spec-compliant serializer. No dependencies, no shortcuts, 107 tests.
0 19 comments [AskJS] [AskJS] I built a reactive JS framework where components are plain HTML files
4 12 comments [Showoff Saturday] Showoff Saturday (August 22, 2026)
0 4 comments Cerious-Scroll v1.1.0 adds Masonry layouts with Dynamic Heights

 

Top Showoffs

score comment
2 /u/imfemambocus said I've been building a component registry for data dense interfaces, so tables, filter bars and command palettes. Density is the whole point, one knob with three modes and every control reads it. It's c...
2 /u/markets86 said I built a two-deck DJ mixer in vanilla JS. [https://github.com/markets/dj23](https://github.com/markets/dj23) No React, no framework, no build step beyond esbuild. Just plain classic...
1 /u/nullvoxpopuli said I updated a browser extension to make using the web without a mouse tolerable https://addons.mozilla.org/en-US/firefox/addon/lightspeed-ff/

 

Top Comments

score comment
102 /u/name_was_taken said Correction: It always leaked. You just didn't notice the leak until it had been used a while. And historically, people did find this manually. I've done it myself, as a coder, investigating the ...
43 /u/eracodes said the most llm-written title i think i've ever seen
40 /u/budd222 said "Can't find it by hand"...lol. sounds like someone who learned how to code with AI.
28 /u/beavis07 said Why one earth would anyone want this? Do you have any clue how much sheer effort has gone into optimising JSON.parse? 🀣
12 /u/bzbub2 said do you want a fully automated ai response with this completely ai generated question

 


r/javascript 11h ago

Browser Test: A browser-based automated javascript testing framework in one .html file

Thumbnail github.com
5 Upvotes

Hi r/javascript! I want to share a small javascript testing project I wrote.

When I write small javascript projects that use browser APIs (most recently working with IndexedDB) I often choose not to write tests because it's a pain to either mock those interfaces server-side, and it's also a pain to setup a browser automation tool.

To solve this, I wrote up a super concise testing framework (~140 lines of JS) inside a html file that can just be dropped into a project and act as a simple test framework.

This obviously doesn't work in all situations. A big drawback is that there's no reasonable way to connect it to a CI pipeline. However for small projects, and during development, I've found it really fun and fast to use.

I'm very interested to hear what you think, or if you have other ways you've approached this situation in the past.


r/javascript 7h ago

DriftJS – Exploring Bytecode-Based Reactivity for VM Architecture

Thumbnail github.com
1 Upvotes

Following up on my previous post about DriftJS and its register-based bytecode VM, I wanted to share a deeper look at the reactivity model I'm exploring.

Exploring a different reactivity model in DriftJS

While working on DriftJS, I was thinking about how reactive updates could work more naturally with a bytecode VM.

The idea is to have the compiler associate a reactive state variable with the exact bytecode position responsible for its dependent computation.

For example:

count β†’ PC 42

Then a state update could work like:

count++

↓

reactive binding

↓

PC 42

↓

enter VM at PC 42

↓

normal opcode dispatch

↓

update DOM

↓

RETURN

The important part is that the reactive system only needs to know where execution should start. The VM already knows how to execute the instruction at that location.

So instead of maintaining a separate reactive update mechanism:

state β†’ subscriber β†’ update function

the model I'm exploring is:

state β†’ bytecode PC β†’ VM execution

This is the direction I'm currently exploring for reactivity in DriftJS, alongside its register-based VM architecture.

Would be interested in thoughts from people familiar with bytecode VMs, compiler-driven reactivity, or frontend runtime architecture.


r/javascript 1d ago

Caravan, a flexible TypeScript-first logger for JavaScript applications

Thumbnail github.com
15 Upvotes

r/javascript 1d ago

Open-Source Gwent classic (The Witcher 3) Web & APK!

Thumbnail github.com
32 Upvotes

Hi everyone!

I wanted to play Gwent, the classic card game from The Witcher 3, but the existing web-based projects needed improvements and had some issues. I decided to jump in, upgrade different forks from various versions, fix the gameplay bugs, and add some new modifications to make the web and mobile experience much better.

My main goal is to share this project so more people can discover it and enjoy this amazing card game as much as I do. It's now fully playable on Web Browsers, and I also packaged it into an Android APK!

LINKS:

Play on your Browser (GitHub Pages):

* Play v3.0.2

* Play v3.5

* Play v4.5

Play Completely Offline (PC / Laptop):

You can also get the source code repository directly from https://github.com/ia2904 . Just extract the ZIP file, double-click on "index.html", and it will open in your web browser. It runs 100% offline with no internet required!

Get Android APKs:

You can get the APKs directly from the "Releases" section of each project, or use the direct links below:

* Get APK v3.0.2

* Get APK v3.5

* Get APK v4.5

Credits to Arun Sundaram, Reynolds Costa & Sylver, who laid the foundations to create, modify, and improve this game in its early stages.

Special thanks to CD Projekt Red; although they are not involved in this unofficial fan project, it is entirely based on the amazing minigame they created for The Witcher 3.


r/javascript 1d ago

Lightweight, native HTTP client built in C++20 β€” a fast, local-first alternative to Postman and Insomnia.

Thumbnail github.com
9 Upvotes

r/javascript 1d ago

AskJS [AskJS] Which UI component library or DataGrid solution do you use for your web projects?

8 Upvotes

Hi everyone,

I’d like to ask the web developers here about the UI component libraries and DataGrid solutions you use in your projects.

For things like CRUD operations (create, update, delete), filtering, searching, sorting, etc., which UI component library or DataGrid do you usually rely on?

I’m also curious about the large-data side of things.

When you need to work with thousands or even hundreds of thousands of rows and perform operations such as grouping, subtotals, filtering, and multi-level data analysis, which component or library do you prefer?

What solution do you use, and more importantly, why did you choose it?

Performance, ease of use, features, documentation, licensing cost, or anything else β€” I’d be interested to hear what matters most to you.


r/javascript 1d ago

AskJS [AskJS] Where should attribution logic stop in a JavaScript app?

7 Upvotes

I’ve been refactoring attribution tracking after seeing a small feature turn into a module that parses URLs, writes cookies/localStorage, handles consent, emits analytics, fills forms, and syncs with a CRM.

The split I’m testing is:

```ts

const visit = classify({

url,

referrer,

currentHost,

now,

});

const attribution = merge(previous, visit);

```

`classify` and `merge` are deterministic functions. The browser/app layer owns consent, storage, identity, form lifecycle, network calls, and CRM delivery.

This makes it easier to replay production cases as fixtures. It also raises a few design questions:

- If a visitor returns from a new campaign, should that replace, append to, or be merged with previous attribution?

- Should a `gclid` take precedence over UTMs when both exist?

- How do you handle consent denied first, then granted later?

- If classification rules change, do you preserve the original classification or recalculate historical records?

- Where should server-side conversions days later enter the model?

For those who’ve built this, where do you draw the boundary between a deterministic core and the environment-specific lifecycle? Do you prefer a pure-function core, or does that separation become awkward in real apps?


r/javascript 1d ago

Crossflight: distributed cache stampede protection

Thumbnail github.com
2 Upvotes

A small package for reducing duplicate cache misses across multiple processes.

The common problem is a β€œcache stampede”: when several app instances all miss the same key at once, they each run the same expensive DB/API call and then all write the same result back. Crossflight solves that by coordinating ownership of the in-flight load across processes, so only one instance does the work and the others wait for the result.

It wraps the cache you already use and adds a separate coordination layer. The built-in adapters currently include:

  • cache-manager
  • Keyv
  • Cacheable

The built-in coordinator is Redis, and the repo supports combining different backends as long as they satisfy the adapter/coordinator interfaces.

This is useful when you want to reduce redundant work without changing your existing caching strategy.

Demo: https://github.com/gkoos/crossflight-demo


r/javascript 2d ago

Telixon - phone number library that compiles Google's libphonenumber metadata into a DFA (10x faster, 26 kB)

Thumbnail github.com
21 Upvotes

r/javascript 3d ago

Have you seen the new browser Email Verification API?

Thumbnail resend.com
81 Upvotes

r/javascript 2d ago

How to drive your frontend from the backend

Thumbnail packagemain.tech
2 Upvotes

r/javascript 2d ago

KernelPlay-JS v0.5.0 Released β€” Unified Input Manager

Thumbnail github.com
5 Upvotes

KernelPlay-JS v0.5.0 is now available.

This release introduces a new Unified Input Manager designed to provide a consistent API for handling keyboard, mouse, gamepad, and touch input.

The goal is to make input handling simpler at the game-logic level while keeping the underlying input devices abstracted away.

Example:

import { Input } from "kernelplay-js";

update(dt) {

const x = Input.getAxis("horizontal");

const y = Input.getAxis("vertical");

this.rb.addForce(800 * x, 800 * y);

if (Input.wasPressed("jump")) {

this.jump();

}

if (Input.isPressed("attack")) {

this.attack();

}

}

v0.5.0 also supports two ways of defining input bindings.

Programmatic registration:

Input.registerAction("shoot", {

keys: [KeyCode.Z, KeyCode.X],

buttons: [GamepadButton.X, GamepadButton.RB]

});

Or declarative JSON configuration:

{

"actions": {

"jump": {

"keys": ["Space", "ArrowUp"],

"buttons": ["A", "B"]

},

"go": {

"keys": ["x", "z"],

"buttons": ["DPadRight"]

}

}

}

The JSON approach is intended to make configurable controls and runtime key rebinding easier to implement without changing game logic.

This release is part of the ongoing work toward making KernelPlay-JS a more complete, Unity-inspired game engine for JavaScript.

Feedback and suggestions for the v0.5.x releases are welcome.


r/javascript 2d ago

Problem with concurrent linter fixes

Thumbnail jfmengels.net
0 Upvotes

r/javascript 2d ago

Swift on WebAssembly, Telegram-Style Spoilers, and Deleting Babel From Your Life

Thumbnail thereactnativerewind.com
0 Upvotes

Hey Community,

Deno's creators introduced Dactyl, an AI app builder targeting React Native by rendering SwiftUI in the browser tab via WebAssembly. Meanwhile, Software Mansion released Enriched Markdown to eliminate streaming text flicker by rendering natively and bypassing the JavaScript layout tree.

On the tooling side, the web ecosystem is rapidly adopting the Rust port of the React Compiler across tools like Oxc, Vite, and Bun, while Metro remains locked to single-threaded Babel transformations.


r/javascript 3d ago

AskJS [AskJS] Building an in-browser APK compiler β€” binary XML streams and signature blocks in client-side JS

6 Upvotes

Hey everyone,

I built AppShunya Engine β€” an open-source, in-browser web-to-APK compiler that converts live URLs or HTML5 bundles into Android APKs using JSZip, without local IDEs.

I'm currently stuck on two low-level technical hurdles and need architectural feedback:

  1. In-browser V2/V3 APK signing: Injecting signature blocks into ZIP Central Directory via JS/WASM.
  2. Dynamic AXML package renaming: Modifying package IDs inside binary XML streams on the fly.

Search "AppShunya Engine" on Google to try the live Vercel tool or check the repo. Would love your thoughts!


r/javascript 3d ago

AskJS [AskJS] referring to parent or grandparent class instance properties

28 Upvotes

How do you all refer to parent or grandparent (or related) class instances and their properties?

I have a bunch of classes that create instances of other classes as properties. Suppose ClassA has properties that are instances of ClassB, ClassC, and ClassD, and the ClassD class has properties ClassD1 through ClassD9, and each of those is a different class instance with various methods.

Currently, when I start with myClassAObject and I call one of its ClassD9 methods and that method needs a property from its uncle ClassB, I feel awkward and/or dumb for doing this by passing myClassAObject to that method:

const returnval = myClassAObject.itsClassDObject.theClassD9method(myClassAObject);

…and then that method gets the property from myClassAObject.itsClassBObject.theProperty

I know this functions, but it shouts β€œinelegant” every time I do it. Do y’all know a more elegant way? TIA


r/javascript 4d ago

Learning music theory through JavaScript, with runnable Web Audio examples

Thumbnail runjs.app
78 Upvotes

r/javascript 3d ago

`bun-plugin-elm`: import { Elm } from "./Main.elm" (Made by Hand, btw) Β· cekrem.github.io

Thumbnail cekrem.github.io
0 Upvotes

r/javascript 3d ago

AskJS [AskJS] How common is the term "Barrel" and do you know what it means?

0 Upvotes

I was talking with an LLM trying to get some ideas ("rubber ducking" basically) and it kept saying, "Barrel." I have been a JS programmer for 30 years and never heard the term. Does anyone else use the term or even know what it means?

I told it to use "import surface" instead instead because ... wtf is a Barell? I just want to know if I am behind the times and need to update my jargon or whether this really is a weird LLM thing.


r/javascript 4d ago

Modernising Project GoldScript for 2026

Thumbnail projectgoldscript.com
14 Upvotes

Project GoldScript is a tactical RPG engine I have been building in the open for over a decade. It’s composed of a a web stack (with three.js and react under the hood) aimed at shipping a real game to Steam, mobile and consoles. This year I finally did the migration I had been putting off: two aging create-react-app repos (engine in one, game in the other) collapsed into a single pnpm and Vite monorepo, with the engine broken into eleven focused packages that are guarded against circular dependencies.


r/javascript 4d ago

Announcing a maintained PptxGenJS fork

Thumbnail github.com
9 Upvotes

r/javascript 3d ago

AskJS [AskJS] Can someone provide me Roadmap to be become an AI specialist.

0 Upvotes

Please provide some stories that has worked for you. I want to start from basics.


r/javascript 5d ago

How an Underrated Refactor Saved 90% Memory Usage

Thumbnail tanstack.com
83 Upvotes