dd-sdk-reactnative
dd-sdk-reactnative copied to clipboard
Using expo-datadog and @sentry/react-native/expo in Expo results in missing bundle file
Describe the bug
These 2 packages conflict in Expo, causing the App build to fail or the App to not boot at all.
A detailed description of the problem can also be found on the Sentry Github page.
Reproduction steps
- Include the following packages: i. "expo-datadog": "53.1.0" ii. "@sentry/react-native": "6.20.0" iii. "@datadog/mobile-react-native": "2.12.4", iV. "@datadog/mobile-react-navigation": "2.12.4",
- update the app.config to include both native packages: "@sentry/react-native/expo" and "expo-datadog"
- attempt to build
Datadog docs say to put Datdog package first but this doesn't help.
SDK logs
No response
Expected behavior
The App should build and boot correctly with both of these packages added
Affected SDK versions
"expo-datadog": "53.1.0" as well as some earlier versions
Latest working SDK version
I could not get it working with older versions we tried
Did you confirm if the latest SDK version fixes the bug?
Yes
Integration Methods
NPM
React Native Version
0.79.6
Package.json Contents
No response
iOS Setup
No response
Android Setup
No response
Device Information
No response
Other relevant information
No response
Hi @Lloydza, thanks for reaching out and sorry for the delay.
First, could you please share a bit more info with us to better investigate the problem?
- package.json
- app.json/app.config
- metro.config.js
- Contents of Bundle React Native code and images Build phase on your iOS project (after having ran expo prebuild)
- Build log with the error you are getting
Thanks a ton in advance 🙇
EDIT: I've managed to reproduce the issue (at least the one reported on the link you shared).
However, I've managed to get the app to build by simply flipping the order of the plugins on app.json/app.config. @sentry/react-native should be placed first, then expo-datadog (I believe this is wrong on our docs). This makes sense as our script modifying the Build Phase acknowledges Sentry's presence and acts accordingly.
Could you please try it that way?