diff --git a/.changeset/slimy-socks-pump.md b/.changeset/slimy-socks-pump.md new file mode 100644 index 0000000000..f7252340f1 --- /dev/null +++ b/.changeset/slimy-socks-pump.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-tech-insights': patch +--- + +Export `techInsightsApiRef` and associated types. diff --git a/plugins/tech-insights/api-report.md b/plugins/tech-insights/api-report.md index e7f30a2b30..1849508f63 100644 --- a/plugins/tech-insights/api-report.md +++ b/plugins/tech-insights/api-report.md @@ -5,12 +5,49 @@ ```ts /// +import { ApiRef } from '@backstage/core-plugin-api'; import { BackstagePlugin } from '@backstage/core-plugin-api'; +import { CheckResult } from '@backstage/plugin-tech-insights-common'; +import { EntityName } from '@backstage/catalog-model'; +import { default as React_2 } from 'react'; import { RouteRef } from '@backstage/core-plugin-api'; +// @public +export type Check = { + id: string; + type: string; + name: string; + description: string; + factIds: string[]; +}; + +// @public +export type CheckResultRenderer = { + type: string; + title: string; + description: string; + component: React_2.ReactElement; +}; + // @public (undocumented) export const EntityTechInsightsScorecardContent: () => JSX.Element; +// @public +export interface TechInsightsApi { + // (undocumented) + getAllChecks(): Promise; + // (undocumented) + getScorecardsDefinition: ( + type: string, + value: CheckResult[], + ) => CheckResultRenderer | undefined; + // (undocumented) + runChecks(entityParams: EntityName, checks?: Check[]): Promise; +} + +// @public +export const techInsightsApiRef: ApiRef; + // @public (undocumented) export const techInsightsPlugin: BackstagePlugin< { diff --git a/plugins/tech-insights/package.json b/plugins/tech-insights/package.json index efa5ac16ee..f8382984de 100644 --- a/plugins/tech-insights/package.json +++ b/plugins/tech-insights/package.json @@ -35,6 +35,7 @@ "react-use": "^17.2.4" }, "peerDependencies": { + "@types/react": "^16.13.1 || ^17.0.0", "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { diff --git a/plugins/tech-insights/src/api/TechInsightsApi.ts b/plugins/tech-insights/src/api/TechInsightsApi.ts index d3ff9ac2ff..6c5f272e7f 100644 --- a/plugins/tech-insights/src/api/TechInsightsApi.ts +++ b/plugins/tech-insights/src/api/TechInsightsApi.ts @@ -20,10 +20,20 @@ import { Check } from './types'; import { CheckResultRenderer } from '../components/CheckResultRenderer'; import { EntityName } from '@backstage/catalog-model'; +/** + * {@link @backstage/core-plugin-api#ApiRef} for the {@link TechInsightsApi} + * + * @public + */ export const techInsightsApiRef = createApiRef({ id: 'plugin.techinsights.service', }); +/** + * API client interface for the Tech Insights plugin + * + * @public + */ export interface TechInsightsApi { getScorecardsDefinition: ( type: string, diff --git a/plugins/tech-insights/src/api/types.ts b/plugins/tech-insights/src/api/types.ts index 20071ba0c9..10dfa06420 100644 --- a/plugins/tech-insights/src/api/types.ts +++ b/plugins/tech-insights/src/api/types.ts @@ -13,6 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +/** + * Represents a single check defined on the TechInsights backend. + * + * @public + */ export type Check = { id: string; type: string; diff --git a/plugins/tech-insights/src/components/CheckResultRenderer.tsx b/plugins/tech-insights/src/components/CheckResultRenderer.tsx index 60e0fad9c5..d57d547384 100644 --- a/plugins/tech-insights/src/components/CheckResultRenderer.tsx +++ b/plugins/tech-insights/src/components/CheckResultRenderer.tsx @@ -18,6 +18,11 @@ import { CheckResult } from '@backstage/plugin-tech-insights-common'; import React from 'react'; import { BooleanCheck } from './BooleanCheck'; +/** + * Defines a react component that is responsible for rendering a results of a given type. + * + * @public + */ export type CheckResultRenderer = { type: string; title: string; diff --git a/plugins/tech-insights/src/index.ts b/plugins/tech-insights/src/index.ts index 273c11fd71..b59ac453ce 100644 --- a/plugins/tech-insights/src/index.ts +++ b/plugins/tech-insights/src/index.ts @@ -17,3 +17,8 @@ export { techInsightsPlugin, EntityTechInsightsScorecardContent, } from './plugin'; + +export { techInsightsApiRef } from './api/TechInsightsApi'; +export type { TechInsightsApi } from './api/TechInsightsApi'; +export type { Check } from './api/types'; +export type { CheckResultRenderer } from './components/CheckResultRenderer';