<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>JavaScript Weekly</title>
    <description>A newsletter of JavaScript articles, news and cool projects</description>
    <link>https://javascriptweekly.com/</link>
    <item>
      <title>What Claude spends building with 12 JavaScript stacks</title>
      <link>https://javascriptweekly.com/issues/809</link>
      <description>

  

    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;#​809 — November 3, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192358/rss" style=" color: #3366aa;"&gt;Read on the Web&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0 12px;"&gt;&lt;p&gt;JavaScript Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/192302/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/dhcgdjewfv50joacutkm.jpg" width="640" style="    line-height: 100%;    "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;The AI Cost of JavaScript Frameworks&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192302/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Nolan Lawson had Claude build the same app&lt;/a&gt; five times in each of twelve JS stacks to test common &lt;em&gt;"X is better for agents"&lt;/em&gt; claims. Costs varied significantly between runs, and &lt;a href="https://javascriptweekly.com/link/192303/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Gautam Parab found&lt;/a&gt; that the observed cost ranges overlapped or touched for most pairs of frameworks.&lt;/p&gt;
&lt;p&gt;But a clearer difference was in the median amount of JavaScript sent to browsers: 0KB for Astro, 18K for Hono+htmx, 36K for SvelteKit, and 115–142K for React Router, TanStack Start and Next.js. If you've gone "hands-free", Nolan asks, why stick to a particular stack you chose when you wrote all the code? &lt;a href="https://javascriptweekly.com/link/192304/rss" style=" color: #3366aa; font-weight: 500;   "&gt;His benchmark&lt;/a&gt; is on GitHub to try for yourself.&lt;/p&gt;
&lt;p&gt;Nolan Lawson&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://javascriptweekly.com/link/192301/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/3575e54e.png" width="130" height="130" style="padding-top: 12px; padding-left: 12px;     line-height: 100%; "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192301/rss" title="master.dev" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;Run AI Coding Models on Your Own Machine&lt;/a&gt;&lt;/span&gt; — Local models are now good enough for everyday coding. Learn to run them on your own Mac or GPU, wire them into your editor and terminal agents, and keep your code private with no per-token bill.&lt;/p&gt;
  &lt;p&gt;Master.dev &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192305/rss" title="nullpt.rs" style=" color: #3366aa;    font-size: 1.05em;"&gt;Why Is This Fingerprinting Script 'Creating Bioweapons'?&lt;/a&gt;&lt;/span&gt; — A crawl of sites to collect canvas fingerprinting examples (which you can see, visually, at &lt;a href="https://javascriptweekly.com/link/192306/rss" style=" color: #3366aa;   "&gt;fingerprint.garden&lt;/a&gt;) found an anti-analysis technique where JavaScript identifiers were named after… &lt;em&gt;taboo&lt;/em&gt; topics, with a prompt hidden in invisible Unicode, all designed to make LLMs refuse to work on the code!&lt;/p&gt;
  &lt;p&gt;Veritas &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 Canvas fingerprinting is a technique that uses quirks of how different clients render canvas elements, in order to &lt;a href="https://javascriptweekly.com/link/192307/rss" style=" color: #3366aa; font-weight: 500;"&gt;distinguish browser environments&lt;/a&gt;.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;😄 Bartosz shares &lt;a href="https://javascriptweekly.com/link/192308/rss" style=" color: #3366aa; font-weight: 500;   "&gt;a creative way to generate strings and run code&lt;/a&gt; without parentheses or quotes. Good old JavaScript fun!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📊 GitHub's &lt;a href="https://javascriptweekly.com/link/192309/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Octoverse 2026 report&lt;/a&gt; has TypeScript as the most used language on GitHub by contributors (with JS at third), and ~44% of merged TypeScript PRs showing AI involvement. Plus a lot more besides.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;GitHub Actions will &lt;a href="https://javascriptweekly.com/link/192310/rss" style=" color: #3366aa; font-weight: 500;   "&gt;block &lt;code&gt;pull_request_target&lt;/code&gt; by default in public repos&lt;/a&gt; from December 2, unless an event policy explicitly allows it, with brownouts on November 9 &amp;amp; 16.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cloudflare Workers now &lt;a href="https://javascriptweekly.com/link/192311/rss" style=" color: #3366aa; font-weight: 500;   "&gt;supports the Temporal API natively&lt;/a&gt; behind a &lt;code&gt;temporal&lt;/code&gt; compatibility flag. It'll be available by default from December 1.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192312/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Node.js v27.0 (Alpha)&lt;/a&gt; and &lt;a href="https://javascriptweekly.com/link/192313/rss" style=" color: #3366aa; font-weight: 500;   "&gt;v26.13.0 (LTS)&lt;/a&gt; – Node 26 is now the 'Lithium' LTS line, and 27 is the first ever Node 'alpha'. Under Node's new &lt;a href="https://javascriptweekly.com/link/192314/rss" style=" color: #3366aa; font-weight: 500;   "&gt;release process&lt;/a&gt;, every line spends six months in alpha before going &lt;em&gt;Current&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192315/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Vitest 5.1&lt;/a&gt; – A new &lt;code&gt;--since-last-run&lt;/code&gt; flag reruns only tests affected by your edits, plus there's an interactive snapshot review feature.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192316/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Rspack 2.3&lt;/a&gt; – The Rust-based webpack alternative adopts &lt;a href="https://javascriptweekly.com/link/192317/rss" style=" color: #3366aa; font-weight: 500;   "&gt;SWC Next&lt;/a&gt; and its rewritten parser. The team reports 5-20% faster builds and less peak memory use.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192318/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Leaflet 2.0 Beta 1&lt;/a&gt; – The mapping library's first major in a decade goes tree-shakeable, ships TypeScript types, and drops its default export.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192319/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Effect 4.1&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/192320/rss" style=" color: #3366aa; font-weight: 500;   "&gt;pnpm 12.17&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/192321/rss" style=" color: #3366aa; font-weight: 500;   "&gt;ESLint 10.14.0&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/192322/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Nuxt DevTools v4&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📖  Articles and Videos&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/192323/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/jz81mfwsiw9cmfmuz7qi.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192323/rss" title="smoores.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;"&lt;em&gt;No, npm, 'estee' is not a typo of 'testem'&lt;/em&gt;"&lt;/a&gt;&lt;/span&gt; — Shane tried to publish a CLI called &lt;code&gt;estee&lt;/code&gt; and hit npm's typosquatting filter, which (as best as we can tell) rejects names within a small &lt;a href="https://javascriptweekly.com/link/192324/rss" style=" color: #3366aa;   "&gt;Levenshtein distance&lt;/a&gt; of popular packages' names.&lt;/p&gt;
  &lt;p&gt;Shane Friedman &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192325/rss" title="clarity.microsoft.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Shrinking &lt;code&gt;clarity.js&lt;/code&gt;: When Cleaner Code Gzips Worse&lt;/a&gt;&lt;/span&gt; — Microsoft let an agent run 50+ size experiments on its analytics script. A big win came from dropping &lt;code&gt;import *&lt;/code&gt; namespace objects, while good-practice refactors like extracting helpers actually made the gzipped output &lt;em&gt;bigger&lt;/em&gt;.&lt;/p&gt;
  &lt;p&gt;Manu Nair (Microsoft) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192326/rss" title="sentry.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;Workshop: How to Implement Session Replay&lt;/a&gt;&lt;/span&gt; — Filters, custom tags, and sampling settings for finding the sessions that matter. Nov 5, 10am PT.&lt;/p&gt;
  &lt;p&gt;Sentry &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192327/rss" title="brunoj.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;'Nothing Installs at Our Company Until It's a Week Old'&lt;/a&gt;&lt;/span&gt; — Many recent package hijacks were caught within hours, so Bruno's company now makes new releases wait a week. He explains what this approach broke, what cooldowns don't stop, and settings for popular package managers.&lt;/p&gt;
  &lt;p&gt;Bruno Jurković &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192328/rss" title="denodell.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Timing Ten Design Systems, Then Fixing the Slow Ones&lt;/a&gt;&lt;/span&gt; — Den timed ten design systems (MUI, Ant Design, and Ionic among them) opening a 249-option select and ticking 100 checkboxes, then profiled the slow ones to find out why.&lt;/p&gt;
  &lt;p&gt;Den Odell &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192329/rss" title="charpeni.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Using Bun? Dependabot Can't See Most of Your Dependencies&lt;/a&gt;&lt;/span&gt; — GitHub's dependency graph doesn't parse &lt;code&gt;bun.lock&lt;/code&gt;, so Dependabot alerts cover only direct dependencies. Nicolas has some tips for improving matters.&lt;/p&gt;
  &lt;p&gt;Nicolas Charpentier (Shortcut) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/192330/rss" style=" color: #3366aa; font-weight: 500;   "&gt;How Hard Is It to Check for Whitespace?&lt;/a&gt; – Why Java, Python and JavaScript disagree on what counts as whitespace. &lt;cite&gt;Sergey Tselovalnikov&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/192331/rss" style=" color: #3366aa; font-weight: 500;   "&gt;A Proposal: How to Hire Junior Engineers in the Age of AI&lt;/a&gt; – The npm co-founder thinks traditional coding interviews are dead. &lt;cite&gt;Laurie Voss&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/192332/rss" style=" color: #3366aa; font-weight: 500;   "&gt;How to Make &lt;code&gt;postMessage&lt;/code&gt; Type-Safe in Under 350 Bytes&lt;/a&gt; &lt;cite&gt;Pavel Grinchenko (Evil Martians)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/192333/rss" style=" color: #3366aa; font-weight: 500;   "&gt;The Web Can't Afford a JavaScript Runtime Monoculture&lt;/a&gt; &lt;cite&gt;Kate Holterhoff (RedMonk)&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/192334/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/mwjj3fo3dcfpooypxjfz.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192334/rss" title="chenglou.me" style=" color: #3366aa;    font-size: 1.05em;"&gt;Handwired: Compile Regular JavaScript into a Neural Net&lt;/a&gt;&lt;/span&gt; — A new mind-bender from &lt;a href="https://javascriptweekly.com/link/192335/rss" style=" color: #3366aa;   "&gt;Pretext&lt;/a&gt;'s creator: a compiler that turns JavaScript into an exact network of ReLUs and matrix multiplies that run on the GPU. Demos include a 130-layer 'mini desktop' and a WebGPU search over 100K JSON documents.&lt;/p&gt;
  &lt;p&gt;Cheng Lou &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192339/rss" title="serpapi.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Build Smarter JavaScript Applications With Live Search Data&lt;/a&gt;&lt;/span&gt; — Add search, shopping, maps, news, trends, flights and hotels results with a single developer-friendly JavaScript SDK.&lt;/p&gt;
  &lt;p&gt;SerpApi &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;🌐&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/192337/rss" title="x18n.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;x18n: Lint and Maintain i18n Files for Any Framework&lt;/a&gt;&lt;/span&gt; — Anthony Fu's successor to &lt;a href="https://javascriptweekly.com/link/192338/rss" style=" color: #3366aa;   "&gt;i18n-ally&lt;/a&gt; scans locale files and translation calls and reports missing, unused and broken keys (like how &lt;code&gt;tsc --noEmit&lt;/code&gt; reports type errors).&lt;/p&gt;
  &lt;p&gt;Anthony Fu &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192340/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;djs: A New 'Suspend Anywhere' JavaScript Engine&lt;/a&gt;&lt;/span&gt; — Armin (of &lt;a href="https://javascriptweekly.com/link/192341/rss" style=" color: #3366aa;   "&gt;Flask&lt;/a&gt; fame) built an engine to run scripts in WebAssembly that can snapshot the VM's state and resume elsewhere, even mid-&lt;code&gt;await&lt;/code&gt;.&lt;/p&gt;
  &lt;p&gt;Armin Ronacher &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192342/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;webframe: Run a Web Page Like a Command-Line Program&lt;/a&gt;&lt;/span&gt; — Point it at a URL or HTML file and it runs the page in a hidden system web view, piping &lt;code&gt;console.log()&lt;/code&gt; to stdout and exceptions to stderr. No bundled browser or Playwright needed.&lt;/p&gt;
  &lt;p&gt;Jeff Lindsay &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/192343/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/habczwydrpwycxp8usru.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192343/rss" title="kevs3d.co.uk" style=" color: #3366aa;    font-size: 1.05em;"&gt;phoria2: A Small WebGL 2 Library for 3D Charts&lt;/a&gt;&lt;/span&gt; — A dependency-free 3D library aimed at dashboards and product viewers, with an API you can 'learn in an afternoon'. Plenty of live demos on the page.&lt;/p&gt;
  &lt;p&gt;Kevin Roast &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192344/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Shiki 4.6&lt;/a&gt; – Powerful code syntax highlighter, now with faster decoration handling and compressed Oniguruma WASM binary.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192345/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Preact 11.1&lt;/a&gt; – A new &lt;code&gt;preact/compat/compiler-runtime&lt;/code&gt; entry point lets code compiled by React Compiler run on Preact too.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192346/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Postgres.js 4.0&lt;/a&gt; – The popular Postgres client for Node, Bun and Cloudflare Workers gets a rewrite and goes ESM-only.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
	&lt;p&gt;📰 Classifieds&lt;/p&gt;
  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;💸 Every OTP you send costs money. Fraudsters trigger them by the thousands. &lt;a href="https://javascriptweekly.com/link/192348/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Fingerprint&lt;/a&gt; recognizes the device before you text. &lt;a href="https://javascriptweekly.com/link/192348/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Learn how&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;Your coding agent can write the app. &lt;a href="https://javascriptweekly.com/link/192349/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Expo&lt;/a&gt; is the agentic mobile infrastructure that takes it from a repo to the App Store.&lt;/p&gt;
 
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192350/rss" style=" color: #3366aa; font-weight: 500;   "&gt;CodeAF&lt;/a&gt; fixed 2x OpenCode's issues and nearly 4x Claude Code's on the same open model, at up to 4.8x less per fix. Open source, Apache 2.0.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📢  Elsewhere in the ecosystem&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/192351/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/puujepssorqipappmqpg.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Chrome 157 is due today with the headline feature being &lt;a href="https://javascriptweekly.com/link/192351/rss" style=" color: #3366aa; font-weight: 500;   "&gt;HTML-in-Canvas&lt;/a&gt; for drawing live, interactive DOM elements into 2D, WebGL and WebGPU canvases. This feature has &lt;a href="https://javascriptweekly.com/link/192352/rss" style=" color: #3366aa; font-weight: 500;   "&gt;numerous striking applications&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;☕ &lt;a href="https://javascriptweekly.com/link/192353/rss" style=" color: #3366aa; font-weight: 500;   "&gt;CheerpJ 5.0&lt;/a&gt; brings Java 21 and 25 to the browser via WebAssembly, ships the full JDK so you can compile Java in a tab, and previews a new WasmGC-based engine the team hopes will run Minecraft and IntelliJ one day.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤖 LLM-whisperer Simon Willison &lt;a href="https://javascriptweekly.com/link/192354/rss" style=" color: #3366aa; font-weight: 500;   "&gt;looks at the world of browser games being built with coding agents&lt;/a&gt;, and argues October was the point where agents got good enough to ship playable games.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🕹️ Talking of games… GitHub's game jam &lt;a href="https://javascriptweekly.com/link/192355/rss" style=" color: #3366aa; font-weight: 500;   "&gt;&lt;em&gt;Game Off&lt;/em&gt; is back for its 14th year&lt;/a&gt; with the theme 'SHIFT'. Entries are due on &lt;a href="https://javascriptweekly.com/link/192356/rss" style=" color: #3366aa; font-weight: 500;   "&gt;itch.io&lt;/a&gt; by December 1.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://javascriptweekly.com/open/809/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 3 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/809</guid>
    </item>
    <item>
      <title>Rebuilding the original GTA engine in JavaScript</title>
      <link>https://javascriptweekly.com/issues/808</link>
      <description>

  

    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;#​808 — October 27, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192048/rss" style=" color: #3366aa;"&gt;Read on the Web&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0 12px;"&gt;&lt;p&gt;JavaScript Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/191993/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/d78ifnbyoegacu1b82sf.jpg" width="640" style="    line-height: 100%;    "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191993/rss" title="tanstack.com" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;TanStack AI 1.0: The Vendor-Neutral AI Toolkit Goes Stable&lt;/a&gt;&lt;/span&gt; — TanStack's framework-agnostic AI toolkit reaches 1.0, with stable APIs for chat, tools and media, plus 23 provider adapters. &lt;a href="https://javascriptweekly.com/link/191994/rss" style=" color: #3366aa;   "&gt;A new agent harness&lt;/a&gt; supports long-running sessions, but its APIs remain experimental.&lt;/p&gt;
  &lt;p&gt;Tuzlak, Herrington, et al. (TanStack) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://javascriptweekly.com/link/191992/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/03592c49.png" width="110" height="110" style="padding-top: 12px; padding-left: 12px;     line-height: 100%; "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191992/rss" title="www.meticulous.ai" style=" color: #3366aa;    font-size: 1.05em;"&gt;Would You Let Your AI Agent Grade Its Own Homework?&lt;/a&gt;&lt;/span&gt; — Agents write code faster than ever. They even review their own work. But who’s reviewing them? Dropbox, Notion &amp;amp; ElevenLabs don’t take the risk. With Meticulous, every change is exhaustively verified, with zero developer effort.&lt;/p&gt;
  &lt;p&gt;Meticulous &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191995/rss" title="devblogs.microsoft.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Announcing TypeScript 7.1 Beta&lt;/a&gt;&lt;/span&gt; — TypeScript 7 gets &lt;a href="https://javascriptweekly.com/link/192049/rss" style=" color: #3366aa;   "&gt;a programmatic API&lt;/a&gt;, plus 'content mappers', a plugin point for checking code embedded in files such as Vue, Svelte, and Astro components. Also new are &lt;a href="https://javascriptweekly.com/link/192050/rss" style=" color: #3366aa;   "&gt;source phase imports&lt;/a&gt; and &lt;code&gt;--target es2026&lt;/code&gt;.&lt;/p&gt;
  &lt;p&gt;Daniel Rosenwasser (Microsoft) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191996/rss" title="www.bram.us" style=" color: #3366aa;    font-size: 1.05em;"&gt;GTA.js: 1997's &lt;em&gt;Grand Theft Auto&lt;/em&gt;, But in JavaScript&lt;/a&gt;&lt;/span&gt; — 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. &lt;a href="https://javascriptweekly.com/link/191997/rss" style=" color: #3366aa;   "&gt;Play it here&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Bramus Van Damme &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 Fittingly, Pat Kerr, whose 1996 Atari ST prototype formed the basis of the original game's vehicle physics, recently &lt;a href="https://javascriptweekly.com/link/191998/rss" style=" color: #3366aa; font-weight: 500;"&gt;rebuilt it in JavaScript&lt;/a&gt;.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Deno's Bartek Iwańczuk says the team is &lt;a href="https://javascriptweekly.com/link/191999/rss" style=" color: #3366aa; font-weight: 500;   "&gt;working on getting Deno into a foundation&lt;/a&gt;. Meanwhile, a new fork, &lt;a href="https://javascriptweekly.com/link/192000/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Ende&lt;/a&gt;, plans to drop Node compatibility and refocus on sandboxing.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192001/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Safari 27.1 previews the Device Posture and Viewport Segments APIs&lt;/a&gt; behind feature flags on the iPhone Duo, letting JavaScript detect folds and inspect screen segments.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192002/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Chrome 156 has reached stable&lt;/a&gt; and no longer caches module fetch failures, so a dynamic &lt;code&gt;import()&lt;/code&gt; that fails due to a network or HTTP error can be retried.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192003/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Node.js v26.12.1 (Current)&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/192004/rss" style=" color: #3366aa; font-weight: 500;   "&gt;v24.22.1 (LTS)&lt;/a&gt; and &lt;a href="https://javascriptweekly.com/link/192005/rss" style=" color: #3366aa; font-weight: 500;   "&gt;v22.23.4&lt;/a&gt; – Security releases fixing ten CVEs, including the &lt;a href="https://javascriptweekly.com/link/192006/rss" style=" color: #3366aa; font-weight: 500;   "&gt;'Node2Shell' Brotli decoder flaw&lt;/a&gt;, which can lead to remote code execution when an app decompresses malicious data. &lt;em&gt;(Also, Node 26 is due to become LTS tomorrow.)&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192007/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Bun 1.4.4&lt;/a&gt; – Adds &lt;code&gt;bun fmt&lt;/code&gt;, a Prettier-compatible formatter that uses your existing Prettier or oxfmt config. It's &lt;em&gt;very&lt;/em&gt; fast.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192008/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Electron 45&lt;/a&gt; – Upgrades to Chromium 156, Node 24.22 and V8 15.6, and adds hooks for the &lt;a href="https://javascriptweekly.com/link/192009/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Prompt API&lt;/a&gt; so apps can plug in a local model.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192010/rss" style=" color: #3366aa; font-weight: 500;   "&gt;pnpm 12.16&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/192011/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Remix 3.1&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/192012/rss" style=" color: #3366aa; font-weight: 500;   "&gt;axios 1.21&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/192013/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Deno 2.9.8&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📖  Articles and Videos&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192014/rss" title="t3.at" style=" color: #3366aa;    font-size: 1.05em;"&gt;Parser Combinators in TypeScript, Built From Scratch&lt;/a&gt;&lt;/span&gt; — 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 &lt;code&gt;ping&lt;/code&gt; output into typed objects.&lt;/p&gt;
  &lt;p&gt;Florian Schindler &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192015/rss" title="tkdodo.eu" style=" color: #3366aa;    font-size: 1.05em;"&gt;Dead Code Shouldn't Exist: How Sentry Cut 28,000 Lines&lt;/a&gt;&lt;/span&gt; — 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 &lt;a href="https://javascriptweekly.com/link/192016/rss" style=" color: #3366aa;   "&gt;Knip&lt;/a&gt; to remove 28,000 lines.&lt;/p&gt;
  &lt;p&gt;Dominik Dorfmeister (Sentry) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192025/rss" title="lp.jetbrains.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;AI.js Day 2026: Frontend's Scariest AI Questions, Live on Channel 13, Nov 13&lt;/a&gt;&lt;/span&gt; — No hype, just the AI questions frontend devs are afraid to ask. &lt;a href="https://javascriptweekly.com/link/192025/rss" style=" color: #3366aa;   "&gt;Save your spot&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;JetBrains &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192018/rss" title="blog.master.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;Building an Isolated Preview for AI-Generated HTML&lt;/a&gt;&lt;/span&gt; — Rendering model-written HTML in a &lt;code&gt;srcdoc&lt;/code&gt; iframe runs it on your own origin. A security engineer breaks the naive approach, then rebuilds it using &lt;code&gt;sandbox&lt;/code&gt; and a strict CSP, with demos showing what each one blocks.&lt;/p&gt;
  &lt;p&gt;Keshav Malik &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192019/rss" title="jovidecroock.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;A First Look at TypeScript 7.1's Content Mappers&lt;/a&gt;&lt;/span&gt; — 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 &lt;code&gt;.graphql&lt;/code&gt; files.&lt;/p&gt;
  &lt;p&gt;Jovi De Croock &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/192020/rss" style=" color: #3366aa; font-weight: 500;   "&gt;How Engines Turn Dynamic Objects Into Fast Field Access&lt;/a&gt; – Shapes and inline caches, explained with runnable sketches. &lt;cite&gt;Max Bernstein&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/192021/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Software is Slow Because of Bad Design, Not Slow Languages&lt;/a&gt;  &lt;cite&gt;Sean Goedecke (GitHub)&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/192022/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/lvhon6ibgjv0prddvf5z.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192022/rss" title="structs.arv.tools" style=" color: #3366aa;    font-size: 1.05em;"&gt;Structs: TC39's Shared Structs Proposal, But Usable Today&lt;/a&gt;&lt;/span&gt; — A former TC39 delegate's implementation of the Stage 2 &lt;a href="https://javascriptweekly.com/link/192023/rss" style=" color: #3366aa;   "&gt;structs proposal&lt;/a&gt;. 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 &lt;a href="https://javascriptweekly.com/link/192024/rss" style=" color: #3366aa;   "&gt;playground&lt;/a&gt; too.&lt;/p&gt;
  &lt;p&gt;Erik Arvidsson &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192026/rss" title="tanstack.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Introducing TanStack Redact: A Slimmer React Runtime&lt;/a&gt;&lt;/span&gt; — 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 &lt;em&gt;synchronous only&lt;/em&gt;.&lt;/p&gt;
  &lt;p&gt;Tanner Linsley (TanStack) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192017/rss" title="wallabyjs.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;AI Tests That Catch Real Bugs&lt;/a&gt;&lt;/span&gt; — AI can write low-value tests that pass without checking much. Wallaby helps your agent refine assertions and catch bugs.&lt;/p&gt;
  &lt;p&gt;Wallaby Team &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192027/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Verdaccio 7.0: The Self-Hosted npm Registry Adds Staged Publishing and 2FA&lt;/a&gt;&lt;/span&gt; — 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.&lt;/p&gt;
  &lt;p&gt;Verdaccio Team &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/192028/rss" title="biomejs.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;Biome 2.6 Adds Markdown, YAML and SCSS Support&lt;/a&gt;&lt;/span&gt; — 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.&lt;/p&gt;
  &lt;p&gt;Biome Core Team &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;☕ &lt;a href="https://javascriptweekly.com/link/192029/rss" style=" color: #3366aa; font-weight: 500;   "&gt;CoffeeScript 2.7.1&lt;/a&gt; – The first release in four and a half years brings Node 22+ fixes and &lt;code&gt;with { type: 'json' }&lt;/code&gt; import attributes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 If you never used &lt;a href="https://javascriptweekly.com/link/192030/rss" style=" color: #3366aa; font-weight: 500;"&gt;CoffeeScript&lt;/a&gt;, it is/was a Ruby- and Python-flavored language that compiled to JavaScript. &lt;a href="https://javascriptweekly.com/link/192031/rss" style=" color: #3366aa; font-weight: 500;"&gt;Brendan Eich held up its arrow functions and lightweight classes&lt;/a&gt; as models for what went into ES6 (ES2015).&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192032/rss" style=" color: #3366aa; font-weight: 500;   "&gt;oxlint 1.89&lt;/a&gt; – 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.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192037/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Mutative 2.0&lt;/a&gt; – Immer-style efficient immutable updates library. The author reports a 3.6x speedup over Immer across a benchmark suite.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192035/rss" style=" color: #3366aa; font-weight: 500;   "&gt;SonicJS 3.0&lt;/a&gt; – Headless CMS for Cloudflare Workers, built on Hono. v3 rebuilds the data layer, auth and plugin system. &lt;a href="https://javascriptweekly.com/link/192036/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Homepage&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192033/rss" style=" color: #3366aa; font-weight: 500;   "&gt;query-string 10.0&lt;/a&gt; – Parse and stringify URL query strings. &lt;a href="https://javascriptweekly.com/link/192034/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Now throws for values it can't represent&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/192038/rss" style=" color: #3366aa; font-weight: 500;   "&gt;ShareDB 7.0&lt;/a&gt; – Realtime database backend based on operational transformation.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
	&lt;p&gt;📰 Classifieds&lt;/p&gt;
  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📱 &lt;a href="https://javascriptweekly.com/link/192039/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Expo is mobile AI infrastructure&lt;/a&gt;. Your agent writes the code, and Expo gets your iOS and Android app built and into the stores. &lt;a href="https://javascriptweekly.com/link/192039/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Try it&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;🧩 CAPTCHAs can frustrate real users and cost you conversions. &lt;a href="https://javascriptweekly.com/link/192040/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Try Fingerprint’s bot detection for free&lt;/a&gt; and stop abuse without the friction.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📢  Elsewhere in the ecosystem&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🔒 &lt;strong&gt;Node2Shell:&lt;/strong&gt; &lt;a href="https://javascriptweekly.com/link/192006/rss" style=" color: #3366aa; font-weight: 500;   "&gt;ELLIO now reports exploit traffic in the wild&lt;/a&gt; for the Brotli RCE fixed in the Node releases (as mentioned earlier). The flaw is in Google's Brotli library, so &lt;a href="https://javascriptweekly.com/link/192041/rss" style=" color: #3366aa; font-weight: 500;   "&gt;bundled copies elsewhere need patching too&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sentry has &lt;a href="https://javascriptweekly.com/link/192042/rss" style=" color: #3366aa; font-weight: 500;   "&gt;given $1m to open source maintainers this year&lt;/a&gt;. JavaScript recipients include pnpm, TanStack, MSW, Knip and three Three.js maintainers, plus the OpenJS Foundation.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🎉 &lt;a href="https://javascriptweekly.com/link/192043/rss" style=" color: #3366aa; font-weight: 500;   "&gt;CSS-Tricks, the popular web dev resource, is independent again&lt;/a&gt;, now owned by longtime editor Geoff Graham.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Arc, the design-led Chromium browser popular with developers, &lt;a href="https://javascriptweekly.com/link/192044/rss" style=" color: #3366aa; font-weight: 500;   "&gt;is being sunset&lt;/a&gt; with The Browser Company steering everyone to &lt;a href="https://javascriptweekly.com/link/192045/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Dia&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📄 Google Docs &lt;a href="https://javascriptweekly.com/link/192046/rss" style=" color: #3366aa; font-weight: 500;   "&gt;can now open, edit and collaborate on Markdown files natively&lt;/a&gt; and Drive renders previews of them too.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://javascriptweekly.com/open/808/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 27 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/808</guid>
    </item>
    <item>
      <title>The up to 8x faster Rust port of TypeScript</title>
      <link>https://javascriptweekly.com/issues/807</link>
      <description>

  

    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;#​807 — October 20, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191736/rss" style=" color: #3366aa;"&gt;Read on the Web&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0 12px;"&gt;&lt;p&gt;JavaScript Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/191669/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/nuezexh7haulvsllbugt.jpg" width="640" style="    line-height: 100%;    "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191669/rss" title="blog.cloudflare.com" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;tsrs: Cloudflare and VoidZero's Rust Port of TypeScript&lt;/a&gt;&lt;/span&gt; — A Rust port of the Go-based TypeScript 7 compiler, built with &lt;a href="https://javascriptweekly.com/link/191670/rss" style=" color: #3366aa;   "&gt;some input from the TypeScript team&lt;/a&gt; and heading into &lt;a href="https://javascriptweekly.com/link/191671/rss" style=" color: #3366aa;   "&gt;Oxc&lt;/a&gt;. Benchmarks claim up to 8x the speed of TypeScript 7.0 and it runs in WebAssembly. Experimental, but &lt;code&gt;npx tsrs&lt;/code&gt; works.&lt;/p&gt;
  &lt;p&gt;Chen, Mitropoulos and Nakazawa (Cloudflare / VoidZero) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 Max Schwenk started the port with agents writing the code, and &lt;a href="https://javascriptweekly.com/link/191672/rss" style=" color: #3366aa; font-weight: 500;"&gt;tells the full tale here&lt;/a&gt;, including how it took his company's typecheck from 80 seconds to 7.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://javascriptweekly.com/link/191668/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/dc7dffad.png" width="110" height="110" style="padding-top: 12px; padding-left: 12px;     line-height: 100%; "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191668/rss" title="link.svix.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Send Webhooks from Your TypeScript API in Minutes&lt;/a&gt;&lt;/span&gt; — 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.&lt;/p&gt;
  &lt;p&gt;Svix &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191673/rss" title="www.vlt.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;Thank You, Deno: Competition Keeps JavaScript Moving&lt;/a&gt;&lt;/span&gt; — Last week we covered &lt;a href="https://javascriptweekly.com/link/191674/rss" style=" color: #3366aa;   "&gt;Deno joining Cloudflare&lt;/a&gt; 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.&lt;/p&gt;
  &lt;p&gt;Darcy Clarke (vlt) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🔒 &lt;a href="https://javascriptweekly.com/link/191675/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Next.js has patched two critical RCE flaws&lt;/a&gt;: one in &lt;code&gt;use cache&lt;/code&gt; functions via an &lt;a href="https://javascriptweekly.com/link/191676/rss" style=" color: #3366aa; font-weight: 500;   "&gt;upstream React Server Components bug&lt;/a&gt; and one in the image optimizer's SVG handling. Upgrade to 16.4.1 or 15.5.28; a &lt;a href="https://javascriptweekly.com/link/191677/rss" style=" color: #3366aa; font-weight: 500;   "&gt;public PoC&lt;/a&gt; is already out.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🔒 &lt;a href="https://javascriptweekly.com/link/191678/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Node.js security releases are due tomorrow&lt;/a&gt; for the 26.x, 24.x and 22.x lines, with the highest severity issue rated high.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Bun compiling JavaScript ahead-of-time, &lt;a href="https://javascriptweekly.com/link/191679/rss" style=" color: #3366aa; font-weight: 500;   "&gt;previewed a few weeks ago&lt;/a&gt;, now has &lt;a href="https://javascriptweekly.com/link/191680/rss" style=" color: #3366aa; font-weight: 500;   "&gt;a draft PR&lt;/a&gt; to produce binaries with no JIT or bytecode.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191681/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Node.js v26.12.0 (Current)&lt;/a&gt; and &lt;a href="https://javascriptweekly.com/link/191682/rss" style=" color: #3366aa; font-weight: 500;   "&gt;v24.22.0 (LTS)&lt;/a&gt; – 26.12 can now synchronously load most ES modules and marks the config file stable; 24.22 gains &lt;code&gt;util.throttle&lt;/code&gt; and &lt;code&gt;util.debounce&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191683/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Astro 7.4&lt;/a&gt; – Adds a &lt;code&gt;--timings&lt;/code&gt; flag for &lt;code&gt;astro build&lt;/code&gt; to see where build time is spent, plus experimental parallel prerendering across worker threads.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191684/rss" style=" color: #3366aa; font-weight: 500;   "&gt;React Router 8.5&lt;/a&gt; – Deprecates its own view transition APIs in favor of React's &amp;lt;&lt;code&gt;ViewTransition&lt;/code&gt;&amp;gt; component, and adds an experimental 'API-only' mode.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191685/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Pretext 1.0&lt;/a&gt; – Multiline text layout without touching the DOM. 1.0 ports browsers' own line breakers, so results more closely match what would render.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191686/rss" style=" color: #3366aa; font-weight: 500;   "&gt;React Native 0.88&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/191687/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Elysia 2.0 RC&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/191688/rss" style=" color: #3366aa; font-weight: 500;   "&gt;ESLint 10.13&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/191689/rss" style=" color: #3366aa; font-weight: 500;   "&gt;tsup 9.0&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/191690/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Vuetify 4.3&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📖  Articles and Videos&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191691/rss" title="trustsig.eu" style=" color: #3366aa;    font-size: 1.05em;"&gt;The Tetris Script That Becomes &lt;em&gt;Snake&lt;/em&gt; Once Prettified?&lt;/a&gt;&lt;/span&gt; — You'd think pretty-printers and deobfuscators at least leave a script's &lt;em&gt;logic&lt;/em&gt; alone, but no. See how chaining semantic quirks in such tools can turn the 'cleaned up' output into a different program!&lt;/p&gt;
  &lt;p&gt;Robert Vähhi (TrustSig) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191692/rss" title="nolanlawson.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Do Web Components Have a Future If Nobody is Writing Them?&lt;/a&gt;&lt;/span&gt; — Nolan has spent years building and defending web components, so this thoughtful, if a little melancholy, piece carries some weight.&lt;/p&gt;
  &lt;p&gt;Nolan Lawson &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191693/rss" title="try.expo.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;Your CI Was Built for Humans. Your Agents Need Something Else&lt;/a&gt;&lt;/span&gt; — Expo is mobile AI infrastructure. Your agents build, test and ship iOS and Android apps in the background.&lt;/p&gt;
  &lt;p&gt;Expo &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;▶  &lt;a href="https://javascriptweekly.com/link/191694/rss" title="www.youtube.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;ViteConf 2026: The Full Replay&lt;/a&gt;&lt;/span&gt; — 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.&lt;/p&gt;
  &lt;p&gt;ViteConf &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 One of the bigger announcements: &lt;a href="https://javascriptweekly.com/link/191695/rss" style=" color: #3366aa; font-weight: 500;"&gt;Void, the Vite team's full-stack SDK and deploy platform, is now open source&lt;/a&gt;.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191696/rss" title="www.bryanpg.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;How to Gaslight JavaScript Programmers (with Proxies)&lt;/a&gt;&lt;/span&gt; — &lt;code&gt;Proxy&lt;/code&gt;, 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.&lt;/p&gt;
  &lt;p&gt;Bryan Gillespie &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191697/rss" title="nothing-else.blog" style=" color: #3366aa;    font-size: 1.05em;"&gt;How Miro Moved 70,000 Tests from Jest to Vitest&lt;/a&gt;&lt;/span&gt; — The story of moving ~70,000 tests across an 800-package monorepo to Vitest, with AI agents doing most of the laborious work.&lt;/p&gt;
  &lt;p&gt;Sergey Nikitin &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/191698/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Upgrading to Zod 4 Cut Our Worker CPU by a Third&lt;/a&gt; – A Zod 3 to 4.5 migration at 100 million parses a day. &lt;cite&gt;Chris Arderne&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/191699/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Using &lt;code&gt;replace()&lt;/code&gt; as an Iterator&lt;/a&gt; – An old regex-callback-for-side-effects idiom, benchmarked against alternatives. &lt;cite&gt;Eugene Lazutkin&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/191700/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Recursion is DEAD and HTML Killed It&lt;/a&gt; – Hands-on with Chromium's experimental &lt;a href="https://javascriptweekly.com/link/191701/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Declarative Partial Updates&lt;/a&gt; proposal. &lt;cite&gt;Dave Rupert&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📺 &lt;a href="https://javascriptweekly.com/link/191702/rss" style=" color: #3366aa; font-weight: 500;   "&gt;NightMonkey: Compiling JavaScript Ahead of Time to WebAssembly&lt;/a&gt; – An hour-long VMIL 2026 talk from a Wasmtime engineer. &lt;cite&gt;Chris Fallin&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/191703/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ywzqx0owlyt7kwf7wgrk.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191703/rss" title="maplair.org" style=" color: #3366aa;    font-size: 1.05em;"&gt;Maplair: A Batteries-Included, Tree-Shakeable Fork of Leaflet&lt;/a&gt;&lt;/span&gt; — 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.&lt;/p&gt;
  &lt;p&gt;Simon Legner &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 The same day, Leaflet's creator &lt;a href="https://javascriptweekly.com/link/191704/rss" style=" color: #3366aa; font-weight: 500;"&gt;posted a candid update&lt;/a&gt; about his experiences living in Ukraine and a plan to get Leaflet 2.0 released.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191707/rss" title="playground.developers.thinkfree.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Embeddable DOCX, XLSX &amp;amp; PPTX Editor for Users and AI&lt;/a&gt;&lt;/span&gt; — Let your AI edit existing files via object-level APIs. Users review and keep editing the same file. &lt;a href="https://javascriptweekly.com/link/191708/rss" style=" color: #3366aa;   "&gt;Try Playground&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Thinkfree &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;📊&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/191705/rss" title="chartist.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;Chartist 2.0: The Lightweight SVG Charting Library Returns&lt;/a&gt;&lt;/span&gt; — A CSS-styled SVG charting library from 2014 that &lt;em&gt;"went stale over the last years"&lt;/em&gt; makes a comeback with a composable API, server-side rendering to SVG, terminal charts, and still ~12KB gzipped for a line chart. There's &lt;a href="https://javascriptweekly.com/link/191706/rss" style=" color: #3366aa;   "&gt;a migration guide&lt;/a&gt; for 1.x users.&lt;/p&gt;
  &lt;p&gt;Gion Kunz et al. &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191709/rss" title="pele.run" style=" color: #3366aa;    font-size: 1.05em;"&gt;Pele: Mermaid Diagrams as Lightweight, Themeable SVG&lt;/a&gt;&lt;/span&gt; — 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. &lt;a href="https://javascriptweekly.com/link/191710/rss" style=" color: #3366aa;   "&gt;Try the playground&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Steph Ango (Obsidian) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/191711/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/anvwoxijoc5lx7t5nnkh.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191711/rss" title="rich-input.netlify.app" style=" color: #3366aa;    font-size: 1.05em;"&gt;&lt;code&gt;&amp;lt;rich-input&amp;gt;&lt;/code&gt;: A Rich Input Field with GitHub-Style Search Filters&lt;/a&gt;&lt;/span&gt; — A web component for GitHub-style search boxes: free text mixed with autocompleted &lt;code&gt;key:value&lt;/code&gt; filters, highlighted in place.&lt;/p&gt;
  &lt;p&gt;Bramus Van Damme &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191712/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Chokidar 6.0&lt;/a&gt; – The file watcher behind much of JS tooling. &lt;a href="https://javascriptweekly.com/link/191713/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Rewritten to check changes against the disk before reporting&lt;/a&gt; to avoid stray events after a burst of edits, say.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191714/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Happy DOM 21.0&lt;/a&gt; – Headless browser environment in pure JavaScript, popular for testing. &lt;a href="https://javascriptweekly.com/link/191715/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Now blocks stylesheet and &lt;code&gt;iframe&lt;/code&gt; loading by default&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191716/rss" style=" color: #3366aa; font-weight: 500;   "&gt;p-queue 10.0&lt;/a&gt; – Promise queue with concurrency control. &lt;a href="https://javascriptweekly.com/link/191717/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Now dependency-free&lt;/a&gt; and an &lt;code&gt;EventTarget&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191718/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Paper.js 0.13&lt;/a&gt; and &lt;a href="https://javascriptweekly.com/link/191719/rss" style=" color: #3366aa; font-weight: 500;   "&gt;0.14&lt;/a&gt; – Vector graphics scripting framework for canvas. First notable releases in years. (&lt;a href="https://javascriptweekly.com/link/191720/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Homepage&lt;/a&gt; with &lt;a href="https://javascriptweekly.com/link/191721/rss" style=" color: #3366aa; font-weight: 500;   "&gt;demos&lt;/a&gt;.)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🕹️ &lt;a href="https://javascriptweekly.com/link/191722/rss" style=" color: #3366aa; font-weight: 500;   "&gt;LittleJS 1.27&lt;/a&gt; – Dependency-free HTML5 game engine that now does 3D too.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🖼️ &lt;a href="https://javascriptweekly.com/link/191723/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Skia Canvas 4.0&lt;/a&gt; – Canvas API for Node, built on Skia.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
	&lt;p&gt;📰 Classifieds&lt;/p&gt;
  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;🕵️ Muse doesn’t announce itself. Meta’s AI agent browses like a real user. &lt;a href="https://javascriptweekly.com/link/191724/rss" style=" color: #3366aa; font-weight: 500;   "&gt;See how Fingerprint detects it&lt;/a&gt; by name and try free for yourself.&lt;/p&gt;
 
&lt;p&gt;🎬 Your app needs video, not a video team. Upload any format to &lt;a href="https://javascriptweekly.com/link/191725/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Hyperserve's API&lt;/a&gt;, get back MP4 on a global CDN. Ship video in an afternoon.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📢  Elsewhere in the ecosystem&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/191726/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/t1yy7vc2vsopynkoyvrc.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🖼️ &lt;strong&gt;JPEG XL:&lt;/strong&gt; The modern image format is now supported by all major browsers, with &lt;a href="https://javascriptweekly.com/link/191727/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Firefox 158&lt;/a&gt; the latest to enable it by default. Jake Archibald &lt;a href="https://javascriptweekly.com/link/191728/rss" style=" color: #3366aa; font-weight: 500;   "&gt;pits it against AVIF in this extensive review&lt;/a&gt;. What I find amazing is &lt;a href="https://javascriptweekly.com/link/191726/rss" style=" color: #3366aa; font-weight: 500;   "&gt;what it's able to render in under 100 bytes&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;NodeConf EU 2026:&lt;/strong&gt; The &lt;a href="https://javascriptweekly.com/link/191729/rss" style=" color: #3366aa; font-weight: 500;   "&gt;▶️ latest NodeConf EU talks&lt;/a&gt; are up, including James Snell's case for &lt;a href="https://javascriptweekly.com/link/191730/rss" style=" color: #3366aa; font-weight: 500;   "&gt;a common minimum API every runtime should support&lt;/a&gt;, plus sessions on &lt;a href="https://javascriptweekly.com/link/191731/rss" style=" color: #3366aa; font-weight: 500;   "&gt;V8 heap management&lt;/a&gt; and &lt;a href="https://javascriptweekly.com/link/191732/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Emscripten and WebAssembly&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;A new social network:&lt;/strong&gt; &lt;a href="https://javascriptweekly.com/link/191733/rss" style=" color: #3366aa; font-weight: 500;   "&gt;/dev/null&lt;/a&gt; is a GitHub-oriented social network for developers, built from scratch in 48 hours. It already has over 8000 members, &lt;a href="https://javascriptweekly.com/link/191734/rss" style=" color: #3366aa; font-weight: 500;   "&gt;including me&lt;/a&gt;. It's been a lot of fun so far!&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://javascriptweekly.com/open/807/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 20 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/807</guid>
    </item>
    <item>
      <title>Ryan Dahl: 'Why reimplement Node? It works.'</title>
      <link>https://javascriptweekly.com/issues/806</link>
      <description>

  

    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;#​806 — October 13, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191505/rss" style=" color: #3366aa;"&gt;Read on the Web&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0 12px;"&gt;&lt;p&gt;JavaScript Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/191449/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/m1xxxsvconnhew26d4uh.jpg" width="640" style="    line-height: 100%;    "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191449/rss" title="deno.com" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;Deno is Joining Cloudflare (But…)&lt;/a&gt;&lt;/span&gt; — Maybe David Bushell &lt;a href="https://javascriptweekly.com/link/191450/rss" style=" color: #3366aa;   "&gt;saw the writing on the wall&lt;/a&gt;, as the Deno team isn't joining Cloudflare to keep working on &lt;em&gt;Deno&lt;/em&gt;, but to fold &lt;a href="https://javascriptweekly.com/link/191451/rss" style=" color: #3366aa;   "&gt;celld&lt;/a&gt; into &lt;code&gt;workerd&lt;/code&gt; so Durable Objects can be self-hosted (&lt;a href="https://javascriptweekly.com/link/191506/rss" style=" color: #3366aa;   "&gt;more on that here&lt;/a&gt;). The Deno runtime will get a final year of official fixes, Deno Deploy closes in six months, and &lt;a href="https://javascriptweekly.com/link/191452/rss" style=" color: #3366aa;   "&gt;JSR&lt;/a&gt; moves to Cloudflare's infrastructure.&lt;/p&gt;
  &lt;p&gt;Ryan Dahl &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 &lt;a href="https://javascriptweekly.com/link/191453/rss" style=" color: #3366aa; font-weight: 500;"&gt;On Hacker News&lt;/a&gt;, Ryan Dahl noted that Deno &lt;em&gt;"has been sucked into the gravity well of Node compatibility"&lt;/em&gt; before asking: &lt;em&gt;"Why reimplement Node? It works."&lt;/em&gt; But what happens &lt;a href="https://javascriptweekly.com/link/191454/rss" style=" color: #3366aa; font-weight: 500;"&gt;to the JavaScript™ trademark case&lt;/a&gt;, I wonder…?&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://javascriptweekly.com/link/191448/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/f0a41815.png" width="135" height="135" style="padding-top: 12px; padding-left: 12px;     line-height: 100%; "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191448/rss" title="agentfield.ai" style=" color: #3366aa;    font-size: 1.05em;"&gt;CodeAF: #1 of Ten Coding Harnesses on DeepSWE&lt;/a&gt;&lt;/span&gt; — Ten coding harnesses ran the same open model on 113 real GitHub issues. CodeAF solved the most and paid the least per solved issue: 3.4x less than Claude Code, 4.8x less than OpenCode. A new open-source coding harness built for open models.&lt;/p&gt;
  &lt;p&gt;AgentField AI &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191455/rss" title="bun.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Bun 1.4.3 Adds &lt;code&gt;bun check&lt;/code&gt;, a Built-In TypeScript Type Checker&lt;/a&gt;&lt;/span&gt; — &lt;code&gt;bun check&lt;/code&gt; is a port of TypeScript 7's checker that reads your &lt;code&gt;tsconfig.json&lt;/code&gt;, reports the same errors as &lt;code&gt;tsc&lt;/code&gt; and, Jarred claims, runs 3-6x faster. It plugs into &lt;code&gt;bun run&lt;/code&gt;/&lt;code&gt;test&lt;/code&gt;/&lt;code&gt;build&lt;/code&gt; too. Idle server processes now use far less CPU, and a JavaScriptCore upgrade picks up &lt;a href="https://javascriptweekly.com/link/191456/rss" style=" color: #3366aa;   "&gt;numerous perf gains&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Jarred Sumner &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;AWS has launched &lt;a href="https://javascriptweekly.com/link/191457/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Lambda Web Functions&lt;/a&gt;, which run an ordinary port-listening Node server (Express, Hono, Fastify, etc.) on Lambda with no handler rewrite, billing for active CPU time and separately for memory.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📊 The &lt;a href="https://javascriptweekly.com/link/191458/rss" style=" color: #3366aa; font-weight: 500;   "&gt;2026 &lt;em&gt;Stack Overflow&lt;/em&gt; Developer Survey results&lt;/a&gt; are out (30,903 people took part) with JavaScript the #1 language for the 12th year in a row (and TypeScript at #6).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🔒 Despite this week's &lt;a href="https://javascriptweekly.com/link/191459/rss" style=" color: #3366aa; font-weight: 500;   "&gt;fresh stir&lt;/a&gt;, no malicious Zod release reached npm. &lt;a href="https://javascriptweekly.com/link/191460/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Malicious commits pushed to its repo in September&lt;/a&gt; were reverted the same day, as &lt;a href="https://javascriptweekly.com/link/191461/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Colin McDonnell explains&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🔒 &lt;a href="https://javascriptweekly.com/link/191462/rss" style=" color: #3366aa; font-weight: 500;   "&gt;An out-of-band Next.js security release is due tomorrow&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Last second addition:&lt;/strong&gt; &lt;a href="https://javascriptweekly.com/link/191508/rss" style=" color: #3366aa; font-weight: 500;   "&gt;TanStack Start 1.0&lt;/a&gt; has just dropped. Big news for full-stack React and Solid fans! :-)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🎉 &lt;a href="https://javascriptweekly.com/link/191463/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Partytown 1.0&lt;/a&gt; – A popular way to relocate third-party scripts to run in a Web Worker rather than on the main thread has left beta after five years in development.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191464/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Marionette 5.0&lt;/a&gt; – Six years on, the Backbone-era framework returns with a core free of Backbone, jQuery and Underscore… and they explain why!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191507/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Bootstrap 6 Alpha&lt;/a&gt; – An early look at Bootstrap's first major release since 2021, leaning on modern CSS and making its JavaScript plugins ESM-only.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191465/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Express 5.3.0&lt;/a&gt; – A maintenance release worth upgrading to, as patched &lt;code&gt;qs&lt;/code&gt;, &lt;code&gt;proxy-addr&lt;/code&gt; and &lt;code&gt;body-parser&lt;/code&gt; dependencies close five CVEs.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📖  Articles and Videos&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/191466/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/gacrsvr1mipjqdooocro.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;📊&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/191466/rss" title="lemire.me" style=" color: #3366aa;    font-size: 1.05em;"&gt;WebSocket Servers in JavaScript: Node.js, Bun, and Deno&lt;/a&gt;&lt;/span&gt; — In 2023, &lt;a href="https://javascriptweekly.com/link/191467/rss" style=" color: #3366aa;   "&gt;Daniel found Bun much faster&lt;/a&gt; than Node at relaying WebSocket messages, but there was a bug in his Bun server. This new attempt uses a C client/relay as a baseline, and Node 26 now gets close to C latency, ahead of Bun and Deno.&lt;/p&gt;
  &lt;p&gt;Daniel Lemire &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191468/rss" title="sindresorhus.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;How Sindre Sorhus' Personal Site is Now Made in Swift&lt;/a&gt;&lt;/span&gt; — One of JavaScript's most prolific developers explains how he's dropped Astro and now builds his personal site with Swift, including the styling and markup, with broken links and style typos failing at compile time (&lt;a href="https://javascriptweekly.com/link/191469/rss" style=" color: #3366aa;   "&gt;source&lt;/a&gt;).&lt;/p&gt;
  &lt;p&gt;Sindre Sorhus &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191470/rss" title="sentry.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;Too Many Agent Traces to Read? Find the Ones That Matter, Live Oct 14&lt;/a&gt;&lt;/span&gt; — Bad answers, wrong tool calls, too many traces. See how Sentry engineers find the failures worth fixing. &lt;a href="https://javascriptweekly.com/link/191470/rss" style=" color: #3366aa;   "&gt;Register now&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Sentry &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191471/rss" title="www.raymondcamden.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Tiny Apps with TinyJS&lt;/a&gt;&lt;/span&gt; — A quick look at &lt;a href="https://javascriptweekly.com/link/191472/rss" style=" color: #3366aa;   "&gt;a new way to make tiny JS-powered desktop apps&lt;/a&gt; we featured a few weeks ago.&lt;/p&gt;
  &lt;p&gt;Raymond Camden &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/191473/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Yet Another Way to Invoke Functions Without Parentheses&lt;/a&gt; – There are many ways to invoke arbitrary functions in JavaScript &lt;em&gt;without&lt;/em&gt; using parens, but this is a particularly obscure one! &lt;cite&gt;bartosz&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/191474/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Six Months of Building with Remix 3&lt;/a&gt; – What the post-React Remix (v3 was released earlier this month) is like to work with day to day. &lt;cite&gt;Sergio Xalambrí&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/191475/rss" style=" color: #3366aa; font-weight: 500;   "&gt;A Visual Notation for React's Parent and Owner Trees&lt;/a&gt; – With &lt;a href="https://javascriptweekly.com/link/191476/rss" style=" color: #3366aa; font-weight: 500;   "&gt;a playground&lt;/a&gt; that draws them from your code. &lt;cite&gt;Jules Blom&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/191477/rss" style=" color: #3366aa; font-weight: 500;   "&gt;How to Test an &lt;code&gt;iframe&lt;/code&gt;'s &lt;code&gt;postMessage&lt;/code&gt; Handler&lt;/a&gt; &lt;cite&gt;Keshav Malik&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/191478/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/yyyvmcrgd42zwknefp1s.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;🤖&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/191478/rss" title="anoma.ly" style=" color: #3366aa;    font-size: 1.05em;"&gt;OpenCode 2.0: A Big Update for the Open Coding Agent&lt;/a&gt;&lt;/span&gt; — A full-featured agentic coding app, built on Bun, that's more akin to &lt;em&gt;Claude Code&lt;/em&gt; than &lt;a href="https://javascriptweekly.com/link/191479/rss" style=" color: #3366aa;   "&gt;Pi&lt;/a&gt;, say. v2.0 overhauls it with background subagents, a 'code mode' to let models script MCP tool calls, and clients for vanilla JS and Effect code to drive it.&lt;/p&gt;
  &lt;p&gt;Anomaly / The OpenCode Team &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 If you've not given OpenCode a try yet, you can &lt;a href="https://javascriptweekly.com/link/191480/rss" style=" color: #3366aa; font-weight: 500;"&gt;get started here&lt;/a&gt;.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191484/rss" title="tamagui.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;Tamagui 3: One React UI Codebase for Web and Native&lt;/a&gt;&lt;/span&gt; — A styling system and component kit for sharing UI between React web apps and React Native, with a compiler that keeps things fast on both. v3 adds Tailwind-style props and React Strict DOM support.&lt;/p&gt;
  &lt;p&gt;Nate Wienert &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191483/rss" title="try.expo.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;Mobile AI Infrastructure for Web Devs Who Code with Agents&lt;/a&gt;&lt;/span&gt; — Point the agent you use for the web at iOS and Android. Expo takes care of the native builds and the trip to the stores.&lt;/p&gt;
  &lt;p&gt;Expo &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191481/rss" title="h3.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;H3 v2: The UnJS HTTP Framework Rebuilt on Web Standards&lt;/a&gt;&lt;/span&gt; — The minimal HTTP framework behind Nitro and Nuxt's server layer is now stable in v2, a rewrite around standard &lt;code&gt;Request&lt;/code&gt; and &lt;code&gt;Response&lt;/code&gt; so the same app runs on Node, Bun, Deno, Workers, and even in the browser. &lt;a href="https://javascriptweekly.com/link/191482/rss" style=" color: #3366aa;   "&gt;Migration guide&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Pooya Parsa &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/191485/rss" title="shaders.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Shaders: 190+ WebGPU Effect Components, Now Open Source&lt;/a&gt;&lt;/span&gt; — Ripples, glows, and dissolves into ASCII, composed as components rather than written as shader code, for React, Vue, Svelte, Solid, or plain JS. The engine, framework bindings, and &lt;a href="https://javascriptweekly.com/link/191486/rss" style=" color: #3366aa;   "&gt;the components themselves&lt;/a&gt; are now all MIT licensed.&lt;/p&gt;
  &lt;p&gt;Simon Le Marchant &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 If you like this vibe, &lt;a href="https://javascriptweekly.com/link/191487/rss" style=" color: #3366aa; font-weight: 500;"&gt;ascii.rest&lt;/a&gt;, which offers &lt;em&gt;"236 animated ASCII pieces for web pages"&lt;/em&gt;, is also worth a look.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191488/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Node.js v26.11.0 (Current)&lt;/a&gt; – Adds a &lt;code&gt;--process-timeout&lt;/code&gt; flag to end a process after a set time, plus virtual table support in &lt;code&gt;node:sqlite&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191489/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Hono 5.0 RC&lt;/a&gt; – The web-standards server framework goes ESM-only and moves its runtime adapters into separate packages.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🔒 &lt;a href="https://javascriptweekly.com/link/191490/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Handlebars 4.7.10&lt;/a&gt; – The templating library fixes two critical JavaScript injection flaws affecting releases back to 3.0.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191491/rss" style=" color: #3366aa; font-weight: 500;   "&gt;he 2.0&lt;/a&gt; – Robust HTML entity encoder/decoder. First release in eight years, now ESM with named exports.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191492/rss" style=" color: #3366aa; font-weight: 500;   "&gt;React Aria 1.22&lt;/a&gt; – Adds a new &lt;a href="https://javascriptweekly.com/link/191493/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Sheet component&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/191494/rss" style=" color: #3366aa; font-weight: 500;   "&gt;pnpm 12.12&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
	&lt;p&gt;📰 Classifieds&lt;/p&gt;
  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;⚡️Add lightning-fast 1D/2D barcode scanning to your web app with &lt;a href="https://javascriptweekly.com/link/191495/rss" style=" color: #3366aa; font-weight: 500;   "&gt;STRICH&lt;/a&gt;. On-device processing, &lt;a href="https://javascriptweekly.com/link/191495/rss" style=" color: #3366aa; font-weight: 500;   "&gt;free trial and demo!&lt;/a&gt;&lt;/p&gt;
 
&lt;p&gt;Durable AI agents built with the AI SDK you already use. Long-lived LLM sessions that survive deploys, crashes &amp;amp; refreshes. &lt;a href="https://javascriptweekly.com/link/191496/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Test out chat.agent on Trigger.dev&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;🎬 Your app needs video, not a video team. Upload any format to &lt;a href="https://javascriptweekly.com/link/191497/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Hyperserve's API&lt;/a&gt;, get back MP4 on a global CDN. Ship video in an afternoon.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📢  Elsewhere in the ecosystem&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;In &lt;a href="https://javascriptweekly.com/link/191498/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Fingerprints are the New Cookies&lt;/a&gt;, Roy Fish demonstrates the various ways web pages can assign a unique(ish) identity to you using JavaScript.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤖 Theo Browne set AI agents loose on porting the TypeScript 7 compiler to Rust, and &lt;a href="https://javascriptweekly.com/link/191499/rss" style=" color: #3366aa; font-weight: 500;   "&gt;ts-rust&lt;/a&gt; is the (very experimental) result.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📱 Following Shopify, &lt;a href="https://javascriptweekly.com/link/191500/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Coinbase is moving its app off React Native&lt;/a&gt;, saying agents have made building each feature twice cheap enough to go fully native.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fancy a retro robot voice in your web experience? &lt;a href="https://javascriptweekly.com/link/191501/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Klattsch&lt;/a&gt; is a voice synthesizer you can use on the web or from Node.js as an npm package. &lt;em&gt;Daiiisy, daiiisy…&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Three years ago we mentioned Linus Groh's Zig-based &lt;a href="https://javascriptweekly.com/link/191502/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Kiesel&lt;/a&gt; JavaScript engine. It passed 25% of test262 back then, but &lt;a href="https://javascriptweekly.com/link/191503/rss" style=" color: #3366aa; font-weight: 500;   "&gt;v0.4.0 has landed&lt;/a&gt; and it's now at 94.7% (not far behind V8) and supports modern language proposals like await dictionary and numerous iterator proposals.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://javascriptweekly.com/open/806/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 13 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/806</guid>
    </item>
  </channel>
</rss>
