Comments (10)
FWIW, I have expo 45 working in our monorepo, I just haven’t had time to do it in the solito example. At this point, I’ll probably just skip over to SDK 46.
from solito.
@nandorojo I will test and try
from solito.
Hello Nando!
Great work on Solito and all the other cross-platform modules you maintain. Amazing work.
I tried to take a stab at this, I'm just starting a new project with Solito so I thought I might as well upgrade before I dive in, and then I thought, I might as well try that upgrade here for everyone's benefit!
First error I get is that Constants
are deprecated in 45:
Constants.platform.ios.model has been deprecated in favor of expo-device's Device.modelName property. This API will be removed in SDK 45.
Apparently deep in the package.json tree there is a conflicting expo-linking package dependency.
Before I can even get into that, (preface: i don't use yarn), I can't even try and install a specific version of expo-linking
because i run into:
Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
whenever I run yarn:
This is likely due to a circular dependency area which Yarn doesn't detect: https://stackoverflow.com/questions/56341283/yarn-build-crashes-error-javascript-heap-out-of-memory
I think due to this: https://github.com/nandorojo/solito/blob/master/example-monorepos/blank/apps/expo/package.json#L3
I'm a total mono-repo / yarn noob, so I'm probably missing something really simple here. How do I upgrade or add a definition for the expo app with yarn?
from solito.
thanks for your findings! could you open a draft PR by chance? maybe we should rename app
to something like @my/app
so there are certainly no conflicts.
as for the dependencies, you should just update them in the respective package.json files and then run yarn
from the root.
we probably need a react
resolution in the root package.json to fix it to 17.0.2
.
monorepos are hard…
from solito.
try yarn why expo-linking
to diagnose the issue
from solito.
Draft PR for Expo 45 is here: #102
from solito.
I have a Solito Monorepo project I've been working on since December, but with the structure from the old example that you and AxelDeLaFosse were working on, and I was able to get it working fine with Expo45 over a month ago it seems. I did have a little bit of trouble with it and had to spend a few hours searching and fiddling, but it works fine now.
I didn't think much of it at the time, but we've run into the same problems mentioned here with a couple of projects that have been built using the create-solito-app
starter and following some of the changes to the structure that came about with that.
I can try to setup a minimal replication if that would be helpful (currently in a private client repo) - but looking back at my commit history and google searches from that day, it looks like the solution for me was ultimately to install the expo-modules-autolinking
package (found solution here). Admittedly I was running into a totally different issue than the memory heap error, but wanted to share in case this might be helpful in finding a solution.
I've also obviously tried adding this package to my failing create-solito projects but it isn't solving the problem for me there.
from solito.
@nandorojo I created a PR for upgrading the Solito monorepo to use Expo SDK 46 and Next.js 12.2.x #120
from solito.
I tried to upgrade to Expo SDK 46, but I have this error using the push method of the router, any clue ?
%s%s, TypeError: undefined is not an object (evaluating 'this.emitter'),
in LoginForm (created by Login)
in Login (created by SceneView)
in StaticContainer
in EnsureSingleNavigator (created by SceneView)
in SceneView (created by SceneView)
in RCTView (created by View)
in View (created by DebugContainer)
in DebugContainer (created by MaybeNestedStack)
in MaybeNestedStack (created by SceneView)
in RNSScreen (created by AnimatedComponent)
in AnimatedComponent
in AnimatedComponentWrapper (created by Screen)
in MaybeFreeze (created by Screen)
in Screen (created by SceneView)
in SceneView (created by NativeStackViewInner)
from solito.
Could you refer to the PR? Seems like you're getting this issue using React Navigation's native stack. Is that a Solito error? Seems to me like it's using an old React Native version or something.
from solito.
Related Issues (20)
- Error Running React Native Skia in Solito Repo: Can't Resolve 'react-native-reanimated/package.json' HOT 3
- className and id props are not getting passed to the anchor tag when using solito/link HOT 7
- usePathname() doesn't work with expo-router HOT 4
- Request: Update to NativeWind V4 HOT 13
- Can't use react-native-reanimated with Expo Router Starter HOT 5
- How to deploy solito monorepo to vercel HOT 4
- target blank is not propagated to next/link HOT 3
- [EXPO SDK 50] [expo-head] Error: generic class 'Field' requires that 'Date' conform to 'AnyArgument' HOT 3
- Excessive question mark using `useUpdateSearchParams` HOT 1
- installing with expo v47
- passing Omit<ComponentProps<typeof TextLink>, 'className'> to <TextLink> results in an error HOT 2
- Uncaught Error: Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering. HOT 1
- Add Search Options to Docs HOT 2
- Image for native not shown when using SolitoImage with source from expo-image-picker (web works fine) ; ImageBackground query and Nextjs issue (Image... has either width or height modified, but not the other ) HOT 4
- MotiLink not working with App Router HOT 3
- Rewriting the url using the `as` parameter clears params on native. HOT 5
- `useUpdateSearchParams` does not work with the react native app HOT 1
- `usePathname` does not work with react native app HOT 1
- onLoadingComplete deprecation notice HOT 3
- `useSearchParams` crashing on react native app HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from solito.