diff --git a/src/cli/handlers/cloud.ts b/src/cli/handlers/cloud.ts index a7850598a..4fcf68ece 100644 --- a/src/cli/handlers/cloud.ts +++ b/src/cli/handlers/cloud.ts @@ -222,6 +222,13 @@ async function ensureCsCloud(): Promise { return bin } +function getCloudRawArgs(): string[] { + const argv = process.argv.slice(2) + const index = argv.indexOf("cloud") + if (index === -1) return [] + return argv.slice(index + 1) +} + async function runCsCloud(args: string[]): Promise { const bin = await ensureCsCloud() const child = spawn(bin, args, { @@ -240,20 +247,12 @@ async function runCsCloud(args: string[]): Promise { } export async function cloudHandler(rawArgs: string[]): Promise { - if (rawArgs.length === 0) { + const args = getCloudRawArgs() + if (args.length === 0) { console.error("specify a subcommand. usage: csc cloud [args...]") process.exit(1) } - if (rawArgs[0] === "upgrade") { - const bin = csCloudBin() - if (fs.existsSync(bin)) { - await runCsCloud(rawArgs) - return - } - await ensureCsCloud() - return - } - - await runCsCloud(rawArgs) + await ensureCsCloud() + await runCsCloud(args) }