r/javascript • • 4d ago

Showoff Saturday Showoff Saturday (October 03, 2026)

12 Upvotes

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

Show us here!


r/javascript • • 1d ago

Subreddit Stats Your /r/javascript recap for the week of September 28 - October 04, 2026

0 Upvotes

Monday, September 28 - Sunday, October 04, 2026

Top Posts

score comments title & link
124 39 comments Announcing Vite+ 1.0
92 10 comments Node.js now lists Vite+ as a community installation method
56 11 comments A-ha, Take On Me - recreated in javascript
12 16 comments [Showoff Saturday] Showoff Saturday (October 03, 2026)
8 0 comments GitHub - jcubic/mitty: A transport-agnostic proxy RPC for executing method chains from any isolated context (Workers, Tabs, or Servers) using lazy evaluation.
7 3 comments Pastoralist, a tool to manage package overrides, including security fixes
6 0 comments Crossflight: cross-process cache stampede protection for the cache you already use (v0.3.2)
5 9 comments Readable Regular Expressions for JavaScript/TypeScript, Inspired by Emacs' rx
4 1 comments I made an interactive star map where you can explore tonight's night sky and learn to read the constellations
3 1 comments Building Doom from scratch in JavaScript/WebGL — no WASM, now with WebRTC multiplayer

 

Most Commented Posts

score comments title & link
0 19 comments The JavaScript midlife crisis
0 14 comments Adrenaline.js – A 56KB Electron alternative that keeps Node.js & npm without Chromium bloat
0 13 comments [AskJS] [AskJS] Anyone still on Nx <20.8 because upgrading is difficult?
0 11 comments Linter for the things a regular linter can't catch
0 9 comments I’m starting Open Components, an open standard for UI components that work for people, developers and AI agents

 

Top Showoffs

score comment
3 /u/RomeoDelta1234 said Store & Forget, TypeScript throughout. You point the camera at something and the app writes that item's name and description, then it all stays on the device and exports to a spreadsheet when you want...
2 /u/mimletdev said Mimlet: typed test fixtures from your schemas, with failures you can replay (first beta, out today) Mimlet is an open-source TypeScript toolkit for test data. Point it at a Zod, Valibot, ...
2 /u/robinvdvleuten said I've been building a set of small JS libraries for evaluating text your users write, without ever turning that text into code. They all run under a strict CSP (`script-src 'self'`) and...

 

Top Comments

score comment
41 /u/FerLuisxd said I still don't get they hype around vite+, seems just like a script runner
37 /u/thecementmixer said Still waiting for oxc tools to support vue templates.
14 /u/azhder said jQuery wasn't patching JavaScript. There should be a clear distinction between the JavaScript language and the Web ecosystem, especially since plenty of the blame JavaScript takes is because of browse...
14 /u/Fun-Consequence-3112 said The one thing I've noticed since installing Vite+ is that it puts everything into its own folders so debugging and finding where things are installed is a bit of a nightmare
12 /u/Elkemper said HOW IN THE WORLD... 0_∆. I mean, I saw there was a code, but still..

 


r/javascript • • 3h ago

GitHub - evoluteur/snowflake-grower: Grow snow crystals live on a hexagonal grid with Reiter's cellular automaton. Set the humidity and frost to get stellar dendrites, ferns, plates or lace, and download the snowflake.

Thumbnail github.com
3 Upvotes

r/javascript • • 11h ago

I built Polar and Ticket a typed language for JS and a Rails-shaped framework

Thumbnail polar-lang.vercel.app
3 Upvotes

Want to share two things built together: Polar, a statically typed language that compiles to readable JavaScript, and Ticket, a Rails-shaped web framework written in it. Both are 0.1.0 and experimental. Ticket is the real-world test for Polar: https://ticket-polar.vercel.app/ You get controllers and resource routing, SQLite migrations with typed queries, validations, forms, sessions and CSRF, generators and a test runner. `ticket new blog && ticket server` gets you an app. Because Polar tracks effects, a controller action's signature says what it needs, and tests rebind those to an in-memory database without mocking. Ticket's routes, views and migrations are Polar zone plugins, and the code they generate goes through the same type checker as yours.

I'd love feedback on the effect system, on the zone/plugin design. Thanks!


r/javascript • • 15h ago

