UNPKG

@sap/cli-core

Version:

Command-Line Interface (CLI) Core Module

39 lines (38 loc) 1.36 kB
import { SecretsStorageSingleton } from "../cache/secrets/SecretsStorageSingleton.js"; import { getDeprecationMessage, isDeprecated } from "../config/core.js"; import { get } from "../logger/index.js"; import { executeCommand, init } from "./dwc.js"; import { checkVersion, compareEtags, verifyNodeVersion } from "./utils.js"; export const run = async () => { const { error, debug, output } = get("dwc.run"); let exitCode = 0; try { await init(); await checkVersion(); await executeCommand(); } catch (err) { if (err.code === "commander.helpDisplayed" || err.code === "commander.version") { debug("Error while running CLI", err.stack); } else { error("Error while running CLI", err.stack); exitCode = 1; } exitCode = err.exitCode ?? exitCode; } finally { await compareEtags(); if (isDeprecated()) { const message = getDeprecationMessage() ?? "WARNING: This package has been deprecated. Please consult the README or CHANGELOG for more information."; output(message); } await SecretsStorageSingleton.SINGLETON.synchronizeSecretsToStorage(); verifyNodeVersion(); if (exitCode > 0) { process.exit(exitCode); } } };