CINXE.COM

JavaScript Weekly Issue 730: April 4, 2025

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JavaScript Weekly Issue 730: April 4, 2025</title> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="stylesheet" href="/css/app.css"> <link rel="alternate" type="application/rss+xml" title="JavaScript Weekly" href="/rss/"> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap" rel="stylesheet"> <link rel="shortcut icon" href="/favicon.png"> <meta name="facebook-domain-verification" content="lml32j8e8q00yrgpg4hs968ah31mxv" /> </head> <body class="jw dom dom-jw issues 730 issue jw issue"> <header class="contained"> <nav> <div class="sitename" style="cursor: pointer" onclick="window.location.href='/'"><a href="/">JavaScript Weekly</a></div> <div class="items"> <a href="/issues" class="issues">Archives</a><span class="divider">|</span> <a href="/latest" class="latest">Latest</a><span class="nomobile"><span class="divider">|</span> <a href="/rss/">RSS</a></span> </div> </nav> </header> <main> <section class="contained"> <div class="nomobile"> <div class="subscribe_box" class=""> <form class="subscribe" action="/subscribe" method="POST"> <input type="email" placeholder="Want to subscribe? Enter your address here" class="email" name="yemail" id="email" /><button class="awesome" type="submit">Subscribe now &raquo;</button> <div class="smallprint">Easy to unsubscribe at any time. Your e-mail address <a href="https://cooperpress.com/spam.html">is safe</a> &mdash; here's <a href="https://cooperpress.com/legal/privacy/">our privacy policy.</a></div> <input type="hidden" name="_csrf" value="WHEPDNoGPmKw-WH4JYWdOWR0_XtQQCyOA8wUwXZMDEg" /> </form> </div> </div> <div class="pager"> <div class="prev"> <a href="/issues/729">&laquo; Prev</a> </div> <div class="center"> <!-- Issue 730 --> </div> <div class="next"> </div> </div> <div class="issue-html"> <!--[if (gte mso 9)|(IE)]> <table cellpadding="0" cellspacing="0" align="center" bgcolor="#ffffff" width="600"><tr><td valign="top" style="width: 600px;" bgcolor="#ffffff"><![endif]--> <table align="center" border="0" cellpadding="0" cellspacing="0" id="main" width="100%" style="table-layout: fixed; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; max-width: 600px; height: 100% !important; direction: ltr; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;"> <tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse;"> <div id="content"> <!-- left/right splitbar --> <table class="el-splitbar" width="100%" cellpadding="0" cellspacing="0" style="border-collapse: collapse;"><tr> <td width="50%" align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse;"><p style="font-size: 12px; color: #999999; text-transform: uppercase; line-height: 1.0em; margin-top: 0.8em; margin-bottom: 0.8em;">#​730 — April 4, 2025</p></td> <td width="50%" align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse;"><p style="font-size: 12px; text-transform: uppercase; line-height: 1.0em; margin-top: 0.8em; margin-bottom: 0.8em;"><a target="_blank" href="https://javascriptweekly.com/link/167721/web" style="text-decoration: none; color: #3366aa;">Read on the Web</a></p></td> </tr></table> <table class="norss" id="together" width="100%" align="center" style="text-align: center; border-collapse: collapse; margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0;"> <tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0;"> <table align="center" style="margin-top: 4px; margin-bottom: 4px; border-collapse: collapse;"> <tr> <td style="vertical-align: middle; text-align: right; text-transform: uppercase; letter-spacing: -0.2px; font-weight: 500; color: #222; font-size: 0.9em; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; line-height: 1.48em; border-collapse: collapse;">Together with </td> <td style="vertical-align: middle; text-align: left; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse;"> <a target="_blank" href="https://javascriptweekly.com/link/167722/web" style="outline: none; text-decoration: none; color: #3366aa; border-top-width: 0; border-right-width: 0; border-bottom-width: 0; border-left-width: 0;"> <img src="https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_1280,h_326/e_make_transparent/co_white,e_outline:17/ak1lyph26nvgpusvrxli.png" style="max-width: 120px; outline: none; height: auto; text-decoration: none; line-height: 100%; border-top-width: 0; border-right-width: 0; border-bottom-width: 0; border-left-width: 0;" width="120" alt="AG Grid"> </a> </td> </tr> </table> </td></tr> </table> <table width="100%" cellpadding="0" cellspacing="0" style="border-collapse: collapse;"><tr><td style="height: 6px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse;"></td></tr></table> <!-- masthead --> <table width="100%" cellpadding="0" cellspacing="0" style="background-color: #f7df1e; text-align: center; color: #222; border-collapse: collapse;" class="el-masthead"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0; padding-right: 12px; padding-bottom: 0; padding-left: 12px;"><p style="font-size: 1.8em; font-weight: 600; line-height: 1.0em; margin-top: 0.8em; margin-bottom: 0.8em;">JavaScript Weekly</p></td></tr></table> <table width="100%" class="el-fullwidthimage " cellpadding="0" cellspacing="0" style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse;"> <a target="_blank" href="https://javascriptweekly.com/link/167723/web" style="text-decoration: none; color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/zrjritl9kpke8jupbwjx.jpg" alt="" width="640" style="outline: none; height: auto; text-decoration: none; max-width: 100%; line-height: 100%; width: 100%; border-bottom-color: #f7df1e; border-bottom-style: solid; border-top-width: 0; border-right-width: 0; border-bottom-width: 3px; border-left-width: 0;"></a> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="el-item item " ok style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p class="desc" style="color: #222; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/167723/web" title="bare.pears.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.1em; line-height: 1.4em;">Bare: A New Lightweight Runtime for Modular JS Apps</a></span> — Imagine something like Node.js but really stripped back: <em>bare</em>, if you will. Like Node, it’s built on top of V8 and libuv (though it's designed to support multiple JavaScript engines) but Bare’s approach is to provide as little as possible (a module system, addon system, and thread support) and then rely upon userland modules that can evolve independently of Bare itself. It’s an interesting idea – <a target="_blank" href="https://javascriptweekly.com/link/167724/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">more details here.</a></p> <p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Holepunch </p> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="el-item item " ok style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p class="desc" style="color: #222; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/167725/web" title="deno.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">An Update on the Deno v Oracle JavaScript™ Fight</a></span> — Deno filed a petition with the USPTO to <a target="_blank" href="https://javascriptweekly.com/link/167726/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">cancel the 'JavaScript' trademark</a>, as claimed by Oracle, and Oracle stepped up to fight back. Ryan recaps the basic story and asks for help to get the word out (<a target="_blank" href="https://javascriptweekly.com/link/167726/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">signing the open letter</a> is a great start, if you agree Oracle abandoned the trademark).</p> <p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Ryan Dahl </p> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="el-item item " ok style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <a target="_blank" target="_blank" href="https://javascriptweekly.com/link/167722/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;"><img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/de3c92bd.png" width="150" height="150" style="padding-top: 12px; padding-left: 12px; outline: none; height: auto; text-decoration: none; max-width: 100%; line-height: 100%; border-top-width: 0; border-right-width: 0; border-bottom-width: 0; border-left-width: 0;" align="right" alt="" class="som"></a> <p class="desc" style="color: #222; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/167722/web" title="ag-grid.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">AG Grid: The Best JavaScript Data Grid In The World</a></span> — Create high-performance data grids with our open-source library, trusted by 90% of the Fortune 500. Add advanced features like Integrated Charting, Grouping, Pivoting and more with a few lines of code. Supports React, Angular and Vue. <a target="_blank" href="https://javascriptweekly.com/link/167722/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">Try for free.</a></p> <p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">AG Grid <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; border-radius: 2px; background-color: #ffe; color: #993 !important; padding-top: 1px; padding-right: 4px; padding-bottom: 1px; padding-left: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #eee455; border-right-color: #eee455; border-bottom-color: #eee455; border-left-color: #eee455; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid;" class="tag-sponsor">sponsor</span></p> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="el-item item " ok style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p class="desc" style="color: #222; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/167727/web" title="github.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">React 19.1 Released</a></span> — The headline feature is <em>Owner Stacks</em>, a dev-only feature to track which components are responsible for rendering other components. 19.1 also brings fixes, small additions (like support for streaming in edge environments), <a target="_blank" href="https://javascriptweekly.com/link/167728/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">a new API for prerendering RSCs on the server</a>, and enhanced Suspense support. </p> <p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Matt Carroll (Facebook) </p> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="content el-md " style="border-collapse: collapse;" ok><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;"><strong style="font-weight: 600;">IN BRIEF:</strong></p> <ul style="margin-left: 0; padding-left: 18px; list-style-type: circle;"> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;"><a target="_blank" href="https://javascriptweekly.com/link/167729/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">Safari 18.4 has been released</a> with Declarative Web Push support, <a target="_blank" href="https://javascriptweekly.com/link/167730/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">iterator helpers</a>, <code style="background-color: #efc;">Error.isError</code>, and faster <code style="background-color: #efc;">JSON.parse</code> and <code style="background-color: #efc;">JSON.stringify</code> functions.</p> </li> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;">There's a <a target="_blank" href="https://javascriptweekly.com/link/167731/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">longstanding proposal to bring TS-style enums to JavaScript</a> and author Ron Buckton will be pitching it to TC39 at <a target="_blank" href="https://javascriptweekly.com/link/167732/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">its next meeting.</a> <a target="_blank" href="https://javascriptweekly.com/link/167733/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">Here's a slidedeck</a> covering the benefits. Thanks to Rob Palmer for highlighting this.</p> </li> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;">The <a target="_blank" href="https://javascriptweekly.com/link/167734/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">ES2025 spec</a> has reached candidate stage in anticipation of being finally approved in June.</p> </li> </ul> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="content el-md " style="border-collapse: collapse;" ok><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;"><strong style="font-weight: 600;">RELEASES:</strong></p> <ul style="margin-left: 0; padding-left: 18px; list-style-type: circle;"> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;"><a target="_blank" href="https://javascriptweekly.com/link/167735/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">Express 5.1</a> – The long standing Node.js web framework gets a bump with 5.x finally becoming the <code style="background-color: #efc;">latest</code> tagged version on npm.</p> </li> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;"><a target="_blank" href="https://javascriptweekly.com/link/167736/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">React Email 4.0</a> – Components and tools for rendering HTML emails.</p> </li> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;"><a target="_blank" href="https://javascriptweekly.com/link/167737/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">zx 8.5</a> – Google's tool for better Node shell scripting.</p> </li> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;"><a target="_blank" href="https://javascriptweekly.com/link/167738/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">Astro 5.6</a>, <a target="_blank" href="https://javascriptweekly.com/link/167739/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">Ember 6.3</a>, <a target="_blank" href="https://javascriptweekly.com/link/167740/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">Turborepo 2.5</a>, <a target="_blank" href="https://javascriptweekly.com/link/167741/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">Node.js v23.11.0</a>, <a target="_blank" href="https://javascriptweekly.com/link/167770/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">Bun v1.2.8</a></p> </li> </ul> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="el-heading" style="background-color: none !important; text-align: left; margin-top: 15px; color: #333333; border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0;"><p style="font-size: 1.6em !important; font-weight: 400 !important; text-transform: none !important; line-height: 1.4em; display: inline-block; border-bottom-width: 6px; border-bottom-style: solid; padding-bottom: 2px; border-bottom-color: #f7df1e; margin-top: 0.5em; margin-right: 0; margin-bottom: 0.5em; margin-left: 0;">📒 Articles &amp; Tutorials</p></td></tr></table> <table width="100%" class="el-fullwidthimage bordered" cellpadding="0" cellspacing="0" style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse;"> <a target="_blank" href="https://javascriptweekly.com/link/167742/web" style="text-decoration: none; color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/eiepfdgzjpkzvlt1v6ow.jpg" alt="" width="640" style="outline: none; height: auto; text-decoration: none; max-width: 100%; line-height: 100%; width: 100%; border-top-color: #ddd; border-top-style: solid; border-bottom-color: #ddd; border-bottom-style: solid; border-top-width: 3px; border-right-width: 0; border-bottom-width: 3px; border-left-width: 0;"></a> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="el-item item " ok style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p class="desc" style="color: #222; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/167742/web" title="deno.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Exploring Art with TypeScript, Jupyter, Polars, and Observable Plot</a></span> — One of <a target="_blank" href="https://javascriptweekly.com/link/167743/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">Deno’s</a> compelling features is its support for Jupyter Notebooks and easy <a target="_blank" href="https://javascriptweekly.com/link/167744/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">notebook-style</a> programming, such as is common in the Python world. Trevor looks at a practical use of using such a notebook environment for data exploration.</p> <p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Trevor Manz </p> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="el-item item " ok style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p class="desc" style="color: #222; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/167745/web" title="2ality.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Could JavaScript Have Synchronous <code style='font-family: menlo, monaco, "Ubuntu Mono", courier, monospace; font-weight: normal; background-color: inherit;'>await</code>?</a></span> — Dr. Axel reflects on the problems around async code being different to synchronous code and ways around the limitations faced. What could the consequences of a synchronous <code style="background-color: #efc;">await</code> be?</p> <p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Dr. Axel Rauschmayer </p> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="el-item item " ok style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p class="desc" style="color: #222; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/167746/web" title="sentry.io" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Hands-On Debugging Session: Instrument, Monitor, and Fix</a></span> — Build it, break it, debug it, and fix it — <i>with Sentry</i>. <a target="_blank" href="https://javascriptweekly.com/link/167746/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">See how to get set up</a>, track errors, use Session Replay and the new <a target="_blank" href="https://javascriptweekly.com/link/167747/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">Trace Explorer</a>, plus leverage AI to find and fix issues fast.</p> <p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Sentry <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; border-radius: 2px; background-color: #ffe; color: #993 !important; padding-top: 1px; padding-right: 4px; padding-bottom: 1px; padding-left: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #eee455; border-right-color: #eee455; border-bottom-color: #eee455; border-left-color: #eee455; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid;" class="tag-sponsor">sponsor</span></p> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="el-item item " ok style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p class="desc" style="color: #222; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/167748/web" title="thenewstack.io" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">JavaScript's Missing Link? Wasp Offers a Full Stack Solution</a></span> — A look at what the <a target="_blank" href="https://javascriptweekly.com/link/167749/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">Wasp</a> team is trying to do building a full-stack webapp framework around React, Node, and Prisma. It’s a powerful option if you’re looking for a more traditional-feeling full-stack approach.</p> <p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Loraine Lawson (The New Stack) </p> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="content el-md " style="border-collapse: collapse;" ok><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;">🚂 <a target="_blank" href="https://javascriptweekly.com/link/167750/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ccc; border-bottom-style: solid;">How a Steam Locomotive from 1993 Broke My Yarn Test</a> – A fun bug hunting tale that actually delivers on its title. <cite style="color: #444; text-transform: uppercase; font-size: 0.8em; font-style: normal; white-space: nowrap; line-height: 1.4em;">Yew Leong</cite></p> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;">📄 <a target="_blank" href="https://javascriptweekly.com/link/167751/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ccc; border-bottom-style: solid;">Breaking Down Circular Dependencies in JavaScript</a> <cite style="color: #444; text-transform: uppercase; font-size: 0.8em; font-style: normal; white-space: nowrap; line-height: 1.4em;">Bryan Braun</cite></p> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;">📄 <a target="_blank" href="https://javascriptweekly.com/link/167752/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ccc; border-bottom-style: solid;">Automated Visual Regression Testing with Playwright</a> <cite style="color: #444; text-transform: uppercase; font-size: 0.8em; font-style: normal; white-space: nowrap; line-height: 1.4em;">Frederik Dohr</cite></p> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;">📄 <a target="_blank" href="https://javascriptweekly.com/link/167753/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ccc; border-bottom-style: solid;">Lessons Learned From My First Dive Into WebAssembly</a> <cite style="color: #444; text-transform: uppercase; font-size: 0.8em; font-style: normal; white-space: nowrap; line-height: 1.4em;">Chris Wellons</cite></p> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="el-heading" style="background-color: none !important; text-align: left; margin-top: 15px; color: #333333; border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0;"><p style="font-size: 1.6em !important; font-weight: 400 !important; text-transform: none !important; line-height: 1.4em; display: inline-block; border-bottom-width: 6px; border-bottom-style: solid; padding-bottom: 2px; border-bottom-color: #f7df1e; margin-top: 0.5em; margin-right: 0; margin-bottom: 0.5em; margin-left: 0;">🛠 Code &amp; Tools</p></td></tr></table> <table width="100%" class="el-fullwidthimage " cellpadding="0" cellspacing="0" style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse;"> <a target="_blank" href="https://javascriptweekly.com/link/167771/web" style="text-decoration: none; color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/yptgatqbakzlqxfmtiqh.jpg" alt="" width="640" style="border-top-color: #dddddd; border-top-style: solid; border-bottom-color: #dddddd; border-bottom-style: solid; outline: none; height: auto; text-decoration: none; max-width: 100%; line-height: 100%; width: 100%; border-top-width: 3px; border-right-width: 0; border-bottom-width: 3px; border-left-width: 0;"></a> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="el-item item " style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p class="desc" style="color: #222; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/167771/web" title="animejs.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Anime.js 4.0: A JS Animation Library for the Web</a></span> — If you’re tired of Web animations, maybe Anime.js will refresh your appetite. This is <a target="_blank" href="https://javascriptweekly.com/link/167772/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">a major upgrade</a> to a mature library for animating CSS properties, <a target="_blank" href="https://javascriptweekly.com/link/167773/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">SVGs</a>, the DOM, and JS objects. It’s smooth, well-built, and now complete with <a target="_blank" href="https://javascriptweekly.com/link/167774/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">fresh documentation</a>.</p> <p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Julian Garner </p> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="el-item item " ok style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p class="desc" style="color: #222; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/167754/web" title="go.clerk.com" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Learn How to Integrate Clerk with Lovable</a></span> — Lovable integrates Clerk for custom domains, streamlined auth flows, and waitlist-powered onboarding.</p> <p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Clerk <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; border-radius: 2px; background-color: #ffe; color: #993 !important; padding-top: 1px; padding-right: 4px; padding-bottom: 1px; padding-left: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #eee455; border-right-color: #eee455; border-bottom-color: #eee455; border-left-color: #eee455; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid;" class="tag-sponsor">sponsor</span></p> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="el-item item " ok style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p class="desc" style="color: #222; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/167755/web" title="milkdown.dev" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">Milkdown 7.7: WYSIWYG Markdown Editor Framework</a></span> — A WYSIWYG Markdown editor framework based around a plugin system that enables a high level of customization. <a target="_blank" href="https://javascriptweekly.com/link/167756/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">The docs</a> are rendered by Milkdown itself. <a target="_blank" href="https://javascriptweekly.com/link/167757/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">GitHub repo.</a></p> <p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">Mirone </p> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="el-item item " ok style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p class="desc" style="color: #222; margin-top: 0.8em; margin-bottom: 0;"><span style="font-weight: 600; font-size: 1.1em; color: #000;" class="mainlink"><a target="_blank" href="https://javascriptweekly.com/link/167758/web" title="tinybase.org" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important; font-size: 1.05em;">TinyBase v6.0: A Reactive Data Store for Local-First Apps</a></span> — We’re huge fans of this powerful reactive data store that can be used as the entire backend for many types of app. v6.0 adds no new functionality but brings React 19 support and goes ESM-only. Check out <a target="_blank" href="https://javascriptweekly.com/link/167759/web" style="text-decoration: none; color: #3366aa; border-bottom-width: 1px !important; border-bottom-color: #ddd !important; border-bottom-style: solid !important;">the homepage</a> for more.</p> <p class="name" style="color: #5a5a5a; margin-top: 4px; margin-bottom: 0.8em; text-transform: uppercase; font-size: 12px; line-height: 1.2em;">James Pearce </p> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="content el-md releases flat" style="border-collapse: collapse;" ok><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <ul style="padding-left: 0; margin-left: 0px; list-style-type: none; list-style-position: inside;"> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;">🤖 <a target="_blank" href="https://javascriptweekly.com/link/167760/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">node-llama-cpp 3.7</a> – Run LLMs locally with bindings to <code style="background-color: #efc;">llama.cpp</code>.</p> </li> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;"><a target="_blank" href="https://javascriptweekly.com/link/167761/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">bignumber.js 9.2</a> – Arbitrary-precision decimal and non-decimal arithmetic.</p> </li> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;"><a target="_blank" href="https://javascriptweekly.com/link/167762/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">TS-Pattern 5.7</a> – Pattern matching library with smart type inference.</p> </li> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;"><a target="_blank" href="https://javascriptweekly.com/link/167763/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">React Admin 5.7</a> – Framework for building B2B frontend interfaces.</p> </li> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;"><a target="_blank" href="https://javascriptweekly.com/link/167764/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">UVCanvas 0.3</a> – Render beautifully shaded canvases from React.</p> </li> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;"><a target="_blank" href="https://javascriptweekly.com/link/167765/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">Danfo.js 1.2</a> – Pandas-inspired JavaScript data analysis toolkit.</p> </li> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;"><a target="_blank" href="https://javascriptweekly.com/link/167766/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">Vuetify 3.8</a> – Vue component framework.</p> </li> </ul> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="el-subtable classifieds" style="background-color: #ffffee; margin-top: 15px; box-shadow: 6px 6px 0px #eee; border-collapse: collapse; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #eec; border-right-color: #eec; border-bottom-color: #eec; border-left-color: #eec; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid;" ok><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;"> <table width="100%" cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin-top: 0 !important;"><tr><td style="height: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse;"></td></tr></table> <!-- normal content section --> <table width="100%" cellpadding="0" cellspacing="0" class="content el-content " style="color: #222; border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p style="font-size: 1.2em; text-transform: uppercase; font-weight: 600; display: inline-block; margin-bottom: 8px; margin-top: 0.8em;">📰 Classifieds</p> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="content el-md " style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;"><a target="_blank" href="https://javascriptweekly.com/link/167767/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ccc; border-bottom-style: solid;">Meticulous automatically creates and maintains an E2E UI test suite with zero developer effort</a>. Relied on by Dropbox, Lattice, Bilt Rewards, etc.</p> <hr> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;">✉️ Don't forget we have two other JavaScript related newsletters if you work with Node.js or React: <a target="_blank" href="https://javascriptweekly.com/link/167768/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ccc; border-bottom-style: solid;">Node Weekly</a> and <a target="_blank" href="https://javascriptweekly.com/link/167769/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ccc; border-bottom-style: solid;">React Status</a> respectively.</p> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" style="border-collapse: collapse;"><tr><td style="height: 12px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse;"></td></tr></table> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" style="border-collapse: collapse;"><tr><td style="height: 16px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse;"></td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="el-heading" style="background-color: none !important; text-align: left; margin-top: 15px; color: #333333; border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0;"><p style="font-size: 1.6em !important; font-weight: 400 !important; text-transform: none !important; line-height: 1.4em; display: inline-block; border-bottom-width: 6px; border-bottom-style: solid; padding-bottom: 2px; border-bottom-color: #f7df1e; margin-top: 0.5em; margin-right: 0; margin-bottom: 0.5em; margin-left: 0;">📢  Elsewhere</p></td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" class="content el-md " style="border-collapse: collapse;"><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;">A quick roundup of other interesting updates and useful resources from across the broader developer landscape:</p> <ul style="margin-left: 0; padding-left: 18px; list-style-type: circle;"> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;">If you fancy writing a blog post that could make it into JavaScript Weekly, checking out <a target="_blank" href="https://javascriptweekly.com/link/167775/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">How to Write Blog Posts that Developers Read</a> by Michael Lynch isn't a bad idea.. :-) (Then hit reply and tell us about it!)</p> </li> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;">Chrome 135+ includes support for the CSS Overflow 5 spec which makes it easier to <a target="_blank" href="https://javascriptweekly.com/link/167777/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">create native scrolling and carousel experiences.</a></p> </li> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;">Yoni Goldberg writes <a target="_blank" href="https://javascriptweekly.com/link/167778/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">about the sweet and powerful 'use case' code pattern.</a></p> </li> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;">Some tips from GitHub for project maintainers: <a target="_blank" href="https://javascriptweekly.com/link/167780/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">5 GitHub Actions Every Maintainer Needs to Know</a></p> </li> <li style="color: #222; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px !important;"> <p style="margin-top: 0.8em; margin-bottom: 0.8em; line-height: 1.5em; color: #222222;">🤖 <em>The New Stack's</em> Alex Williams looks at <a target="_blank" href="https://javascriptweekly.com/link/167781/web" style="text-decoration: none; color: #3366aa; font-weight: 500 !important; border-bottom-width: 1px; border-bottom-color: #ddd; border-bottom-style: solid;">how AI agents are transforming frontend development.</a></p> </li> </ul> </td></tr></table> <table width="100%" cellpadding="0" cellspacing="0" style="border-collapse: collapse;"><tr><td style="height: 18px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; border-collapse: collapse;"></td></tr></table> </div> </td></tr> </table> <!--[if (gte mso 9)|(IE)]></td></tr></table><![endif]--> </div> <div class="pager"> <div class="prev"> <a href="/issues/729">&laquo; Prev</a> </div> <div class="center"> <!-- Issue 730 --> </div> <div class="next"> </div> </div> <div class="subscribe_box" class=""> <form class="subscribe" action="/subscribe" method="POST"> <input type="email" placeholder="Want to subscribe? Enter your address here" class="email" name="yemail" id="email" /><button class="awesome" type="submit">Subscribe now &raquo;</button> <div class="smallprint">Easy to unsubscribe at any time. Your e-mail address <a href="https://cooperpress.com/spam.html">is safe</a> &mdash; here's <a href="https://cooperpress.com/legal/privacy/">our privacy policy.</a></div> <input type="hidden" name="_csrf" value="WHEPDNoGPmKw-WH4JYWdOWR0_XtQQCyOA8wUwXZMDEg" /> </form> </div> </section> <img src="/open/730/web" /> </main> <script src="/js/app.js"></script> <script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create','UA-2237791-21','javascriptweekly.com');ga('send', 'pageview'); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10