From 9c26e6d8ed3893bf0ab8334ca9bce6b31d0b0544 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 15 Apr 2023 12:38:38 +0200 Subject: [PATCH] scaffolder-backend: make alpha options optional Signed-off-by: Patrik Oldsberg --- .changeset/proud-pigs-look.md | 5 +++++ packages/backend-next/src/index.ts | 3 +++ plugins/scaffolder-backend/alpha-api-report.md | 2 +- plugins/scaffolder-backend/src/ScaffolderPlugin.ts | 6 +++--- .../src/scaffolder/tasks/TaskWorker.ts | 10 ++++++---- 5 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 .changeset/proud-pigs-look.md diff --git a/.changeset/proud-pigs-look.md b/.changeset/proud-pigs-look.md new file mode 100644 index 0000000000..7b50a72feb --- /dev/null +++ b/.changeset/proud-pigs-look.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': patch +--- + +Updated the alpha `scaffolderPlugin` to not require options. diff --git a/packages/backend-next/src/index.ts b/packages/backend-next/src/index.ts index fc936b1b0f..1c4380f4a0 100644 --- a/packages/backend-next/src/index.ts +++ b/packages/backend-next/src/index.ts @@ -22,6 +22,7 @@ import { permissionModuleAllowAllPolicy, permissionPlugin, } from '@backstage/plugin-permission-backend/alpha'; +import { scaffolderPlugin } from '@backstage/plugin-scaffolder-backend/alpha'; import { catalogModuleTemplateKind } from '@backstage/plugin-scaffolder-backend/alpha'; import { searchModuleCatalogCollator } from '@backstage/plugin-search-backend-module-catalog/alpha'; import { searchModuleExploreCollator } from '@backstage/plugin-search-backend-module-explore/alpha'; @@ -44,6 +45,8 @@ backend.add(techdocsPlugin()); backend.add(catalogPlugin()); backend.add(catalogModuleTemplateKind()); +backend.add(scaffolderPlugin()); + // Search backend.add(searchPlugin()); backend.add(searchModuleCatalogCollator()); diff --git a/plugins/scaffolder-backend/alpha-api-report.md b/plugins/scaffolder-backend/alpha-api-report.md index e762c2be4f..f636ecbb37 100644 --- a/plugins/scaffolder-backend/alpha-api-report.md +++ b/plugins/scaffolder-backend/alpha-api-report.md @@ -40,7 +40,7 @@ export const scaffolderConditions: Conditions<{ // @alpha export const scaffolderPlugin: ( - options: ScaffolderPluginOptions, + options?: ScaffolderPluginOptions | undefined, ) => BackendFeature; // @alpha diff --git a/plugins/scaffolder-backend/src/ScaffolderPlugin.ts b/plugins/scaffolder-backend/src/ScaffolderPlugin.ts index 97abf41828..379a7394be 100644 --- a/plugins/scaffolder-backend/src/ScaffolderPlugin.ts +++ b/plugins/scaffolder-backend/src/ScaffolderPlugin.ts @@ -67,7 +67,7 @@ class ScaffolderActionsExtensionPointImpl * @alpha */ export const scaffolderPlugin = createBackendPlugin( - (options: ScaffolderPluginOptions) => ({ + (options?: ScaffolderPluginOptions) => ({ pluginId: 'scaffolder', register(env) { const actionsExtensions = new ScaffolderActionsExtensionPointImpl(); @@ -101,10 +101,10 @@ export const scaffolderPlugin = createBackendPlugin( taskBroker, taskWorkers, additionalTemplateGlobals, - } = options; + } = options ?? {}; const log = loggerToWinstonLogger(logger); - const actions = options.actions || [ + const actions = options?.actions || [ ...actionsExtensions.actions, ...createBuiltinActions({ integrations: ScmIntegrations.fromConfig(config), diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/TaskWorker.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/TaskWorker.ts index 5723e7136f..1a2d02736c 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/TaskWorker.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/TaskWorker.ts @@ -70,11 +70,13 @@ export type CreateWorkerOptions = { * @public */ export class TaskWorker { - private constructor(private readonly options: TaskWorkerOptions) {} + private taskQueue: PQueue; - private taskQueue: PQueue = new PQueue({ - concurrency: this.options.concurrentTasksLimit, - }); + private constructor(private readonly options: TaskWorkerOptions) { + this.taskQueue = new PQueue({ + concurrency: options.concurrentTasksLimit, + }); + } static async create(options: CreateWorkerOptions): Promise { const {