-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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(analytics): update superstruct dependency #8153
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey! You might have cracked this one.
- I agree with the move to analytics
- the new-style struct typing looks correct
Let's see what CI thinks...
Could you restart "Testing E2E Android" if necessary? It looks like the emulator did not start for some reason. |
android CI failure was unrelated, re-running it |
I do have an error while running the app, after resetting node_modules, yarn.lock and rebuilding the app from fresh.
with
|
@RohovDmytro 👋 looking in to this, what exact command are you running to rebuild the app from fresh? |
When I last ran this, this afternoon, it was already using 21.6.0 and did not have a build failure: https://github.com/mikehardy/rnfbdemo/blob/main/make-demo.sh |
Resetting watchman cache, deleting node modules, yarn lock, running yarn install and then expo prebuild, and starting metro server with a reset config. I can provide the exact command line combo a bit later, if that would be important. |
The app does build, but crashes in production and yields the error above during development. |
I wonder fi you have the opposite problem of the issue that prompted the PR here, #5146 The app my script builds run fine in release and debug from completely clean setups (similar to what your commands do) - that's the whole point of that repro script really - to start from completely clean, do a reproducible series of steps, and have a full react-native-firebase integration run in debug and release modes. And it's working for me 🤔 |
That was the main reason I've assumed it would be enough to quickly blame open source and get away with commenting in PR discussion :) Through years I've accumulated many ways of resetting caches. Let me try the bigest-badast--reset, maybe that will help :) Either way, I would provide more actionable details or fix the issue my myself. Thanks for taking a look into it, @mikehardy. |
@RohovDmytro Did you update @react-native-firebase/analytics and @react-native-firebase/app as well? |
Biggest-baddest-reset did not work. My next assumptions:
@exzos28, yes. All of them. The amount of my dependencies in the current project made me mentally unstable. Please, be careful when looking at it. Thanks. |
Downgrading to Another assumption: do we have latest and greatest code under I have to move on with my sprint and will stop pretending to be helpful. The final straw from me is to rename the project current repository into I will post more if I'll find more. |
Interesting point - I also have react-native 75 and an older architecture. |
I looked through your yarn.lock @RohovDmytro and it all looks normal, unfortunately nothing jumps out at me there
react-native-firebase/tests/package.json Line 32 in 0103e12
And my make-demo.sh script which is the newest everything - rn0.76.2 + new architecture and they both work - I just can't trigger this, and we haven't had others mention it yet either, so I suspect this is local somehow but I know what you mean by all the react-native project cleaning stuff (I've had PRs merged into react-native-clean-project - it's a constant battle). So it seems there may be something to this. Unfortunately without a reproduction I can't move further with it, but I'll be listening in case something is posted |
Same issue with my new dev build. And with the last version of analytics. |
@LouisSyfer please be specific, "same issue" doesn't mean much when attached to a merged PR (which is not an issue, and has lots of discussion on it, with no resolution) |
Ok sorry @mikehardy ! |
Is it possible to use react-native-firebase/* with Expo Go? wow |
@LouisSyfer If possible, please create an Issue with details and a reproducible repo and let's continue the discussion there. |
Interesting. |
I think you're going to need expo-dev-client and get busy with |
Expo-dev-client is installed. |
Came here with the same issue. using version "21.6.1" for all firebase-related libs.
and
Superstruct is only used from analytics. No other dependency using it.
Adding superstruct explicitly to dependencies does not make a difference. @mikehardy You suggested |
That was working off the hypothesis that this was happening in Expo Go, and I hoped that building natively / locally with a Apparently not, unfortunately. |
Quick summary: |
I tried to create an repro and I was unable to reproduce the error. I ran it on android. Put Repository: You can try to reproduce the error. |
@mikehardy I noticed that superstruct2.0 started using cjs modules, but Expo supports them (link). |
Guys, could you run:
P.S You should see something like:
|
@exzos28 wow. You're awesome. Very nice catch! Indeed, the problem, obviously, was in metro.config :) For historical reasons I had this:
Removing this lines fixed an issue for me. And this was breaking superstruct. It is still strange as billion other deps are working fine, but anyway, thanks you for your idea! |
@RohovDmytro that's strange. Could you check, what is the result value contains in |
exzos28, sure. Input: config.resolver.assetExts.push('cjs');
config.resolver.sourceExts.push('mjs');
console.log(config.resolver.sourceExts);
console.log(config.resolver.assetExts); Output:
|
Related issues
Checklist
Android
iOS
e2e
tests added or updated inpackages/\*\*/e2e
jest
tests added or updated inpackages/\*\*/__tests__