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

Remove index.js suffix of use-sync-external-store/shim to support React Native #2767

Merged
merged 1 commit into from
Sep 10, 2023
Merged

Remove index.js suffix of use-sync-external-store/shim to support React Native #2767

merged 1 commit into from
Sep 10, 2023

Conversation

malash
Copy link
Contributor

@malash malash commented Sep 4, 2023

This PR fixed #2402

According to this document, React Native-specific code can use the '.native.js' suffix, while standard React web code uses the '.js' suffix. By removing index.js suffix of use-sync-external-store/shim, bundling tools like Metro/Webpack could choose the right file for each platform.

I haven't tested this PR on React Native because I'm not familiar with React Native development and I have no idea how to downgrade React to 17. However, I can reproduce the issue and test the PR on GojiJS, which is a React-like framework based on react-reconciler and shares many technical specifications with React Native, including the '.native.js' suffix. It would be appreciated if anyone could help verify the changes.

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 Sep 4, 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 21875d4:

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

@promer94 promer94 merged commit a2bb5ae into vercel:main Sep 10, 2023
5 checks passed
@promer94
Copy link
Collaborator

Thank you!

@maziar-dandc
Copy link

This has broken our prod builds, reproduced on node v14, v16.
Going to pin SWR to an older version for the time being.
If this is caused by a problem from our side, please feel free to point it out, I'm not a FE expert by any means.

[14:57:16] Error in plugin "webpack-stream"
Message:
    Module not found: Error: Can't resolve 'use-sync-external-store/shim' in '/home/~~~~/node_modules/swr/core/dist'
Did you mean 'index.js'?
BREAKING CHANGE: The request 'use-sync-external-store/shim' failed to resolve only because it was resolved as fully specified
(probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"').
The extension in the request is mandatory for it to be fully specified.
Add the extension to the request.
Did you miss the leading dot in 'resolve.extensions'? Did you mean '[".*",".js",".jsx"]' instead of '["*",".js",".jsx"]'?
Details:
    domainEmitter: [object Object]
    domainThrown: false

[14:57:16] 'default' errored after 21 s

huozhi added a commit that referenced this pull request Sep 25, 2023
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.

Successful fetch does not cause rerender on React Native
3 participants