@backstage/plugin-catalog-react 0.0.0-nightly-20231020021216 → 0.0.0-nightly-20231021021049

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,17 +1,19 @@
1
1
  # @backstage/plugin-catalog-react
2
2
 
3
- ## 0.0.0-nightly-20231020021216
3
+ ## 0.0.0-nightly-20231021021049
4
4
 
5
5
  ### Patch Changes
6
6
 
7
7
  - 6c2b8721531e: Add official support for React 18.
8
+ - 0bf6ebda889b: Added new APIs at the `/alpha` subpath for creating entity page cards and content for the new frontend system.
8
9
  - 71c97e7d7393: The `spec.type` field in entities will now always be rendered as a string.
9
10
  - Updated dependencies
10
- - @backstage/core-components@0.0.0-nightly-20231020021216
11
- - @backstage/core-plugin-api@0.0.0-nightly-20231020021216
12
- - @backstage/plugin-permission-react@0.0.0-nightly-20231020021216
13
- - @backstage/version-bridge@0.0.0-nightly-20231020021216
14
- - @backstage/theme@0.0.0-nightly-20231020021216
11
+ - @backstage/core-components@0.0.0-nightly-20231021021049
12
+ - @backstage/frontend-plugin-api@0.0.0-nightly-20231021021049
13
+ - @backstage/core-plugin-api@0.0.0-nightly-20231021021049
14
+ - @backstage/plugin-permission-react@0.0.0-nightly-20231021021049
15
+ - @backstage/version-bridge@0.0.0-nightly-20231021021049
16
+ - @backstage/theme@0.0.0-nightly-20231021021049
15
17
  - @backstage/integration@1.7.1
16
18
  - @backstage/catalog-client@1.4.5
17
19
  - @backstage/catalog-model@1.4.3
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/plugin-catalog-react",
3
- "version": "0.0.0-nightly-20231020021216",
3
+ "version": "0.0.0-nightly-20231021021049",
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,3 +1,6 @@
1
+ /// <reference types="react" />
2
+ import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
3
+ import { AnyExtensionInputMap, PortableSchema, ExtensionInputValues, Extension, RouteRef } from '@backstage/frontend-plugin-api';
1
4
  import { Entity } from '@backstage/catalog-model';
2
5
  import { ResourcePermission } from '@backstage/plugin-permission-common';
3
6
 
@@ -12,6 +15,14 @@ import { ResourcePermission } from '@backstage/plugin-permission-common';
12
15
  */
13
16
  declare function isOwnerOf(owner: Entity, entity: Entity): boolean;
14
17
 
18
+ /**
19
+ * Utility type to expand type aliases into their equivalent type.
20
+ * @ignore
21
+ */
22
+ type Expand<T> = T extends infer O ? {
23
+ [K in keyof O]: O[K];
24
+ } : never;
25
+
15
26
  /**
16
27
  * A thin wrapper around the
17
28
  * {@link @backstage/plugin-permission-react#usePermission} hook which uses the
@@ -29,4 +40,45 @@ declare function useEntityPermission(permission: ResourcePermission<'catalog-ent
29
40
  error?: Error;
30
41
  };
31
42
 
32
- export { isOwnerOf, useEntityPermission };
43
+ /** @alpha */
44
+ declare const entityContentTitleExtensionDataRef: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, {}>;
45
+ /** @alpha */
46
+ declare function createEntityCardExtension<TConfig, TInputs extends AnyExtensionInputMap>(options: {
47
+ id: string;
48
+ attachTo?: {
49
+ id: string;
50
+ input: string;
51
+ };
52
+ disabled?: boolean;
53
+ inputs?: TInputs;
54
+ configSchema?: PortableSchema<TConfig>;
55
+ loader: (options: {
56
+ config: TConfig;
57
+ inputs: Expand<ExtensionInputValues<TInputs>>;
58
+ }) => Promise<JSX.Element>;
59
+ }): Extension<TConfig>;
60
+ /** @alpha */
61
+ declare function createEntityContentExtension<TConfig extends {
62
+ path: string;
63
+ title: string;
64
+ }, TInputs extends AnyExtensionInputMap>(options: ({
65
+ defaultPath: string;
66
+ defaultTitle: string;
67
+ } | {
68
+ configSchema: PortableSchema<TConfig>;
69
+ }) & {
70
+ id: string;
71
+ attachTo?: {
72
+ id: string;
73
+ input: string;
74
+ };
75
+ disabled?: boolean;
76
+ inputs?: TInputs;
77
+ routeRef?: RouteRef;
78
+ loader: (options: {
79
+ config: TConfig;
80
+ inputs: Expand<ExtensionInputValues<TInputs>>;
81
+ }) => Promise<JSX.Element>;
82
+ }): Extension<TConfig>;
83
+
84
+ export { createEntityCardExtension, createEntityContentExtension, entityContentTitleExtensionDataRef, isOwnerOf, useEntityPermission };
package/dist/alpha.esm.js CHANGED
@@ -1,9 +1,10 @@
1
+ import React, { lazy } from 'react';
2
+ import { createExtensionDataRef, createExtension, coreExtensionData, ExtensionBoundary, createSchemaFromZod } from '@backstage/frontend-plugin-api';
1
3
  import { RELATION_MEMBER_OF, getCompoundEntityRef, stringifyEntityRef, RELATION_OWNED_BY } from '@backstage/catalog-model';
