---
title: "The up to 8x faster Rust port of TypeScript"
publication: "JavaScript Weekly"
issue: 807
published_at: "2026-10-20"
canonical_url: "https://javascriptweekly.com/issues/807"
---

Plus a Tetris script that turns into Snake, Leaflet gets forked, and ten hours of ViteConf.        

#​807 — October 20, 2026 

[Read on the Web](https://javascriptweekly.com/issues/807)  

Together with [![Svix\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_1280,h_386/e_make_transparent/co_white,e_outline:13/uokdi3wp1cp3vvnshdmd.png)](https://link.svix.com/cooper-p-01)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/nuezexh7haulvsllbugt.jpg)](https://blog.cloudflare.com/typescript-rust-port/)  

[tsrs: Cloudflare and VoidZero's Rust Port of TypeScript](https://blog.cloudflare.com/typescript-rust-port/) — A Rust port of the Go-based TypeScript 7 compiler, built with [some input from the TypeScript team](https://news.ycombinator.com/item?id=50167925) and heading into [Oxc](https://oxc.rs/). Benchmarks claim up to 8x the speed of TypeScript 7.0 and it runs in WebAssembly. Experimental, but `npx tsrs`works. 

Chen, Mitropoulos and Nakazawa (Cloudflare / VoidZero)  

💡 Max Schwenk started the port with agents writing the code, and [tells the full tale here](https://building.owner.com/tsrs), including how it took his company's typecheck from 80 seconds to 7.  [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/dc7dffad.png)](https://link.svix.com/cooper-p-01) 

[Send Webhooks from Your TypeScript API in Minutes](https://link.svix.com/cooper-p-01) — One typed npm package, one call per event. Svix handles retries, signing, delivery logs, and a portal for your customers, so you don't build any of it. Resend sends 200M+ webhooks a year through it. 

Svix sponsor   

[Thank You, Deno: Competition Keeps JavaScript Moving](https://www.vlt.io/blog/competition-keeps-javascript-moving) — Last week we covered [Deno joining Cloudflare](https://deno.com/blog/cloudflare) and the future of the Deno runtime. Deno was valuable, says Darcy, as it (and Bun) made the entire ecosystem better by pushing Node and npm to adopt its best ideas. 

Darcy Clarke (vlt)   

**IN BRIEF:** 

- 🔒 [Next.js has patched two critical RCE flaws](https://nextjs.org/blog/nextjs-security-update-october-14-2026): one in `use cache` functions via an [upstream React Server Components bug](https://github.com/react/react/security/advisories/GHSA-xqc2-xf4c-x3h3) and one in the image optimizer's SVG handling. Upgrade to 16.4.1 or 15.5.28; a [public PoC](https://hash-sec.com/blog/the-use-cache-rce-how-a-typed-array-bug-in-nextjs-became-remote-code-execution) is already out.
- 🔒 [Node.js security releases are due tomorrow](https://nodejs.org/en/blog/vulnerability/october-2026-security-releases) for the 26.x, 24.x and 22.x lines, with the highest severity issue rated high.
- Bun compiling JavaScript ahead-of-time, [previewed a few weeks ago](https://x.com/jarredsumner/status/2104739495895781679), now has [a draft PR](https://github.com/oven-sh/bun/pull/45631) to produce binaries with no JIT or bytecode.   

**RELEASES:** 

- [Node.js v26.12.0 (Current)](https://nodejs.org/en/blog/release/v26.12.0) and [v24.22.0 (LTS)](https://nodejs.org/en/blog/release/v24.22.0) – 26.12 can now synchronously load most ES modules and marks the config file stable; 24.22 gains `util.throttle` and`util.debounce`.
- [Astro 7.4](https://astro.build/blog/astro-740/) – Adds a `--timings` flag for `astro build` to see where build time is spent, plus experimental parallel prerendering across worker threads.
- [React Router 8.5](https://reactrouter.com/changelog#v850) – Deprecates its own view transition APIs in favor of React's <`ViewTransition`> component, and adds an experimental 'API-only' mode.
- [Pretext 1.0](https://github.com/chenglou/pretext/releases/tag/v1.0.0) – Multiline text layout without touching the DOM. 1.0 ports browsers' own line breakers, so results more closely match what would render.
- [React Native 0.88](https://reactnative.dev/blog/2026/10/19/react-native-0.88), [Elysia 2.0 RC](https://next.elysiajs.com/blog/elysia-20-rc/), [ESLint 10.13](https://eslint.org/blog/2026/10/eslint-v10.13.0-released/), [tsup 9.0](https://github.com/egoist/tsup/releases/tag/v9.0.0), [Vuetify 4.3](https://github.com/vuetifyjs/vuetify/releases/tag/v4.3.0)  

📖 Articles and Videos  

[The Tetris Script That Becomes _Snake_ Once Prettified?](https://trustsig.eu/blog/javascript-divergence/) — You'd think pretty-printers and deobfuscators at least leave a script's _logic_ alone, but no. See how chaining semantic quirks in such tools can turn the 'cleaned up' output into a different program! 

Robert Vähhi (TrustSig)   

[Do Web Components Have a Future If Nobody is Writing Them?](https://nolanlawson.com/2026/10/19/do-web-components-have-a-future-if-nobody-is-writing-them/) — Nolan has spent years building and defending web components, so this thoughtful, if a little melancholy, piece carries some weight. 

Nolan Lawson   

[Your CI Was Built for Humans. Your Agents Need Something Else](https://try.expo.dev/3VoRZKA) — Expo is mobile AI infrastructure. Your agents build, test and ship iOS and Android apps in the background. 

Expo sponsor   

▶[ViteConf 2026: The Full Replay](https://www.youtube.com/watch?v=PfyIEgLzNYI) — Last week's ViteConf brought ~30 talks including Evan You's keynote on tooling in the agentic era, plus updates on Vitest 5, Vite DevTools, and a faster parser coming to Oxc. It's 10 hours, but there's a hero with timestamps in the comments. 

ViteConf  

💡 One of the bigger announcements: [Void, the Vite team's full-stack SDK and deploy platform, is now open source](https://blog.cloudflare.com/deploy-with-void/).  

[How to Gaslight JavaScript Programmers (with Proxies)](https://www.bryanpg.com/articles/pragma-twice/proxy.html) — `Proxy`, introduced as part of ES6 back in the day, has plenty of practical uses but can also make objects behave in curious, unexpected ways. Complete with live, editable examples. 

Bryan Gillespie   

[How Miro Moved 70,000 Tests from Jest to Vitest](https://nothing-else.blog/blog/we-migrated-70000-tests-from-jest-to-vitest-yes-in-2-months) — The story of moving ~70,000 tests across an 800-package monorepo to Vitest, with AI agents doing most of the laborious work. 

Sergey Nikitin   

📄 [Upgrading to Zod 4 Cut Our Worker CPU by a Third](https://trigger.dev/blog/zod-4-got-rid-of-a-bunch-of-cpus-for-us) – A Zod 3 to 4.5 migration at 100 million parses a day. Chris Arderne 

📄 [Using `replace()` as an Iterator](https://www.lazutkin.com/blog/2026-10-13-replace-as-an-iterator) – An old regex-callback-for-side-effects idiom, benchmarked against alternatives. Eugene Lazutkin 

📄 [Recursion is DEAD and HTML Killed It](https://daverupert.com/2026/10/html-recursion/) – Hands-on with Chromium's experimental [Declarative Partial Updates](https://developer.chrome.com/docs/web-platform/declarative-partial-updates)proposal. Dave Rupert 

📺 [NightMonkey: Compiling JavaScript Ahead of Time to WebAssembly](https://vimeo.com/1234257957) – An hour-long VMIL 2026 talk from a Wasmtime engineer. Chris Fallin  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ywzqx0owlyt7kwf7wgrk.jpg)](https://maplair.org/2026/10/19/maplair-4.0.0.html)  

[Maplair: A Batteries-Included, Tree-Shakeable Fork of Leaflet](https://maplair.org/2026/10/19/maplair-4.0.0.html) — Still in alpha since last year, one of Leaflet's contributors has forked it, rolling in the 2.0 work plus rotation, fullscreen, search, heatmaps and more – all tree-shakeable. 

Simon Legner  

💡 The same day, Leaflet's creator [posted a candid update](https://github.com/Leaflet/Leaflet/issues/10435) about his experiences living in Ukraine and a plan to get Leaflet 2.0 released.  

[Embeddable DOCX, XLSX & PPTX Editor for Users and AI](https://playground.developers.thinkfree.com/playground/editor-ai-sdk/?utm_source=jsweekly&utm_medium=newsletter&utm_campaign=sdklaunch2026&utm_content=261020) — Let your AI edit existing files via object-level APIs. Users review and keep editing the same file. [Try Playground](https://playground.developers.thinkfree.com/playground/editor-ai-sdk/?utm_source=jsweekly&utm_medium=newsletter&utm_campaign=sdklaunch2026&utm_content=261110). 

Thinkfree sponsor   

📊 [Chartist 2.0: The Lightweight SVG Charting Library Returns](https://chartist.dev/) — A CSS-styled SVG charting library from 2014 that _"went stale over the last years"_ makes a comeback with a composable API, server-side rendering to SVG, terminal charts, and still ~12KB gzipped for a line chart. There's [a migration guide](https://chartist.dev/docs/coming-from-1x/) for 1.x users. 

Gion Kunz et al.   

[Pele: Mermaid Diagrams as Lightweight, Themeable SVG](https://pele.run/) — Zero-dependency renderer for the Mermaid diagram syntax with responsive layouts and SVG you can theme with CSS variables. Around a sixth the size of Mermaid.js. [Try the playground](https://pele.run/playground). 

Steph Ango (Obsidian)   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/anvwoxijoc5lx7t5nnkh.jpg)](https://rich-input.netlify.app/)  

[`<rich-input>`: A Rich Input Field with GitHub-Style Search Filters](https://rich-input.netlify.app/) — A web component for GitHub-style search boxes: free text mixed with autocompleted `key:value` filters, highlighted in place. 

Bramus Van Damme   

- [Chokidar 6.0](https://github.com/paulmillr/chokidar) – The file watcher behind much of JS tooling. [Rewritten to check changes against the disk before reporting](https://github.com/paulmillr/chokidar/releases/tag/6.0.0) to avoid stray events after a burst of edits, say.
- [Happy DOM 21.0](https://github.com/capricorn86/happy-dom) – Headless browser environment in pure JavaScript, popular for testing. [Now blocks stylesheet and `iframe` loading by default](https://github.com/capricorn86/happy-dom/releases/tag/v21.0.0).
- [p-queue 10.0](https://github.com/sindresorhus/p-queue) – Promise queue with concurrency control. [Now dependency-free](https://github.com/sindresorhus/p-queue/releases/tag/v10.0.0) and an`EventTarget`.
- [Paper.js 0.13](https://github.com/paperjs/paper.js/releases/tag/v0.13.0) and [0.14](https://github.com/paperjs/paper.js/releases/tag/v0.14.0) – Vector graphics scripting framework for canvas. First notable releases in years. ([Homepage](https://paperjs.org/) with [demos](https://paperjs.org/examples/).)
- 🕹️ [LittleJS 1.27](https://frankforce.com/littlejs-is-2d-and-3d-now/) – Dependency-free HTML5 game engine that now does 3D too.
- 🖼️ [Skia Canvas 4.0](https://skia-canvas.org/) – Canvas API for Node, built on Skia.      

📰 Classifieds   

🕵️ Muse doesn’t announce itself. Meta’s AI agent browses like a real user. [See how Fingerprint detects it](https://fingerprint.com/blog/how-to-detect-meta-muse-ai-agent/?utm_source=JSWeekly102026) by name and try free for yourself. 

--- 

🎬 Your app needs video, not a video team. Upload any format to [Hyperserve's API](https://hyperserve.io/?utm_source=javascriptweekly&utm_medium=newsletter&utm_campaign=classified_oct13), get back MP4 on a global CDN. Ship video in an afternoon.    

📢 Elsewhere in the ecosystem 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/t1yy7vc2vsopynkoyvrc.jpg)](https://jpegxl.info/art/big_gallery.html)  

- 🖼️ **JPEG XL:** The modern image format is now supported by all major browsers, with [Firefox 158](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/158) the latest to enable it by default. Jake Archibald [pits it against AVIF in this extensive review](https://jakearchibald.com/2026/jpeg-xl-vs-avif/). What I find amazing is [what it's able to render in under 100 bytes](https://jpegxl.info/art/big_gallery.html).
- **NodeConf EU 2026:** The [▶️ latest NodeConf EU talks](https://www.youtube.com/playlist?list=PLHJJhUxJCR0c) are up, including James Snell's case for [a common minimum API every runtime should support](https://www.youtube.com/watch?v=cKjSAh7wuyw), plus sessions on [V8 heap management](https://www.youtube.com/watch?v=dYvGvWPcEYk&list=PLHJJhUxJCR0c&index=25) and [Emscripten and WebAssembly](https://www.youtube.com/watch?v=nNlqco5xd20&list=PLHJJhUxJCR0c&index=23).
- **A new social network:** [/dev/null](https://dev-null.sh/) is a GitHub-oriented social network for developers, built from scratch in 48 hours. It already has over 8000 members, [including me](https://dev-null.sh/@peterc). It's been a lot of fun so far!         

Published by [Cooperpress](https://cooperpress.com/) and edited by [Peter Cooper](https://twitter.com/cooperx86) 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or [stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*). 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
