From 0edd307a696c6544546a01fe6d25ffb1cf1bcd8c Mon Sep 17 00:00:00 2001 From: Johan Haals Date: Wed, 13 Sep 2023 15:34:36 +0200 Subject: [PATCH] Fix exports and api reports Signed-off-by: Johan Haals --- packages/frontend-app-api/api-report.md | 4 ++++ packages/frontend-plugin-api/api-report.md | 19 +++++++++++++++++++ .../src/extensions/createNavItemExtension.tsx | 4 ++++ plugins/graphiql/alpha-api-report.md | 5 +++++ plugins/graphiql/api-report.md | 5 ----- plugins/graphiql/src/alpha.tsx | 1 + 6 files changed, 33 insertions(+), 5 deletions(-) diff --git a/packages/frontend-app-api/api-report.md b/packages/frontend-app-api/api-report.md index 04f30c2616..12cf853f9d 100644 --- a/packages/frontend-app-api/api-report.md +++ b/packages/frontend-app-api/api-report.md @@ -26,6 +26,10 @@ export interface ExtensionTree { getExtension(id: string): ExtensionTreeNode | undefined; // (undocumented) getExtensionAttachments(id: string, inputName: string): ExtensionTreeNode[]; + // (undocumented) + getRootRoutes(): JSX_2.Element[]; + // (undocumented) + getSidebarItems(): JSX_2.Element[]; } // @public (undocumented) diff --git a/packages/frontend-plugin-api/api-report.md b/packages/frontend-plugin-api/api-report.md index 4e0d44669f..abba3e7f2f 100644 --- a/packages/frontend-plugin-api/api-report.md +++ b/packages/frontend-plugin-api/api-report.md @@ -7,6 +7,7 @@ import { AnyApiFactory } from '@backstage/core-plugin-api'; import { AnyApiRef } from '@backstage/core-plugin-api'; +import { IconComponent } from '@backstage/core-plugin-api'; import { JsonObject } from '@backstage/types'; import { JSX as JSX_2 } from 'react'; import { default as React_2 } from 'react'; @@ -53,6 +54,7 @@ export const coreExtensionData: { routePath: ConfigurableExtensionDataRef; apiFactory: ConfigurableExtensionDataRef; routeRef: ConfigurableExtensionDataRef, {}>; + navTarget: ConfigurableExtensionDataRef; }; // @public (undocumented) @@ -133,6 +135,16 @@ export interface CreateExtensionOptions< output: TOutput; } +// @public +export function createNavItemExtension(options: { + id: string; + routeRef: RouteRef; + title: string; + icon: IconComponent; +}): Extension<{ + title: string; +}>; + // @public export function createPageExtension< TConfig extends { @@ -271,6 +283,13 @@ export type ExtensionDataRef< $$type: '@backstage/ExtensionDataRef'; }; +// @public (undocumented) +export type NavTarget = { + title: string; + icon: IconComponent; + routeRef: RouteRef<{}>; +}; + // @public (undocumented) export interface PluginOptions { // (undocumented) diff --git a/packages/frontend-plugin-api/src/extensions/createNavItemExtension.tsx b/packages/frontend-plugin-api/src/extensions/createNavItemExtension.tsx index d3eaa53c66..8c55531866 100644 --- a/packages/frontend-plugin-api/src/extensions/createNavItemExtension.tsx +++ b/packages/frontend-plugin-api/src/extensions/createNavItemExtension.tsx @@ -18,6 +18,10 @@ import { IconComponent, RouteRef } from '@backstage/core-plugin-api'; import { createSchemaFromZod } from '../schema/createSchemaFromZod'; import { coreExtensionData, createExtension } from '../wiring'; +/** + * Helper for creating extensions for a nav item. + * @public + */ export function createNavItemExtension(options: { id: string; routeRef: RouteRef; diff --git a/plugins/graphiql/alpha-api-report.md b/plugins/graphiql/alpha-api-report.md index 665bf1464e..28537cfb15 100644 --- a/plugins/graphiql/alpha-api-report.md +++ b/plugins/graphiql/alpha-api-report.md @@ -30,5 +30,10 @@ export const GraphiqlPage: Extension<{ path: string; }>; +// @alpha (undocumented) +export const graphiqlPageSidebarItem: Extension<{ + title: string; +}>; + // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/graphiql/api-report.md b/plugins/graphiql/api-report.md index e6c6ebe193..cbecc37006 100644 --- a/plugins/graphiql/api-report.md +++ b/plugins/graphiql/api-report.md @@ -7,7 +7,6 @@ import { ApiRef } from '@backstage/core-plugin-api'; import { BackstagePlugin } from '@backstage/core-plugin-api'; -import { BackstagePlugin as BackstagePlugin_2 } from '@backstage/frontend-plugin-api'; import { ErrorApi } from '@backstage/core-plugin-api'; import { FetchApi } from '@backstage/core-plugin-api'; import { IconComponent } from '@backstage/core-plugin-api'; @@ -16,10 +15,6 @@ import { OAuthApi } from '@backstage/core-plugin-api'; import { default as React_2 } from 'react'; import { RouteRef } from '@backstage/core-plugin-api'; -// @alpha (undocumented) -const _default: BackstagePlugin_2; -export default _default; - // @public export type EndpointConfig = { id: string; diff --git a/plugins/graphiql/src/alpha.tsx b/plugins/graphiql/src/alpha.tsx index 1b095c32c9..7c6cb8f07f 100644 --- a/plugins/graphiql/src/alpha.tsx +++ b/plugins/graphiql/src/alpha.tsx @@ -47,6 +47,7 @@ export const GraphiqlPage = createPageExtension({ loader: () => import('./components').then(m => ), }); +/** @alpha */ export const graphiqlPageSidebarItem = createNavItemExtension({ id: 'plugin.graphiql.nav.index', title: 'GraphiQL',