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

fix: remove recursive type reference in vitest types #636

Merged
merged 1 commit into from
Oct 17, 2024

Conversation

G-Rath
Copy link
Contributor

@G-Rath G-Rath commented Oct 7, 2024

What:

Replaces the dynamic lookup of the return type of expect.stringContaining with the underlying type

Why:

This resolves the TypeScript errors introduced by #612, as described in #629

How:

By replacing the use of expect.stringContaining with a concrete type - I don't actually know why ReturnType was being used in the first place given that expect.stringContaining has a return type of any and I don't really see that changing anytime in the future.

Checklist:

  • Documentation
  • Tests
  • Updated Type Definitions
  • Ready to be merged

Resolves #632
Resolves #629

@G-Rath
Copy link
Contributor Author

G-Rath commented Oct 17, 2024

@gnapse would it be possible to have this reviewed? as currently all typescript types are broken meaning we've having to patch this manually for our CIs to pass 😅

@gnapse
Copy link
Member

gnapse commented Oct 17, 2024

@all-contributors please add @G-Rath for code

Copy link
Contributor

@gnapse

I've put up a pull request to add @G-Rath! 🎉

@gnapse gnapse merged commit 4468378 into testing-library:main Oct 17, 2024
5 checks passed
Copy link

🎉 This PR is included in version 6.6.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

@BR0kEN-
Copy link

BR0kEN- commented Oct 18, 2024

This change results in the following:

Error: src/components/SiteNav/SiteNav.test.tsx(59,22): error TS2339: Property 'toHaveAttribute' does not exist on type 'Assertion<HTMLElement>'.
Error: src/components/SiteNav/SiteNav.test.tsx(60,22): error TS2339: Property 'toHaveTextContent' does not exist on type 'Assertion<HTMLElement>'.
Error: src/components/SiteNav/SiteNav.test.tsx(84,22): error TS2339: Property 'toHaveClass' does not exist on type 'Assertion<HTMLElement>'.
Error: src/components/SiteNav/SiteNav.test.tsx(88,18): error TS2339: Property 'toHaveClass' does not exist on type 'Assertion<HTMLElement>'.
Error: src/tests/App.test.tsx(19,66): error TS2339: Property 'toBeInTheDocument' does not exist on type 'Assertion<HTMLElement>'.
Error: src/tests/components/CollapsibleContent.test.tsx(46,60): error TS2339: Property 'toBeInTheDocument' does not exist on type 'Assertion<HTMLElement>'.
Error: src/tests/components/CollapsibleContent.test.tsx(48,37): error TS2339: Property 'toBeVisible' does not exist on type 'Assertion<HTMLDivElement>'.
Error: src/tests/components/CollapsibleContent.test.tsx(68,30): error TS2339: Property 'toHaveClass' does not exist on type 'Assertion<HTMLDivElement>'.
Error: src/tests/components/CollapsibleContent.test.tsx(71,62): error TS2339: Property 'toBeInTheDocument' does not exist on type 'Assertion<HTMLElement>'.
Error: src/tests/components/CollapsibleContent.test.tsx(75,33): error TS2339: Property 'toBeVisible' does not exist on type 'Assertion<HTMLElement | null>'.
Error: src/tests/components/CollapsibleContent.test.tsx(90,18): error TS2339: Property 'toHaveClass' does not exist on type 'Assertion<Element | null>'.
Error: src/tests/components/CollapsibleContent.test.tsx(111,33): error TS2339: Property 'toHaveClass' does not exist on type 'Assertion<HTMLElement | null>'.
Error: src/tests/components/DownloadLink.test.tsx(21,18): error TS2339: Property 'toBeInTheDocument' does not exist on type 'Assertion<HTMLElement>'.
Error: src/tests/components/DownloadLink.test.tsx(22,18): error TS2339: Property 'toHaveAttribute' does not exist on type 'Assertion<HTMLElement>'.
Error: src/tests/components/DownloadLink.test.tsx(23,18): error TS2339: Property 'toHaveAttribute' does not exist on type 'Assertion<HTMLElement>'.

@gnapse
Copy link
Member

gnapse commented Oct 18, 2024

@G-Rath can you look into it? I have no access to an environment with jest-dom and vitest right now.

