UNPKG

@rushstack/heft

Version:

Build all your JavaScript projects the same way: A way that works.

32 lines 1.58 kB
// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. import { CommandLineAction } from '@rushstack/ts-command-line'; import { HeftActionRunner } from '../HeftActionRunner'; import { Selection } from '../../utilities/Selection'; export class PhaseAction extends CommandLineAction { constructor(options) { var _a; super({ actionName: `${options.phase.phaseName}${options.watch ? '-watch' : ''}`, documentation: `Runs to the ${options.phase.phaseName} phase, including all transitive dependencies` + (options.watch ? ', in watch mode.' : '.') + (options.phase.phaseDescription ? ` ${options.phase.phaseDescription}` : ''), summary: `Runs to the ${options.phase.phaseName} phase, including all transitive dependencies` + (options.watch ? ', in watch mode.' : '.') }); this.watch = (_a = options.watch) !== null && _a !== void 0 ? _a : false; this._phase = options.phase; this._actionRunner = new HeftActionRunner({ action: this, ...options }); this._actionRunner.defineParameters(); } get selectedPhases() { if (!this._selectedPhases) { this._selectedPhases = Selection.recursiveExpand([this._phase], (phase) => phase.dependencyPhases); } return this._selectedPhases; } async onExecuteAsync() { await this._actionRunner.executeAsync(); } } //# sourceMappingURL=PhaseAction.js.map