-
-
Notifications
You must be signed in to change notification settings - Fork 200
✅ Migrate test-types to vitest #6381
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
base: main
Are you sure you want to change the base?
Conversation
|
…hain, filter, map, constant, uniqueArray, record start) Co-authored-by: dubzzz <[email protected]>
… option, letrec, clone, func, falsy, entityGraph Co-authored-by: dubzzz <[email protected]>
Co-authored-by: dubzzz <[email protected]>
Co-authored-by: dubzzz <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR migrates type tests from the custom @fast-check/expect-type package to vitest's built-in expectTypeOf API. The migration updates 524 lines of type tests to use the standard vitest type assertion methods, eliminating the need for a custom testing package and aligning with modern TypeScript testing practices.
Key changes:
- Replaced custom type assertion API with vitest's
expectTypeOf - Converted inline description strings to comments above assertions
- Removed
@fast-check/expect-typefrom devDependencies
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 34 comments.
| File | Description |
|---|---|
| packages/fast-check/test-types/main.ts | Migrated all type assertions from expectType/expectTypeAssignable to expectTypeOf with toEqualTypeOf/toMatchTypeOf methods, and converted description strings to comments |
| packages/fast-check/package.json | Removed @fast-check/expect-type from devDependencies as it's no longer needed |
| ).toEqualTypeOf<{}>(); | ||
| // No recursion "letrec" | ||
| expectTypeOf( | ||
| fc.letrec((_tie) => ({ |
Copilot
AI
Dec 16, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
'_tie' is defined but never used.
| ).toEqualTypeOf<{ a: fc.Arbitrary<number>; b: fc.Arbitrary<unknown> }>(); | ||
| // Accept additional keys within "letrec" but do not expose them outside | ||
| expectTypeOf( | ||
| fc.letrec<{ a: number }>((_tie) => ({ |
Copilot
AI
Dec 16, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
'_tie' is defined but never used.
| fc.letrec<{ a: number }>((_tie) => ({ | |
| fc.letrec<{ a: number }>(() => ({ |
| expectType<void>()( | ||
| // "configureGlobal" with custom reporter | ||
| expectTypeOf( | ||
| fc.configureGlobal({ reporter: (_out: fc.RunDetails<unknown>) => {} }), |
Copilot
AI
Dec 16, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
'_out' is defined but never used.
| fc.configureGlobal({ reporter: (_out: fc.RunDetails<unknown>) => {} }), | |
| fc.configureGlobal({ reporter: () => {} }), |
|
@copilot update lock file |
Co-authored-by: dubzzz <[email protected]>
|
@copilot resync the main branch. Move comments on expect-type on the line right before the expect being considered (never after) |
**Description** Improved clarity, completeness, and usability of JSDoc documentation for `entityGraph` and all related types. The previous documentation was minimal and lacked concrete examples. **Changes:** - **`entityGraph` function**: Added output structure explanation, two comprehensive examples (directed graph, employee/team relationships), and relationship arity summary - **`EntityGraphContraints`**: Clarified initial pool concept, deduplication behavior, and prototype handling with examples - **Type definitions** (`Arbitraries`, `ArbitraryStructure`, `EntityRelations`, `Relationship`, `EntityGraphValue`): Added detailed explanations and practical examples showing multi-entity structures - **`Arity` and `Strategy`**: Expanded terse descriptions into clear explanations of cardinality options and targeting restrictions All improvements maintain backward compatibility. **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 - [ ] My PR includes bumps details, please run `pnpm run bump` and flag the impacts properly - [x] My PR adds relevant tests and they would have failed without my PR (when applicable) **Advanced** - [x] Category: 📝 Add or update documentation - [x] Impacts: None - documentation only changes <!-- START COPILOT CODING AGENT SUFFIX --> <!-- START COPILOT ORIGINAL PROMPT --> <details> <summary>Original prompt</summary> > please rework and rephrase the jsdoc for entityGraph and anything linked to it (ie entityGraphCondtrzint and similar ones) </details> <!-- START COPILOT CODING AGENT TIPS --> --- 💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs. --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: dubzzz <[email protected]> Co-authored-by: Nicolas DUBIEN <[email protected]>
The entityGraph documentation was too terse and didn't provide clear explanations of key concepts like arity, strategy, and relationship types. This updates the MD documentation to align with the improved JSDoc from PR #6367. **Key changes:** - **Enhanced descriptions**: Clarified that cycles/shared references are supported by default but controllable via strategy options. Added explicit output structure description. - **Parameter clarifications**: - `arity`: Detailed cardinality explanations ('0-1' = optional, '1' = required, 'many' = array with no duplicate references by object identity) - `strategy`: Clear descriptions of 'any' (no restrictions), 'exclusive' (prevents sharing), 'successor' (prevents cycles/self-references) - `initialPoolConstraints`: Explicitly references `minLength`/`maxLength` properties like `fc.array`, notes additional entities may be created for relationships - `unicityConstraints`: Clarifies deduplication uses `Object.is` on selector function results - **Restructured examples**: Replaced terse "TLDR" comments with structured format: ```js // Note: Generate employees with optional manager relationships, preventing cycles // - Entity type: employee with name field // - Relationship: manager with arity '0-1' (optional) and strategy 'successor' (prevents cycles) // - Produces: { employee: [{ name: "Alice", manager: <employee#1> }, ...] } // // Characteristics of this configuration: // - Enforces unique names (unicityConstraints) // - Prevents cycles (e.g., A manages B who manages A) due to strategy: 'successor' ``` Maintains consistency with documentation patterns used for other arbitraries (record, option, etc.). <!-- START COPILOT CODING AGENT SUFFIX --> <!-- START COPILOT ORIGINAL PROMPT --> <details> <summary>Original prompt</summary> > based on changed being currently purposes by #6367, please update the documentation (the MD file) describing entityGraph to be more explicit. try to preserve the shape of documentation that we used for all other arbitraries </details> <!-- START COPILOT CODING AGENT TIPS --> --- 💬 We'd love your input! Share your thoughts on Copilot coding agent in our [2 minute survey](https://gh.io/copilot-coding-agent-survey). --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: dubzzz <[email protected]> Co-authored-by: Nicolas DUBIEN <[email protected]>
Reactivates two skipped tests for `.only.prop` functionality that were
failing due to vitest's `.only` modifier requiring the `--allowOnly`
flag.
## Changes
- Modified `runSpec()` to accept optional `allowOnly` parameter that
passes `--allowOnly` flag to vitest
- Reactivated `test.only.prop` and `it.only.prop` tests by removing
`.skip` modifier
- Fixed `test.concurrent.fails.only.prop` which was accidentally passing
without the flag
```typescript
// Before: test was skipped
it.skip(`should support ${runnerName}.only.prop`, async () => {
const out = await runSpec(specDirectory);
expectPass(out);
});
// After: test runs with allowOnly flag
it.concurrent(`should support ${runnerName}.only.prop`, async () => {
const out = await runSpec(specDirectory, { allowOnly: true });
expectPass(out);
});
```
All four `.only.prop` test variants now pass.
<!-- START COPILOT CODING AGENT SUFFIX -->
<!-- START COPILOT ORIGINAL PROMPT -->
<details>
<summary>Original prompt</summary>
> reactivate skipped tests, there is at least one in vitest part
</details>
<!-- START COPILOT CODING AGENT TIPS -->
---
💬 We'd love your input! Share your thoughts on Copilot coding agent in
our [2 minute survey](https://gh.io/copilot-coding-agent-survey).
---------
Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: dubzzz <[email protected]>
The worker e2e tests used a misnamed `jestTimeout` variable despite
running on Vitest. The 10-second timeout was also insufficient for some
test scenarios.
## Changes
- **Renamed**: `jestTimeout` → `testTimeout` across all 13 e2e test
files
- **Increased timeout**: 10000ms → 30000ms
```typescript
// Before
describe('@fast-check/worker', () => {
const jestTimeout = 10000;
// ...
it('test name', async () => { /* ... */ }, jestTimeout);
});
// After
describe('@fast-check/worker', () => {
const testTimeout = 30000;
// ...
it('test name', async () => { /* ... */ }, testTimeout);
});
```
Affected files in `packages/worker/test/e2e/`:
- asyncThrow.spec.ts
- blockEventLoop.spec.ts
- concurrentAssert.spec.ts
- failing.spec.ts
- noWorker.spec.ts
- nonSerializableButSameData.spec.ts
- nonSerializableData.spec.ts
- passing.spec.ts
- predicateIsolation.spec.ts
- propertyIsolation.spec.ts
- supportPre.spec.ts
- syncThrow.spec.ts
- unregistered.spec.ts
<!-- START COPILOT CODING AGENT SUFFIX -->
<!-- START COPILOT ORIGINAL PROMPT -->
<details>
<summary>Original prompt</summary>
> increase jestTimeout value in worker e2e tests. rename the variable
too, it's not anymore jest
</details>
<!-- START COPILOT CODING AGENT TIPS -->
---
✨ Let Copilot coding agent [set things up for
you](https://github.com/dubzzz/fast-check/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.
---------
Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: dubzzz <[email protected]>
Co-authored-by: Nicolas DUBIEN <[email protected]>
E2e tests were timing out with "Property timeout: exceeded limit of 1000
milliseconds" errors in CI, particularly in
`nonSerializableButSameData.spec.ts`.
## Changes
- Increased `assertTimeout` from 1000ms to 5000ms across all 13 e2e test
files in `packages/worker/test/e2e/`
- Updated expected error message in `blockEventLoop.spec.ts` to match
new 5000ms timeout value
The 5-second timeout provides adequate execution time for property-based
tests under constrained CI environments.
<!-- START COPILOT CODING AGENT SUFFIX -->
<!-- START COPILOT ORIGINAL PROMPT -->
<details>
<summary>Original prompt</summary>
> bump the timeouts in e2e of worker to 5s, to drop these errors
>
>
> FAIL @fast-check/worker
test/e2e/nonSerializableButSameData.spec.ts�[2m > @fast-check/worker�[2m
> should produce the same data in worker and main thread
> AssertionError: expected 'Error: Property failed after 1 tests\…' to
match />>>nonSerializableButSameDataProperty…/
>
> - Expected:
> />>>nonSerializableButSameDataProperty=(.*)<<</
>
> + Received:
> "Error: Property failed after 1 tests
> { seed: -1454768394, path: \"0\", endOnFailure: true }
> Counterexample: [Symbol.for(\"-962\")]
> Shrunk 0 time(s)
> Got error: Property timeout: exceeded limit of 1000 milliseconds
> at Timeout.<anonymous>
(D:/a/fast-check/fast-check/packages/fast-check/lib/check/property/TimeoutProperty.js:6:30)
> at listOnTimeout (node:internal/timers:605:17)
> at processTimers (node:internal/timers:541:7)
>
> Hint: Enable verbose mode in order to have the list of all failing
values encountered during the run"
>
> �[2m❯ test/e2e/nonSerializableButSameData.spec.ts:�[2m36:27
> 34| const workerValueRegex = />>>nonSerializableButSameDataPrope…
> 35| expect(message).toMatch(mainValueRegex);
> 36| expect(message).toMatch(workerValueRegex);
> | ^
> 37| const mainValue = mainValueRegex.exec(message)![1];
> 38| const workerValue = workerValueRegex.exec(message)![1];
</details>
<!-- START COPILOT CODING AGENT TIPS -->
---
💬 We'd love your input! Share your thoughts on Copilot coding agent in
our [2 minute survey](https://gh.io/copilot-coding-agent-survey).
---------
Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: dubzzz <[email protected]>
**Description** <!-- Please provide a short description and potentially linked issues justifying the need for this PR --> <!-- * 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_ - [ ] The name of my PR follows [gitmoji](https://gitmoji.dev/) 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 `pnpm run bump` and flag the impacts properly - [ ] 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! --> - [ ] Category: ... - [ ] Impacts: ... <!-- [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? -->
## Plan: Replace ts-ignore with ts-expect-error and add details - [x] Replace `@ts-ignore` with `@ts-expect-error` in packages/jest/src/jest-fast-check-worker.ts and add explanation comment - [x] Replace `@ts-ignore` with `@ts-expect-error` in packages/poisoning/test/main.spec.ts (4 occurrences) and add explanation comments - [x] Replace `@ts-ignore` with `@ts-expect-error` in packages/poisoning/test/internals/TrackDiffsOnGlobal.spec.ts and add explanation comment - [x] Replace `@ts-ignore` with `@ts-expect-error` in packages/worker/test/e2e/*.spec.ts files (12 occurrences) and add explanation comments - [x] Replace `@ts-ignore` with `@ts-expect-error` in website/docs/tutorials/detect-race-conditions/Playgrounds.tsx and add explanation comment - [x] Run lint check to ensure no issues with changes - [x] Remove unused eslint-disable directives automatically cleaned up by linter - [x] Keep `@ts-ignore` for jest-fast-check-worker.ts (conditional error in ESM only) with detailed explanation - [x] Build all packages successfully - [x] Run tests for poisoning and worker packages - all pass - [x] Complete code review - no issues found - [x] Complete security scan - no vulnerabilities found - [x] Resolve merge conflicts with main branch (concurrentAssert.spec.ts) ## Merge Conflict Resolution Merged latest changes from main branch which added logging functionality to `concurrentAssert.spec.ts`. Resolved conflict by: - Keeping the `@ts-expect-error` approach from this PR - Including the new `concurrentLogFile` import from main - Preserving all new logging functionality All tests pass after merge. <!-- START COPILOT CODING AGENT SUFFIX --> <!-- START COPILOT ORIGINAL PROMPT --> <details> <summary>Original prompt</summary> > replace ts-ignore by ts-expect-error and add more details on why we ignore if missing </details> <!-- START COPILOT CODING AGENT TIPS --> --- 💬 We'd love your input! Share your thoughts on Copilot coding agent in our [2 minute survey](https://gh.io/copilot-coding-agent-survey). --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: dubzzz <[email protected]> Co-authored-by: Nicolas DUBIEN <[email protected]>
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@testing-library/react](https://redirect.github.com/testing-library/react-testing-library) | [`^16.3.0` -> `^16.3.1`](https://renovatebot.com/diffs/npm/@testing-library%2freact/16.3.0/16.3.1) |  |  | --- ### Release Notes <details> <summary>testing-library/react-testing-library (@​testing-library/react)</summary> ### [`v16.3.1`](https://redirect.github.com/testing-library/react-testing-library/compare/v16.3.0...a2d37ffa09d85b10485f29b79cf7cb4f8ec943db) [Compare Source](https://redirect.github.com/testing-library/react-testing-library/compare/v16.3.0...v16.3.1) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/dubzzz/fast-check). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41OS4wIiwidXBkYXRlZEluVmVyIjoiNDIuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.25.0` -> `10.26.0`](https://renovatebot.com/diffs/npm/pnpm/10.25.0/10.26.0) |  |  | --- ### Release Notes <details> <summary>pnpm/pnpm (pnpm)</summary> ### [`v10.26.0`](https://redirect.github.com/pnpm/pnpm/compare/v10.25.0...v10.26.0) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.25.0...v10.26.0) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/dubzzz/fast-check). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41OS4wIiwidXBkYXRlZEluVmVyIjoiNDIuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@typescript-eslint/utils](https://typescript-eslint.io/packages/utils) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils)) | [`^8.49.0` -> `^8.50.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2futils/8.49.0/8.50.0) |  |  | | [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`^8.49.0` -> `^8.50.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.49.0/8.50.0) |  |  | --- ### Release Notes <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/utils)</summary> ### [`v8.50.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/utils/CHANGELOG.md#8500-2025-12-15) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.49.0...v8.50.0) This was a version bump only for utils to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (typescript-eslint)</summary> ### [`v8.50.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8500-2025-12-15) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.49.0...v8.50.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/dubzzz/fast-check). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41OS4wIiwidXBkYXRlZEluVmVyIjoiNDIuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`^7.2.7` -> `^7.3.0`](https://renovatebot.com/diffs/npm/vite/7.2.7/7.3.0) |  |  | --- ### Release Notes <details> <summary>vitejs/vite (vite)</summary> ### [`v7.3.0`](https://redirect.github.com/vitejs/vite/releases/tag/v7.3.0) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.2.7...v7.3.0) Please refer to [CHANGELOG.md](https://redirect.github.com/vitejs/vite/blob/v7.3.0/packages/vite/CHANGELOG.md) for details. </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/dubzzz/fast-check). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41OS4wIiwidXBkYXRlZEluVmVyIjoiNDIuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github/codeql-action](https://redirect.github.com/github/codeql-action) | action | patch | `v4.31.8` -> `v4.31.9` | --- ### Release Notes <details> <summary>github/codeql-action (github/codeql-action)</summary> ### [`v4.31.9`](https://redirect.github.com/github/codeql-action/compare/v4.31.8...v4.31.9) [Compare Source](https://redirect.github.com/github/codeql-action/compare/v4.31.8...v4.31.9) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/dubzzz/fast-check). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41OS4wIiwidXBkYXRlZEluVmVyIjoiNDIuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`^24.10.3` -> `^24.10.4`](https://renovatebot.com/diffs/npm/@types%2fnode/24.10.3/24.10.4) |  |  | --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/dubzzz/fast-check). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41OS4wIiwidXBkYXRlZEluVmVyIjoiNDIuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Security audit flagged the `preview` job's `pkg-pr-new publish` commands for not using trusted publishing authentication. However, these are not actual npm publish commands but `pnpm dlx pkg-pr-new` commands for creating preview deployments. **Changes** - Created `.github/zizmor.yml` configuration file to ignore the `use-trusted-publishing` rule for the two `pkg-pr-new` commands at lines 210 and 213 in `build-status.yml` - Added explanatory comments in the config file documenting why these commands are ignored (they are preview deployment commands, not npm publish operations) - Updated `.github/workflows/zizmor.yml` to trigger on changes to `.github/zizmor.yml`, ensuring the security audit runs when the config is modified - Explicitly referenced the config file in the workflow command with `--config .github/zizmor.yml` for clarity - This approach is preferred over adding OIDC permissions since these commands don't actually publish to npm **Verification** - Tested with `zizmor --config .github/zizmor.yml .` - shows "2 ignored" and "No findings to report" <!-- START COPILOT CODING AGENT SUFFIX --> <!-- START COPILOT ORIGINAL PROMPT --> <details> <summary>Original prompt</summary> > provide fixed for the errors: info[use-trusted-publishing]: prefer trusted publishing for authentication > --> ./.github/workflows/build-status.yml:210:14 > | > 210 | run: pnpm dlx pkg-pr-new publish --compact './packages/*' --template './examples' --comment=off > | --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this command > | | > | this step > | > = note: audit confidence → High > > info[use-trusted-publishing]: prefer trusted publishing for authentication > --> ./.github/workflows/build-status.yml:213:14 > | > 213 | run: pnpm dlx pkg-pr-new publish --compact './packages/*' --template './examples' > | --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this command > | | > | this step > | > = note: audit confidence → High </details> <!-- START COPILOT CODING AGENT TIPS --> --- 💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs. --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: dubzzz <[email protected]>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/attest-build-provenance](https://redirect.github.com/actions/attest-build-provenance) | action | minor | `v3.0.0` -> `v3.1.0` | --- ### Release Notes <details> <summary>actions/attest-build-provenance (actions/attest-build-provenance)</summary> ### [`v3.1.0`](https://redirect.github.com/actions/attest-build-provenance/compare/v3.0.0...v3.1.0) [Compare Source](https://redirect.github.com/actions/attest-build-provenance/compare/v3.0.0...v3.1.0) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/dubzzz/fast-check). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41OS4wIiwidXBkYXRlZEluVmVyIjoiNDIuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.26.0` -> `10.26.1`](https://renovatebot.com/diffs/npm/pnpm/10.26.0/10.26.1) |  |  | --- ### Release Notes <details> <summary>pnpm/pnpm (pnpm)</summary> ### [`v10.26.1`](https://redirect.github.com/pnpm/pnpm/compare/v10.26.0...v10.26.1) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.26.0...v10.26.1) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/dubzzz/fast-check). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41OS4wIiwidXBkYXRlZEluVmVyIjoiNDIuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Copilot <[email protected]> Co-authored-by: dubzzz <[email protected]> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <[email protected]>
Co-authored-by: dubzzz <[email protected]>
Completed in f382608:
Examples:
|
Applied by GitHub Action workflow: PR Format Run ID: 20391463347 Target PR: 6381
@fast-check/ava
@fast-check/expect-type
fast-check
@fast-check/jest
@fast-check/packaged
@fast-check/poisoning
@fast-check/vitest
@fast-check/worker
commit: |
|
@copilot please fix packages/fast-check typecheck: test-types/main.ts(407,33): error TS2554: Expected 1 arguments, but got 0. |
Co-authored-by: dubzzz <[email protected]>
Fixed in e3bf88f:
Both typecheck errors are now resolved. |
|
👋 A preview of the new documentation is available at: http://69465e30b02a0033ac70b983--dubzzz-fast-check.netlify.app |
Summary
Successfully migrated all type tests in
packages/fast-check/test-types/main.tsfrom@fast-check/expect-typeto vitest's built-inexpectTypeOf. The migration involved:expectType<T>()(value, 'description')withexpectTypeOf(value).toEqualTypeOf<T>()expectTypeAssignable<T>()(value, 'description')withexpectTypeOf(value).toMatchTypeOf<T>()@fast-check/expect-typefrom package.jsonAll type checks pass and the package builds successfully.
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.