@backstage/plugin-catalog-unprocessed-entities 0.1.1-next.1 → 0.1.1

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,42 @@
1
1
  # @backstage/plugin-catalog-unprocessed-entities
2
2
 
3
+ ## 0.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 2c4869473155: The Catalog Unprocessed Entities plugin can now be integrated as a tab within the DevTools plugin
8
+
9
+ - Added an export for `UnprocessedEntitiesContent`
10
+ - Updated the `README` with images of the features
11
+ - Adjusted the styles to fill in the available space
12
+ - Set the table page size to 20 as 40 was causing errors in the browser console
13
+
14
+ - 57585d89f926: Export some types and API items. This allows people to call the API from different places with the ApiRef, as well
15
+ as completely customize the client if required. Check the [README.md](https://github.com/backstage/backstage/blob/master/plugins/catalog-unprocessed-entities/README.md) to
16
+ note what needs to be added in order to use the new `catalogUnprocessedEntitiesApiRef` exported function.
17
+ - a8fa79ccc105: Fix and improve documentation for the unprocessed entities modules.
18
+ - 267396f45bd0: Corrected the installation instructions.
19
+ - 7a9c8a9cd0ce: Fixed spacing for success message
20
+ - e6f50426333b: update some peer dependencies to silence yarn install
21
+ - 77b408fad872: install command points to correct package name
22
+ - Updated dependencies
23
+ - @backstage/theme@0.4.1
24
+ - @backstage/errors@1.2.1
25
+ - @backstage/core-components@0.13.3
26
+ - @backstage/core-plugin-api@1.5.3
27
+ - @backstage/catalog-model@1.4.1
28
+
29
+ ## 0.1.1-next.2
30
+
31
+ ### Patch Changes
32
+
33
+ - Updated dependencies
34
+ - @backstage/theme@0.4.1-next.1
35
+ - @backstage/core-plugin-api@1.5.3-next.1
36
+ - @backstage/core-components@0.13.3-next.2
37
+ - @backstage/catalog-model@1.4.1-next.0
38
+ - @backstage/errors@1.2.1-next.0
39
+
3
40
  ## 0.1.1-next.1
4
41
 
5
42
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/routes.ts","../src/api/index.ts","../src/plugin.ts","../src/components/EntityDialog.tsx","../src/components/FailedEntities.tsx","../src/components/PendingEntities.tsx","../src/components/UnprocessedEntities.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 */\nimport { createRouteRef } from '@backstage/core-plugin-api';\n\nexport const rootRouteRef = createRouteRef({\n id: 'catalog-unprocessed-entities',\n});\n","/*\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 */\nimport {\n DiscoveryApi,\n createApiRef,\n FetchApi,\n} from '@backstage/core-plugin-api';\nimport { ResponseError } from '@backstage/errors';\nimport { UnprocessedEntity } from '../types';\n\n/**\n * {@link @backstage/core-plugin-api#ApiRef} for the {@link CatalogUnprocessedEntitiesApi}\n *\n * @public\n */\nexport const catalogUnprocessedEntitiesApiRef =\n createApiRef<CatalogUnprocessedEntitiesApi>({\n id: 'plugin.catalog-unprocessed-entities.service',\n });\n\n/**\n * Response expected by the {@link CatalogUnprocessedEntitiesApi}\n *\n * @public\n */\nexport type CatalogUnprocessedEntitiesApiResponse = {\n entities: UnprocessedEntity[];\n};\n\n/**\n * Interface for the CatalogUnprocessedEntitiesApi.\n *\n * @public\n */\nexport interface CatalogUnprocessedEntitiesApi {\n /**\n * Returns a list of entities with state 'pending'\n */\n pending(): Promise<CatalogUnprocessedEntitiesApiResponse>;\n /**\n * Returns a list of entities with state 'failed'\n */\n failed(): Promise<CatalogUnprocessedEntitiesApiResponse>;\n}\n\n/**\n * Default API implementation for the Catalog Unprocessed Entities plugin\n *\n * @public\n */\nexport class CatalogUnprocessedEntitiesClient\n implements CatalogUnprocessedEntitiesApi\n{\n constructor(public discovery: DiscoveryApi, public fetchApi: FetchApi) {}\n\n private async fetch<T>(path: string, init?: RequestInit): Promise<T> {\n const url = await this.discovery.getBaseUrl('catalog');\n const resp = await this.fetchApi.fetch(`${url}/${path}`, init);\n if (!resp.ok) {\n throw await ResponseError.fromResponse(resp);\n }\n\n return await resp.json();\n }\n\n async pending(): Promise<CatalogUnprocessedEntitiesApiResponse> {\n return await this.fetch('entities/unprocessed/pending');\n }\n\n async failed(): Promise<CatalogUnprocessedEntitiesApiResponse> {\n return await this.fetch('entities/unprocessed/failed');\n }\n}\n","/*\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 */\nimport {\n createApiFactory,\n createPlugin,\n createRoutableExtension,\n discoveryApiRef,\n fetchApiRef,\n} from '@backstage/core-plugin-api';\n\nimport { rootRouteRef } from './routes';\nimport {\n CatalogUnprocessedEntitiesClient,\n catalogUnprocessedEntitiesApiRef,\n} from './api';\n\n/**\n * Plugin entry point\n *\n * @public\n */\nexport const catalogUnprocessedEntitiesPlugin = createPlugin({\n id: 'catalog-unprocessed-entities',\n routes: {\n root: rootRouteRef,\n },\n apis: [\n createApiFactory({\n api: catalogUnprocessedEntitiesApiRef,\n deps: { discoveryApi: discoveryApiRef, fetchApi: fetchApiRef },\n factory: ({ discoveryApi, fetchApi }) =>\n new CatalogUnprocessedEntitiesClient(discoveryApi, fetchApi),\n }),\n ],\n});\n\n/**\n * Tool page for the Catalog Unprocessed Entities Plugin\n *\n * @public\n */\nexport const CatalogUnprocessedEntitiesPage =\n catalogUnprocessedEntitiesPlugin.provide(\n createRoutableExtension({\n name: 'CatalogUnprocessedEntitiesPage',\n component: () =>\n import('./components/UnprocessedEntities').then(\n m => m.UnprocessedEntities,\n ),\n mountPoint: rootRouteRef,\n }),\n );\n","/*\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 */\nimport React, { useState } from 'react';\n\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport IconButton from '@material-ui/core/IconButton';\nimport { makeStyles, createStyles, Theme } from '@material-ui/core/styles';\nimport CloseIcon from '@material-ui/icons/Close';\nimport DescriptionIcon from '@material-ui/icons/Description';\n\nimport { UnprocessedEntity } from './../types';\nimport { CodeSnippet } from '@backstage/core-components';\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n closeButton: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n entity: {\n overflow: 'scroll',\n width: '100%',\n },\n codeBox: {\n border: '1px solid black',\n padding: '1em',\n },\n }),\n);\n\nexport const EntityDialog = ({ entity }: { entity: UnprocessedEntity }) => {\n const [open, setOpen] = useState(false);\n const classes = useStyles();\n\n const openDialog = () => {\n setOpen(true);\n };\n\n const closeDialog = () => {\n setOpen(false);\n };\n\n const dialogContent = () => {\n return (\n <CodeSnippet\n language=\"json\"\n showLineNumbers\n text={JSON.stringify(entity, null, 4)}\n />\n );\n };\n\n return (\n <>\n <IconButton color=\"primary\" onClick={openDialog}>\n <DescriptionIcon />\n </IconButton>\n <Dialog fullWidth open={open} onClose={closeDialog}>\n <DialogTitle id=\"dialog-title\">\n <IconButton\n aria-label=\"close\"\n className={classes.closeButton}\n onClick={closeDialog}\n >\n <CloseIcon />\n </IconButton>\n </DialogTitle>\n <DialogContent>{dialogContent()}</DialogContent>\n </Dialog>\n </>\n );\n};\n","/*\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 */\nimport React from 'react';\n\nimport {\n ErrorPanel,\n MarkdownContent,\n Progress,\n Table,\n TableColumn,\n} from '@backstage/core-components';\nimport { useApi } from '@backstage/core-plugin-api';\nimport { Box, Theme, Typography, makeStyles } from '@material-ui/core';\n\nimport { UnprocessedEntity } from '../types';\nimport { EntityDialog } from './EntityDialog';\nimport { catalogUnprocessedEntitiesApiRef } from '../api';\nimport useAsync from 'react-use/lib/useAsync';\n\nconst useStyles = makeStyles((theme: Theme) => ({\n errorBox: {\n color: theme.palette.status.error,\n backgroundColor: theme.palette.errorBackground,\n padding: '1em',\n margin: '1em',\n border: `1px solid ${theme.palette.status.error}`,\n },\n errorTitle: {\n width: '100%',\n fontWeight: 'bold',\n },\n successMessage: {\n background: theme.palette.infoBackground,\n color: theme.palette.infoText,\n padding: theme.spacing(2),\n },\n}));\n\nconst RenderErrorContext = ({\n error,\n rowData,\n}: {\n error: { message: string };\n rowData: UnprocessedEntity;\n}) => {\n if (error.message.includes('tags.')) {\n return (\n <>\n <Typography>Tags</Typography>\n <ul>\n {rowData.unprocessed_entity.metadata.tags?.map(t => (\n <li>{t}</li>\n ))}\n </ul>\n </>\n );\n }\n\n if (error.message.includes('metadata.name')) {\n return (\n <>\n <Typography>Name</Typography>\n <Typography variant=\"caption\">\n {rowData.unprocessed_entity.metadata.name}\n </Typography>\n </>\n );\n }\n\n return null;\n};\n\nexport const FailedEntities = () => {\n const classes = useStyles();\n const unprocessedApi = useApi(catalogUnprocessedEntitiesApiRef);\n const {\n loading,\n error,\n value: data,\n } = useAsync(async () => await unprocessedApi.failed());\n\n if (loading) {\n return <Progress />;\n }\n if (error) {\n return <ErrorPanel error={error} />;\n }\n\n const columns: TableColumn[] = [\n {\n title: <Typography>entityRef</Typography>,\n render: (rowData: UnprocessedEntity | {}) =>\n (rowData as UnprocessedEntity).entity_ref,\n },\n {\n title: <Typography>Kind</Typography>,\n render: (rowData: UnprocessedEntity | {}) =>\n (rowData as UnprocessedEntity).unprocessed_entity.kind,\n },\n {\n title: <Typography>Owner</Typography>,\n render: (rowData: UnprocessedEntity | {}) =>\n (rowData as UnprocessedEntity).unprocessed_entity.spec?.owner ||\n 'unknown',\n },\n {\n title: <Typography>Raw</Typography>,\n render: (rowData: UnprocessedEntity | {}) => (\n <EntityDialog entity={rowData as UnprocessedEntity} />\n ),\n },\n ];\n return (\n <>\n <Table\n options={{ pageSize: 20, search: true }}\n columns={columns}\n data={data?.entities || []}\n emptyContent={\n <Typography className={classes.successMessage}>\n No failed entities found\n </Typography>\n }\n detailPanel={({ rowData }) => {\n const errors = (rowData as UnprocessedEntity).errors;\n return (\n <>\n {errors?.map(e => {\n return (\n <Box className={classes.errorBox}>\n <Typography className={classes.errorTitle}>\n {e.name}\n </Typography>\n <MarkdownContent content={e.message} />\n <RenderErrorContext\n error={e}\n rowData={rowData as UnprocessedEntity}\n />\n </Box>\n );\n })}\n </>\n );\n }}\n />\n </>\n );\n};\n","/*\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 */\nimport React from 'react';\n\nimport {\n ErrorPanel,\n Progress,\n TableColumn,\n Table,\n} from '@backstage/core-components';\nimport { Theme, Typography, makeStyles } from '@material-ui/core';\n\nimport { UnprocessedEntity } from '../types';\n\nimport { EntityDialog } from './EntityDialog';\nimport { useApi } from '@backstage/core-plugin-api';\nimport useAsync from 'react-use/lib/useAsync';\nimport { catalogUnprocessedEntitiesApiRef } from '../api';\n\nconst useStyles = makeStyles((theme: Theme) => ({\n successMessage: {\n background: theme.palette.infoBackground,\n color: theme.palette.infoText,\n padding: theme.spacing(2),\n },\n}));\n\nexport const PendingEntities = () => {\n const classes = useStyles();\n const unprocessedApi = useApi(catalogUnprocessedEntitiesApiRef);\n const {\n loading,\n error,\n value: data,\n } = useAsync(async () => await unprocessedApi.pending());\n\n if (loading) {\n return <Progress />;\n }\n if (error) {\n return <ErrorPanel error={error} />;\n }\n\n const columns: TableColumn[] = [\n {\n title: <Typography>entityRef</Typography>,\n render: (rowData: UnprocessedEntity | {}) =>\n (rowData as UnprocessedEntity).entity_ref,\n },\n {\n title: <Typography>Kind</Typography>,\n render: (rowData: UnprocessedEntity | {}) =>\n (rowData as UnprocessedEntity).unprocessed_entity.kind,\n },\n {\n title: <Typography>Owner</Typography>,\n render: (rowData: UnprocessedEntity | {}) =>\n (rowData as UnprocessedEntity).unprocessed_entity.spec?.owner ||\n 'unknown',\n },\n {\n title: <Typography>Raw</Typography>,\n render: (rowData: UnprocessedEntity | {}) => (\n <EntityDialog entity={rowData as UnprocessedEntity} />\n ),\n },\n ];\n return (\n <>\n <Table\n options={{ pageSize: 20 }}\n columns={columns}\n data={data?.entities || []}\n emptyContent={\n <Typography className={classes.successMessage}>\n No pending entities found\n </Typography>\n }\n />\n </>\n );\n};\n","/*\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 */\nimport React, { useState } from 'react';\n\nimport { Page, Header, Content } from '@backstage/core-components';\nimport { Tab, makeStyles } from '@material-ui/core';\nimport { TabContext, TabList, TabPanel } from '@material-ui/lab';\n\nimport { FailedEntities } from './FailedEntities';\nimport { PendingEntities } from './PendingEntities';\n\nconst useStyles = makeStyles(() => ({\n tabPanel: {\n paddingLeft: '0px',\n paddingRight: '0px',\n },\n}));\n\n/** @public */\nexport const UnprocessedEntitiesContent = () => {\n const classes = useStyles();\n const [tab, setTab] = useState('failed');\n const handleChange = (_event: React.ChangeEvent<{}>, tabValue: string) => {\n setTab(tabValue);\n };\n\n return (\n <TabContext value={tab}>\n <TabList onChange={handleChange}>\n <Tab label=\"Failed\" value=\"failed\" />\n <Tab label=\"Pending\" value=\"pending\" />\n </TabList>\n <TabPanel value=\"failed\" className={classes.tabPanel}>\n <FailedEntities />\n </TabPanel>\n <TabPanel value=\"pending\" className={classes.tabPanel}>\n <PendingEntities />\n </TabPanel>\n </TabContext>\n );\n};\n\nexport const UnprocessedEntities = () => {\n return (\n <Page themeId=\"tool\">\n <Header title=\"Unprocessed Entities\" />\n <Content>\n <UnprocessedEntitiesContent />\n </Content>\n </Page>\n );\n};\n"],"names":["useStyles","makeStyles"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/routes.ts","../src/api/index.ts","../src/plugin.ts","../src/components/EntityDialog.tsx","../src/components/FailedEntities.tsx","../src/components/PendingEntities.tsx","../src/components/UnprocessedEntities.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 */\nimport { createRouteRef } from '@backstage/core-plugin-api';\n\nexport const rootRouteRef = createRouteRef({\n id: 'catalog-unprocessed-entities',\n});\n","/*\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 */\nimport {\n DiscoveryApi,\n createApiRef,\n FetchApi,\n} from '@backstage/core-plugin-api';\nimport { ResponseError } from '@backstage/errors';\nimport { UnprocessedEntity } from '../types';\n\n/**\n * {@link @backstage/core-plugin-api#ApiRef} for the {@link CatalogUnprocessedEntitiesApi}\n *\n * @public\n */\nexport const catalogUnprocessedEntitiesApiRef =\n createApiRef<CatalogUnprocessedEntitiesApi>({\n id: 'plugin.catalog-unprocessed-entities.service',\n });\n\n/**\n * Response expected by the {@link CatalogUnprocessedEntitiesApi}\n *\n * @public\n */\nexport type CatalogUnprocessedEntitiesApiResponse = {\n entities: UnprocessedEntity[];\n};\n\n/**\n * Interface for the CatalogUnprocessedEntitiesApi.\n *\n * @public\n */\nexport interface CatalogUnprocessedEntitiesApi {\n /**\n * Returns a list of entities with state 'pending'\n */\n pending(): Promise<CatalogUnprocessedEntitiesApiResponse>;\n /**\n * Returns a list of entities with state 'failed'\n */\n failed(): Promise<CatalogUnprocessedEntitiesApiResponse>;\n}\n\n/**\n * Default API implementation for the Catalog Unprocessed Entities plugin\n *\n * @public\n */\nexport class CatalogUnprocessedEntitiesClient\n implements CatalogUnprocessedEntitiesApi\n{\n constructor(public discovery: DiscoveryApi, public fetchApi: FetchApi) {}\n\n private async fetch<T>(path: string, init?: RequestInit): Promise<T> {\n const url = await this.discovery.getBaseUrl('catalog');\n const resp = await this.fetchApi.fetch(`${url}/${path}`, init);\n if (!resp.ok) {\n throw await ResponseError.fromResponse(resp);\n }\n\n return await resp.json();\n }\n\n async pending(): Promise<CatalogUnprocessedEntitiesApiResponse> {\n return await this.fetch('entities/unprocessed/pending');\n }\n\n async failed(): Promise<CatalogUnprocessedEntitiesApiResponse> {\n return await this.fetch('entities/unprocessed/failed');\n }\n}\n","/*\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 */\nimport {\n createApiFactory,\n createPlugin,\n createRoutableExtension,\n discoveryApiRef,\n fetchApiRef,\n} from '@backstage/core-plugin-api';\n\nimport { rootRouteRef } from './routes';\nimport {\n CatalogUnprocessedEntitiesClient,\n catalogUnprocessedEntitiesApiRef,\n} from './api';\n\n/**\n * Plugin entry point\n *\n * @public\n */\nexport const catalogUnprocessedEntitiesPlugin = createPlugin({\n id: 'catalog-unprocessed-entities',\n routes: {\n root: rootRouteRef,\n },\n apis: [\n createApiFactory({\n api: catalogUnprocessedEntitiesApiRef,\n deps: { discoveryApi: discoveryApiRef, fetchApi: fetchApiRef },\n factory: ({ discoveryApi, fetchApi }) =>\n new CatalogUnprocessedEntitiesClient(discoveryApi, fetchApi),\n }),\n ],\n});\n\n/**\n * Tool page for the Catalog Unprocessed Entities Plugin\n *\n * @public\n */\nexport const CatalogUnprocessedEntitiesPage =\n catalogUnprocessedEntitiesPlugin.provide(\n createRoutableExtension({\n name: 'CatalogUnprocessedEntitiesPage',\n component: () =>\n import('./components/UnprocessedEntities').then(\n m => m.UnprocessedEntities,\n ),\n mountPoint: rootRouteRef,\n }),\n );\n","/*\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 */\nimport React, { useState } from 'react';\n\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport IconButton from '@material-ui/core/IconButton';\nimport { makeStyles, createStyles, Theme } from '@material-ui/core/styles';\nimport CloseIcon from '@material-ui/icons/Close';\nimport DescriptionIcon from '@material-ui/icons/Description';\n\nimport { UnprocessedEntity } from './../types';\nimport { CodeSnippet } from '@backstage/core-components';\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n closeButton: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n entity: {\n overflow: 'scroll',\n width: '100%',\n },\n codeBox: {\n border: '1px solid black',\n padding: '1em',\n },\n }),\n);\n\nexport const EntityDialog = ({ entity }: { entity: UnprocessedEntity }) => {\n const [open, setOpen] = useState(false);\n const classes = useStyles();\n\n const openDialog = () => {\n setOpen(true);\n };\n\n const closeDialog = () => {\n setOpen(false);\n };\n\n const dialogContent = () => {\n return (\n <CodeSnippet\n language=\"json\"\n showLineNumbers\n text={JSON.stringify(entity, null, 4)}\n />\n );\n };\n\n return (\n <>\n <IconButton color=\"primary\" onClick={openDialog}>\n <DescriptionIcon />\n </IconButton>\n <Dialog fullWidth open={open} onClose={closeDialog}>\n <DialogTitle id=\"dialog-title\">\n <IconButton\n aria-label=\"close\"\n className={classes.closeButton}\n onClick={closeDialog}\n >\n <CloseIcon />\n </IconButton>\n </DialogTitle>\n <DialogContent>{dialogContent()}</DialogContent>\n </Dialog>\n </>\n );\n};\n","/*\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 */\nimport React from 'react';\n\nimport {\n ErrorPanel,\n MarkdownContent,\n Progress,\n Table,\n TableColumn,\n} from '@backstage/core-components';\nimport { useApi } from '@backstage/core-plugin-api';\nimport { Box, Theme, Typography, makeStyles } from '@material-ui/core';\n\nimport { UnprocessedEntity } from '../types';\nimport { EntityDialog } from './EntityDialog';\nimport { catalogUnprocessedEntitiesApiRef } from '../api';\nimport useAsync from 'react-use/lib/useAsync';\n\nconst useStyles = makeStyles((theme: Theme) => ({\n errorBox: {\n color: theme.palette.status.error,\n backgroundColor: theme.palette.errorBackground,\n padding: '1em',\n margin: '1em',\n border: `1px solid ${theme.palette.status.error}`,\n },\n errorTitle: {\n width: '100%',\n fontWeight: 'bold',\n },\n successMessage: {\n background: theme.palette.infoBackground,\n color: theme.palette.infoText,\n padding: theme.spacing(2),\n },\n}));\n\nconst RenderErrorContext = ({\n error,\n rowData,\n}: {\n error: { message: string };\n rowData: UnprocessedEntity;\n}) => {\n if (error.message.includes('tags.')) {\n return (\n <>\n <Typography>Tags</Typography>\n <ul>\n {rowData.unprocessed_entity.metadata.tags?.map(t => (\n <li>{t}</li>\n ))}\n </ul>\n </>\n );\n }\n\n if (error.message.includes('metadata.name')) {\n return (\n <>\n <Typography>Name</Typography>\n <Typography variant=\"caption\">\n {rowData.unprocessed_entity.metadata.name}\n </Typography>\n </>\n );\n }\n\n return null;\n};\n\nexport const FailedEntities = () => {\n const classes = useStyles();\n const unprocessedApi = useApi(catalogUnprocessedEntitiesApiRef);\n const {\n loading,\n error,\n value: data,\n } = useAsync(async () => await unprocessedApi.failed());\n\n if (loading) {\n return <Progress />;\n }\n if (error) {\n return <ErrorPanel error={error} />;\n }\n\n const columns: TableColumn[] = [\n {\n title: <Typography>entityRef</Typography>,\n render: (rowData: UnprocessedEntity | {}) =>\n (rowData as UnprocessedEntity).entity_ref,\n },\n {\n title: <Typography>Kind</Typography>,\n render: (rowData: UnprocessedEntity | {}) =>\n (rowData as UnprocessedEntity).unprocessed_entity.kind,\n },\n {\n title: <Typography>Owner</Typography>,\n render: (rowData: UnprocessedEntity | {}) =>\n (rowData as UnprocessedEntity).unprocessed_entity.spec?.owner ||\n 'unknown',\n },\n {\n title: <Typography>Raw</Typography>,\n render: (rowData: UnprocessedEntity | {}) => (\n <EntityDialog entity={rowData as UnprocessedEntity} />\n ),\n },\n ];\n return (\n <>\n <Table\n options={{ pageSize: 20, search: true }}\n columns={columns}\n data={data?.entities || []}\n emptyContent={\n <Typography className={classes.successMessage}>\n No failed entities found\n </Typography>\n }\n detailPanel={({ rowData }) => {\n const errors = (rowData as UnprocessedEntity).errors;\n return (\n <>\n {errors?.map(e => {\n return (\n <Box className={classes.errorBox}>\n <Typography className={classes.errorTitle}>\n {e.name}\n </Typography>\n <MarkdownContent content={e.message} />\n <RenderErrorContext\n error={e}\n rowData={rowData as UnprocessedEntity}\n />\n </Box>\n );\n })}\n </>\n );\n }}\n />\n </>\n );\n};\n","/*\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 */\nimport React from 'react';\n\nimport {\n ErrorPanel,\n Progress,\n TableColumn,\n Table,\n} from '@backstage/core-components';\nimport { Theme, Typography, makeStyles } from '@material-ui/core';\n\nimport { UnprocessedEntity } from '../types';\n\nimport { EntityDialog } from './EntityDialog';\nimport { useApi } from '@backstage/core-plugin-api';\nimport useAsync from 'react-use/lib/useAsync';\nimport { catalogUnprocessedEntitiesApiRef } from '../api';\n\nconst useStyles = makeStyles((theme: Theme) => ({\n successMessage: {\n background: theme.palette.infoBackground,\n color: theme.palette.infoText,\n padding: theme.spacing(2),\n },\n}));\n\nexport const PendingEntities = () => {\n const classes = useStyles();\n const unprocessedApi = useApi(catalogUnprocessedEntitiesApiRef);\n const {\n loading,\n error,\n value: data,\n } = useAsync(async () => await unprocessedApi.pending());\n\n if (loading) {\n return <Progress />;\n }\n if (error) {\n return <ErrorPanel error={error} />;\n }\n\n const columns: TableColumn[] = [\n {\n title: <Typography>entityRef</Typography>,\n render: (rowData: UnprocessedEntity | {}) =>\n (rowData as UnprocessedEntity).entity_ref,\n },\n {\n title: <Typography>Kind</Typography>,\n render: (rowData: UnprocessedEntity | {}) =>\n (rowData as UnprocessedEntity).unprocessed_entity.kind,\n },\n {\n title: <Typography>Owner</Typography>,\n render: (rowData: UnprocessedEntity | {}) =>\n (rowData as UnprocessedEntity).unprocessed_entity.spec?.owner ||\n 'unknown',\n },\n {\n title: <Typography>Raw</Typography>,\n render: (rowData: UnprocessedEntity | {}) => (\n <EntityDialog entity={rowData as UnprocessedEntity} />\n ),\n },\n ];\n return (\n <>\n <Table\n options={{ pageSize: 20 }}\n columns={columns}\n data={data?.entities || []}\n emptyContent={\n <Typography className={classes.successMessage}>\n No pending entities found\n </Typography>\n }\n />\n </>\n );\n};\n","/*\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 */\nimport React, { useState } from 'react';\n\nimport { Page, Header, Content } from '@backstage/core-components';\nimport { Tab, makeStyles } from '@material-ui/core';\nimport { TabContext, TabList, TabPanel } from '@material-ui/lab';\n\nimport { FailedEntities } from './FailedEntities';\nimport { PendingEntities } from './PendingEntities';\n\nconst useStyles = makeStyles(() => ({\n tabPanel: {\n paddingLeft: '0px',\n paddingRight: '0px',\n },\n}));\n\n/** @public */\nexport const UnprocessedEntitiesContent = () => {\n const classes = useStyles();\n const [tab, setTab] = useState('failed');\n const handleChange = (_event: React.ChangeEvent<{}>, tabValue: string) => {\n setTab(tabValue);\n };\n\n return (\n <TabContext value={tab}>\n <TabList onChange={handleChange}>\n <Tab label=\"Failed\" value=\"failed\" />\n <Tab label=\"Pending\" value=\"pending\" />\n </TabList>\n <TabPanel value=\"failed\" className={classes.tabPanel}>\n <FailedEntities />\n </TabPanel>\n <TabPanel value=\"pending\" className={classes.tabPanel}>\n <PendingEntities />\n </TabPanel>\n </TabContext>\n );\n};\n\nexport const UnprocessedEntities = () => {\n return (\n <Page themeId=\"tool\">\n <Header title=\"Unprocessed Entities\" />\n <Content>\n <UnprocessedEntitiesContent />\n </Content>\n </Page>\n );\n};\n"],"names":["useStyles","makeStyles"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/plugin-catalog-unprocessed-entities",
3
- "version": "0.1.1-next.1",
3
+ "version": "0.1.1",
4
4
  "main": "dist/index.esm.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "license": "Apache-2.0",
@@ -28,24 +28,26 @@
28
28
  "postpack": "backstage-cli package postpack"
29
29
  },
30
30
  "dependencies": {
31
- "@backstage/catalog-model": "^1.4.1-next.0",
32
- "@backstage/core-components": "^0.13.3-next.1",
33
- "@backstage/core-plugin-api": "^1.5.3-next.0",
34
- "@backstage/errors": "^1.2.1-next.0",
35
- "@backstage/theme": "^0.4.1-next.0",
31
+ "@backstage/catalog-model": "^1.4.1",
32
+ "@backstage/core-components": "^0.13.3",
33
+ "@backstage/core-plugin-api": "^1.5.3",
34
+ "@backstage/errors": "^1.2.1",
35
+ "@backstage/theme": "^0.4.1",
36
36
  "@material-ui/core": "^4.9.13",
37
37
  "@material-ui/icons": "^4.9.1",
38
38
  "@material-ui/lab": "^4.0.0-alpha.60",
39
39
  "react-use": "^17.2.4"
40
40
  },
41
41
  "peerDependencies": {
42
- "react": "^16.13.1 || ^17.0.0"
42
+ "react": "^16.13.1 || ^17.0.0",
43
+ "react-dom": "^16.13.1 || ^17.0.0",
44
+ "react-router-dom": "6.0.0-beta.0 || ^6.3.0"
43
45
  },
44
46
  "devDependencies": {
45
- "@backstage/cli": "^0.22.9-next.0",
46
- "@backstage/core-app-api": "^1.8.2-next.0",
47
- "@backstage/dev-utils": "^1.0.17-next.1",
48
- "@backstage/test-utils": "^1.4.1-next.1",
47
+ "@backstage/cli": "^0.22.9",
48
+ "@backstage/core-app-api": "^1.9.0",
49
+ "@backstage/dev-utils": "^1.0.17",
50
+ "@backstage/test-utils": "^1.4.1",
49
51
  "@testing-library/jest-dom": "^5.10.1",
50
52
  "@testing-library/react": "^12.1.3",
51
53
  "@testing-library/user-event": "^14.0.0",