@backstage/plugin-devtools 0.1.26-next.1 → 0.1.26-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +3 -5
- package/dist/alpha/plugin.esm.js +2 -2
- package/dist/alpha/plugin.esm.js.map +1 -1
- package/dist/alpha.d.ts +2 -2
- package/dist/components/Content/ConfigContent/ConfigContent.esm.js +18 -15
- package/dist/components/Content/ConfigContent/ConfigContent.esm.js.map +1 -1
- package/dist/components/Content/ExternalDependenciesContent/ExternalDependenciesContent.esm.js +23 -9
- package/dist/components/Content/ExternalDependenciesContent/ExternalDependenciesContent.esm.js.map +1 -1
- package/dist/components/Content/InfoContent/BackstageLogoIcon.esm.js +2 -2
- package/dist/components/Content/InfoContent/BackstageLogoIcon.esm.js.map +1 -1
- package/dist/components/Content/InfoContent/InfoContent.esm.js +62 -38
- package/dist/components/Content/InfoContent/InfoContent.esm.js.map +1 -1
- package/dist/components/Content/InfoContent/InfoDependenciesTable.esm.js +2 -2
- package/dist/components/Content/InfoContent/InfoDependenciesTable.esm.js.map +1 -1
- package/dist/components/DefaultDevToolsPage/DefaultDevToolsPage.esm.js +5 -2
- package/dist/components/DefaultDevToolsPage/DefaultDevToolsPage.esm.js.map +1 -1
- package/dist/components/DevToolsLayout/DevToolsLayout.esm.js +5 -2
- package/dist/components/DevToolsLayout/DevToolsLayout.esm.js.map +1 -1
- package/dist/components/DevToolsPage/DevToolsPage.esm.js +2 -2
- package/dist/components/DevToolsPage/DevToolsPage.esm.js.map +1 -1
- package/dist/index.d.ts +10 -10
- package/package.json +11 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @backstage/plugin-devtools
|
|
2
2
|
|
|
3
|
+
## 0.1.26-next.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- e655f62: Updated `README.md` to use `yarn start` instead of `yarn dev`.
|
|
8
|
+
- a47fd39: Removes instances of default React imports, a necessary update for the upcoming React 19 migration.
|
|
9
|
+
|
|
10
|
+
<https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html>
|
|
11
|
+
|
|
12
|
+
- Updated dependencies
|
|
13
|
+
- @backstage/frontend-plugin-api@0.10.1-next.1
|
|
14
|
+
- @backstage/core-compat-api@0.4.1-next.2
|
|
15
|
+
- @backstage/core-components@0.17.1-next.1
|
|
16
|
+
- @backstage/core-plugin-api@1.10.6-next.0
|
|
17
|
+
- @backstage/plugin-permission-react@0.4.33-next.0
|
|
18
|
+
- @backstage/errors@1.2.7
|
|
19
|
+
- @backstage/plugin-devtools-common@0.1.15
|
|
20
|
+
|
|
3
21
|
## 0.1.26-next.1
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -95,7 +95,7 @@ To setup the DevTools frontend you'll need to do the following steps:
|
|
|
95
95
|
<SidebarItem icon={BuildIcon} to="devtools" text="DevTools" />
|
|
96
96
|
```
|
|
97
97
|
|
|
98
|
-
8. Now run `yarn
|
|
98
|
+
8. Now run `yarn start` from the root of your project and you should see the DevTools option show up just below Settings in your sidebar and clicking on it will get you to the [Info tab](#info)
|
|
99
99
|
|
|
100
100
|
## Customizing
|
|
101
101
|
|
|
@@ -112,7 +112,6 @@ The DevTools plugin has been designed so that you can customize the tabs to suit
|
|
|
112
112
|
InfoContent,
|
|
113
113
|
} from '@backstage/plugin-devtools';
|
|
114
114
|
import { DevToolsLayout } from '@backstage/plugin-devtools';
|
|
115
|
-
import React from 'react';
|
|
116
115
|
|
|
117
116
|
export const DevToolsPage = () => {
|
|
118
117
|
return (
|
|
@@ -151,7 +150,7 @@ The DevTools plugin has been designed so that you can customize the tabs to suit
|
|
|
151
150
|
+ </Route>
|
|
152
151
|
```
|
|
153
152
|
|
|
154
|
-
6. Now run `yarn
|
|
153
|
+
6. Now run `yarn start` from the root of your project. When you go to the DevTools you'll now see you have a third tab for [External Dependencies](#external-dependencies)
|
|
155
154
|
|
|
156
155
|
With this setup you can add or remove the tabs as you'd like or add your own simply by editing your `CustomDevToolsPage.tsx` file
|
|
157
156
|
|
|
@@ -190,7 +189,7 @@ Here's how to add the Catalog Unprocessed Entities tab:
|
|
|
190
189
|
</DevToolsLayout>
|
|
191
190
|
```
|
|
192
191
|
|
|
193
|
-
4. Now run `yarn
|
|
192
|
+
4. Now run `yarn start` and navigate to the DevTools you'll see a new tab for Unprocessed Entities
|
|
194
193
|
|
|
195
194
|
## Permissions
|
|
196
195
|
|
|
@@ -374,7 +373,6 @@ import {
|
|
|
374
373
|
devToolsInfoReadPermission,
|
|
375
374
|
} from '@backstage/plugin-devtools-common';
|
|
376
375
|
import { RequirePermission } from '@backstage/plugin-permission-react';
|
|
377
|
-
import React from 'react';
|
|
378
376
|
|
|
379
377
|
const DevToolsPage = () => {
|
|
380
378
|
return (
|
package/dist/alpha/plugin.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { ApiBlueprint, createApiFactory, discoveryApiRef, fetchApiRef, PageBlueprint, NavItemBlueprint, createFrontendPlugin } from '@backstage/frontend-plugin-api';
|
|
3
3
|
import { devToolsApiRef } from '../api/DevToolsApi.esm.js';
|
|
4
4
|
import { DevToolsClient } from '../api/DevToolsClient.esm.js';
|
|
@@ -23,7 +23,7 @@ const devToolsPage = PageBlueprint.make({
|
|
|
23
23
|
defaultPath: "/devtools",
|
|
24
24
|
routeRef: convertLegacyRouteRef(rootRouteRef),
|
|
25
25
|
loader: () => import('../components/DevToolsPage/index.esm.js').then(
|
|
26
|
-
(m) => compatWrapper(/* @__PURE__ */
|
|
26
|
+
(m) => compatWrapper(/* @__PURE__ */ jsx(m.DevToolsPage, {}))
|
|
27
27
|
)
|
|
28
28
|
}
|
|
29
29
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.esm.js","sources":["../../src/alpha/plugin.tsx"],"sourcesContent":["/*\n * Copyright 2023 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
|
|
1
|
+
{"version":3,"file":"plugin.esm.js","sources":["../../src/alpha/plugin.tsx"],"sourcesContent":["/*\n * Copyright 2023 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 createApiFactory,\n createFrontendPlugin,\n discoveryApiRef,\n fetchApiRef,\n ApiBlueprint,\n PageBlueprint,\n NavItemBlueprint,\n} from '@backstage/frontend-plugin-api';\n\nimport { devToolsApiRef, DevToolsClient } from '../api';\nimport {\n compatWrapper,\n convertLegacyRouteRef,\n} from '@backstage/core-compat-api';\nimport BuildIcon from '@material-ui/icons/Build';\nimport { rootRouteRef } from '../routes';\n\n/** @alpha */\nexport const devToolsApi = ApiBlueprint.make({\n params: {\n factory: createApiFactory({\n api: devToolsApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n fetchApi: fetchApiRef,\n },\n factory: ({ discoveryApi, fetchApi }) =>\n new DevToolsClient({ discoveryApi, fetchApi }),\n }),\n },\n});\n\n/** @alpha */\nexport const devToolsPage = PageBlueprint.make({\n params: {\n defaultPath: '/devtools',\n routeRef: convertLegacyRouteRef(rootRouteRef),\n loader: () =>\n import('../components/DevToolsPage').then(m =>\n compatWrapper(<m.DevToolsPage />),\n ),\n },\n});\n\n/** @alpha */\nexport const devToolsNavItem = NavItemBlueprint.make({\n params: {\n title: 'DevTools',\n routeRef: convertLegacyRouteRef(rootRouteRef),\n icon: BuildIcon,\n },\n});\n\n/** @alpha */\nexport default createFrontendPlugin({\n id: 'devtools',\n routes: {\n root: convertLegacyRouteRef(rootRouteRef),\n },\n extensions: [devToolsApi, devToolsPage, devToolsNavItem],\n});\n"],"names":[],"mappings":";;;;;;;;AAmCa,MAAA,WAAA,GAAc,aAAa,IAAK,CAAA;AAAA,EAC3C,MAAQ,EAAA;AAAA,IACN,SAAS,gBAAiB,CAAA;AAAA,MACxB,GAAK,EAAA,cAAA;AAAA,MACL,IAAM,EAAA;AAAA,QACJ,YAAc,EAAA,eAAA;AAAA,QACd,QAAU,EAAA;AAAA,OACZ;AAAA,MACA,OAAA,EAAS,CAAC,EAAE,YAAc,EAAA,QAAA,EACxB,KAAA,IAAI,cAAe,CAAA,EAAE,YAAc,EAAA,QAAA,EAAU;AAAA,KAChD;AAAA;AAEL,CAAC;AAGY,MAAA,YAAA,GAAe,cAAc,IAAK,CAAA;AAAA,EAC7C,MAAQ,EAAA;AAAA,IACN,WAAa,EAAA,WAAA;AAAA,IACb,QAAA,EAAU,sBAAsB,YAAY,CAAA;AAAA,IAC5C,MAAQ,EAAA,MACN,OAAO,yCAA4B,CAAE,CAAA,IAAA;AAAA,MAAK,OACxC,aAAc,iBAAA,GAAA,CAAC,CAAE,CAAA,YAAA,EAAF,EAAe,CAAE;AAAA;AAClC;AAEN,CAAC;AAGY,MAAA,eAAA,GAAkB,iBAAiB,IAAK,CAAA;AAAA,EACnD,MAAQ,EAAA;AAAA,IACN,KAAO,EAAA,UAAA;AAAA,IACP,QAAA,EAAU,sBAAsB,YAAY,CAAA;AAAA,IAC5C,IAAM,EAAA;AAAA;AAEV,CAAC;AAGD,aAAe,oBAAqB,CAAA;AAAA,EAClC,EAAI,EAAA,UAAA;AAAA,EACJ,MAAQ,EAAA;AAAA,IACN,IAAA,EAAM,sBAAsB,YAAY;AAAA,GAC1C;AAAA,EACA,UAAY,EAAA,CAAC,WAAa,EAAA,YAAA,EAAc,eAAe;AACzD,CAAC,CAAA;;;;"}
|
package/dist/alpha.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
|
|
2
|
+
import * as react from 'react';
|
|
2
3
|
import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
|
|
3
|
-
import React__default from 'react';
|
|
4
4
|
|
|
5
5
|
/** @alpha */
|
|
6
6
|
declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
@@ -43,7 +43,7 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
43
43
|
configInput: {
|
|
44
44
|
path?: string | undefined;
|
|
45
45
|
};
|
|
46
|
-
output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<
|
|
46
|
+
output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
47
47
|
optional: true;
|
|
48
48
|
}>;
|
|
49
49
|
inputs: {};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
1
2
|
import { Progress, WarningPanel } from '@backstage/core-components';
|
|
2
3
|
import Box from '@material-ui/core/Box';
|
|
3
4
|
import Paper from '@material-ui/core/Paper';
|
|
4
5
|
import Typography from '@material-ui/core/Typography';
|
|
5
6
|
import { makeStyles, createStyles, useTheme } from '@material-ui/core/styles';
|
|
6
7
|
import Alert from '@material-ui/lab/Alert';
|
|
7
|
-
import React from 'react';
|
|
8
8
|
import ReactJson from 'react-json-view';
|
|
9
9
|
import { useConfig } from '../../../hooks/useConfig.esm.js';
|
|
10
10
|
import '../../../api/DevToolsApi.esm.js';
|
|
@@ -24,32 +24,35 @@ const useStyles = makeStyles(
|
|
|
24
24
|
);
|
|
25
25
|
const WarningContent = ({ error }) => {
|
|
26
26
|
if (!error.messages) {
|
|
27
|
-
return /* @__PURE__ */
|
|
27
|
+
return /* @__PURE__ */ jsx(Typography, { children: error.message });
|
|
28
28
|
}
|
|
29
29
|
const messages = error.messages;
|
|
30
|
-
return /* @__PURE__ */
|
|
30
|
+
return /* @__PURE__ */ jsx(Box, { children: messages.map((message) => /* @__PURE__ */ jsx(Typography, { children: message })) });
|
|
31
31
|
};
|
|
32
32
|
const ConfigContent = () => {
|
|
33
33
|
const classes = useStyles();
|
|
34
34
|
const theme = useTheme();
|
|
35
35
|
const { configInfo, loading, error } = useConfig();
|
|
36
36
|
if (loading) {
|
|
37
|
-
return /* @__PURE__ */
|
|
37
|
+
return /* @__PURE__ */ jsx(Progress, {});
|
|
38
38
|
} else if (error) {
|
|
39
|
-
return /* @__PURE__ */
|
|
39
|
+
return /* @__PURE__ */ jsx(Alert, { severity: "error", children: error.message });
|
|
40
40
|
}
|
|
41
41
|
if (!configInfo) {
|
|
42
|
-
return /* @__PURE__ */
|
|
42
|
+
return /* @__PURE__ */ jsx(Alert, { severity: "error", children: "Unable to load config data" });
|
|
43
43
|
}
|
|
44
|
-
return /* @__PURE__ */
|
|
45
|
-
|
|
46
|
-
{
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
44
|
+
return /* @__PURE__ */ jsxs(Box, { children: [
|
|
45
|
+
configInfo && configInfo.error && /* @__PURE__ */ jsx(Box, { className: classes.warningStyle, children: /* @__PURE__ */ jsx(WarningPanel, { title: "Config validation failed", children: /* @__PURE__ */ jsx(WarningContent, { error: configInfo.error }) }) }),
|
|
46
|
+
/* @__PURE__ */ jsx(Paper, { className: classes.paperStyle, children: /* @__PURE__ */ jsx(
|
|
47
|
+
ReactJson,
|
|
48
|
+
{
|
|
49
|
+
src: configInfo.config,
|
|
50
|
+
name: "config",
|
|
51
|
+
enableClipboard: false,
|
|
52
|
+
theme: theme.palette.type === "dark" ? "chalk" : "rjv-default"
|
|
53
|
+
}
|
|
54
|
+
) })
|
|
55
|
+
] });
|
|
53
56
|
};
|
|
54
57
|
|
|
55
58
|
export { ConfigContent, WarningContent };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigContent.esm.js","sources":["../../../../src/components/Content/ConfigContent/ConfigContent.tsx"],"sourcesContent":["/*\n * Copyright 2022 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, WarningPanel } from '@backstage/core-components';\nimport Box from '@material-ui/core/Box';\nimport Paper from '@material-ui/core/Paper';\nimport Typography from '@material-ui/core/Typography';\nimport {\n createStyles,\n makeStyles,\n Theme,\n useTheme,\n} from '@material-ui/core/styles';\nimport Alert from '@material-ui/lab/Alert';\nimport
|
|
1
|
+
{"version":3,"file":"ConfigContent.esm.js","sources":["../../../../src/components/Content/ConfigContent/ConfigContent.tsx"],"sourcesContent":["/*\n * Copyright 2022 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, WarningPanel } from '@backstage/core-components';\nimport Box from '@material-ui/core/Box';\nimport Paper from '@material-ui/core/Paper';\nimport Typography from '@material-ui/core/Typography';\nimport {\n createStyles,\n makeStyles,\n Theme,\n useTheme,\n} from '@material-ui/core/styles';\nimport Alert from '@material-ui/lab/Alert';\nimport ReactJson from 'react-json-view';\nimport { useConfig } from '../../../hooks';\nimport { ConfigError } from '@backstage/plugin-devtools-common';\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n warningStyle: {\n paddingBottom: theme.spacing(2),\n },\n paperStyle: {\n padding: theme.spacing(2),\n },\n }),\n);\n\nexport const WarningContent = ({ error }: { error: ConfigError }) => {\n if (!error.messages) {\n return <Typography>{error.message}</Typography>;\n }\n\n const messages = error.messages as string[];\n\n return (\n <Box>\n {messages.map(message => (\n <Typography>{message}</Typography>\n ))}\n </Box>\n );\n};\n\n/** @public */\nexport const ConfigContent = () => {\n const classes = useStyles();\n const theme = useTheme();\n const { configInfo, loading, error } = useConfig();\n\n if (loading) {\n return <Progress />;\n } else if (error) {\n return <Alert severity=\"error\">{error.message}</Alert>;\n }\n\n if (!configInfo) {\n return <Alert severity=\"error\">Unable to load config data</Alert>;\n }\n\n return (\n <Box>\n {configInfo && configInfo.error && (\n <Box className={classes.warningStyle}>\n <WarningPanel title=\"Config validation failed\">\n <WarningContent error={configInfo.error} />\n </WarningPanel>\n </Box>\n )}\n <Paper className={classes.paperStyle}>\n <ReactJson\n src={configInfo.config as object}\n name=\"config\"\n enableClipboard={false}\n theme={theme.palette.type === 'dark' ? 'chalk' : 'rjv-default'}\n />\n </Paper>\n </Box>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AA+BA,MAAM,SAAY,GAAA,UAAA;AAAA,EAAW,CAAC,UAC5B,YAAa,CAAA;AAAA,IACX,YAAc,EAAA;AAAA,MACZ,aAAA,EAAe,KAAM,CAAA,OAAA,CAAQ,CAAC;AAAA,KAChC;AAAA,IACA,UAAY,EAAA;AAAA,MACV,OAAA,EAAS,KAAM,CAAA,OAAA,CAAQ,CAAC;AAAA;AAC1B,GACD;AACH,CAAA;AAEO,MAAM,cAAiB,GAAA,CAAC,EAAE,KAAA,EAAoC,KAAA;AACnE,EAAI,IAAA,CAAC,MAAM,QAAU,EAAA;AACnB,IAAO,uBAAA,GAAA,CAAC,UAAY,EAAA,EAAA,QAAA,EAAA,KAAA,CAAM,OAAQ,EAAA,CAAA;AAAA;AAGpC,EAAA,MAAM,WAAW,KAAM,CAAA,QAAA;AAEvB,EACE,uBAAA,GAAA,CAAC,OACE,QAAS,EAAA,QAAA,CAAA,GAAA,CAAI,6BACX,GAAA,CAAA,UAAA,EAAA,EAAY,QAAQ,EAAA,OAAA,EAAA,CACtB,CACH,EAAA,CAAA;AAEJ;AAGO,MAAM,gBAAgB,MAAM;AACjC,EAAA,MAAM,UAAU,SAAU,EAAA;AAC1B,EAAA,MAAM,QAAQ,QAAS,EAAA;AACvB,EAAA,MAAM,EAAE,UAAA,EAAY,OAAS,EAAA,KAAA,KAAU,SAAU,EAAA;AAEjD,EAAA,IAAI,OAAS,EAAA;AACX,IAAA,2BAAQ,QAAS,EAAA,EAAA,CAAA;AAAA,aACR,KAAO,EAAA;AAChB,IAAA,uBAAQ,GAAA,CAAA,KAAA,EAAA,EAAM,QAAS,EAAA,OAAA,EAAS,gBAAM,OAAQ,EAAA,CAAA;AAAA;AAGhD,EAAA,IAAI,CAAC,UAAY,EAAA;AACf,IAAA,uBAAQ,GAAA,CAAA,KAAA,EAAA,EAAM,QAAS,EAAA,OAAA,EAAQ,QAA0B,EAAA,4BAAA,EAAA,CAAA;AAAA;AAG3D,EAAA,4BACG,GACE,EAAA,EAAA,QAAA,EAAA;AAAA,IAAA,UAAA,IAAc,WAAW,KACxB,oBAAA,GAAA,CAAC,GAAI,EAAA,EAAA,SAAA,EAAW,QAAQ,YACtB,EAAA,QAAA,kBAAA,GAAA,CAAC,YAAa,EAAA,EAAA,KAAA,EAAM,4BAClB,QAAC,kBAAA,GAAA,CAAA,cAAA,EAAA,EAAe,OAAO,UAAW,CAAA,KAAA,EAAO,GAC3C,CACF,EAAA,CAAA;AAAA,oBAED,GAAA,CAAA,KAAA,EAAA,EAAM,SAAW,EAAA,OAAA,CAAQ,UACxB,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,KAAK,UAAW,CAAA,MAAA;AAAA,QAChB,IAAK,EAAA,QAAA;AAAA,QACL,eAAiB,EAAA,KAAA;AAAA,QACjB,KAAO,EAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,KAAS,SAAS,OAAU,GAAA;AAAA;AAAA,KAErD,EAAA;AAAA,GACF,EAAA,CAAA;AAEJ;;;;"}
|
package/dist/components/Content/ExternalDependenciesContent/ExternalDependenciesContent.esm.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
1
2
|
import { Progress, Table, StatusWarning, StatusError, StatusOK } from '@backstage/core-components';
|
|
2
3
|
import Box from '@material-ui/core/Box';
|
|
3
4
|
import Grid from '@material-ui/core/Grid';
|
|
@@ -5,7 +6,6 @@ import Paper from '@material-ui/core/Paper';
|
|
|
5
6
|
import Typography from '@material-ui/core/Typography';
|
|
6
7
|
import { makeStyles, createStyles } from '@material-ui/core/styles';
|
|
7
8
|
import Alert from '@material-ui/lab/Alert';
|
|
8
|
-
import React from 'react';
|
|
9
9
|
import '../../../api/DevToolsApi.esm.js';
|
|
10
10
|
import '@backstage/errors';
|
|
11
11
|
import '@backstage/core-plugin-api';
|
|
@@ -22,12 +22,23 @@ const useStyles = makeStyles(
|
|
|
22
22
|
const getExternalDependencyStatus = (result) => {
|
|
23
23
|
switch (result?.status) {
|
|
24
24
|
case "Healthy":
|
|
25
|
-
return /* @__PURE__ */
|
|
25
|
+
return /* @__PURE__ */ jsxs(Typography, { component: "span", children: [
|
|
26
|
+
/* @__PURE__ */ jsx(StatusOK, {}),
|
|
27
|
+
" ",
|
|
28
|
+
result.status
|
|
29
|
+
] });
|
|
26
30
|
case "Unhealthy":
|
|
27
|
-
return /* @__PURE__ */
|
|
31
|
+
return /* @__PURE__ */ jsxs(Typography, { component: "span", children: [
|
|
32
|
+
/* @__PURE__ */ jsx(StatusError, {}),
|
|
33
|
+
" ",
|
|
34
|
+
`${result.status}`
|
|
35
|
+
] });
|
|
28
36
|
case void 0:
|
|
29
37
|
default:
|
|
30
|
-
return /* @__PURE__ */
|
|
38
|
+
return /* @__PURE__ */ jsxs(Typography, { component: "span", children: [
|
|
39
|
+
/* @__PURE__ */ jsx(StatusWarning, {}),
|
|
40
|
+
" Unknown"
|
|
41
|
+
] });
|
|
31
42
|
}
|
|
32
43
|
};
|
|
33
44
|
const columns = [
|
|
@@ -49,21 +60,24 @@ const columns = [
|
|
|
49
60
|
{
|
|
50
61
|
title: "Status",
|
|
51
62
|
width: "auto",
|
|
52
|
-
render: (row) => /* @__PURE__ */
|
|
63
|
+
render: (row) => /* @__PURE__ */ jsxs(Grid, { container: true, direction: "column", children: [
|
|
64
|
+
/* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(Typography, { variant: "button", children: getExternalDependencyStatus(row) }) }),
|
|
65
|
+
/* @__PURE__ */ jsx(Grid, { item: true, children: row.error && /* @__PURE__ */ jsx(Typography, { children: row.error }) })
|
|
66
|
+
] })
|
|
53
67
|
}
|
|
54
68
|
];
|
|
55
69
|
const ExternalDependenciesContent = () => {
|
|
56
70
|
const classes = useStyles();
|
|
57
71
|
const { externalDependencies, loading, error } = useExternalDependencies();
|
|
58
72
|
if (loading) {
|
|
59
|
-
return /* @__PURE__ */
|
|
73
|
+
return /* @__PURE__ */ jsx(Progress, {});
|
|
60
74
|
} else if (error) {
|
|
61
|
-
return /* @__PURE__ */
|
|
75
|
+
return /* @__PURE__ */ jsx(Alert, { severity: "error", children: error.message });
|
|
62
76
|
}
|
|
63
77
|
if (!externalDependencies || externalDependencies.length === 0) {
|
|
64
|
-
return /* @__PURE__ */
|
|
78
|
+
return /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(Paper, { className: classes.paperStyle, children: /* @__PURE__ */ jsx(Typography, { children: "No external dependencies found" }) }) });
|
|
65
79
|
}
|
|
66
|
-
return /* @__PURE__ */
|
|
80
|
+
return /* @__PURE__ */ jsx(
|
|
67
81
|
Table,
|
|
68
82
|
{
|
|
69
83
|
title: "Status",
|
package/dist/components/Content/ExternalDependenciesContent/ExternalDependenciesContent.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExternalDependenciesContent.esm.js","sources":["../../../../src/components/Content/ExternalDependenciesContent/ExternalDependenciesContent.tsx"],"sourcesContent":["/*\n * Copyright 2022 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 Progress,\n StatusError,\n StatusOK,\n StatusWarning,\n Table,\n TableColumn,\n} from '@backstage/core-components';\nimport { ExternalDependency } from '@backstage/plugin-devtools-common';\nimport Box from '@material-ui/core/Box';\nimport Grid from '@material-ui/core/Grid';\nimport Paper from '@material-ui/core/Paper';\nimport Typography from '@material-ui/core/Typography';\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport Alert from '@material-ui/lab/Alert';\nimport
|
|
1
|
+
{"version":3,"file":"ExternalDependenciesContent.esm.js","sources":["../../../../src/components/Content/ExternalDependenciesContent/ExternalDependenciesContent.tsx"],"sourcesContent":["/*\n * Copyright 2022 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 Progress,\n StatusError,\n StatusOK,\n StatusWarning,\n Table,\n TableColumn,\n} from '@backstage/core-components';\nimport { ExternalDependency } from '@backstage/plugin-devtools-common';\nimport Box from '@material-ui/core/Box';\nimport Grid from '@material-ui/core/Grid';\nimport Paper from '@material-ui/core/Paper';\nimport Typography from '@material-ui/core/Typography';\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport Alert from '@material-ui/lab/Alert';\nimport { useExternalDependencies } from '../../../hooks';\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n paperStyle: {\n padding: theme.spacing(2),\n },\n }),\n);\n\nexport const getExternalDependencyStatus = (\n result: Partial<ExternalDependency> | undefined,\n) => {\n switch (result?.status) {\n case 'Healthy':\n return (\n <Typography component=\"span\">\n <StatusOK /> {result.status}\n </Typography>\n );\n case 'Unhealthy':\n return (\n <Typography component=\"span\">\n <StatusError /> {`${result.status}`}\n </Typography>\n );\n case undefined:\n default:\n return (\n <Typography component=\"span\">\n <StatusWarning /> Unknown\n </Typography>\n );\n }\n};\n\nconst columns: TableColumn[] = [\n {\n title: 'Name',\n width: 'auto',\n field: 'name',\n },\n {\n title: 'Target',\n width: 'auto',\n field: 'target',\n },\n {\n title: 'Type',\n width: 'auto',\n field: 'type',\n },\n {\n title: 'Status',\n width: 'auto',\n render: (row: Partial<ExternalDependency>) => (\n <Grid container direction=\"column\">\n <Grid item>\n <Typography variant=\"button\">\n {getExternalDependencyStatus(row)}\n </Typography>\n </Grid>\n <Grid item>{row.error && <Typography>{row.error}</Typography>}</Grid>\n </Grid>\n ),\n },\n];\n\n/** @public */\nexport const ExternalDependenciesContent = () => {\n const classes = useStyles();\n const { externalDependencies, loading, error } = useExternalDependencies();\n\n if (loading) {\n return <Progress />;\n } else if (error) {\n return <Alert severity=\"error\">{error.message}</Alert>;\n }\n\n if (!externalDependencies || externalDependencies.length === 0) {\n return (\n <Box>\n <Paper className={classes.paperStyle}>\n <Typography>No external dependencies found</Typography>\n </Paper>\n </Box>\n );\n }\n\n return (\n <Table\n title=\"Status\"\n options={{\n paging: true,\n pageSize: 20,\n pageSizeOptions: [20, 50, 100],\n loadingType: 'linear',\n showEmptyDataSourceMessage: !loading,\n }}\n columns={columns}\n data={externalDependencies || []}\n />\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
1
2
|
import SvgIcon from '@material-ui/core/SvgIcon';
|
|
2
|
-
import React from 'react';
|
|
3
3
|
|
|
4
|
-
const BackstageLogoIcon = (props) => /* @__PURE__ */
|
|
4
|
+
const BackstageLogoIcon = (props) => /* @__PURE__ */ jsx(SvgIcon, { ...props, viewBox: "0 0 337.46 428.5", children: /* @__PURE__ */ jsx("path", { d: "M303 166.05a80.69 80.69 0 0013.45-10.37c.79-.77 1.55-1.53 2.3-2.3a83.12 83.12 0 007.93-9.38 63.69 63.69 0 006.32-10.77 48.58 48.58 0 004.35-16.4c1.49-19.39-10-38.67-35.62-54.22L198.56 0 78.3 115.23 0 190.25l108.6 65.91a111.59 111.59 0 0057.76 16.41c24.92 0 48.8-8.8 66.42-25.69 19.16-18.36 25.52-42.12 13.7-61.87a49.22 49.22 0 00-6.8-8.87 89.17 89.17 0 0019.32 2.15h.15a85.08 85.08 0 0031-5.79 80.88 80.88 0 0012.85-6.45zm-100.55 59.81c-19.32 18.51-50.4 21.23-75.7 5.9l-75.14-45.61 67.45-64.64 76.41 46.38c27.53 16.69 26.02 39.72 6.98 57.97zm8.93-82.22l-70.65-42.89L205.14 39l69.37 42.1c25.94 15.72 29.31 37 10.55 55a60.69 60.69 0 01-73.68 7.54zm29.86 190c-19.57 18.75-46.17 29.09-74.88 29.09a123.73 123.73 0 01-64.1-18.2L0 282.52v24.67l108.6 65.91a111.6 111.6 0 0057.76 16.42c24.92 0 48.8-8.81 66.42-25.69 12.88-12.34 20-27.13 19.68-41.49v-1.79a87.27 87.27 0 01-11.22 13.13zm0-39c-19.57 18.75-46.17 29.08-74.88 29.08a123.81 123.81 0 01-64.1-18.19L0 243.53v24.68l108.6 65.91a111.6 111.6 0 0057.76 16.42c24.92 0 48.8-8.81 66.42-25.69 12.88-12.34 20-27.13 19.68-41.5v-1.78a87.27 87.27 0 01-11.22 13.13zm0-39c-19.57 18.76-46.17 29.09-74.88 29.09a123.81 123.81 0 01-64.1-18.19L0 204.55v24.68l108.6 65.91a111.59 111.59 0 0057.76 16.41c24.92 0 48.8-8.8 66.42-25.68 12.88-12.35 20-27.13 19.68-41.5v-1.82a86.09 86.09 0 01-11.22 13.16zm83.7 25.74a94.15 94.15 0 01-60.2 25.86V334a81.6 81.6 0 0051.74-22.37c14-13.38 21.14-28.11 21-42.64v-2.19a94.92 94.92 0 01-12.54 14.65zm-83.7 91.21c-19.57 18.76-46.17 29.09-74.88 29.09a123.73 123.73 0 01-64.1-18.2L0 321.5v24.68l108.6 65.9a111.6 111.6 0 0057.76 16.42c24.92 0 48.8-8.8 66.42-25.69 12.88-12.34 20-27.13 19.68-41.49v-1.79a86.29 86.29 0 01-11.22 13.13zM327 162.45c-.68.69-1.35 1.38-2.05 2.06a94.37 94.37 0 01-10.64 8.65 91.35 91.35 0 01-11.6 7 94.53 94.53 0 01-26.24 8.71 97.69 97.69 0 01-14.16 1.57c.5 1.61.9 3.25 1.25 4.9a53.27 53.27 0 011.14 12V217h.05a84.41 84.41 0 0025.35-5.55 81 81 0 0026.39-16.82c.8-.77 1.5-1.56 2.26-2.34a82.08 82.08 0 007.93-9.38 63.76 63.76 0 006.32-10.74 48.55 48.55 0 004.32-16.45c.09-1.23.2-2.47.19-3.7V150q-1.08 1.54-2.25 3.09a96.73 96.73 0 01-8.26 9.36zm0 77.92c-.69.7-1.31 1.41-2 2.1a94.2 94.2 0 01-60.2 25.86V295a81.6 81.6 0 0051.74-22.37 73.51 73.51 0 0016.46-22.5 48.56 48.56 0 004.32-16.44c.09-1.24.2-2.47.19-3.71v-2.19c-.74 1.07-1.46 2.15-2.27 3.21a95.68 95.68 0 01-8.24 9.37zm0-39c-.69.7-1.31 1.41-2 2.1a93.18 93.18 0 01-10.63 8.65 91.63 91.63 0 01-11.63 7 95.47 95.47 0 01-37.94 10.18V256a81.65 81.65 0 0051.74-22.37c.8-.77 1.5-1.56 2.26-2.34a82.08 82.08 0 007.93-9.38 63.76 63.76 0 006.27-10.76 48.56 48.56 0 004.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74 1.08-1.46 2.16-2.27 3.22a95.68 95.68 0 01-8.24 9.37z" }) });
|
|
5
5
|
|
|
6
6
|
export { BackstageLogoIcon };
|
|
7
7
|
//# sourceMappingURL=BackstageLogoIcon.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackstageLogoIcon.esm.js","sources":["../../../../src/components/Content/InfoContent/BackstageLogoIcon.tsx"],"sourcesContent":["/*\n * Copyright 2022 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 SvgIcon, { SvgIconProps } from '@material-ui/core/SvgIcon';\n\
|
|
1
|
+
{"version":3,"file":"BackstageLogoIcon.esm.js","sources":["../../../../src/components/Content/InfoContent/BackstageLogoIcon.tsx"],"sourcesContent":["/*\n * Copyright 2022 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 SvgIcon, { SvgIconProps } from '@material-ui/core/SvgIcon';\n\nexport const BackstageLogoIcon = (props: SvgIconProps) => (\n <SvgIcon {...props} viewBox=\"0 0 337.46 428.5\">\n <path d=\"M303 166.05a80.69 80.69 0 0013.45-10.37c.79-.77 1.55-1.53 2.3-2.3a83.12 83.12 0 007.93-9.38 63.69 63.69 0 006.32-10.77 48.58 48.58 0 004.35-16.4c1.49-19.39-10-38.67-35.62-54.22L198.56 0 78.3 115.23 0 190.25l108.6 65.91a111.59 111.59 0 0057.76 16.41c24.92 0 48.8-8.8 66.42-25.69 19.16-18.36 25.52-42.12 13.7-61.87a49.22 49.22 0 00-6.8-8.87 89.17 89.17 0 0019.32 2.15h.15a85.08 85.08 0 0031-5.79 80.88 80.88 0 0012.85-6.45zm-100.55 59.81c-19.32 18.51-50.4 21.23-75.7 5.9l-75.14-45.61 67.45-64.64 76.41 46.38c27.53 16.69 26.02 39.72 6.98 57.97zm8.93-82.22l-70.65-42.89L205.14 39l69.37 42.1c25.94 15.72 29.31 37 10.55 55a60.69 60.69 0 01-73.68 7.54zm29.86 190c-19.57 18.75-46.17 29.09-74.88 29.09a123.73 123.73 0 01-64.1-18.2L0 282.52v24.67l108.6 65.91a111.6 111.6 0 0057.76 16.42c24.92 0 48.8-8.81 66.42-25.69 12.88-12.34 20-27.13 19.68-41.49v-1.79a87.27 87.27 0 01-11.22 13.13zm0-39c-19.57 18.75-46.17 29.08-74.88 29.08a123.81 123.81 0 01-64.1-18.19L0 243.53v24.68l108.6 65.91a111.6 111.6 0 0057.76 16.42c24.92 0 48.8-8.81 66.42-25.69 12.88-12.34 20-27.13 19.68-41.5v-1.78a87.27 87.27 0 01-11.22 13.13zm0-39c-19.57 18.76-46.17 29.09-74.88 29.09a123.81 123.81 0 01-64.1-18.19L0 204.55v24.68l108.6 65.91a111.59 111.59 0 0057.76 16.41c24.92 0 48.8-8.8 66.42-25.68 12.88-12.35 20-27.13 19.68-41.5v-1.82a86.09 86.09 0 01-11.22 13.16zm83.7 25.74a94.15 94.15 0 01-60.2 25.86V334a81.6 81.6 0 0051.74-22.37c14-13.38 21.14-28.11 21-42.64v-2.19a94.92 94.92 0 01-12.54 14.65zm-83.7 91.21c-19.57 18.76-46.17 29.09-74.88 29.09a123.73 123.73 0 01-64.1-18.2L0 321.5v24.68l108.6 65.9a111.6 111.6 0 0057.76 16.42c24.92 0 48.8-8.8 66.42-25.69 12.88-12.34 20-27.13 19.68-41.49v-1.79a86.29 86.29 0 01-11.22 13.13zM327 162.45c-.68.69-1.35 1.38-2.05 2.06a94.37 94.37 0 01-10.64 8.65 91.35 91.35 0 01-11.6 7 94.53 94.53 0 01-26.24 8.71 97.69 97.69 0 01-14.16 1.57c.5 1.61.9 3.25 1.25 4.9a53.27 53.27 0 011.14 12V217h.05a84.41 84.41 0 0025.35-5.55 81 81 0 0026.39-16.82c.8-.77 1.5-1.56 2.26-2.34a82.08 82.08 0 007.93-9.38 63.76 63.76 0 006.32-10.74 48.55 48.55 0 004.32-16.45c.09-1.23.2-2.47.19-3.7V150q-1.08 1.54-2.25 3.09a96.73 96.73 0 01-8.26 9.36zm0 77.92c-.69.7-1.31 1.41-2 2.1a94.2 94.2 0 01-60.2 25.86V295a81.6 81.6 0 0051.74-22.37 73.51 73.51 0 0016.46-22.5 48.56 48.56 0 004.32-16.44c.09-1.24.2-2.47.19-3.71v-2.19c-.74 1.07-1.46 2.15-2.27 3.21a95.68 95.68 0 01-8.24 9.37zm0-39c-.69.7-1.31 1.41-2 2.1a93.18 93.18 0 01-10.63 8.65 91.63 91.63 0 01-11.63 7 95.47 95.47 0 01-37.94 10.18V256a81.65 81.65 0 0051.74-22.37c.8-.77 1.5-1.56 2.26-2.34a82.08 82.08 0 007.93-9.38 63.76 63.76 0 006.27-10.76 48.56 48.56 0 004.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74 1.08-1.46 2.16-2.27 3.22a95.68 95.68 0 01-8.24 9.37z\" />\n </SvgIcon>\n);\n"],"names":[],"mappings":";;;AAkBO,MAAM,iBAAoB,GAAA,CAAC,KAChC,qBAAA,GAAA,CAAC,OAAS,EAAA,EAAA,GAAG,KAAO,EAAA,OAAA,EAAQ,kBAC1B,EAAA,QAAA,kBAAA,GAAA,CAAC,MAAK,EAAA,EAAA,CAAA,EAAE,ooFAAmoF,CAC7oF,EAAA;;;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
1
2
|
import { Progress } from '@backstage/core-components';
|
|
2
3
|
import Avatar from '@material-ui/core/Avatar';
|
|
3
4
|
import Box from '@material-ui/core/Box';
|
|
@@ -10,7 +11,6 @@ import Paper from '@material-ui/core/Paper';
|
|
|
10
11
|
import Button from '@material-ui/core/Button';
|
|
11
12
|
import { makeStyles, createStyles } from '@material-ui/core/styles';
|
|
12
13
|
import Alert from '@material-ui/lab/Alert';
|
|
13
|
-
import React from 'react';
|
|
14
14
|
import '../../../api/DevToolsApi.esm.js';
|
|
15
15
|
import '@backstage/errors';
|
|
16
16
|
import '@backstage/core-plugin-api';
|
|
@@ -62,45 +62,69 @@ const InfoContent = () => {
|
|
|
62
62
|
const classes = useStyles();
|
|
63
63
|
const { about, loading, error } = useInfo();
|
|
64
64
|
if (loading) {
|
|
65
|
-
return /* @__PURE__ */
|
|
65
|
+
return /* @__PURE__ */ jsx(Progress, {});
|
|
66
66
|
} else if (error) {
|
|
67
|
-
return /* @__PURE__ */
|
|
67
|
+
return /* @__PURE__ */ jsx(Alert, { severity: "error", children: error.message });
|
|
68
68
|
}
|
|
69
|
-
return /* @__PURE__ */
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
69
|
+
return /* @__PURE__ */ jsxs(Box, { children: [
|
|
70
|
+
/* @__PURE__ */ jsxs(Paper, { className: classes.paperStyle, children: [
|
|
71
|
+
/* @__PURE__ */ jsxs(List, { className: classes.flexContainer, children: [
|
|
72
|
+
/* @__PURE__ */ jsxs(ListItem, { children: [
|
|
73
|
+
/* @__PURE__ */ jsx(ListItemAvatar, { children: /* @__PURE__ */ jsx(Avatar, { children: /* @__PURE__ */ jsx(DeveloperBoardIcon, {}) }) }),
|
|
74
|
+
/* @__PURE__ */ jsx(
|
|
75
|
+
ListItemText,
|
|
76
|
+
{
|
|
77
|
+
primary: "Operating System",
|
|
78
|
+
secondary: about?.operatingSystem
|
|
79
|
+
}
|
|
80
|
+
)
|
|
81
|
+
] }),
|
|
82
|
+
/* @__PURE__ */ jsxs(ListItem, { children: [
|
|
83
|
+
/* @__PURE__ */ jsx(ListItemAvatar, { children: /* @__PURE__ */ jsx(Avatar, { children: /* @__PURE__ */ jsx(MemoryIcon, {}) }) }),
|
|
84
|
+
/* @__PURE__ */ jsx(
|
|
85
|
+
ListItemText,
|
|
86
|
+
{
|
|
87
|
+
primary: "Resource utilization",
|
|
88
|
+
secondary: about?.resourceUtilization
|
|
89
|
+
}
|
|
90
|
+
)
|
|
91
|
+
] }),
|
|
92
|
+
/* @__PURE__ */ jsxs(ListItem, { children: [
|
|
93
|
+
/* @__PURE__ */ jsx(ListItemAvatar, { children: /* @__PURE__ */ jsx(Avatar, { children: /* @__PURE__ */ jsx(DescriptionIcon, {}) }) }),
|
|
94
|
+
/* @__PURE__ */ jsx(
|
|
95
|
+
ListItemText,
|
|
96
|
+
{
|
|
97
|
+
primary: "NodeJS Version",
|
|
98
|
+
secondary: about?.nodeJsVersion
|
|
99
|
+
}
|
|
100
|
+
)
|
|
101
|
+
] }),
|
|
102
|
+
/* @__PURE__ */ jsxs(ListItem, { children: [
|
|
103
|
+
/* @__PURE__ */ jsx(ListItemAvatar, { children: /* @__PURE__ */ jsx(Avatar, { children: /* @__PURE__ */ jsx(BackstageLogoIcon, {}) }) }),
|
|
104
|
+
/* @__PURE__ */ jsx(
|
|
105
|
+
ListItemText,
|
|
106
|
+
{
|
|
107
|
+
primary: "Backstage Version",
|
|
108
|
+
secondary: about?.backstageVersion
|
|
109
|
+
}
|
|
110
|
+
)
|
|
111
|
+
] })
|
|
112
|
+
] }),
|
|
113
|
+
/* @__PURE__ */ jsx(Divider, { orientation: "vertical", variant: "middle", flexItem: true }),
|
|
114
|
+
/* @__PURE__ */ jsx(
|
|
115
|
+
Button,
|
|
116
|
+
{
|
|
117
|
+
onClick: () => {
|
|
118
|
+
copyToClipboard({ about });
|
|
119
|
+
},
|
|
120
|
+
className: classes.copyButton,
|
|
121
|
+
startIcon: /* @__PURE__ */ jsx(FileCopyIcon, {}),
|
|
122
|
+
children: "Copy Info to Clipboard"
|
|
123
|
+
}
|
|
124
|
+
)
|
|
125
|
+
] }),
|
|
126
|
+
/* @__PURE__ */ jsx(InfoDependenciesTable, { infoDependencies: about?.dependencies })
|
|
127
|
+
] });
|
|
104
128
|
};
|
|
105
129
|
|
|
106
130
|
export { InfoContent };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfoContent.esm.js","sources":["../../../../src/components/Content/InfoContent/InfoContent.tsx"],"sourcesContent":["/*\n * Copyright 2022 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 Avatar from '@material-ui/core/Avatar';\nimport Box from '@material-ui/core/Box';\nimport Divider from '@material-ui/core/Divider';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemAvatar from '@material-ui/core/ListItemAvatar';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport Paper from '@material-ui/core/Paper';\nimport Button from '@material-ui/core/Button';\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport Alert from '@material-ui/lab/Alert';\nimport
|
|
1
|
+
{"version":3,"file":"InfoContent.esm.js","sources":["../../../../src/components/Content/InfoContent/InfoContent.tsx"],"sourcesContent":["/*\n * Copyright 2022 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 Avatar from '@material-ui/core/Avatar';\nimport Box from '@material-ui/core/Box';\nimport Divider from '@material-ui/core/Divider';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemAvatar from '@material-ui/core/ListItemAvatar';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport Paper from '@material-ui/core/Paper';\nimport Button from '@material-ui/core/Button';\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport Alert from '@material-ui/lab/Alert';\nimport { useInfo } from '../../../hooks';\nimport { InfoDependenciesTable } from './InfoDependenciesTable';\nimport DescriptionIcon from '@material-ui/icons/Description';\nimport MemoryIcon from '@material-ui/icons/Memory';\nimport DeveloperBoardIcon from '@material-ui/icons/DeveloperBoard';\nimport { BackstageLogoIcon } from './BackstageLogoIcon';\nimport FileCopyIcon from '@material-ui/icons/FileCopy';\nimport { DevToolsInfo } from '@backstage/plugin-devtools-common';\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n paperStyle: {\n display: 'flex',\n marginBottom: theme.spacing(2),\n },\n flexContainer: {\n display: 'flex',\n flexDirection: 'row',\n padding: 0,\n },\n copyButton: {\n float: 'left',\n margin: theme.spacing(2),\n },\n }),\n);\n\nconst copyToClipboard = ({ about }: { about: DevToolsInfo | undefined }) => {\n if (about) {\n let formatted = `OS: ${about.operatingSystem}\\nResources: ${about.resourceUtilization}\\nnode: ${about.nodeJsVersion}\\nbackstage: ${about.backstageVersion}\\nDependencies:\\n`;\n const deps = about.dependencies;\n for (const key in deps) {\n if (Object.prototype.hasOwnProperty.call(deps, key)) {\n formatted = `${formatted} ${deps[key].name}: ${deps[key].versions}\\n`;\n }\n }\n window.navigator.clipboard.writeText(formatted);\n }\n};\n\n/** @public */\nexport const InfoContent = () => {\n const classes = useStyles();\n const { about, loading, error } = useInfo();\n\n if (loading) {\n return <Progress />;\n } else if (error) {\n return <Alert severity=\"error\">{error.message}</Alert>;\n }\n return (\n <Box>\n <Paper className={classes.paperStyle}>\n <List className={classes.flexContainer}>\n <ListItem>\n <ListItemAvatar>\n <Avatar>\n <DeveloperBoardIcon />\n </Avatar>\n </ListItemAvatar>\n <ListItemText\n primary=\"Operating System\"\n secondary={about?.operatingSystem}\n />\n </ListItem>\n <ListItem>\n <ListItemAvatar>\n <Avatar>\n <MemoryIcon />\n </Avatar>\n </ListItemAvatar>\n <ListItemText\n primary=\"Resource utilization\"\n secondary={about?.resourceUtilization}\n />\n </ListItem>\n <ListItem>\n <ListItemAvatar>\n <Avatar>\n <DescriptionIcon />\n </Avatar>\n </ListItemAvatar>\n <ListItemText\n primary=\"NodeJS Version\"\n secondary={about?.nodeJsVersion}\n />\n </ListItem>\n <ListItem>\n <ListItemAvatar>\n <Avatar>\n <BackstageLogoIcon />\n </Avatar>\n </ListItemAvatar>\n <ListItemText\n primary=\"Backstage Version\"\n secondary={about?.backstageVersion}\n />\n </ListItem>\n </List>\n <Divider orientation=\"vertical\" variant=\"middle\" flexItem />\n <Button\n onClick={() => {\n copyToClipboard({ about });\n }}\n className={classes.copyButton}\n startIcon={<FileCopyIcon />}\n >\n Copy Info to Clipboard\n </Button>\n </Paper>\n <InfoDependenciesTable infoDependencies={about?.dependencies} />\n </Box>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
1
2
|
import { Table } from '@backstage/core-components';
|
|
2
|
-
import React from 'react';
|
|
3
3
|
|
|
4
4
|
const columns = [
|
|
5
5
|
{
|
|
@@ -17,7 +17,7 @@ const columns = [
|
|
|
17
17
|
const InfoDependenciesTable = ({
|
|
18
18
|
infoDependencies
|
|
19
19
|
}) => {
|
|
20
|
-
return /* @__PURE__ */
|
|
20
|
+
return /* @__PURE__ */ jsx(
|
|
21
21
|
Table,
|
|
22
22
|
{
|
|
23
23
|
title: "Package Dependencies",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfoDependenciesTable.esm.js","sources":["../../../../src/components/Content/InfoContent/InfoDependenciesTable.tsx"],"sourcesContent":["/*\n * Copyright 2022 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 { Table, TableColumn } from '@backstage/core-components';\nimport { PackageDependency } from '@backstage/plugin-devtools-common';\n\
|
|
1
|
+
{"version":3,"file":"InfoDependenciesTable.esm.js","sources":["../../../../src/components/Content/InfoContent/InfoDependenciesTable.tsx"],"sourcesContent":["/*\n * Copyright 2022 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 { Table, TableColumn } from '@backstage/core-components';\nimport { PackageDependency } from '@backstage/plugin-devtools-common';\n\nconst columns: TableColumn[] = [\n {\n title: 'Name',\n width: 'auto',\n field: 'name',\n defaultSort: 'asc',\n },\n {\n title: 'Versions',\n width: 'auto',\n field: 'versions',\n },\n];\n\nexport const InfoDependenciesTable = ({\n infoDependencies,\n}: {\n infoDependencies: PackageDependency[] | undefined;\n}) => {\n return (\n <Table\n title=\"Package Dependencies\"\n options={{\n paging: true,\n pageSize: 15,\n pageSizeOptions: [15, 30, 100],\n loadingType: 'linear',\n padding: 'dense',\n }}\n columns={columns}\n data={infoDependencies || []}\n />\n );\n};\n"],"names":[],"mappings":";;;AAmBA,MAAM,OAAyB,GAAA;AAAA,EAC7B;AAAA,IACE,KAAO,EAAA,MAAA;AAAA,IACP,KAAO,EAAA,MAAA;AAAA,IACP,KAAO,EAAA,MAAA;AAAA,IACP,WAAa,EAAA;AAAA,GACf;AAAA,EACA;AAAA,IACE,KAAO,EAAA,UAAA;AAAA,IACP,KAAO,EAAA,MAAA;AAAA,IACP,KAAO,EAAA;AAAA;AAEX,CAAA;AAEO,MAAM,wBAAwB,CAAC;AAAA,EACpC;AACF,CAEM,KAAA;AACJ,EACE,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAM,EAAA,sBAAA;AAAA,MACN,OAAS,EAAA;AAAA,QACP,MAAQ,EAAA,IAAA;AAAA,QACR,QAAU,EAAA,EAAA;AAAA,QACV,eAAiB,EAAA,CAAC,EAAI,EAAA,EAAA,EAAI,GAAG,CAAA;AAAA,QAC7B,WAAa,EAAA,QAAA;AAAA,QACb,OAAS,EAAA;AAAA,OACX;AAAA,MACA,OAAA;AAAA,MACA,IAAA,EAAM,oBAAoB;AAAC;AAAA,GAC7B;AAEJ;;;;"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
1
2
|
import { devToolsInfoReadPermission, devToolsConfigReadPermission } from '@backstage/plugin-devtools-common';
|
|
2
3
|
import { ConfigContent } from '../Content/ConfigContent/ConfigContent.esm.js';
|
|
3
4
|
import { DevToolsLayout } from '../DevToolsLayout/DevToolsLayout.esm.js';
|
|
4
5
|
import { InfoContent } from '../Content/InfoContent/InfoContent.esm.js';
|
|
5
|
-
import React from 'react';
|
|
6
6
|
import { RequirePermission } from '@backstage/plugin-permission-react';
|
|
7
7
|
|
|
8
|
-
const DefaultDevToolsPage = () => /* @__PURE__ */
|
|
8
|
+
const DefaultDevToolsPage = () => /* @__PURE__ */ jsxs(DevToolsLayout, { children: [
|
|
9
|
+
/* @__PURE__ */ jsx(DevToolsLayout.Route, { path: "info", title: "Info", children: /* @__PURE__ */ jsx(RequirePermission, { permission: devToolsInfoReadPermission, children: /* @__PURE__ */ jsx(InfoContent, {}) }) }),
|
|
10
|
+
/* @__PURE__ */ jsx(DevToolsLayout.Route, { path: "config", title: "Config", children: /* @__PURE__ */ jsx(RequirePermission, { permission: devToolsConfigReadPermission, children: /* @__PURE__ */ jsx(ConfigContent, {}) }) })
|
|
11
|
+
] });
|
|
9
12
|
|
|
10
13
|
export { DefaultDevToolsPage };
|
|
11
14
|
//# sourceMappingURL=DefaultDevToolsPage.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultDevToolsPage.esm.js","sources":["../../../src/components/DefaultDevToolsPage/DefaultDevToolsPage.tsx"],"sourcesContent":["/*\n * Copyright 2022 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 devToolsConfigReadPermission,\n devToolsInfoReadPermission,\n} from '@backstage/plugin-devtools-common';\n\nimport { ConfigContent } from '../Content/ConfigContent';\nimport { DevToolsLayout } from '../DevToolsLayout';\nimport { InfoContent } from '../Content/InfoContent';\nimport
|
|
1
|
+
{"version":3,"file":"DefaultDevToolsPage.esm.js","sources":["../../../src/components/DefaultDevToolsPage/DefaultDevToolsPage.tsx"],"sourcesContent":["/*\n * Copyright 2022 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 devToolsConfigReadPermission,\n devToolsInfoReadPermission,\n} from '@backstage/plugin-devtools-common';\n\nimport { ConfigContent } from '../Content/ConfigContent';\nimport { DevToolsLayout } from '../DevToolsLayout';\nimport { InfoContent } from '../Content/InfoContent';\nimport { RequirePermission } from '@backstage/plugin-permission-react';\n\n/** @public */\nexport const DefaultDevToolsPage = () => (\n <DevToolsLayout>\n <DevToolsLayout.Route path=\"info\" title=\"Info\">\n <RequirePermission permission={devToolsInfoReadPermission}>\n <InfoContent />\n </RequirePermission>\n </DevToolsLayout.Route>\n <DevToolsLayout.Route path=\"config\" title=\"Config\">\n <RequirePermission permission={devToolsConfigReadPermission}>\n <ConfigContent />\n </RequirePermission>\n </DevToolsLayout.Route>\n </DevToolsLayout>\n);\n"],"names":[],"mappings":";;;;;;;AA2Ba,MAAA,mBAAA,GAAsB,sBACjC,IAAA,CAAC,cACC,EAAA,EAAA,QAAA,EAAA;AAAA,kBAAA,GAAA,CAAC,cAAe,CAAA,KAAA,EAAf,EAAqB,IAAA,EAAK,QAAO,KAAM,EAAA,MAAA,EACtC,QAAC,kBAAA,GAAA,CAAA,iBAAA,EAAA,EAAkB,UAAY,EAAA,0BAAA,EAC7B,QAAC,kBAAA,GAAA,CAAA,WAAA,EAAA,EAAY,GACf,CACF,EAAA,CAAA;AAAA,kBACC,GAAA,CAAA,cAAA,CAAe,KAAf,EAAA,EAAqB,MAAK,QAAS,EAAA,KAAA,EAAM,QACxC,EAAA,QAAA,kBAAA,GAAA,CAAC,qBAAkB,UAAY,EAAA,4BAAA,EAC7B,QAAC,kBAAA,GAAA,CAAA,aAAA,EAAA,EAAc,GACjB,CACF,EAAA;AAAA,CACF,EAAA;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
1
2
|
import { Page, Header, RoutedTabs } from '@backstage/core-components';
|
|
2
3
|
import { attachComponentData, useElementFilter } from '@backstage/core-plugin-api';
|
|
3
|
-
import React from 'react';
|
|
4
4
|
|
|
5
5
|
const dataKey = "plugin.devtools.devtoolsLayoutRoute";
|
|
6
6
|
const Route = () => null;
|
|
@@ -18,7 +18,10 @@ const DevToolsLayout = ({
|
|
|
18
18
|
withStrictError: "Child of DevToolsLayout must be an DevToolsLayout.Route"
|
|
19
19
|
}).getElements().map((child) => child.props)
|
|
20
20
|
);
|
|
21
|
-
return /* @__PURE__ */
|
|
21
|
+
return /* @__PURE__ */ jsxs(Page, { themeId: "home", children: [
|
|
22
|
+
/* @__PURE__ */ jsx(Header, { title: title ?? "Backstage DevTools", subtitle }),
|
|
23
|
+
/* @__PURE__ */ jsx(RoutedTabs, { routes })
|
|
24
|
+
] });
|
|
22
25
|
};
|
|
23
26
|
DevToolsLayout.Route = Route;
|
|
24
27
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevToolsLayout.esm.js","sources":["../../../src/components/DevToolsLayout/DevToolsLayout.tsx"],"sourcesContent":["/*\n * Copyright 2022 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 { Header, Page, RoutedTabs } from '@backstage/core-components';\nimport {\n attachComponentData,\n useElementFilter,\n} from '@backstage/core-plugin-api';\nimport { TabProps } from '@material-ui/core/Tab';\nimport {
|
|
1
|
+
{"version":3,"file":"DevToolsLayout.esm.js","sources":["../../../src/components/DevToolsLayout/DevToolsLayout.tsx"],"sourcesContent":["/*\n * Copyright 2022 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 { Header, Page, RoutedTabs } from '@backstage/core-components';\nimport {\n attachComponentData,\n useElementFilter,\n} from '@backstage/core-plugin-api';\nimport { TabProps } from '@material-ui/core/Tab';\nimport { ElementType, ReactNode } from 'react';\n\n/** @public */\nexport type SubRoute = {\n path: string;\n title: string;\n children: JSX.Element;\n tabProps?: TabProps<ElementType, { component?: ElementType }>;\n};\n\nconst dataKey = 'plugin.devtools.devtoolsLayoutRoute';\n\nconst Route: (props: SubRoute) => null = () => null;\nattachComponentData(Route, dataKey, true);\n\n// This causes all mount points that are discovered within this route to use the path of the route itself\nattachComponentData(Route, 'core.gatherMountPoints', true);\n\n/** @public */\nexport type DevToolsLayoutProps = {\n title?: string;\n subtitle?: string;\n children?: ReactNode;\n};\n\n/**\n * DevTools is a compound component, which allows you to define a custom layout\n *\n * @example\n * ```jsx\n * <DevToolsLayout>\n * <DevToolsLayout.Route path=\"/example\" title=\"Example tab\">\n * <div>This is rendered under /example/anything-here route</div>\n * </DevToolsLayout.Route>\n * </DevToolsLayout>\n * ```\n * @public\n */\nexport const DevToolsLayout = ({\n children,\n title,\n subtitle,\n}: DevToolsLayoutProps) => {\n const routes = useElementFilter(children, elements =>\n elements\n .selectByComponentData({\n key: dataKey,\n withStrictError:\n 'Child of DevToolsLayout must be an DevToolsLayout.Route',\n })\n .getElements<SubRoute>()\n .map(child => child.props),\n );\n\n return (\n <Page themeId=\"home\">\n <Header title={title ?? 'Backstage DevTools'} subtitle={subtitle} />\n <RoutedTabs routes={routes} />\n </Page>\n );\n};\n\nDevToolsLayout.Route = Route;\n"],"names":[],"mappings":";;;;AAgCA,MAAM,OAAU,GAAA,qCAAA;AAEhB,MAAM,QAAmC,MAAM,IAAA;AAC/C,mBAAoB,CAAA,KAAA,EAAO,SAAS,IAAI,CAAA;AAGxC,mBAAoB,CAAA,KAAA,EAAO,0BAA0B,IAAI,CAAA;AAsBlD,MAAM,iBAAiB,CAAC;AAAA,EAC7B,QAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAA2B,KAAA;AACzB,EAAA,MAAM,MAAS,GAAA,gBAAA;AAAA,IAAiB,QAAA;AAAA,IAAU,CAAA,QAAA,KACxC,SACG,qBAAsB,CAAA;AAAA,MACrB,GAAK,EAAA,OAAA;AAAA,MACL,eACE,EAAA;AAAA,KACH,CACA,CAAA,WAAA,GACA,GAAI,CAAA,CAAA,KAAA,KAAS,MAAM,KAAK;AAAA,GAC7B;AAEA,EACE,uBAAA,IAAA,CAAC,IAAK,EAAA,EAAA,OAAA,EAAQ,MACZ,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAO,EAAA,EAAA,KAAA,EAAO,KAAS,IAAA,oBAAA,EAAsB,QAAoB,EAAA,CAAA;AAAA,oBAClE,GAAA,CAAC,cAAW,MAAgB,EAAA;AAAA,GAC9B,EAAA,CAAA;AAEJ;AAEA,cAAA,CAAe,KAAQ,GAAA,KAAA;;;;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { useOutlet } from 'react-router-dom';
|
|
3
3
|
import { DefaultDevToolsPage } from '../DefaultDevToolsPage/DefaultDevToolsPage.esm.js';
|
|
4
4
|
|
|
5
5
|
const DevToolsPage = () => {
|
|
6
6
|
const outlet = useOutlet();
|
|
7
|
-
return /* @__PURE__ */
|
|
7
|
+
return /* @__PURE__ */ jsx(Fragment, { children: outlet || /* @__PURE__ */ jsx(DefaultDevToolsPage, {}) });
|
|
8
8
|
};
|
|
9
9
|
|
|
10
10
|
export { DevToolsPage };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevToolsPage.esm.js","sources":["../../../src/components/DevToolsPage/DevToolsPage.tsx"],"sourcesContent":["/*\n * Copyright 2022 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
|
|
1
|
+
{"version":3,"file":"DevToolsPage.esm.js","sources":["../../../src/components/DevToolsPage/DevToolsPage.tsx"],"sourcesContent":["/*\n * Copyright 2022 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 { useOutlet } from 'react-router-dom';\nimport { DefaultDevToolsPage } from '../DefaultDevToolsPage';\n\nexport const DevToolsPage = () => {\n const outlet = useOutlet();\n\n return <>{outlet || <DefaultDevToolsPage />}</>;\n};\n"],"names":[],"mappings":";;;;AAmBO,MAAM,eAAe,MAAM;AAChC,EAAA,MAAM,SAAS,SAAU,EAAA;AAEzB,EAAA,uBAAU,GAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA,MAAA,oBAAW,GAAA,CAAA,mBAAA,EAAA,EAAoB,CAAG,EAAA,CAAA;AAC9C;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import React__default from 'react';
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
2
|
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
|
|
4
3
|
import { TabProps } from '@material-ui/core/Tab';
|
|
4
|
+
import { ElementType, ReactNode } from 'react';
|
|
5
5
|
|
|
6
6
|
/** @public */
|
|
7
7
|
declare const devToolsPlugin: _backstage_core_plugin_api.BackstagePlugin<{
|
|
8
8
|
root: _backstage_core_plugin_api.RouteRef<undefined>;
|
|
9
9
|
}, {}>;
|
|
10
10
|
/** @public */
|
|
11
|
-
declare const DevToolsPage: () =>
|
|
11
|
+
declare const DevToolsPage: () => react_jsx_runtime.JSX.Element;
|
|
12
12
|
|
|
13
13
|
/** @public */
|
|
14
|
-
declare const ConfigContent: () =>
|
|
14
|
+
declare const ConfigContent: () => react_jsx_runtime.JSX.Element;
|
|
15
15
|
|
|
16
16
|
/** @public */
|
|
17
|
-
declare const InfoContent: () =>
|
|
17
|
+
declare const InfoContent: () => react_jsx_runtime.JSX.Element;
|
|
18
18
|
|
|
19
19
|
/** @public */
|
|
20
|
-
declare const ExternalDependenciesContent: () =>
|
|
20
|
+
declare const ExternalDependenciesContent: () => react_jsx_runtime.JSX.Element;
|
|
21
21
|
|
|
22
22
|
/** @public */
|
|
23
23
|
type SubRoute = {
|
|
24
24
|
path: string;
|
|
25
25
|
title: string;
|
|
26
26
|
children: JSX.Element;
|
|
27
|
-
tabProps?: TabProps<
|
|
28
|
-
component?:
|
|
27
|
+
tabProps?: TabProps<ElementType, {
|
|
28
|
+
component?: ElementType;
|
|
29
29
|
}>;
|
|
30
30
|
};
|
|
31
31
|
/** @public */
|
|
32
32
|
type DevToolsLayoutProps = {
|
|
33
33
|
title?: string;
|
|
34
34
|
subtitle?: string;
|
|
35
|
-
children?:
|
|
35
|
+
children?: ReactNode;
|
|
36
36
|
};
|
|
37
37
|
/**
|
|
38
38
|
* DevTools is a compound component, which allows you to define a custom layout
|
|
@@ -48,7 +48,7 @@ type DevToolsLayoutProps = {
|
|
|
48
48
|
* @public
|
|
49
49
|
*/
|
|
50
50
|
declare const DevToolsLayout: {
|
|
51
|
-
({ children, title, subtitle, }: DevToolsLayoutProps):
|
|
51
|
+
({ children, title, subtitle, }: DevToolsLayoutProps): react_jsx_runtime.JSX.Element;
|
|
52
52
|
Route: (props: SubRoute) => null;
|
|
53
53
|
};
|
|
54
54
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/plugin-devtools",
|
|
3
|
-
"version": "0.1.26-next.
|
|
3
|
+
"version": "0.1.26-next.2",
|
|
4
4
|
"backstage": {
|
|
5
5
|
"role": "frontend-plugin",
|
|
6
6
|
"pluginId": "devtools",
|
|
@@ -42,11 +42,11 @@
|
|
|
42
42
|
"types": "./dist/index.d.ts",
|
|
43
43
|
"typesVersions": {
|
|
44
44
|
"*": {
|
|
45
|
-
"*": [
|
|
46
|
-
"dist/index.d.ts"
|
|
47
|
-
],
|
|
48
45
|
"alpha": [
|
|
49
46
|
"dist/alpha.d.ts"
|
|
47
|
+
],
|
|
48
|
+
"package.json": [
|
|
49
|
+
"package.json"
|
|
50
50
|
]
|
|
51
51
|
}
|
|
52
52
|
},
|
|
@@ -63,13 +63,13 @@
|
|
|
63
63
|
"test": "backstage-cli package test"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@backstage/core-compat-api": "0.4.1-next.
|
|
67
|
-
"@backstage/core-components": "0.17.1-next.
|
|
68
|
-
"@backstage/core-plugin-api": "1.10.
|
|
66
|
+
"@backstage/core-compat-api": "0.4.1-next.2",
|
|
67
|
+
"@backstage/core-components": "0.17.1-next.1",
|
|
68
|
+
"@backstage/core-plugin-api": "1.10.6-next.0",
|
|
69
69
|
"@backstage/errors": "1.2.7",
|
|
70
|
-
"@backstage/frontend-plugin-api": "0.10.1-next.
|
|
70
|
+
"@backstage/frontend-plugin-api": "0.10.1-next.1",
|
|
71
71
|
"@backstage/plugin-devtools-common": "0.1.15",
|
|
72
|
-
"@backstage/plugin-permission-react": "0.4.
|
|
72
|
+
"@backstage/plugin-permission-react": "0.4.33-next.0",
|
|
73
73
|
"@material-ui/core": "^4.9.13",
|
|
74
74
|
"@material-ui/icons": "^4.9.1",
|
|
75
75
|
"@material-ui/lab": "^4.0.0-alpha.57",
|
|
@@ -77,8 +77,8 @@
|
|
|
77
77
|
"react-use": "^17.2.4"
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
|
-
"@backstage/cli": "0.32.0-next.
|
|
81
|
-
"@backstage/dev-utils": "1.1.9-next.
|
|
80
|
+
"@backstage/cli": "0.32.0-next.2",
|
|
81
|
+
"@backstage/dev-utils": "1.1.9-next.2",
|
|
82
82
|
"@testing-library/jest-dom": "^6.0.0",
|
|
83
83
|
"@types/react": "^18.0.0",
|
|
84
84
|
"react": "^18.0.2",
|