<!DOCTYPE html>
<html>
<head>
<title>Bytes: Pass me the Oxlint</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="color-scheme" content="light dark">
<meta name="supported-color-schemes" content="light dark">
<link href="https://fonts.googleapis.com/css2?family=Fira+Mono&family=Outfit:wght@400;500;700;900&family=Paytone+One" rel="stylesheet">
<style>@media (prefers-color-scheme: dark) {
.email-wrapper {
color: #F9F4DA !important;
background-color: #0F0D0E !important;
}
hr {
border-color: #262422 !important;
}
mark {
background-color: #231F20 !important;
color: #F9F4DA !important;
}
pre {
background-color: #231F20 !important;
border: 1px solid #231F20 !important;
color: #F9F4DA !important;
}
.bg-alt {
background-color: #231F20 !important;
}
.unsubscribe-link {
color: #504C48 !important;
}
.token.punctuation {
color: #f9f4da !important;
}
}
@media screen and (min-width: 600px) {
.mobile-break {
display: none;
}
}</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<table class="email-wrapper" border="0" cellspacing="0" width="100%" style="background-color: #FFF; border-collapse: collapse; color: #231F20; font-family: Outfit, sans-serif; font-size: 16px; width: 100%;"><tbody><tr>
<td style="border-collapse: collapse !important; word-break: normal;"></td>
<td width="600px" style="border-collapse: collapse !important; width: 600px; word-break: normal;"><div style="max-width:600px;padding-top:80px">
<div style="text-align:center"><img width="600" style="max-width: 100%; padding-bottom: 40px;" src="https://bytes.dev/images/bytes-banner-rounded.png" alt="Bytes"></div>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><strong style="font-weight: 600;">Today’s issue:</strong> The Nuxt alpha males rise up, playing Battleship in The Matrix, and pretending to find Formula 1 interesting.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Welcome to <a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/owhkhwuwl4xzd4cv/aHR0cHM6Ly9ieXRlcy5kZXYvYXJjaGl2ZXMvMzk5" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293063">#399</a>.</p>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="80" src="https://bytes.dev/images/content/eyes.png" alt="Eyeballs logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">The Main Thing</h2>
</div>
<div class="bg-alt" style="background-color: #f5f5f5; border-radius: 16px; margin-bottom: 40px; max-width: 100%; padding: 24px; padding-bottom: 12px;">
<img src="https://bytes.dev/images/content/mission-impossible-climb.jpg" alt="Tom Cruise rock climbing in Mission Impossible 2" width="600" style="border-radius: 5px; max-width: 100%;"><p style="font-family: Outfit, sans-serif; font-size: 15px; font-style: italic; line-height: 1; margin: 0; padding-bottom: 4px; padding-left: 24px; padding-right: 24px; padding-top: 10px; text-align: center;">Evan You harnessing all the power of Rust<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Pass me the Oxlint</h3>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">It’s been 8 months since Evan You founded VoidZero Inc. and raised $4.6 million to build an “open-source, high-performance, and unified development toolchain for the JavaScript ecosystem.”</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">And even though every other startup has died of dysentery while trying to <del>cross the Oregon Trail</del> <em>rewrite JavaScript build tools in Rust</em>, VoidZero looks promising for two big reasons:</p>
<ol>
<li>They own Vite, the most popular JS build tool in existence</li>
<li>They ship fast</li>
</ol>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Two weeks ago, they released <a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/z2hgh7uero5gx3ip/aHR0cHM6Ly92b2lkemVyby5kZXYvcG9zdHMvYW5ub3VuY2luZy1yb2xsZG93bi12aXRl" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293064">Rolldown-Vite</a>, a drop-in replacement of Vite that uses their new, Rust-based bundler called Rolldown. This will eventually become Vite’s default bundler, but it’s still in development – although companies like GitLab and Excalidraw are already using it in prod and reporting some massive perf improvements.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">And yesterday, they released <a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/z2hgh7uero5gx3ip/aHR0cHM6Ly92b2lkemVyby5kZXYvcG9zdHMvYW5ub3VuY2luZy1yb2xsZG93bi12aXRl" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293064">Oxlint 1.0</a>, their Rust-powered linter for JavaScript and TypeScript that’s designed to be quick and easy to adopt.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Let’s check out the highlights:</p>
<ul>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;"><a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/p8hehqu459rvo4fq/aHR0cHM6Ly9naXRodWIuY29tL294Yy1wcm9qZWN0L2JlbmNoLWphdmFzY3JpcHQtbGludGVy" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293065">50-100x performance improvement over ESLint</a></strong> – with early adopters like Mercedes-Benz and Airbnb (the original lint gods) reporting tangible perf gains in real, large-scale codebases.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;">Over 500 rules</strong> – including the complete ESLint rule set and popular plugin rules, with zero setup or configuration required. Just use <code style="font-size: 14px;">npx oxlint@latest</code> to get started.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;">Flexible config options</strong> – For larger projects that need more customization, you can use <code style="font-size: 14px;">.oxlintrc.json</code> files to configure whatever you need, including shared configs for teams and nested configs that only apply to specific directories.</p>
</li>
</ul>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><strong style="font-weight: 600;">Bottom Line:</strong> Will all of this blazing Rust goodness eventually produce a sustainable business that achieves VC scale returns?</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">I’m not sure, but could you just enjoy things for once without trying to ruin them for everyone? Jeez.</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse; margin-top: 40px; text-align: center;"><tbody><tr><td style="border-collapse: collapse !important; padding-top: 12px; word-break: normal;">
<a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/x0hph3uednkg09t5/aHR0cHM6Ly9mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA_dT1odHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGMzk5" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1754293066"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/fb-share-icon.png"></a><a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/6qhehoul6pxqeoco/aHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NoYXJpbmcvc2hhcmUtb2Zmc2l0ZS8_dXJsPWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkYzOTk=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1754293067"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/li-share-icon.png"></a><a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/kkhmh2un28z7v4il/aHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQvP3RleHQ9QnJlYWtpbmclMjBkb3duJTIwYWxsJTIwdGhlJTIwUnVzdCUyMGJsYXppbmduZXNzJTIwY29taW5nJTIwZnJvbSUyMHRoZSUyMCU0MHZvaWR6ZXJvZGV2JTIwdGVhbSZ1cmw9aHR0cHMlM0ElMkYlMkZieXRlcy5kZXYlMkZhcmNoaXZlcyUyRjM5OQ==" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1754293068"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/tw-share-icon.png"></a><a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/58hvh8ugo53e23i6/bWFpbHRvOj9ib2R5PVRob3VnaHQlMjB5b3UlMjdkJTIwbG92ZSUyMHRoaXMlMjB3ZWVrJTI3cyUyMEJ5dGVzJTBBLS0tJTBBQnJlYWtpbmclMjBkb3duJTIwYWxsJTIwdGhlJTIwUnVzdCUyMGJsYXppbmduZXNzJTIwY29taW5nJTIwZnJvbSUyMHRoZSUyMCU0MHZvaWR6ZXJvZGV2JTIwdGVhbSUwQWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkYzOTkmc3ViamVjdD1Zb3UlMjBsaWtlJTIwY29ybmJyZWFkJTNG" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1754293069"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/em-share-icon.png"></a>
</td></tr></tbody></table>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="150" src="https://bytes.dev/images/content/sentry-logo.png" alt="Sentry logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;"><span>Our Friends <br class="mobile-break">(With Benefits)</span></h2>
</div>
<div class="bg-alt" style="background-color: #f5f5f5; border-radius: 16px; margin-bottom: 40px; max-width: 100%; padding: 24px; padding-bottom: 12px;">
<img src="https://bytes.dev/images/content/crying-pokemon.jpg" alt="Pikachu comforting a crying Ekans" width="600" style="border-radius: 5px; max-width: 100%;"><p style="font-family: Outfit, sans-serif; font-size: 15px; font-style: italic; line-height: 1; margin: 0; padding-bottom: 4px; padding-left: 24px; padding-right: 24px; padding-top: 10px; text-align: center;">Sentry comforting me after fixing all the garbage code I let Copilot ship to prod<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;"><a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/25h2h9u307l5w6i3/aHR0cHM6Ly9ibG9nLnNlbnRyeS5pby93YW50LWFpLXRvLWJlLWJldHRlci1hdC1kZWJ1Z2dpbmctaXRzLWFsbC1hYm91dC1jb250ZXh0Lz91dG1fY2FtcGFpZ249YWktZnkyNnEyLXNlZXJsYXVuY2gmdXRtX2NvbnRlbnQ9bmV3c2xldHRlci1zZWVyYmxvZy1sZWFybm1vcmUmdXRtX21lZGl1bT1wYWlkLWNvbW11bml0eSZ1dG1fc291cmNlPWJ5dGVz" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293070">Sentry built an AI agent that’s… “actually good”?</a></h3>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Microsoft just released a new study confirming what every developer already knows: AI is terrible at debugging.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Why? Because it lacks the <em>context</em> you actually need to find and fix issues – like stack traces, logs, and commit history. That’s why Sentry built their own AI agent called <a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/qvh8h8ud28expwtl/aHR0cHM6Ly9zZW50cnkuaW8vcHJvZHVjdC9zZWVyLz91dG1fY2FtcGFpZ249YWktZnkyNnEyLXNlZXJsYXVuY2gmdXRtX2NvbnRlbnQ9bmV3c2xldHRlci1zZWVyYmxvZy1sZWFybm1vcmUmdXRtX21lZGl1bT1wYWlkLWNvbW11bml0eSZ1dG1fc291cmNlPWJ5dGVz" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293071">Seer</a>, which actually understands your whole codebase (unlike most other agents).</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Seer pulls in all the context from your codebase and your Sentry projects to map how your app works in production. It can then <a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/g3hnhwumoegvwwhr/aHR0cHM6Ly9ibG9nLnNlbnRyeS5pby9zZW50cnktYWktZGVidWdnZXItYXV0b2ZpeC1zdXBlcnBvd2VyLXRyYWNlcy8_dXRtX2NhbXBhaWduPWFpLWZ5MjZxMi1zZWVybGF1bmNoJnV0bV9jb250ZW50PW5ld3NsZXR0ZXItbWlsaW5ibG9nLWxlYXJubW9yZSZ1dG1fbWVkaXVtPXBhaWQtY29tbXVuaXR5JnV0bV9zb3VyY2U9Ynl0ZXM=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293072">identify the root cause of a bug</a> with over 90% accuracy, generate a fix, and open a PR for you.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">As Aiden Bai tweeted: “Sentry Seer is actually… good? One-shot fixed this error that I’ve spent the last 2 hours debugging.” Welcome to the future, my guy.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/9qhzhdud3g47rms9/aHR0cHM6Ly9zZW50cnkuaW8vc2lnbnVwLz91dG1fY2FtcGFpZ249Z2VuZXJhbC1meTI2cTItc2VlcmxhdW5jaCZ1dG1fY29udGVudD1uZXdzbGV0dGVyLWZyZWUlMjB0aWFsLXRyeXNlbnRyeSZ1dG1fbWVkaXVtPXBhaWQtY29tbXVuaXR5JnV0bV9zb3VyY2U9Ynl0ZXM=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293073">Try Sentry out for free</a>.</p>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="110" src="https://bytes.dev/images/content/spot-the-bug.png" alt="Spot the Bug logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Spot the Bug</h2>
<div class="section-presenter" style="margin-bottom:50px;margin-top:15px">
<h4 style="font-size: 19px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Sponsored by <a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/3ohphdu39qxwg5sr/aHR0cHM6Ly9nby5jbGVyay5jb20vRW5ISTBJRw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293074">Clerk</a>
</h4>
<p style="font-family: Outfit, sans-serif; font-size: 16px; line-height: 1.5; margin-top: 5px; padding-left: 24px; padding-right: 24px;"><em>They wrote this guide on <a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/3ohphdu39qxwg5sr/aHR0cHM6Ly9nby5jbGVyay5jb20vRW5ISTBJRw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293074">how to add subscription pricing to your SaaS app with Clerk Billing</a>, so you can easily scale your revenue to the moon <span role="img" aria-label="rocket">🚀</span>.</em></p>
</div>
</div>
<pre class="language-js" style="background-color: #f9f9f9; border: 1px solid #f9f9f9; border-radius: 8px; color: #231F20; overflow: auto; padding: 24px;"><code class="language-js" style="font-size: 14px;"><span class="token keyword" style="color: #f38ba3; font-size: 14px;">const</span> petName <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token string" style="color: #f99157; font-size: 14px;">'Leo'</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">const</span> placeholder <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token string" style="color: #f99157; font-size: 14px;">'{NAME}'</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">const</span> reminderTemplate <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token string" style="color: #f99157; font-size: 14px;">'{NAME} is due for another visit. Please call us so we can set up a new appointment. We look forward to seeing you and {NAME} soon.'</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">const</span> reminder <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> reminderTemplate<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">replace</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span>placeholder<span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> petName<span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span>
</code></pre>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="110" src="https://bytes.dev/images/content/cool-bits.png" alt="Cool Bits logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Cool Bits</h2>
</div>
<ol>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Bernardo Oliveira wrote about how his team at Mercedes-Benz are using <a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/n2hohquv5n2d0za6/aHR0cHM6Ly93d3cubWVyY2VkZXMtYmVuei5pby9ibG9nLzIwMjUtMDUtMTYtaG93LWNhbi1tb2Rlcm4tdG9vbGluZy1zYXZlLW1lcmNlZGVzLWJlbnotaW8tZW5naW5lZXJpbmctdGltZQ==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293075">modern tooling like Rolldown to save engineering time</a>. If I knew anything about F1 racing, I would make a joke here about how they should use Rust to beat Ferrari and make Lewis Hamilton jealous?</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Dani Sandoval wrote about <a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/48hvh7umq0wo8xtx/aHR0cHM6Ly9zdmVsdGUuZGV2L2Jsb2cvd2hhdHMtbmV3LWluLXN2ZWx0ZS1qdW5lLTIwMjU=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293076">what’s new in Svelte in June 2025</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/wnh2h6uqvrmz6lf7/aHR0cHM6Ly9zdHJpY2guaW8vP3JlZj1ieXRlcw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293077">STRICH</a> is a JavaScript library for adding barcode scanning to your web app that is fast, reliable, and easy to integrate. Check out the <a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/wnh2h6uqvrmz6lf7/aHR0cHM6Ly9zdHJpY2guaW8vP3JlZj1ieXRlcw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293077">30-day free trial</a> to see why it’s loved by developers. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Andrez created <a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/reh8h9umvqk8zps2/aHR0cHM6Ly9sb2NrZWQuYW5kcmV6LmNvLw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293078">Locked</a> with Astro, Preact, and Supabase. It’s a web-based, real-time code-breaking game with a terminal-style UI – like playing Battleship in The Matrix.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/08hwhgu2wmn8r8tl/aHR0cHM6Ly9vZHljLmRldi8=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293079">Odyc.js</a> is a JavaScript library that lets you build games that can fit in a single file.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">The <a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/8ghqh3uopgw4vehk/aHR0cHM6Ly9saW5nby5kZXYvZW4vY29tcGlsZXI=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293080">Lingo.dev Compiler</a> is an open-source, AI-powered compiler that can instantly translate any React app without rewriting the existing React components.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">The <a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/vqh3hmuo3nm57xug/aHR0cHM6Ly9udXh0LmNvbS9ibG9nL3JvYWRtYXAtdjQ=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293081">Nuxt v4 alpha</a> just came out with a new directory structure, improved data fetching, and more. <code style="font-size: 14px;">Nuxt Alpha</code> is my gamertag on all the Matrix Battleship forums.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Matteo Collina and his team created a new Node.js module called <a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/l2heh6ulvoqg9ni6/aHR0cHM6Ly9ibG9nLnBsYXRmb3JtYXRpYy5kZXYvc2VhbWxlc3NseS1ibGVuZC1waHAtd2l0aC1ub2RlanM=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293082">php-node</a> that lets you run PHP apps in a Node environment. Your scientists were so preoccupied with whether or not they could, they didn’t stop to think if they should.</p>
</li>
</ol>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="110" src="https://bytes.dev/images/content/spot-the-bug.png" alt="Spot the Bug logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Spot the Bug: Solution</h2>
<div class="section-presenter" style="margin-bottom:50px;margin-top:15px"><h4 style="font-size: 19px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Sponsored by <a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/3ohphdu39qxwg5sr/aHR0cHM6Ly9nby5jbGVyay5jb20vRW5ISTBJRw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293074">Clerk</a>
</h4></div>
</div>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><code style="font-size: 14px;">String.prototype.replace</code> only replaces the first occurrence found in the string. If there could be more than one occurrence, use <a href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/m2h7h6u30o2rp9sm/aHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtc3RyaW5nLXJlcGxhY2VhbGw=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1754293083"><code style="font-size: 14px;">String.prototype.replaceAll</code></a>.</p>
<pre class="language-js" style="background-color: #f9f9f9; border: 1px solid #f9f9f9; border-radius: 8px; color: #231F20; overflow: auto; padding: 24px;"><code class="language-js" style="font-size: 14px;"><span class="token keyword" style="color: #f38ba3; font-size: 14px;">const</span> petName <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token string" style="color: #f99157; font-size: 14px;">'Leo'</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">const</span> placeholder <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token string" style="color: #f99157; font-size: 14px;">'{NAME}'</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">const</span> reminderTemplate <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token string" style="color: #f99157; font-size: 14px;">'{NAME} is due for another visit. Please call us so we can set up a new appointment. We look forward to seeing you and {NAME} soon.'</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">const</span> reminder <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> reminderTemplate<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">replaceAll</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span>placeholder<span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> petName<span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span>
</code></pre>
<div style="text-align:center;padding-bottom:80px;padding-top:80px">
<div class="bg-alt" style="background-color: #f5f5f5; border-radius: 16px; margin-bottom: 40px; padding: 24px;"><div style="margin-top:-40px">
<img src="https://bytes.dev/images/bytes-icon.png" alt="Bytes" width="55px" style="max-width: 100%; width: 55px;"><h5 style="font-size:18px;font-weight:400;margin-bottom:24px">Want us to say nice things <br> about your company?</h5>
<div style="margin-bottom:16px"><a style="background-color: #FCBA28; border: 1px solid #231F20; border-radius: 100px; color: #231F20; font-size: 14px; font-weight: 600; padding: 8px 14px; text-decoration: none;" href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/dphehmuewqd3gwtm/aHR0cHM6Ly9ieXRlcy5kZXYvYWR2ZXJ0aXNl" url-id="1754293084">Sponsor Bytes</a></div>
<div style="margin-bottom:20px"><a style="color: #FCBA28; font-size: 14px; font-weight: 600; text-decoration: underline;" href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/e0hph0u7wkmxg2i8/aHR0cHM6Ly9ieXRlcy5kZXYvc2hhcmU=" url-id="1754293085">or share it</a></div>
<p style="font-family: Outfit, sans-serif; font-size: 14px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Built with ❤️ by<!-- --> <a style="color: #ed203d; font-weight: 600; text-decoration: underline;" href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/7qh7h2u9p0dg74sz/aHR0cHM6Ly91aS5kZXY=" url-id="1754293086">ui.dev</a></p>
</div></div>
<p style="font-family: Outfit, sans-serif; font-size: 14px; line-height: 1.5; opacity: 0.5; padding-left: 24px; padding-right: 24px;">50 W Broadway Ste 333 PMB 51647 Salt Lake City, Utah 84101</p>
<div style="font-family:Papyrus, cursive"><a class="unsubscribe-link" href="https://click.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx/owhkhwuwl4xzv4iv/aHR0cHM6Ly9ieXRlcy5kZXYvdW5zdWJzY3JpYmU=" style="color: #9B9890;" url-id="1754293087">Unsubscribe from Bytes</a></div>
</div>
</div></td>
<td style="border-collapse: collapse !important; word-break: normal;"></td>
</tr></tbody></table>
<span style="display: none"><a href="https://unsubscribe.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx">Unsubscribe</a></span>
<!-- -->
<img src="https://open.convertkit-mail4.com/xmu0w0kg44b6hp78n0zt6i27xmlllhnhlemx" alt="">
</body>
</html>