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 #3030 and run relateive test in edge-runtime #3036

Merged
merged 3 commits into from
Nov 25, 2024
Merged

fix #3030 and run relateive test in edge-runtime #3036

merged 3 commits into from
Nov 25, 2024

Conversation

promer94
Copy link
Collaborator

@promer94 promer94 commented Nov 5, 2024

This pr intends to fix the inconsistent behavoir of swr's hash in edge-runtime dev mode.

The reason for this problem is because we're using node.js to simulate the edge-runtime for local development

The global Array and Object of edge-runtime are injected from node.js and the JS engine does not use global Array/Object constructor while building an array/object literal.

Then in dev mode

[].constructor !== Array.constructor
{}.construrtor !== Object.contructor

So we need find alternative to determine whether a key is an array or a plain object

Copy link

codesandbox-ci bot commented Nov 5, 2024

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.

Copy link

socket-security bot commented Nov 5, 2024

New dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/@edge-runtime/jest-environment@3.0.4 Transitive: environment, eval, unsafe +51 2.18 MB kikobeats

View full report↗︎

@promer94 promer94 requested a review from koba04 November 7, 2024 07:03
src/_internal/utils/hash.ts Outdated Show resolved Hide resolved
Copy link
Member

@huozhi huozhi left a comment

Choose a reason for hiding this comment

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

Can you add a PR description and some comments about the change in hash? It's important for others to understand the approach and grab the context when they read the code later unless directly by reading the code

