@roadiehq/backstage-plugin-github-insights
Version:
87 lines (72 loc) • 3.17 kB
TypeScript
import * as react_jsx_runtime from 'react/jsx-runtime';
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
import { Entity } from '@backstage/catalog-model';
import * as zustand from 'zustand';
import { StoreApi } from 'zustand';
/**
* Props for Markdown content component {@link Content}.
*
* @public
*/
type MarkdownContentProps = {
hostname?: string;
owner: string;
repo: string;
path: string;
branch?: string;
preserveHtmlComments?: boolean;
};
declare const githubInsightsPlugin: _backstage_core_plugin_api.BackstagePlugin<{
root: _backstage_core_plugin_api.RouteRef<undefined>;
}, {}, {}>;
declare const EntityGithubInsightsContent: () => react_jsx_runtime.JSX.Element;
declare const EntityGithubInsightsComplianceCard: () => react_jsx_runtime.JSX.Element;
declare const EntityGithubInsightsContributorsCard: () => react_jsx_runtime.JSX.Element;
declare const EntityGithubInsightsLanguagesCard: () => react_jsx_runtime.JSX.Element;
declare const EntityGithubInsightsReadmeCard: (props: {
maxHeight?: number;
title?: string;
}) => react_jsx_runtime.JSX.Element;
declare const EntityGithubInsightsReleasesCard: () => react_jsx_runtime.JSX.Element;
declare const EntityGithubInsightsEnvironmentsCard: () => react_jsx_runtime.JSX.Element;
declare const InsightsPage: () => react_jsx_runtime.JSX.Element;
declare const isGithubInsightsAvailable: (entity: Entity) => boolean;
declare const ContributorsCard: () => react_jsx_runtime.JSX.Element;
declare const LanguagesCard: () => react_jsx_runtime.JSX.Element;
type ReadMeCardProps = {
maxHeight?: number;
title?: string;
};
declare const ReadMeCard: (props: ReadMeCardProps) => react_jsx_runtime.JSX.Element;
/**
* A component to render a markdown file from github
*
* @public
*/
declare const MarkdownContent: (props: MarkdownContentProps) => react_jsx_runtime.JSX.Element;
declare const ReleasesCard: () => react_jsx_runtime.JSX.Element;
declare const ComplianceCard: () => react_jsx_runtime.JSX.Element;
declare const EnvironmentsCard: () => react_jsx_runtime.JSX.Element;
type RequestStateStore = {
[key: string]: GithubRequestState;
};
type GithubRequestState = {
etag: string;
data: string | object;
};
type State = {
state: GithubRequestState;
setState: (next: GithubRequestState) => void;
};
type StateStore = {
state: RequestStateStore;
setState: (key: string, value: GithubRequestState) => void;
};
type GithubInsightsState = {
license: State;
contributor: StateStore;
branches: State;
request: StateStore;
};
declare const useStore: zustand.UseBoundStore<GithubInsightsState, StoreApi<GithubInsightsState>>;
export { ComplianceCard, ContributorsCard, EntityGithubInsightsComplianceCard, EntityGithubInsightsContent, EntityGithubInsightsContributorsCard, EntityGithubInsightsEnvironmentsCard, EntityGithubInsightsLanguagesCard, EntityGithubInsightsReadmeCard, EntityGithubInsightsReleasesCard, EnvironmentsCard, InsightsPage, LanguagesCard, MarkdownContent, ReadMeCard, ReleasesCard, githubInsightsPlugin, isGithubInsightsAvailable, githubInsightsPlugin as plugin, useStore };