Using on Expo project #24735
Replies: 7 comments
|
I think we would need to treat this like a feature request in the main repo so have transferred it. It sounds a little like #3681 (RushJS support) in that you want to use a specialized CLI command instead of |
Right, here in this case it's to use the - npm install @react-native-async-storage/async-storage
+ expo install @react-native-async-storage/async-storage
Yeah, I can imagine, keeping up with all the different variants of tooling and where the config lives must be difficult. In case Renovate still wants to give autodetection a shot, maybe a starting heuristic could be https://github.com/upleveled/hotline-bling-codealong WorkaroundI've created a GitHub Actions workflow that creates pull requests weekly based on running |
@rarkins Why not starting with that ruleset? {
"packageRules": [
{
"matchSourceUrlPrefixes": ["https://github.com/expo"],
}
]
}This is not an exhaustive match, but we can at least be sure that package coming from For the rest as the other package has to be installed with However, we may maintain a package list for that on a Is that making any sense? |
|
By the way, we already have a somewhat related However, it was not very helpful to me because of this discussion subject, and I am not currently using it. |
|
Hi there, Get your issue fixed faster by creating a minimal reproduction. This means a repository dedicated to reproducing this issue with the minimal dependencies and config possible. Before we start working on your issue we need to know exactly what's causing the current behavior. A minimal reproduction helps us with this. To get started, please read our guide on creating a minimal reproduction. We may close the issue if you, or someone else, haven't created a minimal reproduction within two weeks. If you need more time, or are stuck, please ask for help or more time in a comment. Good luck, The Renovate team |
Explicit configuration of the CLI command would be a fantastic start! Another important aspect of an expo project, is that a given expo version pins a number of versions of other react-native libraries which don't belong to the For instance if I run However, renovate doesn't consider this currently, so I have to customise the This might also be an application of #19645 Here's the relevant part of my {
"matchPackageNames": ["@expo/vector-icons"],
"allowedVersions": "^13.0.0",
"groupName": "expo-48-0-19"
},
{
"matchPackageNames": ["expo-crypto"],
"allowedVersions": "~12.2.1",
"groupName": "expo-48-0-19"
},
{
"matchPackageNames": ["expo-dev-client"],
"allowedVersions": "~2.2.1",
"groupName": "expo-48-0-19"
},
{
"matchPackageNames": ["expo-font"],
"allowedVersions": "~11.1.1",
"groupName": "expo-48-0-19"
},
{
"matchPackageNames": ["expo-sensors"],
"allowedVersions": "~12.1.1",
"groupName": "expo-48-0-19"
},
{
"matchPackageNames": ["expo-splash-screen"],
"allowedVersions": "~0.18.2",
"groupName": "expo-48-0-19"
},
{
"matchPackageNames": ["expo-status-bar"],
"allowedVersions": "~1.4.4",
"groupName": "expo-48-0-19"
},
{
"matchPackageNames": ["react-native"],
"allowedVersions": "0.71.8",
"groupName": "expo-48-0-19"
},
{
"matchPackageNames": ["react-native-web"],
"allowedVersions": "~0.18.10",
"groupName": "expo-48-0-19"
},
{
"matchPackageNames": ["react-native-webview"],
"allowedVersions": "11.26.0",
"groupName": "expo-48-0-19"
},
{
"matchPackageNames": ["react-native-reanimated"],
"allowedVersions": "~2.14.4",
"groupName": "expo-48-0-19"
},
{
"matchPackageNames": ["react-native-safe-area-context"],
"allowedVersions": "4.5.0",
"groupName": "expo-48-0-19"
},
{
"matchPackageNames": ["react-native-screens"],
"allowedVersions": "3.20.0",
"groupName": "expo-48-0-19"
},
{
"matchPackageNames": ["sentry-expo"],
"allowedVersions": "~6.1.0",
"groupName": "expo-48-0-19"
},
{
"matchPackageNames": ["@sentry/react-native"],
"allowedVersions": "4.13.0",
"groupName": "expo-48-0-19"
} |
|
i'm on a monorepo and to "fix" this issue blocking renovate + expo, i've setup extra steps on my pull request action that runs if expo-doctor fails:
you should set "preferVersion": "lowestSemver" on .syncpackrc if you want to hold lower versions that come from expo install --fix or 'expo.install.exclude' if you want to keep the upgrades and ignore them on expo checks |
Uh oh!
There was an error while loading. Please reload this page.
Which Renovate are you using?
WhiteSource Renovate App
Which platform are you using?
GitHub.com
What would you like to do?
Renovate doesn't seem to work so well with attempting updates on expo based projects. Is there a way to perhaps ask renovate to run a different command? For instance, expo based projects wrap npm and add some guard rails, so what you use is expo install and expo update instead of the npm counterparts.
All reactions