@backstage/plugin-techdocs 1.9.2-next.1 → 1.9.2-next.3

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,47 @@
1
1
  # @backstage/plugin-techdocs
2
2
 
3
+ ## 1.9.2-next.3
4
+
5
+ ### Patch Changes
6
+
7
+ - a1227cc: Wrap `/alpha` export extension elements in backwards compatibility wrapper.
8
+ - 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed.
9
+ - Updated dependencies
10
+ - @backstage/frontend-plugin-api@0.4.0-next.2
11
+ - @backstage/theme@0.5.0-next.1
12
+ - @backstage/core-compat-api@0.1.0-next.2
13
+ - @backstage/plugin-catalog-react@1.9.2-next.2
14
+ - @backstage/plugin-search-react@1.7.4-next.2
15
+ - @backstage/catalog-model@1.4.3
16
+ - @backstage/config@1.1.1
17
+ - @backstage/core-components@0.13.9-next.2
18
+ - @backstage/core-plugin-api@1.8.1-next.1
19
+ - @backstage/errors@1.2.3
20
+ - @backstage/integration@1.8.0-next.1
21
+ - @backstage/integration-react@1.1.22-next.1
22
+ - @backstage/plugin-search-common@1.2.8
23
+ - @backstage/plugin-techdocs-react@1.1.14-next.2
24
+
25
+ ## 1.9.2-next.2
26
+
27
+ ### Patch Changes
28
+
29
+ - Updated dependencies
30
+ - @backstage/frontend-plugin-api@0.4.0-next.1
31
+ - @backstage/core-components@0.13.9-next.1
32
+ - @backstage/core-plugin-api@1.8.1-next.1
33
+ - @backstage/plugin-catalog-react@1.9.2-next.1
34
+ - @backstage/plugin-search-react@1.7.4-next.1
35
+ - @backstage/integration@1.8.0-next.1
36
+ - @backstage/core-compat-api@0.0.1-next.1
37
+ - @backstage/integration-react@1.1.22-next.1
38
+ - @backstage/plugin-techdocs-react@1.1.14-next.1
39
+ - @backstage/catalog-model@1.4.3
40
+ - @backstage/config@1.1.1
41
+ - @backstage/errors@1.2.3
42
+ - @backstage/theme@0.5.0-next.0
43
+ - @backstage/plugin-search-common@1.2.8
44
+
3
45
  ## 1.9.2-next.1
4
46
 
5
47
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/plugin-techdocs",
3
- "version": "1.9.2-next.1",
3
+ "version": "1.9.2-next.3",
4
4
  "main": "../dist/alpha.esm.js",
5
5
  "module": "../dist/alpha.esm.js",
6
6
  "types": "../dist/alpha.d.ts"
package/dist/alpha.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
2
2
 
3
3
  /** @alpha */
