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 permissive type #2759

Merged
merged 1 commit into from
Sep 10, 2023
Merged

fix: remove permissive type #2759

merged 1 commit into from
Sep 10, 2023

Conversation

wcatron
Copy link
Contributor

@wcatron wcatron commented Aug 24, 2023

Resolve #2758 by remove permissive type. Because BaseFetcher allows (...args: any) when your key and fetcher key mismatch you fall through to the override:

<Data = any, Error = any>(
     key: Key,
     fetcher: BareFetcher<Data> | null
   ): SWRResponse<Data, Error>

This should instead be flagged by typescript. Removing that override broke some tests added in #1640 which appeared to be designed to allow for backwards compatible hooks that don't conform to StrictKey to be compatible. Specifically these two type tests:

useSWR<{ id: number }>('/api/', () => ({ id: 123 }))
useSWR<string, any>('/api/', (key: string) => key)

The new override covers these while retaining type inference by just not defaulting to StrictKey which appears to be the main issue.

Copy link

@orca-security-us orca-security-us bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Orca Security Scan Summary

Status Check Issues by priority
Passed Passed Secrets high 0   medium 0   low 0   info 0 View in Orca

@codesandbox-ci
Copy link

codesandbox-ci bot commented Aug 24, 2023

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

Sandbox Source
SWR-Basic Configuration
SWR-States Configuration
SWR-Infinite Configuration
SWR-SSR Configuration

Copy link
Collaborator

@promer94 promer94 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@promer94 promer94 merged commit 141cccf into vercel:main Sep 10, 2023
5 checks passed
renovate bot added a commit to Unleash/unleash that referenced this pull request Oct 6, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [swr](https://swr.vercel.app)
([source](https://togithub.com/vercel/swr)) | [`2.2.2` ->
`2.2.4`](https://renovatebot.com/diffs/npm/swr/2.2.2/2.2.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/swr/2.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/swr/2.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/swr/2.2.2/2.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/swr/2.2.2/2.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>vercel/swr (swr)</summary>

### [`v2.2.4`](https://togithub.com/vercel/swr/releases/tag/v2.2.4)

[Compare
Source](https://togithub.com/vercel/swr/compare/v2.2.3...v2.2.4)

##### Patches

- Revert "Remove `index.js` suffix of `use-sync-external-store/shim` to
support React Native" by [@&#8203;huozhi](https://togithub.com/huozhi)
in
[vercel/swr#2802

**Full Changelog**:
vercel/swr@v2.2.3...v2.2.4

### [`v2.2.3`](https://togithub.com/vercel/swr/releases/tag/v2.2.3)

[Compare
Source](https://togithub.com/vercel/swr/compare/v2.2.2...v2.2.3)

##### Patches

- fix: remove permissive type by
[@&#8203;wcatron](https://togithub.com/wcatron) in
[vercel/swr#2759
- Remove `index.js` suffix of `use-sync-external-store/shim` to support
React Native by [@&#8203;malash](https://togithub.com/malash) in
[vercel/swr#2767
- fix: default to fetch type in keyed mutator by
[@&#8203;linkvt](https://togithub.com/linkvt) in
[vercel/swr#2753
- types: export mutation types by
[@&#8203;promer94](https://togithub.com/promer94) in
[vercel/swr#2780

##### Misc

- test: update tests, use matched types for mutate api by
[@&#8203;huozhi](https://togithub.com/huozhi) in
[vercel/swr#2781

##### New Contributors

- [@&#8203;wcatron](https://togithub.com/wcatron) made their first
contribution in
[vercel/swr#2759
- [@&#8203;malash](https://togithub.com/malash) made their first
contribution in
[vercel/swr#2767
- [@&#8203;linkvt](https://togithub.com/linkvt) made their first
contribution in
[vercel/swr#2753

**Full Changelog**:
vercel/swr@v2.2.2...v2.2.3

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjMiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjMiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to huv1k/website that referenced this pull request Jan 12, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [swr](https://swr.vercel.app)
([source](https://togithub.com/vercel/swr)) | [`2.2.2` ->
`2.2.4`](https://renovatebot.com/diffs/npm/swr/2.2.2/2.2.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/swr/2.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/swr/2.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/swr/2.2.2/2.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/swr/2.2.2/2.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>vercel/swr (swr)</summary>

### [`v2.2.4`](https://togithub.com/vercel/swr/releases/tag/v2.2.4)

[Compare
Source](https://togithub.com/vercel/swr/compare/v2.2.3...v2.2.4)

##### Patches

- Revert "Remove `index.js` suffix of `use-sync-external-store/shim` to
support React Native" by [@&#8203;huozhi](https://togithub.com/huozhi)
in
[vercel/swr#2802

**Full Changelog**:
vercel/swr@v2.2.3...v2.2.4

### [`v2.2.3`](https://togithub.com/vercel/swr/releases/tag/v2.2.3)

[Compare
Source](https://togithub.com/vercel/swr/compare/v2.2.2...v2.2.3)

##### Patches

- fix: remove permissive type by
[@&#8203;wcatron](https://togithub.com/wcatron) in
[vercel/swr#2759
- Remove `index.js` suffix of `use-sync-external-store/shim` to support
React Native by [@&#8203;malash](https://togithub.com/malash) in
[vercel/swr#2767
- fix: default to fetch type in keyed mutator by
[@&#8203;linkvt](https://togithub.com/linkvt) in
[vercel/swr#2753
- types: export mutation types by
[@&#8203;promer94](https://togithub.com/promer94) in
[vercel/swr#2780

##### Misc

- test: update tests, use matched types for mutate api by
[@&#8203;huozhi](https://togithub.com/huozhi) in
[vercel/swr#2781

##### New Contributors

- [@&#8203;wcatron](https://togithub.com/wcatron) made their first
contribution in
[vercel/swr#2759
- [@&#8203;malash](https://togithub.com/malash) made their first
contribution in
[vercel/swr#2767
- [@&#8203;linkvt](https://togithub.com/linkvt) made their first
contribution in
[vercel/swr#2753

**Full Changelog**:
vercel/swr@v2.2.2...v2.2.3

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/huv1k/website).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
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.

SWRHook noting enforcing fetch arguments and Key types
2 participants