@backstage/backend-app-api
Version:
Core API used by Backstage backend apps
46 lines (42 loc) • 1.23 kB
JavaScript
;
var errors = require('@backstage/errors');
function formatMessage(startupResult) {
const parts = [
"Backend startup failed due to the following errors:"
];
const failures = [];
for (const plugin of startupResult.plugins) {
if (plugin.failure && !plugin.failure.allowed) {
failures.push(
` Plugin '${plugin.pluginId}' startup failed; caused by ${plugin.failure.error}`
);
}
for (const mod of plugin.modules) {
if (mod.failure && !mod.failure.allowed) {
failures.push(
` Module '${mod.moduleId}' for plugin '${plugin.pluginId}' startup failed; caused by ${mod.failure.error}`
);
}
}
}
if (failures.length > 0) {
parts.push(...failures);
}
return parts.join("\n");
}
class BackendStartupError extends errors.CustomErrorBase {
name = "BackendStartupError";
/**
* The startup results for all plugins and modules.
*/
#startupResult;
constructor(startupResult) {
super(formatMessage(startupResult));
this.#startupResult = startupResult;
}
get result() {
return this.#startupResult;
}
}
exports.BackendStartupError = BackendStartupError;
//# sourceMappingURL=BackendStartupError.cjs.js.map