diff --git a/cli/src/index.ts b/cli/src/index.ts index 999fb0c1a..1549a365d 100644 --- a/cli/src/index.ts +++ b/cli/src/index.ts @@ -245,6 +245,7 @@ export function runProgram(config: Config): void { .option('--host ', 'Host used for live reload') .option('--port ', 'Port used for live reload') .option('--configuration ', 'Configuration name of the iOS Scheme') + .option('--https', 'Enable HTTPS for live reload server') .action( wrapAction( telemetryAction( @@ -265,8 +266,8 @@ export function runProgram(config: Config): void { host, port, configuration, - }, - ) => { + https + }) => { const { runCommand } = await import('./tasks/run'); await runCommand(config, platform, { scheme, @@ -282,6 +283,7 @@ export function runProgram(config: Config): void { host, port, configuration, + https, }); }, ), diff --git a/cli/src/tasks/run.ts b/cli/src/tasks/run.ts index 97413cb09..4747fde2b 100644 --- a/cli/src/tasks/run.ts +++ b/cli/src/tasks/run.ts @@ -34,6 +34,7 @@ export interface RunCommandOptions { host?: string; port?: string; configuration?: string; + https?: boolean; } export async function runCommand( @@ -92,7 +93,7 @@ export async function runCommand( } const cordovaPlugins = await getCordovaPlugins(config, platformName); if (options.liveReload) { - await CapLiveReloadHelper.editCapConfigForLiveReload(config, platformName, options); + await CapLiveReloadHelper.editCapConfigForLiveReload(config, platformName, options, false, options.https); if (platformName === config.android.name) { await await writeCordovaAndroidManifest(cordovaPlugins, config, platformName, true); } @@ -108,7 +109,7 @@ export async function runCommand( }) .then(() => process.exit()); logger.info( - `App running with live reload listing for: http://${options.host}:${options.port}. Press Ctrl+C to quit.`, + `App running with live reload listing for: ${options.https ? 'https' : 'http'}://${options.host}:${options.port}. Press Ctrl+C to quit.`, ); await sleepForever(); } diff --git a/cli/src/util/livereload.ts b/cli/src/util/livereload.ts index c3b15ee9f..ee9176066 100644 --- a/cli/src/util/livereload.ts +++ b/cli/src/util/livereload.ts @@ -146,6 +146,7 @@ class CapLiveReload { platformName: string, options: RunCommandOptions, rootConfigChange = false, + useHttps = false, ): Promise { const platformAbsPath = platformName == config.ios.name @@ -161,7 +162,7 @@ class CapLiveReload { const configJson = readJSONSync(capConfigPath); this.configJsonToRevertTo.json = JSON.stringify(configJson, null, 2); this.configJsonToRevertTo.platformPath = capConfigPath; - const url = `http://${options.host}:${options.port}`; + const url = `${useHttps ? 'https' : 'http'}://${options.host}:${options.port}`; configJson.server = { url, };