@backstage/backend-plugin-api
Version:
Core API used by Backstage backend plugins
48 lines (45 loc) • 1.1 kB
JavaScript
function createBackendPlugin(options) {
function getRegistrations() {
const extensionPoints = [];
let init = void 0;
options.register({
registerExtensionPoint(ext, impl) {
if (init) {
throw new Error("registerExtensionPoint called after registerInit");
}
extensionPoints.push([ext, impl]);
},
registerInit(regInit) {
if (init) {
throw new Error("registerInit must only be called once");
}
init = {
deps: regInit.deps,
func: regInit.init
};
}
});
if (!init) {
throw new Error(
`registerInit was not called by register in ${options.pluginId}`
);
}
return [
{
type: "plugin",
pluginId: options.pluginId,
extensionPoints,
init
}
];
}
return {
$$type: "@backstage/BackendFeature",
version: "v1",
featureType: "registrations",
getRegistrations
};
}
exports.createBackendPlugin = createBackendPlugin;
//# sourceMappingURL=createBackendPlugin.cjs.js.map
;