UNPKG

@backstage/backend-app-api

Version:

Core API used by Backstage backend apps

51 lines (48 loc) 2 kB
'use strict'; function createAllowBootFailurePredicate(config) { const defaultPluginBootFailure = config?.getOptionalString("backend.startup.default.onPluginBootFailure") ?? "abort"; const defaultModuleBootFailure = config?.getOptionalString( "backend.startup.default.onPluginModuleBootFailure" ) ?? "abort"; const pluginOverrides = /* @__PURE__ */ new Map(); const moduleOverrides = /* @__PURE__ */ new Map(); const pluginsConfig = config?.getOptionalConfig("backend.startup.plugins"); if (pluginsConfig) { for (const pluginId of pluginsConfig.keys()) { const pluginConfig = pluginsConfig.getConfig(pluginId); const pluginBootFailure = pluginConfig.getOptionalString( "onPluginBootFailure" ); if (pluginBootFailure) { pluginOverrides.set(pluginId, pluginBootFailure); } const modulesConfig = pluginConfig.getOptionalConfig("modules"); if (modulesConfig) { const moduleMap = /* @__PURE__ */ new Map(); for (const moduleId of modulesConfig.keys()) { const moduleConfig = modulesConfig.getConfig(moduleId); const moduleBootFailure = moduleConfig.getOptionalString( "onPluginModuleBootFailure" ); if (moduleBootFailure) { moduleMap.set(moduleId, moduleBootFailure); } } if (moduleMap.size > 0) { moduleOverrides.set(pluginId, moduleMap); } } } } return (pluginId, moduleId) => { if (moduleId !== void 0) { const moduleMap = moduleOverrides.get(pluginId); const moduleBootFailure = moduleMap?.get(moduleId) ?? defaultModuleBootFailure; return moduleBootFailure === "continue"; } const pluginBootFailure = pluginOverrides.get(pluginId) ?? defaultPluginBootFailure; return pluginBootFailure === "continue"; }; } exports.createAllowBootFailurePredicate = createAllowBootFailurePredicate; //# sourceMappingURL=createAllowBootFailurePredicate.cjs.js.map