Skip to main content

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>

**Returns:**

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 />),
}),
],
});