@greysteil
Copy link

FWIW I'm not seeing the errors @BR0kEN- is - the change is working well for me (and I had the issue @G-Rath had with jest-dom and vitest before).

@BR0kEN-
Copy link

BR0kEN- commented Oct 18, 2024

Thanks for the fast reply and apologies, I had to not post that before a little of research.

I had no @testing-library/jest-dom added to the compilerOptions.types of the tsconfig.json and it worked. After this change, which is logical, it stopped. Fortunately, the fix is easy.

@G-Rath G-Rath deleted the patch-1 branch October 22, 2024 20:25
CrispyBaguette pushed a commit to CrispyBaguette/wasm-palette-converter that referenced this pull request Nov 8, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) | dependencies | major | [`^5.16.4` -> `^6.0.0`](https://renovatebot.com/diffs/npm/@testing-library%2fjest-dom/5.17.0/6.6.3) |

---

### Release Notes

<details>
<summary>testing-library/jest-dom (@&#8203;testing-library/jest-dom)</summary>

### [`v6.6.3`](https://github.com/testing-library/jest-dom/releases/tag/v6.6.3)

[Compare Source](testing-library/jest-dom@v6.6.2...v6.6.3)

##### Bug Fixes

-   add vitest import when extending vitest matchers ([#&#8203;646](testing-library/jest-dom#646)) ([5ba0156](testing-library/jest-dom@5ba0156))

### [`v6.6.2`](https://github.com/testing-library/jest-dom/releases/tag/v6.6.2)

[Compare Source](testing-library/jest-dom@v6.6.1...v6.6.2)

##### Bug Fixes

-   remove recursive type reference in vitest types ([#&#8203;636](testing-library/jest-dom#636)) ([4468378](testing-library/jest-dom@4468378))

### [`v6.6.1`](https://github.com/testing-library/jest-dom/releases/tag/v6.6.1)

[Compare Source](testing-library/jest-dom@v6.6.0...v6.6.1)

##### Bug Fixes

-   fix lodash import in to-have-selection.js ([#&#8203;642](testing-library/jest-dom#642)) ([ced792e](testing-library/jest-dom@ced792e))

### [`v6.6.0`](https://github.com/testing-library/jest-dom/releases/tag/v6.6.0)

[Compare Source](testing-library/jest-dom@v6.5.0...v6.6.0)

##### Features

-   implement toHaveSelection ([#&#8203;637](testing-library/jest-dom#637)) ([9b14804](testing-library/jest-dom@9b14804))

### [`v6.5.0`](https://github.com/testing-library/jest-dom/releases/tag/v6.5.0)

[Compare Source](testing-library/jest-dom@v6.4.8...v6.5.0)

##### Features

-   **toHaveValue:** Asserting aria-valuenow ([#&#8203;479](testing-library/jest-dom#479)) ([acbf416](testing-library/jest-dom@acbf416))

### [`v6.4.8`](https://github.com/testing-library/jest-dom/releases/tag/v6.4.8)

[Compare Source](testing-library/jest-dom@v6.4.7...v6.4.8)

##### Bug Fixes

-   Drop peerDependencies from package.json ([#&#8203;610](testing-library/jest-dom#610)) ([faf534b](testing-library/jest-dom@faf534b))

### [`v6.4.7`](https://github.com/testing-library/jest-dom/releases/tag/v6.4.7)

[Compare Source](testing-library/jest-dom@v6.4.6...v6.4.7)

##### Bug Fixes

-   Type definition of `toHaveClass` ([#&#8203;611](testing-library/jest-dom#611)) ([5cc6298](testing-library/jest-dom@5cc6298))

### [`v6.4.6`](https://github.com/testing-library/jest-dom/releases/tag/v6.4.6)

[Compare Source](testing-library/jest-dom@v6.4.5...v6.4.6)

##### Bug Fixes

-   Support [@&#8203;starting-style](https://github.com/starting-style) ([#&#8203;602](testing-library/jest-dom#602)) ([fd9ee68](testing-library/jest-dom@fd9ee68))

### [`v6.4.5`](https://github.com/testing-library/jest-dom/releases/tag/v6.4.5)

[Compare Source](testing-library/jest-dom@v6.4.4...v6.4.5)

##### Bug Fixes

-   add js suffix to isEqualWith import ([#&#8203;599](testing-library/jest-dom#599)) ([e8c8b13](testing-library/jest-dom@e8c8b13))

### [`v6.4.4`](https://github.com/testing-library/jest-dom/releases/tag/v6.4.4)

[Compare Source](testing-library/jest-dom@v6.4.3...v6.4.4)

##### Bug Fixes

-   **infra:** codecoverage token addition ([#&#8203;600](testing-library/jest-dom#600)) ([f03a582](testing-library/jest-dom@f03a582))

### [`v6.4.3`](https://github.com/testing-library/jest-dom/releases/tag/v6.4.3)

[Compare Source](testing-library/jest-dom@v6.4.2...v6.4.3)

##### Bug Fixes

-   Updates role support for aria-required attribute in `toBeRequired` ([#&#8203;590](testing-library/jest-dom#590)) ([20aca33](testing-library/jest-dom@20aca33))

### [`v6.4.2`](https://github.com/testing-library/jest-dom/releases/tag/v6.4.2)

[Compare Source](testing-library/jest-dom@v6.4.1...v6.4.2)

##### Bug Fixes

-   Remove errant export of GetByRoleMatcher, fixing type checking in some TS configurations ([#&#8203;575](testing-library/jest-dom#575)) ([a93c0c4](testing-library/jest-dom@a93c0c4))

### [`v6.4.1`](https://github.com/testing-library/jest-dom/releases/tag/v6.4.1)

[Compare Source](testing-library/jest-dom@v6.4.0...v6.4.1)

##### Bug Fixes

-   Export type `TestingLibraryMatchers` from "./matchers" ([#&#8203;576](testing-library/jest-dom#576)) ([dd1c4dd](testing-library/jest-dom@dd1c4dd))

### [`v6.4.0`](https://github.com/testing-library/jest-dom/releases/tag/v6.4.0)

[Compare Source](testing-library/jest-dom@v6.3.0...v6.4.0)

##### Features

-   Add toHaveRole matcher ([#&#8203;572](testing-library/jest-dom#572)) ([f7dc673](testing-library/jest-dom@f7dc673))

### [`v6.3.0`](https://github.com/testing-library/jest-dom/releases/tag/v6.3.0)

[Compare Source](testing-library/jest-dom@v6.2.1...v6.3.0)

##### Features

-   Support for regular expressions in toHaveClass ([#&#8203;563](testing-library/jest-dom#563)) ([9787ed5](testing-library/jest-dom@9787ed5))

### [`v6.2.1`](https://github.com/testing-library/jest-dom/releases/tag/v6.2.1)

[Compare Source](testing-library/jest-dom@v6.2.0...v6.2.1)

##### Bug Fixes

-   Standalone types for "./matchers" export and add Bun support ([#&#8203;566](testing-library/jest-dom#566)) ([5675b86](testing-library/jest-dom@5675b86))

### [`v6.2.0`](https://github.com/testing-library/jest-dom/releases/tag/v6.2.0)

[Compare Source](testing-library/jest-dom@v6.1.6...v6.2.0)

##### Features

-   toHaveAccessibleDescription supports aria-description ([#&#8203;565](testing-library/jest-dom#565)) ([1fb156c](testing-library/jest-dom@1fb156c))

### [`v6.1.6`](https://github.com/testing-library/jest-dom/releases/tag/v6.1.6)

[Compare Source](testing-library/jest-dom@v6.1.5...v6.1.6)

##### Bug Fixes

-   Upgrade [@&#8203;adobe/css-tools](https://github.com/adobe/css-tools) to v4.3.2 ([#&#8203;553](testing-library/jest-dom#553)) ([b64b953](testing-library/jest-dom@b64b953))

### [`v6.1.5`](https://github.com/testing-library/jest-dom/releases/tag/v6.1.5)

[Compare Source](testing-library/jest-dom@v6.1.4...v6.1.5)

##### Bug Fixes

-   support uppercase custom props in toHaveStyle ([#&#8203;552](testing-library/jest-dom#552)) ([b7b7c6a](testing-library/jest-dom@b7b7c6a))

### [`v6.1.4`](https://github.com/testing-library/jest-dom/releases/tag/v6.1.4)

[Compare Source](testing-library/jest-dom@v6.1.3...v6.1.4)

##### Bug Fixes

-   upgrade `@adobe/css-tools` to `4.3.1` to address vulnerability ([#&#8203;532](testing-library/jest-dom#532)) ([44f1eab](testing-library/jest-dom@44f1eab))

### [`v6.1.3`](https://github.com/testing-library/jest-dom/releases/tag/v6.1.3)

[Compare Source](testing-library/jest-dom@v6.1.2...v6.1.3)

##### Bug Fixes

-   proper [@&#8203;jest/globals](https://github.com/jest/globals) import ([#&#8203;530](testing-library/jest-dom#530)) ([5b492ac](testing-library/jest-dom@5b492ac))

### [`v6.1.2`](https://github.com/testing-library/jest-dom/releases/tag/v6.1.2)

[Compare Source](testing-library/jest-dom@v6.1.1...v6.1.2)

##### Bug Fixes

-   bump [@&#8203;adobe/css-tools](https://github.com/adobe/css-tools) for ESM support ([#&#8203;525](testing-library/jest-dom#525)) ([b959a68](testing-library/jest-dom@b959a68))

### [`v6.1.1`](https://github.com/testing-library/jest-dom/releases/tag/v6.1.1)

[Compare Source](testing-library/jest-dom@v6.1.0...v6.1.1)

##### Bug Fixes

-   **package.json:** update main and module file paths ([#&#8203;523](testing-library/jest-dom#523)) ([853a3e5](testing-library/jest-dom@853a3e5))

### [`v6.1.0`](https://github.com/testing-library/jest-dom/releases/tag/v6.1.0)

[Compare Source](testing-library/jest-dom@v6.0.1...v6.1.0)

##### Features

-   Publish ESM and CJS (testing-library/jest-dom#519)

### [`v6.0.1`](https://github.com/testing-library/jest-dom/releases/tag/v6.0.1)

[Compare Source](testing-library/jest-dom@v6.0.0...v6.0.1)

##### Bug Fixes

-   matchers type is making the global expect unsafe ([#&#8203;513](testing-library/jest-dom#513)) ([bdb34f1](testing-library/jest-dom@bdb34f1))

### [`v6.0.0`](https://github.com/testing-library/jest-dom/releases/tag/v6.0.0)

[Compare Source](testing-library/jest-dom@v5.17.0...v6.0.0)

##### Features

-   local types, supporting jest, [@&#8203;jest/globals](https://github.com/jest/globals), vitest ([#&#8203;511](testing-library/jest-dom#511)) ([4b764b9](testing-library/jest-dom@4b764b9))

##### BREAKING CHANGES

-   Removes the extend-expect script. Users should use
    the default import path or one of the new test platform-specific
    paths to automatically extend the appropriate "expect" instance.

extend-expect was not documented in the Readme, so this change should
have minimal impact.

Users can now use the following import paths to automatically extend
"expect" for their chosen test platform:

-   [@&#8203;testing-library/jest-dom](https://github.com/testing-library/jest-dom) - jest ([@&#8203;types/jest](https://github.com/types/jest))
-   @&#8203;testing-library/jest-dom/jest-globals - [@&#8203;jest/globals](https://github.com/jest/globals)
-   @&#8203;testing-library/jest-dom/vitest - vitest

For example:

import '@&#8203;testing-library/jest-dom/jest-globals'

Importing from one of the above paths will augment the appropriate
matcher interface for the given test platform, assuming the import
is done in a .ts file that is included in the user's tsconfig.json.

It's also (still) possible to import the matchers directly without
side effects:

import \* as matchers from '@&#8203;testing-library/jest-dom/matchers'

-   Update kcd-scripts
-   Drop node < 14

</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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44LjAiLCJ1cGRhdGVkSW5WZXIiOiIzOS44LjAiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIiLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: https://gitea.bruyant.xyz/alexandre/PaletteSwitcher/pulls/58
Co-authored-by: Renovate <renovate@bruyant.xyz>
Co-committed-by: Renovate <renovate@bruyant.xyz>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Vitest typings are broken in 6.5.0
4 participants