From 57fba32fa2c5af1bb6679614cadcc25d05a8445a Mon Sep 17 00:00:00 2001 From: Cameron Diver Date: Fri, 26 Apr 2019 15:13:41 +0100 Subject: [PATCH] Add better semantics for detached mode + live for push Now if you pass both --live and --detached, the logs won't be displayed but livepush will continue to run. Change-type: patch Signed-off-by: Cameron Diver --- lib/utils/device/deploy.ts | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/lib/utils/device/deploy.ts b/lib/utils/device/deploy.ts index 9585a448..849a7372 100644 --- a/lib/utils/device/deploy.ts +++ b/lib/utils/device/deploy.ts @@ -149,16 +149,6 @@ export async function deployToDevice(opts: DeviceDeployOptions): Promise { await api.setTargetState(targetState); - if (opts.detached) { - return; - } - // Print an empty newline to separate the build output - // from the device output - console.log(); - globalLogger.logInfo('Streaming device logs...'); - // Now all we need to do is stream back the logs - const logStream = await api.getLogStream(); - // Now that we've set the target state, the device will do it's thing // so we can either just display the logs, or start a livepush session // (whilst also display logs) @@ -175,11 +165,27 @@ export async function deployToDevice(opts: DeviceDeployOptions): Promise { }); globalLogger.logLivepush('Watching for file changes...'); - await Promise.all([ - livepush.init(), - displayDeviceLogs(logStream, globalLogger, opts.system, opts.service), - ]); + const promises = [livepush.init()]; + // Only show logs if we're not detaching + if (!opts.detached) { + console.log(); + const logStream = await api.getLogStream(); + globalLogger.logInfo('Streaming device logs...'); + promises.push( + displayDeviceLogs(logStream, globalLogger, opts.system, opts.service), + ); + } + await Promise.all(promises); } else { + if (opts.detached) { + return; + } + // Print an empty newline to separate the build output + // from the device output + console.log(); + // Now all we need to do is stream back the logs + const logStream = await api.getLogStream(); + globalLogger.logInfo('Streaming device logs...'); await displayDeviceLogs(logStream, globalLogger, opts.system, opts.service); } }