Libraries that are incompatible with Metro ES Module resolution #36551
Replies: 27 comments 44 replies
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Thanks @brentvatne! Sorry that some developers are experiencing incompatibilities! Update: This change hit users, we're on itUnfortunately, the React Native 0.79
Previous breaking change commsHere are more details for library maintainers:
Likely troubleshooting[Redacted, defer to other package specific comments and our updated troubleshooting guidance.] |
Beta Was this translation helpful? Give feedback.
This comment has been hidden.
This comment has been hidden.
-
|
Beta Was this translation helpful? Give feedback.
-
- Library name: firebase
- How to reproduce: import firebase and initialize / get auth
|
Beta Was this translation helpful? Give feedback.
-
Amplify v5 isn't latest, but AWS Amplify itself states that old projects should keep on using v5 while they are still working on migration tools for latest v6. |
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
In case somebody else runs into this issue after upgrading to 53 (even if it's not related to this specific issue, but I wasted hours not knowing where it was coming from):
|
Beta Was this translation helpful? Give feedback.
-
Library name: @tamagui/lucide-icons
How to reproduce: import of the icon import { CircleHelp } from "@tamagui/lucide-icons" I fixed the issue for now using a babel plugin to force esm export instead, without it tamagui error about config missing : [
"transform-imports",
{
"@tamagui/lucide-icons": {
preventFullImport: true,
skipDefaultConversion: true,
transform: (importName) => `@tamagui/lucide-icons/dist/esm/icons/${importName}`,
},
},
], |
Beta Was this translation helpful? Give feedback.
-
Library name: victory-native
How to reproduce: import victory native component import { Pie, PolarChart } from "victory-native" |
Beta Was this translation helpful? Give feedback.
-
Library name: @react-native-firebase/analytics How to reproduce:
it started just after updating from expo 52 to expo 53 (never had before). By just removing the import and the related code in the same file, the issue disappears and the app launches correctly. Any help? |
Beta Was this translation helpful? Give feedback.
-
I'm having this problem, only in Expo SDK 53. If I run this exact code in the latest SDK 52, it runs perfectly. ERROR Warning: TypeError: Cannot read property 'getState' of undefined This error is located at: 80 | }
Call Stack |
Beta Was this translation helpful? Give feedback.
-
My
|
Beta Was this translation helpful? Give feedback.
-
Library name: redux-saga
How to reproduce:
|
Beta Was this translation helpful? Give feedback.
-
Library name: Tanstack-form Error message: See link How to reproduce: |
Beta Was this translation helpful? Give feedback.
-
Library name: Error message:
How to reproduce: See #37171 |
Beta Was this translation helpful? Give feedback.
-
Thank you!!! |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Is there any possibility this would affect TS resolution? I noticed that the Jest matchers added by expo-router are, since the 53 upgrade, throwing type errors. They function fine, but TS seems to be missing the new types added by Library name: - expo-router |
Beta Was this translation helpful? Give feedback.
-
Some issue with Firebase initialisation. "expo": "53.0.11", Seems connected to the Forebase initialisation after Expo SDK 53 upgrade. Any help? |
Beta Was this translation helpful? Give feedback.
-
I tried several previous configurations, but I still got the error "Service firestore is not available". So far I have tested some versions of firebase along with expo sdk 52 and 53. |
Beta Was this translation helpful? Give feedback.
-
Library name:
How to Reproduce*: Create a dom component that imports and uses a functionality from |
Beta Was this translation helpful? Give feedback.
-
Does anyone else use Library name:
How to reproduce: Import |
Beta Was this translation helpful? Give feedback.
-
In my case, I had a custom |
Beta Was this translation helpful? Give feedback.
-
This fixed my migration from expo v52 to v53. I have 0 clue what packages weren't compatible but I'm so hyped it works again |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
In React Native 0.79, the Metro team switched the package.json exports field support to enabled by default — this was first available in React Native 0.72. You can opt out of this in your app by specifying unstable_enablePackageExports: false if you run into related issues. Learn more about Metro’s ES Module resolution.
If libraries that you depend on are incompatible with this change, it may be very obvious (you could see errors such as "... attempted to import the Node standard library module ..."), but it may manifest in subtle ways in your app.
In this discussion, please report any libraries that you have found to be incompatible. Use the following template:
Workarounds
If you are impacted by this change, you can work around the incompatibilities by disabling package.json:exports in your Metro config, eg:
If the impacted package uses
package.json:exports
and has a browser version available, you can also tell Metro to use this browser version until the package is fixed for React Native.Beta Was this translation helpful? Give feedback.
All reactions