@optimizely/ocp-cli-v2 2.0.0-beta.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.
Files changed (252) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +51 -0
  3. package/bin/ocp.js +3 -0
  4. package/bin/run.js +3 -0
  5. package/dist/commands/accounts/whoami.d.ts +5 -0
  6. package/dist/commands/accounts/whoami.js +22 -0
  7. package/dist/commands/accounts/whoami.js.map +1 -0
  8. package/dist/commands/accounts/whois.d.ts +12 -0
  9. package/dist/commands/accounts/whois.js +57 -0
  10. package/dist/commands/accounts/whois.js.map +1 -0
  11. package/dist/commands/app/BaseBuildCommand.d.ts +37 -0
  12. package/dist/commands/app/BaseBuildCommand.js +255 -0
  13. package/dist/commands/app/BaseBuildCommand.js.map +1 -0
  14. package/dist/commands/app/abandon.d.ts +11 -0
  15. package/dist/commands/app/abandon.js +146 -0
  16. package/dist/commands/app/abandon.js.map +1 -0
  17. package/dist/commands/app/getLogLevel.d.ts +16 -0
  18. package/dist/commands/app/getLogLevel.js +66 -0
  19. package/dist/commands/app/getLogLevel.js.map +1 -0
  20. package/dist/commands/app/init.d.ts +27 -0
  21. package/dist/commands/app/init.js +326 -0
  22. package/dist/commands/app/init.js.map +1 -0
  23. package/dist/commands/app/logs.d.ts +24 -0
  24. package/dist/commands/app/logs.js +231 -0
  25. package/dist/commands/app/logs.js.map +1 -0
  26. package/dist/commands/app/package.d.ts +8 -0
  27. package/dist/commands/app/package.js +51 -0
  28. package/dist/commands/app/package.js.map +1 -0
  29. package/dist/commands/app/prepare.d.ts +16 -0
  30. package/dist/commands/app/prepare.js +119 -0
  31. package/dist/commands/app/prepare.js.map +1 -0
  32. package/dist/commands/app/register.d.ts +10 -0
  33. package/dist/commands/app/register.js +102 -0
  34. package/dist/commands/app/register.js.map +1 -0
  35. package/dist/commands/app/setLogLevel.d.ts +16 -0
  36. package/dist/commands/app/setLogLevel.js +83 -0
  37. package/dist/commands/app/setLogLevel.js.map +1 -0
  38. package/dist/commands/app/validate.d.ts +5 -0
  39. package/dist/commands/app/validate.js +26 -0
  40. package/dist/commands/app/validate.js.map +1 -0
  41. package/dist/commands/availability/list.d.ts +6 -0
  42. package/dist/commands/availability/list.js +32 -0
  43. package/dist/commands/availability/list.js.map +1 -0
  44. package/dist/commands/dev-server/start.d.ts +36 -0
  45. package/dist/commands/dev-server/start.js +209 -0
  46. package/dist/commands/dev-server/start.js.map +1 -0
  47. package/dist/commands/dev.d.ts +8 -0
  48. package/dist/commands/dev.js +12 -0
  49. package/dist/commands/dev.js.map +1 -0
  50. package/dist/commands/directory/info.d.ts +13 -0
  51. package/dist/commands/directory/info.js +85 -0
  52. package/dist/commands/directory/info.js.map +1 -0
  53. package/dist/commands/directory/install.d.ts +12 -0
  54. package/dist/commands/directory/install.js +46 -0
  55. package/dist/commands/directory/install.js.map +1 -0
  56. package/dist/commands/directory/list.d.ts +14 -0
  57. package/dist/commands/directory/list.js +114 -0
  58. package/dist/commands/directory/list.js.map +1 -0
  59. package/dist/commands/directory/listFunctions.d.ts +15 -0
  60. package/dist/commands/directory/listFunctions.js +86 -0
  61. package/dist/commands/directory/listFunctions.js.map +1 -0
  62. package/dist/commands/directory/listGlobalFunctions.d.ts +13 -0
  63. package/dist/commands/directory/listGlobalFunctions.js +64 -0
  64. package/dist/commands/directory/listGlobalFunctions.js.map +1 -0
  65. package/dist/commands/directory/listInstalls.d.ts +15 -0
  66. package/dist/commands/directory/listInstalls.js +72 -0
  67. package/dist/commands/directory/listInstalls.js.map +1 -0
  68. package/dist/commands/directory/listSourceFunctions.d.ts +14 -0
  69. package/dist/commands/directory/listSourceFunctions.js +71 -0
  70. package/dist/commands/directory/listSourceFunctions.js.map +1 -0
  71. package/dist/commands/directory/publish.d.ts +15 -0
  72. package/dist/commands/directory/publish.js +201 -0
  73. package/dist/commands/directory/publish.js.map +1 -0
  74. package/dist/commands/directory/status.d.ts +11 -0
  75. package/dist/commands/directory/status.js +50 -0
  76. package/dist/commands/directory/status.js.map +1 -0
  77. package/dist/commands/directory/uninstall.d.ts +13 -0
  78. package/dist/commands/directory/uninstall.js +55 -0
  79. package/dist/commands/directory/uninstall.js.map +1 -0
  80. package/dist/commands/directory/unpublish.d.ts +17 -0
  81. package/dist/commands/directory/unpublish.js +187 -0
  82. package/dist/commands/directory/unpublish.js.map +1 -0
  83. package/dist/commands/directory/upgrade.d.ts +15 -0
  84. package/dist/commands/directory/upgrade.js +113 -0
  85. package/dist/commands/directory/upgrade.js.map +1 -0
  86. package/dist/commands/env/get.d.ts +5 -0
  87. package/dist/commands/env/get.js +23 -0
  88. package/dist/commands/env/get.js.map +1 -0
  89. package/dist/commands/env/set.d.ts +8 -0
  90. package/dist/commands/env/set.js +63 -0
  91. package/dist/commands/env/set.js.map +1 -0
  92. package/dist/commands/jobs/list.d.ts +27 -0
  93. package/dist/commands/jobs/list.js +245 -0
  94. package/dist/commands/jobs/list.js.map +1 -0
  95. package/dist/commands/jobs/runtimeStatus.d.ts +11 -0
  96. package/dist/commands/jobs/runtimeStatus.js +55 -0
  97. package/dist/commands/jobs/runtimeStatus.js.map +1 -0
  98. package/dist/commands/jobs/status.d.ts +11 -0
  99. package/dist/commands/jobs/status.js +57 -0
  100. package/dist/commands/jobs/status.js.map +1 -0
  101. package/dist/commands/jobs/terminate.d.ts +11 -0
  102. package/dist/commands/jobs/terminate.js +35 -0
  103. package/dist/commands/jobs/terminate.js.map +1 -0
  104. package/dist/commands/jobs/trigger.d.ts +14 -0
  105. package/dist/commands/jobs/trigger.js +47 -0
  106. package/dist/commands/jobs/trigger.js.map +1 -0
  107. package/dist/commands/review/list.d.ts +9 -0
  108. package/dist/commands/review/list.js +74 -0
  109. package/dist/commands/review/list.js.map +1 -0
  110. package/dist/commands/review/open.d.ts +8 -0
  111. package/dist/commands/review/open.js +32 -0
  112. package/dist/commands/review/open.js.map +1 -0
  113. package/dist/hooks/command-not-found.d.ts +3 -0
  114. package/dist/hooks/command-not-found.js +93 -0
  115. package/dist/hooks/command-not-found.js.map +1 -0
  116. package/dist/hooks/preupdate.d.ts +10 -0
  117. package/dist/hooks/preupdate.js +42 -0
  118. package/dist/hooks/preupdate.js.map +1 -0
  119. package/dist/index.d.ts +1 -0
  120. package/dist/index.js +59 -0
  121. package/dist/index.js.map +1 -0
  122. package/dist/lib/AppContext.d.ts +9 -0
  123. package/dist/lib/AppContext.js +43 -0
  124. package/dist/lib/AppContext.js.map +1 -0
  125. package/dist/lib/AppPackager.d.ts +17 -0
  126. package/dist/lib/AppPackager.js +57 -0
  127. package/dist/lib/AppPackager.js.map +1 -0
  128. package/dist/lib/AppUpdater.d.ts +11 -0
  129. package/dist/lib/AppUpdater.js +143 -0
  130. package/dist/lib/AppUpdater.js.map +1 -0
  131. package/dist/lib/AppUploader.d.ts +9 -0
  132. package/dist/lib/AppUploader.js +37 -0
  133. package/dist/lib/AppUploader.js.map +1 -0
  134. package/dist/lib/BuildPipeline.d.ts +24 -0
  135. package/dist/lib/BuildPipeline.js +26 -0
  136. package/dist/lib/BuildPipeline.js.map +1 -0
  137. package/dist/lib/BuildPipelineFactory.d.ts +10 -0
  138. package/dist/lib/BuildPipelineFactory.js +23 -0
  139. package/dist/lib/BuildPipelineFactory.js.map +1 -0
  140. package/dist/lib/Config.d.ts +15 -0
  141. package/dist/lib/Config.js +47 -0
  142. package/dist/lib/Config.js.map +1 -0
  143. package/dist/lib/CustomHelp.d.ts +19 -0
  144. package/dist/lib/CustomHelp.js +81 -0
  145. package/dist/lib/CustomHelp.js.map +1 -0
  146. package/dist/lib/DependencyStage.d.ts +1 -0
  147. package/dist/lib/DependencyStage.js +3 -0
  148. package/dist/lib/DependencyStage.js.map +1 -0
  149. package/dist/lib/EnvironmentalOutput.d.ts +1 -0
  150. package/dist/lib/EnvironmentalOutput.js +22 -0
  151. package/dist/lib/EnvironmentalOutput.js.map +1 -0
  152. package/dist/lib/Moria.d.ts +51 -0
  153. package/dist/lib/Moria.js +30 -0
  154. package/dist/lib/Moria.js.map +1 -0
  155. package/dist/lib/MoriaApi.d.ts +22 -0
  156. package/dist/lib/MoriaApi.js +74 -0
  157. package/dist/lib/MoriaApi.js.map +1 -0
  158. package/dist/lib/NodeBuildPipeline.d.ts +25 -0
  159. package/dist/lib/NodeBuildPipeline.js +60 -0
  160. package/dist/lib/NodeBuildPipeline.js.map +1 -0
  161. package/dist/lib/PackageManager.d.ts +242 -0
  162. package/dist/lib/PackageManager.js +511 -0
  163. package/dist/lib/PackageManager.js.map +1 -0
  164. package/dist/lib/Rivendell.d.ts +409 -0
  165. package/dist/lib/Rivendell.js +391 -0
  166. package/dist/lib/Rivendell.js.map +1 -0
  167. package/dist/lib/RivendellApi.d.ts +22 -0
  168. package/dist/lib/RivendellApi.js +159 -0
  169. package/dist/lib/RivendellApi.js.map +1 -0
  170. package/dist/lib/Shards.d.ts +3 -0
  171. package/dist/lib/Shards.js +41 -0
  172. package/dist/lib/Shards.js.map +1 -0
  173. package/dist/lib/StringUtils.d.ts +1 -0
  174. package/dist/lib/StringUtils.js +9 -0
  175. package/dist/lib/StringUtils.js.map +1 -0
  176. package/dist/lib/TeminalPassthru.d.ts +7 -0
  177. package/dist/lib/TeminalPassthru.js +12 -0
  178. package/dist/lib/TeminalPassthru.js.map +1 -0
  179. package/dist/lib/TerminalConfirm.d.ts +3 -0
  180. package/dist/lib/TerminalConfirm.js +31 -0
  181. package/dist/lib/TerminalConfirm.js.map +1 -0
  182. package/dist/lib/TerminalInput.d.ts +32 -0
  183. package/dist/lib/TerminalInput.js +207 -0
  184. package/dist/lib/TerminalInput.js.map +1 -0
  185. package/dist/lib/TerminalMenu.d.ts +34 -0
  186. package/dist/lib/TerminalMenu.js +186 -0
  187. package/dist/lib/TerminalMenu.js.map +1 -0
  188. package/dist/lib/TerminalOutput.d.ts +5 -0
  189. package/dist/lib/TerminalOutput.js +12 -0
  190. package/dist/lib/TerminalOutput.js.map +1 -0
  191. package/dist/lib/TerminalSpinner.d.ts +14 -0
  192. package/dist/lib/TerminalSpinner.js +69 -0
  193. package/dist/lib/TerminalSpinner.js.map +1 -0
  194. package/dist/lib/Tracking.d.ts +15 -0
  195. package/dist/lib/Tracking.js +19 -0
  196. package/dist/lib/Tracking.js.map +1 -0
  197. package/dist/lib/build.d.ts +5 -0
  198. package/dist/lib/build.js +41 -0
  199. package/dist/lib/build.js.map +1 -0
  200. package/dist/lib/die.d.ts +5 -0
  201. package/dist/lib/die.js +14 -0
  202. package/dist/lib/die.js.map +1 -0
  203. package/dist/lib/directoryExists.d.ts +1 -0
  204. package/dist/lib/directoryExists.js +9 -0
  205. package/dist/lib/directoryExists.js.map +1 -0
  206. package/dist/lib/formatBuildState.d.ts +2 -0
  207. package/dist/lib/formatBuildState.js +23 -0
  208. package/dist/lib/formatBuildState.js.map +1 -0
  209. package/dist/lib/formatError.d.ts +1 -0
  210. package/dist/lib/formatError.js +55 -0
  211. package/dist/lib/formatError.js.map +1 -0
  212. package/dist/lib/formatJobStatus.d.ts +3 -0
  213. package/dist/lib/formatJobStatus.js +28 -0
  214. package/dist/lib/formatJobStatus.js.map +1 -0
  215. package/dist/lib/formatReviewStatus.d.ts +4 -0
  216. package/dist/lib/formatReviewStatus.js +28 -0
  217. package/dist/lib/formatReviewStatus.js.map +1 -0
  218. package/dist/lib/formatTimstamp.d.ts +1 -0
  219. package/dist/lib/formatTimstamp.js +25 -0
  220. package/dist/lib/formatTimstamp.js.map +1 -0
  221. package/dist/lib/formatVersionState.d.ts +2 -0
  222. package/dist/lib/formatVersionState.js +37 -0
  223. package/dist/lib/formatVersionState.js.map +1 -0
  224. package/dist/lib/gatherAppEnv.d.ts +3 -0
  225. package/dist/lib/gatherAppEnv.js +71 -0
  226. package/dist/lib/gatherAppEnv.js.map +1 -0
  227. package/dist/lib/handleInterrupt.d.ts +1 -0
  228. package/dist/lib/handleInterrupt.js +17 -0
  229. package/dist/lib/handleInterrupt.js.map +1 -0
  230. package/dist/lib/jobRuntime.d.ts +3 -0
  231. package/dist/lib/jobRuntime.js +16 -0
  232. package/dist/lib/jobRuntime.js.map +1 -0
  233. package/dist/lib/migrateOptiCli.d.ts +1 -0
  234. package/dist/lib/migrateOptiCli.js +30 -0
  235. package/dist/lib/migrateOptiCli.js.map +1 -0
  236. package/dist/lib/parseDate.d.ts +2 -0
  237. package/dist/lib/parseDate.js +26 -0
  238. package/dist/lib/parseDate.js.map +1 -0
  239. package/dist/lib/templating/TemplateRenderer.d.ts +13 -0
  240. package/dist/lib/templating/TemplateRenderer.js +63 -0
  241. package/dist/lib/templating/TemplateRenderer.js.map +1 -0
  242. package/dist/lib/templating/fetchTemplatesManifest.d.ts +1 -0
  243. package/dist/lib/templating/fetchTemplatesManifest.js +9 -0
  244. package/dist/lib/templating/fetchTemplatesManifest.js.map +1 -0
  245. package/dist/lib/templating/types.d.ts +27 -0
  246. package/dist/lib/templating/types.js +3 -0
  247. package/dist/lib/templating/types.js.map +1 -0
  248. package/dist/oclif.manifest.json +1616 -0
  249. package/dist/utils/utils.d.ts +5 -0
  250. package/dist/utils/utils.js +61 -0
  251. package/dist/utils/utils.js.map +1 -0
  252. package/package.json +180 -0
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chalk = require("chalk");
4
+ const table = require("text-table");
5
+ const semver = require("semver");
6
+ const core_1 = require("@oclif/core");
7
+ const die_1 = require("../../lib/die");
8
+ const formatVersionState_1 = require("../../lib/formatVersionState");
9
+ const StringUtils_1 = require("../../lib/StringUtils");
10
+ const Rivendell_1 = require("../../lib/Rivendell");
11
+ const formatError_1 = require("../../lib/formatError");
12
+ var AppVersionState = Rivendell_1.Rivendell.AppVersionState;
13
+ var DeploymentStage = Rivendell_1.Rivendell.DeploymentStage;
14
+ var ReviewStatus = Rivendell_1.Rivendell.ReviewStatus;
15
+ class ListCommand extends core_1.Command {
16
+ async run() {
17
+ const { args, flags } = await this.parse(ListCommand);
18
+ try {
19
+ const criteria = {
20
+ stages: [DeploymentStage.TEST, DeploymentStage.PRODUCTION],
21
+ states: flags.allStatuses ? [] : [AppVersionState.STOPPED, AppVersionState.ABANDONED],
22
+ };
23
+ if (!flags.allStatuses) {
24
+ criteria.states = [
25
+ AppVersionState.NEW,
26
+ AppVersionState.PUBLISHED,
27
+ AppVersionState.BUILD_FAILED,
28
+ AppVersionState.STARTING,
29
+ AppVersionState.START_FAILED,
30
+ AppVersionState.RUNNING,
31
+ AppVersionState.UPGRADING_RUNTIME,
32
+ AppVersionState.STOPPING,
33
+ AppVersionState.STOP_FAILED
34
+ ];
35
+ }
36
+ if (args.appId) {
37
+ criteria.appId = args.appId;
38
+ }
39
+ const appVersions = await Rivendell_1.Rivendell.searchAppVersions(criteria, flags.availability);
40
+ this.render(appVersions, flags.allStatuses);
41
+ }
42
+ catch (e) {
43
+ (0, die_1.die)((0, formatError_1.formatError)(e));
44
+ }
45
+ }
46
+ render(appVersions, allStatuses) {
47
+ const header = [
48
+ 'App ID',
49
+ 'Version',
50
+ 'Target Product',
51
+ 'State',
52
+ 'Created At',
53
+ 'Updated At',
54
+ ].map((item) => chalk.grey(item));
55
+ const rows = appVersions
56
+ .filter((appVersion) => allStatuses ||
57
+ (appVersion.state !== AppVersionState.STOPPED &&
58
+ appVersion.state !== AppVersionState.ABANDONED))
59
+ .sort((lhs, rhs) => {
60
+ let result = lhs.id.appId.localeCompare(rhs.id.appId);
61
+ if (result === 0) {
62
+ const lhsVersion = lhs.id.version;
63
+ const rhsVersion = rhs.id.version;
64
+ if (lhsVersion !== rhsVersion) {
65
+ result = semver.gt(lhsVersion, rhsVersion) ? -1 : 1;
66
+ }
67
+ }
68
+ return result;
69
+ })
70
+ .map((appVersion) => [
71
+ appVersion.id.appId,
72
+ appVersion.id.version,
73
+ appVersion.accountType,
74
+ this.renderState(appVersion),
75
+ appVersion.createdAt,
76
+ appVersion.updatedAt,
77
+ ]);
78
+ const t = table([header, ...rows], {
79
+ hsep: ' '.repeat(8),
80
+ stringLength: StringUtils_1.styledStringLength,
81
+ });
82
+ this.log(`\n${t}\n`);
83
+ }
84
+ renderState(appVersion) {
85
+ const state = appVersion.state;
86
+ const reviewStatus = appVersion.reviewStatus;
87
+ const includeReviewStatus = reviewStatus === ReviewStatus.APPROVED ||
88
+ reviewStatus === ReviewStatus.IN_REVIEW;
89
+ if (state === AppVersionState.PUBLISHED && includeReviewStatus) {
90
+ return `${(0, formatVersionState_1.formatVersionState)(state)} (${chalk.yellow(reviewStatus)})`;
91
+ }
92
+ return (0, formatVersionState_1.formatVersionState)(state);
93
+ }
94
+ }
95
+ exports.default = ListCommand;
96
+ ListCommand.description = 'List registered app versions';
97
+ ListCommand.flags = {
98
+ allStatuses: core_1.Flags.boolean({
99
+ description: 'Include all statuses. STOPPED and ABANDONED are filtered by default',
100
+ default: false,
101
+ }),
102
+ availability: core_1.Flags.string({
103
+ char: 'a',
104
+ description: 'The availability zone that will be targeted (default: us)',
105
+ default: 'us',
106
+ }),
107
+ };
108
+ ListCommand.args = {
109
+ appId: core_1.Args.string({
110
+ description: 'A specific App ID to filter down to (lists all apps by default)',
111
+ required: false,
112
+ }),
113
+ };
114
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/directory/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class ListFunctionsCommand extends Command {
3
+ static aliases: string[];
4
+ static description: string;
5
+ static flags: {
6
+ availability: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ };
8
+ static args: {
9
+ appId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
10
+ trackerId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
11
+ };
12
+ run(): Promise<void>;
13
+ private render;
14
+ private installationResolutionText;
15
+ }
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chalk = require("chalk");
4
+ const core_1 = require("@oclif/core");
5
+ const die_1 = require("../../lib/die");
6
+ const formatError_1 = require("../../lib/formatError");
7
+ const Rivendell_1 = require("../../lib/Rivendell");
8
+ var InstallationResolutionType = Rivendell_1.Rivendell.InstallationResolutionType;
9
+ class ListFunctionsCommand extends core_1.Command {
10
+ async run() {
11
+ const { args, flags } = await this.parse(ListFunctionsCommand);
12
+ const { appId, trackerId } = args;
13
+ const availability = flags.availability;
14
+ try {
15
+ const appInstallation = await Rivendell_1.Rivendell.fetchAppInstallation(appId, trackerId, availability);
16
+ const webhooks = await Rivendell_1.Rivendell.searchWebhooks({
17
+ appInstallId: appInstallation.id,
18
+ includeInternal: true,
19
+ includeDisabled: true,
20
+ }, availability);
21
+ const functionWebhooks = webhooks.filter((w) => !w.attributes.dataSyncId);
22
+ this.render(functionWebhooks, appId, trackerId);
23
+ }
24
+ catch (e) {
25
+ (0, die_1.die)((0, formatError_1.formatError)(e));
26
+ }
27
+ }
28
+ render(webhooks, appId, trackerId) {
29
+ if (webhooks.length === 0) {
30
+ this.log(chalk.yellow(`${appId} install for ${trackerId} does not have functions.`));
31
+ }
32
+ else {
33
+ const longest = Math.max(...webhooks.map((w) => w.url.length));
34
+ for (const webhook of webhooks) {
35
+ const attrs = webhook.attributes;
36
+ const caveats = [];
37
+ const resolutionInfo = this.installationResolutionText(attrs.installationResolutionType, attrs.installationResolutionKey);
38
+ if (resolutionInfo)
39
+ caveats.push(resolutionInfo);
40
+ if (attrs.internal)
41
+ caveats.push('internal');
42
+ if (!attrs.enabled)
43
+ caveats.push('disabled');
44
+ if (caveats.length > 0) {
45
+ this.log(webhook.url.padEnd(longest + 2) + ` (${caveats.join(', ')})`);
46
+ }
47
+ else {
48
+ this.log(webhook.url);
49
+ }
50
+ }
51
+ }
52
+ }
53
+ installationResolutionText(type, key) {
54
+ switch (type) {
55
+ case InstallationResolutionType.HEADER:
56
+ return `required HTTP Header with name '${key}' and the value set to public tracking id`;
57
+ case InstallationResolutionType.QUERY_PARAM:
58
+ return `required URL query parameter with name '${key}' and the value set to public tracking id`;
59
+ case InstallationResolutionType.JSON_BODY_FIELD:
60
+ return `required JSON body field that matches JSONPath '${key}' and the value set to public tracking id and HTTP Header set to 'Content-Type: application/json'`;
61
+ default:
62
+ return null;
63
+ }
64
+ }
65
+ }
66
+ exports.default = ListFunctionsCommand;
67
+ ListFunctionsCommand.aliases = ['directory:list-functions'];
68
+ ListFunctionsCommand.description = 'List the functions exposed by an app installation';
69
+ ListFunctionsCommand.flags = {
70
+ availability: core_1.Flags.string({
71
+ char: 'a',
72
+ description: 'The availability zone that will be targeted (default: us)',
73
+ default: 'us',
74
+ }),
75
+ };
76
+ ListFunctionsCommand.args = {
77
+ appId: core_1.Args.string({
78
+ description: 'The App ID (e.g. my_app)',
79
+ required: true,
80
+ }),
81
+ trackerId: core_1.Args.string({
82
+ description: 'The Tracker ID of the installed account',
83
+ required: true,
84
+ }),
85
+ };
86
+ //# sourceMappingURL=listFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listFunctions.js","sourceRoot":"","sources":["../../../src/commands/directory/listFunctions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class ListGlobalFunctionsCommand extends Command {
3
+ static aliases: string[];
4
+ static description: string;
5
+ static flags: {
6
+ availability: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ };
8
+ static args: {
9
+ appId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
10
+ };
11
+ run(): Promise<void>;
12
+ private render;
13
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chalk = require("chalk");
4
+ const core_1 = require("@oclif/core");
5
+ const die_1 = require("../../lib/die");
6
+ const formatError_1 = require("../../lib/formatError");
7
+ const Rivendell_1 = require("../../lib/Rivendell");
8
+ class ListGlobalFunctionsCommand extends core_1.Command {
9
+ async run() {
10
+ const { args, flags } = await this.parse(ListGlobalFunctionsCommand);
11
+ try {
12
+ const webhooks = await Rivendell_1.Rivendell.searchWebhooks({
13
+ appId: args.appId,
14
+ appInstallId: 0,
15
+ includeInternal: true,
16
+ includeDisabled: true,
17
+ }, flags.availability);
18
+ this.render(webhooks, args.appId);
19
+ }
20
+ catch (e) {
21
+ (0, die_1.die)((0, formatError_1.formatError)(e));
22
+ }
23
+ }
24
+ render(webhooks, appId) {
25
+ if (webhooks.length === 0) {
26
+ this.log(chalk.yellow(`${appId} does not contain global functions.`));
27
+ }
28
+ else {
29
+ for (const webhook of webhooks) {
30
+ const attrs = webhook.attributes;
31
+ const caveats = [];
32
+ if (attrs.internal) {
33
+ caveats.push('internal');
34
+ }
35
+ if (!attrs.enabled) {
36
+ caveats.push('disabled');
37
+ }
38
+ if (caveats.length === 0) {
39
+ this.log(webhook.url);
40
+ }
41
+ else {
42
+ this.log(chalk.yellow(`${webhook.url} (${caveats.join(', ')})`));
43
+ }
44
+ }
45
+ }
46
+ }
47
+ }
48
+ exports.default = ListGlobalFunctionsCommand;
49
+ ListGlobalFunctionsCommand.aliases = ['directory:list-global-functions'];
50
+ ListGlobalFunctionsCommand.description = 'List the global functions exposed by an app';
51
+ ListGlobalFunctionsCommand.flags = {
52
+ availability: core_1.Flags.string({
53
+ char: 'a',
54
+ description: 'The availability zone that will be targeted (default: us)',
55
+ default: 'us',
56
+ }),
57
+ };
58
+ ListGlobalFunctionsCommand.args = {
59
+ appId: core_1.Args.string({
60
+ description: 'The App ID (e.g. my_app)',
61
+ required: true,
62
+ }),
63
+ };
64
+ //# sourceMappingURL=listGlobalFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listGlobalFunctions.js","sourceRoot":"","sources":["../../../src/commands/directory/listGlobalFunctions.ts"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,sCAAmD;AACnD,uCAAoC;AACpC,uDAAoD;AACpD,mDAAgD;AAGhD,MAAqB,0BAA2B,SAAQ,cAAO;IAoBtD,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAErE,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,qBAAS,CAAC,cAAc,CAC7C;gBACE,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,YAAY,EAAE,CAAC;gBACf,eAAe,EAAE,IAAI;gBACrB,eAAe,EAAE,IAAI;aACtB,EACD,KAAK,CAAC,YAAY,CACnB,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SACnC;QAAC,OAAO,CAAM,EAAE;YACf,IAAA,SAAG,EAAC,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;SACrB;IACH,CAAC;IAEO,MAAM,CAAC,QAAmB,EAAE,KAAa;QAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,qCAAqC,CAAC,CAAC,CAAC;SACvE;aAAM;YACL,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;gBACjC,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,IAAI,KAAK,CAAC,QAAQ,EAAE;oBAClB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAC1B;gBACD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;oBAClB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAC1B;gBAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACxB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;iBACvB;qBAAM;oBACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;iBACnE;aACF;SACF;IACH,CAAC;;AA7DH,6CA8DC;AA7De,kCAAO,GAAG,CAAC,iCAAiC,CAAC,CAAC;AAE9C,sCAAW,GAAG,6CAA6C,CAAC;AAE5D,gCAAK,GAAG;IACpB,YAAY,EAAE,YAAK,CAAC,MAAM,CAAC;QACzB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,2DAA2D;QACxE,OAAO,EAAE,IAAI;KACd,CAAC;CACH,CAAC;AAEY,+BAAI,GAAG;IACnB,KAAK,EAAE,WAAI,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,0BAA0B;QACvC,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class ListInstallsCommand extends Command {
3
+ static aliases: string[];
4
+ static description: string;
5
+ static flags: {
6
+ availability: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ };
8
+ static args: {
9
+ appVersion: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
10
+ };
11
+ run(): Promise<void>;
12
+ private render;
13
+ private getHeaders;
14
+ private getRow;
15
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chalk = require("chalk");
4
+ const table = require("text-table");
5
+ const core_1 = require("@oclif/core");
6
+ const die_1 = require("../../lib/die");
7
+ const StringUtils_1 = require("../../lib/StringUtils");
8
+ const Rivendell_1 = require("../../lib/Rivendell");
9
+ const formatError_1 = require("../../lib/formatError");
10
+ var SortDirection = Rivendell_1.Rivendell.SortDirection;
11
+ class ListInstallsCommand extends core_1.Command {
12
+ async run() {
13
+ const { args, flags } = await this.parse(ListInstallsCommand);
14
+ const [appId, version] = args.appVersion.split('@');
15
+ try {
16
+ const appInstallations = await Rivendell_1.Rivendell.searchAppInstallations({
17
+ appId,
18
+ version,
19
+ sorts: [
20
+ {
21
+ field: 'trackerId',
22
+ direction: SortDirection.DESC,
23
+ },
24
+ ],
25
+ }, flags.availability);
26
+ this.render(version, appInstallations);
27
+ }
28
+ catch (e) {
29
+ (0, die_1.die)((0, formatError_1.formatError)(e));
30
+ }
31
+ }
32
+ render(version, appInstallations) {
33
+ const header = this.getHeaders(version).map((item) => chalk.grey(item));
34
+ const rows = appInstallations.map((install) => this.getRow(install, version));
35
+ const t = table([header, ...rows], {
36
+ hsep: ' '.repeat(8),
37
+ stringLength: StringUtils_1.styledStringLength,
38
+ });
39
+ this.log(`\n${t}\n`);
40
+ }
41
+ getHeaders(version) {
42
+ const headers = ['Tracker', 'Created At', 'Updated At'];
43
+ if (!version) {
44
+ headers.splice(1, 0, 'Version');
45
+ }
46
+ return headers;
47
+ }
48
+ getRow(install, version) {
49
+ const row = [install.trackerId, install.createdAt, install.updatedAt];
50
+ if (!version) {
51
+ row.splice(1, 0, install.version);
52
+ }
53
+ return row;
54
+ }
55
+ }
56
+ exports.default = ListInstallsCommand;
57
+ ListInstallsCommand.aliases = ['directory:list-installs'];
58
+ ListInstallsCommand.description = 'List installations of a specific app version';
59
+ ListInstallsCommand.flags = {
60
+ availability: core_1.Flags.string({
61
+ char: 'a',
62
+ description: 'The availability zone that will be targeted (default: us)',
63
+ default: 'us',
64
+ }),
65
+ };
66
+ ListInstallsCommand.args = {
67
+ appVersion: core_1.Args.string({
68
+ description: 'The App ID and optional version (e.g. my_app or my_app@1.0.0)',
69
+ required: true,
70
+ }),
71
+ };
72
+ //# sourceMappingURL=listInstalls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listInstalls.js","sourceRoot":"","sources":["../../../src/commands/directory/listInstalls.ts"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,oCAAoC;AACpC,sCAAmD;AACnD,uCAAoC;AACpC,uDAA2D;AAC3D,mDAAgD;AAChD,uDAAoD;AACpD,IAAO,aAAa,GAAG,qBAAS,CAAC,aAAa,CAAC;AAG/C,MAAqB,mBAAoB,SAAQ,cAAO;IAqB/C,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI;YACF,MAAM,gBAAgB,GAAG,MAAM,qBAAS,CAAC,sBAAsB,CAC7D;gBACE,KAAK;gBACL,OAAO;gBACP,KAAK,EAAE;oBACL;wBACE,KAAK,EAAE,WAAW;wBAClB,SAAS,EAAE,aAAa,CAAC,IAAI;qBAC9B;iBACF;aACF,EACD,KAAK,CAAC,YAAY,CACnB,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;SACxC;QAAC,OAAO,CAAM,EAAE;YACf,IAAA,SAAG,EAAC,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;SACrB;IACH,CAAC;IAEO,MAAM,CAAC,OAAe,EAAE,gBAAmC;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAC9B,CAAC;QACF,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE;YACjC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACnB,YAAY,EAAE,gCAAkB;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAEO,UAAU,CAAC,OAAe;QAChC,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;SACjC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,OAAwB,EAAE,OAAe;QACtD,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,EAAE;YACZ,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;SACnC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;;AAxEH,sCAyEC;AAxEe,2BAAO,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAEtC,+BAAW,GAAG,8CAA8C,CAAC;AAE7D,yBAAK,GAAG;IACpB,YAAY,EAAE,YAAK,CAAC,MAAM,CAAC;QACzB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,2DAA2D;QACxE,OAAO,EAAE,IAAI;KACd,CAAC;CACH,CAAC;AAEY,wBAAI,GAAG;IACnB,UAAU,EAAE,WAAI,CAAC,MAAM,CAAC;QACtB,WAAW,EACT,+DAA+D;QACjE,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class ListSourceFunctionsCommand extends Command {
3
+ static aliases: string[];
4
+ static description: string;
5
+ static flags: {
6
+ availability: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ };
8
+ static args: {
9
+ appId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
10
+ trackerId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
11
+ };
12
+ run(): Promise<void>;
13
+ private render;
14
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chalk = require("chalk");
4
+ const core_1 = require("@oclif/core");
5
+ const die_1 = require("../../lib/die");
6
+ const formatError_1 = require("../../lib/formatError");
7
+ const Rivendell_1 = require("../../lib/Rivendell");
8
+ class ListSourceFunctionsCommand extends core_1.Command {
9
+ async run() {
10
+ const { args, flags } = await this.parse(ListSourceFunctionsCommand);
11
+ try {
12
+ const appInstallation = await Rivendell_1.Rivendell.fetchAppInstallation(args.appId, args.trackerId, flags.availability);
13
+ const webhooks = await Rivendell_1.Rivendell.searchWebhooks({
14
+ appInstallId: appInstallation.id,
15
+ includeInternal: true,
16
+ includeDisabled: true,
17
+ }, flags.availability);
18
+ const sourceWebhooks = webhooks.filter((w) => { var _a; return ((_a = w.attributes.dataSyncId) === null || _a === void 0 ? void 0 : _a.length) !== 0; });
19
+ this.render(sourceWebhooks, args.appId, args.trackerId);
20
+ }
21
+ catch (e) {
22
+ (0, die_1.die)((0, formatError_1.formatError)(e));
23
+ }
24
+ }
25
+ render(webhooks, appId, trackerId) {
26
+ if (webhooks.length === 0) {
27
+ this.log(chalk.yellow(`${appId} install for ${trackerId} does not have source functions.`));
28
+ }
29
+ else {
30
+ const longest = Math.max(...webhooks.map((w) => w.url.length));
31
+ webhooks.forEach((webhook) => {
32
+ const attrs = webhook.attributes;
33
+ const info = [];
34
+ info.push(`data-sync-id: ${attrs.dataSyncId}`);
35
+ if (attrs.internal) {
36
+ info.push('internal');
37
+ }
38
+ if (!attrs.enabled) {
39
+ info.push('disabled');
40
+ }
41
+ if (info.length > 0) {
42
+ this.log(webhook.url.padEnd(longest + 2), `(${info.join(', ')})`);
43
+ }
44
+ else {
45
+ this.log(webhook.url);
46
+ }
47
+ });
48
+ }
49
+ }
50
+ }
51
+ exports.default = ListSourceFunctionsCommand;
52
+ ListSourceFunctionsCommand.aliases = ['directory:list-source-functions'];
53
+ ListSourceFunctionsCommand.description = 'List the source functions exposed by an app installation';
54
+ ListSourceFunctionsCommand.flags = {
55
+ availability: core_1.Flags.string({
56
+ char: 'a',
57
+ description: 'The availability zone that will be targeted (default: us)',
58
+ default: 'us',
59
+ }),
60
+ };
61
+ ListSourceFunctionsCommand.args = {
62
+ appId: core_1.Args.string({
63
+ description: 'The App ID (e.g. my_app)',
64
+ required: true,
65
+ }),
66
+ trackerId: core_1.Args.string({
67
+ description: 'The Tracker ID of the installed account',
68
+ required: true,
69
+ }),
70
+ };
71
+ //# sourceMappingURL=listSourceFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listSourceFunctions.js","sourceRoot":"","sources":["../../../src/commands/directory/listSourceFunctions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class PublishCommand extends Command {
3
+ static description: string;
4
+ static flags: {
5
+ noProgress: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
6
+ noPrompt: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ };
8
+ static args: {
9
+ appVersion: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
10
+ };
11
+ run(): Promise<void>;
12
+ private checkOrphanedDeploys;
13
+ private isStopped;
14
+ private watchForPublishCompletion;
15
+ }