@nrwl/react-native 13.3.0-beta.1 → 13.3.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/package.json +8 -7
  2. package/plugins/metro-resolver.js +93 -25
  3. package/plugins/metro-resolver.js.map +1 -1
  4. package/plugins/with-nx-metro.js +1 -1
  5. package/plugins/with-nx-metro.js.map +1 -1
  6. package/project.json +1 -3
  7. package/src/executors/build-android/build-android.impl.js +3 -3
  8. package/src/executors/build-android/build-android.impl.js.map +1 -1
  9. package/src/executors/build-android/build-android.impl.ts +7 -3
  10. package/src/executors/bundle/bundle.impl.js +3 -7
  11. package/src/executors/bundle/bundle.impl.js.map +1 -1
  12. package/src/executors/bundle/bundle.impl.ts +3 -7
  13. package/src/executors/run-android/run-android.impl.js +10 -7
  14. package/src/executors/run-android/run-android.impl.js.map +1 -1
  15. package/src/executors/run-android/run-android.impl.ts +10 -7
  16. package/src/executors/run-android/schema.d.ts +1 -0
  17. package/src/executors/run-android/schema.json +5 -0
  18. package/src/executors/run-ios/run-ios.impl.js +9 -6
  19. package/src/executors/run-ios/run-ios.impl.js.map +1 -1
  20. package/src/executors/run-ios/run-ios.impl.ts +9 -6
  21. package/src/executors/run-ios/schema.d.ts +1 -0
  22. package/src/executors/run-ios/schema.json +5 -0
  23. package/src/executors/start/start.impl.js +1 -1
  24. package/src/executors/start/start.impl.js.map +1 -1
  25. package/src/executors/start/start.impl.ts +1 -1
  26. package/src/executors/sync-deps/sync-deps.impl.d.ts +1 -1
  27. package/src/executors/sync-deps/sync-deps.impl.js +3 -3
  28. package/src/executors/sync-deps/sync-deps.impl.js.map +1 -1
  29. package/src/executors/sync-deps/sync-deps.impl.ts +8 -2
  30. package/src/generators/application/application.js +5 -5
  31. package/src/generators/application/application.js.map +1 -1
  32. package/src/generators/application/files/app/android/app/build.gradle.template +1 -1
  33. package/src/generators/application/files/app/ios/__className__.xcodeproj/project.pbxproj.template +1 -1
  34. package/src/generators/application/files/app/src/app/App.tsx.template +427 -106
  35. package/src/generators/application/files/app/src/app/icons/blog.svg +1 -0
  36. package/src/generators/application/files/app/src/app/icons/book.svg +1 -0
  37. package/src/generators/application/files/app/src/app/icons/checkmark.svg +1 -0
  38. package/src/generators/application/files/app/src/app/icons/chevron-right.svg +1 -0
  39. package/src/generators/application/files/app/src/app/icons/courses.svg +1 -0
  40. package/src/generators/application/files/app/src/app/icons/github.svg +1 -0
  41. package/src/generators/application/files/app/src/app/icons/heart.svg +1 -0
  42. package/src/generators/application/files/app/src/app/{logo.png → icons/logo.png} +0 -0
  43. package/src/generators/application/files/app/src/app/icons/nx-cloud.svg +1 -0
  44. package/src/generators/application/files/app/src/app/icons/pointer.svg +1 -0
  45. package/src/generators/application/files/app/src/app/icons/terminal.svg +1 -0
  46. package/src/generators/application/files/app/src/app/icons/vscode.svg +1 -0
  47. package/src/generators/application/files/app/src/app/icons/youtube.svg +1 -0
  48. package/src/generators/application/lib/add-project.js +2 -2
  49. package/src/generators/application/lib/add-project.js.map +1 -1
  50. package/src/generators/application/lib/nomalize-options.spec.ts +10 -5
  51. package/src/generators/application/lib/normalize-options.d.ts +1 -0
  52. package/src/generators/application/lib/normalize-options.js +4 -2
  53. package/src/generators/application/lib/normalize-options.js.map +1 -1
  54. package/src/generators/init/init.js +7 -17
  55. package/src/generators/init/init.js.map +1 -1
  56. package/src/generators/library/library.js +2 -2
  57. package/src/generators/library/library.js.map +1 -1
  58. package/src/generators/library/library.spec.ts +1 -1
  59. package/src/migrations/update-12-5-0/update-jest-for-react-native.js +9 -3
  60. package/src/migrations/update-12-5-0/update-jest-for-react-native.js.map +1 -1
  61. package/src/utils/add-jest.d.ts +1 -1
  62. package/src/utils/add-jest.js +2 -2
  63. package/src/utils/add-jest.js.map +1 -1
  64. package/src/utils/add-linting.js +6 -18
  65. package/src/utils/add-linting.js.map +1 -1
  66. package/src/utils/ensure-node-modules-symlink.js +1 -82
  67. package/src/utils/ensure-node-modules-symlink.js.map +1 -1
  68. package/src/utils/ensure-node-modules-symlink.spec.ts +8 -86
  69. package/src/utils/pod-install-task.d.ts +4 -4
  70. package/src/utils/pod-install-task.js +7 -7
  71. package/src/utils/pod-install-task.js.map +1 -1
  72. package/src/utils/symlink-task.d.ts +1 -1
  73. package/src/utils/symlink-task.js +2 -3
  74. package/src/utils/symlink-task.js.map +1 -1
  75. package/src/utils/versions.d.ts +1 -0
  76. package/src/utils/versions.js +3 -2
  77. package/src/utils/versions.js.map +1 -1
  78. package/src/generators/application/files/app/src/app/star.svg +0 -11
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nrwl/react-native",
3
- "version": "13.3.0-beta.1",
3
+ "version": "13.3.0-beta.8",
4
4
  "description": "React Native Plugin for Nx",
