Sign in

Nicolas Dubien

@nicolas.dubien.me
681 followers 906 following 542 posts

Author of @fast-check.dev (🌐 fast-check.dev) ∙ Lead Principal Software Engineer @GoPigment ∙ Opinions are my own #Testing #JavaScript #TypeScript #React

PostsRepliesMedia
Nicolas Dubien @nicolas.dubien.me · 11/09/2026
🙃 Sadly we cannot approve a staged publishing while the automatic review is pending. It would be great to be capable of approving while npm waits for both the maintainer and the automatic approvals fast-check 4.10.0 coming soon!
001
Nicolas Dubien @nicolas.dubien.me · 11/08/2026
😘 Seen in the wild while scanning the web for references to @fast-check.dev. Pretty amazed to see it quoted in the official documentation of @vitest.dev 😍
Screenshot of the official documentation of vitest containing a reference to fast-check
051
Nicolas Dubien @nicolas.dubien.me · 13/05/2026
Agentscan from @matteogabriele.bsky.social is probably gonna save me precious minutes tonight 💋
280
Nicolas Dubien @nicolas.dubien.me · 05/05/2026
Using "onFail":"download" with latest version of @pnpm.io surprisingly seems to break the lock files. It works well with other failure modes.
Diff being observed in my pnpm-lock.yaml file after I set the devEngines.packageManager to pnpm with a onFail set to download.
110
Nicolas Dubien @nicolas.dubien.me · 17/04/2026
What's the hell. I have 2FA enforced to publish @fast-check.dev but I was able to publish without it. Is "Trusted Publisher" by-passing the 2FA thing?
241
Nicolas Dubien @nicolas.dubien.me · 27/03/2026
@tkdodo.eu telling us more about knip.dev from @webpro.nl at React Paris (@bejs.bsky.social)
1194
Nicolas Dubien @nicolas.dubien.me · 26/03/2026
@beaussan.io on stage 🤩
131
Nicolas Dubien @nicolas.dubien.me · 21/03/2026
My current experience with Claude code (recently only) @anthropic.com Timeout on timeout without any explanation
040
Nicolas Dubien @nicolas.dubien.me · 02/02/2026
Am I the only one or is Claude Code from @anthropic.com automatically setting up @fast-check.dev along @vitest.dev when asked to add tests to a project? The prompt was: > add test coverage to this repository, feel free to add the packages you feel relevant to achieve that task No skill added
221
Nicolas Dubien @nicolas.dubien.me · 29/01/2026
mockReset in @vitest.dev config is amazing! 🚀 At work, it saved us many lines of code and protected us against many wrongly written tests.
100
Nicolas Dubien @nicolas.dubien.me · 22/01/2026
🤔 As a package author targeting LTS node and recent TypeScript version, do we still need main, module or types to be defined? I have the feeling that this small exports-only package definition is enough, but I may miss something...
6100
Nicolas Dubien @nicolas.dubien.me · 03/12/2025
...provide an helper called rels that receives only one argument merging the two I currently have. In the future I plan to provide a way to have "{arity: 'reversed', type, propertyInType}" to create the back-link.
120
Nicolas Dubien @nicolas.dubien.me · 28/03/2025
Yesterday, by totally blowing my @github.com LFS quotas, I realized that: - The checkout action provided on GitHub actions does not cache LFS files cross-builds, - Linking towards LFS assets on a README published on npmjs is not a good idea. I recommend this option: github.com/actions/chec...
E-mail from GitHub telling me that I will not have LFS access for quite some time except if I take a data pack. My main repository is accountable for 4Mo of storage, what exploded is just the bandwidth, the rest is stable over time.
010
Nicolas Dubien @nicolas.dubien.me · 21/03/2025
So true 😅 Quoting @tkdodo.eu at React Paris: "API design is hard" and for open-source we "can't easily revert decisions" 👍
1171
Nicolas Dubien @nicolas.dubien.me · 21/03/2025
The extended section with auto adjustment looks awesome 😎
020
Nicolas Dubien @nicolas.dubien.me · 21/03/2025
🤩 Just learned about CSS Overview in Chrome Dev tools thanks to @domizajac.bsky.social at React Paris with @bejs.bsky.social
272
Nicolas Dubien @nicolas.dubien.me · 20/03/2025
@sheplu.bsky.social's talk at React Paris is starting (Cc. @bejs.bsky.social)
030
Nicolas Dubien @nicolas.dubien.me · 19/03/2025
✅ Bag and stickers packed for tonight 🤗 Looking forward to seeing many at the event of tonight and at React Paris
171
Nicolas Dubien @nicolas.dubien.me · 13/03/2025
In the category "Other" we can read "📦 Fast-check 4.0 - Property-based testing framework"
010
Nicolas Dubien @nicolas.dubien.me · 07/03/2025
Full snippet
020
Nicolas Dubien @nicolas.dubien.me · 07/03/2025
Me (several years ago): What can go wrong with this code? Well nothing! Me (today): Stack overflow... 😱 because of spreading...
110
Nicolas Dubien @nicolas.dubien.me · 07/03/2025
Here is a draft snippet for such test. All the code could be wrapped directly within a it/test to be executed within a test runner. Note: I had to put the "endOnFailure" otherwise I got buggy reporting (a bug I have to investigate in fast-check).
000
Nicolas Dubien @nicolas.dubien.me · 01/03/2025
The same test written using my suggestion would be:
In case of random failure:

