nandorojo/moti

[THANKS] This is not an issue

ortonomy opened this issue · 12 comments

I just came here to say f*ck yeah. This package is amazing and I've been crying out for a framer-motion alike on React Native for ages.

So, thank you! Feel free to close this.

Glad it's useful 😎

Need to close this issue @nandorojo

And I want to say that forcing RN apps to install expo for simple skeleton is madness.

Just threw this package away from the code [to the bin] and finally the app started to work properly after upgrading RN and react-native-navigation.

And I want to say that forcing RN apps to install expo for simple skeleton is madness.

Just threw this package away from the code [to the bin] and finally the app started to work properly after upgrading RN and react-native-navigation.

You have the option to install expo-linear-gradient, a standalone gradient package that works with both Expo and Vanilla RN. If you don’t want to use the skeleton, you don’t need to install this peer dependency, since it was carefully tree-shaken with a different import from moti/skeleton.

React Native Navigation has nothing to do with Moti. This is an animations library.

Typically when someone encounters a problem on an open source project, they take the time to open an issue, reproduce it, and describe a desired solution. I suggest you follow this etiquette in the future.

@nandorojo It forces to install expo for skeleton, that's what I said.

If your package is not compatible with popular navigation library, and probably other native libraries as well, this is an issue.
It forces to install very heavy native dependency - it is a very bad decision. Native packages in react native are the main source of trouble.

And current issue is not typical, it "is not an issue", so I just shared my thoughts as well.

As for the actual issue - it already exists.

If your package is not compatible with popular navigation library, and probably other native libraries as well, this is an issue.

Moti is a JS-only library whose only native peer dependencies are Reanimated and React Native Gesture Handler. The skeleton’s only added peer dependency is the gradient.

So Moti plays no role in the compatibility.

As for the actual issue - it already exists.

If React Native Navigation isn’t compatible with Expo modules, then it is on that library and Expo to fix it. It’s not Moti’s job to keep up with every regression in unrelated packages.

It forces to install very heavy native dependency - it is a very bad decision. Native packages in react native are the main source of trouble.

So what would you prefer then? A skeleton without a gradient? Or no skeleton at all?

Expo packages provide a high level of stability and maintenance, so it’s an easy choice for a (rare) native library.

Skeleton could be easily done with any other gradient package like react-native-linear-gradient or even svg, without need of adding one of the heaviest native dependency expo, which requires to totally change your native app structure. It is insane to make dependency on expo for usual skeleton.

Example - https://www.npmjs.com/package/react-native-skeleton-placeholder

You're free to use that library then or build your own.

Yeah, that's what I did.

expo-linear-gradient

Well, that's fake news, it's not standalone, it requires expo-modules-core

Moti's skeleton now supports react-native-linear-gradient as an alternative.

https://moti.fyi/skeleton#non-expo-users

I think @nandorojo did an awesome job! I agree with OP. I love working with this library! ❤️

And I want to say that forcing RN apps to install expo for simple skeleton is madness.

Just threw this package away from the code [to the bin] and finally the app started to work properly after upgrading RN and react-native-navigation.

@nandorojo It forces to install expo for skeleton, that's what I said.

If your package is not compatible with popular navigation library, and probably other native libraries as well, this is an issue. It forces to install very heavy native dependency - it is a very bad decision. Native packages in react native are the main source of trouble.

And current issue is not typical, it "is not an issue", so I just shared my thoughts as well.

As for the actual issue - it already exists.

It is truly astonishing how @gen1lee perceives themselves as entitled to casually throw around disrespectful nonsense. As mentioned earlier, the only necessary dependencies are react-native-reanimated and react-native-gesture-handler. There is no involvement of native code.

Considering that this ticket is a year old, I sincerely hope you have learned from this experience. Behavior like this is precisely the reasons why there are still shortcomings in the community around open source projects.