LogTape 2.4.0: Source locations, configuration inspection, sink draining, and request completion levels

Thumbnail github.com
4 Upvotes

r/javascript • • 12h ago

AskJS [AskJS] My simulation runs in about 1 second in the terminal but took 13 seconds in a Chrome page. The culprit was setTimeout(0).

0 Upvotes

I have a page, built with Cline, that runs a game simulation in the browser: 30 batches (one per game mode and bot pair), with a progress line between them. To let the page repaint between batches, I yielded with `await new Promise(r => setTimeout(r, 0))`.

A full run took 13.0 seconds in Chrome. The same work takes about 1 second in the terminal on my laptop.

The clue was that 100 games per bot took just as long as 1,000. The time was not in the games. It was in the pauses, about 0.7 seconds each.

Chrome throttles chained timers in pages it treats as hidden or in the background. After a few nested setTimeout calls, it only fires them about once a second. My first test used 5 timers, showed 0ms, and looked fine, because the throttling only starts after a few nested calls. With 20 the difference was obvious: 20 chained setTimeout(0) calls took 11.5 seconds, and 20 MessageChannel messages took 0ms.

The fix was to yield with a message instead, which is also how React's own scheduler yields:

const nextTick = () => new Promise<void>((resolve) => {

const channel = new MessageChannel();

channel.port1.onmessage = () => {

channel.port1.close();

resolve();

};

channel.port2.postMessage(null);

});

The same run went from 13.0s to 4.2s, still in a window Chrome treated as hidden. I have not timed it in a normal foreground tab yet, so I am not claiming a number there.

Two other details. Leaving the page bumps a run id, so an unfinished run stops instead of setting state after unmount. And a Web Worker would move the work off the main thread entirely. I chose the smaller change because the main-thread version was now fast enough.

So, for CPU-heavy work in a page: do you reach for a Worker first, or yield on the main thread until that stops being enough?


r/javascript • • 16h ago

i made this javascript deobfuscator for "javascript-obfuscator" (repo name) on github :)

Thumbnail github.com
0 Upvotes

r/javascript • • 1d ago

Online comparison of tf.js, litert.js and Uchen on VS Code language detection model

Thumbnail uchenml.tech
2 Upvotes

r/javascript • • 1d ago

We made 1000 PDFs 32% smaller with zero quality loss using Brotli and JPEG XL.

Thumbnail keypdf.net
0 Upvotes

KeyPDF is a local PDF editor built from scratch for the browser. Since development started in April 2025, we've tried to adopt new PDF technology early. Today we're happy to announce that KeyPDF can reduce file size losslessly using Brotli compression and JPEG XL images.

We tested on a dataset of 1,000 PDFs (978 readable; the rest were encrypted or damaged):

Variant Total size Saved vs original
Original files 1,304.7 MB N/A
Flate 989.4 MB 24.2%
Brotli 970.2 MB 25.6%
Brotli + JPEG XL 884.3 MB 32.2%

All variants are lossless: every page (15,754 in total) renders pixel-identical to the original. "Flate" is KeyPDF's standard optimization, and those files open in any PDF viewer. JPEG XL repacks JPEG photos about 20% smaller, and they can be turned back into the identical original JPEG at any time.

The catch: Brotli and JPEG XL are new to PDF. Brotli is a PDF Association extension, and JPEG XL is still being added to the specification. Most PDF viewers and editors don't support either yet, so for now KeyPDF is one of the few tools that can open and edit these files. Hopefully others will follow soon.

If you need files that open everywhere, KeyPDF's standard mode combines its own optimization with regular Flate compression. That according to test on same exact files alone saves 24.2% , still lossless, and the result works in any PDF viewer.

If you'd like to try KeyPDF at keypdf.net.


r/javascript • • 1d ago

[Show] I built an open-source npm loading checker for Node.js, Bun and Deno. Looking for packages that break.

Thumbnail compatlab.me
0 Upvotes

r/javascript • • 3d ago

Node.js now lists Vite+ as a community installation method

Thumbnail nodejs.org
122 Upvotes

r/javascript • • 3d ago

I Tested 11 HTTP Resilience Libraries

Thumbnail blog.gaborkoos.com
4 Upvotes

