Rebuilding the original GTA engine in JavaScript
#808 — October 27, 2026
JavaScript Weekly
TanStack AI 1.0: The Vendor-Neutral AI Toolkit Goes Stable — TanStack's framework-agnostic AI toolkit reaches 1.0, with stable APIs for chat, tools and media, plus 23 provider adapters. A new agent harness supports long-running sessions, but its APIs remain experimental.
Tuzlak, Herrington, et al. (TanStack)
Would You Let Your AI Agent Grade Its Own Homework? — Agents write code faster than ever. They even review their own work. But who’s reviewing them? Dropbox, Notion & ElevenLabs don’t take the risk. With Meticulous, every change is exhaustively verified, with zero developer effort.
Meticulous sponsor
Announcing TypeScript 7.1 Beta — TypeScript 7 gets a programmatic API, plus 'content mappers', a plugin point for checking code embedded in files such as Vue, Svelte, and Astro components. Also new are source phase imports and --target es2026.
Daniel Rosenwasser (Microsoft)
GTA.js: 1997's Grand Theft Auto, But in JavaScript — Bramus has been reimplementing the original top-down GTA's engine in JavaScript and WebGL, loading Liberty City from the game's original demo files. Play it here.
Bramus Van Damme
💡 Fittingly, Pat Kerr, whose 1996 Atari ST prototype formed the basis of the original game's vehicle physics, recently rebuilt it in JavaScript.
IN BRIEF:
- Deno's Bartek Iwańczuk says the team is working on getting Deno into a foundation. Meanwhile, a new fork, Ende, plans to drop Node compatibility and refocus on sandboxing.
- Safari 27.1 previews the Device Posture and Viewport Segments APIs behind feature flags on the iPhone Duo, letting JavaScript detect folds and inspect screen segments.
- Chrome 156 has reached stable and no longer caches module fetch failures, so a dynamic
import()that fails due to a network or HTTP error can be retried.
RELEASES:
- Node.js v26.12.1 (Current), v24.22.1 (LTS) and v22.23.4 – Security releases fixing ten CVEs, including the 'Node2Shell' Brotli decoder flaw, which can lead to remote code execution when an app decompresses malicious data. (Also, Node 26 is due to become LTS tomorrow.)
- Bun 1.4.4 – Adds
bun fmt, a Prettier-compatible formatter that uses your existing Prettier or oxfmt config. It's very fast. - Electron 45 – Upgrades to Chromium 156, Node 24.22 and V8 15.6, and adds hooks for the Prompt API so apps can plug in a local model.
- pnpm 12.16, Remix 3.1, axios 1.21, Deno 2.9.8
📖 Articles and Videos
Parser Combinators in TypeScript, Built From Scratch — Parser combinators sit between regexes and heavyweight tools like tree-sitter. This animated, step-by-step walkthrough shows the basic elements of building them, concluding in an example turning ping output into typed objects.
Florian Schindler
Dead Code Shouldn't Exist: How Sentry Cut 28,000 Lines — A talk Dominik has given at six conferences this year, now as swipeable slides with a full transcript. He covers how unused code can cost more than you might think, and how Sentry used Knip to remove 28,000 lines.
Dominik Dorfmeister (Sentry)
AI.js Day 2026: Frontend's Scariest AI Questions, Live on Channel 13, Nov 13 — No hype, just the AI questions frontend devs are afraid to ask. Save your spot.
JetBrains sponsor
Building an Isolated Preview for AI-Generated HTML — Rendering model-written HTML in a srcdoc iframe runs it on your own origin. A security engineer breaks the naive approach, then rebuilds it using sandbox and a strict CSP, with demos showing what each one blocks.
Keshav Malik
A First Look at TypeScript 7.1's Content Mappers — TypeScript 7 ignores tsserver plugins, but 7.1's content mappers can turn non-TS files into TypeScript. Here's how they work, applied to CSS modules and .graphql files.
Jovi De Croock
📄 How Engines Turn Dynamic Objects Into Fast Field Access – Shapes and inline caches, explained with runnable sketches. Max Bernstein
📄 Software is Slow Because of Bad Design, Not Slow Languages Sean Goedecke (GitHub)
🛠 Code & Tools
Structs: TC39's Shared Structs Proposal, But Usable Today — A former TC39 delegate's implementation of the Stage 2 structs proposal. The idea is you get shared memory between workers, so threads can work on the same objects instead of serializing copies back and forth. There's a playground too.
Erik Arvidsson
Introducing TanStack Redact: A Slimmer React Runtime — A build plugin swaps React and React DOM for a smaller reimplementation in the browser with no code changes. It works with Vite, Start, Vinext and Next.js, and while TanStack reports 20-70% smaller client builds, rendering is synchronous only.
Tanner Linsley (TanStack)
AI Tests That Catch Real Bugs — AI can write low-value tests that pass without checking much. Wallaby helps your agent refine assertions and catch bugs.
Wallaby Team sponsor
Verdaccio 7.0: The Self-Hosted npm Registry Adds Staged Publishing and 2FA — A mature, lightweight way to self-host your own npm registry and proxy. v7 adds experimental staged publishing (where new versions need approval before going live) and 2FA, plus stricter ownership checks.
Verdaccio Team
Biome 2.6 Adds Markdown, YAML and SCSS Support — The Rust-powered alternative to Prettier and ESLint adds formatting support for Markdown, YAML and SCSS, along with initial linting support. JavaScript plugins for custom lint rules are available as a developer preview.
Biome Core Team
- ☕ CoffeeScript 2.7.1 – The first release in four and a half years brings Node 22+ fixes and
with { type: 'json' }import attributes.
💡 If you never used CoffeeScript, it is/was a Ruby- and Python-flavored language that compiled to JavaScript. Brendan Eich held up its arrow functions and lightweight classes as models for what went into ES6 (ES2015).
- oxlint 1.89 – The Rust-based linter now counts the upstream recommended rules of its React, Vue, Next.js, Jest/Vitest, and other plugins as 'recommended' so expect more reports if you upgrade.
- Mutative 2.0 – Immer-style efficient immutable updates library. The author reports a 3.6x speedup over Immer across a benchmark suite.
- SonicJS 3.0 – Headless CMS for Cloudflare Workers, built on Hono. v3 rebuilds the data layer, auth and plugin system. Homepage.
- query-string 10.0 – Parse and stringify URL query strings. Now throws for values it can't represent.
- ShareDB 7.0 – Realtime database backend based on operational transformation.
📰 Classifieds
📱 Expo is mobile AI infrastructure. Your agent writes the code, and Expo gets your iOS and Android app built and into the stores. Try it.
🧩 CAPTCHAs can frustrate real users and cost you conversions. Try Fingerprint’s bot detection for free and stop abuse without the friction.
📢 Elsewhere in the ecosystem
- 🔒 Node2Shell: ELLIO now reports exploit traffic in the wild for the Brotli RCE fixed in the Node releases (as mentioned earlier). The flaw is in Google's Brotli library, so bundled copies elsewhere need patching too.
- Sentry has given $1m to open source maintainers this year. JavaScript recipients include pnpm, TanStack, MSW, Knip and three Three.js maintainers, plus the OpenJS Foundation.
- 🎉 CSS-Tricks, the popular web dev resource, is independent again, now owned by longtime editor Geoff Graham.
- Arc, the design-led Chromium browser popular with developers, is being sunset with The Browser Company steering everyone to Dia.
- 📄 Google Docs can now open, edit and collaborate on Markdown files natively and Drive renders previews of them too.