package.json Outdated Show resolved Hide resolved
src/_internal/utils/hash.ts Outdated Show resolved Hide resolved
src/_internal/utils/hash.ts Show resolved Hide resolved
Co-authored-by: Toru Kobayashi <koba0004@gmail.com>
package.json Outdated Show resolved Hide resolved
package.json Outdated Show resolved Hide resolved
@promer94 promer94 requested review from koba04 and huozhi November 25, 2024 07:41
@huozhi huozhi merged commit bd839a4 into main Nov 25, 2024
7 checks passed
@huozhi huozhi deleted the fix-3030 branch November 25, 2024 10:51
alexandresoro pushed a commit to alexandresoro/ouca that referenced this pull request Dec 23, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [swr](https://swr.vercel.app) ([source](https://github.com/vercel/swr)) | dependencies | minor | [`2.2.5` -> `2.3.0`](https://renovatebot.com/diffs/npm/swr/2.2.5/2.3.0) |

---

### Release Notes

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

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

[Compare Source](vercel/swr@v2.2.5...v2.3.0)

##### Feature

-   Support promises as fallback data by [@&#8203;shuding](https://github.com/shuding) in vercel/swr#2891
-   Allow to use with React 19 by [@&#8203;vladshcherbin](https://github.com/vladshcherbin) and [@&#8203;devjiwonchoi](https://github.com/devjiwonchoi) in vercel/swr#3047, vercel/swr#2963

##### Patches

-   fix [#&#8203;3030](vercel/swr#3030) and run relateive test in edge-runtime by [@&#8203;promer94](https://github.com/promer94) in vercel/swr#3036
-   fix: Only suspend when using the `fallback` by [@&#8203;shuding](https://github.com/shuding) in vercel/swr#3045
-   fix type check in tests by [@&#8203;huozhi](https://github.com/huozhi) in vercel/swr#3052
-   fix: Replace the deprecated 'window' with 'globalThis' for Deno by [@&#8203;saul-atomrigs](https://github.com/saul-atomrigs) in vercel/swr#2915
-   fix: check if config.fallback is undefined by [@&#8203;taku-hatano](https://github.com/taku-hatano) in vercel/swr#2913
-   fix(infinte): export SWRInfiniteKeyedMutator type by [@&#8203;LeoMcA](https://github.com/LeoMcA) in vercel/swr#2900
-   fix: Improve comparison performance by [@&#8203;shuding](https://github.com/shuding) in vercel/swr#2973
-   Export ScopedMutator type by [@&#8203;joshkel](https://github.com/joshkel) in vercel/swr#2937
-   Improve-Type-Safety-and-State-Access-in-useStateWithDeps-Hook by [@&#8203;O-BERNARDOFOEGBU](https://github.com/O-BERNARDOFOEGBU) in vercel/swr#3027

##### Misc

-   chore: bump dev deps and change example react version to latest by [@&#8203;huozhi](https://github.com/huozhi) in vercel/swr#2894
-   build: fix beta release job by [@&#8203;huozhi](https://github.com/huozhi) in vercel/swr#2895
-   chore: Improve test coverage by [@&#8203;shuding](https://github.com/shuding) in vercel/swr#2903
-   chore: simplify test coverage strategy by [@&#8203;huozhi](https://github.com/huozhi) in vercel/swr#2909
-   build: simplify react-server export and update bundler by [@&#8203;huozhi](https://github.com/huozhi) in vercel/swr#2897
-   examples: add RSC streaming pre-render with promise fallback example by [@&#8203;promer94](https://github.com/promer94) in vercel/swr#2905
-   Drop client-only by [@&#8203;huozhi](https://github.com/huozhi) in vercel/swr#2910
-   Mark package as side-effect free by [@&#8203;htunnicliff](https://github.com/htunnicliff) in vercel/swr#2904
-   Drop exports module field by [@&#8203;huozhi](https://github.com/huozhi) in vercel/swr#2911
-   chore: update pkg script watch by [@&#8203;unliar](https://github.com/unliar) in vercel/swr#2920
-   test: remove console.error times check by [@&#8203;promer94](https://github.com/promer94) in vercel/swr#2918
-   build: bump bundler for perf by [@&#8203;huozhi](https://github.com/huozhi) in vercel/swr#2929
-   Fix bundling of client entry chunks  by [@&#8203;huozhi](https://github.com/huozhi) in vercel/swr#2932
-   ci: fix ci error and upgrade action version by [@&#8203;promer94](https://github.com/promer94) in vercel/swr#2952
-   Add SWRInfiniteMutatorOptions type to export by [@&#8203;ludwigbacklund](https://github.com/ludwigbacklund) in vercel/swr#2954
-   test: update the revalidate function test for useSWRInfinite by [@&#8203;koba04](https://github.com/koba04) in vercel/swr#2955
-   chore: upgrade nextjs dev dep for e2e testing by [@&#8203;huozhi](https://github.com/huozhi) in vercel/swr#3044
-   ci: simplify ci config and bump some deps version by [@&#8203;promer94](https://github.com/promer94) in vercel/swr#2770
-   chore: reorganize entries by [@&#8203;huozhi](https://github.com/huozhi) in vercel/swr#3048
-   Bump bundler and reorganize serialize exports by [@&#8203;huozhi](https://github.com/huozhi) in vercel/swr#3049
-   upgrade use-sync-external-store to support react 19 by [@&#8203;huozhi](https://github.com/huozhi) in vercel/swr#3050

#### New Contributors

-   [@&#8203;htunnicliff](https://github.com/htunnicliff) made their first contribution in vercel/swr#2904
-   [@&#8203;saul-atomrigs](https://github.com/saul-atomrigs) made their first contribution in vercel/swr#2915
-   [@&#8203;unliar](https://github.com/unliar) made their first contribution in vercel/swr#2920
-   [@&#8203;ludwigbacklund](https://github.com/ludwigbacklund) made their first contribution in vercel/swr#2954
-   [@&#8203;taku-hatano](https://github.com/taku-hatano) made their first contribution in vercel/swr#2913
-   [@&#8203;LeoMcA](https://github.com/LeoMcA) made their first contribution in vercel/swr#2900
-   [@&#8203;devjiwonchoi](https://github.com/devjiwonchoi) made their first contribution in vercel/swr#2963
-   [@&#8203;vladshcherbin](https://github.com/vladshcherbin) made their first contribution in vercel/swr#3047
-   [@&#8203;O-BERNARDOFOEGBU](https://github.com/O-BERNARDOFOEGBU) made their first contribution in vercel/swr#3027

**Full Changelog**: vercel/swr@v2.2.5...v2.3.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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44Mi4zIiwidXBkYXRlZEluVmVyIjoiMzkuODIuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Reviewed-on: https://git.tristess.app/alexandresoro/ouca/pulls/413
Reviewed-by: Alexandre Soro <code@soro.dev>
Co-authored-by: renovate <renovate@git.tristess.app>
Co-committed-by: renovate <renovate@git.tristess.app>
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.

3 participants