Sign in

fast-check

@fast-check.dev
228 followers 27 following 199 posts

🎲 Property-based testing for JavaScript and TypeScript compatible with Vitest, Jest and others · Official website at fast-check.dev · Made with ♥️ by @nicolas.dubien.me

PostsRepliesMedia
fast-check @fast-check.dev · 15/09/2026
🚀 New release on its way: fast-check v4.10.1 Release notes will land shortly at: github.com/dubzzz/fast-check/releas…
020
fast-check @fast-check.dev · 14/09/2026
🫣 Short trailer for v5? Let's have a sneak peek at the upcoming next major version of fast-check!
031
fast-check @fast-check.dev · 13/09/2026
📝 The release note for fast-check 4.10.0 is out! In this version: 🔌 Plugin API preview, 🔌 7 built-in plugins, 🗑️ Deprecation notices to help you prepare for v5! More at: fast-check.dev/blog/2026/09...
fast-check.dev
What's new in fast-check 4.10.0? | fast-check
Let's pave the way for the upcoming v5. fast-check 4.10.0 comes with the idea of easing the migration path to v5. As such, it should be seen as an intermediate version easing the move to v5. It introd...
041
fast-check @fast-check.dev · 11/09/2026
🚀 New release! Version 4.10.0 is out. 🫣 Get prepared for the upcoming v5.
Image to advertise the release of 4.10.0 of fast-check.

It says:
PREPARE FOR v5.
New plugin API and deprecation notices. v5 is still ahead.

