diff --git a/.changeset/honest-ravens-stare.md b/.changeset/honest-ravens-stare.md new file mode 100644 index 0000000000..7b78ce4357 --- /dev/null +++ b/.changeset/honest-ravens-stare.md @@ -0,0 +1,7 @@ +--- +'@backstage/frontend-defaults': minor +'@backstage/frontend-app-api': minor +'@backstage/core-compat-api': minor +--- + +**BREAKING**: Dropped support for the removed opaque `@backstage/ExtensionOverrides` and `@backstage/BackstagePlugin` types. diff --git a/.changeset/itchy-shoes-rest.md b/.changeset/itchy-shoes-rest.md new file mode 100644 index 0000000000..3e40fab36e --- /dev/null +++ b/.changeset/itchy-shoes-rest.md @@ -0,0 +1,5 @@ +--- +'@backstage/frontend-plugin-api': minor +--- + +**BREAKING**: Removed the deprecated `ExtensionOverrides` and `FrontendFeature` types. diff --git a/packages/core-compat-api/report.api.md b/packages/core-compat-api/report.api.md index 50aec1f646..9f7582db03 100644 --- a/packages/core-compat-api/report.api.md +++ b/packages/core-compat-api/report.api.md @@ -14,7 +14,6 @@ import { AppTheme } from '@backstage/core-plugin-api'; import { BackstagePlugin } from '@backstage/core-plugin-api'; import { ComponentType } from 'react'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; -import { ExtensionOverrides } from '@backstage/frontend-plugin-api'; import { ExternalRouteRef } from '@backstage/core-plugin-api'; import { ExternalRouteRef as ExternalRouteRef_2 } from '@backstage/frontend-plugin-api'; import { FeatureFlag } from '@backstage/core-plugin-api'; @@ -34,7 +33,7 @@ export function compatWrapper(element: ReactNode): React_2.JSX.Element; // @public (undocumented) export function convertLegacyApp( rootElement: React_2.JSX.Element, -): (FrontendPlugin | FrontendModule | ExtensionOverrides)[]; +): (FrontendPlugin | FrontendModule)[]; // @public (undocumented) export function convertLegacyAppOptions(options?: { diff --git a/packages/core-compat-api/src/convertLegacyApp.ts b/packages/core-compat-api/src/convertLegacyApp.ts index f098d090ed..52efc96ee2 100644 --- a/packages/core-compat-api/src/convertLegacyApp.ts +++ b/packages/core-compat-api/src/convertLegacyApp.ts @@ -26,7 +26,6 @@ import { FrontendPlugin, coreExtensionData, createExtension, - ExtensionOverrides, createExtensionInput, createFrontendModule, } from '@backstage/frontend-plugin-api'; @@ -63,7 +62,7 @@ function selectChildren( /** @public */ export function convertLegacyApp( rootElement: React.JSX.Element, -): (FrontendPlugin | FrontendModule | ExtensionOverrides)[] { +): (FrontendPlugin | FrontendModule)[] { if (getComponentData(rootElement, 'core.type') === 'FlatRoutes') { return collectLegacyRoutes(rootElement); } diff --git a/packages/frontend-app-api/report.api.md b/packages/frontend-app-api/report.api.md index d3c2045f85..bdc9caaa0b 100644 --- a/packages/frontend-app-api/report.api.md +++ b/packages/frontend-app-api/report.api.md @@ -41,13 +41,5 @@ export function createSpecializedApp(options?: { }; // @public (undocumented) -export type FrontendFeature = - | FrontendPlugin - | FrontendModule - | { - $$type: '@backstage/ExtensionOverrides'; - } - | { - $$type: '@backstage/BackstagePlugin'; - }; +export type FrontendFeature = FrontendPlugin | FrontendModule; ``` diff --git a/packages/frontend-app-api/src/wiring/types.ts b/packages/frontend-app-api/src/wiring/types.ts index 18d9c51d0e..6699f1c272 100644 --- a/packages/frontend-app-api/src/wiring/types.ts +++ b/packages/frontend-app-api/src/wiring/types.ts @@ -18,12 +18,7 @@ import { FrontendModule, FrontendPlugin } from '@backstage/frontend-plugin-api'; import { BackstageRouteObject } from '../routing/types'; /** @public */ -export type FrontendFeature = - | FrontendPlugin - | FrontendModule - // TODO(blam): This is just forwards backwards compatibility, remove after v1.31.0 - | { $$type: '@backstage/ExtensionOverrides' } - | { $$type: '@backstage/BackstagePlugin' }; +export type FrontendFeature = FrontendPlugin | FrontendModule; /** @internal */ export type RouteInfo = { diff --git a/packages/frontend-defaults/src/discovery.ts b/packages/frontend-defaults/src/discovery.ts index e04960dc48..38c8447546 100644 --- a/packages/frontend-defaults/src/discovery.ts +++ b/packages/frontend-defaults/src/discovery.ts @@ -85,11 +85,7 @@ function isBackstageFeature(obj: unknown): obj is FrontendFeature { if (obj !== null && typeof obj === 'object' && '$$type' in obj) { return ( obj.$$type === '@backstage/FrontendPlugin' || - obj.$$type === '@backstage/FrontendModule' || - // TODO: Remove this once the old plugin type and extension overrides - // are no longer supported - obj.$$type === '@backstage/BackstagePlugin' || - obj.$$type === '@backstage/ExtensionOverrides' + obj.$$type === '@backstage/FrontendModule' ); } return false; diff --git a/packages/frontend-plugin-api/report.api.md b/packages/frontend-plugin-api/report.api.md index f18826785a..3ae6451627 100644 --- a/packages/frontend-plugin-api/report.api.md +++ b/packages/frontend-plugin-api/report.api.md @@ -1207,12 +1207,6 @@ export interface ExtensionInput< }>; } -// @public (undocumented) -export interface ExtensionOverrides { - // (undocumented) - readonly $$type: '@backstage/ExtensionOverrides'; -} - // @public export interface ExternalRouteRef< TParams extends AnyRouteRefParams = AnyRouteRefParams, @@ -1242,9 +1236,6 @@ export { FetchApi }; export { fetchApiRef }; -// @public @deprecated (undocumented) -export type FrontendFeature = FrontendPlugin | ExtensionOverrides; - // @public (undocumented) export interface FrontendModule { // (undocumented) diff --git a/packages/frontend-plugin-api/src/wiring/index.ts b/packages/frontend-plugin-api/src/wiring/index.ts index 6dec88b5f4..b5cefc75fb 100644 --- a/packages/frontend-plugin-api/src/wiring/index.ts +++ b/packages/frontend-plugin-api/src/wiring/index.ts @@ -51,9 +51,7 @@ export { type AnyRoutes, type AnyExternalRoutes, type ExtensionDataContainer, - type ExtensionOverrides, type FeatureFlagConfig, - type FrontendFeature, type ExtensionFactoryMiddleware, } from './types'; export { diff --git a/packages/frontend-plugin-api/src/wiring/types.ts b/packages/frontend-plugin-api/src/wiring/types.ts index 3aba32d9fc..6d3e7a4abd 100644 --- a/packages/frontend-plugin-api/src/wiring/types.ts +++ b/packages/frontend-plugin-api/src/wiring/types.ts @@ -22,7 +22,6 @@ import { ExtensionDataRef, ExtensionDataValue, } from './createExtensionDataRef'; -import { FrontendPlugin } from './createFrontendPlugin'; import { ApiHolder, AppNode } from '../apis'; /** @@ -48,17 +47,6 @@ export type ExtensionMap< get(id: TId): TExtensionMap[TId]; }; -/** @public */ -export interface ExtensionOverrides { - readonly $$type: '@backstage/ExtensionOverrides'; -} - -/** - * @public - * @deprecated import from {@link @backstage/frontend-app-api#FrontendFeature} instead - */ -export type FrontendFeature = FrontendPlugin | ExtensionOverrides; - /** @public */ export type ExtensionDataContainer = Iterable<