@backstage/plugin-catalog-unprocessed-entities 0.2.31-next.0 → 0.2.32-next.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,28 @@
1
1
  # @backstage/plugin-catalog-unprocessed-entities
2
2
 
3
+ ## 0.2.32-next.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 80b4370: Updated instructions for enabling the `catalog-unprocessed-entities` page
8
+ - Updated dependencies
9
+ - @backstage/core-components@0.18.11-next.0
10
+ - @backstage/core-compat-api@0.5.12-next.0
11
+
12
+ ## 0.2.31
13
+
14
+ ### Patch Changes
15
+
16
+ - 44d77e9: Removed separate nav item extensions. Sidebar entries are now provided via `title` and `icon` on each plugin's page extension.
17
+ - Updated dependencies
18
+ - @backstage/core-components@0.18.10
19
+ - @backstage/ui@0.15.0
20
+ - @backstage/errors@1.3.1
21
+ - @backstage/frontend-plugin-api@0.17.0
22
+ - @backstage/core-plugin-api@1.12.6
23
+ - @backstage/core-compat-api@0.5.11
24
+ - @backstage/plugin-catalog-unprocessed-entities-common@0.0.16
25
+
3
26
  ## 0.2.30-next.0
4
27
 
5
28
  ### Patch Changes
package/README.md CHANGED
@@ -32,19 +32,18 @@ Requires the `@backstage/plugin-catalog-backend-module-unprocessed` module to be
32
32
  yarn --cwd packages/app add @backstage/plugin-catalog-unprocessed-entities
33
33
  ```
34
34
 
35
- Once installed, the plugin is automatically available in your app through the default feature discovery. For more details and alternative installation methods, see [installing plugins](https://backstage.io/docs/frontend-system/building-apps/installing-plugins).
35
+ The page is disabled by default. To enable it, add the following to your app configuration:
36
36
 
37
- You can optionally add unprocessed entities as a tab in DevTools through configuration:
38
-
39
- ```yaml
40
- app:
41
- extensions:
42
- # Enable the catalog-unprocessed-entities tab in devtools
43
- - devtools-content:catalog-unprocessed-entities: true
44
- # Disable the catalog-unprocessed-entities element outside devtools including the sidebar
45
- - page:catalog-unprocessed-entities: false
37
+ ```diff
38
+ app:
39
+ extensions:
40
+ + - page:catalog-unprocessed-entities
46
41
  ```
47
42
 
43
+ Alternatively, unprocessed entities are available as a tab in [DevTools](https://github.com/backstage/backstage/tree/master/plugins/devtools) without any additional configuration if the DevTools plugin is installed.
44
+
45
+ For more details and alternative installation methods, see [installing plugins](https://backstage.io/docs/frontend-system/building-apps/installing-plugins).
46
+
48
47
  ## Old Frontend System
49
48
 
50
49
  If your Backstage app uses the old frontend system, you need to manually wire the
@@ -63,7 +62,7 @@ import { CatalogUnprocessedEntitiesPage } from '@backstage/plugin-catalog-unproc
63
62
  />;
64
63
  ```
65
64
 
66
- ## Customization
65
+ ### Customization
67
66
 
68
67
  If you want to use the provided endpoints in a different way, you can use the ApiRef doing the following:
69
68
 
@@ -74,7 +73,7 @@ import { useApi } from '@backstage/core-plugin-api';
74
73
  const catalogUnprocessedEntitiesApi = useApi(catalogUnprocessedEntitiesApiRef);
75
74
  ```
76
75
 
77
- Note that if you are not rendering the `CatalogUnprocessedEntitiesPage` in the `App.tsx` tree, you will need to export the `catalogUnproccessedEntitiesPlugin` from your `plugins.ts` file to setup the plugin otherwise you will receive an error like `No implementation available for apiRef{plugin.catalog-unprocessed-entities.service}`
76
+ Note that if you are not rendering the `CatalogUnprocessedEntitiesPage` in the `App.tsx` tree, you will need to export the `catalogUnprocessedEntitiesPlugin` from your `plugins.ts` file to setup the plugin otherwise you will receive an error like `No implementation available for apiRef{plugin.catalog-unprocessed-entities.service}`
78
77
 
79
78
  ```typescript
80
79
  // In packages/app/src/plugins.ts
@@ -96,11 +95,11 @@ const app = createApp({
96
95
  });
97
96
  ```
98
97
 
99
- ## Getting started
98
+ ## Development
100
99
 
101
100
  Your plugin has been added to the example app in this repository,
102
101
  meaning you'll be able to access it by running `yarn start` in the root directory,
103
- and then navigating to [/catalog-unprocessed-entities](http://localhost:3000/catalog-unprocessed-entities).
102
+ and then navigating to [/devtools/unprocessed-entities](http://localhost:3000/devtools/unprocessed-entities).
104
103
 
105
104
  You can also serve the plugin in isolation by running `yarn start` in the plugin directory.
106
105
  This method of serving the plugin provides quicker iteration speed and a faster startup and hot reloads.
@@ -1,5 +1,5 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { ApiBlueprint, fetchApiRef, discoveryApiRef, PageBlueprint, NavItemBlueprint, SubPageBlueprint, createFrontendPlugin } from '@backstage/frontend-plugin-api';
2
+ import { ApiBlueprint, fetchApiRef, discoveryApiRef, PageBlueprint, SubPageBlueprint, createFrontendPlugin } from '@backstage/frontend-plugin-api';
3
3
  import { CatalogUnprocessedEntitiesClient, catalogUnprocessedEntitiesApiRef } from '../api/index.esm.js';
4
4
  import QueueIcon from '@material-ui/icons/Queue';
5
5
  import { rootRouteRef } from '../routes.esm.js';
@@ -20,14 +20,9 @@ const catalogUnprocessedEntitiesPage = PageBlueprint.make({
20
20
  params: {
21
21
  path: "/catalog-unprocessed-entities",
22
22
  routeRef: rootRouteRef,
23
- loader: () => import('../components/UnprocessedEntities.esm.js').then((m) => /* @__PURE__ */ jsx(m.NfsUnprocessedEntities, {}))
24
- }
25
- });
26
- const catalogUnprocessedEntitiesNavItem = NavItemBlueprint.make({
27
- params: {
28
23
  title: "Unprocessed Entities",
29
- routeRef: rootRouteRef,
30
- icon: QueueIcon
24
+ icon: /* @__PURE__ */ jsx(QueueIcon, { fontSize: "inherit" }),
25
+ loader: () => import('../components/UnprocessedEntities.esm.js').then((m) => /* @__PURE__ */ jsx(m.NfsUnprocessedEntities, {}))
31
26
  }
32
27
  });
33
28
  const unprocessedEntitiesDevToolsContent = SubPageBlueprint.make({
@@ -49,10 +44,9 @@ var plugin = createFrontendPlugin({
49
44
  extensions: [
50
45
  catalogUnprocessedEntitiesApi,
51
46
  catalogUnprocessedEntitiesPage,
52
- catalogUnprocessedEntitiesNavItem,
53
47
  unprocessedEntitiesDevToolsContent
54
48
  ]
55
49
  });
56
50
 
57
- export { catalogUnprocessedEntitiesApi, catalogUnprocessedEntitiesNavItem, catalogUnprocessedEntitiesPage, plugin as default, unprocessedEntitiesDevToolsContent };
51
+ export { catalogUnprocessedEntitiesApi, catalogUnprocessedEntitiesPage, plugin as default, unprocessedEntitiesDevToolsContent };
58
52
  //# sourceMappingURL=plugin.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.esm.js","sources":["../../src/alpha/plugin.tsx"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n createFrontendPlugin,\n discoveryApiRef,\n fetchApiRef,\n ApiBlueprint,\n PageBlueprint,\n NavItemBlueprint,\n SubPageBlueprint,\n} from '@backstage/frontend-plugin-api';\n\nimport {\n catalogUnprocessedEntitiesApiRef,\n CatalogUnprocessedEntitiesClient,\n} from '../api';\nimport QueueIcon from '@material-ui/icons/Queue';\nimport { rootRouteRef } from '../routes';\nimport { Container } from '@backstage/ui';\n\n/** @alpha */\nexport const catalogUnprocessedEntitiesApi = ApiBlueprint.make({\n params: defineParams =>\n defineParams({\n api: catalogUnprocessedEntitiesApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n fetchApi: fetchApiRef,\n },\n factory: ({ discoveryApi, fetchApi }) =>\n new CatalogUnprocessedEntitiesClient(discoveryApi, fetchApi),\n }),\n});\n\n/** @alpha */\nexport const catalogUnprocessedEntitiesPage = PageBlueprint.make({\n disabled: true,\n params: {\n path: '/catalog-unprocessed-entities',\n routeRef: rootRouteRef,\n loader: () =>\n import('../components/UnprocessedEntities').then(m => (\n <m.NfsUnprocessedEntities />\n )),\n },\n});\n\n/** @alpha */\nexport const catalogUnprocessedEntitiesNavItem = NavItemBlueprint.make({\n params: {\n title: 'Unprocessed Entities',\n routeRef: rootRouteRef,\n icon: QueueIcon,\n },\n});\n\n/**\n * DevTools content for catalog unprocessed entities.\n *\n * @alpha\n */\nexport const unprocessedEntitiesDevToolsContent = SubPageBlueprint.make({\n attachTo: { id: 'page:devtools', input: 'pages' },\n params: {\n path: 'unprocessed-entities',\n title: 'Unprocessed Entities',\n loader: () =>\n import('../components/UnprocessedEntities').then(m => (\n <Container>\n <m.UnprocessedEntitiesContent />\n </Container>\n )),\n },\n});\n\n/** @alpha */\nexport default createFrontendPlugin({\n pluginId: 'catalog-unprocessed-entities',\n title: 'Unprocessed Entities',\n icon: <QueueIcon fontSize=\"inherit\" />,\n info: { packageJson: () => import('../../package.json') },\n routes: {\n root: rootRouteRef,\n },\n extensions: [\n catalogUnprocessedEntitiesApi,\n catalogUnprocessedEntitiesPage,\n catalogUnprocessedEntitiesNavItem,\n unprocessedEntitiesDevToolsContent,\n ],\n});\n"],"names":[],"mappings":";;;;;;;AAmCO,MAAM,6BAAA,GAAgC,aAAa,IAAA,CAAK;AAAA,EAC7D,MAAA,EAAQ,kBACN,YAAA,CAAa;AAAA,IACX,GAAA,EAAK,gCAAA;AAAA,IACL,IAAA,EAAM;AAAA,MACJ,YAAA,EAAc,eAAA;AAAA,MACd,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,OAAA,EAAS,CAAC,EAAE,YAAA,EAAc,UAAS,KACjC,IAAI,gCAAA,CAAiC,YAAA,EAAc,QAAQ;AAAA,GAC9D;AACL,CAAC;AAGM,MAAM,8BAAA,GAAiC,cAAc,IAAA,CAAK;AAAA,EAC/D,QAAA,EAAU,IAAA;AAAA,EACV,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,+BAAA;AAAA,IACN,QAAA,EAAU,YAAA;AAAA,IACV,MAAA,EAAQ,MACN,OAAO,0CAAmC,CAAA,CAAE,IAAA,CAAK,CAAA,CAAA,qBAC/C,GAAA,CAAC,CAAA,CAAE,sBAAA,EAAF,EAAyB,CAC3B;AAAA;AAEP,CAAC;AAGM,MAAM,iCAAA,GAAoC,iBAAiB,IAAA,CAAK;AAAA,EACrE,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,sBAAA;AAAA,IACP,QAAA,EAAU,YAAA;AAAA,IACV,IAAA,EAAM;AAAA;AAEV,CAAC;AAOM,MAAM,kCAAA,GAAqC,iBAAiB,IAAA,CAAK;AAAA,EACtE,QAAA,EAAU,EAAE,EAAA,EAAI,eAAA,EAAiB,OAAO,OAAA,EAAQ;AAAA,EAChD,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,sBAAA;AAAA,IACN,KAAA,EAAO,sBAAA;AAAA,IACP,MAAA,EAAQ,MACN,OAAO,0CAAmC,EAAE,IAAA,CAAK,CAAA,CAAA,qBAC/C,GAAA,CAAC,SAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,CAAA,CAAE,0BAAA,EAAF,EAA6B,GAChC,CACD;AAAA;AAEP,CAAC;AAGD,aAAe,oBAAA,CAAqB;AAAA,EAClC,QAAA,EAAU,8BAAA;AAAA,EACV,KAAA,EAAO,sBAAA;AAAA,EACP,IAAA,kBAAM,GAAA,CAAC,SAAA,EAAA,EAAU,QAAA,EAAS,SAAA,EAAU,CAAA;AAAA,EACpC,MAAM,EAAE,WAAA,EAAa,MAAM,OAAO,wBAAoB,CAAA,EAAE;AAAA,EACxD,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA,UAAA,EAAY;AAAA,IACV,6BAAA;AAAA,IACA,8BAAA;AAAA,IACA,iCAAA;AAAA,IACA;AAAA;AAEJ,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"plugin.esm.js","sources":["../../src/alpha/plugin.tsx"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n createFrontendPlugin,\n discoveryApiRef,\n fetchApiRef,\n ApiBlueprint,\n PageBlueprint,\n SubPageBlueprint,\n} from '@backstage/frontend-plugin-api';\n\nimport {\n catalogUnprocessedEntitiesApiRef,\n CatalogUnprocessedEntitiesClient,\n} from '../api';\nimport QueueIcon from '@material-ui/icons/Queue';\nimport { rootRouteRef } from '../routes';\nimport { Container } from '@backstage/ui';\n\n/** @alpha */\nexport const catalogUnprocessedEntitiesApi = ApiBlueprint.make({\n params: defineParams =>\n defineParams({\n api: catalogUnprocessedEntitiesApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n fetchApi: fetchApiRef,\n },\n factory: ({ discoveryApi, fetchApi }) =>\n new CatalogUnprocessedEntitiesClient(discoveryApi, fetchApi),\n }),\n});\n\n/** @alpha */\nexport const catalogUnprocessedEntitiesPage = PageBlueprint.make({\n disabled: true,\n params: {\n path: '/catalog-unprocessed-entities',\n routeRef: rootRouteRef,\n title: 'Unprocessed Entities',\n icon: <QueueIcon fontSize=\"inherit\" />,\n loader: () =>\n import('../components/UnprocessedEntities').then(m => (\n <m.NfsUnprocessedEntities />\n )),\n },\n});\n\n/**\n * DevTools content for catalog unprocessed entities.\n *\n * @alpha\n */\nexport const unprocessedEntitiesDevToolsContent = SubPageBlueprint.make({\n attachTo: { id: 'page:devtools', input: 'pages' },\n params: {\n path: 'unprocessed-entities',\n title: 'Unprocessed Entities',\n loader: () =>\n import('../components/UnprocessedEntities').then(m => (\n <Container>\n <m.UnprocessedEntitiesContent />\n </Container>\n )),\n },\n});\n\n/** @alpha */\nexport default createFrontendPlugin({\n pluginId: 'catalog-unprocessed-entities',\n title: 'Unprocessed Entities',\n icon: <QueueIcon fontSize=\"inherit\" />,\n info: { packageJson: () => import('../../package.json') },\n routes: {\n root: rootRouteRef,\n },\n extensions: [\n catalogUnprocessedEntitiesApi,\n catalogUnprocessedEntitiesPage,\n unprocessedEntitiesDevToolsContent,\n ],\n});\n"],"names":[],"mappings":";;;;;;;AAkCO,MAAM,6BAAA,GAAgC,aAAa,IAAA,CAAK;AAAA,EAC7D,MAAA,EAAQ,kBACN,YAAA,CAAa;AAAA,IACX,GAAA,EAAK,gCAAA;AAAA,IACL,IAAA,EAAM;AAAA,MACJ,YAAA,EAAc,eAAA;AAAA,MACd,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,OAAA,EAAS,CAAC,EAAE,YAAA,EAAc,UAAS,KACjC,IAAI,gCAAA,CAAiC,YAAA,EAAc,QAAQ;AAAA,GAC9D;AACL,CAAC;AAGM,MAAM,8BAAA,GAAiC,cAAc,IAAA,CAAK;AAAA,EAC/D,QAAA,EAAU,IAAA;AAAA,EACV,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,+BAAA;AAAA,IACN,QAAA,EAAU,YAAA;AAAA,IACV,KAAA,EAAO,sBAAA;AAAA,IACP,IAAA,kBAAM,GAAA,CAAC,SAAA,EAAA,EAAU,QAAA,EAAS,SAAA,EAAU,CAAA;AAAA,IACpC,MAAA,EAAQ,MACN,OAAO,0CAAmC,CAAA,CAAE,IAAA,CAAK,CAAA,CAAA,qBAC/C,GAAA,CAAC,CAAA,CAAE,sBAAA,EAAF,EAAyB,CAC3B;AAAA;AAEP,CAAC;AAOM,MAAM,kCAAA,GAAqC,iBAAiB,IAAA,CAAK;AAAA,EACtE,QAAA,EAAU,EAAE,EAAA,EAAI,eAAA,EAAiB,OAAO,OAAA,EAAQ;AAAA,EAChD,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,sBAAA;AAAA,IACN,KAAA,EAAO,sBAAA;AAAA,IACP,MAAA,EAAQ,MACN,OAAO,0CAAmC,EAAE,IAAA,CAAK,CAAA,CAAA,qBAC/C,GAAA,CAAC,SAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,CAAA,CAAE,0BAAA,EAAF,EAA6B,GAChC,CACD;AAAA;AAEP,CAAC;AAGD,aAAe,oBAAA,CAAqB;AAAA,EAClC,QAAA,EAAU,8BAAA;AAAA,EACV,KAAA,EAAO,sBAAA;AAAA,EACP,IAAA,kBAAM,GAAA,CAAC,SAAA,EAAA,EAAU,QAAA,EAAS,SAAA,EAAU,CAAA;AAAA,EACpC,MAAM,EAAE,WAAA,EAAa,MAAM,OAAO,wBAAoB,CAAA,EAAE;AAAA,EACxD,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA,UAAA,EAAY;AAAA,IACV,6BAAA;AAAA,IACA,8BAAA;AAAA,IACA;AAAA;AAEJ,CAAC,CAAA;;;;"}
package/dist/alpha.d.ts CHANGED
@@ -15,27 +15,6 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
15
15
  inputs: {};
16
16
  params: <TApi, TImpl extends TApi, TDeps extends { [name in string]: unknown; }>(params: _backstage_frontend_plugin_api.ApiFactory<TApi, TImpl, TDeps>) => _backstage_frontend_plugin_api.ExtensionBlueprintParams<_backstage_frontend_plugin_api.AnyApiFactory>;
17
17
  }>;
18
- "nav-item:catalog-unprocessed-entities": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
19
- kind: "nav-item";
20
- name: undefined;
21
- config: {
22
- title: string | undefined;
23
- };
24
- configInput: {
25
- title?: string | undefined;
26
- };
27
- output: _backstage_frontend_plugin_api.ExtensionDataRef<{
28
- title: string;
29
- icon: _backstage_frontend_plugin_api.IconComponent;
30
- routeRef: _backstage_frontend_plugin_api.RouteRef<undefined>;
31
- }, "core.nav-item.target", {}>;
32
- inputs: {};
33
- params: {
34
- title: string;
35
- icon: _backstage_frontend_plugin_api.IconComponent;
36
- routeRef: _backstage_frontend_plugin_api.RouteRef<undefined>;
37
- };
38
- }>;
39
18
  "page:catalog-unprocessed-entities": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
40
19
  kind: "page";
41
20
  name: undefined;
@@ -1,5 +1,5 @@
1
1
  var name = "@backstage/plugin-catalog-unprocessed-entities";
2
- var version = "0.2.31-next.0";
2
+ var version = "0.2.32-next.0";
3
3
  var backstage = {
4
4
  role: "frontend-plugin",
5
5
  pluginId: "catalog-unprocessed-entities",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/plugin-catalog-unprocessed-entities",
3
- "version": "0.2.31-next.0",
3
+ "version": "0.2.32-next.0",
4
4
  "backstage": {
5
5
  "role": "frontend-plugin",
6
6
  "pluginId": "catalog-unprocessed-entities",
@@ -62,13 +62,13 @@
62
62
  "test": "backstage-cli package test"
63
63
  },
64
64
  "dependencies": {
65
- "@backstage/core-compat-api": "0.5.11-next.0",
66
- "@backstage/core-components": "0.18.10-next.1",
67
- "@backstage/core-plugin-api": "1.12.6-next.1",
68
- "@backstage/errors": "1.3.1-next.0",
69
- "@backstage/frontend-plugin-api": "0.17.0-next.1",
70
- "@backstage/plugin-catalog-unprocessed-entities-common": "0.0.16-next.1",
71
- "@backstage/ui": "0.15.0-next.2",
65
+ "@backstage/core-compat-api": "0.5.12-next.0",
66
+ "@backstage/core-components": "0.18.11-next.0",
67
+ "@backstage/core-plugin-api": "1.12.6",
68
+ "@backstage/errors": "1.3.1",
69
+ "@backstage/frontend-plugin-api": "0.17.0",
70
+ "@backstage/plugin-catalog-unprocessed-entities-common": "0.0.16",
71
+ "@backstage/ui": "0.15.0",
72
72
  "@material-ui/core": "^4.9.13",
73
73
  "@material-ui/icons": "^4.9.1",
74
74
  "@material-ui/lab": "^4.0.0-alpha.60",
@@ -76,8 +76,8 @@
76
76
  "react-use": "^17.2.4"
77
77
  },
78
78
  "devDependencies": {
79
- "@backstage/cli": "0.36.2-next.1",
80
- "@backstage/dev-utils": "1.1.23-next.0",
79
+ "@backstage/cli": "0.36.3-next.0",
80
+ "@backstage/dev-utils": "1.1.24-next.0",
81
81
  "@testing-library/jest-dom": "^6.0.0",
82
82
  "@testing-library/react": "^16.0.0",
83
83
  "@types/react": "^18.0.0",