dubzzz / fast-check

Property based testing framework for JavaScript (like QuickCheck) written in TypeScript
https://fast-check.dev/
MIT License
4.28k stars 178 forks source link

👷(ava) Move build chain to ESM #5163

Closed dubzzz closed 1 month ago

dubzzz commented 1 month ago

Description

⚠️ Minor breaking change first opened as #4589

The build chain of @fast-check/ava has been CommonJS-based since day 1. With ESM moving forward in the ecosystem, it's time to move ourselves to the new standard and adapt our build chains to ESM.

Unfortunately it may have some subtle impacts on our users as our package will not be a CJS one offering a ESM fallback anymore. I will rather be the opposite: an ESM package with a fallback to CJS. It implies that we moved ESM related files closer to the root of the package (we could have kept them in esm/) and moved the CJS ones further in the file structure (we had to move them).

Another subtle impact is that it would impose our users to run at least Node ≥12.17.0. But it was already a requirement due to ava itself: https://github.com/avajs/ava/blob/v4.0.0/package.json#L23C1-L25C4.

As such we consider it as a breaking change.

ChecklistDon't delete this checklist and make sure you do the following before opening the PR

Advanced

codesandbox-ci[bot] commented 1 month ago

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit ee73524d67161dd10bc2e2fa72169bd1149865c3:

Sandbox Source
@fast-check/examples Configuration
github-actions[bot] commented 1 month ago

👋 A preview of the new documentation is available at: http://66a425e01fc25e71fab34fb3--dubzzz-fast-check.netlify.app