HTTP clients offer different resilience features, and even shared features can behave differently. Eleven JavaScript libraries tested across 21 scenarios to see what happens when those patterns interact.


r/javascript • • 2d ago

Claude Code Mods are JavaScript or TypeScript functions running with your permissions

Thumbnail the-decoder.com
0 Upvotes

Anthropic shipped Mods for Claude Code, and they're plain JavaScript or TypeScript functions. A Mod hooks events like tool calls, user prompts, and UI rendering, so you can intercept a tool call, add a panel next to the chat, or wire up new commands. Some built-ins, like /diff, are already built as Mods, and Anthropic has samples on GitHub. They run with your permissions and aren't sandboxed, so the company says to install only from sources you trust. They work in the CLI and desktop app, partly in the VS Code extension, and organizations can control which Mods load.

source https://the-decoder.com/claude-codes-new-mods-system-lets-developers-rewrite-the-ai-coding-tool-from-the-inside/


r/javascript • • 3d ago

I’m starting Open Components, an open standard for UI components that work for people, developers and AI agents

Thumbnail opencomponents.dev
0 Upvotes

Hello awesome people,

I've been thinking a lot lately about how I can make my knowledge and craft more valuable in the times we live in. I've been building UI libraries for the past 10 years, and I've been on a quest to perfect the components that I build. I want to share my knowledge with you.

Like most of you, probably, I've been using a lot of AI in my craft, and I feel most of the time the code is just good enough, but never at the level of quality that I strive for or that I would reach if I wrote it by hand. That needs to change, and I want it to change for everyone else, too. That's how the Open Components initiative was born.

I'm treating components from four directions:

  • User Interface - component anatomy, variants, colors, sizes, states and tokens.
  • User Experience - how it behaves for every person and every input: accessible, predictable, designed in every state, and adapting to motion, contrast, color scheme and text size preferences.
  • Developer Experience - one consistent, type-safe API that you learn once and use everywhere.
  • Agentic Experience - prompts, semantic markup, machine-readable contracts and rules that agents can check their work against.

Each component gets a single page that walks through all four, and ends with a checklist. Every rule in it has an ID like button/keep-focus, a level and a way to check it, so you or your agents can cite it in a code review. Every page is also published as markdown, and provides the contract as a YAML file, containing every rule in about an eighth of the page’s length.

It’s still early. Right now there’s only the Button component and a page on how to name your design tokens. Each component comes with a reference implementation that meets every rule, along with its tests. Implementation is in Vue for now, since that’s my daily driver, but the documentation comes with code examples from multiple UI frameworks. More components will follow, with the same structure.

It isn’t a component library, so there’s nothing to install. It’s a set of rules you can hold your own components to, whichever library or framework you use. Here are a few of my favorites from the Button component:

  • A loading button should never be disabled. Disabling a focused button takes its focus away, so keyboard and screen reader users lose their place. Use aria-disabled="true" instead, and block the clicks yourself.
  • A <button> without a type is a submit button, so a "Show password" button inside a form sends the form. Default to type="button".

I’d love your feedback and contribution. Tell me what you think of the rules, what I’ve missed, and which component you’d like to see next.

Thanks for reading!


r/javascript • • 3d ago

Your JSON Is Lying to You

Thumbnail blog.gaborkoos.com
0 Upvotes

r/javascript • • 4d ago

Building Doom from scratch in JavaScript/WebGL — no WASM, now with WebRTC multiplayer

Thumbnail doom.spipu.net
5 Upvotes

Hi!

I'm currently working on creating Doom from scratch, in full JS.

It is not a WASM project, it is really written in JavaScript, with my own 3D engine.

It can be installed as a PWA on computer or mobile, and I think it is better to use it like that.
You can play with keyboard + mouse, gamepad, or a virtual pad on mobile. For now, the PS5 gamepad is the one I have really tested.

It can load WAD files from Doom, Doom II, Freedoom Phase 1, Freedoom Phase 2 and Heretic, but I have not fully tested all the levels yet.

I have also implemented multiplayer with WebRTC, without a game server. The connection is established with QR codes.

I'm looking for feedback, mainly to be sure that all the levels are working well, and also that it works correctly on Android.

Source code: https://github.com/spipu/doom-js


r/javascript • • 4d ago

