From c25a50022c07c14c2821043eaff0a85beec0d4a1 Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Wed, 14 Feb 2024 11:09:44 +0000 Subject: [PATCH] Fix some deprecations and misplaced await usage. Signed-off-by: Brian Fletcher --- .changeset/five-hornets-wash.md | 5 +++++ .../src/lib/templating/filters.ts | 6 ++++-- .../actions/builtin/createBuiltinActions.ts | 7 +++++-- .../actions/builtin/fetch/template.ts | 8 +++----- .../tasks/NunjucksWorkflowRunner.test.ts | 2 +- .../scaffolder/tasks/NunjucksWorkflowRunner.ts | 18 ++++++++---------- .../scaffolder/tasks/StorageTaskBroker.test.ts | 18 ++++++++++-------- .../src/scaffolder/tasks/StorageTaskBroker.ts | 12 ++++++------ .../src/scaffolder/tasks/TaskWorker.test.ts | 6 +++--- .../src/scaffolder/tasks/TaskWorker.ts | 9 +++++++-- .../tasks/taskRecoveryHelper.test.ts | 2 +- 11 files changed, 53 insertions(+), 40 deletions(-) create mode 100644 .changeset/five-hornets-wash.md diff --git a/.changeset/five-hornets-wash.md b/.changeset/five-hornets-wash.md new file mode 100644 index 0000000000..c29debb518 --- /dev/null +++ b/.changeset/five-hornets-wash.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': patch +--- + +Fix some deprecations and misplaced `await` usage. diff --git a/plugins/scaffolder-backend/src/lib/templating/filters.ts b/plugins/scaffolder-backend/src/lib/templating/filters.ts index 21b43a6164..a8101a64d4 100644 --- a/plugins/scaffolder-backend/src/lib/templating/filters.ts +++ b/plugins/scaffolder-backend/src/lib/templating/filters.ts @@ -16,8 +16,10 @@ import { parseEntityRef } from '@backstage/catalog-model'; import { ScmIntegrations } from '@backstage/integration'; import type { JsonObject, JsonValue } from '@backstage/types'; -import { TemplateFilter } from '..'; -import { parseRepoUrl } from '@backstage/plugin-scaffolder-node'; +import { + parseRepoUrl, + TemplateFilter, +} from '@backstage/plugin-scaffolder-node'; import get from 'lodash/get'; export const createDefaultFilters = ({ diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts index 4a8bdec951..f9c15597a8 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts @@ -22,14 +22,17 @@ import { GithubCredentialsProvider, ScmIntegrations, } from '@backstage/integration'; -import { TemplateAction } from '@backstage/plugin-scaffolder-node'; +import { + TemplateAction, + TemplateFilter, + TemplateGlobal, +} from '@backstage/plugin-scaffolder-node'; import { createCatalogRegisterAction, createCatalogWriteAction, createFetchCatalogEntityAction, } from './catalog'; -import { TemplateFilter, TemplateGlobal } from '../../../lib'; import { createDebugLogAction, createWaitAction } from './debug'; import { createFetchPlainAction, diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.ts index 63a595ef80..b39582e18b 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.ts @@ -21,15 +21,13 @@ import { ScmIntegrations } from '@backstage/integration'; import { createTemplateAction, fetchContents, + TemplateFilter, + TemplateGlobal, } from '@backstage/plugin-scaffolder-node'; import globby from 'globby'; import fs from 'fs-extra'; import { isBinaryFile } from 'isbinaryfile'; -import { - TemplateFilter, - SecureTemplater, - TemplateGlobal, -} from '../../../../lib/templating/SecureTemplater'; +import { SecureTemplater } from '../../../../lib/templating/SecureTemplater'; import { createDefaultFilters } from '../../../../lib/templating/filters'; import { examples } from './template.examples'; diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts index 3085bb8687..cf29d43e19 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts @@ -19,12 +19,12 @@ import { NunjucksWorkflowRunner } from './NunjucksWorkflowRunner'; import { TemplateActionRegistry } from '../actions'; import { ScmIntegrations } from '@backstage/integration'; import { ConfigReader } from '@backstage/config'; -import { TaskContext } from './types'; import { TaskSpec } from '@backstage/plugin-scaffolder-common'; import { createTemplateAction, TaskSecrets, TemplateAction, + TaskContext, } from '@backstage/plugin-scaffolder-node'; import { UserEntity } from '@backstage/catalog-model'; import { z } from 'zod'; diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts index ce1ad71c33..f86cf9019e 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts @@ -15,12 +15,7 @@ */ import { ScmIntegrations } from '@backstage/integration'; -import { - TaskContext, - TaskTrackType, - WorkflowResponse, - WorkflowRunner, -} from './types'; +import { TaskTrackType, WorkflowResponse, WorkflowRunner } from './types'; import * as winston from 'winston'; import fs from 'fs-extra'; import path from 'path'; @@ -32,10 +27,8 @@ import { generateExampleOutput, isTruthy } from './helper'; import { validate as validateJsonSchema } from 'jsonschema'; import { TemplateActionRegistry } from '../actions'; import { - TemplateFilter, SecureTemplater, SecureTemplateRenderer, - TemplateGlobal, } from '../../lib/templating/SecureTemplater'; import { TaskSpec, @@ -43,7 +36,12 @@ import { TaskStep, } from '@backstage/plugin-scaffolder-common'; -import { TemplateAction } from '@backstage/plugin-scaffolder-node'; +import { + TemplateAction, + TemplateFilter, + TemplateGlobal, + TaskContext, +} from '@backstage/plugin-scaffolder-node'; import { createConditionAuthorizer } from '@backstage/plugin-permission-node'; import { UserEntity } from '@backstage/catalog-model'; import { createCounterMetric, createHistogramMetric } from '../../util/metrics'; @@ -226,7 +224,7 @@ export class NunjucksWorkflowRunner implements WorkflowRunner { try { if (step.if) { - const ifResult = await this.render(step.if, context, renderTemplate); + const ifResult = this.render(step.if, context, renderTemplate); if (!isTruthy(ifResult)) { await stepTrack.skipFalsy(); return; diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/StorageTaskBroker.test.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/StorageTaskBroker.test.ts index a79624456a..3d2fb28538 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/StorageTaskBroker.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/StorageTaskBroker.test.ts @@ -17,10 +17,12 @@ import { getVoidLogger, DatabaseManager } from '@backstage/backend-common'; import { ConfigReader } from '@backstage/config'; import { TaskSpec } from '@backstage/plugin-scaffolder-common'; -import { TaskSecrets } from '@backstage/plugin-scaffolder-node'; +import { + TaskSecrets, + SerializedTaskEvent, +} from '@backstage/plugin-scaffolder-node'; import { DatabaseTaskStore } from './DatabaseTaskStore'; import { StorageTaskBroker, TaskManager } from './StorageTaskBroker'; -import { SerializedTaskEvent } from './types'; async function createStore(): Promise { const manager = DatabaseManager.fromConfig( @@ -81,12 +83,12 @@ describe('StorageTaskBroker', () => { const taskA = await broker.claim(); const taskB = await broker.claim(); const taskC = await broker.claim(); - await expect(taskA).toEqual(expect.any(TaskManager as any)); - await expect(taskB).toEqual(expect.any(TaskManager as any)); - await expect(taskC).toEqual(expect.any(TaskManager as any)); - await expect(taskA.spec.steps[0].id).toBe('a'); - await expect(taskB.spec.steps[0].id).toBe('b'); - await expect(taskC.spec.steps[0].id).toBe('c'); + expect(taskA).toEqual(expect.any(TaskManager as any)); + expect(taskB).toEqual(expect.any(TaskManager as any)); + expect(taskC).toEqual(expect.any(TaskManager as any)); + expect(taskA.spec.steps[0].id).toBe('a'); + expect(taskB.spec.steps[0].id).toBe('b'); + expect(taskC.spec.steps[0].id).toBe('c'); }); it('should store secrets', async () => { diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/StorageTaskBroker.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/StorageTaskBroker.ts index 8b49f492e8..1e557512cb 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/StorageTaskBroker.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/StorageTaskBroker.ts @@ -16,19 +16,19 @@ import { Config } from '@backstage/config'; import { TaskSpec } from '@backstage/plugin-scaffolder-common'; -import { TaskSecrets } from '@backstage/plugin-scaffolder-node'; -import { JsonObject, Observable } from '@backstage/types'; -import { Logger } from 'winston'; -import ObservableImpl from 'zen-observable'; import { + TaskSecrets, SerializedTask, SerializedTaskEvent, TaskBroker, TaskBrokerDispatchOptions, TaskCompletionState, TaskContext, - TaskStore, -} from './types'; +} from '@backstage/plugin-scaffolder-node'; +import { JsonObject, Observable } from '@backstage/types'; +import { Logger } from 'winston'; +import ObservableImpl from 'zen-observable'; +import { TaskStore } from './types'; import { readDuration } from './helper'; /** diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/TaskWorker.test.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/TaskWorker.test.ts index e886b31369..70308c420c 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/TaskWorker.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/TaskWorker.test.ts @@ -27,8 +27,8 @@ import { SerializedTaskEvent, TaskBroker, TaskContext, - WorkflowRunner, -} from './types'; +} from '@backstage/plugin-scaffolder-node'; +import { WorkflowRunner } from './types'; import ObservableImpl from 'zen-observable'; import waitForExpect from 'wait-for-expect'; @@ -257,7 +257,7 @@ describe('Cancellable TaskWorker', () => { }, }); - await taskWorker.start(); + taskWorker.start(); await taskBroker.cancel(taskId); await waitForExpect(() => { diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/TaskWorker.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/TaskWorker.ts index cd7dc06a91..0f0ee2ad68 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/TaskWorker.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/TaskWorker.ts @@ -14,14 +14,19 @@ * limitations under the License. */ -import { TaskContext, TaskBroker, WorkflowRunner } from './types'; +import { WorkflowRunner } from './types'; +import { + TaskContext, + TaskBroker, + TemplateFilter, + TemplateGlobal, +} from '@backstage/plugin-scaffolder-node'; import PQueue from 'p-queue'; import { NunjucksWorkflowRunner } from './NunjucksWorkflowRunner'; import { Logger } from 'winston'; import { TemplateActionRegistry } from '../actions'; import { ScmIntegrations } from '@backstage/integration'; import { assertError, stringifyError } from '@backstage/errors'; -import { TemplateFilter, TemplateGlobal } from '../../lib'; import { PermissionEvaluator } from '@backstage/plugin-permission-common'; /** diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/taskRecoveryHelper.test.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/taskRecoveryHelper.test.ts index 8224feab8e..42cd617269 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/taskRecoveryHelper.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/taskRecoveryHelper.test.ts @@ -15,7 +15,7 @@ */ import { trimEventsTillLastRecovery } from './taskRecoveryHelper'; -import { SerializedTaskEvent } from './types'; +import { SerializedTaskEvent } from '@backstage/plugin-scaffolder-node'; const toLogEvent = (stepId: string) => ({