From e117ad2fec48d680dc85701e275f594ea9461d99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Fri, 19 Aug 2022 09:38:13 +0200 Subject: [PATCH] code-climate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- plugins/code-climate/api-report.md | 22 +------------------ .../code-climate/src/api/code-climate-api.ts | 2 ++ .../code-climate/src/api/code-climate-data.ts | 1 + plugins/code-climate/src/api/mock/index.ts | 1 - plugins/code-climate/src/api/mock/mock-api.ts | 1 + .../code-climate/src/api/production-api.ts | 8 ++----- .../CodeClimateTable.test.tsx | 2 +- plugins/code-climate/src/plugin.ts | 2 ++ scripts/api-extractor.ts | 1 - 9 files changed, 10 insertions(+), 30 deletions(-) diff --git a/plugins/code-climate/api-report.md b/plugins/code-climate/api-report.md index 5ef53cf543..f4a2d3a26d 100644 --- a/plugins/code-climate/api-report.md +++ b/plugins/code-climate/api-report.md @@ -11,21 +11,15 @@ import { DiscoveryApi } from '@backstage/core-plugin-api'; import { FetchApi } from '@backstage/core-plugin-api'; import { RouteRef } from '@backstage/core-plugin-api'; -// Warning: (ae-missing-release-tag) "CodeClimateApi" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// // @public (undocumented) export interface CodeClimateApi { // (undocumented) fetchData(repoID: string): Promise; } -// Warning: (ae-missing-release-tag) "codeClimateApiRef" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// // @public (undocumented) export const codeClimateApiRef: ApiRef; -// Warning: (ae-missing-release-tag) "CodeClimateData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// // @public (undocumented) export type CodeClimateData = { repoID: string; @@ -42,8 +36,6 @@ export type CodeClimateData = { numberOfOtherIssues: number; }; -// Warning: (ae-missing-release-tag) "codeClimatePlugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// // @public (undocumented) export const codeClimatePlugin: BackstagePlugin< { @@ -53,30 +45,18 @@ export const codeClimatePlugin: BackstagePlugin< {} >; -// Warning: (ae-missing-release-tag) "EntityCodeClimateCard" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// // @public (undocumented) export const EntityCodeClimateCard: () => JSX.Element; -// Warning: (ae-missing-release-tag) "MockCodeClimateApi" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// // @public (undocumented) export class MockCodeClimateApi implements CodeClimateApi { // (undocumented) fetchData(): Promise; } -// Warning: (ae-missing-release-tag) "mockData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const mockData: CodeClimateData; - -// Warning: (ae-missing-release-tag) "ProductionCodeClimateApi" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// // @public (undocumented) export class ProductionCodeClimateApi implements CodeClimateApi { - // Warning: (ae-forgotten-export) The symbol "Options" needs to be exported by the entry point index.d.ts - constructor(options: Options); + constructor(options: { discoveryApi: DiscoveryApi; fetchApi: FetchApi }); // (undocumented) fetchAllData(options: { apiUrl: string; diff --git a/plugins/code-climate/src/api/code-climate-api.ts b/plugins/code-climate/src/api/code-climate-api.ts index fb4f41ebb5..d58d355d75 100644 --- a/plugins/code-climate/src/api/code-climate-api.ts +++ b/plugins/code-climate/src/api/code-climate-api.ts @@ -17,10 +17,12 @@ import { CodeClimateData } from './code-climate-data'; import { createApiRef } from '@backstage/core-plugin-api'; +/** @public */ export const codeClimateApiRef = createApiRef({ id: 'plugin.code-climate.service', }); +/** @public */ export interface CodeClimateApi { fetchData(repoID: string): Promise; } diff --git a/plugins/code-climate/src/api/code-climate-data.ts b/plugins/code-climate/src/api/code-climate-data.ts index 9271905157..77e10d67d9 100644 --- a/plugins/code-climate/src/api/code-climate-data.ts +++ b/plugins/code-climate/src/api/code-climate-data.ts @@ -164,6 +164,7 @@ export type CodeClimateIssuesData = { meta: { current_page: number; total_pages: number; total_count: number }; }; +/** @public */ export type CodeClimateData = { repoID: string; maintainability: { diff --git a/plugins/code-climate/src/api/mock/index.ts b/plugins/code-climate/src/api/mock/index.ts index 56ba9c7974..0044fec7bb 100644 --- a/plugins/code-climate/src/api/mock/index.ts +++ b/plugins/code-climate/src/api/mock/index.ts @@ -14,5 +14,4 @@ * limitations under the License. */ -export { mockData } from './mock-api'; export { MockCodeClimateApi } from './mock-api'; diff --git a/plugins/code-climate/src/api/mock/mock-api.ts b/plugins/code-climate/src/api/mock/mock-api.ts index 74e4d83027..65ac6de3b8 100644 --- a/plugins/code-climate/src/api/mock/mock-api.ts +++ b/plugins/code-climate/src/api/mock/mock-api.ts @@ -47,6 +47,7 @@ export const mockData: CodeClimateData = { numberOfOtherIssues: 26, }; +/** @public */ export class MockCodeClimateApi implements CodeClimateApi { fetchData(): Promise { return new Promise(resolve => { diff --git a/plugins/code-climate/src/api/production-api.ts b/plugins/code-climate/src/api/production-api.ts index 81ba6b9ad6..e227201b9d 100644 --- a/plugins/code-climate/src/api/production-api.ts +++ b/plugins/code-climate/src/api/production-api.ts @@ -34,16 +34,12 @@ const codeSmellsQuery = `${basicIssuesOptions}&${categoriesFilter}=Complexity`; const duplicationQuery = `${basicIssuesOptions}&${categoriesFilter}=Duplication`; const otherIssuesQuery = `${basicIssuesOptions}&${categoriesFilter}=Bug%20Risk`; -type Options = { - discoveryApi: DiscoveryApi; - fetchApi: FetchApi; -}; - +/** @public */ export class ProductionCodeClimateApi implements CodeClimateApi { private readonly discoveryApi: DiscoveryApi; private readonly fetchApi: FetchApi; - constructor(options: Options) { + constructor(options: { discoveryApi: DiscoveryApi; fetchApi: FetchApi }) { this.discoveryApi = options.discoveryApi; this.fetchApi = options.fetchApi; } diff --git a/plugins/code-climate/src/components/CodeClimateTable/CodeClimateTable.test.tsx b/plugins/code-climate/src/components/CodeClimateTable/CodeClimateTable.test.tsx index a2ced6f5a2..70d34d0298 100644 --- a/plugins/code-climate/src/components/CodeClimateTable/CodeClimateTable.test.tsx +++ b/plugins/code-climate/src/components/CodeClimateTable/CodeClimateTable.test.tsx @@ -17,7 +17,7 @@ import React from 'react'; import { render } from '@testing-library/react'; import { CodeClimateTable } from './CodeClimateTable'; -import { mockData } from '../../api/mock'; +import { mockData } from '../../api/mock/mock-api'; import { ThemeProvider } from '@material-ui/core'; import { lightTheme } from '@backstage/theme'; diff --git a/plugins/code-climate/src/plugin.ts b/plugins/code-climate/src/plugin.ts index 54502b6355..38bb268388 100644 --- a/plugins/code-climate/src/plugin.ts +++ b/plugins/code-climate/src/plugin.ts @@ -30,6 +30,7 @@ export const rootRouteRef = createRouteRef({ id: 'code-climate', }); +/** @public */ export const codeClimatePlugin = createPlugin({ id: 'code-climate', apis: [ @@ -48,6 +49,7 @@ export const codeClimatePlugin = createPlugin({ }, }); +/** @public */ export const EntityCodeClimateCard = codeClimatePlugin.provide( createComponentExtension({ name: 'EntityCodeClimateCard', diff --git a/scripts/api-extractor.ts b/scripts/api-extractor.ts index be1f9ce038..ca710e1885 100644 --- a/scripts/api-extractor.ts +++ b/scripts/api-extractor.ts @@ -210,7 +210,6 @@ const ALLOW_WARNINGS = [ 'plugins/cicd-statistics', 'plugins/circleci', 'plugins/cloudbuild', - 'plugins/code-climate', 'plugins/config-schema', 'plugins/cost-insights', 'plugins/dynatrace',