-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
As we go heavy nazi-style with lint check etc, perhaps we should also make sure that bunx expo-doctor returns success to be able to merge a PR. This would give us better guarantee that libs etc works well with the current Expo SDK version that we use.
Example output (n.b: these will need to be addressed before we add support in CI):
12/17 checks passed. 5 checks failed. Possible issues detected:
Use the --verbose flag to see more details about passed checks.
✖ Check for issues with Metro config
- "watchFolders" does not contain all entries from Expo's defaults
Advice:
Modifying the "metro.config.js" is dangerous and may lead to unintended consequences.
Unless you know what these overrides do, remove them and adopt the recommended values from "expo/metro-config".
✖ Check that no duplicate dependencies are installed
Your project contains duplicate native module dependencies, which should be de-duplicated.
Native builds may only contain one version of any given native module, and having multiple versions of a single Native module installed may lead to unexpected build errors.
Found duplicates for expo-constants:
├─ [email protected] (at: ..\node_modules\expo-constants)
├─ [email protected] (at: ..\node_modules\expo-asset\node_modules\expo-constants)
└─ [email protected] (at: ..\node_modules\expo-notifications\node_modules\expo-constants)
Advice:
Resolve your dependency issues and deduplicate your dependencies. Learn more: https://expo.fyi/resolving-dependency-issues
✖ Check for app config fields that may not be synced in a non-CNG project
This project contains native project folders but also has native configuration properties in app.config.ts, indicating it is configured to use Prebuild. When the android/ios folders are present, EAS Build will not sync the following properties: orientation, userInterfaceStyle, plugins, ios, android, androidStatusBar.
✖ Validate packages against React Native Directory package metadata
The following issues were found when validating your dependencies against React Native Directory:
Untested on New Architecture: react-native-nitro-ark
No metadata available: @react-native-vector-icons/get-image, @react-native-vector-icons/ionicons, noah-tools
Advice:
Use libraries that are actively maintained and support the New Architecture. Find alternative libraries with https://reactnative.directory.
Add packages to expo.doctor.reactNativeDirectoryCheck.exclude in package.json to selectively skip validations, if the warning is not relevant.
Update React Native Directory to include metadata for unknown packages. Alternatively, set expo.doctor.reactNativeDirectoryCheck.listUnknownPackages in package.json to false to skip warnings about packages with no metadata, if the warning is not relevant.
✖ Check that packages match versions required by installed Expo SDK
⚠️ Minor version mismatches
package expected found
@react-native-community/slider 5.0.1 5.1.1
🔧 Patch version mismatches
package expected found
react-native-worklets 0.5.1 0.5.2
2 packages out of date.
Advice:
Use 'npx expo install --check' to review and upgrade your dependencies.
To ignore specific packages, add them to "expo.install.exclude" in package.json. Learn more: https://expo.fyi/dependency-validation
5 checks failed, indicating possible issues with the project.
Metadata
Metadata
Assignees
Labels
No labels