1

running react native with ios simulator.

the backend uses open api, and has a folder in FrontEnd, to enforce schemas. I'm calling a class from this openapi auto generated file Frontend/sdk/api.ts.

in my frontend/service/doSomething.ts,

import { DefaultApi } from '../sdk/api // in frontend, autogenerated by open API
function func1 () {
   const api = new DefaultApi()   // calls crypto somehow
}

on build, i get this error

 BUNDLE  ./index.js 

error: Error: While trying to resolve module `crypto` from file
 `/app/node_modules/request/lib/helpers.js`, the package
 `/app/node_modules/crypto/package.json` was successfully found.
 However, this package itself specifies a `main` module field that
 could not be resolved (`/app/node_modules/crypto/index.js`. Indeed,
 none of these files exist:

  * /app/node_modules/crypto/index.js(.native|.ios.jsx|.native.jsx|.jsx|.ios.js|.native.js|.js|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx|.ios.json|.native.json|.json)
  * /app/node_modules/crypto/index.js/index(.native|.ios.jsx|.native.jsx|.jsx|.ios.js|.native.js|.js|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx|.ios.json|.native.json|.json)
    at DependencyGraph.resolveDependency (/app/node_modules/metro/src/node-haste/DependencyGraph.js:311:17)
    at Object.resolve (/app/node_modules/metro/src/lib/transformHelpers.js:129:24)
    at resolve (/app/node_modules/metro/src/DeltaBundler/traverseDependencies.js:396:33)
    at /app/node_modules/metro/src/DeltaBundler/traverseDependencies.js:412:26
    at Array.reduce (<anonymous>)
    at resolveDependencies (/app/node_modules/metro/src/DeltaBundler/traverseDependencies.js:411:33)
    at processModule (/app/node_modules/metro/src/DeltaBundler/traverseDependencies.js:140:31)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async addDependency (/node_modules/metro/src/DeltaBundler/traverseDependencies.js:230:18)
    at async Promise.all (index 2)

Failed: I've tried following However, this package itself specifies a `main` module field that could not be resolved adding to metro.config.js

 resolver: {
    sourceExts: ['jsx', 'js', 'ts', 'tsx'], //add here
  }

but it FAILS with same error.

not_fubar_yet
  • 194
  • 15

1 Answers1

0

the request package and crypto has been deprecated.

not_fubar_yet
  • 194
  • 15