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

⚡️ Faster initialization of globals by dropping typeof checks #5617

Merged
merged 2 commits into from
Jan 14, 2025
Merged

Conversation

dubzzz
Copy link
Owner

@dubzzz dubzzz commented Jan 14, 2025

Description

⚠️ Minor breaking change

In the past we used to checks for typeof Type when initializing our globals (the globals protecting fast-check from poisoning). It used to be done because some of them only appeared starting at Node >8. With our minimal target version being bumped to at least 10.5.0 we can safely stop having these checks and save some precious time during tests (for our users).

This change forces us to move minimal requirements to at least 10.5.0.

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: ⚡️ Improve performance
  • Impacts: We have to run against Node 10.5.0+

Sorry, something went wrong.

**Description**

<!-- Please provide a short description and potentially linked issues
justifying the need for this PR -->

**⚠️ Minor breaking change**

In the past we used to checks for `typeof Type` when initializing our
globals (the globals protecting fast-check from poisoning). It used to
be done because some of them only appeared starting at Node >8. With our
minimal target version being bumped to at least 10.5.0 we can safely
stop having these checks and save some precious time during tests (for
our users).

This change forces us to move minimal requirements to at least 10.5.0.

<!-- * Your PR is fixing a bug or regression? Check for existing issues
related to this bug and link them -->
<!-- * Your PR is adding a new feature? Make sure there is a related
issue or discussion attached to it -->

<!-- You can provide any additional context to help into understanding
what's this PR is attempting to solve: reproduction of a bug, code
snippets... -->

**Checklist** — _Don't delete this checklist and make sure you do the
following before opening the PR_

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

<!-- More about contributing at
https://github.com/dubzzz/fast-check/blob/main/CONTRIBUTING.md -->

**Advanced**

<!-- How to fill the advanced section is detailed below! -->

- [x] Category: ⚡️ Improve performance
- [x] Impacts: We have to run against Node 10.5.0+

<!-- [Category] Please use one of the categories below, it will help us
into better understanding the urgency of the PR -->
<!-- * ✨ Introduce new features -->
<!-- * 📝 Add or update documentation -->
<!-- * ✅ Add or update tests -->
<!-- * 🐛 Fix a bug -->
<!-- * 🏷️ Add or update types -->
<!-- * ⚡️ Improve performance -->
<!-- * _Other(s):_ ... -->

<!-- [Impacts] Please provide a comma separated list of the potential
impacts that might be introduced by this change -->
<!-- * Generated values: Can your change impact any of the existing
generators in terms of generated values, if so which ones? when? -->
<!-- * Shrink values: Can your change impact any of the existing
generators in terms of shrink values, if so which ones? when? -->
<!-- * Performance: Can it require some typings changes on user side?
Please give more details -->
<!-- * Typings: Is there a potential performance impact? In which cases?
-->
@dubzzz dubzzz changed the title ⚡️ Faster initialization of globals by dropping typeof checks (#5212) ⚡️ Faster initialization of globals by dropping typeof checks Jan 14, 2025
@dubzzz dubzzz enabled auto-merge (squash) January 14, 2025 20:44
Copy link

pkg-pr-new bot commented Jan 14, 2025

Open in Stackblitz@fast-check/examples

@fast-check/ava

npm i https://pkg.pr.new/@fast-check/ava@5617

@fast-check/expect-type

npm i https://pkg.pr.new/@fast-check/expect-type@5617

@fast-check/jest

npm i https://pkg.pr.new/@fast-check/jest@5617

fast-check

npm i https://pkg.pr.new/fast-check@5617

@fast-check/packaged

npm i https://pkg.pr.new/@fast-check/packaged@5617

@fast-check/poisoning

npm i https://pkg.pr.new/@fast-check/poisoning@5617

@fast-check/vitest

npm i https://pkg.pr.new/@fast-check/vitest@5617

@fast-check/worker

npm i https://pkg.pr.new/@fast-check/worker@5617

commit: e016631

Copy link
Contributor

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

Copy link

codecov bot commented Jan 14, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 94.79%. Comparing base (440e67f) to head (e016631).
Report is 5 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5617      +/-   ##
==========================================
- Coverage   94.80%   94.79%   -0.01%     
==========================================
  Files         235      234       -1     
  Lines       10030    10018      -12     
  Branches     2820     2805      -15     
==========================================
- Hits         9509     9497      -12     
  Misses        521      521              
Flag Coverage Δ
unit-tests 94.79% <100.00%> (-0.01%) ⬇️
unit-tests-18.x-Linux 94.79% <100.00%> (-0.01%) ⬇️
unit-tests-20.x-Linux 94.79% <100.00%> (-0.01%) ⬇️
unit-tests-22.x-Linux 94.74% <100.00%> (?)
unit-tests-latest-Linux 94.79% <100.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@dubzzz dubzzz merged commit 1bf1eb0 into main Jan 14, 2025
57 checks passed
@dubzzz dubzzz deleted the pr-5212 branch January 14, 2025 20:57
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.

None yet

1 participant