COINiDWallet icon indicating copy to clipboard operation
COINiDWallet copied to clipboard

Move devDependencies that required to compile the app to dependencies [PATCH included]

Open emanuelb opened this issue 3 years ago • 0 comments

When NODE_ENV="production" environment variable is used, app compilation fails cause some dependencies required to compile the app are in devDependencies instead of dependencies in package.json file.

  1. rn-nodeify https://github.com/COINiD/COINiDWallet/blob/c557790fb88ef3492609e434e3f1356c310ed462/package.json#L92 which is used in postinstall: https://github.com/COINiD/COINiDWallet/blob/c557790fb88ef3492609e434e3f1356c310ed462/package.json#L8 without it yarn install command fail with
$ node node_modules/rn-nodeify/cmd.js --install stream,buffer,events,assert,crypto,vm --hack
internal/modules/cjs/loader.js:883
  throw err;
  ^

Error: Cannot find module '/home/appuser/app/wallet/COINiDWallet-1.8.0/node_modules/rn-nodeify/cmd.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at internal/main/run_main_module.js:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}
error Command failed with exit code 1.
  1. metro-react-native-babel-preset https://github.com/COINiD/COINiDWallet/blob/c557790fb88ef3492609e434e3f1356c310ed462/package.json#L85 without it ./gradlew assembleRelease fail with:
> Task :app:bundleReleaseJsAndAssets
error index.js: Cannot find module 'metro-react-native-babel-preset' from '/home/appuser/app/wallet/COINiDWallet-1.8.0'
  1. node-mock-server https://github.com/COINiD/COINiDWallet/blob/c557790fb88ef3492609e434e3f1356c310ed462/package.json#L88 without it ./gradlew assembleRelease fail with:
> Task :app:bundleReleaseJsAndAssets
error Unable to resolve module `node-mock-server/react-native/utils` from `/home/appuser/app/wallet/COINiDWallet-1.8.0/src/utils/feeHelper.js`: Module `node-mock-server/react-native/utils` does not exist in the Haste module map

To fix apply patch like to package.json file:

@@ -65,6 +65,9 @@
     "set-value": "^2.0.1",
     "socket.io-client": "^2.2.0",
     "stream-browserify": "^1.0.0",
+    "metro-react-native-babel-preset": "^0.66.0",
+    "node-mock-server": "https://github.com/COINiD/node-mock-server.git",
+    "rn-nodeify": "^10.3.0",
     "vm-browserify": "0.0.4"
   },
   "devDependencies": {
@@ -82,14 +85,11 @@
     "eslint-plugin-react": "^7.12.4",
     "jest": "^24.5.0",
     "jest-fetch-mock": "^2.1.0",
-    "metro-react-native-babel-preset": "^0.53.1",
     "mock-async-storage": "^2.0.4",
     "mock-socket": "^8.0.5",
-    "node-mock-server": "https://github.com/COINiD/node-mock-server.git",
     "react-dom": "^16.7.0",
     "react-native-version": "^2.7.0",
-    "react-test-renderer": "16.8.3",
-    "rn-nodeify": "^10.0.0"
+    "react-test-renderer": "16.8.3"
   },
   "jest": {
     "preset": "react-native",

emanuelb avatar Jun 02 '21 23:06 emanuelb