@backstage/plugin-devtools 0.1.44-next.1 → 0.1.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @backstage/plugin-devtools
2
2
 
3
+ ## 0.1.44
4
+
5
+ ### Patch Changes
6
+
7
+ - cde2e67: Migrated `InfoContent` component from Material UI to Backstage UI (BUI).
8
+ - Updated dependencies
9
+ - @backstage/frontend-plugin-api@0.18.2
10
+ - @backstage/ui@0.19.0
11
+ - @backstage/core-compat-api@0.5.16
12
+ - @backstage/errors@1.3.2
13
+ - @backstage/core-components@0.18.15
14
+ - @backstage/core-plugin-api@1.12.11
15
+ - @backstage/plugin-devtools-common@0.1.27
16
+ - @backstage/plugin-permission-react@0.5.6
17
+
3
18
  ## 0.1.44-next.1
4
19
 
5
20
  ### Patch Changes
@@ -1,16 +1,6 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { Progress } from '@backstage/core-components';
3
- import Avatar from '@material-ui/core/Avatar';
4
- import Box from '@material-ui/core/Box';
5
- import Divider from '@material-ui/core/Divider';
6
- import List from '@material-ui/core/List';
7
- import ListItem from '@material-ui/core/ListItem';
8
- import ListItemAvatar from '@material-ui/core/ListItemAvatar';
9
- import ListItemText from '@material-ui/core/ListItemText';
10
- import Paper from '@material-ui/core/Paper';
11
- import Button from '@material-ui/core/Button';
12
- import { makeStyles, createStyles } from '@material-ui/core/styles';
13
- import Alert from '@material-ui/lab/Alert';
3
+ import { Alert, Box, Card, CardBody, Flex, Button, Text } from '@backstage/ui';
14
4
  import '../../../api/DevToolsApi.esm.js';
15
5
  import '@backstage/errors';
16
6
  import '@backstage/core-plugin-api';
@@ -19,29 +9,9 @@ import { useInfo } from '../../../hooks/useInfo.esm.js';
19
9
  import 'react-use/esm/useAsyncRetry';
20
10
  import 'react';
21
11
  import { InfoDependenciesTable } from './InfoDependenciesTable.esm.js';
22
- import DescriptionIcon from '@material-ui/icons/Description';
23
- import MemoryIcon from '@material-ui/icons/Memory';
24
- import DeveloperBoardIcon from '@material-ui/icons/DeveloperBoard';
12
+ import { RiComputerLine, RiCpuLine, RiNodejsLine, RiFileCopyLine } from '@remixicon/react';
25
13
  import { BackstageLogoIcon } from './BackstageLogoIcon.esm.js';
26
- import FileCopyIcon from '@material-ui/icons/FileCopy';
27
14
 
28
- const useStyles = makeStyles(
29
- (theme) => createStyles({
30
- paperStyle: {
31
- display: "flex",
32
- marginBottom: theme.spacing(2)
33
- },
34
- flexContainer: {
35
- display: "flex",
36
- flexDirection: "row",
37
- padding: 0
38
- },
39
- copyButton: {
40
- float: "left",
41
- margin: theme.spacing(2)
42
- }
43
- })
44
- );
45
15
  const copyToClipboard = ({ about }) => {
46
16
  if (about) {
47
17
  let formatted = `OS: ${about.operatingSystem}
@@ -60,71 +30,87 @@ Dependencies:
60
30
  window.navigator.clipboard.writeText(formatted);
61
31
  }
62
32
  };
33
+ const InfoCell = ({
34
+ icon,
35
+ label,
36
+ value
37
+ }) => /* @__PURE__ */ jsxs(Flex, { direction: "row", align: "center", gap: "2", children: [
38
+ icon,
39
+ /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: "0.5", children: [
40
+ /* @__PURE__ */ jsx(Text, { variant: "body-medium", weight: "bold", children: label }),
41
+ /* @__PURE__ */ jsx(Text, { variant: "body-small", color: "secondary", children: value })
42
+ ] })
43
+ ] });
63
44
  const InfoContent = () => {
64
- const classes = useStyles();
65
45
  const { about, loading, error } = useInfo();
66
46
  if (loading) {
67
47
  return /* @__PURE__ */ jsx(Progress, {});
68
48
  } else if (error) {
69
- return /* @__PURE__ */ jsx(Alert, { severity: "error", children: error.message });
49
+ return /* @__PURE__ */ jsx(Alert, { status: "danger", icon: true, title: error.message, role: "alert" });
70
50
  }
71
51
  return /* @__PURE__ */ jsxs(Box, { children: [
72
- /* @__PURE__ */ jsxs(Paper, { className: classes.paperStyle, children: [
73
- /* @__PURE__ */ jsxs(List, { className: classes.flexContainer, children: [
74
- /* @__PURE__ */ jsxs(ListItem, { children: [
75
- /* @__PURE__ */ jsx(ListItemAvatar, { children: /* @__PURE__ */ jsx(Avatar, { children: /* @__PURE__ */ jsx(DeveloperBoardIcon, {}) }) }),
76
- /* @__PURE__ */ jsx(
77
- ListItemText,
78
- {
79
- primary: "Operating System",
80
- secondary: about?.operatingSystem
81
- }
82
- )
83
- ] }),
84
- /* @__PURE__ */ jsxs(ListItem, { children: [
85
- /* @__PURE__ */ jsx(ListItemAvatar, { children: /* @__PURE__ */ jsx(Avatar, { children: /* @__PURE__ */ jsx(MemoryIcon, {}) }) }),
86
- /* @__PURE__ */ jsx(
87
- ListItemText,
52
+ /* @__PURE__ */ jsx(Box, { mb: "2", children: /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsx(CardBody, { children: /* @__PURE__ */ jsxs(
53
+ Flex,
54
+ {
55
+ direction: { initial: "column", md: "row" },
56
+ align: { initial: "stretch", md: "center" },
57
+ justify: "between",
58
+ gap: "4",
59
+ children: [
60
+ /* @__PURE__ */ jsxs(
61
+ Flex,
88
62
  {
89
- primary: "Resource utilization",
90
- secondary: about?.resourceUtilization
63
+ direction: { initial: "column", md: "row" },
64
+ align: { initial: "start", md: "center" },
65
+ gap: { initial: "3", md: "6" },
66
+ children: [
67
+ /* @__PURE__ */ jsx(
68
+ InfoCell,
69
+ {
70
+ icon: /* @__PURE__ */ jsx(RiComputerLine, {}),
71
+ label: "Operating System",
72
+ value: about?.operatingSystem
73
+ }
74
+ ),
75
+ /* @__PURE__ */ jsx(
76
+ InfoCell,
77
+ {
78
+ icon: /* @__PURE__ */ jsx(RiCpuLine, {}),
79
+ label: "Resource utilization",
80
+ value: about?.resourceUtilization
81
+ }
82
+ ),
83
+ /* @__PURE__ */ jsx(
84
+ InfoCell,
85
+ {
86
+ icon: /* @__PURE__ */ jsx(RiNodejsLine, {}),
87
+ label: "NodeJS Version",
88
+ value: about?.nodeJsVersion
89
+ }
90
+ ),
91
+ /* @__PURE__ */ jsx(
92
+ InfoCell,
93
+ {
94
+ icon: /* @__PURE__ */ jsx(BackstageLogoIcon, {}),
95
+ label: "Backstage Version",
96
+ value: about?.backstageVersion
97
+ }
98
+ )
99
+ ]
91
100
  }
92
- )
93
- ] }),
94
- /* @__PURE__ */ jsxs(ListItem, { children: [
95
- /* @__PURE__ */ jsx(ListItemAvatar, { children: /* @__PURE__ */ jsx(Avatar, { children: /* @__PURE__ */ jsx(DescriptionIcon, {}) }) }),
96
- /* @__PURE__ */ jsx(
97
- ListItemText,
98
- {
99
- primary: "NodeJS Version",
100
- secondary: about?.nodeJsVersion
101
- }
102
- )
103
- ] }),
104
- /* @__PURE__ */ jsxs(ListItem, { children: [
105
- /* @__PURE__ */ jsx(ListItemAvatar, { children: /* @__PURE__ */ jsx(Avatar, { children: /* @__PURE__ */ jsx(BackstageLogoIcon, {}) }) }),
101
+ ),
106
102
  /* @__PURE__ */ jsx(
107
- ListItemText,
103
+ Button,
108
104
  {
109
- primary: "Backstage Version",
110
- secondary: about?.backstageVersion
105
+ variant: "secondary",
106
+ onPress: () => copyToClipboard({ about }),
107
+ iconStart: /* @__PURE__ */ jsx(RiFileCopyLine, {}),
108
+ children: "Copy Info to Clipboard"
111
109
  }
112
110
  )
113
- ] })
114
- ] }),
115
- /* @__PURE__ */ jsx(Divider, { orientation: "vertical", variant: "middle", flexItem: true }),
116
- /* @__PURE__ */ jsx(
117
- Button,
118
- {
119
- onClick: () => {
120
- copyToClipboard({ about });
121
- },
122
- className: classes.copyButton,
123
- startIcon: /* @__PURE__ */ jsx(FileCopyIcon, {}),
124
- children: "Copy Info to Clipboard"
125
- }
126
- )
127
- ] }),
111
+ ]
112
+ }
113
+ ) }) }) }),
128
114
  /* @__PURE__ */ jsx(InfoDependenciesTable, { infoDependencies: about?.dependencies })
129
115
  ] });
130
116
  };
@@ -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 { 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
+ {"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 type { ReactElement } from 'react';\nimport { Progress } from '@backstage/core-components';\nimport { Alert, Box, Button, Card, CardBody, Flex, Text } from '@backstage/ui';\nimport { useInfo } from '../../../hooks';\nimport { InfoDependenciesTable } from './InfoDependenciesTable';\nimport {\n RiComputerLine,\n RiCpuLine,\n RiFileCopyLine,\n RiNodejsLine,\n} from '@remixicon/react';\nimport { BackstageLogoIcon } from './BackstageLogoIcon';\nimport { DevToolsInfo } from '@backstage/plugin-devtools-common';\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\nconst InfoCell = ({\n icon,\n label,\n value,\n}: {\n icon: ReactElement;\n label: string;\n value: string | undefined;\n}) => (\n <Flex direction=\"row\" align=\"center\" gap=\"2\">\n {icon}\n <Flex direction=\"column\" gap=\"0.5\">\n <Text variant=\"body-medium\" weight=\"bold\">\n {label}\n </Text>\n <Text variant=\"body-small\" color=\"secondary\">\n {value}\n </Text>\n </Flex>\n </Flex>\n);\n\n/** @public */\nexport const InfoContent = () => {\n const { about, loading, error } = useInfo();\n\n if (loading) {\n return <Progress />;\n } else if (error) {\n return <Alert status=\"danger\" icon title={error.message} role=\"alert\" />;\n }\n return (\n <Box>\n <Box mb=\"2\">\n <Card>\n <CardBody>\n <Flex\n direction={{ initial: 'column', md: 'row' }}\n align={{ initial: 'stretch', md: 'center' }}\n justify=\"between\"\n gap=\"4\"\n >\n <Flex\n direction={{ initial: 'column', md: 'row' }}\n align={{ initial: 'start', md: 'center' }}\n gap={{ initial: '3', md: '6' }}\n >\n <InfoCell\n icon={<RiComputerLine />}\n label=\"Operating System\"\n value={about?.operatingSystem}\n />\n <InfoCell\n icon={<RiCpuLine />}\n label=\"Resource utilization\"\n value={about?.resourceUtilization}\n />\n <InfoCell\n icon={<RiNodejsLine />}\n label=\"NodeJS Version\"\n value={about?.nodeJsVersion}\n />\n <InfoCell\n icon={<BackstageLogoIcon />}\n label=\"Backstage Version\"\n value={about?.backstageVersion}\n />\n </Flex>\n <Button\n variant=\"secondary\"\n onPress={() => copyToClipboard({ about })}\n iconStart={<RiFileCopyLine />}\n >\n Copy Info to Clipboard\n </Button>\n </Flex>\n </CardBody>\n </Card>\n </Box>\n <InfoDependenciesTable infoDependencies={about?.dependencies} />\n </Box>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  var name = "@backstage/plugin-devtools";
2
- var version = "0.1.44-next.1";
2
+ var version = "0.1.44";
3
3
  var backstage = {
4
4
  role: "frontend-plugin",
5
5
  pluginId: "devtools",
@@ -63,6 +63,7 @@ var dependencies = {
63
63
  "@material-ui/core": "^4.9.13",
64
64
  "@material-ui/icons": "^4.9.1",
65
65
  "@material-ui/lab": "^4.0.0-alpha.57",
66
+ "@remixicon/react": ">=4.6.0 <4.9.0",
66
67
  lodash: "^4.17.21",
67
68
  "react-json-view": "^1.21.3",
68
69
  "react-use": "^17.2.4"
@@ -1 +1 @@
1
- {"version":3,"file":"package.json.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"package.json.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/plugin-devtools",
3
- "version": "0.1.44-next.1",
3
+ "version": "0.1.44",
4
4
  "backstage": {
5
5
  "role": "frontend-plugin",
6
6
  "pluginId": "devtools",
@@ -65,24 +65,25 @@
65
65
  "test": "backstage-cli package test"
66
66
  },
67
67
  "dependencies": {
68
- "@backstage/core-compat-api": "0.5.16-next.1",
69
- "@backstage/core-components": "0.18.15-next.3",
70
- "@backstage/core-plugin-api": "1.12.11-next.0",
71
- "@backstage/errors": "1.3.2-next.0",
72
- "@backstage/frontend-plugin-api": "0.18.2-next.1",
73
- "@backstage/plugin-devtools-common": "0.1.27-next.0",
74
- "@backstage/plugin-permission-react": "0.5.6-next.0",
75
- "@backstage/ui": "0.19.0-next.0",
68
+ "@backstage/core-compat-api": "^0.5.16",
69
+ "@backstage/core-components": "^0.18.15",
70
+ "@backstage/core-plugin-api": "^1.12.11",
71
+ "@backstage/errors": "^1.3.2",
72
+ "@backstage/frontend-plugin-api": "^0.18.2",
73
+ "@backstage/plugin-devtools-common": "^0.1.27",
74
+ "@backstage/plugin-permission-react": "^0.5.6",
75
+ "@backstage/ui": "^0.19.0",
76
76
  "@material-ui/core": "^4.9.13",
77
77
  "@material-ui/icons": "^4.9.1",
78
78
  "@material-ui/lab": "^4.0.0-alpha.57",
79
+ "@remixicon/react": ">=4.6.0 <4.9.0",
79
80
  "lodash": "^4.17.21",
80
81
  "react-json-view": "^1.21.3",
81
82
  "react-use": "^17.2.4"
82
83
  },
83
84
  "devDependencies": {
84
- "@backstage/cli": "0.36.7-next.0",
85
- "@backstage/dev-utils": "1.1.28-next.1",
85
+ "@backstage/cli": "^0.36.7",
86
+ "@backstage/dev-utils": "^1.1.28",
86
87
  "@testing-library/jest-dom": "^6.0.0",
87
88
  "@types/lodash": "^4.14.151",
88
89
  "@types/react": "^18.0.0",