UNPKG

5.89 kBJavaScriptView Raw
1"use strict";
2var task_utils_1 = require("./task.utils");
3var debug = require("debug")("cb:command.run");
4var Rx = require("rx");
5var Immutable = require("immutable");
6var logger_1 = require("./logger");
7var task_resolve_1 = require("./task.resolve");
8var command_run_1 = require("./command.run");
9var task_list_1 = require("./reporters/task.list");
10var reporter_resolve_1 = require("./reporter.resolve");
11var defaultReporter_1 = require("./reporters/defaultReporter");
12function prompt(cli, input, config, reporter) {
13 var possibleSelection = cli.input.slice(1);
14 var inquirer = require("inquirer");
15 var allTaskNames = task_utils_1.getPossibleTaskNames(input);
16 var filtered = possibleSelection.reduce(function (acc, name) {
17 return acc.concat(allTaskNames
18 .filter(function (x) { return x.indexOf(name + ":") === 0; }));
19 }, []);
20 var taskNamesToShow = (function () {
21 if (filtered.length)
22 return filtered;
23 return allTaskNames;
24 })();
25 var resolved = task_resolve_1.resolveTasks(taskNamesToShow, {
26 shared: new Rx.BehaviorSubject(Immutable.Map({})),
27 cli: cli,
28 input: input,
29 config: config,
30 reporter: reporter,
31 type: command_run_1.TriggerTypes.command
32 });
33 if (resolved.invalid.length) {
34 reporter({ type: reporter_resolve_1.ReportTypes.TaskTree, data: { tasks: resolved.all, config: config, title: "Available tasks:" } });
35 return Rx.Observable.empty();
36 }
37 else {
38 var taskSelect = {
39 type: "checkbox",
40 message: "Select Tasks to run with <space>",
41 name: "tasks",
42 choices: getTaskList(resolved.valid),
43 validate: function (answer) {
44 if (answer.length < 1) {
45 return "You must choose at least one task";
46 }
47 return true;
48 }
49 };
50 return Rx.Observable.fromPromise(inquirer.prompt(taskSelect));
51 }
52}
53Object.defineProperty(exports, "__esModule", { value: true });
54exports.default = prompt;
55function getTaskList(tasks) {
56 var topLevelTasks = tasks.filter(function (x) { return !task_utils_1.isInternal(x.baseTaskName); });
57 var longest = task_utils_1.getLongestTaskName(topLevelTasks);
58 var col = task_list_1.twoCol(topLevelTasks, longest);
59 return col.map(function (tuple, i) {
60 return {
61 name: logger_1.compile(tuple[0] + " " + tuple[1]),
62 value: (function () {
63 return defaultReporter_1.getCleanLabel(topLevelTasks[i]);
64 })()
65 };
66 });
67}
68exports.getTaskList = getTaskList;
69//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5ydW4uaW50ZXJhY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29tbWFuZC5ydW4uaW50ZXJhY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDJDQUFrRjtBQUNsRixJQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUNqRCx1QkFBMEI7QUFDMUIscUNBQXdDO0FBQ3hDLG1DQUFpQztBQUdqQywrQ0FBdUQ7QUFDdkQsNkNBQTJDO0FBRTNDLG1EQUE2QztBQUM3Qyx1REFBK0M7QUFDL0MsK0RBQW9FO0FBTXBFLGdCQUErQixHQUFRLEVBQUUsS0FBb0IsRUFBRSxNQUE2QixFQUFFLFFBQTBCO0lBRXBILElBQU0saUJBQWlCLEdBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsSUFBTSxRQUFRLEdBQWEsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLElBQU0sWUFBWSxHQUFTLGlDQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXZELElBQU0sUUFBUSxHQUFhLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxVQUFDLEdBQUcsRUFBRSxJQUFJO1FBQzFELE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVk7YUFDekIsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLE9BQU8sQ0FBSSxJQUFJLE1BQUcsQ0FBQyxLQUFLLENBQUMsRUFBM0IsQ0FBMkIsQ0FBQyxDQUM1QyxDQUFDO0lBQ04sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsSUFBTSxlQUFlLEdBQUcsQ0FBQztRQUNyQixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNyQyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQ3hCLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFTCxJQUFNLFFBQVEsR0FBRywyQkFBWSxDQUFDLGVBQWUsRUFBRTtRQUMzQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakQsR0FBRyxLQUFBO1FBQ0gsS0FBSyxPQUFBO1FBQ0wsTUFBTSxRQUFBO1FBQ04sUUFBUSxVQUFBO1FBQ1IsSUFBSSxFQUFFLDBCQUFZLENBQUMsT0FBTztLQUM3QixDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFMUIsUUFBUSxDQUFDLEVBQUMsSUFBSSxFQUFFLDhCQUFXLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFLE1BQU0sUUFBQSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBQyxFQUFDLENBQUMsQ0FBQztRQUN2RyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQVcsQ0FBQztJQUUxQyxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixJQUFNLFVBQVUsR0FBRztZQUNmLElBQUksRUFBRSxVQUFVO1lBQ2hCLE9BQU8sRUFBRSxrQ0FBa0M7WUFDM0MsSUFBSSxFQUFFLE9BQU87WUFDYixPQUFPLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDcEMsUUFBUSxFQUFFLFVBQVUsTUFBZ0I7Z0JBQ2hDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDcEIsTUFBTSxDQUFDLG1DQUFtQyxDQUFDO2dCQUMvQyxDQUFDO2dCQUNELE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDaEIsQ0FBQztTQUNKLENBQUM7UUFDRixNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQVUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7QUFDTCxDQUFDOztBQTlDRCx5QkE4Q0M7QUFFRCxxQkFBNEIsS0FBYTtJQUNyQyxJQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyx1QkFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBM0IsQ0FBMkIsQ0FBQyxDQUFDO0lBQ3JFLElBQU0sT0FBTyxHQUFTLCtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hELElBQU0sR0FBRyxHQUFhLGtCQUFNLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsTUFBTSxDQUFDO1lBQ0gsSUFBSSxFQUFFLGdCQUFPLENBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFJLEtBQUssQ0FBQyxDQUFDLENBQUcsQ0FBQztZQUN4QyxLQUFLLEVBQUUsQ0FBQztnQkFDSixNQUFNLENBQUMsK0JBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQyxDQUFDLENBQUMsRUFBRTtTQUNQLENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFaRCxrQ0FZQyJ9
\No newline at end of file