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.
- rn-nodeify
which is used in postinstall:
|
"postinstall": "node node_modules/rn-nodeify/cmd.js --install stream,buffer,events,assert,crypto,vm --hack", |
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.
- metro-react-native-babel-preset
|
"metro-react-native-babel-preset": "^0.53.1", |
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'
- node-mock-server
|
"node-mock-server": "https://github.com/COINiD/node-mock-server.git", |
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",
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.COINiDWallet/package.json
Line 92 in c557790
which is used in postinstall:
COINiDWallet/package.json
Line 8 in c557790
without it
yarn installcommand fail withCOINiDWallet/package.json
Line 85 in c557790
without it
./gradlew assembleReleasefail with:COINiDWallet/package.json
Line 88 in c557790
without it
./gradlew assembleReleasefail with:To fix apply patch like to package.json file: