@backstage/plugin-api-docs 0.0.0-nightly-20240816021916 → 0.0.0-nightly-20240817021759
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 +10 -9
- package/README.md +59 -4
- package/alpha/package.json +1 -1
- package/dist/alpha.d.ts +55 -11
- package/dist/components/AsyncApiDefinitionWidget/AsyncApiDefinition.esm.js +16 -10
- package/dist/components/AsyncApiDefinitionWidget/AsyncApiDefinition.esm.js.map +1 -1
- package/dist/components/AsyncApiDefinitionWidget/AsyncApiDefinitionWidget.esm.js.map +1 -1
- package/dist/index.d.ts +10 -1
- package/package.json +13 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
# @backstage/plugin-api-docs
|
|
2
2
|
|
|
3
|
-
## 0.0.0-nightly-
|
|
3
|
+
## 0.0.0-nightly-20240817021759
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
7
|
- 770ba02: `ConsumingComponentsCard` and `ProvidingComponentsCard` will now optionally accept `columns` to override which table columns are displayed
|
|
8
8
|
- fe1fbb2: Migrating usages of the deprecated `createExtension` `v1` format to the newer `v2` format, and old `create*Extension` extension creators to blueprints.
|
|
9
|
+
- ebfeb40: Added `resolvers` prop to `AsyncApiDefinitionWidget`. This allows to override the default http/https resolvers, for example to add authentication to requests to internal schema registries.
|
|
9
10
|
- 4b6d2cb: Updated dependency `@graphiql/react` to `^0.23.0`.
|
|
10
11
|
- 6582799: Add `tableOptions` to all tables and additionally `title` to API tables.
|
|
11
12
|
- Updated dependencies
|
|
12
|
-
- @backstage/plugin-catalog@0.0.0-nightly-
|
|
13
|
-
- @backstage/frontend-plugin-api@0.0.0-nightly-
|
|
14
|
-
- @backstage/plugin-catalog-react@0.0.0-nightly-
|
|
15
|
-
- @backstage/core-components@0.0.0-nightly-
|
|
16
|
-
- @backstage/core-compat-api@0.0.0-nightly-
|
|
17
|
-
- @backstage/catalog-model@0.0.0-nightly-
|
|
13
|
+
- @backstage/plugin-catalog@0.0.0-nightly-20240817021759
|
|
14
|
+
- @backstage/frontend-plugin-api@0.0.0-nightly-20240817021759
|
|
15
|
+
- @backstage/plugin-catalog-react@0.0.0-nightly-20240817021759
|
|
16
|
+
- @backstage/core-components@0.0.0-nightly-20240817021759
|
|
17
|
+
- @backstage/core-compat-api@0.0.0-nightly-20240817021759
|
|
18
|
+
- @backstage/catalog-model@0.0.0-nightly-20240817021759
|
|
18
19
|
- @backstage/core-plugin-api@1.9.3
|
|
19
|
-
- @backstage/plugin-catalog-common@0.0.0-nightly-
|
|
20
|
-
- @backstage/plugin-permission-react@0.0.0-nightly-
|
|
20
|
+
- @backstage/plugin-catalog-common@0.0.0-nightly-20240817021759
|
|
21
|
+
- @backstage/plugin-permission-react@0.0.0-nightly-20240817021759
|
|
21
22
|
|
|
22
23
|
## 0.11.8-next.3
|
|
23
24
|
|
package/README.md
CHANGED
|
@@ -222,10 +222,6 @@ security:
|
|
|
222
222
|
- [read_pets, write_pets]
|
|
223
223
|
```
|
|
224
224
|
|
|
225
|
-
## Links
|
|
226
|
-
|
|
227
|
-
- [The Backstage homepage](https://backstage.io)
|
|
228
|
-
|
|
229
225
|
### Adding `requestInterceptor` to Swagger UI
|
|
230
226
|
|
|
231
227
|
To configure a [`requestInterceptor` for Swagger UI](https://github.com/swagger-api/swagger-ui/tree/master/flavors/swagger-ui-react#requestinterceptor-proptypesfunc) you'll need to add the following to your `api.tsx`:
|
|
@@ -319,3 +315,62 @@ export const apis: AnyApiFactory[] = [
|
|
|
319
315
|
|
|
320
316
|
N.B. if you wish to disable the `Try It Out` feature for your API, you can provide an empty list to
|
|
321
317
|
the `supportedSubmitMethods` parameter.
|
|
318
|
+
|
|
319
|
+
### Custom Resolvers for AsyncApi
|
|
320
|
+
|
|
321
|
+
You can override the default http/https resolvers, for example to add authentication to requests to internal schema registries by providing the `resolvers` prop to the `AsyncApiDefinitionWidget`. This is an example:
|
|
322
|
+
|
|
323
|
+
```tsx
|
|
324
|
+
...
|
|
325
|
+
import {
|
|
326
|
+
AsyncApiDefinitionWidget,
|
|
327
|
+
apiDocsConfigRef,
|
|
328
|
+
defaultDefinitionWidgets,
|
|
329
|
+
} from '@backstage/plugin-api-docs';
|
|
330
|
+
import { ApiEntity } from '@backstage/catalog-model';
|
|
331
|
+
|
|
332
|
+
export const apis: AnyApiFactory[] = [
|
|
333
|
+
...
|
|
334
|
+
createApiFactory({
|
|
335
|
+
api: apiDocsConfigRef,
|
|
336
|
+
deps: {},
|
|
337
|
+
factory: () => {
|
|
338
|
+
const myCustomResolver = {
|
|
339
|
+
schema: 'https',
|
|
340
|
+
order: 1,
|
|
341
|
+
canRead: true,
|
|
342
|
+
async read(uri: any) {
|
|
343
|
+
const response = await fetch(request, {
|
|
344
|
+
headers: {
|
|
345
|
+
X-Custom: 'Custom',
|
|
346
|
+
},
|
|
347
|
+
});
|
|
348
|
+
return response.text();
|
|
349
|
+
},
|
|
350
|
+
};
|
|
351
|
+
|
|
352
|
+
const definitionWidgets = defaultDefinitionWidgets().map(obj => {
|
|
353
|
+
if (obj.type === 'asyncapi') {
|
|
354
|
+
return {
|
|
355
|
+
...obj,
|
|
356
|
+
component: (definition) => (
|
|
357
|
+
<AsyncApiDefinitionWidget definition={definition} resolvers={[myCustomResolver]} />
|
|
358
|
+
),
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
return obj;
|
|
362
|
+
});
|
|
363
|
+
|
|
364
|
+
return {
|
|
365
|
+
getApiDefinitionWidget: (apiEntity: ApiEntity) => {
|
|
366
|
+
return definitionWidgets.find(d => d.type === apiEntity.spec.type);
|
|
367
|
+
},
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
})
|
|
371
|
+
]
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
## Links
|
|
375
|
+
|
|
376
|
+
- [The Backstage homepage](https://backstage.io)
|
package/alpha/package.json
CHANGED
package/dist/alpha.d.ts
CHANGED
|
@@ -12,8 +12,16 @@ declare const _default: _backstage_frontend_plugin_api.BackstagePlugin<{
|
|
|
12
12
|
title: string;
|
|
13
13
|
icon: _backstage_core_plugin_api.IconComponent;
|
|
14
14
|
routeRef: _backstage_frontend_plugin_api.RouteRef<undefined>;
|
|
15
|
-
}, "core.nav-item.target", {}>, {},
|
|
16
|
-
|
|
15
|
+
}, "core.nav-item.target", {}>, {}, {
|
|
16
|
+
kind: "nav-item";
|
|
17
|
+
namespace: undefined;
|
|
18
|
+
name: undefined;
|
|
19
|
+
}>;
|
|
20
|
+
"api:api-docs/config": _backstage_frontend_plugin_api.ExtensionDefinition<{}, {}, _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<_backstage_frontend_plugin_api.AnyApiFactory, "core.api.factory", {}>, {}, {
|
|
21
|
+
kind: "api";
|
|
22
|
+
namespace: undefined;
|
|
23
|
+
name: "config";
|
|
24
|
+
}>;
|
|
17
25
|
"page:api-docs": _backstage_frontend_plugin_api.ExtensionDefinition<{
|
|
18
26
|
initiallySelectedFilter: "all" | "owned" | "starred" | undefined;
|
|
19
27
|
} & {
|
|
@@ -29,7 +37,11 @@ declare const _default: _backstage_frontend_plugin_api.BackstagePlugin<{
|
|
|
29
37
|
optional: boolean;
|
|
30
38
|
singleton: boolean;
|
|
31
39
|
}>;
|
|
32
|
-
},
|
|
40
|
+
}, {
|
|
41
|
+
kind: "page";
|
|
42
|
+
namespace: undefined;
|
|
43
|
+
name: undefined;
|
|
44
|
+
}>;
|
|
33
45
|
"entity-card:api-docs/has-apis": _backstage_frontend_plugin_api.ExtensionDefinition<{
|
|
34
46
|
filter: string | undefined;
|
|
35
47
|
}, {
|
|
@@ -38,7 +50,11 @@ declare const _default: _backstage_frontend_plugin_api.BackstagePlugin<{
|
|
|
38
50
|
optional: true;
|
|
39
51
|
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
40
52
|
optional: true;
|
|
41
|
-
}>, {},
|
|
53
|
+
}>, {}, {
|
|
54
|
+
kind: "entity-card";
|
|
55
|
+
namespace: undefined;
|
|
56
|
+
name: "has-apis";
|
|
57
|
+
}>;
|
|
42
58
|
"entity-card:api-docs/definition": _backstage_frontend_plugin_api.ExtensionDefinition<{
|
|
43
59
|
filter: string | undefined;
|
|
44
60
|
}, {
|
|
@@ -47,7 +63,11 @@ declare const _default: _backstage_frontend_plugin_api.BackstagePlugin<{
|
|
|
47
63
|
optional: true;
|
|
48
64
|
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
49
65
|
optional: true;
|
|
50
|
-
}>, {},
|
|
66
|
+
}>, {}, {
|
|
67
|
+
kind: "entity-card";
|
|
68
|
+
namespace: undefined;
|
|
69
|
+
name: "definition";
|
|
70
|
+
}>;
|
|
51
71
|
"entity-card:api-docs/consumed-apis": _backstage_frontend_plugin_api.ExtensionDefinition<{
|
|
52
72
|
filter: string | undefined;
|
|
53
73
|
}, {
|
|
@@ -56,7 +76,11 @@ declare const _default: _backstage_frontend_plugin_api.BackstagePlugin<{
|
|
|
56
76
|
optional: true;
|
|
57
77
|
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
58
78
|
optional: true;
|
|
59
|
-
}>, {},
|
|
79
|
+
}>, {}, {
|
|
80
|
+
kind: "entity-card";
|
|
81
|
+
namespace: undefined;
|
|
82
|
+
name: "consumed-apis";
|
|
83
|
+
}>;
|
|
60
84
|
"entity-card:api-docs/provided-apis": _backstage_frontend_plugin_api.ExtensionDefinition<{
|
|
61
85
|
filter: string | undefined;
|
|
62
86
|
}, {
|
|
@@ -65,7 +89,11 @@ declare const _default: _backstage_frontend_plugin_api.BackstagePlugin<{
|
|
|
65
89
|
optional: true;
|
|
66
90
|
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
67
91
|
optional: true;
|
|
68
|
-
}>, {},
|
|
92
|
+
}>, {}, {
|
|
93
|
+
kind: "entity-card";
|
|
94
|
+
namespace: undefined;
|
|
95
|
+
name: "provided-apis";
|
|
96
|
+
}>;
|
|
69
97
|
"entity-card:api-docs/consuming-components": _backstage_frontend_plugin_api.ExtensionDefinition<{
|
|
70
98
|
filter: string | undefined;
|
|
71
99
|
}, {
|
|
@@ -74,7 +102,11 @@ declare const _default: _backstage_frontend_plugin_api.BackstagePlugin<{
|
|
|
74
102
|
optional: true;
|
|
75
103
|
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
76
104
|
optional: true;
|
|
77
|
-
}>, {},
|
|
105
|
+
}>, {}, {
|
|
106
|
+
kind: "entity-card";
|
|
107
|
+
namespace: undefined;
|
|
108
|
+
name: "consuming-components";
|
|
109
|
+
}>;
|
|
78
110
|
"entity-card:api-docs/providing-components": _backstage_frontend_plugin_api.ExtensionDefinition<{
|
|
79
111
|
filter: string | undefined;
|
|
80
112
|
}, {
|
|
@@ -83,7 +115,11 @@ declare const _default: _backstage_frontend_plugin_api.BackstagePlugin<{
|
|
|
83
115
|
optional: true;
|
|
84
116
|
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
85
117
|
optional: true;
|
|
86
|
-
}>, {},
|
|
118
|
+
}>, {}, {
|
|
119
|
+
kind: "entity-card";
|
|
120
|
+
namespace: undefined;
|
|
121
|
+
name: "providing-components";
|
|
122
|
+
}>;
|
|
87
123
|
"entity-content:api-docs/definition": _backstage_frontend_plugin_api.ExtensionDefinition<{
|
|
88
124
|
path: string | undefined;
|
|
89
125
|
title: string | undefined;
|
|
@@ -98,7 +134,11 @@ declare const _default: _backstage_frontend_plugin_api.BackstagePlugin<{
|
|
|
98
134
|
optional: true;
|
|
99
135
|
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
100
136
|
optional: true;
|
|
101
|
-
}>, {},
|
|
137
|
+
}>, {}, {
|
|
138
|
+
kind: "entity-content";
|
|
139
|
+
namespace: undefined;
|
|
140
|
+
name: "definition";
|
|
141
|
+
}>;
|
|
102
142
|
"entity-content:api-docs/apis": _backstage_frontend_plugin_api.ExtensionDefinition<{
|
|
103
143
|
path: string | undefined;
|
|
104
144
|
title: string | undefined;
|
|
@@ -113,7 +153,11 @@ declare const _default: _backstage_frontend_plugin_api.BackstagePlugin<{
|
|
|
113
153
|
optional: true;
|
|
114
154
|
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
115
155
|
optional: true;
|
|
116
|
-
}>, {},
|
|
156
|
+
}>, {}, {
|
|
157
|
+
kind: "entity-content";
|
|
158
|
+
namespace: undefined;
|
|
159
|
+
name: "apis";
|
|
160
|
+
}>;
|
|
117
161
|
}>;
|
|
118
162
|
|
|
119
163
|
export { _default as default };
|
|
@@ -143,19 +143,25 @@ const httpFetchResolver = {
|
|
|
143
143
|
return response.text();
|
|
144
144
|
}
|
|
145
145
|
};
|
|
146
|
-
const
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
resolvers: [httpsFetchResolver, httpFetchResolver]
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
const AsyncApiDefinition = ({ definition }) => {
|
|
146
|
+
const AsyncApiDefinition = ({
|
|
147
|
+
definition,
|
|
148
|
+
resolvers
|
|
149
|
+
}) => {
|
|
156
150
|
const classes = useStyles();
|
|
157
151
|
const theme = useTheme();
|
|
158
152
|
const classNames = `${classes.root} ${theme.palette.type === "dark" ? classes.dark : ""}`;
|
|
153
|
+
const config = {
|
|
154
|
+
parserOptions: {
|
|
155
|
+
__unstable: {
|
|
156
|
+
resolver: {
|
|
157
|
+
resolvers: [httpsFetchResolver, httpFetchResolver]
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
if (resolvers) {
|
|
163
|
+
config.parserOptions.__unstable.resolver.resolvers = resolvers;
|
|
164
|
+
}
|
|
159
165
|
return /* @__PURE__ */ React.createElement("div", { className: classNames }, /* @__PURE__ */ React.createElement(AsyncApi, { schema: definition, config }));
|
|
160
166
|
};
|
|
161
167
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncApiDefinition.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 React from 'react';\nimport { useTheme } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles(theme => ({\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 // override whatever may be in the theme's typography to ensure consistency with asyncapi\n textTransform: 'inherit',\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 httpsFetchResolver = {\n schema: 'https',\n order: 1,\n canRead: true,\n async read(uri: any) {\n const response = await fetch(uri.toString());\n return response.text();\n },\n};\n\nconst httpFetchResolver = {\n schema: 'http',\n order: 1,\n canRead: true,\n async read(uri: any) {\n const response = await fetch(uri.toString());\n return response.text();\n },\n};\n\nconst config = {\n parserOptions: {\n __unstable: {\n resolver: {\n resolvers: [httpsFetchResolver, httpFetchResolver],\n },\n },\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":";;;;;AAsBA,MAAM,SAAA,GAAY,WAAW,CAAU,KAAA,MAAA;AAAA,EACrC,IAAM,EAAA;AAAA,IACJ,UAAY,EAAA,SAAA;AAAA,IACZ,aAAe,EAAA;AAAA,MACb,UAAY,EAAA,MAAA;AAAA,KACd;AAAA,IACA,aAAe,EAAA;AAAA,MACb,GAAG,MAAM,UAAW,CAAA,EAAA;AAAA,KACtB;AAAA,IACA,OAAS,EAAA;AAAA,MACP,GAAG,MAAM,UAAW,CAAA,EAAA;AAAA,KACtB;AAAA,IACA,WAAa,EAAA;AAAA,MACX,WAAa,EAAA,KAAA,CAAM,KAAM,CAAA,OAAA,CAAQ,QAAQ,GAAG,CAAA;AAAA,KAC9C;AAAA,IACA,cAAgB,EAAA;AAAA,MACd,QAAU,EAAA,aAAA;AAAA,KACZ;AAAA,IACA,aAAe,EAAA;AAAA,MACb,OAAS,EAAA,MAAA;AAAA,KACX;AAAA,IACA,gBAAkB,EAAA;AAAA,MAChB,eAAA,EAAiB,KAAM,CAAA,OAAA,CAAQ,MAAO,CAAA,EAAA;AAAA,KACxC;AAAA,IACA,gBAAkB,EAAA;AAAA,MAChB,eAAA,EAAiB,KAAM,CAAA,OAAA,CAAQ,IAAK,CAAA,IAAA;AAAA,KACtC;AAAA,IACA,gBAAkB,EAAA;AAAA,MAChB,eAAA,EAAiB,KAAM,CAAA,OAAA,CAAQ,IAAK,CAAA,KAAA;AAAA,KACtC;AAAA,IACA,kBAAoB,EAAA;AAAA,MAClB,eAAA,EAAiB,KAAM,CAAA,OAAA,CAAQ,OAAQ,CAAA,IAAA;AAAA,KACzC;AAAA,IACA,iBAAmB,EAAA;AAAA,MACjB,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,MAAO,CAAA,EAAA;AAAA,KAC9B;AAAA,IACA,iBAAmB,EAAA;AAAA,MACjB,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,KAAM,CAAA,IAAA;AAAA,KAC7B;AAAA,IACA,oBAAsB,EAAA;AAAA,MACpB,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,OAAQ,CAAA,IAAA;AAAA,KAC/B;AAAA,IACA,kBAAoB,EAAA;AAAA,MAClB,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,MAAO,CAAA,EAAA;AAAA,KAC9B;AAAA,IACA,kBAAoB,EAAA;AAAA,MAClB,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,IAAK,CAAA,IAAA;AAAA,KAC5B;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,aAAe,EAAA,MAAA;AAAA,KACjB;AAAA,IACA,UAAY,EAAA;AAAA,MACV,GAAG,MAAM,UAAW,CAAA,MAAA;AAAA,MACpB,YAAA,EAAc,MAAM,KAAM,CAAA,YAAA;AAAA,MAC1B,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,OAAQ,CAAA,IAAA;AAAA;AAAA,MAE7B,aAAe,EAAA,SAAA;AAAA,KACjB;AAAA,IACA,KAAO,EAAA;AAAA,MACL,KAAA,EAAO,MAAM,OAAQ,CAAA,IAAA;AAAA,KACvB;AAAA,IACA,kBAAoB,EAAA;AAAA,MAClB,GAAG,MAAM,UAAW,CAAA,MAAA;AAAA,MACpB,UAAY,EAAA,MAAA;AAAA,MACZ,SAAW,EAAA,YAAA;AAAA,MACX,QAAU,EAAA,EAAA;AAAA,MACV,YAAA,EAAc,MAAM,KAAM,CAAA,YAAA;AAAA,MAC1B,UAAA,EAAY,MAAM,WAAY,CAAA,MAAA;AAAA,QAC5B,CAAC,kBAAoB,EAAA,YAAA,EAAc,QAAQ,CAAA;AAAA,QAC3C;AAAA,UACE,QAAA,EAAU,KAAM,CAAA,WAAA,CAAY,QAAS,CAAA,KAAA;AAAA,SACvC;AAAA,OACF;AAAA,MACA,OAAS,EAAA,UAAA;AAAA,MACT,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,OAAQ,CAAA,IAAA;AAAA,MAC7B,MAAA,EAAQ,aAAa,KAAM,CAAA,KAAA,CAAM,QAAQ,OAAQ,CAAA,IAAA,EAAM,GAAG,CAAC,CAAA,CAAA;AAAA,MAC3D,SAAW,EAAA;AAAA,QACT,cAAgB,EAAA,MAAA;AAAA,QAChB,MAAQ,EAAA,CAAA,UAAA,EAAa,KAAM,CAAA,OAAA,CAAQ,QAAQ,IAAI,CAAA,CAAA;AAAA,QAC/C,eAAiB,EAAA,KAAA;AAAA,UACf,KAAA,CAAM,QAAQ,OAAQ,CAAA,IAAA;AAAA,UACtB,KAAA,CAAM,QAAQ,MAAO,CAAA,YAAA;AAAA,SACvB;AAAA,OACF;AAAA,KACF;AAAA,IACA,mBAAqB,EAAA;AAAA,MACnB,KAAO,EAAA;AAAA,QACL,cAAgB,EAAA,MAAA;AAAA,QAChB,OAAO,KAAM,CAAA,OAAA,CAAQ,gBAAgB,KAAM,CAAA,OAAA,CAAQ,QAAQ,IAAI,CAAA;AAAA,OACjE;AAAA,KACF;AAAA,GACF;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,OAAS,EAAA;AAAA,MACP,IAAA,EAAM,KAAM,CAAA,OAAA,CAAQ,IAAK,CAAA,OAAA;AAAA,KAC3B;AAAA,IACA,UAAY,EAAA;AAAA,MACV,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,IAAK,CAAA,SAAA;AAAA,MAC1B,MAAQ,EAAA;AAAA,QACN,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,IAAK,CAAA,OAAA;AAAA,OAC5B;AAAA,KACF;AAAA,IACA,8BAAgC,EAAA;AAAA,MAC9B,eAAA,EAAiB,KAAM,CAAA,OAAA,CAAQ,UAAW,CAAA,OAAA;AAAA,KAC5C;AAAA,IACA,kBAAoB,EAAA;AAAA,MAClB,KAAO,EAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,CAAK,IAAI,CAAA;AAAA,KAChC;AAAA,IACA,kBAAoB,EAAA;AAAA,MAClB,KAAO,EAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,CAAK,KAAK,CAAA;AAAA,KACjC;AAAA,IACA,iBAAmB,EAAA;AAAA,MACjB,YAAY,MAAO,CAAA,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,YAAY,GAAG,CAAA;AAAA,KAC7D;AAAA,IACA,aAAe,EAAA;AAAA,MACb,iBAAiB,MAAO,CAAA,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,YAAY,GAAG,CAAA;AAAA,MAChE,OAAS,EAAA;AAAA,QACP,iBAAiB,MAAO,CAAA,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,SAAS,GAAG,CAAA;AAAA,OAC/D;AAAA,KACF;AAAA,GACF;AACF,CAAE,CAAA,CAAA,CAAA;AAEF,MAAM,kBAAqB,GAAA;AAAA,EACzB,MAAQ,EAAA,OAAA;AAAA,EACR,KAAO,EAAA,CAAA;AAAA,EACP,OAAS,EAAA,IAAA;AAAA,EACT,MAAM,KAAK,GAAU,EAAA;AACnB,IAAA,MAAM,QAAW,GAAA,MAAM,KAAM,CAAA,GAAA,CAAI,UAAU,CAAA,CAAA;AAC3C,IAAA,OAAO,SAAS,IAAK,EAAA,CAAA;AAAA,GACvB;AACF,CAAA,CAAA;AAEA,MAAM,iBAAoB,GAAA;AAAA,EACxB,MAAQ,EAAA,MAAA;AAAA,EACR,KAAO,EAAA,CAAA;AAAA,EACP,OAAS,EAAA,IAAA;AAAA,EACT,MAAM,KAAK,GAAU,EAAA;AACnB,IAAA,MAAM,QAAW,GAAA,MAAM,KAAM,CAAA,GAAA,CAAI,UAAU,CAAA,CAAA;AAC3C,IAAA,OAAO,SAAS,IAAK,EAAA,CAAA;AAAA,GACvB;AACF,CAAA,CAAA;AAEA,MAAM,MAAS,GAAA;AAAA,EACb,aAAe,EAAA;AAAA,IACb,UAAY,EAAA;AAAA,MACV,QAAU,EAAA;AAAA,QACR,SAAA,EAAW,CAAC,kBAAA,EAAoB,iBAAiB,CAAA;AAAA,OACnD;AAAA,KACF;AAAA,GACF;AACF,CAAA,CAAA;AAMO,MAAM,kBAAqB,GAAA,CAAC,EAAE,UAAA,EAAqC,KAAA;AACxE,EAAA,MAAM,UAAU,SAAU,EAAA,CAAA;AAC1B,EAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,EAAM,MAAA,UAAA,GAAa,CAAG,EAAA,OAAA,CAAQ,IAAI,CAAA,CAAA,EAChC,KAAM,CAAA,OAAA,CAAQ,IAAS,KAAA,MAAA,GAAS,OAAQ,CAAA,IAAA,GAAO,EACjD,CAAA,CAAA,CAAA;AAEA,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,SAAI,SAAW,EAAA,UAAA,EAAA,sCACb,QAAS,EAAA,EAAA,MAAA,EAAQ,UAAY,EAAA,MAAA,EAAgB,CAChD,CAAA,CAAA;AAEJ;;;;"}
|
|
1
|
+
{"version":3,"file":"AsyncApiDefinition.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 React from 'react';\nimport { useTheme } from '@material-ui/core/styles';\n\n/** @public */\nexport type AsyncApiResolver = {\n schema: string;\n order: number;\n canRead: boolean;\n read(uri: any): Promise<string>;\n};\n\nconst useStyles = makeStyles(theme => ({\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 // override whatever may be in the theme's typography to ensure consistency with asyncapi\n textTransform: 'inherit',\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 httpsFetchResolver: AsyncApiResolver = {\n schema: 'https',\n order: 1,\n canRead: true,\n async read(uri: any) {\n const response = await fetch(uri.toString());\n return response.text();\n },\n};\n\nconst httpFetchResolver: AsyncApiResolver = {\n schema: 'http',\n order: 1,\n canRead: true,\n async read(uri: any) {\n const response = await fetch(uri.toString());\n return response.text();\n },\n};\n\ntype Props = {\n definition: string;\n resolvers?: AsyncApiResolver[];\n};\n\nexport const AsyncApiDefinition = ({\n definition,\n resolvers,\n}: 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 const config = {\n parserOptions: {\n __unstable: {\n resolver: {\n resolvers: [httpsFetchResolver, httpFetchResolver],\n },\n },\n },\n };\n\n // Overwrite default resolvers if custom ones are set\n if (resolvers) {\n config.parserOptions.__unstable.resolver.resolvers = resolvers;\n }\n\n return (\n <div className={classNames}>\n <AsyncApi schema={definition} config={config} />\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;AA8BA,MAAM,SAAA,GAAY,WAAW,CAAU,KAAA,MAAA;AAAA,EACrC,IAAM,EAAA;AAAA,IACJ,UAAY,EAAA,SAAA;AAAA,IACZ,aAAe,EAAA;AAAA,MACb,UAAY,EAAA,MAAA;AAAA,KACd;AAAA,IACA,aAAe,EAAA;AAAA,MACb,GAAG,MAAM,UAAW,CAAA,EAAA;AAAA,KACtB;AAAA,IACA,OAAS,EAAA;AAAA,MACP,GAAG,MAAM,UAAW,CAAA,EAAA;AAAA,KACtB;AAAA,IACA,WAAa,EAAA;AAAA,MACX,WAAa,EAAA,KAAA,CAAM,KAAM,CAAA,OAAA,CAAQ,QAAQ,GAAG,CAAA;AAAA,KAC9C;AAAA,IACA,cAAgB,EAAA;AAAA,MACd,QAAU,EAAA,aAAA;AAAA,KACZ;AAAA,IACA,aAAe,EAAA;AAAA,MACb,OAAS,EAAA,MAAA;AAAA,KACX;AAAA,IACA,gBAAkB,EAAA;AAAA,MAChB,eAAA,EAAiB,KAAM,CAAA,OAAA,CAAQ,MAAO,CAAA,EAAA;AAAA,KACxC;AAAA,IACA,gBAAkB,EAAA;AAAA,MAChB,eAAA,EAAiB,KAAM,CAAA,OAAA,CAAQ,IAAK,CAAA,IAAA;AAAA,KACtC;AAAA,IACA,gBAAkB,EAAA;AAAA,MAChB,eAAA,EAAiB,KAAM,CAAA,OAAA,CAAQ,IAAK,CAAA,KAAA;AAAA,KACtC;AAAA,IACA,kBAAoB,EAAA;AAAA,MAClB,eAAA,EAAiB,KAAM,CAAA,OAAA,CAAQ,OAAQ,CAAA,IAAA;AAAA,KACzC;AAAA,IACA,iBAAmB,EAAA;AAAA,MACjB,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,MAAO,CAAA,EAAA;AAAA,KAC9B;AAAA,IACA,iBAAmB,EAAA;AAAA,MACjB,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,KAAM,CAAA,IAAA;AAAA,KAC7B;AAAA,IACA,oBAAsB,EAAA;AAAA,MACpB,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,OAAQ,CAAA,IAAA;AAAA,KAC/B;AAAA,IACA,kBAAoB,EAAA;AAAA,MAClB,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,MAAO,CAAA,EAAA;AAAA,KAC9B;AAAA,IACA,kBAAoB,EAAA;AAAA,MAClB,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,IAAK,CAAA,IAAA;AAAA,KAC5B;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,aAAe,EAAA,MAAA;AAAA,KACjB;AAAA,IACA,UAAY,EAAA;AAAA,MACV,GAAG,MAAM,UAAW,CAAA,MAAA;AAAA,MACpB,YAAA,EAAc,MAAM,KAAM,CAAA,YAAA;AAAA,MAC1B,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,OAAQ,CAAA,IAAA;AAAA;AAAA,MAE7B,aAAe,EAAA,SAAA;AAAA,KACjB;AAAA,IACA,KAAO,EAAA;AAAA,MACL,KAAA,EAAO,MAAM,OAAQ,CAAA,IAAA;AAAA,KACvB;AAAA,IACA,kBAAoB,EAAA;AAAA,MAClB,GAAG,MAAM,UAAW,CAAA,MAAA;AAAA,MACpB,UAAY,EAAA,MAAA;AAAA,MACZ,SAAW,EAAA,YAAA;AAAA,MACX,QAAU,EAAA,EAAA;AAAA,MACV,YAAA,EAAc,MAAM,KAAM,CAAA,YAAA;AAAA,MAC1B,UAAA,EAAY,MAAM,WAAY,CAAA,MAAA;AAAA,QAC5B,CAAC,kBAAoB,EAAA,YAAA,EAAc,QAAQ,CAAA;AAAA,QAC3C;AAAA,UACE,QAAA,EAAU,KAAM,CAAA,WAAA,CAAY,QAAS,CAAA,KAAA;AAAA,SACvC;AAAA,OACF;AAAA,MACA,OAAS,EAAA,UAAA;AAAA,MACT,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,OAAQ,CAAA,IAAA;AAAA,MAC7B,MAAA,EAAQ,aAAa,KAAM,CAAA,KAAA,CAAM,QAAQ,OAAQ,CAAA,IAAA,EAAM,GAAG,CAAC,CAAA,CAAA;AAAA,MAC3D,SAAW,EAAA;AAAA,QACT,cAAgB,EAAA,MAAA;AAAA,QAChB,MAAQ,EAAA,CAAA,UAAA,EAAa,KAAM,CAAA,OAAA,CAAQ,QAAQ,IAAI,CAAA,CAAA;AAAA,QAC/C,eAAiB,EAAA,KAAA;AAAA,UACf,KAAA,CAAM,QAAQ,OAAQ,CAAA,IAAA;AAAA,UACtB,KAAA,CAAM,QAAQ,MAAO,CAAA,YAAA;AAAA,SACvB;AAAA,OACF;AAAA,KACF;AAAA,IACA,mBAAqB,EAAA;AAAA,MACnB,KAAO,EAAA;AAAA,QACL,cAAgB,EAAA,MAAA;AAAA,QAChB,OAAO,KAAM,CAAA,OAAA,CAAQ,gBAAgB,KAAM,CAAA,OAAA,CAAQ,QAAQ,IAAI,CAAA;AAAA,OACjE;AAAA,KACF;AAAA,GACF;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,OAAS,EAAA;AAAA,MACP,IAAA,EAAM,KAAM,CAAA,OAAA,CAAQ,IAAK,CAAA,OAAA;AAAA,KAC3B;AAAA,IACA,UAAY,EAAA;AAAA,MACV,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,IAAK,CAAA,SAAA;AAAA,MAC1B,MAAQ,EAAA;AAAA,QACN,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,IAAK,CAAA,OAAA;AAAA,OAC5B;AAAA,KACF;AAAA,IACA,8BAAgC,EAAA;AAAA,MAC9B,eAAA,EAAiB,KAAM,CAAA,OAAA,CAAQ,UAAW,CAAA,OAAA;AAAA,KAC5C;AAAA,IACA,kBAAoB,EAAA;AAAA,MAClB,KAAO,EAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,CAAK,IAAI,CAAA;AAAA,KAChC;AAAA,IACA,kBAAoB,EAAA;AAAA,MAClB,KAAO,EAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,CAAK,KAAK,CAAA;AAAA,KACjC;AAAA,IACA,iBAAmB,EAAA;AAAA,MACjB,YAAY,MAAO,CAAA,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,YAAY,GAAG,CAAA;AAAA,KAC7D;AAAA,IACA,aAAe,EAAA;AAAA,MACb,iBAAiB,MAAO,CAAA,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,YAAY,GAAG,CAAA;AAAA,MAChE,OAAS,EAAA;AAAA,QACP,iBAAiB,MAAO,CAAA,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,SAAS,GAAG,CAAA;AAAA,OAC/D;AAAA,KACF;AAAA,GACF;AACF,CAAE,CAAA,CAAA,CAAA;AAEF,MAAM,kBAAuC,GAAA;AAAA,EAC3C,MAAQ,EAAA,OAAA;AAAA,EACR,KAAO,EAAA,CAAA;AAAA,EACP,OAAS,EAAA,IAAA;AAAA,EACT,MAAM,KAAK,GAAU,EAAA;AACnB,IAAA,MAAM,QAAW,GAAA,MAAM,KAAM,CAAA,GAAA,CAAI,UAAU,CAAA,CAAA;AAC3C,IAAA,OAAO,SAAS,IAAK,EAAA,CAAA;AAAA,GACvB;AACF,CAAA,CAAA;AAEA,MAAM,iBAAsC,GAAA;AAAA,EAC1C,MAAQ,EAAA,MAAA;AAAA,EACR,KAAO,EAAA,CAAA;AAAA,EACP,OAAS,EAAA,IAAA;AAAA,EACT,MAAM,KAAK,GAAU,EAAA;AACnB,IAAA,MAAM,QAAW,GAAA,MAAM,KAAM,CAAA,GAAA,CAAI,UAAU,CAAA,CAAA;AAC3C,IAAA,OAAO,SAAS,IAAK,EAAA,CAAA;AAAA,GACvB;AACF,CAAA,CAAA;AAOO,MAAM,qBAAqB,CAAC;AAAA,EACjC,UAAA;AAAA,EACA,SAAA;AACF,CAA0B,KAAA;AACxB,EAAA,MAAM,UAAU,SAAU,EAAA,CAAA;AAC1B,EAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,EAAM,MAAA,UAAA,GAAa,CAAG,EAAA,OAAA,CAAQ,IAAI,CAAA,CAAA,EAChC,KAAM,CAAA,OAAA,CAAQ,IAAS,KAAA,MAAA,GAAS,OAAQ,CAAA,IAAA,GAAO,EACjD,CAAA,CAAA,CAAA;AAEA,EAAA,MAAM,MAAS,GAAA;AAAA,IACb,aAAe,EAAA;AAAA,MACb,UAAY,EAAA;AAAA,QACV,QAAU,EAAA;AAAA,UACR,SAAA,EAAW,CAAC,kBAAA,EAAoB,iBAAiB,CAAA;AAAA,SACnD;AAAA,OACF;AAAA,KACF;AAAA,GACF,CAAA;AAGA,EAAA,IAAI,SAAW,EAAA;AACb,IAAO,MAAA,CAAA,aAAA,CAAc,UAAW,CAAA,QAAA,CAAS,SAAY,GAAA,SAAA,CAAA;AAAA,GACvD;AAEA,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,SAAI,SAAW,EAAA,UAAA,EAAA,sCACb,QAAS,EAAA,EAAA,MAAA,EAAQ,UAAY,EAAA,MAAA,EAAgB,CAChD,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncApiDefinitionWidget.esm.js","sources":["../../../src/components/AsyncApiDefinitionWidget/AsyncApiDefinitionWidget.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 { 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"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AsyncApiDefinitionWidget.esm.js","sources":["../../../src/components/AsyncApiDefinitionWidget/AsyncApiDefinitionWidget.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 { Progress } from '@backstage/core-components';\nimport React, { Suspense } from 'react';\nimport { AsyncApiResolver } from './AsyncApiDefinition';\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 resolvers?: AsyncApiResolver[];\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"],"names":[],"mappings":";;;AAsBA,MAAM,yBAAyB,KAAM,CAAA,IAAA;AAAA,EAAK,MACxC,OAAO,6BAAsB,CAAA,CAAE,KAAK,CAAM,CAAA,MAAA;AAAA,IACxC,SAAS,CAAE,CAAA,kBAAA;AAAA,GACX,CAAA,CAAA;AACJ,CAAA,CAAA;AASa,MAAA,wBAAA,GAA2B,CACtC,KACG,KAAA;AACH,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,QAAS,EAAA,EAAA,QAAA,kBAAW,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,IAAS,qBAC3B,KAAA,CAAA,aAAA,CAAA,sBAAA,EAAA,EAAwB,GAAG,KAAA,EAAO,CACrC,CAAA,CAAA;AAEJ;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -92,9 +92,18 @@ declare const ProvidedApisCard: (props: {
|
|
|
92
92
|
tableOptions?: TableOptions;
|
|
93
93
|
}) => React__default.JSX.Element;
|
|
94
94
|
|
|
95
|
+
/** @public */
|
|
96
|
+
type AsyncApiResolver = {
|
|
97
|
+
schema: string;
|
|
98
|
+
order: number;
|
|
99
|
+
canRead: boolean;
|
|
100
|
+
read(uri: any): Promise<string>;
|
|
101
|
+
};
|
|
102
|
+
|
|
95
103
|
/** @public */
|
|
96
104
|
type AsyncApiDefinitionWidgetProps = {
|
|
97
105
|
definition: string;
|
|
106
|
+
resolvers?: AsyncApiResolver[];
|
|
98
107
|
};
|
|
99
108
|
/** @public */
|
|
100
109
|
declare const AsyncApiDefinitionWidget: (props: AsyncApiDefinitionWidgetProps) => React__default.JSX.Element;
|
|
@@ -193,4 +202,4 @@ declare const EntityHasApisCard: (props: {
|
|
|
193
202
|
tableOptions?: _backstage_core_components.TableOptions<{}> | undefined;
|
|
194
203
|
}) => React.JSX.Element;
|
|
195
204
|
|
|
196
|
-
export { ApiDefinitionCard, ApiDefinitionDialog, type ApiDefinitionWidget, type ApiDocsConfig, ApiExplorerPage$1 as ApiExplorerIndexPage, ApiExplorerPage, ApiTypeTitle, AsyncApiDefinitionWidget, type AsyncApiDefinitionWidgetProps, ConsumedApisCard, ConsumingComponentsCard, DefaultApiExplorerPage, type DefaultApiExplorerPageProps, EntityApiDefinitionCard, EntityConsumedApisCard, EntityConsumingComponentsCard, EntityHasApisCard, EntityProvidedApisCard, EntityProvidingComponentsCard, GraphQlDefinitionWidget, type GraphQlDefinitionWidgetProps, HasApisCard, OpenApiDefinitionWidget, type OpenApiDefinitionWidgetProps, PlainApiDefinitionWidget, type PlainApiDefinitionWidgetProps, ProvidedApisCard, ProvidingComponentsCard, TrpcApiDefinitionWidget, type TrpcApiDefinitionWidgetProps, apiDocsConfigRef, apiDocsPlugin, defaultDefinitionWidgets, apiDocsPlugin as plugin };
|
|
205
|
+
export { ApiDefinitionCard, ApiDefinitionDialog, type ApiDefinitionWidget, type ApiDocsConfig, ApiExplorerPage$1 as ApiExplorerIndexPage, ApiExplorerPage, ApiTypeTitle, AsyncApiDefinitionWidget, type AsyncApiDefinitionWidgetProps, type AsyncApiResolver, ConsumedApisCard, ConsumingComponentsCard, DefaultApiExplorerPage, type DefaultApiExplorerPageProps, EntityApiDefinitionCard, EntityConsumedApisCard, EntityConsumingComponentsCard, EntityHasApisCard, EntityProvidedApisCard, EntityProvidingComponentsCard, GraphQlDefinitionWidget, type GraphQlDefinitionWidgetProps, HasApisCard, OpenApiDefinitionWidget, type OpenApiDefinitionWidgetProps, PlainApiDefinitionWidget, type PlainApiDefinitionWidgetProps, ProvidedApisCard, ProvidingComponentsCard, TrpcApiDefinitionWidget, type TrpcApiDefinitionWidgetProps, apiDocsConfigRef, apiDocsPlugin, defaultDefinitionWidgets, apiDocsPlugin as plugin };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/plugin-api-docs",
|
|
3
|
-
"version": "0.0.0-nightly-
|
|
3
|
+
"version": "0.0.0-nightly-20240817021759",
|
|
4
4
|
"description": "A Backstage plugin that helps represent API entities in the frontend",
|
|
5
5
|
"backstage": {
|
|
6
6
|
"role": "frontend-plugin",
|
|
@@ -53,15 +53,15 @@
|
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@asyncapi/react-component": "1.3.1",
|
|
56
|
-
"@backstage/catalog-model": "^0.0.0-nightly-
|
|
57
|
-
"@backstage/core-compat-api": "^0.0.0-nightly-
|
|
58
|
-
"@backstage/core-components": "^0.0.0-nightly-
|
|
56
|
+
"@backstage/catalog-model": "^0.0.0-nightly-20240817021759",
|
|
57
|
+
"@backstage/core-compat-api": "^0.0.0-nightly-20240817021759",
|
|
58
|
+
"@backstage/core-components": "^0.0.0-nightly-20240817021759",
|
|
59
59
|
"@backstage/core-plugin-api": "^1.9.3",
|
|
60
|
-
"@backstage/frontend-plugin-api": "^0.0.0-nightly-
|
|
61
|
-
"@backstage/plugin-catalog": "^0.0.0-nightly-
|
|
62
|
-
"@backstage/plugin-catalog-common": "^0.0.0-nightly-
|
|
63
|
-
"@backstage/plugin-catalog-react": "^0.0.0-nightly-
|
|
64
|
-
"@backstage/plugin-permission-react": "^0.0.0-nightly-
|
|
60
|
+
"@backstage/frontend-plugin-api": "^0.0.0-nightly-20240817021759",
|
|
61
|
+
"@backstage/plugin-catalog": "^0.0.0-nightly-20240817021759",
|
|
62
|
+
"@backstage/plugin-catalog-common": "^0.0.0-nightly-20240817021759",
|
|
63
|
+
"@backstage/plugin-catalog-react": "^0.0.0-nightly-20240817021759",
|
|
64
|
+
"@backstage/plugin-permission-react": "^0.0.0-nightly-20240817021759",
|
|
65
65
|
"@graphiql/react": "^0.23.0",
|
|
66
66
|
"@material-ui/core": "^4.12.2",
|
|
67
67
|
"@material-ui/icons": "^4.9.1",
|
|
@@ -75,10 +75,10 @@
|
|
|
75
75
|
"swagger-ui-react": "^5.0.0"
|
|
76
76
|
},
|
|
77
77
|
"devDependencies": {
|
|
78
|
-
"@backstage/cli": "^0.0.0-nightly-
|
|
79
|
-
"@backstage/core-app-api": "^0.0.0-nightly-
|
|
80
|
-
"@backstage/dev-utils": "^0.0.0-nightly-
|
|
81
|
-
"@backstage/test-utils": "^0.0.0-nightly-
|
|
78
|
+
"@backstage/cli": "^0.0.0-nightly-20240817021759",
|
|
79
|
+
"@backstage/core-app-api": "^0.0.0-nightly-20240817021759",
|
|
80
|
+
"@backstage/dev-utils": "^0.0.0-nightly-20240817021759",
|
|
81
|
+
"@backstage/test-utils": "^0.0.0-nightly-20240817021759",
|
|
82
82
|
"@testing-library/dom": "^10.0.0",
|
|
83
83
|
"@testing-library/jest-dom": "^6.0.0",
|
|
84
84
|
"@testing-library/react": "^15.0.0",
|