QR Code
OWT Web Services       http://owtweb.com
[Skip to Content]

Industry News

12/18/2025





















#​766 — December 19, 2025

Read on the Web



🗓️ As it's the last issue of 2025, a reminder that JavaScript Weekly moves to Tuesdays in January. See you again on January 6, 2026!
__
Your editor, Peter Cooper





JavaScript Weekly



It's the final issue of the year, so we're going to cover a few new items, then look back at the top links of 2025 (based on reader engagement) and recap what happened in the ecosystem month-by-month this year.









The JavaScript Bundler Grand Prix — Bundlers now sit at the heart of many JavaScript workflows and are sometimes even integrated into runtimes (e.g. Bun’s). This piece surveys the landscape and argues the speed wars are mostly over, with the real battle shifting to artifact size and the code that actually ships to users.


Kate Holterhoff






Coding with AI: The Practical Path for JavaScript Devs — Go beyond demos and hype. Learn real AI-powered workflows with JavaScript, from prompt engineering and coding agents to MCP, ML, and production-ready apps.


Frontend Masters sponsor






'I Ported JustHTML from Python to JavaScript with LLMs in 4.5 Hours' — Prolific AI blogger Simon Willison shares the tale of porting a standards-compliant HTML5 parser (which passes all 9200+ html5lib-tests) from Python to JavaScript using OpenAI’s Codex CLI and GPT 5.2. You can play with the end result or check out the code.


Simon Willison




IN BRIEF:





RELEASES:




🏆 The Top 10 Links of 2025





1. A Perplexing JavaScript Parsing Puzzle — Hillel's deceptively simple puzzle – just 14 bytes of code – attracted by far the most attention this year. Despite working with JavaScript for most of its lifespan, I got it wrong!


Hillel Wayne






2. Ecma International Approved ECMAScript 2025: What’s New? — Each year, the Ecma General Assembly approves the latest ECMAScript language specification, and you can read the ES2025 spec in full. Better, though, is to enjoy Dr. Axel’s succinct explainer.


Dr. Axel Rauschmayer







MACROSCOPE - Free AI Code Review for Open Source — Free for non-commercial projects. Everyone else: use OSSAI for 50% off your first 2 months.


Macroscope sponsor







3. 'I Think the Ergonomics of Generators is Growing on Me' — If you've never worked with generator functions, this remains a great look at what they are and where they can be useful. Alex notes that “their practicality hasn’t exactly caught on” (yet..)


Alex MacArthur






4. How the Web is Using JavaScript — The JavaScript section of this year's HTTP Archive Web Almanac report went into depth on how much JS we’re using (and failing to use), the popularity of TypeScript, Web Worker usage, and.. yes, jQuery still dominates!


HTTP Archive






5. Some Features Every JavaScript Developer Should Know in 2025 — A quick list post breezing through some more modern areas of JavaScript including iterator helpers, structuredClone(), and set operations.


Suren Enfiajyan




6. How to Keep package.json Under Control – Covers 'dependency hygiene' and ways to keep things under control. Great tips and tool recommendations.


7. A Brief History of JavaScript – This epic timeline of JavaScript's history will remain a go-to resource for years.


8. War Story: The Hardest Bug I Ever Debugged – A former engineer on the Google Docs team told the tale of a bizarre error that afflicted Google Docs ten years ago.


9. Things People Get Wrong About Electron – One of Electron's maintainers defended the technical choices made by the project over the years.


10. Move On to ESM-Only – While you can maintain packages supporting both ESM and CommonJS, Anthony explained why it's finally time to go 'ESM only'.



🗓️  JavaScript in 2025: Month by Month



Let's step through the year and remember the biggest things that happened in JavaScript each month:


JANUARY – At the start of a very productive year for the alternative JS runtime, Bun took a big step forward with Bun 1.2. We also got a big update on progress with Express.js.


FEBRUARY – An epic documentary about Angular was released. The Deno vs Oracle battle over the JavaScript trademark rumbled on. TypeScript 5.8 was a big release for Node developers in particular. Meanwhile, a developer implemented Doom entirely in TypeScript's type system.


MARCH – Babylon.js 8.0, the latest version of Microsoft's epic JavaScript 3D engine, was released, as was Express 5.1.


APRIL – Koa 3.0 was released, a major Node.js collaboration summit took place in Paris, and p5.js 2.0 was released.


MAY – The Remix project had a huge shakeup. The GSAP animation toolkit was made freely available. The Glitch platform announced it was shutting down. The Deno team put together an epic timeline of JavaScript's history and Microsoft released its first preview of its new natively-compiled Go port of TypeScript.


