rename scaffolderCatalogModule to catalogModuleTemplateKind

Signed-off-by: Fredrik Adelöw <freben@gmail.com>
This commit is contained in:
Fredrik Adelöw
2023-01-24 15:43:45 +01:00
parent bcb490f4db
commit 127154930f
9 changed files with 42 additions and 32 deletions
+5
View File
@@ -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.
@@ -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();
```
@@ -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,
+2 -2
View File
@@ -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();
+3 -3
View File
@@ -38,6 +38,9 @@ import { Writable } from 'stream';
// @public @deprecated (undocumented)
export type ActionContext<TInput extends JsonObject> = ActionContext_2<TInput>;
// @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)
+1 -1
View File
@@ -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';
@@ -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(
@@ -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: {
@@ -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';