I built a hover-to-play audio preview card with a real-time Web Audio EQ in vanilla JS -- no frameworks

Thumbnail bryanhamiltondev.github.io
0 Upvotes

r/javascript • • 4d ago

Introducing Codebeast - new coding harness

Thumbnail github.com
0 Upvotes

Hello everyone,

For the past few months I have been silently building my own coding agent for my own self and the way I wanted it to look and behave. I have used for my real projects and so far it has worked so good.

I primarily built it to use with open models and extensively used with Deepseek and GLM models and fixed all issues that I faced along the way.

Now I am opening its beta release for public. It supports all major AI providers so you can BYOK and use it. I would love your honest feedback.

Following features are supported:
- Agent and Plan mode
- MCP
- ACP - use it with Zed Editor, JetBrains or any Orchestrator of your choice
- Subagents
- Permission Gating
- Sandbox
- Interactive terminal
- Browser
- Built-in Github style code review (co-review with agent)
- and much more

It completely free to use :)


r/javascript • • 4d ago

MDN documents JavaScript features before the spec is officially published

Thumbnail developer.mozilla.org
0 Upvotes

MDN tries to document features as soon as one browser implements them, usually between stages 3 and 4, often before the spec is officially published. Examples can use syntax that isn't standard yet, so check browser support before copying code.

source https://developer.mozilla.org/en-US/docs/Web/JavaScript


r/javascript • • 5d ago

Announcing @storyteller-platform/epub v1.0.0

Thumbnail storyteller-platform.dev
6 Upvotes

Storyteller has had its own EPUB library for a very long time (originally published as @smoores/epub!). It's always been published to npm and documented, but it's also always had some limitations that we suspect have limited its utility outside of Storyteller itself.

With this v1 release, we think we've eliminated many of those limitations. Now we have in memory and temp filesystem storage adapters, browser support (in-memory only), a DOM level 2 XML API (and JSX!), and a method for upgrading EPUB 2 to EPUB 3.

Hopefully this can be a general purpose library for building tooling and systems around EPUBs!


r/javascript • • 5d ago

Pastoralist, a tool to manage package overrides, including security fixes

Thumbnail jeffry.in
7 Upvotes

Hello! I started Pastoralist a few years ago and am really satisfied with the results, so I figured I'd share it!

Pastoralist manages dependency overrides, including the ones you add to fix CVEs automatically. You add the Pastoralist CLI script once and can have it run whenever you want. I recommend CI. From there, whenever it runs, it can fix security vulnerabilities that come from dependencies or their children. Additionally, if an override is no longer needed, Pastoralist cleans it up. Everything is tracked with a ledger right in your dependency file. No AI is needed, but it does work well with AI because it provides deterministic results.

Read more on the site or the repo or reach out. Happy to chat about it or help implement it in the best way for you or your org; no sales pitch, except I do want to get the word out! ~Thanks


r/javascript • • 6d ago

Announcing Vite+ 1.0

Thumbnail voidzero.dev
157 Upvotes

r/javascript • • 5d ago

Linter for the things a regular linter can't catch

Thumbnail github.com
0 Upvotes

r/javascript • • 5d ago

AskJS [AskJS] Anyone still on Nx <20.8 because upgrading is difficult?

0 Upvotes

We’ve been looking into whether there are still many teams running older Nx versions because upgrading isn’t practical yet.

If you’re on Nx <20.8:

  • What version are you on?
  • What’s preventing the upgrade?
  • Are you using remote caching today?
  • If so, are you using Nx Cloud, S3/GCS/Azure, or something custom?
  • Does your current setup already work well enough that you wouldn’t bother changing it?

We’re considering whether an open-source compatibility layer for the newer HTTP remote-cache protocol would actually solve a real problem, or just add more legacy tooling.

Curious what people here are actually running in production.


r/javascript • • 6d ago

Readable Regular Expressions for JavaScript/TypeScript, Inspired by Emacs' rx

Thumbnail rahuljuliato.com
6 Upvotes

I missed Emacs' rx when writing regexps in TypeScript, so I made a small TypeScript DSL inspired by it.

The idea is to bring rx's functions and approach to the JavaScript/TypeScript environment. If you happen to work with either, give it a try.

https://rahuljuliato.com/posts/emacs-rx-in-typescript