diff --git a/.changeset/smart-dingos-raise.md b/.changeset/smart-dingos-raise.md new file mode 100644 index 0000000000..ea3b0ec82e --- /dev/null +++ b/.changeset/smart-dingos-raise.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': minor +--- + +Renamed the export `scaffolderCatalogModule` to `catalogModuleTemplateKind` in order to follow the new recommended naming patterns of backend system items. This is technically a breaking change but in an alpha export, so take care to change your imports if you have already migrated to the new backend system. diff --git a/docs/backend-system/building-backends/01-index.md b/docs/backend-system/building-backends/01-index.md index e1f8f87964..f810417ed7 100644 --- a/docs/backend-system/building-backends/01-index.md +++ b/docs/backend-system/building-backends/01-index.md @@ -21,14 +21,16 @@ When you create a new project with `@backstage/create-app`, you'll get a backend import { createBackend } from '@backstage/backend-defaults'; import { appPlugin } from '@backstage/plugin-app-backend'; import { catalogPlugin } from '@backstage/plugin-catalog-backend'; -import { scaffolderCatalogModule } from '@backstage/plugin-scaffolder-backend'; -import { scaffolderPlugin } from '@backstage/plugin-scaffolder-backend'; +import { + scaffolderPlugin, + catalogModuleTemplateKind, +} from '@backstage/plugin-scaffolder-backend'; const backend = createBackend(); backend.add(appPlugin()); backend.add(catalogPlugin()); -backend.add(scaffolderCatalogModule()); +backend.add(catalogModuleTemplateKind()); backend.add(scaffolderPlugin()); backend.start(); @@ -129,7 +131,7 @@ const backend = createBackend(); backend.add(appPlugin()); backend.add(catalogPlugin()); -backend.add(scaffolderCatalogModule()); +backend.add(catalogModuleTemplateKind()); backend.start(); ``` diff --git a/docs/backend-system/building-backends/08-migrating.md b/docs/backend-system/building-backends/08-migrating.md index 71e5b52c24..6e0b84b10f 100644 --- a/docs/backend-system/building-backends/08-migrating.md +++ b/docs/backend-system/building-backends/08-migrating.md @@ -240,11 +240,11 @@ A basic installation of the catalog plugin looks as follows. ```diff // packages/backend/src/index.ts +import { catalogPlugin } from '@backstage/plugin-catalog-backend'; -+import { scaffolderCatalogModule } from '@backstage/plugin-scaffolder-backend'; ++import { catalogModuleTemplateKind } from '@backstage/plugin-scaffolder-backend'; const backend = createBackend(); +backend.add(catalogPlugin()); -+backend.add(scaffolderCatalogModule()); ++backend.add(catalogModuleTemplateKind()); ``` Note that this also installs a module from the scaffolder, namely the one which @@ -265,9 +265,9 @@ depends on the appropriate extension point and interacts with it. +import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node'; +import { createBackendModule } from '@backstage/backend-plugin-api'; -+const catalogExtensionsModule = createBackendModule({ -+ pluginId: 'catalog', // name of the plugin that the module is targeting -+ moduleId: 'extensions', // you can choose this one freely ++const catalogModuleCustomExtensions = createBackendModule({ ++ pluginId: 'catalog', // name of the plugin that the module is targeting ++ moduleId: 'customExtensions', + register(env) { + env.registerInit({ + deps: { @@ -286,8 +286,8 @@ depends on the appropriate extension point and interacts with it. const backend = createBackend(); backend.add(catalogPlugin()); - backend.add(scaffolderCatalogModule()); -+backend.add(catalogExtensionsModule()); + backend.add(catalogModuleTemplateKind()); ++backend.add(catalogModuleCustomExtensions()); ``` This also requires that you have a dependency on the corresponding node package, @@ -330,9 +330,9 @@ depends on the appropriate extension point and interacts with it. +import { eventsExtensionPoint } from '@backstage/plugin-events-node'; +import { createBackendModule } from '@backstage/backend-plugin-api'; -+const eventsExtensionsModule = createBackendModule({ -+ pluginId: 'events', // name of the plugin that the module is targeting -+ moduleId: 'extensions', // you can choose this one freely ++const eventsModuleCustomExtensions = createBackendModule({ ++ pluginId: 'events', // name of the plugin that the module is targeting ++ moduleId: 'customExtensions', + register(env) { + env.registerInit({ + deps: { @@ -350,7 +350,7 @@ depends on the appropriate extension point and interacts with it. const backend = createBackend(); backend.add(eventsPlugin()); -+backend.add(eventsExtensionsModule()); ++backend.add(eventsModuleCustomExtensions()); ``` This also requires that you have a dependency on the corresponding node package, @@ -393,9 +393,9 @@ depends on the appropriate extension point and interacts with it. +import { scaffolderActionsExtensionPoint } from '@backstage/plugin-scaffolder-node'; +import { createBackendModule } from '@backstage/backend-plugin-api'; -+const scaffolderExtensionsModule = createBackendModule({ -+ pluginId: 'scaffolder', // name of the plugin that the module is targeting -+ moduleId: 'extensions', // you can choose this one freely ++const scaffolderModuleCustomExtensions = createBackendModule({ ++ pluginId: 'scaffolder', // name of the plugin that the module is targeting ++ moduleId: 'customExtensions', + register(env) { + env.registerInit({ + deps: { @@ -413,7 +413,7 @@ depends on the appropriate extension point and interacts with it. const backend = createBackend(); backend.add(scaffolderPlugin()); -+backend.add(scaffolderExtensionsModule()); ++backend.add(scaffolderModuleCustomExtensions()); ``` This also requires that you have a dependency on the corresponding node package, diff --git a/packages/backend-next/src/index.ts b/packages/backend-next/src/index.ts index 8196b28452..97b6eaf32b 100644 --- a/packages/backend-next/src/index.ts +++ b/packages/backend-next/src/index.ts @@ -15,13 +15,13 @@ */ import { catalogPlugin } from '@backstage/plugin-catalog-backend'; -import { scaffolderCatalogModule } from '@backstage/plugin-scaffolder-backend'; +import { catalogModuleTemplateKind } from '@backstage/plugin-scaffolder-backend'; import { createBackend } from '@backstage/backend-defaults'; import { appPlugin } from '@backstage/plugin-app-backend'; const backend = createBackend(); backend.add(catalogPlugin()); -backend.add(scaffolderCatalogModule()); +backend.add(catalogModuleTemplateKind()); backend.add(appPlugin({ appPackageName: 'example-app' })); backend.start(); diff --git a/plugins/scaffolder-backend/api-report.md b/plugins/scaffolder-backend/api-report.md index 22cc0cae20..0d745862a1 100644 --- a/plugins/scaffolder-backend/api-report.md +++ b/plugins/scaffolder-backend/api-report.md @@ -38,6 +38,9 @@ import { Writable } from 'stream'; // @public @deprecated (undocumented) export type ActionContext = ActionContext_2; +// @alpha +export const catalogModuleTemplateKind: () => BackendFeature; + // @public export const createBuiltinActions: ( options: CreateBuiltInActionsOptions, @@ -649,9 +652,6 @@ export type RunCommandOptions = { logStream?: Writable; }; -// @alpha -export const scaffolderCatalogModule: () => BackendFeature; - // @public (undocumented) export class ScaffolderEntitiesProcessor implements CatalogProcessor { // (undocumented) diff --git a/plugins/scaffolder-backend/src/index.ts b/plugins/scaffolder-backend/src/index.ts index eb7a831bd0..ba69a55a24 100644 --- a/plugins/scaffolder-backend/src/index.ts +++ b/plugins/scaffolder-backend/src/index.ts @@ -24,7 +24,7 @@ export * from './scaffolder'; export * from './service/router'; export * from './lib'; export * from './processor'; -export * from './extension'; +export * from './modules'; export { scaffolderPlugin } from './ScaffolderPlugin'; export type { ScaffolderPluginOptions } from './ScaffolderPlugin'; diff --git a/plugins/scaffolder-backend/src/extension/ScaffolderCatalogModule.test.ts b/plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.test.ts similarity index 87% rename from plugins/scaffolder-backend/src/extension/ScaffolderCatalogModule.test.ts rename to plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.test.ts index 7d8c3cc140..7652f60386 100644 --- a/plugins/scaffolder-backend/src/extension/ScaffolderCatalogModule.test.ts +++ b/plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.test.ts @@ -16,15 +16,15 @@ import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node'; import { ScaffolderEntitiesProcessor } from '../processor'; -import { scaffolderCatalogModule } from './ScaffolderCatalogModule'; +import { catalogModuleTemplateKind } from './catalogModuleTemplateKind'; import { startTestBackend } from '@backstage/backend-test-utils'; -describe('ScaffolderCatalogModule', () => { +describe('catalogModuleTemplateKind', () => { it('should register the extension point', async () => { const extensionPoint = { addProcessor: jest.fn() }; await startTestBackend({ extensionPoints: [[catalogProcessingExtensionPoint, extensionPoint]], - features: [scaffolderCatalogModule()], + features: [catalogModuleTemplateKind()], }); expect(extensionPoint.addProcessor).toHaveBeenCalledWith( diff --git a/plugins/scaffolder-backend/src/extension/ScaffolderCatalogModule.ts b/plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.ts similarity index 86% rename from plugins/scaffolder-backend/src/extension/ScaffolderCatalogModule.ts rename to plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.ts index 4e9b6f75c9..622e5a003a 100644 --- a/plugins/scaffolder-backend/src/extension/ScaffolderCatalogModule.ts +++ b/plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.ts @@ -13,17 +13,19 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + import { createBackendModule } from '@backstage/backend-plugin-api'; import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node'; import { ScaffolderEntitiesProcessor } from '../processor'; /** + * Registers support for the Template kind to the catalog backend plugin. + * * @alpha - * Registers the ScaffolderEntitiesProcessor with the catalog processing extension point. */ -export const scaffolderCatalogModule = createBackendModule({ +export const catalogModuleTemplateKind = createBackendModule({ moduleId: 'scaffolder', - pluginId: 'catalog', + pluginId: 'templateKind', register(env) { env.registerInit({ deps: { diff --git a/plugins/scaffolder-backend/src/extension/index.ts b/plugins/scaffolder-backend/src/modules/index.ts similarity index 89% rename from plugins/scaffolder-backend/src/extension/index.ts rename to plugins/scaffolder-backend/src/modules/index.ts index c827d9cafd..993a66815a 100644 --- a/plugins/scaffolder-backend/src/extension/index.ts +++ b/plugins/scaffolder-backend/src/modules/index.ts @@ -13,4 +13,5 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -export { scaffolderCatalogModule } from './ScaffolderCatalogModule'; + +export { catalogModuleTemplateKind } from './catalogModuleTemplateKind';