François Best
banner
francoisbest.com
François Best
@francoisbest.com
Freelance web developer, open-sourcerer, speaker.

Building `nuqs`, a type-safe search params state manager for React frameworks:
🔗 https://nuqs.dev
🦋 @nuqs.dev

🎥 youtube.com/@47ng-dev
🟣 twitch.tv/fortysevenfx
🏠 francoisbest.com
Pinned
My talk at @nextjs.org conf is online!

Go watch it, it contains two gems:
- The dangers and limits of URL state (to make you a better engineer)
- A live demo of how @nuqs.dev uses a declarative approach to type-safe and time-safe behaviours, in a composable way.
Type-safe URL state in Next.js with nuqs
YouTube video by Vercel
www.youtube.com
Reposted by François Best
❌ If you unit-test a React 19 app, there’s a good chance a chunk of your CI time is being wasted on… 😴 setTimeout.
Wait, what? Yes!

React 19 introduced a minimum delay for showing a Suspense fallback, and hardcoded (!) it to 300ms.
Just 3 tests can waste almost 1 second on absolutely nothing!
November 17, 2025 at 2:15 PM
I have an idea for my @reactadvanced.gitnation.org talk that would requiring building and shipping a new feature in @nuqs.dev next week (so I can actually rehearse with it).

Conference-driven development is real.
November 15, 2025 at 9:09 PM
Reposted by François Best
🤔 What if there were a conference without talks? Just hanging out with OSS maintainers & builders, seeing what they’re working on, and learning cool stuff by actually talking to people.

🤯 What if hallway track turned into the whole event!

💡 @tannerlinsley.com is exploring it. Interested? ⬇️
Web Forge Conf - A new kind of web developer conference
A community funded, not for profit event built for creators and the developers who use their work. Less stage. More story. All signal.
webforgeconf.com
November 13, 2025 at 9:36 AM
Reposted by François Best
After a few months of targeted attacks on our ecosystem, followed by a confusing and rapidly changing response from @github.com, we wanted to put together some guidance for maintainers on how to help us all secure our supply chain together.

Here is that guidance 👇
With npm supply chain attacks on the rise, secure publishing practices are becoming a pressing concern for anyone maintaining npm packages. ⚠️

We've released updated guidance to help maintainers reduce exposure, strengthen release processes, and protect the ecosystem: openjsf.org/blog/publish...
Publishing More Securely on npm: Guidance from the OpenJS Security Collaboration Space | OpenJS Foundation
The OpenJS Security Collaboration Space has been working closely with GitHub’s npm team to understand how new security features affect projects and maintainers, especially as threats and tools keep ev...
openjsf.org
November 14, 2025 at 4:21 PM
Reposted by François Best
React Free Weekend is LIVE!
React Free Weekend Starts NOW! 🚀

For the next 48hrs, access our full React Mid-Level Training - for FREE!

💻 13 Real-world code challenges
🧠 12 Interactive quizzes
📝 Trial exam
📘 & more

Just you, React, & a weekend built for growth.

Join now👇
https://go.certificates.dev/fw25x
Certificates.dev Free Weekend | Free access to React Developer Certification Training
Unlock 48 hours of free access to the Certified React Developer Training on November 15–16 2025. Dive into theory, coding challenges, quizzes, and a trial exam.
go.certificates.dev
November 14, 2025 at 9:18 PM
Been getting a lot of spam on the @nuqs.dev repo (sorry if you’ve been impacted 😓)

Reporting from a phone (where I catch most of reply notifications) is so obnoxious I just end up marking the spam as such and ban the author. But even that fails in some cases. 😡
Reporting spam on @github.com should take less effort than posting spam
November 14, 2025 at 7:56 PM
Reposted by François Best
📰 Today, I'm writing about the difference between Vitest Browser Mode and Playwright. Learn what makes them similar but also completely different, from their purpose to how they work under the hood.

A must read.

www.epicweb.dev/vitest-brow...
Vitest Browser Mode vs Playwright
What is the difference between Vitest Browser Mode and Playwright? And when to use each in your tests?
www.epicweb.dev
November 13, 2025 at 2:47 PM
The @nuqs.dev @shadcn.com registry now has an RSS feed 📡

