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(deps): Add react-native field to package.json for Metro resolutions #8653

Merged
merged 1 commit into from
Feb 16, 2025

Conversation

ajsmth
Copy link
Contributor

@ajsmth ajsmth commented Feb 15, 2025

This PR adds the react-native field to other react-query packages. @tanstack/react-query includes this field, but it's internal dependencies (like query-core) do not - which breaks Metro module resolution in (some) contexts.

I'm surprised that seemingly no one else has encountered this - in our monorepo setup, this missing field led to some confusing runtime errors after upgrading from v4 to v5.

I validated this fixed the issue by manually applying the field to all relevant packages, however as a temporary workaround we've also manually resolved this in our metro.config.js :


// Custom resolve to handle exports in our package.json
config.resolver.resolveRequest = (ctx, moduleName, platform) => {
  if (moduleName === '@tanstack/query-core') {
    return {
      type: 'sourceFile',
      filePath: path.join(
        __dirname,
        `./node_modules/@tanstack/query-core/src/index.ts`
      ),
    }
  }

  if (moduleName === '@tanstack/query-sync-storage-persister') {
    return {
      type: 'sourceFile',
      filePath: path.join(
        __dirname,
        `./node_modules/@tanstack/query-sync-storage-persister/src/index.ts`
      ),
    }
  }

  if (moduleName === '@tanstack/react-query-persist-client') {
    return {
      type: 'sourceFile',
      filePath: path.join(
        __dirname,
        `./node_modules/@tanstack/react-query-persist-client/src/index.ts`
      ),
    }
  }

  if (moduleName === '@tanstack/query-persist-client-core') {
    return {
      type: 'sourceFile',
      filePath: path.join(
        __dirname,
        `./node_modules/@tanstack/query-persist-client-core/src/index.ts`
      ),
    }
  }

// ...rest
}

Copy link

nx-cloud bot commented Feb 16, 2025

View your CI Pipeline Execution ↗ for commit 2ed2138.

Command Status Duration Result
nx affected --targets=test:sherif,test:knip,tes... ✅ Succeeded 4m 36s View ↗
nx run-many --target=build --exclude=examples/*... ✅ Succeeded 1m 55s View ↗

☁️ Nx Cloud last updated this comment at 2025-02-16 09:59:56 UTC

Copy link

pkg-pr-new bot commented Feb 16, 2025

Open in Stackblitz

More templates

@tanstack/angular-query-devtools-experimental

npm i https://pkg.pr.new/@tanstack/angular-query-devtools-experimental@8653

@tanstack/angular-query-experimental

npm i https://pkg.pr.new/@tanstack/angular-query-experimental@8653

@tanstack/query-async-storage-persister

npm i https://pkg.pr.new/@tanstack/query-async-storage-persister@8653

@tanstack/query-broadcast-client-experimental

npm i https://pkg.pr.new/@tanstack/query-broadcast-client-experimental@8653

@tanstack/eslint-plugin-query

npm i https://pkg.pr.new/@tanstack/eslint-plugin-query@8653

@tanstack/query-core

npm i https://pkg.pr.new/@tanstack/query-core@8653

@tanstack/query-devtools

npm i https://pkg.pr.new/@tanstack/query-devtools@8653

@tanstack/query-persist-client-core

npm i https://pkg.pr.new/@tanstack/query-persist-client-core@8653

@tanstack/query-sync-storage-persister

npm i https://pkg.pr.new/@tanstack/query-sync-storage-persister@8653

@tanstack/react-query

npm i https://pkg.pr.new/@tanstack/react-query@8653

@tanstack/react-query-devtools

npm i https://pkg.pr.new/@tanstack/react-query-devtools@8653

@tanstack/react-query-next-experimental

npm i https://pkg.pr.new/@tanstack/react-query-next-experimental@8653

@tanstack/react-query-persist-client

npm i https://pkg.pr.new/@tanstack/react-query-persist-client@8653

@tanstack/solid-query

npm i https://pkg.pr.new/@tanstack/solid-query@8653

@tanstack/solid-query-devtools

npm i https://pkg.pr.new/@tanstack/solid-query-devtools@8653

@tanstack/solid-query-persist-client

npm i https://pkg.pr.new/@tanstack/solid-query-persist-client@8653

@tanstack/svelte-query-devtools

npm i https://pkg.pr.new/@tanstack/svelte-query-devtools@8653

@tanstack/svelte-query

npm i https://pkg.pr.new/@tanstack/svelte-query@8653

@tanstack/svelte-query-persist-client

npm i https://pkg.pr.new/@tanstack/svelte-query-persist-client@8653

@tanstack/vue-query

npm i https://pkg.pr.new/@tanstack/vue-query@8653

@tanstack/vue-query-devtools

npm i https://pkg.pr.new/@tanstack/vue-query-devtools@8653

commit: 2ed2138

Copy link

codecov bot commented Feb 16, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 63.06%. Comparing base (c807ee2) to head (2ed2138).
Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##             main    #8653       +/-   ##
===========================================
+ Coverage   46.24%   63.06%   +16.82%     
===========================================
  Files         199      135       -64     
  Lines        7532     4822     -2710     
  Branches     1721     1350      -371     
===========================================
- Hits         3483     3041      -442     
+ Misses       3670     1549     -2121     
+ Partials      379      232      -147     
Components Coverage Δ
@tanstack/angular-query-devtools-experimental ∅ <ø> (∅)
@tanstack/angular-query-experimental 88.65% <ø> (ø)
@tanstack/eslint-plugin-query ∅ <ø> (∅)
@tanstack/query-async-storage-persister 43.85% <ø> (ø)
@tanstack/query-broadcast-client-experimental ∅ <ø> (∅)
@tanstack/query-codemods ∅ <ø> (∅)
@tanstack/query-core 94.16% <ø> (ø)
@tanstack/query-devtools 4.78% <ø> (ø)
@tanstack/query-persist-client-core 57.73% <ø> (ø)
@tanstack/query-sync-storage-persister 84.61% <ø> (ø)
@tanstack/react-query 95.95% <ø> (ø)
@tanstack/react-query-devtools 10.00% <ø> (ø)
@tanstack/react-query-next-experimental ∅ <ø> (∅)
@tanstack/react-query-persist-client 100.00% <ø> (ø)
@tanstack/solid-query 78.92% <ø> (+0.72%) ⬆️
@tanstack/solid-query-devtools ∅ <ø> (∅)
@tanstack/solid-query-persist-client 100.00% <ø> (ø)
@tanstack/svelte-query 87.33% <ø> (ø)
@tanstack/svelte-query-devtools ∅ <ø> (∅)
@tanstack/svelte-query-persist-client 100.00% <ø> (ø)
@tanstack/vue-query 71.01% <ø> (ø)
@tanstack/vue-query-devtools ∅ <ø> (∅)

@TkDodo TkDodo merged commit 5426e6c into TanStack:main Feb 16, 2025
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants