@optimizely/ocp-cli 1.0.0-beta.2

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.
Files changed (283) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +18 -0
  3. package/bin/opti.js +3 -0
  4. package/dist/commands/accounts/Whoami.d.ts +3 -0
  5. package/dist/commands/accounts/Whoami.js +34 -0
  6. package/dist/commands/accounts/Whoami.js.map +1 -0
  7. package/dist/commands/accounts/Whois.d.ts +6 -0
  8. package/dist/commands/accounts/Whois.js +65 -0
  9. package/dist/commands/accounts/Whois.js.map +1 -0
  10. package/dist/commands/app/BaseBuildCommand.d.ts +23 -0
  11. package/dist/commands/app/BaseBuildCommand.js +227 -0
  12. package/dist/commands/app/BaseBuildCommand.js.map +1 -0
  13. package/dist/commands/app/Init.d.ts +20 -0
  14. package/dist/commands/app/Init.js +285 -0
  15. package/dist/commands/app/Init.js.map +1 -0
  16. package/dist/commands/app/Logs.d.ts +19 -0
  17. package/dist/commands/app/Logs.js +230 -0
  18. package/dist/commands/app/Logs.js.map +1 -0
  19. package/dist/commands/app/Package.d.ts +4 -0
  20. package/dist/commands/app/Package.js +51 -0
  21. package/dist/commands/app/Package.js.map +1 -0
  22. package/dist/commands/app/Prepare.d.ts +8 -0
  23. package/dist/commands/app/Prepare.js +112 -0
  24. package/dist/commands/app/Prepare.js.map +1 -0
  25. package/dist/commands/app/Register.d.ts +7 -0
  26. package/dist/commands/app/Register.js +58 -0
  27. package/dist/commands/app/Register.js.map +1 -0
  28. package/dist/commands/app/Validate.d.ts +4 -0
  29. package/dist/commands/app/Validate.js +27 -0
  30. package/dist/commands/app/Validate.js.map +1 -0
  31. package/dist/commands/availability/List.d.ts +4 -0
  32. package/dist/commands/availability/List.js +47 -0
  33. package/dist/commands/availability/List.js.map +1 -0
  34. package/dist/commands/directory/Info.d.ts +7 -0
  35. package/dist/commands/directory/Info.js +92 -0
  36. package/dist/commands/directory/Info.js.map +1 -0
  37. package/dist/commands/directory/Install.d.ts +6 -0
  38. package/dist/commands/directory/Install.js +54 -0
  39. package/dist/commands/directory/Install.js.map +1 -0
  40. package/dist/commands/directory/List.d.ts +8 -0
  41. package/dist/commands/directory/List.js +102 -0
  42. package/dist/commands/directory/List.js.map +1 -0
  43. package/dist/commands/directory/ListFunctions.d.ts +7 -0
  44. package/dist/commands/directory/ListFunctions.js +77 -0
  45. package/dist/commands/directory/ListFunctions.js.map +1 -0
  46. package/dist/commands/directory/ListGlobalFunctions.d.ts +6 -0
  47. package/dist/commands/directory/ListGlobalFunctions.js +72 -0
  48. package/dist/commands/directory/ListGlobalFunctions.js.map +1 -0
  49. package/dist/commands/directory/ListInstalls.d.ts +8 -0
  50. package/dist/commands/directory/ListInstalls.js +81 -0
  51. package/dist/commands/directory/ListInstalls.js.map +1 -0
  52. package/dist/commands/directory/Publish.d.ts +8 -0
  53. package/dist/commands/directory/Publish.js +180 -0
  54. package/dist/commands/directory/Publish.js.map +1 -0
  55. package/dist/commands/directory/Status.d.ts +5 -0
  56. package/dist/commands/directory/Status.js +60 -0
  57. package/dist/commands/directory/Status.js.map +1 -0
  58. package/dist/commands/directory/Uninstall.d.ts +6 -0
  59. package/dist/commands/directory/Uninstall.js +50 -0
  60. package/dist/commands/directory/Uninstall.js.map +1 -0
  61. package/dist/commands/directory/Unpublish.d.ts +10 -0
  62. package/dist/commands/directory/Unpublish.js +181 -0
  63. package/dist/commands/directory/Unpublish.js.map +1 -0
  64. package/dist/commands/directory/Uprade.d.ts +8 -0
  65. package/dist/commands/directory/Uprade.js +100 -0
  66. package/dist/commands/directory/Uprade.js.map +1 -0
  67. package/dist/commands/env/GetEnvironment.d.ts +3 -0
  68. package/dist/commands/env/GetEnvironment.js +28 -0
  69. package/dist/commands/env/GetEnvironment.js.map +1 -0
  70. package/dist/commands/env/SetEnvironment.d.ts +4 -0
  71. package/dist/commands/env/SetEnvironment.js +63 -0
  72. package/dist/commands/env/SetEnvironment.js.map +1 -0
  73. package/dist/commands/jobs/List.d.ts +21 -0
  74. package/dist/commands/jobs/List.js +268 -0
  75. package/dist/commands/jobs/List.js.map +1 -0
  76. package/dist/commands/jobs/RuntimeStatus.d.ts +5 -0
  77. package/dist/commands/jobs/RuntimeStatus.js +65 -0
  78. package/dist/commands/jobs/RuntimeStatus.js.map +1 -0
  79. package/dist/commands/jobs/Terminate.d.ts +5 -0
  80. package/dist/commands/jobs/Terminate.js +45 -0
  81. package/dist/commands/jobs/Terminate.js.map +1 -0
  82. package/dist/commands/jobs/Trigger.d.ts +8 -0
  83. package/dist/commands/jobs/Trigger.js +58 -0
  84. package/dist/commands/jobs/Trigger.js.map +1 -0
  85. package/dist/commands/review/List.d.ts +5 -0
  86. package/dist/commands/review/List.js +81 -0
  87. package/dist/commands/review/List.js.map +1 -0
  88. package/dist/commands/review/Open.d.ts +4 -0
  89. package/dist/commands/review/Open.js +42 -0
  90. package/dist/commands/review/Open.js.map +1 -0
  91. package/dist/index.d.ts +1 -0
  92. package/dist/index.js +15 -0
  93. package/dist/index.js.map +1 -0
  94. package/dist/lib/AppContext.d.ts +9 -0
  95. package/dist/lib/AppContext.js +43 -0
  96. package/dist/lib/AppContext.js.map +1 -0
  97. package/dist/lib/AppPackager.d.ts +8 -0
  98. package/dist/lib/AppPackager.js +40 -0
  99. package/dist/lib/AppPackager.js.map +1 -0
  100. package/dist/lib/AppUpdater.d.ts +9 -0
  101. package/dist/lib/AppUpdater.js +155 -0
  102. package/dist/lib/AppUpdater.js.map +1 -0
  103. package/dist/lib/AppUploader.d.ts +8 -0
  104. package/dist/lib/AppUploader.js +36 -0
  105. package/dist/lib/AppUploader.js.map +1 -0
  106. package/dist/lib/Config.d.ts +15 -0
  107. package/dist/lib/Config.js +47 -0
  108. package/dist/lib/Config.js.map +1 -0
  109. package/dist/lib/EnvironmentalOutput.d.ts +1 -0
  110. package/dist/lib/EnvironmentalOutput.js +21 -0
  111. package/dist/lib/EnvironmentalOutput.js.map +1 -0
  112. package/dist/lib/Moria.d.ts +51 -0
  113. package/dist/lib/Moria.js +30 -0
  114. package/dist/lib/Moria.js.map +1 -0
  115. package/dist/lib/MoriaApi.d.ts +22 -0
  116. package/dist/lib/MoriaApi.js +75 -0
  117. package/dist/lib/MoriaApi.js.map +1 -0
  118. package/dist/lib/Rivendell.d.ts +351 -0
  119. package/dist/lib/Rivendell.js +328 -0
  120. package/dist/lib/Rivendell.js.map +1 -0
  121. package/dist/lib/RivendellApi.d.ts +22 -0
  122. package/dist/lib/RivendellApi.js +90 -0
  123. package/dist/lib/RivendellApi.js.map +1 -0
  124. package/dist/lib/Shards.d.ts +3 -0
  125. package/dist/lib/Shards.js +34 -0
  126. package/dist/lib/Shards.js.map +1 -0
  127. package/dist/lib/StringUtils.d.ts +1 -0
  128. package/dist/lib/StringUtils.js +9 -0
  129. package/dist/lib/StringUtils.js.map +1 -0
  130. package/dist/lib/TeminalPassthru.d.ts +5 -0
  131. package/dist/lib/TeminalPassthru.js +12 -0
  132. package/dist/lib/TeminalPassthru.js.map +1 -0
  133. package/dist/lib/TerminalConfirm.d.ts +3 -0
  134. package/dist/lib/TerminalConfirm.js +26 -0
  135. package/dist/lib/TerminalConfirm.js.map +1 -0
  136. package/dist/lib/TerminalInput.d.ts +32 -0
  137. package/dist/lib/TerminalInput.js +207 -0
  138. package/dist/lib/TerminalInput.js.map +1 -0
  139. package/dist/lib/TerminalMenu.d.ts +34 -0
  140. package/dist/lib/TerminalMenu.js +186 -0
  141. package/dist/lib/TerminalMenu.js.map +1 -0
  142. package/dist/lib/TerminalOutput.d.ts +5 -0
  143. package/dist/lib/TerminalOutput.js +12 -0
  144. package/dist/lib/TerminalOutput.js.map +1 -0
  145. package/dist/lib/TerminalSpinner.d.ts +15 -0
  146. package/dist/lib/TerminalSpinner.js +71 -0
  147. package/dist/lib/TerminalSpinner.js.map +1 -0
  148. package/dist/lib/build.d.ts +5 -0
  149. package/dist/lib/build.js +35 -0
  150. package/dist/lib/build.js.map +1 -0
  151. package/dist/lib/checkForUpdate.d.ts +2 -0
  152. package/dist/lib/checkForUpdate.js +58 -0
  153. package/dist/lib/checkForUpdate.js.map +1 -0
  154. package/dist/lib/dev/app.d.ts +8 -0
  155. package/dist/lib/dev/app.js +53 -0
  156. package/dist/lib/dev/app.js.map +1 -0
  157. package/dist/lib/dev/index.d.ts +1 -0
  158. package/dist/lib/dev/index.js +14 -0
  159. package/dist/lib/dev/index.js.map +1 -0
  160. package/dist/lib/dev/logger.d.ts +15 -0
  161. package/dist/lib/dev/logger.js +58 -0
  162. package/dist/lib/dev/logger.js.map +1 -0
  163. package/dist/lib/die.d.ts +5 -0
  164. package/dist/lib/die.js +14 -0
  165. package/dist/lib/die.js.map +1 -0
  166. package/dist/lib/directoryExists.d.ts +1 -0
  167. package/dist/lib/directoryExists.js +9 -0
  168. package/dist/lib/directoryExists.js.map +1 -0
  169. package/dist/lib/formatBuildState.d.ts +2 -0
  170. package/dist/lib/formatBuildState.js +23 -0
  171. package/dist/lib/formatBuildState.js.map +1 -0
  172. package/dist/lib/formatError.d.ts +1 -0
  173. package/dist/lib/formatError.js +45 -0
  174. package/dist/lib/formatError.js.map +1 -0
  175. package/dist/lib/formatJobStatus.d.ts +3 -0
  176. package/dist/lib/formatJobStatus.js +28 -0
  177. package/dist/lib/formatJobStatus.js.map +1 -0
  178. package/dist/lib/formatReviewStatus.d.ts +4 -0
  179. package/dist/lib/formatReviewStatus.js +28 -0
  180. package/dist/lib/formatReviewStatus.js.map +1 -0
  181. package/dist/lib/formatTimstamp.d.ts +1 -0
  182. package/dist/lib/formatTimstamp.js +25 -0
  183. package/dist/lib/formatTimstamp.js.map +1 -0
  184. package/dist/lib/formatVersionState.d.ts +2 -0
  185. package/dist/lib/formatVersionState.js +35 -0
  186. package/dist/lib/formatVersionState.js.map +1 -0
  187. package/dist/lib/gatherAppEnv.d.ts +3 -0
  188. package/dist/lib/gatherAppEnv.js +71 -0
  189. package/dist/lib/gatherAppEnv.js.map +1 -0
  190. package/dist/lib/handleInterrupt.d.ts +1 -0
  191. package/dist/lib/handleInterrupt.js +17 -0
  192. package/dist/lib/handleInterrupt.js.map +1 -0
  193. package/dist/lib/jobRuntime.d.ts +3 -0
  194. package/dist/lib/jobRuntime.js +16 -0
  195. package/dist/lib/jobRuntime.js.map +1 -0
  196. package/dist/lib/parseDate.d.ts +2 -0
  197. package/dist/lib/parseDate.js +26 -0
  198. package/dist/lib/parseDate.js.map +1 -0
  199. package/dist/lib/templating/TemplateRenderer.d.ts +13 -0
  200. package/dist/lib/templating/TemplateRenderer.js +62 -0
  201. package/dist/lib/templating/TemplateRenderer.js.map +1 -0
  202. package/dist/lib/templating/fetchTemplatesManifest.d.ts +1 -0
  203. package/dist/lib/templating/fetchTemplatesManifest.js +10 -0
  204. package/dist/lib/templating/fetchTemplatesManifest.js.map +1 -0
  205. package/dist/lib/templating/types.d.ts +27 -0
  206. package/dist/lib/templating/types.js +3 -0
  207. package/dist/lib/templating/types.js.map +1 -0
  208. package/dist/oo-cli.manifest.json +1142 -0
  209. package/dist/test/setup.d.ts +0 -0
  210. package/dist/test/setup.js +4 -0
  211. package/dist/test/setup.js.map +1 -0
  212. package/package.json +94 -0
  213. package/src/commands/accounts/Whoami.ts +19 -0
  214. package/src/commands/accounts/Whois.ts +51 -0
  215. package/src/commands/app/BaseBuildCommand.ts +266 -0
  216. package/src/commands/app/Init.ts +303 -0
  217. package/src/commands/app/Logs.ts +241 -0
  218. package/src/commands/app/Package.ts +39 -0
  219. package/src/commands/app/Prepare.ts +108 -0
  220. package/src/commands/app/Register.ts +41 -0
  221. package/src/commands/app/Validate.ts +13 -0
  222. package/src/commands/availability/List.ts +37 -0
  223. package/src/commands/directory/Info.ts +83 -0
  224. package/src/commands/directory/Install.ts +37 -0
  225. package/src/commands/directory/List.ts +96 -0
  226. package/src/commands/directory/ListFunctions.ts +60 -0
  227. package/src/commands/directory/ListGlobalFunctions.ts +54 -0
  228. package/src/commands/directory/ListInstalls.ts +73 -0
  229. package/src/commands/directory/Publish.ts +179 -0
  230. package/src/commands/directory/Status.ts +45 -0
  231. package/src/commands/directory/Uninstall.ts +32 -0
  232. package/src/commands/directory/Unpublish.ts +173 -0
  233. package/src/commands/directory/Uprade.ts +85 -0
  234. package/src/commands/env/GetEnvironment.ts +14 -0
  235. package/src/commands/env/SetEnvironment.ts +52 -0
  236. package/src/commands/jobs/List.ts +278 -0
  237. package/src/commands/jobs/RuntimeStatus.ts +49 -0
  238. package/src/commands/jobs/Terminate.ts +29 -0
  239. package/src/commands/jobs/Trigger.ts +41 -0
  240. package/src/commands/review/List.ts +76 -0
  241. package/src/commands/review/Open.ts +28 -0
  242. package/src/index.ts +15 -0
  243. package/src/lib/AppContext.ts +47 -0
  244. package/src/lib/AppPackager.ts +47 -0
  245. package/src/lib/AppUpdater.ts +177 -0
  246. package/src/lib/AppUploader.ts +39 -0
  247. package/src/lib/Config.ts +60 -0
  248. package/src/lib/EnvironmentalOutput.ts +18 -0
  249. package/src/lib/Moria.ts +66 -0
  250. package/src/lib/MoriaApi.ts +86 -0
  251. package/src/lib/Rivendell.ts +572 -0
  252. package/src/lib/RivendellApi.ts +99 -0
  253. package/src/lib/Shards.ts +37 -0
  254. package/src/lib/StringUtils.ts +4 -0
  255. package/src/lib/TeminalPassthru.ts +7 -0
  256. package/src/lib/TerminalConfirm.ts +27 -0
  257. package/src/lib/TerminalInput.ts +236 -0
  258. package/src/lib/TerminalMenu.ts +221 -0
  259. package/src/lib/TerminalOutput.ts +7 -0
  260. package/src/lib/TerminalSpinner.ts +76 -0
  261. package/src/lib/build.ts +36 -0
  262. package/src/lib/checkForUpdate.ts +63 -0
  263. package/src/lib/dev/app.ts +58 -0
  264. package/src/lib/dev/index.ts +1 -0
  265. package/src/lib/dev/logger.ts +77 -0
  266. package/src/lib/die.ts +10 -0
  267. package/src/lib/directoryExists.ts +5 -0
  268. package/src/lib/formatBuildState.ts +20 -0
  269. package/src/lib/formatError.ts +39 -0
  270. package/src/lib/formatJobStatus.ts +24 -0
  271. package/src/lib/formatReviewStatus.ts +27 -0
  272. package/src/lib/formatTimstamp.ts +21 -0
  273. package/src/lib/formatVersionState.ts +31 -0
  274. package/src/lib/gatherAppEnv.ts +75 -0
  275. package/src/lib/handleInterrupt.ts +13 -0
  276. package/src/lib/jobRuntime.ts +12 -0
  277. package/src/lib/parseDate.ts +21 -0
  278. package/src/lib/templating/TemplateRenderer.ts +65 -0
  279. package/src/lib/templating/fetchTemplatesManifest.ts +6 -0
  280. package/src/lib/templating/types.ts +30 -0
  281. package/src/test/setup.ts +2 -0
  282. package/src/types/columnify.d.ts +27 -0
  283. package/src/types/gitignore-parser.d.ts +11 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Rivendell.js","sourceRoot":"","sources":["../../src/lib/Rivendell.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { Response } from 'node-fetch';
