@backstage/plugin-api-docs 0.8.8 → 0.8.9-next.0

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 CHANGED
@@ -1,5 +1,18 @@
1
1
  # @backstage/plugin-api-docs
2
2
 
3
+ ## 0.8.9-next.0
4
+
5
+ ### Patch Changes
6
+
7
+ - bf5e9030eb: Updated dependency `msw` to `^0.45.0`.
8
+ - ef9ab322de: Minor API signatures cleanup
9
+ - c8bb0ff8ce: Minor cleanup of the public API surface to reduce the number of warnings
10
+ - Updated dependencies
11
+ - @backstage/core-plugin-api@1.0.6-next.0
12
+ - @backstage/core-components@0.11.1-next.0
13
+ - @backstage/plugin-catalog-react@1.1.4-next.0
14
+ - @backstage/plugin-catalog@1.5.1-next.0
15
+
3
16
  ## 0.8.8
4
17
 
5
18
  ### Patch Changes
@@ -9,4 +9,4 @@ import '@material-ui/lab';
9
9
  import '@material-ui/core/styles';
10
10
  import '@backstage/catalog-model';
11
11
  import '@material-ui/core';
12
- //# sourceMappingURL=index-91a7d3af.esm.js.map
12
+ //# sourceMappingURL=index-5bc4fdc7.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-5bc4fdc7.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -9,4 +9,4 @@ import '@material-ui/lab';
9
9
  import '@material-ui/core/styles';
10
10
  import '@backstage/catalog-model';
11
11
  import '@material-ui/core';
12
- //# sourceMappingURL=index-f826bec4.esm.js.map
12
+ //# sourceMappingURL=index-9e8e4d8c.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-9e8e4d8c.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -9,4 +9,4 @@ import '@material-ui/lab';
9
9
  import '@material-ui/core/styles';
10
10
  import '@backstage/catalog-model';
11
11
  import '@material-ui/core';
12
- //# sourceMappingURL=index-8ac7548d.esm.js.map
12
+ //# sourceMappingURL=index-dfba78dd.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-dfba78dd.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -9,4 +9,4 @@ import '@material-ui/lab';
9
9
  import '@material-ui/core/styles';
10
10
  import '@backstage/catalog-model';
11
11
  import '@material-ui/core';
