Can I have React Native integration w/out Nodeify?

Greetings everyone!

My team and I are making a very late play in the Moralis + Avalanche hackathon with our Social DeFi app https://avagogo.io/hackathon.

Things were going too good to be true, but now with less than 48 hours to go, I’ve hit a major snag.

When I attempt to wrap my <App /> with <MoralisProvider />, I’m getting this error:

error: Error: Unable to resolve module events from /Workspace/modenero/avagogo/node_modules/moralis/lib/browser/MoralisWeb3.js: events could not be found within the project or in these directories:
  node_modules/moralis/node_modules
  node_modules

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-*
  59 | var _ethers = require("ethers");
  60 |
> 61 | var _events = _interopRequireDefault(require("events"));
     |                                               ^
  62 |
  63 | var _ParseObject = _interopRequireDefault(require("./ParseObject"));
  64 |
    at ModuleResolver.resolveDependency (/Workspace/modenero/avagogo/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:129:15)
    at DependencyGraph.resolveDependency (/Workspace/modenero/avagogo/node_modules/metro/src/node-haste/DependencyGraph.js:288:43)
    at Object.resolve (/Workspace/modenero/avagogo/node_modules/metro/src/lib/transformHelpers.js:129:24)
    at resolve (/Workspace/modenero/avagogo/node_modules/metro/src/DeltaBundler/traverseDependencies.js:396:33)
    at /Workspace/modenero/avagogo/node_modules/metro/src/DeltaBundler/traverseDependencies.js:412:26
    at Array.reduce (<anonymous>)
    at resolveDependencies (/Workspace/modenero/avagogo/node_modules/metro/src/DeltaBundler/traverseDependencies.js:411:33)
    at processModule (/Workspace/modenero/avagogo/node_modules/metro/src/DeltaBundler/traverseDependencies.js:140:31)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async addDependency (/Workspace/modenero/avagogo/node_modules/metro/src/DeltaBundler/traverseDependencies.js:230:18)
 ERROR  [Error: undefined Unable to resolve module events from /Workspace/modenero/avagogo/node_modules/moralis/lib/browser/MoralisWeb3.js: events could not be found within the project or in these directories:
  node_modules/moralis/node_modules
  node_modules

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-*
  59 | var _ethers = require("ethers");
  60 |
> 61 | var _events = _interopRequireDefault(require("events"));
     |                                               ^
  62 |
  63 | var _ParseObject = _interopRequireDefault(require("./ParseObject"));
  64 |]

The problem appears to be a requirement for the events library.

From the reference implementation ethereum-react-native-boilerplate, I realize that rn-nodeify may be required in some way. So my question, "Is there anyway to utilize the Moralis API in React Native WITHOUT having to resort to any sort of hacks?"

I’ve run out of time to keep iterating on this for a solution. For now, I’ll just revert to using ethers (which I’m very comfortable with) for what I need to do on the native side. Fortunately, our web/dapp seems to be running its Moralis integration just fine. :+1:

Hopefully it’s enough to qualify for this event. :pray::pray::pray:

and with just over 20hrs to go … I’ve discovered https://moralis.io/speedy-nodes/ … and just as I was starting to fade a bit … hahaha :joy::joy::joy: