@backstage-community/plugin-puppetdb 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @backstage-community/plugin-puppetdb
2
2
 
3
+ ## 0.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 6818351: Backstage version bump to v1.38.1
8
+
9
+ ## 0.5.1
10
+
11
+ ### Patch Changes
12
+
13
+ - 4aad9f3: remove unused devDependency `canvas`
14
+
3
15
  ## 0.5.0
4
16
 
5
17
  ### Minor Changes
@@ -1,5 +1,5 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
1
2
  import Typography from '@material-ui/core/Typography';
2
- import React from 'react';
3
3
  import { puppetDbApiRef } from '../../api/types.esm.js';
4
4
  import '@backstage/errors';
5
5
  import { ResponseErrorPanel, Table } from '@backstage/core-components';
@@ -23,7 +23,7 @@ const ReportDetailsEventsTable = (props) => {
23
23
  return puppetDbApi.getPuppetDbReportEvents(hash);
24
24
  }, [puppetDbApi, hash]);
25
25
  if (error) {
26
- return /* @__PURE__ */ React.createElement(ResponseErrorPanel, { error });
26
+ return /* @__PURE__ */ jsx(ResponseErrorPanel, { error });
27
27
  }
28
28
  const columns = [
29
29
  {
@@ -31,47 +31,52 @@ const ReportDetailsEventsTable = (props) => {
31
31
  field: "run_start_time",
32
32
  align: "center",
33
33
  width: "300px",
34
- render: (rowData) => /* @__PURE__ */ React.createElement(Typography, { noWrap: true }, new Date(Date.parse(rowData.run_start_time)).toLocaleString())
34
+ render: (rowData) => /* @__PURE__ */ jsx(Typography, { noWrap: true, children: new Date(Date.parse(rowData.run_start_time)).toLocaleString() })
35
35
  },
36
36
  {
37
37
  title: "Run End Time",
38
38
  field: "run_end_time",
39
39
  align: "center",
40
40
  width: "300px",
41
- render: (rowData) => /* @__PURE__ */ React.createElement(Typography, { noWrap: true }, new Date(Date.parse(rowData.run_end_time)).toLocaleString())
41
+ render: (rowData) => /* @__PURE__ */ jsx(Typography, { noWrap: true, children: new Date(Date.parse(rowData.run_end_time)).toLocaleString() })
42
42
  },
43
43
  {
44
44
  title: "Containing Class",
45
45
  field: "containing_class",
46
- render: (rowData) => /* @__PURE__ */ React.createElement(Typography, { noWrap: true, title: rowData.file || "" }, rowData.containing_class)
46
+ render: (rowData) => /* @__PURE__ */ jsx(Typography, { noWrap: true, title: rowData.file || "", children: rowData.containing_class })
47
47
  },
48
48
  {
49
49
  title: "Resource",
50
50
  field: "resource_title",
51
- render: (rowData) => /* @__PURE__ */ React.createElement(Typography, { noWrap: true }, rowData.resource_type, "[", rowData.resource_title, "]")
51
+ render: (rowData) => /* @__PURE__ */ jsxs(Typography, { noWrap: true, children: [
52
+ rowData.resource_type,
53
+ "[",
54
+ rowData.resource_title,
55
+ "]"
56
+ ] })
52
57
  },
53
58
  {
54
59
  title: "Property",
55
60
  field: "property",
56
- render: (rowData) => /* @__PURE__ */ React.createElement(Typography, { noWrap: true }, rowData.property)
61
+ render: (rowData) => /* @__PURE__ */ jsx(Typography, { noWrap: true, children: rowData.property })
57
62
  },
58
63
  {
59
64
  title: "Old Value",
60
65
  field: "old_value",
61
- render: (rowData) => /* @__PURE__ */ React.createElement(Typography, { noWrap: true }, rowData.old_value)
66
+ render: (rowData) => /* @__PURE__ */ jsx(Typography, { noWrap: true, children: rowData.old_value })
62
67
  },
63
68
  {
64
69
  title: "New Value",
65
70
  field: "new_value",
66
- render: (rowData) => /* @__PURE__ */ React.createElement(Typography, { noWrap: true }, rowData.new_value)
71
+ render: (rowData) => /* @__PURE__ */ jsx(Typography, { noWrap: true, children: rowData.new_value })
67
72
  },
68
73
  {
69
74
  title: "Status",
70
75
  field: "status",
71
- render: (rowData) => /* @__PURE__ */ React.createElement(StatusField, { status: rowData.status })
76
+ render: (rowData) => /* @__PURE__ */ jsx(StatusField, { status: rowData.status })
72
77
  }
73
78
  ];
74
- return /* @__PURE__ */ React.createElement(
79
+ return /* @__PURE__ */ jsx(
75
80
  Table,
76
81
  {
77
82
  options: {
@@ -85,7 +90,7 @@ const ReportDetailsEventsTable = (props) => {
85
90
  pageSize: 10,
86
91
  pageSizeOptions: [10]
87
92
  },
88
- emptyContent: /* @__PURE__ */ React.createElement(Typography, { color: "textSecondary", className: classes.empty }, "No events"),
93
+ emptyContent: /* @__PURE__ */ jsx(Typography, { color: "textSecondary", className: classes.empty, children: "No events" }),
89
94
  title: "Latest events",
90
95
  columns,
91
96
  data: value || [],
@@ -1 +1 @@
1
- {"version":3,"file":"ReportDetailsEventsTable.esm.js","sources":["../../../src/components/ReportDetailsPage/ReportDetailsEventsTable.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 */\nimport Typography from '@material-ui/core/Typography';\nimport React from 'react';\nimport { puppetDbApiRef, PuppetDbReportEvent } from '../../api';\nimport {\n ResponseErrorPanel,\n Table,\n TableColumn,\n} from '@backstage/core-components';\nimport useAsync from 'react-use/esm/useAsync';\nimport { useApi } from '@backstage/core-plugin-api';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { StatusField } from '../StatusField';\n\ntype ReportEventsTableProps = {\n hash: string;\n};\n\nconst useStyles = makeStyles(theme => ({\n empty: {\n padding: theme.spacing(2),\n display: 'flex',\n justifyContent: 'center',\n },\n}));\n\n/**\n * Component for displaying PuppetDB report events.\n *\n * @public\n */\nexport const ReportDetailsEventsTable = (props: ReportEventsTableProps) => {\n const { hash } = props;\n const puppetDbApi = useApi(puppetDbApiRef);\n const classes = useStyles();\n const { value, loading, error } = useAsync(async () => {\n return puppetDbApi.getPuppetDbReportEvents(hash);\n }, [puppetDbApi, hash]);\n\n if (error) {\n return <ResponseErrorPanel error={error} />;\n }\n\n const columns: TableColumn<PuppetDbReportEvent>[] = [\n {\n title: 'Run Start Time',\n field: 'run_start_time',\n align: 'center',\n width: '300px',\n render: rowData => (\n <Typography noWrap>\n {new Date(Date.parse(rowData.run_start_time)).toLocaleString()}\n </Typography>\n ),\n },\n {\n title: 'Run End Time',\n field: 'run_end_time',\n align: 'center',\n width: '300px',\n render: rowData => (\n <Typography noWrap>\n {new Date(Date.parse(rowData.run_end_time)).toLocaleString()}\n </Typography>\n ),\n },\n {\n title: 'Containing Class',\n field: 'containing_class',\n render: rowData => (\n <Typography noWrap title={rowData.file || ''}>\n {rowData.containing_class}\n </Typography>\n ),\n },\n {\n title: 'Resource',\n field: 'resource_title',\n render: rowData => (\n <Typography noWrap>\n {rowData.resource_type}[{rowData.resource_title}]\n </Typography>\n ),\n },\n {\n title: 'Property',\n field: 'property',\n render: rowData => <Typography noWrap>{rowData.property}</Typography>,\n },\n {\n title: 'Old Value',\n field: 'old_value',\n render: rowData => <Typography noWrap>{rowData.old_value}</Typography>,\n },\n {\n title: 'New Value',\n field: 'new_value',\n render: rowData => <Typography noWrap>{rowData.new_value}</Typography>,\n },\n {\n title: 'Status',\n field: 'status',\n render: rowData => <StatusField status={rowData.status} />,\n },\n ];\n\n return (\n <Table\n options={{\n sorting: true,\n actionsColumnIndex: -1,\n loadingType: 'linear',\n padding: 'dense',\n showEmptyDataSourceMessage: !loading,\n showTitle: true,\n toolbar: true,\n pageSize: 10,\n pageSizeOptions: [10],\n }}\n emptyContent={\n <Typography color=\"textSecondary\" className={classes.empty}>\n No events\n </Typography>\n }\n title=\"Latest events\"\n columns={columns}\n data={value || []}\n isLoading={loading}\n />\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReportDetailsEventsTable.esm.js","sources":["../../../src/components/ReportDetailsPage/ReportDetailsEventsTable.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 */\nimport Typography from '@material-ui/core/Typography';\nimport { puppetDbApiRef, PuppetDbReportEvent } from '../../api';\nimport {\n ResponseErrorPanel,\n Table,\n TableColumn,\n} from '@backstage/core-components';\nimport useAsync from 'react-use/esm/useAsync';\nimport { useApi } from '@backstage/core-plugin-api';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { StatusField } from '../StatusField';\n\ntype ReportEventsTableProps = {\n hash: string;\n};\n\nconst useStyles = makeStyles(theme => ({\n empty: {\n padding: theme.spacing(2),\n display: 'flex',\n justifyContent: 'center',\n },\n}));\n\n/**\n * Component for displaying PuppetDB report events.\n *\n * @public\n */\nexport const ReportDetailsEventsTable = (props: ReportEventsTableProps) => {\n const { hash } = props;\n const puppetDbApi = useApi(puppetDbApiRef);\n const classes = useStyles();\n const { value, loading, error } = useAsync(async () => {\n return puppetDbApi.getPuppetDbReportEvents(hash);\n }, [puppetDbApi, hash]);\n\n if (error) {\n return <ResponseErrorPanel error={error} />;\n }\n\n const columns: TableColumn<PuppetDbReportEvent>[] = [\n {\n title: 'Run Start Time',\n field: 'run_start_time',\n align: 'center',\n width: '300px',\n render: rowData => (\n <Typography noWrap>\n {new Date(Date.parse(rowData.run_start_time)).toLocaleString()}\n </Typography>\n ),\n },\n {\n title: 'Run End Time',\n field: 'run_end_time',\n align: 'center',\n width: '300px',\n render: rowData => (\n <Typography noWrap>\n {new Date(Date.parse(rowData.run_end_time)).toLocaleString()}\n </Typography>\n ),\n },\n {\n title: 'Containing Class',\n field: 'containing_class',\n render: rowData => (\n <Typography noWrap title={rowData.file || ''}>\n {rowData.containing_class}\n </Typography>\n ),\n },\n {\n title: 'Resource',\n field: 'resource_title',\n render: rowData => (\n <Typography noWrap>\n {rowData.resource_type}[{rowData.resource_title}]\n </Typography>\n ),\n },\n {\n title: 'Property',\n field: 'property',\n render: rowData => <Typography noWrap>{rowData.property}</Typography>,\n },\n {\n title: 'Old Value',\n field: 'old_value',\n render: rowData => <Typography noWrap>{rowData.old_value}</Typography>,\n },\n {\n title: 'New Value',\n field: 'new_value',\n render: rowData => <Typography noWrap>{rowData.new_value}</Typography>,\n },\n {\n title: 'Status',\n field: 'status',\n render: rowData => <StatusField status={rowData.status} />,\n },\n ];\n\n return (\n <Table\n options={{\n sorting: true,\n actionsColumnIndex: -1,\n loadingType: 'linear',\n padding: 'dense',\n showEmptyDataSourceMessage: !loading,\n showTitle: true,\n toolbar: true,\n pageSize: 10,\n pageSizeOptions: [10],\n }}\n emptyContent={\n <Typography color=\"textSecondary\" className={classes.empty}>\n No events\n </Typography>\n }\n title=\"Latest events\"\n columns={columns}\n data={value || []}\n isLoading={loading}\n />\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
+ import { jsx } from 'react/jsx-runtime';
1
2
  import Typography from '@material-ui/core/Typography';
2
- import React from 'react';
3
3
  import { puppetDbApiRef } from '../../api/types.esm.js';
4
4
  import '@backstage/errors';
5
5
  import { ResponseErrorPanel, Table } from '@backstage/core-components';
@@ -31,7 +31,7 @@ const ReportDetailsLogsTable = (props) => {
31
31
  return puppetDbApi.getPuppetDbReportLogs(hash);
32
32
  }, [puppetDbApi, hash]);
33
33
  if (error) {
34
- return /* @__PURE__ */ React.createElement(ResponseErrorPanel, { error });
34
+ return /* @__PURE__ */ jsx(ResponseErrorPanel, { error });
35
35
  }
36
36
  const columns = [
37
37
  {
@@ -39,13 +39,13 @@ const ReportDetailsLogsTable = (props) => {
39
39
  field: "level",
40
40
  align: "center",
41
41
  width: "100px",
42
- render: (rowData) => /* @__PURE__ */ React.createElement(
42
+ render: (rowData) => /* @__PURE__ */ jsx(
43
43
  Typography,
44
44
  {
45
45
  noWrap: true,
46
- className: rowData.level === "warning" && classes.level_warning || rowData.level === "error" && classes.level_error || classes.level_notice
47
- },
48
- rowData.level.toLocaleUpperCase("en-US")
46
+ className: rowData.level === "warning" && classes.level_warning || rowData.level === "error" && classes.level_error || classes.level_notice,
47
+ children: rowData.level.toLocaleUpperCase("en-US")
48
+ }
49
49
  )
50
50
  },
51
51
  {
@@ -53,20 +53,20 @@ const ReportDetailsLogsTable = (props) => {
53
53
  field: "time",
54
54
  align: "center",
55
55
  width: "300px",
56
- render: (rowData) => /* @__PURE__ */ React.createElement(Typography, { noWrap: true }, new Date(Date.parse(rowData.time)).toLocaleString())
56
+ render: (rowData) => /* @__PURE__ */ jsx(Typography, { noWrap: true, children: new Date(Date.parse(rowData.time)).toLocaleString() })
57
57
  },
58
58
  {
59
59
  title: "Source",
60
60
  field: "source",
61
- render: (rowData) => /* @__PURE__ */ React.createElement(Typography, { noWrap: true }, rowData.source)
61
+ render: (rowData) => /* @__PURE__ */ jsx(Typography, { noWrap: true, children: rowData.source })
62
62
  },
63
63
  {
64
64
  title: "Message",
65
65
  field: "message",
66
- render: (rowData) => /* @__PURE__ */ React.createElement(Typography, { noWrap: true }, rowData.message)
66
+ render: (rowData) => /* @__PURE__ */ jsx(Typography, { noWrap: true, children: rowData.message })
67
67
  }
68
68
  ];
69
- return /* @__PURE__ */ React.createElement(
69
+ return /* @__PURE__ */ jsx(
70
70
  Table,
71
71
  {
72
72
  options: {
@@ -80,7 +80,7 @@ const ReportDetailsLogsTable = (props) => {
80
80
  pageSize: 10,
81
81
  pageSizeOptions: [10]
82
82
  },
83
- emptyContent: /* @__PURE__ */ React.createElement(Typography, { color: "textSecondary", className: classes.empty }, "No logs"),
83
+ emptyContent: /* @__PURE__ */ jsx(Typography, { color: "textSecondary", className: classes.empty, children: "No logs" }),
84
84
  title: "Latest logs",
85
85
  columns,
86
86
  data: value || [],
@@ -1 +1 @@
1
- {"version":3,"file":"ReportDetailsLogsTable.esm.js","sources":["../../../src/components/ReportDetailsPage/ReportDetailsLogsTable.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 Typography from '@material-ui/core/Typography';\nimport React from 'react';\nimport { puppetDbApiRef, PuppetDbReportLog } from '../../api';\nimport {\n ResponseErrorPanel,\n Table,\n TableColumn,\n} from '@backstage/core-components';\nimport useAsync from 'react-use/esm/useAsync';\nimport { useApi } from '@backstage/core-plugin-api';\nimport { makeStyles } from '@material-ui/core/styles';\n\ntype ReportLogsTableProps = {\n hash: string;\n};\n\nconst useStyles = makeStyles(theme => ({\n empty: {\n padding: theme.spacing(2),\n display: 'flex',\n justifyContent: 'center',\n },\n level_error: {\n color: theme.palette.error.light,\n },\n level_warning: {\n color: theme.palette.warning.light,\n },\n level_notice: {\n color: theme.palette.info.light,\n },\n}));\n\n/**\n * Component for displaying PuppetDB report logs.\n *\n * @public\n */\nexport const ReportDetailsLogsTable = (props: ReportLogsTableProps) => {\n const { hash } = props;\n const puppetDbApi = useApi(puppetDbApiRef);\n const classes = useStyles();\n const { value, loading, error } = useAsync(async () => {\n return puppetDbApi.getPuppetDbReportLogs(hash);\n }, [puppetDbApi, hash]);\n\n if (error) {\n return <ResponseErrorPanel error={error} />;\n }\n\n const columns: TableColumn<PuppetDbReportLog>[] = [\n {\n title: 'Level',\n field: 'level',\n align: 'center',\n width: '100px',\n render: rowData => (\n <Typography\n noWrap\n className={\n (rowData.level === 'warning' && classes.level_warning) ||\n (rowData.level === 'error' && classes.level_error) ||\n classes.level_notice\n }\n >\n {rowData.level.toLocaleUpperCase('en-US')}\n </Typography>\n ),\n },\n {\n title: 'Timestamp',\n field: 'time',\n align: 'center',\n width: '300px',\n render: rowData => (\n <Typography noWrap>\n {new Date(Date.parse(rowData.time)).toLocaleString()}\n </Typography>\n ),\n },\n {\n title: 'Source',\n field: 'source',\n render: rowData => <Typography noWrap>{rowData.source}</Typography>,\n },\n {\n title: 'Message',\n field: 'message',\n render: rowData => <Typography noWrap>{rowData.message}</Typography>,\n },\n ];\n\n return (\n <Table\n options={{\n sorting: true,\n actionsColumnIndex: -1,\n loadingType: 'linear',\n padding: 'dense',\n showEmptyDataSourceMessage: !loading,\n showTitle: true,\n toolbar: true,\n pageSize: 10,\n pageSizeOptions: [10],\n }}\n emptyContent={\n <Typography color=\"textSecondary\" className={classes.empty}>\n No logs\n </Typography>\n }\n title=\"Latest logs\"\n columns={columns}\n data={value || []}\n isLoading={loading}\n />\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReportDetailsLogsTable.esm.js","sources":["../../../src/components/ReportDetailsPage/ReportDetailsLogsTable.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 Typography from '@material-ui/core/Typography';\nimport { puppetDbApiRef, PuppetDbReportLog } from '../../api';\nimport {\n ResponseErrorPanel,\n Table,\n TableColumn,\n} from '@backstage/core-components';\nimport useAsync from 'react-use/esm/useAsync';\nimport { useApi } from '@backstage/core-plugin-api';\nimport { makeStyles } from '@material-ui/core/styles';\n\ntype ReportLogsTableProps = {\n hash: string;\n};\n\nconst useStyles = makeStyles(theme => ({\n empty: {\n padding: theme.spacing(2),\n display: 'flex',\n justifyContent: 'center',\n },\n level_error: {\n color: theme.palette.error.light,\n },\n level_warning: {\n color: theme.palette.warning.light,\n },\n level_notice: {\n color: theme.palette.info.light,\n },\n}));\n\n/**\n * Component for displaying PuppetDB report logs.\n *\n * @public\n */\nexport const ReportDetailsLogsTable = (props: ReportLogsTableProps) => {\n const { hash } = props;\n const puppetDbApi = useApi(puppetDbApiRef);\n const classes = useStyles();\n const { value, loading, error } = useAsync(async () => {\n return puppetDbApi.getPuppetDbReportLogs(hash);\n }, [puppetDbApi, hash]);\n\n if (error) {\n return <ResponseErrorPanel error={error} />;\n }\n\n const columns: TableColumn<PuppetDbReportLog>[] = [\n {\n title: 'Level',\n field: 'level',\n align: 'center',\n width: '100px',\n render: rowData => (\n <Typography\n noWrap\n className={\n (rowData.level === 'warning' && classes.level_warning) ||\n (rowData.level === 'error' && classes.level_error) ||\n classes.level_notice\n }\n >\n {rowData.level.toLocaleUpperCase('en-US')}\n </Typography>\n ),\n },\n {\n title: 'Timestamp',\n field: 'time',\n align: 'center',\n width: '300px',\n render: rowData => (\n <Typography noWrap>\n {new Date(Date.parse(rowData.time)).toLocaleString()}\n </Typography>\n ),\n },\n {\n title: 'Source',\n field: 'source',\n render: rowData => <Typography noWrap>{rowData.source}</Typography>,\n },\n {\n title: 'Message',\n field: 'message',\n render: rowData => <Typography noWrap>{rowData.message}</Typography>,\n },\n ];\n\n return (\n <Table\n options={{\n sorting: true,\n actionsColumnIndex: -1,\n loadingType: 'linear',\n padding: 'dense',\n showEmptyDataSourceMessage: !loading,\n showTitle: true,\n toolbar: true,\n pageSize: 10,\n pageSizeOptions: [10],\n }}\n emptyContent={\n <Typography color=\"textSecondary\" className={classes.empty}>\n No logs\n </Typography>\n }\n title=\"Latest logs\"\n columns={columns}\n data={value || []}\n isLoading={loading}\n />\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
1
2
  import { useParams, Link as Link$1 } from 'react-router-dom';
2
3
  import { Breadcrumbs, Link } from '@backstage/core-components';
3
4
  import { makeStyles } from '@material-ui/core/styles';
4
5
  import { useRouteRef } from '@backstage/core-plugin-api';
5
6
  import { puppetDbRouteRef } from '../../routes.esm.js';
6
- import React, { useState } from 'react';
7
+ import { useState } from 'react';
7
8
  import Card from '@material-ui/core/Card';
8
9
  import CardContent from '@material-ui/core/CardContent';
9
10
  import Tab from '@material-ui/core/Tab';
@@ -42,31 +43,43 @@ const ReportDetailsPage = () => {
42
43
  { id: "logs", label: "Logs" }
43
44
  ];
44
45
  const safeTabIndex = tabIndex > tabs.length - 1 ? 0 : tabIndex;
45
- return /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(Breadcrumbs, { "aria-label": "breadcrumb" }, /* @__PURE__ */ React.createElement(Link, { component: Link$1, to: reportsRouteLink() }, "PuppetDB Reports"), /* @__PURE__ */ React.createElement(Typography, { noWrap: true }, hash)), /* @__PURE__ */ React.createElement(
46
- Card,
47
- {
48
- style: { position: "relative", overflow: "visible" },
49
- className: classes.cards
50
- },
51
- /* @__PURE__ */ React.createElement(CardContent, null, /* @__PURE__ */ React.createElement(
52
- Tabs,
46
+ return /* @__PURE__ */ jsxs("div", { children: [
47
+ /* @__PURE__ */ jsxs(Breadcrumbs, { "aria-label": "breadcrumb", children: [
48
+ /* @__PURE__ */ jsx(Link, { component: Link$1, to: reportsRouteLink(), children: "PuppetDB Reports" }),
49
+ /* @__PURE__ */ jsx(Typography, { noWrap: true, children: hash })
50
+ ] }),
51
+ /* @__PURE__ */ jsx(
52
+ Card,
53
53
  {
54
- indicatorColor: "primary",
55
- onChange: (_, index) => setTabIndex(index),
56
- value: safeTabIndex
57
- },
58
- tabs.map((tab, index) => /* @__PURE__ */ React.createElement(
59
- Tab,
60
- {
61
- className: classes.default,
62
- label: tab.label,
63
- key: tab.id,
64
- value: index,
65
- classes: { selected: classes.selected }
66
- }
67
- ))
68
- ), /* @__PURE__ */ React.createElement(Box, { ml: 2, pt: 2, my: 1, display: "flex", flexDirection: "column" }, safeTabIndex === 0 && /* @__PURE__ */ React.createElement(ReportDetailsEventsTable, { hash }), safeTabIndex === 1 && /* @__PURE__ */ React.createElement(ReportDetailsLogsTable, { hash })))
69
- ));
54
+ style: { position: "relative", overflow: "visible" },
55
+ className: classes.cards,
56
+ children: /* @__PURE__ */ jsxs(CardContent, { children: [
57
+ /* @__PURE__ */ jsx(
58
+ Tabs,
59
+ {
60
+ indicatorColor: "primary",
61
+ onChange: (_, index) => setTabIndex(index),
62
+ value: safeTabIndex,
63
+ children: tabs.map((tab, index) => /* @__PURE__ */ jsx(
64
+ Tab,
65
+ {
66
+ className: classes.default,
67
+ label: tab.label,
68
+ value: index,
69
+ classes: { selected: classes.selected }
70
+ },
71
+ tab.id
72
+ ))
73
+ }
74
+ ),
75
+ /* @__PURE__ */ jsxs(Box, { ml: 2, pt: 2, my: 1, display: "flex", flexDirection: "column", children: [
76
+ safeTabIndex === 0 && /* @__PURE__ */ jsx(ReportDetailsEventsTable, { hash }),
77
+ safeTabIndex === 1 && /* @__PURE__ */ jsx(ReportDetailsLogsTable, { hash })
78
+ ] })
79
+ ] })
80
+ }
81
+ )
82
+ ] });
70
83
  };
71
84
 
72
85
  export { ReportDetailsPage };
@@ -1 +1 @@
1
- {"version":3,"file":"ReportDetailsPage.esm.js","sources":["../../../src/components/ReportDetailsPage/ReportDetailsPage.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 { Link as RouterLink, useParams } from 'react-router-dom';\nimport { Breadcrumbs, Link } from '@backstage/core-components';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { useRouteRef } from '@backstage/core-plugin-api';\nimport { puppetDbRouteRef } from '../../routes';\nimport React, { useState } from 'react';\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport Tab from '@material-ui/core/Tab';\nimport Box from '@material-ui/core/Box';\nimport Typography from '@material-ui/core/Typography';\nimport Tabs from '@material-ui/core/Tabs';\nimport { ReportDetailsEventsTable } from './ReportDetailsEventsTable';\nimport { ReportDetailsLogsTable } from './ReportDetailsLogsTable';\n\nconst useStyles = makeStyles(theme => ({\n cards: {\n marginTop: theme.spacing(2),\n },\n tabs: {\n borderBottom: `1px solid ${theme.palette.textVerySubtle}`,\n backgroundColor: theme.palette.background.default,\n padding: theme.spacing(0, 4),\n },\n default: {\n padding: theme.spacing(2),\n fontWeight: theme.typography.fontWeightBold,\n color: theme.palette.text.secondary,\n textTransform: 'uppercase',\n },\n selected: {\n color: theme.palette.text.primary,\n },\n}));\n\n/**\n * Component for displaying the details of a PuppetDB report.\n *\n * @public\n */\nexport const ReportDetailsPage = () => {\n const { hash = '' } = useParams();\n const classes = useStyles();\n const [tabIndex, setTabIndex] = useState(0);\n const reportsRouteLink = useRouteRef(puppetDbRouteRef);\n const tabs = [\n { id: 'events', label: 'Events' },\n { id: 'logs', label: 'Logs' },\n ];\n const safeTabIndex = tabIndex > tabs.length - 1 ? 0 : tabIndex;\n\n return (\n <div>\n <Breadcrumbs aria-label=\"breadcrumb\">\n <Link component={RouterLink} to={reportsRouteLink()}>\n PuppetDB Reports\n </Link>\n <Typography noWrap>{hash}</Typography>\n </Breadcrumbs>\n <Card\n style={{ position: 'relative', overflow: 'visible' }}\n className={classes.cards}\n >\n <CardContent>\n <Tabs\n indicatorColor=\"primary\"\n onChange={(_, index) => setTabIndex(index)}\n value={safeTabIndex}\n >\n {tabs.map((tab, index) => (\n <Tab\n className={classes.default}\n label={tab.label}\n key={tab.id}\n value={index}\n classes={{ selected: classes.selected }}\n />\n ))}\n </Tabs>\n <Box ml={2} pt={2} my={1} display=\"flex\" flexDirection=\"column\">\n {safeTabIndex === 0 && <ReportDetailsEventsTable hash={hash} />}\n {safeTabIndex === 1 && <ReportDetailsLogsTable hash={hash} />}\n </Box>\n </CardContent>\n </Card>\n </div>\n );\n};\n"],"names":["RouterLink"],"mappings":"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"}
1
+ {"version":3,"file":"ReportDetailsPage.esm.js","sources":["../../../src/components/ReportDetailsPage/ReportDetailsPage.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 { Link as RouterLink, useParams } from 'react-router-dom';\nimport { Breadcrumbs, Link } from '@backstage/core-components';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { useRouteRef } from '@backstage/core-plugin-api';\nimport { puppetDbRouteRef } from '../../routes';\nimport { useState } from 'react';\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport Tab from '@material-ui/core/Tab';\nimport Box from '@material-ui/core/Box';\nimport Typography from '@material-ui/core/Typography';\nimport Tabs from '@material-ui/core/Tabs';\nimport { ReportDetailsEventsTable } from './ReportDetailsEventsTable';\nimport { ReportDetailsLogsTable } from './ReportDetailsLogsTable';\n\nconst useStyles = makeStyles(theme => ({\n cards: {\n marginTop: theme.spacing(2),\n },\n tabs: {\n borderBottom: `1px solid ${theme.palette.textVerySubtle}`,\n backgroundColor: theme.palette.background.default,\n padding: theme.spacing(0, 4),\n },\n default: {\n padding: theme.spacing(2),\n fontWeight: theme.typography.fontWeightBold,\n color: theme.palette.text.secondary,\n textTransform: 'uppercase',\n },\n selected: {\n color: theme.palette.text.primary,\n },\n}));\n\n/**\n * Component for displaying the details of a PuppetDB report.\n *\n * @public\n */\nexport const ReportDetailsPage = () => {\n const { hash = '' } = useParams();\n const classes = useStyles();\n const [tabIndex, setTabIndex] = useState(0);\n const reportsRouteLink = useRouteRef(puppetDbRouteRef);\n const tabs = [\n { id: 'events', label: 'Events' },\n { id: 'logs', label: 'Logs' },\n ];\n const safeTabIndex = tabIndex > tabs.length - 1 ? 0 : tabIndex;\n\n return (\n <div>\n <Breadcrumbs aria-label=\"breadcrumb\">\n <Link component={RouterLink} to={reportsRouteLink()}>\n PuppetDB Reports\n </Link>\n <Typography noWrap>{hash}</Typography>\n </Breadcrumbs>\n <Card\n style={{ position: 'relative', overflow: 'visible' }}\n className={classes.cards}\n >\n <CardContent>\n <Tabs\n indicatorColor=\"primary\"\n onChange={(_, index) => setTabIndex(index)}\n value={safeTabIndex}\n >\n {tabs.map((tab, index) => (\n <Tab\n className={classes.default}\n label={tab.label}\n key={tab.id}\n value={index}\n classes={{ selected: classes.selected }}\n />\n ))}\n </Tabs>\n <Box ml={2} pt={2} my={1} display=\"flex\" flexDirection=\"column\">\n {safeTabIndex === 0 && <ReportDetailsEventsTable hash={hash} />}\n {safeTabIndex === 1 && <ReportDetailsLogsTable hash={hash} />}\n </Box>\n </CardContent>\n </Card>\n </div>\n );\n};\n"],"names":["RouterLink"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx } from 'react/jsx-runtime';
2
2
  import { ReportsTable } from './ReportsTable.esm.js';
3
3
  import { Page, Content } from '@backstage/core-components';
4
4
  import { useEntity } from '@backstage/plugin-catalog-react';
@@ -7,7 +7,7 @@ import { ANNOTATION_PUPPET_CERTNAME } from '../../constants.esm.js';
7
7
  const ReportsPage = () => {
8
8
  const { entity } = useEntity();
9
9
  const certName = entity?.metadata?.annotations?.[ANNOTATION_PUPPET_CERTNAME] ?? "";
10
- return /* @__PURE__ */ React.createElement(Page, { themeId: "tool" }, /* @__PURE__ */ React.createElement(Content, null, /* @__PURE__ */ React.createElement(ReportsTable, { certName })));
10
+ return /* @__PURE__ */ jsx(Page, { themeId: "tool", children: /* @__PURE__ */ jsx(Content, { children: /* @__PURE__ */ jsx(ReportsTable, { certName }) }) });
11
11
  };
12
12
 
13
13
  export { ReportsPage };
@@ -1 +1 @@
1
- {"version":3,"file":"ReportsPage.esm.js","sources":["../../../src/components/ReportsPage/ReportsPage.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 */\nimport React from 'react';\nimport { ReportsTable } from './ReportsTable';\nimport { Page, Content } from '@backstage/core-components';\nimport { useEntity } from '@backstage/plugin-catalog-react';\nimport { ANNOTATION_PUPPET_CERTNAME } from '../../constants';\n\n/**\n * Component to display PuppetDB reports page.\n *\n * @public\n */\nexport const ReportsPage = () => {\n const { entity } = useEntity();\n const certName =\n entity?.metadata?.annotations?.[ANNOTATION_PUPPET_CERTNAME] ?? '';\n\n return (\n <Page themeId=\"tool\">\n <Content>\n <ReportsTable certName={certName} />\n </Content>\n </Page>\n );\n};\n"],"names":[],"mappings":";;;;;;AA0BO,MAAM,cAAc,MAAM;AAC/B,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA;AAC7B,EAAA,MAAM,QACJ,GAAA,MAAA,EAAQ,QAAU,EAAA,WAAA,GAAc,0BAA0B,CAAK,IAAA,EAAA;AAEjE,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,OAAA,EAAQ,MACZ,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,+BACE,KAAA,CAAA,aAAA,CAAA,YAAA,EAAA,EAAa,QAAoB,EAAA,CACpC,CACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"ReportsPage.esm.js","sources":["../../../src/components/ReportsPage/ReportsPage.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 */\nimport { ReportsTable } from './ReportsTable';\nimport { Page, Content } from '@backstage/core-components';\nimport { useEntity } from '@backstage/plugin-catalog-react';\nimport { ANNOTATION_PUPPET_CERTNAME } from '../../constants';\n\n/**\n * Component to display PuppetDB reports page.\n *\n * @public\n */\nexport const ReportsPage = () => {\n const { entity } = useEntity();\n const certName =\n entity?.metadata?.annotations?.[ANNOTATION_PUPPET_CERTNAME] ?? '';\n\n return (\n <Page themeId=\"tool\">\n <Content>\n <ReportsTable certName={certName} />\n </Content>\n </Page>\n );\n};\n"],"names":[],"mappings":";;;;;;AAyBO,MAAM,cAAc,MAAM;AAC/B,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA;AAC7B,EAAA,MAAM,QACJ,GAAA,MAAA,EAAQ,QAAU,EAAA,WAAA,GAAc,0BAA0B,CAAK,IAAA,EAAA;AAEjE,EACE,uBAAA,GAAA,CAAC,IAAK,EAAA,EAAA,OAAA,EAAQ,MACZ,EAAA,QAAA,kBAAA,GAAA,CAAC,WACC,QAAC,kBAAA,GAAA,CAAA,YAAA,EAAA,EAAa,QAAoB,EAAA,CAAA,EACpC,CACF,EAAA,CAAA;AAEJ;;;;"}
@@ -1,7 +1,7 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
1
2
  import { puppetDbApiRef } from '../../api/types.esm.js';
2
3
  import '@backstage/errors';
3
4
  import useAsync from 'react-use/esm/useAsync';
4
- import React from 'react';
5
5
  import { ResponseErrorPanel, Table, Link } from '@backstage/core-components';
6
6
  import { useApi, useRouteRef } from '@backstage/core-plugin-api';
7
7
  import { makeStyles } from '@material-ui/core/styles';
@@ -26,19 +26,19 @@ const ReportsTable = (props) => {
26
26
  return puppetDbApi.getPuppetDbNodeReports(certName);
27
27
  }, [puppetDbApi, certName]);
28
28
  if (error) {
29
- return /* @__PURE__ */ React.createElement(ResponseErrorPanel, { error });
29
+ return /* @__PURE__ */ jsx(ResponseErrorPanel, { error });
30
30
  }
31
31
  const columns = [
32
32
  {
33
33
  title: "Configuration Version",
34
34
  field: "configuration_version",
35
- render: (rowData) => /* @__PURE__ */ React.createElement(
35
+ render: (rowData) => /* @__PURE__ */ jsx(
36
36
  Link,
37
37
  {
38
38
  component: Link$1,
39
- to: reportsRouteLink({ hash: rowData.hash })
40
- },
41
- rowData.configuration_version !== "" ? /* @__PURE__ */ React.createElement(Typography, { noWrap: true }, rowData.configuration_version) : /* @__PURE__ */ React.createElement(Typography, { noWrap: true }, /* @__PURE__ */ React.createElement("em", null, "(N/A)"))
39
+ to: reportsRouteLink({ hash: rowData.hash }),
40
+ children: rowData.configuration_version !== "" ? /* @__PURE__ */ jsx(Typography, { noWrap: true, children: rowData.configuration_version }) : /* @__PURE__ */ jsx(Typography, { noWrap: true, children: /* @__PURE__ */ jsx("em", { children: "(N/A)" }) })
41
+ }
42
42
  )
43
43
  },
44
44
  {
@@ -46,14 +46,14 @@ const ReportsTable = (props) => {
46
46
  field: "start_time",
47
47
  align: "center",
48
48
  width: "300px",
49
- render: (rowData) => /* @__PURE__ */ React.createElement(Typography, { noWrap: true }, new Date(Date.parse(rowData.start_time)).toLocaleString())
49
+ render: (rowData) => /* @__PURE__ */ jsx(Typography, { noWrap: true, children: new Date(Date.parse(rowData.start_time)).toLocaleString() })
50
50
  },
51
51
  {
52
52
  title: "End Time",
53
53
  field: "end_time",
54
54
  align: "center",
55
55
  width: "300px",
56
- render: (rowData) => /* @__PURE__ */ React.createElement(Typography, { noWrap: true }, new Date(Date.parse(rowData.end_time)).toLocaleString())
56
+ render: (rowData) => /* @__PURE__ */ jsx(Typography, { noWrap: true, children: new Date(Date.parse(rowData.end_time)).toLocaleString() })
57
57
  },
58
58
  {
59
59
  title: "Run Duration",
@@ -63,7 +63,15 @@ const ReportsTable = (props) => {
63
63
  const start_date = new Date(Date.parse(rowData.start_time));
64
64
  const end_date = new Date(Date.parse(rowData.end_time));
65
65
  const duration = new Date(end_date.getTime() - start_date.getTime());
66
- return /* @__PURE__ */ React.createElement(Typography, { noWrap: true }, duration.getUTCHours().toString().padStart(2, "0"), ":", duration.getUTCMinutes().toString().padStart(2, "0"), ":", duration.getUTCSeconds().toString().padStart(2, "0"), ".", duration.getUTCMilliseconds().toString().padStart(4, "0"));
66
+ return /* @__PURE__ */ jsxs(Typography, { noWrap: true, children: [
67
+ duration.getUTCHours().toString().padStart(2, "0"),
68
+ ":",
69
+ duration.getUTCMinutes().toString().padStart(2, "0"),
70
+ ":",
71
+ duration.getUTCSeconds().toString().padStart(2, "0"),
72
+ ".",
73
+ duration.getUTCMilliseconds().toString().padStart(4, "0")
74
+ ] });
67
75
  }
68
76
  },
69
77
  {
@@ -74,16 +82,16 @@ const ReportsTable = (props) => {
74
82
  title: "Mode",
75
83
  field: "noop",
76
84
  align: "center",
77
- render: (rowData) => rowData.noop ? /* @__PURE__ */ React.createElement(Typography, null, "NOOP") : /* @__PURE__ */ React.createElement(Typography, null, "NO-NOOP")
85
+ render: (rowData) => rowData.noop ? /* @__PURE__ */ jsx(Typography, { children: "NOOP" }) : /* @__PURE__ */ jsx(Typography, { children: "NO-NOOP" })
78
86
  },
79
87
  {
80
88
  title: "Status",
81
89
  field: "status",
82
90
  align: "center",
83
- render: (rowData) => /* @__PURE__ */ React.createElement(StatusField, { status: rowData.status })
91
+ render: (rowData) => /* @__PURE__ */ jsx(StatusField, { status: rowData.status })
84
92
  }
85
93
  ];
86
- return /* @__PURE__ */ React.createElement(
94
+ return /* @__PURE__ */ jsx(
87
95
  Table,
88
96
  {
89
97
  options: {
@@ -97,7 +105,7 @@ const ReportsTable = (props) => {
97
105
  pageSize: 10,
98
106
  pageSizeOptions: [10]
99
107
  },
100
- emptyContent: /* @__PURE__ */ React.createElement(Typography, { color: "textSecondary", className: classes.empty }, "No reports"),
108
+ emptyContent: /* @__PURE__ */ jsx(Typography, { color: "textSecondary", className: classes.empty, children: "No reports" }),
101
109
  title: `Latest PuppetDB reports from node ${certName}`,
102
110
  columns,
103
111
  data: value || [],
@@ -1 +1 @@
1
- {"version":3,"file":"ReportsTable.esm.js","sources":["../../../src/components/ReportsPage/ReportsTable.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 */\nimport { puppetDbApiRef, PuppetDbReport } from '../../api';\nimport useAsync from 'react-use/esm/useAsync';\nimport React from 'react';\nimport {\n Link,\n ResponseErrorPanel,\n Table,\n TableColumn,\n} from '@backstage/core-components';\nimport { useApi, useRouteRef } from '@backstage/core-plugin-api';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { puppetDbReportRouteRef } from '../../routes';\nimport { StatusField } from '../StatusField';\n\ntype ReportsTableProps = {\n certName: string;\n};\n\nconst useStyles = makeStyles(theme => ({\n empty: {\n padding: theme.spacing(2),\n display: 'flex',\n justifyContent: 'center',\n },\n}));\n\n/**\n * Component for displaying a table of PuppetDB reports for a given node.\n *\n * @public\n */\nexport const ReportsTable = (props: ReportsTableProps) => {\n const { certName } = props;\n const puppetDbApi = useApi(puppetDbApiRef);\n const reportsRouteLink = useRouteRef(puppetDbReportRouteRef);\n const classes = useStyles();\n\n const { value, loading, error } = useAsync(async () => {\n return puppetDbApi.getPuppetDbNodeReports(certName);\n }, [puppetDbApi, certName]);\n\n if (error) {\n return <ResponseErrorPanel error={error} />;\n }\n\n const columns: TableColumn<PuppetDbReport>[] = [\n {\n title: 'Configuration Version',\n field: 'configuration_version',\n render: rowData => (\n <Link\n component={RouterLink}\n to={reportsRouteLink({ hash: rowData.hash! })}\n >\n {rowData.configuration_version !== '' ? (\n <Typography noWrap>{rowData.configuration_version}</Typography>\n ) : (\n <Typography noWrap>\n <em>(N/A)</em>\n </Typography>\n )}\n </Link>\n ),\n },\n {\n title: 'Start Time',\n field: 'start_time',\n align: 'center',\n width: '300px',\n render: rowData => (\n <Typography noWrap>\n {new Date(Date.parse(rowData.start_time)).toLocaleString()}\n </Typography>\n ),\n },\n {\n title: 'End Time',\n field: 'end_time',\n align: 'center',\n width: '300px',\n render: rowData => (\n <Typography noWrap>\n {new Date(Date.parse(rowData.end_time)).toLocaleString()}\n </Typography>\n ),\n },\n {\n title: 'Run Duration',\n align: 'center',\n width: '400px',\n render: rowData => {\n const start_date = new Date(Date.parse(rowData.start_time));\n const end_date = new Date(Date.parse(rowData.end_time));\n const duration = new Date(end_date.getTime() - start_date.getTime());\n return (\n <Typography noWrap>\n {duration.getUTCHours().toString().padStart(2, '0')}:\n {duration.getUTCMinutes().toString().padStart(2, '0')}:\n {duration.getUTCSeconds().toString().padStart(2, '0')}.\n {duration.getUTCMilliseconds().toString().padStart(4, '0')}\n </Typography>\n );\n },\n },\n {\n title: 'Environment',\n field: 'environment',\n },\n {\n title: 'Mode',\n field: 'noop',\n align: 'center',\n render: rowData =>\n rowData.noop ? (\n <Typography>NOOP</Typography>\n ) : (\n <Typography>NO-NOOP</Typography>\n ),\n },\n {\n title: 'Status',\n field: 'status',\n align: 'center',\n render: rowData => <StatusField status={rowData.status} />,\n },\n ];\n\n return (\n <Table\n options={{\n sorting: true,\n actionsColumnIndex: -1,\n loadingType: 'linear',\n padding: 'dense',\n showEmptyDataSourceMessage: !loading,\n showTitle: true,\n toolbar: true,\n pageSize: 10,\n pageSizeOptions: [10],\n }}\n emptyContent={\n <Typography color=\"textSecondary\" className={classes.empty}>\n No reports\n </Typography>\n }\n title={`Latest PuppetDB reports from node ${certName}`}\n columns={columns}\n data={value || []}\n isLoading={loading}\n />\n );\n};\n"],"names":["RouterLink"],"mappings":"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"}
1
+ {"version":3,"file":"ReportsTable.esm.js","sources":["../../../src/components/ReportsPage/ReportsTable.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 */\nimport { puppetDbApiRef, PuppetDbReport } from '../../api';\nimport useAsync from 'react-use/esm/useAsync';\nimport {\n Link,\n ResponseErrorPanel,\n Table,\n TableColumn,\n} from '@backstage/core-components';\nimport { useApi, useRouteRef } from '@backstage/core-plugin-api';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { puppetDbReportRouteRef } from '../../routes';\nimport { StatusField } from '../StatusField';\n\ntype ReportsTableProps = {\n certName: string;\n};\n\nconst useStyles = makeStyles(theme => ({\n empty: {\n padding: theme.spacing(2),\n display: 'flex',\n justifyContent: 'center',\n },\n}));\n\n/**\n * Component for displaying a table of PuppetDB reports for a given node.\n *\n * @public\n */\nexport const ReportsTable = (props: ReportsTableProps) => {\n const { certName } = props;\n const puppetDbApi = useApi(puppetDbApiRef);\n const reportsRouteLink = useRouteRef(puppetDbReportRouteRef);\n const classes = useStyles();\n\n const { value, loading, error } = useAsync(async () => {\n return puppetDbApi.getPuppetDbNodeReports(certName);\n }, [puppetDbApi, certName]);\n\n if (error) {\n return <ResponseErrorPanel error={error} />;\n }\n\n const columns: TableColumn<PuppetDbReport>[] = [\n {\n title: 'Configuration Version',\n field: 'configuration_version',\n render: rowData => (\n <Link\n component={RouterLink}\n to={reportsRouteLink({ hash: rowData.hash! })}\n >\n {rowData.configuration_version !== '' ? (\n <Typography noWrap>{rowData.configuration_version}</Typography>\n ) : (\n <Typography noWrap>\n <em>(N/A)</em>\n </Typography>\n )}\n </Link>\n ),\n },\n {\n title: 'Start Time',\n field: 'start_time',\n align: 'center',\n width: '300px',\n render: rowData => (\n <Typography noWrap>\n {new Date(Date.parse(rowData.start_time)).toLocaleString()}\n </Typography>\n ),\n },\n {\n title: 'End Time',\n field: 'end_time',\n align: 'center',\n width: '300px',\n render: rowData => (\n <Typography noWrap>\n {new Date(Date.parse(rowData.end_time)).toLocaleString()}\n </Typography>\n ),\n },\n {\n title: 'Run Duration',\n align: 'center',\n width: '400px',\n render: rowData => {\n const start_date = new Date(Date.parse(rowData.start_time));\n const end_date = new Date(Date.parse(rowData.end_time));\n const duration = new Date(end_date.getTime() - start_date.getTime());\n return (\n <Typography noWrap>\n {duration.getUTCHours().toString().padStart(2, '0')}:\n {duration.getUTCMinutes().toString().padStart(2, '0')}:\n {duration.getUTCSeconds().toString().padStart(2, '0')}.\n {duration.getUTCMilliseconds().toString().padStart(4, '0')}\n </Typography>\n );\n },\n },\n {\n title: 'Environment',\n field: 'environment',\n },\n {\n title: 'Mode',\n field: 'noop',\n align: 'center',\n render: rowData =>\n rowData.noop ? (\n <Typography>NOOP</Typography>\n ) : (\n <Typography>NO-NOOP</Typography>\n ),\n },\n {\n title: 'Status',\n field: 'status',\n align: 'center',\n render: rowData => <StatusField status={rowData.status} />,\n },\n ];\n\n return (\n <Table\n options={{\n sorting: true,\n actionsColumnIndex: -1,\n loadingType: 'linear',\n padding: 'dense',\n showEmptyDataSourceMessage: !loading,\n showTitle: true,\n toolbar: true,\n pageSize: 10,\n pageSizeOptions: [10],\n }}\n emptyContent={\n <Typography color=\"textSecondary\" className={classes.empty}>\n No reports\n </Typography>\n }\n title={`Latest PuppetDB reports from node ${certName}`}\n columns={columns}\n data={value || []}\n isLoading={loading}\n />\n );\n};\n"],"names":["RouterLink"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { Routes, Route } from 'react-router-dom';
3
3
  import { puppetDbReportRouteRef } from '../routes.esm.js';
4
4
  import { ANNOTATION_PUPPET_CERTNAME } from '../constants.esm.js';
@@ -13,15 +13,18 @@ const isPuppetDbAvailable = (entity) => Boolean(entity.metadata.annotations?.[AN
13
13
  const Router = () => {
14
14
  const { entity } = useEntity();
15
15
  if (!isPuppetDbAvailable(entity)) {
16
- return /* @__PURE__ */ React.createElement(MissingAnnotationEmptyState, { annotation: ANNOTATION_PUPPET_CERTNAME });
16
+ return /* @__PURE__ */ jsx(MissingAnnotationEmptyState, { annotation: ANNOTATION_PUPPET_CERTNAME });
17
17
  }
18
- return /* @__PURE__ */ React.createElement(Routes, null, /* @__PURE__ */ React.createElement(Route, { path: "/", element: /* @__PURE__ */ React.createElement(ReportsPage, null) }), /* @__PURE__ */ React.createElement(
19
- Route,
20
- {
21
- path: `${puppetDbReportRouteRef.path}`,
22
- element: /* @__PURE__ */ React.createElement(ReportDetailsPage, null)
23
- }
24
- ));
18
+ return /* @__PURE__ */ jsxs(Routes, { children: [
19
+ /* @__PURE__ */ jsx(Route, { path: "/", element: /* @__PURE__ */ jsx(ReportsPage, {}) }),
20
+ /* @__PURE__ */ jsx(
21
+ Route,
22
+ {
23
+ path: `${puppetDbReportRouteRef.path}`,
24
+ element: /* @__PURE__ */ jsx(ReportDetailsPage, {})
25
+ }
26
+ )
27
+ ] });
25
28
  };
26
29
 
27
30
  export { Router, isPuppetDbAvailable };
@@ -1 +1 @@
1
- {"version":3,"file":"Router.esm.js","sources":["../../src/components/Router.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 React from 'react';\nimport { Routes, Route } from 'react-router-dom';\nimport { puppetDbReportRouteRef } from '../routes';\nimport { ANNOTATION_PUPPET_CERTNAME } from '../constants';\nimport { Entity } from '@backstage/catalog-model';\nimport {\n useEntity,\n MissingAnnotationEmptyState,\n} from '@backstage/plugin-catalog-react';\nimport { ReportsPage } from './ReportsPage';\nimport { ReportDetailsPage } from './ReportDetailsPage';\n\n/**\n * Checks if the entity has a puppet certname annotation.\n * @param entity - The entity to check for the puppet certname annotation.\n *\n * @public\n */\nexport const isPuppetDbAvailable = (entity: Entity) =>\n Boolean(entity.metadata.annotations?.[ANNOTATION_PUPPET_CERTNAME]);\n\n/** @public */\nexport const Router = () => {\n const { entity } = useEntity();\n\n if (!isPuppetDbAvailable(entity)) {\n return (\n <MissingAnnotationEmptyState annotation={ANNOTATION_PUPPET_CERTNAME} />\n );\n }\n\n return (\n <Routes>\n <Route path=\"/\" element={<ReportsPage />} />\n <Route\n path={`${puppetDbReportRouteRef.path}`}\n element={<ReportDetailsPage />}\n />\n </Routes>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAkCa,MAAA,mBAAA,GAAsB,CAAC,MAClC,KAAA,OAAA,CAAQ,OAAO,QAAS,CAAA,WAAA,GAAc,0BAA0B,CAAC;AAG5D,MAAM,SAAS,MAAM;AAC1B,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA;AAE7B,EAAI,IAAA,CAAC,mBAAoB,CAAA,MAAM,CAAG,EAAA;AAChC,IACE,uBAAA,KAAA,CAAA,aAAA,CAAC,2BAA4B,EAAA,EAAA,UAAA,EAAY,0BAA4B,EAAA,CAAA;AAAA;AAIzE,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,MACC,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,KAAM,EAAA,EAAA,IAAA,EAAK,KAAI,OAAS,kBAAA,KAAA,CAAA,aAAA,CAAC,WAAY,EAAA,IAAA,CAAA,EAAI,CAC1C,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAM,CAAG,EAAA,sBAAA,CAAuB,IAAI,CAAA,CAAA;AAAA,MACpC,OAAA,sCAAU,iBAAkB,EAAA,IAAA;AAAA;AAAA,GAEhC,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Router.esm.js","sources":["../../src/components/Router.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 { Routes, Route } from 'react-router-dom';\nimport { puppetDbReportRouteRef } from '../routes';\nimport { ANNOTATION_PUPPET_CERTNAME } from '../constants';\nimport { Entity } from '@backstage/catalog-model';\nimport {\n useEntity,\n MissingAnnotationEmptyState,\n} from '@backstage/plugin-catalog-react';\nimport { ReportsPage } from './ReportsPage';\nimport { ReportDetailsPage } from './ReportDetailsPage';\n\n/**\n * Checks if the entity has a puppet certname annotation.\n * @param entity - The entity to check for the puppet certname annotation.\n *\n * @public\n */\nexport const isPuppetDbAvailable = (entity: Entity) =>\n Boolean(entity.metadata.annotations?.[ANNOTATION_PUPPET_CERTNAME]);\n\n/** @public */\nexport const Router = () => {\n const { entity } = useEntity();\n\n if (!isPuppetDbAvailable(entity)) {\n return (\n <MissingAnnotationEmptyState annotation={ANNOTATION_PUPPET_CERTNAME} />\n );\n }\n\n return (\n <Routes>\n <Route path=\"/\" element={<ReportsPage />} />\n <Route\n path={`${puppetDbReportRouteRef.path}`}\n element={<ReportDetailsPage />}\n />\n </Routes>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAiCa,MAAA,mBAAA,GAAsB,CAAC,MAClC,KAAA,OAAA,CAAQ,OAAO,QAAS,CAAA,WAAA,GAAc,0BAA0B,CAAC;AAG5D,MAAM,SAAS,MAAM;AAC1B,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA;AAE7B,EAAI,IAAA,CAAC,mBAAoB,CAAA,MAAM,CAAG,EAAA;AAChC,IACE,uBAAA,GAAA,CAAC,2BAA4B,EAAA,EAAA,UAAA,EAAY,0BAA4B,EAAA,CAAA;AAAA;AAIzE,EAAA,4BACG,MACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,SAAM,IAAK,EAAA,GAAA,EAAI,OAAS,kBAAA,GAAA,CAAC,eAAY,CAAI,EAAA,CAAA;AAAA,oBAC1C,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAM,CAAG,EAAA,sBAAA,CAAuB,IAAI,CAAA,CAAA;AAAA,QACpC,OAAA,sBAAU,iBAAkB,EAAA,EAAA;AAAA;AAAA;AAC9B,GACF,EAAA,CAAA;AAEJ;;;;"}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { StatusOK, StatusPending, StatusRunning, StatusError } from '@backstage/core-components';
3
3
 
4
4
  const StatusField = (props) => {
@@ -6,13 +6,25 @@ const StatusField = (props) => {
6
6
  const statusUC = status.toLocaleUpperCase("en-US");
7
7
  switch (status) {
8
8
  case "failed":
9
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(StatusError, null), statusUC);
9
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
10
+ /* @__PURE__ */ jsx(StatusError, {}),
11
+ statusUC
12
+ ] });
10
13
  case "changed":
11
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(StatusRunning, null), statusUC);
14
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
15
+ /* @__PURE__ */ jsx(StatusRunning, {}),
16
+ statusUC
17
+ ] });
12
18
  case "unchanged":
13
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(StatusPending, null), statusUC);
19
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
20
+ /* @__PURE__ */ jsx(StatusPending, {}),
21
+ statusUC
22
+ ] });
14
23
  default:
15
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(StatusOK, null), statusUC);
24
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
25
+ /* @__PURE__ */ jsx(StatusOK, {}),
26
+ statusUC
27
+ ] });
16
28
  }
17
29
  };
18
30
 
@@ -1 +1 @@
1
- {"version":3,"file":"StatusField.esm.js","sources":["../../../src/components/StatusField/StatusField.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 React from 'react';\nimport {\n StatusPending,\n StatusRunning,\n StatusOK,\n StatusError,\n} from '@backstage/core-components';\n\ntype StatusCellProps = {\n status: string;\n};\n\n/**\n * Component to display status field for Puppet reports and events.\n *\n * @public\n */\nexport const StatusField = (props: StatusCellProps) => {\n const { status } = props;\n\n const statusUC = status.toLocaleUpperCase('en-US');\n switch (status) {\n case 'failed':\n return (\n <>\n <StatusError />\n {statusUC}\n </>\n );\n case 'changed':\n return (\n <>\n <StatusRunning />\n {statusUC}\n </>\n );\n case 'unchanged':\n return (\n <>\n <StatusPending />\n {statusUC}\n </>\n );\n default:\n return (\n <>\n <StatusOK />\n {statusUC}\n </>\n );\n }\n};\n"],"names":[],"mappings":";;;AAiCa,MAAA,WAAA,GAAc,CAAC,KAA2B,KAAA;AACrD,EAAM,MAAA,EAAE,QAAW,GAAA,KAAA;AAEnB,EAAM,MAAA,QAAA,GAAW,MAAO,CAAA,iBAAA,CAAkB,OAAO,CAAA;AACjD,EAAA,QAAQ,MAAQ;AAAA,IACd,KAAK,QAAA;AACH,MAAA,uBAEI,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,WAAY,EAAA,IAAA,CAAA,EACZ,QACH,CAAA;AAAA,IAEJ,KAAK,SAAA;AACH,MAAA,uBAEI,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,aAAc,EAAA,IAAA,CAAA,EACd,QACH,CAAA;AAAA,IAEJ,KAAK,WAAA;AACH,MAAA,uBAEI,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,aAAc,EAAA,IAAA,CAAA,EACd,QACH,CAAA;AAAA,IAEJ;AACE,MAAA,uBAEI,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,QAAS,EAAA,IAAA,CAAA,EACT,QACH,CAAA;AAAA;AAGR;;;;"}
1
+ {"version":3,"file":"StatusField.esm.js","sources":["../../../src/components/StatusField/StatusField.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 {\n StatusPending,\n StatusRunning,\n StatusOK,\n StatusError,\n} from '@backstage/core-components';\n\ntype StatusCellProps = {\n status: string;\n};\n\n/**\n * Component to display status field for Puppet reports and events.\n *\n * @public\n */\nexport const StatusField = (props: StatusCellProps) => {\n const { status } = props;\n\n const statusUC = status.toLocaleUpperCase('en-US');\n switch (status) {\n case 'failed':\n return (\n <>\n <StatusError />\n {statusUC}\n </>\n );\n case 'changed':\n return (\n <>\n <StatusRunning />\n {statusUC}\n </>\n );\n case 'unchanged':\n return (\n <>\n <StatusPending />\n {statusUC}\n </>\n );\n default:\n return (\n <>\n <StatusOK />\n {statusUC}\n </>\n );\n }\n};\n"],"names":[],"mappings":";;;AAgCa,MAAA,WAAA,GAAc,CAAC,KAA2B,KAAA;AACrD,EAAM,MAAA,EAAE,QAAW,GAAA,KAAA;AAEnB,EAAM,MAAA,QAAA,GAAW,MAAO,CAAA,iBAAA,CAAkB,OAAO,CAAA;AACjD,EAAA,QAAQ,MAAQ;AAAA,IACd,KAAK,QAAA;AACH,MAAA,uBAEI,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,WAAY,EAAA,EAAA,CAAA;AAAA,QACZ;AAAA,OACH,EAAA,CAAA;AAAA,IAEJ,KAAK,SAAA;AACH,MAAA,uBAEI,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,CAAA;AAAA,QACd;AAAA,OACH,EAAA,CAAA;AAAA,IAEJ,KAAK,WAAA;AACH,MAAA,uBAEI,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,CAAA;AAAA,QACd;AAAA,OACH,EAAA,CAAA;AAAA,IAEJ;AACE,MAAA,uBAEI,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,QAAS,EAAA,EAAA,CAAA;AAAA,QACT;AAAA,OACH,EAAA,CAAA;AAAA;AAGR;;;;"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,4 @@
1
- /// <reference types="react" />
2
- import * as react from 'react';
3
- import react__default from 'react';
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
2
  import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
5
3
  import { Entity } from '@backstage/catalog-model';
6
4
 
@@ -15,7 +13,7 @@ declare const puppetdbPlugin: _backstage_core_plugin_api.BackstagePlugin<{}, {},
15
13
  *
16
14
  * @public
17
15
  */
18
- declare const PuppetDbPage: () => react.JSX.Element;
16
+ declare const PuppetDbPage: () => react_jsx_runtime.JSX.Element;
19
17
 
20
18
  /**
21
19
  * Checks if the entity has a puppet certname annotation.
@@ -25,7 +23,7 @@ declare const PuppetDbPage: () => react.JSX.Element;
25
23
  */
26
24
  declare const isPuppetDbAvailable: (entity: Entity) => boolean;
27
25
  /** @public */
28
- declare const Router: () => react__default.JSX.Element;
26
+ declare const Router: () => react_jsx_runtime.JSX.Element;
29
27
 
30
28
  /** @public */
31
29
  declare const puppetDbRouteRef: _backstage_core_plugin_api.RouteRef<undefined>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage-community/plugin-puppetdb",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Backstage plugin to visualize resource information and Puppet facts from PuppetDB.",
5
5
  "backstage": {
6
6
  "role": "frontend-plugin",
@@ -43,24 +43,23 @@
43
43
  },
44
44
  "dependencies": {
45
45
  "@backstage/catalog-model": "^1.7.3",
46
- "@backstage/core-components": "^0.17.0",
47
- "@backstage/core-plugin-api": "^1.10.5",
46
+ "@backstage/core-components": "^0.17.1",
47
+ "@backstage/core-plugin-api": "^1.10.6",
48
48
  "@backstage/errors": "^1.2.7",
49
- "@backstage/plugin-catalog-react": "^1.16.0",
49
+ "@backstage/plugin-catalog-react": "^1.17.0",
50
50
  "@material-ui/core": "^4.12.2",
51
51
  "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0",
52
52
  "react-use": "^17.2.4"
53
53
  },
54
54
  "devDependencies": {
55
- "@backstage/cli": "^0.31.0",
56
- "@backstage/core-app-api": "^1.16.0",
57
- "@backstage/dev-utils": "^1.1.8",
58
- "@backstage/test-utils": "^1.7.6",
55
+ "@backstage/cli": "^0.32.0",
56
+ "@backstage/core-app-api": "^1.16.1",
57
+ "@backstage/dev-utils": "^1.1.9",
58
+ "@backstage/test-utils": "^1.7.7",
59
59
  "@testing-library/dom": "^10.0.0",
60
60
  "@testing-library/jest-dom": "^6.0.0",
61
61
  "@testing-library/react": "^15.0.0",
62
62
  "@types/react-dom": "^18.2.19",
63
- "canvas": "^2.11.2",
64
63
  "msw": "^1.0.1",
65
64
  "react": "^16.13.1 || ^17.0.0 || ^18.0.0",
66
65
  "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0",
@@ -71,5 +70,12 @@
71
70
  "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0",
72
71
  "react-router-dom": "6.0.0-beta.0 || ^6.3.0"
73
72
  },
73
+ "typesVersions": {
74
+ "*": {
75
+ "package.json": [
76
+ "package.json"
77
+ ]
78
+ }
79
+ },
74
80
  "module": "./dist/index.esm.js"
75
81
  }