@backstage/plugin-catalog-backend 1.12.0-next.2 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,38 @@
1
1
  # @backstage/plugin-catalog-backend
2
2
 
3
+ ## 1.12.0
4
+
5
+ ### Minor Changes
6
+
7
+ - b8cccd8ee858: Support configuring applicable kinds for `AnnotateScmSlugEntityProcessor`
8
+ - f32252cdf631: Added OpenTelemetry spans for catalog processing
9
+ - ebeb77586975: Now performs request validation based on OpenAPI schema through `@backstage/backend-openapi-utils`. Error responses for invalid input, like `"a"` instead of a number, may have changed.
10
+
11
+ ### Patch Changes
12
+
13
+ - 629cbd194a87: Use `coreServices.rootConfig` instead of `coreService.config`
14
+ - b8d6b22acd57: Internal refactor for load test
15
+ - Updated dependencies
16
+ - @backstage/plugin-search-backend-module-catalog@0.1.4
17
+ - @backstage/backend-common@0.19.2
18
+ - @backstage/backend-plugin-api@0.6.0
19
+ - @backstage/backend-openapi-utils@0.0.3
20
+ - @backstage/plugin-catalog-node@1.4.1
21
+ - @backstage/plugin-events-node@0.2.9
22
+ - @backstage/plugin-auth-node@0.2.17
23
+ - @backstage/integration@1.6.0
24
+ - @backstage/backend-tasks@0.5.5
25
+ - @backstage/plugin-scaffolder-common@1.4.0
26
+ - @backstage/plugin-permission-node@0.7.11
27
+ - @backstage/catalog-client@1.4.3
28
+ - @backstage/catalog-model@1.4.1
29
+ - @backstage/config@1.0.8
30
+ - @backstage/errors@1.2.1
31
+ - @backstage/types@1.1.0
32
+ - @backstage/plugin-catalog-common@1.0.15
33
+ - @backstage/plugin-permission-common@0.7.7
34
+ - @backstage/plugin-search-common@1.2.5
35
+
3
36
  ## 1.12.0-next.2
4
37
 
5
38
  ### Minor Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/plugin-catalog-backend",
3
- "version": "1.12.0-next.2",
3
+ "version": "1.12.0",
4
4
  "main": "../dist/alpha.cjs.js",
