createFrontendPlugin()
Home > @backstage/frontend-plugin-api
> createFrontendPlugin
Creates a new plugin that can be installed in a Backstage app.
Signature:
function createFrontendPlugin<TId extends string, TRoutes extends {
[name in string]: RouteRef | SubRouteRef;
} = {}, TExternalRoutes extends {
[name in string]: ExternalRouteRef;
} = {}, TExtensions extends readonly ExtensionDefinition[] = []>(options: PluginOptions<TId, TRoutes, TExternalRoutes, TExtensions>): OverridableFrontendPlugin<TRoutes, TExternalRoutes, MakeSortedExtensionsMap<TExtensions[number], TId>>;
Parameters
Parameter |
Type |
Description |
---|---|---|
options |
PluginOptions<TId, TRoutes, TExternalRoutes, TExtensions> |
OverridableFrontendPlugin<TRoutes, TExternalRoutes, MakeSortedExtensionsMap<TExtensions[number], TId>>
Remarks
Every plugin is created with a unique ID and a set of extensions that are installed as part of the plugin.
For more information on how plugins work, see the documentation for plugins in the frontend system documentation.
Example
import { createFrontendPlugin } from '@backstage/frontend-plugin-api';
export const examplePlugin = createFrontendPlugin({
pluginId: 'example',
extensions: [
PageBlueprint.make({
path: '/example',
loader: () => import('./ExamplePage').then(m => <m.ExamplePage />),
}),
],
});