From 6310eacc11efb7b062ea2108f21c9b69bf5fa9f6 Mon Sep 17 00:00:00 2001 From: Magnus Persson Date: Mon, 23 Jan 2023 00:07:32 +0100 Subject: [PATCH] Additional package export Signed-off-by: Magnus Persson --- .changeset/afraid-foxes-provide.md | 5 ++++ plugins/sonarqube/api-report.md | 27 ++++++++++++++++++++ plugins/sonarqube/package.json | 6 +++-- plugins/sonarqube/src/api/SonarQubeClient.ts | 1 + plugins/sonarqube/src/index.ts | 1 + 5 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 .changeset/afraid-foxes-provide.md diff --git a/.changeset/afraid-foxes-provide.md b/.changeset/afraid-foxes-provide.md new file mode 100644 index 0000000000..e02702b895 --- /dev/null +++ b/.changeset/afraid-foxes-provide.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-sonarqube': patch +--- + +Additional export added in order to bind SonarQubeClient to its apiref diff --git a/plugins/sonarqube/api-report.md b/plugins/sonarqube/api-report.md index 31e98a0f4a..f77c66ac59 100644 --- a/plugins/sonarqube/api-report.md +++ b/plugins/sonarqube/api-report.md @@ -6,8 +6,12 @@ /// import { BackstagePlugin } from '@backstage/core-plugin-api'; +import { DiscoveryApi } from '@backstage/core-plugin-api'; import { Entity } from '@backstage/catalog-model'; +import { FindingSummary } from '@backstage/plugin-sonarqube-react'; +import { IdentityApi } from '@backstage/core-plugin-api'; import { InfoCardVariants } from '@backstage/core-components'; +import { SonarQubeApi } from '@backstage/plugin-sonarqube-react'; // @public (undocumented) export type DuplicationRating = { @@ -38,6 +42,29 @@ export const SonarQubeCard: (props: { duplicationRatings?: DuplicationRating[]; }) => JSX.Element; +// @alpha (undocumented) +export class SonarQubeClient implements SonarQubeApi { + constructor({ + discoveryApi, + identityApi, + }: { + discoveryApi: DiscoveryApi; + identityApi: IdentityApi; + }); + // (undocumented) + discoveryApi: DiscoveryApi; + // (undocumented) + getFindingSummary({ + componentKey, + projectInstance, + }?: { + componentKey?: string; + projectInstance?: string; + }): Promise; + // (undocumented) + identityApi: IdentityApi; +} + // @public (undocumented) export type SonarQubeContentPageProps = { title?: string; diff --git a/plugins/sonarqube/package.json b/plugins/sonarqube/package.json index af04494906..65142d1c48 100644 --- a/plugins/sonarqube/package.json +++ b/plugins/sonarqube/package.json @@ -8,7 +8,8 @@ "publishConfig": { "access": "public", "main": "dist/index.esm.js", - "types": "dist/index.d.ts" + "types": "dist/index.d.ts", + "alphaTypes": "dist/index.alpha.d.ts" }, "backstage": { "role": "frontend-plugin" @@ -25,7 +26,7 @@ "sonarcloud" ], "scripts": { - "build": "backstage-cli package build", + "build": "backstage-cli package build --experimental-type-build", "start": "backstage-cli package start", "lint": "backstage-cli package lint", "test": "backstage-cli package test", @@ -64,6 +65,7 @@ }, "files": [ "dist", + "alpha", "config.d.ts" ], "configSchema": "config.d.ts" diff --git a/plugins/sonarqube/src/api/SonarQubeClient.ts b/plugins/sonarqube/src/api/SonarQubeClient.ts index cf893ccef5..f742fe026f 100644 --- a/plugins/sonarqube/src/api/SonarQubeClient.ts +++ b/plugins/sonarqube/src/api/SonarQubeClient.ts @@ -23,6 +23,7 @@ import { import { InstanceUrlWrapper, FindingsWrapper } from './types'; import { DiscoveryApi, IdentityApi } from '@backstage/core-plugin-api'; +/** @alpha */ export class SonarQubeClient implements SonarQubeApi { discoveryApi: DiscoveryApi; identityApi: IdentityApi; diff --git a/plugins/sonarqube/src/index.ts b/plugins/sonarqube/src/index.ts index 30f6351d4d..93648caeb5 100644 --- a/plugins/sonarqube/src/index.ts +++ b/plugins/sonarqube/src/index.ts @@ -21,5 +21,6 @@ * @packageDocumentation */ +export * from './api'; export * from './components'; export * from './plugin';