JUNE – Oxlint 1.0 and Vite 7.0 were released. Dr. Axel unveiled the ES2025 edition of his Exploring JavaScript book. Biome v2 became the first type-aware linter that didn't require tsc, and Ecma International approved the ECMAScript 2025 spec.







When LLMs Hit Your Database, Schema Names Aren’t Enough — See how adding semantic context to Postgres helps LLMs query data correctly, and boosts SQL accuracy by 27%.


Tiger Data sponsor





JULY – The JS1024 code golfing contest took place, Deno 2.4 was released, and Vercel acquired NuxtLabs.


AUGUST – TypeScript 5.9 and Apache Echarts 6 were released. The jQuery team dropped a release candidate of jQuery 4.0 (we're still waiting for the final release, though).


SEPTEMBER – Mediabunny shook up the media processing scene. Chrome turned 17, and a messy few months for npm package security began with a variety of packages being compromised in a phishing attack. In response, pnpm added support for delayed dependency updates. macOS Tahoe users found Electron apps were laggy due to a change in a private API. The Deno project asked the community for $200k to help with its JavaScript trademark case.


OCTOBER – React Compiler v1.0 was released, as well as Node.js v25.0, and Node.js 24 became the active LTS release. The React team announced the React Foundation and moves to make React's ownership less attached to Meta. Bun 1.3 was released to much fanfare and Evan You announced Vite+. GitHub announced TypeScript had become the platform's #1 language.


NOVEMBER – The now-named Shai Hulud supply chain attack reared its ugly head in a 'version 2' form. The JavaScript Engines Zoo launched to show us just how rich the JS runtime and engine ecosystem is. Google unveiled Angular v21.


DECEMBER – JavaScript turned 30 years old. Microsoft shared an update on TypeScript 7.0 and Deno 2.6 was released. Node.js v24.12.0 (LTS) was also released, finally making type stripping stable in an LTS release.







📰 Classifieds




🎄 Give yourself the gift of time this Christmas. Let Meticulous observe your app and auto-build continuously evolving E2E UI tests while you celebrate. Book a call now.



Trigger.dev handles queues, retries, and long-running tasks so you can build production-ready agents and TypeScript workflows reliably at scale.







🎄 This is the final issue of JavaScript Weekly for 2025 – thanks for reading, submitting links, and supporting us! We're going to return on Tuesday, January 6, 2026. See you then! And, if we're really lucky, we might catch up on our inbox packed with submissions by then too... ;-)










12/11/2025





















#​765 — December 12, 2025

Read on the Web





JavaScript Weekly








Useful Patterns for Building HTML Tools — In many situations, you don’t need a full-on framework to build useful tools; just HTML, JavaScript and CSS in a single file will do the job fine. Simon’s become a bit of an expert by rolling out many such tools using LLMs, and shares his process and practices here. More please!


Simon Willison






Why Are the Top AI Companies Choosing SpreadJS? — Because SpreadJS brings a familiar Excel-like UI to JavaScript web apps. Trusted by leading AI innovators and organizations, it empowers devs to build finance, analytics, and more apps with Excel I/O, 500+ calc functions, charts, & more. View demos!


SpreadJS From MESCIUS sponsor






Deno 2.6 Released — The popular alternative runtime introduces a new npx-like tool called dx to run binaries from npm and JSR packages, adds a deno audit tool for identifying vulnerabilities in dependencies, adds more granular control over runtime permissions, implements source phase imports, and more.


Iwańczuk and Jiang (Deno)




IN BRIEF:





RELEASES:




📖  Articles and Videos





How the Seattle Times is Protecting Itself from npm Supply Chain Attacks — Technical details on how the Seattle Times has been adopting pnpm as an alternative to npm for its enhanced client-side security controls.


Ryan Sobol






A Proposal for Making Complex Web Apps Faster — From Microsoft comes an early-stage look at a proposal for a new Delayed Message Timing API to help deal with the slowdowns that multiple parallel contexts (iframes, threads, multiple windows, etc) can introduce. Feedback is being sought.


Joone Hur & Patrick Brosset (Microsoft)






Behind CERN’s Data Engine: Faster Writes, Instant Insights — CERN’s massive time-series workloads run faster with TimescaleDB, improving ingestion, compression, and real-time analytics.


Tiger Data sponsor