2
+ export declare type Method = 'POST' | 'PUT' | 'PATCH' | 'GET' | 'DELETE';
3
+ /**
4
+ * Low level http handler for interacting with the Rivendell api.
5
+ */
6
+ export declare namespace RivendellApi {
7
+ interface ApiResponse<T = any> {
8
+ response: Response;
9
+ body: T;
10
+ }
11
+ export class ApiError extends Error {
12
+ responseText: string;
13
+ response?: Response | undefined;
14
+ constructor(message: string, responseText: string, response?: Response | undefined);
15
+ }
16
+ export function get<T>(uri: string): Promise<ApiResponse<T>>;
17
+ export function post<T>(uri: string, body: any): Promise<ApiResponse<T>>;
18
+ export function put<T>(uri: string, body: any): Promise<ApiResponse<T>>;
19
+ export function delete_<T>(uri: string): Promise<ApiResponse<T>>;
20
+ export function request<T>(method: Method, uri: string, body?: any): Promise<ApiResponse<T>>;
21
+ export {};
22
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RivendellApi = void 0;
4
+ const node_fetch_1 = require("node-fetch");
5
+ const path = require("path");
6
+ const Config_1 = require("./Config");
7
+ const die_1 = require("./die");
8
+ /**
9
+ * Low level http handler for interacting with the Rivendell api.
10
+ */
11
+ var RivendellApi;
12
+ (function (RivendellApi) {
13
+ class ApiError extends Error {
14
+ constructor(message, responseText, response) {
15
+ super(message);
16
+ this.responseText = responseText;
17
+ this.response = response;
18
+ }
19
+ }
20
+ RivendellApi.ApiError = ApiError;
21
+ async function get(uri) {
22
+ return request('GET', uri);
23
+ }
24
+ RivendellApi.get = get;
25
+ async function post(uri, body) {
26
+ return request('POST', uri, body);
27
+ }
28
+ RivendellApi.post = post;
29
+ async function put(uri, body) {
30
+ return request('PUT', uri, body);
31
+ }
32
+ RivendellApi.put = put;
33
+ async function delete_(uri) {
34
+ return request('DELETE', uri);
35
+ }
36
+ RivendellApi.delete_ = delete_;
37
+ async function request(method, uri, body) {
38
+ const url = `${Config_1.runtimeConfig().rivendell}/${uri}`;
39
+ const requestPayload = { method };
40
+ requestPayload.headers = {
41
+ 'x-api-key': loadApiKey(),
42
+ 'x-cli-version': require(path.join(__dirname, '../oo-cli.manifest.json'))['package']['version']
43
+ };
44
+ if (body && method !== 'GET') {
45
+ // @ts-ignore
46
+ requestPayload.headers['content-type'] = 'application/json';
47
+ requestPayload.body = JSON.stringify(body);
48
+ }
49
+ const response = await node_fetch_1.default(url, requestPayload);
50
+ const responseText = await response.text();
51
+ if (response.status < 200 || response.status >= 300) {
52
+ const errorMsg = `Received a ${response.status} from OCP: ${getErrorMessage(response.status)}`;
53
+ throw new ApiError(errorMsg, responseText, response);
54
+ }
55
+ return {
56
+ response,
57
+ body: responseText ? JSON.parse(responseText) : ''
58
+ };
59
+ }
60
+ RivendellApi.request = request;
61
+ function loadApiKey() {
62
+ const apiKey = Config_1.getActiveCredential().apiKey;
63
+ if (apiKey == null) {
64
+ die_1.die('Your API key is not configured in ~/.ocp/credentials.json. ' +
65
+ 'Please assign your API key to the property apiKey in the config file.');
66
+ }
67
+ return apiKey;
68
+ }
69
+ function getErrorMessage(code) {
70
+ switch (code) {
71
+ case 400:
72
+ return 'Bad request.';
73
+ case 403:
74
+ return 'Access denied.';
75
+ case 404:
76
+ return 'Not found.';
77
+ case 500:
78
+ return 'Internal service error.';
79
+ case 502:
80
+ return 'Bad gateway';
81
+ case 503:
82
+ return 'Service unavailable. Please try again.';
83
+ case 504:
84
+ return 'Request timed out. Please try again.';
85
+ default:
86
+ return 'Unhandled error.';
87
+ }
88
+ }
89
+ })(RivendellApi = exports.RivendellApi || (exports.RivendellApi = {}));
90
+ //# sourceMappingURL=RivendellApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RivendellApi.js","sourceRoot":"","sources":["../../src/lib/RivendellApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { AppManifest } from '@zaiusinc/app-sdk';
2
+ export declare function applicableShards(availability?: string, fromManifest?: AppManifest): Promise<string[]>;
3
+ export declare function targetShards(): Promise<string[]>;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.targetShards = exports.applicableShards = void 0;
4
+ const semver_1 = require("semver");
5
+ const AppContext_1 = require("./AppContext");
6
+ const Config_1 = require("./Config");
7
+ const Rivendell_1 = require("./Rivendell");
8
+ async function applicableShards(availability = '', fromManifest) {
9
+ if (Config_1.getEnv() === 'staging') {
10
+ return ['us'];
11
+ }
12
+ const manifest = fromManifest || AppContext_1.readAppYaml();
13
+ const pre = semver_1.prerelease(manifest.meta.version);
14
+ if (pre && pre[0] === 'dev') {
15
+ return ['us'];
16
+ }
17
+ if (availability) {
18
+ return [availability];
19
+ }
20
+ return resolveShards(manifest);
21
+ }
22
+ exports.applicableShards = applicableShards;
23
+ async function targetShards() {
24
+ return await resolveShards(AppContext_1.readAppYaml());
25
+ }
26
+ exports.targetShards = targetShards;
27
+ async function resolveShards(manifest) {
28
+ let shards = manifest.meta.availability || ['us'];
29
+ if (shards.includes('all')) {
30
+ shards = (await Rivendell_1.Rivendell.shards()).map((s) => s.id);
31
+ }
32
+ return ['us'].concat(shards.filter((s) => s !== 'us').sort());
33
+ }
34
+ //# sourceMappingURL=Shards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shards.js","sourceRoot":"","sources":["../../src/lib/Shards.ts"],"names":[],"mappings":";;;AACA,mCAAoC;AACpC,6CAA2C;AAC3C,qCAAkC;AAClC,2CAAwC;AAEjC,KAAK,UAAU,gBAAgB,CAAC,YAAY,GAAG,EAAE,EAAE,YAA0B;IAClF,IAAI,eAAM,EAAE,KAAK,SAAS,EAAE;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;KACf;IAED,MAAM,QAAQ,GAAG,YAAY,IAAI,wBAAW,EAAE,CAAC;IAC/C,MAAM,GAAG,GAAG,mBAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE9C,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;KACf;IAED,IAAI,YAAY,EAAE;QAChB,OAAO,CAAC,YAAY,CAAC,CAAC;KACvB;IAED,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAjBD,4CAiBC;AAEM,KAAK,UAAU,YAAY;IAChC,OAAO,MAAM,aAAa,CAAC,wBAAW,EAAE,CAAC,CAAC;AAC5C,CAAC;AAFD,oCAEC;AAED,KAAK,UAAU,aAAa,CAAC,QAAqB;IAChD,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC1B,MAAM,GAAG,CAAC,MAAM,qBAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KACtD;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function styledStringLength(str: string): number;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.styledStringLength = void 0;
4
+ // Copied from https://github.com/zeit/now-cli/blob/45097563f09b412ccbbb5b07838b587ea669a531/src/util/strlen.ts
5
+ function styledStringLength(str) {
6
+ return str.replace(/\u001b[^m]*m/g, '').length;
7
+ }
8
+ exports.styledStringLength = styledStringLength;
9
+ //# sourceMappingURL=StringUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringUtils.js","sourceRoot":"","sources":["../../src/lib/StringUtils.ts"],"names":[],"mappings":";;;AAAA,+GAA+G;AAC/G,SAAgB,kBAAkB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;AACnD,CAAC;AAFD,gDAEC"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="node" />
2
+ import * as child_process from 'child_process';
3
+ export declare namespace TerminalPassthru {
4
+ function exec(command: string): child_process.SpawnSyncReturns<Buffer>;
5
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TerminalPassthru = void 0;
4
+ const child_process = require("child_process");
5
+ var TerminalPassthru;
6
+ (function (TerminalPassthru) {
7
+ function exec(command) {
8
+ return child_process.spawnSync(command, { cwd: process.cwd(), shell: true, stdio: 'inherit' });
9
+ }
10
+ TerminalPassthru.exec = exec;
11
+ })(TerminalPassthru = exports.TerminalPassthru || (exports.TerminalPassthru = {}));
12
+ //# sourceMappingURL=TeminalPassthru.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TeminalPassthru.js","sourceRoot":"","sources":["../../src/lib/TeminalPassthru.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAE/C,IAAiB,gBAAgB,CAIhC;AAJD,WAAiB,gBAAgB;IAC/B,SAAgB,IAAI,CAAC,OAAe;QAClC,OAAO,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,EAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;IAC/F,CAAC;IAFe,qBAAI,OAEnB,CAAA;AACH,CAAC,EAJgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAIhC"}
@@ -0,0 +1,3 @@
1
+ export declare namespace TerminalConfirm {
2
+ function ask(question: string, hint?: string): Promise<boolean>;
3
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TerminalConfirm = void 0;
4
+ const TerminalInput_1 = require("./TerminalInput");
5
+ const yes = ['y', 'yes'];
6
+ const no = ['n', 'no'];
7
+ const validate = (value) => (yes.includes(value.toLowerCase()) || no.includes(value.toLowerCase()));
8
+ const getHint = (value) => {
9
+ if (value && !validate(value)) {
10
+ return 'Enter yes or no (y/n)';
11
+ }
12
+ return '';
13
+ };
14
+ var TerminalConfirm;
15
+ (function (TerminalConfirm) {
16
+ async function ask(question, hint = '') {
17
+ const result = await TerminalInput_1.TerminalInput.ask(question, {
18
+ getHint: (value) => getHint(value) || hint,
19
+ validate,
20
+ clearOnInvalidInput: true
21
+ });
22
+ return yes.includes(result.toLowerCase());
23
+ }
24
+ TerminalConfirm.ask = ask;
25
+ })(TerminalConfirm = exports.TerminalConfirm || (exports.TerminalConfirm = {}));
26
+ //# sourceMappingURL=TerminalConfirm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalConfirm.js","sourceRoot":"","sources":["../../src/lib/TerminalConfirm.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAE9C,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACzB,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAEvB,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAClC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CACtE,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;IAChC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC7B,OAAO,uBAAuB,CAAC;KAChC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,IAAiB,eAAe,CAU/B;AAVD,WAAiB,eAAe;IACvB,KAAK,UAAU,GAAG,CAAC,QAAgB,EAAE,OAAe,EAAE;QAC3D,MAAM,MAAM,GAAG,MAAM,6BAAa,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC/C,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI;YAC1C,QAAQ;YACR,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5C,CAAC;IARqB,mBAAG,MAQxB,CAAA;AACH,CAAC,EAVgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAU/B"}
@@ -0,0 +1,32 @@
1
+ export interface InputOptions {
2
+ getHint?: (value: string) => string;
3
+ validate?: (value: string) => boolean;
4
+ clearAfter?: boolean;
5
+ defaultValue?: string;
6
+ clearOnInvalidInput?: boolean;
7
+ }
8
+ export declare class TerminalInput {
9
+ private question;
10
+ private options;
11
+ private onEnter;
12
+ static ask(question: string, options?: InputOptions): Promise<string>;
13
+ private input;
14
+ private y;
15
+ private inputCoords;
16
+ private cursorOffset;
17
+ private hint;
18
+ private hintY;
19
+ private isValid;
20
+ constructor(question: string, options: InputOptions, onEnter: (value: string) => void);
21
+ private start;
22
+ private end;
23
+ private get defaultHint();
24
+ private getHint;
25
+ private updateInput;
26
+ private spliceInput;
27
+ private onKeyPress;
28
+ private onResize;
29
+ private render;
30
+ private renderPartial;
31
+ private placeCursor;
32
+ }
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TerminalInput = void 0;
4
+ const chalk_1 = require("chalk");
5
+ const terminal_kit_1 = require("terminal-kit");
6
+ class TerminalInput {
7
+ constructor(question, options, onEnter) {
8
+ this.question = question;
9
+ this.options = options;
10
+ this.onEnter = onEnter;
11
+ this.input = '';
12
+ this.y = 0;
13
+ this.cursorOffset = 0;
14
+ this.hint = '';
15
+ this.hintY = 0;
16
+ this.isValid = true;
17
+ this.onKeyPress = async (key, _matches, data) => {
18
+ if (data.isCharacter) {
19
+ await this.updateInput(this.spliceInput(this.cursorOffset, 0, key));
20
+ this.cursorOffset += terminal_kit_1.stringWidth(key);
21
+ this.placeCursor();
22
+ }
23
+ else {
24
+ switch (key) {
25
+ case 'LEFT':
26
+ this.cursorOffset = Math.max(0, this.cursorOffset - 1);
27
+ this.placeCursor();
28
+ break;
29
+ case 'RIGHT':
30
+ this.cursorOffset = Math.min(terminal_kit_1.stringWidth(this.input), this.cursorOffset + 1);
31
+ this.placeCursor();
32
+ break;
33
+ case 'HOME':
34
+ this.cursorOffset = 0;
35
+ this.placeCursor();
36
+ break;
37
+ case 'END':
38
+ this.cursorOffset = terminal_kit_1.stringWidth(this.input);
39
+ this.placeCursor();
40
+ break;
41
+ case 'DELETE':
42
+ await this.updateInput(this.spliceInput(this.cursorOffset, 1));
43
+ this.placeCursor();
44
+ break;
45
+ case 'BACKSPACE':
46
+ if (this.cursorOffset > 0) {
47
+ this.cursorOffset--;
48
+ await this.updateInput(this.spliceInput(this.cursorOffset, 1));
49
+ this.placeCursor();
50
+ }
51
+ break;
52
+ case 'ENTER':
53
+ case 'KP_ENTER':
54
+ if (this.isValid) {
55
+ await this.end();
56
+ this.onEnter(this.input || this.options.defaultValue || '');
57
+ }
58
+ else if (this.options.clearOnInvalidInput) {
59
+ this.cursorOffset = 0;
60
+ await this.updateInput('', false);
61
+ this.placeCursor();
62
+ }
63
+ break;
64
+ case 'CTRL_D':
65
+ case 'CTRL_C':
66
+ terminal_kit_1.terminal('\Bye...');
67
+ terminal_kit_1.terminal.processExit(1);
68
+ }
69
+ }
70
+ };
71
+ this.onResize = async () => {
72
+ terminal_kit_1.terminal.moveTo(1, this.y).eraseDisplayBelow();
73
+ await this.render();
74
+ this.placeCursor();
75
+ };
76
+ this.hint = this.getHint();
77
+ if (this.options.validate) {
78
+ this.isValid = this.options.validate(options.defaultValue || '');
79
+ }
80
+ }
81
+ static ask(question, options) {
82
+ return new Promise(async (resolve, _reject) => {
83
+ // tslint:disable-next-line:no-unused-expression
84
+ await new TerminalInput(question, options || {}, (value) => resolve(value)).start();
85
+ });
86
+ }
87
+ async start() {
88
+ terminal_kit_1.terminal.grabInput(true);
89
+ terminal_kit_1.terminal.on('key', this.onKeyPress);
90
+ terminal_kit_1.terminal.on('resize', this.onResize);
91
+ this.y = (await terminal_kit_1.terminal.getCursorLocation()).y;
92
+ await this.render();
93
+ this.placeCursor();
94
+ }
95
+ async end() {
96
+ terminal_kit_1.terminal.grabInput(false);
97
+ terminal_kit_1.terminal.off('key', this.onKeyPress);
98
+ terminal_kit_1.terminal.off('resize', this.onResize);
99
+ if (this.options.clearAfter === false) {
100
+ // use render to place cursor at end
101
+ await this.render();
102
+ terminal_kit_1.terminal('\n').eraseDisplayBelow();
103
+ }
104
+ else {
105
+ terminal_kit_1.terminal.moveTo(1, this.y).eraseDisplayBelow();
106
+ }
107
+ }
108
+ get defaultHint() {
109
+ if (!this.input && this.options.defaultValue) {
110
+ return `[Enter] to accept ${this.options.defaultValue}`;
111
+ }
112
+ return '';
113
+ }
114
+ getHint() {
115
+ if (this.options.getHint) {
116
+ return this.options.getHint(this.input || this.options.defaultValue || '') || this.defaultHint;
117
+ }
118
+ return this.defaultHint;
119
+ }
120
+ async updateInput(input, resetHint = true) {
121
+ if (this.input !== input) {
122
+ this.input = input;
123
+ let needsRerender = false;
124
+ if (resetHint) {
125
+ const hint = this.getHint();
126
+ if (hint !== this.hint) {
127
+ this.hint = hint;
128
+ needsRerender = true;
129
+ }
130
+ }
131
+ if (this.options.validate) {
132
+ const valid = this.options.validate(input || this.options.defaultValue || '');
133
+ if (valid !== this.isValid) {
134
+ needsRerender = true;
135
+ this.isValid = valid;
136
+ }
137
+ }
138
+ if (needsRerender) {
139
+ await this.render();
140
+ }
141
+ else {
142
+ await this.renderPartial(this.cursorOffset);
143
+ }
144
+ }
145
+ }
146
+ spliceInput(index, del, insert = '') {
147
+ return this.input.slice(0, index) + insert + this.input.slice(index + del);
148
+ }
149
+ async render() {
150
+ const hint = ' ' + this.hint;
151
+ const question = this.question + ' ';
152
+ // compute where we should be after rendering
153
+ this.inputCoords = {
154
+ x: 1 + terminal_kit_1.stringWidth(question) % terminal_kit_1.terminal.width,
155
+ y: this.y + Math.floor((terminal_kit_1.stringWidth(question) - 1) / terminal_kit_1.terminal.width)
156
+ };
157
+ this.hintY = this.y
158
+ + Math.floor((terminal_kit_1.stringWidth(question) + terminal_kit_1.stringWidth(this.input) - 1) / terminal_kit_1.terminal.width)
159
+ + 1;
160
+ let expectedY = this.hintY + Math.floor((terminal_kit_1.stringWidth(hint) - 1) / terminal_kit_1.terminal.width);
161
+ const inputEndX = (this.inputCoords.x - 1 + terminal_kit_1.stringWidth(this.input)) % terminal_kit_1.terminal.width;
162
+ // offset our start position to account for scrolling due to long input or hint
163
+ while (expectedY > terminal_kit_1.terminal.height) {
164
+ terminal_kit_1.terminal.moveTo(terminal_kit_1.terminal.width, terminal_kit_1.terminal.height);
165
+ terminal_kit_1.terminal('\n');
166
+ expectedY--;
167
+ this.hintY--;
168
+ this.inputCoords.y--;
169
+ this.y--;
170
+ }
171
+ // render input and hint
172
+ terminal_kit_1.terminal.moveTo(terminal_kit_1.terminal.width, this.y - 1).defaultColor('\n');
173
+ terminal_kit_1.terminal(question + (this.isValid ? this.input : chalk_1.default.red(this.input)));
174
+ if (inputEndX !== 0) {
175
+ terminal_kit_1.terminal.eraseLineAfter();
176
+ }
177
+ terminal_kit_1.terminal('\n').gray(hint).eraseDisplayBelow();
178
+ }
179
+ async renderPartial(offset) {
180
+ const endY = this.inputCoords.y
181
+ + Math.floor((terminal_kit_1.stringWidth(this.input) + this.inputCoords.x - 1) / terminal_kit_1.terminal.width)
182
+ + 1;
183
+ const endX = (this.inputCoords.x - 1 + terminal_kit_1.stringWidth(this.input)) % terminal_kit_1.terminal.width;
184
+ if (endY >= this.hintY) {
185
+ await this.render();
186
+ }
187
+ else {
188
+ const content = this.input.slice(offset);
189
+ terminal_kit_1.terminal((this.isValid ? content : chalk_1.default.red(content)));
190
+ if (endX !== 0) {
191
+ terminal_kit_1.terminal.eraseLineAfter();
192
+ }
193
+ }
194
+ }
195
+ placeCursor() {
196
+ if (this.inputCoords.x + this.cursorOffset < terminal_kit_1.terminal.width) {
197
+ terminal_kit_1.terminal.moveTo(this.inputCoords.x + this.cursorOffset, this.inputCoords.y);
198
+ }
199
+ else {
200
+ const x = 1 + (this.inputCoords.x - 1 + this.cursorOffset) % terminal_kit_1.terminal.width;
201
+ const y = this.inputCoords.y + Math.floor((this.inputCoords.x - 1 + this.cursorOffset) / terminal_kit_1.terminal.width);
202
+ terminal_kit_1.terminal.moveTo(x, y);
203
+ }
204
+ }
205
+ }
206
+ exports.TerminalInput = TerminalInput;
207
+ //# sourceMappingURL=TerminalInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalInput.js","sourceRoot":"","sources":["../../src/lib/TerminalInput.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ export interface MenuOptions {
2
+ layout?: 'grid' | 'row';
3
+ clearAfter?: boolean;
4
+ }
5
+ export interface MenuChoice {
6
+ text: string;
7
+ id?: string | number;
8
+ }
9
+ export declare class TerminalMenu {
10
+ private question;
11
+ private options;
12
+ private onSelect;
13
+ static ask(question: string, choices: MenuChoice[] | string[], options?: MenuOptions): Promise<MenuChoice>;
14
+ private choices;
15
+ private y;
16
+ private layout;
17
+ private questionHeight;
18
+ private selected;
19
+ private scrollOffset;
20
+ constructor(question: string, choices: MenuChoice[] | string[], options: MenuOptions, onSelect: (selection: MenuChoice) => void);
21
+ private start;
22
+ private end;
23
+ private get menuTop();
24
+ private scrollSelectionIntoView;
25
+ private setSelection;
26
+ private onResize;
27
+ private onKeyPress;
28
+ private getOffset;
29
+ private getCoordinates;
30
+ private render;
31
+ private rerender;
32
+ private cursorToSelected;
33
+ private layoutChoices;
34
+ }