4
- declare const TechDocsSearchResultListItemExtension: _backstage_frontend_plugin_api.Extension<{
4
+ declare const TechDocsSearchResultListItemExtension: _backstage_frontend_plugin_api.ExtensionDefinition<{
5
5
  lineClamp: number;
6
6
  noTrack: boolean;
7
7
  asListItem: boolean;
package/dist/alpha.esm.js CHANGED
@@ -3,7 +3,7 @@ import LibraryBooks from '@material-ui/icons/LibraryBooks';
3
3
  import { createApiExtension, createSchemaFromZod, createPageExtension, createNavItemExtension, createPlugin } from '@backstage/frontend-plugin-api';
4
4
  import { createSearchResultListItemExtension } from '@backstage/plugin-search-react/alpha';
5
5
  import { createApiFactory, configApiRef, discoveryApiRef, identityApiRef, fetchApiRef } from '@backstage/core-plugin-api';
6
- import { convertLegacyRouteRef } from '@backstage/core-compat-api';
6
+ import { compatWrapper, convertLegacyRouteRef } from '@backstage/core-compat-api';
7
7
  import { techdocsStorageApiRef, techdocsApiRef } from '@backstage/plugin-techdocs-react';
8
8
  import { a as TechDocsStorageClient, T as TechDocsClient, r as rootRouteRef, b as rootDocsRouteRef, c as rootCatalogDocsRouteRef } from './esm/routes-691e552c.esm.js';
9
9
  import { createEntityContentExtension } from '@backstage/plugin-catalog-react/alpha';
@@ -11,45 +11,38 @@ import '@backstage/errors';
11
11
  import 'event-source-polyfill';
12
12
 
13
13
  const techDocsStorage = createApiExtension({
14
- api: techdocsStorageApiRef,
15
- factory() {
16
- return createApiFactory({
17
- api: techdocsStorageApiRef,
18
- deps: {
19
- configApi: configApiRef,
20
- discoveryApi: discoveryApiRef,
21
- identityApi: identityApiRef,
22
- fetchApi: fetchApiRef
23
- },
24
- factory: ({ configApi, discoveryApi, identityApi, fetchApi }) => new TechDocsStorageClient({
25
- configApi,
26
- discoveryApi,
27
- identityApi,
28
- fetchApi
29
- })
30
- });
31
- }
14
+ factory: createApiFactory({
15
+ api: techdocsStorageApiRef,
16
+ deps: {
17
+ configApi: configApiRef,
18
+ discoveryApi: discoveryApiRef,
19
+ identityApi: identityApiRef,
20
+ fetchApi: fetchApiRef
21
+ },
22
+ factory: ({ configApi, discoveryApi, identityApi, fetchApi }) => new TechDocsStorageClient({
23
+ configApi,
24
+ discoveryApi,
25
+ identityApi,
26
+ fetchApi
27
+ })
28
+ })
32
29
  });
33
30
  const techDocsClient = createApiExtension({
34
- api: techdocsApiRef,
35
- factory() {
36
- return createApiFactory({
37
- api: techdocsApiRef,
38
- deps: {
39
- configApi: configApiRef,
40
- discoveryApi: discoveryApiRef,
41
- fetchApi: fetchApiRef
42
- },
43
- factory: ({ configApi, discoveryApi, fetchApi }) => new TechDocsClient({
44
- configApi,
45
- discoveryApi,
46
- fetchApi
47
- })
48
- });
49
- }
31
+ factory: createApiFactory({
32
+ api: techdocsApiRef,
33
+ deps: {
34
+ configApi: configApiRef,
35
+ discoveryApi: discoveryApiRef,
36
+ fetchApi: fetchApiRef
37
+ },
38
+ factory: ({ configApi, discoveryApi, fetchApi }) => new TechDocsClient({
39
+ configApi,
40
+ discoveryApi,
41
+ fetchApi
42
+ })
43
+ })
50
44
  });
51
45
  const TechDocsSearchResultListItemExtension = createSearchResultListItemExtension({
52
- id: "techdocs",
53
46
  configSchema: createSchemaFromZod(
54
47
  (z) => z.object({
55
48
  // TODO: Define how the icon can be configurable
@@ -63,29 +56,30 @@ const TechDocsSearchResultListItemExtension = createSearchResultListItemExtensio
63
56
  predicate: (result) => result.type === "techdocs",
64
57
  component: async ({ config }) => {
65
58
  const { TechDocsSearchResultListItem } = await import('./esm/TechDocsSearchResultListItem-4736f829.esm.js');
66
- return (props) => /* @__PURE__ */ React.createElement(TechDocsSearchResultListItem, { ...props, ...config });
59
+ return (props) => compatWrapper(/* @__PURE__ */ React.createElement(TechDocsSearchResultListItem, { ...props, ...config }));
67
60
  }
68
61
  });
69
62
  const TechDocsIndexPage = createPageExtension({
70
- id: "plugin.techdocs.indexPage",
71
63
  defaultPath: "/docs",
72
64
  routeRef: convertLegacyRouteRef(rootRouteRef),
73
- loader: () => import('./esm/TechDocsIndexPage-a43a1a1c.esm.js').then(function (n) { return n.d; }).then((m) => /* @__PURE__ */ React.createElement(m.TechDocsIndexPage, null))
65
+ loader: () => import('./esm/TechDocsIndexPage-a43a1a1c.esm.js').then(function (n) { return n.d; }).then(
66
+ (m) => compatWrapper(/* @__PURE__ */ React.createElement(m.TechDocsIndexPage, null))
67
+ )
74
68
  });
75
69
  const TechDocsReaderPage = createPageExtension({
76
- id: "plugin.techdocs.readerPage",
70
+ name: "reader",
77
71
  defaultPath: "/docs/:namespace/:kind/:name",
78
72
  routeRef: convertLegacyRouteRef(rootDocsRouteRef),
79
- loader: () => import('./esm/index-25c38d4b.esm.js').then((m) => /* @__PURE__ */ React.createElement(m.TechDocsReaderPage, null))
73
+ loader: () => import('./esm/index-25c38d4b.esm.js').then(
74
+ (m) => compatWrapper(/* @__PURE__ */ React.createElement(m.TechDocsReaderPage, null))
75
+ )
80
76
  });
81
77
  const TechDocsEntityContent = createEntityContentExtension({
82
- id: "techdocs",
83
78
  defaultPath: "docs",
84
79
  defaultTitle: "TechDocs",
85
- loader: () => import('./esm/Router-4dd3c907.esm.js').then(function (n) { return n.f; }).then((m) => /* @__PURE__ */ React.createElement(m.EmbeddedDocsRouter, null))
80
+ loader: () => import('./esm/Router-4dd3c907.esm.js').then(function (n) { return n.f; }).then((m) => compatWrapper(/* @__PURE__ */ React.createElement(m.EmbeddedDocsRouter, null)))
86
81
  });
87
82
  const TechDocsNavItem = createNavItemExtension({
88
- id: "plugin.techdocs.nav.index",
89
83
  icon: LibraryBooks,
90
84
  title: "Docs",
91
85
  routeRef: convertLegacyRouteRef(rootRouteRef)
@@ -1 +1 @@
1
- {"version":3,"file":"alpha.esm.js","sources":["../src/alpha.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 React from 'react';\nimport LibraryBooks from '@material-ui/icons/LibraryBooks';\nimport {\n createPlugin,\n createSchemaFromZod,\n createApiExtension,\n createPageExtension,\n createNavItemExtension,\n} from '@backstage/frontend-plugin-api';\nimport { createSearchResultListItemExtension } from '@backstage/plugin-search-react/alpha';\nimport {\n configApiRef,\n createApiFactory,\n discoveryApiRef,\n fetchApiRef,\n identityApiRef,\n} from '@backstage/core-plugin-api';\nimport { convertLegacyRouteRef } from '@backstage/core-compat-api';\nimport {\n techdocsApiRef,\n techdocsStorageApiRef,\n} from '@backstage/plugin-techdocs-react';\nimport { TechDocsClient, TechDocsStorageClient } from './client';\nimport {\n rootCatalogDocsRouteRef,\n rootDocsRouteRef,\n rootRouteRef,\n} from './routes';\nimport { createEntityContentExtension } from '@backstage/plugin-catalog-react/alpha';\n\n/** @alpha */\nconst techDocsStorage = createApiExtension({\n api: techdocsStorageApiRef,\n\n factory() {\n return createApiFactory({\n api: techdocsStorageApiRef,\n deps: {\n configApi: configApiRef,\n discoveryApi: discoveryApiRef,\n identityApi: identityApiRef,\n fetchApi: fetchApiRef,\n },\n factory: ({ configApi, discoveryApi, identityApi, fetchApi }) =>\n new TechDocsStorageClient({\n configApi,\n discoveryApi,\n identityApi,\n fetchApi,\n }),\n });\n },\n});\n\n/** @alpha */\nconst techDocsClient = createApiExtension({\n api: techdocsApiRef,\n factory() {\n return createApiFactory({\n api: techdocsApiRef,\n deps: {\n configApi: configApiRef,\n discoveryApi: discoveryApiRef,\n fetchApi: fetchApiRef,\n },\n factory: ({ configApi, discoveryApi, fetchApi }) =>\n new TechDocsClient({\n configApi,\n discoveryApi,\n fetchApi,\n }),\n });\n },\n});\n\n/** @alpha */\nexport const TechDocsSearchResultListItemExtension =\n createSearchResultListItemExtension({\n id: 'techdocs',\n configSchema: createSchemaFromZod(z =>\n z.object({\n // TODO: Define how the icon can be configurable\n title: z.string().optional(),\n lineClamp: z.number().default(5),\n asLink: z.boolean().default(true),\n asListItem: z.boolean().default(true),\n noTrack: z.boolean().default(false),\n }),\n ),\n predicate: result => result.type === 'techdocs',\n component: async ({ config }) => {\n const { TechDocsSearchResultListItem } = await import(\n './search/components/TechDocsSearchResultListItem'\n );\n return props => <TechDocsSearchResultListItem {...props} {...config} />;\n },\n });\n\n/**\n * Responsible for rendering the provided router element\n *\n * @alpha\n */\nconst TechDocsIndexPage = createPageExtension({\n id: 'plugin.techdocs.indexPage',\n defaultPath: '/docs',\n routeRef: convertLegacyRouteRef(rootRouteRef),\n loader: () =>\n import('./home/components/TechDocsIndexPage').then(m => (\n <m.TechDocsIndexPage />\n )),\n});\n\n/**\n * Component responsible for composing a TechDocs reader page experience\n *\n * @alpha\n */\nconst TechDocsReaderPage = createPageExtension({\n id: 'plugin.techdocs.readerPage',\n defaultPath: '/docs/:namespace/:kind/:name',\n routeRef: convertLegacyRouteRef(rootDocsRouteRef),\n loader: () =>\n import('./reader/components/TechDocsReaderPage').then(m => (\n <m.TechDocsReaderPage />\n )),\n});\n\n/**\n * Component responsible for rendering techdocs on entity pages\n *\n * @alpha\n */\nconst TechDocsEntityContent = createEntityContentExtension({\n id: 'techdocs',\n defaultPath: 'docs',\n defaultTitle: 'TechDocs',\n loader: () => import('./Router').then(m => <m.EmbeddedDocsRouter />),\n});\n\n/** @alpha */\nconst TechDocsNavItem = createNavItemExtension({\n id: 'plugin.techdocs.nav.index',\n icon: LibraryBooks,\n title: 'Docs',\n routeRef: convertLegacyRouteRef(rootRouteRef),\n});\n\n/** @alpha */\nexport default createPlugin({\n id: 'techdocs',\n extensions: [\n techDocsClient,\n techDocsStorage,\n TechDocsNavItem,\n TechDocsIndexPage,\n TechDocsReaderPage,\n TechDocsEntityContent,\n TechDocsSearchResultListItemExtension,\n ],\n routes: {\n root: convertLegacyRouteRef(rootRouteRef),\n docRoot: convertLegacyRouteRef(rootDocsRouteRef),\n entityContent: convertLegacyRouteRef(rootCatalogDocsRouteRef),\n },\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alpha.esm.js","sources":["../src/alpha.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 React from 'react';\nimport LibraryBooks from '@material-ui/icons/LibraryBooks';\nimport {\n createPlugin,\n createSchemaFromZod,\n createApiExtension,\n createPageExtension,\n createNavItemExtension,\n} from '@backstage/frontend-plugin-api';\nimport { createSearchResultListItemExtension } from '@backstage/plugin-search-react/alpha';\nimport {\n configApiRef,\n createApiFactory,\n discoveryApiRef,\n fetchApiRef,\n identityApiRef,\n} from '@backstage/core-plugin-api';\nimport {\n compatWrapper,\n convertLegacyRouteRef,\n} from '@backstage/core-compat-api';\nimport {\n techdocsApiRef,\n techdocsStorageApiRef,\n} from '@backstage/plugin-techdocs-react';\nimport { TechDocsClient, TechDocsStorageClient } from './client';\nimport {\n rootCatalogDocsRouteRef,\n rootDocsRouteRef,\n rootRouteRef,\n} from './routes';\nimport { createEntityContentExtension } from '@backstage/plugin-catalog-react/alpha';\n\n/** @alpha */\nconst techDocsStorage = createApiExtension({\n factory: createApiFactory({\n api: techdocsStorageApiRef,\n deps: {\n configApi: configApiRef,\n discoveryApi: discoveryApiRef,\n identityApi: identityApiRef,\n fetchApi: fetchApiRef,\n },\n factory: ({ configApi, discoveryApi, identityApi, fetchApi }) =>\n new TechDocsStorageClient({\n configApi,\n discoveryApi,\n identityApi,\n fetchApi,\n }),\n }),\n});\n\n/** @alpha */\nconst techDocsClient = createApiExtension({\n factory: createApiFactory({\n api: techdocsApiRef,\n deps: {\n configApi: configApiRef,\n discoveryApi: discoveryApiRef,\n fetchApi: fetchApiRef,\n },\n factory: ({ configApi, discoveryApi, fetchApi }) =>\n new TechDocsClient({\n configApi,\n discoveryApi,\n fetchApi,\n }),\n }),\n});\n\n/** @alpha */\nexport const TechDocsSearchResultListItemExtension =\n createSearchResultListItemExtension({\n configSchema: createSchemaFromZod(z =>\n z.object({\n // TODO: Define how the icon can be configurable\n title: z.string().optional(),\n lineClamp: z.number().default(5),\n asLink: z.boolean().default(true),\n asListItem: z.boolean().default(true),\n noTrack: z.boolean().default(false),\n }),\n ),\n predicate: result => result.type === 'techdocs',\n component: async ({ config }) => {\n const { TechDocsSearchResultListItem } = await import(\n './search/components/TechDocsSearchResultListItem'\n );\n return props =>\n compatWrapper(<TechDocsSearchResultListItem {...props} {...config} />);\n },\n });\n\n/**\n * Responsible for rendering the provided router element\n *\n * @alpha\n */\nconst TechDocsIndexPage = createPageExtension({\n defaultPath: '/docs',\n routeRef: convertLegacyRouteRef(rootRouteRef),\n loader: () =>\n import('./home/components/TechDocsIndexPage').then(m =>\n compatWrapper(<m.TechDocsIndexPage />),\n ),\n});\n\n/**\n * Component responsible for composing a TechDocs reader page experience\n *\n * @alpha\n */\nconst TechDocsReaderPage = createPageExtension({\n name: 'reader',\n defaultPath: '/docs/:namespace/:kind/:name',\n routeRef: convertLegacyRouteRef(rootDocsRouteRef),\n loader: () =>\n import('./reader/components/TechDocsReaderPage').then(m =>\n compatWrapper(<m.TechDocsReaderPage />),\n ),\n});\n\n/**\n * Component responsible for rendering techdocs on entity pages\n *\n * @alpha\n */\nconst TechDocsEntityContent = createEntityContentExtension({\n defaultPath: 'docs',\n defaultTitle: 'TechDocs',\n loader: () =>\n import('./Router').then(m => compatWrapper(<m.EmbeddedDocsRouter />)),\n});\n\n/** @alpha */\nconst TechDocsNavItem = createNavItemExtension({\n icon: LibraryBooks,\n title: 'Docs',\n routeRef: convertLegacyRouteRef(rootRouteRef),\n});\n\n/** @alpha */\nexport default createPlugin({\n id: 'techdocs',\n extensions: [\n techDocsClient,\n techDocsStorage,\n TechDocsNavItem,\n TechDocsIndexPage,\n TechDocsReaderPage,\n TechDocsEntityContent,\n TechDocsSearchResultListItemExtension,\n ],\n routes: {\n root: convertLegacyRouteRef(rootRouteRef),\n docRoot: convertLegacyRouteRef(rootDocsRouteRef),\n entityContent: convertLegacyRouteRef(rootCatalogDocsRouteRef),\n },\n});\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@backstage/plugin-techdocs",
3
3
  "description": "The Backstage plugin that renders technical documentation for your components",
4
- "version": "1.9.2-next.1",
4
+ "version": "1.9.2-next.3",
5
5
  "main": "./dist/index.esm.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "license": "Apache-2.0",
@@ -47,18 +47,18 @@
47
47
  "dependencies": {
48
48
  "@backstage/catalog-model": "^1.4.3",
49
49
  "@backstage/config": "^1.1.1",
50
- "@backstage/core-compat-api": "^0.0.1-next.0",
51
- "@backstage/core-components": "^0.13.9-next.0",
52
- "@backstage/core-plugin-api": "^1.8.1-next.0",
50
+ "@backstage/core-compat-api": "^0.1.0-next.2",
51
+ "@backstage/core-components": "^0.13.9-next.2",
52
+ "@backstage/core-plugin-api": "^1.8.1-next.1",
53
53
  "@backstage/errors": "^1.2.3",
54
- "@backstage/frontend-plugin-api": "^0.3.1-next.0",
55
- "@backstage/integration": "^1.8.0-next.0",
56
- "@backstage/integration-react": "^1.1.22-next.0",
57
- "@backstage/plugin-catalog-react": "^1.9.2-next.0",
54
+ "@backstage/frontend-plugin-api": "^0.4.0-next.2",
55
+ "@backstage/integration": "^1.8.0-next.1",
56
+ "@backstage/integration-react": "^1.1.22-next.1",
57
+ "@backstage/plugin-catalog-react": "^1.9.2-next.2",
58
58
  "@backstage/plugin-search-common": "^1.2.8",
59
- "@backstage/plugin-search-react": "^1.7.4-next.0",
60
- "@backstage/plugin-techdocs-react": "^1.1.14-next.0",
61
- "@backstage/theme": "^0.5.0-next.0",
59
+ "@backstage/plugin-search-react": "^1.7.4-next.2",
60
+ "@backstage/plugin-techdocs-react": "^1.1.14-next.2",
61
+ "@backstage/theme": "^0.5.0-next.1",
62
62
  "@material-ui/core": "^4.12.2",
63
63
  "@material-ui/icons": "^4.9.1",
64
64
  "@material-ui/lab": "4.0.0-alpha.61",
@@ -78,11 +78,11 @@
78
78
  "react-router-dom": "6.0.0-beta.0 || ^6.3.0"
79
79
  },
80
80
  "devDependencies": {
81
- "@backstage/cli": "^0.24.1-next.0",
82
- "@backstage/core-app-api": "^1.11.2-next.0",
83
- "@backstage/dev-utils": "^1.0.25-next.0",
84
- "@backstage/plugin-techdocs-module-addons-contrib": "^1.1.3-next.0",
85
- "@backstage/test-utils": "^1.4.6-next.0",
81
+ "@backstage/cli": "^0.25.0-next.2",
82
+ "@backstage/core-app-api": "^1.11.2-next.1",
83
+ "@backstage/dev-utils": "^1.0.25-next.2",
84
+ "@backstage/plugin-techdocs-module-addons-contrib": "^1.1.3-next.2",
85
+ "@backstage/test-utils": "^1.4.6-next.2",
86
86
  "@testing-library/dom": "^9.0.0",
87
87
  "@testing-library/jest-dom": "^6.0.0",
88
88
  "@testing-library/react": "^14.0.0",