@backstage/plugin-techdocs
Version:
The Backstage plugin that renders technical documentation for your components
96 lines (93 loc) • 3.17 kB
JavaScript
import { techdocsStorageApiRef, techdocsApiRef } from '@backstage/plugin-techdocs-react';
import { TechDocsStorageClient, TechDocsClient } from './client.esm.js';
import { rootRouteRef, rootDocsRouteRef, rootCatalogDocsRouteRef } from './routes.esm.js';
import { createPlugin, createApiFactory, configApiRef, discoveryApiRef, fetchApiRef, createRoutableExtension } from '@backstage/core-plugin-api';
import { createSearchResultListItemExtension } from '@backstage/plugin-search-react';
const techdocsPlugin = createPlugin({
id: "techdocs",
apis: [
createApiFactory({
api: techdocsStorageApiRef,
deps: {
configApi: configApiRef,
discoveryApi: discoveryApiRef,
fetchApi: fetchApiRef
},
factory: ({ configApi, discoveryApi, fetchApi }) => new TechDocsStorageClient({
configApi,
discoveryApi,
fetchApi
})
}),
createApiFactory({
api: techdocsApiRef,
deps: {
configApi: configApiRef,
discoveryApi: discoveryApiRef,
fetchApi: fetchApiRef
},
factory: ({ configApi, discoveryApi, fetchApi }) => new TechDocsClient({
configApi,
discoveryApi,
fetchApi
})
})
],
routes: {
root: rootRouteRef,
docRoot: rootDocsRouteRef,
entityContent: rootCatalogDocsRouteRef
}
});
const TechdocsPage = techdocsPlugin.provide(
createRoutableExtension({
name: "TechdocsPage",
component: () => import('./Router.esm.js').then((m) => m.Router),
mountPoint: rootRouteRef
})
);
const EntityTechdocsContent = techdocsPlugin.provide(
createRoutableExtension({
name: "EntityTechdocsContent",
component: () => import('./Router.esm.js').then((m) => m.LegacyEmbeddedDocsRouter),
mountPoint: rootCatalogDocsRouteRef
})
);
const TechDocsCustomHome = techdocsPlugin.provide(
createRoutableExtension({
name: "TechDocsCustomHome",
component: () => import('./home/components/TechDocsCustomHome.esm.js').then(
(m) => m.TechDocsCustomHome
),
mountPoint: rootRouteRef
})
);
const TechDocsIndexPage = techdocsPlugin.provide(
createRoutableExtension({
name: "TechDocsIndexPage",
component: () => import('./home/components/TechDocsIndexPage.esm.js').then(
(m) => m.TechDocsIndexPage
),
mountPoint: rootRouteRef
})
);
const TechDocsReaderPage = techdocsPlugin.provide(
createRoutableExtension({
name: "TechDocsReaderPage",
component: () => import('./reader/components/TechDocsReaderPage/index.esm.js').then(
(m) => m.TechDocsReaderPage
),
mountPoint: rootDocsRouteRef
})
);
const TechDocsSearchResultListItem = techdocsPlugin.provide(
createSearchResultListItemExtension({
name: "TechDocsSearchResultListItem",
component: () => import('./search/components/TechDocsSearchResultListItem.esm.js').then(
(m) => m.TechDocsSearchResultListItem
),
predicate: (result) => result.type === "techdocs"
})
);
export { EntityTechdocsContent, TechDocsCustomHome, TechDocsIndexPage, TechDocsReaderPage, TechDocsSearchResultListItem, TechdocsPage, techdocsPlugin };
//# sourceMappingURL=plugin.esm.js.map