Image build with the help of ChatGPT
061
fast-check @fast-check.dev · 11/09/2026
🚀 New release on its way: @fast-check/poisoning v0.3.1 Release notes will land shortly at: github.com/dubzzz/fast-check/releas…
000
fast-check @fast-check.dev · 11/09/2026
🚀 New release on its way: @fast-check/vitest v0.5.0 Release notes will land shortly at: github.com/dubzzz/fast-check/releas…
000
fast-check @fast-check.dev · 11/09/2026
🚀 New release on its way: @fast-check/jest v2.3.0 Release notes will land shortly at: github.com/dubzzz/fast-check/releas…
001
fast-check @fast-check.dev · 11/09/2026
🚀 New release on its way: fast-check v4.10.0 Release notes will land shortly at: github.com/dubzzz/fast-check/releas…
000
fast-check @fast-check.dev · 23/08/2026
They sound make it simple for users to come up with their own capabilities. As an example, we have been asked for observability primitives. Plugins have been designed to offer what's needed to cover these needs. They are tailored for extensibility.
010
fast-check @fast-check.dev · 23/08/2026
🔌 Plugin capabilities coming soon in fast-check. We are currently crafting our first few plugins to confirm the API 🤞 fast-check.dev/docs/core-bl...
131
fast-check @fast-check.dev · 18/08/2026
Indeed 😅 Coming soon, we are just preparing the pre-major minor to ease migration and we should be ready 🤞
011
fast-check @fast-check.dev · 13/08/2026
🏗️ We are currently thinking and shaping a plugin API to make it easier to extend capabilities of fast-check. We hope it could make it as a minor 🤞 More to come soon...
040
fast-check @fast-check.dev · 27/07/2026
⏭️ Iterator's methods being native in JavaScript, we will also reduce our bundle size by dropping our homemade version of them
000
fast-check @fast-check.dev · 23/07/2026
🚀 Release note for fast-check 4.9.0 is out. It's all about performance and rewriting of `entityGraph`. More at: fast-check.dev/blog/2026/07...
021
fast-check @fast-check.dev · 22/07/2026
⏭️ v5 will also be the first ESM-only release of fast-check. PR on its way 🤞 github.com/dubzzz/fast-...
1120
fast-check @fast-check.dev · 20/07/2026
In previous majors, there used to be two "opaque" worlds: sync and async one. Each of them came with its own set of configurations. As such there was an `asyncReporter`, an `asyncBeforeEach`... It won't be the case anymore starting at v5.0.0.
000
fast-check @fast-check.dev · 19/07/2026
⏭️ In our next major we are gonna make all properties asynchronous. No more questioning about `property` or `asyncProperty` everything will go via `property`.
160
fast-check @fast-check.dev · 17/07/2026
We are also thinking about offering sub-imports paths. So one could do both: ```ts import {nat} from 'fast-check' ``` Or: ```ts import {nat} from 'fast-check/arbitraries/nat' ``` The latter is still uncertain for the very first 5.x release.
010
fast-check @fast-check.dev · 17/07/2026
⏭️ In our next major release we are planning to move away from default exports for named ones. ```ts // Valid import in v4 // import fc from 'fast-check' // New way, already supported in v4 import * as fc from 'fast-check' ```
130
Reposted by fast-check
Vladimir @vladimir.berlin · 10/07/2026
`vmThreads` is 30% faster in Vitest 5 for your jsdom tests. It is now a much better alternative to the default forks+jsdom. Vitest 5 also comes with a `vitest doctor` command that will find the best settings for you! As a note, browser mode also becomes ~30% faster, but for different reasons :)
an app with 342 modules + real deps is ~32% faster. 1022 modules + heavier deps is ~28% faster
0579
fast-check @fast-check.dev · 06/07/2026
We have been verified 🥳
020
fast-check @fast-check.dev · 25/06/2026
We just released a bunch of performance optimisations to make both `next` and `jump` methods faster, with a zoom on `jump`. It could drastically decrease what was remaining of the performance overhead induced by fast-check when running your property.
010
fast-check @fast-check.dev · 25/06/2026
Fresh new version of pure-rand, our backing library powering every random value we generate in fast-check. npmx.dev/package/pure...
npmx.dev
pure-rand - npmx
Pure random number generator written in TypeScript
120
fast-check @fast-check.dev · 21/06/2026
Sorry for the inconvenience, I'm adding it back with github.com/dubzzz/fast-.... So far it's not as overall as I'd like
github.com
📝 Add back skills directory by dubzzz · Pull Request #7092 · dubzzz/fast-check
Reverts #7065
000
fast-check @fast-check.dev · 20/06/2026
I'll relive it soon. Mostly dropped it by lack to maintain it
100
fast-check @fast-check.dev · 16/06/2026
The next minor is being worked on. Expect a few performance optimisations to land ⚡
110
Reposted by fast-check
Nicolas Dubien @nicolas.dubien.me · 16/06/2026
I'll discuss a little bit about Property Based Testing and @fast-check.dev during the breakout sessions of @webengineshackfest.org (remotely for me)
021
fast-check @fast-check.dev · 04/05/2026
🤫 Direct link to tangled from our documentation
010
fast-check @fast-check.dev · 04/05/2026
🐒 And now it's fast-check's turn at tangled.org/fast-check.d... So far, just mirrors of @github.com on @tangled.org but stability of GitHub is more and more concerning 😟
tangled.org
fast-check.dev/fast-check
[[MIRROR from GitHub]] Property based testing framework for JavaScript (like QuickCheck) written in TypeScript
1132
fast-check @fast-check.dev · 04/05/2026
🎲 We just started to mirror pure-rand on @tangled.org
npmx.dev
pure-rand - npmx
Pure random number generator written in TypeScript
0142
fast-check @fast-check.dev · 18/04/2026
🚀 fast-check 4.7.0 has recently been released! ✍️ Support for unicode properties in `stringMatching` 🗜️ Reversible values with `json` More details at fast-check.dev/blog/2026/04...
fast-check.dev
What's new in fast-check 4.7.0? | fast-check
Until now, Unicode property escapes of the form \p{...} or \P{...} were not implemented in stringMatching. This release adds support for them so stringMatching can generate matching values directly.
051
Reposted by fast-check
Bjorn Lu @bluwy.me · 14/04/2026
FYI if you use pnpm and upgraded from Vite 7 -> 8, you might still have esbuild installed but unused. You can purge it out by: 1. Set `autoInstallPeers: false` in `pnpm-workspace.yaml` 2. `pnpm i` 3. Undo no1 4. `pnpm i`
1486
fast-check @fast-check.dev · 28/03/2026
You mean fast-check? Maybe our quick start could help to get more about it: fast-check.dev/docs/tutoria...
fast-check.dev
Basic Setup | fast-check
Setup your environment
000
fast-check @fast-check.dev · 27/03/2026
🚀 We just released a fresh way lighter version of pure-rand. Install size for each recent version: • 𝟴.𝟰.𝟬: 62.4 kB 🐇 • 𝟴.𝟯.𝟬: 71.6 kB 🐘 • 𝟴.𝟮.𝟬: 53.6 kB 🐜
020
fast-check @fast-check.dev · 27/03/2026
We still have a pending discussion about providing a native and built-in integration directly in vitest: github.com/vitest-dev/v... Not only for beforeEach but also for discovery and simplicity to use.
github.com
Built-in support for Property Based Tests (aka Fuzzing) · vitest-dev vitest · Discussion #2212
Hey 👋, I'm Nicolas, core maintainer and main contributor to the project called fast-check. The project does property based testing and reaches 8 million (650k when I opened the ticket) downloads a ...
000
fast-check @fast-check.dev · 27/03/2026
So far it comes with a few limitations that we have not overcome yet. The clean up of the first beforeEach is fully handled by vitest, as such you'll see the second beforeEach and it's clean up being executed before the first clean up gets called.
100
fast-check @fast-check.dev · 27/03/2026
🖇️ Our latest release of @fast-check/vitest added native support for before each/afterEach hooks of @vitest.dev. No more need to manually connect them into fast-check assertions they get automatically integrated if you use our connector package. Connector: npmx.dev/package/@fas...
npmx.dev
@fast-check/vitest - npmx
Property based testing for Vitest based on fast-check
2153
fast-check @fast-check.dev · 27/03/2026
🗜️ We are working on a new release of pure-rand to decrease the bundle impact of our Mersenne Twister jump 🤫 📚 And on fast-check's side we pile a few ideas for a next major that should bring an even faster runtime and more.
000
fast-check @fast-check.dev · 20/03/2026
🎲 New release of pure-rand, our internal dependency. With 33% increase in bundle size but for the right cause: we want to provide users with ways to jump on Mersenne Twister generators. It has been a long PR started 6 years ago and that finally made it.
0131
fast-check @fast-check.dev · 09/03/2026
⚡ fast-check 4.6.0 is here! It comes with: 🗜️ Lighter bundle 🔧 Extra capabilities for stringMatching More details at fast-check.dev/blog/2026/03...
fast-check.dev
What's new in fast-check 4.6.0? | fast-check
Until now, stringMatching had no built-in way to cap the length of the produced strings except applying a manual post-filter on the generated values. This release adds a maxLength constraint to ensure...
0111
fast-check @fast-check.dev · 05/03/2026
🚀 This is it: version 8.0.0 of pure-rand is out! 📦 Lighter bundle 🛢️ No more barrel files 🧹 Simplified API by default npmx.dev/package/pure...
092
fast-check @fast-check.dev · 05/03/2026
👋 Welcome from @eurosky.social
0190
fast-check @fast-check.dev · 28/02/2026
Good idea 💡 I'm gonna think about it. Definitely something worth providing to ease the creation of multiple random streams.
000
fast-check @fast-check.dev · 28/02/2026
The next major is currently under active development and should come with several new distributions and maybe a few extra generators. But for generators we will have to carefully benchmark them one by one to keep our high throughput standard
100
fast-check @fast-check.dev · 28/02/2026
To date pure-rand is the fastest random generator library on npm. And it comes with plenty of built-in generators and distributions (to pull data outside of generators)
100
fast-check @fast-check.dev · 28/02/2026
We are currently trying to solve most of the issues that made the #faker project copy paste the code directly in their source code a few years ago
110
fast-check @fast-check.dev · 28/02/2026
Still wondering if we should go full ESM for it. The library is being used by #Jest so we are not sure we do that given they don't support require(esm)
100
fast-check @fast-check.dev · 28/02/2026
🎲 We are currently making deep changes onto our internal random library called pure-rand. Expects lighter bundle on npm and faster to load at execution time within fast-check
1120
fast-check @fast-check.dev · 26/02/2026
🏃‍♂️ Currently updating all our links to point to @npmx.dev · PRs on their way to update our website fast-check.dev but also all the README files
fast-check.dev
fast-check official documentation | fast-check
fast-check is a Property-based Testing framework for JavaScript and TypeScript. It works with Jest, Mocha, Vitest, and others. Let's fuzz!
0153
fast-check @fast-check.dev · 23/02/2026
🤯 Still impressed to see how simple it is to move from Jest to @vitest.dev We just moved pure-rand, one of the core packages in fast-check
050