What’s the story? JavaScript’s 30!
#764 — December 5, 2025
JavaScript Weekly
🎉 JavaScript Turns 30 Years Old 🎉
Back in May 1995, a 33 year old Brendan Eich built the first prototype of JavaScript in just ten days, originally codenamed Mocha (and then LiveScript). On December 4, 1995, Netscape and Sun Microsystems officially announced ‘JavaScript’ in a press release as “an easy-to-use object scripting language designed for creating live online applications that link together objects and resources on both clients and servers.”
Over thirty years, JavaScript has cemented its place at the heart of the Web platform, and more broadly in desktop apps, operating systems (e.g. Windows’ use of React Native), mobile apps, and even on microcontrollers.
Here’s to another thirty years and, hopefully, the resolution of the confusion and litigation around JavaScript’s trademark. C’mon, Larry, give us all a Xmas present we won’t forget? 😅
P.S. Enjoy finding the 1995 references in our special birthday montage above.
How to Ship Enterprise Auth, Identity, and Security Features — Enterprise customers demand SSO, SCIM, RBAC, and audit logs that meet strict compliance standards. WorkOS offers developers a platform for shipping these features fast with a suite of easy-to-integrate APIs and a portal for streamlined customer onboarding.
WorkOS sponsor
Progress on TypeScript 7 — It’s been a quiet few months for the TypeScript project publicly, but behind the scenes they’ve been working hard on both TypeScript 6.0 and 7.0. v6.0 is going to be the final JavaScript-based release and act as a stepping stone to the native Go port (v7.0) which is already shaping up to be some 10x faster.
Daniel Rosenwasser (Microsoft)
Anthropic Acquires the Bun JavaScript Runtime — It’s been an intense few years for Bun, the JavaScriptCore-powered JS/TS runtime. Anthropic, best known for its Claude LLMs, is betting on Bun for powering its Claude Code agentic development tool and more. Jarred tells the full Bun story here and reassures us Bun will remain open and become better than ever as a result.
Jarred Sumner
IN BRIEF:
⚠️ The React team has announced a critical security vulnerability in React Server Components which affects apps that support RSCs, including (some) Next.js apps.
🎄 The Advent of Code is taking place right now with 12 days of puzzles to solve.
If you prefer something more JavaScript specific, AdventJS has some JavaScript-specific puzzles you can solve right in your browser.
Advent of Svelte is sharing 25 different Svelte-related tips over the month.
WebGPU is now supported across all major browsers.
RELEASES:
Vite 8 Beta – Now powered by Rolldown and promising significantly faster production builds and a better platform for future development.
Oxfmt: Oxc Formatter Alpha – A Rust-powered, Prettier-compatible code formatter.
📖 Articles and Videos
No More Tokens: Locking Down npm Publishing Workflows — Following a recent spate of npm security incidents, Zach, creator of 11ty, carried out an audit of his npm security footprint and shares some tips we can all use.
Zach Leatherman
💡 Liran Tal also shares some npm security best practices to adopt.
The Nuances of JavaScript Typing using JSDoc — If you prefer JavaScript over TypeScript (and I know there are plenty of you!) but still want some of the benefit of types, JSDoc provides an interesting alternative.
Jared White
No Breakpoints, No console.log — Just AI & Time Travel — 15x faster TypeScript and JavaScript debugging than with breakpoints and console.log, upgrading your AI agent into an expert debugger with real-time context.
Wallaby Team sponsor
How Fast Can Browsers Process Base64 Data? — Gigabytes per second on modern hardware in most cases, except for Firefox and Servo.
Daniel Lemire
Making a ‘Drone Ambient Noise’ Synthesizer in JavaScript — An interesting look at a tool that turns any files into sound using the Web Audio API and granular synthesis. You can try a live demo here.
Stranno
📊 Comparing AWS Lambda Arm vs x86 Performance Across Runtimes – Different versions of Node.js are put through their paces. Arm seems to be a big win vs x86 on Lambda. Chris Ebert
📄 Angular Pipes: Time to Rethink – We don’t see many high quality Angular articles these days, so this is a pleasure. Vyacheslav Borodin
📄 TypeScript Strictness is Non-Monotonic: How strictNullChecks and noImplicitAny Interact Huon Wilson
📄 How to Test a Vue Composable with TypeScript John Franey
📄 Category Theory for JavaScript Developers Ibrahim Cesar
🛠 Code & Tools
🤖 TanStack AI: A Unified Interface for LLM/AI Providers — The latest member of the rapidly growing TanStack family of libraries offers a unified, framework agnostic interface to multiple AI APIs, complete with streaming, and Zod schema inference. Currently in alpha. GitHub repo.
TanStack
💡 Another newcomer is TanStack Pacer which offers framework-agnostic debouncing, throttling, rate limiting, queuing, and batching utilities.
Prototype AI-Powered React Apps Instantly with Agentic Postgres Free — A Postgres built for rapid iteration: vector search, forks, PITR—free forever for developers + agents.
Tiger Data sponsor
Remend: Automatic Recovery of Broken Streaming Markdown — Bring intelligent incomplete Markdown handling to your app, particularly useful if working with LLMs, say. It’s extracted from Vercel’s Streamdown library, a drop-in replacement for react-markdown, designed for AI-powered streaming.
Hayden Bleasel (Vercel)
Tinybench 6.0: A Tiny, Simple Benchmarking Library — Uses whatever precise timing capabilities are available (e.g. process.hrtime or performance.now). You can then benchmark whatever functions you want, specify how long or how many times to benchmark for, and get a variety of stats in return – it runs across multiple runtimes. GitHub repo.
Tinylibs
Ruby2JS: A Ruby to JavaScript Transpiler — A transpiler aimed at keeping the resulting code looking ‘hand crafted’ rather than merely transpiled. Play with the live demo on the home page to get a feel for it.
Sam Ruby and Jared White
Chokidar 5.0 – Efficient cross-platform file watching library for Node.js.
Prisma 7.1 – Popular ORM for Node.js and TypeScript.
Neutralinojs 6.4 – Lighter alternative to Electron.
Express v5.2.0 and v5.2.1
📰 Classifieds
Still writing tests manually? See why modern engineering teams like Dropbox, Notion and Lattice rely on Meticulous to run E2E UI tests.
🎨 Try Pintura image editor for free today, add a polished cropping, rotating, and annotation experience to your web app in minutes.
📢 Elsewhere in the ecosystem
Some other interesting tidbits in the broader landscape:
🤖 Colin Eberhardt looks into using GitHub’s Spec Kit for building a modern Svelte app using Spec-Driven Development (SDD) where the human and AI agents work in tandem.
The team at DebugBear has a review of web performance topics in 2025, including DevTools enhancements, changes to how TTFB, LCP, and INP are measured, and Firefox’s support for the Scheduler API.
Brian ‘Beej’ Hall, famous for his various guides for things like network programming and Git, has released Beej’s Guide to Learning Computer Science. It’s high level and more about the mental models and philosophy of problem solving than any actual coding or math.
DepX’s badge generator gives you a graphical badge you can include in your README or on your project site to show how many (or how few!) dependencies your npm package has.
Want to try and understand how elliptic curve cryptography works? Here’s an attempt at boiling it down.