12
- //# sourceMappingURL=index-bafd8906.esm.js.map
12
+ //# sourceMappingURL=index-f33becda.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-f33becda.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
package/dist/index.d.ts CHANGED
@@ -20,7 +20,7 @@ declare type DefaultApiExplorerPageProps = {
20
20
  * DefaultApiExplorerPage
21
21
  * @public
22
22
  */
23
- declare const DefaultApiExplorerPage: ({ initiallySelectedFilter, columns, actions, }: DefaultApiExplorerPageProps) => JSX.Element;
23
+ declare const DefaultApiExplorerPage: (props: DefaultApiExplorerPageProps) => JSX.Element;
24
24
 
25
25
  /**
26
26
  * ApiExplorerPage
@@ -28,92 +28,124 @@ declare const DefaultApiExplorerPage: ({ initiallySelectedFilter, columns, actio
28
28
  */
29
29
  declare const ApiExplorerPage$1: (props: DefaultApiExplorerPageProps) => JSX.Element;
30
30
 
31
+ /** @public */
31
32
  declare const ApiDefinitionCard: () => JSX.Element;
32
33
 
34
+ /** @public */
33
35
  declare type ApiDefinitionWidget = {
34
36
  type: string;
35
37
  title: string;
36
38
  component: (definition: string) => React.ReactElement;
37
39
  rawLanguage?: string;
38
40
  };
41
+ /** @public */
39
42
  declare function defaultDefinitionWidgets(): ApiDefinitionWidget[];
40
43
 
41
- declare const ApiTypeTitle: ({ apiEntity }: {
44
+ /**
45
+ * @public
46
+ */
47
+ declare const ApiTypeTitle: (props: {
42
48
  apiEntity: ApiEntity;
43
49
  }) => JSX.Element;
44
50
 
45
- declare type Props$4 = {
51
+ /**
52
+ * @public
53
+ */
54
+ declare const ConsumedApisCard: (props: {
46
55
  variant?: InfoCardVariants;
47
- };
48
- declare const ConsumedApisCard: ({ variant }: Props$4) => JSX.Element;
56
+ }) => JSX.Element;
49
57
 
50
- declare type Props$3 = {
58
+ /**
59
+ * @public
60
+ */
61
+ declare const HasApisCard: (props: {
51
62
  variant?: InfoCardVariants;
52
- };
53
- declare const HasApisCard: ({ variant }: Props$3) => JSX.Element;
63
+ }) => JSX.Element;
54
64
 
55
- declare type Props$2 = {
65
+ /**
66
+ * @public
67
+ */
68
+ declare const ProvidedApisCard: (props: {
56
69
  variant?: InfoCardVariants;
57
- };
58
- declare const ProvidedApisCard: ({ variant }: Props$2) => JSX.Element;
70
+ }) => JSX.Element;
59
71
 
72
+ /** @public */
60
73
  declare type AsyncApiDefinitionWidgetProps = {
61
74
  definition: string;
62
75
  };
76
+ /** @public */
63
77
  declare const AsyncApiDefinitionWidget: (props: AsyncApiDefinitionWidgetProps) => JSX.Element;
64
78
 
65
- declare type Props$1 = {
79
+ /**
80
+ * @public
81
+ */
82
+ declare const ConsumingComponentsCard: (props: {
66
83
  variant?: InfoCardVariants;
67
- };
68
- declare const ConsumingComponentsCard: ({ variant }: Props$1) => JSX.Element;
84
+ }) => JSX.Element;
69
85
 
70
- declare type Props = {
86
+ /** @public */
87
+ declare const ProvidingComponentsCard: (props: {
71
88
  variant?: InfoCardVariants;
72
- };
73
- declare const ProvidingComponentsCard: ({ variant }: Props) => JSX.Element;
89
+ }) => JSX.Element;
74
90
 
91
+ /** @public */
75
92
  declare type GraphQlDefinitionWidgetProps = {
76
93
  definition: string;
77
94
  };
95
+ /** @public */
78
96
  declare const GraphQlDefinitionWidget: (props: GraphQlDefinitionWidgetProps) => JSX.Element;
79
97
 
98
+ /** @public */
80
99
  declare type OpenApiDefinitionWidgetProps = {
81
100
  definition: string;
82
101
  };
102
+ /** @public */
83
103
  declare const OpenApiDefinitionWidget: (props: OpenApiDefinitionWidgetProps) => JSX.Element;
84
104
 
105
+ /** @public */
85
106
  declare type PlainApiDefinitionWidgetProps = {
86
107
  definition: any;
87
108
  language: string;
88
109
  };
110
+ /** @public */
89
111
  declare const PlainApiDefinitionWidget: (props: PlainApiDefinitionWidgetProps) => JSX.Element;
90
112
 
113
+ /** @public */
91
114
  declare const apiDocsConfigRef: _backstage_core_plugin_api.ApiRef<ApiDocsConfig>;
115
+ /** @public */
92
116
  interface ApiDocsConfig {
93
117
  getApiDefinitionWidget: (apiEntity: ApiEntity) => ApiDefinitionWidget | undefined;
94
118
  }
95
119
 
120
+ /** @public */
96
121
  declare const apiDocsPlugin: _backstage_core_plugin_api.BackstagePlugin<{
97
122
  root: _backstage_core_plugin_api.RouteRef<undefined>;
98
123
  }, {
99
124
  registerApi: _backstage_core_plugin_api.ExternalRouteRef<undefined, true>;
100
125
  }, {}>;
126
+ /** @public */
101
127
  declare const ApiExplorerPage: (props: DefaultApiExplorerPageProps) => JSX.Element;
128
+ /** @public */
102
129
  declare const EntityApiDefinitionCard: () => JSX.Element;
103
- declare const EntityConsumedApisCard: ({ variant }: {
130
+ /** @public */
131
+ declare const EntityConsumedApisCard: (props: {
104
132
  variant?: _backstage_core_components.InfoCardVariants | undefined;
105
133
  }) => JSX.Element;
106
- declare const EntityConsumingComponentsCard: ({ variant }: {
134
+ /** @public */
135
+ declare const EntityConsumingComponentsCard: (props: {
107
136
  variant?: _backstage_core_components.InfoCardVariants | undefined;
108
137
  }) => JSX.Element;
109
- declare const EntityProvidedApisCard: ({ variant }: {
138
+ /** @public */
139
+ declare const EntityProvidedApisCard: (props: {
110
140
  variant?: _backstage_core_components.InfoCardVariants | undefined;
111
141
  }) => JSX.Element;
112
- declare const EntityProvidingComponentsCard: ({ variant }: {
142
+ /** @public */
143
+ declare const EntityProvidingComponentsCard: (props: {
113
144
  variant?: _backstage_core_components.InfoCardVariants | undefined;
114
145
  }) => JSX.Element;
115
- declare const EntityHasApisCard: ({ variant }: {
146
+ /** @public */
147
+ declare const EntityHasApisCard: (props: {
116
148
  variant?: _backstage_core_components.InfoCardVariants | undefined;
117
149
  }) => JSX.Element;
118
150
 
119
- export { ApiDefinitionCard, ApiDefinitionWidget, ApiExplorerPage$1 as ApiExplorerIndexPage, ApiExplorerPage, ApiTypeTitle, AsyncApiDefinitionWidget, AsyncApiDefinitionWidgetProps, ConsumedApisCard, ConsumingComponentsCard, DefaultApiExplorerPage, DefaultApiExplorerPageProps, EntityApiDefinitionCard, EntityConsumedApisCard, EntityConsumingComponentsCard, EntityHasApisCard, EntityProvidedApisCard, EntityProvidingComponentsCard, GraphQlDefinitionWidget, GraphQlDefinitionWidgetProps, HasApisCard, OpenApiDefinitionWidget, OpenApiDefinitionWidgetProps, PlainApiDefinitionWidget, PlainApiDefinitionWidgetProps, ProvidedApisCard, ProvidingComponentsCard, apiDocsConfigRef, apiDocsPlugin, defaultDefinitionWidgets, apiDocsPlugin as plugin };
151
+ export { ApiDefinitionCard, ApiDefinitionWidget, ApiDocsConfig, ApiExplorerPage$1 as ApiExplorerIndexPage, ApiExplorerPage, ApiTypeTitle, AsyncApiDefinitionWidget, AsyncApiDefinitionWidgetProps, ConsumedApisCard, ConsumingComponentsCard, DefaultApiExplorerPage, DefaultApiExplorerPageProps, EntityApiDefinitionCard, EntityConsumedApisCard, EntityConsumingComponentsCard, EntityHasApisCard, EntityProvidedApisCard, EntityProvidingComponentsCard, GraphQlDefinitionWidget, GraphQlDefinitionWidgetProps, HasApisCard, OpenApiDefinitionWidget, OpenApiDefinitionWidgetProps, PlainApiDefinitionWidget, PlainApiDefinitionWidgetProps, ProvidedApisCard, ProvidingComponentsCard, apiDocsConfigRef, apiDocsPlugin, defaultDefinitionWidgets, apiDocsPlugin as plugin };
package/dist/index.esm.js CHANGED
@@ -27,12 +27,9 @@ const defaultColumns = [
27
27
  CatalogTable.columns.createMetadataDescriptionColumn(),
28
28
  CatalogTable.columns.createTagsColumn()
29
29
  ];
30
- const DefaultApiExplorerPage = ({
31
- initiallySelectedFilter = "all",
32
- columns,
33
- actions
34
- }) => {
30
+ const DefaultApiExplorerPage = (props) => {
35
31
  var _a;
32
+ const { initiallySelectedFilter = "all", columns, actions } = props;
36
33
  const configApi = useApi(configApiRef);
37
34
  const generatedSubtitle = `${(_a = configApi.getOptionalString("organization.name")) != null ? _a : "Backstage"} API Explorer`;
38
35
  const registerComponentLink = useRouteRef(registerComponentRouteRef);
@@ -201,7 +198,8 @@ function defaultDefinitionWidgets() {
201
198
  ];
202
199
  }
203
200
 
204
- const ApiTypeTitle = ({ apiEntity }) => {
201
+ const ApiTypeTitle = (props) => {
202
+ const { apiEntity } = props;
205
203
  const config = useApi(apiDocsConfigRef);
206
204
  const definition = config.getApiDefinitionWidget(apiEntity);
207
205
  const type = definition ? definition.title : apiEntity.spec.type;
@@ -226,7 +224,8 @@ const apiEntityColumns = [
226
224
  EntityTable.columns.createMetadataDescriptionColumn()
227
225
  ];
228
226
 
229
- const ConsumedApisCard = ({ variant = "gridItem" }) => {
227
+ const ConsumedApisCard = (props) => {
228
+ const { variant = "gridItem" } = props;
230
229
  const { entity } = useEntity();
231
230
  const { entities, loading, error } = useRelatedEntities(entity, {
232
231
  type: RELATION_CONSUMES_API
@@ -274,7 +273,8 @@ const columns = [
274
273
  EntityTable.columns.createSpecLifecycleColumn(),
275
274
  EntityTable.columns.createMetadataDescriptionColumn()
276
275
  ];
277
- const HasApisCard = ({ variant = "gridItem" }) => {
276
+ const HasApisCard = (props) => {
277
+ const { variant = "gridItem" } = props;
278
278
  const { entity } = useEntity();
279
279
  const { entities, loading, error } = useRelatedEntities(entity, {
280
280
  type: RELATION_HAS_PART,
@@ -316,7 +316,8 @@ const HasApisCard = ({ variant = "gridItem" }) => {
316
316
  });
317
317
  };
318
318
 
319
- const ProvidedApisCard = ({ variant = "gridItem" }) => {
319
+ const ProvidedApisCard = (props) => {
320
+ const { variant = "gridItem" } = props;
320
321
  const { entity } = useEntity();
321
322
  const { entities, loading, error } = useRelatedEntities(entity, {
322
323
  type: RELATION_PROVIDES_API
@@ -357,7 +358,8 @@ const ProvidedApisCard = ({ variant = "gridItem" }) => {
357
358
  });
358
359
  };
359
360
 
360
- const ConsumingComponentsCard = ({ variant = "gridItem" }) => {
361
+ const ConsumingComponentsCard = (props) => {
362
+ const { variant = "gridItem" } = props;
361
363
  const { entity } = useEntity();
362
364
  const { entities, loading, error } = useRelatedEntities(entity, {
363
365
  type: RELATION_API_CONSUMED_BY
@@ -398,7 +400,8 @@ const ConsumingComponentsCard = ({ variant = "gridItem" }) => {
398
400
  });
399
401
  };
400
402
 
401
- const ProvidingComponentsCard = ({ variant = "gridItem" }) => {
403
+ const ProvidingComponentsCard = (props) => {
404
+ const { variant = "gridItem" } = props;
402
405
  const { entity } = useEntity();
403
406
  const { entities, loading, error } = useRelatedEntities(entity, {
404
407
  type: RELATION_API_PROVIDED_BY
@@ -465,7 +468,7 @@ const apiDocsPlugin = createPlugin({
465
468
  const ApiExplorerPage = apiDocsPlugin.provide(
466
469
  createRoutableExtension({
467
470
  name: "ApiExplorerPage",
468
- component: () => import('./esm/index-91a7d3af.esm.js').then((m) => m.ApiExplorerIndexPage),
471
+ component: () => import('./esm/index-5bc4fdc7.esm.js').then((m) => m.ApiExplorerIndexPage),
469
472
  mountPoint: rootRoute
470
473
  })
471
474
  );
@@ -473,7 +476,7 @@ const EntityApiDefinitionCard = apiDocsPlugin.provide(
473
476
  createComponentExtension({
474
477
  name: "EntityApiDefinitionCard",
475
478
  component: {
476
- lazy: () => import('./esm/index-f826bec4.esm.js').then((m) => m.ApiDefinitionCard)
479
+ lazy: () => import('./esm/index-9e8e4d8c.esm.js').then((m) => m.ApiDefinitionCard)
477
480
  }
478
481
  })
479
482
  );
@@ -481,7 +484,7 @@ const EntityConsumedApisCard = apiDocsPlugin.provide(
481
484
  createComponentExtension({
482
485
  name: "EntityConsumedApisCard",
483
486
  component: {
484
- lazy: () => import('./esm/index-bafd8906.esm.js').then((m) => m.ConsumedApisCard)
487
+ lazy: () => import('./esm/index-f33becda.esm.js').then((m) => m.ConsumedApisCard)
485
488
  }
486
489
  })
487
490
  );
@@ -489,7 +492,7 @@ const EntityConsumingComponentsCard = apiDocsPlugin.provide(
489
492
  createComponentExtension({
490
493
  name: "EntityConsumingComponentsCard",
491
494
  component: {
492
- lazy: () => import('./esm/index-8ac7548d.esm.js').then(
495
+ lazy: () => import('./esm/index-dfba78dd.esm.js').then(
493
496
  (m) => m.ConsumingComponentsCard
494
497
  )
495
498
  }
@@ -499,7 +502,7 @@ const EntityProvidedApisCard = apiDocsPlugin.provide(
499
502
  createComponentExtension({
500
503
  name: "EntityProvidedApisCard",
501
504
  component: {
502
- lazy: () => import('./esm/index-bafd8906.esm.js').then((m) => m.ProvidedApisCard)
505
+ lazy: () => import('./esm/index-f33becda.esm.js').then((m) => m.ProvidedApisCard)
503
506
  }
504
507
  })
505
508
  );
@@ -507,7 +510,7 @@ const EntityProvidingComponentsCard = apiDocsPlugin.provide(
507
510
  createComponentExtension({
508
511
  name: "EntityProvidingComponentsCard",
509
512
  component: {
510
- lazy: () => import('./esm/index-8ac7548d.esm.js').then(
513
+ lazy: () => import('./esm/index-dfba78dd.esm.js').then(
511
514
  (m) => m.ProvidingComponentsCard
512
515
  )
513
516
  }
@@ -517,7 +520,7 @@ const EntityHasApisCard = apiDocsPlugin.provide(
517
520
  createComponentExtension({
518
521
  name: "EntityHasApisCard",
519
522
  component: {
520
- lazy: () => import('./esm/index-bafd8906.esm.js').then((m) => m.HasApisCard)
523
+ lazy: () => import('./esm/index-f33becda.esm.js').then((m) => m.HasApisCard)
521
524
  }
522
525
  })
523
526
  );
@@ -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 = ({\n initiallySelectedFilter = 'all',\n columns,\n actions,\n}: DefaultApiExplorerPageProps) => {\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\nexport const apiDocsConfigRef = createApiRef<ApiDocsConfig>({\n id: 'plugin.api-docs.config',\n});\n\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\nexport type PlainApiDefinitionWidgetProps = {\n definition: any;\n language: string;\n};\n\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\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\nexport type AsyncApiDefinitionWidgetProps = {\n definition: string;\n};\n\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\nexport type GraphQlDefinitionWidgetProps = {\n definition: string;\n};\n\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\nexport type OpenApiDefinitionWidgetProps = {\n definition: string;\n};\n\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\nexport type GrpcApiDefinitionWidgetProps = {\n definition: string;\n};\n\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\nexport type ApiDefinitionWidget = {\n type: string;\n title: string;\n component: (definition: string) => React.ReactElement;\n rawLanguage?: string;\n};\n\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\nexport const ApiTypeTitle = ({ apiEntity }: { apiEntity: ApiEntity }) => {\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\ntype Props = {\n variant?: InfoCardVariants;\n};\n\nexport const ConsumedApisCard = ({ 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\ntype Props = {\n variant?: InfoCardVariants;\n};\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\nexport const HasApisCard = ({ 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\ntype Props = {\n variant?: InfoCardVariants;\n};\n\nexport const ProvidedApisCard = ({ 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\ntype Props = {\n variant?: InfoCardVariants;\n};\n\nexport const ConsumingComponentsCard = ({ 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\ntype Props = {\n variant?: InfoCardVariants;\n};\n\nexport const ProvidingComponentsCard = ({ 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\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\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\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\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\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\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\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\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.8",
4
+ "version": "0.8.9-next.0",
5
5
  "main": "dist/index.esm.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "license": "Apache-2.0",
@@ -35,10 +35,10 @@
35
35
  "dependencies": {
36
36
  "@asyncapi/react-component": "1.0.0-next.40",
37
37
  "@backstage/catalog-model": "^1.1.0",
38
- "@backstage/core-components": "^0.11.0",
39
- "@backstage/core-plugin-api": "^1.0.5",
40
- "@backstage/plugin-catalog": "^1.5.0",
41
- "@backstage/plugin-catalog-react": "^1.1.3",
38
+ "@backstage/core-components": "^0.11.1-next.0",
39
+ "@backstage/core-plugin-api": "^1.0.6-next.0",
40
+ "@backstage/plugin-catalog": "^1.5.1-next.0",
41
+ "@backstage/plugin-catalog-react": "^1.1.4-next.0",
42
42
  "@backstage/theme": "^0.2.16",
43
43
  "@material-ui/core": "^4.12.2",
44
44
  "@material-ui/icons": "^4.9.1",
@@ -57,10 +57,10 @@
57
57
  "react": "^16.13.1 || ^17.0.0"
58
58
  },
59
59
  "devDependencies": {
60
- "@backstage/cli": "^0.18.1",
61
- "@backstage/core-app-api": "^1.0.5",
62
- "@backstage/dev-utils": "^1.0.5",
63
- "@backstage/test-utils": "^1.1.3",
60
+ "@backstage/cli": "^0.18.2-next.0",
61
+ "@backstage/core-app-api": "^1.0.6-next.0",
62
+ "@backstage/dev-utils": "^1.0.6-next.0",
63
+ "@backstage/test-utils": "^1.1.4-next.0",
64
64
  "@testing-library/jest-dom": "^5.10.1",
65
65
  "@testing-library/react": "^12.1.3",
66
66
  "@testing-library/user-event": "^14.0.0",
@@ -68,10 +68,10 @@
68
68
  "@types/node": "^16.11.26",
69
69
  "@types/swagger-ui-react": "^4.1.1",
70
70
  "cross-fetch": "^3.1.5",
71
- "msw": "^0.44.0"
71
+ "msw": "^0.45.0"
72
72
  },
73
73
  "files": [
74
74
  "dist"
75
75
  ],
76
- "gitHead": "a12f6269e3bf224aa7f52475be9152bc52addeed"
76
+ "gitHead": "c6c0b1978a7ab4d29d813996c56beb7e6b48a268"
77
77
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-8ac7548d.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-91a7d3af.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-bafd8906.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-f826bec4.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}