Taking a plugin config as argument and returns a new plugin.
function createPlugin(config: PluginConfig): BackstagePlugin;
type PluginConfig = {
id: string;
register?(hooks: PluginHooks): void;
};
type PluginHooks = {
router: RouterHooks;
};
Showcasing adding multiple routes, a feature flag and a redirect.
import { createPlugin } from '@backstage/core';
import ExampleComponent from './components/ExampleComponent';
export default createPlugin({
id: 'new-plugin',
register({ router, featureFlags }) {
featureFlags.register('enable-example-component');
router.registerRoute('/new-plugin', ExampleComponent);
},
});