import * as plugins from '../ts/plugins.js'; import { FlexProjectManagementMigration } from './v19_flexprojectmanagement.js'; export interface IFlexPostHarnessMigrationRunnerOptions { harness: plugins.flexharness.FlexHarness; scopeIds: Iterable; } export class FlexPostHarnessMigrationRunner { private readonly migrations: Array<{ run(signalArg?: AbortSignal): Promise }>; constructor(optionsArg: IFlexPostHarnessMigrationRunnerOptions) { this.migrations = [new FlexProjectManagementMigration(optionsArg)]; } public async run(signalArg?: AbortSignal): Promise { for (const migration of this.migrations) { signalArg?.throwIfAborted(); await migration.run(signalArg); } } }