✨ Get notified when we drop a new adapter, parser or utility
🐞 or when we push updates & bug fixes

nuqs.dev/registry

It now contains community adapters, to one-command install nuqs in:

⛩️ Waku
🐘 Inertia
🥇 One.js
📱 Expo Router (coming soon)
November 13, 2025 at 12:13 PM
Huge thanks to @sentry.io & @codecov.bsky.social for sponsoring me through thanks.dev 💖

The project is an interesting take on OSS funding:

1. 🔌 connect your repository
2. 📦 it finds the dependencies you use
3. 💵 you support their maintainers

Every step towards doing OSS full-time helps, thanks! 🫶
November 12, 2025 at 1:09 PM
TFW you lose a few hours of work due to a Git mishap (that'll teach me to commit more often), but the @raycast.com clipboard history saves the day 🙌
November 11, 2025 at 10:19 PM
Reposted by François Best
Vibe coding PRs - STOP please...
November 10, 2025 at 5:02 AM
Reposted by François Best
Please use modern test runners.

I'm tired of explaining for a thousandth time why all of these errors mean you're using an archaic tool:

- Import errors on ESM;
- fetch/Request/Response/ReadableStream is not defined.
November 9, 2025 at 10:04 AM
I approve this message.
November 8, 2025 at 10:04 PM
What is this travesty?! 😱

Intl.ListFormat('en-GB') doesn't use the Oxford comma, but en-US does 🙃

developer.mozilla.org/en-US/docs/W...
November 7, 2025 at 9:12 PM
Reposted by François Best
🌐 next-intl 4.5: useExtracted

→ For humans & AI
→ Next.js-first by design
→ Full Turbopack support
→ SWC-based parsing
November 7, 2025 at 3:25 PM
First successful OIDC trusted publishing release for @nuqs.dev with semantic-release! 🙌

Bye bye NPM_TOKEN, you won't be missed. 👋
November 7, 2025 at 3:33 PM
Type-safety is only as good as the runtime-safety that it's inferred from.
November 5, 2025 at 5:05 PM
Reposted by François Best
👀 Navigation API will be available in all browsers soon 🎉

Completely redefines the APIs used to build client-side routers / SPAs

🫤 History API: popState, link click.preventDefault() ...

✅ Navigation API: clean, centralized way to intercept navigation events 👌
November 5, 2025 at 9:35 AM
🟣 I'm live on Twitch!

Playing with "use cache" (@nextjs.org 16 w/ cacheComponents), come say hi! 👋

twitch.tv/fortysevenfx
Twitch
Twitch is the world
twitch.tv
November 4, 2025 at 1:31 PM
Reposted by François Best
last chance to take the State of JS survey if you haven't already, it closes in a day or two

survey.devographics.com/en-US/survey...
State of JavaScript 2025
Take the State of JavaScript survey
survey.devographics.com
November 3, 2025 at 2:59 PM
Reposted by François Best
If you have a codebase that uses an older version of Node.js, we have started to put together articles and tools to help you migrate your code.

nodejs.org/en/learn/get...
nodejs.org/en/blog/migr...
Node.js — Userland Migrations
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
nodejs.org
October 29, 2025 at 8:56 PM
Reposted by François Best
📦 nuqs has passed 1M weekly downloads on @npmjs.bsky.social 🚀

Thanks everyone! 🫶
October 29, 2025 at 11:57 AM
Reposted by François Best
📢Introducing ArkRegex📢

a drop in replacement for new RegExp() with types ⬇️
October 28, 2025 at 4:38 PM
🟣 I'm live on Twitch!

Playing with workflows ("use workflow"), come say hi! 👋

twitch.tv/fortysevenfx
fortysevenfx - Twitch
Playing with Workflows
twitch.tv
October 28, 2025 at 2:00 PM
My talk at @nextjs.org conf is online!

Go watch it, it contains two gems:
- The dangers and limits of URL state (to make you a better engineer)
- A live demo of how @nuqs.dev uses a declarative approach to type-safe and time-safe behaviours, in a composable way.
Type-safe URL state in Next.js with nuqs
YouTube video by Vercel
www.youtube.com
October 27, 2025 at 11:19 PM