@backstage/plugin-catalog-node 1.15.2-next.0 → 1.16.0-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 CHANGED
@@ -1,5 +1,37 @@
1
1
  # @backstage/plugin-catalog-node
2
2
 
3
+ ## 1.16.0-next.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ - @backstage/backend-plugin-api@1.2.0-next.1
9
+ - @backstage/catalog-client@1.9.1
10
+ - @backstage/catalog-model@1.7.3
11
+ - @backstage/errors@1.2.7
12
+ - @backstage/types@1.2.1
13
+ - @backstage/plugin-catalog-common@1.1.3
14
+ - @backstage/plugin-permission-common@0.8.4
15
+ - @backstage/plugin-permission-node@0.8.8-next.1
16
+
17
+ ## 1.16.0-next.1
18
+
19
+ ### Minor Changes
20
+
21
+ - 9b9737c: Added the `locationKey` option to `processingResult.entity(...)`.
22
+
23
+ ### Patch Changes
24
+
25
+ - Updated dependencies
26
+ - @backstage/backend-plugin-api@1.2.0-next.0
27
+ - @backstage/catalog-client@1.9.1
28
+ - @backstage/catalog-model@1.7.3
29
+ - @backstage/errors@1.2.7
30
+ - @backstage/types@1.2.1
31
+ - @backstage/plugin-catalog-common@1.1.3
32
+ - @backstage/plugin-permission-common@0.8.4
33
+ - @backstage/plugin-permission-node@0.8.8-next.0
34
+
3
35
  ## 1.15.2-next.0
4
36
 
5
37
  ### Patch Changes
package/dist/alpha.cjs.js CHANGED
@@ -2,8 +2,14 @@
2
2
 
3
3
  var backendPluginApi = require('@backstage/backend-plugin-api');
4
4
  var catalogClient = require('@backstage/catalog-client');
5
+ var alpha = require('@backstage/plugin-catalog-common/alpha');
6
+ var pluginPermissionNode = require('@backstage/plugin-permission-node');
5
7
  var extensions = require('./extensions.cjs.js');
6
8
 
9
+ const catalogEntityPermissionResourceRef = pluginPermissionNode.createPermissionResourceRef().with({
10
+ pluginId: "catalog",
11
+ resourceType: alpha.RESOURCE_TYPE_CATALOG_ENTITY
12
+ });
7
13
  const catalogServiceRef = backendPluginApi.createServiceRef({
8
14
  id: "catalog-client",
9
15
  defaultFactory: async (service) => backendPluginApi.createServiceFactory({
@@ -22,5 +28,6 @@ exports.catalogLocationsExtensionPoint = extensions.catalogLocationsExtensionPoi
22
28
  exports.catalogModelExtensionPoint = extensions.catalogModelExtensionPoint;
23
29
  exports.catalogPermissionExtensionPoint = extensions.catalogPermissionExtensionPoint;
24
30
  exports.catalogProcessingExtensionPoint = extensions.catalogProcessingExtensionPoint;
31
+ exports.catalogEntityPermissionResourceRef = catalogEntityPermissionResourceRef;
25
32
  exports.catalogServiceRef = catalogServiceRef;
26
33
  //# sourceMappingURL=alpha.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alpha.cjs.js","sources":["../src/alpha.ts"],"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 coreServices,\n createServiceFactory,\n createServiceRef,\n} from '@backstage/backend-plugin-api';\nimport { catalogServiceRef as _catalogServiceRef } from './catalogService';\nimport { CatalogApi, CatalogClient } from '@backstage/catalog-client';\n\n/**\n * @alpha\n * @deprecated Use {@link @backstage/plugin-catalog-node#catalogServiceRef} instead\n */\nexport const catalogServiceRef = createServiceRef<CatalogApi>({\n id: 'catalog-client',\n defaultFactory: async service =>\n createServiceFactory({\n service,\n deps: {\n discoveryApi: coreServices.discovery,\n },\n async factory({ discoveryApi }) {\n return new CatalogClient({ discoveryApi });\n },\n }),\n});\n\nexport type { CatalogLocationsExtensionPoint } from './extensions';\nexport { catalogLocationsExtensionPoint } from './extensions';\nexport type { CatalogProcessingExtensionPoint } from './extensions';\nexport { catalogProcessingExtensionPoint } from './extensions';\nexport type { CatalogAnalysisExtensionPoint } from './extensions';\nexport { catalogAnalysisExtensionPoint } from './extensions';\nexport type { CatalogPermissionRuleInput } from './extensions';\nexport type { CatalogPermissionExtensionPoint } from './extensions';\nexport { catalogPermissionExtensionPoint } from './extensions';\nexport type { CatalogModelExtensionPoint } from './extensions';\nexport { catalogModelExtensionPoint } from './extensions';\n"],"names":["createServiceRef","createServiceFactory","coreServices","CatalogClient"],"mappings":";;;;;;AA4BO,MAAM,oBAAoBA,iCAA6B,CAAA;AAAA,EAC5D,EAAI,EAAA,gBAAA;AAAA,EACJ,cAAA,EAAgB,OAAM,OAAA,KACpBC,qCAAqB,CAAA;AAAA,IACnB,OAAA;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,cAAcC,6BAAa,CAAA;AAAA,KAC7B;AAAA,IACA,MAAM,OAAA,CAAQ,EAAE,YAAA,EAAgB,EAAA;AAC9B,MAAA,OAAO,IAAIC,2BAAA,CAAc,EAAE,YAAA,EAAc,CAAA;AAAA;AAC3C,GACD;AACL,CAAC;;;;;;;;;"}
1
+ {"version":3,"file":"alpha.cjs.js","sources":["../src/alpha.ts"],"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 coreServices,\n createServiceFactory,\n createServiceRef,\n} from '@backstage/backend-plugin-api';\nimport { catalogServiceRef as _catalogServiceRef } from './catalogService';\nimport { CatalogApi, CatalogClient } from '@backstage/catalog-client';\nimport { RESOURCE_TYPE_CATALOG_ENTITY } from '@backstage/plugin-catalog-common/alpha';\nimport { createPermissionResourceRef } from '@backstage/plugin-permission-node';\nimport { Entity } from '@backstage/catalog-model';\nimport { EntitiesSearchFilter } from '@backstage/plugin-catalog-node';\n\n/** @alpha */\nexport const catalogEntityPermissionResourceRef = createPermissionResourceRef<\n Entity,\n EntitiesSearchFilter\n>().with({\n pluginId: 'catalog',\n resourceType: RESOURCE_TYPE_CATALOG_ENTITY,\n});\n\n/**\n * @alpha\n * @deprecated Use {@link @backstage/plugin-catalog-node#catalogServiceRef} instead\n */\nexport const catalogServiceRef = createServiceRef<CatalogApi>({\n id: 'catalog-client',\n defaultFactory: async service =>\n createServiceFactory({\n service,\n deps: {\n discoveryApi: coreServices.discovery,\n },\n async factory({ discoveryApi }) {\n return new CatalogClient({ discoveryApi });\n },\n }),\n});\n\nexport type { CatalogLocationsExtensionPoint } from './extensions';\nexport { catalogLocationsExtensionPoint } from './extensions';\nexport type { CatalogProcessingExtensionPoint } from './extensions';\nexport { catalogProcessingExtensionPoint } from './extensions';\nexport type { CatalogAnalysisExtensionPoint } from './extensions';\nexport { catalogAnalysisExtensionPoint } from './extensions';\nexport type { CatalogPermissionRuleInput } from './extensions';\nexport type { CatalogPermissionExtensionPoint } from './extensions';\nexport { catalogPermissionExtensionPoint } from './extensions';\nexport type { CatalogModelExtensionPoint } from './extensions';\nexport { catalogModelExtensionPoint } from './extensions';\n"],"names":["createPermissionResourceRef","RESOURCE_TYPE_CATALOG_ENTITY","createServiceRef","createServiceFactory","coreServices","CatalogClient"],"mappings":";;;;;;;;AA6Ba,MAAA,kCAAA,GAAqCA,gDAGhD,EAAA,CAAE,IAAK,CAAA;AAAA,EACP,QAAU,EAAA,SAAA;AAAA,EACV,YAAc,EAAAC;AAChB,CAAC;AAMM,MAAM,oBAAoBC,iCAA6B,CAAA;AAAA,EAC5D,EAAI,EAAA,gBAAA;AAAA,EACJ,cAAA,EAAgB,OAAM,OAAA,KACpBC,qCAAqB,CAAA;AAAA,IACnB,OAAA;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,cAAcC,6BAAa,CAAA;AAAA,KAC7B;AAAA,IACA,MAAM,OAAA,CAAQ,EAAE,YAAA,EAAgB,EAAA;AAC9B,MAAA,OAAO,IAAIC,2BAAA,CAAc,EAAE,YAAA,EAAc,CAAA;AAAA;AAC3C,GACD;AACL,CAAC;;;;;;;;;;"}
package/dist/alpha.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  import * as _backstage_backend_plugin_api from '@backstage/backend-plugin-api';
2
+ import * as _backstage_plugin_permission_node from '@backstage/plugin-permission-node';
3
+ import { PermissionRule } from '@backstage/plugin-permission-node';
2
4
  import { CatalogApi } from '@backstage/catalog-client';
3
5
  import { Entity, Validators } from '@backstage/catalog-model';
4
6
  import { CatalogProcessor, EntityProvider, PlaceholderResolver, CatalogProcessorParser, LocationAnalyzer, ScmLocationAnalyzer, EntitiesSearchFilter } from '@backstage/plugin-catalog-node';
5
7
  import { PermissionRuleParams, Permission } from '@backstage/plugin-permission-common';
6
- import { PermissionRule } from '@backstage/plugin-permission-node';
7
8
 
8
9
  /**
9
10
  * @alpha
@@ -99,10 +100,12 @@ interface CatalogPermissionExtensionPoint {
99
100
  */
100
101
  declare const catalogPermissionExtensionPoint: _backstage_backend_plugin_api.ExtensionPoint<CatalogPermissionExtensionPoint>;
101
102
 
103
+ /** @alpha */
104
+ declare const catalogEntityPermissionResourceRef: _backstage_plugin_permission_node.PermissionResourceRef<Entity, EntitiesSearchFilter, "catalog-entity", "catalog">;
102
105
  /**
103
106
  * @alpha
104
107
  * @deprecated Use {@link @backstage/plugin-catalog-node#catalogServiceRef} instead
105
108
  */
106
109
  declare const catalogServiceRef: _backstage_backend_plugin_api.ServiceRef<CatalogApi, "plugin", "singleton">;
107
110
 
108
- export { type CatalogAnalysisExtensionPoint, type CatalogLocationsExtensionPoint, type CatalogModelExtensionPoint, type CatalogPermissionExtensionPoint, type CatalogPermissionRuleInput, type CatalogProcessingExtensionPoint, catalogAnalysisExtensionPoint, catalogLocationsExtensionPoint, catalogModelExtensionPoint, catalogPermissionExtensionPoint, catalogProcessingExtensionPoint, catalogServiceRef };
111
+ export { type CatalogAnalysisExtensionPoint, type CatalogLocationsExtensionPoint, type CatalogModelExtensionPoint, type CatalogPermissionExtensionPoint, type CatalogPermissionRuleInput, type CatalogProcessingExtensionPoint, catalogAnalysisExtensionPoint, catalogEntityPermissionResourceRef, catalogLocationsExtensionPoint, catalogModelExtensionPoint, catalogPermissionExtensionPoint, catalogProcessingExtensionPoint, catalogServiceRef };
@@ -40,8 +40,13 @@ const processingResult = Object.freeze({
40
40
  /**
41
41
  * Emits a child of the current entity, associated with a certain location.
42
42
  */
43
- entity(atLocation, newEntity) {
44
- return { type: "entity", location: atLocation, entity: newEntity };
43
+ entity(atLocation, newEntity, options) {
44
+ return {
45
+ type: "entity",
46
+ location: atLocation,
47
+ entity: newEntity,
48
+ locationKey: options?.locationKey
49
+ };
45
50
  },
46
51
  /**
47
52
  * Emits a relation owned by the current entity. The relation does not have to
@@ -1 +1 @@
1
- {"version":3,"file":"processingResult.cjs.js","sources":["../../src/api/processingResult.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 { InputError, NotFoundError } from '@backstage/errors';\nimport { Entity } from '@backstage/catalog-model';\nimport { CatalogProcessorResult } from './processor';\nimport { EntityRelationSpec } from './common';\nimport { LocationSpec } from '@backstage/plugin-catalog-common';\n\n/**\n * Factory functions for the standard processing result types.\n *\n * @public\n */\nexport const processingResult = Object.freeze({\n /**\n * Associates a NotFoundError with the processing state of the current entity.\n */\n notFoundError(\n atLocation: LocationSpec,\n message: string,\n ): CatalogProcessorResult {\n return {\n type: 'error',\n location: atLocation,\n error: new NotFoundError(message),\n };\n },\n\n /**\n * Associates an InputError with the processing state of the current entity.\n */\n inputError(\n atLocation: LocationSpec,\n message: string,\n ): CatalogProcessorResult {\n return {\n type: 'error',\n location: atLocation,\n error: new InputError(message),\n };\n },\n\n /**\n * Associates a general Error with the processing state of the current entity.\n */\n generalError(\n atLocation: LocationSpec,\n message: string,\n ): CatalogProcessorResult {\n return { type: 'error', location: atLocation, error: new Error(message) };\n },\n\n /**\n * Emits a location. In effect, this is analogous to emitting a Location kind\n * child entity. This is commonly used in discovery processors. Do not use\n * this while processing Location entities.\n */\n location(newLocation: LocationSpec): CatalogProcessorResult {\n return { type: 'location', location: newLocation };\n },\n\n /**\n * Emits a child of the current entity, associated with a certain location.\n */\n entity(atLocation: LocationSpec, newEntity: Entity): CatalogProcessorResult {\n return { type: 'entity', location: atLocation, entity: newEntity };\n },\n\n /**\n * Emits a relation owned by the current entity. The relation does not have to\n * start or end at the current entity. The relation only lives for as long as\n * the current entity lives.\n */\n relation(spec: EntityRelationSpec): CatalogProcessorResult {\n return { type: 'relation', relation: spec };\n },\n\n /**\n * Associates the given refresh key with the current entity. The effect of\n * this is that the entity will be marked for refresh when such requests are\n * made.\n */\n refresh(key: string): CatalogProcessorResult {\n return { type: 'refresh', key };\n },\n} as const);\n"],"names":["NotFoundError","InputError"],"mappings":";;;;AA2Ba,MAAA,gBAAA,GAAmB,OAAO,MAAO,CAAA;AAAA;AAAA;AAAA;AAAA,EAI5C,aAAA,CACE,YACA,OACwB,EAAA;AACxB,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN,QAAU,EAAA,UAAA;AAAA,MACV,KAAA,EAAO,IAAIA,oBAAA,CAAc,OAAO;AAAA,KAClC;AAAA,GACF;AAAA;AAAA;AAAA;AAAA,EAKA,UAAA,CACE,YACA,OACwB,EAAA;AACxB,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN,QAAU,EAAA,UAAA;AAAA,MACV,KAAA,EAAO,IAAIC,iBAAA,CAAW,OAAO;AAAA,KAC/B;AAAA,GACF;AAAA;AAAA;AAAA;AAAA,EAKA,YAAA,CACE,YACA,OACwB,EAAA;AACxB,IAAO,OAAA,EAAE,MAAM,OAAS,EAAA,QAAA,EAAU,YAAY,KAAO,EAAA,IAAI,KAAM,CAAA,OAAO,CAAE,EAAA;AAAA,GAC1E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAS,WAAmD,EAAA;AAC1D,IAAA,OAAO,EAAE,IAAA,EAAM,UAAY,EAAA,QAAA,EAAU,WAAY,EAAA;AAAA,GACnD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAA,CAAO,YAA0B,SAA2C,EAAA;AAC1E,IAAA,OAAO,EAAE,IAAM,EAAA,QAAA,EAAU,QAAU,EAAA,UAAA,EAAY,QAAQ,SAAU,EAAA;AAAA,GACnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAS,IAAkD,EAAA;AACzD,IAAA,OAAO,EAAE,IAAA,EAAM,UAAY,EAAA,QAAA,EAAU,IAAK,EAAA;AAAA,GAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAQ,GAAqC,EAAA;AAC3C,IAAO,OAAA,EAAE,IAAM,EAAA,SAAA,EAAW,GAAI,EAAA;AAAA;AAElC,CAAU;;;;"}
1
+ {"version":3,"file":"processingResult.cjs.js","sources":["../../src/api/processingResult.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 { InputError, NotFoundError } from '@backstage/errors';\nimport { Entity } from '@backstage/catalog-model';\nimport { CatalogProcessorResult } from './processor';\nimport { EntityRelationSpec } from './common';\nimport { LocationSpec } from '@backstage/plugin-catalog-common';\n\n/**\n * Factory functions for the standard processing result types.\n *\n * @public\n */\nexport const processingResult = Object.freeze({\n /**\n * Associates a NotFoundError with the processing state of the current entity.\n */\n notFoundError(\n atLocation: LocationSpec,\n message: string,\n ): CatalogProcessorResult {\n return {\n type: 'error',\n location: atLocation,\n error: new NotFoundError(message),\n };\n },\n\n /**\n * Associates an InputError with the processing state of the current entity.\n */\n inputError(\n atLocation: LocationSpec,\n message: string,\n ): CatalogProcessorResult {\n return {\n type: 'error',\n location: atLocation,\n error: new InputError(message),\n };\n },\n\n /**\n * Associates a general Error with the processing state of the current entity.\n */\n generalError(\n atLocation: LocationSpec,\n message: string,\n ): CatalogProcessorResult {\n return { type: 'error', location: atLocation, error: new Error(message) };\n },\n\n /**\n * Emits a location. In effect, this is analogous to emitting a Location kind\n * child entity. This is commonly used in discovery processors. Do not use\n * this while processing Location entities.\n */\n location(newLocation: LocationSpec): CatalogProcessorResult {\n return { type: 'location', location: newLocation };\n },\n\n /**\n * Emits a child of the current entity, associated with a certain location.\n */\n entity(\n atLocation: LocationSpec,\n newEntity: Entity,\n options?: {\n /**\n * Sets the location key of the emitted entity, overriding the default one derived from the location.\n *\n * To set a `null` location key the value `null` must be used.\n */\n locationKey?: string | null;\n },\n ): CatalogProcessorResult {\n return {\n type: 'entity',\n location: atLocation,\n entity: newEntity,\n locationKey: options?.locationKey,\n };\n },\n\n /**\n * Emits a relation owned by the current entity. The relation does not have to\n * start or end at the current entity. The relation only lives for as long as\n * the current entity lives.\n */\n relation(spec: EntityRelationSpec): CatalogProcessorResult {\n return { type: 'relation', relation: spec };\n },\n\n /**\n * Associates the given refresh key with the current entity. The effect of\n * this is that the entity will be marked for refresh when such requests are\n * made.\n */\n refresh(key: string): CatalogProcessorResult {\n return { type: 'refresh', key };\n },\n} as const);\n"],"names":["NotFoundError","InputError"],"mappings":";;;;AA2Ba,MAAA,gBAAA,GAAmB,OAAO,MAAO,CAAA;AAAA;AAAA;AAAA;AAAA,EAI5C,aAAA,CACE,YACA,OACwB,EAAA;AACxB,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN,QAAU,EAAA,UAAA;AAAA,MACV,KAAA,EAAO,IAAIA,oBAAA,CAAc,OAAO;AAAA,KAClC;AAAA,GACF;AAAA;AAAA;AAAA;AAAA,EAKA,UAAA,CACE,YACA,OACwB,EAAA;AACxB,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN,QAAU,EAAA,UAAA;AAAA,MACV,KAAA,EAAO,IAAIC,iBAAA,CAAW,OAAO;AAAA,KAC/B;AAAA,GACF;AAAA;AAAA;AAAA;AAAA,EAKA,YAAA,CACE,YACA,OACwB,EAAA;AACxB,IAAO,OAAA,EAAE,MAAM,OAAS,EAAA,QAAA,EAAU,YAAY,KAAO,EAAA,IAAI,KAAM,CAAA,OAAO,CAAE,EAAA;AAAA,GAC1E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAS,WAAmD,EAAA;AAC1D,IAAA,OAAO,EAAE,IAAA,EAAM,UAAY,EAAA,QAAA,EAAU,WAAY,EAAA;AAAA,GACnD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAA,CACE,UACA,EAAA,SAAA,EACA,OAQwB,EAAA;AACxB,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,QAAA;AAAA,MACN,QAAU,EAAA,UAAA;AAAA,MACV,MAAQ,EAAA,SAAA;AAAA,MACR,aAAa,OAAS,EAAA;AAAA,KACxB;AAAA,GACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAS,IAAkD,EAAA;AACzD,IAAA,OAAO,EAAE,IAAA,EAAM,UAAY,EAAA,QAAA,EAAU,IAAK,EAAA;AAAA,GAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAQ,GAAqC,EAAA;AAC3C,IAAO,OAAA,EAAE,IAAM,EAAA,SAAA,EAAW,GAAI,EAAA;AAAA;AAElC,CAAU;;;;"}
package/dist/index.d.ts CHANGED
@@ -180,6 +180,7 @@ type CatalogProcessorEntityResult = {
180
180
  type: 'entity';
181
181
  entity: Entity;
182
182
  location: LocationSpec$1;
183
+ locationKey?: string | null;
183
184
  };
184
185
  /** @public */
185
186
  type CatalogProcessorRelationResult = {
@@ -227,7 +228,14 @@ declare const processingResult: Readonly<{
227
228
  /**
228
229
  * Emits a child of the current entity, associated with a certain location.
229
230
  */
230
- readonly entity: (atLocation: LocationSpec$1, newEntity: Entity) => CatalogProcessorResult;
231
+ readonly entity: (atLocation: LocationSpec$1, newEntity: Entity, options?: {
232
+ /**
233
+ * Sets the location key of the emitted entity, overriding the default one derived from the location.
234
+ *
235
+ * To set a `null` location key the value `null` must be used.
236
+ */
237
+ locationKey?: string | null;
238
+ }) => CatalogProcessorResult;
231
239
  /**
232
240
  * Emits a relation owned by the current entity. The relation does not have to
233
241
  * start or end at the current entity. The relation only lives for as long as
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/plugin-catalog-node",
3
- "version": "1.15.2-next.0",
3
+ "version": "1.16.0-next.2",
4
4
  "description": "The plugin-catalog-node module for @backstage/plugin-catalog-backend",
5
5
  "backstage": {
6
6
  "role": "node-library",
@@ -72,18 +72,18 @@
72
72
  "test": "backstage-cli package test"
73
73
  },
74
74
  "dependencies": {
75
- "@backstage/backend-plugin-api": "1.2.0-next.0",
75
+ "@backstage/backend-plugin-api": "1.2.0-next.1",
76
76
  "@backstage/catalog-client": "1.9.1",
77
77
  "@backstage/catalog-model": "1.7.3",
78
78
  "@backstage/errors": "1.2.7",
79
79
  "@backstage/plugin-catalog-common": "1.1.3",
80
80
  "@backstage/plugin-permission-common": "0.8.4",
81
- "@backstage/plugin-permission-node": "0.8.8-next.0",
81
+ "@backstage/plugin-permission-node": "0.8.8-next.1",
82
82
  "@backstage/types": "1.2.1"
83
83
  },
84
84
  "devDependencies": {
85
- "@backstage/backend-test-utils": "1.3.0-next.0",
86
- "@backstage/cli": "0.30.0-next.0",
85
+ "@backstage/backend-test-utils": "1.3.0-next.2",
86
+ "@backstage/cli": "0.30.0-next.2",
87
87
  "msw": "^1.0.0"
88
88
  }
89
89
  }