GithubHelp home page GithubHelp logo

Comments (7)

dirkcuys avatar dirkcuys commented on August 23, 2024

Building the Android app on linux gives something very similar. The steps differ a bit:

  1. rm -rm node_modules
  2. npm i
  3. npm run android

I get the same warning and then the following error:

e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (5, 21): Unresolved reference: core
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (6, 21): Unresolved reference: core
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (7, 21): Unresolved reference: core
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (8, 21): Unresolved reference: core
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (9, 21): Unresolved reference: core
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (10, 21): Unresolved reference: core
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (18, 46): Unresolved reference: ExportedModule
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (24, 42): Unresolved reference: ActivityProvider
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (26, 3): 'getName' overrides nothing
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (30, 3): 'onCreate' overrides nothing
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (30, 41): Unresolved reference: ModuleRegistry
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (31, 49): Unresolved reference: ActivityProvider
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (34, 4): Unresolved reference: ExpoMethod
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (35, 37): Unresolved reference: Promise
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (38, 22): Unresolved reference: CurrentActivityNotFoundException
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (48, 4): Unresolved reference: ExpoMethod
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (49, 26): Unresolved reference: Promise
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenModule.kt: (52, 22): Unresolved reference: CurrentActivityNotFoundException
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenPackage.kt: (5, 21): Unresolved reference: core
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenPackage.kt: (6, 21): Unresolved reference: core
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenPackage.kt: (7, 21): Unresolved reference: core
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenPackage.kt: (8, 21): Unresolved reference: core
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenPackage.kt: (10, 29): Unresolved reference: BasePackage
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenPackage.kt: (11, 3): 'createExportedModules' overrides nothing
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenPackage.kt: (11, 62): Unresolved reference: ExportedModule
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenPackage.kt: (15, 3): 'createSingletonModules' overrides nothing
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenPackage.kt: (15, 64): Unresolved reference: SingletonModule
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenPackage.kt: (19, 3): 'createReactActivityLifecycleListeners' overrides nothing
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenPackage.kt: (19, 86): Unresolved reference: ReactActivityLifecycleListener
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenReactActivityLifecycleListener.kt: (8, 21): Unresolved reference: core
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenReactActivityLifecycleListener.kt: (17, 78): Unresolved reference: ReactActivityLifecycleListener
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenReactActivityLifecycleListener.kt: (18, 3): 'onCreate' overrides nothing
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenViewController.kt: (19, 14): Type mismatch: inferred type is NoContentViewException but Throwable was expected
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/exceptions/NoContentViewException.kt: (3, 21): Unresolved reference: core
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/exceptions/NoContentViewException.kt: (5, 32): Unresolved reference: CodedException
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/exceptions/NoContentViewException.kt: (6, 3): 'getCode' overrides nothing
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/singletons/SplashScreen.kt: (7, 21): Unresolved reference: core
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/singletons/SplashScreen.kt: (10, 23): Unresolved reference: SingletonModule
e: /home/dirk/workspace/mit/learner-credential-wallet/node_modules/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/singletons/SplashScreen.kt: (13, 3): 'getName' overrides nothing

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':expo-splash-screen:compileDebugKotlin'.
> Compilation error. See log for more details

from learner-credential-wallet.

dirkcuys avatar dirkcuys commented on August 23, 2024

I suspect I know what is causing this: expo-app-loading requires expo-splash-screen ~0.14.0 while the version in package.json is ~0.11.2. So 0.14.2 will be used, but according to the expo-app-screen docs here going from < 0.12.0 to above requires code updates and migration from react-native-unimodules to expo-modules-core

from learner-credential-wallet.

dirkcuys avatar dirkcuys commented on August 23, 2024

I halfway did the migration to expo modules to get the build running: https://github.com/digitalcredentials/learner-credential-wallet/compare/main...dirkcuys:expo-modules?expand=1

