From d5313ede3529da31fc2e03e372ce525ebb6a75dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Mon, 11 Sep 2023 14:44:38 +0200 Subject: [PATCH] Moved `ScaffolderEntitiesProcessor` and `catalogModuleTemplateKind` to a dedicated module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw Co-authored-by: Camila Belo Co-authored-by: Philipp Hugenroth Co-authored-by: Patrik Oldsberg Co-authored-by: Johan Haals --- .changeset/twenty-worms-enjoy.md | 7 +++ .changeset/wet-donuts-fry.md | 5 ++ packages/backend-next/package.json | 1 + packages/backend-next/src/index.ts | 3 ++ packages/backend/package.json | 1 + packages/backend/src/plugins/catalog.ts | 4 +- .../.eslintrc.js | 1 + .../README.md | 5 ++ .../api-report.md | 29 +++++++++++ .../package.json | 49 +++++++++++++++++++ .../src}/index.ts | 11 ++++- .../src/module.test.ts} | 4 +- .../src/module.ts} | 6 +-- .../ScaffolderEntitiesProcessor.test.ts | 0 .../processor/ScaffolderEntitiesProcessor.ts | 6 ++- .../src/processor/index.ts | 0 .../scaffolder-backend/alpha-api-report.md | 3 -- plugins/scaffolder-backend/api-report.md | 20 ++------ plugins/scaffolder-backend/package.json | 1 + plugins/scaffolder-backend/src/alpha.ts | 1 - plugins/scaffolder-backend/src/deprecated.ts | 9 ++++ plugins/scaffolder-backend/src/index.ts | 1 - yarn.lock | 18 +++++++ 23 files changed, 153 insertions(+), 32 deletions(-) create mode 100644 .changeset/twenty-worms-enjoy.md create mode 100644 .changeset/wet-donuts-fry.md create mode 100644 plugins/catalog-backend-module-scaffolder-entities/.eslintrc.js create mode 100644 plugins/catalog-backend-module-scaffolder-entities/README.md create mode 100644 plugins/catalog-backend-module-scaffolder-entities/api-report.md create mode 100644 plugins/catalog-backend-module-scaffolder-entities/package.json rename plugins/{scaffolder-backend/src/modules => catalog-backend-module-scaffolder-entities/src}/index.ts (70%) rename plugins/{scaffolder-backend/src/modules/catalogModuleTemplateKind.test.ts => catalog-backend-module-scaffolder-entities/src/module.test.ts} (90%) rename plugins/{scaffolder-backend/src/modules/catalogModuleTemplateKind.ts => catalog-backend-module-scaffolder-entities/src/module.ts} (90%) rename plugins/{scaffolder-backend => catalog-backend-module-scaffolder-entities}/src/processor/ScaffolderEntitiesProcessor.test.ts (100%) rename plugins/{scaffolder-backend => catalog-backend-module-scaffolder-entities}/src/processor/ScaffolderEntitiesProcessor.ts (96%) rename plugins/{scaffolder-backend => catalog-backend-module-scaffolder-entities}/src/processor/index.ts (100%) diff --git a/.changeset/twenty-worms-enjoy.md b/.changeset/twenty-worms-enjoy.md new file mode 100644 index 0000000000..a84246bad9 --- /dev/null +++ b/.changeset/twenty-worms-enjoy.md @@ -0,0 +1,7 @@ +--- +'@backstage/plugin-scaffolder-backend': minor +--- + +**DEPRECATION**: Deprecated `ScaffolderEntitiesProcessor`, which should now instead be imported from `@backstage/plugin-catalog-backend-module-scaffolder-entities`. + +`catalogModuleTemplateKind` was also moved to that package, without any deprecation since it was an alpha export. diff --git a/.changeset/wet-donuts-fry.md b/.changeset/wet-donuts-fry.md new file mode 100644 index 0000000000..95555e726f --- /dev/null +++ b/.changeset/wet-donuts-fry.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend-module-scaffolder-entities': minor +--- + +Added a dedicated module to collect the `ScaffolderEntitiesProcessor` and `catalogModuleTemplateKind`. diff --git a/packages/backend-next/package.json b/packages/backend-next/package.json index 9b726fb307..2becbff082 100644 --- a/packages/backend-next/package.json +++ b/packages/backend-next/package.json @@ -34,6 +34,7 @@ "@backstage/plugin-azure-devops-backend": "workspace:^", "@backstage/plugin-badges-backend": "workspace:^", "@backstage/plugin-catalog-backend": "workspace:^", + "@backstage/plugin-catalog-backend-module-scaffolder-entities": "^0.0.0", "@backstage/plugin-catalog-backend-module-unprocessed": "workspace:^", "@backstage/plugin-devtools-backend": "workspace:^", "@backstage/plugin-entity-feedback-backend": "workspace:^", diff --git a/packages/backend-next/src/index.ts b/packages/backend-next/src/index.ts index cf7734c089..fd648f7ad0 100644 --- a/packages/backend-next/src/index.ts +++ b/packages/backend-next/src/index.ts @@ -23,6 +23,9 @@ backend.add(import('@backstage/plugin-app-backend/alpha')); backend.add(import('@backstage/plugin-azure-devops-backend')); backend.add(import('@backstage/plugin-badges-backend')); backend.add(import('@backstage/plugin-catalog-backend-module-unprocessed')); +backend.add( + import('@backstage/plugin-catalog-backend-module-scaffolder-entities'), +); backend.add(import('@backstage/plugin-catalog-backend/alpha')); backend.add(import('@backstage/plugin-devtools-backend')); backend.add(import('@backstage/plugin-entity-feedback-backend')); diff --git a/packages/backend/package.json b/packages/backend/package.json index d7f8a9c403..c29fddfeb3 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -40,6 +40,7 @@ "@backstage/plugin-azure-sites-backend": "workspace:^", "@backstage/plugin-badges-backend": "workspace:^", "@backstage/plugin-catalog-backend": "workspace:^", + "@backstage/plugin-catalog-backend-module-scaffolder-entities": "^0.0.0", "@backstage/plugin-catalog-backend-module-unprocessed": "workspace:^", "@backstage/plugin-catalog-node": "workspace:^", "@backstage/plugin-code-coverage-backend": "workspace:^", diff --git a/packages/backend/src/plugins/catalog.ts b/packages/backend/src/plugins/catalog.ts index 7afd0a0cb7..72e64abf55 100644 --- a/packages/backend/src/plugins/catalog.ts +++ b/packages/backend/src/plugins/catalog.ts @@ -15,11 +15,11 @@ */ import { CatalogBuilder } from '@backstage/plugin-catalog-backend'; -import { ScaffolderEntitiesProcessor } from '@backstage/plugin-scaffolder-backend'; +import { ScaffolderEntitiesProcessor } from '@backstage/plugin-catalog-backend-module-scaffolder-entities'; +import { UnprocessedEntitiesModule } from '@backstage/plugin-catalog-backend-module-unprocessed'; import { Router } from 'express'; import { PluginEnvironment } from '../types'; import { DemoEventBasedEntityProvider } from './DemoEventBasedEntityProvider'; -import { UnprocessedEntitiesModule } from '@backstage/plugin-catalog-backend-module-unprocessed'; export default async function createPlugin( env: PluginEnvironment, diff --git a/plugins/catalog-backend-module-scaffolder-entities/.eslintrc.js b/plugins/catalog-backend-module-scaffolder-entities/.eslintrc.js new file mode 100644 index 0000000000..e2a53a6ad2 --- /dev/null +++ b/plugins/catalog-backend-module-scaffolder-entities/.eslintrc.js @@ -0,0 +1 @@ +module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); diff --git a/plugins/catalog-backend-module-scaffolder-entities/README.md b/plugins/catalog-backend-module-scaffolder-entities/README.md new file mode 100644 index 0000000000..fa7612d55a --- /dev/null +++ b/plugins/catalog-backend-module-scaffolder-entities/README.md @@ -0,0 +1,5 @@ +# @backstage/plugin-catalog-backend-module-scaffolder-entities + +The scaffolder-entities backend module for the catalog plugin. + +_This plugin was created through the Backstage CLI_ diff --git a/plugins/catalog-backend-module-scaffolder-entities/api-report.md b/plugins/catalog-backend-module-scaffolder-entities/api-report.md new file mode 100644 index 0000000000..462788ebcd --- /dev/null +++ b/plugins/catalog-backend-module-scaffolder-entities/api-report.md @@ -0,0 +1,29 @@ +## API Report File for "@backstage/plugin-catalog-backend-module-scaffolder-entities" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts +import { BackendFeature } from '@backstage/backend-plugin-api'; +import { CatalogProcessor } from '@backstage/plugin-catalog-node'; +import { CatalogProcessorEmit } from '@backstage/plugin-catalog-node'; +import { Entity } from '@backstage/catalog-model'; +import { LocationSpec } from '@backstage/plugin-catalog-common'; + +// @public +const catalogModuleTemplateKind: () => BackendFeature; +export default catalogModuleTemplateKind; + +// @public +export class ScaffolderEntitiesProcessor implements CatalogProcessor { + // (undocumented) + getProcessorName(): string; + // (undocumented) + postProcessEntity( + entity: Entity, + _location: LocationSpec, + emit: CatalogProcessorEmit, + ): Promise; + // (undocumented) + validateEntityKind(entity: Entity): Promise; +} +``` diff --git a/plugins/catalog-backend-module-scaffolder-entities/package.json b/plugins/catalog-backend-module-scaffolder-entities/package.json new file mode 100644 index 0000000000..199c2fb57e --- /dev/null +++ b/plugins/catalog-backend-module-scaffolder-entities/package.json @@ -0,0 +1,49 @@ +{ + "name": "@backstage/plugin-catalog-backend-module-scaffolder-entities", + "description": "The scaffolder-entities backend module for the catalog plugin", + "version": "0.0.0", + "main": "src/index.ts", + "types": "src/index.ts", + "license": "Apache-2.0", + "publishConfig": { + "access": "public" + }, + "exports": { + ".": "./src/index.ts", + "./package.json": "./package.json" + }, + "typesVersions": { + "*": { + "package.json": [ + "package.json" + ] + } + }, + "backstage": { + "role": "backend-plugin-module" + }, + "scripts": { + "start": "backstage-cli package start", + "build": "backstage-cli package build", + "lint": "backstage-cli package lint", + "test": "backstage-cli package test", + "clean": "backstage-cli package clean", + "prepack": "backstage-cli package prepack", + "postpack": "backstage-cli package postpack" + }, + "dependencies": { + "@backstage/backend-common": "workspace:^", + "@backstage/backend-plugin-api": "workspace:^", + "@backstage/catalog-model": "workspace:^", + "@backstage/plugin-catalog-common": "workspace:^", + "@backstage/plugin-catalog-node": "workspace:^", + "@backstage/plugin-scaffolder-common": "workspace:^" + }, + "devDependencies": { + "@backstage/backend-test-utils": "workspace:^", + "@backstage/cli": "workspace:^" + }, + "files": [ + "dist" + ] +} diff --git a/plugins/scaffolder-backend/src/modules/index.ts b/plugins/catalog-backend-module-scaffolder-entities/src/index.ts similarity index 70% rename from plugins/scaffolder-backend/src/modules/index.ts rename to plugins/catalog-backend-module-scaffolder-entities/src/index.ts index 993a66815a..feeb9af444 100644 --- a/plugins/scaffolder-backend/src/modules/index.ts +++ b/plugins/catalog-backend-module-scaffolder-entities/src/index.ts @@ -1,5 +1,5 @@ /* - * Copyright 2022 The Backstage Authors + * Copyright 2020 The Backstage Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,4 +14,11 @@ * limitations under the License. */ -export { catalogModuleTemplateKind } from './catalogModuleTemplateKind'; +/** + * The scaffolder-entities backend module for the catalog plugin. + * + * @packageDocumentation + */ + +export * from './processor'; +export { catalogModuleTemplateKind as default } from './module'; diff --git a/plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.test.ts b/plugins/catalog-backend-module-scaffolder-entities/src/module.test.ts similarity index 90% rename from plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.test.ts rename to plugins/catalog-backend-module-scaffolder-entities/src/module.test.ts index 7b8b99f5e2..8227f1f2e0 100644 --- a/plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.test.ts +++ b/plugins/catalog-backend-module-scaffolder-entities/src/module.test.ts @@ -15,8 +15,8 @@ */ import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha'; -import { ScaffolderEntitiesProcessor } from '../processor'; -import { catalogModuleTemplateKind } from './catalogModuleTemplateKind'; +import { ScaffolderEntitiesProcessor } from './processor'; +import { catalogModuleTemplateKind } from './module'; import { startTestBackend } from '@backstage/backend-test-utils'; describe('catalogModuleTemplateKind', () => { diff --git a/plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.ts b/plugins/catalog-backend-module-scaffolder-entities/src/module.ts similarity index 90% rename from plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.ts rename to plugins/catalog-backend-module-scaffolder-entities/src/module.ts index 81d3dc3e93..4a0bd5046e 100644 --- a/plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.ts +++ b/plugins/catalog-backend-module-scaffolder-entities/src/module.ts @@ -16,16 +16,16 @@ import { createBackendModule } from '@backstage/backend-plugin-api'; import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha'; -import { ScaffolderEntitiesProcessor } from '../processor'; +import { ScaffolderEntitiesProcessor } from '@backstage/plugin-catalog-backend-module-scaffolder-entities'; /** * Registers support for the Template kind to the catalog backend plugin. * - * @alpha + * @public */ export const catalogModuleTemplateKind = createBackendModule({ - moduleId: 'templateKind', pluginId: 'catalog', + moduleId: 'templateKind', register(env) { env.registerInit({ deps: { diff --git a/plugins/scaffolder-backend/src/processor/ScaffolderEntitiesProcessor.test.ts b/plugins/catalog-backend-module-scaffolder-entities/src/processor/ScaffolderEntitiesProcessor.test.ts similarity index 100% rename from plugins/scaffolder-backend/src/processor/ScaffolderEntitiesProcessor.test.ts rename to plugins/catalog-backend-module-scaffolder-entities/src/processor/ScaffolderEntitiesProcessor.test.ts diff --git a/plugins/scaffolder-backend/src/processor/ScaffolderEntitiesProcessor.ts b/plugins/catalog-backend-module-scaffolder-entities/src/processor/ScaffolderEntitiesProcessor.ts similarity index 96% rename from plugins/scaffolder-backend/src/processor/ScaffolderEntitiesProcessor.ts rename to plugins/catalog-backend-module-scaffolder-entities/src/processor/ScaffolderEntitiesProcessor.ts index 1de381a8ff..e597d74233 100644 --- a/plugins/scaffolder-backend/src/processor/ScaffolderEntitiesProcessor.ts +++ b/plugins/catalog-backend-module-scaffolder-entities/src/processor/ScaffolderEntitiesProcessor.ts @@ -32,7 +32,11 @@ import { templateEntityV1beta3Validator, } from '@backstage/plugin-scaffolder-common'; -/** @public */ +/** + * Adds support for scaffolder specific entity kinds to the catalog. + * + * @public + */ export class ScaffolderEntitiesProcessor implements CatalogProcessor { getProcessorName(): string { return 'ScaffolderEntitiesProcessor'; diff --git a/plugins/scaffolder-backend/src/processor/index.ts b/plugins/catalog-backend-module-scaffolder-entities/src/processor/index.ts similarity index 100% rename from plugins/scaffolder-backend/src/processor/index.ts rename to plugins/catalog-backend-module-scaffolder-entities/src/processor/index.ts diff --git a/plugins/scaffolder-backend/alpha-api-report.md b/plugins/scaffolder-backend/alpha-api-report.md index 20def133ad..2eb0187a94 100644 --- a/plugins/scaffolder-backend/alpha-api-report.md +++ b/plugins/scaffolder-backend/alpha-api-report.md @@ -15,9 +15,6 @@ import { ResourcePermission } from '@backstage/plugin-permission-common'; import { TemplateEntityStepV1beta3 } from '@backstage/plugin-scaffolder-common'; import { TemplateParametersV1beta3 } from '@backstage/plugin-scaffolder-common'; -// @alpha -export const catalogModuleTemplateKind: () => BackendFeature; - // @alpha (undocumented) export const createScaffolderActionConditionalDecision: ( permission: ResourcePermission<'scaffolder-action'>, diff --git a/plugins/scaffolder-backend/api-report.md b/plugins/scaffolder-backend/api-report.md index 7fe4964827..d59bdbf2a4 100644 --- a/plugins/scaffolder-backend/api-report.md +++ b/plugins/scaffolder-backend/api-report.md @@ -5,12 +5,9 @@ ```ts import { ActionContext as ActionContext_2 } from '@backstage/plugin-scaffolder-node'; import { CatalogApi } from '@backstage/catalog-client'; -import { CatalogProcessor } from '@backstage/plugin-catalog-node'; -import { CatalogProcessorEmit } from '@backstage/plugin-catalog-node'; import { Config } from '@backstage/config'; import { createPullRequest } from 'octokit-plugin-create-pull-request'; import { Duration } from 'luxon'; -import { Entity } from '@backstage/catalog-model'; import { executeShellCommand as executeShellCommand_2 } from '@backstage/plugin-scaffolder-node'; import { ExecuteShellCommandOptions } from '@backstage/plugin-scaffolder-node'; import express from 'express'; @@ -20,7 +17,6 @@ import { HumanDuration } from '@backstage/types'; import { IdentityApi } from '@backstage/plugin-auth-node'; import { JsonObject } from '@backstage/types'; import { Knex } from 'knex'; -import { LocationSpec } from '@backstage/plugin-catalog-common'; import { Logger } from 'winston'; import { Octokit } from 'octokit'; import { PermissionEvaluator } from '@backstage/plugin-permission-common'; @@ -30,6 +26,7 @@ import { PluginDatabaseManager } from '@backstage/backend-common'; import { PluginTaskScheduler } from '@backstage/backend-tasks'; import { RESOURCE_TYPE_SCAFFOLDER_ACTION } from '@backstage/plugin-scaffolder-common/alpha'; import { RESOURCE_TYPE_SCAFFOLDER_TEMPLATE } from '@backstage/plugin-scaffolder-common/alpha'; +import { ScaffolderEntitiesProcessor as ScaffolderEntitiesProcessor_2 } from '@backstage/plugin-catalog-backend-module-scaffolder-entities'; import { Schema } from 'jsonschema'; import { ScmIntegrationRegistry } from '@backstage/integration'; import { ScmIntegrations } from '@backstage/integration'; @@ -881,19 +878,8 @@ export interface RouterOptions { // @public @deprecated export type RunCommandOptions = ExecuteShellCommandOptions; -// @public (undocumented) -export class ScaffolderEntitiesProcessor implements CatalogProcessor { - // (undocumented) - getProcessorName(): string; - // (undocumented) - postProcessEntity( - entity: Entity, - _location: LocationSpec, - emit: CatalogProcessorEmit, - ): Promise; - // (undocumented) - validateEntityKind(entity: Entity): Promise; -} +// @public @deprecated +export const ScaffolderEntitiesProcessor: typeof ScaffolderEntitiesProcessor_2; // @public @deprecated export type SerializedTask = SerializedTask_2; diff --git a/plugins/scaffolder-backend/package.json b/plugins/scaffolder-backend/package.json index 0399684144..7f006339d4 100644 --- a/plugins/scaffolder-backend/package.json +++ b/plugins/scaffolder-backend/package.json @@ -56,6 +56,7 @@ "@backstage/integration": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", "@backstage/plugin-catalog-backend": "workspace:^", + "@backstage/plugin-catalog-backend-module-scaffolder-entities": "workspace:^", "@backstage/plugin-catalog-common": "workspace:^", "@backstage/plugin-catalog-node": "workspace:^", "@backstage/plugin-permission-common": "workspace:^", diff --git a/plugins/scaffolder-backend/src/alpha.ts b/plugins/scaffolder-backend/src/alpha.ts index 07228fab88..4c4885413b 100644 --- a/plugins/scaffolder-backend/src/alpha.ts +++ b/plugins/scaffolder-backend/src/alpha.ts @@ -14,6 +14,5 @@ * limitations under the License. */ -export * from './modules'; export * from './service'; export { scaffolderPlugin as default } from './ScaffolderPlugin'; diff --git a/plugins/scaffolder-backend/src/deprecated.ts b/plugins/scaffolder-backend/src/deprecated.ts index d1a0f9ad5b..a17ce521f2 100644 --- a/plugins/scaffolder-backend/src/deprecated.ts +++ b/plugins/scaffolder-backend/src/deprecated.ts @@ -24,6 +24,7 @@ import { fetchContents as fetchContentsNode, } from '@backstage/plugin-scaffolder-node'; import { JsonObject } from '@backstage/types'; +import { ScaffolderEntitiesProcessor as ScaffolderEntitiesProcessorModule } from '@backstage/plugin-catalog-backend-module-scaffolder-entities'; /** * @public @@ -75,3 +76,11 @@ export const executeShellCommand = executeShellCommandNode; * @deprecated Use `fetchContents` from `@backstage/plugin-scaffolder-node` instead */ export const fetchContents = fetchContentsNode; + +/** + * Adds support for scaffolder specific entity kinds to the catalog. + * + * @public + * @deprecated Import from `@backstage/plugin-catalog-backend-module-scaffolder-entities` instead + */ +export const ScaffolderEntitiesProcessor = ScaffolderEntitiesProcessorModule; diff --git a/plugins/scaffolder-backend/src/index.ts b/plugins/scaffolder-backend/src/index.ts index ba2c25f80a..649a5df233 100644 --- a/plugins/scaffolder-backend/src/index.ts +++ b/plugins/scaffolder-backend/src/index.ts @@ -23,6 +23,5 @@ export * from './scaffolder'; export * from './service/router'; export * from './lib'; -export * from './processor'; export * from './deprecated'; diff --git a/yarn.lock b/yarn.lock index c62fc28103..feb01e6beb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5667,6 +5667,21 @@ __metadata: languageName: unknown linkType: soft +"@backstage/plugin-catalog-backend-module-scaffolder-entities@^0.0.0, @backstage/plugin-catalog-backend-module-scaffolder-entities@workspace:^, @backstage/plugin-catalog-backend-module-scaffolder-entities@workspace:plugins/catalog-backend-module-scaffolder-entities": + version: 0.0.0-use.local + resolution: "@backstage/plugin-catalog-backend-module-scaffolder-entities@workspace:plugins/catalog-backend-module-scaffolder-entities" + dependencies: + "@backstage/backend-common": "workspace:^" + "@backstage/backend-plugin-api": "workspace:^" + "@backstage/backend-test-utils": "workspace:^" + "@backstage/catalog-model": "workspace:^" + "@backstage/cli": "workspace:^" + "@backstage/plugin-catalog-common": "workspace:^" + "@backstage/plugin-catalog-node": "workspace:^" + "@backstage/plugin-scaffolder-common": "workspace:^" + languageName: unknown + linkType: soft + "@backstage/plugin-catalog-backend-module-unprocessed@workspace:^, @backstage/plugin-catalog-backend-module-unprocessed@workspace:plugins/catalog-backend-module-unprocessed": version: 0.0.0-use.local resolution: "@backstage/plugin-catalog-backend-module-unprocessed@workspace:plugins/catalog-backend-module-unprocessed" @@ -8637,6 +8652,7 @@ __metadata: "@backstage/integration": "workspace:^" "@backstage/plugin-auth-node": "workspace:^" "@backstage/plugin-catalog-backend": "workspace:^" + "@backstage/plugin-catalog-backend-module-scaffolder-entities": "workspace:^" "@backstage/plugin-catalog-common": "workspace:^" "@backstage/plugin-catalog-node": "workspace:^" "@backstage/plugin-permission-common": "workspace:^" @@ -25809,6 +25825,7 @@ __metadata: "@backstage/plugin-azure-devops-backend": "workspace:^" "@backstage/plugin-badges-backend": "workspace:^" "@backstage/plugin-catalog-backend": "workspace:^" + "@backstage/plugin-catalog-backend-module-scaffolder-entities": ^0.0.0 "@backstage/plugin-catalog-backend-module-unprocessed": "workspace:^" "@backstage/plugin-devtools-backend": "workspace:^" "@backstage/plugin-entity-feedback-backend": "workspace:^" @@ -25850,6 +25867,7 @@ __metadata: "@backstage/plugin-azure-sites-backend": "workspace:^" "@backstage/plugin-badges-backend": "workspace:^" "@backstage/plugin-catalog-backend": "workspace:^" + "@backstage/plugin-catalog-backend-module-scaffolder-entities": ^0.0.0 "@backstage/plugin-catalog-backend-module-unprocessed": "workspace:^" "@backstage/plugin-catalog-node": "workspace:^" "@backstage/plugin-code-coverage-backend": "workspace:^"