diff --git a/docs/generated/api-react-native/executors/run-android.md b/docs/generated/api-react-native/executors/run-android.md index 4ca387ab83403..ec8797aa20de5 100644 --- a/docs/generated/api-react-native/executors/run-android.md +++ b/docs/generated/api-react-native/executors/run-android.md @@ -29,6 +29,14 @@ Type: `string` Builds your app and starts it on a specific device/simulator with the given device id (listed by running "adb devices" on the command line). +### interactive + +Default: `true` + +Type: `boolean` + +Run packager server in interactive mode. + ### jetifier Default: `true` @@ -51,7 +59,7 @@ Default: `true` Type: `boolean` -Starts the packager server +Starts the packager server. ### port @@ -67,7 +75,7 @@ Default: `false` Type: `boolean` -Resets metro cache +Resets metro cache. ### sync diff --git a/docs/generated/api-react-native/executors/run-ios.md b/docs/generated/api-react-native/executors/run-ios.md index b96753151dffc..3f45600f3c1af 100644 --- a/docs/generated/api-react-native/executors/run-ios.md +++ b/docs/generated/api-react-native/executors/run-ios.md @@ -25,13 +25,21 @@ Type: `boolean` Runs 'pod install' for native modules before building iOS app. +### interactive + +Default: `true` + +Type: `boolean` + +Run packager server in interactive mode. + ### packager Default: `true` Type: `boolean` -Starts the packager server +Starts the packager server. ### port @@ -47,7 +55,7 @@ Default: `false` Type: `boolean` -Resets metro cache +Resets metro cache. ### scheme diff --git a/docs/generated/api-react-native/executors/start.md b/docs/generated/api-react-native/executors/start.md index 9ebfdcbd6a899..4bab560015cc7 100644 --- a/docs/generated/api-react-native/executors/start.md +++ b/docs/generated/api-react-native/executors/start.md @@ -11,6 +11,14 @@ Options can be configured in `workspace.json` when defining the executor, or whe ## Options +### interactive + +Default: `true` + +Type: `boolean` + +Run packager server in interactive mode. + ### port Default: `8081` diff --git a/packages/react-native/src/executors/run-android/run-android.impl.ts b/packages/react-native/src/executors/run-android/run-android.impl.ts index 5acc4c60be0b9..3ab7f403a0e21 100644 --- a/packages/react-native/src/executors/run-android/run-android.impl.ts +++ b/packages/react-native/src/executors/run-android/run-android.impl.ts @@ -40,6 +40,7 @@ export default async function* runAndroidExecutor( runCliStart(context.root, projectRoot, { port: options.port, resetCache: options.resetCache, + interactive: options.interactive, }) ); } @@ -90,7 +91,14 @@ function runCliRunAndroid( }); } -const nxOrStartOptions = ['sync', 'install', 'packager', 'port', 'resetCache']; +const nxOrStartOptions = [ + 'sync', + 'install', + 'packager', + 'port', + 'resetCache', + 'interactive', +]; function createRunAndroidOptions(options) { return Object.keys(options).reduce((acc, k) => { diff --git a/packages/react-native/src/executors/run-android/schema.d.ts b/packages/react-native/src/executors/run-android/schema.d.ts index 74e3b7beeb19a..215d3487e27ab 100644 --- a/packages/react-native/src/executors/run-android/schema.d.ts +++ b/packages/react-native/src/executors/run-android/schema.d.ts @@ -10,6 +10,7 @@ export interface ReactNativeRunAndroidOptions { sync: boolean; port: number; terminal?: string; - packager: boolean; - resetCache?: boolean; + packager: boolean; // default is true + resetCache: boolean; // default is false + interactive: boolean; // default is true } diff --git a/packages/react-native/src/executors/run-android/schema.json b/packages/react-native/src/executors/run-android/schema.json index 5783969ff6d30..89f91ee419fdd 100644 --- a/packages/react-native/src/executors/run-android/schema.json +++ b/packages/react-native/src/executors/run-android/schema.json @@ -53,13 +53,18 @@ }, "packager": { "type": "boolean", - "description": "Starts the packager server", + "description": "Starts the packager server.", "default": true }, "resetCache": { "type": "boolean", - "description": "Resets metro cache", + "description": "Resets metro cache.", "default": false + }, + "interactive": { + "type": "boolean", + "description": "Run packager server in interactive mode.", + "default": true } } } diff --git a/packages/react-native/src/executors/run-ios/run-ios.impl.ts b/packages/react-native/src/executors/run-ios/run-ios.impl.ts index 7a0a5e92c5acd..5f50b68dc0c3c 100644 --- a/packages/react-native/src/executors/run-ios/run-ios.impl.ts +++ b/packages/react-native/src/executors/run-ios/run-ios.impl.ts @@ -44,6 +44,7 @@ export default async function* runIosExecutor( runCliStart(context.root, projectRoot, { port: options.port, resetCache: options.resetCache, + interactive: options.interactive, }) ); } @@ -94,7 +95,14 @@ function runCliRunIOS( }); } -const nxOrStartOptions = ['sync', 'install', 'packager', 'port', 'resetCache']; +const nxOrStartOptions = [ + 'sync', + 'install', + 'packager', + 'port', + 'resetCache', + 'interactive', +]; function createRunIOSOptions(options) { return Object.keys(options).reduce((acc, k) => { diff --git a/packages/react-native/src/executors/run-ios/schema.d.ts b/packages/react-native/src/executors/run-ios/schema.d.ts index 4dcaa025ce208..1b5c73ad15328 100644 --- a/packages/react-native/src/executors/run-ios/schema.d.ts +++ b/packages/react-native/src/executors/run-ios/schema.d.ts @@ -5,9 +5,10 @@ export interface ReactNativeRunIosOptions { scheme: string; simulator: string; device: string; - packager: boolean; + packager: boolean; // default is true install?: boolean; sync?: boolean; terminal?: string; - resetCache?: boolean; + resetCache: boolean; // default is false + interactive: boolean; // default is true } diff --git a/packages/react-native/src/executors/run-ios/schema.json b/packages/react-native/src/executors/run-ios/schema.json index 84ea7aba439e5..ff4aaa23c2a9f 100644 --- a/packages/react-native/src/executors/run-ios/schema.json +++ b/packages/react-native/src/executors/run-ios/schema.json @@ -45,13 +45,18 @@ }, "packager": { "type": "boolean", - "description": "Starts the packager server", + "description": "Starts the packager server.", "default": true }, "resetCache": { "type": "boolean", - "description": "Resets metro cache", + "description": "Resets metro cache.", "default": false + }, + "interactive": { + "type": "boolean", + "description": "Run packager server in interactive mode.", + "default": true } } } diff --git a/packages/react-native/src/executors/start/schema.d.ts b/packages/react-native/src/executors/start/schema.d.ts index 4175cc66e5e0b..1681796682b8f 100644 --- a/packages/react-native/src/executors/start/schema.d.ts +++ b/packages/react-native/src/executors/start/schema.d.ts @@ -1,4 +1,5 @@ export interface ReactNativeStartOptions { port: number; - resetCache?: boolean; + resetCache: boolean; // default is false + interactive: boolean; // default is true } diff --git a/packages/react-native/src/executors/start/schema.json b/packages/react-native/src/executors/start/schema.json index 776548e76f9b1..29970a61ee7ff 100644 --- a/packages/react-native/src/executors/start/schema.json +++ b/packages/react-native/src/executors/start/schema.json @@ -15,6 +15,11 @@ "type": "boolean", "description": "Resets metro cache.", "default": false + }, + "interactive": { + "type": "boolean", + "description": "Run packager server in interactive mode.", + "default": true } } } diff --git a/packages/react-native/src/executors/start/start.impl.ts b/packages/react-native/src/executors/start/start.impl.ts index b9dbcf3b2835a..8004423ec411f 100644 --- a/packages/react-native/src/executors/start/start.impl.ts +++ b/packages/react-native/src/executors/start/start.impl.ts @@ -107,6 +107,10 @@ function createStartOptions(options) { if (options[k] === true) { acc.push(`--reset-cache`); } + } else if (k === 'interactive') { + if (options[k] === false) { + acc.push(`--no-interactive`); + } } else { acc.push(`--${k}`, options[k]); }