@shortcut-cli/shortcut-cli 3.0.0-rc1 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,366 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
- var __generator = (this && this.__generator) || function (thisArg, body) {
13
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
14
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
15
- function verb(n) { return function (v) { return step([n, v]); }; }
16
- function step(op) {
17
- if (f) throw new TypeError("Generator is already executing.");
18
- while (_) try {
19
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
20
- if (y = 0, t) op = [op[0] & 2, t.value];
21
- switch (op[0]) {
22
- case 0: case 1: t = op; break;
23
- case 4: _.label++; return { value: op[1], done: false };
24
- case 5: _.label++; y = op[1]; op = [0]; continue;
25
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
26
- default:
27
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
28
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
29
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
30
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
31
- if (t[2]) _.ops.pop();
32
- _.trys.pop(); continue;
33
- }
34
- op = body.call(thisArg, _);
35
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
36
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
- }
38
- };
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
- var child_process_1 = require("child_process");
41
- var commander = require("commander");
42
- var os = require("os");
43
- var node_fetch_1 = require("node-fetch");
44
- var path = require("path");
45
- var fs = require("fs");
46
- var chalk_1 = require("chalk");
47
- var configure_1 = require("../lib/configure");
48
- var debug_1 = require("debug");
49
- var client_1 = require("../lib/client");
50
- var stories_1 = require("../lib/stories");
51
- var spinner_1 = require("../lib/spinner");
52
- var config = configure_1.loadConfig();
53
- var spin = spinner_1.default();
54
- var log = console.log;
55
- var logError = console.error;
56
- var debug = debug_1.default('club');
57
- var program = commander
58
- .usage('[options] <id>')
59
- .description('Update and/or display story details')
60
- .option('-a, --archived', 'Update story as archived')
61
- .option('-c, --comment [text]', 'Add comment to story', '')
62
- .option('-d, --description [text]', 'Update description of story', '')
63
- .option('-D, --download', 'Download all attached files', '')
64
- .option('--download-dir [path]', 'Directory to download files to', '.')
65
- .option('-e, --estimate [number]', 'Update estimate of story', '')
66
- .option('--epic [id|name]', 'Set epic of story')
67
- .option('-i, --iteration [id|name]', 'Set iteration of story')
68
- .option('-f, --format [template]', 'Format the story output by template', '')
69
- .option('--from-git', 'Fetch story parsed by ID from current git branch')
70
- .option('--git-branch', 'Checkout git branch from story slug <mention-name>/ch<id>/<type>-<title>\n' +
71
- '\t\t\t\tas required by the Git integration: https://bit.ly/2RKO1FF')
72
- .option('--git-branch-short', 'Checkout git branch from story slug <mention-name>/ch<id>/<title>')
73
- .option('-I, --idonly', 'Print only ID of story results', '')
74
- .option('-l, --label [id|name]', 'Stories with label id/name, by regex', '')
75
- .option('--move-after [id]', 'Move story to position below story ID')
76
- .option('--move-before [id]', 'Move story to position above story ID')
77
- .option('--move-down [n]', 'Move story position downward by n stories')
78
- .option('--move-up [n]', 'Move story position upward by n stories')
79
- .option('-o, --owners [id|name]', 'Update owners of story, comma-separated', '')
80
- .option('-O, --open', 'Open story in browser')
81
- .option('--oe, --open-epic', "Open story's epic in browser")
82
- .option('--oi, --open-iteration', "Open story's iteration in browser")
83
- .option('--op, --open-project', "Open story's project in browser")
84
- .option('-q, --quiet', 'Print only story output, no loading dialog', '')
85
- .option('-s, --state [id|name]', 'Update workflow state of story', '')
86
- .option('-t, --title [text]', 'Update title/name of story', '')
87
- .option('--task [text]', 'Create new task on story')
88
- .option('--task-complete [text]', 'Toggle completion of task on story matching text')
89
- .option('-y, --type [name]', 'Update type of story', '')
90
- .parse(process.argv);
91
- var main = function () { return __awaiter(void 0, void 0, void 0, function () {
92
- var entities, update, typeMatch_1, hasPositionUpdate, hasUpdate, gitID, branch, id, argIDs;
93
- return __generator(this, function (_a) {
94
- switch (_a.label) {
95
- case 0: return [4, stories_1.default.fetchEntities()];
96
- case 1:
97
- entities = _a.sent();
98
- if (!(program.idonly || program.quiet))
99
- spin.start();
100
- debug('constructing story update');
101
- update = {};
102
- if (program.archived) {
103
- update.archived = true;
104
- }
105
- if (program.state) {
106
- update.workflow_state_id = (stories_1.default.findState(entities, program.state) || {}).id;
107
- }
108
- if (program.estimate) {
109
- update.estimate = parseInt(program.estimate, 10);
110
- }
111
- if (program.title) {
112
- update.name = program.title;
113
- }
114
- if (program.description) {
115
- update.description = "" + program.description;
116
- }
117
- if (program.type) {
118
- typeMatch_1 = new RegExp(program.type, 'i');
119
- update.story_type = ['feature', 'bug', 'chore'].filter(function (t) {
120
- return !!t.match(typeMatch_1);
121
- })[0];
122
- }
123
- if (program.owners) {
124
- update.owner_ids = stories_1.default.findOwnerIds(entities, program.owners);
125
- }
126
- if (program.epic) {
127
- update.epic_id = (stories_1.default.findEpic(entities, program.epic) || {}).id;
128
- }
129
- if (program.iteration) {
130
- update.iteration_id = (stories_1.default.findIteration(entities, program.iteration) || {}).id;
131
- }
132
- if (program.label) {
133
- update.labels = stories_1.default.findLabelNames(entities, program.label);
134
- }
135
- hasPositionUpdate = program.moveAfter !== undefined ||
136
- program.moveBefore !== undefined ||
137
- program.moveDown !== undefined ||
138
- program.moveUp !== undefined;
139
- hasUpdate = Object.keys(update).length > 0 || hasPositionUpdate;
140
- debug('constructed story update', update);
141
- gitID = [];
142
- if (program.fromGit || !program.args.length) {
143
- debug('fetching story ID from git');
144
- branch = '';
145
- try {
146
- branch = child_process_1.execSync('git branch').toString('utf-8');
147
- }
148
- catch (e) {
149
- debug(e);
150
- }
151
- if (branch.match(/\*.*[0-9]+/)) {
152
- debug('parsing story ID from git branch:', branch);
153
- id = parseInt(branch.match(/\*.*/)[0].match(/\/(ch|sc-)([0-9]+)/)[2], 10);
154
- debug('parsed story ID from git branch:', id);
155
- if (id) {
156
- gitID.push(id.toString());
157
- }
158
- }
159
- else {
160
- stopSpinner();
161
- logError('No story ID argument present or found in git branch');
162
- process.exit(2);
163
- }
164
- }
165
- argIDs = program.args.map(function (a) { return (a.match(/\d+/) || [])[0]; });
166
- argIDs.concat(gitID).map(function (id) { return __awaiter(void 0, void 0, void 0, function () {
167
- var story, e_1, e_2, e_3, descMatch_1, tasks, updatedTaskIds_1, e_4, siblings, siblingIds, storyIndex, changed, e_5;
168
- return __generator(this, function (_a) {
169
- switch (_a.label) {
170
- case 0:
171
- _a.trys.push([0, 3, , 4]);
172
- if (!program.comment) return [3, 2];
173
- debug('request comment create');
174
- return [4, client_1.default.createStoryComment(id, program.comment)];
175
- case 1:
176
- _a.sent();
177
- debug('response comment create');
178
- _a.label = 2;
179
- case 2: return [3, 4];
180
- case 3:
181
- e_1 = _a.sent();
182
- stopSpinner();
183
- log('Error creating comment', id);
184
- process.exit(3);
185
- return [3, 4];
186
- case 4:
187
- _a.trys.push([4, 7, , 8]);
188
- if (!program.task) return [3, 6];
189
- debug('request task create');
190
- return [4, client_1.default.createTask(id, { description: program.task })];
191
- case 5:
192
- _a.sent();
193
- debug('response task create');
194
- _a.label = 6;
195
- case 6: return [3, 8];
196
- case 7:
197
- e_2 = _a.sent();
198
- stopSpinner();
199
- log('Error creating task', id);
200
- process.exit(3);
201
- return [3, 8];
202
- case 8:
203
- _a.trys.push([8, 10, , 11]);
204
- debug('request story');
205
- return [4, client_1.default.getStory(id)];
206
- case 9:
207
- story = _a.sent();
208
- debug('response story');
209
- return [3, 11];
210
- case 10:
211
- e_3 = _a.sent();
212
- stopSpinner();
213
- logError('Error fetching story', id);
214
- process.exit(4);
215
- return [3, 11];
216
- case 11:
217
- _a.trys.push([11, 14, , 15]);
218
- if (!program.taskComplete) return [3, 13];
219
- debug('calculating task(s) to complete');
220
- descMatch_1 = new RegExp(program.taskComplete, 'i');
221
- tasks = story.tasks.filter(function (t) { return t.description.match(descMatch_1); });
222
- updatedTaskIds_1 = tasks.map(function (t) { return t.id; });
223
- debug('request tasks complete', updatedTaskIds_1);
224
- return [4, Promise.all(tasks.map(function (t) { return client_1.default.updateTask(id, t.id, { complete: !t.complete }); }))];
225
- case 12:
226
- _a.sent();
227
- debug('response tasks complete');
228
- story.tasks = story.tasks.map(function (t) {
229
- if (updatedTaskIds_1.indexOf(t.id) > -1)
230
- t.complete = !t.complete;
231
- return t;
232
- });
233
- _a.label = 13;
234
- case 13: return [3, 15];
235
- case 14:
236
- e_4 = _a.sent();
237
- stopSpinner();
238
- log('Error updating tasks', e_4);
239
- process.exit(3);
240
- return [3, 15];
241
- case 15:
242
- _a.trys.push([15, 20, , 21]);
243
- if (!hasUpdate) return [3, 19];
244
- if (!hasPositionUpdate) return [3, 17];
245
- debug('calculating move up/down');
246
- return [4, stories_1.default.listStories({
247
- state: story.workflow_state_id.toString(),
248
- sort: 'state.position:asc,position:asc',
249
- })];
250
- case 16:
251
- siblings = _a.sent();
252
- siblingIds = siblings.map(function (s) { return s.id; });
253
- storyIndex = siblingIds.indexOf(~~id);
254
- if (program.moveAfter) {
255
- update.after_id = ~~program.moveAfter;
256
- }
257
- else if (program.moveBefore) {
258
- update.before_id = ~~program.moveBefore;
259
- }
260
- else if (program.moveUp) {
261
- update.before_id =
262
- siblingIds[Math.max(0, storyIndex - (~~program.moveUp || 1))];
263
- }
264
- else if (program.moveDown) {
265
- update.after_id =
266
- siblingIds[Math.min(siblings.length - 1, storyIndex + (~~program.moveDown || 1))];
267
- }
268
- debug('constructed story position update', update);
269
- _a.label = 17;
270
- case 17:
271
- debug('request story update');
272
- return [4, client_1.default.updateStory(id, update)];
273
- case 18:
274
- changed = _a.sent();
275
- debug('response story update');
276
- story = Object.assign({}, story, changed);
277
- _a.label = 19;
278
- case 19: return [3, 21];
279
- case 20:
280
- e_5 = _a.sent();
281
- stopSpinner();
282
- logError('Error updating story', id);
283
- process.exit(5);
284
- return [3, 21];
285
- case 21:
286
- if (story) {
287
- story = stories_1.default.hydrateStory(entities, story);
288
- }
289
- if (!program.idonly)
290
- spin.stop(true);
291
- if (story) {
292
- printStory(story, entities);
293
- if (program.open) {
294
- openURL(stories_1.default.storyURL(story));
295
- }
296
- if (program.openEpic) {
297
- if (!story.epic_id) {
298
- logError('This story is not part of an epic.');
299
- process.exit(21);
300
- }
301
- openURL(stories_1.default.buildURL('epic', story.epic_id));
302
- }
303
- if (program.openIteration) {
304
- if (!story.iteration_id) {
305
- logError('This story is not part of an iteration.');
306
- process.exit(22);
307
- }
308
- openURL(stories_1.default.buildURL('iteration', story.iteration_id));
309
- }
310
- if (program.openProject) {
311
- openURL(stories_1.default.buildURL('project', story.project_id));
312
- }
313
- }
314
- if (program.download) {
315
- downloadFiles(story);
316
- }
317
- if (story && program.gitBranch) {
318
- if (!config.mentionName) {
319
- stopSpinner();
320
- stories_1.default.checkoutStoryBranch(story, story.story_type + "-" + story.id + "-");
321
- logError('Error creating story branch in Shortcut format');
322
- logError('Please run: "club install --force" to add your mention name to the config.');
323
- process.exit(10);
324
- }
325
- stories_1.default.checkoutStoryBranch(story);
326
- }
327
- else if (story && program.gitBranchShort) {
328
- stories_1.default.checkoutStoryBranch(story, config.mentionName + "/sc-" + story.id + "/");
329
- }
330
- return [2];
331
- }
332
- });
333
- }); });
334
- stopSpinner();
335
- return [2];
336
- }
337
- });
338
- }); };
339
- var openURL = function (url) {
340
- var open = os.platform() === 'darwin' ? 'open' : 'xdg-open';
341
- child_process_1.execSync(open + " '" + url + "'");
342
- };
343
- var stopSpinner = function () {
344
- if (!(program.idonly || program.quiet))
345
- spin.stop(true);
346
- };
347
- var downloadFiles = function (story) {
348
- story.files.map(function (file) {
349
- var filePath = path.join(program.downloadDir, file.name);
350
- log(chalk_1.default.bold('Downloading file to: ') + filePath);
351
- return node_fetch_1.default(stories_1.default.fileURL(file)).then(function (res) {
352
- return res.body.pipe(fs.createWriteStream(filePath));
353
- });
354
- });
355
- };
356
- var printStory = function (story, entities) {
357
- if (program.idonly) {
358
- return log(story.id);
359
- }
360
- if (program.format) {
361
- return stories_1.default.printFormattedStory(program)(story);
362
- }
363
- stories_1.default.printDetailedStory(story, entities);
364
- };
365
- main();
366
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1Yi1zdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vY2x1Yi1zdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwrQ0FBeUM7QUFDekMscUNBQXVDO0FBRXZDLHVCQUF5QjtBQUN6Qix5Q0FBK0I7QUFDL0IsMkJBQTZCO0FBQzdCLHVCQUF5QjtBQUN6QiwrQkFBMEI7QUFDMUIsOENBQThDO0FBRTlDLCtCQUE4QjtBQUM5Qix3Q0FBbUM7QUFDbkMsMENBQW1FO0FBV25FLDBDQUFxQztBQUVyQyxJQUFNLE1BQU0sR0FBRyxzQkFBVSxFQUFFLENBQUM7QUFDNUIsSUFBTSxJQUFJLEdBQUcsaUJBQU8sRUFBRSxDQUFDO0FBQ3ZCLElBQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7QUFDeEIsSUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztBQUMvQixJQUFNLEtBQUssR0FBRyxlQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFaEMsSUFBTSxPQUFPLEdBQUcsU0FBUztLQUNwQixLQUFLLENBQUMsZ0JBQWdCLENBQUM7S0FDdkIsV0FBVyxDQUFDLHFDQUFxQyxDQUFDO0tBQ2xELE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSwwQkFBMEIsQ0FBQztLQUNwRCxNQUFNLENBQUMsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSxDQUFDO0tBQzFELE1BQU0sQ0FBQywwQkFBMEIsRUFBRSw2QkFBNkIsRUFBRSxFQUFFLENBQUM7S0FDckUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLDZCQUE2QixFQUFFLEVBQUUsQ0FBQztLQUMzRCxNQUFNLENBQUMsdUJBQXVCLEVBQUUsZ0NBQWdDLEVBQUUsR0FBRyxDQUFDO0tBQ3RFLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSwwQkFBMEIsRUFBRSxFQUFFLENBQUM7S0FDakUsTUFBTSxDQUFD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
@@ -1,79 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
- var __generator = (this && this.__generator) || function (thisArg, body) {
13
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
14
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
15
- function verb(n) { return function (v) { return step([n, v]); }; }
16
- function step(op) {
17
- if (f) throw new TypeError("Generator is already executing.");
18
- while (_) try {
19
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
20
- if (y = 0, t) op = [op[0] & 2, t.value];
21
- switch (op[0]) {
22
- case 0: case 1: t = op; break;
23
- case 4: _.label++; return { value: op[1], done: false };
24
- case 5: _.label++; y = op[1]; op = [0]; continue;
25
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
26
- default:
27
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
28
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
29
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
30
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
31
- if (t[2]) _.ops.pop();
32
- _.trys.pop(); continue;
33
- }
34
- op = body.call(thisArg, _);
35
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
36
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
- }
38
- };
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
- var chalk_1 = require("chalk");
41
- var commander = require("commander");
42
- var client_1 = require("../lib/client");
43
- var spinner_1 = require("../lib/spinner");
44
- var spin = spinner_1.default();
45
- var log = console.log;
46
- var program = commander
47
- .description('Display workflows/states available for stories')
48
- .option('-s, --search [query]', 'List states containing query', '')
49
- .parse(process.argv);
50
- var main = function () { return __awaiter(void 0, void 0, void 0, function () {
51
- var wfs;
52
- return __generator(this, function (_a) {
53
- switch (_a.label) {
54
- case 0:
55
- spin.start();
56
- return [4, client_1.default.listWorkflows()];
57
- case 1:
58
- wfs = _a.sent();
59
- spin.stop(true);
60
- wfs.map(printWf);
61
- return [2];
62
- }
63
- });
64
- }); };
65
- var printWf = function (wf) {
66
- log(chalk_1.default.bold("#" + wf.id) + (" " + wf.name));
67
- log(' == States:');
68
- wf.states.map(printWfState);
69
- };
70
- var printWfState = function (state) {
71
- if (!state.name.match(new RegExp(program.search, 'i'))) {
72
- return;
73
- }
74
- log(chalk_1.default.bold(" #" + state.id) + (" " + state.name));
75
- log(" Type: \t" + state.type);
76
- log(" Stories:\t" + state.num_stories);
77
- };
78
- main();
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1Yi13b3JrZmxvd3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmluL2NsdWItd29ya2Zsb3dzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtCQUEwQjtBQUUxQixxQ0FBdUM7QUFDdkMsd0NBQW1DO0FBRW5DLDBDQUFxQztBQUdyQyxJQUFNLElBQUksR0FBRyxpQkFBTyxFQUFFLENBQUM7QUFDdkIsSUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztBQUV4QixJQUFNLE9BQU8sR0FBRyxTQUFTO0tBQ3BCLFdBQVcsQ0FBQyxnREFBZ0QsQ0FBQztLQUM3RCxNQUFNLENBQUMsc0JBQXNCLEVBQUUsOEJBQThCLEVBQUUsRUFBRSxDQUFDO0tBQ2xFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFekIsSUFBTSxJQUFJLEdBQUc7Ozs7O2dCQUNULElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDRCxXQUFNLGdCQUFNLENBQUMsYUFBYSxFQUFFLEVBQUE7O2dCQUFsQyxHQUFHLEdBQUcsU0FBNEI7Z0JBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hCLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7Ozs7S0FDcEIsQ0FBQztBQUVGLElBQU0sT0FBTyxHQUFHLFVBQUMsRUFBWTtJQUN6QixHQUFHLENBQUMsZUFBSyxDQUFDLElBQUksQ0FBQyxNQUFJLEVBQUUsQ0FBQyxFQUFJLENBQUMsSUFBRyxNQUFJLEVBQUUsQ0FBQyxJQUFNLENBQUEsQ0FBQyxDQUFDO0lBQzdDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3RCLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQztBQUVGLElBQU0sWUFBWSxHQUFHLFVBQUMsS0FBb0I7SUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRTtRQUNwRCxPQUFPO0tBQ1Y7SUFDRCxHQUFHLENBQUMsZUFBSyxDQUFDLElBQUksQ0FBQyxVQUFRLEtBQUssQ0FBQyxFQUFJLENBQUMsSUFBRyxNQUFJLEtBQUssQ0FBQyxJQUFNLENBQUEsQ0FBQyxDQUFDO0lBQ3ZELEdBQUcsQ0FBQyx3QkFBc0IsS0FBSyxDQUFDLElBQU0sQ0FBQyxDQUFDO0lBQ3hDLEdBQUcsQ0FBQyx3QkFBc0IsS0FBSyxDQUFDLFdBQWEsQ0FBQyxDQUFDO0FBQ25ELENBQUMsQ0FBQztBQUVGLElBQUksRUFBRSxDQUFDIn0=
@@ -1,130 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
- var __generator = (this && this.__generator) || function (thisArg, body) {
13
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
14
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
15
- function verb(n) { return function (v) { return step([n, v]); }; }
16
- function step(op) {
17
- if (f) throw new TypeError("Generator is already executing.");
18
- while (_) try {
19
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
20
- if (y = 0, t) op = [op[0] & 2, t.value];
21
- switch (op[0]) {
22
- case 0: case 1: t = op; break;
23
- case 4: _.label++; return { value: op[1], done: false };
24
- case 5: _.label++; y = op[1]; op = [0]; continue;
25
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
26
- default:
27
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
28
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
29
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
30
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
31
- if (t[2]) _.ops.pop();
32
- _.trys.pop(); continue;
33
- }
34
- op = body.call(thisArg, _);
35
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
36
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
- }
38
- };
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
- var configure_1 = require("../lib/configure");
41
- var commander = require("commander");
42
- var stories_1 = require("../lib/stories");
43
- var club_search_1 = require("./club-search");
44
- var config = configure_1.default.loadConfig();
45
- var log = console.log;
46
- var program = commander
47
- .description('List stories matching saved workspace query')
48
- .option('-l, --list', 'List saved workspaces')
49
- .option('-q, --quiet', 'Print only workspace story output, no loading dialog', '')
50
- .option('-n, --name [name]', 'Load named workspace', '')
51
- .option('-u, --unset [name]', 'Force unset saved workspace')
52
- .parse(process.argv);
53
- var main = function () { return __awaiter(void 0, void 0, void 0, function () {
54
- var success, name, workspace, found, findOpts, additionalArgs, stories, e_1;
55
- return __generator(this, function (_a) {
56
- switch (_a.label) {
57
- case 0:
58
- if (!config || !config.token) {
59
- log('Not installed yet.');
60
- log('Please run: club install');
61
- return [2];
62
- }
63
- else if (!config.workspaces) {
64
- log('No workspace saved.');
65
- log('Please run:');
66
- log(' club search [options] --save');
67
- log('to create your first one.');
68
- return [2];
69
- }
70
- else if (program.list) {
71
- log('Workspaces:');
72
- Object.keys(config.workspaces).map(function (w) {
73
- log(' ', w + ':', toArgs(config.workspaces[w]));
74
- });
75
- return [2];
76
- }
77
- else if (program.unset) {
78
- success = configure_1.default.removeWorkspace(program.unset);
79
- if (success) {
80
- log('Successfully removed %s workspace', program.unset);
81
- }
82
- else {
83
- log('Failed to remove %s workspace', program.unset);
84
- }
85
- return [2];
86
- }
87
- name = "" + (program.name || program.args[0] || 'default');
88
- workspace = config.workspaces[name];
89
- if (!workspace) {
90
- log('No workspace saved with name', name);
91
- log('Please run:');
92
- log(' club search [options] --save', name);
93
- log('to create it.');
94
- return [2];
95
- }
96
- found = club_search_1.program.parse(process.argv);
97
- findOpts = found.options.map(function (o) { return o.name(); });
98
- additionalArgs = findOpts.reduce(function (acc, val) {
99
- acc[val] = found[val] || acc[val] || found[val];
100
- return acc;
101
- }, workspace);
102
- if (!program.quiet) {
103
- log('Loading %s workspace ...', name);
104
- log();
105
- }
106
- stories = [];
107
- _a.label = 1;
108
- case 1:
109
- _a.trys.push([1, 3, , 4]);
110
- return [4, stories_1.default.listStories(additionalArgs)];
111
- case 2:
112
- stories = _a.sent();
113
- return [3, 4];
114
- case 3:
115
- e_1 = _a.sent();
116
- log('Error fetching stories:', e_1);
117
- return [3, 4];
118
- case 4:
119
- stories.map(stories_1.default.printFormattedStory(additionalArgs));
120
- return [2];
121
- }
122
- });
123
- }); };
124
- main();
125
- var toArgs = function (obj) {
126
- return Object.keys(obj)
127
- .map(function (k) { return "--" + k + " '" + obj[k] + "'"; })
128
- .join(' ');
129
- };
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1Yi13b3Jrc3BhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmluL2NsdWItd29ya3NwYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDhDQUF5QztBQUN6QyxxQ0FBdUM7QUFDdkMsMENBQXNDO0FBRXRDLDZDQUF5RDtBQUd6RCxJQUFNLE1BQU0sR0FBRyxtQkFBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ3RDLElBQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7QUFFeEIsSUFBTSxPQUFPLEdBQUcsU0FBUztLQUNwQixXQUFXLENBQUMsNkNBQTZDLENBQUM7S0FDMUQsTUFBTSxDQUFDLFlBQVksRUFBRSx1QkFBdUIsQ0FBQztLQUM3QyxNQUFNLENBQUMsYUFBYSxFQUFFLHNEQUFzRCxFQUFFLEVBQUUsQ0FBQztLQUNqRixNQUFNLENBQUMsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSxDQUFDO0tBQ3ZELE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSw2QkFBNkIsQ0FBQztLQUMzRCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRXpCLElBQU0sSUFBSSxHQUFHOzs7OztnQkFDVCxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtvQkFDMUIsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7b0JBQzFCLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO29CQUNoQyxXQUFPO2lCQUNWO3FCQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO29CQUMzQixHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztvQkFDM0IsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUNuQixHQUFHLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztvQkFDdEMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7b0JBQ2pDLFdBQU87aUJBQ1Y7cUJBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO29CQUNyQixHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFDLENBQUM7d0JBQ2pDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BELENBQUMsQ0FBQyxDQUFDO29CQUNILFdBQU87aUJBQ1Y7cUJBQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO29CQUNoQixPQUFPLEdBQUcsbUJBQVMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN6RCxJQUFJLE9BQU8sRUFBRTt3QkFDVCxHQUFHLENBQUMsbUNBQW1DLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUMzRDt5QkFBTTt3QkFDSCxHQUFHLENBQUMsK0JBQStCLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUN2RDtvQkFDRCxXQUFPO2lCQUNWO2dCQUNLLElBQUksR0FBVyxNQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUUsQ0FBQztnQkFDakUsU0FBUyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQ1osR0FBRyxDQUFDLDhCQUE4QixFQUFFLElBQUksQ0FBQyxDQUFDO29CQUMxQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBQ25CLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDNUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO29CQUNyQixXQUFPO2lCQUNWO2dCQUNLLEtBQUssR0FBRyxxQkFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzFDLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFDLENBQU0sSUFBSyxPQUFBLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBUixDQUFRLENBQUMsQ0FBQztnQkFDbkQsY0FBYyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBQyxHQUFRLEVBQUUsR0FBUTtvQkFDdEQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNoRCxPQUFPLEdBQUcsQ0FBQztnQkFDZixDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7b0JBQ2hCLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDdEMsR0FBRyxFQUFFLENBQUM7aUJBQ1Q7Z0JBQ0csT0FBTyxHQUFvQixFQUFFLENBQUM7Ozs7Z0JBRXBCLFdBQU0saUJBQVEsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUE7O2dCQUFwRCxPQUFPLEdBQUcsU0FBMEMsQ0FBQzs7OztnQkFFckQsR0FBRyxDQUFDLHlCQUF5QixFQUFFLEdBQUMsQ0FBQyxDQUFDOzs7Z0JBRXRDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDOzs7O0tBQzdELENBQUM7QUFDRixJQUFJLEVBQUUsQ0FBQztBQUVQLElBQU0sTUFBTSxHQUFHLFVBQUMsR0FBUTtJQUNwQixPQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ1gsR0FBRyxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsT0FBSyxDQUFDLFVBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFHLEVBQXBCLENBQW9CLENBQUM7U0FDaEMsSUFBSSxDQUFDLEdBQUcsQ0FBQztBQUZkLENBRWMsQ0FBQyJ9
package/build/bin/club.js DELETED
@@ -1,31 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- var pkg = require('../../package.json');
5
- var commander = require("commander");
6
- process.on('unhandledRejection', console.log);
7
- commander
8
- .version(pkg.version)
9
- .description(pkg.description)
10
- .command('install [options]', 'install and configure API access')
11
- .command('search [options] [SEARCH OPERATORS]', 'search stories with optional query')
12
- .alias('s')
13
- .command('find [options] [SEARCH OPERATORS]', '[DEPRECATED] search stories with optional query')
14
- .command('story ID [options]', 'view or manipulate stories')
15
- .alias('st')
16
- .command('create [options]', 'create a story')
17
- .alias('c')
18
- .command('members [options]', 'list members')
19
- .alias('m')
20
- .command('workflows [options]', 'list workflows and their states')
21
- .alias('wf')
22
- .command('epics [options]', 'list epics and their states')
23
- .alias('e')
24
- .command('projects [options]', 'list projects and their states')
25
- .alias('p')
26
- .command('workspace [NAME] [options]', 'list stories matching saved workspace query', {
27
- isDefault: true,
28
- })
29
- .alias('w')
30
- .parse(process.argv);
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1Yi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vY2x1Yi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxJQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUUxQyxxQ0FBdUM7QUFFdkMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFOUMsU0FBUztLQUNKLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO0tBQ3BCLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO0tBQzVCLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxrQ0FBa0MsQ0FBQztLQUNoRSxPQUFPLENBQUMscUNBQXFDLEVBQUUsb0NBQW9DLENBQUM7S0FDcEYsS0FBSyxDQUFDLEdBQUcsQ0FBQztLQUNWLE9BQU8sQ0FBQyxtQ0FBbUMsRUFBRSxpREFBaUQsQ0FBQztLQUMvRixPQUFPLENBQUMsb0JBQW9CLEVBQUUsNEJBQTRCLENBQUM7S0FDM0QsS0FBSyxDQUFDLElBQUksQ0FBQztLQUNYLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQztLQUM3QyxLQUFLLENBQUMsR0FBRyxDQUFDO0tBQ1YsT0FBTyxDQUFDLG1CQUFtQixFQUFFLGNBQWMsQ0FBQztLQUM1QyxLQUFLLENBQUMsR0FBRyxDQUFDO0tBQ1YsT0FBTyxDQUFDLHFCQUFxQixFQUFFLGlDQUFpQyxDQUFDO0tBQ2pFLEtBQUssQ0FBQyxJQUFJLENBQUM7S0FDWCxPQUFPLENBQUMsaUJBQWlCLEVBQUUsNkJBQTZCLENBQUM7S0FDekQsS0FBSyxDQUFDLEdBQUcsQ0FBQztLQUNWLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxnQ0FBZ0MsQ0FBQztLQUMvRCxLQUFLLENBQUMsR0FBRyxDQUFDO0tBQ1YsT0FBTyxDQUFDLDRCQUE0QixFQUFFLDZDQUE2QyxFQUFFO0lBQ2xGLFNBQVMsRUFBRSxJQUFJO0NBQ2xCLENBQUM7S0FDRCxLQUFLLENBQUMsR0FBRyxDQUFDO0tBQ1YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyJ9