@backstage/plugin-catalog 1.31.2-next.1 → 1.31.2-next.2
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 +25 -0
- package/dist/alpha/apis.esm.js +3 -3
- package/dist/alpha/apis.esm.js.map +1 -1
- package/dist/alpha/entityContents.esm.js +3 -3
- package/dist/alpha/entityContents.esm.js.map +1 -1
- package/dist/alpha/pages.esm.js +2 -2
- package/dist/alpha/pages.esm.js.map +1 -1
- package/dist/alpha.d.ts +68 -63
- package/dist/package.json.esm.js +1 -1
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @backstage/plugin-catalog
|
|
2
2
|
|
|
3
|
+
## 1.31.2-next.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- e4ddf22: Internal update to align with new blueprint parameter naming in the new frontend system.
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @backstage/frontend-plugin-api@0.11.0-next.1
|
|
10
|
+
- @backstage/core-compat-api@0.5.0-next.2
|
|
11
|
+
- @backstage/plugin-search-react@1.9.3-next.1
|
|
12
|
+
- @backstage/plugin-catalog-react@1.20.0-next.2
|
|
13
|
+
- @backstage/core-components@0.17.5-next.1
|
|
14
|
+
- @backstage/catalog-client@1.11.0-next.0
|
|
15
|
+
- @backstage/catalog-model@1.7.5
|
|
16
|
+
- @backstage/core-plugin-api@1.10.9
|
|
17
|
+
- @backstage/errors@1.2.7
|
|
18
|
+
- @backstage/integration-react@1.2.9
|
|
19
|
+
- @backstage/types@1.2.1
|
|
20
|
+
- @backstage/version-bridge@1.0.11
|
|
21
|
+
- @backstage/plugin-catalog-common@1.1.5
|
|
22
|
+
- @backstage/plugin-permission-react@0.4.36
|
|
23
|
+
- @backstage/plugin-scaffolder-common@1.7.0-next.0
|
|
24
|
+
- @backstage/plugin-search-common@1.2.19
|
|
25
|
+
- @backstage/plugin-techdocs-common@0.1.1
|
|
26
|
+
- @backstage/plugin-techdocs-react@1.3.2-next.0
|
|
27
|
+
|
|
3
28
|
## 1.31.2-next.1
|
|
4
29
|
|
|
5
30
|
### Patch Changes
|
package/dist/alpha/apis.esm.js
CHANGED
|
@@ -6,7 +6,7 @@ import { DefaultEntityPresentationApi } from '../apis/EntityPresentationApi/Defa
|
|
|
6
6
|
import { DefaultStarredEntitiesApi } from '../apis/StarredEntitiesApi/DefaultStarredEntitiesApi.esm.js';
|
|
7
7
|
|
|
8
8
|
const catalogApi = ApiBlueprint.make({
|
|
9
|
-
params: (
|
|
9
|
+
params: (defineParams) => defineParams({
|
|
10
10
|
api: catalogApiRef,
|
|
11
11
|
deps: {
|
|
12
12
|
discoveryApi: discoveryApiRef,
|
|
@@ -17,7 +17,7 @@ const catalogApi = ApiBlueprint.make({
|
|
|
17
17
|
});
|
|
18
18
|
const catalogStarredEntitiesApi = ApiBlueprint.make({
|
|
19
19
|
name: "starred-entities",
|
|
20
|
-
params: (
|
|
20
|
+
params: (defineParams) => defineParams({
|
|
21
21
|
api: starredEntitiesApiRef,
|
|
22
22
|
deps: { storageApi: storageApiRef },
|
|
23
23
|
factory: ({ storageApi }) => new DefaultStarredEntitiesApi({ storageApi })
|
|
@@ -25,7 +25,7 @@ const catalogStarredEntitiesApi = ApiBlueprint.make({
|
|
|
25
25
|
});
|
|
26
26
|
const entityPresentationApi = ApiBlueprint.make({
|
|
27
27
|
name: "entity-presentation",
|
|
28
|
-
params: (
|
|
28
|
+
params: (defineParams) => defineParams({
|
|
29
29
|
api: entityPresentationApiRef,
|
|
30
30
|
deps: { catalogApiImp: catalogApiRef },
|
|
31
31
|
factory: ({ catalogApiImp }) => DefaultEntityPresentationApi.create({ catalogApi: catalogApiImp })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apis.esm.js","sources":["../../src/alpha/apis.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 discoveryApiRef,\n fetchApiRef,\n storageApiRef,\n} from '@backstage/core-plugin-api';\nimport { CatalogClient } from '@backstage/catalog-client';\nimport { ApiBlueprint } from '@backstage/frontend-plugin-api';\nimport {\n catalogApiRef,\n entityPresentationApiRef,\n starredEntitiesApiRef,\n} from '@backstage/plugin-catalog-react';\nimport {\n DefaultEntityPresentationApi,\n DefaultStarredEntitiesApi,\n} from '../apis';\n\nexport const catalogApi = ApiBlueprint.make({\n params:
|
|
1
|
+
{"version":3,"file":"apis.esm.js","sources":["../../src/alpha/apis.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 discoveryApiRef,\n fetchApiRef,\n storageApiRef,\n} from '@backstage/core-plugin-api';\nimport { CatalogClient } from '@backstage/catalog-client';\nimport { ApiBlueprint } from '@backstage/frontend-plugin-api';\nimport {\n catalogApiRef,\n entityPresentationApiRef,\n starredEntitiesApiRef,\n} from '@backstage/plugin-catalog-react';\nimport {\n DefaultEntityPresentationApi,\n DefaultStarredEntitiesApi,\n} from '../apis';\n\nexport const catalogApi = ApiBlueprint.make({\n params: defineParams =>\n defineParams({\n api: catalogApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n fetchApi: fetchApiRef,\n },\n factory: ({ discoveryApi, fetchApi }) =>\n new CatalogClient({ discoveryApi, fetchApi }),\n }),\n});\n\nexport const catalogStarredEntitiesApi = ApiBlueprint.make({\n name: 'starred-entities',\n params: defineParams =>\n defineParams({\n api: starredEntitiesApiRef,\n deps: { storageApi: storageApiRef },\n factory: ({ storageApi }) =>\n new DefaultStarredEntitiesApi({ storageApi }),\n }),\n});\n\nexport const entityPresentationApi = ApiBlueprint.make({\n name: 'entity-presentation',\n params: defineParams =>\n defineParams({\n api: entityPresentationApiRef,\n deps: { catalogApiImp: catalogApiRef },\n factory: ({ catalogApiImp }) =>\n DefaultEntityPresentationApi.create({ catalogApi: catalogApiImp }),\n }),\n});\n\nexport default [catalogApi, catalogStarredEntitiesApi, entityPresentationApi];\n"],"names":[],"mappings":";;;;;;;AAiCa,MAAA,UAAA,GAAa,aAAa,IAAK,CAAA;AAAA,EAC1C,MAAA,EAAQ,kBACN,YAAa,CAAA;AAAA,IACX,GAAK,EAAA,aAAA;AAAA,IACL,IAAM,EAAA;AAAA,MACJ,YAAc,EAAA,eAAA;AAAA,MACd,QAAU,EAAA;AAAA,KACZ;AAAA,IACA,OAAA,EAAS,CAAC,EAAE,YAAc,EAAA,QAAA,EACxB,KAAA,IAAI,aAAc,CAAA,EAAE,YAAc,EAAA,QAAA,EAAU;AAAA,GAC/C;AACL,CAAC;AAEY,MAAA,yBAAA,GAA4B,aAAa,IAAK,CAAA;AAAA,EACzD,IAAM,EAAA,kBAAA;AAAA,EACN,MAAA,EAAQ,kBACN,YAAa,CAAA;AAAA,IACX,GAAK,EAAA,qBAAA;AAAA,IACL,IAAA,EAAM,EAAE,UAAA,EAAY,aAAc,EAAA;AAAA,IAClC,OAAA,EAAS,CAAC,EAAE,UAAA,OACV,IAAI,yBAAA,CAA0B,EAAE,UAAA,EAAY;AAAA,GAC/C;AACL,CAAC;AAEY,MAAA,qBAAA,GAAwB,aAAa,IAAK,CAAA;AAAA,EACrD,IAAM,EAAA,qBAAA;AAAA,EACN,MAAA,EAAQ,kBACN,YAAa,CAAA;AAAA,IACX,GAAK,EAAA,wBAAA;AAAA,IACL,IAAA,EAAM,EAAE,aAAA,EAAe,aAAc,EAAA;AAAA,IACrC,OAAA,EAAS,CAAC,EAAE,aAAc,EAAA,KACxB,6BAA6B,MAAO,CAAA,EAAE,UAAY,EAAA,aAAA,EAAe;AAAA,GACpE;AACL,CAAC;AAED,WAAe,CAAC,UAAY,EAAA,yBAAA,EAA2B,qBAAqB,CAAA;;;;"}
|
|
@@ -22,9 +22,9 @@ const catalogOverviewEntityContent = EntityContentBlueprint.makeWithOverrides({
|
|
|
22
22
|
},
|
|
23
23
|
factory: (originalFactory, { node, inputs }) => {
|
|
24
24
|
return originalFactory({
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
path: "/",
|
|
26
|
+
title: "Overview",
|
|
27
|
+
group: "overview",
|
|
28
28
|
loader: async () => {
|
|
29
29
|
const LazyDefaultLayoutComponent = lazy(
|
|
30
30
|
() => import('./DefaultEntityContentLayout.esm.js').then((m) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityContents.esm.js","sources":["../../src/alpha/entityContents.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 { lazy as reactLazy } from 'react';\nimport {\n coreExtensionData,\n createExtensionInput,\n ExtensionBoundary,\n} from '@backstage/frontend-plugin-api';\nimport {\n EntityCardBlueprint,\n EntityContentBlueprint,\n EntityContentLayoutBlueprint,\n EntityContentLayoutProps,\n} from '@backstage/plugin-catalog-react/alpha';\nimport { buildFilterFn } from './filter/FilterWrapper';\nimport { useEntity } from '@backstage/plugin-catalog-react';\n\nexport const catalogOverviewEntityContent =\n EntityContentBlueprint.makeWithOverrides({\n name: 'overview',\n inputs: {\n layouts: createExtensionInput([\n EntityContentLayoutBlueprint.dataRefs.filterFunction.optional(),\n EntityContentLayoutBlueprint.dataRefs.filterExpression.optional(),\n EntityContentLayoutBlueprint.dataRefs.component,\n ]),\n cards: createExtensionInput([\n coreExtensionData.reactElement,\n EntityContentBlueprint.dataRefs.filterFunction.optional(),\n EntityContentBlueprint.dataRefs.filterExpression.optional(),\n EntityCardBlueprint.dataRefs.type.optional(),\n ]),\n },\n factory: (originalFactory, { node, inputs }) => {\n return originalFactory({\n
|
|
1
|
+
{"version":3,"file":"entityContents.esm.js","sources":["../../src/alpha/entityContents.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 { lazy as reactLazy } from 'react';\nimport {\n coreExtensionData,\n createExtensionInput,\n ExtensionBoundary,\n} from '@backstage/frontend-plugin-api';\nimport {\n EntityCardBlueprint,\n EntityContentBlueprint,\n EntityContentLayoutBlueprint,\n EntityContentLayoutProps,\n} from '@backstage/plugin-catalog-react/alpha';\nimport { buildFilterFn } from './filter/FilterWrapper';\nimport { useEntity } from '@backstage/plugin-catalog-react';\n\nexport const catalogOverviewEntityContent =\n EntityContentBlueprint.makeWithOverrides({\n name: 'overview',\n inputs: {\n layouts: createExtensionInput([\n EntityContentLayoutBlueprint.dataRefs.filterFunction.optional(),\n EntityContentLayoutBlueprint.dataRefs.filterExpression.optional(),\n EntityContentLayoutBlueprint.dataRefs.component,\n ]),\n cards: createExtensionInput([\n coreExtensionData.reactElement,\n EntityContentBlueprint.dataRefs.filterFunction.optional(),\n EntityContentBlueprint.dataRefs.filterExpression.optional(),\n EntityCardBlueprint.dataRefs.type.optional(),\n ]),\n },\n factory: (originalFactory, { node, inputs }) => {\n return originalFactory({\n path: '/',\n title: 'Overview',\n group: 'overview',\n loader: async () => {\n const LazyDefaultLayoutComponent = reactLazy(() =>\n import('./DefaultEntityContentLayout').then(m => ({\n default: m.DefaultEntityContentLayout,\n })),\n );\n\n const DefaultLayoutComponent = (props: EntityContentLayoutProps) => {\n return (\n <ExtensionBoundary node={node}>\n <LazyDefaultLayoutComponent {...props} />\n </ExtensionBoundary>\n );\n };\n\n const layouts = [\n ...inputs.layouts.map(layout => ({\n filter: buildFilterFn(\n layout.get(\n EntityContentLayoutBlueprint.dataRefs.filterFunction,\n ),\n layout.get(\n EntityContentLayoutBlueprint.dataRefs.filterExpression,\n ),\n ),\n Component: layout.get(\n EntityContentLayoutBlueprint.dataRefs.component,\n ),\n })),\n {\n filter: buildFilterFn(),\n Component: DefaultLayoutComponent,\n },\n ];\n\n const cards = inputs.cards.map(card => ({\n element: card.get(coreExtensionData.reactElement),\n type: card.get(EntityCardBlueprint.dataRefs.type),\n filter: buildFilterFn(\n card.get(EntityContentBlueprint.dataRefs.filterFunction),\n card.get(EntityContentBlueprint.dataRefs.filterExpression),\n ),\n }));\n\n const Component = () => {\n const { entity } = useEntity();\n\n // Use the first layout that matches the entity filter\n const layout = layouts.find(l => l.filter(entity));\n if (!layout) {\n throw new Error('No layout found for entity'); // Shouldn't be able to happen\n }\n\n return (\n <layout.Component\n cards={cards.filter(card => card.filter(entity))}\n />\n );\n };\n\n return <Component />;\n },\n });\n },\n });\n\nexport default [catalogOverviewEntityContent];\n"],"names":["reactLazy"],"mappings":"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"}
|
package/dist/alpha/pages.esm.js
CHANGED
|
@@ -25,7 +25,7 @@ const catalogPage = PageBlueprint.makeWithOverrides({
|
|
|
25
25
|
},
|
|
26
26
|
factory(originalFactory, { inputs, config }) {
|
|
27
27
|
return originalFactory({
|
|
28
|
-
|
|
28
|
+
path: "/catalog",
|
|
29
29
|
routeRef: convertLegacyRouteRef(rootRouteRef),
|
|
30
30
|
loader: async () => {
|
|
31
31
|
const { BaseCatalogPage } = await import('../components/CatalogPage/index.esm.js');
|
|
@@ -73,7 +73,7 @@ const catalogEntityPage = PageBlueprint.makeWithOverrides({
|
|
|
73
73
|
},
|
|
74
74
|
factory(originalFactory, { config, inputs }) {
|
|
75
75
|
return originalFactory({
|
|
76
|
-
|
|
76
|
+
path: "/catalog/:namespace/:kind/:name",
|
|
77
77
|
routeRef: convertLegacyRouteRef(entityRouteRef),
|
|
78
78
|
loader: async () => {
|
|
79
79
|
const { EntityLayout } = await import('./components/EntityLayout/index.esm.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.esm.js","sources":["../../src/alpha/pages.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 compatWrapper,\n convertLegacyRouteRef,\n} from '@backstage/core-compat-api';\nimport {\n coreExtensionData,\n createExtensionInput,\n PageBlueprint,\n} from '@backstage/frontend-plugin-api';\nimport {\n AsyncEntityProvider,\n entityRouteRef,\n} from '@backstage/plugin-catalog-react';\nimport {\n EntityHeaderBlueprint,\n EntityContentBlueprint,\n defaultEntityContentGroups,\n EntityContextMenuItemBlueprint,\n} from '@backstage/plugin-catalog-react/alpha';\nimport { rootRouteRef } from '../routes';\nimport { useEntityFromUrl } from '../components/CatalogEntityPage/useEntityFromUrl';\nimport { buildFilterFn } from './filter/FilterWrapper';\n\nexport const catalogPage = PageBlueprint.makeWithOverrides({\n inputs: {\n filters: createExtensionInput([coreExtensionData.reactElement]),\n },\n config: {\n schema: {\n pagination: z =>\n z\n .union([\n z.boolean(),\n z.object({\n mode: z.enum(['cursor', 'offset']),\n limit: z.number().optional(),\n offset: z.number().optional(),\n }),\n ])\n .default(true),\n },\n },\n factory(originalFactory, { inputs, config }) {\n return originalFactory({\n defaultPath: '/catalog',\n routeRef: convertLegacyRouteRef(rootRouteRef),\n loader: async () => {\n const { BaseCatalogPage } = await import('../components/CatalogPage');\n const filters = inputs.filters.map(filter =>\n filter.get(coreExtensionData.reactElement),\n );\n return compatWrapper(\n <BaseCatalogPage\n filters={<>{filters}</>}\n pagination={config.pagination}\n />,\n );\n },\n });\n },\n});\n\nexport const catalogEntityPage = PageBlueprint.makeWithOverrides({\n name: 'entity',\n inputs: {\n headers: createExtensionInput([\n EntityHeaderBlueprint.dataRefs.element.optional(),\n EntityHeaderBlueprint.dataRefs.filterFunction.optional(),\n ]),\n contents: createExtensionInput([\n coreExtensionData.reactElement,\n coreExtensionData.routePath,\n coreExtensionData.routeRef.optional(),\n EntityContentBlueprint.dataRefs.title,\n EntityContentBlueprint.dataRefs.filterFunction.optional(),\n EntityContentBlueprint.dataRefs.filterExpression.optional(),\n EntityContentBlueprint.dataRefs.group.optional(),\n ]),\n contextMenuItems: createExtensionInput([\n coreExtensionData.reactElement,\n EntityContextMenuItemBlueprint.dataRefs.filterFunction.optional(),\n ]),\n },\n config: {\n schema: {\n groups: z =>\n z\n .array(z.record(z.string(), z.object({ title: z.string() })))\n .optional(),\n },\n },\n factory(originalFactory, { config, inputs }) {\n return originalFactory({\n defaultPath: '/catalog/:namespace/:kind/:name',\n routeRef: convertLegacyRouteRef(entityRouteRef),\n loader: async () => {\n const { EntityLayout } = await import('./components/EntityLayout');\n\n const menuItems = inputs.contextMenuItems.map(item => ({\n element: item.get(coreExtensionData.reactElement),\n filter:\n item.get(EntityContextMenuItemBlueprint.dataRefs.filterFunction) ??\n (() => true),\n }));\n\n type Groups = Record<\n string,\n { title: string; items: Array<(typeof inputs.contents)[0]> }\n >;\n\n // Get available headers, sorted by if they have a filter function or not.\n // TODO(blam): we should really have priority or some specificity here which can be used to sort the headers.\n // That can be done with embedding the priority in the dataRef alongside the filter function.\n const headers = inputs.headers\n .map(header => ({\n element: header.get(EntityHeaderBlueprint.dataRefs.element),\n filter: header.get(EntityHeaderBlueprint.dataRefs.filterFunction),\n }))\n .sort((a, b) => {\n if (a.filter && !b.filter) return -1;\n if (!a.filter && b.filter) return 1;\n return 0;\n });\n\n let groups = Object.entries(defaultEntityContentGroups).reduce<Groups>(\n (rest, group) => {\n const [groupId, groupValue] = group;\n return {\n ...rest,\n [groupId]: { title: groupValue, items: [] },\n };\n },\n {},\n );\n\n // config groups override default groups\n if (config.groups) {\n groups = config.groups.reduce<Groups>((rest, group) => {\n const [groupId, groupValue] = Object.entries(group)[0];\n return {\n ...rest,\n [groupId]: { title: groupValue.title, items: [] },\n };\n }, {});\n }\n\n for (const output of inputs.contents) {\n const itemId = output.node.spec.id;\n const itemTitle = output.get(EntityContentBlueprint.dataRefs.title);\n const itemGroup = output.get(EntityContentBlueprint.dataRefs.group);\n const group = itemGroup && groups[itemGroup];\n if (!group) {\n groups[itemId] = { title: itemTitle, items: [output] };\n continue;\n }\n group.items.push(output);\n }\n\n const Component = () => {\n const entityFromUrl = useEntityFromUrl();\n const { entity } = entityFromUrl;\n const filteredMenuItems = entity\n ? menuItems.filter(i => i.filter(entity)).map(i => i.element)\n : [];\n\n const header = headers.find(\n h => !h.filter || h.filter(entity!),\n )?.element;\n\n return (\n <AsyncEntityProvider {...entityFromUrl}>\n <EntityLayout\n header={header}\n contextMenuItems={filteredMenuItems}\n >\n {Object.values(groups).flatMap(({ title, items }) =>\n items.map(output => (\n <EntityLayout.Route\n group={title}\n key={output.get(coreExtensionData.routePath)}\n path={output.get(coreExtensionData.routePath)}\n title={output.get(EntityContentBlueprint.dataRefs.title)}\n if={buildFilterFn(\n output.get(\n EntityContentBlueprint.dataRefs.filterFunction,\n ),\n output.get(\n EntityContentBlueprint.dataRefs.filterExpression,\n ),\n )}\n >\n {output.get(coreExtensionData.reactElement)}\n </EntityLayout.Route>\n )),\n )}\n </EntityLayout>\n </AsyncEntityProvider>\n );\n };\n\n return compatWrapper(<Component />);\n },\n });\n },\n});\n\nexport default [catalogPage, catalogEntityPage];\n"],"names":[],"mappings":";;;;;;;;;AAuCa,MAAA,WAAA,GAAc,cAAc,iBAAkB,CAAA;AAAA,EACzD,MAAQ,EAAA;AAAA,IACN,OAAS,EAAA,oBAAA,CAAqB,CAAC,iBAAA,CAAkB,YAAY,CAAC;AAAA,GAChE;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,MAAQ,EAAA;AAAA,MACN,UAAA,EAAY,CACV,CAAA,KAAA,CAAA,CACG,KAAM,CAAA;AAAA,QACL,EAAE,OAAQ,EAAA;AAAA,QACV,EAAE,MAAO,CAAA;AAAA,UACP,MAAM,CAAE,CAAA,IAAA,CAAK,CAAC,QAAA,EAAU,QAAQ,CAAC,CAAA;AAAA,UACjC,KAAO,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS,EAAA;AAAA,UAC3B,MAAQ,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS;AAAA,SAC7B;AAAA,OACF,CACA,CAAA,OAAA,CAAQ,IAAI;AAAA;AACnB,GACF;AAAA,EACA,OAAQ,CAAA,eAAA,EAAiB,EAAE,MAAA,EAAQ,QAAU,EAAA;AAC3C,IAAA,OAAO,eAAgB,CAAA;AAAA,MACrB,WAAa,EAAA,UAAA;AAAA,MACb,QAAA,EAAU,sBAAsB,YAAY,CAAA;AAAA,MAC5C,QAAQ,YAAY;AAClB,QAAA,MAAM,EAAE,eAAA,EAAoB,GAAA,MAAM,OAAO,wCAA2B,CAAA;AACpE,QAAM,MAAA,OAAA,GAAU,OAAO,OAAQ,CAAA,GAAA;AAAA,UAAI,CACjC,MAAA,KAAA,MAAA,CAAO,GAAI,CAAA,iBAAA,CAAkB,YAAY;AAAA,SAC3C;AACA,QAAO,OAAA,aAAA;AAAA,0BACL,GAAA;AAAA,YAAC,eAAA;AAAA,YAAA;AAAA,cACC,OAAA,kCAAY,QAAQ,EAAA,OAAA,EAAA,CAAA;AAAA,cACpB,YAAY,MAAO,CAAA;AAAA;AAAA;AACrB,SACF;AAAA;AACF,KACD,CAAA;AAAA;AAEL,CAAC;AAEY,MAAA,iBAAA,GAAoB,cAAc,iBAAkB,CAAA;AAAA,EAC/D,IAAM,EAAA,QAAA;AAAA,EACN,MAAQ,EAAA;AAAA,IACN,SAAS,oBAAqB,CAAA;AAAA,MAC5B,qBAAA,CAAsB,QAAS,CAAA,OAAA,CAAQ,QAAS,EAAA;AAAA,MAChD,qBAAA,CAAsB,QAAS,CAAA,cAAA,CAAe,QAAS;AAAA,KACxD,CAAA;AAAA,IACD,UAAU,oBAAqB,CAAA;AAAA,MAC7B,iBAAkB,CAAA,YAAA;AAAA,MAClB,iBAAkB,CAAA,SAAA;AAAA,MAClB,iBAAA,CAAkB,SAAS,QAAS,EAAA;AAAA,MACpC,uBAAuB,QAAS,CAAA,KAAA;AAAA,MAChC,sBAAA,CAAuB,QAAS,CAAA,cAAA,CAAe,QAAS,EAAA;AAAA,MACxD,sBAAA,CAAuB,QAAS,CAAA,gBAAA,CAAiB,QAAS,EAAA;AAAA,MAC1D,sBAAA,CAAuB,QAAS,CAAA,KAAA,CAAM,QAAS;AAAA,KAChD,CAAA;AAAA,IACD,kBAAkB,oBAAqB,CAAA;AAAA,MACrC,iBAAkB,CAAA,YAAA;AAAA,MAClB,8BAAA,CAA+B,QAAS,CAAA,cAAA,CAAe,QAAS;AAAA,KACjE;AAAA,GACH;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,MAAQ,EAAA;AAAA,MACN,MAAA,EAAQ,OACN,CACG,CAAA,KAAA,CAAM,EAAE,MAAO,CAAA,CAAA,CAAE,QAAU,EAAA,CAAA,CAAE,OAAO,EAAE,KAAA,EAAO,EAAE,MAAO,EAAA,EAAG,CAAC,CAAC,EAC3D,QAAS;AAAA;AAChB,GACF;AAAA,EACA,OAAQ,CAAA,eAAA,EAAiB,EAAE,MAAA,EAAQ,QAAU,EAAA;AAC3C,IAAA,OAAO,eAAgB,CAAA;AAAA,MACrB,WAAa,EAAA,iCAAA;AAAA,MACb,QAAA,EAAU,sBAAsB,cAAc,CAAA;AAAA,MAC9C,QAAQ,YAAY;AAClB,QAAA,MAAM,EAAE,YAAA,EAAiB,GAAA,MAAM,OAAO,wCAA2B,CAAA;AAEjE,QAAA,MAAM,SAAY,GAAA,MAAA,CAAO,gBAAiB,CAAA,GAAA,CAAI,CAAS,IAAA,MAAA;AAAA,UACrD,OAAS,EAAA,IAAA,CAAK,GAAI,CAAA,iBAAA,CAAkB,YAAY,CAAA;AAAA,UAChD,QACE,IAAK,CAAA,GAAA,CAAI,+BAA+B,QAAS,CAAA,cAAc,MAC9D,MAAM,IAAA;AAAA,SACT,CAAA,CAAA;AAUF,QAAA,MAAM,OAAU,GAAA,MAAA,CAAO,OACpB,CAAA,GAAA,CAAI,CAAW,MAAA,MAAA;AAAA,UACd,OAAS,EAAA,MAAA,CAAO,GAAI,CAAA,qBAAA,CAAsB,SAAS,OAAO,CAAA;AAAA,UAC1D,MAAQ,EAAA,MAAA,CAAO,GAAI,CAAA,qBAAA,CAAsB,SAAS,cAAc;AAAA,SAChE,CAAA,CAAA,CACD,IAAK,CAAA,CAAC,GAAG,CAAM,KAAA;AACd,UAAA,IAAI,CAAE,CAAA,MAAA,IAAU,CAAC,CAAA,CAAE,QAAe,OAAA,CAAA,CAAA;AAClC,UAAA,IAAI,CAAC,CAAA,CAAE,MAAU,IAAA,CAAA,CAAE,QAAe,OAAA,CAAA;AAClC,UAAO,OAAA,CAAA;AAAA,SACR,CAAA;AAEH,QAAA,IAAI,MAAS,GAAA,MAAA,CAAO,OAAQ,CAAA,0BAA0B,CAAE,CAAA,MAAA;AAAA,UACtD,CAAC,MAAM,KAAU,KAAA;AACf,YAAM,MAAA,CAAC,OAAS,EAAA,UAAU,CAAI,GAAA,KAAA;AAC9B,YAAO,OAAA;AAAA,cACL,GAAG,IAAA;AAAA,cACH,CAAC,OAAO,GAAG,EAAE,OAAO,UAAY,EAAA,KAAA,EAAO,EAAG;AAAA,aAC5C;AAAA,WACF;AAAA,UACA;AAAC,SACH;AAGA,QAAA,IAAI,OAAO,MAAQ,EAAA;AACjB,UAAA,MAAA,GAAS,MAAO,CAAA,MAAA,CAAO,MAAe,CAAA,CAAC,MAAM,KAAU,KAAA;AACrD,YAAM,MAAA,CAAC,SAAS,UAAU,CAAA,GAAI,OAAO,OAAQ,CAAA,KAAK,EAAE,CAAC,CAAA;AACrD,YAAO,OAAA;AAAA,cACL,GAAG,IAAA;AAAA,cACH,CAAC,OAAO,GAAG,EAAE,OAAO,UAAW,CAAA,KAAA,EAAO,KAAO,EAAA,EAAG;AAAA,aAClD;AAAA,WACF,EAAG,EAAE,CAAA;AAAA;AAGP,QAAW,KAAA,MAAA,MAAA,IAAU,OAAO,QAAU,EAAA;AACpC,UAAM,MAAA,MAAA,GAAS,MAAO,CAAA,IAAA,CAAK,IAAK,CAAA,EAAA;AAChC,UAAA,MAAM,SAAY,GAAA,MAAA,CAAO,GAAI,CAAA,sBAAA,CAAuB,SAAS,KAAK,CAAA;AAClE,UAAA,MAAM,SAAY,GAAA,MAAA,CAAO,GAAI,CAAA,sBAAA,CAAuB,SAAS,KAAK,CAAA;AAClE,UAAM,MAAA,KAAA,GAAQ,SAAa,IAAA,MAAA,CAAO,SAAS,CAAA;AAC3C,UAAA,IAAI,CAAC,KAAO,EAAA;AACV,YAAO,MAAA,CAAA,MAAM,IAAI,EAAE,KAAA,EAAO,WAAW,KAAO,EAAA,CAAC,MAAM,CAAE,EAAA;AACrD,YAAA;AAAA;AAEF,UAAM,KAAA,CAAA,KAAA,CAAM,KAAK,MAAM,CAAA;AAAA;AAGzB,QAAA,MAAM,YAAY,MAAM;AACtB,UAAA,MAAM,gBAAgB,gBAAiB,EAAA;AACvC,UAAM,MAAA,EAAE,QAAW,GAAA,aAAA;AACnB,UAAA,MAAM,iBAAoB,GAAA,MAAA,GACtB,SAAU,CAAA,MAAA,CAAO,OAAK,CAAE,CAAA,MAAA,CAAO,MAAM,CAAC,EAAE,GAAI,CAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAO,IAC1D,EAAC;AAEL,UAAA,MAAM,SAAS,OAAQ,CAAA,IAAA;AAAA,YACrB,OAAK,CAAC,CAAA,CAAE,MAAU,IAAA,CAAA,CAAE,OAAO,MAAO;AAAA,WACjC,EAAA,OAAA;AAEH,UACE,uBAAA,GAAA,CAAC,mBAAqB,EAAA,EAAA,GAAG,aACvB,EAAA,QAAA,kBAAA,GAAA;AAAA,YAAC,YAAA;AAAA,YAAA;AAAA,cACC,MAAA;AAAA,cACA,gBAAkB,EAAA,iBAAA;AAAA,cAEjB,QAAA,EAAA,MAAA,CAAO,MAAO,CAAA,MAAM,CAAE,CAAA,OAAA;AAAA,gBAAQ,CAAC,EAAE,KAAA,EAAO,OACvC,KAAA,KAAA,CAAM,IAAI,CACR,MAAA,qBAAA,GAAA;AAAA,kBAAC,YAAa,CAAA,KAAA;AAAA,kBAAb;AAAA,oBACC,KAAO,EAAA,KAAA;AAAA,oBAEP,IAAM,EAAA,MAAA,CAAO,GAAI,CAAA,iBAAA,CAAkB,SAAS,CAAA;AAAA,oBAC5C,KAAO,EAAA,MAAA,CAAO,GAAI,CAAA,sBAAA,CAAuB,SAAS,KAAK,CAAA;AAAA,oBACvD,EAAI,EAAA,aAAA;AAAA,sBACF,MAAO,CAAA,GAAA;AAAA,wBACL,uBAAuB,QAAS,CAAA;AAAA,uBAClC;AAAA,sBACA,MAAO,CAAA,GAAA;AAAA,wBACL,uBAAuB,QAAS,CAAA;AAAA;AAClC,qBACF;AAAA,oBAEC,QAAA,EAAA,MAAA,CAAO,GAAI,CAAA,iBAAA,CAAkB,YAAY;AAAA,mBAAA;AAAA,kBAZrC,MAAA,CAAO,GAAI,CAAA,iBAAA,CAAkB,SAAS;AAAA,iBAc9C;AAAA;AACH;AAAA,WAEJ,EAAA,CAAA;AAAA,SAEJ;AAEA,QAAO,OAAA,aAAA,iBAAe,GAAA,CAAA,SAAA,EAAA,EAAU,CAAE,CAAA;AAAA;AACpC,KACD,CAAA;AAAA;AAEL,CAAC;AAED,YAAe,CAAC,aAAa,iBAAiB,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"pages.esm.js","sources":["../../src/alpha/pages.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 compatWrapper,\n convertLegacyRouteRef,\n} from '@backstage/core-compat-api';\nimport {\n coreExtensionData,\n createExtensionInput,\n PageBlueprint,\n} from '@backstage/frontend-plugin-api';\nimport {\n AsyncEntityProvider,\n entityRouteRef,\n} from '@backstage/plugin-catalog-react';\nimport {\n EntityHeaderBlueprint,\n EntityContentBlueprint,\n defaultEntityContentGroups,\n EntityContextMenuItemBlueprint,\n} from '@backstage/plugin-catalog-react/alpha';\nimport { rootRouteRef } from '../routes';\nimport { useEntityFromUrl } from '../components/CatalogEntityPage/useEntityFromUrl';\nimport { buildFilterFn } from './filter/FilterWrapper';\n\nexport const catalogPage = PageBlueprint.makeWithOverrides({\n inputs: {\n filters: createExtensionInput([coreExtensionData.reactElement]),\n },\n config: {\n schema: {\n pagination: z =>\n z\n .union([\n z.boolean(),\n z.object({\n mode: z.enum(['cursor', 'offset']),\n limit: z.number().optional(),\n offset: z.number().optional(),\n }),\n ])\n .default(true),\n },\n },\n factory(originalFactory, { inputs, config }) {\n return originalFactory({\n path: '/catalog',\n routeRef: convertLegacyRouteRef(rootRouteRef),\n loader: async () => {\n const { BaseCatalogPage } = await import('../components/CatalogPage');\n const filters = inputs.filters.map(filter =>\n filter.get(coreExtensionData.reactElement),\n );\n return compatWrapper(\n <BaseCatalogPage\n filters={<>{filters}</>}\n pagination={config.pagination}\n />,\n );\n },\n });\n },\n});\n\nexport const catalogEntityPage = PageBlueprint.makeWithOverrides({\n name: 'entity',\n inputs: {\n headers: createExtensionInput([\n EntityHeaderBlueprint.dataRefs.element.optional(),\n EntityHeaderBlueprint.dataRefs.filterFunction.optional(),\n ]),\n contents: createExtensionInput([\n coreExtensionData.reactElement,\n coreExtensionData.routePath,\n coreExtensionData.routeRef.optional(),\n EntityContentBlueprint.dataRefs.title,\n EntityContentBlueprint.dataRefs.filterFunction.optional(),\n EntityContentBlueprint.dataRefs.filterExpression.optional(),\n EntityContentBlueprint.dataRefs.group.optional(),\n ]),\n contextMenuItems: createExtensionInput([\n coreExtensionData.reactElement,\n EntityContextMenuItemBlueprint.dataRefs.filterFunction.optional(),\n ]),\n },\n config: {\n schema: {\n groups: z =>\n z\n .array(z.record(z.string(), z.object({ title: z.string() })))\n .optional(),\n },\n },\n factory(originalFactory, { config, inputs }) {\n return originalFactory({\n path: '/catalog/:namespace/:kind/:name',\n routeRef: convertLegacyRouteRef(entityRouteRef),\n loader: async () => {\n const { EntityLayout } = await import('./components/EntityLayout');\n\n const menuItems = inputs.contextMenuItems.map(item => ({\n element: item.get(coreExtensionData.reactElement),\n filter:\n item.get(EntityContextMenuItemBlueprint.dataRefs.filterFunction) ??\n (() => true),\n }));\n\n type Groups = Record<\n string,\n { title: string; items: Array<(typeof inputs.contents)[0]> }\n >;\n\n // Get available headers, sorted by if they have a filter function or not.\n // TODO(blam): we should really have priority or some specificity here which can be used to sort the headers.\n // That can be done with embedding the priority in the dataRef alongside the filter function.\n const headers = inputs.headers\n .map(header => ({\n element: header.get(EntityHeaderBlueprint.dataRefs.element),\n filter: header.get(EntityHeaderBlueprint.dataRefs.filterFunction),\n }))\n .sort((a, b) => {\n if (a.filter && !b.filter) return -1;\n if (!a.filter && b.filter) return 1;\n return 0;\n });\n\n let groups = Object.entries(defaultEntityContentGroups).reduce<Groups>(\n (rest, group) => {\n const [groupId, groupValue] = group;\n return {\n ...rest,\n [groupId]: { title: groupValue, items: [] },\n };\n },\n {},\n );\n\n // config groups override default groups\n if (config.groups) {\n groups = config.groups.reduce<Groups>((rest, group) => {\n const [groupId, groupValue] = Object.entries(group)[0];\n return {\n ...rest,\n [groupId]: { title: groupValue.title, items: [] },\n };\n }, {});\n }\n\n for (const output of inputs.contents) {\n const itemId = output.node.spec.id;\n const itemTitle = output.get(EntityContentBlueprint.dataRefs.title);\n const itemGroup = output.get(EntityContentBlueprint.dataRefs.group);\n const group = itemGroup && groups[itemGroup];\n if (!group) {\n groups[itemId] = { title: itemTitle, items: [output] };\n continue;\n }\n group.items.push(output);\n }\n\n const Component = () => {\n const entityFromUrl = useEntityFromUrl();\n const { entity } = entityFromUrl;\n const filteredMenuItems = entity\n ? menuItems.filter(i => i.filter(entity)).map(i => i.element)\n : [];\n\n const header = headers.find(\n h => !h.filter || h.filter(entity!),\n )?.element;\n\n return (\n <AsyncEntityProvider {...entityFromUrl}>\n <EntityLayout\n header={header}\n contextMenuItems={filteredMenuItems}\n >\n {Object.values(groups).flatMap(({ title, items }) =>\n items.map(output => (\n <EntityLayout.Route\n group={title}\n key={output.get(coreExtensionData.routePath)}\n path={output.get(coreExtensionData.routePath)}\n title={output.get(EntityContentBlueprint.dataRefs.title)}\n if={buildFilterFn(\n output.get(\n EntityContentBlueprint.dataRefs.filterFunction,\n ),\n output.get(\n EntityContentBlueprint.dataRefs.filterExpression,\n ),\n )}\n >\n {output.get(coreExtensionData.reactElement)}\n </EntityLayout.Route>\n )),\n )}\n </EntityLayout>\n </AsyncEntityProvider>\n );\n };\n\n return compatWrapper(<Component />);\n },\n });\n },\n});\n\nexport default [catalogPage, catalogEntityPage];\n"],"names":[],"mappings":"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"}
|
package/dist/alpha.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
33
33
|
name: undefined;
|
|
34
34
|
config: {};
|
|
35
35
|
configInput: {};
|
|
36
|
-
output: _backstage_frontend_plugin_api.
|
|
36
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.AnyApiFactory, "core.api.factory", {}>;
|
|
37
37
|
inputs: {};
|
|
38
38
|
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>;
|
|
39
39
|
}>;
|
|
@@ -42,7 +42,7 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
42
42
|
name: "entity-presentation";
|
|
43
43
|
config: {};
|
|
44
44
|
configInput: {};
|
|
45
|
-
output: _backstage_frontend_plugin_api.
|
|
45
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.AnyApiFactory, "core.api.factory", {}>;
|
|
46
46
|
inputs: {};
|
|
47
47
|
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>;
|
|
48
48
|
}>;
|
|
@@ -51,7 +51,7 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
51
51
|
name: "starred-entities";
|
|
52
52
|
config: {};
|
|
53
53
|
configInput: {};
|
|
54
|
-
output: _backstage_frontend_plugin_api.
|
|
54
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.AnyApiFactory, "core.api.factory", {}>;
|
|
55
55
|
inputs: {};
|
|
56
56
|
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>;
|
|
57
57
|
}>;
|
|
@@ -62,9 +62,9 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
62
62
|
configInput: {
|
|
63
63
|
initialFilter?: string | undefined;
|
|
64
64
|
};
|
|
65
|
-
output: _backstage_frontend_plugin_api.
|
|
65
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}>;
|
|
66
66
|
inputs: {
|
|
67
|
-
[x: string]: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.
|
|
67
|
+
[x: string]: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.ExtensionDataRef, {
|
|
68
68
|
optional: boolean;
|
|
69
69
|
singleton: boolean;
|
|
70
70
|
}>;
|
|
@@ -80,7 +80,7 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
80
80
|
name: "lifecycle";
|
|
81
81
|
config: {};
|
|
82
82
|
configInput: {};
|
|
83
|
-
output: _backstage_frontend_plugin_api.
|
|
83
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}>;
|
|
84
84
|
inputs: {};
|
|
85
85
|
params: {
|
|
86
86
|
loader: () => Promise<JSX.Element>;
|
|
@@ -93,9 +93,9 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
93
93
|
configInput: {
|
|
94
94
|
initialFilter?: "all" | "owned" | "starred" | undefined;
|
|
95
95
|
};
|
|
96
|
-
output: _backstage_frontend_plugin_api.
|
|
96
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}>;
|
|
97
97
|
inputs: {
|
|
98
|
-
[x: string]: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.
|
|
98
|
+
[x: string]: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.ExtensionDataRef, {
|
|
99
99
|
optional: boolean;
|
|
100
100
|
singleton: boolean;
|
|
101
101
|
}>;
|
|
@@ -113,9 +113,9 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
113
113
|
configInput: {
|
|
114
114
|
mode?: "all" | "owners-only" | undefined;
|
|
115
115
|
};
|
|
116
|
-
output: _backstage_frontend_plugin_api.
|
|
116
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}>;
|
|
117
117
|
inputs: {
|
|
118
|
-
[x: string]: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.
|
|
118
|
+
[x: string]: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.ExtensionDataRef, {
|
|
119
119
|
optional: boolean;
|
|
120
120
|
singleton: boolean;
|
|
121
121
|
}>;
|
|
@@ -131,7 +131,7 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
131
131
|
name: "namespace";
|
|
132
132
|
config: {};
|
|
133
133
|
configInput: {};
|
|
134
|
-
output: _backstage_frontend_plugin_api.
|
|
134
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}>;
|
|
135
135
|
inputs: {};
|
|
136
136
|
params: {
|
|
137
137
|
loader: () => Promise<JSX.Element>;
|
|
@@ -142,7 +142,7 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
142
142
|
name: "processing-status";
|
|
143
143
|
config: {};
|
|
144
144
|
configInput: {};
|
|
145
|
-
output: _backstage_frontend_plugin_api.
|
|
145
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}>;
|
|
146
146
|
inputs: {};
|
|
147
147
|
params: {
|
|
148
148
|
loader: () => Promise<JSX.Element>;
|
|
@@ -153,7 +153,7 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
153
153
|
name: "tag";
|
|
154
154
|
config: {};
|
|
155
155
|
configInput: {};
|
|
156
|
-
output: _backstage_frontend_plugin_api.
|
|
156
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}>;
|
|
157
157
|
inputs: {};
|
|
158
158
|
params: {
|
|
159
159
|
loader: () => Promise<JSX.Element>;
|
|
@@ -164,7 +164,7 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
164
164
|
name: "type";
|
|
165
165
|
config: {};
|
|
166
166
|
configInput: {};
|
|
167
|
-
output: _backstage_frontend_plugin_api.
|
|
167
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}>;
|
|
168
168
|
inputs: {};
|
|
169
169
|
params: {
|
|
170
170
|
loader: () => Promise<JSX.Element>;
|
|
@@ -179,11 +179,11 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
179
179
|
filter?: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
|
|
180
180
|
type?: "content" | "summary" | "info" | undefined;
|
|
181
181
|
};
|
|
182
|
-
output: _backstage_frontend_plugin_api.
|
|
182
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
183
183
|
optional: true;
|
|
184
|
-
}> | _backstage_frontend_plugin_api.
|
|
184
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
185
185
|
optional: true;
|
|
186
|
-
}> | _backstage_frontend_plugin_api.
|
|
186
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_plugin_catalog_react_alpha.EntityCardType, "catalog.entity-card-type", {
|
|
187
187
|
optional: true;
|
|
188
188
|
}>;
|
|
189
189
|
inputs: {
|
|
@@ -215,11 +215,11 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
215
215
|
filter?: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
|
|
216
216
|
type?: "content" | "summary" | "info" | undefined;
|
|
217
217
|
};
|
|
218
|
-
output: _backstage_frontend_plugin_api.
|
|
218
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
219
219
|
optional: true;
|
|
220
|
-
}> | _backstage_frontend_plugin_api.
|
|
220
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
221
221
|
optional: true;
|
|
222
|
-
}> | _backstage_frontend_plugin_api.
|
|
222
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_plugin_catalog_react_alpha.EntityCardType, "catalog.entity-card-type", {
|
|
223
223
|
optional: true;
|
|
224
224
|
}>;
|
|
225
225
|
inputs: {};
|
|
@@ -240,11 +240,11 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
240
240
|
filter?: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
|
|
241
241
|
type?: "content" | "summary" | "info" | undefined;
|
|
242
242
|
};
|
|
243
|
-
output: _backstage_frontend_plugin_api.
|
|
243
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
244
244
|
optional: true;
|
|
245
|
-
}> | _backstage_frontend_plugin_api.
|
|
245
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
246
246
|
optional: true;
|
|
247
|
-
}> | _backstage_frontend_plugin_api.
|
|
247
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_plugin_catalog_react_alpha.EntityCardType, "catalog.entity-card-type", {
|
|
248
248
|
optional: true;
|
|
249
249
|
}>;
|
|
250
250
|
inputs: {};
|
|
@@ -265,11 +265,11 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
265
265
|
filter?: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
|
|
266
266
|
type?: "content" | "summary" | "info" | undefined;
|
|
267
267
|
};
|
|
268
|
-
output: _backstage_frontend_plugin_api.
|
|
268
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
269
269
|
optional: true;
|
|
270
|
-
}> | _backstage_frontend_plugin_api.
|
|
270
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
271
271
|
optional: true;
|
|
272
|
-
}> | _backstage_frontend_plugin_api.
|
|
272
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_plugin_catalog_react_alpha.EntityCardType, "catalog.entity-card-type", {
|
|
273
273
|
optional: true;
|
|
274
274
|
}>;
|
|
275
275
|
inputs: {};
|
|
@@ -290,11 +290,11 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
290
290
|
filter?: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
|
|
291
291
|
type?: "content" | "summary" | "info" | undefined;
|
|
292
292
|
};
|
|
293
|
-
output: _backstage_frontend_plugin_api.
|
|
293
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
294
294
|
optional: true;
|
|
295
|
-
}> | _backstage_frontend_plugin_api.
|
|
295
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
296
296
|
optional: true;
|
|
297
|
-
}> | _backstage_frontend_plugin_api.
|
|
297
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_plugin_catalog_react_alpha.EntityCardType, "catalog.entity-card-type", {
|
|
298
298
|
optional: true;
|
|
299
299
|
}>;
|
|
300
300
|
inputs: {};
|
|
@@ -315,11 +315,11 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
315
315
|
filter?: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
|
|
316
316
|
type?: "content" | "summary" | "info" | undefined;
|
|
317
317
|
};
|
|
318
|
-
output: _backstage_frontend_plugin_api.
|
|
318
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
319
319
|
optional: true;
|
|
320
|
-
}> | _backstage_frontend_plugin_api.
|
|
320
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
321
321
|
optional: true;
|
|
322
|
-
}> | _backstage_frontend_plugin_api.
|
|
322
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_plugin_catalog_react_alpha.EntityCardType, "catalog.entity-card-type", {
|
|
323
323
|
optional: true;
|
|
324
324
|
}>;
|
|
325
325
|
inputs: {};
|
|
@@ -340,11 +340,11 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
340
340
|
filter?: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
|
|
341
341
|
type?: "content" | "summary" | "info" | undefined;
|
|
342
342
|
};
|
|
343
|
-
output: _backstage_frontend_plugin_api.
|
|
343
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
344
344
|
optional: true;
|
|
345
|
-
}> | _backstage_frontend_plugin_api.
|
|
345
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
346
346
|
optional: true;
|
|
347
|
-
}> | _backstage_frontend_plugin_api.
|
|
347
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_plugin_catalog_react_alpha.EntityCardType, "catalog.entity-card-type", {
|
|
348
348
|
optional: true;
|
|
349
349
|
}>;
|
|
350
350
|
inputs: {};
|
|
@@ -365,11 +365,11 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
365
365
|
filter?: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
|
|
366
366
|
type?: "content" | "summary" | "info" | undefined;
|
|
367
367
|
};
|
|
368
|
-
output: _backstage_frontend_plugin_api.
|
|
368
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
369
369
|
optional: true;
|
|
370
|
-
}> | _backstage_frontend_plugin_api.
|
|
370
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
371
371
|
optional: true;
|
|
372
|
-
}> | _backstage_frontend_plugin_api.
|
|
372
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_plugin_catalog_react_alpha.EntityCardType, "catalog.entity-card-type", {
|
|
373
373
|
optional: true;
|
|
374
374
|
}>;
|
|
375
375
|
inputs: {};
|
|
@@ -390,11 +390,11 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
390
390
|
filter?: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
|
|
391
391
|
type?: "content" | "summary" | "info" | undefined;
|
|
392
392
|
};
|
|
393
|
-
output: _backstage_frontend_plugin_api.
|
|
393
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
394
394
|
optional: true;
|
|
395
|
-
}> | _backstage_frontend_plugin_api.
|
|
395
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
396
396
|
optional: true;
|
|
397
|
-
}> | _backstage_frontend_plugin_api.
|
|
397
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_plugin_catalog_react_alpha.EntityCardType, "catalog.entity-card-type", {
|
|
398
398
|
optional: true;
|
|
399
399
|
}>;
|
|
400
400
|
inputs: {};
|
|
@@ -415,11 +415,11 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
415
415
|
filter?: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
|
|
416
416
|
type?: "content" | "summary" | "info" | undefined;
|
|
417
417
|
};
|
|
418
|
-
output: _backstage_frontend_plugin_api.
|
|
418
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
419
419
|
optional: true;
|
|
420
|
-
}> | _backstage_frontend_plugin_api.
|
|
420
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
421
421
|
optional: true;
|
|
422
|
-
}> | _backstage_frontend_plugin_api.
|
|
422
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_plugin_catalog_react_alpha.EntityCardType, "catalog.entity-card-type", {
|
|
423
423
|
optional: true;
|
|
424
424
|
}>;
|
|
425
425
|
inputs: {};
|
|
@@ -442,13 +442,13 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
442
442
|
path?: string | undefined;
|
|
443
443
|
group?: string | false | undefined;
|
|
444
444
|
};
|
|
445
|
-
output: _backstage_frontend_plugin_api.
|
|
445
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
446
446
|
optional: true;
|
|
447
|
-
}> | _backstage_frontend_plugin_api.
|
|
447
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
448
448
|
optional: true;
|
|
449
|
-
}> | _backstage_frontend_plugin_api.
|
|
449
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
450
450
|
optional: true;
|
|
451
|
-
}> | _backstage_frontend_plugin_api.
|
|
451
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-content-title", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-content-group", {
|
|
452
452
|
optional: true;
|
|
453
453
|
}>;
|
|
454
454
|
inputs: {
|
|
@@ -474,10 +474,13 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
474
474
|
kind: "entity-content";
|
|
475
475
|
name: "overview";
|
|
476
476
|
params: {
|
|
477
|
+
defaultPath?: [Error: `Use the 'path' param instead`];
|
|
478
|
+
path: string;
|
|
479
|
+
defaultTitle?: [Error: `Use the 'title' param instead`];
|
|
480
|
+
title: string;
|
|
481
|
+
defaultGroup?: [Error: `Use the 'group' param instead`];
|
|
482
|
+
group?: keyof typeof _backstage_plugin_catalog_react_alpha.defaultEntityContentGroups | (string & {});
|
|
477
483
|
loader: () => Promise<JSX.Element>;
|
|
478
|
-
defaultPath: string;
|
|
479
|
-
defaultTitle: string;
|
|
480
|
-
defaultGroup?: keyof typeof _backstage_plugin_catalog_react_alpha.defaultEntityContentGroups | (string & {});
|
|
481
484
|
routeRef?: _backstage_frontend_plugin_api.RouteRef;
|
|
482
485
|
filter?: string | _backstage_plugin_catalog_react_alpha.EntityPredicate | ((entity: _backstage_catalog_model.Entity) => boolean);
|
|
483
486
|
};
|
|
@@ -491,7 +494,7 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
491
494
|
configInput: {
|
|
492
495
|
filter?: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
|
|
493
496
|
};
|
|
494
|
-
output: _backstage_frontend_plugin_api.
|
|
497
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
495
498
|
optional: true;
|
|
496
499
|
}>;
|
|
497
500
|
inputs: {};
|
|
@@ -506,7 +509,7 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
506
509
|
configInput: {
|
|
507
510
|
filter?: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
|
|
508
511
|
};
|
|
509
|
-
output: _backstage_frontend_plugin_api.
|
|
512
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
510
513
|
optional: true;
|
|
511
514
|
}>;
|
|
512
515
|
inputs: {};
|
|
@@ -521,7 +524,7 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
521
524
|
configInput: {
|
|
522
525
|
filter?: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
|
|
523
526
|
};
|
|
524
|
-
output: _backstage_frontend_plugin_api.
|
|
527
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
525
528
|
optional: true;
|
|
526
529
|
}>;
|
|
527
530
|
inputs: {};
|
|
@@ -540,11 +543,11 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
540
543
|
label?: string | undefined;
|
|
541
544
|
title?: string | undefined;
|
|
542
545
|
};
|
|
543
|
-
output: _backstage_frontend_plugin_api.
|
|
546
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
544
547
|
optional: true;
|
|
545
|
-
}> | _backstage_frontend_plugin_api.
|
|
548
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
546
549
|
optional: true;
|
|
547
|
-
}> | _backstage_frontend_plugin_api.
|
|
550
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<() => _backstage_core_components.IconLinkVerticalProps, "entity-icon-link-props", {}>;
|
|
548
551
|
inputs: {};
|
|
549
552
|
params: {
|
|
550
553
|
useProps: () => Omit<_backstage_core_components.IconLinkVerticalProps, "color">;
|
|
@@ -556,7 +559,7 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
556
559
|
name: undefined;
|
|
557
560
|
config: {};
|
|
558
561
|
configInput: {};
|
|
559
|
-
output: _backstage_frontend_plugin_api.
|
|
562
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<{
|
|
560
563
|
title: string;
|
|
561
564
|
icon: _backstage_core_plugin_api.IconComponent;
|
|
562
565
|
routeRef: _backstage_frontend_plugin_api.RouteRef<undefined>;
|
|
@@ -587,7 +590,7 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
587
590
|
} & {
|
|
588
591
|
path?: string | undefined;
|
|
589
592
|
};
|
|
590
|
-
output: _backstage_frontend_plugin_api.
|
|
593
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
591
594
|
optional: true;
|
|
592
595
|
}>;
|
|
593
596
|
inputs: {
|
|
@@ -599,7 +602,8 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
599
602
|
kind: "page";
|
|
600
603
|
name: undefined;
|
|
601
604
|
params: {
|
|
602
|
-
defaultPath:
|
|
605
|
+
defaultPath?: [Error: `Use the 'path' param instead`];
|
|
606
|
+
path: string;
|
|
603
607
|
loader: () => Promise<JSX.Element>;
|
|
604
608
|
routeRef?: _backstage_frontend_plugin_api.RouteRef;
|
|
605
609
|
};
|
|
@@ -619,7 +623,7 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
619
623
|
} & {
|
|
620
624
|
path?: string | undefined;
|
|
621
625
|
};
|
|
622
|
-
output: _backstage_frontend_plugin_api.
|
|
626
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
623
627
|
optional: true;
|
|
624
628
|
}>;
|
|
625
629
|
inputs: {
|
|
@@ -653,7 +657,8 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
653
657
|
kind: "page";
|
|
654
658
|
name: "entity";
|
|
655
659
|
params: {
|
|
656
|
-
defaultPath:
|
|
660
|
+
defaultPath?: [Error: `Use the 'path' param instead`];
|
|
661
|
+
path: string;
|
|
657
662
|
loader: () => Promise<JSX.Element>;
|
|
658
663
|
routeRef?: _backstage_frontend_plugin_api.RouteRef;
|
|
659
664
|
};
|
|
@@ -667,7 +672,7 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
|
667
672
|
configInput: {
|
|
668
673
|
noTrack?: boolean | undefined;
|
|
669
674
|
};
|
|
670
|
-
output: _backstage_frontend_plugin_api.
|
|
675
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<{
|
|
671
676
|
predicate?: _backstage_plugin_search_react_alpha.SearchResultItemExtensionPredicate;
|
|
672
677
|
component: _backstage_plugin_search_react_alpha.SearchResultItemExtensionComponent;
|
|
673
678
|
}, "search.search-result-list-item.item", {}>;
|
package/dist/package.json.esm.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/plugin-catalog",
|
|
3
|
-
"version": "1.31.2-next.
|
|
3
|
+
"version": "1.31.2-next.2",
|
|
4
4
|
"description": "The Backstage plugin for browsing the Backstage catalog",
|
|
5
5
|
"backstage": {
|
|
6
6
|
"role": "frontend-plugin",
|
|
@@ -72,18 +72,18 @@
|
|
|
72
72
|
"dependencies": {
|
|
73
73
|
"@backstage/catalog-client": "1.11.0-next.0",
|
|
74
74
|
"@backstage/catalog-model": "1.7.5",
|
|
75
|
-
"@backstage/core-compat-api": "0.
|
|
76
|
-
"@backstage/core-components": "0.17.5-next.
|
|
75
|
+
"@backstage/core-compat-api": "0.5.0-next.2",
|
|
76
|
+
"@backstage/core-components": "0.17.5-next.1",
|
|
77
77
|
"@backstage/core-plugin-api": "1.10.9",
|
|
78
78
|
"@backstage/errors": "1.2.7",
|
|
79
|
-
"@backstage/frontend-plugin-api": "0.11.0-next.
|
|
79
|
+
"@backstage/frontend-plugin-api": "0.11.0-next.1",
|
|
80
80
|
"@backstage/integration-react": "1.2.9",
|
|
81
81
|
"@backstage/plugin-catalog-common": "1.1.5",
|
|
82
|
-
"@backstage/plugin-catalog-react": "1.20.0-next.
|
|
82
|
+
"@backstage/plugin-catalog-react": "1.20.0-next.2",
|
|
83
83
|
"@backstage/plugin-permission-react": "0.4.36",
|
|
84
84
|
"@backstage/plugin-scaffolder-common": "1.7.0-next.0",
|
|
85
85
|
"@backstage/plugin-search-common": "1.2.19",
|
|
86
|
-
"@backstage/plugin-search-react": "1.9.3-next.
|
|
86
|
+
"@backstage/plugin-search-react": "1.9.3-next.1",
|
|
87
87
|
"@backstage/plugin-techdocs-common": "0.1.1",
|
|
88
88
|
"@backstage/plugin-techdocs-react": "1.3.2-next.0",
|
|
89
89
|
"@backstage/types": "1.2.1",
|
|
@@ -102,10 +102,10 @@
|
|
|
102
102
|
"zen-observable": "^0.10.0"
|
|
103
103
|
},
|
|
104
104
|
"devDependencies": {
|
|
105
|
-
"@backstage/cli": "0.
|
|
105
|
+
"@backstage/cli": "0.34.0-next.1",
|
|
106
106
|
"@backstage/core-app-api": "1.18.0",
|
|
107
107
|
"@backstage/dev-utils": "1.1.13-next.1",
|
|
108
|
-
"@backstage/frontend-test-utils": "0.3.5-next.
|
|
108
|
+
"@backstage/frontend-test-utils": "0.3.5-next.2",
|
|
109
109
|
"@backstage/plugin-permission-common": "0.9.1",
|
|
110
110
|
"@backstage/test-utils": "1.7.11-next.0",
|
|
111
111
|
"@testing-library/dom": "^10.0.0",
|