5
5
  "keywords": [
6
6
  "Monorepo",
@@ -24,13 +24,14 @@
24
24
  "main": "index.js",
25
25
  "types": "index.d.ts",
26
26
  "dependencies": {
27
- "@nrwl/detox": "13.3.0-beta.1",
28
- "@nrwl/devkit": "13.3.0-beta.1",
29
- "@nrwl/jest": "13.3.0-beta.1",
30
- "@nrwl/linter": "13.3.0-beta.1",
31
- "@nrwl/react": "13.3.0-beta.1",
32
- "@nrwl/workspace": "13.3.0-beta.1",
27
+ "@nrwl/detox": "13.3.0-beta.8",
28
+ "@nrwl/devkit": "13.3.0-beta.8",
29
+ "@nrwl/jest": "13.3.0-beta.8",
30
+ "@nrwl/linter": "13.3.0-beta.8",
31
+ "@nrwl/react": "13.3.0-beta.8",
32
+ "@nrwl/workspace": "13.3.0-beta.8",
33
33
  "chalk": "^4.1.0",
34
+ "enhanced-resolve": "^5.8.3",
34
35
  "ignore": "^5.0.4",
35
36
  "metro-resolver": "^0.66.2",
36
37
  "node-fetch": "^2.6.1",
@@ -5,6 +5,11 @@ const tslib_1 = require("tslib");
5
5
  const metroResolver = require("metro-resolver");
6
6
  const tsconfig_paths_1 = require("tsconfig-paths");
7
7
  const chalk = require("chalk");
8
+ const devkit_1 = require("@nrwl/devkit");
9
+ const enhanced_resolve_1 = require("enhanced-resolve");
10
+ const path_1 = require("path");
11
+ const fs = require("fs");
12
+ const app_root_1 = require("@nrwl/tao/src/utils/app-root");
8
13
  /*
9
14
  * Use tsconfig to resolve additional workspace libs.
10
15
  *
@@ -17,37 +22,83 @@ function getResolveRequest(extensions) {
17
22
  if (DEBUG)
18
23
  console.log(chalk.cyan(`[Nx] Resolving: ${moduleName}`));
19
24
  const { resolveRequest } = _context, context = (0, tslib_1.__rest)(_context, ["resolveRequest"]);
20
- try {
21
- return metroResolver.resolve(context, moduleName, platform);
25
+ let resolvedPath = defaultMetroResolver(context, moduleName, platform);
26
+ if (resolvedPath) {
27
+ return resolvedPath;
22
28
  }
23
- catch (_a) {
24
- if (DEBUG)
25
- console.log(chalk.cyan(`[Nx] Unable to resolve with default Metro resolver: ${moduleName}`));
26
- }
27
- const matcher = getMatcher();
28
- let match;
29
- const matchExtension = extensions.find((extension) => {
30
- match = matcher(realModuleName, undefined, undefined, ['.' + extension]);
31
- return !!match;
32
- });
33
- if (match) {
34
- return {
35
- type: 'sourceFile',
36
- filePath: !matchExtension || match.endsWith(`.${matchExtension}`)
37
- ? match
38
- : `${match}.${matchExtension}`,
39
- };
40
- }
41
- else {
42
- if (DEBUG) {
43
- console.log(chalk.red(`[Nx] Failed to resolve ${chalk.bold(moduleName)}`));
44
- console.log(chalk.cyan(`[Nx] The following tsconfig paths was used:\n:${chalk.bold(JSON.stringify(paths, null, 2))}`));
29
+ if ((0, devkit_1.detectPackageManager)(app_root_1.appRootPath) === 'pnpm') {
30
+ resolvedPath = pnpmResolver(extensions, context, realModuleName, moduleName);
31
+ if (resolvedPath) {
32
+ return resolvedPath;
45
33
  }
46
- throw new Error(`Cannot resolve ${chalk.bold(moduleName)}`);
47
34
  }
35
+ return tsconfigPathsResolver(extensions, realModuleName, moduleName);
48
36
  };
49
37
  }
50
38
  exports.getResolveRequest = getResolveRequest;
39
+ /**
40
+ * This function try to resolve path using metro's default resolver
41
+ * @returns path if resolved, else undefined
42
+ */
43
+ function defaultMetroResolver(context, moduleName, platform) {
44
+ const DEBUG = process.env.NX_REACT_NATIVE_DEBUG === 'true';
45
+ try {
46
+ return metroResolver.resolve(context, moduleName, platform);
47
+ }
48
+ catch (_a) {
49
+ if (DEBUG)
50
+ console.log(chalk.cyan(`[Nx] Unable to resolve with default Metro resolver: ${moduleName}`));
51
+ }
52
+ }
53
+ /**
54
+ * This resolver try to resolve module for pnpm.
55
+ * @returns path if resolved, else undefined
56
+ * This pnpm resolver is inspired from https://github.com/vjpr/pnpm-react-native-example/blob/main/packages/pnpm-expo-helper/util/make-resolver.js
57
+ */
58
+ function pnpmResolver(extensions, context, realModuleName, moduleName) {
59
+ const DEBUG = process.env.NX_REACT_NATIVE_DEBUG === 'true';
60
+ try {
61
+ const pnpmResolver = getPnpmResolver(app_root_1.appRootPath, extensions);
62
+ const lookupStartPath = (0, path_1.dirname)(context.originModulePath);
63
+ const filePath = pnpmResolver.resolveSync({}, lookupStartPath, realModuleName);
64
+ if (filePath) {
65
+ return { type: 'sourceFile', filePath };
66
+ }
67
+ }
68
+ catch (_a) {
69
+ if (DEBUG)
70
+ console.log(chalk.cyan(`[Nx] Unable to resolve with default PNPM resolver: ${moduleName}`));
71
+ }
72
+ }
73
+ /**
74
+ * This function try to resolve files that are specified in tsconfig's paths
75
+ * @returns path if resolved, else undefined
76
+ */
77
+ function tsconfigPathsResolver(extensions, realModuleName, moduleName) {
78
+ const DEBUG = process.env.NX_REACT_NATIVE_DEBUG === 'true';
79
+ const matcher = getMatcher();
80
+ let match;
81
+ // find out the file extension
82
+ const matchExtension = extensions.find((extension) => {
83
+ match = matcher(realModuleName, undefined, undefined, ['.' + extension]);
84
+ return !!match;
85
+ });
86
+ if (match) {
87
+ return {
88
+ type: 'sourceFile',
89
+ filePath: !matchExtension || match.endsWith(`.${matchExtension}`)
90
+ ? match
91
+ : `${match}.${matchExtension}`,
92
+ };
93
+ }
94
+ else {
95
+ if (DEBUG) {
96
+ console.log(chalk.red(`[Nx] Failed to resolve ${chalk.bold(moduleName)}`));
97
+ console.log(chalk.cyan(`[Nx] The following tsconfig paths was used:\n:${chalk.bold(JSON.stringify(paths, null, 2))}`));
98
+ }
99
+ throw new Error(`Cannot resolve ${chalk.bold(moduleName)}`);
100
+ }
101
+ }
51
102
  let matcher;
52
103
  let absoluteBaseUrl;
53
104
  let paths;
@@ -71,4 +122,21 @@ function getMatcher() {
71
122
  }
72
123
  return matcher;
73
124
  }
125
+ /**
126
+ * This function returns resolver for pnpm.
127
+ * It is inspired form https://github.com/vjpr/pnpm-expo-example/blob/main/packages/pnpm-expo-helper/util/make-resolver.js.
128
+ */
129
+ let resolver;
130
+ function getPnpmResolver(appRootPath, extensions) {
131
+ if (!resolver) {
132
+ const fileSystem = new enhanced_resolve_1.CachedInputFileSystem(fs, 4000);
133
+ resolver = enhanced_resolve_1.ResolverFactory.createResolver({
134
+ fileSystem,
135
+ extensions: extensions.map((extension) => '.' + extension),
136
+ useSyncFileSystemCalls: true,
137
+ modules: [(0, path_1.join)(appRootPath, 'node_modules'), 'node_modules'],
138
+ });
139
+ }
140
+ return resolver;
141
+ }
74
142
  //# sourceMappingURL=metro-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metro-resolver.js","sourceRoot":"","sources":["../../../../packages/react-native/plugins/metro-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metro-resolver.js","sourceRoot":"","sources":["../../../../packages/react-native/plugins/metro-resolver.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ exports.withNxMetro = void 0;
4
4
  const app_root_1 = require("@nrwl/workspace/src/utils/app-root");
5
5
  const metro_resolver_1 = require("./metro-resolver");
6
6
  function withNxMetro(config, opts = {}) {
7
- const extensions = ['', 'ts', 'tsx', 'js', 'jsx'];
7
+ const extensions = ['', 'ts', 'tsx', 'js', 'jsx', 'json'];
8
8
  if (opts.debug)
9
9
  process.env.NX_REACT_NATIVE_DEBUG = 'true';
10
10
  if (opts.extensions)
@@ -1 +1 @@
1
- {"version":3,"file":"with-nx-metro.js","sourceRoot":"","sources":["../../../../packages/react-native/plugins/with-nx-metro.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AACjE,qDAAqD;AAOrD,SAAgB,WAAW,CAAC,MAAW,EAAE,OAAsB,EAAE;IAC/D,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC;IAC3D,IAAI,IAAI,CAAC,UAAU;QAAE,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAEzD,sEAAsE;IACtE,MAAM,CAAC,WAAW,GAAG,sBAAW,CAAC;IAEjC,8CAA8C;IAC9C,MAAM,CAAC,QAAQ,mCACV,MAAM,CAAC,QAAQ,KAClB,cAAc,EAAE,IAAA,kCAAiB,EAAC,UAAU,CAAC,GAC9C,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,kCAeC"}
1
+ {"version":3,"file":"with-nx-metro.js","sourceRoot":"","sources":["../../../../packages/react-native/plugins/with-nx-metro.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AACjE,qDAAqD;AAOrD,SAAgB,WAAW,CAAC,MAAW,EAAE,OAAsB,EAAE;IAC/D,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC;IAC3D,IAAI,IAAI,CAAC,UAAU;QAAE,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAEzD,sEAAsE;IACtE,MAAM,CAAC,WAAW,GAAG,sBAAW,CAAC;IAEjC,8CAA8C;IAC9C,MAAM,CAAC,QAAQ,mCACV,MAAM,CAAC,QAAQ,KAClB,cAAc,EAAE,IAAA,kCAAiB,EAAC,UAAU,CAAC,GAC9C,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,kCAeC"}
package/project.json CHANGED
@@ -26,13 +26,11 @@
26
26
  "outputs": ["coverage/packages/react-native"]
27
27
  },
28
28
  "build-base": {
29
- "executor": "@nrwl/node:package",
29
+ "executor": "@nrwl/js:tsc",
30
30
  "options": {
31
31
  "outputPath": "build/packages/react-native",
32
32
  "tsConfig": "packages/react-native/tsconfig.lib.json",
33
- "packageJson": "packages/react-native/package.json",
34
33
  "main": "packages/react-native/index.ts",
35
- "updateBuildableProjectDepsInPackageJson": false,
36
34
  "assets": [
37
35
  "packages/react-native/*.md",
38
36
  {
@@ -13,7 +13,7 @@ function buildAndroidExecutor(options, context) {
13
13
  (0, fs_1.chmodSync)((0, path_1.join)(projectRoot, 'android', 'gradlew'), 0o775);
14
14
  (0, fs_1.chmodSync)((0, path_1.join)(projectRoot, 'android', 'gradlew.bat'), 0o775);
15
15
  try {
16
- yield (0, tslib_1.__await)(runCliBuild(projectRoot, options));
16
+ yield (0, tslib_1.__await)(runCliBuild(context.root, projectRoot, options));
17
17
  yield yield (0, tslib_1.__await)({ success: true });
18
18
  }
19
19
  finally {
@@ -24,10 +24,10 @@ function buildAndroidExecutor(options, context) {
24
24
  });
25
25
  }
26
26
  exports.default = buildAndroidExecutor;
27
- function runCliBuild(projectRoot, options) {
27
+ function runCliBuild(workspaceRoot, projectRoot, options) {
28
28
  return new Promise((resolve, reject) => {
29
29
  childProcess = (0, child_process_1.spawn)(process.platform === 'win32' ? 'gradlew.bat' : './gradlew', [options.apk ? 'assembleRelease' : 'bundleRelease'], {
30
- cwd: (0, path_1.join)(projectRoot, 'android'),
30
+ cwd: (0, path_1.join)(workspaceRoot, projectRoot, 'android'),
31
31
  stdio: [0, 1, 2],
32
32
  });
33
33
  // Ensure the child process is killed when the parent exits
@@ -1 +1 @@
1
- {"version":3,"file":"build-android.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/build-android/build-android.impl.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAC5B,yFAAmF;AACnF,iDAAoD;AACpD,2BAA+B;AAM/B,IAAI,YAA0B,CAAC;AAE/B,SAA+B,oBAAoB,CACjD,OAAgC,EAChC,OAAwB;;QAExB,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QACzE,IAAA,sDAAwB,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;QAE9D,IAAI;YACF,2BAAM,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA,CAAC;YACxC,iCAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA,CAAC;SACzB;gBAAS;YACR,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,IAAI,EAAE,CAAC;aACrB;SACF;IACH,CAAC;CAAA;AAjBD,uCAiBC;AAED,SAAS,WAAW,CAAC,WAAmB,EAAE,OAAgC;IACxE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,YAAY,GAAG,IAAA,qBAAK,EAClB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,EAC1D,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,EACnD;YACE,GAAG,EAAE,IAAA,WAAI,EAAC,WAAW,EAAE,SAAS,CAAC;YACjC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACjB,CACF,CAAC;QAEF,2DAA2D;QAC3D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,CAAC;aACd;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"build-android.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/build-android/build-android.impl.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAC5B,yFAAmF;AACnF,iDAAoD;AACpD,2BAA+B;AAM/B,IAAI,YAA0B,CAAC;AAE/B,SAA+B,oBAAoB,CACjD,OAAgC,EAChC,OAAwB;;QAExB,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QACzE,IAAA,sDAAwB,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;QAE9D,IAAI;YACF,2BAAM,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA,CAAC;YACtD,iCAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA,CAAC;SACzB;gBAAS;YACR,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,IAAI,EAAE,CAAC;aACrB;SACF;IACH,CAAC;CAAA;AAjBD,uCAiBC;AAED,SAAS,WAAW,CAClB,aAAqB,EACrB,WAAmB,EACnB,OAAgC;IAEhC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,YAAY,GAAG,IAAA,qBAAK,EAClB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,EAC1D,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,EACnD;YACE,GAAG,EAAE,IAAA,WAAI,EAAC,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC;YAChD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACjB,CACF,CAAC;QAEF,2DAA2D;QAC3D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,CAAC;aACd;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -20,7 +20,7 @@ export default async function* buildAndroidExecutor(
20
20
  chmodSync(join(projectRoot, 'android', 'gradlew.bat'), 0o775);
21
21
 
22
22
  try {
23
- await runCliBuild(projectRoot, options);
23
+ await runCliBuild(context.root, projectRoot, options);
24
24
  yield { success: true };
25
25
  } finally {
26
26
  if (childProcess) {
@@ -29,13 +29,17 @@ export default async function* buildAndroidExecutor(
29
29
  }
30
30
  }
31
31
 
32
- function runCliBuild(projectRoot: string, options: ReactNativeBuildOptions) {
32
+ function runCliBuild(
33
+ workspaceRoot: string,
34
+ projectRoot: string,
35
+ options: ReactNativeBuildOptions
36
+ ) {
33
37
  return new Promise((resolve, reject) => {
34
38
  childProcess = spawn(
35
39
  process.platform === 'win32' ? 'gradlew.bat' : './gradlew',
36
40
  [options.apk ? 'assembleRelease' : 'bundleRelease'],
37
41
  {
38
- cwd: join(projectRoot, 'android'),
42
+ cwd: join(workspaceRoot, projectRoot, 'android'),
39
43
  stdio: [0, 1, 2],
40
44
  }
41
45
  );
@@ -10,12 +10,8 @@ let childProcess;
10
10
  function bundleExecutor(options, context) {
11
11
  return (0, tslib_1.__asyncGenerator)(this, arguments, function* bundleExecutor_1() {
12
12
  const projectRoot = context.workspace.projects[context.projectName].root;
13
- options.bundleOutput = (0, path_1.relative)(context.root, projectRoot)
14
- .split(path_1.sep)
15
- .map(() => '..')
16
- .concat(options.bundleOutput)
17
- .join(path_1.sep);
18
- (0, fileutils_1.createDirectory)((0, path_1.dirname)((0, path_1.join)(projectRoot, options.bundleOutput)));
13
+ options.bundleOutput = (0, path_1.join)(context.root, options.bundleOutput);
14
+ (0, fileutils_1.createDirectory)((0, path_1.dirname)(options.bundleOutput));
19
15
  (0, ensure_node_modules_symlink_1.ensureNodeModulesSymlink)(context.root, projectRoot);
20
16
  try {
21
17
  yield (0, tslib_1.__await)(runCliBuild(context.root, projectRoot, options));
@@ -32,7 +28,7 @@ exports.default = bundleExecutor;
32
28
  function runCliBuild(workspaceRoot, projectRoot, options) {
33
29
  return new Promise((resolve, reject) => {
34
30
  const cliOptions = createBundleOptions(options);
35
- childProcess = (0, child_process_1.fork)((0, path_1.join)(workspaceRoot, './node_modules/react-native/cli.js'), ['bundle', ...cliOptions], { cwd: projectRoot });
31
+ childProcess = (0, child_process_1.fork)((0, path_1.join)(workspaceRoot, './node_modules/react-native/cli.js'), ['bundle', ...cliOptions], { cwd: (0, path_1.join)(workspaceRoot, projectRoot) });
36
32
  // Ensure the child process is killed when the parent exits
37
33
  process.on('exit', () => childProcess.kill());
38
34
  process.on('SIGTERM', () => childProcess.kill());
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/bundle/bundle.impl.ts"],"names":[],"mappings":";;;AAAA,uEAA0E;AAC1E,yEAAiE;AACjE,+BAAoD;AACpD,yFAAmF;AACnF,iDAAmD;AAQnD,IAAI,YAA0B,CAAC;AAE/B,SAA+B,cAAc,CAC3C,OAAiC,EACjC,OAAwB;;QAExB,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QAEzE,OAAO,CAAC,YAAY,GAAG,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC;aACvD,KAAK,CAAC,UAAG,CAAC;aACV,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aACf,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;aAC5B,IAAI,CAAC,UAAG,CAAC,CAAC;QAEb,IAAA,2BAAe,EAAC,IAAA,cAAO,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAClE,IAAA,sDAAwB,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAEpD,IAAI;YACF,2BAAM,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA,CAAC;YACtD,iCAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA,CAAC;SACzB;gBAAS;YACR,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,IAAI,EAAE,CAAC;aACrB;SACF;IACH,CAAC;CAAA;AAvBD,iCAuBC;AAED,SAAS,WAAW,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO;IACtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAChD,YAAY,GAAG,IAAA,oBAAI,EACjB,IAAA,WAAI,EAAC,aAAa,EAAE,oCAAoC,CAAC,EACzD,CAAC,QAAQ,EAAE,GAAG,UAAU,CAAC,EACzB,EAAE,GAAG,EAAE,WAAW,EAAE,CACrB,CAAC;QAEF,2DAA2D;QAC3D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,CAAC;aACd;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAO;IAClC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;QAC7C,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,IAAA,4BAAU,EAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"bundle.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/bundle/bundle.impl.ts"],"names":[],"mappings":";;;AAAA,uEAA0E;AAC1E,yEAAiE;AACjE,+BAAoD;AACpD,yFAAmF;AACnF,iDAAmD;AAQnD,IAAI,YAA0B,CAAC;AAE/B,SAA+B,cAAc,CAC3C,OAAiC,EACjC,OAAwB;;QAExB,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QAEzE,OAAO,CAAC,YAAY,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAEhE,IAAA,2BAAe,EAAC,IAAA,cAAO,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAC/C,IAAA,sDAAwB,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAEpD,IAAI;YACF,2BAAM,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA,CAAC;YACtD,iCAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA,CAAC;SACzB;gBAAS;YACR,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,IAAI,EAAE,CAAC;aACrB;SACF;IACH,CAAC;CAAA;AAnBD,iCAmBC;AAED,SAAS,WAAW,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO;IACtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAChD,YAAY,GAAG,IAAA,oBAAI,EACjB,IAAA,WAAI,EAAC,aAAa,EAAE,oCAAoC,CAAC,EACzD,CAAC,QAAQ,EAAE,GAAG,UAAU,CAAC,EACzB,EAAE,GAAG,EAAE,IAAA,WAAI,EAAC,aAAa,EAAE,WAAW,CAAC,EAAE,CAC1C,CAAC;QAEF,2DAA2D;QAC3D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,CAAC;aACd;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAO;IAClC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;QAC7C,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,IAAA,4BAAU,EAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
@@ -18,13 +18,9 @@ export default async function* bundleExecutor(
18
18
  ): AsyncGenerator<ReactNativeBundleOutput> {
19
19
  const projectRoot = context.workspace.projects[context.projectName].root;
20
20
 
21
- options.bundleOutput = relative(context.root, projectRoot)
22
- .split(sep)
23
- .map(() => '..')
24
- .concat(options.bundleOutput)
25
- .join(sep);
21
+ options.bundleOutput = join(context.root, options.bundleOutput);
26
22
 
27
- createDirectory(dirname(join(projectRoot, options.bundleOutput)));
23
+ createDirectory(dirname(options.bundleOutput));
28
24
  ensureNodeModulesSymlink(context.root, projectRoot);
29
25
 
30
26
  try {
@@ -43,7 +39,7 @@ function runCliBuild(workspaceRoot, projectRoot, options) {
43
39
  childProcess = fork(
44
40
  join(workspaceRoot, './node_modules/react-native/cli.js'),
45
41
  ['bundle', ...cliOptions],
46
- { cwd: projectRoot }
42
+ { cwd: join(workspaceRoot, projectRoot) }
47
43
  );
48
44
 
49
45
  // Ensure the child process is killed when the parent exits
@@ -12,15 +12,18 @@ function runAndroidExecutor(options, context) {
12
12
  return (0, tslib_1.__asyncGenerator)(this, arguments, function* runAndroidExecutor_1() {
13
13
  const projectRoot = context.workspace.projects[context.projectName].root;
14
14
  (0, ensure_node_modules_symlink_1.ensureNodeModulesSymlink)(context.root, projectRoot);
15
- (0, fs_1.chmodSync)((0, path_1.join)(projectRoot, 'android', 'gradlew'), 0o775);
16
- (0, fs_1.chmodSync)((0, path_1.join)(projectRoot, 'android', 'gradlew.bat'), 0o775);
15
+ (0, fs_1.chmodSync)((0, path_1.join)(context.root, projectRoot, 'android', 'gradlew'), 0o775);
16
+ (0, fs_1.chmodSync)((0, path_1.join)(context.root, projectRoot, 'android', 'gradlew.bat'), 0o775);
17
17
  if (options.sync) {
18
- (0, sync_deps_impl_1.displayNewlyAddedDepsMessage)(context.projectName, yield (0, tslib_1.__await)((0, sync_deps_impl_1.syncDeps)(context.projectName, projectRoot)));
18
+ (0, sync_deps_impl_1.displayNewlyAddedDepsMessage)(context.projectName, yield (0, tslib_1.__await)((0, sync_deps_impl_1.syncDeps)(context.projectName, projectRoot, context.root)));
19
19
  }
20
20
  try {
21
21
  const tasks = [runCliRunAndroid(context.root, projectRoot, options)];
22
22
  if (options.packager) {
23
- tasks.push((0, start_impl_1.runCliStart)(context.root, projectRoot, { port: options.port }));
23
+ tasks.push((0, start_impl_1.runCliStart)(context.root, projectRoot, {
24
+ port: options.port,
25
+ resetCache: options.resetCache,
26
+ }));
24
27
  }
25
28
  yield (0, tslib_1.__await)(Promise.all(tasks));
26
29
  yield yield (0, tslib_1.__await)({ success: true });
@@ -40,7 +43,7 @@ function runCliRunAndroid(workspaceRoot, projectRoot, options) {
40
43
  * Not passing '--packager' due to cli will launch start command from the project root
41
44
  */
42
45
  childProcess = (0, child_process_1.fork)((0, path_1.join)(workspaceRoot, './node_modules/react-native/cli.js'), ['run-android', ...createRunAndroidOptions(options), '--no-packager'], {
43
- cwd: projectRoot,
46
+ cwd: (0, path_1.join)(workspaceRoot, projectRoot),
44
47
  env: Object.assign(Object.assign({}, process.env), { RCT_METRO_PORT: options.port.toString() }),
45
48
  });
46
49
  // Ensure the child process is killed when the parent exits
@@ -59,7 +62,7 @@ function runCliRunAndroid(workspaceRoot, projectRoot, options) {
59
62
  });
60
63
  });
61
64
  }
62
- const nxOptions = ['sync', 'install', 'packager'];
65
+ const nxOrStartOptions = ['sync', 'install', 'packager', 'port', 'resetCache'];
63
66
  function createRunAndroidOptions(options) {
64
67
  return Object.keys(options).reduce((acc, k) => {
65
68
  const v = options[k];
@@ -71,7 +74,7 @@ function createRunAndroidOptions(options) {
71
74
  acc.push(`--no-jetifier`);
72
75
  }
73
76
  }
74
- else if (v && !nxOptions.includes(k)) {
77
+ else if (v && !nxOrStartOptions.includes(k)) {
75
78
  acc.push(`--${k}`, v);
76
79
  }
77
80
  return acc;
@@ -1 +1 @@
1
- {"version":3,"file":"run-android.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/run-android/run-android.impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-android.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/run-android/run-android.impl.ts"],"names":[],"mappings":"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"}
@@ -23,13 +23,13 @@ export default async function* runAndroidExecutor(
23
23
  ): AsyncGenerator<ReactNativeRunAndroidOutput> {
24
24
  const projectRoot = context.workspace.projects[context.projectName].root;
25
25
  ensureNodeModulesSymlink(context.root, projectRoot);
26
- chmodSync(join(projectRoot, 'android', 'gradlew'), 0o775);
27
- chmodSync(join(projectRoot, 'android', 'gradlew.bat'), 0o775);
26
+ chmodSync(join(context.root, projectRoot, 'android', 'gradlew'), 0o775);
27
+ chmodSync(join(context.root, projectRoot, 'android', 'gradlew.bat'), 0o775);
28
28
 
29
29
  if (options.sync) {
30
30
  displayNewlyAddedDepsMessage(
31
31
  context.projectName,
32
- await syncDeps(context.projectName, projectRoot)
32
+ await syncDeps(context.projectName, projectRoot, context.root)
33
33
  );
34
34
  }
35
35
 
@@ -37,7 +37,10 @@ export default async function* runAndroidExecutor(
37
37
  const tasks = [runCliRunAndroid(context.root, projectRoot, options)];
38
38
  if (options.packager) {
39
39
  tasks.push(
40
- runCliStart(context.root, projectRoot, { port: options.port })
40
+ runCliStart(context.root, projectRoot, {
41
+ port: options.port,
42
+ resetCache: options.resetCache,
43
+ })
41
44
  );
42
45
  }
43
46
 
@@ -65,7 +68,7 @@ function runCliRunAndroid(
65
68
  join(workspaceRoot, './node_modules/react-native/cli.js'),
66
69
  ['run-android', ...createRunAndroidOptions(options), '--no-packager'],
67
70
  {
68
- cwd: projectRoot,
71
+ cwd: join(workspaceRoot, projectRoot),
69
72
  env: { ...process.env, RCT_METRO_PORT: options.port.toString() },
70
73
  }
71
74
  );
@@ -87,7 +90,7 @@ function runCliRunAndroid(
87
90
  });
88
91
  }
89
92
 
90
- const nxOptions = ['sync', 'install', 'packager'];
93
+ const nxOrStartOptions = ['sync', 'install', 'packager', 'port', 'resetCache'];
91
94
 
92
95
  function createRunAndroidOptions(options) {
93
96
  return Object.keys(options).reduce((acc, k) => {
@@ -98,7 +101,7 @@ function createRunAndroidOptions(options) {
98
101
  if (!v) {
99
102
  acc.push(`--no-jetifier`);
100
103
  }
101
- } else if (v && !nxOptions.includes(k)) {
104
+ } else if (v && !nxOrStartOptions.includes(k)) {
102
105
  acc.push(`--${k}`, v);
103
106
  }
104
107
  return acc;
@@ -11,4 +11,5 @@ export interface ReactNativeRunAndroidOptions {
11
11
  port: number;
12
12
  terminal?: string;
13
13
  packager: boolean;
14
+ resetCache?: boolean;
14
15
  }
@@ -55,6 +55,11 @@
55
55
  "type": "boolean",
56
56
  "description": "Starts the packager server",
57
57
  "default": true
58
+ },
59
+ "resetCache": {
60
+ "type": "boolean",
61
+ "description": "Resets metro cache",
62
+ "default": false
58
63
  }
59
64
  }
60
65
  }
@@ -17,15 +17,18 @@ function runIosExecutor(options, context) {
17
17
  const projectRoot = context.workspace.projects[context.projectName].root;
18
18
  (0, ensure_node_modules_symlink_1.ensureNodeModulesSymlink)(context.root, projectRoot);
19
19
  if (options.sync) {
20
- (0, sync_deps_impl_1.displayNewlyAddedDepsMessage)(context.projectName, yield (0, tslib_1.__await)((0, sync_deps_impl_1.syncDeps)(context.projectName, projectRoot)));
20
+ (0, sync_deps_impl_1.displayNewlyAddedDepsMessage)(context.projectName, yield (0, tslib_1.__await)((0, sync_deps_impl_1.syncDeps)(context.projectName, projectRoot, context.root)));
21
21
  }
22
22
  if (options.install) {
23
- yield (0, tslib_1.__await)((0, pod_install_task_1.podInstall)((0, path_1.join)(projectRoot, 'ios')));
23
+ yield (0, tslib_1.__await)((0, pod_install_task_1.podInstall)((0, path_1.join)(context.root, projectRoot, 'ios')));
24
24
  }
25
25
  try {
26
26
  const tasks = [runCliRunIOS(context.root, projectRoot, options)];
27
27
  if (options.packager && options.xcodeConfiguration !== 'Release') {
28
- tasks.push((0, start_impl_1.runCliStart)(context.root, projectRoot, { port: options.port }));
28
+ tasks.push((0, start_impl_1.runCliStart)(context.root, projectRoot, {
29
+ port: options.port,
30
+ resetCache: options.resetCache,
31
+ }));
29
32
  }
30
33
  yield (0, tslib_1.__await)(Promise.all(tasks));
31
34
  yield yield (0, tslib_1.__await)({ success: true });
@@ -45,7 +48,7 @@ function runCliRunIOS(workspaceRoot, projectRoot, options) {
45
48
  * Not passing '--packager' due to cli will launch start command from the project root
46
49
  */
47
50
  childProcess = (0, child_process_1.fork)((0, path_1.join)(workspaceRoot, './node_modules/react-native/cli.js'), ['run-ios', ...createRunIOSOptions(options), '--no-packager'], {
48
- cwd: projectRoot,
51
+ cwd: (0, path_1.join)(workspaceRoot, projectRoot),
49
52
  env: Object.assign(Object.assign({}, process.env), { RCT_METRO_PORT: options.port.toString() }),
50
53
  });
51
54
  // Ensure the child process is killed when the parent exits
@@ -64,14 +67,14 @@ function runCliRunIOS(workspaceRoot, projectRoot, options) {
64
67
  });
65
68
  });
66
69
  }
67
- const nxOptions = ['sync', 'install', 'packager'];
70
+ const nxOrStartOptions = ['sync', 'install', 'packager', 'port', 'resetCache'];
68
71
  function createRunIOSOptions(options) {
69
72
  return Object.keys(options).reduce((acc, k) => {
70
73
  const v = options[k];
71
74
  if (k === 'xcodeConfiguration') {
72
75
  acc.push('--configuration', v);
73
76
  }
74
- else if (v && !nxOptions.includes(k)) {
77
+ else if (v && !nxOrStartOptions.includes(k)) {
75
78
  acc.push(`--${k}`, options[k]);
76
79
  }
77
80
  return acc;
@@ -1 +1 @@
1
- {"version":3,"file":"run-ios.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/run-ios/run-ios.impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-ios.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/run-ios/run-ios.impl.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAC5B,iDAAmD;AACnD,2BAA8B;AAE9B,yFAAmF;AACnF,gEAGqC;AACrC,mEAA0D;AAE1D,oDAAkD;AAMlD,IAAI,YAA0B,CAAC;AAE/B,SAA+B,cAAc,CAC3C,OAAiC,EACjC,OAAwB;;QAExB,IAAI,IAAA,aAAQ,GAAE,KAAK,QAAQ,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QACzE,IAAA,sDAAwB,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,IAAA,6CAA4B,EAC1B,OAAO,CAAC,WAAW,EACnB,2BAAM,IAAA,yBAAQ,EAAC,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA,CAC/D,CAAC;SACH;QACD,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,2BAAM,IAAA,6BAAU,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAA,CAAC;SAC1D;QAED,IAAI;YACF,MAAM,KAAK,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;YACjE,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE;gBAChE,KAAK,CAAC,IAAI,CACR,IAAA,wBAAW,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE;oBACrC,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,UAAU,EAAE,OAAO,CAAC,UAAU;iBAC/B,CAAC,CACH,CAAC;aACH;YAED,2BAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC;YAEzB,iCAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA,CAAC;SACzB;gBAAS;YACR,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,IAAI,EAAE,CAAC;aACrB;SACF;IACH,CAAC;CAAA;AAtCD,iCAsCC;AAED,SAAS,YAAY,CACnB,aAAqB,EACrB,WAAmB,EACnB,OAAiC;IAEjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC;;;WAGG;QACH,YAAY,GAAG,IAAA,oBAAI,EACjB,IAAA,WAAI,EAAC,aAAa,EAAE,oCAAoC,CAAC,EACzD,CAAC,SAAS,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,EAC7D;YACE,GAAG,EAAE,IAAA,WAAI,EAAC,aAAa,EAAE,WAAW,CAAC;YACrC,GAAG,kCAAO,OAAO,CAAC,GAAG,KAAE,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAE;SACjE,CACF,CAAC;QAEF,2DAA2D;QAC3D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,CAAC;aACd;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAE/E,SAAS,mBAAmB,CAAC,OAAO;IAClC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC5C,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,oBAAoB,EAAE;YAC9B,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;SAChC;aAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YAC7C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAChC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
@@ -30,18 +30,21 @@ export default async function* runIosExecutor(
30
30
  if (options.sync) {
31
31
  displayNewlyAddedDepsMessage(
32
32
  context.projectName,
33
- await syncDeps(context.projectName, projectRoot)
33
+ await syncDeps(context.projectName, projectRoot, context.root)
34
34
  );
35
35
  }
36
36
  if (options.install) {
37
- await podInstall(join(projectRoot, 'ios'));
37
+ await podInstall(join(context.root, projectRoot, 'ios'));
38
38
  }
39
39
 
40
40
  try {
41
41
  const tasks = [runCliRunIOS(context.root, projectRoot, options)];
42
42
  if (options.packager && options.xcodeConfiguration !== 'Release') {
43
43
  tasks.push(
44
- runCliStart(context.root, projectRoot, { port: options.port })
44
+ runCliStart(context.root, projectRoot, {
45
+ port: options.port,
46
+ resetCache: options.resetCache,
47
+ })
45
48
  );
46
49
  }
47
50
 
@@ -69,7 +72,7 @@ function runCliRunIOS(
69
72
  join(workspaceRoot, './node_modules/react-native/cli.js'),
70
73
  ['run-ios', ...createRunIOSOptions(options), '--no-packager'],
71
74
  {
72
- cwd: projectRoot,
75
+ cwd: join(workspaceRoot, projectRoot),
73
76
  env: { ...process.env, RCT_METRO_PORT: options.port.toString() },
74
77
  }
75
78
  );
@@ -91,14 +94,14 @@ function runCliRunIOS(
91
94
  });
92
95
  }
93
96
 
94
- const nxOptions = ['sync', 'install', 'packager'];
97
+ const nxOrStartOptions = ['sync', 'install', 'packager', 'port', 'resetCache'];
95
98
 
96
99
  function createRunIOSOptions(options) {
97
100
  return Object.keys(options).reduce((acc, k) => {
98
101
  const v = options[k];
99
102
  if (k === 'xcodeConfiguration') {
100
103
  acc.push('--configuration', v);
101
- } else if (v && !nxOptions.includes(k)) {
104
+ } else if (v && !nxOrStartOptions.includes(k)) {
102
105
  acc.push(`--${k}`, options[k]);
103
106
  }
104
107
  return acc;
@@ -9,4 +9,5 @@ export interface ReactNativeRunIosOptions {
9
9
  install?: boolean;
10
10
  sync?: boolean;
11
11
  terminal?: string;
12
+ resetCache?: boolean;
12
13
  }
@@ -47,6 +47,11 @@
47
47
  "type": "boolean",
48
48
  "description": "Starts the packager server",
49
49
  "default": true
50
+ },
51
+ "resetCache": {
52
+ "type": "boolean",
53
+ "description": "Resets metro cache",
54
+ "default": false
50
55
  }
51
56
  }
52
57
  }