Hey guys,

Welcome to another edition of Import React by Cosden Solutions!

React 19.3 shipped this week. And a pretty reasonable question about useEffect turned into a 116-comment fight over whether the hook is actually broken. Somebody finally explained a Safari bug in await fetch() that's been quietly wrong for years. And right at the bottom, two guys got arrested for the npm worm that's been eating React-adjacent packages all year.

Let's get into it.

⚡️ The Latest In React

Reaching Developers Doesn't Require Tracking Them
ClickRelay is a CPC ad network built for dev tool marketers who are tired of paying for impressions they can't verify. No behavioral targeting, no bot-inflated click counts, every click checked by a third-party vendor before it's billed. If you're trying to get in front of an audience like this one, here's how a campaign runs. [ad]

💬 Is useEffect Actually Broken, Or Do We Just Suck At Using It
A dev posted an honest question on r/reactjs asking why everyone's suddenly convinced useEffect is cursed, and 116 comments later nobody's really settled it. Best line, from the top reply: "if a mistake is easy to make by an inexperienced developer and somewhat hard to find by an experienced one, the library has a flaw." Someone else walks through exactly how the dependency array turns into a stale-closure trap, and a chunk of the thread just devolves into a Svelte vs Vue vs React pile-on. Worth the read imo.

⚛️ React 19.3 Is Out, And View Transitions Finally Stuck The Landing
View Transitions and Fragment Refs are both stable now, plus a first-class use(browser()) API to opt a subtree out of SSR without the old typeof window dance. The blog post ships with interactive examples built right in, which is the fastest way to actually feel what Fragment Refs unlocks.

🔍 Why Await Fetch() Has Been Quietly Wrong In Safari For Years
Safari's module loader was built on a spec proposal that got abandoned years ago, and bolting top-level await onto it caused a specific class of "cannot access before initialization" errors nobody could fully explain. Safari 27 finally fixes it properly, but it took a ground-up rewrite of the loader to get there. Good one if you've ever hit that error and just shrugged.

🧩 One Team Actually Pulled Off Sharing Logic Between Web And React Native
A dev walks through splitting an app into a platform-agnostic core (no DOM, no browser APIs, just domain logic and one shared data layer) with thin UI shells on top, then reusing that same core across web and React Native. Two years later, the core is still the part that ages best. The comments are worth it too, people arguing pure packages vs hexagonal vs just eating some duplication and moving on.

This Syntax Highlighter Isn't Using A Parser At All
Shu Ding built a 27.5KB syntax highlighter that skips language grammars entirely and just uses a small model trained to recognize code. Paste something ugly into it and watch it work in real time. It's the kind of thing you open "just to check" and lose ten minutes to.

Quick Links

🧠 AI & General Programming

🚨 Two Men Arrested Over The npm Worm That's Been Eating Your Dependencies
The attacks behind the Mini Shai-Hulud worm wave, the one that's been picking off React-adjacent packages for months, finally led somewhere. If you've been ignoring your lockfile, this is your reminder.

🤖 GPT-6 Astra Is Here, And It's Still Not Clearly Better At Coding
OpenAI's calling it their most aligned model yet, and it's genuinely stronger on interactive benchmarks. Anecdotally though, it's not clearly better at coding than what you're probably already using.

🕰️ jQuery's $() Just Turned 20
InfoQ's retrospective on how it got an entire generation of developers through the browser wars. A nice five-minute read.

🎬 The Story Of VS Code
An official, movie-length documentary on VS Code's path from a Swiss skunkworks project to the default editor. Save it for a flight.

🔒 Drydock Diffs Your Tarball Before You Publish It
Checks what you're about to npm publish against the last published version, so you catch anything that snuck in. Feels like exactly the tool this week's worm story makes you want.

Charting A Repo's Star History No Longer Means Scraping It
GitHub shipped a real API for it. Plug in any repo and watch the line move.

📦 Also shipped: cn, shadcn's 30x-faster tailwind-merge replacement · React Native 0.88 RC · Zod 4.5, with z.compile() and 9x less memory · Mantine 9.6, four new chart types.

See you next week,

Darius