UNPKG

@sap/cli-core

Version:

Command-Line Interface (CLI) Core Module

36 lines (35 loc) 1.36 kB
import prompts from "prompts"; import { get, set } from "../../../../config/index.js"; import { OPTION_PASSCODE } from "../../../../constants.js"; import { checkOptions } from "../../options/utils.js"; import { openUrlInBrowser } from "../../../../utils/openUtils.js"; export const create = () => async (command) => { await checkOptions(OPTION_PASSCODE, command); return async () => { const config = get(); let passcode = config.options[OPTION_PASSCODE.longName]; if (!passcode) { if (!config.passcodeUrl) { throw new Error("passcode url is not available"); } const res = await prompts.prompt({ type: "confirm", initial: true, message: `Do you want to retrieve a temporary authentication code from ${config.passcodeUrl}?`, name: "value", }); if (res.value) { await openUrlInBrowser(config.passcodeUrl); passcode = (await prompts.prompt({ type: "password", message: "Enter your temporary authentication code:", name: "value", })).value; } } if (!passcode) { throw new Error("no passcode"); } set({ passcode }); }; };