Merge pull request #30822 from backstage/rugvip/noid

frontend-plugin-api: remove deprecated variant of createFrontendPlugin
This commit is contained in:
Patrik Oldsberg
2025-08-07 16:50:21 +02:00
committed by GitHub
4 changed files with 7 additions and 72 deletions
@@ -140,13 +140,6 @@ describe('createFrontendPlugin', () => {
expect(String(plugin)).toBe('Plugin{id=test}');
});
it('should create an empty plugin with deprecated id option', () => {
const plugin = createFrontendPlugin({ id: 'test' });
expect(plugin).toBeDefined();
expect(String(plugin)).toBe('Plugin{id=test}');
});
it('should create a plugin with extension instances', async () => {
const plugin = createFrontendPlugin({
pluginId: 'test',
@@ -147,49 +147,9 @@ export function createFrontendPlugin<
TRoutes,
TExternalRoutes,
MakeSortedExtensionsMap<TExtensions[number], TId>
>;
/**
* @public
* @deprecated The `id` option is deprecated, use `pluginId` instead.
*/
export function createFrontendPlugin<
TId extends string,
TRoutes extends { [name in string]: RouteRef | SubRouteRef } = {},
TExternalRoutes extends { [name in string]: ExternalRouteRef } = {},
TExtensions extends readonly ExtensionDefinition[] = [],
>(
options: Omit<
PluginOptions<TId, TRoutes, TExternalRoutes, TExtensions>,
'pluginId'
> & { id: string },
): FrontendPlugin<
TRoutes,
TExternalRoutes,
MakeSortedExtensionsMap<TExtensions[number], TId>
>;
export 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>
| (Omit<
PluginOptions<TId, TRoutes, TExternalRoutes, TExtensions>,
'pluginId'
> & { id: string }),
): FrontendPlugin<
TRoutes,
TExternalRoutes,
MakeSortedExtensionsMap<TExtensions[number], TId>
> {
const pluginId = 'pluginId' in options ? options.pluginId : options.id;
if (!pluginId) {
throw new Error(
"Either 'id' or 'pluginId' must be provided to createFrontendPlugin",
);
}
const pluginId = options.pluginId;
const extensions = new Array<Extension<any>>();
const extensionDefinitionsById = new Map<
string,