1. Failure will be reported
2. Failure will be simplified: smaller id, smaller date
3. Simplified failure could be replayed by rerunning the test with the seed and path provided in the error report
220
Nicolas Dubien @nicolas.dubien.me · 01/03/2025
A simple example of such a flaky test could be visible on the attached picture. During a leap second it could start failing for no reason.
The main dormant bug in this snippet is that during a leap second Date.now() can go back in time by 1s. In this snippet we call it twice at two different points in time, as such the timestamp we get might be different...
100
Nicolas Dubien @nicolas.dubien.me · 01/03/2025
🤯 I am more and more thinking of revisiting my integration of @fast-check.dev within @vitest.dev. The more I think of it the more I believe it should be built-in in test runners to provide first class fuzzing capacities. This last draft would push the integration very deep...
Easily reproducible in case of failure, automatic shrinking capabilities to get the minimal error. All of that backed by fast-checkAt first glance it feels Ok. But what if the computeFriendly starts to include checks on some fields (eg.: the startDate). It may start to randomly fail and if it does, reproducing the issue or just knowing what caused it might be a nightmare.
3110
Nicolas Dubien @nicolas.dubien.me · 28/02/2025
@joshuakgoldberg.com is on stage at TypeScript La Conf' from @bejs.bsky.social and @typescript.paris 🎉
1151
Nicolas Dubien @nicolas.dubien.me · 28/02/2025
TypeScript La Conf' is starting... @bejs.bsky.social
030
Nicolas Dubien @nicolas.dubien.me · 05/02/2025
@arnaud-barre.bsky.social talking of @trpc.io at Meetup Node.JS Cc @chebri.bsky.social there were a few words linked to some awesome ski days ⛷️ Looking forward to joining next year 🥰
242
Nicolas Dubien @nicolas.dubien.me · 17/01/2025
I actually made it wrong. We do have the references 😅
110
Nicolas Dubien @nicolas.dubien.me · 17/01/2025
More precisely the tsconfig files I'm considering looks as follow: - a root one declaring a composite project with references - each package declares paths heading to its dependencies So far we have not toggled on the disableSourceOfProjectReferenceRedirect option.
110
Nicolas Dubien @nicolas.dubien.me · 10/01/2025
🦋 It took me quite some time but I finally did it: no more Twitter(X) App on my mobile phone
0100
Nicolas Dubien @nicolas.dubien.me · 21/12/2024
2024 close to the end. My year in one picture 🖼️ git-wrapped.com/profiles/dub...
170
Nicolas Dubien @nicolas.dubien.me · 14/12/2024
🚍 On my way back home after an amazing conference at @reactdayberlin.gitnation.org! 💡 The talks I attended were full of energy and insights (wish I could’ve seen them all!). 🗣️ Grateful for the positive feedback on my talk and the engaging conversations with attendees and speakers!
190
Nicolas Dubien @nicolas.dubien.me · 13/12/2024
Gonna be a mind-blowing and unforgettable talk by @elian.codes at @reactdayberlin.gitnation.org The weird web explained?! 😂
063
Nicolas Dubien @nicolas.dubien.me · 13/12/2024
@tkdodo.eu was on stage at #ReactDayBerlin but I failed to send it on time 😅
092
Nicolas Dubien @nicolas.dubien.me · 13/12/2024
@tej.as is on stage to open the day at @reactdayberlin.gitnation.org
Tejas on stage
1173
Nicolas Dubien @nicolas.dubien.me · 13/12/2024
#ReactDayBerlin is starting soon 🤫
Photo of the main stage before the first talk at the opening
050
Nicolas Dubien @nicolas.dubien.me · 12/12/2024
And I took some stickers with me for the event 🤫
020
Nicolas Dubien @nicolas.dubien.me · 11/12/2024
On my way to @reactdayberlin.gitnation.org by bus 🚍 and train 🚂 with a small stop at Paris 🗼
010
Nicolas Dubien @nicolas.dubien.me · 04/12/2024
I probably found my way with another way to mock Intl.NumberFormat. Instead of spying it I stub Intl as a whole.
100
Nicolas Dubien @nicolas.dubien.me · 04/12/2024
Struggling to understand how Intl.Numberformat gets its locale defaulted when not providing any. I'd love to force it to be the US one by default in my tests running with @vitest.dev in @nodejs.org. But cannot find the env variable or flag to make it true... 🤔
230
Nicolas Dubien @nicolas.dubien.me · 21/11/2024
When you re-open X after quite some time just to check for notifications and get one from someone you've never follow... 🤦 ...just closed the app 😅
030
Nicolas Dubien @nicolas.dubien.me · 19/11/2024
Your tests might start with one of the following...
Just building one random number for each runBuilding an array of random numbers for each runBuilding an array of anything (objects but also strings, numbers...) for each run
100
Nicolas Dubien @nicolas.dubien.me · 18/11/2024
Fresh new @fast-check.dev stickers for React Paris Meetup of Wednesday ⚛️🗼
Multiple stickers with the logo of fast-check
040
Nicolas Dubien @nicolas.dubien.me · 17/11/2024
100
Nicolas Dubien @nicolas.dubien.me · 14/11/2024
Only one month remaining before @reactdayberlin.bsky.social · Looking forward to speaking about 'Fine-Grained Reactivity Without Any Compiler' 🤩
Cup of coffee with React Day Berlin written on it
121
Nicolas Dubien @nicolas.dubien.me · 07/11/2024
Yesterday at work, I had to fix a pretty spicy 🌶️ race condition involving: user inputs, optimistic updates, real-time data sync and reloads. When to drop the optimistic was not easy and we had it partially wrong. Hopefully we had @fast-check.dev to simplify the detection of the last few problems
We launched @fast-check against our algorithm to get its help. It successfully detected an extra race condition and has been able to provide us with a very short reproduction plan for it. With that reproduction in mind we have been able to fix the last remaining race condition that we know of on this piece of code. @fast-check allowed us not only to find it but also to be more confident on our final fix.
221