From 1a6362b423ea03c130c265b13fbdce0b0c14b52b Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sun, 11 Jul 2021 16:40:46 +0200 Subject: [PATCH] scripts/api-extractor: generate api-reports for previously unsupported packages Signed-off-by: Patrik Oldsberg --- packages/core-components/api-report.md | 581 ++++++++++++++++++++ plugins/catalog-backend/api-report.md | 671 +++++++++++++++++++++++ plugins/catalog-react/api-report.md | 329 +++++++++++ plugins/catalog/api-report.md | 198 +++++++ plugins/github-deployments/api-report.md | 59 ++ scripts/api-extractor.ts | 8 - 6 files changed, 1838 insertions(+), 8 deletions(-) create mode 100644 packages/core-components/api-report.md create mode 100644 plugins/catalog-backend/api-report.md create mode 100644 plugins/catalog-react/api-report.md create mode 100644 plugins/catalog/api-report.md create mode 100644 plugins/github-deployments/api-report.md diff --git a/packages/core-components/api-report.md b/packages/core-components/api-report.md new file mode 100644 index 0000000000..5ab3682508 --- /dev/null +++ b/packages/core-components/api-report.md @@ -0,0 +1,581 @@ +## API Report File for "@backstage/core-components" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +/// + +import { ApiRef } from '@backstage/core-plugin-api'; +import { BackstageIdentityApi } from '@backstage/core-plugin-api'; +import { Breadcrumbs as Breadcrumbs_2 } from '@material-ui/core'; +import { ButtonProps } from '@material-ui/core'; +import { ButtonTypeMap } from '@material-ui/core'; +import { CardHeaderProps } from '@material-ui/core'; +import { Column } from 'material-table'; +import { CommonProps } from '@material-ui/core/OverridableComponent'; +import { ComponentClass } from 'react'; +import { ComponentProps } from 'react'; +import { ComponentType } from 'react'; +import { Context } from 'react'; +import { default as CSS_2 } from 'csstype'; +import { CSSProperties } from 'react'; +import { default as dagre_2 } from 'dagre'; +import { ElementType } from 'react'; +import { ErrorInfo } from 'react'; +import { IconComponent } from '@backstage/core-plugin-api'; +import { LinearProgressProps } from '@material-ui/core'; +import { LinkProps as LinkProps_2 } from '@material-ui/core'; +import { LinkProps as LinkProps_3 } from 'react-router-dom'; +import { MaterialTableProps } from 'material-table'; +import { NavLinkProps } from 'react-router-dom'; +import { ProfileInfoApi } from '@backstage/core-plugin-api'; +import { PropsWithChildren } from 'react'; +import PropTypes from 'prop-types'; +import { default as React_2 } from 'react'; +import * as React_3 from 'react'; +import { ReactElement } from 'react'; +import { ReactNode } from 'react'; +import { SessionApi } from '@backstage/core-plugin-api'; +import { SignInPageProps } from '@backstage/core-plugin-api'; +import { SparklinesLineProps } from 'react-sparklines'; +import { SparklinesProps } from 'react-sparklines'; +import { StyledComponentProps } from '@material-ui/core'; +import { StyleRules } from '@material-ui/styles'; +import { TabProps } from '@material-ui/core'; +import { TextTruncateProps } from 'react-text-truncate'; +import { Theme } from '@material-ui/core'; +import { TooltipProps } from '@material-ui/core'; +import { WithStyles } from '@material-ui/core'; + +// @public (undocumented) +export const AlertDisplay: () => JSX.Element | null; + +// @public (undocumented) +enum Alignment { + // (undocumented) + DOWN_LEFT = "DL", + // (undocumented) + DOWN_RIGHT = "DR", + // (undocumented) + UP_LEFT = "UL", + // (undocumented) + UP_RIGHT = "UR" +} + +// @public (undocumented) +export const Avatar: ({ displayName, picture, customStyles }: AvatarProps) => JSX.Element; + +// @public (undocumented) +export const Breadcrumbs: ({ children, ...props }: Props_25) => JSX.Element; + +// @public (undocumented) +export const BrokenImageIcon: IconComponent; + +// @public +export const Button: React_2.ForwardRefExoticComponent>> & React_2.RefAttributes>; + +// @public (undocumented) +export const CardTab: ({ children, ...props }: PropsWithChildren) => JSX.Element; + +// @public (undocumented) +export const CatalogIcon: IconComponent; + +// @public (undocumented) +export const ChatIcon: IconComponent; + +// @public (undocumented) +export const CodeSnippet: ({ text, language, showLineNumbers, showCopyCodeButton, highlightedNumbers, customStyle, }: Props_2) => JSX.Element; + +// @public (undocumented) +export const Content: ({ className, stretch, noPadding, children, ...props }: PropsWithChildren) => JSX.Element; + +// @public (undocumented) +export const ContentHeader: ({ description, title, titleComponent: TitleComponent, children, textAlign, }: PropsWithChildren) => JSX.Element; + +// @public (undocumented) +export const CopyTextButton: { + (props: Props_3): JSX.Element; + propTypes: { + text: PropTypes.Validator; + tooltipDelay: PropTypes.Requireable; + tooltipText: PropTypes.Requireable; + }; +}; + +// @public (undocumented) +export const DashboardIcon: IconComponent; + +// @public (undocumented) +type DependencyEdge = T & { + from: string; + to: string; + label?: string; +}; + +// @public (undocumented) +export function DependencyGraph({ edges, nodes, renderNode, direction, align, nodeMargin, edgeMargin, rankMargin, paddingX, paddingY, acyclicer, ranker, labelPosition, labelOffset, edgeRanks, edgeWeight, renderLabel, defs, ...svgProps }: DependencyGraphProps): JSX.Element; + +declare namespace DependencyGraphTypes { + export { + DependencyEdge, + GraphEdge, + RenderLabelProps, + RenderLabelFunction, + DependencyNode, + GraphNode, + RenderNodeProps, + RenderNodeFunction, + EdgeProperties, + Direction, + Alignment, + Ranker, + LabelPosition + } +} +export { DependencyGraphTypes } + +// @public (undocumented) +type DependencyNode = T & { + id: string; +}; + +// @public (undocumented) +enum Direction { + // (undocumented) + BOTTOM_TOP = "BT", + // (undocumented) + LEFT_RIGHT = "LR", + // (undocumented) + RIGHT_LEFT = "RL", + // (undocumented) + TOP_BOTTOM = "TB" +} + +// @public (undocumented) +export const DismissableBanner: ({ variant, message, id, fixed, }: Props_4) => JSX.Element; + +// @public (undocumented) +export const DocsIcon: IconComponent; + +// @public (undocumented) +type EdgeProperties = { + label?: string; + width?: number; + height?: number; + labeloffset?: number; + labelpos?: LabelPosition; + minlen?: number; + weight?: number; + [customKey: string]: any; +}; + +// @public (undocumented) +export const EmailIcon: IconComponent; + +// @public (undocumented) +export const EmptyState: ({ title, description, missing, action }: Props_5) => JSX.Element; + +// @public (undocumented) +export const ErrorBoundary: ComponentClass; + +// @public (undocumented) +export type ErrorBoundaryProps = { + slackChannel?: string | SlackChannel; + onError?: (error: Error, errorInfo: string) => null; +}; + +// @public (undocumented) +export const ErrorPage: ({ status, statusMessage, additionalInfo, }: IErrorPageProps) => JSX.Element; + +// @public +export const ErrorPanel: ({ title, error, defaultExpanded, children, }: PropsWithChildren) => JSX.Element; + +// @public (undocumented) +export type ErrorPanelProps = { + error: Error; + defaultExpanded?: boolean; + title?: string; +}; + +// @public (undocumented) +export const FeatureCalloutCircular: ({ featureId, title, description, children, }: PropsWithChildren) => JSX.Element; + +// @public (undocumented) +export const Gauge: (props: Props_14) => JSX.Element; + +// @public (undocumented) +export const GaugeCard: (props: Props_13) => JSX.Element; + +// @public (undocumented) +export const GitHubIcon: IconComponent; + +// @public (undocumented) +type GraphEdge = DependencyEdge & dagre_2.GraphEdge & EdgeProperties; + +// @public (undocumented) +type GraphNode = dagre_2.Node>; + +// @public (undocumented) +export const GroupIcon: IconComponent; + +// @public (undocumented) +export const Header: ({ children, pageTitleOverride, style, subtitle, title, tooltip, type, typeLink, }: PropsWithChildren) => JSX.Element; + +// @public (undocumented) +export const HeaderIconLinkRow: ({ links }: Props_8) => JSX.Element; + +// @public (undocumented) +export const HeaderLabel: ({ label, value, url }: HeaderLabelProps) => JSX.Element; + +// @public (undocumented) +export const HeaderTabs: ({ tabs, onChange, selectedIndex, }: HeaderTabsProps) => JSX.Element; + +// @public (undocumented) +export const HelpIcon: IconComponent; + +// @public (undocumented) +export const HomepageTimer: () => JSX.Element | null; + +// @public (undocumented) +export const HorizontalScrollGrid: (props: PropsWithChildren) => JSX.Element; + +// @public (undocumented) +export type IconLinkVerticalProps = { + color?: 'primary' | 'secondary'; + disabled?: boolean; + href?: string; + icon?: React_2.ReactNode; + label: string; + onClick?: React_2.MouseEventHandler; + title?: string; +}; + +// @public (undocumented) +export const InfoCard: ({ title, subheader, divider, deepLink, slackChannel, errorBoundaryProps, variant, children, headerStyle, headerProps, action, actionsClassName, actions, cardClassName, actionsTopRight, className, noPadding, titleTypographyProps, }: Props_20) => JSX.Element; + +// @public (undocumented) +export type InfoCardVariants = 'flex' | 'fullHeight' | 'gridItem'; + +// @public (undocumented) +export const IntroCard: (props: IntroCardProps) => JSX.Element; + +// @public @deprecated +export const ItemCard: ({ description, tags, title, type, subtitle, label, onClick, href, }: ItemCardProps) => JSX.Element; + +// @public +export const ItemCardGrid: (props: ItemCardGridProps) => JSX.Element; + +// @public (undocumented) +export type ItemCardGridProps = Partial> & { + children?: React_2.ReactNode; +}; + +// @public +export const ItemCardHeader: (props: ItemCardHeaderProps) => JSX.Element; + +// @public (undocumented) +export type ItemCardHeaderProps = Partial> & { + title?: React_2.ReactNode; + subtitle?: React_2.ReactNode; + children?: React_2.ReactNode; +}; + +// @public (undocumented) +enum LabelPosition { + // (undocumented) + CENTER = "c", + // (undocumented) + LEFT = "l", + // (undocumented) + RIGHT = "r" +} + +// @public (undocumented) +export const Lifecycle: (props: Props_10) => JSX.Element; + +// @public (undocumented) +export const LinearGauge: ({ value }: Props_15) => JSX.Element | null; + +// @public +export const Link: React_2.ForwardRefExoticComponent & React_2.RefAttributes>; + +// @public (undocumented) +export type LinkProps = LinkProps_2 & LinkProps_3 & { + component?: ElementType; +}; + +// @public +export const MarkdownContent: ({ content, dialect }: Props_11) => JSX.Element; + +// @public (undocumented) +export const MissingAnnotationEmptyState: ({ annotation }: Props_6) => JSX.Element; + +// @public (undocumented) +export const OAuthRequestDialog: () => JSX.Element; + +// @public (undocumented) +export const OverflowTooltip: (props: Props_12) => JSX.Element; + +// @public (undocumented) +export const Page: ({ themeId, children }: PropsWithChildren) => JSX.Element; + +// @public (undocumented) +export const Progress: (props: PropsWithChildren) => JSX.Element; + +// @public (undocumented) +enum Ranker { + // (undocumented) + LONGEST_PATH = "longest-path", + // (undocumented) + NETWORK_SIMPLEX = "network-simplex", + // (undocumented) + TIGHT_TREE = "tight-tree" +} + +// @public (undocumented) +type RenderLabelFunction = (props: RenderLabelProps) => React.ReactNode; + +// @public (undocumented) +type RenderLabelProps = { + edge: DependencyEdge; +}; + +// @public (undocumented) +type RenderNodeFunction = (props: RenderNodeProps) => React.ReactNode; + +// @public (undocumented) +type RenderNodeProps = { + node: DependencyNode; +}; + +// @public +export const ResponseErrorPanel: ({ title, error, defaultExpanded, }: ErrorPanelProps) => JSX.Element; + +// @public (undocumented) +export const RoutedTabs: ({ routes }: { + routes: SubRoute_2[]; +}) => JSX.Element; + +// @public (undocumented) +export const Select: ({ multiple, items, label, placeholder, selected, onChange, triggerReset, }: SelectProps) => JSX.Element; + +// @public (undocumented) +export const Sidebar: ({ openDelayMs, closeDelayMs, children, }: PropsWithChildren) => JSX.Element; + +// @public (undocumented) +export const SIDEBAR_INTRO_LOCAL_STORAGE = "@backstage/core/sidebar-intro-dismissed"; + +// @public (undocumented) +export const sidebarConfig: { + drawerWidthClosed: number; + drawerWidthOpen: number; + defaultOpenDelayMs: number; + defaultCloseDelayMs: number; + defaultFadeDuration: number; + logoHeight: number; + iconContainerWidth: number; + iconSize: number; + iconPadding: number; + selectedIndicatorWidth: number; + userBadgePadding: number; + userBadgeDiameter: number; +}; + +// @public (undocumented) +export const SidebarContext: Context; + +// @public (undocumented) +export type SidebarContextType = { + isOpen: boolean; +}; + +// @public (undocumented) +export const SidebarDivider: React_2.ComponentType, HTMLHRElement>, "children" | "slot" | "style" | "title" | "id" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | keyof React_2.ClassAttributes> & StyledComponentProps<"root"> & { + className?: string | undefined; +}>; + +// @public (undocumented) +export const SidebarIntro: () => JSX.Element | null; + +// @public (undocumented) +export const SidebarItem: React_2.ForwardRefExoticComponent>; + +// @public (undocumented) +export const SidebarPage: (props: PropsWithChildren<{}>) => JSX.Element; + +// @public (undocumented) +export const SidebarPinStateContext: React_2.Context; + +// @public (undocumented) +export type SidebarPinStateContextType = { + isPinned: boolean; + toggleSidebarPinState: () => any; +}; + +// @public (undocumented) +export const SidebarScrollWrapper: React_2.ComponentType, HTMLDivElement>, "children" | "slot" | "style" | "title" | "id" | keyof React_2.ClassAttributes | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & StyledComponentProps<"root"> & { + className?: string | undefined; +}>; + +// @public (undocumented) +export const SidebarSearchField: (props: SidebarSearchFieldProps) => JSX.Element; + +// @public (undocumented) +export const SidebarSpace: React_2.ComponentType, HTMLDivElement>, "children" | "slot" | "style" | "title" | "id" | keyof React_2.ClassAttributes | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & StyledComponentProps<"root"> & { + className?: string | undefined; +}>; + +// @public (undocumented) +export const SidebarSpacer: React_2.ComponentType, HTMLDivElement>, "children" | "slot" | "style" | "title" | "id" | keyof React_2.ClassAttributes | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & StyledComponentProps<"root"> & { + className?: string | undefined; +}>; + +// @public (undocumented) +export const SignInPage: (props: Props_23) => JSX.Element; + +// @public (undocumented) +export type SignInProviderConfig = { + id: string; + title: string; + message: string; + apiRef: ApiRef; +}; + +// @public (undocumented) +export const SimpleStepper: ({ children, elevated, onStepChange, activeStep, }: PropsWithChildren) => JSX.Element; + +// @public (undocumented) +export const SimpleStepperStep: ({ title, children, end, actions, ...muiProps }: PropsWithChildren) => JSX.Element; + +// @public (undocumented) +export const StatusAborted: (props: PropsWithChildren<{}>) => JSX.Element; + +// @public (undocumented) +export const StatusError: (props: PropsWithChildren<{}>) => JSX.Element; + +// @public (undocumented) +export const StatusOK: (props: PropsWithChildren<{}>) => JSX.Element; + +// @public (undocumented) +export const StatusPending: (props: PropsWithChildren<{}>) => JSX.Element; + +// @public (undocumented) +export const StatusRunning: (props: PropsWithChildren<{}>) => JSX.Element; + +// @public (undocumented) +export const StatusWarning: (props: PropsWithChildren<{}>) => JSX.Element; + +// @public (undocumented) +export const StructuredMetadataTable: ({ metadata, dense, options, }: Props_16) => JSX.Element; + +// @public (undocumented) +export const SubvalueCell: ({ value, subvalue }: SubvalueCellProps) => JSX.Element; + +// @public (undocumented) +export const SupportButton: ({ title, children }: SupportButtonProps) => JSX.Element; + +// @public (undocumented) +export type SupportConfig = { + url: string; + items: SupportItem[]; +}; + +// @public (undocumented) +export type SupportItem = { + title: string; + icon?: string; + links: SupportItemLink[]; +}; + +// @public (undocumented) +export type SupportItemLink = { + url: string; + title: string; +}; + +// @public (undocumented) +export type Tab = { + id: string; + label: string; + tabProps?: TabProps; +}; + +// @public (undocumented) +export const TabbedCard: ({ slackChannel, errorBoundaryProps, children, title, deepLink, value, onChange, }: PropsWithChildren) => JSX.Element; + +// @public +export const TabbedLayout: { + ({ children }: PropsWithChildren<{}>): JSX.Element; + Route: (props: SubRoute) => null; +}; + +// @public (undocumented) +export function Table({ columns, options, title, subtitle, filters, initialState, emptyContent, onStateChange, ...props }: TableProps): JSX.Element; + +// @public (undocumented) +export interface TableColumn extends Column { + // (undocumented) + highlight?: boolean; + // (undocumented) + width?: string; +} + +// @public (undocumented) +export type TableFilter = { + column: string; + type: 'select' | 'multiple-select' | 'checkbox-tree'; +}; + +// @public (undocumented) +export interface TableProps extends MaterialTableProps { + // (undocumented) + columns: TableColumn[]; + // (undocumented) + emptyContent?: ReactNode; + // (undocumented) + filters?: TableFilter[]; + // (undocumented) + initialState?: TableState; + // (undocumented) + onStateChange?: (state: TableState) => any; + // (undocumented) + subtitle?: string; +} + +// @public (undocumented) +export type TableState = { + search?: string; + filtersOpen?: boolean; + filters?: SelectedFilters; +}; + +// @public (undocumented) +export const Tabs: ({ tabs }: TabsProps) => JSX.Element; + +// @public (undocumented) +export const TrendLine: (props: SparklinesProps & Pick & { + title?: string; +}) => JSX.Element | null; + +// @public (undocumented) +export function useQueryParamState(stateName: string, +debounceTime?: number): [T | undefined, SetQueryParams]; + +// @public (undocumented) +export const UserIcon: IconComponent; + +// @public (undocumented) +export function useSupportConfig(): SupportConfig; + +// @public (undocumented) +export const WarningIcon: IconComponent; + +// @public +export const WarningPanel: (props: Props_17) => JSX.Element; + +// (No @packageDocumentation comment for this package) + +``` diff --git a/plugins/catalog-backend/api-report.md b/plugins/catalog-backend/api-report.md new file mode 100644 index 0000000000..a2c7e0b3a7 --- /dev/null +++ b/plugins/catalog-backend/api-report.md @@ -0,0 +1,671 @@ +## API Report File for "@backstage/plugin-catalog-backend" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +/// + +import { Account } from 'aws-sdk/clients/organizations'; +import { BitbucketIntegration } from '@backstage/integration'; +import { Config } from '@backstage/config'; +import { DocumentCollator } from '@backstage/search-common'; +import { Entity } from '@backstage/catalog-model'; +import { EntityName } from '@backstage/catalog-model'; +import { EntityPolicy } from '@backstage/catalog-model'; +import { EntityRelationSpec } from '@backstage/catalog-model'; +import express from 'express'; +import { IndexableDocument } from '@backstage/search-common'; +import { JsonObject } from '@backstage/config'; +import { JsonValue } from '@backstage/config'; +import { Knex } from 'knex'; +import { Location as Location_2 } from '@backstage/catalog-model'; +import { LocationSpec } from '@backstage/catalog-model'; +import { Logger as Logger_2 } from 'winston'; +import { Organizations } from 'aws-sdk'; +import { PluginDatabaseManager } from '@backstage/backend-common'; +import { PluginEndpointDiscovery } from '@backstage/backend-common'; +import { ResourceEntityV1alpha1 } from '@backstage/catalog-model'; +import { ScmIntegrationRegistry } from '@backstage/integration'; +import { ScmIntegrations } from '@backstage/integration'; +import { UrlReader } from '@backstage/backend-common'; +import { Validators } from '@backstage/catalog-model'; + +// @public (undocumented) +export type AddLocationResult = { + location: Location_2; + entities: Entity[]; +}; + +// @public (undocumented) +export type AnalyzeLocationRequest = { + location: LocationSpec; +}; + +// @public (undocumented) +export type AnalyzeLocationResponse = { + existingEntityFiles: AnalyzeLocationExistingEntity[]; + generateEntities: AnalyzeLocationGenerateEntity[]; +}; + +// @public (undocumented) +export class AnnotateLocationEntityProcessor implements CatalogProcessor { + constructor(options: Options_2); + // (undocumented) + preProcessEntity(entity: Entity, location: LocationSpec, _: CatalogProcessorEmit, originLocation: LocationSpec): Promise; +} + +// @public (undocumented) +export class AnnotateScmSlugEntityProcessor implements CatalogProcessor { + constructor(opts: { + scmIntegrationRegistry: ScmIntegrationRegistry; + }); + // (undocumented) + static fromConfig(config: Config): AnnotateScmSlugEntityProcessor; + // (undocumented) + preProcessEntity(entity: Entity, location: LocationSpec): Promise; +} + +// @public +export class AwsOrganizationCloudAccountProcessor implements CatalogProcessor { + constructor(options: { + provider: AwsOrganizationProviderConfig; + logger: Logger_2; + }); + // (undocumented) + extractInformationFromArn(arn: string): { + accountId: string; + organizationId: string; + }; + // (undocumented) + static fromConfig(config: Config, options: { + logger: Logger_2; + }): AwsOrganizationCloudAccountProcessor; + // (undocumented) + getAwsAccounts(): Promise; + // (undocumented) + logger: Logger_2; + // (undocumented) + mapAccountToComponent(account: Account): ResourceEntityV1alpha1; + // (undocumented) + normalizeName(name: string): string; + // (undocumented) + organizations: Organizations; + // (undocumented) + provider: AwsOrganizationProviderConfig; + // (undocumented) + readLocation(location: LocationSpec, _optional: boolean, emit: CatalogProcessorEmit): Promise; +} + +// @public (undocumented) +export class BitbucketDiscoveryProcessor implements CatalogProcessor { + constructor(options: { + integrations: ScmIntegrationRegistry; + parser?: BitbucketRepositoryParser; + logger: Logger_2; + }); + // (undocumented) + static fromConfig(config: Config, options: { + parser?: BitbucketRepositoryParser; + logger: Logger_2; + }): BitbucketDiscoveryProcessor; + // (undocumented) + readLocation(location: LocationSpec, _optional: boolean, emit: CatalogProcessorEmit): Promise; +} + +// @public (undocumented) +export type BitbucketRepositoryParser = (options: { + integration: BitbucketIntegration; + target: string; + logger: Logger_2; +}) => AsyncIterable; + +// @public (undocumented) +export class BuiltinKindsEntityProcessor implements CatalogProcessor { + // (undocumented) + postProcessEntity(entity: Entity, _location: LocationSpec, emit: CatalogProcessorEmit): Promise; + // (undocumented) + validateEntityKind(entity: Entity): Promise; +} + +// @public +export class CatalogBuilder { + constructor(env: CatalogEnvironment); + addEntityPolicy(...policies: EntityPolicy[]): CatalogBuilder; + addProcessor(...processors: CatalogProcessor[]): CatalogBuilder; + build(): Promise<{ + entitiesCatalog: EntitiesCatalog; + locationsCatalog: LocationsCatalog; + higherOrderOperation: HigherOrderOperation; + locationAnalyzer: LocationAnalyzer; + }>; + // (undocumented) + static create(env: CatalogEnvironment): Promise; + replaceEntityPolicies(policies: EntityPolicy[]): CatalogBuilder; + replaceProcessors(processors: CatalogProcessor[]): CatalogBuilder; + setEntityDataParser(parser: CatalogProcessorParser): CatalogBuilder; + setFieldFormatValidators(validators: Partial): CatalogBuilder; + setPlaceholderResolver(key: string, resolver: PlaceholderResolver): CatalogBuilder; +} + +// @public (undocumented) +export interface CatalogEntityDocument extends IndexableDocument { + // (undocumented) + componentType: string; + // (undocumented) + kind: string; + // (undocumented) + lifecycle: string; + // (undocumented) + namespace: string; + // (undocumented) + owner: string; +} + +// @public (undocumented) +export interface CatalogProcessingOrchestrator { + // (undocumented) + process(request: EntityProcessingRequest): Promise; +} + +// @public (undocumented) +export type CatalogProcessor = { + readLocation?(location: LocationSpec, optional: boolean, emit: CatalogProcessorEmit, parser: CatalogProcessorParser): Promise; + preProcessEntity?(entity: Entity, location: LocationSpec, emit: CatalogProcessorEmit, originLocation: LocationSpec): Promise; + validateEntityKind?(entity: Entity): Promise; + postProcessEntity?(entity: Entity, location: LocationSpec, emit: CatalogProcessorEmit): Promise; + handleError?(error: Error, location: LocationSpec, emit: CatalogProcessorEmit): Promise; +}; + +// @public (undocumented) +export type CatalogProcessorEmit = (generated: CatalogProcessorResult) => void; + +// @public (undocumented) +export type CatalogProcessorEntityResult = { + type: 'entity'; + entity: Entity; + location: LocationSpec; +}; + +// @public (undocumented) +export type CatalogProcessorErrorResult = { + type: 'error'; + error: Error; + location: LocationSpec; +}; + +// @public (undocumented) +export type CatalogProcessorLocationResult = { + type: 'location'; + location: LocationSpec; + optional: boolean; +}; + +// @public +export type CatalogProcessorParser = (options: { + data: Buffer; + location: LocationSpec; +}) => AsyncIterable; + +// @public (undocumented) +export type CatalogProcessorRelationResult = { + type: 'relation'; + relation: EntityRelationSpec; + entityRef?: string; +}; + +// @public (undocumented) +export type CatalogProcessorResult = CatalogProcessorLocationResult | CatalogProcessorEntityResult | CatalogProcessorRelationResult | CatalogProcessorErrorResult; + +// @public (undocumented) +export class CodeOwnersProcessor implements CatalogProcessor { + constructor(options: { + integrations: ScmIntegrations; + logger: Logger_2; + reader: UrlReader; + }); + // (undocumented) + static fromConfig(config: Config, options: { + logger: Logger_2; + reader: UrlReader; + }): CodeOwnersProcessor; + // (undocumented) + preProcessEntity(entity: Entity, location: LocationSpec): Promise; +} + +// @public +export class CommonDatabase implements Database { + constructor(database: Knex, logger: Logger_2); + // (undocumented) + addEntities(txOpaque: Transaction, request: DbEntityRequest[]): Promise; + // (undocumented) + addLocation(txOpaque: Transaction, location: Location_2): Promise; + // (undocumented) + addLocationUpdateLogEvent(locationId: string, status: DatabaseLocationUpdateLogStatus, entityName?: string | string[], message?: string): Promise; + // (undocumented) + entities(txOpaque: Transaction, request?: DbEntitiesRequest): Promise; + // (undocumented) + entityByName(txOpaque: Transaction, name: EntityName): Promise; + // (undocumented) + entityByUid(txOpaque: Transaction, uid: string): Promise; + // (undocumented) + location(id: string): Promise; + // (undocumented) + locationHistory(id: string): Promise; + // (undocumented) + locations(): Promise; + // (undocumented) + removeEntityByUid(txOpaque: Transaction, uid: string): Promise; + // (undocumented) + removeLocation(txOpaque: Transaction, id: string): Promise; + // (undocumented) + setRelations(txOpaque: Transaction, originatingEntityId: string, relations: EntityRelationSpec[]): Promise; + // (undocumented) + transaction(fn: (tx: Transaction) => Promise): Promise; + // (undocumented) + updateEntity(txOpaque: Transaction, request: DbEntityRequest, matchingEtag?: string, matchingGeneration?: number): Promise; +} + +// @public (undocumented) +export function createNextRouter(options: RouterOptions_2): Promise; + +// @public (undocumented) +export function createRouter(options: RouterOptions): Promise; + +// @public +export type Database = { + transaction(fn: (tx: Transaction) => Promise): Promise; + addEntities(tx: Transaction, request: DbEntityRequest[]): Promise; + updateEntity(tx: Transaction, request: DbEntityRequest, matchingEtag?: string, matchingGeneration?: number): Promise; + entities(tx: Transaction, request?: DbEntitiesRequest): Promise; + entityByName(tx: Transaction, name: EntityName): Promise; + entityByUid(tx: Transaction, uid: string): Promise; + removeEntityByUid(tx: Transaction, uid: string): Promise; + setRelations(tx: Transaction, entityUid: string, relations: EntityRelationSpec[]): Promise; + addLocation(tx: Transaction, location: Location_2): Promise; + removeLocation(tx: Transaction, id: string): Promise; + location(id: string): Promise; + locations(): Promise; + locationHistory(id: string): Promise; + addLocationUpdateLogEvent(locationId: string, status: DatabaseLocationUpdateLogStatus, entityName?: string | string[], message?: string): Promise; +}; + +// @public (undocumented) +export class DatabaseEntitiesCatalog implements EntitiesCatalog { + constructor(database: Database, logger: Logger_2); + // (undocumented) + batchAddOrUpdateEntities(requests: EntityUpsertRequest[], options?: { + locationId?: string; + dryRun?: boolean; + outputEntities?: boolean; + }): Promise; + // (undocumented) + entities(request?: EntitiesRequest): Promise; + // (undocumented) + removeEntityByUid(uid: string): Promise; +} + +// @public (undocumented) +export class DatabaseLocationsCatalog implements LocationsCatalog { + constructor(database: Database); + // (undocumented) + addLocation(location: Location_2): Promise; + // (undocumented) + location(id: string): Promise; + // (undocumented) + locationHistory(id: string): Promise; + // (undocumented) + locations(): Promise; + // (undocumented) + logUpdateFailure(locationId: string, error?: Error, entityName?: string): Promise; + // (undocumented) + logUpdateSuccess(locationId: string, entityName?: string | string[]): Promise; + // (undocumented) + removeLocation(id: string): Promise; +} + +// @public (undocumented) +export class DatabaseManager { + // (undocumented) + static createDatabase(knex: Knex, options?: Partial): Promise; + // (undocumented) + static createInMemoryDatabase(): Promise; + // (undocumented) + static createInMemoryDatabaseConnection(): Promise; + // (undocumented) + static createTestDatabase(): Promise; + // (undocumented) + static createTestDatabaseConnection(): Promise; +} + +// @public (undocumented) +export type DbEntityRequest = { + locationId?: string; + entity: Entity; + relations: EntityRelationSpec[]; +}; + +// @public (undocumented) +export type DbEntityResponse = { + locationId?: string; + entity: Entity; +}; + +// @public (undocumented) +export class DefaultCatalogCollator implements DocumentCollator { + constructor({ discovery, locationTemplate, }: { + discovery: PluginEndpointDiscovery; + locationTemplate?: string; + }); + // (undocumented) + protected applyArgsToFormat(format: string, args: Record): string; + // (undocumented) + protected discovery: PluginEndpointDiscovery; + // (undocumented) + execute(): Promise; + // (undocumented) + protected locationTemplate: string; + // (undocumented) + readonly type: string; +} + +// @public (undocumented) +export class DefaultCatalogProcessingOrchestrator implements CatalogProcessingOrchestrator { + constructor(options: { + processors: CatalogProcessor[]; + integrations: ScmIntegrationRegistry; + logger: Logger_2; + parser: CatalogProcessorParser; + policy: EntityPolicy; + }); + // (undocumented) + process(request: EntityProcessingRequest): Promise; +} + +// @public +export function durationText(startTimestamp: [number, number]): string; + +// @public (undocumented) +export type EntitiesCatalog = { + entities(request?: EntitiesRequest): Promise; + removeEntityByUid(uid: string): Promise; + batchAddOrUpdateEntities(requests: EntityUpsertRequest[], options?: { + locationId?: string; + dryRun?: boolean; + outputEntities?: boolean; + }): Promise; +}; + +// @public +export type EntitiesSearchFilter = { + key: string; + matchValueIn?: string[]; +}; + +// @public (undocumented) +function entity(atLocation: LocationSpec, newEntity: Entity): CatalogProcessorResult; + +// @public +export type EntityFilter = { + anyOf: { + allOf: EntitiesSearchFilter[]; + }[]; +}; + +// @public +export type EntityPagination = { + limit?: number; + offset?: number; + after?: string; +}; + +// @public (undocumented) +export type EntityProcessingRequest = { + entity: Entity; + state: Map; +}; + +// @public (undocumented) +export type EntityProcessingResult = { + ok: true; + state: Map; + completedEntity: Entity; + deferredEntities: DeferredEntity[]; + relations: EntityRelationSpec[]; + errors: Error[]; +} | { + ok: false; + errors: Error[]; +}; + +// @public (undocumented) +export class FileReaderProcessor implements CatalogProcessor { + // (undocumented) + readLocation(location: LocationSpec, optional: boolean, emit: CatalogProcessorEmit): Promise; +} + +// @public (undocumented) +function generalError(atLocation: LocationSpec, message: string): CatalogProcessorResult; + +// @public +export class GithubDiscoveryProcessor implements CatalogProcessor { + constructor(options: { + integrations: ScmIntegrations; + logger: Logger_2; + }); + // (undocumented) + static fromConfig(config: Config, options: { + logger: Logger_2; + }): GithubDiscoveryProcessor; + // (undocumented) + readLocation(location: LocationSpec, _optional: boolean, emit: CatalogProcessorEmit): Promise; +} + +// @alpha +export class GithubMultiOrgReaderProcessor implements CatalogProcessor { + constructor(options: { + integrations: ScmIntegrations; + logger: Logger_2; + orgs: GithubMultiOrgConfig; + }); + // (undocumented) + static fromConfig(config: Config, options: { + logger: Logger_2; + }): GithubMultiOrgReaderProcessor; + // (undocumented) + readLocation(location: LocationSpec, _optional: boolean, emit: CatalogProcessorEmit): Promise; +} + +// @public +export class GithubOrgReaderProcessor implements CatalogProcessor { + constructor(options: { + integrations: ScmIntegrations; + logger: Logger_2; + }); + // (undocumented) + static fromConfig(config: Config, options: { + logger: Logger_2; + }): GithubOrgReaderProcessor; + // (undocumented) + readLocation(location: LocationSpec, _optional: boolean, emit: CatalogProcessorEmit): Promise; +} + +// @public (undocumented) +export type HigherOrderOperation = { + addLocation(spec: LocationSpec, options?: { + dryRun?: boolean; + }): Promise; + refreshAllLocations(): Promise; +}; + +// @public +export class HigherOrderOperations implements HigherOrderOperation { + constructor(entitiesCatalog: EntitiesCatalog, locationsCatalog: LocationsCatalog, locationReader: LocationReader, logger: Logger_2); + addLocation(spec: LocationSpec, options?: { + dryRun?: boolean; + }): Promise; + refreshAllLocations(): Promise; +} + +// @public (undocumented) +function inputError(atLocation: LocationSpec, message: string): CatalogProcessorResult; + +// @public (undocumented) +function location_2(newLocation: LocationSpec, optional: boolean): CatalogProcessorResult; + +// @public (undocumented) +export type LocationAnalyzer = { + analyzeLocation(location: AnalyzeLocationRequest): Promise; +}; + +// @public (undocumented) +export class LocationEntityProcessor implements CatalogProcessor { + constructor(options: Options_3); + // (undocumented) + postProcessEntity(entity: Entity, location: LocationSpec, emit: CatalogProcessorEmit): Promise; +} + +// @public (undocumented) +export type LocationReader = { + read(location: LocationSpec): Promise; +}; + +// @public +export class LocationReaders implements LocationReader { + constructor(options: Options); + // (undocumented) + read(location: LocationSpec): Promise; +} + +// @public (undocumented) +export type LocationsCatalog = { + addLocation(location: Location_2): Promise; + removeLocation(id: string): Promise; + locations(): Promise; + location(id: string): Promise; + locationHistory(id: string): Promise; + logUpdateSuccess(locationId: string, entityName?: string | string[]): Promise; + logUpdateFailure(locationId: string, error?: Error, entityName?: string): Promise; +}; + +// @public +export class NextCatalogBuilder { + constructor(env: CatalogEnvironment_2); + addEntityPolicy(...policies: EntityPolicy[]): NextCatalogBuilder; + addEntityProvider(...providers: EntityProvider[]): NextCatalogBuilder; + addProcessor(...processors: CatalogProcessor[]): NextCatalogBuilder; + build(): Promise<{ + entitiesCatalog: EntitiesCatalog; + locationsCatalog: LocationsCatalog; + locationAnalyzer: LocationAnalyzer; + processingEngine: CatalogProcessingEngine; + locationService: LocationService; + }>; + replaceEntityPolicies(policies: EntityPolicy[]): NextCatalogBuilder; + replaceProcessors(processors: CatalogProcessor[]): NextCatalogBuilder; + setEntityDataParser(parser: CatalogProcessorParser): NextCatalogBuilder; + setFieldFormatValidators(validators: Partial): NextCatalogBuilder; + setPlaceholderResolver(key: string, resolver: PlaceholderResolver): NextCatalogBuilder; + setRefreshIntervalSeconds(seconds: number): NextCatalogBuilder; +} + +// @public (undocumented) +function notFoundError(atLocation: LocationSpec, message: string): CatalogProcessorResult; + +// @public (undocumented) +export function parseEntityYaml(data: Buffer, location: LocationSpec): Iterable; + +// @public +export class PlaceholderProcessor implements CatalogProcessor { + constructor(options: Options_4); + // (undocumented) + preProcessEntity(entity: Entity, location: LocationSpec): Promise; +} + +// @public (undocumented) +export type PlaceholderResolver = (params: ResolverParams) => Promise; + +// @public (undocumented) +export type ReadLocationEntity = { + location: LocationSpec; + entity: Entity; + relations: EntityRelationSpec[]; +}; + +// @public (undocumented) +export type ReadLocationError = { + location: LocationSpec; + error: Error; +}; + +// @public (undocumented) +export type ReadLocationResult = { + entities: ReadLocationEntity[]; + errors: ReadLocationError[]; +}; + +// @public +export type RecursivePartial = { + [P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial[] : T[P] extends object ? RecursivePartial : T[P]; +}; + +// @public (undocumented) +function relation(spec: EntityRelationSpec): CatalogProcessorResult; + +declare namespace results { + export { + notFoundError, + inputError, + generalError, + location_2 as location, + entity, + relation + } +} +export { results } + +// @public (undocumented) +export interface RouterOptions { + // (undocumented) + config: Config; + // (undocumented) + entitiesCatalog?: EntitiesCatalog; + // (undocumented) + higherOrderOperation?: HigherOrderOperation; + // (undocumented) + locationAnalyzer?: LocationAnalyzer; + // (undocumented) + locationsCatalog?: LocationsCatalog; + // (undocumented) + locationService?: LocationService; + // (undocumented) + logger: Logger_2; +} + +// @public +export function runPeriodically(fn: () => any, delayMs: number): () => void; + +// @public (undocumented) +export class StaticLocationProcessor implements StaticLocationProcessor { + constructor(staticLocations: LocationSpec[]); + // (undocumented) + static fromConfig(config: Config): StaticLocationProcessor; + // (undocumented) + readLocation(location: LocationSpec, _optional: boolean, emit: CatalogProcessorEmit): Promise; +} + +// @public +export type Transaction = { + rollback(): Promise; +}; + +// @public (undocumented) +export class UrlReaderProcessor implements CatalogProcessor { + constructor(options: Options_5); + // (undocumented) + readLocation(location: LocationSpec, optional: boolean, emit: CatalogProcessorEmit, parser: CatalogProcessorParser): Promise; +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/plugins/catalog-react/api-report.md b/plugins/catalog-react/api-report.md new file mode 100644 index 0000000000..38fe62bc41 --- /dev/null +++ b/plugins/catalog-react/api-report.md @@ -0,0 +1,329 @@ +## API Report File for "@backstage/plugin-catalog-react" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +/// + +import { ApiRef } from '@backstage/core-plugin-api'; +import { AsyncState } from 'react-use/lib/useAsync'; +import { CatalogApi } from '@backstage/catalog-client'; +import { ComponentEntity } from '@backstage/catalog-model'; +import { Context } from 'react'; +import { Entity } from '@backstage/catalog-model'; +import { EntityName } from '@backstage/catalog-model'; +import { LinkProps } from '@backstage/core-components'; +import { PropsWithChildren } from 'react'; +import { default as React_2 } from 'react'; +import { ReactNode } from 'react'; +import { RouteRef } from '@backstage/core-plugin-api'; +import { ScmIntegrationRegistry } from '@backstage/integration'; +import { SystemEntity } from '@backstage/catalog-model'; +import { TableColumn } from '@backstage/core-components'; +import { UserEntity } from '@backstage/catalog-model'; + +export { CatalogApi } + +// @public (undocumented) +export const catalogApiRef: ApiRef; + +// @public (undocumented) +export const catalogRouteRef: RouteRef; + +// @public (undocumented) +function createDomainColumn(): TableColumn; + +// @public (undocumented) +function createEntityRefColumn({ defaultKind, }: { + defaultKind?: string; +}): TableColumn; + +// @public (undocumented) +function createEntityRelationColumn({ title, relation, defaultKind, filter: entityFilter, }: { + title: string; + relation: string; + defaultKind?: string; + filter?: { + kind: string; + }; +}): TableColumn; + +// @public (undocumented) +function createMetadataDescriptionColumn(): TableColumn; + +// @public (undocumented) +function createOwnerColumn(): TableColumn; + +// @public (undocumented) +function createSpecLifecycleColumn(): TableColumn; + +// @public (undocumented) +function createSpecTypeColumn(): TableColumn; + +// @public (undocumented) +function createSystemColumn(): TableColumn; + +// @public (undocumented) +export type DefaultEntityFilters = { + kind?: EntityKindFilter; + type?: EntityTypeFilter; + user?: UserListFilter; + owners?: EntityOwnerFilter; + lifecycles?: EntityLifecycleFilter; + tags?: EntityTagFilter; + text?: EntityTextFilter; +}; + +// @public (undocumented) +export const EntityContext: Context; + +// @public (undocumented) +export type EntityFilter = { + getCatalogFilters?: () => Record; + filterEntity?: (entity: Entity) => boolean; + toQueryValue?: () => string | string[]; +}; + +// @public (undocumented) +export class EntityKindFilter implements EntityFilter { + constructor(value: string); + // (undocumented) + getCatalogFilters(): Record; + // (undocumented) + toQueryValue(): string; + // (undocumented) + readonly value: string; +} + +// @public (undocumented) +export const EntityKindPicker: ({ initialFilter, hidden, }: EntityKindFilterProps) => JSX.Element | null; + +// @public (undocumented) +export class EntityLifecycleFilter implements EntityFilter { + constructor(values: string[]); + // (undocumented) + filterEntity(entity: Entity): boolean; + // (undocumented) + toQueryValue(): string[]; + // (undocumented) + readonly values: string[]; +} + +// @public (undocumented) +export const EntityLifecyclePicker: () => JSX.Element | null; + +// @public (undocumented) +export const EntityListContext: React_2.Context | undefined>; + +// @public (undocumented) +export const EntityListProvider: ({ children, }: PropsWithChildren<{}>) => JSX.Element; + +// @public (undocumented) +export class EntityOwnerFilter implements EntityFilter { + constructor(values: string[]); + // (undocumented) + filterEntity(entity: Entity): boolean; + // (undocumented) + toQueryValue(): string[]; + // (undocumented) + readonly values: string[]; +} + +// @public (undocumented) +export const EntityOwnerPicker: () => JSX.Element | null; + +// @public (undocumented) +export const EntityProvider: ({ entity, children }: EntityProviderProps) => JSX.Element; + +// @public (undocumented) +export const EntityRefLink: React_2.ForwardRefExoticComponent & React_2.RefAttributes>; + +// @public (undocumented) +export const EntityRefLinks: ({ entityRefs, defaultKind, ...linkProps }: EntityRefLinksProps) => JSX.Element; + +// @public (undocumented) +export const entityRoute: RouteRef< { +name: string; +kind: string; +namespace: string; +}>; + +// @public (undocumented) +export function entityRouteParams(entity: Entity): { + readonly kind: string; + readonly namespace: string; + readonly name: string; +}; + +// @public (undocumented) +export const entityRouteRef: RouteRef< { +name: string; +kind: string; +namespace: string; +}>; + +// @public (undocumented) +export const EntitySearchBar: () => JSX.Element; + +// @public (undocumented) +export type EntitySourceLocation = { + locationTargetUrl: string; + integrationType?: string; +}; + +// @public (undocumented) +export function EntityTable({ entities, title, emptyContent, variant, columns, }: Props): JSX.Element; + +// @public (undocumented) +export namespace EntityTable { + var // (undocumented) + columns: typeof columnFactories; + var // (undocumented) + systemEntityColumns: TableColumn[]; + var // (undocumented) + componentEntityColumns: TableColumn[]; +} + +// @public (undocumented) +export class EntityTagFilter implements EntityFilter { + constructor(values: string[]); + // (undocumented) + filterEntity(entity: Entity): boolean; + // (undocumented) + toQueryValue(): string[]; + // (undocumented) + readonly values: string[]; +} + +// @public (undocumented) +export const EntityTagPicker: () => JSX.Element | null; + +// @public (undocumented) +export class EntityTextFilter implements EntityFilter { + constructor(value: string); + // (undocumented) + filterEntity(entity: Entity): boolean; + // (undocumented) + readonly value: string; +} + +// @public (undocumented) +export class EntityTypeFilter implements EntityFilter { + constructor(value: string | string[]); + // (undocumented) + getCatalogFilters(): Record; + // (undocumented) + getTypes(): string[]; + // (undocumented) + toQueryValue(): string[]; + // (undocumented) + readonly value: string | string[]; +} + +// @public (undocumented) +export const EntityTypePicker: () => JSX.Element | null; + +// @public (undocumented) +export function formatEntityRefTitle(entityRef: Entity | EntityName, opts?: { + defaultKind?: string; +}): string; + +// @public (undocumented) +export function getEntityMetadataEditUrl(entity: Entity): string | undefined; + +// @public (undocumented) +export function getEntityMetadataViewUrl(entity: Entity): string | undefined; + +// @public +export function getEntityRelations(entity: Entity | undefined, relationType: string, filter?: { + kind: string; +}): EntityName[]; + +// @public (undocumented) +export function getEntitySourceLocation(entity: Entity, scmIntegrationsApi: ScmIntegrationRegistry): EntitySourceLocation | undefined; + +// @public +export function isOwnerOf(owner: Entity, owned: Entity): boolean; + +// @public (undocumented) +export const MockEntityListContextProvider: ({ children, value, }: React_2.PropsWithChildren<{ + value: Partial; +}>) => JSX.Element; + +// @public (undocumented) +export function reduceCatalogFilters(filters: EntityFilter[]): Record; + +// @public (undocumented) +export function reduceEntityFilters(filters: EntityFilter[]): (entity: Entity) => boolean; + +// @public (undocumented) +export const rootRoute: RouteRef; + +// @public +export function useEntity(): { + entity: T; + loading: boolean; + error: Error | undefined; +}; + +// @public +export const useEntityCompoundName: () => { + kind: string; + namespace: string; + name: string; +}; + +// @public (undocumented) +export const useEntityFromUrl: () => EntityLoadingStatus; + +// @public (undocumented) +export function useEntityListProvider(): EntityListContextProps; + +// @public +export function useEntityTypeFilter(): EntityTypeReturn; + +// @public +export function useOwnUser(): AsyncState; + +// @public (undocumented) +export function useRelatedEntities(entity: Entity, { type, kind }: { + type?: string; + kind?: string; +}): { + entities: Entity[] | undefined; + loading: boolean; + error: Error | undefined; +}; + +// @public (undocumented) +export class UserListFilter implements EntityFilter { + constructor(value: UserListFilterKind, user: UserEntity | undefined, isStarredEntity: (entity: Entity) => boolean); + // (undocumented) + filterEntity(entity: Entity): boolean; + // (undocumented) + readonly isStarredEntity: (entity: Entity) => boolean; + // (undocumented) + toQueryValue(): string; + // (undocumented) + readonly user: UserEntity | undefined; + // (undocumented) + readonly value: UserListFilterKind; +} + +// @public (undocumented) +export type UserListFilterKind = 'owned' | 'starred' | 'all'; + +// @public (undocumented) +export const UserListPicker: ({ initialFilter, availableFilters, }: UserListPickerProps) => JSX.Element; + +// @public (undocumented) +export const useStarredEntities: () => { + starredEntities: Set; + toggleStarredEntity: (entity: Entity) => void; + isStarredEntity: (entity: Entity) => boolean; +}; + +// (No @packageDocumentation comment for this package) + +``` diff --git a/plugins/catalog/api-report.md b/plugins/catalog/api-report.md new file mode 100644 index 0000000000..7bfd286440 --- /dev/null +++ b/plugins/catalog/api-report.md @@ -0,0 +1,198 @@ +## API Report File for "@backstage/plugin-catalog" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +/// + +import { BackstagePlugin } from '@backstage/core-plugin-api'; +import { Entity } from '@backstage/catalog-model'; +import { EntityName } from '@backstage/catalog-model'; +import { ExternalRouteRef } from '@backstage/core-plugin-api'; +import { IconComponent } from '@backstage/core-plugin-api'; +import { InfoCardVariants } from '@backstage/core-components'; +import { PropsWithChildren } from 'react'; +import { default as React_2 } from 'react'; +import { ReactNode } from 'react'; +import { RouteRef } from '@backstage/core-plugin-api'; +import { TableColumn } from '@backstage/core-components'; +import { TableProps } from '@backstage/core-components'; +import { TabProps } from '@material-ui/core'; +import { UserListFilterKind } from '@backstage/plugin-catalog-react'; + +// @public (undocumented) +export function AboutCard({ variant }: AboutCardProps): JSX.Element; + +// @public (undocumented) +export const AboutContent: ({ entity }: Props_2) => JSX.Element; + +// @public (undocumented) +export const AboutField: ({ label, value, gridSizes, children }: Props_3) => JSX.Element; + +// @public (undocumented) +export const CatalogEntityPage: () => JSX.Element; + +// @public (undocumented) +export const CatalogIndexPage: ({ initiallySelectedFilter, columns, actions, }: CatalogPageProps) => JSX.Element; + +// @public (undocumented) +export const CatalogLayout: ({ children }: Props) => JSX.Element; + +// @public (undocumented) +const catalogPlugin: BackstagePlugin< { +catalogIndex: RouteRef; +catalogEntity: RouteRef< { +name: string; +kind: string; +namespace: string; +}>; +}, { +createComponent: ExternalRouteRef; +}>; +export { catalogPlugin } +export { catalogPlugin as plugin } + +// @public (undocumented) +export const CatalogResultListItem: ({ result }: any) => JSX.Element; + +// @public (undocumented) +export const CatalogTable: { + ({ columns, actions }: CatalogTableProps): JSX.Element; + columns: typeof columnFactories; +}; + +// @public (undocumented) +export type CatalogTableRow = { + entity: Entity; + resolved: { + name: string; + partOfSystemRelationTitle?: string; + partOfSystemRelations: EntityName[]; + ownedByRelationsTitle?: string; + ownedByRelations: EntityName[]; + }; +}; + +// @public (undocumented) +export const CreateComponentButton: () => JSX.Element | null; + +// @public (undocumented) +export function createMetadataDescriptionColumn(): TableColumn; + +// @public (undocumented) +export function createNameColumn(props?: NameColumnProps): TableColumn; + +// @public (undocumented) +export function createOwnerColumn(): TableColumn; + +// @public (undocumented) +export function createSpecLifecycleColumn(): TableColumn; + +// @public (undocumented) +export function createSpecTypeColumn(): TableColumn; + +// @public (undocumented) +export function createSystemColumn(): TableColumn; + +// @public (undocumented) +export function createTagsColumn(): TableColumn; + +// @public (undocumented) +export const EntityAboutCard: AboutCard; + +// @public (undocumented) +export const EntityDependencyOfComponentsCard: ({ variant, title, }: { + variant?: "gridItem" | undefined; + title?: string | undefined; +}) => JSX.Element; + +// @public (undocumented) +export const EntityDependsOnComponentsCard: ({ variant, title, }: { + variant?: "gridItem" | undefined; + title?: string | undefined; +}) => JSX.Element; + +// @public (undocumented) +export const EntityDependsOnResourcesCard: ({ variant }: { + variant?: "gridItem" | undefined; +}) => JSX.Element; + +// @public (undocumented) +export const EntityHasComponentsCard: ({ variant }: { + variant?: "gridItem" | undefined; +}) => JSX.Element; + +// @public (undocumented) +export const EntityHasResourcesCard: ({ variant }: { + variant?: "gridItem" | undefined; +}) => JSX.Element; + +// @public (undocumented) +export const EntityHasSubcomponentsCard: ({ variant }: { + variant?: "gridItem" | undefined; +}) => JSX.Element; + +// @public (undocumented) +export const EntityHasSystemsCard: ({ variant }: { + variant?: "gridItem" | undefined; +}) => JSX.Element; + +// @public +export const EntityLayout: { + ({ UNSTABLE_extraContextMenuItems, children, }: EntityLayoutProps): JSX.Element; + Route: (props: SubRoute) => null; +}; + +// @public (undocumented) +export const EntityLinksCard: ({ cols, variant }: { + entity?: Entity | undefined; + cols?: number | ColumnBreakpoints | undefined; + variant?: "gridItem" | undefined; +}) => JSX.Element; + +// @public +export const EntityOrphanWarning: () => JSX.Element; + +// @public (undocumented) +export const EntityPageLayout: { + ({ children, UNSTABLE_extraContextMenuItems, }: EntityPageLayoutProps): JSX.Element; + Content: (_props: { + path: string; + title: string; + element: JSX.Element; + }) => null; +}; + +// @public (undocumented) +export const EntitySwitch: { + ({ children }: PropsWithChildren<{}>): JSX.Element | null; + Case: (_: { + if?: ((entity: Entity) => boolean) | undefined; + children: ReactNode; + }) => null; +}; + +// @public (undocumented) +export const EntitySystemDiagramCard: SystemDiagramCard; + +// @public (undocumented) +export function isComponentType(type: string): (entity: Entity) => boolean; + +// @public (undocumented) +export function isKind(kind: string): (entity: Entity) => boolean; + +// @public (undocumented) +export function isNamespace(namespace: string): (entity: Entity) => boolean; + +// @public (undocumented) +export const isOrphan: (entity: Entity) => boolean; + +// @public (undocumented) +export const Router: ({ EntityPage, }: { + EntityPage?: React_2.ComponentType<{}> | undefined; +}) => JSX.Element; + +// (No @packageDocumentation comment for this package) + +``` diff --git a/plugins/github-deployments/api-report.md b/plugins/github-deployments/api-report.md new file mode 100644 index 0000000000..09007e5dde --- /dev/null +++ b/plugins/github-deployments/api-report.md @@ -0,0 +1,59 @@ +## API Report File for "@backstage/plugin-github-deployments" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +/// + +import { BackstagePlugin } from '@backstage/core-plugin-api'; +import { Entity } from '@backstage/catalog-model'; +import { TableColumn } from '@backstage/core-components'; + +// @public (undocumented) +function createCommitColumn(): TableColumn; + +// @public (undocumented) +function createCreatorColumn(): TableColumn; + +// @public (undocumented) +function createEnvironmentColumn(): TableColumn; + +// @public (undocumented) +function createLastUpdatedColumn(): TableColumn; + +// @public (undocumented) +function createStatusColumn(): TableColumn; + +// @public (undocumented) +export const EntityGithubDeploymentsCard: ({ last, lastStatuses, columns, }: { + last?: number | undefined; + lastStatuses?: number | undefined; + columns?: TableColumn[] | undefined; +}) => JSX.Element; + +// @public (undocumented) +export const githubDeploymentsPlugin: BackstagePlugin< {}, {}>; + +// @public (undocumented) +export function GithubDeploymentsTable({ deployments, isLoading, reload, columns, }: GithubDeploymentsTableProps): JSX.Element; + +// @public (undocumented) +export namespace GithubDeploymentsTable { + var // (undocumented) + columns: typeof columnFactories; + var // (undocumented) + defaultDeploymentColumns: TableColumn[]; +} + +// @public (undocumented) +const GithubStateIndicator: ({ state }: { + state: string; +}) => JSX.Element; + +// @public (undocumented) +export const isGithubDeploymentsAvailable: (entity: Entity) => boolean; + +// (No @packageDocumentation comment for this package) + +``` diff --git a/scripts/api-extractor.ts b/scripts/api-extractor.ts index 2631f7de93..ab302606df 100644 --- a/scripts/api-extractor.ts +++ b/scripts/api-extractor.ts @@ -73,14 +73,6 @@ const SKIPPED_PACKAGES = [ 'packages/e2e-test', 'packages/storybook', 'packages/techdocs-cli', - - // TODO(Rugvip): Enable these once `import * as ...` and `import()` PRs have landed, #1796 & #1916. - 'packages/core-components', - 'plugins/catalog', - 'plugins/catalog-backend', - 'plugins/catalog-react', - 'plugins/github-deployments', - 'plugins/sentry-backend', ]; async function findPackageDirs() {