But then I got the following error: (I think it's unrelated)

error: Error: Unable to resolve module ./util.js from /home/dirk/workspace/mit/learner-credential-wallet/node_modules/@digitalcredentials/bnid/dist/index.js: 

None of these files exist:
  * node_modules/@digitalcredentials/bnid/dist/util-reactnative.js(.native|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx|.android.js|.native.js|.js|.android.jsx|.native.jsx|.jsx|.android.json|.native.json|.json)
  * node_modules/@digitalcredentials/bnid/dist/util-reactnative.js/index(.native|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx|.android.js|.native.js|.js|.android.jsx|.native.jsx|.jsx|.android.json|.native.json|.json)
  4 |
  5 | var base58Universal = require('@digitalcredentials/base58-universal');
> 6 | var util = require('./util.js');
    |                     ^
  7 |
  8 | /*!
  9 |  * Copyright (c) 2020 Digital Bazaar, Inc. All rights reserved.
    at ModuleResolver.resolveDependency (/home/dirk/workspace/mit/learner-credential-wallet/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:211:15)
    at DependencyGraph.resolveDependency (/home/dirk/workspace/mit/learner-credential-wallet/node_modules/metro/src/node-haste/DependencyGraph.js:413:43)
    at Object.resolve (/home/dirk/workspace/mit/learner-credential-wallet/node_modules/metro/src/lib/transformHelpers.js:317:42)
    at resolve (/home/dirk/workspace/mit/learner-credential-wallet/node_modules/metro/src/DeltaBundler/traverseDependencies.js:629:33)
    at /home/dirk/workspace/mit/learner-credential-wallet/node_modules/metro/src/DeltaBundler/traverseDependencies.js:645:26
    at Array.reduce (<anonymous>)
    at resolveDependencies (/home/dirk/workspace/mit/learner-credential-wallet/node_modules/metro/src/DeltaBundler/traverseDependencies.js:644:33)
    at /home/dirk/workspace/mit/learner-credential-wallet/node_modules/metro/src/DeltaBundler/traverseDependencies.js:329:33
    at Generator.next (<anonymous>)
    at asyncGeneratorStep (/home/dirk/workspace/mit/learner-credential-wallet/node_modules/metro/src/DeltaBundler/traverseDependencies.js:137:24)

At some stage I also managed to fix the build by pinning the version of expo-app-loading, but then I tried to delete node_modules again and got stuck

from learner-credential-wallet.

dmitrizagidulin avatar dmitrizagidulin commented on August 23, 2024

Thanks @dirkcuys, that's great data points! I'll look into the 'bnid' issue, I think that's unrelated, and I know how to fix it.

from learner-credential-wallet.

dmitrizagidulin avatar dmitrizagidulin commented on August 23, 2024

@dirkcuys - I published a patch fix to package @digitalcredentials/[email protected], which should fix that 'unable to resolve module' error.

from learner-credential-wallet.

sethduffin avatar sethduffin commented on August 23, 2024

After some debugging, it looks like this issue was introduced in commit 215f61f when expo-app-loading was indirectly upgraded from 1.1.21.3.0 (I imagine we ran npm update).

Luckily, @dirkcuys's solution of pinning expo-app-loading to 1.1.2 resolved the build issue for me, so I've submitted PR #115 with this change.

If we still wanted the latest version of expo-app-loading we'd have to do a couple of things:

  1. Migrate from react-native-unimodules to expo-modules (as @dirkcuys noted)
  2. Upgrade to Expo SDK 43 (or 44) - not a major issue but could potentially break a few things
  3. Ensure that none of our dependencies require @unimodules/core (having both causes issues with duplicate symbols for iOS)

Right now, isomorphic-webcrypto includes @unimodules/core in our dependency tree:

[email protected]
└─┬ @digitalcredentials/[email protected]
  └─┬ @digitalcredentials/[email protected]
    └─┬ [email protected]
      ├── @unimodules/[email protected]
      └── @unimodules/[email protected]

I've opened draft PR #116 with the expo-modules migration, but we would have to wait until isomorphic-webcrypto migrates to expo-modules as well.

There was an issue opened in the repo (kevlened/isomorphic-webcrypto#57), but it has been closed by author.

from learner-credential-wallet.

dmitrizagidulin avatar dmitrizagidulin commented on August 23, 2024

Fixed in main as of PR #115.

Thank you so much to both @sethduffin and @dirkcuys for working on this!
I suspect that we'll need to continue the approach started in PR #116, but pinning app-loading is a fantastic meantime fix.

from learner-credential-wallet.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.