Building a Tiny 2D Physics Engine in JavaScript — A lovely, and rather old-school style post about building a simple physics engine from scratch in JavaScript then golfing it down to just 2KB of source as seen on its homepage (where there's a demo too).


Maxime Euzière




📄 Non-Blocking Cross-Browser Image Rendering on the Canvas – A good way to improve UX responsiveness with more complex use cases. Alexander Myshov


📄 Prelude of the Chambered Reborn: Rewriting a Classic in TypeScript – Porting a Java game that Minecraft’s creator worked on during a Ludum Dare contest. Angelo Lima


📄 Angular Tips – A documentation site covering numerous best practices for building large Angular apps. Martin Boué



🛠 Code & Tools








Open Sourcing the Remix StoreThe Remix Store is a swag store for the Remix project and its codebase provides a powerful example of how Remix’s own core team builds apps with Remix and Hydrogen.


Brooks Lybrand and the Remix Team




💡 You don't need to be a Remix user to benefit from this code, either. For example, here's the code to the store's neat 'glitchy' 404 page which you could adapt to use elsewhere.





🕒 <relative-time> 5.0: Format Timestamps as a Natural Language Relative Time — Supply this web component with a standard formatted date and time and it’ll render “2 days ago”, say. GitHub uses this itself on all repo and code views.


GitHub






Still Writing Tests Manually? — See why modern engineering teams like Dropbox, Notion and Lattice rely on Meticulous to run E2E UI tests.


Meticulous AI sponsor






ts-exec: Execute TypeScript on Node using SWC — From the creator of Adonis comes another way to run TypeScript on Node. While Node 22.18+ supports type stripping, ts-exec supports JSX and decorators and has some benefits over ts-node and tsx.


Harminder Virk






Toastflow: A Toast Notifications Library for Vue 3 — A really nifty web-based playground for playing around with toast notifications. I wish more projects had things like this. Toastflow is technically framework agnostic, but the only renderer so far is for Vue 3. GitHub repo.


Adrián Janočko






Devalue: Get the Job Done When JSON.stringify Can't — A library from the Svelte project that’s like JSON.stringify but that can tackle more things like cyclical and repeated references, regexes, Map and Set, and even custom types. You can try it out here.


Svelte






iceberg-js: A JavaScript Client for Apache Iceberg — A minimal, vendor-agnostic JavaScript client for the Apache Iceberg REST Catalog API that works in most runtimes and environments.


Katerina Skroumpelou (Supabase)






  • Inertia 2.3 – Build single-page React, Vue and Svelte apps using classic server-side routing and controllers (ideally for integrating with server-side frameworks like Django, Rails, Laravel, etc.)




  • OpenPGP.js 6.3 – OpenPGP implementation for JavaScript.




  • 🗓️ React Datepicker 9.0 – Long–standing React date picker component.




  • 🎸 SVGuitar 2.5 – Render guitar chord charts in SVG form.




  • pnpm 10.25 – Fast, space efficient package manager.




  • js-tokens 10.0 – Tiny JavaScript source tokenizer.









📰 Classifieds




Trigger.dev handles queues, retries, and long-running tasks so you can build production-ready agents and TypeScript workflows reliably at scale.



$5 PostgreSQL now available. Stop overpaying for idle instances with the new developer tier from Aiven.






📢  Elsewhere in the ecosystem



Some other interesting tidbits in the broader landscape:
















12/04/2025





















#​764 — December 5, 2025

Read on the Web





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:





RELEASES:




📖  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










📰 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:
















11/27/2025





















#​763 — November 28, 2025

Read on the Web





JavaScript Weekly








Over 150 Algorithms and Data Structures Demonstrated in JS — Examples of many common algorithms (e.g. bit manipulation, Pascal’s triangle, Hamming distance) and data structures (e.g. linked lists, tries, graphs) with explanations. Available in eighteen other written languages too.


Oleksii Trekhleb et al.






TypeScript: From First Steps to Professional — Learn TypeScript step-by-step with Anjana Vakil, and gain confidence writing code you can trust! Add strong types, reuse interfaces, and apply type safety throughout your app with hands-on projects converting JavaScript to TypeScript.


Frontend Masters sponsor






⚠️ The Shai-Hulud 2.0 npm Worm: Analysis, and What You Need to Know — The next generation of a ‘worm’ we’ve previously encountered is back infecting more packages, exfiltrating developers' credentials, then republishing yet more packages to spread further. This is a good writeup of how it works.


Tafani-Dereeper and Obregoso (Datadog)




IN BRIEF:





RELEASES:




  • Prettier 3.7 – The popular opinionated code formatter.




  • pnpm 10.24 – The fast, efficiency-focused package manager gets even faster with adaptive network concurrency.




  • Bun 1.3.3 – The popular JS runtime adds CompressionStream and DecompressionStream, upgrades to SQLite 3.51.0, and other minor enhancements.




  • Playwright 1.57 – Microsoft's browser/Web automation library now has a 'speedboard' tab in its HTML reports to show you your tests sorted by slowness. It also switches from Chromium to Chrome for Testing.




  • Valibot 1.2, Storybook 10.1, Next.js v16.0.5, Immer 11.0





📖  Articles and Videos








The Performance Inequality Gap in 2026 — Esteemed browser and Web standards expert Alex Russell looks at the state of client-side Web performance, what sort of bandwidth you should be taking into account, what devices people are using, and warns against ever-growing JavaScript bundle sizes. A lot of data here.


Alex Russell






Why Use React? (On the Frontend) — Jeremy asks some big, potentially uncomfortable questions, but notes how React’s modern server-side powers are a real boon, while questioning React’s role on the frontend, where Preact might well suit you better.


Jeremy Keith






Breakpoints and console.log Is the Past, Time Travel Is the Future — 15x faster JavaScript debugging than with breakpoints and console.log, supports Vitest, Jest, Karma, Jasmine, and more.


Wallaby Team sponsor






▶  What are 'Invokers': Interactivity without JavaScript? — The Invoker Commands API lets you assign behaviors to buttons. You can use JavaScript to create custom commands, however.


Scott Tolinski






How Vercel Built Its First Mobile App with React Native — Vercel has built an iOS app for its v0 AI-powered app development tool using React Native and Expo. This is a detailed look at how they tackled certain issues to make the UX smooth and responsive.


Fernando Rojo (Vercel)






Wrangling My Email with Claude Code — James shows how you can use Claude’s ‘agent skills’ to run a JavaScript app that fetches your email from Gmail for Claude Code to analyze.


James Long




📄 How a Summer in Abruzzo Helped Bring Type Stripping to Node.js – It’s neat to get some background to the story. Marco Ippolito


📄 Taking Down Next.js Servers for 0.0001 Cents a Pop – A vulnerability that has been fixed, if you’re on Next.js 15.5.5 or 16+. Alex Browne


📄 Tinyglobby: A Success Story in Modernization and Performance Madeline Gurriarán


📄 Managing Side Effects: A JavaScript Effect System in 30 Lines or Fewer Aycan Gulez


📄 How to Build Cinematic 3D Scroll Experiences with GSAP and Three.js Joseph Santamaria


📄 Migrating 6000 React Tests Using AI Agents and ASTs Elio Capella Sánchez



🛠 Code & Tools








FullCalendar: A Full Sized JavaScript Calendar Control — Get a Google Calendar-style experience in your own apps. Has connectors for React, Vue and Angular, but can be used with plain JavaScript too. The base version is MIT licensed, but there’s a commercial version too with extra features.


Adam Shaw






Better Auth: A Comprehensive Authentication Framework for TypeScript — A framework agnostic authentication and authorization framework that provides email and password-based auth, OAuth and social sign-in, account and session management, 2FA, and more. v1.4 was just released with stateless/database-free session management support.


Better Auth






Tiger Data Taught AI to Write Real Postgres Code. Try it Today — pg-aiguide brings real DB expertise to Claude Code, or any other MCP-enabled tool.


Tiger Data sponsor






Heat.js 4.5: A Heat Map Visualization Library — Think the GitHub contributions heat map. No dependencies, small, responsive, and theme-able. There’s a live demo or its GitHub repo.


William Troup






Ant Design 6.0: The React UI Design Language and UI Library — One of the bigger, more ‘corporate’ looking React component suites. v6 provides a smooth migration for v5 users and is focused on optimizations and React 19 compatibility.


Ant Design Team










📰 Classifieds




🦃 This Thanksgiving, skip writing tests. Meticulous observes your app and auto-builds continuously evolving E2E UI tests while you feast. Book a call now.



🏎️ Depot's new GitHub Actions Analytics: see job durations, failure rates, CPU/memory usage, and performance trends across all your repos at a glance.



🎨 Try Pintura image editor for free today, add a polished cropping, rotating, and annotation experience to your web app in minutes.












TSDiagram: Diagrams as Code with TypeScript — Draft diagrams quickly with TypeScript. Define your data models through top-level type aliases and interfaces and it automatically lays out the nodes in an efficient way. GitHub repo.


Andrei Neculaesei



📢  Elsewhere in the ecosystem



Some other interesting tidbits in the broader landscape: