<?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 to know about JavaScript in 2026</title>
      <link>https://javascriptweekly.com/issues/780</link>
      <description>

  

    
    
    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;#​780 — April 7, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183301/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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 12px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/183303/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/clia2za7y4fbmgwelaod.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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183303/rss" title="discourse.llvm.org" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;JSIR: A High-Level IR for JavaScript from Google&lt;/a&gt;&lt;/span&gt; — Google has open sourced a new tool (&lt;a href="https://javascriptweekly.com/link/183304/rss" style=" color: #3366aa;   "&gt;JSIR&lt;/a&gt;) and proposed an industry-standard IR (&lt;a href="https://javascriptweekly.com/link/183305/rss" style=" color: #3366aa;   "&gt;Intermediate Representation&lt;/a&gt; – if an AST tells you what the code &lt;em&gt;looks like&lt;/em&gt;, an IR tells you what it &lt;em&gt;does&lt;/em&gt;) for JavaScript. Already used at Google for analysis and code transformation, the underlying idea could form a foundation for a new generation of tooling.&lt;/p&gt;
  &lt;p&gt;Zhixun Tan (Google) &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;&lt;p&gt;💡 Most devs won't feel the impact for a while, but this is the kind of groundwork that can lead to better linters, smarter bundlers, better refactoring tools, and so forth.&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  &lt;a href="https://javascriptweekly.com/link/183302/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/8534bab8.jpg" 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/183302/rss" title="www.addevent.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Free Workshop: Claude Code Deep Dive — April 21&lt;/a&gt;&lt;/span&gt; — Lydia Hallie from Anthropic teaches a full-day Claude Code workshop at Frontend Masters on April 21. Free to attend. No subscription required.&lt;/p&gt;
  &lt;p&gt;Frontend Masters &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183306/rss" title="frontendmasters.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;What to Know in JavaScript (2026 Edition)&lt;/a&gt;&lt;/span&gt; — An up-to-date overview of the JS landscape, including the latest ECMAScript additions, frameworks to keep tabs on, runtimes, build tools, and more. A good way to catch up.&lt;/p&gt;
  &lt;p&gt;Chris Coyier &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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;🔓 The Axios team has published &lt;a href="https://javascriptweekly.com/link/183363/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;a postmortem of last week's npm supply chain compromise&lt;/a&gt;. There's also a look into &lt;a href="https://javascriptweekly.com/link/183364/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;how the social engineering part worked.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📊 WebKit, Google and Mozilla have &lt;a href="https://javascriptweekly.com/link/183361/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;unveiled &lt;em&gt;JetStream 3&lt;/em&gt;&lt;/a&gt;, the latest version of a suite of popular browser-oriented JS and WASM performance benchmarks.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183309/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Cloudflare has released &lt;em&gt;EmDash&lt;/em&gt;&lt;/a&gt;, a JavaScript-flavored &lt;em&gt;'spiritual successor to WordPress'&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183310/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;The Svelte team has published its latest monthly roundup.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&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/183311/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;ESLint v10.2.0&lt;/a&gt; – Adds support for language-aware rules through a new &lt;code&gt;meta.languages&lt;/code&gt; property. &lt;code&gt;Temporal&lt;/code&gt; is now also supported.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183312/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Node.js 25.9.0 (Current)&lt;/a&gt; – Adds &lt;code&gt;--max-heap-size&lt;/code&gt; to set a max heap size for a process, and includes &lt;a href="https://javascriptweekly.com/link/183313/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;&lt;code&gt;stream/iter&lt;/code&gt;&lt;/a&gt;, a new experimental iterable streams API.&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183315/rss" title="daniakash.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Minimum Release Age is an Underrated Supply Chain Defense&lt;/a&gt;&lt;/span&gt; — An increasingly common package manager feature is being able to specify a minimum ‘package age’. The idea is that if you wait, then maintainers, security tools, etc. will tackle the most nefarious supply chain attacks. It’s no silver bullet, but may suit your use case, and here’s how to set it up.&lt;/p&gt;
  &lt;p&gt;Dani Akash &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183316/rss" title="www.youtube.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;TanStack Start: A Client-First Web Framework&lt;/a&gt;&lt;/span&gt; — A 30-minute talk from TanStack’s founder showcasing &lt;a href="https://javascriptweekly.com/link/183317/rss" style=" color: #3366aa;   "&gt;TanStack Start&lt;/a&gt;’s value proposition for both React and Solid developers looking for a complete SSR framework.&lt;/p&gt;
  &lt;p&gt;Tanner Linsley &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183318/rss" title="www.tigerdata.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;One Extension Replaces Your Entire Analytics Pipeline&lt;/a&gt;&lt;/span&gt; — TimescaleDB adds hypertables, 95% compression, and continuous aggregates to Postgres. Analytics on live data. Try for free.&lt;/p&gt;
  &lt;p&gt;Tiger Data (creators of TimescaleDB) &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183319/rss" title="openjsf.org" style=" color: #3366aa;    font-size: 1.05em;"&gt;Burnout is Real for Open Source Maintainers&lt;/a&gt;&lt;/span&gt; — A 40-minute audio interview (along with a nice write up) with John-David Dalton, the creator of &lt;a href="https://javascriptweekly.com/link/183320/rss" style=" color: #3366aa;   "&gt;Lodash&lt;/a&gt;, one of JavaScript's most popular projects.&lt;/p&gt;
  &lt;p&gt;The OpenJS Foundation &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183321/rss" title="blog.gitbutler.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;The Great CSS Expansion&lt;/a&gt;&lt;/span&gt; — A thorough review of Web-based tasks that were once JavaScript’s natural domain (e.g. tooltips, dialogs, scroll animations) but for which modern CSS now excels.&lt;/p&gt;
  &lt;p&gt;Pavel Laptev &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/183322/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Building a Dual-Scene Fluid 'X-Ray Reveal' Effect in Three.js&lt;/a&gt;  &lt;cite&gt;Cullen Webber&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/183323/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Quick Tip: &lt;code&gt;Intl&lt;/code&gt; Can Localize Units, Too&lt;/a&gt;  &lt;cite&gt;Stefan Judis&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/183324/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Things Learned Migrating to Solid 2.0&lt;/a&gt;  &lt;cite&gt;Brenley Dueck&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/183325/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/qbelblco3qxogy63pwvv.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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183325/rss" title="fusejs.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;Fuse.js 7.3: Lightweight Fuzzy-Search&lt;/a&gt;&lt;/span&gt; — Want a search feature tolerant to ambiguous input &lt;em&gt;without&lt;/em&gt; a dedicated backend? &lt;a href="https://javascriptweekly.com/link/183326/rss" style=" color: #3366aa;   "&gt;v7.3&lt;/a&gt; adds per-term fuzzy matching and a static method for single string matching, while &lt;a href="https://javascriptweekly.com/link/183327/rss" style=" color: #3366aa;   "&gt;v7.4 beta&lt;/a&gt; adds &lt;a href="https://javascriptweekly.com/link/183328/rss" style=" color: #3366aa;   "&gt;worker-based distributed search&lt;/a&gt; for tackling huge datasets. &lt;a href="https://javascriptweekly.com/link/183329/rss" style=" color: #3366aa;   "&gt;A demo&lt;/a&gt; shows off the basics.&lt;/p&gt;
  &lt;p&gt;Kiro Risk &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183330/rss" title="fandf.co" style=" color: #3366aa;    font-size: 1.05em;"&gt;Your CI doesn't have to be this slow&lt;/a&gt;&lt;/span&gt; — Depot CI: 2-3s job starts, parallel steps, SSH debugging. Run &lt;code&gt;depot ci migrate&lt;/code&gt; to move your GitHub Actions in minutes.&lt;/p&gt;
  &lt;p&gt;Depot &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183331/rss" title="blogs.windows.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Announcing Babylon.js 9.0&lt;/a&gt;&lt;/span&gt; — &lt;a href="https://javascriptweekly.com/link/183332/rss" style=" color: #3366aa;   "&gt;Microsoft's popular rendering engine&lt;/a&gt; for building interactive, 3D web experiences now has a node-based particle editor, &lt;a href="https://javascriptweekly.com/link/183333/rss" style=" color: #3366aa;   "&gt;volumetric lighting&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/183334/rss" style=" color: #3366aa;   "&gt;advanced Gaussian splatting&lt;/a&gt;, and more.&lt;/p&gt;
  &lt;p&gt;Carter &amp;amp; Lucchini (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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183335/rss" title="marked.js.org" style=" color: #3366aa;    font-size: 1.05em;"&gt;Marked.js 18.0: A Fast Markdown Parser and Compiler&lt;/a&gt;&lt;/span&gt; — A low-level Markdown compiler built for speed. &lt;a href="https://javascriptweekly.com/link/183336/rss" style=" color: #3366aa;   "&gt;The demo&lt;/a&gt; shows off the basics. v18 is largely a bug fix release that also bumps it up to TypeScript 6. &lt;a href="https://javascriptweekly.com/link/183337/rss" style=" color: #3366aa;   "&gt;GitHub repo.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Christopher Jeffrey &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183338/rss" title="tinybase.org" style=" color: #3366aa;    font-size: 1.05em;"&gt;TinyBase v8.1: A Reactive Data Store for Local-First Apps&lt;/a&gt;&lt;/span&gt; — A reactive data store and sync engine that can be used as the entire backend for many types of app, &lt;strong&gt;now with native Svelte 5 support.&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;James Pearce &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183339/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;xdk-typescript: The Official 'XDK' for the X API&lt;/a&gt;&lt;/span&gt; — The social media platform’s new official SDK for its API (good luck).&lt;/p&gt;
  &lt;p&gt;X Dev Platform &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183314/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;npm-check-updates v20.0.0&lt;/a&gt; – Upgrade &lt;code&gt;package.json&lt;/code&gt; dependencies to latest versions while preserving semantic versioning policies. Now supporting cooldowns.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183340/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Neutralinojs 6.7&lt;/a&gt; – The cross-platform desktop app framework adds an API for input device simulation and handling.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🖼️ &lt;a href="https://javascriptweekly.com/link/183341/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;SVGInject 2.0&lt;/a&gt; – Inlines SVG files into the DOM at runtime (no build step) so you can style them with CSS.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183342/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;vue-clamp 1.0&lt;/a&gt; – Primitives for clamping multiline text, inline strings, and wrapped items in Vue 3. (&lt;a href="https://javascriptweekly.com/link/183343/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Demo.&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183344/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;vue-virtual-scroller 2.0&lt;/a&gt; – Fast virtual-scrolling for lists in Vue 3.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183345/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Verdaccio 6.4&lt;/a&gt; – Run your own local private npm registry.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183346/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;React Native Skia 2.6&lt;/a&gt; – Fast 2D graphics library for RN.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183347/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;SunEditor 3.0&lt;/a&gt; – Extensible, vanilla JS WYSIWYG editor.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183348/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;hucre 0.3&lt;/a&gt; – Zero-dependency spreadsheet engine.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183349/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;bwip-js 4.9&lt;/a&gt; – Pure JavaScript barcode writer.&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 0px;  padding-left: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;Most engineers can't prove they're AI-first in an interview. &lt;a href="https://javascriptweekly.com/link/183350/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Gauntlet's&lt;/a&gt; CTO breaks down exactly what separates those who can.&lt;/p&gt;
 
&lt;p&gt;Flaky tests slowing down dev? &lt;a href="https://javascriptweekly.com/link/183351/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Meticulous&lt;/a&gt; gives engineers confidence to ship faster by autonomously testing every edge case of your web app.&lt;/p&gt;
 
&lt;p&gt;Every app needs a bit of spreadsheet in it. &lt;a href="https://javascriptweekly.com/link/183352/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Handsontable&lt;/a&gt; delivers Excel-like experiences fast, without the risk and complexity.&lt;/p&gt;
 
&lt;p&gt;Access Google Search, Maps, Shopping, and more real-time data with a simple API by &lt;a href="https://javascriptweekly.com/link/183353/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;SerpApi.&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/183354/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/l6ibojqnoesy4fogc1ju.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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;In &lt;a href="https://javascriptweekly.com/link/183354/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;CSS is DOOMed&lt;/a&gt;, Niels Leenheer shows off how he implemented a version of 1993's &lt;em&gt;Doom&lt;/em&gt; using purely CSS rendering (with the game logic in JavaScript). &lt;a href="https://javascriptweekly.com/link/183355/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Play it for yourself&lt;/a&gt; or &lt;a href="https://javascriptweekly.com/link/183356/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;check out the code.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183357/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;QuickBEAM&lt;/a&gt; is a JavaScript runtime for Erlang's BEAM VM, as also used by &lt;a href="https://javascriptweekly.com/link/183358/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Elixir.&lt;/a&gt; It offers compatibility with core Node.js APIs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In &lt;a href="https://javascriptweekly.com/link/183359/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;CSS or BS?&lt;/a&gt; find out how good you are at telling real-life CSS properties from made up ones.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;✉️ Spencer Mortensen &lt;a href="https://javascriptweekly.com/link/183360/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;put twenty-five email address obfuscation techniques to the test&lt;/a&gt; to see which &lt;em&gt;actually&lt;/em&gt; work in 2026.&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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/780/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 7 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/780</guid>
    </item>
    <item>
      <title>A new, major npm supply chain attack via Axios</title>
      <link>https://javascriptweekly.com/issues/779</link>
      <description>

  

    
    
    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;#​779 — March 31, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183032/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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 12px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/183093/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/hscgioobwckiiyh4eyof.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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183093/rss" title="www.stepsecurity.io" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;&lt;code&gt;axios&lt;/code&gt; Package Compromised; Malicious Versions Added a Trojan Dependency&lt;/a&gt;&lt;/span&gt; — &lt;a href="https://javascriptweekly.com/link/183094/rss" style=" color: #3366aa;   "&gt;Axios&lt;/a&gt; is an HTTP library that gets 100M+ downloads a week, largely due to its legacy popularity. An attacker took advantage of that to roll out a version with a malicious dependency including a remote access trojan (though Axios' codebase &lt;em&gt;itself&lt;/em&gt; was fine). This is big, as even if &lt;em&gt;you&lt;/em&gt; don’t use Axios, your dependencies might. Here's &lt;a href="https://javascriptweekly.com/link/183095/rss" style=" color: #3366aa;   "&gt;how to see if you're affected.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Ashish Kurmi &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;&lt;p&gt;💡 &lt;b&gt;More:&lt;/b&gt; Socket offers &lt;a href="https://javascriptweekly.com/link/183096/rss" style=" color: #3366aa; font-weight: 600;"&gt;a more accessible breakdown&lt;/a&gt;. There's also &lt;a href="https://javascriptweekly.com/link/183097/rss" style=" color: #3366aa; font-weight: 600;"&gt;a GitHub issue&lt;/a&gt; discussing the matter. It's worth considering &lt;a href="https://javascriptweekly.com/link/183098/rss" style=" color: #3366aa; font-weight: 600;"&gt;pinning your dependencies&lt;/a&gt;, preventing post-install scripts from running (can be configured with &lt;code&gt;npm&lt;/code&gt; but is the default in pnpm and Bun) and/or using cooldowns for dependency updates (using &lt;a href="https://javascriptweekly.com/link/183099/rss" style=" color: #3366aa; font-weight: 600;"&gt;&lt;code&gt;minimumReleaseAge&lt;/code&gt;&lt;/a&gt; in npm or &lt;a href="https://javascriptweekly.com/link/183100/rss" style=" color: #3366aa; font-weight: 600;"&gt;pnpm's approach&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  &lt;a href="https://javascriptweekly.com/link/183033/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/1f750717.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/183033/rss" title="" style=" color: #3366aa;    font-size: 1.05em;"&gt;Still Writing Tests Manually? Meticulous AI Is Here&lt;/a&gt;&lt;/span&gt; — Notion, Dropbox, Wiz and LaunchDarkly now use a testing paradigm they can’t work without. Built by former Palantir engineers, Meticulous automatically creates an evolving suite of E2E UI tests, delivering exhaustive coverage with no 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-top: 1px; padding-right: 4px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183034/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Transformers.js v4: Run AI Models in the Browser&lt;/a&gt;&lt;/span&gt; — Brings &lt;a href="https://javascriptweekly.com/link/183035/rss" style=" color: #3366aa;   "&gt;Hugging Face&lt;/a&gt;-hosted transformer models into JavaScript, so you can run NLP, vision, and audio models in-browser. v4 switches to a WebGPU runtime and is installable with npm. There are &lt;a href="https://javascriptweekly.com/link/183036/rss" style=" color: #3366aa;   "&gt;many live demos&lt;/a&gt; covering &lt;a href="https://javascriptweekly.com/link/183037/rss" style=" color: #3366aa;   "&gt;real-time speech transcription&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/183038/rss" style=" color: #3366aa;   "&gt;using Qwen 3.5&lt;/a&gt;, and &lt;a href="https://javascriptweekly.com/link/183039/rss" style=" color: #3366aa;   "&gt;real-time video captioning.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Hugging Face &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183040/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Inertia.js 3.0&lt;/a&gt; – Glue between React, Vue and Svelte SPAs and non-JS server-side frameworks like Laravel, Rails and Django. &lt;a href="https://javascriptweekly.com/link/183041/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;More on v3 here.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183042/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Node.js March 24, 2026 Security Releases&lt;/a&gt; - Including &lt;a href="https://javascriptweekly.com/link/183043/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Node.js v25.8.2 (Current)&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/183044/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;v24.14.1 (LTS)&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/183045/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;v22.22.2 (LTS)&lt;/a&gt;, and &lt;a href="https://javascriptweekly.com/link/183046/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;v20.20.2 (LTS)&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183047/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;TanStack DB 0.6&lt;/a&gt; – Now with persistence, offline support, and hierarchical data.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183048/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Astro 6.1&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/183049/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Mantine 9.0&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/183050/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Ky 2.0 Prerelease&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/183051/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;CKEditor 48.0&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/183052/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;pnpm 10.33&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/183053/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/xiqo1c9nlcnj9gh3bhiz.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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183053/rss" title="willybrauner.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Signals: The Push-Pull Based Algorithm&lt;/a&gt;&lt;/span&gt; — A well-diagrammed ground-up explanation of how &lt;a href="https://javascriptweekly.com/link/183054/rss" style=" color: #3366aa;   "&gt;signals&lt;/a&gt; work internally, focusing on the push-pull algorithm at the core of reactivity in frameworks like Solid, Vue, and Angular.&lt;/p&gt;
  &lt;p&gt;Willy Brauner &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183055/rss" title="macarthur.me" style=" color: #3366aa;    font-size: 1.05em;"&gt;Your Options for Preloading Images with JavaScript&lt;/a&gt;&lt;/span&gt; — &lt;em&gt;“There are a number of ways to preload an image on demand with JavaScript, each with their own strengths and drawbacks. Let's explore them.”&lt;/em&gt;&lt;/p&gt;
  &lt;p&gt;Alex MacArthur &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183056/rss" title="youtube.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Stop Guessing Where Your Next.js App Broke&lt;/a&gt;&lt;/span&gt; — 7 videos on error monitoring, replays, tracing, and alerts to debug across your Next.js stack. &lt;a href="https://javascriptweekly.com/link/183056/rss" style=" color: #3366aa;   "&gt;Watch 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-top: 1px; padding-right: 4px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183057/rss" title="wasp.sh" style=" color: #3366aa;    font-size: 1.05em;"&gt;A Gentle Intro to npm Workspaces (With Visuals)&lt;/a&gt;&lt;/span&gt; — &lt;a href="https://javascriptweekly.com/link/183058/rss" style=" color: #3366aa;   "&gt;Workspaces&lt;/a&gt; let you manage multiple packages in one repo and link local packages so they can import each other by name. npm may then hoist and deduplicate compatible dependencies during install.&lt;/p&gt;
  &lt;p&gt;Carlos Precioso &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/183059/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;'I Decompiled the White House's New App'&lt;/a&gt; – Among the surprises in the React Native app are a cookie/paywall bypass injector and dynamic loading of JavaScript from a random user’s GitHub Pages... &lt;cite&gt;Thereallo&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/183060/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Building a Scroll-Reactive 3D Gallery with Three.js, Velocity, and Mood-Based Backgrounds&lt;/a&gt;  &lt;cite&gt;Houmahani Kane&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/183061/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Why We Replaced Node.js with Bun for 5x Throughput&lt;/a&gt;  &lt;cite&gt;Nick at Trigger&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/183087/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/wr8dtkzww9icxfo8kpoi.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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183087/rss" title="simonwillison.net" style=" color: #3366aa;    font-size: 1.05em;"&gt;Pretext: A Multiline Text Measurement and Layout Library&lt;/a&gt;&lt;/span&gt; — Cheng Lou, formerly a React core team member, caused a stir with &lt;a href="https://javascriptweekly.com/link/183088/rss" style=" color: #3366aa;   "&gt;this X post&lt;/a&gt; three days ago, racking up 22M impressions and getting 25k stars on &lt;a href="https://javascriptweekly.com/link/183089/rss" style=" color: #3366aa;   "&gt;this repo&lt;/a&gt; since. Why? People are &lt;em&gt;very&lt;/em&gt; excited about the potential for real time web layouts! There are &lt;a href="https://javascriptweekly.com/link/183090/rss" style=" color: #3366aa;   "&gt;demos here&lt;/a&gt; if you want to see what the excitement is about, although the library itself is reasonably straightforward.&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183062/rss" title="try.expo.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;GitHub Actions 🤝Expo CI/CD Workflows&lt;/a&gt;&lt;/span&gt; — Keep GitHub Actions. Add Expo Workflows for mobile: M4 Pro builds, E2E tests, OTA. Let each tool handle what it’s best at.&lt;/p&gt;
  &lt;p&gt;Expo &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183063/rss" title="knip.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;Knip v6: The Tool to Declutter Your JS/TS Projects&lt;/a&gt;&lt;/span&gt; — &lt;a href="https://javascriptweekly.com/link/183064/rss" style=" color: #3366aa;   "&gt;Knip&lt;/a&gt; is a &lt;em&gt;go-to&lt;/em&gt; tool for finding and removing unused files, exports, and dependencies in projects. v6 integrates &lt;em&gt;oxc&lt;/em&gt; for 2-4x performance gains (it tears through &lt;em&gt;Astro&lt;/em&gt; in two seconds) and is largely a drop-in upgrade.&lt;/p&gt;
  &lt;p&gt;Lars Kappert &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183065/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;ArtPlayer: A Modern, Full-Featured HTML5 Video Player&lt;/a&gt;&lt;/span&gt; — A straightforward way to get your own heavily-customizable YouTube-style player experience. There’s &lt;a href="https://javascriptweekly.com/link/183066/rss" style=" color: #3366aa;   "&gt;a full, live demo/playground&lt;/a&gt; showing it off.&lt;/p&gt;
  &lt;p&gt;Harvey Zhao &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/183067/rss" title="semiotic.nteract.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;Semiotic 3.0: React + D3 Data Visualization Framework&lt;/a&gt;&lt;/span&gt; — Does the basics well, but has some more unique offerings like &lt;a href="https://javascriptweekly.com/link/183068/rss" style=" color: #3366aa;   "&gt;choropleth maps&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/183069/rss" style=" color: #3366aa;   "&gt;Sankey diagrams&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/183070/rss" style=" color: #3366aa;   "&gt;flow maps&lt;/a&gt;, and &lt;a href="https://javascriptweekly.com/link/183071/rss" style=" color: #3366aa;   "&gt;violin plots&lt;/a&gt;, plus streaming data support.&lt;/p&gt;
  &lt;p&gt;nteract &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/183072/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/wvpr78nmzpjjo73nyorf.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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183072/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Heat.js 5.1&lt;/a&gt; &lt;em&gt;(above)&lt;/em&gt; – Generate heat maps, charts, and statistics to visualize date-based activity. Now with point/line chart support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183091/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;numpy-ts 1.2&lt;/a&gt; – NumPy implementation for TypeScript and JavaScript. Now at ~50% native performance and with Float16 support. (&lt;a href="https://javascriptweekly.com/link/183092/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Homepage&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183073/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;ts-blank-space 0.8&lt;/a&gt; – Pure JavaScript type-stripper using the TypeScript 6 parser.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183074/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;RxDB 17.0&lt;/a&gt; – Reactive NoSQL database for JS apps with local-first capabilities.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183075/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;filesize.js 11.0.15&lt;/a&gt; – Converts byte counts into human-readable file size strings.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;💳 &lt;a href="https://javascriptweekly.com/link/183076/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;React Stripe.js 6.0&lt;/a&gt; – Components for Stripe.js and Stripe Elements.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183077/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;css-select 7.0&lt;/a&gt; – CSS selector compiler and engine. Now ESM.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183078/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;ESLint Markdown Plugin 8.0&lt;/a&gt; – Lint Markdown with ESLint.&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 0px;  padding-left: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;⚡&lt;a href="https://javascriptweekly.com/link/183079/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Nimbalyst&lt;/a&gt;: Visual workspace for building with Claude Code &amp;amp; Codex. Manage sessions &amp;amp; tasks. Visually edit markdown, mockups, diagrams, code.&lt;/p&gt;
 
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183101/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Gauntlet AI Live Night School&lt;/a&gt; - Stop Shipping Slop: How to Verify AI Generated Code for Production Deployments (Virtual - 4/1)&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/183081/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/xcilxcd2tfzp8xwakvba.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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;JetBrains' Java/Kotlin IDE &lt;em&gt;IntelliJ IDEA&lt;/em&gt; now &lt;a href="https://javascriptweekly.com/link/183081/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;includes core JavaScript and TypeScript features for free&lt;/a&gt; (no &lt;em&gt;Ultimate&lt;/em&gt; subscription needed).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Vercel explains &lt;a href="https://javascriptweekly.com/link/183082/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;the work going on to make Next.js work better across cloud platforms.&lt;/a&gt; The &lt;em&gt;Adapter API&lt;/em&gt; provides a way for platforms to adjust apps to suit their environment. OpenNext, Netlify, Cloudflare, AWS Amplify, and Google Cloud are all on board.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤖 GitHub has announced, starting late April, data (including inputs and snippets) from Free/Pro/Pro+ Copilot users &lt;a href="https://javascriptweekly.com/link/183083/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;will be used, by default, to help train future AI models&lt;/a&gt;. You can opt out.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤖 A developer noticed &lt;a href="https://javascriptweekly.com/link/183084/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Copilot edited an 'ad' into one of his PRs!&lt;/a&gt; GitHub's Martin Woodward &lt;a href="https://javascriptweekly.com/link/183085/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;explained (on &lt;em&gt;X&lt;/em&gt;) why it happened&lt;/a&gt; and said the 'feature' has been disabled.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🔠 Looking for a new IDE font option? &lt;a href="https://javascriptweekly.com/link/183086/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;CodingFont&lt;/a&gt; lets you find your ideal choice &lt;em&gt;visually&lt;/em&gt; using a bracket-style faceoff. &lt;em&gt;Noto Sans Mono&lt;/em&gt; won for me – not one I'd considered before!&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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/779/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/779</guid>
    </item>
    <item>
      <title>TypeScript 6.0, Next.js 16.2, and a new Node.js runtime</title>
      <link>https://javascriptweekly.com/issues/778</link>
      <description>

  

    
    
    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;#​778 — March 24, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182712/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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 12px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/182654/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/dx6duhxflearlefqrpxf.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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182654/rss" title="devblogs.microsoft.com" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;Announcing TypeScript 6.0&lt;/a&gt;&lt;/span&gt; — Over six months in the making, TypeScript 6.0 is designed to bridge the gap between its self-hosted &lt;a href="https://javascriptweekly.com/link/182655/rss" style=" color: #3366aa;   "&gt;compiler&lt;/a&gt; and the (almost ready) &lt;a href="https://javascriptweekly.com/link/182656/rss" style=" color: #3366aa;   "&gt;Go-powered native compiler of TypeScript 7.0&lt;/a&gt; . There &lt;em&gt;are&lt;/em&gt; new features (Temporal improvements, &lt;code&gt;RegExp.escape&lt;/code&gt;, and more), but most important are the changes to help you prepare for 7.0:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://javascriptweekly.com/link/182657/rss" style=" color: #3366aa;   "&gt;Numerous default changes&lt;/a&gt;: &lt;code&gt;strict&lt;/code&gt; is now &lt;code&gt;true&lt;/code&gt;, &lt;code&gt;module&lt;/code&gt; is &lt;code&gt;esnext&lt;/code&gt;, &lt;code&gt;rootDir&lt;/code&gt; defaults to &lt;code&gt;.&lt;/code&gt;, and more.&lt;/li&gt;
&lt;li&gt;A change that will affect many apps is &lt;code&gt;types&lt;/code&gt; defaulting to &lt;code&gt;[]&lt;/code&gt; rather than pulling in everything from &lt;code&gt;node_modules/@types&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Numerous &lt;em&gt;deprecations&lt;/em&gt;: the &lt;code&gt;es5&lt;/code&gt; target, &lt;a href="https://javascriptweekly.com/link/182658/rss" style=" color: #3366aa;   "&gt;emitting AMD, UMD, and SystemJS&lt;/a&gt; modules, &lt;a href="https://javascriptweekly.com/link/182659/rss" style=" color: #3366aa;   "&gt;&lt;code&gt;--baseUrl&lt;/code&gt;&lt;/a&gt;, and others.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--stableTypeOrdering&lt;/code&gt; makes 6.0's type ordering behavior match 7.0's to help diagnose inference differences as you update.&lt;/li&gt;
&lt;/ul&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  &lt;a href="https://javascriptweekly.com/link/182653/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/aff2eb90.png" width="143" 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/182653/rss" title="developer.mescius.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Add Excel-like Spreadsheet Functionality to Your JavaScript Apps&lt;/a&gt;&lt;/span&gt; — SpreadJS is the industry-leading JavaScript spreadsheet for adding advanced spreadsheet features to your enterprise apps. Build finance, analysis, budget, and other apps. Excel I/O, 500+ calc functions, tables, charts, and more. &lt;a href="https://javascriptweekly.com/link/182653/rss" style=" color: #3366aa;   "&gt;View demos now&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;SpreadJS from MESCIUS inc &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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;🤖 The Node.js community is wrestling with the role that LLM-produced code should play in its implementation, with the once creator of the &lt;em&gt;io.js&lt;/em&gt; fork &lt;a href="https://javascriptweekly.com/link/182660/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;starting a petition to say 'no' to contributions built with AI assistance.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A large number of &lt;a href="https://javascriptweekly.com/link/182661/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Deno&lt;/a&gt; employees announced (&lt;a href="https://javascriptweekly.com/link/182662/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;e.g.&lt;/a&gt;) they were departing the company last week. Deno employee Josh Collinsworth, &lt;em&gt;not&lt;/em&gt; speaking for the company, &lt;a href="https://javascriptweekly.com/link/182663/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;noted&lt;/a&gt; &lt;em&gt;"Deno is not going away. These are just hard times."&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📗 &lt;a href="https://javascriptweekly.com/link/182664/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Chibivue&lt;/a&gt; is a code project and associated online book that provides, and explains how to build for yourself, a minimal Vue.js implementation.&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182665/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Next.js 16.2&lt;/a&gt; – The React framework gets much faster &lt;code&gt;next dev&lt;/code&gt; startup and ~50% faster rendering.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182667/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Storybook 10.3.0&lt;/a&gt; – The component workshop adds Vite 8, Next.js 16.2, and ESLint 10 support, plus a preview of an MCP server for React dev.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;⚠️ All maintained Node.js versions &lt;a href="https://javascriptweekly.com/link/182668/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;are due security releases&lt;/a&gt; later &lt;em&gt;today&lt;/em&gt; to address nine vulnerabilities.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182669/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Deno 2.7.6&lt;/a&gt; – &lt;code&gt;deno eval&lt;/code&gt; auto-detects CJS vs ESM, and &lt;code&gt;--cpu-prof-flamegraph&lt;/code&gt; generates interactive SVG flamegraphs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182670/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Bun 1.3.11&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/182671/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Valibot 1.3&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/182672/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;ESLint 10.1&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/182673/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/kajshdtprmih95p8dxgb.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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182673/rss" title="43081j.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;The Three Pillars of JavaScript Bloat&lt;/a&gt;&lt;/span&gt; — Three reasons your &lt;code&gt;node_modules&lt;/code&gt; is huge: needless ES3-era compat packages, micro-libraries with a single consumer, and &lt;a href="https://javascriptweekly.com/link/182674/rss" style=" color: #3366aa;   "&gt;ponyfills&lt;/a&gt; for APIs that shipped years ago! James, known for the &lt;a href="https://javascriptweekly.com/link/182675/rss" style=" color: #3366aa;   "&gt;e18e&lt;/a&gt; ecosystem performance project, offers some ways to calm the chaos.&lt;/p&gt;
  &lt;p&gt;James Garbutt &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182676/rss" title="www.openui.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;How Rewriting a Rust and WASM-Powered Parser in TypeScript Made it &lt;em&gt;Faster&lt;/em&gt;&lt;/a&gt;&lt;/span&gt; — A counterintuitive result on the surface, but the WASM-JS boundary can introduce a serious performance penalty for many use cases, such that it can be 2-4x quicker to stay in the JS world.&lt;/p&gt;
  &lt;p&gt;Thesys Engineering 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182677/rss" title="go.clerk.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Clerk Auth for Chrome Extensions — Now in Vanilla JS&lt;/a&gt;&lt;/span&gt; — The Chrome Extension SDK now supports vanilla JS via createClerkClient(). Build popups and side panels without React. New quickstart included.&lt;/p&gt;
  &lt;p&gt;Clerk &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182678/rss" title="blog.platformatic.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;A React SSR Framework Performance Showdown&lt;/a&gt;&lt;/span&gt; — A large benchmark of TanStack Start, React Router, and Next.js under heavy load. The results led to patches benefitting both TanStack and React generally.&lt;/p&gt;
  &lt;p&gt;Matteo Collina (Platformatic) &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182679/rss" title="dev.to" style=" color: #3366aa;    font-size: 1.05em;"&gt;Two React Design Choices Developers Don’t Like, But Can’t Avoid&lt;/a&gt;&lt;/span&gt; — Deferred state commits and dependency arrays on effects cause a lot of issues, but Ryan points out that signal-based alternatives (like Solid) only avoid them by staying synchronous.&lt;/p&gt;
  &lt;p&gt;Ryan Carniato &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/182680/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;JavaScript Thinks Everything's a Date&lt;/a&gt; – This is why we celebrate the progress of the Temporal API! &lt;cite&gt;Robert Gambee&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/182681/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;An Introductory Guide to Bookmarklets&lt;/a&gt; – Tiny bits of JavaScript saved in, and triggered by, bookmarks. &lt;cite&gt;Declan Chidlow&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📺 &lt;a href="https://javascriptweekly.com/link/182682/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;How to Burn $30M on a JavaScript Framework&lt;/a&gt; – A five-minute retrospective of 2012’s &lt;code&gt;famo.us&lt;/code&gt; project. &lt;cite&gt;Fireship&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/182683/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Node.js Worker Threads are Problematic, But They Work Great for Us&lt;/a&gt;  &lt;cite&gt;Aaron Harper (Inngest)&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182684/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;pnpm 11 Beta 0: A Sneak Peek&lt;/a&gt;&lt;/span&gt; — The &lt;a href="https://javascriptweekly.com/link/182685/rss" style=" color: #3366aa;   "&gt;efficiency-focused npm alternative&lt;/a&gt; continues its outsized impact on JS package management. It's moving to a SQLite-powered store, gets a configuration overhaul, and has stricter build security by default. Four new commands, too, including &lt;code&gt;pnpm sbom&lt;/code&gt; for generating Software Bill of Materials JSON documents.&lt;/p&gt;
  &lt;p&gt;pnpm contributors &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182686/rss" title="wasmer.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;Edge.js: Running Node Apps Inside a WebAssembly Sandbox&lt;/a&gt;&lt;/span&gt; — A new, in-alpha runtime that maintains full Node compatibility while offering isolation via WebAssembly. Existing apps/modules run unmodified with system calls sandboxed, and the JS engine used is pluggable (between V8, JavaScriptCore and QuickJS). &lt;a href="https://javascriptweekly.com/link/182687/rss" style=" color: #3366aa;   "&gt;More info on the homepage&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Syrus Akbary (Wasmer) &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182688/rss" title="wallabyjs.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Breakpoints and &lt;code&gt;console.log&lt;/code&gt; Is the Past, Time Travel Is the Future&lt;/a&gt;&lt;/span&gt; — 15x faster JavaScript debugging than with breakpoints and console.log, supports Vitest, Jest, Karma, Jasmine, and more.&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-top: 1px; padding-right: 4px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182689/rss" title="www.arrow-js.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;ArrowJS 1.0: Fast, Reactive UI Runtime Built on Platform Primitives&lt;/a&gt;&lt;/span&gt; — Built around ES modules, template literals and the DOM, it can also isolate component logic inside WASM sandboxes while rendering full inline DOM directly. First unveiled in 2022 by the creator of &lt;a href="https://javascriptweekly.com/link/182690/rss" style=" color: #3366aa;   "&gt;FormKit&lt;/a&gt;, it's now clearly finding its feet.&lt;/p&gt;
  &lt;p&gt;Justin Schroeder &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182691/rss" title="sugar-high.vercel.app" style=" color: #3366aa;    font-size: 1.05em;"&gt;Sugar High 1.0: A Lightweight JSX Syntax Highlighter&lt;/a&gt;&lt;/span&gt; — Doesn’t need React present, so you can use it for syntax highlighting JSX snippets anywhere. You can also theme it with CSS. &lt;a href="https://javascriptweekly.com/link/182692/rss" style=" color: #3366aa;   "&gt;GitHub repo&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Jiachi Liu &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182695/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;htmlparser2 12.0&lt;/a&gt; – Fast, forgiving HTML and XML parser focused on performance. Works both server-side and in the browser.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🔊 &lt;a href="https://javascriptweekly.com/link/182693/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;vue-audio-visual 3.1&lt;/a&gt; – Vue 3 HTML5 audio visualization components using the Web Audio API. Check out &lt;a href="https://javascriptweekly.com/link/182694/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;the demos.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182696/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Svelte SEO 2.1&lt;/a&gt; – Optimize Svelte apps for search engines/social media with meta tags, Open Graph, and JSON-LD.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182697/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;&lt;code&gt;pnpm/action-setup&lt;/code&gt; 5.0&lt;/a&gt; – GitHub Action to install and configure &lt;a href="https://javascriptweekly.com/link/182685/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;pnpm&lt;/a&gt;. Now uses Node.js v24.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;☎︎ &lt;a href="https://javascriptweekly.com/link/182698/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;vue-tel-input v9.8.0&lt;/a&gt; – Vue component for global phone number input. (&lt;a href="https://javascriptweekly.com/link/182699/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Demo.&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182700/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Mediabunny 1.40.0&lt;/a&gt; – Powerful toolkit for reading/writing/converting media files.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🗓️ &lt;a href="https://javascriptweekly.com/link/182701/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;EventCalendar 5.5&lt;/a&gt; – Full-sized drag and drop event calendar.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182703/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Maz UI 4.9&lt;/a&gt; – Lightweight UI components for Vue 3 and Nuxt 3.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182704/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;React Joyride 3.0&lt;/a&gt; – Create guided tours in React apps.&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 0px;  padding-left: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;Flaky tests slowing down dev? &lt;a href="https://javascriptweekly.com/link/182705/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Meticulous&lt;/a&gt; gives engineers confidence to ship faster by autonomously testing every edge case of your web app.&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/182706/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/iygpyy7l0o5z8lvfh6b2.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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The Microsoft Visual Studio Code team &lt;a href="https://javascriptweekly.com/link/182706/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;shares how they use AI to work on VS Code&lt;/a&gt;, from organizing their work and handling issues, to pushing out new releases. If you've noticed VS Code is getting a release every week now, this is why!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🔒 Perhaps more than ever, it's essential to ensure no secrets have sneaked into your repos. &lt;a href="https://javascriptweekly.com/link/182707/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Secretlint&lt;/a&gt; is a linter dedicated to that task.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Back in 1989, Rob Pike, famous for his work on both the Go programming language and co-creating UTF-8, wrote &lt;a href="https://javascriptweekly.com/link/182708/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Rob Pike's 5 Rules of Programming&lt;/a&gt; which has gone viral this week and still apply in 2026!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤖 &lt;a href="https://javascriptweekly.com/link/182709/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Addy Osmani introduces us to &lt;em&gt;comprehension debt&lt;/em&gt;&lt;/a&gt;. In a world of agent-produced code, the question is now not &lt;em&gt;“how do we generate more code?”&lt;/em&gt; but &lt;em&gt;“how do we actually understand more of what we’re shipping?”&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt; Dislike all the menu icons that macOS 26 (Tahoe) has introduced? &lt;a href="https://javascriptweekly.com/link/182710/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;There's a solution&lt;/a&gt;: &lt;code&gt;defaults write -g NSMenuEnableActionImages -bool NO&lt;/code&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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/778/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 24 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/778</guid>
    </item>
    <item>
      <title>It’s about time: Temporal advances, Vite accelerates</title>
      <link>https://javascriptweekly.com/issues/777</link>
      <description>

  

    
    
    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;#​777 — March 17, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182279/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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 12px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/182337/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/vpspjotfzjret41fw9u7.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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182337/rss" title="bloomberg.github.io" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;Temporal: The 9-Year Journey to Fix Time in JavaScript&lt;/a&gt;&lt;/span&gt; — JavaScript’s date/time handling is notoriously &lt;a href="https://javascriptweekly.com/link/182338/rss" style=" color: #3366aa;   "&gt;messy&lt;/a&gt; and libraries like &lt;a href="https://javascriptweekly.com/link/182339/rss" style=" color: #3366aa;   "&gt;Moment.js&lt;/a&gt; became popular as a way to work around it. In 2017, Maggie Johnson-Pint, a maintainer of Moment.js, proposed the &lt;a href="https://javascriptweekly.com/link/182340/rss" style=" color: #3366aa;   "&gt;Temporal API&lt;/a&gt; to fix date/time handling for good, and we’re &lt;em&gt;mostly there&lt;/em&gt; (&lt;a href="https://javascriptweekly.com/link/182341/rss" style=" color: #3366aa;   "&gt;support is growing&lt;/a&gt;, with Safari and Node to catch up).&lt;/p&gt;
  &lt;p&gt;Jason Williams (Bloomberg) &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  &lt;a href="https://javascriptweekly.com/link/182280/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/88249823.png" width="125" height="125" 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/182280/rss" title="" style=" color: #3366aa;    font-size: 1.05em;"&gt;Still Writing Tests Manually? Meticulous AI Is Here&lt;/a&gt;&lt;/span&gt; — Notion, Dropbox, Wiz and LaunchDarkly now use a testing paradigm they can’t work without. Built by former Palantir engineers, Meticulous automatically creates an evolving suite of E2E UI tests, delivering exhaustive coverage with no 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-top: 1px; padding-right: 4px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182281/rss" title="vite.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;Vite 8.0 Released&lt;/a&gt;&lt;/span&gt; — A mega release for the popular build tool. Designed to be a smooth upgrade, there’s a &lt;em&gt;lot&lt;/em&gt; behind the scenes: &lt;code&gt;@vitejs/plugin-react&lt;/code&gt; v6 no longer needs Babel, &lt;a href="https://javascriptweekly.com/link/182282/rss" style=" color: #3366aa;   "&gt;Rolldown&lt;/a&gt; replaces Rollup and esbuild, Wasm SSR support, browser console forwarding to the terminal, and big performance gains.&lt;/p&gt;
  &lt;p&gt;Vite &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;&lt;p&gt;💡 VoidZero has also &lt;a href="https://javascriptweekly.com/link/182283/rss" style=" color: #3366aa; font-weight: 600;"&gt;open sourced its &lt;em&gt;Vite+&lt;/em&gt; toolkit.&lt;/a&gt; Originally intended to be a commercial project, Vite+ combines Vite, Vitest, Oxlint, Oxfmt, Rolldown, and tsdown into a single, unified toolchain, and it's now in alpha.&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182284/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Sarah Gooding rounds up last week's TC39 meeting&lt;/a&gt; and the proposals that advanced there, including Temporal, &lt;a href="https://javascriptweekly.com/link/182285/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Import Text&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/182286/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Error Stack Accessor&lt;/a&gt;, and &lt;a href="https://javascriptweekly.com/link/182287/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Iterator Includes&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;😆 &lt;code&gt;BigInt.PI = 3&lt;/code&gt;? Enjoy &lt;em&gt;qntm&lt;/em&gt;'s tongue-in-cheek &lt;a href="https://javascriptweekly.com/link/182288/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;proposal to add mathematical constants to &lt;code&gt;BigInt&lt;/code&gt;.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Laurent Cazanove &lt;a href="https://javascriptweekly.com/link/182342/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;rounds up what was announced&lt;/a&gt; at last week's &lt;a href="https://javascriptweekly.com/link/182343/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Vue.js Amsterdam&lt;/a&gt; conference, including Vue Router 5, Vite 8, and &lt;a href="https://javascriptweekly.com/link/182344/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Void Cloud.&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182289/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Electron 41.0&lt;/a&gt; – The cross-platform desktop app framework adds ASAR Integrity digest and MSIX auto-updating support, improves Wayland support, and updates to Chromium 146, Node v24.14.0, and V8 14.6.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182290/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Nitro v3 Beta&lt;/a&gt; – Extend your Vite app with a production-ready server, compatible with any runtime. Handy if you want to try building your own framework!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182291/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Vitest 4.1&lt;/a&gt; – Next-gen testing framework, now supporting Vite 8.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182292/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Preact 10.29.0&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/182293/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Prisma 7.5.0&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/182294/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Babel 8.0 RC3&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/182295/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Vue 3.6.0 Beta 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182297/rss" title="bloomberg.github.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;Source Maps: Shipping Features Through Standards&lt;/a&gt;&lt;/span&gt; — &lt;a href="https://javascriptweekly.com/link/182298/rss" style=" color: #3366aa;   "&gt;Source maps&lt;/a&gt; are JSON files that provide debuggers and similar tools with a mapping between minified/transformed code and the original codebase. Jon gives us a tour and takes us behind the scenes of how the feature has progressed towards becoming a standard (&lt;a href="https://javascriptweekly.com/link/182299/rss" style=" color: #3366aa;   "&gt;ECMA-426&lt;/a&gt;).&lt;/p&gt;
  &lt;p&gt;Jon Kuperman (Bloomberg) &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182296/rss" title="strawberrybrowser.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;How we Rewrote 130K Lines from React to Svelte in Two Weeks&lt;/a&gt;&lt;/span&gt; — A common adage in recent months has been that the use of LLMs and coding agents could lock us into using only the most popular frameworks, but in reality they also make &lt;em&gt;switching between frameworks&lt;/em&gt; easier than ever before.&lt;/p&gt;
  &lt;p&gt;Strawberry &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182300/rss" title="www.tigerdata.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Your Slowest Endpoint Is Probably an Analytics Query&lt;/a&gt;&lt;/span&gt; — TimescaleDB extends Postgres so analytics queries stay fast at scale. Hypertables, 95% compression, live data. &lt;a href="https://javascriptweekly.com/link/182300/rss" style=" color: #3366aa;   "&gt;Start for free&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Tiger Data (creators of TimescaleDB) &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182301/rss" title="svelte.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;Best Practices for Svelte Developers&lt;/a&gt;&lt;/span&gt; — A brand new page in the Svelte docs that outlines some best practices for writing more robust Svelte apps.&lt;/p&gt;
  &lt;p&gt;Svelte Docs &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182302/rss" title="stackinsight.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;An Empirical Study of Frontend Memory Leaks&lt;/a&gt;&lt;/span&gt; — Analysis of five hundred React, Vue and Angular apps for patterns that lead to memory leaks. Missing timer cleanups and event listener removals cause the majority of problems.&lt;/p&gt;
  &lt;p&gt;Ko-Hsin Liang &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182303/rss" title="ifandelse.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Rewriting a 12-Year-Old JavaScript Library in TypeScript&lt;/a&gt;&lt;/span&gt; — Specifically, the &lt;a href="https://javascriptweekly.com/link/182304/rss" style=" color: #3366aa;   "&gt;Machina&lt;/a&gt; finite state machine library.&lt;/p&gt;
  &lt;p&gt;Jim Cowart &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/182305/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Lies I Was Told About Collaborative Editing: Why We Don't Use Yjs&lt;/a&gt;  &lt;cite&gt;Alex Clemmer&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;▶️ &lt;a href="https://javascriptweekly.com/link/182306/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Breaking and Securing OAuth 2.0 in Frontends&lt;/a&gt;  &lt;cite&gt;Philippe De Ryck&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/182307/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;How I Added Bluesky Likes to My Astro Blog&lt;/a&gt;  &lt;cite&gt;Luciano Mammino&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/182308/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Why Node.js Needs a Virtual File System&lt;/a&gt; &lt;cite&gt;Matteo Collina&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/182309/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Native JSON Modules Are Finally Real&lt;/a&gt;  &lt;cite&gt;Matt Smith&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182310/rss" title="nuxt.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Nuxt 4.4: The Full-Stack Vue Framework&lt;/a&gt;&lt;/span&gt; — The full-stack Vue framework that includes routing (now powered by Vue Router v5), server-side rendering, and data fetching out of the box now adds custom &lt;code&gt;useFetch&lt;/code&gt;/&lt;code&gt;useAsyncData&lt;/code&gt; factories, typed layout props, build profiling, and more.&lt;/p&gt;
  &lt;p&gt;Daniel Roe and the Nuxt 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182311/rss" title="revealjs.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Reveal.js 6.0: The HTML Presentation Framework&lt;/a&gt;&lt;/span&gt; — A long-standing way to bring elegant presentations to anyone with a browser. &lt;a href="https://javascriptweekly.com/link/182312/rss" style=" color: #3366aa;   "&gt;v6.0&lt;/a&gt; has some breaking changes, switches to Vite, and introduces an official React wrapper.&lt;/p&gt;
  &lt;p&gt;Hakim El Hattab &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182313/rss" title="try.expo.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;40-60% of Your Mobile Builds Don't Need to Happen&lt;/a&gt;&lt;/span&gt; — Expo Workflows is mobile CICD that detects whether your changes touch native code and skips the builds you don't need.&lt;/p&gt;
  &lt;p&gt;Expo Workflows &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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/182314/rss" title="rwsdk.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;RedwoodSDK 1.0 Released: The Cloudflare-Native React Framework&lt;/a&gt;&lt;/span&gt; — A server-first React framework, built as a Vite plugin, that integrates deeply with the Cloudflare platform (&lt;a href="https://javascriptweekly.com/link/182315/rss" style=" color: #3366aa;   "&gt;why?&lt;/a&gt;) and its provision of workers, databases (D1), durable objects, storage (R2), AI APIs, etc.&lt;/p&gt;
  &lt;p&gt;Peter Pistorius &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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182316/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Defuddle 0.14.0&lt;/a&gt; – Get the main content of a page as Markdown. A modern implementation of the ideas behind Mozilla’s &lt;a href="https://javascriptweekly.com/link/182317/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Readability&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182318/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Extension.js 3.9&lt;/a&gt; – Framework for developing fast, unified cross-browser extensions with zero configuration.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182319/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;React Native Sandbox 0.5&lt;/a&gt; – Run multiple, isolated RN instances within an app.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182320/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;XO 2.0&lt;/a&gt; – Opinionated, configurable ESLint 10 wrapper with &lt;em&gt;'lots of goodies'.&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182321/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Poku 4.1&lt;/a&gt; – Cross-platform test runner that supports Node, Bun, and Deno.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182322/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;sax js 1.6&lt;/a&gt; – SAX-style streaming XML parser for Node and browsers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📺 &lt;a href="https://javascriptweekly.com/link/182323/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;YouTube.js 17.0&lt;/a&gt; – JavaScript client for YouTube's private API.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182324/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Svelte SPA Router 5.0&lt;/a&gt; – A router for Svelte 5 single-page apps.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📃 &lt;a href="https://javascriptweekly.com/link/182325/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;PDFKit 0.18&lt;/a&gt; – PDF generation library for Node and browsers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182326/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Cypress ESLint Plugin v6.2.0&lt;/a&gt; – ESLint plugin for &lt;a href="https://javascriptweekly.com/link/182327/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Cypress&lt;/a&gt; tests.&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 0px;  padding-left: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;🌷 &lt;a href="https://javascriptweekly.com/link/182328/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;JSNation - Amsterdam &amp;amp; Online&lt;/a&gt; - This June, catch the latest trends in modern Web development from the people shaping its present &amp;amp; future.&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/182329/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/k9xy1phwtccll1e7qy4n.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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;📈 In &lt;a href="https://javascriptweekly.com/link/182329/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;The 49MB Web Page&lt;/a&gt;, Shubham Bose expresses surprise at finding that loading a single &lt;em&gt;NY Times&lt;/em&gt; page results in 422 network requests and 49 megabytes of data transferred. He reflects on the problems that have led to this being a common experience on news sites.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182331/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Difftastic&lt;/a&gt; is a handy tool to diff code files based on &lt;em&gt;syntax&lt;/em&gt;. It &lt;a href="https://javascriptweekly.com/link/182332/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;supports most popular languages&lt;/a&gt; including JavaScript and TypeScript.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/182333/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;VS Code 1.111 has been released&lt;/a&gt;. It's notable as being the first release in VS Code's new weekly stable release cadence.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Amazon S3 has introduced &lt;a href="https://javascriptweekly.com/link/182334/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;account regional namespaces for S3 buckets&lt;/a&gt;, a feature that will help prevent so-called '&lt;a href="https://javascriptweekly.com/link/182335/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;bucketsquatting&lt;/a&gt;'.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🎂 &lt;strong&gt;Feeling old yet?&lt;/strong&gt; Sticking with S3, Amazon's Sébastien Stormacq reflects on the ubiquitous &lt;a href="https://javascriptweekly.com/link/182336/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;AWS S3 cloud storage system turning 20 years old.&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-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; 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/777/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/777</guid>
    </item>
  </channel>
</rss>
