UNPKG

5.09 kBJavaScriptView Raw
1"use strict";
2var command_run_1 = require("./command.run");
3var reporter_resolve_1 = require("./reporter.resolve");
4var task_resolve_1 = require("./task.resolve");
5var Rx = require("rx");
6var command_run_context_1 = require("./command.run.context");
7var debug = require("debug")("cb:command.run.execute");
8(function (RunCommandReportTypes) {
9 RunCommandReportTypes[RunCommandReportTypes["NoTasks"] = "NoTasks"] = "NoTasks";
10 RunCommandReportTypes[RunCommandReportTypes["Setup"] = "Setup"] = "Setup";
11 RunCommandReportTypes[RunCommandReportTypes["Complete"] = "Complete"] = "Complete";
12 RunCommandReportTypes[RunCommandReportTypes["TaskReport"] = "TaskReport"] = "TaskReport";
13})(exports.RunCommandReportTypes || (exports.RunCommandReportTypes = {}));
14var RunCommandReportTypes = exports.RunCommandReportTypes;
15function executeRunCommand(trigger) {
16 var cli = trigger.cli, input = trigger.input, config = trigger.config, reporter = trigger.reporter;
17 var _a = command_run_1.getRunCommandSetup(trigger), tasks = _a.tasks, sequence = _a.sequence, runner = _a.runner;
18 /**
19 * Never continue if any tasks were flagged as invalid and we've not handed
20 * off
21 */
22 if (tasks.invalid.length) {
23 reporter({
24 type: reporter_resolve_1.ReportTypes.TaskErrors,
25 data: {
26 tasks: tasks.all,
27 taskCollection: cli.input.slice(1),
28 input: input,
29 config: config
30 }
31 });
32 return {
33 setup: {
34 sequence: sequence,
35 tasks: tasks,
36 errors: []
37 },
38 update$: Rx.Observable.empty()
39 };
40 }
41 debug("~ run mode from config in mode: '" + config.runMode + "'");
42 /**
43 * Report task list that's about to run
44 */
45 reporter({ type: reporter_resolve_1.ReportTypes.TaskList, data: { sequence: sequence, cli: cli, titlePrefix: "", config: config } });
46 /**
47 * Get a run context for this execution.
48 * note: This could take some time as it may need
49 * to hash directories etc. A run context is just a key=>value
50 * map of read-only values.
51 */
52 return {
53 setup: {
54 sequence: sequence,
55 tasks: tasks,
56 errors: []
57 },
58 update$: command_run_context_1.default(tasks.all, trigger)
59 .flatMap(function (runContext) {
60 if (trigger.config.runMode === task_resolve_1.TaskRunModes.parallel) {
61 return runner.parallel(runContext);
62 }
63 return runner.series(runContext);
64 }).share()
65 };
66}
67Object.defineProperty(exports, "__esModule", { value: true });
68exports.default = executeRunCommand;
69//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5ydW4uZXhlY3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tYW5kLnJ1bi5leGVjdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0QkFBaUQsZUFBZSxDQUFDLENBQUE7QUFDakUsaUNBQTBCLG9CQUFvQixDQUFDLENBQUE7QUFDL0MsNkJBQWtDLGdCQUFnQixDQUFDLENBQUE7QUFJbkQsSUFBTyxFQUFFLFdBQVcsSUFBSSxDQUFDLENBQUM7QUFDMUIsb0NBQXVCLHVCQUF1QixDQUFDLENBQUE7QUFLL0MsSUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFFekQsV0FBWSxxQkFBcUI7SUFDN0IseURBQW9CLFNBQVMsYUFBQSxDQUFBO0lBQzdCLHVEQUFvQixPQUFPLFdBQUEsQ0FBQTtJQUMzQiwwREFBb0IsVUFBVSxjQUFBLENBQUE7SUFDOUIsNERBQW9CLFlBQVksZ0JBQUEsQ0FBQTtBQUNwQyxDQUFDLEVBTFcsNkJBQXFCLEtBQXJCLDZCQUFxQixRQUtoQztBQUxELElBQVkscUJBQXFCLEdBQXJCLDZCQUtYLENBQUE7QUErQkQsMkJBQTBDLE9BQXVCO0lBRXRELHFCQUFHLEVBQUUscUJBQUssRUFBRSx1QkFBTSxFQUFFLDJCQUFRLENBQVk7SUFDL0MsSUFBQSw4Q0FBa0UsRUFBM0QsZ0JBQUssRUFBRSxzQkFBUSxFQUFFLGtCQUFNLENBQXFDO0lBRW5FOzs7T0FHRztJQUNILEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUV2QixRQUFRLENBQUM7WUFDTCxJQUFJLEVBQUUsOEJBQVcsQ0FBQyxVQUFVO1lBQzVCLElBQUksRUFBRTtnQkFDRixLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUc7Z0JBQ2hCLGNBQWMsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLFlBQUs7Z0JBQ0wsY0FBTTthQUNXO1NBQ3hCLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQztZQUNILEtBQUssRUFBRTtnQkFDSCxrQkFBUTtnQkFDUixZQUFLO2dCQUNMLE1BQU0sRUFBRSxFQUFFO2FBQ2I7WUFDRCxPQUFPLEVBQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7U0FDdEMsQ0FBQztJQUNOLENBQUM7SUFFRCxLQUFLLENBQUMsc0NBQW9DLE1BQU0sQ0FBQyxPQUFPLE1BQUcsQ0FBQyxDQUFDO0lBRTdEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLEVBQUMsSUFBSSxFQUFFLDhCQUFXLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFDLGtCQUFRLEVBQUUsUUFBRyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsY0FBTSxFQUFDLEVBQUMsQ0FBQyxDQUFDO0lBRXZGOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDO1FBQ0gsS0FBSyxFQUFFO1lBQ0gsa0JBQVE7WUFDUixZQUFLO1lBQ0wsTUFBTSxFQUFFLEVBQUU7U0FDYjtRQUNELE9BQU8sRUFBRSw2QkFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO2FBQ2xDLE9BQU8sQ0FBQyxVQUFDLFVBQXNCO1lBQzVCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLDJCQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDbkQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdkMsQ0FBQztZQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtLQUNqQixDQUFDO0FBQ04sQ0FBQztBQTFERDttQ0EwREMsQ0FBQSJ9
\No newline at end of file