Skip to main content

What's new in fast-check 3.19.0?

· 2 min read
Nicolas Dubien
fast-check maintainer

This release introduces new opt-in options for objects arbitraries such as anything, object, json and jsonValue. These options provide more elegant and shorter ways to produce objects with non-ASCII keys and values.

Continue reading to explore the detailed updates it brings.

What's new in fast-check 3.16.0?

· 5 min read
Nicolas Dubien
fast-check maintainer

This release makes fc.pre safer in terms of typings. It leverages the "assertion function" capability offered by TypeScript. This version has also been focused on preparing the monorepo to move to ECMAScript modules to build itself and on making our documentation better.

Continue reading to explore the detailed updates it brings.

What's new in fast-check 3.14.0?

· 4 min read
Nicolas Dubien
fast-check maintainer

This release changes the way we import type-only files internally in fast-check. While it should not have any visible impact on our clients we preferred to make it a minor.

Continue reading to explore the detailed updates it brings.

Detect prototype pollution automatically

· 4 min read
Nicolas Dubien
fast-check maintainer

Prototype pollution is among the most frequent sources of Common Vulnerabilities and Exposures - aka CVE - in the JavaScript ecosystem. As a result, detecting them early has always been a key challenge for fast-check.

In this post, you will learn what they are and how you can find them easily using fast-check.

Dual packages or supporting both CJS and ESM

· 7 min read
Nicolas Dubien
fast-check maintainer

As library authors and maintainers of fast-check, hiding the complexity of the build systems and making it as easy as possible for users to utilize our libraries has always been one of our priorities. From Node to the browser, including Deno, we always wanted our users not to struggle too much into using fast-check wherever they want.

The rise of ES Modules was both a relief and a pain. It relieved us of the need to consider multiple delivery targets: Asynchronous Module Definition (AMD), CommonJS (CJS), Universal Module Definition (UMD) and others. Instead there is one to rule them all: ES Modules. But, as the ecosystem was and is still late, we were not able to switch in a snap to an ES Modules world and had to keep CJS.

In this article, we will explore how we publish fast-check to support both CommonJS and ES Modules seamlessly.