@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.
- package/README.md +37 -33
- package/build/bin/short-create.js +10 -10
- package/build/bin/short-epics.js +3 -3
- package/build/bin/short-find.js +2 -2
- package/build/bin/short-install.js +8 -6
- package/build/bin/short-members.js +3 -3
- package/build/bin/short-projects.js +3 -3
- package/build/bin/short-search.js +7 -5
- package/build/bin/short-story.js +63 -60
- package/build/bin/short-workflows.js +3 -3
- package/build/lib/client.js +4 -4
- package/build/lib/configure.js +12 -8
- package/build/lib/stories.js +124 -95
- package/build/tsconfig.tsbuildinfo +1 -973
- package/package.json +5 -5
- package/CHANGELOG.md +0 -166
- package/build/bin/club-create.js +0 -140
- package/build/bin/club-epics.js +0 -115
- package/build/bin/club-find.js +0 -6
- package/build/bin/club-install.js +0 -130
- package/build/bin/club-members.js +0 -85
- package/build/bin/club-projects.js +0 -88
- package/build/bin/club-search.js +0 -136
- package/build/bin/club-story.js +0 -366
- package/build/bin/club-workflows.js +0 -79
- package/build/bin/club-workspace.js +0 -130
- package/build/bin/club.js +0 -31
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shortcut-cli/shortcut-cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.1",
|
|
4
4
|
"description": "A command line tool for viewing, creating and updating shortcut.com stories",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"engines": {
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
},
|
|
40
40
|
"homepage": "https://github.com/shortcut-cli/shortcut-cli",
|
|
41
41
|
"dependencies": {
|
|
42
|
+
"@useshortcut/client": "^1.0.0",
|
|
42
43
|
"chalk": "^2.2.0",
|
|
43
44
|
"cli-spinner": "^0.2.6",
|
|
44
|
-
"clubhouse-lib": "0.13.0",
|
|
45
45
|
"commander": "^2.12.0",
|
|
46
46
|
"debug": "^4.0.0",
|
|
47
47
|
"prompt": "^1.0.0"
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
"@types/chalk": "2.2.0",
|
|
51
51
|
"@types/cli-spinner": "0.2.1",
|
|
52
52
|
"@types/debug": "4.1.7",
|
|
53
|
-
"@types/node": "12.20.
|
|
54
|
-
"@types/node-fetch": "
|
|
53
|
+
"@types/node": "12.20.27",
|
|
54
|
+
"@types/node-fetch": "3.0.2",
|
|
55
55
|
"babel-eslint": "10.1.0",
|
|
56
56
|
"eslint": "7.32.0",
|
|
57
57
|
"eslint-config-standard": "16.0.3",
|
|
@@ -62,6 +62,6 @@
|
|
|
62
62
|
"eslint-plugin-standard": "4.1.0",
|
|
63
63
|
"prettier": "2.2.1",
|
|
64
64
|
"source-map-support": "0.5.20",
|
|
65
|
-
"typescript": "
|
|
65
|
+
"typescript": "4.4.3"
|
|
66
66
|
}
|
|
67
67
|
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
All notable changes to this project will be documented in this file.
|
|
3
|
-
|
|
4
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
5
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
|
-
|
|
7
|
-
## [Unreleased]
|
|
8
|
-
### Added
|
|
9
|
-
- Branch base story inference: support for both `chNNNN` and `sc-NNNNN`.
|
|
10
|
-
- Add tests against Node 16 (soon to be LTS).
|
|
11
|
-
### Changed
|
|
12
|
-
- Renamed clubhouse-cli to shortcut-cli.
|
|
13
|
-
- Switch branch format to `user/sc-NNNN/...` to fit Shortcut new prefix.
|
|
14
|
-
- Simplify the CircleCI configuration so it's easier to test against multiple versions with a matrix.
|
|
15
|
-
### Deprecated
|
|
16
|
-
### Removed
|
|
17
|
-
### Fixed
|
|
18
|
-
- Do not expect stories to have a project. Projects are now optional.
|
|
19
|
-
### Security
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## [2.7.0] - 2020-08-17
|
|
24
|
-
### Added
|
|
25
|
-
- Add support for story search via estimate (thanks [@jbcrail](https://github.com/jbcrail)!).
|
|
26
|
-
- Add `prepublish` hook to ensure the project is built before it's being published.
|
|
27
|
-
|
|
28
|
-
## [2.6.3] - 2020-07-30
|
|
29
|
-
## [2.6.2] - 2020-07-30
|
|
30
|
-
## [2.6.1] - 2020-07-30
|
|
31
|
-
### Fixed
|
|
32
|
-
- Return clearer error message when trying to open the epic or iteration when the story is not assign to one or the other
|
|
33
|
-
|
|
34
|
-
## [2.6.0] - 2020-06-19
|
|
35
|
-
### Added
|
|
36
|
-
- Add support for `--git-branch-short` during story creation.
|
|
37
|
-
|
|
38
|
-
## [2.5.0] - 2020-06-18
|
|
39
|
-
### Added
|
|
40
|
-
- Add story formatting options for git branch and git branch short-name (thanks [@jshmfrankel](https://github.com/joshmfrankel)!)
|
|
41
|
-
|
|
42
|
-
## [2.4.0] - 2020-06-16
|
|
43
|
-
### Added
|
|
44
|
-
- Allow custom formatting of epics via `club epics --format` (thanks [@gowabash](https://github.com/gowabash)!)
|
|
45
|
-
### Security
|
|
46
|
-
- Upgrade dependencies.
|
|
47
|
-
|
|
48
|
-
## [2.3.1] - 2020-03-30
|
|
49
|
-
### Fixed
|
|
50
|
-
- Handle checking out to existing branches with `--git-branch`.
|
|
51
|
-
### Security
|
|
52
|
-
- Upgrade dependencies.
|
|
53
|
-
|
|
54
|
-
## [2.3.0] - 2020-02-24
|
|
55
|
-
### Added
|
|
56
|
-
- Allow filtering of epics by related milestone ID.
|
|
57
|
-
### Fixed
|
|
58
|
-
- Prevent accidental git branch story ID matches on usernames with numbers.
|
|
59
|
-
### Security
|
|
60
|
-
- Dependency updates.
|
|
61
|
-
|
|
62
|
-
## [2.2.4] - 2020-02-04
|
|
63
|
-
## [2.2.3] - 2020-02-03
|
|
64
|
-
### Fixed
|
|
65
|
-
- Fix bug in `clubhouse-lib` `/api/v3` which returns an invalid URL that could not be processed by the client.
|
|
66
|
-
|
|
67
|
-
## [2.2.2] - 2020-01-23
|
|
68
|
-
## [2.2.1] - 2020-01-23
|
|
69
|
-
### Fixed
|
|
70
|
-
- Allow story updated timestamp to be printed with custom formatter.
|
|
71
|
-
|
|
72
|
-
## [2.2.0] - 2020-01-22
|
|
73
|
-
### Added
|
|
74
|
-
- Respect `XDG_CONFIG_HOME` for the config location.
|
|
75
|
-
### Changed
|
|
76
|
-
- The `mentionName` and `urlSlug` (previously names `workspaceName`) configuration now get set automatically.
|
|
77
|
-
- The config is now only read once (unless noted otherwise).
|
|
78
|
-
### Security
|
|
79
|
-
- General dependency renovations.
|
|
80
|
-
### Upgrading
|
|
81
|
-
You will be prompted to run `club install --refresh` upon upgrading to this version, which will pull from the new current member API endpoint to load workspace information into the saved config.
|
|
82
|
-
|
|
83
|
-
## [2.1.0] - 2020-01-12
|
|
84
|
-
### Added
|
|
85
|
-
- In `club search`, replace `%self%` with the user's mention name.
|
|
86
|
-
- Accept options to open the story's epic, iteration and/or project.
|
|
87
|
-
- Use `xdg-open` on non-macOS platform.
|
|
88
|
-
- Add the `Config` interface and added `workspaceName` as a parameter.
|
|
89
|
-
### Security
|
|
90
|
-
- Several dependency upgrades via Renovatebot.
|
|
91
|
-
|
|
92
|
-
## [2.0.6] - 2019-11-06
|
|
93
|
-
### Changed
|
|
94
|
-
- Upgrade to latest `clubhouse-lib`.
|
|
95
|
-
### Fixed
|
|
96
|
-
- Fix completed status on story tasks.
|
|
97
|
-
|
|
98
|
-
## [2.0.5] - 2019-10-10
|
|
99
|
-
### Fixed
|
|
100
|
-
- Gracefully handle lack of git repository when searching for story ID.
|
|
101
|
-
|
|
102
|
-
## [2.0.4] - 2019-10-10
|
|
103
|
-
### Fixed
|
|
104
|
-
- Fix the import of prompt to conform to Typescript
|
|
105
|
-
|
|
106
|
-
## [2.0.3] - 2019-09-23
|
|
107
|
-
### Fixed
|
|
108
|
-
- Fix the entity returned by findProject by ID.
|
|
109
|
-
|
|
110
|
-
## [2.0.2] - 2019-08-15
|
|
111
|
-
### Fixed
|
|
112
|
-
- Remove source-map-support.
|
|
113
|
-
|
|
114
|
-
## [2.0.1] - 2019-08-15
|
|
115
|
-
### Fixed
|
|
116
|
-
- Remove development start script to prevent production override.
|
|
117
|
-
|
|
118
|
-
## [2.0.0] - 2019-08-15
|
|
119
|
-
### Added
|
|
120
|
-
- Support Iterations filtering/assignment on stories.
|
|
121
|
-
|
|
122
|
-
### Changed
|
|
123
|
-
- Convert to TypeScript.
|
|
124
|
-
- New formatting/argument syntax for Epic and story ID.
|
|
125
|
-
- Allow non-digit characters in story IDs.
|
|
126
|
-
|
|
127
|
-
## [1.17.0] - 2019-03-19
|
|
128
|
-
### Added
|
|
129
|
-
- Running tests on CircleCI.
|
|
130
|
-
- Allow for full JSON output in story format.
|
|
131
|
-
|
|
132
|
-
## [1.16.1] - 2019-03-13
|
|
133
|
-
### Fixed
|
|
134
|
-
- Fix the ability to open a story during creation.
|
|
135
|
-
|
|
136
|
-
## [1.16.0] - 2019-03-13
|
|
137
|
-
### Changed
|
|
138
|
-
- Remove bold styling on non-story-ID items in custom formatting.
|
|
139
|
-
|
|
140
|
-
## [1.15.1] - 2019-03-08
|
|
141
|
-
### Fixed
|
|
142
|
-
- Fix reference to non-imported function.
|
|
143
|
-
|
|
144
|
-
## [1.15.0] - 2019-03-06
|
|
145
|
-
### Added
|
|
146
|
-
- Added shorthand / aliases for commands see `club --help`.
|
|
147
|
-
- Added code formatting with prettier.
|
|
148
|
-
|
|
149
|
-
### Changed
|
|
150
|
-
- Renamed `club find` to `club search`.
|
|
151
|
-
- Extracted duplicated code to story lib.
|
|
152
|
-
- Cleaned up the initialization of commands.
|
|
153
|
-
|
|
154
|
-
### Deprecated
|
|
155
|
-
- `club find` has been deprecated in favor of `club search`.
|
|
156
|
-
|
|
157
|
-
## [1.14.0] - 2019-02-28
|
|
158
|
-
### Added
|
|
159
|
-
- Support `story --git-branch-short` to create a branch without the story type.
|
|
160
|
-
|
|
161
|
-
## [1.13.0] - 2019-02-25
|
|
162
|
-
### Added
|
|
163
|
-
- Support searching via the clubhouse search API endpoint.
|
|
164
|
-
|
|
165
|
-
### Changed
|
|
166
|
-
- Upgrade `clubhouse-lib` to 0.5.0.
|
package/build/bin/club-create.js
DELETED
|
@@ -1,140 +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 stories_1 = require("../lib/stories");
|
|
41
|
-
var child_process_1 = require("child_process");
|
|
42
|
-
var client_1 = require("../lib/client");
|
|
43
|
-
var spinner_1 = require("../lib/spinner");
|
|
44
|
-
var commander = require("commander");
|
|
45
|
-
var configure_1 = require("../lib/configure");
|
|
46
|
-
var config = configure_1.loadConfig();
|
|
47
|
-
var spin = spinner_1.default();
|
|
48
|
-
var log = console.log;
|
|
49
|
-
var program = commander
|
|
50
|
-
.usage('[options]')
|
|
51
|
-
.description('create a story with provided details')
|
|
52
|
-
.option('-d, --description [text]', 'Set description of story', '')
|
|
53
|
-
.option('-e, --estimate [number]', 'Set estimate of story')
|
|
54
|
-
.option('--epic [id|name]', 'Set epic of story')
|
|
55
|
-
.option('--git-branch', 'Checkout git branch from story slug <mention-name>/ch<id>/<type>-<title>\n' +
|
|
56
|
-
'\t\t\t\tas required by the Git integration: https://bit.ly/2RKO1FF')
|
|
57
|
-
.option('--git-branch-short', 'Checkout git branch from story slug <mention-name>/ch<id>/<title>')
|
|
58
|
-
.option('-i, --iteration [id|name]', 'Set iteration of story')
|
|
59
|
-
.option('-I, --idonly', 'Print only ID of story result')
|
|
60
|
-
.option('-l, --label [id|name]', 'Stories with label id/name, by regex', '')
|
|
61
|
-
.option('-o, --owners [id|name]', 'Set owners of story, comma-separated', '')
|
|
62
|
-
.option('-O, --open', 'Open story in browser')
|
|
63
|
-
.option('-p, --project [id|name]', 'Set project of story, required', '')
|
|
64
|
-
.option('-t, --title [text]', 'Set title of story, required', '')
|
|
65
|
-
.option('-s, --state [id|name]', 'Set workflow state of story', '')
|
|
66
|
-
.option('-y, --type [name]', 'Set type of story, default: feature', 'feature')
|
|
67
|
-
.parse(process.argv);
|
|
68
|
-
var main = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
69
|
-
var entities, update, story, e_1;
|
|
70
|
-
return __generator(this, function (_a) {
|
|
71
|
-
switch (_a.label) {
|
|
72
|
-
case 0: return [4, stories_1.default.fetchEntities()];
|
|
73
|
-
case 1:
|
|
74
|
-
entities = _a.sent();
|
|
75
|
-
if (!program.idonly)
|
|
76
|
-
spin.start();
|
|
77
|
-
update = {
|
|
78
|
-
name: program.title,
|
|
79
|
-
story_type: program.type,
|
|
80
|
-
description: "" + program.description,
|
|
81
|
-
estimate: program.estimate || undefined,
|
|
82
|
-
};
|
|
83
|
-
if (program.project) {
|
|
84
|
-
update.project_id = (stories_1.default.findProject(entities, program.project) || {}).id;
|
|
85
|
-
}
|
|
86
|
-
if (program.state) {
|
|
87
|
-
update.workflow_state_id = (stories_1.default.findState(entities, program.state) || {}).id;
|
|
88
|
-
}
|
|
89
|
-
if (program.epic) {
|
|
90
|
-
update.epic_id = (stories_1.default.findEpic(entities, program.epic) || {}).id;
|
|
91
|
-
}
|
|
92
|
-
if (program.iteration) {
|
|
93
|
-
update.iteration_id = (stories_1.default.findIteration(entities, program.iteration) || {}).id;
|
|
94
|
-
}
|
|
95
|
-
if (program.estimate) {
|
|
96
|
-
update.estimate = parseInt(program.estimate, 10);
|
|
97
|
-
}
|
|
98
|
-
if (program.owners) {
|
|
99
|
-
update.owner_ids = stories_1.default.findOwnerIds(entities, program.owners);
|
|
100
|
-
}
|
|
101
|
-
if (program.label) {
|
|
102
|
-
update.labels = stories_1.default.findLabelNames(entities, program.label);
|
|
103
|
-
}
|
|
104
|
-
if (!(!update.name || !update.project_id)) return [3, 2];
|
|
105
|
-
if (!program.idonly)
|
|
106
|
-
spin.stop(true);
|
|
107
|
-
log('Must provide --title and --project');
|
|
108
|
-
return [3, 5];
|
|
109
|
-
case 2:
|
|
110
|
-
_a.trys.push([2, 4, , 5]);
|
|
111
|
-
return [4, client_1.default.createStory(update)];
|
|
112
|
-
case 3:
|
|
113
|
-
story = _a.sent();
|
|
114
|
-
return [3, 5];
|
|
115
|
-
case 4:
|
|
116
|
-
e_1 = _a.sent();
|
|
117
|
-
log('Error creating story');
|
|
118
|
-
return [3, 5];
|
|
119
|
-
case 5:
|
|
120
|
-
if (!program.idonly)
|
|
121
|
-
spin.stop(true);
|
|
122
|
-
if (story) {
|
|
123
|
-
story = stories_1.default.hydrateStory(entities, story);
|
|
124
|
-
stories_1.default.printDetailedStory(story);
|
|
125
|
-
if (program.gitBranch) {
|
|
126
|
-
stories_1.default.checkoutStoryBranch(story);
|
|
127
|
-
}
|
|
128
|
-
else if (program.gitBranchShort) {
|
|
129
|
-
stories_1.default.checkoutStoryBranch(story, config.mentionName + "/sc-" + story.id + "/");
|
|
130
|
-
}
|
|
131
|
-
if (program.open) {
|
|
132
|
-
child_process_1.exec('open ' + stories_1.default.storyURL(story));
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
return [2];
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
}); };
|
|
139
|
-
main();
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1Yi1jcmVhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmluL2NsdWItY3JlYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDBDQUF5RDtBQUV6RCwrQ0FBcUM7QUFFckMsd0NBQW1DO0FBR25DLDBDQUFxQztBQUNyQyxxQ0FBdUM7QUFDdkMsOENBQThDO0FBRTlDLElBQU0sTUFBTSxHQUFHLHNCQUFVLEVBQUUsQ0FBQztBQUM1QixJQUFNLElBQUksR0FBRyxpQkFBTyxFQUFFLENBQUM7QUFDdkIsSUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztBQUN4QixJQUFNLE9BQU8sR0FBRyxTQUFTO0tBQ3BCLEtBQUssQ0FBQyxXQUFXLENBQUM7S0FDbEIsV0FBVyxDQUFDLHNDQUFzQyxDQUFDO0tBQ25ELE1BQU0sQ0FBQywwQkFBMEIsRUFBRSwwQkFBMEIsRUFBRSxFQUFFLENBQUM7S0FDbEUsTUFBTSxDQUFDLHlCQUF5QixFQUFFLHVCQUF1QixDQUFDO0tBQzFELE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxtQkFBbUIsQ0FBQztLQUMvQyxNQUFNLENBQ0gsY0FBYyxFQUNkLDRFQUE0RTtJQUN4RSxvRUFBb0UsQ0FDM0U7S0FDQSxNQUFNLENBQ0gsb0JBQW9CLEVBQ3BCLG1FQUFtRSxDQUN0RTtLQUNBLE1BQU0sQ0FBQywyQkFBMkIsRUFBRSx3QkFBd0IsQ0FBQztLQUM3RCxNQUFNLENBQUMsY0FBYyxFQUFFLCtCQUErQixDQUFDO0tBQ3ZELE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSxzQ0FBc0MsRUFBRSxFQUFFLENBQUM7S0FDM0UsTUFBTSxDQUFDLHdCQUF3QixFQUFFLHNDQUFzQyxFQUFFLEVBQUUsQ0FBQztLQUM1RSxNQUFNLENBQUMsWUFBWSxFQUFFLHVCQUF1QixDQUFDO0tBQzdDLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxnQ0FB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
|
package/build/bin/club-epics.js
DELETED
|
@@ -1,115 +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 client_1 = require("../lib/client");
|
|
41
|
-
var commander = require("commander");
|
|
42
|
-
var chalk_1 = require("chalk");
|
|
43
|
-
var spinner_1 = require("../lib/spinner");
|
|
44
|
-
var log = console.log;
|
|
45
|
-
var spin = spinner_1.default();
|
|
46
|
-
var program = commander
|
|
47
|
-
.description('Display epics available for stories')
|
|
48
|
-
.option('-a, --archived', 'List only epics including archived', '')
|
|
49
|
-
.option('-c, --completed', 'List only epics that have been completed', '')
|
|
50
|
-
.option('-d, --detailed', 'List more details for each epic', '')
|
|
51
|
-
.option('-f, --format [template]', 'Format each epic output by template', '')
|
|
52
|
-
.option('-M, --milestone [ID]', 'List epics in milestone matching id', '')
|
|
53
|
-
.option('-t, --title [query]', 'List epics with name/title containing query', '')
|
|
54
|
-
.option('-s, --started', 'List epics that have been started', '')
|
|
55
|
-
.parse(process.argv);
|
|
56
|
-
var main = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
57
|
-
var epics, textMatch;
|
|
58
|
-
return __generator(this, function (_a) {
|
|
59
|
-
switch (_a.label) {
|
|
60
|
-
case 0:
|
|
61
|
-
spin.start();
|
|
62
|
-
return [4, client_1.default.listEpics()];
|
|
63
|
-
case 1:
|
|
64
|
-
epics = _a.sent();
|
|
65
|
-
spin.stop(true);
|
|
66
|
-
textMatch = new RegExp(program.title, 'i');
|
|
67
|
-
epics
|
|
68
|
-
.filter(function (epic) {
|
|
69
|
-
return (!!(epic.name + " " + epic.name).match(textMatch) &&
|
|
70
|
-
!!(program.milestone ? epic.milestone_id == program.milestone : true));
|
|
71
|
-
})
|
|
72
|
-
.map(printItem);
|
|
73
|
-
return [2];
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
}); };
|
|
77
|
-
var printItem = function (epic) {
|
|
78
|
-
if (epic.archived && !program.archived)
|
|
79
|
-
return;
|
|
80
|
-
if (!epic.started && program.started)
|
|
81
|
-
return;
|
|
82
|
-
if (!epic.completed && program.completed)
|
|
83
|
-
return;
|
|
84
|
-
var defaultFormat = "#%id %t\nMilestone:\t%m\nState:\t\t%s\nDeadline:\t%dl\n";
|
|
85
|
-
defaultFormat += "Points:\t\t%p\nPoints Started: %ps\nPoints Done:\t%pd\nCompletion:\t%c\n";
|
|
86
|
-
if (epic.archived) {
|
|
87
|
-
defaultFormat += "Archived:\t%ar\n";
|
|
88
|
-
}
|
|
89
|
-
if (epic.started) {
|
|
90
|
-
defaultFormat += "Started:\t%st\n";
|
|
91
|
-
}
|
|
92
|
-
if (epic.completed) {
|
|
93
|
-
defaultFormat += "Completed:\t%co\n";
|
|
94
|
-
}
|
|
95
|
-
if (program.detailed) {
|
|
96
|
-
defaultFormat += "Description:\t%d\n";
|
|
97
|
-
}
|
|
98
|
-
var format = program.format || defaultFormat;
|
|
99
|
-
log(format
|
|
100
|
-
.replace(/%id/, chalk_1.default.bold("" + epic.id))
|
|
101
|
-
.replace(/%t/, chalk_1.default.blue("" + epic.name))
|
|
102
|
-
.replace(/%m/, "" + (epic.milestone_id || '_'))
|
|
103
|
-
.replace(/%s/, "" + epic.state)
|
|
104
|
-
.replace(/%dl/, "" + (epic.deadline || '_'))
|
|
105
|
-
.replace(/%d/, "" + epic.description)
|
|
106
|
-
.replace(/%p/, "" + epic.stats.num_points)
|
|
107
|
-
.replace(/%ps/, "" + epic.stats.num_points_started)
|
|
108
|
-
.replace(/%pd/, "" + epic.stats.num_points_done)
|
|
109
|
-
.replace(/%c/, Math.round((epic.stats.num_points_done / (epic.stats.num_points || 1)) * 100) + "%")
|
|
110
|
-
.replace(/%a/, "" + epic.archived)
|
|
111
|
-
.replace(/%st/, "" + epic.started_at)
|
|
112
|
-
.replace(/%co/, "" + epic.completed_at));
|
|
113
|
-
};
|
|
114
|
-
main();
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1Yi1lcGljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vY2x1Yi1lcGljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSx3Q0FBbUM7QUFDbkMscUNBQXVDO0FBQ3ZDLCtCQUEwQjtBQUcxQiwwQ0FBcUM7QUFFckMsSUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztBQUN4QixJQUFNLElBQUksR0FBRyxpQkFBTyxFQUFFLENBQUM7QUFFdkIsSUFBTSxPQUFPLEdBQUcsU0FBUztLQUNwQixXQUFXLENBQUMscUNBQXFDLENBQUM7S0FDbEQsTUFBTSxDQUFDLGdCQUFnQixFQUFFLG9DQUFvQyxFQUFFLEVBQUUsQ0FBQztLQUNsRSxNQUFNLENBQUMsaUJBQWlCLEVBQUUsMENBQTBDLEVBQUUsRUFBRSxDQUFDO0tBQ3pFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxpQ0FBaUMsRUFBRSxFQUFFLENBQUM7S0FDL0QsTUFBTSxDQUFDLHlCQUF5QixFQUFFLHFDQUFxQyxFQUFFLEVBQUUsQ0FBQztLQUM1RSxNQUFNLENBQUMsc0JBQXNCLEVBQUUscUNBQXFDLEVBQUUsRUFBRSxDQUFDO0tBQ3pFLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSw2Q0FBNkMsRUFBRSxFQUFFLENBQUM7S0FDaEYsTUFBTSxDQUFDLGVBQWUsRUFBRSxtQ0FBbUMsRUFBRSxFQUFFLENBQUM7S0FDaEUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUV6QixJQUFNLElBQUksR0FBRzs7Ozs7Z0JBQ1QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNDLFdBQU0sZ0JBQU0sQ0FBQyxTQUFTLEVBQUUsRUFBQTs7Z0JBQWhDLEtBQUssR0FBRyxTQUF3QjtnQkFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDVixTQUFTLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDakQsS0FBSztxQkFDQSxNQUFNLENBQUMsVUFBQyxJQUFVO29CQUNmLE9BQU8sQ0FDSCxDQUFDLENBQUMsQ0FBRyxJQUFJLENBQUMsSUFBSSxTQUFJLElBQUksQ0FBQyxJQUFNLENBQUEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO3dCQUM5QyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUN4RSxDQUFDO2dCQUNOLENBQUMsQ0FBQztxQkFDRCxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7Ozs7S0FDdkIsQ0FBQztBQUVGLElBQU0sU0FBUyxHQUFHLFVBQUMsSUFBVTtJQUN6QixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtRQUFFLE9BQU87SUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU87UUFBRSxPQUFPO0lBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTO1FBQUUsT0FBTztJQUVqRCxJQUFJLGFBQWEsR0FBRyx5REFBeUQsQ0FBQztJQUM5RSxhQUFhLElBQUksMEVBQTBFLENBQUM7SUFDNUYsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ2YsYUFBYSxJQUFJLGtCQUFrQixDQUFDO0tBQ3ZDO0lBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ2QsYUFBYSxJQUFJLGlCQUFpQixDQUFDO0tBQ3RDO0lBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ2hCLGFBQWEsSUFBSSxtQkFBbUIsQ0FBQztLQUN4QztJQUNELElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtRQUNsQixhQUFhLElBQUksb0JBQW9CLENBQUM7S0FDekM7SUFFRCxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLGFBQWEsQ0FBQztJQUMvQyxHQUFHLENBQ0MsTUFBTTtTQUNELE9BQU8sQ0FBQyxLQUFLLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxLQUFHLElBQUksQ0FBQyxFQUFJLENBQUMsQ0FBQztTQUN4QyxPQUFPLENBQUMsSUFBSSxFQUFFLGVBQUssQ0FBQyxJQUFJLENBQUMsS0FBRyxJQUFJLENBQUMsSUFBTSxDQUFDLENBQUM7U0FDekMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFHLElBQUksQ0FBQyxZQUFZLElBQUksR0FBRyxDQUFFLENBQUM7U0FDNUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFHLElBQUksQ0FBQyxLQUFPLENBQUM7U0FDOUIsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFHLElBQUksQ0FBQyxRQUFRLElBQUksR0FBRyxDQUFFLENBQUM7U0FDekMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFHLElBQUksQ0FBQyxXQUFhLENBQUM7U0FDcEMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBWSxDQUFDO1NBQ3pDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFvQixDQUFDO1NBQ2xELE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWlCLENBQUM7U0FDL0MsT0FBTyxDQUNKLElBQUksRUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFHLENBQ3RGO1NBQ0EsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFHLElBQUksQ0FBQyxRQUFVLENBQUM7U0FDakMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFHLElBQUksQ0FBQyxVQUFZLENBQUM7U0FDcEMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFHLElBQUksQ0FBQyxZQUFjLENBQUMsQ0FDOUMsQ0FBQztBQUNOLENBQUMsQ0FBQztBQUNGLElBQUksRUFBRSxDQUFDIn0=
|
package/build/bin/club-find.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
var club_search_1 = require("./club-search");
|
|
5
|
-
club_search_1.main();
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1Yi1maW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9jbHViLWZpbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkNBQXFDO0FBRXJDLGtCQUFJLEVBQUUsQ0FBQyJ9
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
var __assign = (this && this.__assign) || function () {
|
|
4
|
-
__assign = Object.assign || function(t) {
|
|
5
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
-
s = arguments[i];
|
|
7
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
8
|
-
t[p] = s[p];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
|
-
return __assign.apply(this, arguments);
|
|
13
|
-
};
|
|
14
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
24
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
25
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
26
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
27
|
-
function step(op) {
|
|
28
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
29
|
-
while (_) try {
|
|
30
|
-
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;
|
|
31
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
32
|
-
switch (op[0]) {
|
|
33
|
-
case 0: case 1: t = op; break;
|
|
34
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
35
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
36
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
37
|
-
default:
|
|
38
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
39
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
40
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
41
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
42
|
-
if (t[2]) _.ops.pop();
|
|
43
|
-
_.trys.pop(); continue;
|
|
44
|
-
}
|
|
45
|
-
op = body.call(thisArg, _);
|
|
46
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
47
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
-
var prompt = require("prompt");
|
|
52
|
-
var configure_1 = require("../lib/configure");
|
|
53
|
-
var commander = require("commander");
|
|
54
|
-
var clubhouse_lib_1 = require("clubhouse-lib");
|
|
55
|
-
var extant = configure_1.loadCachedConfig();
|
|
56
|
-
var log = console.log;
|
|
57
|
-
var program = commander
|
|
58
|
-
.version(require('../../package').version)
|
|
59
|
-
.description('Install access token and other settings for the Shortcut API')
|
|
60
|
-
.option('-f, --force', 'Force install/reinstall')
|
|
61
|
-
.option('-r, --refresh', 'Refresh the configuration with details from Shortcut.')
|
|
62
|
-
.parse(process.argv);
|
|
63
|
-
var enrichConfigWithMemberDetails = function (config) { return __awaiter(void 0, void 0, void 0, function () {
|
|
64
|
-
var member;
|
|
65
|
-
return __generator(this, function (_a) {
|
|
66
|
-
switch (_a.label) {
|
|
67
|
-
case 0:
|
|
68
|
-
log('Fetching user/member details from Shortcut...');
|
|
69
|
-
return [4, clubhouse_lib_1.default.create(config.token).getCurrentMember()];
|
|
70
|
-
case 1:
|
|
71
|
-
member = _a.sent();
|
|
72
|
-
return [2, __assign({ mentionName: member.mention_name, urlSlug: member.workspace2.url_slug }, config)];
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}); };
|
|
76
|
-
var main = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
77
|
-
var _a, schema;
|
|
78
|
-
return __generator(this, function (_b) {
|
|
79
|
-
switch (_b.label) {
|
|
80
|
-
case 0:
|
|
81
|
-
if (!program.refresh) return [3, 2];
|
|
82
|
-
_a = configure_1.updateConfig;
|
|
83
|
-
return [4, enrichConfigWithMemberDetails(extant)];
|
|
84
|
-
case 1:
|
|
85
|
-
_a.apply(void 0, [_b.sent()]);
|
|
86
|
-
return [3, 3];
|
|
87
|
-
case 2:
|
|
88
|
-
if (!extant.token || program.force) {
|
|
89
|
-
schema = {
|
|
90
|
-
properties: {
|
|
91
|
-
token: {
|
|
92
|
-
message: 'API Token -> https://app.clubhouse.io/xxxx/settings/account/api-tokens',
|
|
93
|
-
required: true,
|
|
94
|
-
},
|
|
95
|
-
},
|
|
96
|
-
};
|
|
97
|
-
prompt.start({ message: 'clubhouse' });
|
|
98
|
-
prompt.get(schema, function (err, result) { return __awaiter(void 0, void 0, void 0, function () {
|
|
99
|
-
var config, success;
|
|
100
|
-
return __generator(this, function (_a) {
|
|
101
|
-
switch (_a.label) {
|
|
102
|
-
case 0:
|
|
103
|
-
if (err)
|
|
104
|
-
return [2, log(err)];
|
|
105
|
-
return [4, enrichConfigWithMemberDetails(result)];
|
|
106
|
-
case 1:
|
|
107
|
-
config = _a.sent();
|
|
108
|
-
log('Saving config...');
|
|
109
|
-
success = configure_1.updateConfig(config);
|
|
110
|
-
if (success) {
|
|
111
|
-
log('Saved config');
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
log('Error saving config');
|
|
115
|
-
}
|
|
116
|
-
return [2];
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
}); });
|
|
120
|
-
}
|
|
121
|
-
else if (extant.token) {
|
|
122
|
-
log('A configuration/token is already saved. To override, re-run with --force');
|
|
123
|
-
}
|
|
124
|
-
_b.label = 3;
|
|
125
|
-
case 3: return [2];
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
}); };
|
|
129
|
-
main();
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1Yi1pbnN0YWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9jbHViLWluc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSwrQkFBaUM7QUFFakMsOENBQTBFO0FBQzFFLHFDQUF1QztBQUN2QywrQ0FBc0M7QUFFdEMsSUFBTSxNQUFNLEdBQUcsNEJBQWdCLEVBQUUsQ0FBQztBQUNsQyxJQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO0FBRXhCLElBQU0sT0FBTyxHQUFHLFNBQVM7S0FDcEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUM7S0FDekMsV0FBVyxDQUFDLDhEQUE4RCxDQUFDO0tBQzNFLE1BQU0sQ0FBQyxhQUFhLEVBQUUseUJBQXlCLENBQUM7S0FDaEQsTUFBTSxDQUFDLGVBQWUsRUFBRSx1REFBdUQsQ0FBQztLQUNoRixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRXpCLElBQU0sNkJBQTZCLEdBQUcsVUFBTyxNQUFjOzs7OztnQkFDdkQsR0FBRyxDQUFDLCtDQUErQyxDQUFDLENBQUM7Z0JBQ3RDLFdBQU0sdUJBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEVBQUE7O2dCQUFoRSxNQUFNLEdBQUcsU0FBdUQ7Z0JBQ3RFLHNCQUNJLFdBQVcsRUFBRSxNQUFNLENBQUMsWUFBWSxFQUNoQyxPQUFPLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLElBQ2hDLE1BQU0sR0FDWDs7O0tBQ0wsQ0FBQztBQUVGLElBQU0sSUFBSSxHQUFHOzs7OztxQkFDTCxPQUFPLENBQUMsT0FBTyxFQUFmLGNBQWU7Z0JBQ2YsS0FBQSx3QkFBWSxDQUFBO2dCQUFDLFdBQU0sNkJBQTZCLENBQUMsTUFBTSxDQUFDLEVBQUE7O2dCQUF4RCxrQkFBYSxTQUEyQyxFQUFDLENBQUM7OztnQkFDdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtvQkFDakMsTUFBTSxHQUFHO3dCQUNYLFVBQVUsRUFBRTs0QkFDUixLQUFLLEVBQUU7Z0NBQ0gsT0FBTyxFQUNILHdFQUF3RTtnQ0FDNUUsUUFBUSxFQUFFLElBQUk7NkJBQ2pCO3lCQUNKO3FCQUNKLENBQUM7b0JBQ0YsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO29CQUN2QyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFPLEdBQVUsRUFBRSxNQUFXOzs7OztvQ0FDN0MsSUFBSSxHQUFHO3dDQUFFLFdBQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFDO29DQUNWLFdBQU0sNkJBQTZCLENBQUMsTUFBTSxDQUFDLEVBQUE7O29DQUFwRCxNQUFNLEdBQUcsU0FBMkM7b0NBQzFELEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO29DQUNsQixPQUFPLEdBQUcsd0JBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztvQ0FDckMsSUFBSSxPQUFPLEVBQUU7d0NBQ1QsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO3FDQUN2Qjt5Q0FBTTt3Q0FDSCxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztxQ0FDOUI7Ozs7eUJBQ0osQ0FBQyxDQUFDO2lCQUNOO3FCQUFNLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtvQkFDckIsR0FBRyxDQUFDLDBFQUEwRSxDQUFDLENBQUM7aUJBQ25GOzs7OztLQUNKLENBQUM7QUFFRixJQUFJLEVBQUUsQ0FBQyJ9
|