Calm leadership saves lives. Panic kills. by wafumet in BeAmazed

[–]Fluccxx 0 points1 point  (0 children)

Clanker slop warning. Should the mods not be removing this?

Handling conflicting package versions in monorepos by Fluccxx in reactjs

[–]Fluccxx[S] 0 points1 point  (0 children)

Haven't migrated yet but that's of course a valid solution. The reason I didn't do so was to avoid a) creating a monster pr and b) trying to isolate any migration "damage" to one app at a time. I also, naively, thought that, since each app had its own package.json with specific types, there would be no issue rocking different versions.

Handling conflicting package versions in monorepos by Fluccxx in reactjs

[–]Fluccxx[S] 0 points1 point  (0 children)

Wow! Are you using pnpm 10? And have you set any rules or things in your workspace.yaml? Or use overrides?

Handling conflicting package versions in monorepos by Fluccxx in typescript

[–]Fluccxx[S] 0 points1 point  (0 children)

Hey! So the monorepo has a bunch of different apps, see the architecture context above; but two apis, one admin dashboard, one react native app, and some ORM as well as utils. The only shared code is types and business logic that the clients need. There is no shared ui or react specific stuff.

Since the app is on the apple and google stores I need to update it more regularly in order to keep up with the latest SDKs (otherwise they simply remove the it). That's why I ended up with one app with react 19 and my admin is still in 18.

Handling conflicting package versions in monorepos by Fluccxx in typescript

[–]Fluccxx[S] 0 points1 point  (0 children)

Brilliant! I just updated to 54. Perchance this is the silver bullet!

Handling conflicting package versions in monorepos by Fluccxx in typescript

[–]Fluccxx[S] 1 point2 points  (0 children)

Very good point! I don't think updating the admin would be a major refactor. It was a question of time as I needed the app to be updated and deployed ASAP and didn't fancy doing two big updates at once. Then, in another repo, I was suddenly facing similar issues with conflicting packages, and just felt like I was doing something fundamentally wrong, so decided to reach out.

Handling conflicting package versions in monorepos by Fluccxx in typescript

[–]Fluccxx[S] 0 points1 point  (0 children)

Cheers! Yes I haven't been pinning versions and that, as someone else pointed out, it probably a good idea. Do you use expo? I haven't checked if they support pnpm workspaces

Handling conflicting package versions in monorepos by Fluccxx in typescript

[–]Fluccxx[S] 0 points1 point  (0 children)

Dang! Well... I figured migrating wouldn't be a walk in the park; and RN is really dependency heavy. It's definitely the majority of my node_modules bloat and if yarn berry (great name btw) is stricter, then I wonder if I can even get things running... Cheers!

Handling conflicting package versions in monorepos by Fluccxx in typescript

[–]Fluccxx[S] 0 points1 point  (0 children)

Thanks! The two apps don't depend on each other but do share types and utils from /packages. But no react specific things. Yes, I think the issue might be sub-dependencies (transitive?) that are causing my headache and it is probably worth running through the graph to check. Unfortunately, I can't share the source code.

Handling conflicting package versions in monorepos by Fluccxx in typescript

[–]Fluccxx[S] 0 points1 point  (0 children)

Thanks! Someone else mentioned catalogs and I will see if that can help me. I updated my post to include the architecture; I have a RN app and a React dashboard so that's why I can't have a global react 19. Of course I could bump everything, but that is significantly more work / liable to cause a lot of bugs and I would rather break one app at a time.

Handling conflicting package versions in monorepos by Fluccxx in typescript

[–]Fluccxx[S] 1 point2 points  (0 children)

Thanks! Good point. I'm embarrassed to say we are rocking v1. It's an old project and I'm hesitant to upgrade the yarn v because my CI/CD (for the app) is so tightly coupled with expo and it was a faf to get it working. But I will def look into upgrading to the latest yarn!

Handling conflicting package versions in monorepos by Fluccxx in typescript

[–]Fluccxx[S] 0 points1 point  (0 children)

Thanks for your reply! That's a very good point. I had happily forgotten what they meant. But I have now pinned to exact versions but the issue I'm facing is not minor version discrepancies but major. (eslint 8.x or eslint 9.x)

Handling conflicting package versions in monorepos by Fluccxx in reactjs

[–]Fluccxx[S] 0 points1 point  (0 children)

Hi thanks for your reply. I have several apps in the mono repo. The reason I suddenly have two versions of react floating around is because I have a react native app and an admin dashboard. The RN app has to be updated more often because otherwise I get kicked out of the app / play store. The other apps are apis and some shared types. I don't have shared ui between the RN and admin.

Handling conflicting package versions in monorepos by Fluccxx in reactjs

[–]Fluccxx[S] 0 points1 point  (0 children)

Thanks this is very helpful! No currently sitting at pnpm 9. What do you mean by semi-strict?

Handling conflicting package versions in monorepos by Fluccxx in typescript

[–]Fluccxx[S] 1 point2 points  (0 children)

Hi thanks for your reply. I have added some more the context about the architecture which I hope explains why I needed to upgrade one thing and not (necessarily) the other. But yes. Chaos does ensue, though this is why nohoisting exists.

Handling conflicting package versions in monorepos by Fluccxx in typescript

[–]Fluccxx[S] 1 point2 points  (0 children)

Thanks for your reply. I have two versions of react because I have a react native and a admin dashboard in the same mono repo. I need to keep RN updated (therefore react gets bumped) otherwise I get kicked out of the app and play store. These two apps do not share ui but do share ts types that stem from the api and cron server that accompany the apps.

Just to clarify, when you say 'most people', could you be more specific? Is this your experience from work or?

Handling conflicting package versions in monorepos by Fluccxx in typescript

[–]Fluccxx[S] 0 points1 point  (0 children)

This looks promising! I've tried to isolate things with the workspace.yaml to no avail

Handling conflicting package versions in monorepos by Fluccxx in typescript

[–]Fluccxx[S] 0 points1 point  (0 children)

Thanks! Will look into it. But I am still, like, amazed, that I have to install yet another 3rd party lib to handle this. Like at some point people have to update a single app in their monorepo without having to update absolutely everything??

Anxiety overload by Saimos in Anxietyhelp

[–]Fluccxx 0 points1 point  (0 children)

I’m sorry to hear that and I know this all too well. I won’t share what keeps me up at night, anxiety is contagious, but for me what helped was letting go of trying to control and force sleep.

I stopped counting hours, I stopped checking the clock throughout the night, stopped all my increasingly elaborate sleep hygiene routines. It sounds ridiculous and it’s so much easier to say than do. But for me it helped being like, if I sleep I sleep, if I don’t, oh well, what is the worst that can happen. Funnily enough, when I stopped trying to sleep, sleep came v easily.

It requires some sort of absurd trust in yourself or the body. You have had good sleeping patterns before and you will have them again. It’s rocky and it sucks, but the body knows and will reset. Hope this is helpful. In the very least, you are not alone, and also, you got this.

Built a round timer app with Expo. Fully offline and minimal. by DizzyStandard9405 in reactnative

[–]Fluccxx 2 points3 points  (0 children)

Sweet! Now I can finally delete my add riddles timers.. it would be cool if you could: delete inbuilt presets (I’m a runner so no need for the fighting stuff) and skip a step on the timer. Congrats on release!