fast-check's Avatar

fast-check

@fast-check.dev.bsky.social

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

173 Followers  |  21 Following  |  116 Posts  |  Joined: 04.11.2024  |  2.0807

Latest posts by fast-check.dev on Bluesky

Three code tabs: The source "index.ts" that includes just "const a = 1; console.log(a)". The config of rolldown showing that "output.topLevelVar" is set to true, and eventually the transformed code that shows "var a = 1" instead of the expected "const a = 1"

Three code tabs: The source "index.ts" that includes just "const a = 1; console.log(a)". The config of rolldown showing that "output.topLevelVar" is set to true, and eventually the transformed code that shows "var a = 1" instead of the expected "const a = 1"

Did you know that @rolldown.rs supports converting your top-level variables to var?
It seems weird at first, but is actually helpful - and your output is still ESM and modern code!

The transform can improve perf due to avoiding "temporal dead zone" checks of VMs that can cause slowdowns up to 1000%

24.07.2025 15:34 — 👍 20    🔁 2    💬 2    📌 0

And finally the release note for the version 4.2.0 🤩

fast-check.dev/blog/2025/07...

18.07.2025 19:35 — 👍 3    🔁 1    💬 0    📌 0

I'm pretty sure we could easily adapt the code from github.com/CanadaHonk/p... into an arbitrary in fast-check. It would be awesome 😎

As it will not only generate code but also reduce it in case of failure.

17.07.2025 20:40 — 👍 2    🔁 0    💬 0    📌 0

🚀 fast-check 4.2.0 just got released

It offers some new helpers to deal with race condition detection.

05.07.2025 07:32 — 👍 7    🔁 2    💬 0    📌 1

Credits go to @ahrjarrett.bsky.social

13.05.2025 07:04 — 👍 1    🔁 0    💬 0    📌 0
Preview
bug(core): `z.object` compiled validation throws when shape contains properties like `__proto__` or `toString` · Issue #4358 · colinhacks/zod Related to #4357 Hello! This is the 2nd of 2 tickets that have to do with generateFastpass and prototype pollution. Here's a short article by @dubzzz about prototype pollution (using fast-check is ...

More details at:

- github.com/colinhacks/z...
- github.com/colinhacks/z...

13.05.2025 07:04 — 👍 1    🔁 0    💬 1    📌 0

🍿 @fast-check.dev just got leveraged by our community to uncover two prototype pollutions in #Zod

🔐 Let's make the ecosystem safer with property based testing 🤗

13.05.2025 07:03 — 👍 6    🔁 0    💬 1    📌 1

🖼️ Lately we breached several months in a row the quotas of Git LFS on GitHub. It totally blocked our CI until we paid for extra quotas.

Yesterday, we dropped Git LFS from our repository and outsourced heavy assets to another repository that we could fetch from when needed (bundling of the blog).

27.04.2025 13:27 — 👍 2    🔁 0    💬 0    📌 0
Preview
What's new in fast-check 4.1.0? | fast-check With fast-check, reliability has always been at the heart of our mission. We strive to detect bugs that are not only rare but also extremely complex. With this release, we're making our scheduler even...

🎁 Fresh new version of fast-check is out!

Mostly playing around race-conditions for this first minor of the 4.x series. This minor should make our scheduling primitives even more reliable and even more powerful.

fast-check.dev/blog/2025/04...

05.04.2025 22:30 — 👍 5    🔁 1    💬 0    📌 0
Preview
Beyond flaky tests — Bringing Controlled Randomness to Vitest | fast-check Random failures in tests are frustrating and time-consuming to debug. What if your test runner could help eliminate flaky tests by safely handling randomness? In this article, we explore a new approac...

🤫 Our proposal for flaky tests 🎲

Random failures can be a nightmare to debug. What if your test runner could control randomness natively—making tests more reliable & reproducible?

Let discover our proposal to bring built-in fuzzing for free to @vitest.dev! 🔥

fast-check.dev/blog/2025/03...

28.03.2025 08:50 — 👍 16    🔁 3    💬 0    📌 3

Not found the time to do so but it would be a great addition in our official documentation

23.03.2025 18:13 — 👍 1    🔁 0    💬 1    📌 0
Preview
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 ...

Next steps will be about:

· Document it
· Support for --fuzz command line flag
· Deeper integration by supporting: beforeEach, afterEach, timeout...
· Relive discussion around providing it natively from Vitest — github.com/vitest-dev/v...

23.03.2025 10:23 — 👍 2    🔁 0    💬 0    📌 0

Our latest version of the @fast-check/vitest plugin has just been released and it supports this syntax natively 🚀

Stop relying on indeterministic values in your @vitest.dev tests 🤗

More to come soon with a dedicated article on it ✍️

23.03.2025 09:37 — 👍 6    🔁 1    💬 1    📌 0

Already 1 week since the release and so far so good 🤞

19.03.2025 08:54 — 👍 2    🔁 0    💬 0    📌 0

✅ Bag and stickers packed for tonight
🤗 Looking forward to seeing many at the event of tonight and at React Paris

19.03.2025 05:27 — 👍 7    🔁 1    💬 1    📌 0

⏰ Counting days before Node 18 reaches EOL. Once reached the plan is to drop CJS from our published package 📦

19.03.2025 06:41 — 👍 1    🔁 0    💬 0    📌 0

🍿 Waiting for Node 18 to be EOL so that we can release a new major without CJS builds

13.03.2025 22:26 — 👍 3    🔁 0    💬 0    📌 0

@fast-check.dev is on "This Week In React 225" 🤩

13.03.2025 07:48 — 👍 2    🔁 1    💬 1    📌 0

Super excited to check this out🔥

Generating good default values from a schema is closely linked to having a fully reduced representation, which is one of my favorite problems in the world.

10.03.2025 22:41 — 👍 7    🔁 1    💬 0    📌 0
Preview
What's new in fast-check 4.0.0? | fast-check The release of fast-check 4.0.0 marks the end of the 3.x series. With this new version, we've streamlined and refined our APIs, embraced modern standards, and removed unnecessary polyfills to enhance ...

🚀 Version 4.0.0 is out!

More details at fast-check.dev/blog/2025/03...

10.03.2025 22:13 — 👍 13    🔁 5    💬 0    📌 3
Preview
chore: use `unplugin-isolated-decl` with `oxc-transform` for dts build by hi-ogawa · Pull Request #7609 · vitest-dev/vitest (Supersedes) closes chore: switch to oxc for dts & typescript transform #7472 Based on #7472. Credits to @sxzz for the original PR and his unplugin-isolated-decl, also OXC team for their tooli...

Three weeks ago @sxzz.dev updated Vitest to (mostly) adopt TypeScript's stricter Isolated Declarations mode 🎉

github.com/vitest-dev/v...

This allowed @hiogawa.bsky.social to make Vitest use Oxc for DTS generation. Build time reduced from 90s to 27s - a 70% reduction 🔥

github.com/vitest-dev/v...

07.03.2025 09:16 — 👍 76    🔁 13    💬 0    📌 1

🍳 Cooking a few things for the next major of fast-check... More to come soon but it should arrive in the coming days 🤩

08.03.2025 22:47 — 👍 3    🔁 1    💬 1    📌 0
Post image

A glimpse at what’s coming to Effect Days:

◆ AI Agents

◆ Error Management & Testing

◆ Effect Cluster & Fibers

◆ Next-Gen DevTools

◆ Rebuilding Redis for great Effect

...and much more!

🎟️ Get your ticket now:

effect.website/events/effec...

03.03.2025 12:55 — 👍 11    🔁 3    💬 1    📌 0

6+

03.03.2025 07:46 — 👍 0    🔁 0    💬 0    📌 0

Our next move will be to embrace the monorepo mode coming with @vitest.dev.

So far we have one CI job per package of the monorepo. But for most of them most of the CI time is about setting up the environment to run the tests.

27.02.2025 07:00 — 👍 5    🔁 0    💬 1    📌 0

We recently moved from Yarn berry in PNP mode to @pnpm.io.

So far so good, the CI performance is great and the switch has been smooth 👌

27.02.2025 06:57 — 👍 4    🔁 0    💬 1    📌 0
Preview
Demystifying monads in Rust through property-based testing :: sunshowers A jargon-free, practical explanation of monads as a design pattern.

New blog post: the monad tutorial of my dreams, and maybe of yours! A jargon-free, practical explanation of monads as a design pattern, using Rust and property-based testing as the vehicle

20.02.2025 00:04 — 👍 140    🔁 32    💬 7    📌 6
Post image

Just added a banner on top of the documentation to make it clear 👍

07.02.2025 12:37 — 👍 1    🔁 0    💬 1    📌 0

Our next major is coming soon ☺️

Just piling the last few PRs and ensuring all needed breaking changes related to issues have been included 🚢

So far we have already released a new version of our random library: pure-rand 🎲

07.02.2025 11:57 — 👍 3    🔁 0    💬 0    📌 0

Yes not yet, but I'm working on it. Taking a bit longer than expected to have everything ready 😅

At least part of the migration path can already be achievable from v3.

But I should probably put a warning message on top of the page so that is clearer 😁

07.02.2025 11:53 — 👍 1    🔁 0    💬 1    📌 0

@fast-check.dev is following 20 prominent accounts