UNPKG

5.02 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");
8var RunCommandReportTypes;
9(function (RunCommandReportTypes) {
10 RunCommandReportTypes[RunCommandReportTypes["NoTasks"] = "NoTasks"] = "NoTasks";
11 RunCommandReportTypes[RunCommandReportTypes["Setup"] = "Setup"] = "Setup";
12 RunCommandReportTypes[RunCommandReportTypes["Complete"] = "Complete"] = "Complete";
13 RunCommandReportTypes[RunCommandReportTypes["TaskReport"] = "TaskReport"] = "TaskReport";
14})(RunCommandReportTypes = exports.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5ydW4uZXhlY3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tYW5kLnJ1bi5leGVjdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2Q0FBaUU7QUFDakUsdURBQStDO0FBQy9DLCtDQUFtRDtBQUluRCx1QkFBMEI7QUFDMUIsNkRBQStDO0FBSy9DLElBQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBRXpELElBQVkscUJBS1g7QUFMRCxXQUFZLHFCQUFxQjtJQUM3Qix5REFBb0IsU0FBUyxhQUFBLENBQUE7SUFDN0IsdURBQW9CLE9BQU8sV0FBQSxDQUFBO0lBQzNCLDBEQUFvQixVQUFVLGNBQUEsQ0FBQTtJQUM5Qiw0REFBb0IsWUFBWSxnQkFBQSxDQUFBO0FBQ3BDLENBQUMsRUFMVyxxQkFBcUIsR0FBckIsNkJBQXFCLEtBQXJCLDZCQUFxQixRQUtoQztBQStCRCwyQkFBMEMsT0FBdUI7SUFFdEQsSUFBQSxpQkFBRyxFQUFFLHFCQUFLLEVBQUUsdUJBQU0sRUFBRSwyQkFBUSxDQUFZO0lBQ3pDLElBQUEsOENBQTRELEVBQTNELGdCQUFLLEVBQUUsc0JBQVEsRUFBRSxrQkFBTSxDQUFxQztJQUVuRTs7O09BR0c7SUFDSCxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFdkIsUUFBUSxDQUFDO1lBQ0wsSUFBSSxFQUFFLDhCQUFXLENBQUMsVUFBVTtZQUM1QixJQUFJLEVBQUU7Z0JBQ0YsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHO2dCQUNoQixjQUFjLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNsQyxLQUFLLE9BQUE7Z0JBQ0wsTUFBTSxRQUFBO2FBQ1c7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDO1lBQ0gsS0FBSyxFQUFFO2dCQUNILFFBQVEsVUFBQTtnQkFDUixLQUFLLE9BQUE7Z0JBQ0wsTUFBTSxFQUFFLEVBQUU7YUFDYjtZQUNELE9BQU8sRUFBTyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRTtTQUN0QyxDQUFDO0lBQ04sQ0FBQztJQUVELEtBQUssQ0FBQyxzQ0FBb0MsTUFBTSxDQUFDLE9BQU8sTUFBRyxDQUFDLENBQUM7SUFFN0Q7O09BRUc7SUFDSCxRQUFRLENBQUMsRUFBQyxJQUFJLEVBQUUsOEJBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUMsUUFBUSxVQUFBLEVBQUUsR0FBRyxLQUFBLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLFFBQUEsRUFBQyxFQUFDLENBQUMsQ0FBQztJQUV2Rjs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQztRQUNILEtBQUssRUFBRTtZQUNILFFBQVEsVUFBQTtZQUNSLEtBQUssT0FBQTtZQUNMLE1BQU0sRUFBRSxFQUFFO1NBQ2I7UUFDRCxPQUFPLEVBQUUsNkJBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQzthQUNsQyxPQUFPLENBQUMsVUFBQyxVQUFzQjtZQUM1QixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSywyQkFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQ25ELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7WUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7S0FDakIsQ0FBQztBQUNOLENBQUM7O0FBMURELG9DQTBEQyJ9
\No newline at end of file