UNPKG

@backstage/cli

Version:

CLI for developing Backstage plugins and apps

73 lines (65 loc) 1.71 kB
'use strict'; var errors = require('@backstage/errors'); var chalk = require('chalk'); function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk); class ExitCodeError extends errors.CustomErrorBase { code; constructor(code, command) { super( command ? `Command '${command}' exited with code ${code}` : `Child exited with code ${code}` ); this.code = code; } } function exit(message, code = 1) { process.stderr.write(` ${chalk__default.default.red(message)} `); process.exit(code); } function exitWithError(error) { if (!errors.isError(error)) { process.stderr.write(` ${chalk__default.default.red(errors.stringifyError(error))} `); process.exit(1); } switch (error.name) { case "InputError": return exit( error.message, 74 /* input/output error */ ); case "NotFoundError": return exit( error.message, 127 /* command not found */ ); case "NotImplementedError": return exit( error.message, 64 /* command line usage error */ ); case "AuthenticationError": case "NotAllowedError": return exit( error.message, 77 /* permissino denied */ ); case "ExitCodeError": return exit( error.message, "code" in error && typeof error.code === "number" ? error.code : 1 ); default: return exit(errors.stringifyError(error), 1); } } exports.ExitCodeError = ExitCodeError; exports.exitWithError = exitWithError; //# sourceMappingURL=errors.cjs.js.map