5
5
  "types": "../dist/alpha.d.ts"
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/modules/core/AnnotateScmSlugEntityProcessor.ts","../src/modules/core/LocationEntityProcessor.ts","../src/search/DefaultCatalogCollator.ts","../src/deprecated.ts","../src/index.ts"],"sourcesContent":["/*\n * Copyright 2021 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 { Entity } from '@backstage/catalog-model';\nimport { Config } from '@backstage/config';\nimport {\n ScmIntegrationRegistry,\n ScmIntegrations,\n} from '@backstage/integration';\nimport parseGitUrl from 'git-url-parse';\nimport { identity, merge, pickBy } from 'lodash';\nimport { LocationSpec } from '@backstage/plugin-catalog-common';\nimport { CatalogProcessor } from '@backstage/plugin-catalog-node';\n\nconst GITHUB_ACTIONS_ANNOTATION = 'github.com/project-slug';\nconst GITLAB_ACTIONS_ANNOTATION = 'gitlab.com/project-slug';\n\n/** @public */\nexport class AnnotateScmSlugEntityProcessor implements CatalogProcessor {\n constructor(\n private readonly opts: {\n scmIntegrationRegistry: ScmIntegrationRegistry;\n kinds?: string[];\n },\n ) {}\n\n getProcessorName(): string {\n return 'AnnotateScmSlugEntityProcessor';\n }\n\n static fromConfig(\n config: Config,\n options?: { kinds?: string[] },\n ): AnnotateScmSlugEntityProcessor {\n return new AnnotateScmSlugEntityProcessor({\n scmIntegrationRegistry: ScmIntegrations.fromConfig(config),\n kinds: options?.kinds,\n });\n }\n\n async preProcessEntity(\n entity: Entity,\n location: LocationSpec,\n ): Promise<Entity> {\n const applicableKinds = (this.opts.kinds ?? ['Component']).map(k =>\n k.toLocaleLowerCase('en-US'),\n );\n if (\n !applicableKinds.includes(entity.kind.toLocaleLowerCase('en-US')) ||\n location.type !== 'url'\n ) {\n return entity;\n }\n\n const scmIntegration = this.opts.scmIntegrationRegistry.byUrl(\n location.target,\n );\n\n if (!scmIntegration) {\n return entity;\n }\n\n let annotation;\n switch (scmIntegration.type) {\n case 'github':\n annotation = GITHUB_ACTIONS_ANNOTATION;\n break;\n case 'gitlab':\n annotation = GITLAB_ACTIONS_ANNOTATION;\n break;\n default:\n return entity;\n }\n\n let projectSlug = entity.metadata.annotations?.[annotation];\n if (!projectSlug) {\n const gitUrl = parseGitUrl(location.target);\n projectSlug = `${gitUrl.owner}/${gitUrl.name}`;\n }\n\n return merge(\n {\n metadata: {\n annotations: pickBy(\n {\n [annotation]: projectSlug,\n },\n identity,\n ),\n },\n },\n entity,\n );\n }\n}\n","/*\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 { Entity, LocationEntity } from '@backstage/catalog-model';\nimport { ScmIntegrationRegistry } from '@backstage/integration';\nimport path from 'path';\nimport { LocationSpec } from '@backstage/plugin-catalog-common';\nimport {\n processingResult,\n CatalogProcessor,\n CatalogProcessorEmit,\n} from '@backstage/plugin-catalog-node';\n\nexport function toAbsoluteUrl(\n integrations: ScmIntegrationRegistry,\n base: LocationSpec,\n target: string,\n): string {\n try {\n if (base.type === 'file') {\n if (target.startsWith('.')) {\n return path.join(path.dirname(base.target), target);\n }\n return target;\n }\n return integrations.resolveUrl({ url: target, base: base.target });\n } catch (e) {\n return target;\n }\n}\n\n/** @public */\nexport type LocationEntityProcessorOptions = {\n integrations: ScmIntegrationRegistry;\n};\n\n/** @public */\nexport class LocationEntityProcessor implements CatalogProcessor {\n constructor(private readonly options: LocationEntityProcessorOptions) {}\n\n getProcessorName(): string {\n return 'LocationEntityProcessor';\n }\n\n async postProcessEntity(\n entity: Entity,\n location: LocationSpec,\n emit: CatalogProcessorEmit,\n ): Promise<Entity> {\n if (entity.kind === 'Location') {\n const locationEntity = entity as LocationEntity;\n\n const type = locationEntity.spec.type || location.type;\n if (type === 'file' && location.target.endsWith(path.sep)) {\n emit(\n processingResult.inputError(\n location,\n `LocationEntityProcessor cannot handle ${type} type location with target ${location.target} that ends with a path separator`,\n ),\n );\n }\n\n const targets = new Array<string>();\n if (locationEntity.spec.target) {\n targets.push(locationEntity.spec.target);\n }\n if (locationEntity.spec.targets) {\n targets.push(...locationEntity.spec.targets);\n }\n\n for (const maybeRelativeTarget of targets) {\n const target = toAbsoluteUrl(\n this.options.integrations,\n location,\n maybeRelativeTarget,\n );\n emit(processingResult.location({ type, target }));\n }\n }\n\n return entity;\n }\n}\n","/*\n * Copyright 2021 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 PluginEndpointDiscovery,\n TokenManager,\n} from '@backstage/backend-common';\nimport {\n Entity,\n isUserEntity,\n stringifyEntityRef,\n} from '@backstage/catalog-model';\nimport { Config } from '@backstage/config';\nimport {\n CatalogApi,\n CatalogClient,\n GetEntitiesRequest,\n} from '@backstage/catalog-client';\nimport { catalogEntityReadPermission } from '@backstage/plugin-catalog-common/alpha';\nimport { CatalogEntityDocument } from '@backstage/plugin-catalog-common';\nimport { Permission } from '@backstage/plugin-permission-common';\n\n/**\n * @public\n * @deprecated Upgrade to a more recent `@backstage/plugin-search-backend-node` and\n * use `DefaultCatalogCollatorFactory` instead.\n */\nexport class DefaultCatalogCollator {\n protected discovery: PluginEndpointDiscovery;\n protected locationTemplate: string;\n protected filter?: GetEntitiesRequest['filter'];\n protected readonly catalogClient: CatalogApi;\n public readonly type: string = 'software-catalog';\n public readonly visibilityPermission: Permission =\n catalogEntityReadPermission;\n protected tokenManager: TokenManager;\n\n static fromConfig(\n _config: Config,\n options: {\n discovery: PluginEndpointDiscovery;\n tokenManager: TokenManager;\n filter?: GetEntitiesRequest['filter'];\n },\n ) {\n return new DefaultCatalogCollator({\n ...options,\n });\n }\n\n constructor(options: {\n discovery: PluginEndpointDiscovery;\n tokenManager: TokenManager;\n locationTemplate?: string;\n filter?: GetEntitiesRequest['filter'];\n catalogClient?: CatalogApi;\n }) {\n const { discovery, locationTemplate, filter, catalogClient, tokenManager } =\n options;\n\n this.discovery = discovery;\n this.locationTemplate =\n locationTemplate || '/catalog/:namespace/:kind/:name';\n this.filter = filter;\n this.catalogClient =\n catalogClient || new CatalogClient({ discoveryApi: discovery });\n this.tokenManager = tokenManager;\n }\n\n protected applyArgsToFormat(\n format: string,\n args: Record<string, string>,\n ): string {\n let formatted = format;\n for (const [key, value] of Object.entries(args)) {\n formatted = formatted.replace(`:${key}`, value);\n }\n return formatted.toLowerCase();\n }\n\n private getDocumentText(entity: Entity): string {\n let documentText = entity.metadata.description || '';\n if (isUserEntity(entity)) {\n if (entity.spec?.profile?.displayName && documentText) {\n // combine displayName and description\n const displayName = entity.spec?.profile?.displayName;\n documentText = displayName.concat(' : ', documentText);\n } else {\n documentText = entity.spec?.profile?.displayName || documentText;\n }\n }\n return documentText;\n }\n\n async execute() {\n const { token } = await this.tokenManager.getToken();\n const response = await this.catalogClient.getEntities(\n {\n filter: this.filter,\n },\n { token },\n );\n return response.items.map((entity: Entity): CatalogEntityDocument => {\n return {\n title: entity.metadata.title ?? entity.metadata.name,\n location: this.applyArgsToFormat(this.locationTemplate, {\n namespace: entity.metadata.namespace || 'default',\n kind: entity.kind,\n name: entity.metadata.name,\n }),\n text: this.getDocumentText(entity),\n componentType: entity.spec?.type?.toString() || 'other',\n type: entity.spec?.type?.toString() || 'other',\n namespace: entity.metadata.namespace || 'default',\n kind: entity.kind,\n lifecycle: (entity.spec?.lifecycle as string) || '',\n owner: (entity.spec?.owner as string) || '',\n authorization: {\n resourceRef: stringifyEntityRef(entity),\n },\n };\n });\n }\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 {\n locationSpecToMetadataName as _locationSpecToMetadataName,\n locationSpecToLocationEntity as _locationSpecToLocationEntity,\n processingResult as _processingResult,\n type DeferredEntity as _DeferredEntity,\n type EntityRelationSpec as _EntityRelationSpec,\n type CatalogProcessor as _CatalogProcessor,\n type CatalogProcessorParser as _CatalogProcessorParser,\n type CatalogProcessorCache as _CatalogProcessorCache,\n type CatalogProcessorEmit as _CatalogProcessorEmit,\n type CatalogProcessorLocationResult as _CatalogProcessorLocationResult,\n type CatalogProcessorEntityResult as _CatalogProcessorEntityResult,\n type CatalogProcessorRelationResult as _CatalogProcessorRelationResult,\n type CatalogProcessorErrorResult as _CatalogProcessorErrorResult,\n type CatalogProcessorRefreshKeysResult as _CatalogProcessorRefreshKeysResult,\n type CatalogProcessorResult as _CatalogProcessorResult,\n type EntityProvider as _EntityProvider,\n type EntityProviderConnection as _EntityProviderConnection,\n type EntityProviderMutation as _EntityProviderMutation,\n} from '@backstage/plugin-catalog-node';\nimport { type LocationSpec as _LocationSpec } from '@backstage/plugin-catalog-common';\n\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport const locationSpecToMetadataName = _locationSpecToMetadataName;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport const locationSpecToLocationEntity = _locationSpecToLocationEntity;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport const processingResult = _processingResult;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type DeferredEntity = _DeferredEntity;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type EntityRelationSpec = _EntityRelationSpec;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessor = _CatalogProcessor;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorParser = _CatalogProcessorParser;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorCache = _CatalogProcessorCache;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorEmit = _CatalogProcessorEmit;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorLocationResult = _CatalogProcessorLocationResult;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorEntityResult = _CatalogProcessorEntityResult;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorRelationResult = _CatalogProcessorRelationResult;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorErrorResult = _CatalogProcessorErrorResult;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorRefreshKeysResult =\n _CatalogProcessorRefreshKeysResult;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorResult = _CatalogProcessorResult;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type EntityProvider = _EntityProvider;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type EntityProviderConnection = _EntityProviderConnection;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type EntityProviderMutation = _EntityProviderMutation;\n\n/**\n * Holds the entity location information.\n *\n * @remarks\n *\n * `presence` flag: when using repo importer plugin, location is being created before the component yaml file is merged to the main branch.\n * This flag is then set to indicate that the file can be not present.\n * default value: 'required'.\n *\n * @public\n * @deprecated use the same type from `@backstage/plugin-catalog-common` instead\n */\nexport type LocationSpec = _LocationSpec;\n","/*\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\n/**\n * The Backstage backend plugin that provides the Backstage catalog\n *\n * @packageDocumentation\n */\n\nexport * from './catalog';\nexport * from './ingestion';\nexport * from './modules';\nexport * from './processing';\nexport * from './search';\nexport * from './service';\nexport * from './deprecated';\nexport * from './constants';\n\nimport {\n DefaultCatalogCollatorFactory as _DefaultCatalogCollatorFactory,\n defaultCatalogCollatorEntityTransformer as _defaultCatalogCollatorEntityTransformer,\n} from '@backstage/plugin-search-backend-module-catalog';\n\n/**\n * @public\n * @deprecated import from `@backstage/search-backend-module-catalog` instead\n */\nexport const DefaultCatalogCollatorFactory = _DefaultCatalogCollatorFactory;\n\n/**\n * @public\n * @deprecated import from `@backstage/search-backend-module-catalog` instead\n */\nexport const defaultCatalogCollatorEntityTransformer =\n _defaultCatalogCollatorEntityTransformer;\n\nimport type {\n DefaultCatalogCollatorFactoryOptions as _DefaultCatalogCollatorFactoryOptions,\n CatalogCollatorEntityTransformer as _CatalogCollatorEntityTransformer,\n} from '@backstage/plugin-search-backend-module-catalog';\n\n/**\n * @public\n * @deprecated import from `@backstage/search-backend-module-catalog` instead\n */\nexport type DefaultCatalogCollatorFactoryOptions =\n _DefaultCatalogCollatorFactoryOptions;\n\n/**\n * @public\n * @deprecated import from `@backstage/search-backend-module-catalog` instead\n */\nexport type CatalogCollatorEntityTransformer =\n _CatalogCollatorEntityTransformer;\n"],"names":["ScmIntegrations","parseGitUrl","merge","pickBy","identity","path","processingResult","catalogEntityReadPermission","catalogClient","CatalogClient","isUserEntity","stringifyEntityRef","_locationSpecToMetadataName","_locationSpecToLocationEntity","_processingResult","_DefaultCatalogCollatorFactory","_defaultCatalogCollatorEntityTransformer"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/modules/core/AnnotateScmSlugEntityProcessor.ts","../src/modules/core/LocationEntityProcessor.ts","../src/search/DefaultCatalogCollator.ts","../src/deprecated.ts","../src/index.ts"],"sourcesContent":["/*\n * Copyright 2021 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 { Entity } from '@backstage/catalog-model';\nimport { Config } from '@backstage/config';\nimport {\n ScmIntegrationRegistry,\n ScmIntegrations,\n} from '@backstage/integration';\nimport parseGitUrl from 'git-url-parse';\nimport { identity, merge, pickBy } from 'lodash';\nimport { LocationSpec } from '@backstage/plugin-catalog-common';\nimport { CatalogProcessor } from '@backstage/plugin-catalog-node';\n\nconst GITHUB_ACTIONS_ANNOTATION = 'github.com/project-slug';\nconst GITLAB_ACTIONS_ANNOTATION = 'gitlab.com/project-slug';\n\n/** @public */\nexport class AnnotateScmSlugEntityProcessor implements CatalogProcessor {\n constructor(\n private readonly opts: {\n scmIntegrationRegistry: ScmIntegrationRegistry;\n kinds?: string[];\n },\n ) {}\n\n getProcessorName(): string {\n return 'AnnotateScmSlugEntityProcessor';\n }\n\n static fromConfig(\n config: Config,\n options?: { kinds?: string[] },\n ): AnnotateScmSlugEntityProcessor {\n return new AnnotateScmSlugEntityProcessor({\n scmIntegrationRegistry: ScmIntegrations.fromConfig(config),\n kinds: options?.kinds,\n });\n }\n\n async preProcessEntity(\n entity: Entity,\n location: LocationSpec,\n ): Promise<Entity> {\n const applicableKinds = (this.opts.kinds ?? ['Component']).map(k =>\n k.toLocaleLowerCase('en-US'),\n );\n if (\n !applicableKinds.includes(entity.kind.toLocaleLowerCase('en-US')) ||\n location.type !== 'url'\n ) {\n return entity;\n }\n\n const scmIntegration = this.opts.scmIntegrationRegistry.byUrl(\n location.target,\n );\n\n if (!scmIntegration) {\n return entity;\n }\n\n let annotation;\n switch (scmIntegration.type) {\n case 'github':\n annotation = GITHUB_ACTIONS_ANNOTATION;\n break;\n case 'gitlab':\n annotation = GITLAB_ACTIONS_ANNOTATION;\n break;\n default:\n return entity;\n }\n\n let projectSlug = entity.metadata.annotations?.[annotation];\n if (!projectSlug) {\n const gitUrl = parseGitUrl(location.target);\n projectSlug = `${gitUrl.owner}/${gitUrl.name}`;\n }\n\n return merge(\n {\n metadata: {\n annotations: pickBy(\n {\n [annotation]: projectSlug,\n },\n identity,\n ),\n },\n },\n entity,\n );\n }\n}\n","/*\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 { Entity, LocationEntity } from '@backstage/catalog-model';\nimport { ScmIntegrationRegistry } from '@backstage/integration';\nimport path from 'path';\nimport { LocationSpec } from '@backstage/plugin-catalog-common';\nimport {\n processingResult,\n CatalogProcessor,\n CatalogProcessorEmit,\n} from '@backstage/plugin-catalog-node';\n\nexport function toAbsoluteUrl(\n integrations: ScmIntegrationRegistry,\n base: LocationSpec,\n target: string,\n): string {\n try {\n if (base.type === 'file') {\n if (target.startsWith('.')) {\n return path.join(path.dirname(base.target), target);\n }\n return target;\n }\n return integrations.resolveUrl({ url: target, base: base.target });\n } catch (e) {\n return target;\n }\n}\n\n/** @public */\nexport type LocationEntityProcessorOptions = {\n integrations: ScmIntegrationRegistry;\n};\n\n/** @public */\nexport class LocationEntityProcessor implements CatalogProcessor {\n constructor(private readonly options: LocationEntityProcessorOptions) {}\n\n getProcessorName(): string {\n return 'LocationEntityProcessor';\n }\n\n async postProcessEntity(\n entity: Entity,\n location: LocationSpec,\n emit: CatalogProcessorEmit,\n ): Promise<Entity> {\n if (entity.kind === 'Location') {\n const locationEntity = entity as LocationEntity;\n\n const type = locationEntity.spec.type || location.type;\n if (type === 'file' && location.target.endsWith(path.sep)) {\n emit(\n processingResult.inputError(\n location,\n `LocationEntityProcessor cannot handle ${type} type location with target ${location.target} that ends with a path separator`,\n ),\n );\n }\n\n const targets = new Array<string>();\n if (locationEntity.spec.target) {\n targets.push(locationEntity.spec.target);\n }\n if (locationEntity.spec.targets) {\n targets.push(...locationEntity.spec.targets);\n }\n\n for (const maybeRelativeTarget of targets) {\n const target = toAbsoluteUrl(\n this.options.integrations,\n location,\n maybeRelativeTarget,\n );\n emit(processingResult.location({ type, target }));\n }\n }\n\n return entity;\n }\n}\n","/*\n * Copyright 2021 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 PluginEndpointDiscovery,\n TokenManager,\n} from '@backstage/backend-common';\nimport {\n Entity,\n isUserEntity,\n stringifyEntityRef,\n} from '@backstage/catalog-model';\nimport { Config } from '@backstage/config';\nimport {\n CatalogApi,\n CatalogClient,\n GetEntitiesRequest,\n} from '@backstage/catalog-client';\nimport { catalogEntityReadPermission } from '@backstage/plugin-catalog-common/alpha';\nimport { CatalogEntityDocument } from '@backstage/plugin-catalog-common';\nimport { Permission } from '@backstage/plugin-permission-common';\n\n/**\n * @public\n * @deprecated Upgrade to a more recent `@backstage/plugin-search-backend-node` and\n * use `DefaultCatalogCollatorFactory` instead.\n */\nexport class DefaultCatalogCollator {\n protected discovery: PluginEndpointDiscovery;\n protected locationTemplate: string;\n protected filter?: GetEntitiesRequest['filter'];\n protected readonly catalogClient: CatalogApi;\n public readonly type: string = 'software-catalog';\n public readonly visibilityPermission: Permission =\n catalogEntityReadPermission;\n protected tokenManager: TokenManager;\n\n static fromConfig(\n _config: Config,\n options: {\n discovery: PluginEndpointDiscovery;\n tokenManager: TokenManager;\n filter?: GetEntitiesRequest['filter'];\n },\n ) {\n return new DefaultCatalogCollator({\n ...options,\n });\n }\n\n constructor(options: {\n discovery: PluginEndpointDiscovery;\n tokenManager: TokenManager;\n locationTemplate?: string;\n filter?: GetEntitiesRequest['filter'];\n catalogClient?: CatalogApi;\n }) {\n const { discovery, locationTemplate, filter, catalogClient, tokenManager } =\n options;\n\n this.discovery = discovery;\n this.locationTemplate =\n locationTemplate || '/catalog/:namespace/:kind/:name';\n this.filter = filter;\n this.catalogClient =\n catalogClient || new CatalogClient({ discoveryApi: discovery });\n this.tokenManager = tokenManager;\n }\n\n protected applyArgsToFormat(\n format: string,\n args: Record<string, string>,\n ): string {\n let formatted = format;\n for (const [key, value] of Object.entries(args)) {\n formatted = formatted.replace(`:${key}`, value);\n }\n return formatted.toLowerCase();\n }\n\n private getDocumentText(entity: Entity): string {\n let documentText = entity.metadata.description || '';\n if (isUserEntity(entity)) {\n if (entity.spec?.profile?.displayName && documentText) {\n // combine displayName and description\n const displayName = entity.spec?.profile?.displayName;\n documentText = displayName.concat(' : ', documentText);\n } else {\n documentText = entity.spec?.profile?.displayName || documentText;\n }\n }\n return documentText;\n }\n\n async execute() {\n const { token } = await this.tokenManager.getToken();\n const response = await this.catalogClient.getEntities(\n {\n filter: this.filter,\n },\n { token },\n );\n return response.items.map((entity: Entity): CatalogEntityDocument => {\n return {\n title: entity.metadata.title ?? entity.metadata.name,\n location: this.applyArgsToFormat(this.locationTemplate, {\n namespace: entity.metadata.namespace || 'default',\n kind: entity.kind,\n name: entity.metadata.name,\n }),\n text: this.getDocumentText(entity),\n componentType: entity.spec?.type?.toString() || 'other',\n type: entity.spec?.type?.toString() || 'other',\n namespace: entity.metadata.namespace || 'default',\n kind: entity.kind,\n lifecycle: (entity.spec?.lifecycle as string) || '',\n owner: (entity.spec?.owner as string) || '',\n authorization: {\n resourceRef: stringifyEntityRef(entity),\n },\n };\n });\n }\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 {\n locationSpecToMetadataName as _locationSpecToMetadataName,\n locationSpecToLocationEntity as _locationSpecToLocationEntity,\n processingResult as _processingResult,\n type DeferredEntity as _DeferredEntity,\n type EntityRelationSpec as _EntityRelationSpec,\n type CatalogProcessor as _CatalogProcessor,\n type CatalogProcessorParser as _CatalogProcessorParser,\n type CatalogProcessorCache as _CatalogProcessorCache,\n type CatalogProcessorEmit as _CatalogProcessorEmit,\n type CatalogProcessorLocationResult as _CatalogProcessorLocationResult,\n type CatalogProcessorEntityResult as _CatalogProcessorEntityResult,\n type CatalogProcessorRelationResult as _CatalogProcessorRelationResult,\n type CatalogProcessorErrorResult as _CatalogProcessorErrorResult,\n type CatalogProcessorRefreshKeysResult as _CatalogProcessorRefreshKeysResult,\n type CatalogProcessorResult as _CatalogProcessorResult,\n type EntityProvider as _EntityProvider,\n type EntityProviderConnection as _EntityProviderConnection,\n type EntityProviderMutation as _EntityProviderMutation,\n} from '@backstage/plugin-catalog-node';\nimport { type LocationSpec as _LocationSpec } from '@backstage/plugin-catalog-common';\n\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport const locationSpecToMetadataName = _locationSpecToMetadataName;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport const locationSpecToLocationEntity = _locationSpecToLocationEntity;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport const processingResult = _processingResult;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type DeferredEntity = _DeferredEntity;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type EntityRelationSpec = _EntityRelationSpec;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessor = _CatalogProcessor;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorParser = _CatalogProcessorParser;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorCache = _CatalogProcessorCache;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorEmit = _CatalogProcessorEmit;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorLocationResult = _CatalogProcessorLocationResult;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorEntityResult = _CatalogProcessorEntityResult;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorRelationResult = _CatalogProcessorRelationResult;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorErrorResult = _CatalogProcessorErrorResult;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorRefreshKeysResult =\n _CatalogProcessorRefreshKeysResult;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type CatalogProcessorResult = _CatalogProcessorResult;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type EntityProvider = _EntityProvider;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type EntityProviderConnection = _EntityProviderConnection;\n/**\n * @public\n * @deprecated import from `@backstage/plugin-catalog-node` instead\n */\nexport type EntityProviderMutation = _EntityProviderMutation;\n\n/**\n * Holds the entity location information.\n *\n * @remarks\n *\n * `presence` flag: when using repo importer plugin, location is being created before the component yaml file is merged to the main branch.\n * This flag is then set to indicate that the file can be not present.\n * default value: 'required'.\n *\n * @public\n * @deprecated use the same type from `@backstage/plugin-catalog-common` instead\n */\nexport type LocationSpec = _LocationSpec;\n","/*\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\n/**\n * The Backstage backend plugin that provides the Backstage catalog\n *\n * @packageDocumentation\n */\n\nexport * from './catalog';\nexport * from './ingestion';\nexport * from './modules';\nexport * from './processing';\nexport * from './search';\nexport * from './service';\nexport * from './deprecated';\nexport * from './constants';\n\nimport {\n DefaultCatalogCollatorFactory as _DefaultCatalogCollatorFactory,\n defaultCatalogCollatorEntityTransformer as _defaultCatalogCollatorEntityTransformer,\n} from '@backstage/plugin-search-backend-module-catalog';\n\n/**\n * @public\n * @deprecated import from `@backstage/plugin-search-backend-module-catalog` instead\n */\nexport const DefaultCatalogCollatorFactory = _DefaultCatalogCollatorFactory;\n\n/**\n * @public\n * @deprecated import from `@backstage/plugin-search-backend-module-catalog` instead\n */\nexport const defaultCatalogCollatorEntityTransformer =\n _defaultCatalogCollatorEntityTransformer;\n\nimport type {\n DefaultCatalogCollatorFactoryOptions as _DefaultCatalogCollatorFactoryOptions,\n CatalogCollatorEntityTransformer as _CatalogCollatorEntityTransformer,\n} from '@backstage/plugin-search-backend-module-catalog';\n\n/**\n * @public\n * @deprecated import from `@backstage/plugin-search-backend-module-catalog` instead\n */\nexport type DefaultCatalogCollatorFactoryOptions =\n _DefaultCatalogCollatorFactoryOptions;\n\n/**\n * @public\n * @deprecated import from `@backstage/plugin-search-backend-module-catalog` instead\n */\nexport type CatalogCollatorEntityTransformer =\n _CatalogCollatorEntityTransformer;\n"],"names":["ScmIntegrations","parseGitUrl","merge","pickBy","identity","path","processingResult","catalogEntityReadPermission","catalogClient","CatalogClient","isUserEntity","stringifyEntityRef","_locationSpecToMetadataName","_locationSpecToLocationEntity","_processingResult","_DefaultCatalogCollatorFactory","_defaultCatalogCollatorEntityTransformer"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -611,23 +611,23 @@ declare const CATALOG_CONFLICTS_TOPIC = "experimental.catalog.conflict";
611
611
 
612
612
  /**
613
613
  * @public
614
- * @deprecated import from `@backstage/search-backend-module-catalog` instead
614
+ * @deprecated import from `@backstage/plugin-search-backend-module-catalog` instead
615
615
  */
616
616
  declare const DefaultCatalogCollatorFactory: typeof DefaultCatalogCollatorFactory$1;
617
617
  /**
618
618
  * @public
619
- * @deprecated import from `@backstage/search-backend-module-catalog` instead
619
+ * @deprecated import from `@backstage/plugin-search-backend-module-catalog` instead
620
620
  */
621
621
  declare const defaultCatalogCollatorEntityTransformer: CatalogCollatorEntityTransformer$1;
622
622
 
623
623
  /**
624
624
  * @public
625
- * @deprecated import from `@backstage/search-backend-module-catalog` instead
625
+ * @deprecated import from `@backstage/plugin-search-backend-module-catalog` instead
626
626
  */
627
627
  type DefaultCatalogCollatorFactoryOptions = DefaultCatalogCollatorFactoryOptions$1;
628
628
  /**
629
629
  * @public
630
- * @deprecated import from `@backstage/search-backend-module-catalog` instead
630
+ * @deprecated import from `@backstage/plugin-search-backend-module-catalog` instead
631
631
  */
632
632
  type CatalogCollatorEntityTransformer = CatalogCollatorEntityTransformer$1;
633
633
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@backstage/plugin-catalog-backend",
3
3
  "description": "The Backstage backend plugin that provides the Backstage catalog",
4
- "version": "1.12.0-next.2",
4
+ "version": "1.12.0",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "license": "Apache-2.0",
@@ -43,23 +43,23 @@
43
43
  "clean": "backstage-cli package clean"
44
44
  },
45
45
  "dependencies": {
46
- "@backstage/backend-common": "^0.19.2-next.2",
47
- "@backstage/backend-openapi-utils": "^0.0.3-next.1",
48
- "@backstage/backend-plugin-api": "^0.6.0-next.2",
49
- "@backstage/backend-tasks": "^0.5.5-next.2",
46
+ "@backstage/backend-common": "^0.19.2",
47
+ "@backstage/backend-openapi-utils": "^0.0.3",
48
+ "@backstage/backend-plugin-api": "^0.6.0",
49
+ "@backstage/backend-tasks": "^0.5.5",
50
50
  "@backstage/catalog-client": "^1.4.3",
51
51
  "@backstage/catalog-model": "^1.4.1",
52
52
  "@backstage/config": "^1.0.8",
53
53
  "@backstage/errors": "^1.2.1",
54
- "@backstage/integration": "^1.5.1",
55
- "@backstage/plugin-auth-node": "^0.2.17-next.2",
54
+ "@backstage/integration": "^1.6.0",
55
+ "@backstage/plugin-auth-node": "^0.2.17",
56
56
  "@backstage/plugin-catalog-common": "^1.0.15",
57
- "@backstage/plugin-catalog-node": "^1.4.1-next.2",
58
- "@backstage/plugin-events-node": "^0.2.9-next.2",
57
+ "@backstage/plugin-catalog-node": "^1.4.1",
58
+ "@backstage/plugin-events-node": "^0.2.9",
59
59
  "@backstage/plugin-permission-common": "^0.7.7",
60
- "@backstage/plugin-permission-node": "^0.7.11-next.2",
61
- "@backstage/plugin-scaffolder-common": "^1.3.2",
62
- "@backstage/plugin-search-backend-module-catalog": "^0.1.4-next.2",
60
+ "@backstage/plugin-permission-node": "^0.7.11",
61
+ "@backstage/plugin-scaffolder-common": "^1.4.0",
62
+ "@backstage/plugin-search-backend-module-catalog": "^0.1.4",
63
63
  "@backstage/plugin-search-common": "^1.2.5",
64
64
  "@backstage/types": "^1.1.0",
65
65
  "@opentelemetry/api": "^1.3.0",
@@ -86,10 +86,10 @@
86
86
  "zod": "^3.21.4"
87
87
  },
88
88
  "devDependencies": {
89
- "@backstage/backend-test-utils": "^0.2.0-next.2",
90
- "@backstage/cli": "^0.22.10-next.1",
89
+ "@backstage/backend-test-utils": "^0.2.0",
90
+ "@backstage/cli": "^0.22.10",
91
91
  "@backstage/plugin-permission-common": "^0.7.7",
92
- "@backstage/plugin-search-backend-node": "^1.2.4-next.2",
92
+ "@backstage/plugin-search-backend-node": "^1.2.4",
93
93
  "@types/core-js": "^2.5.4",
94
94
  "@types/git-url-parse": "^9.0.0",
95
95
  "@types/lodash": "^4.14.151",