@webiny/cli-core 0.0.0-unstable.6f45466a1d → 0.0.0-unstable.7be00a75a9

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 (268) hide show
  1. package/Cli.js +12 -11
  2. package/Cli.js.map +1 -1
  3. package/abstractions/createAbstraction.js +3 -2
  4. package/abstractions/createAbstraction.js.map +1 -1
  5. package/abstractions/features/CliCommand.d.ts +4 -0
  6. package/abstractions/features/CliCommand.js +2 -1
  7. package/abstractions/features/CliCommand.js.map +1 -1
  8. package/abstractions/features/ErrorHandler.js +2 -1
  9. package/abstractions/features/ErrorHandler.js.map +1 -1
  10. package/abstractions/features/GlobalCliOption.js +2 -1
  11. package/abstractions/features/GlobalCliOption.js.map +1 -1
  12. package/abstractions/features/IsCi.js +2 -1
  13. package/abstractions/features/IsCi.js.map +1 -1
  14. package/abstractions/features/index.js +0 -2
  15. package/abstractions/features/types.js +0 -3
  16. package/abstractions/index.js +0 -2
  17. package/abstractions/services/ArgvParserService.js +2 -1
  18. package/abstractions/services/ArgvParserService.js.map +1 -1
  19. package/abstractions/services/CliParamsService.js +2 -1
  20. package/abstractions/services/CliParamsService.js.map +1 -1
  21. package/abstractions/services/CommandsRegistryService.js +2 -1
  22. package/abstractions/services/CommandsRegistryService.js.map +1 -1
  23. package/abstractions/services/GetArgvService.js +2 -1
  24. package/abstractions/services/GetArgvService.js.map +1 -1
  25. package/abstractions/services/GetCliRunnerService.js +2 -1
  26. package/abstractions/services/GetCliRunnerService.js.map +1 -1
  27. package/abstractions/services/GetIsCiService.js +2 -1
  28. package/abstractions/services/GetIsCiService.js.map +1 -1
  29. package/abstractions/services/GetProjectSdkService.js +2 -1
  30. package/abstractions/services/GetProjectSdkService.js.map +1 -1
  31. package/abstractions/services/GlobalOptionsRegistryService.js +2 -1
  32. package/abstractions/services/GlobalOptionsRegistryService.js.map +1 -1
  33. package/abstractions/services/LoggerService.js +2 -1
  34. package/abstractions/services/LoggerService.js.map +1 -1
  35. package/abstractions/services/RunCliRunnerService.js +2 -1
  36. package/abstractions/services/RunCliRunnerService.js.map +1 -1
  37. package/abstractions/services/StdioService.js +2 -1
  38. package/abstractions/services/StdioService.js.map +1 -1
  39. package/abstractions/services/UiService.js +2 -1
  40. package/abstractions/services/UiService.js.map +1 -1
  41. package/abstractions/services/index.js +0 -2
  42. package/createCliContainer.js +89 -118
  43. package/createCliContainer.js.map +1 -1
  44. package/decorators/CommandsWithGracefulErrorHandling.js +34 -32
  45. package/decorators/CommandsWithGracefulErrorHandling.js.map +1 -1
  46. package/decorators/DeployCommandWithTelemetry.js +72 -82
  47. package/decorators/DeployCommandWithTelemetry.js.map +1 -1
  48. package/decorators/index.js +0 -2
  49. package/exports/cli/command.js +0 -2
  50. package/exports/cli.d.ts +2 -0
  51. package/exports/cli.js +2 -0
  52. package/extensions/CliCommand.d.ts +3 -7
  53. package/extensions/CliCommand.js +15 -18
  54. package/extensions/CliCommand.js.map +1 -1
  55. package/extensions/CliCommandDecorator.d.ts +3 -7
  56. package/extensions/CliCommandDecorator.js +15 -18
  57. package/extensions/CliCommandDecorator.js.map +1 -1
  58. package/extensions/index.d.ts +2 -6
  59. package/extensions/index.js +5 -2
  60. package/extensions/index.js.map +1 -1
  61. package/features/AboutCommand.js +80 -86
  62. package/features/AboutCommand.js.map +1 -1
  63. package/features/BuildCommand/BuildCommand.js +46 -36
  64. package/features/BuildCommand/BuildCommand.js.map +1 -1
  65. package/features/BuildCommand/buildRunners/BaseBuildRunner.js +10 -13
  66. package/features/BuildCommand/buildRunners/BaseBuildRunner.js.map +1 -1
  67. package/features/BuildCommand/buildRunners/BuildRunner.js +18 -21
  68. package/features/BuildCommand/buildRunners/BuildRunner.js.map +1 -1
  69. package/features/BuildCommand/buildRunners/MultipleBuildsRunner.js +20 -19
  70. package/features/BuildCommand/buildRunners/MultipleBuildsRunner.js.map +1 -1
  71. package/features/BuildCommand/buildRunners/SingleBuildRunner.js +15 -14
  72. package/features/BuildCommand/buildRunners/SingleBuildRunner.js.map +1 -1
  73. package/features/BuildCommand/buildRunners/ZeroBuildsRunner.js +3 -4
  74. package/features/BuildCommand/buildRunners/ZeroBuildsRunner.js.map +1 -1
  75. package/features/BuildCommand/index.js +0 -2
  76. package/features/ConfigCommand.js +55 -56
  77. package/features/ConfigCommand.js.map +1 -1
  78. package/features/DeployCommand/DeployCommand.d.ts +1 -1
  79. package/features/DeployCommand/DeployCommand.js +164 -156
  80. package/features/DeployCommand/DeployCommand.js.map +1 -1
  81. package/features/DeployCommand/deployOutputs/BaseDeployOutput.js +12 -17
  82. package/features/DeployCommand/deployOutputs/BaseDeployOutput.js.map +1 -1
  83. package/features/DeployCommand/deployOutputs/DeployOutput.js +16 -17
  84. package/features/DeployCommand/deployOutputs/DeployOutput.js.map +1 -1
  85. package/features/DeployCommand/deployOutputs/NoDeploymentLogsDeployOutput.js +89 -54
  86. package/features/DeployCommand/deployOutputs/NoDeploymentLogsDeployOutput.js.map +1 -1
  87. package/features/DeployCommand/deployOutputs/WithDeploymentLogsDeployOutput.js +24 -37
  88. package/features/DeployCommand/deployOutputs/WithDeploymentLogsDeployOutput.js.map +1 -1
  89. package/features/DeployCommand/index.js +0 -2
  90. package/features/DepsSync/BuildDependencyTree.js +17 -22
  91. package/features/DepsSync/BuildDependencyTree.js.map +1 -1
  92. package/features/DepsSync/DependencyTree.js +108 -119
  93. package/features/DepsSync/DependencyTree.js.map +1 -1
  94. package/features/DepsSync/ListAllPackageJsonFiles.js +19 -14
  95. package/features/DepsSync/ListAllPackageJsonFiles.js.map +1 -1
  96. package/features/DepsSync/ListAllPackages.js +7 -9
  97. package/features/DepsSync/ListAllPackages.js.map +1 -1
  98. package/features/DepsSync/commands/SyncDepsCommand.js +30 -24
  99. package/features/DepsSync/commands/SyncDepsCommand.js.map +1 -1
  100. package/features/DepsSync/commands/VerifyDepsCommand.js +70 -71
  101. package/features/DepsSync/commands/VerifyDepsCommand.js.map +1 -1
  102. package/features/DepsSync/createDependencyTree.js +25 -18
  103. package/features/DepsSync/createDependencyTree.js.map +1 -1
  104. package/features/DepsSync/createReferenceFile.js +22 -26
  105. package/features/DepsSync/createReferenceFile.js.map +1 -1
  106. package/features/DepsSync/index.js +0 -2
  107. package/features/DepsSync/paths.js +3 -6
  108. package/features/DepsSync/paths.js.map +1 -1
  109. package/features/DepsSync/types.js +7 -6
  110. package/features/DepsSync/types.js.map +1 -1
  111. package/features/DestroyCommand/DestroyCommand.js +71 -67
  112. package/features/DestroyCommand/DestroyCommand.js.map +1 -1
  113. package/features/DestroyCommand/index.js +0 -2
  114. package/features/DisableTelemetryCommand.js +28 -25
  115. package/features/DisableTelemetryCommand.js.map +1 -1
  116. package/features/EnableTelemetryCommand.js +28 -25
  117. package/features/EnableTelemetryCommand.js.map +1 -1
  118. package/features/ExtensionCommand/ExtensionCommand.js +60 -63
  119. package/features/ExtensionCommand/ExtensionCommand.js.map +1 -1
  120. package/features/ExtensionCommand/index.js +0 -2
  121. package/features/InfoCommand/InfoCommand.js +54 -56
  122. package/features/InfoCommand/InfoCommand.js.map +1 -1
  123. package/features/InfoCommand/PrintInfoForEnv.js +31 -42
  124. package/features/InfoCommand/PrintInfoForEnv.js.map +1 -1
  125. package/features/InfoCommand/index.js +0 -2
  126. package/features/IsCi/IsCi.js +14 -11
  127. package/features/IsCi/IsCi.js.map +1 -1
  128. package/features/IsCi/index.js +1 -3
  129. package/features/OpenCommand.js +48 -47
  130. package/features/OpenCommand.js.map +1 -1
  131. package/features/OutputCommand.js +56 -69
  132. package/features/OutputCommand.js.map +1 -1
  133. package/features/PulumiCommand/PulumiCommand.js +48 -41
  134. package/features/PulumiCommand/PulumiCommand.js.map +1 -1
  135. package/features/PulumiCommand/index.js +0 -2
  136. package/features/RefreshCommand/RefreshCommand.js +42 -36
  137. package/features/RefreshCommand/RefreshCommand.js.map +1 -1
  138. package/features/RefreshCommand/index.js +0 -2
  139. package/features/UpgradeCommand/UpgradeCommand.d.ts +29 -0
  140. package/features/UpgradeCommand/UpgradeCommand.js +123 -0
  141. package/features/UpgradeCommand/UpgradeCommand.js.map +1 -0
  142. package/features/UpgradeCommand/UpgradeCommandHandler.d.ts +11 -0
  143. package/features/UpgradeCommand/UpgradeCommandHandler.js +102 -0
  144. package/features/UpgradeCommand/UpgradeCommandHandler.js.map +1 -0
  145. package/features/UpgradeCommand/abstraction.d.ts +23 -0
  146. package/features/UpgradeCommand/abstraction.js +5 -0
  147. package/features/UpgradeCommand/abstraction.js.map +1 -0
  148. package/features/UpgradeCommand/feature.d.ts +4 -0
  149. package/features/UpgradeCommand/feature.js +13 -0
  150. package/features/UpgradeCommand/feature.js.map +1 -0
  151. package/features/UpgradeCommand/index.d.ts +2 -0
  152. package/features/UpgradeCommand/index.js +2 -0
  153. package/features/WatchCommand/WatchCommand.js +131 -131
  154. package/features/WatchCommand/WatchCommand.js.map +1 -1
  155. package/features/WatchCommand/createPrefixer.js +11 -15
  156. package/features/WatchCommand/createPrefixer.js.map +1 -1
  157. package/features/WatchCommand/getRandomColorForString.js +86 -8
  158. package/features/WatchCommand/getRandomColorForString.js.map +1 -1
  159. package/features/WatchCommand/index.js +0 -2
  160. package/features/Wcp/LinkProjectCommand.js +119 -138
  161. package/features/Wcp/LinkProjectCommand.js.map +1 -1
  162. package/features/Wcp/LoginCommand.js +104 -118
  163. package/features/Wcp/LoginCommand.js.map +1 -1
  164. package/features/Wcp/LogoutCommand.js +29 -23
  165. package/features/Wcp/LogoutCommand.js.map +1 -1
  166. package/features/Wcp/WhoAmICommand.js +33 -29
  167. package/features/Wcp/WhoAmICommand.js.map +1 -1
  168. package/features/common/index.js +0 -2
  169. package/features/common/options.js +41 -50
  170. package/features/common/options.js.map +1 -1
  171. package/features/globalOptions/LogLevelGlobalOption.js +25 -16
  172. package/features/globalOptions/LogLevelGlobalOption.js.map +1 -1
  173. package/features/globalOptions/ShowLogsGlobalOption.js +16 -15
  174. package/features/globalOptions/ShowLogsGlobalOption.js.map +1 -1
  175. package/features/globalOptions/StackTraceGlobalOption.js +16 -15
  176. package/features/globalOptions/StackTraceGlobalOption.js.map +1 -1
  177. package/features/globalOptions/index.js +0 -2
  178. package/features/gracefulErrorHandlers/DdbPutItemConditionalCheckFailedGracefulErrorHandler.js +17 -16
  179. package/features/gracefulErrorHandlers/DdbPutItemConditionalCheckFailedGracefulErrorHandler.js.map +1 -1
  180. package/features/gracefulErrorHandlers/MissingFilesInBuildGracefulErrorHandler.js +12 -18
  181. package/features/gracefulErrorHandlers/MissingFilesInBuildGracefulErrorHandler.js.map +1 -1
  182. package/features/gracefulErrorHandlers/PendingOperationsGracefulErrorHandler.js +19 -19
  183. package/features/gracefulErrorHandlers/PendingOperationsGracefulErrorHandler.js.map +1 -1
  184. package/features/gracefulErrorHandlers/index.js +0 -2
  185. package/features/index.d.ts +1 -0
  186. package/features/index.js +1 -2
  187. package/features/utils/index.js +0 -2
  188. package/features/utils/measureDuration.js +7 -8
  189. package/features/utils/measureDuration.js.map +1 -1
  190. package/index.js +0 -2
  191. package/package.json +33 -28
  192. package/services/ArgvParserService/ArgvParserService.js +27 -33
  193. package/services/ArgvParserService/ArgvParserService.js.map +1 -1
  194. package/services/ArgvParserService/index.js +0 -2
  195. package/services/CliParamsService/CliParamsService.js +18 -15
  196. package/services/CliParamsService/CliParamsService.js.map +1 -1
  197. package/services/CliParamsService/index.js +0 -2
  198. package/services/CommandsRegistryService/CommandsRegistryService.js +19 -13
  199. package/services/CommandsRegistryService/CommandsRegistryService.js.map +1 -1
  200. package/services/CommandsRegistryService/index.js +0 -2
  201. package/services/GetArgvService/GetArgvService.js +14 -11
  202. package/services/GetArgvService/GetArgvService.js.map +1 -1
  203. package/services/GetArgvService/index.js +0 -2
  204. package/services/GetCliRunnerService/GetCliRunnerService.js +119 -148
  205. package/services/GetCliRunnerService/GetCliRunnerService.js.map +1 -1
  206. package/services/GetCliRunnerService/index.js +0 -2
  207. package/services/GetIsCiService/GetIsCiService.js +9 -8
  208. package/services/GetIsCiService/GetIsCiService.js.map +1 -1
  209. package/services/GetIsCiService/index.js +1 -3
  210. package/services/GetProjectSdkService/GetProjectSdkService.js +25 -24
  211. package/services/GetProjectSdkService/GetProjectSdkService.js.map +1 -1
  212. package/services/GetProjectSdkService/index.js +0 -2
  213. package/services/GlobalOptionsRegistryService/GlobalOptionsRegistryService.js +19 -13
  214. package/services/GlobalOptionsRegistryService/GlobalOptionsRegistryService.js.map +1 -1
  215. package/services/GlobalOptionsRegistryService/index.js +0 -2
  216. package/services/LoggerService/LoggerService.js +76 -88
  217. package/services/LoggerService/LoggerService.js.map +1 -1
  218. package/services/LoggerService/index.js +0 -2
  219. package/services/RunCliRunnerService/RunCliRunnerService.js +15 -13
  220. package/services/RunCliRunnerService/RunCliRunnerService.js.map +1 -1
  221. package/services/RunCliRunnerService/index.js +0 -2
  222. package/services/StdioService/StdioService.js +15 -14
  223. package/services/StdioService/StdioService.js.map +1 -1
  224. package/services/StdioService/index.js +0 -2
  225. package/services/UiService/UiService.js +55 -58
  226. package/services/UiService/UiService.js.map +1 -1
  227. package/services/UiService/index.js +0 -2
  228. package/services/index.js +0 -2
  229. package/utils/ManuallyReportedError.js +7 -6
  230. package/utils/ManuallyReportedError.js.map +1 -1
  231. package/abstractions/features/index.js.map +0 -1
  232. package/abstractions/features/types.js.map +0 -1
  233. package/abstractions/index.js.map +0 -1
  234. package/abstractions/services/index.js.map +0 -1
  235. package/decorators/index.js.map +0 -1
  236. package/exports/cli/command.js.map +0 -1
  237. package/exports/cli/index.d.ts +0 -2
  238. package/exports/cli/index.js +0 -4
  239. package/exports/cli/index.js.map +0 -1
  240. package/features/BuildCommand/index.js.map +0 -1
  241. package/features/DeployCommand/index.js.map +0 -1
  242. package/features/DepsSync/index.js.map +0 -1
  243. package/features/DestroyCommand/index.js.map +0 -1
  244. package/features/ExtensionCommand/index.js.map +0 -1
  245. package/features/InfoCommand/index.js.map +0 -1
  246. package/features/IsCi/index.js.map +0 -1
  247. package/features/PulumiCommand/index.js.map +0 -1
  248. package/features/RefreshCommand/index.js.map +0 -1
  249. package/features/WatchCommand/index.js.map +0 -1
  250. package/features/common/index.js.map +0 -1
  251. package/features/globalOptions/index.js.map +0 -1
  252. package/features/gracefulErrorHandlers/index.js.map +0 -1
  253. package/features/index.js.map +0 -1
  254. package/features/utils/index.js.map +0 -1
  255. package/index.js.map +0 -1
  256. package/services/ArgvParserService/index.js.map +0 -1
  257. package/services/CliParamsService/index.js.map +0 -1
  258. package/services/CommandsRegistryService/index.js.map +0 -1
  259. package/services/GetArgvService/index.js.map +0 -1
  260. package/services/GetCliRunnerService/index.js.map +0 -1
  261. package/services/GetIsCiService/index.js.map +0 -1
  262. package/services/GetProjectSdkService/index.js.map +0 -1
  263. package/services/GlobalOptionsRegistryService/index.js.map +0 -1
  264. package/services/LoggerService/index.js.map +0 -1
  265. package/services/RunCliRunnerService/index.js.map +0 -1
  266. package/services/StdioService/index.js.map +0 -1
  267. package/services/UiService/index.js.map +0 -1
  268. package/services/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","CliCommandFactory","GetProjectSdkService","UiService","createBaseAppOptions","open","OpenCommand","constructor","getProjectSdkService","uiService","execute","projectSdk","ui","name","description","options","variant","type","handler","info","appOutput","getAppStackOutput","Error","appUrl","Promise","resolve","setTimeout","success","openCommand","abstraction","implementation","dependencies"],"sources":["OpenCommand.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { CliCommandFactory, GetProjectSdkService, UiService } from \"~/abstractions/index.js\";\nimport { IBaseAppParams } from \"~/abstractions/features/types.js\";\nimport { createBaseAppOptions } from \"~/features/common/index.js\";\nimport open from \"open\";\n\nexport type IOpenCommandParams = Omit<IBaseAppParams, \"app\">;\n\nexport class OpenCommand implements CliCommandFactory.Interface<IOpenCommandParams> {\n constructor(\n private getProjectSdkService: GetProjectSdkService.Interface,\n private uiService: UiService.Interface\n ) {}\n\n async execute(): Promise<CliCommandFactory.CommandDefinition<IOpenCommandParams>> {\n const projectSdk = await this.getProjectSdkService.execute();\n const ui = this.uiService;\n\n return {\n name: \"open\",\n description: \"Quickly open Admin application in your default browser\",\n options: [\n ...createBaseAppOptions(projectSdk, {\n variant: {\n description: \"Variant of the app to watch\"\n }\n }),\n {\n name: \"json\",\n description: \"Emit output as JSON\",\n type: \"boolean\"\n }\n ],\n handler: async () => {\n ui.info(`Opening %s...`, \"Admin app\");\n\n const appOutput = await projectSdk.getAppStackOutput<{ appUrl: string }>(\"admin\");\n\n if (!appOutput) {\n throw new Error(\n `Could not retrieve URL for \"Admin app\". Please make sure you've deployed the project first.`\n );\n }\n\n const { appUrl } = appOutput;\n if (!appUrl) {\n throw new Error(\n `Could not retrieve URL for \"Admin app\" (\"appUrl\" property missing). Please make sure you've deployed the project first.`\n );\n }\n\n return new Promise<void>(resolve => {\n setTimeout(() => {\n ui.success(`Successfully opened %s.`, \"Admin app\");\n open(appUrl);\n resolve();\n }, 1000);\n });\n }\n };\n }\n}\n\nexport const openCommand = createImplementation({\n abstraction: CliCommandFactory,\n implementation: OpenCommand,\n dependencies: [GetProjectSdkService, UiService]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,YAAY;AACjD,SAASC,iBAAiB,EAAEC,oBAAoB,EAAEC,SAAS;AAE3D,SAASC,oBAAoB;AAC7B,OAAOC,IAAI,MAAM,MAAM;AAIvB,OAAO,MAAMC,WAAW,CAA4D;EAChFC,WAAWA,CACCC,oBAAoD,EACpDC,SAA8B,EACxC;IAAA,KAFUD,oBAAoD,GAApDA,oBAAoD;IAAA,KACpDC,SAA8B,GAA9BA,SAA8B;EACvC;EAEH,MAAMC,OAAOA,CAAA,EAAqE;IAC9E,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACH,oBAAoB,CAACE,OAAO,CAAC,CAAC;IAC5D,MAAME,EAAE,GAAG,IAAI,CAACH,SAAS;IAEzB,OAAO;MACHI,IAAI,EAAE,MAAM;MACZC,WAAW,EAAE,wDAAwD;MACrEC,OAAO,EAAE,CACL,GAAGX,oBAAoB,CAACO,UAAU,EAAE;QAChCK,OAAO,EAAE;UACLF,WAAW,EAAE;QACjB;MACJ,CAAC,CAAC,EACF;QACID,IAAI,EAAE,MAAM;QACZC,WAAW,EAAE,qBAAqB;QAClCG,IAAI,EAAE;MACV,CAAC,CACJ;MACDC,OAAO,EAAE,MAAAA,CAAA,KAAY;QACjBN,EAAE,CAACO,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC;QAErC,MAAMC,SAAS,GAAG,MAAMT,UAAU,CAACU,iBAAiB,CAAqB,OAAO,CAAC;QAEjF,IAAI,CAACD,SAAS,EAAE;UACZ,MAAM,IAAIE,KAAK,CACX,6FACJ,CAAC;QACL;QAEA,MAAM;UAAEC;QAAO,CAAC,GAAGH,SAAS;QAC5B,IAAI,CAACG,MAAM,EAAE;UACT,MAAM,IAAID,KAAK,CACX,yHACJ,CAAC;QACL;QAEA,OAAO,IAAIE,OAAO,CAAOC,OAAO,IAAI;UAChCC,UAAU,CAAC,MAAM;YACbd,EAAE,CAACe,OAAO,CAAC,yBAAyB,EAAE,WAAW,CAAC;YAClDtB,IAAI,CAACkB,MAAM,CAAC;YACZE,OAAO,CAAC,CAAC;UACb,CAAC,EAAE,IAAI,CAAC;QACZ,CAAC,CAAC;MACN;IACJ,CAAC;EACL;AACJ;AAEA,OAAO,MAAMG,WAAW,GAAG5B,oBAAoB,CAAC;EAC5C6B,WAAW,EAAE5B,iBAAiB;EAC9B6B,cAAc,EAAExB,WAAW;EAC3ByB,YAAY,EAAE,CAAC7B,oBAAoB,EAAEC,SAAS;AAClD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/OpenCommand.js","sources":["../../src/features/OpenCommand.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { CliCommandFactory, GetProjectSdkService, UiService } from \"~/abstractions/index.js\";\nimport { IBaseAppParams } from \"~/abstractions/features/types.js\";\nimport { createBaseAppOptions } from \"~/features/common/index.js\";\nimport open from \"open\";\n\nexport type IOpenCommandParams = Omit<IBaseAppParams, \"app\">;\n\nexport class OpenCommand implements CliCommandFactory.Interface<IOpenCommandParams> {\n constructor(\n private getProjectSdkService: GetProjectSdkService.Interface,\n private uiService: UiService.Interface\n ) {}\n\n async execute(): Promise<CliCommandFactory.CommandDefinition<IOpenCommandParams>> {\n const projectSdk = await this.getProjectSdkService.execute();\n const ui = this.uiService;\n\n return {\n name: \"open\",\n description: \"Quickly open Admin application in your default browser\",\n options: [\n ...createBaseAppOptions(projectSdk, {\n variant: {\n description: \"Variant of the app to watch\"\n }\n }),\n {\n name: \"json\",\n description: \"Emit output as JSON\",\n type: \"boolean\"\n }\n ],\n handler: async () => {\n ui.info(`Opening %s...`, \"Admin app\");\n\n const appOutput = await projectSdk.getAppStackOutput<{ appUrl: string }>(\"admin\");\n\n if (!appOutput) {\n throw new Error(\n `Could not retrieve URL for \"Admin app\". Please make sure you've deployed the project first.`\n );\n }\n\n const { appUrl } = appOutput;\n if (!appUrl) {\n throw new Error(\n `Could not retrieve URL for \"Admin app\" (\"appUrl\" property missing). Please make sure you've deployed the project first.`\n );\n }\n\n return new Promise<void>(resolve => {\n setTimeout(() => {\n ui.success(`Successfully opened %s.`, \"Admin app\");\n open(appUrl);\n resolve();\n }, 1000);\n });\n }\n };\n }\n}\n\nexport const openCommand = createImplementation({\n abstraction: CliCommandFactory,\n implementation: OpenCommand,\n dependencies: [GetProjectSdkService, UiService]\n});\n"],"names":["OpenCommand","getProjectSdkService","uiService","projectSdk","ui","createBaseAppOptions","appOutput","Error","appUrl","Promise","resolve","setTimeout","open","openCommand","createImplementation","CliCommandFactory","GetProjectSdkService","UiService"],"mappings":";;;;AAQO,MAAMA;IACT,YACYC,oBAAoD,EACpDC,SAA8B,CACxC;aAFUD,oBAAoB,GAApBA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,UAA4E;QAC9E,MAAMC,aAAa,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO;QAC1D,MAAMC,KAAK,IAAI,CAAC,SAAS;QAEzB,OAAO;YACH,MAAM;YACN,aAAa;YACb,SAAS;mBACFC,qBAAqBF,YAAY;oBAChC,SAAS;wBACL,aAAa;oBACjB;gBACJ;gBACA;oBACI,MAAM;oBACN,aAAa;oBACb,MAAM;gBACV;aACH;YACD,SAAS;gBACLC,GAAG,IAAI,CAAC,iBAAiB;gBAEzB,MAAME,YAAY,MAAMH,WAAW,iBAAiB,CAAqB;gBAEzE,IAAI,CAACG,WACD,MAAM,IAAIC,MACN;gBAIR,MAAM,EAAEC,MAAM,EAAE,GAAGF;gBACnB,IAAI,CAACE,QACD,MAAM,IAAID,MACN;gBAIR,OAAO,IAAIE,QAAcC,CAAAA;oBACrBC,WAAW;wBACPP,GAAG,OAAO,CAAC,2BAA2B;wBACtCQ,OAAKJ;wBACLE;oBACJ,GAAG;gBACP;YACJ;QACJ;IACJ;AACJ;AAEO,MAAMG,cAAcC,qBAAqB;IAC5C,aAAaC;IACb,gBAAgBf;IAChB,cAAc;QAACgB;QAAsBC;KAAU;AACnD"}
@@ -1,79 +1,66 @@
1
1
  import { createImplementation } from "@webiny/di";
2
2
  import { CliCommandFactory, GetProjectSdkService, UiService } from "../abstractions/index.js";
3
3
  import { createBaseAppOptions } from "./common/index.js";
4
- export class OutputCommand {
5
- constructor(getProjectSdkService, uiService) {
6
- this.getProjectSdkService = getProjectSdkService;
7
- this.uiService = uiService;
8
- }
9
- async execute() {
10
- const projectSdk = await this.getProjectSdkService.execute();
11
- return {
12
- name: "output",
13
- description: "Prints Pulumi stack output for given project application and environment",
14
- params: [{
15
- name: "app",
16
- description: "Name of the app (core, admin, or api)",
17
- type: "string",
18
- required: true
19
- }],
20
- options: [...createBaseAppOptions(projectSdk, {
21
- variant: {
22
- description: "Variant of the app to watch"
23
- }
24
- }), {
25
- name: "json",
26
- description: "Emit output as JSON",
27
- type: "boolean"
28
- }],
29
- handler: async params => {
4
+ class OutputCommand {
5
+ constructor(getProjectSdkService, uiService){
6
+ this.getProjectSdkService = getProjectSdkService;
7
+ this.uiService = uiService;
8
+ }
9
+ async execute() {
30
10
  const projectSdk = await this.getProjectSdkService.execute();
31
- const ui = this.uiService;
32
- const output = await projectSdk.getAppStackOutput(params.app);
33
- if (params.json) {
34
- ui.text(JSON.stringify(output, null, 2));
35
- return;
36
- }
37
-
38
- // Nice indentation for console output.
39
- if (!output || Object.keys(output).length === 0) {
40
- ui.text("No output values found.");
41
- return;
42
- }
43
-
44
- // Format and display output
45
- const formatValue = (key, value, indent = 0) => {
46
- const indentStr = " ".repeat(indent);
47
- if (value === null || value === undefined) {
48
- ui.info(`${indentStr}${key}: (empty)`);
49
- return;
50
- }
51
- if (typeof value === "object" && !Array.isArray(value)) {
52
- if (indent === 0) {
53
- ui.emptyLine();
54
- }
55
- ui.textBold(`${indentStr}${key}:`);
56
- for (const [k, v] of Object.entries(value)) {
57
- formatValue(k, v, indent + 1);
58
- }
59
- if (indent === 0) {
60
- ui.emptyLine();
11
+ return {
12
+ name: "output",
13
+ description: "Prints Pulumi stack output for given project application and environment",
14
+ params: [
15
+ {
16
+ name: "app",
17
+ description: "Name of the app (core, admin, or api)",
18
+ type: "string",
19
+ required: true
20
+ }
21
+ ],
22
+ options: [
23
+ ...createBaseAppOptions(projectSdk, {
24
+ variant: {
25
+ description: "Variant of the app to watch"
26
+ }
27
+ }),
28
+ {
29
+ name: "json",
30
+ description: "Emit output as JSON",
31
+ type: "boolean"
32
+ }
33
+ ],
34
+ handler: async (params)=>{
35
+ const projectSdk = await this.getProjectSdkService.execute();
36
+ const ui = this.uiService;
37
+ const output = await projectSdk.getAppStackOutput(params.app);
38
+ if (params.json) return void ui.text(JSON.stringify(output, null, 2));
39
+ if (!output || 0 === Object.keys(output).length) return void ui.text("No output values found.");
40
+ const formatValue = (key, value, indent = 0)=>{
41
+ const indentStr = " ".repeat(indent);
42
+ if (null == value) return void ui.info(`${indentStr}${key}: (empty)`);
43
+ if ("object" != typeof value || Array.isArray(value)) ui.info(`${indentStr}${key}: ${JSON.stringify(value)}`);
44
+ else {
45
+ if (0 === indent) ui.emptyLine();
46
+ ui.textBold(`${indentStr}${key}:`);
47
+ for (const [k, v] of Object.entries(value))formatValue(k, v, indent + 1);
48
+ if (0 === indent) ui.emptyLine();
49
+ }
50
+ };
51
+ for (const [key, value] of Object.entries(output))formatValue(key, value, 0);
61
52
  }
62
- } else {
63
- ui.info(`${indentStr}${key}: ${JSON.stringify(value)}`);
64
- }
65
53
  };
66
- for (const [key, value] of Object.entries(output)) {
67
- formatValue(key, value, 0);
68
- }
69
- }
70
- };
71
- }
54
+ }
72
55
  }
73
- export const outputCommand = createImplementation({
74
- abstraction: CliCommandFactory,
75
- implementation: OutputCommand,
76
- dependencies: [GetProjectSdkService, UiService]
56
+ const outputCommand = createImplementation({
57
+ abstraction: CliCommandFactory,
58
+ implementation: OutputCommand,
59
+ dependencies: [
60
+ GetProjectSdkService,
61
+ UiService
62
+ ]
77
63
  });
64
+ export { OutputCommand, outputCommand };
78
65
 
79
66
  //# sourceMappingURL=OutputCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","CliCommandFactory","GetProjectSdkService","UiService","createBaseAppOptions","OutputCommand","constructor","getProjectSdkService","uiService","execute","projectSdk","name","description","params","type","required","options","variant","handler","ui","output","getAppStackOutput","app","json","text","JSON","stringify","Object","keys","length","formatValue","key","value","indent","indentStr","repeat","undefined","info","Array","isArray","emptyLine","textBold","k","v","entries","outputCommand","abstraction","implementation","dependencies"],"sources":["OutputCommand.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { CliCommandFactory, GetProjectSdkService, UiService } from \"~/abstractions/index.js\";\nimport { IBaseAppParams } from \"~/abstractions/features/types.js\";\nimport { createBaseAppOptions } from \"~/features/common/index.js\";\n\nexport interface IOutputCommandParams extends IBaseAppParams {\n json?: boolean;\n}\n\nexport class OutputCommand implements CliCommandFactory.Interface<IOutputCommandParams> {\n constructor(\n private getProjectSdkService: GetProjectSdkService.Interface,\n private uiService: UiService.Interface\n ) {}\n\n async execute(): Promise<CliCommandFactory.CommandDefinition<IOutputCommandParams>> {\n const projectSdk = await this.getProjectSdkService.execute();\n\n return {\n name: \"output\",\n description: \"Prints Pulumi stack output for given project application and environment\",\n params: [\n {\n name: \"app\",\n description: \"Name of the app (core, admin, or api)\",\n type: \"string\",\n required: true\n }\n ],\n options: [\n ...createBaseAppOptions(projectSdk, {\n variant: {\n description: \"Variant of the app to watch\"\n }\n }),\n {\n name: \"json\",\n description: \"Emit output as JSON\",\n type: \"boolean\"\n }\n ],\n handler: async (params: IOutputCommandParams) => {\n const projectSdk = await this.getProjectSdkService.execute();\n const ui = this.uiService;\n\n const output = await projectSdk.getAppStackOutput(params.app);\n if (params.json) {\n ui.text(JSON.stringify(output, null, 2));\n return;\n }\n\n // Nice indentation for console output.\n if (!output || Object.keys(output).length === 0) {\n ui.text(\"No output values found.\");\n return;\n }\n\n // Format and display output\n const formatValue = (key: string, value: any, indent: number = 0): void => {\n const indentStr = \" \".repeat(indent);\n\n if (value === null || value === undefined) {\n ui.info(`${indentStr}${key}: (empty)`);\n return;\n }\n\n if (typeof value === \"object\" && !Array.isArray(value)) {\n if (indent === 0) {\n ui.emptyLine();\n }\n ui.textBold(`${indentStr}${key}:`);\n for (const [k, v] of Object.entries(value)) {\n formatValue(k, v, indent + 1);\n }\n if (indent === 0) {\n ui.emptyLine();\n }\n } else {\n ui.info(`${indentStr}${key}: ${JSON.stringify(value)}`);\n }\n };\n\n for (const [key, value] of Object.entries(output)) {\n formatValue(key, value, 0);\n }\n }\n };\n }\n}\n\nexport const outputCommand = createImplementation({\n abstraction: CliCommandFactory,\n implementation: OutputCommand,\n dependencies: [GetProjectSdkService, UiService]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,YAAY;AACjD,SAASC,iBAAiB,EAAEC,oBAAoB,EAAEC,SAAS;AAE3D,SAASC,oBAAoB;AAM7B,OAAO,MAAMC,aAAa,CAA8D;EACpFC,WAAWA,CACCC,oBAAoD,EACpDC,SAA8B,EACxC;IAAA,KAFUD,oBAAoD,GAApDA,oBAAoD;IAAA,KACpDC,SAA8B,GAA9BA,SAA8B;EACvC;EAEH,MAAMC,OAAOA,CAAA,EAAuE;IAChF,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACH,oBAAoB,CAACE,OAAO,CAAC,CAAC;IAE5D,OAAO;MACHE,IAAI,EAAE,QAAQ;MACdC,WAAW,EAAE,0EAA0E;MACvFC,MAAM,EAAE,CACJ;QACIF,IAAI,EAAE,KAAK;QACXC,WAAW,EAAE,uCAAuC;QACpDE,IAAI,EAAE,QAAQ;QACdC,QAAQ,EAAE;MACd,CAAC,CACJ;MACDC,OAAO,EAAE,CACL,GAAGZ,oBAAoB,CAACM,UAAU,EAAE;QAChCO,OAAO,EAAE;UACLL,WAAW,EAAE;QACjB;MACJ,CAAC,CAAC,EACF;QACID,IAAI,EAAE,MAAM;QACZC,WAAW,EAAE,qBAAqB;QAClCE,IAAI,EAAE;MACV,CAAC,CACJ;MACDI,OAAO,EAAE,MAAOL,MAA4B,IAAK;QAC7C,MAAMH,UAAU,GAAG,MAAM,IAAI,CAACH,oBAAoB,CAACE,OAAO,CAAC,CAAC;QAC5D,MAAMU,EAAE,GAAG,IAAI,CAACX,SAAS;QAEzB,MAAMY,MAAM,GAAG,MAAMV,UAAU,CAACW,iBAAiB,CAACR,MAAM,CAACS,GAAG,CAAC;QAC7D,IAAIT,MAAM,CAACU,IAAI,EAAE;UACbJ,EAAE,CAACK,IAAI,CAACC,IAAI,CAACC,SAAS,CAACN,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;UACxC;QACJ;;QAEA;QACA,IAAI,CAACA,MAAM,IAAIO,MAAM,CAACC,IAAI,CAACR,MAAM,CAAC,CAACS,MAAM,KAAK,CAAC,EAAE;UAC7CV,EAAE,CAACK,IAAI,CAAC,yBAAyB,CAAC;UAClC;QACJ;;QAEA;QACA,MAAMM,WAAW,GAAGA,CAACC,GAAW,EAAEC,KAAU,EAAEC,MAAc,GAAG,CAAC,KAAW;UACvE,MAAMC,SAAS,GAAG,IAAI,CAACC,MAAM,CAACF,MAAM,CAAC;UAErC,IAAID,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKI,SAAS,EAAE;YACvCjB,EAAE,CAACkB,IAAI,CAAC,GAAGH,SAAS,GAAGH,GAAG,WAAW,CAAC;YACtC;UACJ;UAEA,IAAI,OAAOC,KAAK,KAAK,QAAQ,IAAI,CAACM,KAAK,CAACC,OAAO,CAACP,KAAK,CAAC,EAAE;YACpD,IAAIC,MAAM,KAAK,CAAC,EAAE;cACdd,EAAE,CAACqB,SAAS,CAAC,CAAC;YAClB;YACArB,EAAE,CAACsB,QAAQ,CAAC,GAAGP,SAAS,GAAGH,GAAG,GAAG,CAAC;YAClC,KAAK,MAAM,CAACW,CAAC,EAAEC,CAAC,CAAC,IAAIhB,MAAM,CAACiB,OAAO,CAACZ,KAAK,CAAC,EAAE;cACxCF,WAAW,CAACY,CAAC,EAAEC,CAAC,EAAEV,MAAM,GAAG,CAAC,CAAC;YACjC;YACA,IAAIA,MAAM,KAAK,CAAC,EAAE;cACdd,EAAE,CAACqB,SAAS,CAAC,CAAC;YAClB;UACJ,CAAC,MAAM;YACHrB,EAAE,CAACkB,IAAI,CAAC,GAAGH,SAAS,GAAGH,GAAG,KAAKN,IAAI,CAACC,SAAS,CAACM,KAAK,CAAC,EAAE,CAAC;UAC3D;QACJ,CAAC;QAED,KAAK,MAAM,CAACD,GAAG,EAAEC,KAAK,CAAC,IAAIL,MAAM,CAACiB,OAAO,CAACxB,MAAM,CAAC,EAAE;UAC/CU,WAAW,CAACC,GAAG,EAAEC,KAAK,EAAE,CAAC,CAAC;QAC9B;MACJ;IACJ,CAAC;EACL;AACJ;AAEA,OAAO,MAAMa,aAAa,GAAG7C,oBAAoB,CAAC;EAC9C8C,WAAW,EAAE7C,iBAAiB;EAC9B8C,cAAc,EAAE1C,aAAa;EAC7B2C,YAAY,EAAE,CAAC9C,oBAAoB,EAAEC,SAAS;AAClD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/OutputCommand.js","sources":["../../src/features/OutputCommand.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { CliCommandFactory, GetProjectSdkService, UiService } from \"~/abstractions/index.js\";\nimport { IBaseAppParams } from \"~/abstractions/features/types.js\";\nimport { createBaseAppOptions } from \"~/features/common/index.js\";\n\nexport interface IOutputCommandParams extends IBaseAppParams {\n json?: boolean;\n}\n\nexport class OutputCommand implements CliCommandFactory.Interface<IOutputCommandParams> {\n constructor(\n private getProjectSdkService: GetProjectSdkService.Interface,\n private uiService: UiService.Interface\n ) {}\n\n async execute(): Promise<CliCommandFactory.CommandDefinition<IOutputCommandParams>> {\n const projectSdk = await this.getProjectSdkService.execute();\n\n return {\n name: \"output\",\n description: \"Prints Pulumi stack output for given project application and environment\",\n params: [\n {\n name: \"app\",\n description: \"Name of the app (core, admin, or api)\",\n type: \"string\",\n required: true\n }\n ],\n options: [\n ...createBaseAppOptions(projectSdk, {\n variant: {\n description: \"Variant of the app to watch\"\n }\n }),\n {\n name: \"json\",\n description: \"Emit output as JSON\",\n type: \"boolean\"\n }\n ],\n handler: async (params: IOutputCommandParams) => {\n const projectSdk = await this.getProjectSdkService.execute();\n const ui = this.uiService;\n\n const output = await projectSdk.getAppStackOutput(params.app);\n if (params.json) {\n ui.text(JSON.stringify(output, null, 2));\n return;\n }\n\n // Nice indentation for console output.\n if (!output || Object.keys(output).length === 0) {\n ui.text(\"No output values found.\");\n return;\n }\n\n // Format and display output\n const formatValue = (key: string, value: any, indent: number = 0): void => {\n const indentStr = \" \".repeat(indent);\n\n if (value === null || value === undefined) {\n ui.info(`${indentStr}${key}: (empty)`);\n return;\n }\n\n if (typeof value === \"object\" && !Array.isArray(value)) {\n if (indent === 0) {\n ui.emptyLine();\n }\n ui.textBold(`${indentStr}${key}:`);\n for (const [k, v] of Object.entries(value)) {\n formatValue(k, v, indent + 1);\n }\n if (indent === 0) {\n ui.emptyLine();\n }\n } else {\n ui.info(`${indentStr}${key}: ${JSON.stringify(value)}`);\n }\n };\n\n for (const [key, value] of Object.entries(output)) {\n formatValue(key, value, 0);\n }\n }\n };\n }\n}\n\nexport const outputCommand = createImplementation({\n abstraction: CliCommandFactory,\n implementation: OutputCommand,\n dependencies: [GetProjectSdkService, UiService]\n});\n"],"names":["OutputCommand","getProjectSdkService","uiService","projectSdk","createBaseAppOptions","params","ui","output","JSON","Object","formatValue","key","value","indent","indentStr","Array","k","v","outputCommand","createImplementation","CliCommandFactory","GetProjectSdkService","UiService"],"mappings":";;;AASO,MAAMA;IACT,YACYC,oBAAoD,EACpDC,SAA8B,CACxC;aAFUD,oBAAoB,GAApBA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,UAA8E;QAChF,MAAMC,aAAa,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO;QAE1D,OAAO;YACH,MAAM;YACN,aAAa;YACb,QAAQ;gBACJ;oBACI,MAAM;oBACN,aAAa;oBACb,MAAM;oBACN,UAAU;gBACd;aACH;YACD,SAAS;mBACFC,qBAAqBD,YAAY;oBAChC,SAAS;wBACL,aAAa;oBACjB;gBACJ;gBACA;oBACI,MAAM;oBACN,aAAa;oBACb,MAAM;gBACV;aACH;YACD,SAAS,OAAOE;gBACZ,MAAMF,aAAa,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO;gBAC1D,MAAMG,KAAK,IAAI,CAAC,SAAS;gBAEzB,MAAMC,SAAS,MAAMJ,WAAW,iBAAiB,CAACE,OAAO,GAAG;gBAC5D,IAAIA,OAAO,IAAI,EAAE,YACbC,GAAG,IAAI,CAACE,KAAK,SAAS,CAACD,QAAQ,MAAM;gBAKzC,IAAI,CAACA,UAAUE,AAA+B,MAA/BA,OAAO,IAAI,CAACF,QAAQ,MAAM,EAAQ,YAC7CD,GAAG,IAAI,CAAC;gBAKZ,MAAMI,cAAc,CAACC,KAAaC,OAAYC,SAAiB,CAAC;oBAC5D,MAAMC,YAAY,KAAK,MAAM,CAACD;oBAE9B,IAAID,QAAAA,OAAuC,YACvCN,GAAG,IAAI,CAAC,GAAGQ,YAAYH,IAAI,SAAS,CAAC;oBAIzC,IAAI,AAAiB,YAAjB,OAAOC,SAAuBG,MAAM,OAAO,CAACH,QAY5CN,GAAG,IAAI,CAAC,GAAGQ,YAAYH,IAAI,EAAE,EAAEH,KAAK,SAAS,CAACI,QAAQ;yBAZF;wBACpD,IAAIC,AAAW,MAAXA,QACAP,GAAG,SAAS;wBAEhBA,GAAG,QAAQ,CAAC,GAAGQ,YAAYH,IAAI,CAAC,CAAC;wBACjC,KAAK,MAAM,CAACK,GAAGC,EAAE,IAAIR,OAAO,OAAO,CAACG,OAChCF,YAAYM,GAAGC,GAAGJ,SAAS;wBAE/B,IAAIA,AAAW,MAAXA,QACAP,GAAG,SAAS;oBAEpB;gBAGJ;gBAEA,KAAK,MAAM,CAACK,KAAKC,MAAM,IAAIH,OAAO,OAAO,CAACF,QACtCG,YAAYC,KAAKC,OAAO;YAEhC;QACJ;IACJ;AACJ;AAEO,MAAMM,gBAAgBC,qBAAqB;IAC9C,aAAaC;IACb,gBAAgBpB;IAChB,cAAc;QAACqB;QAAsBC;KAAU;AACnD"}
@@ -2,49 +2,56 @@ import { createImplementation } from "@webiny/di";
2
2
  import { CliCommandFactory, GetProjectSdkService, StdioService, UiService } from "../../abstractions/index.js";
3
3
  import { ManuallyReportedError } from "../../utils/ManuallyReportedError.js";
4
4
  import { createBaseAppOptions } from "../common/index.js";
5
- export class PulumiCommand {
6
- constructor(getProjectSdkService, uiService, stdioService) {
7
- this.getProjectSdkService = getProjectSdkService;
8
- this.uiService = uiService;
9
- this.stdioService = stdioService;
10
- }
11
- async execute() {
12
- const projectSdk = await this.getProjectSdkService.execute();
13
- return {
14
- name: "pulumi",
15
- description: 'Runs a Pulumi command in the provided project application folder. Note: make sure to use "--" before the actual Pulumi command',
16
- examples: ["$0 pulumi api --env dev -- config set foo bar --secret"],
17
- params: [{
18
- name: "app",
19
- description: "Name of the app (core, admin, or api)",
20
- type: "string",
21
- required: true
22
- }],
23
- options: createBaseAppOptions(projectSdk),
24
- handler: async params => {
5
+ class PulumiCommand {
6
+ constructor(getProjectSdkService, uiService, stdioService){
7
+ this.getProjectSdkService = getProjectSdkService;
8
+ this.uiService = uiService;
9
+ this.stdioService = stdioService;
10
+ }
11
+ async execute() {
25
12
  const projectSdk = await this.getProjectSdkService.execute();
26
- try {
27
- const [, ...command] = params._ || [];
28
- const {
29
- pulumiProcess
30
- } = await projectSdk.runPulumiCommand({
31
- ...params,
32
- command
33
- });
34
- pulumiProcess.stdin?.pipe(this.stdioService.getStdin());
35
- pulumiProcess.stdout?.pipe(this.stdioService.getStdout());
36
- pulumiProcess.stderr?.pipe(this.stdioService.getStderr());
37
- } catch (error) {
38
- throw ManuallyReportedError.from(error);
39
- }
40
- }
41
- };
42
- }
13
+ return {
14
+ name: "pulumi",
15
+ description: 'Runs a Pulumi command in the provided project application folder. Note: make sure to use "--" before the actual Pulumi command',
16
+ examples: [
17
+ "$0 pulumi api --env dev -- config set foo bar --secret"
18
+ ],
19
+ params: [
20
+ {
21
+ name: "app",
22
+ description: "Name of the app (core, admin, or api)",
23
+ type: "string",
24
+ required: true
25
+ }
26
+ ],
27
+ options: createBaseAppOptions(projectSdk),
28
+ handler: async (params)=>{
29
+ const projectSdk = await this.getProjectSdkService.execute();
30
+ try {
31
+ const [, ...command] = params._ || [];
32
+ const { pulumiProcess } = await projectSdk.runPulumiCommand({
33
+ ...params,
34
+ command
35
+ });
36
+ pulumiProcess.stdin?.pipe(this.stdioService.getStdin());
37
+ pulumiProcess.stdout?.pipe(this.stdioService.getStdout());
38
+ pulumiProcess.stderr?.pipe(this.stdioService.getStderr());
39
+ } catch (error) {
40
+ throw ManuallyReportedError.from(error);
41
+ }
42
+ }
43
+ };
44
+ }
43
45
  }
44
- export const pulumiCommand = createImplementation({
45
- abstraction: CliCommandFactory,
46
- implementation: PulumiCommand,
47
- dependencies: [GetProjectSdkService, UiService, StdioService]
46
+ const pulumiCommand = createImplementation({
47
+ abstraction: CliCommandFactory,
48
+ implementation: PulumiCommand,
49
+ dependencies: [
50
+ GetProjectSdkService,
51
+ UiService,
52
+ StdioService
53
+ ]
48
54
  });
55
+ export { PulumiCommand, pulumiCommand };
49
56
 
50
57
  //# sourceMappingURL=PulumiCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","CliCommandFactory","GetProjectSdkService","StdioService","UiService","ManuallyReportedError","createBaseAppOptions","PulumiCommand","constructor","getProjectSdkService","uiService","stdioService","execute","projectSdk","name","description","examples","params","type","required","options","handler","command","_","pulumiProcess","runPulumiCommand","stdin","pipe","getStdin","stdout","getStdout","stderr","getStderr","error","from","pulumiCommand","abstraction","implementation","dependencies"],"sources":["PulumiCommand.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport {\n CliCommandFactory,\n GetProjectSdkService,\n StdioService,\n UiService\n} from \"~/abstractions/index.js\";\nimport { ManuallyReportedError } from \"~/utils/ManuallyReportedError.js\";\nimport { IBaseAppParams } from \"~/abstractions/features/types.js\";\nimport { createBaseAppOptions } from \"~/features/common/index.js\";\n\nexport interface IPulumiCommandParams extends IBaseAppParams {\n command: string[];\n}\n\nexport class PulumiCommand implements CliCommandFactory.Interface<IPulumiCommandParams> {\n constructor(\n private getProjectSdkService: GetProjectSdkService.Interface,\n private uiService: UiService.Interface,\n private stdioService: StdioService.Interface\n ) {}\n\n async execute(): Promise<CliCommandFactory.CommandDefinition<IPulumiCommandParams>> {\n const projectSdk = await this.getProjectSdkService.execute();\n\n return {\n name: \"pulumi\",\n description:\n 'Runs a Pulumi command in the provided project application folder. Note: make sure to use \"--\" before the actual Pulumi command',\n examples: [\"$0 pulumi api --env dev -- config set foo bar --secret\"],\n params: [\n {\n name: \"app\",\n description: \"Name of the app (core, admin, or api)\",\n type: \"string\",\n required: true\n }\n ],\n options: createBaseAppOptions(projectSdk),\n handler: async (params: IPulumiCommandParams) => {\n const projectSdk = await this.getProjectSdkService.execute();\n\n try {\n const [, ...command] = params._ || [];\n\n const { pulumiProcess } = await projectSdk.runPulumiCommand({\n ...params,\n command\n });\n\n pulumiProcess.stdin?.pipe(this.stdioService.getStdin());\n pulumiProcess.stdout?.pipe(this.stdioService.getStdout());\n pulumiProcess.stderr?.pipe(this.stdioService.getStderr());\n } catch (error) {\n throw ManuallyReportedError.from(error);\n }\n }\n };\n }\n}\n\nexport const pulumiCommand = createImplementation({\n abstraction: CliCommandFactory,\n implementation: PulumiCommand,\n dependencies: [GetProjectSdkService, UiService, StdioService]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,YAAY;AACjD,SACIC,iBAAiB,EACjBC,oBAAoB,EACpBC,YAAY,EACZC,SAAS;AAEb,SAASC,qBAAqB;AAE9B,SAASC,oBAAoB;AAM7B,OAAO,MAAMC,aAAa,CAA8D;EACpFC,WAAWA,CACCC,oBAAoD,EACpDC,SAA8B,EAC9BC,YAAoC,EAC9C;IAAA,KAHUF,oBAAoD,GAApDA,oBAAoD;IAAA,KACpDC,SAA8B,GAA9BA,SAA8B;IAAA,KAC9BC,YAAoC,GAApCA,YAAoC;EAC7C;EAEH,MAAMC,OAAOA,CAAA,EAAuE;IAChF,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACJ,oBAAoB,CAACG,OAAO,CAAC,CAAC;IAE5D,OAAO;MACHE,IAAI,EAAE,QAAQ;MACdC,WAAW,EACP,gIAAgI;MACpIC,QAAQ,EAAE,CAAC,wDAAwD,CAAC;MACpEC,MAAM,EAAE,CACJ;QACIH,IAAI,EAAE,KAAK;QACXC,WAAW,EAAE,uCAAuC;QACpDG,IAAI,EAAE,QAAQ;QACdC,QAAQ,EAAE;MACd,CAAC,CACJ;MACDC,OAAO,EAAEd,oBAAoB,CAACO,UAAU,CAAC;MACzCQ,OAAO,EAAE,MAAOJ,MAA4B,IAAK;QAC7C,MAAMJ,UAAU,GAAG,MAAM,IAAI,CAACJ,oBAAoB,CAACG,OAAO,CAAC,CAAC;QAE5D,IAAI;UACA,MAAM,GAAG,GAAGU,OAAO,CAAC,GAAGL,MAAM,CAACM,CAAC,IAAI,EAAE;UAErC,MAAM;YAAEC;UAAc,CAAC,GAAG,MAAMX,UAAU,CAACY,gBAAgB,CAAC;YACxD,GAAGR,MAAM;YACTK;UACJ,CAAC,CAAC;UAEFE,aAAa,CAACE,KAAK,EAAEC,IAAI,CAAC,IAAI,CAAChB,YAAY,CAACiB,QAAQ,CAAC,CAAC,CAAC;UACvDJ,aAAa,CAACK,MAAM,EAAEF,IAAI,CAAC,IAAI,CAAChB,YAAY,CAACmB,SAAS,CAAC,CAAC,CAAC;UACzDN,aAAa,CAACO,MAAM,EAAEJ,IAAI,CAAC,IAAI,CAAChB,YAAY,CAACqB,SAAS,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,OAAOC,KAAK,EAAE;UACZ,MAAM5B,qBAAqB,CAAC6B,IAAI,CAACD,KAAK,CAAC;QAC3C;MACJ;IACJ,CAAC;EACL;AACJ;AAEA,OAAO,MAAME,aAAa,GAAGnC,oBAAoB,CAAC;EAC9CoC,WAAW,EAAEnC,iBAAiB;EAC9BoC,cAAc,EAAE9B,aAAa;EAC7B+B,YAAY,EAAE,CAACpC,oBAAoB,EAAEE,SAAS,EAAED,YAAY;AAChE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/PulumiCommand/PulumiCommand.js","sources":["../../../src/features/PulumiCommand/PulumiCommand.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport {\n CliCommandFactory,\n GetProjectSdkService,\n StdioService,\n UiService\n} from \"~/abstractions/index.js\";\nimport { ManuallyReportedError } from \"~/utils/ManuallyReportedError.js\";\nimport { IBaseAppParams } from \"~/abstractions/features/types.js\";\nimport { createBaseAppOptions } from \"~/features/common/index.js\";\n\nexport interface IPulumiCommandParams extends IBaseAppParams {\n command: string[];\n}\n\nexport class PulumiCommand implements CliCommandFactory.Interface<IPulumiCommandParams> {\n constructor(\n private getProjectSdkService: GetProjectSdkService.Interface,\n private uiService: UiService.Interface,\n private stdioService: StdioService.Interface\n ) {}\n\n async execute(): Promise<CliCommandFactory.CommandDefinition<IPulumiCommandParams>> {\n const projectSdk = await this.getProjectSdkService.execute();\n\n return {\n name: \"pulumi\",\n description:\n 'Runs a Pulumi command in the provided project application folder. Note: make sure to use \"--\" before the actual Pulumi command',\n examples: [\"$0 pulumi api --env dev -- config set foo bar --secret\"],\n params: [\n {\n name: \"app\",\n description: \"Name of the app (core, admin, or api)\",\n type: \"string\",\n required: true\n }\n ],\n options: createBaseAppOptions(projectSdk),\n handler: async (params: IPulumiCommandParams) => {\n const projectSdk = await this.getProjectSdkService.execute();\n\n try {\n const [, ...command] = params._ || [];\n\n const { pulumiProcess } = await projectSdk.runPulumiCommand({\n ...params,\n command\n });\n\n pulumiProcess.stdin?.pipe(this.stdioService.getStdin());\n pulumiProcess.stdout?.pipe(this.stdioService.getStdout());\n pulumiProcess.stderr?.pipe(this.stdioService.getStderr());\n } catch (error) {\n throw ManuallyReportedError.from(error);\n }\n }\n };\n }\n}\n\nexport const pulumiCommand = createImplementation({\n abstraction: CliCommandFactory,\n implementation: PulumiCommand,\n dependencies: [GetProjectSdkService, UiService, StdioService]\n});\n"],"names":["PulumiCommand","getProjectSdkService","uiService","stdioService","projectSdk","createBaseAppOptions","params","command","pulumiProcess","error","ManuallyReportedError","pulumiCommand","createImplementation","CliCommandFactory","GetProjectSdkService","UiService","StdioService"],"mappings":";;;;AAeO,MAAMA;IACT,YACYC,oBAAoD,EACpDC,SAA8B,EAC9BC,YAAoC,CAC9C;aAHUF,oBAAoB,GAApBA;aACAC,SAAS,GAATA;aACAC,YAAY,GAAZA;IACT;IAEH,MAAM,UAA8E;QAChF,MAAMC,aAAa,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO;QAE1D,OAAO;YACH,MAAM;YACN,aACI;YACJ,UAAU;gBAAC;aAAyD;YACpE,QAAQ;gBACJ;oBACI,MAAM;oBACN,aAAa;oBACb,MAAM;oBACN,UAAU;gBACd;aACH;YACD,SAASC,qBAAqBD;YAC9B,SAAS,OAAOE;gBACZ,MAAMF,aAAa,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO;gBAE1D,IAAI;oBACA,MAAM,GAAG,GAAGG,QAAQ,GAAGD,OAAO,CAAC,IAAI,EAAE;oBAErC,MAAM,EAAEE,aAAa,EAAE,GAAG,MAAMJ,WAAW,gBAAgB,CAAC;wBACxD,GAAGE,MAAM;wBACTC;oBACJ;oBAEAC,cAAc,KAAK,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,QAAQ;oBACpDA,cAAc,MAAM,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,SAAS;oBACtDA,cAAc,MAAM,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,SAAS;gBAC1D,EAAE,OAAOC,OAAO;oBACZ,MAAMC,sBAAsB,IAAI,CAACD;gBACrC;YACJ;QACJ;IACJ;AACJ;AAEO,MAAME,gBAAgBC,qBAAqB;IAC9C,aAAaC;IACb,gBAAgBb;IAChB,cAAc;QAACc;QAAsBC;QAAWC;KAAa;AACjE"}
@@ -1,3 +1 @@
1
1
  export * from "./PulumiCommand.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -2,44 +2,50 @@ import { createImplementation } from "@webiny/di";
2
2
  import { CliCommandFactory, GetProjectSdkService, StdioService } from "../../abstractions/index.js";
3
3
  import { ManuallyReportedError } from "../../utils/ManuallyReportedError.js";
4
4
  import { createBaseAppOptions } from "../common/index.js";
5
- export class RefreshCommand {
6
- constructor(getProjectSdkService, stdioService) {
7
- this.getProjectSdkService = getProjectSdkService;
8
- this.stdioService = stdioService;
9
- }
10
- async execute() {
11
- const projectSdk = await this.getProjectSdkService.execute();
12
- return {
13
- name: "refresh",
14
- description: "Refreshes Pulumi state for given project application and environment",
15
- examples: ["$0 refresh api --env dev -- config set foo bar --secret"],
16
- params: [{
17
- name: "app",
18
- description: "Name of the app (core, admin, or api)",
19
- type: "string",
20
- required: true
21
- }],
22
- options: createBaseAppOptions(projectSdk),
23
- handler: async params => {
5
+ class RefreshCommand {
6
+ constructor(getProjectSdkService, stdioService){
7
+ this.getProjectSdkService = getProjectSdkService;
8
+ this.stdioService = stdioService;
9
+ }
10
+ async execute() {
24
11
  const projectSdk = await this.getProjectSdkService.execute();
25
- try {
26
- const {
27
- pulumiProcess
28
- } = await projectSdk.refreshApp(params);
29
- pulumiProcess.stdin?.pipe(this.stdioService.getStdin());
30
- pulumiProcess.stdout?.pipe(this.stdioService.getStdout());
31
- pulumiProcess.stderr?.pipe(this.stdioService.getStderr());
32
- } catch (error) {
33
- throw ManuallyReportedError.from(error);
34
- }
35
- }
36
- };
37
- }
12
+ return {
13
+ name: "refresh",
14
+ description: "Refreshes Pulumi state for given project application and environment",
15
+ examples: [
16
+ "$0 refresh api --env dev -- config set foo bar --secret"
17
+ ],
18
+ params: [
19
+ {
20
+ name: "app",
21
+ description: "Name of the app (core, admin, or api)",
22
+ type: "string",
23
+ required: true
24
+ }
25
+ ],
26
+ options: createBaseAppOptions(projectSdk),
27
+ handler: async (params)=>{
28
+ const projectSdk = await this.getProjectSdkService.execute();
29
+ try {
30
+ const { pulumiProcess } = await projectSdk.refreshApp(params);
31
+ pulumiProcess.stdin?.pipe(this.stdioService.getStdin());
32
+ pulumiProcess.stdout?.pipe(this.stdioService.getStdout());
33
+ pulumiProcess.stderr?.pipe(this.stdioService.getStderr());
34
+ } catch (error) {
35
+ throw ManuallyReportedError.from(error);
36
+ }
37
+ }
38
+ };
39
+ }
38
40
  }
39
- export const refreshCommand = createImplementation({
40
- abstraction: CliCommandFactory,
41
- implementation: RefreshCommand,
42
- dependencies: [GetProjectSdkService, StdioService]
41
+ const refreshCommand = createImplementation({
42
+ abstraction: CliCommandFactory,
43
+ implementation: RefreshCommand,
44
+ dependencies: [
45
+ GetProjectSdkService,
46
+ StdioService
47
+ ]
43
48
  });
49
+ export { RefreshCommand, refreshCommand };
44
50
 
45
51
  //# sourceMappingURL=RefreshCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","CliCommandFactory","GetProjectSdkService","StdioService","ManuallyReportedError","createBaseAppOptions","RefreshCommand","constructor","getProjectSdkService","stdioService","execute","projectSdk","name","description","examples","params","type","required","options","handler","pulumiProcess","refreshApp","stdin","pipe","getStdin","stdout","getStdout","stderr","getStderr","error","from","refreshCommand","abstraction","implementation","dependencies"],"sources":["RefreshCommand.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { CliCommandFactory, GetProjectSdkService, StdioService } from \"~/abstractions/index.js\";\nimport { ManuallyReportedError } from \"~/utils/ManuallyReportedError.js\";\nimport { IBaseAppParams } from \"~/abstractions/features/types.js\";\nimport { createBaseAppOptions } from \"~/features/common/index.js\";\n\nexport interface IRefreshCommandParams extends IBaseAppParams {\n command: string[];\n}\n\nexport class RefreshCommand implements CliCommandFactory.Interface<IRefreshCommandParams> {\n constructor(\n private getProjectSdkService: GetProjectSdkService.Interface,\n private stdioService: StdioService.Interface\n ) {}\n\n async execute(): Promise<CliCommandFactory.CommandDefinition<IRefreshCommandParams>> {\n const projectSdk = await this.getProjectSdkService.execute();\n\n return {\n name: \"refresh\",\n description: \"Refreshes Pulumi state for given project application and environment\",\n examples: [\"$0 refresh api --env dev -- config set foo bar --secret\"],\n params: [\n {\n name: \"app\",\n description: \"Name of the app (core, admin, or api)\",\n type: \"string\",\n required: true\n }\n ],\n options: createBaseAppOptions(projectSdk),\n handler: async (params: IRefreshCommandParams) => {\n const projectSdk = await this.getProjectSdkService.execute();\n\n try {\n const { pulumiProcess } = await projectSdk.refreshApp(params);\n pulumiProcess.stdin?.pipe(this.stdioService.getStdin());\n pulumiProcess.stdout?.pipe(this.stdioService.getStdout());\n pulumiProcess.stderr?.pipe(this.stdioService.getStderr());\n } catch (error) {\n throw ManuallyReportedError.from(error);\n }\n }\n };\n }\n}\n\nexport const refreshCommand = createImplementation({\n abstraction: CliCommandFactory,\n implementation: RefreshCommand,\n dependencies: [GetProjectSdkService, StdioService]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,YAAY;AACjD,SAASC,iBAAiB,EAAEC,oBAAoB,EAAEC,YAAY;AAC9D,SAASC,qBAAqB;AAE9B,SAASC,oBAAoB;AAM7B,OAAO,MAAMC,cAAc,CAA+D;EACtFC,WAAWA,CACCC,oBAAoD,EACpDC,YAAoC,EAC9C;IAAA,KAFUD,oBAAoD,GAApDA,oBAAoD;IAAA,KACpDC,YAAoC,GAApCA,YAAoC;EAC7C;EAEH,MAAMC,OAAOA,CAAA,EAAwE;IACjF,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACH,oBAAoB,CAACE,OAAO,CAAC,CAAC;IAE5D,OAAO;MACHE,IAAI,EAAE,SAAS;MACfC,WAAW,EAAE,sEAAsE;MACnFC,QAAQ,EAAE,CAAC,yDAAyD,CAAC;MACrEC,MAAM,EAAE,CACJ;QACIH,IAAI,EAAE,KAAK;QACXC,WAAW,EAAE,uCAAuC;QACpDG,IAAI,EAAE,QAAQ;QACdC,QAAQ,EAAE;MACd,CAAC,CACJ;MACDC,OAAO,EAAEb,oBAAoB,CAACM,UAAU,CAAC;MACzCQ,OAAO,EAAE,MAAOJ,MAA6B,IAAK;QAC9C,MAAMJ,UAAU,GAAG,MAAM,IAAI,CAACH,oBAAoB,CAACE,OAAO,CAAC,CAAC;QAE5D,IAAI;UACA,MAAM;YAAEU;UAAc,CAAC,GAAG,MAAMT,UAAU,CAACU,UAAU,CAACN,MAAM,CAAC;UAC7DK,aAAa,CAACE,KAAK,EAAEC,IAAI,CAAC,IAAI,CAACd,YAAY,CAACe,QAAQ,CAAC,CAAC,CAAC;UACvDJ,aAAa,CAACK,MAAM,EAAEF,IAAI,CAAC,IAAI,CAACd,YAAY,CAACiB,SAAS,CAAC,CAAC,CAAC;UACzDN,aAAa,CAACO,MAAM,EAAEJ,IAAI,CAAC,IAAI,CAACd,YAAY,CAACmB,SAAS,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,OAAOC,KAAK,EAAE;UACZ,MAAMzB,qBAAqB,CAAC0B,IAAI,CAACD,KAAK,CAAC;QAC3C;MACJ;IACJ,CAAC;EACL;AACJ;AAEA,OAAO,MAAME,cAAc,GAAG/B,oBAAoB,CAAC;EAC/CgC,WAAW,EAAE/B,iBAAiB;EAC9BgC,cAAc,EAAE3B,cAAc;EAC9B4B,YAAY,EAAE,CAAChC,oBAAoB,EAAEC,YAAY;AACrD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/RefreshCommand/RefreshCommand.js","sources":["../../../src/features/RefreshCommand/RefreshCommand.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { CliCommandFactory, GetProjectSdkService, StdioService } from \"~/abstractions/index.js\";\nimport { ManuallyReportedError } from \"~/utils/ManuallyReportedError.js\";\nimport { IBaseAppParams } from \"~/abstractions/features/types.js\";\nimport { createBaseAppOptions } from \"~/features/common/index.js\";\n\nexport interface IRefreshCommandParams extends IBaseAppParams {\n command: string[];\n}\n\nexport class RefreshCommand implements CliCommandFactory.Interface<IRefreshCommandParams> {\n constructor(\n private getProjectSdkService: GetProjectSdkService.Interface,\n private stdioService: StdioService.Interface\n ) {}\n\n async execute(): Promise<CliCommandFactory.CommandDefinition<IRefreshCommandParams>> {\n const projectSdk = await this.getProjectSdkService.execute();\n\n return {\n name: \"refresh\",\n description: \"Refreshes Pulumi state for given project application and environment\",\n examples: [\"$0 refresh api --env dev -- config set foo bar --secret\"],\n params: [\n {\n name: \"app\",\n description: \"Name of the app (core, admin, or api)\",\n type: \"string\",\n required: true\n }\n ],\n options: createBaseAppOptions(projectSdk),\n handler: async (params: IRefreshCommandParams) => {\n const projectSdk = await this.getProjectSdkService.execute();\n\n try {\n const { pulumiProcess } = await projectSdk.refreshApp(params);\n pulumiProcess.stdin?.pipe(this.stdioService.getStdin());\n pulumiProcess.stdout?.pipe(this.stdioService.getStdout());\n pulumiProcess.stderr?.pipe(this.stdioService.getStderr());\n } catch (error) {\n throw ManuallyReportedError.from(error);\n }\n }\n };\n }\n}\n\nexport const refreshCommand = createImplementation({\n abstraction: CliCommandFactory,\n implementation: RefreshCommand,\n dependencies: [GetProjectSdkService, StdioService]\n});\n"],"names":["RefreshCommand","getProjectSdkService","stdioService","projectSdk","createBaseAppOptions","params","pulumiProcess","error","ManuallyReportedError","refreshCommand","createImplementation","CliCommandFactory","GetProjectSdkService","StdioService"],"mappings":";;;;AAUO,MAAMA;IACT,YACYC,oBAAoD,EACpDC,YAAoC,CAC9C;aAFUD,oBAAoB,GAApBA;aACAC,YAAY,GAAZA;IACT;IAEH,MAAM,UAA+E;QACjF,MAAMC,aAAa,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO;QAE1D,OAAO;YACH,MAAM;YACN,aAAa;YACb,UAAU;gBAAC;aAA0D;YACrE,QAAQ;gBACJ;oBACI,MAAM;oBACN,aAAa;oBACb,MAAM;oBACN,UAAU;gBACd;aACH;YACD,SAASC,qBAAqBD;YAC9B,SAAS,OAAOE;gBACZ,MAAMF,aAAa,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO;gBAE1D,IAAI;oBACA,MAAM,EAAEG,aAAa,EAAE,GAAG,MAAMH,WAAW,UAAU,CAACE;oBACtDC,cAAc,KAAK,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,QAAQ;oBACpDA,cAAc,MAAM,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,SAAS;oBACtDA,cAAc,MAAM,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,SAAS;gBAC1D,EAAE,OAAOC,OAAO;oBACZ,MAAMC,sBAAsB,IAAI,CAACD;gBACrC;YACJ;QACJ;IACJ;AACJ;AAEO,MAAME,iBAAiBC,qBAAqB;IAC/C,aAAaC;IACb,gBAAgBX;IAChB,cAAc;QAACY;QAAsBC;KAAa;AACtD"}
@@ -1,3 +1 @@
1
1
  export * from "./RefreshCommand.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,29 @@
1
+ import { CliCommandFactory, UiService } from "../../abstractions/index.js";
2
+ import { UpgradeCommandHandler } from "./abstraction.js";
3
+ interface UpgradeCommandParams {
4
+ skipChecks?: boolean;
5
+ disableSemver?: boolean;
6
+ debug?: boolean;
7
+ _: string[];
8
+ force?: boolean;
9
+ target?: string;
10
+ logLevel?: string;
11
+ showLogs?: boolean;
12
+ showStackTrace?: boolean;
13
+ version?: string;
14
+ registry?: string;
15
+ packageManager?: string;
16
+ installVersion?: string;
17
+ skipDependencyGuard?: boolean;
18
+ }
19
+ declare class UpgradeCommandImpl implements CliCommandFactory.Interface<UpgradeCommandParams> {
20
+ private ui;
21
+ private upgradeCommandHandler;
22
+ constructor(ui: UiService.Interface, upgradeCommandHandler: UpgradeCommandHandler.Interface);
23
+ execute(): Promise<CliCommandFactory.CommandDefinition<UpgradeCommandParams>>;
24
+ private getVersion;
25
+ }
26
+ export declare const UpgradeCommand: typeof UpgradeCommandImpl & {
27
+ __abstraction: import("@webiny/di").Abstraction<import("../../abstractions/features/CliCommand.js").ICliCommand<any>>;
28
+ };
29
+ export {};
@@ -0,0 +1,123 @@
1
+ import { CliCommandFactory, UiService } from "../../abstractions/index.js";
2
+ import { UpgradeCommandHandler } from "./abstraction.js";
3
+ import semver from "semver";
4
+ class UpgradeCommandImpl {
5
+ constructor(ui, upgradeCommandHandler){
6
+ this.ui = ui;
7
+ this.upgradeCommandHandler = upgradeCommandHandler;
8
+ }
9
+ async execute() {
10
+ return {
11
+ name: "upgrade",
12
+ description: "Upgrade Webiny packages and dependencies to the latest or selected version.",
13
+ examples: [
14
+ "upgrade",
15
+ "upgrade 6.2.0",
16
+ "upgrade 0.0.0-unstable.abc --disable-semver"
17
+ ],
18
+ params: [
19
+ {
20
+ name: "target",
21
+ description: "Target version to upgrade to. Can be a specific version (e.g. 6.2.0) or 'latest' to upgrade to the latest version.",
22
+ type: "string",
23
+ default: "latest",
24
+ required: false
25
+ }
26
+ ],
27
+ options: [
28
+ {
29
+ name: "force",
30
+ description: "Force an upgrade for a version, even if it was ran before.",
31
+ type: "boolean",
32
+ default: false
33
+ },
34
+ {
35
+ name: "skip-checks",
36
+ description: "Do not perform CLI version and Git tree checks.",
37
+ type: "boolean",
38
+ default: false
39
+ },
40
+ {
41
+ name: "log-level",
42
+ default: "debug",
43
+ description: 'Set log level for the upgrade process executed by npx. Possible values are "debug", "info", "warning", and "error".',
44
+ type: "string"
45
+ },
46
+ {
47
+ name: "show-logs",
48
+ default: false,
49
+ description: "Show logs from the upgrade process executed by npx.",
50
+ type: "boolean"
51
+ },
52
+ {
53
+ name: "show-stack-trace",
54
+ default: false,
55
+ description: "Show stack trace if the upgrade process executed by npx fails.",
56
+ type: "boolean"
57
+ },
58
+ {
59
+ name: "registry",
60
+ type: "string",
61
+ default: "",
62
+ description: "registry URL"
63
+ },
64
+ {
65
+ name: "package-manager",
66
+ type: "string",
67
+ default: "",
68
+ description: "Package manager to use: yarn, pnpm, or npm (auto-detected from lock file if omitted)"
69
+ },
70
+ {
71
+ name: "skip-dependency-guard",
72
+ default: false,
73
+ description: "Skip the dependency guard that checks for incompatible dependencies before performing the upgrade.",
74
+ type: "boolean"
75
+ },
76
+ {
77
+ name: "install-version",
78
+ type: "string",
79
+ default: "",
80
+ description: "Install a specific version of Webiny, no matter the version upgrade script is running for. Eg. upgrade script is for 6.5.0 but you want to install 6.5.0-rc.0"
81
+ }
82
+ ],
83
+ handler: async (params)=>{
84
+ const version = this.getVersion(params);
85
+ return this.upgradeCommandHandler.handle({
86
+ force: params.force || false,
87
+ logLevel: params.logLevel || "info",
88
+ showLogs: params.showLogs || false,
89
+ showStackTrace: params.showStackTrace || false,
90
+ skipChecks: params.skipChecks || false,
91
+ debug: true,
92
+ packageManager: params.packageManager || void 0,
93
+ registry: params.registry || void 0,
94
+ installVersion: params.installVersion || void 0,
95
+ skipDependencyGuard: params.skipDependencyGuard || false,
96
+ version
97
+ });
98
+ }
99
+ };
100
+ }
101
+ getVersion(params) {
102
+ const version = semver.valid(params._[1]) ? params._[1] : params.target;
103
+ if (!version || "latest" === version) return "latest";
104
+ if (params.disableSemver) return version;
105
+ try {
106
+ const parsed = semver.parse(version);
107
+ if (!parsed) throw new Error();
108
+ return parsed.format();
109
+ } catch (ex) {
110
+ throw new Error(`Invalid version provided: "${version}". Use --disable-semver to allow non-semver versions: ${ex.message}`);
111
+ }
112
+ }
113
+ }
114
+ const UpgradeCommand = CliCommandFactory.createImplementation({
115
+ implementation: UpgradeCommandImpl,
116
+ dependencies: [
117
+ UiService,
118
+ UpgradeCommandHandler
119
+ ]
120
+ });
121
+ export { UpgradeCommand };
122
+
123
+ //# sourceMappingURL=UpgradeCommand.js.map