Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

👷(ava) Move build chain to ESM #5164

Merged
merged 2 commits into from
Jul 26, 2024
Merged

👷(ava) Move build chain to ESM #5164

merged 2 commits into from
Jul 26, 2024

Conversation

dubzzz
Copy link
Owner

@dubzzz dubzzz commented Jul 26, 2024

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

  • The name of my PR follows gitmoji specification
  • My PR references one of several related issues (if any)
    • New features or breaking changes must come with an associated Issue or Discussion
    • My PR does not add any new dependency without an associated Issue or Discussion
  • My PR includes bumps details, please run yarn bump and flag the impacts properly
  • My PR adds relevant tests and they would have failed without my PR (when applicable)

Advanced

  • Category: ⚠️ Minor breaking change
  • Impacts: Honestly none expected!

**⚠️ Minor breaking change**

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.
@dubzzz dubzzz closed this Jul 26, 2024
Copy link

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 ee73524:

Sandbox Source
@fast-check/examples Configuration

@dubzzz dubzzz reopened this Jul 26, 2024
@dubzzz dubzzz enabled auto-merge (squash) July 26, 2024 22:41
Copy link
Contributor

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

@dubzzz dubzzz merged commit a1ad0b3 into main Jul 26, 2024
131 of 164 checks passed
@dubzzz dubzzz deleted the ava-2 branch July 26, 2024 22:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant