@forge/cli 0.0.0-experimental-deeb8f6 → 0.0.0-experimental-c8e9749

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 (319) hide show
  1. package/CHANGELOG.md +1110 -2
  2. package/npm-shrinkwrap.json +13212 -223
  3. package/out/analytics-client/analytics-client.d.ts +36 -0
  4. package/out/analytics-client/analytics-client.d.ts.map +1 -0
  5. package/out/analytics-client/analytics-client.js +140 -0
  6. package/out/analytics-client/analytics-message-handler.d.ts +21 -0
  7. package/out/analytics-client/analytics-message-handler.d.ts.map +1 -0
  8. package/out/analytics-client/analytics-message-handler.js +43 -0
  9. package/out/autocomplete/autocomplete-config.json +243 -0
  10. package/out/autocomplete/index.d.ts +5 -0
  11. package/out/autocomplete/index.d.ts.map +1 -0
  12. package/out/autocomplete/index.js +41 -0
  13. package/out/autocomplete/isSupportedShell.d.ts +2 -0
  14. package/out/autocomplete/isSupportedShell.d.ts.map +1 -0
  15. package/out/autocomplete/isSupportedShell.js +11 -0
  16. package/out/autocomplete/types.d.ts +14 -0
  17. package/out/autocomplete/types.d.ts.map +1 -0
  18. package/out/autocomplete/types.js +2 -0
  19. package/out/autocomplete/util.d.ts +6 -0
  20. package/out/autocomplete/util.d.ts.map +1 -0
  21. package/out/autocomplete/util.js +15 -0
  22. package/out/bin/cli.d.ts +1 -0
  23. package/out/bin/cli.d.ts.map +1 -1
  24. package/out/bin/cli.js +4 -1
  25. package/out/bin/postinstall.d.ts +2 -0
  26. package/out/bin/postinstall.d.ts.map +1 -0
  27. package/out/bin/postinstall.js +23 -0
  28. package/out/command-line/anon-user-id.d.ts +3 -0
  29. package/out/command-line/anon-user-id.d.ts.map +1 -0
  30. package/out/command-line/anon-user-id.js +17 -0
  31. package/out/command-line/command.d.ts +80 -0
  32. package/out/command-line/command.d.ts.map +1 -0
  33. package/out/command-line/command.js +408 -0
  34. package/out/command-line/controller/assertUnreachable.d.ts +2 -0
  35. package/out/command-line/controller/assertUnreachable.d.ts.map +1 -0
  36. package/out/command-line/controller/assertUnreachable.js +7 -0
  37. package/out/command-line/controller/autocomplete-controller.d.ts +12 -0
  38. package/out/command-line/controller/autocomplete-controller.d.ts.map +1 -0
  39. package/out/command-line/controller/autocomplete-controller.js +54 -0
  40. package/out/command-line/controller/deploy-controller.d.ts +42 -0
  41. package/out/command-line/controller/deploy-controller.d.ts.map +1 -0
  42. package/out/command-line/controller/deploy-controller.js +139 -0
  43. package/out/command-line/controller/feedback-controller.d.ts +9 -0
  44. package/out/command-line/controller/feedback-controller.d.ts.map +1 -0
  45. package/out/command-line/controller/feedback-controller.js +19 -0
  46. package/out/command-line/controller/getNodeVersion.d.ts +2 -0
  47. package/out/command-line/controller/getNodeVersion.d.ts.map +1 -0
  48. package/out/command-line/controller/getNodeVersion.js +7 -0
  49. package/out/command-line/controller/install-controller.d.ts +35 -0
  50. package/out/command-line/controller/install-controller.d.ts.map +1 -0
  51. package/out/command-line/controller/install-controller.js +157 -0
  52. package/out/command-line/controller/lint-controller.d.ts +9 -0
  53. package/out/command-line/controller/lint-controller.d.ts.map +1 -0
  54. package/out/command-line/controller/lint-controller.js +20 -0
  55. package/out/command-line/controller/pre-command-controller.d.ts +25 -0
  56. package/out/command-line/controller/pre-command-controller.d.ts.map +1 -0
  57. package/out/command-line/controller/pre-command-controller.js +57 -0
  58. package/out/command-line/controller/prerequisites-controller.d.ts +15 -0
  59. package/out/command-line/controller/prerequisites-controller.d.ts.map +1 -0
  60. package/out/command-line/controller/prerequisites-controller.js +41 -0
  61. package/out/command-line/controller/settings-controller.d.ts +19 -0
  62. package/out/command-line/controller/settings-controller.d.ts.map +1 -0
  63. package/out/command-line/controller/settings-controller.js +48 -0
  64. package/out/command-line/controller/stubController.d.ts +9 -0
  65. package/out/command-line/controller/stubController.d.ts.map +1 -0
  66. package/out/command-line/controller/stubController.js +15 -0
  67. package/out/command-line/controller/tunnel-controller.d.ts +14 -0
  68. package/out/command-line/controller/tunnel-controller.d.ts.map +1 -0
  69. package/out/command-line/controller/tunnel-controller.js +43 -0
  70. package/out/command-line/dependency-injection.d.ts +76 -0
  71. package/out/command-line/dependency-injection.d.ts.map +1 -0
  72. package/out/command-line/dependency-injection.js +211 -0
  73. package/out/command-line/environment.d.ts +2 -0
  74. package/out/command-line/environment.d.ts.map +1 -0
  75. package/out/command-line/environment.js +16 -0
  76. package/out/command-line/errors.d.ts +6 -0
  77. package/out/command-line/errors.d.ts.map +1 -0
  78. package/out/command-line/errors.js +12 -0
  79. package/out/command-line/index.d.ts +5 -0
  80. package/out/command-line/index.d.ts.map +1 -0
  81. package/out/command-line/index.js +73 -0
  82. package/out/command-line/register-app-commands.d.ts +10 -0
  83. package/out/command-line/register-app-commands.d.ts.map +1 -0
  84. package/out/command-line/register-app-commands.js +128 -0
  85. package/out/command-line/register-authentication-command.d.ts +16 -0
  86. package/out/command-line/register-authentication-command.d.ts.map +1 -0
  87. package/out/command-line/register-authentication-command.js +94 -0
  88. package/out/command-line/register-autocomplete-commands.d.ts +3 -0
  89. package/out/command-line/register-autocomplete-commands.d.ts.map +1 -0
  90. package/out/command-line/register-autocomplete-commands.js +14 -0
  91. package/out/command-line/register-contributors-commands.d.ts +3 -0
  92. package/out/command-line/register-contributors-commands.d.ts.map +1 -0
  93. package/out/command-line/register-contributors-commands.js +134 -0
  94. package/out/command-line/register-deployment-commands.d.ts +22 -0
  95. package/out/command-line/register-deployment-commands.d.ts.map +1 -0
  96. package/out/command-line/register-deployment-commands.js +16 -0
  97. package/out/command-line/register-environment-variables-commands.d.ts +3 -0
  98. package/out/command-line/register-environment-variables-commands.d.ts.map +1 -0
  99. package/out/command-line/register-environment-variables-commands.js +103 -0
  100. package/out/command-line/register-feedback-commands.d.ts +3 -0
  101. package/out/command-line/register-feedback-commands.d.ts.map +1 -0
  102. package/out/command-line/register-feedback-commands.js +32 -0
  103. package/out/command-line/register-installation-commands.d.ts +6 -0
  104. package/out/command-line/register-installation-commands.d.ts.map +1 -0
  105. package/out/command-line/register-installation-commands.js +143 -0
  106. package/out/command-line/register-lint-command.d.ts +8 -0
  107. package/out/command-line/register-lint-command.d.ts.map +1 -0
  108. package/out/command-line/register-lint-command.js +16 -0
  109. package/out/command-line/register-log-commands.d.ts +4 -0
  110. package/out/command-line/register-log-commands.d.ts.map +1 -0
  111. package/out/command-line/register-log-commands.js +139 -0
  112. package/out/command-line/register-providers-commands.d.ts +3 -0
  113. package/out/command-line/register-providers-commands.d.ts.map +1 -0
  114. package/out/command-line/register-providers-commands.js +44 -0
  115. package/out/command-line/register-settings-commands.d.ts +3 -0
  116. package/out/command-line/register-settings-commands.d.ts.map +1 -0
  117. package/out/command-line/register-settings-commands.js +39 -0
  118. package/out/command-line/register-tunnel-commands.d.ts +3 -0
  119. package/out/command-line/register-tunnel-commands.d.ts.map +1 -0
  120. package/out/command-line/register-tunnel-commands.js +15 -0
  121. package/out/command-line/register-webtrigger-commands.d.ts +3 -0
  122. package/out/command-line/register-webtrigger-commands.d.ts.map +1 -0
  123. package/out/command-line/register-webtrigger-commands.js +56 -0
  124. package/out/command-line/sentry.d.ts +4 -0
  125. package/out/command-line/sentry.d.ts.map +1 -0
  126. package/out/command-line/sentry.js +16 -0
  127. package/out/command-line/unique-machine-id.d.ts +3 -0
  128. package/out/command-line/unique-machine-id.d.ts.map +1 -0
  129. package/out/command-line/unique-machine-id.js +19 -0
  130. package/out/command-line/version-info.d.ts +9 -0
  131. package/out/command-line/version-info.d.ts.map +1 -0
  132. package/out/command-line/version-info.js +42 -0
  133. package/out/command-line/view/analytics-settings-view.d.ts +7 -0
  134. package/out/command-line/view/analytics-settings-view.d.ts.map +1 -0
  135. package/out/command-line/view/analytics-settings-view.js +18 -0
  136. package/out/command-line/view/deploy-view.d.ts +21 -0
  137. package/out/command-line/view/deploy-view.d.ts.map +1 -0
  138. package/out/command-line/view/deploy-view.js +58 -0
  139. package/out/command-line/view/install-view.d.ts +18 -0
  140. package/out/command-line/view/install-view.d.ts.map +1 -0
  141. package/out/command-line/view/install-view.js +56 -0
  142. package/out/command-line/view/lint-view.d.ts +12 -0
  143. package/out/command-line/view/lint-view.d.ts.map +1 -0
  144. package/out/command-line/view/lint-view.js +31 -0
  145. package/out/command-line/view/lite-lint-view.d.ts +10 -0
  146. package/out/command-line/view/lite-lint-view.d.ts.map +1 -0
  147. package/out/command-line/view/lite-lint-view.js +18 -0
  148. package/out/command-line/view/settings-view.d.ts +10 -0
  149. package/out/command-line/view/settings-view.d.ts.map +1 -0
  150. package/out/command-line/view/settings-view.js +26 -0
  151. package/out/command-line/view/tunnel-view.d.ts +20 -0
  152. package/out/command-line/view/tunnel-view.d.ts.map +1 -0
  153. package/out/command-line/view/tunnel-view.js +92 -0
  154. package/out/contributors/add-contributor.d.ts +17 -0
  155. package/out/contributors/add-contributor.d.ts.map +1 -0
  156. package/out/contributors/add-contributor.js +14 -0
  157. package/out/contributors/graphql-client.d.ts +14 -0
  158. package/out/contributors/graphql-client.d.ts.map +1 -0
  159. package/out/contributors/graphql-client.js +113 -0
  160. package/out/contributors/list-contributors.d.ts +18 -0
  161. package/out/contributors/list-contributors.d.ts.map +1 -0
  162. package/out/contributors/list-contributors.js +14 -0
  163. package/out/contributors/remove-contributors.d.ts +18 -0
  164. package/out/contributors/remove-contributors.d.ts.map +1 -0
  165. package/out/contributors/remove-contributors.js +14 -0
  166. package/out/deploy/deployer/deploy-monitor-graphql-client.d.ts +24 -0
  167. package/out/deploy/deployer/deploy-monitor-graphql-client.d.ts.map +1 -0
  168. package/out/deploy/deployer/deploy-monitor-graphql-client.js +57 -0
  169. package/out/deploy/deployer/deployer.d.ts +40 -0
  170. package/out/deploy/deployer/deployer.d.ts.map +1 -0
  171. package/out/deploy/deployer/deployer.js +187 -0
  172. package/out/deploy/deployer/index.d.ts +4 -0
  173. package/out/deploy/deployer/index.d.ts.map +1 -0
  174. package/out/deploy/deployer/index.js +6 -0
  175. package/out/deploy/deployer/trigger-deploy-graphql-client.d.ts +19 -0
  176. package/out/deploy/deployer/trigger-deploy-graphql-client.d.ts.map +1 -0
  177. package/out/deploy/deployer/trigger-deploy-graphql-client.js +49 -0
  178. package/out/deploy/index.d.ts +5 -0
  179. package/out/deploy/index.d.ts.map +1 -0
  180. package/out/deploy/index.js +7 -0
  181. package/out/deploy/package-upload-deploy.d.ts +20 -0
  182. package/out/deploy/package-upload-deploy.d.ts.map +1 -0
  183. package/out/deploy/package-upload-deploy.js +37 -0
  184. package/out/deploy/packager/archiver.d.ts +27 -0
  185. package/out/deploy/packager/archiver.d.ts.map +1 -0
  186. package/out/deploy/packager/archiver.js +76 -0
  187. package/out/deploy/packager/index.d.ts +3 -0
  188. package/out/deploy/packager/index.d.ts.map +1 -0
  189. package/out/deploy/packager/index.js +5 -0
  190. package/out/deploy/packager/nativeui-bundler.d.ts +12 -0
  191. package/out/deploy/packager/nativeui-bundler.d.ts.map +1 -0
  192. package/out/deploy/packager/nativeui-bundler.js +34 -0
  193. package/out/deploy/packager/packager.d.ts +32 -0
  194. package/out/deploy/packager/packager.d.ts.map +1 -0
  195. package/out/deploy/packager/packager.js +21 -0
  196. package/out/deploy/packager/runtime-bundler.d.ts +15 -0
  197. package/out/deploy/packager/runtime-bundler.d.ts.map +1 -0
  198. package/out/deploy/packager/runtime-bundler.js +53 -0
  199. package/out/deploy/uploader/artifact-graphql-client.d.ts +26 -0
  200. package/out/deploy/uploader/artifact-graphql-client.d.ts.map +1 -0
  201. package/out/deploy/uploader/artifact-graphql-client.js +100 -0
  202. package/out/deploy/uploader/index.d.ts +3 -0
  203. package/out/deploy/uploader/index.d.ts.map +1 -0
  204. package/out/deploy/uploader/index.js +5 -0
  205. package/out/deploy/uploader/uploader.d.ts +19 -0
  206. package/out/deploy/uploader/uploader.d.ts.map +1 -0
  207. package/out/deploy/uploader/uploader.js +43 -0
  208. package/out/environment-variables/delete-environment-variable.d.ts +18 -0
  209. package/out/environment-variables/delete-environment-variable.d.ts.map +1 -0
  210. package/out/environment-variables/delete-environment-variable.js +14 -0
  211. package/out/environment-variables/graphql-client.d.ts +16 -0
  212. package/out/environment-variables/graphql-client.d.ts.map +1 -0
  213. package/out/environment-variables/graphql-client.js +113 -0
  214. package/out/environment-variables/list-environment-variables.d.ts +22 -0
  215. package/out/environment-variables/list-environment-variables.d.ts.map +1 -0
  216. package/out/environment-variables/list-environment-variables.js +14 -0
  217. package/out/environment-variables/set-environment-variable.d.ts +20 -0
  218. package/out/environment-variables/set-environment-variable.d.ts.map +1 -0
  219. package/out/environment-variables/set-environment-variable.js +14 -0
  220. package/out/installations/graphql-client.d.ts +75 -0
  221. package/out/installations/graphql-client.d.ts.map +1 -0
  222. package/out/installations/graphql-client.js +423 -0
  223. package/out/installations/install-app-site.d.ts +21 -0
  224. package/out/installations/install-app-site.d.ts.map +1 -0
  225. package/out/installations/install-app-site.js +19 -0
  226. package/out/installations/shared.d.ts +5 -0
  227. package/out/installations/shared.d.ts.map +1 -0
  228. package/out/installations/shared.js +20 -0
  229. package/out/installations/site-translation/bitbucket.d.ts +24 -0
  230. package/out/installations/site-translation/bitbucket.d.ts.map +1 -0
  231. package/out/installations/site-translation/bitbucket.js +113 -0
  232. package/out/installations/site-translation/cloudid-products.d.ts +17 -0
  233. package/out/installations/site-translation/cloudid-products.d.ts.map +1 -0
  234. package/out/installations/site-translation/cloudid-products.js +89 -0
  235. package/out/installations/site-translation/index.d.ts +4 -0
  236. package/out/installations/site-translation/index.d.ts.map +1 -0
  237. package/out/installations/site-translation/index.js +6 -0
  238. package/out/installations/site-translation/site-translation.d.ts +12 -0
  239. package/out/installations/site-translation/site-translation.d.ts.map +1 -0
  240. package/out/installations/site-translation/site-translation.js +2 -0
  241. package/out/installations/uninstall-app.d.ts +25 -0
  242. package/out/installations/uninstall-app.d.ts.map +1 -0
  243. package/out/installations/uninstall-app.js +43 -0
  244. package/out/migration-keys/graphql-client.d.ts +8 -0
  245. package/out/migration-keys/graphql-client.d.ts.map +1 -0
  246. package/out/migration-keys/graphql-client.js +55 -0
  247. package/out/providers/configure-provider.d.ts +19 -0
  248. package/out/providers/configure-provider.d.ts.map +1 -0
  249. package/out/providers/configure-provider.js +14 -0
  250. package/out/providers/graphql-client.d.ts +8 -0
  251. package/out/providers/graphql-client.d.ts.map +1 -0
  252. package/out/providers/graphql-client.js +45 -0
  253. package/out/service/cached-config-service.d.ts +8 -0
  254. package/out/service/cached-config-service.d.ts.map +1 -0
  255. package/out/service/cached-config-service.js +16 -0
  256. package/out/service/command-suggestion-service.d.ts +4 -0
  257. package/out/service/command-suggestion-service.d.ts.map +1 -0
  258. package/out/service/command-suggestion-service.js +17 -0
  259. package/out/service/docker-service.d.ts +24 -0
  260. package/out/service/docker-service.d.ts.map +1 -0
  261. package/out/service/docker-service.js +71 -0
  262. package/out/service/installation-service.d.ts +51 -0
  263. package/out/service/installation-service.d.ts.map +1 -0
  264. package/out/service/installation-service.js +91 -0
  265. package/out/service/lint-service.d.ts +23 -0
  266. package/out/service/lint-service.d.ts.map +1 -0
  267. package/out/service/lint-service.js +39 -0
  268. package/out/service/lite-lint-service.d.ts +10 -0
  269. package/out/service/lite-lint-service.d.ts.map +1 -0
  270. package/out/service/lite-lint-service.js +27 -0
  271. package/out/service/migration-keys-service.d.ts +19 -0
  272. package/out/service/migration-keys-service.d.ts.map +1 -0
  273. package/out/service/migration-keys-service.js +14 -0
  274. package/out/service/port-finding-service.d.ts +12 -0
  275. package/out/service/port-finding-service.d.ts.map +1 -0
  276. package/out/service/port-finding-service.js +34 -0
  277. package/out/service/resource-packaging-service.d.ts +46 -0
  278. package/out/service/resource-packaging-service.d.ts.map +1 -0
  279. package/out/service/resource-packaging-service.js +132 -0
  280. package/out/service/resources-uploader-service.d.ts +16 -0
  281. package/out/service/resources-uploader-service.d.ts.map +1 -0
  282. package/out/service/resources-uploader-service.js +39 -0
  283. package/out/service/tunnel-analytics-service.d.ts +11 -0
  284. package/out/service/tunnel-analytics-service.d.ts.map +1 -0
  285. package/out/service/tunnel-analytics-service.js +24 -0
  286. package/out/service/tunnel-service.d.ts +41 -0
  287. package/out/service/tunnel-service.d.ts.map +1 -0
  288. package/out/service/tunnel-service.js +196 -0
  289. package/out/storage/local-file-storage.d.ts +17 -0
  290. package/out/storage/local-file-storage.d.ts.map +1 -0
  291. package/out/storage/local-file-storage.js +53 -0
  292. package/out/webtrigger/get-webtrigger-url.d.ts +27 -0
  293. package/out/webtrigger/get-webtrigger-url.d.ts.map +1 -0
  294. package/out/webtrigger/get-webtrigger-url.js +26 -0
  295. package/out/webtrigger/graphql-client.d.ts +14 -0
  296. package/out/webtrigger/graphql-client.d.ts.map +1 -0
  297. package/out/webtrigger/graphql-client.js +52 -0
  298. package/out/workers/analytics-message-worker.d.ts +12 -0
  299. package/out/workers/analytics-message-worker.d.ts.map +1 -0
  300. package/out/workers/analytics-message-worker.js +29 -0
  301. package/out/workers/forge-cli-workers.d.ts +2 -0
  302. package/out/workers/forge-cli-workers.d.ts.map +1 -0
  303. package/out/workers/forge-cli-workers.js +21 -0
  304. package/out/workers/tunnel-clean-up-worker.d.ts +8 -0
  305. package/out/workers/tunnel-clean-up-worker.d.ts.map +1 -0
  306. package/out/workers/tunnel-clean-up-worker.js +31 -0
  307. package/out/workers/version-check-worker.d.ts +8 -0
  308. package/out/workers/version-check-worker.d.ts.map +1 -0
  309. package/out/workers/version-check-worker.js +20 -0
  310. package/out/workers/worker-info.d.ts +8 -0
  311. package/out/workers/worker-info.d.ts.map +1 -0
  312. package/out/workers/worker-info.js +15 -0
  313. package/out/workers/worker.d.ts +6 -0
  314. package/out/workers/worker.d.ts.map +1 -0
  315. package/out/workers/worker.js +9 -0
  316. package/out/workers/workers-starter.d.ts +5 -0
  317. package/out/workers/workers-starter.d.ts.map +1 -0
  318. package/out/workers/workers-starter.js +22 -0
  319. package/package.json +60 -5
@@ -0,0 +1,18 @@
1
+ import { AppConfigProvider } from '@forge/cli-shared';
2
+ export interface ContributorDetails {
3
+ emails?: string[];
4
+ accountIds?: string[];
5
+ }
6
+ export interface RemoveContributorsDetails extends ContributorDetails {
7
+ appId: string;
8
+ }
9
+ export interface RemoveContributorsClient {
10
+ removeContributors(details: RemoveContributorsDetails): Promise<void>;
11
+ }
12
+ export declare class RemoveContributorsCommand {
13
+ private readonly client;
14
+ private readonly getAppConfig;
15
+ constructor(client: RemoveContributorsClient, getAppConfig: AppConfigProvider);
16
+ execute(details: ContributorDetails): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=remove-contributors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-contributors.d.ts","sourceRoot":"","sources":["../../src/contributors/remove-contributors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IACnE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvE;AAED,qBAAa,yBAAyB;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAA4B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAA/D,MAAM,EAAE,wBAAwB,EAAmB,YAAY,EAAE,iBAAiB;IAElG,OAAO,CAAC,OAAO,EAAE,kBAAkB;CAOjD"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RemoveContributorsCommand = void 0;
4
+ class RemoveContributorsCommand {
5
+ constructor(client, getAppConfig) {
6
+ this.client = client;
7
+ this.getAppConfig = getAppConfig;
8
+ }
9
+ async execute(details) {
10
+ const { id: appId } = await this.getAppConfig();
11
+ await this.client.removeContributors(Object.assign(Object.assign({}, details), { appId }));
12
+ }
13
+ }
14
+ exports.RemoveContributorsCommand = RemoveContributorsCommand;
@@ -0,0 +1,24 @@
1
+ import { AppDeployment, AppDeploymentLogEvent, AppDeploymentSnapshotLogEvent, AppDeploymentTransitionEvent, GraphQLClient } from '@forge/cli-shared';
2
+ export interface DeployMonitorDetails {
3
+ appId: string;
4
+ deploymentId: string;
5
+ environmentKey: string;
6
+ }
7
+ export declare enum DeployMonitorStatus {
8
+ InProgress = "IN_PROGRESS",
9
+ Done = "DONE",
10
+ Failed = "FAILED"
11
+ }
12
+ export declare type DeployMonitor = Pick<AppDeployment, 'stages'> & Pick<AppDeployment, 'errorDetails'> & {
13
+ status: DeployMonitorStatus;
14
+ };
15
+ export declare type DeployMonitorEvent = AppDeploymentLogEvent | AppDeploymentSnapshotLogEvent | AppDeploymentTransitionEvent;
16
+ export interface DeployMonitorClient {
17
+ getDeployment(details: DeployMonitorDetails): Promise<DeployMonitor>;
18
+ }
19
+ export declare class DeployMonitorGraphqlClient implements DeployMonitorClient {
20
+ private readonly graphqlClient;
21
+ constructor(graphqlClient: GraphQLClient);
22
+ getDeployment({ appId, environmentKey, deploymentId }: DeployMonitorDetails): Promise<DeployMonitor>;
23
+ }
24
+ //# sourceMappingURL=deploy-monitor-graphql-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-monitor-graphql-client.d.ts","sourceRoot":"","sources":["../../../src/deploy/deployer/deploy-monitor-graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,6BAA6B,EAC7B,4BAA4B,EAC5B,aAAa,EAEd,MAAM,mBAAmB,CAAC;AAI3B,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,oBAAY,mBAAmB;IAC7B,UAAU,gBAAgB;IAC1B,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAED,oBAAY,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,GACvD,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG;IAAE,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAGxE,oBAAY,kBAAkB,GAAG,qBAAqB,GAAG,6BAA6B,GAAG,4BAA4B,CAAC;AAEtH,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACtE;AAED,qBAAa,0BAA2B,YAAW,mBAAmB;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,aAAa,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;CA8ClH"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeployMonitorGraphqlClient = exports.DeployMonitorStatus = void 0;
4
+ const trigger_deploy_graphql_client_1 = require("./trigger-deploy-graphql-client");
5
+ var DeployMonitorStatus;
6
+ (function (DeployMonitorStatus) {
7
+ DeployMonitorStatus["InProgress"] = "IN_PROGRESS";
8
+ DeployMonitorStatus["Done"] = "DONE";
9
+ DeployMonitorStatus["Failed"] = "FAILED";
10
+ })(DeployMonitorStatus = exports.DeployMonitorStatus || (exports.DeployMonitorStatus = {}));
11
+ class DeployMonitorGraphqlClient {
12
+ constructor(graphqlClient) {
13
+ this.graphqlClient = graphqlClient;
14
+ }
15
+ async getDeployment({ appId, environmentKey, deploymentId }) {
16
+ const result = await this.graphqlClient.query(`
17
+ query forge_cli_getApplicationDeploymentStatus($appId: ID!, $environmentKey: String!, $id: ID!) {
18
+ appDeployment(appId: $appId, environmentKey: $environmentKey, id: $id) {
19
+ status
20
+ errorDetails {
21
+ code
22
+ message
23
+ fields
24
+ }
25
+ stages {
26
+ description
27
+ events {
28
+ __typename
29
+ stepName
30
+ createdAt
31
+ ...on AppDeploymentLogEvent {
32
+ message
33
+ level
34
+ }
35
+ ...on AppDeploymentSnapshotLogEvent {
36
+ message
37
+ level
38
+ }
39
+ ... on AppDeploymentTransitionEvent {
40
+ newStatus
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
46
+ `, {
47
+ appId,
48
+ environmentKey,
49
+ id: deploymentId
50
+ });
51
+ if (!result.appDeployment) {
52
+ throw new trigger_deploy_graphql_client_1.NoDeploymentError();
53
+ }
54
+ return result.appDeployment;
55
+ }
56
+ }
57
+ exports.DeployMonitorGraphqlClient = DeployMonitorGraphqlClient;
@@ -0,0 +1,40 @@
1
+ import { AppConfigProvider, Pause, UI, BaseError } from '@forge/cli-shared';
2
+ import { DeployMonitorClient, DeployMonitorStatus } from './deploy-monitor-graphql-client';
3
+ import { TriggerDeployClient } from './trigger-deploy-graphql-client';
4
+ export declare class AppDeploymentFailedError extends BaseError {
5
+ private readonly userError?;
6
+ constructor(userError?: boolean | undefined, message?: string);
7
+ isUserError(): boolean;
8
+ }
9
+ export declare class AppSnapshotFailedError extends BaseError {
10
+ private readonly userError?;
11
+ constructor(userError?: boolean | undefined, message?: string);
12
+ isUserError(): boolean;
13
+ }
14
+ export declare class HostedResourceDeploymentFailedError extends BaseError {
15
+ private readonly userError?;
16
+ constructor(userError?: boolean | undefined, message?: string);
17
+ isUserError(): boolean;
18
+ }
19
+ export interface Deployer {
20
+ deploy(environmentKey: string, artifactUrl: string, hostedResourceUploadId?: string): Promise<void>;
21
+ }
22
+ export declare class ArtifactDeployer implements Deployer {
23
+ private readonly getConfiguredApp;
24
+ private readonly deployClient;
25
+ private readonly deployMonitorClient;
26
+ private readonly pause;
27
+ private readonly ui;
28
+ constructor(getConfiguredApp: AppConfigProvider, deployClient: TriggerDeployClient, deployMonitorClient: DeployMonitorClient, pause: Pause, ui: UI);
29
+ deploy(environmentKey: string, artifactUrl: string, hostedResourceUploadId?: string): Promise<void>;
30
+ private doDeploy;
31
+ pollAndCheckEvents(appId: string, environmentKey: string, deploymentId: string, totalStreamed: number): Promise<{
32
+ status: DeployMonitorStatus;
33
+ totalStreamed: number;
34
+ }>;
35
+ private monitorDeployment;
36
+ private extractAllEvents;
37
+ private getDeploymentEventsHandler;
38
+ private handleErrorEvent;
39
+ }
40
+ //# sourceMappingURL=deployer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployer.d.ts","sourceRoot":"","sources":["../../../src/deploy/deployer/deployer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAOjB,KAAK,EAEL,EAAE,EAEF,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAsB,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC/G,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAItE,qBAAa,wBAAyB,SAAQ,SAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAV,SAAS,CAAC,qBAAS,EAAE,OAAO,CAAC,EAAE,MAAM;IAG3D,WAAW,IAAI,OAAO;CAG9B;AACD,qBAAa,sBAAuB,SAAQ,SAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAV,SAAS,CAAC,qBAAS,EAAE,OAAO,CAAC,EAAE,MAAM;IAG3D,WAAW,IAAI,OAAO;CAG9B;AACD,qBAAa,mCAAoC,SAAQ,SAAS;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAV,SAAS,CAAC,qBAAS,EAAE,OAAO,CAAC,EAAE,MAAM;IAG3D,WAAW,IAAI,OAAO;CAG9B;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrG;AAyBD,qBAAa,gBAAiB,YAAW,QAAQ;IAE7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAJF,gBAAgB,EAAE,iBAAiB,EACnC,YAAY,EAAE,mBAAmB,EACjC,mBAAmB,EAAE,mBAAmB,EACxC,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE;IAGZ,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAMlG,QAAQ;IAcT,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;;;;YA2BpG,iBAAiB;IAa/B,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,0BAA0B;IA6BlC,OAAO,CAAC,gBAAgB;CAiDzB"}
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArtifactDeployer = exports.HostedResourceDeploymentFailedError = exports.AppSnapshotFailedError = exports.AppDeploymentFailedError = void 0;
4
+ const cli_shared_1 = require("@forge/cli-shared");
5
+ const deploy_monitor_graphql_client_1 = require("./deploy-monitor-graphql-client");
6
+ const DEPLOYMENT_EVENT_POLL_INTERVAL = 500;
7
+ class AppDeploymentFailedError extends cli_shared_1.BaseError {
8
+ constructor(userError, message) {
9
+ super(message);
10
+ this.userError = userError;
11
+ }
12
+ isUserError() {
13
+ return Boolean(this.userError);
14
+ }
15
+ }
16
+ exports.AppDeploymentFailedError = AppDeploymentFailedError;
17
+ class AppSnapshotFailedError extends cli_shared_1.BaseError {
18
+ constructor(userError, message) {
19
+ super(message);
20
+ this.userError = userError;
21
+ }
22
+ isUserError() {
23
+ return Boolean(this.userError);
24
+ }
25
+ }
26
+ exports.AppSnapshotFailedError = AppSnapshotFailedError;
27
+ class HostedResourceDeploymentFailedError extends cli_shared_1.BaseError {
28
+ constructor(userError, message) {
29
+ super(message);
30
+ this.userError = userError;
31
+ }
32
+ isUserError() {
33
+ return Boolean(this.userError);
34
+ }
35
+ }
36
+ exports.HostedResourceDeploymentFailedError = HostedResourceDeploymentFailedError;
37
+ function isTransitionEvent(event) {
38
+ return event.__typename === 'AppDeploymentTransitionEvent';
39
+ }
40
+ function isSnapshotLogEvent(event) {
41
+ return event.__typename === 'AppDeploymentSnapshotLogEvent';
42
+ }
43
+ function isValidSnapshotLogEvent(event) {
44
+ return !!(event.message && event.level);
45
+ }
46
+ class ArtifactDeployer {
47
+ constructor(getConfiguredApp, deployClient, deployMonitorClient, pause, ui) {
48
+ this.getConfiguredApp = getConfiguredApp;
49
+ this.deployClient = deployClient;
50
+ this.deployMonitorClient = deployMonitorClient;
51
+ this.pause = pause;
52
+ this.ui = ui;
53
+ }
54
+ async deploy(environmentKey, artifactUrl, hostedResourceUploadId) {
55
+ const { id } = await this.getConfiguredApp();
56
+ const deploymentId = await this.doDeploy(id, environmentKey, artifactUrl, hostedResourceUploadId);
57
+ await this.monitorDeployment(id, environmentKey, deploymentId);
58
+ }
59
+ async doDeploy(appId, environmentKey, artifactUrl, hostedResourceUploadId) {
60
+ return await this.deployClient.deploy({
61
+ appId,
62
+ environmentKey,
63
+ artifactUrl,
64
+ hostedResourceUploadId
65
+ });
66
+ }
67
+ async pollAndCheckEvents(appId, environmentKey, deploymentId, totalStreamed) {
68
+ const { stages, status, errorDetails } = await this.deployMonitorClient.getDeployment({
69
+ appId,
70
+ environmentKey,
71
+ deploymentId
72
+ });
73
+ const events = this.extractAllEvents(stages || []);
74
+ const handleEvent = this.getDeploymentEventsHandler();
75
+ if (events.length > totalStreamed) {
76
+ for (let i = totalStreamed; i < events.length; i++) {
77
+ handleEvent(events[i]);
78
+ }
79
+ totalStreamed = events.length;
80
+ }
81
+ if (status === deploy_monitor_graphql_client_1.DeployMonitorStatus.Failed) {
82
+ this.handleErrorEvent(errorDetails);
83
+ }
84
+ return {
85
+ status,
86
+ totalStreamed
87
+ };
88
+ }
89
+ async monitorDeployment(appId, environmentKey, deploymentId) {
90
+ let totalStreamed = 0;
91
+ let status = deploy_monitor_graphql_client_1.DeployMonitorStatus.InProgress;
92
+ while (status !== deploy_monitor_graphql_client_1.DeployMonitorStatus.Done) {
93
+ const checks = await this.pollAndCheckEvents(appId, environmentKey, deploymentId, totalStreamed);
94
+ totalStreamed = checks.totalStreamed;
95
+ status = checks.status;
96
+ await this.pause(DEPLOYMENT_EVENT_POLL_INTERVAL);
97
+ }
98
+ }
99
+ extractAllEvents(stages) {
100
+ return (0, cli_shared_1.flatMap)(stages, (stage) => {
101
+ const events = stage.events || [];
102
+ let stageHasTransitionEvent = false;
103
+ return events
104
+ .filter((event) => {
105
+ if (!isTransitionEvent(event)) {
106
+ return true;
107
+ }
108
+ if (stageHasTransitionEvent) {
109
+ return false;
110
+ }
111
+ stageHasTransitionEvent = true;
112
+ return true;
113
+ })
114
+ .map((event) => (Object.assign(Object.assign({}, event), { stepName: stage.description })));
115
+ });
116
+ }
117
+ getDeploymentEventsHandler() {
118
+ let addNewLineBetweenTransitions = false;
119
+ return (event) => {
120
+ if (isTransitionEvent(event)) {
121
+ if (event.newStatus === 'STARTED') {
122
+ if (addNewLineBetweenTransitions) {
123
+ this.ui.emptyLine();
124
+ addNewLineBetweenTransitions = false;
125
+ }
126
+ this.ui.info(cli_shared_1.Text.deploy.taskDeploy.serverStepStarted(event.stepName));
127
+ }
128
+ }
129
+ else if (isSnapshotLogEvent(event)) {
130
+ if (!addNewLineBetweenTransitions) {
131
+ this.ui.emptyLine();
132
+ addNewLineBetweenTransitions = true;
133
+ }
134
+ if (isValidSnapshotLogEvent(event)) {
135
+ this.ui.snapshotLog(event.message, event.level);
136
+ }
137
+ }
138
+ else if (event.message) {
139
+ this.ui.debug(event.message);
140
+ }
141
+ };
142
+ }
143
+ handleErrorEvent(errorDetails) {
144
+ var _a;
145
+ if (errorDetails) {
146
+ const { code, message } = errorDetails;
147
+ if (code === 'APP_CODE_SNAPSHOT_FAILED') {
148
+ throw new AppSnapshotFailedError(true, cli_shared_1.Text.snapshot.error('App code snapshot error', message));
149
+ }
150
+ if (code === 'APP_CODE_SNAPSHOT_TIMEOUT') {
151
+ throw new AppSnapshotFailedError(false, cli_shared_1.Text.snapshot.timeout);
152
+ }
153
+ if (code === 'ENVIRONMENT_UPDATE_VALIDATION_FAILED') {
154
+ const causeMessage = (_a = errorDetails === null || errorDetails === void 0 ? void 0 : errorDetails.fields) === null || _a === void 0 ? void 0 : _a.validationResult.message.replace(/Upsert.*Details /, '');
155
+ if ((causeMessage === null || causeMessage === void 0 ? void 0 : causeMessage.startsWith('Invalid URL')) && causeMessage.includes('EGRESS')) {
156
+ throw new AppDeploymentFailedError(true, cli_shared_1.Text.deploy.egressURL.invalidURLError(causeMessage));
157
+ }
158
+ else if (causeMessage === null || causeMessage === void 0 ? void 0 : causeMessage.startsWith('Egress permission URL')) {
159
+ throw new AppDeploymentFailedError(true, cli_shared_1.Text.deploy.egressURL.tooManyURLCharactersError(causeMessage));
160
+ }
161
+ else if (causeMessage === null || causeMessage === void 0 ? void 0 : causeMessage.includes('permission URLs provided, exceeding')) {
162
+ throw new AppDeploymentFailedError(true, cli_shared_1.Text.deploy.egressURL.tooManyUrlsError(causeMessage));
163
+ }
164
+ }
165
+ if ([
166
+ 'HOSTED_RESOURCE_TOO_MANY_FILES',
167
+ 'HOSTED_RESOURCE_ZIP_TOO_BIG',
168
+ 'HOSTED_RESOURCE_FILE_PATH_REFERS_TO_PARENT',
169
+ 'HOSTED_RESOURCE_INVALID_EGRESS_PERMISSIONS'
170
+ ].includes(code)) {
171
+ throw new HostedResourceDeploymentFailedError(true, cli_shared_1.Text.hostedResources.error(message));
172
+ }
173
+ if ([
174
+ 'HOSTED_RESOURCE_FAILED_TO_FETCH',
175
+ 'HOSTED_RESOURCE_FAILED_TO_COPY',
176
+ 'HOSTED_RESOURCE_UPLOAD_ID_MISSING'
177
+ ].includes(code)) {
178
+ throw new HostedResourceDeploymentFailedError(false, cli_shared_1.Text.hostedResources.error(message));
179
+ }
180
+ if (code === 'HOSTED_RESOURCES_LAMBDA_TIMEOUT') {
181
+ throw new HostedResourceDeploymentFailedError(false, cli_shared_1.Text.hostedResources.error(cli_shared_1.Text.hostedResources.lambdaTimeout));
182
+ }
183
+ }
184
+ throw new AppDeploymentFailedError(false, cli_shared_1.Text.deploy.taskDeploy.serverStepFailed);
185
+ }
186
+ }
187
+ exports.ArtifactDeployer = ArtifactDeployer;
@@ -0,0 +1,4 @@
1
+ export * from './deploy-monitor-graphql-client';
2
+ export * from './deployer';
3
+ export * from './trigger-deploy-graphql-client';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/deploy/deployer/index.ts"],"names":[],"mappings":"AAEA,cAAc,iCAAiC,CAAC;AAChD,cAAc,YAAY,CAAC;AAC3B,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./deploy-monitor-graphql-client"), exports);
5
+ tslib_1.__exportStar(require("./deployer"), exports);
6
+ tslib_1.__exportStar(require("./trigger-deploy-graphql-client"), exports);
@@ -0,0 +1,19 @@
1
+ import { GraphQLClient } from '@forge/cli-shared';
2
+ export interface TriggerDeployDetails {
3
+ appId: string;
4
+ environmentKey: string;
5
+ artifactUrl: string;
6
+ hostedResourceUploadId?: string;
7
+ }
8
+ export interface TriggerDeployClient {
9
+ deploy(details: TriggerDeployDetails): Promise<string>;
10
+ }
11
+ export declare class NoDeploymentError extends Error {
12
+ constructor();
13
+ }
14
+ export declare class TriggerDeployGraphQLClient implements TriggerDeployClient {
15
+ private readonly graphqlClient;
16
+ constructor(graphqlClient: GraphQLClient);
17
+ deploy(deploymentDetails: TriggerDeployDetails): Promise<string>;
18
+ }
19
+ //# sourceMappingURL=trigger-deploy-graphql-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-deploy-graphql-client.d.ts","sourceRoot":"","sources":["../../../src/deploy/deployer/trigger-deploy-graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAId,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACxD;AAED,qBAAa,iBAAkB,SAAQ,KAAK;;CAI3C;AAED,qBAAa,0BAA2B,YAAW,mBAAmB;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,MAAM,CAAC,iBAAiB,EAAE,oBAAoB;CA2C5D"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TriggerDeployGraphQLClient = exports.NoDeploymentError = void 0;
4
+ const cli_shared_1 = require("@forge/cli-shared");
5
+ class NoDeploymentError extends Error {
6
+ constructor() {
7
+ super(cli_shared_1.Text.deploy.error.notFound);
8
+ }
9
+ }
10
+ exports.NoDeploymentError = NoDeploymentError;
11
+ class TriggerDeployGraphQLClient {
12
+ constructor(graphqlClient) {
13
+ this.graphqlClient = graphqlClient;
14
+ }
15
+ async deploy(deploymentDetails) {
16
+ const deployAppQuery = `
17
+ mutation forge_cli_deployApplication($input: CreateAppDeploymentInput!) {
18
+ createAppDeployment(input: $input) {
19
+ success
20
+ errors {
21
+ message
22
+ extensions {
23
+ errorType
24
+ }
25
+ }
26
+ deployment {
27
+ id
28
+ }
29
+ }
30
+ }
31
+ `;
32
+ const { response: { createAppDeployment: { deployment, success, errors } }, requestId } = await this.graphqlClient.mutate(deployAppQuery, {
33
+ input: deploymentDetails
34
+ });
35
+ const error = (0, cli_shared_1.getError)(errors);
36
+ if (!success) {
37
+ throw new cli_shared_1.GraphQlMutationError(`${error.message} (requestId: ${requestId || 'unknown'})`, {
38
+ requestId,
39
+ code: error.code,
40
+ statusCode: error.statusCode
41
+ });
42
+ }
43
+ if (!deployment) {
44
+ throw new NoDeploymentError();
45
+ }
46
+ return deployment.id;
47
+ }
48
+ }
49
+ exports.TriggerDeployGraphQLClient = TriggerDeployGraphQLClient;
@@ -0,0 +1,5 @@
1
+ export * from './deployer';
2
+ export * from './packager';
3
+ export * from './uploader';
4
+ export * from './package-upload-deploy';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/deploy/index.ts"],"names":[],"mappings":"AAEA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./deployer"), exports);
5
+ tslib_1.__exportStar(require("./packager"), exports);
6
+ tslib_1.__exportStar(require("./uploader"), exports);
7
+ tslib_1.__exportStar(require("./package-upload-deploy"), exports);
@@ -0,0 +1,20 @@
1
+ import { Deployer } from './deployer/deployer';
2
+ import { Packager } from './packager/packager';
3
+ import { ArchiveUploader } from './uploader/uploader';
4
+ import { DeploymentResult } from '../command-line/register-deployment-commands';
5
+ import { Handler, ResourceDetails } from '@forge/cli-shared';
6
+ import { ResourcePackagingService } from '../service/resource-packaging-service';
7
+ export interface Details {
8
+ handlers: Array<Handler>;
9
+ environmentKey: string;
10
+ resources: ResourceDetails[];
11
+ }
12
+ export declare class PackageUploadDeployCommand {
13
+ private readonly packager;
14
+ private readonly archiveUploader;
15
+ private readonly deployer;
16
+ private readonly resourcePackagingService;
17
+ constructor(packager: Packager, archiveUploader: ArchiveUploader, deployer: Deployer, resourcePackagingService: ResourcePackagingService);
18
+ execute(details: Details): Promise<DeploymentResult>;
19
+ }
20
+ //# sourceMappingURL=package-upload-deploy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-upload-deploy.d.ts","sourceRoot":"","sources":["../../src/deploy/package-upload-deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBAHxB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,QAAQ,EAClB,wBAAwB,EAAE,wBAAwB;IAGxD,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAuClE"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PackageUploadDeployCommand = void 0;
4
+ const lodash_1 = require("lodash");
5
+ class PackageUploadDeployCommand {
6
+ constructor(packager, archiveUploader, deployer, resourcePackagingService) {
7
+ this.packager = packager;
8
+ this.archiveUploader = archiveUploader;
9
+ this.deployer = deployer;
10
+ this.resourcePackagingService = resourcePackagingService;
11
+ }
12
+ async execute(details) {
13
+ const [resourcesToBeBundled, preBundledResources] = (0, lodash_1.partition)(details.resources, (res) => res.resourceType === 'nativeUI');
14
+ const { runtimeArchivePath, nativeUiBundlesDetails, moduleList } = await this.packager.package(details.handlers, resourcesToBeBundled);
15
+ const resourcesArchives = await this.resourcePackagingService.zipResources([
16
+ ...preBundledResources,
17
+ ...nativeUiBundlesDetails
18
+ ]);
19
+ const [uploadUrl, hostedResourceUploadId] = await Promise.all([
20
+ this.archiveUploader.uploadArchive(runtimeArchivePath),
21
+ this.archiveUploader.uploadHostedResources(details.environmentKey, resourcesArchives)
22
+ ]);
23
+ await this.deployer.deploy(details.environmentKey, uploadUrl, hostedResourceUploadId);
24
+ return {
25
+ analytics: {
26
+ moduleList,
27
+ hostedResourceList: Object.values(resourcesArchives).map((a) => ({
28
+ extensionList: a.extensions,
29
+ fileCount: a.fileCount,
30
+ rawSize: a.rawSize,
31
+ zipSize: a.zipSize
32
+ }))
33
+ }
34
+ };
35
+ }
36
+ }
37
+ exports.PackageUploadDeployCommand = PackageUploadDeployCommand;
@@ -0,0 +1,27 @@
1
+ /// <reference types="node" />
2
+ import { Logger } from '@forge/cli-shared';
3
+ export interface Archiver {
4
+ addFile(fileName: string, contents: Buffer): void;
5
+ addFileFrom(fileName: string, filePath: string): void;
6
+ finalise(): Promise<string>;
7
+ onWarning(cb: (err: Error) => void): void;
8
+ onEntry(cb: (filePath: string) => void): void;
9
+ }
10
+ export declare class ZipArchiver implements Archiver {
11
+ private readonly logger;
12
+ private archive;
13
+ private tempFile;
14
+ private resolves;
15
+ private rejects;
16
+ private inspectDirectory;
17
+ constructor(logger: Logger);
18
+ addFile(fileName: string, contents: Buffer): void;
19
+ addFileFrom(fileName: string, filePath: string): void;
20
+ private copyToInspect;
21
+ finalise(): Promise<string>;
22
+ onWarning(cb: (err: Error) => void): void;
23
+ onEntry(cb: (filePath: string) => void): void;
24
+ private onArchiveError;
25
+ private onClose;
26
+ }
27
+ //# sourceMappingURL=archiver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/archiver.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CAC/C;AAED,qBAAa,WAAY,YAAW,QAAQ;IAO9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IANnC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,gBAAgB,CAAuB;gBAElB,MAAM,EAAE,MAAM;IAYpC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMjD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAM5D,OAAO,CAAC,aAAa;IAYd,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAS3B,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI;IAIlC,OAAO,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI;IAQ7C,OAAO,CAAC,cAAc,CAIpB;IAEF,OAAO,CAAC,OAAO,CAIb;CACH"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZipArchiver = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const archiver_1 = tslib_1.__importDefault(require("archiver"));
6
+ const fs_1 = require("fs");
7
+ const path_1 = require("path");
8
+ const tmp_1 = tslib_1.__importDefault(require("tmp"));
9
+ const cli_shared_1 = require("@forge/cli-shared");
10
+ class ZipArchiver {
11
+ constructor(logger) {
12
+ this.logger = logger;
13
+ this.archive = (0, archiver_1.default)('zip');
14
+ this.tempFile = tmp_1.default.fileSync({ postfix: '.zip' });
15
+ this.resolves = [];
16
+ this.rejects = [];
17
+ this.inspectDirectory = null;
18
+ this.onArchiveError = (err) => {
19
+ for (const reject of this.rejects) {
20
+ reject(err);
21
+ }
22
+ };
23
+ this.onClose = () => {
24
+ for (const resolve of this.resolves) {
25
+ resolve(this.tempFile.name);
26
+ }
27
+ };
28
+ const output = (0, fs_1.createWriteStream)(this.tempFile.name);
29
+ this.archive.pipe(output);
30
+ output.on('close', this.onClose);
31
+ this.archive.on('error', this.onArchiveError);
32
+ if (process.env.FORGE_INSPECT_ARCHIVE) {
33
+ this.inspectDirectory = process.env.FORGE_INSPECT_ARCHIVE;
34
+ }
35
+ }
36
+ addFile(fileName, contents) {
37
+ this.archive.append(contents, { name: fileName });
38
+ this.copyToInspect(fileName, contents);
39
+ this.logger.debug(cli_shared_1.Text.deploy.taskPackage.packageFile(fileName, null));
40
+ }
41
+ addFileFrom(fileName, filePath) {
42
+ this.archive.file(filePath, { name: fileName });
43
+ this.copyToInspect(fileName, filePath);
44
+ this.logger.debug(cli_shared_1.Text.deploy.taskPackage.packageFile(fileName, filePath));
45
+ }
46
+ copyToInspect(fileName, contents) {
47
+ if (this.inspectDirectory) {
48
+ const targetName = (0, path_1.join)(this.inspectDirectory, fileName);
49
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(targetName), { recursive: true });
50
+ if (typeof contents === 'string') {
51
+ (0, fs_1.copyFileSync)(contents, targetName);
52
+ }
53
+ else {
54
+ (0, fs_1.writeFileSync)(targetName, contents);
55
+ }
56
+ }
57
+ }
58
+ finalise() {
59
+ return new Promise((resolve, reject) => {
60
+ this.resolves.push(resolve);
61
+ this.rejects.push(reject);
62
+ this.archive.finalize();
63
+ });
64
+ }
65
+ onWarning(cb) {
66
+ this.archive.on('warning', cb);
67
+ }
68
+ onEntry(cb) {
69
+ this.archive.on('entry', (entry) => {
70
+ if (entry.name) {
71
+ cb(entry.name);
72
+ }
73
+ });
74
+ }
75
+ }
76
+ exports.ZipArchiver = ZipArchiver;
@@ -0,0 +1,3 @@
1
+ export * from './archiver';
2
+ export * from './packager';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/index.ts"],"names":[],"mappings":"AAEA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}