AppLoading can't find expo-modules-core in Expo 41

Please provide the following:

  1. SDK Version: 40/41
  2. Platforms(Android/iOS/web/all): Android/iOS
  3. Add the appropriate “Tag” based on what Expo library you have a question on.

After upgrading from Expo 39, and replacing import "AppLoading" from "expo"; with import "AppLoading" from "expo-app-loading", Expo throws an error about not being able to find expo-modules-core from the expo-splash-screen (which expo-app-loading depends on).

This seems like a dependency issue, but I’ve installed expo-app-loading using the expo cli, so it should be installing the correct version to match with expo install expo-app-loading.

I have tried clearing expo cache and trying a clean yarn.lock.

Maybe this is an issue due to Expo installing expo-app-loading 1.3.0 which requires expo-splash-screen ~0.14.0, but when I run ‘expo install expo-splash-screen’ in Expo 41, it adds ~0.10.2 to package.json, which currently grabs 0.10.3? Are these incompatible? Of course, this is only evident after trying to add expo-splash-screen directly instead of pulling the dependency via expo-app-loading.

Here’s the error itself:
`Unable to resolve module expo-modules-core from F:\Users\User\GitHub\reactnative-digipedia\node_modules\expo-app-loading\node_modules\expo-splash-screen\build\SplashScreen.js: expo-modules-core could not be found within the project.

If you are sure the module exists, try these steps:

  1. Clear watchman watches: watchman watch-del-all
  2. Delete node_modules and run yarn install
  3. Reset Metro’s cache: yarn start --reset-cache
  4. Remove the cache: rm -rf /tmp/metro-*

1 | import { UnavailabilityError } from ‘expo-modules-core’;
| ^
2 | import ExpoSplashScreen from ‘./ExpoSplashScreen’;
3 | // @needsAudit
4 | /**
`

And the package.json:
"dependencies": { "@react-native-community/masked-view": "0.1.10", "algoliasearch": "^3.30.0", "expo": "^41.0.0", "expo-analytics": "1.0.15", "expo-app-loading": "^1.3.0", "expo-blur": "~9.0.3", "expo-cli": "^5.0.3", "expo-constants": "~10.1.3", "expo-file-system": "~11.0.2", "expo-font": "~9.1.0", "expo-linking": "~2.2.3", "expo-localization": "~10.1.0", "expo-splash-screen": "~0.10.2", "i18n-js": "^3.5.0", "prop-types": "^15.6.2", "react": "16.13.1", "react-classset": "^0.0.2", "react-dom": "16.13.1", "react-native": "https://github.com/expo/react-native/archive/sdk-41.0.0.tar.gz", "react-native-cardview": "^2.0.5", "react-native-expo-image-cache": "^4.1.0", "react-native-gesture-handler": "1.10.3", "react-native-iphone-x-helper": "^1.2.0", "react-native-reanimated": "~2.1.0", "react-native-render-html": "^4.2.0", "react-native-safe-area-context": "3.2.0", "react-native-screens": "~3.0.0", "react-native-webview": "11.2.3", "react-navigation": "<5.0.0", "react-navigation-drawer": "^2.6.0", "react-navigation-stack": "^2.10.0", "react-navigation-tabs": "^2.10.1", "recompose": "^0.30.0" }, "devDependencies": { "babel-preset-expo": "8.3.0", "eslint": "^5.9.0", "eslint-config-airbnb": "^17.1.0", "eslint-config-prettier": "^3.3.0", "eslint-plugin-import": "^2.14.0", "eslint-plugin-jsx-a11y": "^6.1.2", "eslint-plugin-prettier": "^3.0.0", "eslint-plugin-react": "^7.11.1", "eslint-plugin-react-native": "^3.5.0", "prettier": "^1.15.3" } }