@backstage/plugin-api-docs 0.8.12-next.0 → 0.8.12-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/dist/esm/{AsyncApiDefinition-f3e7e26e.esm.js → AsyncApiDefinition-f7878ded.esm.js} +2 -7
- package/dist/esm/{AsyncApiDefinition-f3e7e26e.esm.js.map → AsyncApiDefinition-f7878ded.esm.js.map} +1 -1
- package/dist/esm/{GraphQlDefinition-b8afc092.esm.js → GraphQlDefinition-a4a9f92e.esm.js} +10 -11
- package/dist/esm/{GraphQlDefinition-b8afc092.esm.js.map → GraphQlDefinition-a4a9f92e.esm.js.map} +1 -1
- package/dist/esm/{OpenApiDefinition-c48cabce.esm.js → OpenApiDefinition-cbea0eb2.esm.js} +2 -8
- package/dist/esm/{OpenApiDefinition-c48cabce.esm.js.map → OpenApiDefinition-cbea0eb2.esm.js.map} +1 -1
- package/dist/esm/{index-9e8e4d8c.esm.js → index-093b746d.esm.js} +1 -1
- package/dist/esm/index-093b746d.esm.js.map +1 -0
- package/dist/esm/{index-dfba78dd.esm.js → index-6ac32cc4.esm.js} +1 -1
- package/dist/esm/index-6ac32cc4.esm.js.map +1 -0
- package/dist/esm/{index-f33becda.esm.js → index-e1d18da9.esm.js} +1 -1
- package/dist/esm/index-e1d18da9.esm.js.map +1 -0
- package/dist/esm/{index-5bc4fdc7.esm.js → index-fd0a3b4e.esm.js} +1 -1
- package/dist/esm/index-fd0a3b4e.esm.js.map +1 -0
- package/dist/index.esm.js +176 -250
- package/dist/index.esm.js.map +1 -1
- package/package.json +10 -10
- package/dist/esm/index-5bc4fdc7.esm.js.map +0 -1
- package/dist/esm/index-9e8e4d8c.esm.js.map +0 -1
- package/dist/esm/index-dfba78dd.esm.js.map +0 -1
- package/dist/esm/index-f33becda.esm.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# @backstage/plugin-api-docs
|
|
2
2
|
|
|
3
|
+
## 0.8.12-next.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
- @backstage/plugin-catalog@1.7.0-next.2
|
|
9
|
+
- @backstage/core-plugin-api@1.2.0-next.2
|
|
10
|
+
- @backstage/core-components@0.12.1-next.2
|
|
11
|
+
- @backstage/plugin-catalog-react@1.2.2-next.2
|
|
12
|
+
- @backstage/catalog-model@1.1.4-next.1
|
|
13
|
+
- @backstage/theme@0.2.16
|
|
14
|
+
|
|
15
|
+
## 0.8.12-next.1
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Updated dependencies
|
|
20
|
+
- @backstage/core-components@0.12.1-next.1
|
|
21
|
+
- @backstage/plugin-catalog@1.6.2-next.1
|
|
22
|
+
- @backstage/core-plugin-api@1.1.1-next.1
|
|
23
|
+
- @backstage/plugin-catalog-react@1.2.2-next.1
|
|
24
|
+
- @backstage/catalog-model@1.1.4-next.1
|
|
25
|
+
- @backstage/theme@0.2.16
|
|
26
|
+
|
|
3
27
|
## 0.8.12-next.0
|
|
4
28
|
|
|
5
29
|
### Patch Changes
|
|
@@ -141,13 +141,8 @@ const AsyncApiDefinition = ({ definition }) => {
|
|
|
141
141
|
const classes = useStyles();
|
|
142
142
|
const theme = useTheme();
|
|
143
143
|
const classNames = `${classes.root} ${theme.palette.type === "dark" ? classes.dark : ""}`;
|
|
144
|
-
return /* @__PURE__ */ React.createElement("div", {
|
|
145
|
-
className: classNames
|
|
146
|
-
}, /* @__PURE__ */ React.createElement(AsyncApi, {
|
|
147
|
-
schema: definition,
|
|
148
|
-
config
|
|
149
|
-
}));
|
|
144
|
+
return /* @__PURE__ */ React.createElement("div", { className: classNames }, /* @__PURE__ */ React.createElement(AsyncApi, { schema: definition, config }));
|
|
150
145
|
};
|
|
151
146
|
|
|
152
147
|
export { AsyncApiDefinition };
|
|
153
|
-
//# sourceMappingURL=AsyncApiDefinition-
|
|
148
|
+
//# sourceMappingURL=AsyncApiDefinition-f7878ded.esm.js.map
|
package/dist/esm/{AsyncApiDefinition-f3e7e26e.esm.js.map → AsyncApiDefinition-f7878ded.esm.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncApiDefinition-
|
|
1
|
+
{"version":3,"file":"AsyncApiDefinition-f7878ded.esm.js","sources":["../../src/components/AsyncApiDefinitionWidget/AsyncApiDefinition.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport AsyncApi from '@asyncapi/react-component';\nimport '@asyncapi/react-component/styles/default.css';\nimport { makeStyles, alpha, darken } from '@material-ui/core/styles';\nimport { BackstageTheme } from '@backstage/theme';\nimport React from 'react';\nimport { useTheme } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme: BackstageTheme) => ({\n root: {\n fontFamily: 'inherit',\n '& .bg-white': {\n background: 'none',\n },\n '& .text-4xl': {\n ...theme.typography.h3,\n },\n ' & h2': {\n ...theme.typography.h4,\n },\n '& .border': {\n borderColor: alpha(theme.palette.border, 0.1),\n },\n '& .min-w-min': {\n minWidth: 'fit-content',\n },\n '& .examples': {\n padding: '1rem',\n },\n '& .bg-teal-500': {\n backgroundColor: theme.palette.status.ok,\n },\n '& .bg-blue-500': {\n backgroundColor: theme.palette.info.main,\n },\n '& .bg-blue-400': {\n backgroundColor: theme.palette.info.light,\n },\n '& .bg-indigo-400': {\n backgroundColor: theme.palette.warning.main,\n },\n '& .text-teal-50': {\n color: theme.palette.status.ok,\n },\n '& .text-red-600': {\n color: theme.palette.error.main,\n },\n '& .text-orange-600': {\n color: theme.palette.warning.main,\n },\n '& .text-teal-500': {\n color: theme.palette.status.ok,\n },\n '& .text-blue-500': {\n color: theme.palette.info.main,\n },\n '& .-rotate-90': {\n '--tw-rotate': '0deg',\n },\n '& button': {\n ...theme.typography.button,\n borderRadius: theme.shape.borderRadius,\n color: theme.palette.primary.main,\n },\n '& a': {\n color: theme.palette.link,\n },\n '& a.no-underline': {\n ...theme.typography.button,\n background: 'none',\n boxSizing: 'border-box',\n minWidth: 64,\n borderRadius: theme.shape.borderRadius,\n transition: theme.transitions.create(\n ['background-color', 'box-shadow', 'border'],\n {\n duration: theme.transitions.duration.short,\n },\n ),\n padding: '5px 15px',\n color: theme.palette.primary.main,\n border: `1px solid ${alpha(theme.palette.primary.main, 0.5)}`,\n '&:hover': {\n textDecoration: 'none',\n border: `1px solid ${theme.palette.primary.main}`,\n backgroundColor: alpha(\n theme.palette.primary.main,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n '& li.no-underline': {\n '& a': {\n textDecoration: 'none',\n color: theme.palette.getContrastText(theme.palette.primary.main),\n },\n },\n },\n dark: {\n '& svg': {\n fill: theme.palette.text.primary,\n },\n '& .prose': {\n color: theme.palette.text.secondary,\n '& h3': {\n color: theme.palette.text.primary,\n },\n },\n '& .bg-gray-100, .bg-gray-200': {\n backgroundColor: theme.palette.background.default,\n },\n '& .text-gray-600': {\n color: theme.palette.grey['50'],\n },\n '& .text-gray-700': {\n color: theme.palette.grey['100'],\n },\n '& .panel--right': {\n background: darken(theme.palette.navigation.background, 0.1),\n },\n '& .examples': {\n backgroundColor: darken(theme.palette.navigation.background, 0.1),\n '& pre': {\n backgroundColor: darken(theme.palette.background.default, 0.2),\n },\n },\n },\n}));\n\nconst fetchResolver = {\n order: 199, // Use 199 as the built-in http resolver is 200\n canRead: /^https?:\\/\\//,\n async read(file: any) {\n const response = await fetch(file.url);\n return response.text();\n },\n};\n\nconst config = {\n parserOptions: {\n resolve: { fetch: fetchResolver },\n },\n};\n\ntype Props = {\n definition: string;\n};\n\nexport const AsyncApiDefinition = ({ definition }: Props): JSX.Element => {\n const classes = useStyles();\n const theme = useTheme();\n const classNames = `${classes.root} ${\n theme.palette.type === 'dark' ? classes.dark : ''\n }`;\n\n return (\n <div className={classNames}>\n <AsyncApi schema={definition} config={config} />\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -25,17 +25,16 @@ const useStyles = makeStyles(() => ({
|
|
|
25
25
|
const GraphQlDefinition = ({ definition }) => {
|
|
26
26
|
const classes = useStyles();
|
|
27
27
|
const schema = buildSchema(definition);
|
|
28
|
-
return /* @__PURE__ */ React.createElement("div", {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
})));
|
|
28
|
+
return /* @__PURE__ */ React.createElement("div", { className: classes.root }, /* @__PURE__ */ React.createElement("div", { className: classes.graphiQlWrapper }, /* @__PURE__ */ React.createElement(
|
|
29
|
+
GraphiQL,
|
|
30
|
+
{
|
|
31
|
+
fetcher: () => Promise.resolve(null),
|
|
32
|
+
schema,
|
|
33
|
+
docExplorerOpen: true,
|
|
34
|
+
defaultSecondaryEditorOpen: false
|
|
35
|
+
}
|
|
36
|
+
)));
|
|
38
37
|
};
|
|
39
38
|
|
|
40
39
|
export { GraphQlDefinition };
|
|
41
|
-
//# sourceMappingURL=GraphQlDefinition-
|
|
40
|
+
//# sourceMappingURL=GraphQlDefinition-a4a9f92e.esm.js.map
|
package/dist/esm/{GraphQlDefinition-b8afc092.esm.js.map → GraphQlDefinition-a4a9f92e.esm.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphQlDefinition-
|
|
1
|
+
{"version":3,"file":"GraphQlDefinition-a4a9f92e.esm.js","sources":["../../src/components/GraphQlDefinitionWidget/GraphQlDefinition.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { BackstageTheme } from '@backstage/theme';\nimport { makeStyles } from '@material-ui/core/styles';\nimport GraphiQL from 'graphiql';\nimport 'graphiql/graphiql.css';\nimport { buildSchema } from 'graphql';\nimport React from 'react';\n\nconst useStyles = makeStyles<BackstageTheme>(() => ({\n root: {\n height: '100%',\n display: 'flex',\n flexFlow: 'column nowrap',\n },\n graphiQlWrapper: {\n flex: 1,\n '@global': {\n '.graphiql-container': {\n boxSizing: 'initial',\n height: '100%',\n minHeight: '600px',\n flex: '1 1 auto',\n },\n },\n },\n}));\n\ntype Props = {\n definition: string;\n};\n\nexport const GraphQlDefinition = ({ definition }: Props) => {\n const classes = useStyles();\n const schema = buildSchema(definition);\n\n return (\n <div className={classes.root}>\n <div className={classes.graphiQlWrapper}>\n <GraphiQL\n fetcher={() => Promise.resolve(null) as any}\n schema={schema}\n docExplorerOpen\n defaultSecondaryEditorOpen={false}\n />\n </div>\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;AAuBA,MAAM,SAAA,GAAY,WAA2B,OAAO;AAAA,EAClD,IAAM,EAAA;AAAA,IACJ,MAAQ,EAAA,MAAA;AAAA,IACR,OAAS,EAAA,MAAA;AAAA,IACT,QAAU,EAAA,eAAA;AAAA,GACZ;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,CAAA;AAAA,IACN,SAAW,EAAA;AAAA,MACT,qBAAuB,EAAA;AAAA,QACrB,SAAW,EAAA,SAAA;AAAA,QACX,MAAQ,EAAA,MAAA;AAAA,QACR,SAAW,EAAA,OAAA;AAAA,QACX,IAAM,EAAA,UAAA;AAAA,OACR;AAAA,KACF;AAAA,GACF;AACF,CAAE,CAAA,CAAA,CAAA;AAMK,MAAM,iBAAoB,GAAA,CAAC,EAAE,UAAA,EAAwB,KAAA;AAC1D,EAAA,MAAM,UAAU,SAAU,EAAA,CAAA;AAC1B,EAAM,MAAA,MAAA,GAAS,YAAY,UAAU,CAAA,CAAA;AAErC,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,SAAI,SAAW,EAAA,OAAA,CAAQ,wBACrB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,OAAA,CAAQ,eACtB,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,OAAS,EAAA,MAAM,OAAQ,CAAA,OAAA,CAAQ,IAAI,CAAA;AAAA,MACnC,MAAA;AAAA,MACA,eAAe,EAAA,IAAA;AAAA,MACf,0BAA4B,EAAA,KAAA;AAAA,KAAA;AAAA,GAEhC,CACF,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -120,14 +120,8 @@ const OpenApiDefinition = ({ definition }) => {
|
|
|
120
120
|
const timer = setTimeout(() => setDef(definition), 0);
|
|
121
121
|
return () => clearTimeout(timer);
|
|
122
122
|
}, [definition, setDef]);
|
|
123
|
-
return /* @__PURE__ */ React.createElement("div", {
|
|
124
|
-
className: classes.root
|
|
125
|
-
}, /* @__PURE__ */ React.createElement(SwaggerUI, {
|
|
126
|
-
spec: def,
|
|
127
|
-
url: "",
|
|
128
|
-
deepLinking: true
|
|
129
|
-
}));
|
|
123
|
+
return /* @__PURE__ */ React.createElement("div", { className: classes.root }, /* @__PURE__ */ React.createElement(SwaggerUI, { spec: def, url: "", deepLinking: true }));
|
|
130
124
|
};
|
|
131
125
|
|
|
132
126
|
export { OpenApiDefinition };
|
|
133
|
-
//# sourceMappingURL=OpenApiDefinition-
|
|
127
|
+
//# sourceMappingURL=OpenApiDefinition-cbea0eb2.esm.js.map
|
package/dist/esm/{OpenApiDefinition-c48cabce.esm.js.map → OpenApiDefinition-cbea0eb2.esm.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenApiDefinition-
|
|
1
|
+
{"version":3,"file":"OpenApiDefinition-cbea0eb2.esm.js","sources":["../../src/components/OpenApiDefinitionWidget/OpenApiDefinition.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { makeStyles } from '@material-ui/core/styles';\nimport React, { useEffect, useState } from 'react';\nimport SwaggerUI from 'swagger-ui-react';\nimport 'swagger-ui-react/swagger-ui.css';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n '& .swagger-ui': {\n fontFamily: theme.typography.fontFamily,\n color: theme.palette.text.primary,\n\n [`& .scheme-container`]: {\n backgroundColor: theme.palette.background.default,\n },\n [`& .opblock-tag,\n .opblock-tag small,\n table thead tr td,\n table thead tr th`]: {\n fontFamily: theme.typography.fontFamily,\n color: theme.palette.text.primary,\n borderColor: theme.palette.divider,\n },\n [`& section.models,\n section.models.is-open h4`]: {\n borderColor: theme.palette.divider,\n },\n [`& .model-title,\n .model .renderedMarkdown,\n .model .description`]: {\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightRegular,\n },\n [`& h1, h2, h3, h4, h5, h6,\n .errors h4, .error h4, .opblock h4, section.models h4,\n .response-control-media-type__accept-message,\n .opblock-summary-description,\n .opblock-summary-operation-id,\n .opblock-summary-path,\n .opblock-summary-path__deprecated,\n .opblock-description-wrapper,\n .opblock-external-docs-wrapper,\n .opblock-section-header .btn,\n .opblock-section-header>label,\n .scheme-container .schemes>label,a.nostyle,\n .parameter__name,\n .response-col_status,\n .response-col_links,\n .error .btn,\n .info .title,\n .info .base-url`]: {\n fontFamily: theme.typography.fontFamily,\n color: theme.palette.text.primary,\n },\n [`& .opblock .opblock-section-header,\n .model-box,\n section.models .model-container`]: {\n background: theme.palette.background.default,\n },\n [`& .prop-format,\n .parameter__in`]: {\n color: theme.palette.text.disabled,\n },\n [`& table.model,\n .parameter__type,\n .model.model-title,\n .model-title,\n .model span,\n .model .brace-open,\n .model .brace-close,\n .model .property.primitive,\n .model .renderedMarkdown,\n .model .description,\n .errors small`]: {\n color: theme.palette.text.secondary,\n },\n [`& .parameter__name.required:after`]: {\n color: theme.palette.warning.dark,\n },\n [`& table.model,\n table.model .model,\n .opblock-external-docs-wrapper`]: {\n fontSize: theme.typography.fontSize,\n },\n [`& table.headers td`]: {\n color: theme.palette.text.primary,\n fontWeight: theme.typography.fontWeightRegular,\n },\n [`& .model-hint`]: {\n color: theme.palette.text.hint,\n backgroundColor: theme.palette.background.paper,\n },\n [`& .opblock-summary-method,\n .info a`]: {\n fontFamily: theme.typography.fontFamily,\n },\n [`& .info, .opblock, .tab`]: {\n [`& li, p`]: {\n fontFamily: theme.typography.fontFamily,\n color: theme.palette.text.primary,\n },\n },\n [`& a`]: {\n color: theme.palette.primary.main,\n },\n [`& .renderedMarkdown code`]: {\n color: theme.palette.secondary.light,\n },\n [`& .property-row td:first-child`]: {\n color: theme.palette.text.primary,\n },\n [`& span.prop-type`]: {\n color: theme.palette.success.light,\n },\n },\n },\n}));\n\nexport type OpenApiDefinitionProps = {\n definition: string;\n};\n\nexport const OpenApiDefinition = ({ definition }: OpenApiDefinitionProps) => {\n const classes = useStyles();\n\n // Due to a bug in the swagger-ui-react component, the component needs\n // to be created without content first.\n const [def, setDef] = useState('');\n\n useEffect(() => {\n const timer = setTimeout(() => setDef(definition), 0);\n return () => clearTimeout(timer);\n }, [definition, setDef]);\n\n return (\n <div className={classes.root}>\n <SwaggerUI spec={def} url=\"\" deepLinking />\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-093b746d.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-6ac32cc4.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-e1d18da9.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-fd0a3b4e.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
package/dist/index.esm.js
CHANGED
|
@@ -33,32 +33,33 @@ const DefaultApiExplorerPage = (props) => {
|
|
|
33
33
|
const configApi = useApi(configApiRef);
|
|
34
34
|
const generatedSubtitle = `${(_a = configApi.getOptionalString("organization.name")) != null ? _a : "Backstage"} API Explorer`;
|
|
35
35
|
const registerComponentLink = useRouteRef(registerComponentRouteRef);
|
|
36
|
-
return /* @__PURE__ */ React.createElement(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
title: "
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
initialFilter: initiallySelectedFilter
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
36
|
+
return /* @__PURE__ */ React.createElement(
|
|
37
|
+
PageWithHeader,
|
|
38
|
+
{
|
|
39
|
+
themeId: "apis",
|
|
40
|
+
title: "APIs",
|
|
41
|
+
subtitle: generatedSubtitle,
|
|
42
|
+
pageTitleOverride: "APIs"
|
|
43
|
+
},
|
|
44
|
+
/* @__PURE__ */ React.createElement(Content, null, /* @__PURE__ */ React.createElement(ContentHeader, { title: "" }, /* @__PURE__ */ React.createElement(
|
|
45
|
+
CreateButton,
|
|
46
|
+
{
|
|
47
|
+
title: "Register Existing API",
|
|
48
|
+
to: registerComponentLink == null ? void 0 : registerComponentLink()
|
|
49
|
+
}
|
|
50
|
+
), /* @__PURE__ */ React.createElement(SupportButton, null, "All your APIs")), /* @__PURE__ */ React.createElement(EntityListProvider, null, /* @__PURE__ */ React.createElement(CatalogFilterLayout, null, /* @__PURE__ */ React.createElement(CatalogFilterLayout.Filters, null, /* @__PURE__ */ React.createElement(EntityKindPicker, { initialFilter: "api", hidden: true }), /* @__PURE__ */ React.createElement(EntityTypePicker, null), /* @__PURE__ */ React.createElement(UserListPicker, { initialFilter: initiallySelectedFilter }), /* @__PURE__ */ React.createElement(EntityOwnerPicker, null), /* @__PURE__ */ React.createElement(EntityLifecyclePicker, null), /* @__PURE__ */ React.createElement(EntityTagPicker, null)), /* @__PURE__ */ React.createElement(CatalogFilterLayout.Content, null, /* @__PURE__ */ React.createElement(
|
|
51
|
+
CatalogTable,
|
|
52
|
+
{
|
|
53
|
+
columns: columns || defaultColumns,
|
|
54
|
+
actions
|
|
55
|
+
}
|
|
56
|
+
)))))
|
|
57
|
+
);
|
|
55
58
|
};
|
|
56
59
|
|
|
57
60
|
const ApiExplorerPage$1 = (props) => {
|
|
58
61
|
const outlet = useOutlet();
|
|
59
|
-
return outlet || /* @__PURE__ */ React.createElement(DefaultApiExplorerPage, {
|
|
60
|
-
...props
|
|
61
|
-
});
|
|
62
|
+
return outlet || /* @__PURE__ */ React.createElement(DefaultApiExplorerPage, { ...props });
|
|
62
63
|
};
|
|
63
64
|
|
|
64
65
|
const apiDocsConfigRef = createApiRef({
|
|
@@ -66,11 +67,14 @@ const apiDocsConfigRef = createApiRef({
|
|
|
66
67
|
});
|
|
67
68
|
|
|
68
69
|
const PlainApiDefinitionWidget = (props) => {
|
|
69
|
-
return /* @__PURE__ */ React.createElement(
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
return /* @__PURE__ */ React.createElement(
|
|
71
|
+
CodeSnippet,
|
|
72
|
+
{
|
|
73
|
+
text: props.definition,
|
|
74
|
+
language: props.language,
|
|
75
|
+
showCopyCodeButton: true
|
|
76
|
+
}
|
|
77
|
+
);
|
|
74
78
|
};
|
|
75
79
|
|
|
76
80
|
const ApiDefinitionCard = () => {
|
|
@@ -79,87 +83,74 @@ const ApiDefinitionCard = () => {
|
|
|
79
83
|
const config = useApi(apiDocsConfigRef);
|
|
80
84
|
const { getApiDefinitionWidget } = config;
|
|
81
85
|
if (!entity) {
|
|
82
|
-
return /* @__PURE__ */ React.createElement(Alert, {
|
|
83
|
-
severity: "error"
|
|
84
|
-
}, "Could not fetch the API");
|
|
86
|
+
return /* @__PURE__ */ React.createElement(Alert, { severity: "error" }, "Could not fetch the API");
|
|
85
87
|
}
|
|
86
88
|
const definitionWidget = getApiDefinitionWidget(entity);
|
|
87
89
|
const entityTitle = (_a = entity.metadata.title) != null ? _a : entity.metadata.name;
|
|
88
90
|
if (definitionWidget) {
|
|
89
|
-
return /* @__PURE__ */ React.createElement(TabbedCard, {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
label: definitionWidget.title,
|
|
93
|
-
key: "widget"
|
|
94
|
-
}, definitionWidget.component(entity.spec.definition)), /* @__PURE__ */ React.createElement(CardTab, {
|
|
95
|
-
label: "Raw",
|
|
96
|
-
key: "raw"
|
|
97
|
-
}, /* @__PURE__ */ React.createElement(PlainApiDefinitionWidget, {
|
|
98
|
-
definition: entity.spec.definition,
|
|
99
|
-
language: definitionWidget.rawLanguage || entity.spec.type
|
|
100
|
-
})));
|
|
101
|
-
}
|
|
102
|
-
return /* @__PURE__ */ React.createElement(TabbedCard, {
|
|
103
|
-
title: entityTitle,
|
|
104
|
-
children: [
|
|
105
|
-
/* @__PURE__ */ React.createElement(CardTab, {
|
|
106
|
-
label: entity.spec.type,
|
|
107
|
-
key: "raw"
|
|
108
|
-
}, /* @__PURE__ */ React.createElement(PlainApiDefinitionWidget, {
|
|
91
|
+
return /* @__PURE__ */ React.createElement(TabbedCard, { title: entityTitle }, /* @__PURE__ */ React.createElement(CardTab, { label: definitionWidget.title, key: "widget" }, definitionWidget.component(entity.spec.definition)), /* @__PURE__ */ React.createElement(CardTab, { label: "Raw", key: "raw" }, /* @__PURE__ */ React.createElement(
|
|
92
|
+
PlainApiDefinitionWidget,
|
|
93
|
+
{
|
|
109
94
|
definition: entity.spec.definition,
|
|
110
|
-
language: entity.spec.type
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
}
|
|
95
|
+
language: definitionWidget.rawLanguage || entity.spec.type
|
|
96
|
+
}
|
|
97
|
+
)));
|
|
98
|
+
}
|
|
99
|
+
return /* @__PURE__ */ React.createElement(
|
|
100
|
+
TabbedCard,
|
|
101
|
+
{
|
|
102
|
+
title: entityTitle,
|
|
103
|
+
children: [
|
|
104
|
+
/* @__PURE__ */ React.createElement(CardTab, { label: entity.spec.type, key: "raw" }, /* @__PURE__ */ React.createElement(
|
|
105
|
+
PlainApiDefinitionWidget,
|
|
106
|
+
{
|
|
107
|
+
definition: entity.spec.definition,
|
|
108
|
+
language: entity.spec.type
|
|
109
|
+
}
|
|
110
|
+
))
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
);
|
|
114
114
|
};
|
|
115
115
|
|
|
116
116
|
const LazyAsyncApiDefinition = React.lazy(
|
|
117
|
-
() => import('./esm/AsyncApiDefinition-
|
|
117
|
+
() => import('./esm/AsyncApiDefinition-f7878ded.esm.js').then((m) => ({
|
|
118
118
|
default: m.AsyncApiDefinition
|
|
119
119
|
}))
|
|
120
120
|
);
|
|
121
121
|
const AsyncApiDefinitionWidget = (props) => {
|
|
122
|
-
return /* @__PURE__ */ React.createElement(Suspense, {
|
|
123
|
-
fallback: /* @__PURE__ */ React.createElement(Progress, null)
|
|
124
|
-
}, /* @__PURE__ */ React.createElement(LazyAsyncApiDefinition, {
|
|
125
|
-
...props
|
|
126
|
-
}));
|
|
122
|
+
return /* @__PURE__ */ React.createElement(Suspense, { fallback: /* @__PURE__ */ React.createElement(Progress, null) }, /* @__PURE__ */ React.createElement(LazyAsyncApiDefinition, { ...props }));
|
|
127
123
|
};
|
|
128
124
|
|
|
129
125
|
const LazyGraphQlDefinition = React.lazy(
|
|
130
|
-
() => import('./esm/GraphQlDefinition-
|
|
126
|
+
() => import('./esm/GraphQlDefinition-a4a9f92e.esm.js').then((m) => ({
|
|
131
127
|
default: m.GraphQlDefinition
|
|
132
128
|
}))
|
|
133
129
|
);
|
|
134
130
|
const GraphQlDefinitionWidget = (props) => {
|
|
135
|
-
return /* @__PURE__ */ React.createElement(Suspense, {
|
|
136
|
-
fallback: /* @__PURE__ */ React.createElement(Progress, null)
|
|
137
|
-
}, /* @__PURE__ */ React.createElement(LazyGraphQlDefinition, {
|
|
138
|
-
...props
|
|
139
|
-
}));
|
|
131
|
+
return /* @__PURE__ */ React.createElement(Suspense, { fallback: /* @__PURE__ */ React.createElement(Progress, null) }, /* @__PURE__ */ React.createElement(LazyGraphQlDefinition, { ...props }));
|
|
140
132
|
};
|
|
141
133
|
|
|
142
134
|
const LazyOpenApiDefinition = React.lazy(
|
|
143
|
-
() => import('./esm/OpenApiDefinition-
|
|
135
|
+
() => import('./esm/OpenApiDefinition-cbea0eb2.esm.js').then((m) => ({
|
|
144
136
|
default: m.OpenApiDefinition
|
|
145
137
|
}))
|
|
146
138
|
);
|
|
147
139
|
const OpenApiDefinitionWidget = (props) => {
|
|
148
|
-
return /* @__PURE__ */ React.createElement(Suspense, {
|
|
149
|
-
fallback: /* @__PURE__ */ React.createElement(Progress, null)
|
|
150
|
-
}, /* @__PURE__ */ React.createElement(LazyOpenApiDefinition, {
|
|
151
|
-
...props
|
|
152
|
-
}));
|
|
140
|
+
return /* @__PURE__ */ React.createElement(Suspense, { fallback: /* @__PURE__ */ React.createElement(Progress, null) }, /* @__PURE__ */ React.createElement(LazyOpenApiDefinition, { ...props }));
|
|
153
141
|
};
|
|
154
142
|
|
|
155
143
|
const GrpcApiDefinitionWidget = (props) => {
|
|
156
144
|
const theme = useTheme();
|
|
157
|
-
return /* @__PURE__ */ React.createElement(
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
145
|
+
return /* @__PURE__ */ React.createElement(
|
|
146
|
+
CodeSnippet,
|
|
147
|
+
{
|
|
148
|
+
customStyle: { backgroundColor: theme.palette.background.default },
|
|
149
|
+
text: props.definition,
|
|
150
|
+
language: "protobuf",
|
|
151
|
+
showCopyCodeButton: true
|
|
152
|
+
}
|
|
153
|
+
);
|
|
163
154
|
};
|
|
164
155
|
|
|
165
156
|
function defaultDefinitionWidgets() {
|
|
@@ -168,32 +159,24 @@ function defaultDefinitionWidgets() {
|
|
|
168
159
|
type: "openapi",
|
|
169
160
|
title: "OpenAPI",
|
|
170
161
|
rawLanguage: "yaml",
|
|
171
|
-
component: (definition) => /* @__PURE__ */ React.createElement(OpenApiDefinitionWidget, {
|
|
172
|
-
definition
|
|
173
|
-
})
|
|
162
|
+
component: (definition) => /* @__PURE__ */ React.createElement(OpenApiDefinitionWidget, { definition })
|
|
174
163
|
},
|
|
175
164
|
{
|
|
176
165
|
type: "asyncapi",
|
|
177
166
|
title: "AsyncAPI",
|
|
178
167
|
rawLanguage: "yaml",
|
|
179
|
-
component: (definition) => /* @__PURE__ */ React.createElement(AsyncApiDefinitionWidget, {
|
|
180
|
-
definition
|
|
181
|
-
})
|
|
168
|
+
component: (definition) => /* @__PURE__ */ React.createElement(AsyncApiDefinitionWidget, { definition })
|
|
182
169
|
},
|
|
183
170
|
{
|
|
184
171
|
type: "graphql",
|
|
185
172
|
title: "GraphQL",
|
|
186
173
|
rawLanguage: "graphql",
|
|
187
|
-
component: (definition) => /* @__PURE__ */ React.createElement(GraphQlDefinitionWidget, {
|
|
188
|
-
definition
|
|
189
|
-
})
|
|
174
|
+
component: (definition) => /* @__PURE__ */ React.createElement(GraphQlDefinitionWidget, { definition })
|
|
190
175
|
},
|
|
191
176
|
{
|
|
192
177
|
type: "grpc",
|
|
193
178
|
title: "gRPC",
|
|
194
|
-
component: (definition) => /* @__PURE__ */ React.createElement(GrpcApiDefinitionWidget, {
|
|
195
|
-
definition
|
|
196
|
-
})
|
|
179
|
+
component: (definition) => /* @__PURE__ */ React.createElement(GrpcApiDefinitionWidget, { definition })
|
|
197
180
|
}
|
|
198
181
|
];
|
|
199
182
|
}
|
|
@@ -210,9 +193,7 @@ function createSpecApiTypeColumn() {
|
|
|
210
193
|
return {
|
|
211
194
|
title: "Type",
|
|
212
195
|
field: "spec.type",
|
|
213
|
-
render: (entity) => /* @__PURE__ */ React.createElement(ApiTypeTitle, {
|
|
214
|
-
apiEntity: entity
|
|
215
|
-
})
|
|
196
|
+
render: (entity) => /* @__PURE__ */ React.createElement(ApiTypeTitle, { apiEntity: entity })
|
|
216
197
|
};
|
|
217
198
|
}
|
|
218
199
|
const apiEntityColumns = [
|
|
@@ -231,39 +212,28 @@ const ConsumedApisCard = (props) => {
|
|
|
231
212
|
type: RELATION_CONSUMES_API
|
|
232
213
|
});
|
|
233
214
|
if (loading) {
|
|
234
|
-
return /* @__PURE__ */ React.createElement(InfoCard, {
|
|
235
|
-
variant,
|
|
236
|
-
title: "Consumed APIs"
|
|
237
|
-
}, /* @__PURE__ */ React.createElement(Progress, null));
|
|
215
|
+
return /* @__PURE__ */ React.createElement(InfoCard, { variant, title: "Consumed APIs" }, /* @__PURE__ */ React.createElement(Progress, null));
|
|
238
216
|
}
|
|
239
217
|
if (error || !entities) {
|
|
240
|
-
return /* @__PURE__ */ React.createElement(InfoCard, {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
language: "text"
|
|
249
|
-
})
|
|
250
|
-
}));
|
|
218
|
+
return /* @__PURE__ */ React.createElement(InfoCard, { variant, title: "Consumed APIs" }, /* @__PURE__ */ React.createElement(
|
|
219
|
+
WarningPanel,
|
|
220
|
+
{
|
|
221
|
+
severity: "error",
|
|
222
|
+
title: "Could not load APIs",
|
|
223
|
+
message: /* @__PURE__ */ React.createElement(CodeSnippet, { text: `${error}`, language: "text" })
|
|
224
|
+
}
|
|
225
|
+
));
|
|
251
226
|
}
|
|
252
|
-
return /* @__PURE__ */ React.createElement(
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
to: "https://backstage.io/docs/features/software-catalog/descriptor-format#specconsumesapis-optional"
|
|
263
|
-
}, "Learn how to change this."))),
|
|
264
|
-
columns: apiEntityColumns,
|
|
265
|
-
entities
|
|
266
|
-
});
|
|
227
|
+
return /* @__PURE__ */ React.createElement(
|
|
228
|
+
EntityTable,
|
|
229
|
+
{
|
|
230
|
+
title: "Consumed APIs",
|
|
231
|
+
variant,
|
|
232
|
+
emptyContent: /* @__PURE__ */ React.createElement("div", { style: { textAlign: "center" } }, /* @__PURE__ */ React.createElement(Typography, { variant: "body1" }, "This ", entity.kind.toLocaleLowerCase("en-US"), " does not consume any APIs."), /* @__PURE__ */ React.createElement(Typography, { variant: "body2" }, /* @__PURE__ */ React.createElement(Link, { to: "https://backstage.io/docs/features/software-catalog/descriptor-format#specconsumesapis-optional" }, "Learn how to change this."))),
|
|
233
|
+
columns: apiEntityColumns,
|
|
234
|
+
entities
|
|
235
|
+
}
|
|
236
|
+
);
|
|
267
237
|
};
|
|
268
238
|
|
|
269
239
|
const columns = [
|
|
@@ -281,39 +251,28 @@ const HasApisCard = (props) => {
|
|
|
281
251
|
kind: "API"
|
|
282
252
|
});
|
|
283
253
|
if (loading) {
|
|
284
|
-
return /* @__PURE__ */ React.createElement(InfoCard, {
|
|
285
|
-
variant,
|
|
286
|
-
title: "APIs"
|
|
287
|
-
}, /* @__PURE__ */ React.createElement(Progress, null));
|
|
254
|
+
return /* @__PURE__ */ React.createElement(InfoCard, { variant, title: "APIs" }, /* @__PURE__ */ React.createElement(Progress, null));
|
|
288
255
|
}
|
|
289
256
|
if (error || !entities) {
|
|
290
|
-
return /* @__PURE__ */ React.createElement(InfoCard, {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
language: "text"
|
|
299
|
-
})
|
|
300
|
-
}));
|
|
257
|
+
return /* @__PURE__ */ React.createElement(InfoCard, { variant, title: "APIs" }, /* @__PURE__ */ React.createElement(
|
|
258
|
+
WarningPanel,
|
|
259
|
+
{
|
|
260
|
+
severity: "error",
|
|
261
|
+
title: "Could not load APIs",
|
|
262
|
+
message: /* @__PURE__ */ React.createElement(CodeSnippet, { text: `${error}`, language: "text" })
|
|
263
|
+
}
|
|
264
|
+
));
|
|
301
265
|
}
|
|
302
|
-
return /* @__PURE__ */ React.createElement(
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
to: "https://backstage.io/docs/features/software-catalog/descriptor-format#kind-api"
|
|
313
|
-
}, "Learn how to change this."))),
|
|
314
|
-
columns,
|
|
315
|
-
entities
|
|
316
|
-
});
|
|
266
|
+
return /* @__PURE__ */ React.createElement(
|
|
267
|
+
EntityTable,
|
|
268
|
+
{
|
|
269
|
+
title: "APIs",
|
|
270
|
+
variant,
|
|
271
|
+
emptyContent: /* @__PURE__ */ React.createElement("div", { style: { textAlign: "center" } }, /* @__PURE__ */ React.createElement(Typography, { variant: "body1" }, "This ", entity.kind.toLocaleLowerCase("en-US"), " does not contain any APIs."), /* @__PURE__ */ React.createElement(Typography, { variant: "body2" }, /* @__PURE__ */ React.createElement(Link, { to: "https://backstage.io/docs/features/software-catalog/descriptor-format#kind-api" }, "Learn how to change this."))),
|
|
272
|
+
columns,
|
|
273
|
+
entities
|
|
274
|
+
}
|
|
275
|
+
);
|
|
317
276
|
};
|
|
318
277
|
|
|
319
278
|
const ProvidedApisCard = (props) => {
|
|
@@ -323,39 +282,28 @@ const ProvidedApisCard = (props) => {
|
|
|
323
282
|
type: RELATION_PROVIDES_API
|
|
324
283
|
});
|
|
325
284
|
if (loading) {
|
|
326
|
-
return /* @__PURE__ */ React.createElement(InfoCard, {
|
|
327
|
-
variant,
|
|
328
|
-
title: "Provided APIs"
|
|
329
|
-
}, /* @__PURE__ */ React.createElement(Progress, null));
|
|
285
|
+
return /* @__PURE__ */ React.createElement(InfoCard, { variant, title: "Provided APIs" }, /* @__PURE__ */ React.createElement(Progress, null));
|
|
330
286
|
}
|
|
331
287
|
if (error || !entities) {
|
|
332
|
-
return /* @__PURE__ */ React.createElement(InfoCard, {
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
language: "text"
|
|
341
|
-
})
|
|
342
|
-
}));
|
|
288
|
+
return /* @__PURE__ */ React.createElement(InfoCard, { variant, title: "Provided APIs" }, /* @__PURE__ */ React.createElement(
|
|
289
|
+
WarningPanel,
|
|
290
|
+
{
|
|
291
|
+
severity: "error",
|
|
292
|
+
title: "Could not load APIs",
|
|
293
|
+
message: /* @__PURE__ */ React.createElement(CodeSnippet, { text: `${error}`, language: "text" })
|
|
294
|
+
}
|
|
295
|
+
));
|
|
343
296
|
}
|
|
344
|
-
return /* @__PURE__ */ React.createElement(
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
to: "https://backstage.io/docs/features/software-catalog/descriptor-format#specprovidesapis-optional"
|
|
355
|
-
}, "Learn how to change this."))),
|
|
356
|
-
columns: apiEntityColumns,
|
|
357
|
-
entities
|
|
358
|
-
});
|
|
297
|
+
return /* @__PURE__ */ React.createElement(
|
|
298
|
+
EntityTable,
|
|
299
|
+
{
|
|
300
|
+
title: "Provided APIs",
|
|
301
|
+
variant,
|
|
302
|
+
emptyContent: /* @__PURE__ */ React.createElement("div", { style: { textAlign: "center" } }, /* @__PURE__ */ React.createElement(Typography, { variant: "body1" }, "This ", entity.kind.toLocaleLowerCase("en-US"), " does not provide any APIs."), /* @__PURE__ */ React.createElement(Typography, { variant: "body2" }, /* @__PURE__ */ React.createElement(Link, { to: "https://backstage.io/docs/features/software-catalog/descriptor-format#specprovidesapis-optional" }, "Learn how to change this."))),
|
|
303
|
+
columns: apiEntityColumns,
|
|
304
|
+
entities
|
|
305
|
+
}
|
|
306
|
+
);
|
|
359
307
|
};
|
|
360
308
|
|
|
361
309
|
const ConsumingComponentsCard = (props) => {
|
|
@@ -365,39 +313,28 @@ const ConsumingComponentsCard = (props) => {
|
|
|
365
313
|
type: RELATION_API_CONSUMED_BY
|
|
366
314
|
});
|
|
367
315
|
if (loading) {
|
|
368
|
-
return /* @__PURE__ */ React.createElement(InfoCard, {
|
|
369
|
-
variant,
|
|
370
|
-
title: "Consumers"
|
|
371
|
-
}, /* @__PURE__ */ React.createElement(Progress, null));
|
|
316
|
+
return /* @__PURE__ */ React.createElement(InfoCard, { variant, title: "Consumers" }, /* @__PURE__ */ React.createElement(Progress, null));
|
|
372
317
|
}
|
|
373
318
|
if (error || !entities) {
|
|
374
|
-
return /* @__PURE__ */ React.createElement(InfoCard, {
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
language: "text"
|
|
383
|
-
})
|
|
384
|
-
}));
|
|
319
|
+
return /* @__PURE__ */ React.createElement(InfoCard, { variant, title: "Consumers" }, /* @__PURE__ */ React.createElement(
|
|
320
|
+
WarningPanel,
|
|
321
|
+
{
|
|
322
|
+
severity: "error",
|
|
323
|
+
title: "Could not load components",
|
|
324
|
+
message: /* @__PURE__ */ React.createElement(CodeSnippet, { text: `${error}`, language: "text" })
|
|
325
|
+
}
|
|
326
|
+
));
|
|
385
327
|
}
|
|
386
|
-
return /* @__PURE__ */ React.createElement(
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
to: "https://backstage.io/docs/features/software-catalog/descriptor-format#specconsumesapis-optional"
|
|
397
|
-
}, "Learn how to change this."))),
|
|
398
|
-
columns: EntityTable.componentEntityColumns,
|
|
399
|
-
entities
|
|
400
|
-
});
|
|
328
|
+
return /* @__PURE__ */ React.createElement(
|
|
329
|
+
EntityTable,
|
|
330
|
+
{
|
|
331
|
+
title: "Consumers",
|
|
332
|
+
variant,
|
|
333
|
+
emptyContent: /* @__PURE__ */ React.createElement("div", { style: { textAlign: "center" } }, /* @__PURE__ */ React.createElement(Typography, { variant: "body1" }, "No component consumes this API."), /* @__PURE__ */ React.createElement(Typography, { variant: "body2" }, /* @__PURE__ */ React.createElement(Link, { to: "https://backstage.io/docs/features/software-catalog/descriptor-format#specconsumesapis-optional" }, "Learn how to change this."))),
|
|
334
|
+
columns: EntityTable.componentEntityColumns,
|
|
335
|
+
entities
|
|
336
|
+
}
|
|
337
|
+
);
|
|
401
338
|
};
|
|
402
339
|
|
|
403
340
|
const ProvidingComponentsCard = (props) => {
|
|
@@ -407,39 +344,28 @@ const ProvidingComponentsCard = (props) => {
|
|
|
407
344
|
type: RELATION_API_PROVIDED_BY
|
|
408
345
|
});
|
|
409
346
|
if (loading) {
|
|
410
|
-
return /* @__PURE__ */ React.createElement(InfoCard, {
|
|
411
|
-
variant,
|
|
412
|
-
title: "Providers"
|
|
413
|
-
}, /* @__PURE__ */ React.createElement(Progress, null));
|
|
347
|
+
return /* @__PURE__ */ React.createElement(InfoCard, { variant, title: "Providers" }, /* @__PURE__ */ React.createElement(Progress, null));
|
|
414
348
|
}
|
|
415
349
|
if (error || !entities) {
|
|
416
|
-
return /* @__PURE__ */ React.createElement(InfoCard, {
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
language: "text"
|
|
425
|
-
})
|
|
426
|
-
}));
|
|
350
|
+
return /* @__PURE__ */ React.createElement(InfoCard, { variant, title: "Providers" }, /* @__PURE__ */ React.createElement(
|
|
351
|
+
WarningPanel,
|
|
352
|
+
{
|
|
353
|
+
severity: "error",
|
|
354
|
+
title: "Could not load components",
|
|
355
|
+
message: /* @__PURE__ */ React.createElement(CodeSnippet, { text: `${error}`, language: "text" })
|
|
356
|
+
}
|
|
357
|
+
));
|
|
427
358
|
}
|
|
428
|
-
return /* @__PURE__ */ React.createElement(
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
to: "https://backstage.io/docs/features/software-catalog/descriptor-format#specprovidesapis-optional"
|
|
439
|
-
}, "Learn how to change this."))),
|
|
440
|
-
columns: EntityTable.componentEntityColumns,
|
|
441
|
-
entities
|
|
442
|
-
});
|
|
359
|
+
return /* @__PURE__ */ React.createElement(
|
|
360
|
+
EntityTable,
|
|
361
|
+
{
|
|
362
|
+
title: "Providers",
|
|
363
|
+
variant,
|
|
364
|
+
emptyContent: /* @__PURE__ */ React.createElement("div", { style: { textAlign: "center" } }, /* @__PURE__ */ React.createElement(Typography, { variant: "body1" }, "No component provides this API."), /* @__PURE__ */ React.createElement(Typography, { variant: "body2" }, /* @__PURE__ */ React.createElement(Link, { to: "https://backstage.io/docs/features/software-catalog/descriptor-format#specprovidesapis-optional" }, "Learn how to change this."))),
|
|
365
|
+
columns: EntityTable.componentEntityColumns,
|
|
366
|
+
entities
|
|
367
|
+
}
|
|
368
|
+
);
|
|
443
369
|
};
|
|
444
370
|
|
|
445
371
|
const apiDocsPlugin = createPlugin({
|
|
@@ -468,7 +394,7 @@ const apiDocsPlugin = createPlugin({
|
|
|
468
394
|
const ApiExplorerPage = apiDocsPlugin.provide(
|
|
469
395
|
createRoutableExtension({
|
|
470
396
|
name: "ApiExplorerPage",
|
|
471
|
-
component: () => import('./esm/index-
|
|
397
|
+
component: () => import('./esm/index-fd0a3b4e.esm.js').then((m) => m.ApiExplorerIndexPage),
|
|
472
398
|
mountPoint: rootRoute
|
|
473
399
|
})
|
|
474
400
|
);
|
|
@@ -476,7 +402,7 @@ const EntityApiDefinitionCard = apiDocsPlugin.provide(
|
|
|
476
402
|
createComponentExtension({
|
|
477
403
|
name: "EntityApiDefinitionCard",
|
|
478
404
|
component: {
|
|
479
|
-
lazy: () => import('./esm/index-
|
|
405
|
+
lazy: () => import('./esm/index-093b746d.esm.js').then((m) => m.ApiDefinitionCard)
|
|
480
406
|
}
|
|
481
407
|
})
|
|
482
408
|
);
|
|
@@ -484,7 +410,7 @@ const EntityConsumedApisCard = apiDocsPlugin.provide(
|
|
|
484
410
|
createComponentExtension({
|
|
485
411
|
name: "EntityConsumedApisCard",
|
|
486
412
|
component: {
|
|
487
|
-
lazy: () => import('./esm/index-
|
|
413
|
+
lazy: () => import('./esm/index-e1d18da9.esm.js').then((m) => m.ConsumedApisCard)
|
|
488
414
|
}
|
|
489
415
|
})
|
|
490
416
|
);
|
|
@@ -492,7 +418,7 @@ const EntityConsumingComponentsCard = apiDocsPlugin.provide(
|
|
|
492
418
|
createComponentExtension({
|
|
493
419
|
name: "EntityConsumingComponentsCard",
|
|
494
420
|
component: {
|
|
495
|
-
lazy: () => import('./esm/index-
|
|
421
|
+
lazy: () => import('./esm/index-6ac32cc4.esm.js').then(
|
|
496
422
|
(m) => m.ConsumingComponentsCard
|
|
497
423
|
)
|
|
498
424
|
}
|
|
@@ -502,7 +428,7 @@ const EntityProvidedApisCard = apiDocsPlugin.provide(
|
|
|
502
428
|
createComponentExtension({
|
|
503
429
|
name: "EntityProvidedApisCard",
|
|
504
430
|
component: {
|
|
505
|
-
lazy: () => import('./esm/index-
|
|
431
|
+
lazy: () => import('./esm/index-e1d18da9.esm.js').then((m) => m.ProvidedApisCard)
|
|
506
432
|
}
|
|
507
433
|
})
|
|
508
434
|
);
|
|
@@ -510,7 +436,7 @@ const EntityProvidingComponentsCard = apiDocsPlugin.provide(
|
|
|
510
436
|
createComponentExtension({
|
|
511
437
|
name: "EntityProvidingComponentsCard",
|
|
512
438
|
component: {
|
|
513
|
-
lazy: () => import('./esm/index-
|
|
439
|
+
lazy: () => import('./esm/index-6ac32cc4.esm.js').then(
|
|
514
440
|
(m) => m.ProvidingComponentsCard
|
|
515
441
|
)
|
|
516
442
|
}
|
|
@@ -520,7 +446,7 @@ const EntityHasApisCard = apiDocsPlugin.provide(
|
|
|
520
446
|
createComponentExtension({
|
|
521
447
|
name: "EntityHasApisCard",
|
|
522
448
|
component: {
|
|
523
|
-
lazy: () => import('./esm/index-
|
|
449
|
+
lazy: () => import('./esm/index-e1d18da9.esm.js').then((m) => m.HasApisCard)
|
|
524
450
|
}
|
|
525
451
|
})
|
|
526
452
|
);
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/routes.ts","../src/components/ApiExplorerPage/DefaultApiExplorerPage.tsx","../src/components/ApiExplorerPage/ApiExplorerPage.tsx","../src/config.ts","../src/components/PlainApiDefinitionWidget/PlainApiDefinitionWidget.tsx","../src/components/ApiDefinitionCard/ApiDefinitionCard.tsx","../src/components/AsyncApiDefinitionWidget/AsyncApiDefinitionWidget.tsx","../src/components/GraphQlDefinitionWidget/GraphQlDefinitionWidget.tsx","../src/components/OpenApiDefinitionWidget/OpenApiDefinitionWidget.tsx","../src/components/GrpcApiDefinitionWidget/GrpcApiDefinitionWidget.tsx","../src/components/ApiDefinitionCard/ApiDefinitionWidget.tsx","../src/components/ApiDefinitionCard/ApiTypeTitle.tsx","../src/components/ApisCards/presets.tsx","../src/components/ApisCards/ConsumedApisCard.tsx","../src/components/ApisCards/HasApisCard.tsx","../src/components/ApisCards/ProvidedApisCard.tsx","../src/components/ComponentsCards/ConsumingComponentsCard.tsx","../src/components/ComponentsCards/ProvidingComponentsCard.tsx","../src/plugin.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n createExternalRouteRef,\n createRouteRef,\n} from '@backstage/core-plugin-api';\n\nexport const rootRoute = createRouteRef({\n id: 'api-docs',\n});\n\nexport const registerComponentRouteRef = createExternalRouteRef({\n id: 'register-component',\n optional: true,\n});\n","/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Content,\n ContentHeader,\n CreateButton,\n PageWithHeader,\n SupportButton,\n TableColumn,\n TableProps,\n} from '@backstage/core-components';\nimport { configApiRef, useApi, useRouteRef } from '@backstage/core-plugin-api';\nimport { CatalogTable, CatalogTableRow } from '@backstage/plugin-catalog';\nimport {\n EntityKindPicker,\n EntityLifecyclePicker,\n EntityListProvider,\n EntityOwnerPicker,\n EntityTagPicker,\n EntityTypePicker,\n UserListFilterKind,\n UserListPicker,\n CatalogFilterLayout,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport { registerComponentRouteRef } from '../../routes';\n\nconst defaultColumns: TableColumn<CatalogTableRow>[] = [\n CatalogTable.columns.createTitleColumn({ hidden: true }),\n CatalogTable.columns.createNameColumn({ defaultKind: 'API' }),\n CatalogTable.columns.createSystemColumn(),\n CatalogTable.columns.createOwnerColumn(),\n CatalogTable.columns.createSpecTypeColumn(),\n CatalogTable.columns.createSpecLifecycleColumn(),\n CatalogTable.columns.createMetadataDescriptionColumn(),\n CatalogTable.columns.createTagsColumn(),\n];\n\n/**\n * DefaultApiExplorerPageProps\n * @public\n */\nexport type DefaultApiExplorerPageProps = {\n initiallySelectedFilter?: UserListFilterKind;\n columns?: TableColumn<CatalogTableRow>[];\n actions?: TableProps<CatalogTableRow>['actions'];\n};\n\n/**\n * DefaultApiExplorerPage\n * @public\n */\nexport const DefaultApiExplorerPage = (props: DefaultApiExplorerPageProps) => {\n const { initiallySelectedFilter = 'all', columns, actions } = props;\n\n const configApi = useApi(configApiRef);\n const generatedSubtitle = `${\n configApi.getOptionalString('organization.name') ?? 'Backstage'\n } API Explorer`;\n const registerComponentLink = useRouteRef(registerComponentRouteRef);\n\n return (\n <PageWithHeader\n themeId=\"apis\"\n title=\"APIs\"\n subtitle={generatedSubtitle}\n pageTitleOverride=\"APIs\"\n >\n <Content>\n <ContentHeader title=\"\">\n <CreateButton\n title=\"Register Existing API\"\n to={registerComponentLink?.()}\n />\n <SupportButton>All your APIs</SupportButton>\n </ContentHeader>\n <EntityListProvider>\n <CatalogFilterLayout>\n <CatalogFilterLayout.Filters>\n <EntityKindPicker initialFilter=\"api\" hidden />\n <EntityTypePicker />\n <UserListPicker initialFilter={initiallySelectedFilter} />\n <EntityOwnerPicker />\n <EntityLifecyclePicker />\n <EntityTagPicker />\n </CatalogFilterLayout.Filters>\n <CatalogFilterLayout.Content>\n <CatalogTable\n columns={columns || defaultColumns}\n actions={actions}\n />\n </CatalogFilterLayout.Content>\n </CatalogFilterLayout>\n </EntityListProvider>\n </Content>\n </PageWithHeader>\n );\n};\n","/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport { useOutlet } from 'react-router';\nimport {\n DefaultApiExplorerPage,\n DefaultApiExplorerPageProps,\n} from './DefaultApiExplorerPage';\n\n/**\n * ApiExplorerPage\n * @public\n */\nexport const ApiExplorerPage = (props: DefaultApiExplorerPageProps) => {\n const outlet = useOutlet();\n\n return outlet || <DefaultApiExplorerPage {...props} />;\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity } from '@backstage/catalog-model';\nimport { ApiDefinitionWidget } from './components/ApiDefinitionCard/ApiDefinitionWidget';\nimport { createApiRef } from '@backstage/core-plugin-api';\n\n/** @public */\nexport const apiDocsConfigRef = createApiRef<ApiDocsConfig>({\n id: 'plugin.api-docs.config',\n});\n\n/** @public */\nexport interface ApiDocsConfig {\n getApiDefinitionWidget: (\n apiEntity: ApiEntity,\n ) => ApiDefinitionWidget | undefined;\n}\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport { CodeSnippet } from '@backstage/core-components';\n\n/** @public */\nexport type PlainApiDefinitionWidgetProps = {\n definition: any;\n language: string;\n};\n\n/** @public */\nexport const PlainApiDefinitionWidget = (\n props: PlainApiDefinitionWidgetProps,\n) => {\n return (\n <CodeSnippet\n text={props.definition}\n language={props.language}\n showCopyCodeButton\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity } from '@backstage/catalog-model';\nimport { useEntity } from '@backstage/plugin-catalog-react';\nimport { Alert } from '@material-ui/lab';\nimport React from 'react';\nimport { apiDocsConfigRef } from '../../config';\nimport { PlainApiDefinitionWidget } from '../PlainApiDefinitionWidget';\n\nimport { CardTab, TabbedCard } from '@backstage/core-components';\nimport { useApi } from '@backstage/core-plugin-api';\n\n/** @public */\nexport const ApiDefinitionCard = () => {\n const { entity } = useEntity<ApiEntity>();\n const config = useApi(apiDocsConfigRef);\n const { getApiDefinitionWidget } = config;\n\n if (!entity) {\n return <Alert severity=\"error\">Could not fetch the API</Alert>;\n }\n\n const definitionWidget = getApiDefinitionWidget(entity);\n const entityTitle = entity.metadata.title ?? entity.metadata.name;\n\n if (definitionWidget) {\n return (\n <TabbedCard title={entityTitle}>\n <CardTab label={definitionWidget.title} key=\"widget\">\n {definitionWidget.component(entity.spec.definition)}\n </CardTab>\n <CardTab label=\"Raw\" key=\"raw\">\n <PlainApiDefinitionWidget\n definition={entity.spec.definition}\n language={definitionWidget.rawLanguage || entity.spec.type}\n />\n </CardTab>\n </TabbedCard>\n );\n }\n\n return (\n <TabbedCard\n title={entityTitle}\n children={[\n // Has to be an array, otherwise typescript doesn't like that this has only a single child\n <CardTab label={entity.spec.type} key=\"raw\">\n <PlainApiDefinitionWidget\n definition={entity.spec.definition}\n language={entity.spec.type}\n />\n </CardTab>,\n ]}\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Progress } from '@backstage/core-components';\nimport React, { Suspense } from 'react';\n\n// The asyncapi component and related CSS has a significant size, only load it\n// if the element is actually used.\nconst LazyAsyncApiDefinition = React.lazy(() =>\n import('./AsyncApiDefinition').then(m => ({\n default: m.AsyncApiDefinition,\n })),\n);\n\n/** @public */\nexport type AsyncApiDefinitionWidgetProps = {\n definition: string;\n};\n\n/** @public */\nexport const AsyncApiDefinitionWidget = (\n props: AsyncApiDefinitionWidgetProps,\n) => {\n return (\n <Suspense fallback={<Progress />}>\n <LazyAsyncApiDefinition {...props} />\n </Suspense>\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Progress } from '@backstage/core-components';\nimport React, { Suspense } from 'react';\n\n// The graphql component, graphql and related CSS has a significant size, only\n// load it if the element is actually used.\nconst LazyGraphQlDefinition = React.lazy(() =>\n import('./GraphQlDefinition').then(m => ({\n default: m.GraphQlDefinition,\n })),\n);\n\n/** @public */\nexport type GraphQlDefinitionWidgetProps = {\n definition: string;\n};\n\n/** @public */\nexport const GraphQlDefinitionWidget = (\n props: GraphQlDefinitionWidgetProps,\n) => {\n return (\n <Suspense fallback={<Progress />}>\n <LazyGraphQlDefinition {...props} />\n </Suspense>\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Progress } from '@backstage/core-components';\nimport React, { Suspense } from 'react';\n\n// The swagger-ui component and related CSS has a significant size, only load it\n// if the element is actually used.\nconst LazyOpenApiDefinition = React.lazy(() =>\n import('./OpenApiDefinition').then(m => ({\n default: m.OpenApiDefinition,\n })),\n);\n\n/** @public */\nexport type OpenApiDefinitionWidgetProps = {\n definition: string;\n};\n\n/** @public */\nexport const OpenApiDefinitionWidget = (\n props: OpenApiDefinitionWidgetProps,\n) => {\n return (\n <Suspense fallback={<Progress />}>\n <LazyOpenApiDefinition {...props} />\n </Suspense>\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport { CodeSnippet } from '@backstage/core-components';\nimport { useTheme } from '@material-ui/core/styles';\nimport { BackstageTheme } from '@backstage/theme';\n\n/** @public */\nexport type GrpcApiDefinitionWidgetProps = {\n definition: string;\n};\n\n/** @public */\nexport const GrpcApiDefinitionWidget = (\n props: GrpcApiDefinitionWidgetProps,\n) => {\n const theme = useTheme<BackstageTheme>();\n return (\n <CodeSnippet\n customStyle={{ backgroundColor: theme.palette.background.default }}\n text={props.definition}\n language=\"protobuf\"\n showCopyCodeButton\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React from 'react';\nimport { AsyncApiDefinitionWidget } from '../AsyncApiDefinitionWidget';\nimport { GraphQlDefinitionWidget } from '../GraphQlDefinitionWidget';\nimport { OpenApiDefinitionWidget } from '../OpenApiDefinitionWidget';\nimport { GrpcApiDefinitionWidget } from '../GrpcApiDefinitionWidget';\n\n/** @public */\nexport type ApiDefinitionWidget = {\n type: string;\n title: string;\n component: (definition: string) => React.ReactElement;\n rawLanguage?: string;\n};\n\n/** @public */\nexport function defaultDefinitionWidgets(): ApiDefinitionWidget[] {\n return [\n {\n type: 'openapi',\n title: 'OpenAPI',\n rawLanguage: 'yaml',\n component: definition => (\n <OpenApiDefinitionWidget definition={definition} />\n ),\n },\n {\n type: 'asyncapi',\n title: 'AsyncAPI',\n rawLanguage: 'yaml',\n component: definition => (\n <AsyncApiDefinitionWidget definition={definition} />\n ),\n },\n {\n type: 'graphql',\n title: 'GraphQL',\n rawLanguage: 'graphql',\n component: definition => (\n <GraphQlDefinitionWidget definition={definition} />\n ),\n },\n {\n type: 'grpc',\n title: 'gRPC',\n component: definition => (\n <GrpcApiDefinitionWidget definition={definition} />\n ),\n },\n ];\n}\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity } from '@backstage/catalog-model';\nimport React from 'react';\nimport { apiDocsConfigRef } from '../../config';\nimport { useApi } from '@backstage/core-plugin-api';\n\n/**\n * @public\n */\nexport const ApiTypeTitle = (props: { apiEntity: ApiEntity }) => {\n const { apiEntity } = props;\n const config = useApi(apiDocsConfigRef);\n const definition = config.getApiDefinitionWidget(apiEntity);\n const type = definition ? definition.title : apiEntity.spec.type;\n\n return <span>{type}</span>;\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity } from '@backstage/catalog-model';\nimport { EntityTable } from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport { ApiTypeTitle } from '../ApiDefinitionCard';\nimport { TableColumn } from '@backstage/core-components';\n\nexport function createSpecApiTypeColumn(): TableColumn<ApiEntity> {\n return {\n title: 'Type',\n field: 'spec.type',\n render: entity => <ApiTypeTitle apiEntity={entity} />,\n };\n}\n\n// TODO: This could be moved to plugin-catalog-react if we wouldn't have a\n// special createSpecApiTypeColumn. But this is required to use ApiTypeTitle to\n// resolve the display name of an entity. Is the display name really worth it?\n\nexport const apiEntityColumns: TableColumn<ApiEntity>[] = [\n EntityTable.columns.createEntityRefColumn({ defaultKind: 'API' }),\n EntityTable.columns.createSystemColumn(),\n EntityTable.columns.createOwnerColumn(),\n createSpecApiTypeColumn(),\n EntityTable.columns.createSpecLifecycleColumn(),\n EntityTable.columns.createMetadataDescriptionColumn(),\n];\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity, RELATION_CONSUMES_API } from '@backstage/catalog-model';\nimport { Typography } from '@material-ui/core';\nimport {\n EntityTable,\n useEntity,\n useRelatedEntities,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport { apiEntityColumns } from './presets';\nimport {\n CodeSnippet,\n InfoCard,\n InfoCardVariants,\n Link,\n Progress,\n WarningPanel,\n} from '@backstage/core-components';\n\n/**\n * @public\n */\nexport const ConsumedApisCard = (props: { variant?: InfoCardVariants }) => {\n const { variant = 'gridItem' } = props;\n const { entity } = useEntity();\n const { entities, loading, error } = useRelatedEntities(entity, {\n type: RELATION_CONSUMES_API,\n });\n\n if (loading) {\n return (\n <InfoCard variant={variant} title=\"Consumed APIs\">\n <Progress />\n </InfoCard>\n );\n }\n\n if (error || !entities) {\n return (\n <InfoCard variant={variant} title=\"Consumed APIs\">\n <WarningPanel\n severity=\"error\"\n title=\"Could not load APIs\"\n message={<CodeSnippet text={`${error}`} language=\"text\" />}\n />\n </InfoCard>\n );\n }\n\n return (\n <EntityTable\n title=\"Consumed APIs\"\n variant={variant}\n emptyContent={\n <div style={{ textAlign: 'center' }}>\n <Typography variant=\"body1\">\n This {entity.kind.toLocaleLowerCase('en-US')} does not consume any\n APIs.\n </Typography>\n <Typography variant=\"body2\">\n <Link to=\"https://backstage.io/docs/features/software-catalog/descriptor-format#specconsumesapis-optional\">\n Learn how to change this.\n </Link>\n </Typography>\n </div>\n }\n columns={apiEntityColumns}\n entities={entities as ApiEntity[]}\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity, RELATION_HAS_PART } from '@backstage/catalog-model';\nimport { Typography } from '@material-ui/core';\nimport {\n EntityTable,\n useEntity,\n useRelatedEntities,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport { createSpecApiTypeColumn } from './presets';\nimport {\n CodeSnippet,\n InfoCard,\n InfoCardVariants,\n Link,\n Progress,\n TableColumn,\n WarningPanel,\n} from '@backstage/core-components';\n\nconst columns: TableColumn<ApiEntity>[] = [\n EntityTable.columns.createEntityRefColumn({ defaultKind: 'API' }),\n EntityTable.columns.createOwnerColumn(),\n createSpecApiTypeColumn(),\n EntityTable.columns.createSpecLifecycleColumn(),\n EntityTable.columns.createMetadataDescriptionColumn(),\n];\n\n/**\n * @public\n */\nexport const HasApisCard = (props: { variant?: InfoCardVariants }) => {\n const { variant = 'gridItem' } = props;\n const { entity } = useEntity();\n const { entities, loading, error } = useRelatedEntities(entity, {\n type: RELATION_HAS_PART,\n kind: 'API',\n });\n\n if (loading) {\n return (\n <InfoCard variant={variant} title=\"APIs\">\n <Progress />\n </InfoCard>\n );\n }\n\n if (error || !entities) {\n return (\n <InfoCard variant={variant} title=\"APIs\">\n <WarningPanel\n severity=\"error\"\n title=\"Could not load APIs\"\n message={<CodeSnippet text={`${error}`} language=\"text\" />}\n />\n </InfoCard>\n );\n }\n\n return (\n <EntityTable\n title=\"APIs\"\n variant={variant}\n emptyContent={\n <div style={{ textAlign: 'center' }}>\n <Typography variant=\"body1\">\n This {entity.kind.toLocaleLowerCase('en-US')} does not contain any\n APIs.\n </Typography>\n <Typography variant=\"body2\">\n <Link to=\"https://backstage.io/docs/features/software-catalog/descriptor-format#kind-api\">\n Learn how to change this.\n </Link>\n </Typography>\n </div>\n }\n columns={columns}\n entities={entities as ApiEntity[]}\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity, RELATION_PROVIDES_API } from '@backstage/catalog-model';\nimport { Typography } from '@material-ui/core';\nimport {\n EntityTable,\n useEntity,\n useRelatedEntities,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport { apiEntityColumns } from './presets';\nimport {\n CodeSnippet,\n InfoCard,\n InfoCardVariants,\n Link,\n Progress,\n WarningPanel,\n} from '@backstage/core-components';\n\n/**\n * @public\n */\nexport const ProvidedApisCard = (props: { variant?: InfoCardVariants }) => {\n const { variant = 'gridItem' } = props;\n const { entity } = useEntity();\n const { entities, loading, error } = useRelatedEntities(entity, {\n type: RELATION_PROVIDES_API,\n });\n\n if (loading) {\n return (\n <InfoCard variant={variant} title=\"Provided APIs\">\n <Progress />\n </InfoCard>\n );\n }\n\n if (error || !entities) {\n return (\n <InfoCard variant={variant} title=\"Provided APIs\">\n <WarningPanel\n severity=\"error\"\n title=\"Could not load APIs\"\n message={<CodeSnippet text={`${error}`} language=\"text\" />}\n />\n </InfoCard>\n );\n }\n\n return (\n <EntityTable\n title=\"Provided APIs\"\n variant={variant}\n emptyContent={\n <div style={{ textAlign: 'center' }}>\n <Typography variant=\"body1\">\n This {entity.kind.toLocaleLowerCase('en-US')} does not provide any\n APIs.\n </Typography>\n <Typography variant=\"body2\">\n <Link to=\"https://backstage.io/docs/features/software-catalog/descriptor-format#specprovidesapis-optional\">\n Learn how to change this.\n </Link>\n </Typography>\n </div>\n }\n columns={apiEntityColumns}\n entities={entities as ApiEntity[]}\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n ComponentEntity,\n RELATION_API_CONSUMED_BY,\n} from '@backstage/catalog-model';\nimport { Typography } from '@material-ui/core';\nimport {\n EntityTable,\n useEntity,\n useRelatedEntities,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport {\n CodeSnippet,\n InfoCard,\n InfoCardVariants,\n Link,\n Progress,\n WarningPanel,\n} from '@backstage/core-components';\n\n/**\n * @public\n */\nexport const ConsumingComponentsCard = (props: {\n variant?: InfoCardVariants;\n}) => {\n const { variant = 'gridItem' } = props;\n const { entity } = useEntity();\n const { entities, loading, error } = useRelatedEntities(entity, {\n type: RELATION_API_CONSUMED_BY,\n });\n\n if (loading) {\n return (\n <InfoCard variant={variant} title=\"Consumers\">\n <Progress />\n </InfoCard>\n );\n }\n\n if (error || !entities) {\n return (\n <InfoCard variant={variant} title=\"Consumers\">\n <WarningPanel\n severity=\"error\"\n title=\"Could not load components\"\n message={<CodeSnippet text={`${error}`} language=\"text\" />}\n />\n </InfoCard>\n );\n }\n\n return (\n <EntityTable\n title=\"Consumers\"\n variant={variant}\n emptyContent={\n <div style={{ textAlign: 'center' }}>\n <Typography variant=\"body1\">\n No component consumes this API.\n </Typography>\n <Typography variant=\"body2\">\n <Link to=\"https://backstage.io/docs/features/software-catalog/descriptor-format#specconsumesapis-optional\">\n Learn how to change this.\n </Link>\n </Typography>\n </div>\n }\n columns={EntityTable.componentEntityColumns}\n entities={entities as ComponentEntity[]}\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n ComponentEntity,\n RELATION_API_PROVIDED_BY,\n} from '@backstage/catalog-model';\nimport { Typography } from '@material-ui/core';\nimport {\n EntityTable,\n useEntity,\n useRelatedEntities,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport {\n CodeSnippet,\n InfoCard,\n InfoCardVariants,\n Link,\n Progress,\n WarningPanel,\n} from '@backstage/core-components';\n\n/** @public */\nexport const ProvidingComponentsCard = (props: {\n variant?: InfoCardVariants;\n}) => {\n const { variant = 'gridItem' } = props;\n const { entity } = useEntity();\n const { entities, loading, error } = useRelatedEntities(entity, {\n type: RELATION_API_PROVIDED_BY,\n });\n\n if (loading) {\n return (\n <InfoCard variant={variant} title=\"Providers\">\n <Progress />\n </InfoCard>\n );\n }\n\n if (error || !entities) {\n return (\n <InfoCard variant={variant} title=\"Providers\">\n <WarningPanel\n severity=\"error\"\n title=\"Could not load components\"\n message={<CodeSnippet text={`${error}`} language=\"text\" />}\n />\n </InfoCard>\n );\n }\n\n return (\n <EntityTable\n title=\"Providers\"\n variant={variant}\n emptyContent={\n <div style={{ textAlign: 'center' }}>\n <Typography variant=\"body1\">\n No component provides this API.\n </Typography>\n <Typography variant=\"body2\">\n <Link to=\"https://backstage.io/docs/features/software-catalog/descriptor-format#specprovidesapis-optional\">\n Learn how to change this.\n </Link>\n </Typography>\n </div>\n }\n columns={EntityTable.componentEntityColumns}\n entities={entities as ComponentEntity[]}\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity } from '@backstage/catalog-model';\nimport { defaultDefinitionWidgets } from './components/ApiDefinitionCard';\nimport { apiDocsConfigRef } from './config';\nimport { registerComponentRouteRef, rootRoute } from './routes';\nimport {\n createApiFactory,\n createComponentExtension,\n createPlugin,\n createRoutableExtension,\n} from '@backstage/core-plugin-api';\n\n/** @public */\nexport const apiDocsPlugin = createPlugin({\n id: 'api-docs',\n routes: {\n root: rootRoute,\n },\n apis: [\n createApiFactory({\n api: apiDocsConfigRef,\n deps: {},\n factory: () => {\n const definitionWidgets = defaultDefinitionWidgets();\n return {\n getApiDefinitionWidget: (apiEntity: ApiEntity) => {\n return definitionWidgets.find(d => d.type === apiEntity.spec.type);\n },\n };\n },\n }),\n ],\n externalRoutes: {\n registerApi: registerComponentRouteRef,\n },\n});\n\n/** @public */\nexport const ApiExplorerPage = apiDocsPlugin.provide(\n createRoutableExtension({\n name: 'ApiExplorerPage',\n component: () =>\n import('./components/ApiExplorerPage').then(m => m.ApiExplorerIndexPage),\n mountPoint: rootRoute,\n }),\n);\n\n/** @public */\nexport const EntityApiDefinitionCard = apiDocsPlugin.provide(\n createComponentExtension({\n name: 'EntityApiDefinitionCard',\n component: {\n lazy: () =>\n import('./components/ApiDefinitionCard').then(m => m.ApiDefinitionCard),\n },\n }),\n);\n\n/** @public */\nexport const EntityConsumedApisCard = apiDocsPlugin.provide(\n createComponentExtension({\n name: 'EntityConsumedApisCard',\n component: {\n lazy: () =>\n import('./components/ApisCards').then(m => m.ConsumedApisCard),\n },\n }),\n);\n\n/** @public */\nexport const EntityConsumingComponentsCard = apiDocsPlugin.provide(\n createComponentExtension({\n name: 'EntityConsumingComponentsCard',\n component: {\n lazy: () =>\n import('./components/ComponentsCards').then(\n m => m.ConsumingComponentsCard,\n ),\n },\n }),\n);\n\n/** @public */\nexport const EntityProvidedApisCard = apiDocsPlugin.provide(\n createComponentExtension({\n name: 'EntityProvidedApisCard',\n component: {\n lazy: () =>\n import('./components/ApisCards').then(m => m.ProvidedApisCard),\n },\n }),\n);\n\n/** @public */\nexport const EntityProvidingComponentsCard = apiDocsPlugin.provide(\n createComponentExtension({\n name: 'EntityProvidingComponentsCard',\n component: {\n lazy: () =>\n import('./components/ComponentsCards').then(\n m => m.ProvidingComponentsCard,\n ),\n },\n }),\n);\n\n/** @public */\nexport const EntityHasApisCard = apiDocsPlugin.provide(\n createComponentExtension({\n name: 'EntityHasApisCard',\n component: {\n lazy: () => import('./components/ApisCards').then(m => m.HasApisCard),\n },\n }),\n);\n"],"names":["ApiExplorerPage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/routes.ts","../src/components/ApiExplorerPage/DefaultApiExplorerPage.tsx","../src/components/ApiExplorerPage/ApiExplorerPage.tsx","../src/config.ts","../src/components/PlainApiDefinitionWidget/PlainApiDefinitionWidget.tsx","../src/components/ApiDefinitionCard/ApiDefinitionCard.tsx","../src/components/AsyncApiDefinitionWidget/AsyncApiDefinitionWidget.tsx","../src/components/GraphQlDefinitionWidget/GraphQlDefinitionWidget.tsx","../src/components/OpenApiDefinitionWidget/OpenApiDefinitionWidget.tsx","../src/components/GrpcApiDefinitionWidget/GrpcApiDefinitionWidget.tsx","../src/components/ApiDefinitionCard/ApiDefinitionWidget.tsx","../src/components/ApiDefinitionCard/ApiTypeTitle.tsx","../src/components/ApisCards/presets.tsx","../src/components/ApisCards/ConsumedApisCard.tsx","../src/components/ApisCards/HasApisCard.tsx","../src/components/ApisCards/ProvidedApisCard.tsx","../src/components/ComponentsCards/ConsumingComponentsCard.tsx","../src/components/ComponentsCards/ProvidingComponentsCard.tsx","../src/plugin.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n createExternalRouteRef,\n createRouteRef,\n} from '@backstage/core-plugin-api';\n\nexport const rootRoute = createRouteRef({\n id: 'api-docs',\n});\n\nexport const registerComponentRouteRef = createExternalRouteRef({\n id: 'register-component',\n optional: true,\n});\n","/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Content,\n ContentHeader,\n CreateButton,\n PageWithHeader,\n SupportButton,\n TableColumn,\n TableProps,\n} from '@backstage/core-components';\nimport { configApiRef, useApi, useRouteRef } from '@backstage/core-plugin-api';\nimport { CatalogTable, CatalogTableRow } from '@backstage/plugin-catalog';\nimport {\n EntityKindPicker,\n EntityLifecyclePicker,\n EntityListProvider,\n EntityOwnerPicker,\n EntityTagPicker,\n EntityTypePicker,\n UserListFilterKind,\n UserListPicker,\n CatalogFilterLayout,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport { registerComponentRouteRef } from '../../routes';\n\nconst defaultColumns: TableColumn<CatalogTableRow>[] = [\n CatalogTable.columns.createTitleColumn({ hidden: true }),\n CatalogTable.columns.createNameColumn({ defaultKind: 'API' }),\n CatalogTable.columns.createSystemColumn(),\n CatalogTable.columns.createOwnerColumn(),\n CatalogTable.columns.createSpecTypeColumn(),\n CatalogTable.columns.createSpecLifecycleColumn(),\n CatalogTable.columns.createMetadataDescriptionColumn(),\n CatalogTable.columns.createTagsColumn(),\n];\n\n/**\n * DefaultApiExplorerPageProps\n * @public\n */\nexport type DefaultApiExplorerPageProps = {\n initiallySelectedFilter?: UserListFilterKind;\n columns?: TableColumn<CatalogTableRow>[];\n actions?: TableProps<CatalogTableRow>['actions'];\n};\n\n/**\n * DefaultApiExplorerPage\n * @public\n */\nexport const DefaultApiExplorerPage = (props: DefaultApiExplorerPageProps) => {\n const { initiallySelectedFilter = 'all', columns, actions } = props;\n\n const configApi = useApi(configApiRef);\n const generatedSubtitle = `${\n configApi.getOptionalString('organization.name') ?? 'Backstage'\n } API Explorer`;\n const registerComponentLink = useRouteRef(registerComponentRouteRef);\n\n return (\n <PageWithHeader\n themeId=\"apis\"\n title=\"APIs\"\n subtitle={generatedSubtitle}\n pageTitleOverride=\"APIs\"\n >\n <Content>\n <ContentHeader title=\"\">\n <CreateButton\n title=\"Register Existing API\"\n to={registerComponentLink?.()}\n />\n <SupportButton>All your APIs</SupportButton>\n </ContentHeader>\n <EntityListProvider>\n <CatalogFilterLayout>\n <CatalogFilterLayout.Filters>\n <EntityKindPicker initialFilter=\"api\" hidden />\n <EntityTypePicker />\n <UserListPicker initialFilter={initiallySelectedFilter} />\n <EntityOwnerPicker />\n <EntityLifecyclePicker />\n <EntityTagPicker />\n </CatalogFilterLayout.Filters>\n <CatalogFilterLayout.Content>\n <CatalogTable\n columns={columns || defaultColumns}\n actions={actions}\n />\n </CatalogFilterLayout.Content>\n </CatalogFilterLayout>\n </EntityListProvider>\n </Content>\n </PageWithHeader>\n );\n};\n","/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport { useOutlet } from 'react-router';\nimport {\n DefaultApiExplorerPage,\n DefaultApiExplorerPageProps,\n} from './DefaultApiExplorerPage';\n\n/**\n * ApiExplorerPage\n * @public\n */\nexport const ApiExplorerPage = (props: DefaultApiExplorerPageProps) => {\n const outlet = useOutlet();\n\n return outlet || <DefaultApiExplorerPage {...props} />;\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity } from '@backstage/catalog-model';\nimport { ApiDefinitionWidget } from './components/ApiDefinitionCard/ApiDefinitionWidget';\nimport { createApiRef } from '@backstage/core-plugin-api';\n\n/** @public */\nexport const apiDocsConfigRef = createApiRef<ApiDocsConfig>({\n id: 'plugin.api-docs.config',\n});\n\n/** @public */\nexport interface ApiDocsConfig {\n getApiDefinitionWidget: (\n apiEntity: ApiEntity,\n ) => ApiDefinitionWidget | undefined;\n}\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport { CodeSnippet } from '@backstage/core-components';\n\n/** @public */\nexport type PlainApiDefinitionWidgetProps = {\n definition: any;\n language: string;\n};\n\n/** @public */\nexport const PlainApiDefinitionWidget = (\n props: PlainApiDefinitionWidgetProps,\n) => {\n return (\n <CodeSnippet\n text={props.definition}\n language={props.language}\n showCopyCodeButton\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity } from '@backstage/catalog-model';\nimport { useEntity } from '@backstage/plugin-catalog-react';\nimport { Alert } from '@material-ui/lab';\nimport React from 'react';\nimport { apiDocsConfigRef } from '../../config';\nimport { PlainApiDefinitionWidget } from '../PlainApiDefinitionWidget';\n\nimport { CardTab, TabbedCard } from '@backstage/core-components';\nimport { useApi } from '@backstage/core-plugin-api';\n\n/** @public */\nexport const ApiDefinitionCard = () => {\n const { entity } = useEntity<ApiEntity>();\n const config = useApi(apiDocsConfigRef);\n const { getApiDefinitionWidget } = config;\n\n if (!entity) {\n return <Alert severity=\"error\">Could not fetch the API</Alert>;\n }\n\n const definitionWidget = getApiDefinitionWidget(entity);\n const entityTitle = entity.metadata.title ?? entity.metadata.name;\n\n if (definitionWidget) {\n return (\n <TabbedCard title={entityTitle}>\n <CardTab label={definitionWidget.title} key=\"widget\">\n {definitionWidget.component(entity.spec.definition)}\n </CardTab>\n <CardTab label=\"Raw\" key=\"raw\">\n <PlainApiDefinitionWidget\n definition={entity.spec.definition}\n language={definitionWidget.rawLanguage || entity.spec.type}\n />\n </CardTab>\n </TabbedCard>\n );\n }\n\n return (\n <TabbedCard\n title={entityTitle}\n children={[\n // Has to be an array, otherwise typescript doesn't like that this has only a single child\n <CardTab label={entity.spec.type} key=\"raw\">\n <PlainApiDefinitionWidget\n definition={entity.spec.definition}\n language={entity.spec.type}\n />\n </CardTab>,\n ]}\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Progress } from '@backstage/core-components';\nimport React, { Suspense } from 'react';\n\n// The asyncapi component and related CSS has a significant size, only load it\n// if the element is actually used.\nconst LazyAsyncApiDefinition = React.lazy(() =>\n import('./AsyncApiDefinition').then(m => ({\n default: m.AsyncApiDefinition,\n })),\n);\n\n/** @public */\nexport type AsyncApiDefinitionWidgetProps = {\n definition: string;\n};\n\n/** @public */\nexport const AsyncApiDefinitionWidget = (\n props: AsyncApiDefinitionWidgetProps,\n) => {\n return (\n <Suspense fallback={<Progress />}>\n <LazyAsyncApiDefinition {...props} />\n </Suspense>\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Progress } from '@backstage/core-components';\nimport React, { Suspense } from 'react';\n\n// The graphql component, graphql and related CSS has a significant size, only\n// load it if the element is actually used.\nconst LazyGraphQlDefinition = React.lazy(() =>\n import('./GraphQlDefinition').then(m => ({\n default: m.GraphQlDefinition,\n })),\n);\n\n/** @public */\nexport type GraphQlDefinitionWidgetProps = {\n definition: string;\n};\n\n/** @public */\nexport const GraphQlDefinitionWidget = (\n props: GraphQlDefinitionWidgetProps,\n) => {\n return (\n <Suspense fallback={<Progress />}>\n <LazyGraphQlDefinition {...props} />\n </Suspense>\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Progress } from '@backstage/core-components';\nimport React, { Suspense } from 'react';\n\n// The swagger-ui component and related CSS has a significant size, only load it\n// if the element is actually used.\nconst LazyOpenApiDefinition = React.lazy(() =>\n import('./OpenApiDefinition').then(m => ({\n default: m.OpenApiDefinition,\n })),\n);\n\n/** @public */\nexport type OpenApiDefinitionWidgetProps = {\n definition: string;\n};\n\n/** @public */\nexport const OpenApiDefinitionWidget = (\n props: OpenApiDefinitionWidgetProps,\n) => {\n return (\n <Suspense fallback={<Progress />}>\n <LazyOpenApiDefinition {...props} />\n </Suspense>\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport { CodeSnippet } from '@backstage/core-components';\nimport { useTheme } from '@material-ui/core/styles';\nimport { BackstageTheme } from '@backstage/theme';\n\n/** @public */\nexport type GrpcApiDefinitionWidgetProps = {\n definition: string;\n};\n\n/** @public */\nexport const GrpcApiDefinitionWidget = (\n props: GrpcApiDefinitionWidgetProps,\n) => {\n const theme = useTheme<BackstageTheme>();\n return (\n <CodeSnippet\n customStyle={{ backgroundColor: theme.palette.background.default }}\n text={props.definition}\n language=\"protobuf\"\n showCopyCodeButton\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React from 'react';\nimport { AsyncApiDefinitionWidget } from '../AsyncApiDefinitionWidget';\nimport { GraphQlDefinitionWidget } from '../GraphQlDefinitionWidget';\nimport { OpenApiDefinitionWidget } from '../OpenApiDefinitionWidget';\nimport { GrpcApiDefinitionWidget } from '../GrpcApiDefinitionWidget';\n\n/** @public */\nexport type ApiDefinitionWidget = {\n type: string;\n title: string;\n component: (definition: string) => React.ReactElement;\n rawLanguage?: string;\n};\n\n/** @public */\nexport function defaultDefinitionWidgets(): ApiDefinitionWidget[] {\n return [\n {\n type: 'openapi',\n title: 'OpenAPI',\n rawLanguage: 'yaml',\n component: definition => (\n <OpenApiDefinitionWidget definition={definition} />\n ),\n },\n {\n type: 'asyncapi',\n title: 'AsyncAPI',\n rawLanguage: 'yaml',\n component: definition => (\n <AsyncApiDefinitionWidget definition={definition} />\n ),\n },\n {\n type: 'graphql',\n title: 'GraphQL',\n rawLanguage: 'graphql',\n component: definition => (\n <GraphQlDefinitionWidget definition={definition} />\n ),\n },\n {\n type: 'grpc',\n title: 'gRPC',\n component: definition => (\n <GrpcApiDefinitionWidget definition={definition} />\n ),\n },\n ];\n}\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity } from '@backstage/catalog-model';\nimport React from 'react';\nimport { apiDocsConfigRef } from '../../config';\nimport { useApi } from '@backstage/core-plugin-api';\n\n/**\n * @public\n */\nexport const ApiTypeTitle = (props: { apiEntity: ApiEntity }) => {\n const { apiEntity } = props;\n const config = useApi(apiDocsConfigRef);\n const definition = config.getApiDefinitionWidget(apiEntity);\n const type = definition ? definition.title : apiEntity.spec.type;\n\n return <span>{type}</span>;\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity } from '@backstage/catalog-model';\nimport { EntityTable } from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport { ApiTypeTitle } from '../ApiDefinitionCard';\nimport { TableColumn } from '@backstage/core-components';\n\nexport function createSpecApiTypeColumn(): TableColumn<ApiEntity> {\n return {\n title: 'Type',\n field: 'spec.type',\n render: entity => <ApiTypeTitle apiEntity={entity} />,\n };\n}\n\n// TODO: This could be moved to plugin-catalog-react if we wouldn't have a\n// special createSpecApiTypeColumn. But this is required to use ApiTypeTitle to\n// resolve the display name of an entity. Is the display name really worth it?\n\nexport const apiEntityColumns: TableColumn<ApiEntity>[] = [\n EntityTable.columns.createEntityRefColumn({ defaultKind: 'API' }),\n EntityTable.columns.createSystemColumn(),\n EntityTable.columns.createOwnerColumn(),\n createSpecApiTypeColumn(),\n EntityTable.columns.createSpecLifecycleColumn(),\n EntityTable.columns.createMetadataDescriptionColumn(),\n];\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity, RELATION_CONSUMES_API } from '@backstage/catalog-model';\nimport { Typography } from '@material-ui/core';\nimport {\n EntityTable,\n useEntity,\n useRelatedEntities,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport { apiEntityColumns } from './presets';\nimport {\n CodeSnippet,\n InfoCard,\n InfoCardVariants,\n Link,\n Progress,\n WarningPanel,\n} from '@backstage/core-components';\n\n/**\n * @public\n */\nexport const ConsumedApisCard = (props: { variant?: InfoCardVariants }) => {\n const { variant = 'gridItem' } = props;\n const { entity } = useEntity();\n const { entities, loading, error } = useRelatedEntities(entity, {\n type: RELATION_CONSUMES_API,\n });\n\n if (loading) {\n return (\n <InfoCard variant={variant} title=\"Consumed APIs\">\n <Progress />\n </InfoCard>\n );\n }\n\n if (error || !entities) {\n return (\n <InfoCard variant={variant} title=\"Consumed APIs\">\n <WarningPanel\n severity=\"error\"\n title=\"Could not load APIs\"\n message={<CodeSnippet text={`${error}`} language=\"text\" />}\n />\n </InfoCard>\n );\n }\n\n return (\n <EntityTable\n title=\"Consumed APIs\"\n variant={variant}\n emptyContent={\n <div style={{ textAlign: 'center' }}>\n <Typography variant=\"body1\">\n This {entity.kind.toLocaleLowerCase('en-US')} does not consume any\n APIs.\n </Typography>\n <Typography variant=\"body2\">\n <Link to=\"https://backstage.io/docs/features/software-catalog/descriptor-format#specconsumesapis-optional\">\n Learn how to change this.\n </Link>\n </Typography>\n </div>\n }\n columns={apiEntityColumns}\n entities={entities as ApiEntity[]}\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity, RELATION_HAS_PART } from '@backstage/catalog-model';\nimport { Typography } from '@material-ui/core';\nimport {\n EntityTable,\n useEntity,\n useRelatedEntities,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport { createSpecApiTypeColumn } from './presets';\nimport {\n CodeSnippet,\n InfoCard,\n InfoCardVariants,\n Link,\n Progress,\n TableColumn,\n WarningPanel,\n} from '@backstage/core-components';\n\nconst columns: TableColumn<ApiEntity>[] = [\n EntityTable.columns.createEntityRefColumn({ defaultKind: 'API' }),\n EntityTable.columns.createOwnerColumn(),\n createSpecApiTypeColumn(),\n EntityTable.columns.createSpecLifecycleColumn(),\n EntityTable.columns.createMetadataDescriptionColumn(),\n];\n\n/**\n * @public\n */\nexport const HasApisCard = (props: { variant?: InfoCardVariants }) => {\n const { variant = 'gridItem' } = props;\n const { entity } = useEntity();\n const { entities, loading, error } = useRelatedEntities(entity, {\n type: RELATION_HAS_PART,\n kind: 'API',\n });\n\n if (loading) {\n return (\n <InfoCard variant={variant} title=\"APIs\">\n <Progress />\n </InfoCard>\n );\n }\n\n if (error || !entities) {\n return (\n <InfoCard variant={variant} title=\"APIs\">\n <WarningPanel\n severity=\"error\"\n title=\"Could not load APIs\"\n message={<CodeSnippet text={`${error}`} language=\"text\" />}\n />\n </InfoCard>\n );\n }\n\n return (\n <EntityTable\n title=\"APIs\"\n variant={variant}\n emptyContent={\n <div style={{ textAlign: 'center' }}>\n <Typography variant=\"body1\">\n This {entity.kind.toLocaleLowerCase('en-US')} does not contain any\n APIs.\n </Typography>\n <Typography variant=\"body2\">\n <Link to=\"https://backstage.io/docs/features/software-catalog/descriptor-format#kind-api\">\n Learn how to change this.\n </Link>\n </Typography>\n </div>\n }\n columns={columns}\n entities={entities as ApiEntity[]}\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity, RELATION_PROVIDES_API } from '@backstage/catalog-model';\nimport { Typography } from '@material-ui/core';\nimport {\n EntityTable,\n useEntity,\n useRelatedEntities,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport { apiEntityColumns } from './presets';\nimport {\n CodeSnippet,\n InfoCard,\n InfoCardVariants,\n Link,\n Progress,\n WarningPanel,\n} from '@backstage/core-components';\n\n/**\n * @public\n */\nexport const ProvidedApisCard = (props: { variant?: InfoCardVariants }) => {\n const { variant = 'gridItem' } = props;\n const { entity } = useEntity();\n const { entities, loading, error } = useRelatedEntities(entity, {\n type: RELATION_PROVIDES_API,\n });\n\n if (loading) {\n return (\n <InfoCard variant={variant} title=\"Provided APIs\">\n <Progress />\n </InfoCard>\n );\n }\n\n if (error || !entities) {\n return (\n <InfoCard variant={variant} title=\"Provided APIs\">\n <WarningPanel\n severity=\"error\"\n title=\"Could not load APIs\"\n message={<CodeSnippet text={`${error}`} language=\"text\" />}\n />\n </InfoCard>\n );\n }\n\n return (\n <EntityTable\n title=\"Provided APIs\"\n variant={variant}\n emptyContent={\n <div style={{ textAlign: 'center' }}>\n <Typography variant=\"body1\">\n This {entity.kind.toLocaleLowerCase('en-US')} does not provide any\n APIs.\n </Typography>\n <Typography variant=\"body2\">\n <Link to=\"https://backstage.io/docs/features/software-catalog/descriptor-format#specprovidesapis-optional\">\n Learn how to change this.\n </Link>\n </Typography>\n </div>\n }\n columns={apiEntityColumns}\n entities={entities as ApiEntity[]}\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n ComponentEntity,\n RELATION_API_CONSUMED_BY,\n} from '@backstage/catalog-model';\nimport { Typography } from '@material-ui/core';\nimport {\n EntityTable,\n useEntity,\n useRelatedEntities,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport {\n CodeSnippet,\n InfoCard,\n InfoCardVariants,\n Link,\n Progress,\n WarningPanel,\n} from '@backstage/core-components';\n\n/**\n * @public\n */\nexport const ConsumingComponentsCard = (props: {\n variant?: InfoCardVariants;\n}) => {\n const { variant = 'gridItem' } = props;\n const { entity } = useEntity();\n const { entities, loading, error } = useRelatedEntities(entity, {\n type: RELATION_API_CONSUMED_BY,\n });\n\n if (loading) {\n return (\n <InfoCard variant={variant} title=\"Consumers\">\n <Progress />\n </InfoCard>\n );\n }\n\n if (error || !entities) {\n return (\n <InfoCard variant={variant} title=\"Consumers\">\n <WarningPanel\n severity=\"error\"\n title=\"Could not load components\"\n message={<CodeSnippet text={`${error}`} language=\"text\" />}\n />\n </InfoCard>\n );\n }\n\n return (\n <EntityTable\n title=\"Consumers\"\n variant={variant}\n emptyContent={\n <div style={{ textAlign: 'center' }}>\n <Typography variant=\"body1\">\n No component consumes this API.\n </Typography>\n <Typography variant=\"body2\">\n <Link to=\"https://backstage.io/docs/features/software-catalog/descriptor-format#specconsumesapis-optional\">\n Learn how to change this.\n </Link>\n </Typography>\n </div>\n }\n columns={EntityTable.componentEntityColumns}\n entities={entities as ComponentEntity[]}\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n ComponentEntity,\n RELATION_API_PROVIDED_BY,\n} from '@backstage/catalog-model';\nimport { Typography } from '@material-ui/core';\nimport {\n EntityTable,\n useEntity,\n useRelatedEntities,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport {\n CodeSnippet,\n InfoCard,\n InfoCardVariants,\n Link,\n Progress,\n WarningPanel,\n} from '@backstage/core-components';\n\n/** @public */\nexport const ProvidingComponentsCard = (props: {\n variant?: InfoCardVariants;\n}) => {\n const { variant = 'gridItem' } = props;\n const { entity } = useEntity();\n const { entities, loading, error } = useRelatedEntities(entity, {\n type: RELATION_API_PROVIDED_BY,\n });\n\n if (loading) {\n return (\n <InfoCard variant={variant} title=\"Providers\">\n <Progress />\n </InfoCard>\n );\n }\n\n if (error || !entities) {\n return (\n <InfoCard variant={variant} title=\"Providers\">\n <WarningPanel\n severity=\"error\"\n title=\"Could not load components\"\n message={<CodeSnippet text={`${error}`} language=\"text\" />}\n />\n </InfoCard>\n );\n }\n\n return (\n <EntityTable\n title=\"Providers\"\n variant={variant}\n emptyContent={\n <div style={{ textAlign: 'center' }}>\n <Typography variant=\"body1\">\n No component provides this API.\n </Typography>\n <Typography variant=\"body2\">\n <Link to=\"https://backstage.io/docs/features/software-catalog/descriptor-format#specprovidesapis-optional\">\n Learn how to change this.\n </Link>\n </Typography>\n </div>\n }\n columns={EntityTable.componentEntityColumns}\n entities={entities as ComponentEntity[]}\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity } from '@backstage/catalog-model';\nimport { defaultDefinitionWidgets } from './components/ApiDefinitionCard';\nimport { apiDocsConfigRef } from './config';\nimport { registerComponentRouteRef, rootRoute } from './routes';\nimport {\n createApiFactory,\n createComponentExtension,\n createPlugin,\n createRoutableExtension,\n} from '@backstage/core-plugin-api';\n\n/** @public */\nexport const apiDocsPlugin = createPlugin({\n id: 'api-docs',\n routes: {\n root: rootRoute,\n },\n apis: [\n createApiFactory({\n api: apiDocsConfigRef,\n deps: {},\n factory: () => {\n const definitionWidgets = defaultDefinitionWidgets();\n return {\n getApiDefinitionWidget: (apiEntity: ApiEntity) => {\n return definitionWidgets.find(d => d.type === apiEntity.spec.type);\n },\n };\n },\n }),\n ],\n externalRoutes: {\n registerApi: registerComponentRouteRef,\n },\n});\n\n/** @public */\nexport const ApiExplorerPage = apiDocsPlugin.provide(\n createRoutableExtension({\n name: 'ApiExplorerPage',\n component: () =>\n import('./components/ApiExplorerPage').then(m => m.ApiExplorerIndexPage),\n mountPoint: rootRoute,\n }),\n);\n\n/** @public */\nexport const EntityApiDefinitionCard = apiDocsPlugin.provide(\n createComponentExtension({\n name: 'EntityApiDefinitionCard',\n component: {\n lazy: () =>\n import('./components/ApiDefinitionCard').then(m => m.ApiDefinitionCard),\n },\n }),\n);\n\n/** @public */\nexport const EntityConsumedApisCard = apiDocsPlugin.provide(\n createComponentExtension({\n name: 'EntityConsumedApisCard',\n component: {\n lazy: () =>\n import('./components/ApisCards').then(m => m.ConsumedApisCard),\n },\n }),\n);\n\n/** @public */\nexport const EntityConsumingComponentsCard = apiDocsPlugin.provide(\n createComponentExtension({\n name: 'EntityConsumingComponentsCard',\n component: {\n lazy: () =>\n import('./components/ComponentsCards').then(\n m => m.ConsumingComponentsCard,\n ),\n },\n }),\n);\n\n/** @public */\nexport const EntityProvidedApisCard = apiDocsPlugin.provide(\n createComponentExtension({\n name: 'EntityProvidedApisCard',\n component: {\n lazy: () =>\n import('./components/ApisCards').then(m => m.ProvidedApisCard),\n },\n }),\n);\n\n/** @public */\nexport const EntityProvidingComponentsCard = apiDocsPlugin.provide(\n createComponentExtension({\n name: 'EntityProvidingComponentsCard',\n component: {\n lazy: () =>\n import('./components/ComponentsCards').then(\n m => m.ProvidingComponentsCard,\n ),\n },\n }),\n);\n\n/** @public */\nexport const EntityHasApisCard = apiDocsPlugin.provide(\n createComponentExtension({\n name: 'EntityHasApisCard',\n component: {\n lazy: () => import('./components/ApisCards').then(m => m.HasApisCard),\n },\n }),\n);\n"],"names":["ApiExplorerPage"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/plugin-api-docs",
|
|
3
3
|
"description": "A Backstage plugin that helps represent API entities in the frontend",
|
|
4
|
-
"version": "0.8.12-next.
|
|
4
|
+
"version": "0.8.12-next.2",
|
|
5
5
|
"main": "dist/index.esm.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"license": "Apache-2.0",
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@asyncapi/react-component": "1.0.0-next.44",
|
|
36
|
-
"@backstage/catalog-model": "^1.1.4-next.
|
|
37
|
-
"@backstage/core-components": "^0.12.1-next.
|
|
38
|
-
"@backstage/core-plugin-api": "^1.
|
|
39
|
-
"@backstage/plugin-catalog": "^1.
|
|
40
|
-
"@backstage/plugin-catalog-react": "^1.2.2-next.
|
|
36
|
+
"@backstage/catalog-model": "^1.1.4-next.1",
|
|
37
|
+
"@backstage/core-components": "^0.12.1-next.2",
|
|
38
|
+
"@backstage/core-plugin-api": "^1.2.0-next.2",
|
|
39
|
+
"@backstage/plugin-catalog": "^1.7.0-next.2",
|
|
40
|
+
"@backstage/plugin-catalog-react": "^1.2.2-next.2",
|
|
41
41
|
"@backstage/theme": "^0.2.16",
|
|
42
42
|
"@material-ui/core": "^4.12.2",
|
|
43
43
|
"@material-ui/icons": "^4.9.1",
|
|
@@ -56,10 +56,10 @@
|
|
|
56
56
|
"react-router-dom": "6.0.0-beta.0 || ^6.3.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@backstage/cli": "^0.21.2-next.
|
|
60
|
-
"@backstage/core-app-api": "^1.2.1-next.
|
|
61
|
-
"@backstage/dev-utils": "^1.0.9-next.
|
|
62
|
-
"@backstage/test-utils": "^1.2.3-next.
|
|
59
|
+
"@backstage/cli": "^0.21.2-next.2",
|
|
60
|
+
"@backstage/core-app-api": "^1.2.1-next.2",
|
|
61
|
+
"@backstage/dev-utils": "^1.0.9-next.2",
|
|
62
|
+
"@backstage/test-utils": "^1.2.3-next.2",
|
|
63
63
|
"@testing-library/jest-dom": "^5.10.1",
|
|
64
64
|
"@testing-library/react": "^12.1.3",
|
|
65
65
|
"@testing-library/user-event": "^14.0.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-5bc4fdc7.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-9e8e4d8c.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-dfba78dd.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-f33becda.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|