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
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
Post-conf weekend project: adding support for the @shadcn.com CLI in @nuqs.dev to install:

- parsers
- adapters
- little snippets that make more sense to vendor into your codebase & tweak as needed

First one is the utility I showed in my talk for type-safe linking (with typedRoutes) in @nextjs.org
October 26, 2025 at 6:02 PM
This week has been insane.

- 🥇 We won the @clerk.com hackathon
- 🗣️ I spoke at @nextjs.org conf about @nuqs.dev
- 🫶 I met a ton of wonderful folks IRL for the first time, along with old friends

Bye bye SF, it's been a blast 👋🛫
October 24, 2025 at 5:59 PM
Reposted by François Best
Vitest 4 is out!

- Browser Mode is Stable
- Visual Regression Testing
- Improved Debugging
- Pool Stabilization
- New APIs
- Bug Fixes

Stay updated with our blog post:

vitest.dev/blog/vitest-4
Announcing Vitest 4.0
Vitest 4.0 Release Announcement
vitest.dev
October 22, 2025 at 3:43 PM
Good morning SF 🌉🌅
October 21, 2025 at 2:42 PM
On my way to @nextjs.org conf 🛫

See you soon, SF! 🌁
October 20, 2025 at 5:27 AM
Weekend project: digging into Recharts internals to replicate the dashed partial line graph in v3, as the internal state model has changed and we can’t do the same trick as before.
October 19, 2025 at 1:46 PM
@matthiasott.com will get that one
October 18, 2025 at 6:42 AM
Reposted by François Best
📦 nuqs@2.7.2 is out! 🚀

It includes a bug fix for debounce with `shallow: false` which sent unnecessary stale URL updates to the server.

Try it out: pnpm add nuqs@latest
October 16, 2025 at 11:46 AM