API report updates for extension ID redesign
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
@@ -376,23 +376,18 @@ export type CoreProgressComponent = ComponentType<PropsWithChildren<{}>>;
|
||||
export function createApiExtension<
|
||||
TConfig extends {},
|
||||
TInputs extends AnyExtensionInputMap,
|
||||
>(
|
||||
options: (
|
||||
| {
|
||||
api: AnyApiRef;
|
||||
factory: (options: {
|
||||
config: TConfig;
|
||||
inputs: Expand<ExtensionInputValues<TInputs>>;
|
||||
}) => AnyApiFactory;
|
||||
}
|
||||
| {
|
||||
factory: AnyApiFactory;
|
||||
}
|
||||
) & {
|
||||
configSchema?: PortableSchema<TConfig>;
|
||||
inputs?: TInputs;
|
||||
},
|
||||
): Extension<TConfig>;
|
||||
>(options: {
|
||||
factory:
|
||||
| AnyApiFactory
|
||||
| ((options: {
|
||||
config: TConfig;
|
||||
inputs: Expand<ExtensionInputValues<TInputs>>;
|
||||
}) => AnyApiFactory);
|
||||
namespace?: string;
|
||||
name?: string;
|
||||
configSchema?: PortableSchema<TConfig>;
|
||||
inputs?: TInputs;
|
||||
}): ExtensionDefinition<TConfig>;
|
||||
|
||||
export { createApiFactory };
|
||||
|
||||
@@ -430,7 +425,7 @@ export function createExtension<
|
||||
TConfig = never,
|
||||
>(
|
||||
options: CreateExtensionOptions<TOutput, TInputs, TConfig>,
|
||||
): Extension<TConfig>;
|
||||
): ExtensionDefinition<TConfig>;
|
||||
|
||||
// @public (undocumented)
|
||||
export function createExtensionDataRef<TData>(
|
||||
@@ -477,10 +472,14 @@ export interface CreateExtensionOptions<
|
||||
inputs: Expand<ExtensionInputValues<TInputs>>;
|
||||
}): Expand<ExtensionDataValues<TOutput>>;
|
||||
// (undocumented)
|
||||
id: string;
|
||||
// (undocumented)
|
||||
inputs?: TInputs;
|
||||
// (undocumented)
|
||||
kind?: string;
|
||||
// (undocumented)
|
||||
name?: string;
|
||||
// (undocumented)
|
||||
namespace?: string;
|
||||
// (undocumented)
|
||||
output: TOutput;
|
||||
}
|
||||
|
||||
@@ -516,11 +515,12 @@ export function createExternalRouteRef<
|
||||
|
||||
// @public
|
||||
export function createNavItemExtension(options: {
|
||||
id: string;
|
||||
namespace?: string;
|
||||
name?: string;
|
||||
routeRef: RouteRef<undefined>;
|
||||
title: string;
|
||||
icon: IconComponent_2;
|
||||
}): Extension<{
|
||||
}): ExtensionDefinition<{
|
||||
title: string;
|
||||
}>;
|
||||
|
||||
@@ -539,7 +539,8 @@ export function createPageExtension<
|
||||
configSchema: PortableSchema<TConfig>;
|
||||
}
|
||||
) & {
|
||||
id: string;
|
||||
namespace?: string;
|
||||
name?: string;
|
||||
attachTo?: {
|
||||
id: string;
|
||||
input: string;
|
||||
@@ -552,7 +553,7 @@ export function createPageExtension<
|
||||
inputs: Expand<ExtensionInputValues<TInputs>>;
|
||||
}) => Promise<JSX.Element>;
|
||||
},
|
||||
): Extension<TConfig>;
|
||||
): ExtensionDefinition<TConfig>;
|
||||
|
||||
// @public (undocumented)
|
||||
export function createPlugin<
|
||||
@@ -616,7 +617,9 @@ export function createSubRouteRef<
|
||||
}): MakeSubRouteRef<PathParams<Path>, ParentParams>;
|
||||
|
||||
// @public (undocumented)
|
||||
export function createThemeExtension(theme: AppTheme): Extension<never>;
|
||||
export function createThemeExtension(
|
||||
theme: AppTheme,
|
||||
): ExtensionDefinition<never>;
|
||||
|
||||
export { DiscoveryApi };
|
||||
|
||||
@@ -703,6 +706,40 @@ export type ExtensionDataValues<TExtensionData extends AnyExtensionDataMap> = {
|
||||
: never]?: TExtensionData[DataName]['T'];
|
||||
};
|
||||
|
||||
// @public (undocumented)
|
||||
export interface ExtensionDefinition<TConfig> {
|
||||
// (undocumented)
|
||||
$$type: '@backstage/ExtensionDefinition';
|
||||
// (undocumented)
|
||||
attachTo: {
|
||||
id: string;
|
||||
input: string;
|
||||
};
|
||||
// (undocumented)
|
||||
configSchema?: PortableSchema<TConfig>;
|
||||
// (undocumented)
|
||||
disabled: boolean;
|
||||
// (undocumented)
|
||||
factory(options: {
|
||||
node: AppNode;
|
||||
config: TConfig;
|
||||
inputs: Record<
|
||||
string,
|
||||
undefined | Record<string, unknown> | Array<Record<string, unknown>>
|
||||
>;
|
||||
}): ExtensionDataValues<any>;
|
||||
// (undocumented)
|
||||
inputs: AnyExtensionInputMap;
|
||||
// (undocumented)
|
||||
kind?: string;
|
||||
// (undocumented)
|
||||
name?: string;
|
||||
// (undocumented)
|
||||
namespace?: string;
|
||||
// (undocumented)
|
||||
output: AnyExtensionDataMap;
|
||||
}
|
||||
|
||||
// @public (undocumented)
|
||||
export interface ExtensionInput<
|
||||
TExtensionData extends AnyExtensionDataMap,
|
||||
@@ -743,7 +780,7 @@ export interface ExtensionOverrides {
|
||||
// @public (undocumented)
|
||||
export interface ExtensionOverridesOptions {
|
||||
// (undocumented)
|
||||
extensions: Extension<unknown>[];
|
||||
extensions: ExtensionDefinition<unknown>[];
|
||||
// (undocumented)
|
||||
featureFlags?: FeatureFlagConfig[];
|
||||
}
|
||||
@@ -841,7 +878,7 @@ export interface PluginOptions<
|
||||
ExternalRoutes extends AnyExternalRoutes,
|
||||
> {
|
||||
// (undocumented)
|
||||
extensions?: Extension<unknown>[];
|
||||
extensions?: ExtensionDefinition<unknown>[];
|
||||
// (undocumented)
|
||||
externalRoutes?: ExternalRoutes;
|
||||
// (undocumented)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
```ts
|
||||
import { ErrorWithContext } from '@backstage/test-utils';
|
||||
import { Extension } from '@backstage/frontend-plugin-api';
|
||||
import { ExtensionDefinition } from '@backstage/frontend-plugin-api';
|
||||
import { JsonObject } from '@backstage/types';
|
||||
import { MockAnalyticsApi } from '@backstage/test-utils';
|
||||
import { MockConfigApi } from '@backstage/test-utils';
|
||||
@@ -24,7 +24,7 @@ import { withLogCollector } from '@backstage/test-utils';
|
||||
|
||||
// @public (undocumented)
|
||||
export function createExtensionTester<TConfig>(
|
||||
subject: Extension<TConfig>,
|
||||
subject: ExtensionDefinition<TConfig>,
|
||||
options?: {
|
||||
config?: TConfig;
|
||||
},
|
||||
@@ -36,7 +36,7 @@ export { ErrorWithContext };
|
||||
export class ExtensionTester {
|
||||
// (undocumented)
|
||||
add<TConfig>(
|
||||
extension: Extension<TConfig>,
|
||||
extension: ExtensionDefinition<TConfig>,
|
||||
options?: {
|
||||
config?: TConfig;
|
||||
},
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
|
||||
```ts
|
||||
import { BackstagePlugin } from '@backstage/frontend-plugin-api';
|
||||
import { Extension } from '@backstage/frontend-plugin-api';
|
||||
import { ExtensionDefinition } from '@backstage/frontend-plugin-api';
|
||||
import { TranslationRef } from '@backstage/core-plugin-api/alpha';
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const AdrSearchResultListItemExtension: Extension<{
|
||||
export const AdrSearchResultListItemExtension: ExtensionDefinition<{
|
||||
lineClamp: number;
|
||||
noTrack: boolean;
|
||||
}>;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
import { AnyExtensionInputMap } from '@backstage/frontend-plugin-api';
|
||||
import { ConfigurableExtensionDataRef } from '@backstage/frontend-plugin-api';
|
||||
import { Entity } from '@backstage/catalog-model';
|
||||
import { Extension } from '@backstage/frontend-plugin-api';
|
||||
import { ExtensionDefinition } from '@backstage/frontend-plugin-api';
|
||||
import { ExtensionInputValues } from '@backstage/frontend-plugin-api';
|
||||
import { ResourcePermission } from '@backstage/plugin-permission-common';
|
||||
import { RouteRef } from '@backstage/frontend-plugin-api';
|
||||
@@ -17,7 +17,8 @@ import { RouteRef } from '@backstage/frontend-plugin-api';
|
||||
export function createEntityCardExtension<
|
||||
TInputs extends AnyExtensionInputMap,
|
||||
>(options: {
|
||||
id: string;
|
||||
namespace?: string;
|
||||
name?: string;
|
||||
attachTo?: {
|
||||
id: string;
|
||||
input: string;
|
||||
@@ -30,7 +31,7 @@ export function createEntityCardExtension<
|
||||
loader: (options: {
|
||||
inputs: Expand<ExtensionInputValues<TInputs>>;
|
||||
}) => Promise<JSX.Element>;
|
||||
}): Extension<{
|
||||
}): ExtensionDefinition<{
|
||||
filter?: string | undefined;
|
||||
}>;
|
||||
|
||||
@@ -38,7 +39,8 @@ export function createEntityCardExtension<
|
||||
export function createEntityContentExtension<
|
||||
TInputs extends AnyExtensionInputMap,
|
||||
>(options: {
|
||||
id: string;
|
||||
namespace?: string;
|
||||
name?: string;
|
||||
attachTo?: {
|
||||
id: string;
|
||||
input: string;
|
||||
@@ -54,7 +56,7 @@ export function createEntityContentExtension<
|
||||
loader: (options: {
|
||||
inputs: Expand<ExtensionInputValues<TInputs>>;
|
||||
}) => Promise<JSX.Element>;
|
||||
}): Extension<{
|
||||
}): ExtensionDefinition<{
|
||||
title: string;
|
||||
path: string;
|
||||
filter?: string | undefined;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
import { AnyExtensionInputMap } from '@backstage/frontend-plugin-api';
|
||||
import { BackstagePlugin } from '@backstage/frontend-plugin-api';
|
||||
import { Extension } from '@backstage/frontend-plugin-api';
|
||||
import { ExtensionDefinition } from '@backstage/frontend-plugin-api';
|
||||
import { ExternalRouteRef } from '@backstage/frontend-plugin-api';
|
||||
import { PortableSchema } from '@backstage/frontend-plugin-api';
|
||||
import { RouteRef } from '@backstage/frontend-plugin-api';
|
||||
@@ -17,11 +17,12 @@ export function createCatalogFilterExtension<
|
||||
TInputs extends AnyExtensionInputMap,
|
||||
TConfig = never,
|
||||
>(options: {
|
||||
id: string;
|
||||
namespace?: string;
|
||||
name?: string;
|
||||
inputs?: TInputs;
|
||||
configSchema?: PortableSchema<TConfig>;
|
||||
loader: (options: { config: TConfig }) => Promise<JSX.Element>;
|
||||
}): Extension<TConfig>;
|
||||
}): ExtensionDefinition<TConfig>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
const _default: BackstagePlugin<
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
|
||||
```ts
|
||||
import { BackstagePlugin } from '@backstage/frontend-plugin-api';
|
||||
import { Extension } from '@backstage/frontend-plugin-api';
|
||||
import { ExtensionDefinition } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @alpha (undocumented)
|
||||
const _default: BackstagePlugin<{}, {}>;
|
||||
export default _default;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const ExploreSearchResultListItemExtension: Extension<{
|
||||
export const ExploreSearchResultListItemExtension: ExtensionDefinition<{
|
||||
noTrack?: boolean | undefined;
|
||||
}>;
|
||||
|
||||
|
||||
@@ -4,20 +4,21 @@
|
||||
|
||||
```ts
|
||||
import { BackstagePlugin } from '@backstage/frontend-plugin-api';
|
||||
import { Extension } from '@backstage/frontend-plugin-api';
|
||||
import { ExtensionDefinition } from '@backstage/frontend-plugin-api';
|
||||
import { GraphQLEndpoint } from '@backstage/plugin-graphiql';
|
||||
import { PortableSchema } from '@backstage/frontend-plugin-api';
|
||||
import { RouteRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @alpha (undocumented)
|
||||
export function createEndpointExtension<TConfig extends {}>(options: {
|
||||
id: string;
|
||||
export function createGraphiQLEndpointExtension<TConfig extends {}>(options: {
|
||||
namespace?: string;
|
||||
name?: string;
|
||||
configSchema?: PortableSchema<TConfig>;
|
||||
disabled?: boolean;
|
||||
factory: (options: { config: TConfig }) => {
|
||||
endpoint: GraphQLEndpoint;
|
||||
};
|
||||
}): Extension<TConfig>;
|
||||
}): ExtensionDefinition<TConfig>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
const _default: BackstagePlugin<
|
||||
@@ -29,15 +30,15 @@ const _default: BackstagePlugin<
|
||||
export default _default;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const graphiqlBrowseApi: Extension<{}>;
|
||||
export const graphiqlBrowseApi: ExtensionDefinition<{}>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const GraphiqlPage: Extension<{
|
||||
export const GraphiqlPage: ExtensionDefinition<{
|
||||
path: string;
|
||||
}>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const graphiqlPageSidebarItem: Extension<{
|
||||
export const graphiqlPageSidebarItem: ExtensionDefinition<{
|
||||
title: string;
|
||||
}>;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
/// <reference types="react" />
|
||||
|
||||
import { ConfigurableExtensionDataRef } from '@backstage/frontend-plugin-api';
|
||||
import { Extension } from '@backstage/frontend-plugin-api';
|
||||
import { ExtensionDefinition } from '@backstage/frontend-plugin-api';
|
||||
import { ListItemProps } from '@material-ui/core';
|
||||
import { PortableSchema } from '@backstage/frontend-plugin-api';
|
||||
import { SearchDocument } from '@backstage/plugin-search-common';
|
||||
@@ -23,7 +23,9 @@ export function createSearchResultListItemExtension<
|
||||
TConfig extends {
|
||||
noTrack?: boolean;
|
||||
},
|
||||
>(options: SearchResultItemExtensionOptions<TConfig>): Extension<TConfig>;
|
||||
>(
|
||||
options: SearchResultItemExtensionOptions<TConfig>,
|
||||
): ExtensionDefinition<TConfig>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export type SearchResultItemExtensionComponent = <
|
||||
@@ -47,7 +49,8 @@ export type SearchResultItemExtensionOptions<
|
||||
noTrack?: boolean;
|
||||
},
|
||||
> = {
|
||||
id: string;
|
||||
namespace?: string;
|
||||
name?: string;
|
||||
attachTo?: {
|
||||
id: string;
|
||||
input: string;
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
```ts
|
||||
import { BackstagePlugin } from '@backstage/frontend-plugin-api';
|
||||
import { Extension } from '@backstage/frontend-plugin-api';
|
||||
import { ExtensionDefinition } from '@backstage/frontend-plugin-api';
|
||||
import { RouteRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @alpha (undocumented)
|
||||
@@ -17,15 +17,15 @@ const _default: BackstagePlugin<
|
||||
export default _default;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const SearchApi: Extension<{}>;
|
||||
export const SearchApi: ExtensionDefinition<{}>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const SearchNavItem: Extension<{
|
||||
export const SearchNavItem: ExtensionDefinition<{
|
||||
title: string;
|
||||
}>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const SearchPage: Extension<{
|
||||
export const SearchPage: ExtensionDefinition<{
|
||||
path: string;
|
||||
noTrack: boolean;
|
||||
}>;
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
```ts
|
||||
import { BackstagePlugin } from '@backstage/frontend-plugin-api';
|
||||
import { Extension } from '@backstage/frontend-plugin-api';
|
||||
import { ExtensionDefinition } from '@backstage/frontend-plugin-api';
|
||||
import { RouteRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @alpha (undocumented)
|
||||
@@ -17,7 +17,10 @@ const _default: BackstagePlugin<
|
||||
export default _default;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const TechRadarPage: Extension<{
|
||||
export const sampleTechRadarApi: ExtensionDefinition<{}>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const TechRadarPage: ExtensionDefinition<{
|
||||
height: number;
|
||||
width: number;
|
||||
title: string;
|
||||
|
||||
@@ -47,6 +47,7 @@ export const TechRadarPage = createPageExtension({
|
||||
import('./components').then(m => <m.RadarPage {...config} />),
|
||||
});
|
||||
|
||||
/** @alpha */
|
||||
export const sampleTechRadarApi = createApiExtension({
|
||||
factory() {
|
||||
return createApiFactory(techRadarApiRef, new SampleTechRadarApi());
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
```ts
|
||||
import { BackstagePlugin } from '@backstage/frontend-plugin-api';
|
||||
import { Extension } from '@backstage/frontend-plugin-api';
|
||||
import { ExtensionDefinition } from '@backstage/frontend-plugin-api';
|
||||
import { RouteRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @alpha (undocumented)
|
||||
@@ -23,7 +23,7 @@ const _default: BackstagePlugin<
|
||||
export default _default;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const TechDocsSearchResultListItemExtension: Extension<{
|
||||
export const TechDocsSearchResultListItemExtension: ExtensionDefinition<{
|
||||
lineClamp: number;
|
||||
noTrack: boolean;
|
||||
asListItem: boolean;
|
||||
|
||||
Reference in New Issue
Block a user