2
4
  import { g as getEntityRelations, a as useAsyncEntity } from './esm/useEntity-de64059a.esm.js';
3
5
  import { usePermission } from '@backstage/plugin-permission-react';
4
6
  import '@backstage/core-plugin-api';
5
7
  import '@backstage/version-bridge';
6
- import 'react';
7
8
 
8
9
  function isOwnerOf(owner, entity) {
9
10
  const possibleOwners = new Set(
@@ -46,5 +47,69 @@ function useEntityPermission(permission) {
46
47
  return { loading: false, allowed, error: permissionError };
47
48
  }
48
49
 
49
- export { isOwnerOf, useEntityPermission };
50
+ const entityContentTitleExtensionDataRef = createExtensionDataRef("plugin.catalog.entity.content.title");
51
+ function createEntityCardExtension(options) {
52
+ var _a, _b;
53
+ const id = `entity.cards.${options.id}`;
54
+ return createExtension({
55
+ id,
56
+ attachTo: (_a = options.attachTo) != null ? _a : {
57
+ id: "entity.content.overview",
58
+ input: "cards"
59
+ },
60
+ disabled: (_b = options.disabled) != null ? _b : true,
61
+ output: {
62
+ element: coreExtensionData.reactElement
63
+ },
64
+ inputs: options.inputs,
65
+ configSchema: options.configSchema,
66
+ factory({ bind, config, inputs, source }) {
67
+ const ExtensionComponent = lazy(
68
+ () => options.loader({ config, inputs }).then((element) => ({ default: () => element }))
69
+ );
70
+ bind({
71
+ element: /* @__PURE__ */ React.createElement(ExtensionBoundary, { id, source }, /* @__PURE__ */ React.createElement(ExtensionComponent, null))
72
+ });
73
+ }
74
+ });
75
+ }
76
+ function createEntityContentExtension(options) {
77
+ var _a, _b;
78
+ const id = `entity.content.${options.id}`;
79
+ const configSchema = "configSchema" in options ? options.configSchema : createSchemaFromZod(
80
+ (z) => z.object({
81
+ path: z.string().default(options.defaultPath),
82
+ title: z.string().default(options.defaultTitle)
83
+ })
84
+ );
85
+ return createExtension({
86
+ id,
87
+ attachTo: (_a = options.attachTo) != null ? _a : {
88
+ id: "plugin.catalog.page.entity",
89
+ input: "contents"
90
+ },
91
+ disabled: (_b = options.disabled) != null ? _b : true,
92
+ output: {
93
+ element: coreExtensionData.reactElement,
94
+ path: coreExtensionData.routePath,
95
+ routeRef: coreExtensionData.routeRef.optional(),
96
+ title: entityContentTitleExtensionDataRef
97
+ },
98
+ inputs: options.inputs,
99
+ configSchema,
100
+ factory({ bind, config, inputs, source }) {
101
+ const ExtensionComponent = lazy(
102
+ () => options.loader({ config, inputs }).then((element) => ({ default: () => element }))
103
+ );
104
+ bind({
105
+ path: config.path,
106
+ title: config.title,
107
+ routeRef: options.routeRef,
108
+ element: /* @__PURE__ */ React.createElement(ExtensionBoundary, { id, source, routable: true }, /* @__PURE__ */ React.createElement(ExtensionComponent, null))
109
+ });
110
+ }
111
+ });
112
+ }
113
+
114
+ export { createEntityCardExtension, createEntityContentExtension, entityContentTitleExtensionDataRef, isOwnerOf, useEntityPermission };
50
115
  //# sourceMappingURL=alpha.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alpha.esm.js","sources":["../src/utils/isOwnerOf.ts","../src/hooks/useEntityPermission.ts"],"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 Entity,\n getCompoundEntityRef,\n RELATION_MEMBER_OF,\n RELATION_OWNED_BY,\n stringifyEntityRef,\n} from '@backstage/catalog-model';\nimport { getEntityRelations } from './getEntityRelations';\n\n/**\n * Returns true if the `owner` argument is a direct owner on the `entity` argument.\n *\n * @alpha\n * @remarks\n *\n * Note that this ownership is not the same as using the claims in the auth-resolver, it only will take into account ownership as expressed by direct entity relations.\n * It doesn't know anything about the additional groups that a user might belong to which the claims contain.\n */\nexport function isOwnerOf(owner: Entity, entity: Entity) {\n const possibleOwners = new Set(\n [\n ...getEntityRelations(owner, RELATION_MEMBER_OF, { kind: 'group' }),\n ...(owner ? [getCompoundEntityRef(owner)] : []),\n ].map(stringifyEntityRef),\n );\n\n const owners = getEntityRelations(entity, RELATION_OWNED_BY).map(\n stringifyEntityRef,\n );\n\n for (const ownerItem of owners) {\n if (possibleOwners.has(ownerItem)) {\n return true;\n }\n }\n\n return false;\n}\n","/*\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 { stringifyEntityRef } from '@backstage/catalog-model';\nimport { ResourcePermission } from '@backstage/plugin-permission-common';\nimport { usePermission } from '@backstage/plugin-permission-react';\nimport { useAsyncEntity } from './useEntity';\n\n/**\n * A thin wrapper around the\n * {@link @backstage/plugin-permission-react#usePermission} hook which uses the\n * current entity in context to make an authorization request for the given\n * {@link @backstage/plugin-catalog-common#CatalogEntityPermission}.\n *\n * Note: this hook blocks the permission request until the entity has loaded in\n * context. If you have the entityRef and need concurrent requests, use the\n * `usePermission` hook directly.\n * @alpha\n */\nexport function useEntityPermission(\n // TODO(joeporpeglia) Replace with `CatalogEntityPermission` when the issue described in\n // https://github.com/backstage/backstage/pull/10128 is fixed.\n permission: ResourcePermission<'catalog-entity'>,\n): {\n loading: boolean;\n allowed: boolean;\n error?: Error;\n} {\n const {\n entity,\n loading: loadingEntity,\n error: entityError,\n } = useAsyncEntity();\n const {\n allowed,\n loading: loadingPermission,\n error: permissionError,\n } = usePermission({\n permission,\n resourceRef: entity ? stringifyEntityRef(entity) : undefined,\n });\n\n if (loadingEntity || loadingPermission) {\n return { loading: true, allowed: false };\n }\n if (entityError) {\n return { loading: false, allowed: false, error: entityError };\n }\n return { loading: false, allowed, error: permissionError };\n}\n"],"names":[],"mappings":";;;;;;;AAkCgB,SAAA,SAAA,CAAU,OAAe,MAAgB,EAAA;AACvD,EAAA,MAAM,iBAAiB,IAAI,GAAA;AAAA,IACzB;AAAA,MACE,GAAG,kBAAmB,CAAA,KAAA,EAAO,oBAAoB,EAAE,IAAA,EAAM,SAAS,CAAA;AAAA,MAClE,GAAI,KAAQ,GAAA,CAAC,qBAAqB,KAAK,CAAC,IAAI,EAAC;AAAA,KAC/C,CAAE,IAAI,kBAAkB,CAAA;AAAA,GAC1B,CAAA;AAEA,EAAA,MAAM,MAAS,GAAA,kBAAA,CAAmB,MAAQ,EAAA,iBAAiB,CAAE,CAAA,GAAA;AAAA,IAC3D,kBAAA;AAAA,GACF,CAAA;AAEA,EAAA,KAAA,MAAW,aAAa,MAAQ,EAAA;AAC9B,IAAI,IAAA,cAAA,CAAe,GAAI,CAAA,SAAS,CAAG,EAAA;AACjC,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAAA,GACF;AAEA,EAAO,OAAA,KAAA,CAAA;AACT;;ACrBO,SAAS,oBAGd,UAKA,EAAA;AACA,EAAM,MAAA;AAAA,IACJ,MAAA;AAAA,IACA,OAAS,EAAA,aAAA;AAAA,IACT,KAAO,EAAA,WAAA;AAAA,MACL,cAAe,EAAA,CAAA;AACnB,EAAM,MAAA;AAAA,IACJ,OAAA;AAAA,IACA,OAAS,EAAA,iBAAA;AAAA,IACT,KAAO,EAAA,eAAA;AAAA,MACL,aAAc,CAAA;AAAA,IAChB,UAAA;AAAA,IACA,WAAa,EAAA,MAAA,GAAS,kBAAmB,CAAA,MAAM,CAAI,GAAA,KAAA,CAAA;AAAA,GACpD,CAAA,CAAA;AAED,EAAA,IAAI,iBAAiB,iBAAmB,EAAA;AACtC,IAAA,OAAO,EAAE,OAAA,EAAS,IAAM,EAAA,OAAA,EAAS,KAAM,EAAA,CAAA;AAAA,GACzC;AACA,EAAA,IAAI,WAAa,EAAA;AACf,IAAA,OAAO,EAAE,OAAS,EAAA,KAAA,EAAO,OAAS,EAAA,KAAA,EAAO,OAAO,WAAY,EAAA,CAAA;AAAA,GAC9D;AACA,EAAA,OAAO,EAAE,OAAA,EAAS,KAAO,EAAA,OAAA,EAAS,OAAO,eAAgB,EAAA,CAAA;AAC3D;;;;"}
1
+ {"version":3,"file":"alpha.esm.js","sources":["../src/utils/isOwnerOf.ts","../src/hooks/useEntityPermission.ts","../src/alpha.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 Entity,\n getCompoundEntityRef,\n RELATION_MEMBER_OF,\n RELATION_OWNED_BY,\n stringifyEntityRef,\n} from '@backstage/catalog-model';\nimport { getEntityRelations } from './getEntityRelations';\n\n/**\n * Returns true if the `owner` argument is a direct owner on the `entity` argument.\n *\n * @alpha\n * @remarks\n *\n * Note that this ownership is not the same as using the claims in the auth-resolver, it only will take into account ownership as expressed by direct entity relations.\n * It doesn't know anything about the additional groups that a user might belong to which the claims contain.\n */\nexport function isOwnerOf(owner: Entity, entity: Entity) {\n const possibleOwners = new Set(\n [\n ...getEntityRelations(owner, RELATION_MEMBER_OF, { kind: 'group' }),\n ...(owner ? [getCompoundEntityRef(owner)] : []),\n ].map(stringifyEntityRef),\n );\n\n const owners = getEntityRelations(entity, RELATION_OWNED_BY).map(\n stringifyEntityRef,\n );\n\n for (const ownerItem of owners) {\n if (possibleOwners.has(ownerItem)) {\n return true;\n }\n }\n\n return false;\n}\n","/*\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 { stringifyEntityRef } from '@backstage/catalog-model';\nimport { ResourcePermission } from '@backstage/plugin-permission-common';\nimport { usePermission } from '@backstage/plugin-permission-react';\nimport { useAsyncEntity } from './useEntity';\n\n/**\n * A thin wrapper around the\n * {@link @backstage/plugin-permission-react#usePermission} hook which uses the\n * current entity in context to make an authorization request for the given\n * {@link @backstage/plugin-catalog-common#CatalogEntityPermission}.\n *\n * Note: this hook blocks the permission request until the entity has loaded in\n * context. If you have the entityRef and need concurrent requests, use the\n * `usePermission` hook directly.\n * @alpha\n */\nexport function useEntityPermission(\n // TODO(joeporpeglia) Replace with `CatalogEntityPermission` when the issue described in\n // https://github.com/backstage/backstage/pull/10128 is fixed.\n permission: ResourcePermission<'catalog-entity'>,\n): {\n loading: boolean;\n allowed: boolean;\n error?: Error;\n} {\n const {\n entity,\n loading: loadingEntity,\n error: entityError,\n } = useAsyncEntity();\n const {\n allowed,\n loading: loadingPermission,\n error: permissionError,\n } = usePermission({\n permission,\n resourceRef: entity ? stringifyEntityRef(entity) : undefined,\n });\n\n if (loadingEntity || loadingPermission) {\n return { loading: true, allowed: false };\n }\n if (entityError) {\n return { loading: false, allowed: false, error: entityError };\n }\n return { loading: false, allowed, error: permissionError };\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 */\n\nimport React, { lazy } from 'react';\nimport {\n AnyExtensionInputMap,\n Extension,\n ExtensionBoundary,\n ExtensionInputValues,\n PortableSchema,\n RouteRef,\n coreExtensionData,\n createExtension,\n createExtensionDataRef,\n createSchemaFromZod,\n} from '@backstage/frontend-plugin-api';\n// eslint-disable-next-line @backstage/no-relative-monorepo-imports\nimport { Expand } from '../../../packages/frontend-plugin-api/src/types';\n\nexport { isOwnerOf } from './utils';\nexport { useEntityPermission } from './hooks/useEntityPermission';\n\n/** @alpha */\nexport const entityContentTitleExtensionDataRef =\n createExtensionDataRef<string>('plugin.catalog.entity.content.title');\n\n/** @alpha */\nexport function createEntityCardExtension<\n TConfig,\n TInputs extends AnyExtensionInputMap,\n>(options: {\n id: string;\n attachTo?: { id: string; input: string };\n disabled?: boolean;\n inputs?: TInputs;\n configSchema?: PortableSchema<TConfig>;\n loader: (options: {\n config: TConfig;\n inputs: Expand<ExtensionInputValues<TInputs>>;\n }) => Promise<JSX.Element>;\n}): Extension<TConfig> {\n const id = `entity.cards.${options.id}`;\n\n return createExtension({\n id,\n attachTo: options.attachTo ?? {\n id: 'entity.content.overview',\n input: 'cards',\n },\n disabled: options.disabled ?? true,\n output: {\n element: coreExtensionData.reactElement,\n },\n inputs: options.inputs,\n configSchema: options.configSchema,\n factory({ bind, config, inputs, source }) {\n const ExtensionComponent = lazy(() =>\n options\n .loader({ config, inputs })\n .then(element => ({ default: () => element })),\n );\n\n bind({\n element: (\n <ExtensionBoundary id={id} source={source}>\n <ExtensionComponent />\n </ExtensionBoundary>\n ),\n });\n },\n });\n}\n\n/** @alpha */\nexport function createEntityContentExtension<\n TConfig extends { path: string; title: string },\n TInputs extends AnyExtensionInputMap,\n>(\n options: (\n | {\n defaultPath: string;\n defaultTitle: string;\n }\n | {\n configSchema: PortableSchema<TConfig>;\n }\n ) & {\n id: string;\n attachTo?: { id: string; input: string };\n disabled?: boolean;\n inputs?: TInputs;\n routeRef?: RouteRef;\n loader: (options: {\n config: TConfig;\n inputs: Expand<ExtensionInputValues<TInputs>>;\n }) => Promise<JSX.Element>;\n },\n): Extension<TConfig> {\n const id = `entity.content.${options.id}`;\n\n const configSchema =\n 'configSchema' in options\n ? options.configSchema\n : (createSchemaFromZod(z =>\n z.object({\n path: z.string().default(options.defaultPath),\n title: z.string().default(options.defaultTitle),\n }),\n ) as PortableSchema<TConfig>);\n\n return createExtension({\n id,\n attachTo: options.attachTo ?? {\n id: 'plugin.catalog.page.entity',\n input: 'contents',\n },\n disabled: options.disabled ?? true,\n output: {\n element: coreExtensionData.reactElement,\n path: coreExtensionData.routePath,\n routeRef: coreExtensionData.routeRef.optional(),\n title: entityContentTitleExtensionDataRef,\n },\n inputs: options.inputs,\n configSchema,\n factory({ bind, config, inputs, source }) {\n const ExtensionComponent = lazy(() =>\n options\n .loader({ config, inputs })\n .then(element => ({ default: () => element })),\n );\n\n bind({\n path: config.path,\n title: config.title,\n routeRef: options.routeRef,\n element: (\n <ExtensionBoundary id={id} source={source} routable>\n <ExtensionComponent />\n </ExtensionBoundary>\n ),\n });\n },\n });\n}\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@backstage/plugin-catalog-react",
3
3
  "description": "A frontend library that helps other Backstage plugins interact with the catalog",
4
- "version": "0.0.0-nightly-20231020021216",
4
+ "version": "0.0.0-nightly-20231021021049",
5
5
  "main": "./dist/index.esm.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "license": "Apache-2.0",
@@ -46,16 +46,17 @@
46
46
  "dependencies": {
47
47
  "@backstage/catalog-client": "^1.4.5",
48
48
  "@backstage/catalog-model": "^1.4.3",
49
- "@backstage/core-components": "^0.0.0-nightly-20231020021216",
50
- "@backstage/core-plugin-api": "^0.0.0-nightly-20231020021216",
49
+ "@backstage/core-components": "^0.0.0-nightly-20231021021049",
50
+ "@backstage/core-plugin-api": "^0.0.0-nightly-20231021021049",
51
51
  "@backstage/errors": "^1.2.3",
52
+ "@backstage/frontend-plugin-api": "^0.0.0-nightly-20231021021049",
52
53
  "@backstage/integration": "^1.7.1",
53
54
  "@backstage/plugin-catalog-common": "^1.0.17",
54
55
  "@backstage/plugin-permission-common": "^0.7.9",
55
- "@backstage/plugin-permission-react": "^0.0.0-nightly-20231020021216",
56
- "@backstage/theme": "^0.0.0-nightly-20231020021216",
56
+ "@backstage/plugin-permission-react": "^0.0.0-nightly-20231021021049",
57
+ "@backstage/theme": "^0.0.0-nightly-20231021021049",
57
58
  "@backstage/types": "^1.1.1",
58
- "@backstage/version-bridge": "^0.0.0-nightly-20231020021216",
59
+ "@backstage/version-bridge": "^0.0.0-nightly-20231021021049",
59
60
  "@material-ui/core": "^4.12.2",
60
61
  "@material-ui/icons": "^4.9.1",
61
62
  "@material-ui/lab": "4.0.0-alpha.61",
@@ -75,11 +76,11 @@
75
76
  "react-router-dom": "6.0.0-beta.0 || ^6.3.0"
76
77
  },
77
78
  "devDependencies": {
78
- "@backstage/cli": "^0.0.0-nightly-20231020021216",
79
- "@backstage/core-app-api": "^0.0.0-nightly-20231020021216",
79
+ "@backstage/cli": "^0.0.0-nightly-20231021021049",
80
+ "@backstage/core-app-api": "^0.0.0-nightly-20231021021049",
80
81
  "@backstage/plugin-catalog-common": "^1.0.17",
81
- "@backstage/plugin-scaffolder-common": "^0.0.0-nightly-20231020021216",
82
- "@backstage/test-utils": "^0.0.0-nightly-20231020021216",
82
+ "@backstage/plugin-scaffolder-common": "^0.0.0-nightly-20231021021049",
83
+ "@backstage/test-utils": "^0.0.0-nightly-20231021021049",
83
84
  "@testing-library/dom": "^9.0.0",
84
85
  "@testing-library/jest-dom": "^6.0.0",
85
86
  "@testing-library/react": "^14.0.0",