@spacelift-io/backstage-integration-frontend
Version:
Backstage plugin for integrating Spacelift.io with Backstage
37 lines (34 loc) • 1.2 kB
JavaScript
import { jsx } from 'react/jsx-runtime';
import { createApiFactory, fetchApiRef, discoveryApiRef } from '@backstage/core-plugin-api';
import { createRouteRef, ApiBlueprint, PageBlueprint, createFrontendPlugin } from '@backstage/frontend-plugin-api';
import { SpaceliftApi, spaceliftApiRef } from './api/SpaceliftApiClient.esm.js';
const rootRouteRef = createRouteRef();
const spaceliftApiExtension = ApiBlueprint.make({
name: "spacelift-api",
params: (defineParams) => defineParams(
createApiFactory({
api: spaceliftApiRef,
deps: {
discoveryApi: discoveryApiRef,
fetchApi: fetchApiRef
},
factory: ({ discoveryApi, fetchApi }) => new SpaceliftApi(discoveryApi, fetchApi)
})
)
});
const spaceliftPageExtension = PageBlueprint.make({
params: {
path: "/spacelift",
routeRef: rootRouteRef,
loader: () => import('./components/Stacks/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.StacksPage, {}))
}
});
var alpha = createFrontendPlugin({
pluginId: "spacelift",
extensions: [spaceliftApiExtension, spaceliftPageExtension],
routes: {
root: rootRouteRef
}
});
export { alpha as default };
//# sourceMappingURL=alpha.esm.js.map