feat: add basic plugin render page with mocked data for standalon local developement

Signed-off-by: Kamil Wolny <mrwolny@gmail.com>
This commit is contained in:
Kamil Wolny
2022-08-09 23:46:18 +01:00
parent f9f9aa64f8
commit 5983eab8c1
2 changed files with 85 additions and 0 deletions
+83
View File
@@ -0,0 +1,83 @@
/*
* Copyright 2021 The Backstage Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import React from 'react';
import { createDevApp } from '@backstage/dev-utils';
import {
CatalogApi,
catalogApiRef,
EntityProvider,
} from '@backstage/plugin-catalog-react';
import {
gitHubIssuesPlugin,
GitHubIssuesPage,
GitHubIssuesApi,
gitHubIssuesApiRef,
IssuesByRepo,
} from '../src';
import { generateTestIssue } from '../src/utils';
const response: IssuesByRepo = {
backstage: {
issues: {
totalCount: 464,
edges: Array.from(Array(40)).map(() =>
generateTestIssue({
repository: { nameWithOwner: 'backstage/backstage' },
}),
),
},
},
};
createDevApp()
.registerPlugin(gitHubIssuesPlugin)
.registerApi({
api: gitHubIssuesApiRef,
deps: {},
factory: () =>
({
fetchIssuesByRepoFromGitHub: async () => response,
} as GitHubIssuesApi),
})
.registerApi({
api: catalogApiRef,
deps: {},
factory: () =>
({
getEntities: () => ({}),
} as CatalogApi),
})
.addPage({
title: 'Component Issues',
element: (
<EntityProvider
entity={{
metadata: {
annotations: {
'github.com/project-slug': 'backstage/backstage',
},
name: 'backstage',
},
apiVersion: 'backstage.io/v1alpha1',
kind: 'Component',
}}
>
<GitHubIssuesPage />
</EntityProvider>
),
})
.render();
+2
View File
@@ -19,4 +19,6 @@ export {
GitHubIssuesCard,
} from './plugin';
export * from './api';
export type { GitHubIssuesProps } from './components/GitHubIssues';