1 | ;
|
2 | var task_utils_1 = require("./task.utils");
|
3 | var debug = require("debug")("cb:command.run");
|
4 | var Rx = require("rx");
|
5 | var Immutable = require("immutable");
|
6 | var logger_1 = require("./logger");
|
7 | var task_resolve_1 = require("./task.resolve");
|
8 | var command_run_1 = require("./command.run");
|
9 | var task_list_1 = require("./reporters/task.list");
|
10 | var reporter_resolve_1 = require("./reporter.resolve");
|
11 | var defaultReporter_1 = require("./reporters/defaultReporter");
|
12 | function 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 | }
|
53 | Object.defineProperty(exports, "__esModule", { value: true });
|
54 | exports.default = prompt;
|
55 | function 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 | }
|
68 | exports.getTaskList = getTaskList;
|
69 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5ydW4uaW50ZXJhY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29tbWFuZC5ydW4uaW50ZXJhY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDJDQUFrRjtBQUNsRixJQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUNqRCx1QkFBMEI7QUFDMUIscUNBQXdDO0FBQ3hDLG1DQUFpQztBQUdqQywrQ0FBdUQ7QUFDdkQsNkNBQTJDO0FBRTNDLG1EQUE2QztBQUM3Qyx1REFBK0M7QUFDL0MsK0RBQW9FO0FBTXBFLGdCQUErQixHQUFRLEVBQUUsS0FBb0IsRUFBRSxNQUE2QixFQUFFLFFBQTBCO0lBRXBILElBQU0saUJBQWlCLEdBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsSUFBTSxRQUFRLEdBQWEsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLElBQU0sWUFBWSxHQUFTLGlDQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXZELElBQU0sUUFBUSxHQUFhLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxVQUFDLEdBQUcsRUFBRSxJQUFJO1FBQzFELE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVk7YUFDekIsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLE9BQU8sQ0FBSSxJQUFJLE1BQUcsQ0FBQyxLQUFLLENBQUMsRUFBM0IsQ0FBMkIsQ0FBQyxDQUM1QyxDQUFDO0lBQ04sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsSUFBTSxlQUFlLEdBQUcsQ0FBQztRQUNyQixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNyQyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQ3hCLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFTCxJQUFNLFFBQVEsR0FBRywyQkFBWSxDQUFDLGVBQWUsRUFBRTtRQUMzQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakQsR0FBRyxLQUFBO1FBQ0gsS0FBSyxPQUFBO1FBQ0wsTUFBTSxRQUFBO1FBQ04sUUFBUSxVQUFBO1FBQ1IsSUFBSSxFQUFFLDBCQUFZLENBQUMsT0FBTztLQUM3QixDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFMUIsUUFBUSxDQUFDLEVBQUMsSUFBSSxFQUFFLDhCQUFXLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFLE1BQU0sUUFBQSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBQyxFQUFDLENBQUMsQ0FBQztRQUN2RyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQVcsQ0FBQztJQUUxQyxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixJQUFNLFVBQVUsR0FBRztZQUNmLElBQUksRUFBRSxVQUFVO1lBQ2hCLE9BQU8sRUFBRSxrQ0FBa0M7WUFDM0MsSUFBSSxFQUFFLE9BQU87WUFDYixPQUFPLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDcEMsUUFBUSxFQUFFLFVBQVUsTUFBZ0I7Z0JBQ2hDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDcEIsTUFBTSxDQUFDLG1DQUFtQyxDQUFDO2dCQUMvQyxDQUFDO2dCQUNELE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDaEIsQ0FBQztTQUNKLENBQUM7UUFDRixNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQVUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7QUFDTCxDQUFDOztBQTlDRCx5QkE4Q0M7QUFFRCxxQkFBNEIsS0FBYTtJQUNyQyxJQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyx1QkFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBM0IsQ0FBMkIsQ0FBQyxDQUFDO0lBQ3JFLElBQU0sT0FBTyxHQUFTLCtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hELElBQU0sR0FBRyxHQUFhLGtCQUFNLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsTUFBTSxDQUFDO1lBQ0gsSUFBSSxFQUFFLGdCQUFPLENBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFJLEtBQUssQ0FBQyxDQUFDLENBQUcsQ0FBQztZQUN4QyxLQUFLLEVBQUUsQ0FBQztnQkFDSixNQUFNLENBQUMsK0JBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQyxDQUFDLENBQUMsRUFBRTtTQUNQLENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFaRCxrQ0FZQyJ9 |
\ | No newline at end of file |