@webiny/project 6.3.0 → 6.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (875) hide show
  1. package/GracefulError.js +13 -15
  2. package/GracefulError.js.map +1 -1
  3. package/ProjectError.js +11 -13
  4. package/ProjectError.js.map +1 -1
  5. package/ProjectSdk.js +113 -129
  6. package/ProjectSdk.js.map +1 -1
  7. package/abstractions/createAbstraction.js +3 -2
  8. package/abstractions/createAbstraction.js.map +1 -1
  9. package/abstractions/features/BuildApp.js +2 -1
  10. package/abstractions/features/BuildApp.js.map +1 -1
  11. package/abstractions/features/BuildExtension.js +2 -1
  12. package/abstractions/features/BuildExtension.js.map +1 -1
  13. package/abstractions/features/DeployApp.js +2 -1
  14. package/abstractions/features/DeployApp.js.map +1 -1
  15. package/abstractions/features/DestroyApp.js +2 -1
  16. package/abstractions/features/DestroyApp.js.map +1 -1
  17. package/abstractions/features/ExportStack.js +2 -1
  18. package/abstractions/features/ExportStack.js.map +1 -1
  19. package/abstractions/features/GetApp.js +2 -1
  20. package/abstractions/features/GetApp.js.map +1 -1
  21. package/abstractions/features/GetAppOutput.js +2 -1
  22. package/abstractions/features/GetAppOutput.js.map +1 -1
  23. package/abstractions/features/GetAppStackOutput.js +2 -6
  24. package/abstractions/features/GetAppStackOutput.js.map +1 -1
  25. package/abstractions/features/GetFeatureFlags.js +2 -1
  26. package/abstractions/features/GetFeatureFlags.js.map +1 -1
  27. package/abstractions/features/GetLogger.js +2 -1
  28. package/abstractions/features/GetLogger.js.map +1 -1
  29. package/abstractions/features/GetProductionEnvironments.js +2 -1
  30. package/abstractions/features/GetProductionEnvironments.js.map +1 -1
  31. package/abstractions/features/GetProject.js +2 -1
  32. package/abstractions/features/GetProject.js.map +1 -1
  33. package/abstractions/features/GetProjectConfig.js +2 -1
  34. package/abstractions/features/GetProjectConfig.js.map +1 -1
  35. package/abstractions/features/GetProjectInfo.js +2 -1
  36. package/abstractions/features/GetProjectInfo.js.map +1 -1
  37. package/abstractions/features/GetPulumiResourceNamePrefix.js +2 -1
  38. package/abstractions/features/GetPulumiResourceNamePrefix.js.map +1 -1
  39. package/abstractions/features/InstallExtension.js +2 -1
  40. package/abstractions/features/InstallExtension.js.map +1 -1
  41. package/abstractions/features/IsCi.js +2 -1
  42. package/abstractions/features/IsCi.js.map +1 -1
  43. package/abstractions/features/IsTelemetryEnabled.js +2 -1
  44. package/abstractions/features/IsTelemetryEnabled.js.map +1 -1
  45. package/abstractions/features/IsWcpEnabled.js +2 -1
  46. package/abstractions/features/IsWcpEnabled.js.map +1 -1
  47. package/abstractions/features/IsWebinyJsRepo.js +2 -1
  48. package/abstractions/features/IsWebinyJsRepo.js.map +1 -1
  49. package/abstractions/features/RefreshApp.js +2 -1
  50. package/abstractions/features/RefreshApp.js.map +1 -1
  51. package/abstractions/features/RunPulumiCommand.js +2 -1
  52. package/abstractions/features/RunPulumiCommand.js.map +1 -1
  53. package/abstractions/features/ValidateProjectConfig.js +2 -1
  54. package/abstractions/features/ValidateProjectConfig.js.map +1 -1
  55. package/abstractions/features/Watch.js +2 -1
  56. package/abstractions/features/Watch.js.map +1 -1
  57. package/abstractions/features/hooks/AdminAfterBuild.js +2 -1
  58. package/abstractions/features/hooks/AdminAfterBuild.js.map +1 -1
  59. package/abstractions/features/hooks/AdminAfterDeploy.js +2 -1
  60. package/abstractions/features/hooks/AdminAfterDeploy.js.map +1 -1
  61. package/abstractions/features/hooks/AdminBeforeBuild.js +2 -1
  62. package/abstractions/features/hooks/AdminBeforeBuild.js.map +1 -1
  63. package/abstractions/features/hooks/AdminBeforeDeploy.js +2 -1
  64. package/abstractions/features/hooks/AdminBeforeDeploy.js.map +1 -1
  65. package/abstractions/features/hooks/AdminBeforeWatch.js +2 -1
  66. package/abstractions/features/hooks/AdminBeforeWatch.js.map +1 -1
  67. package/abstractions/features/hooks/AfterBuild.js +2 -1
  68. package/abstractions/features/hooks/AfterBuild.js.map +1 -1
  69. package/abstractions/features/hooks/AfterDeploy.js +2 -1
  70. package/abstractions/features/hooks/AfterDeploy.js.map +1 -1
  71. package/abstractions/features/hooks/ApiAfterBuild.js +2 -1
  72. package/abstractions/features/hooks/ApiAfterBuild.js.map +1 -1
  73. package/abstractions/features/hooks/ApiAfterDeploy.js +2 -1
  74. package/abstractions/features/hooks/ApiAfterDeploy.js.map +1 -1
  75. package/abstractions/features/hooks/ApiBeforeBuild.js +2 -1
  76. package/abstractions/features/hooks/ApiBeforeBuild.js.map +1 -1
  77. package/abstractions/features/hooks/ApiBeforeDeploy.js +2 -1
  78. package/abstractions/features/hooks/ApiBeforeDeploy.js.map +1 -1
  79. package/abstractions/features/hooks/ApiBeforeWatch.js +2 -1
  80. package/abstractions/features/hooks/ApiBeforeWatch.js.map +1 -1
  81. package/abstractions/features/hooks/BeforeBuild.js +2 -1
  82. package/abstractions/features/hooks/BeforeBuild.js.map +1 -1
  83. package/abstractions/features/hooks/BeforeDeploy.js +2 -1
  84. package/abstractions/features/hooks/BeforeDeploy.js.map +1 -1
  85. package/abstractions/features/hooks/BeforeWatch.js +2 -1
  86. package/abstractions/features/hooks/BeforeWatch.js.map +1 -1
  87. package/abstractions/features/hooks/CoreAfterBuild.js +2 -1
  88. package/abstractions/features/hooks/CoreAfterBuild.js.map +1 -1
  89. package/abstractions/features/hooks/CoreAfterDeploy.js +2 -1
  90. package/abstractions/features/hooks/CoreAfterDeploy.js.map +1 -1
  91. package/abstractions/features/hooks/CoreBeforeBuild.js +2 -1
  92. package/abstractions/features/hooks/CoreBeforeBuild.js.map +1 -1
  93. package/abstractions/features/hooks/CoreBeforeDeploy.js +2 -1
  94. package/abstractions/features/hooks/CoreBeforeDeploy.js.map +1 -1
  95. package/abstractions/features/hooks/CoreBeforeWatch.js +2 -1
  96. package/abstractions/features/hooks/CoreBeforeWatch.js.map +1 -1
  97. package/abstractions/features/hooks/index.js +0 -2
  98. package/abstractions/features/index.js +0 -2
  99. package/abstractions/index.js +0 -2
  100. package/abstractions/models/IAppModel.js +0 -3
  101. package/abstractions/models/IAppPackageModel.js +0 -3
  102. package/abstractions/models/IPathModel.js +0 -3
  103. package/abstractions/models/IProjectConfigDto.js +0 -3
  104. package/abstractions/models/IProjectConfigModel.js +0 -3
  105. package/abstractions/models/IProjectModel.js +0 -3
  106. package/abstractions/models/IUrlModel.js +0 -3
  107. package/abstractions/models/IWcpEnvironmentDto.js +0 -3
  108. package/abstractions/models/IWcpEnvironmentModel.js +0 -3
  109. package/abstractions/models/IWcpUserDto.js +0 -3
  110. package/abstractions/models/IWcpUserModel.js +0 -3
  111. package/abstractions/models/IWcpUserPatDto.js +0 -3
  112. package/abstractions/models/IWcpUserPatModel.js +0 -3
  113. package/abstractions/models/PackagesBuilder/IPackagesBuilder.js +0 -3
  114. package/abstractions/models/PackagesBuilder/IRunnableBuildProcess.js +0 -3
  115. package/abstractions/models/PackagesBuilder/IRunnableBuildProcesses.js +0 -3
  116. package/abstractions/models/PackagesBuilder/index.js +0 -3
  117. package/abstractions/models/index.js +0 -3
  118. package/abstractions/services/BuildAppWorkspaceService.js +2 -1
  119. package/abstractions/services/BuildAppWorkspaceService.js.map +1 -1
  120. package/abstractions/services/BuildProjectWorkspaceService.js +2 -1
  121. package/abstractions/services/BuildProjectWorkspaceService.js.map +1 -1
  122. package/abstractions/services/GetAppPackagesService.js +2 -1
  123. package/abstractions/services/GetAppPackagesService.js.map +1 -1
  124. package/abstractions/services/GetAppService.js +2 -1
  125. package/abstractions/services/GetAppService.js.map +1 -1
  126. package/abstractions/services/GetCwdService.js +2 -1
  127. package/abstractions/services/GetCwdService.js.map +1 -1
  128. package/abstractions/services/GetProjectConfigService.js +2 -1
  129. package/abstractions/services/GetProjectConfigService.js.map +1 -1
  130. package/abstractions/services/GetProjectIdService.js +2 -1
  131. package/abstractions/services/GetProjectIdService.js.map +1 -1
  132. package/abstractions/services/GetProjectService.js +2 -1
  133. package/abstractions/services/GetProjectService.js.map +1 -1
  134. package/abstractions/services/GetProjectVersionService.js +2 -1
  135. package/abstractions/services/GetProjectVersionService.js.map +1 -1
  136. package/abstractions/services/GetPulumiService.js +2 -1
  137. package/abstractions/services/GetPulumiService.js.map +1 -1
  138. package/abstractions/services/InitProjectSdkService.js +2 -1
  139. package/abstractions/services/InitProjectSdkService.js.map +1 -1
  140. package/abstractions/services/InstallExtensionService.js +2 -1
  141. package/abstractions/services/InstallExtensionService.js.map +1 -1
  142. package/abstractions/services/IsRemotePulumiBackendService.js +2 -1
  143. package/abstractions/services/IsRemotePulumiBackendService.js.map +1 -1
  144. package/abstractions/services/ListAppLambdaFunctionsService.js +2 -1
  145. package/abstractions/services/ListAppLambdaFunctionsService.js.map +1 -1
  146. package/abstractions/services/ListDeployedEnvironmentsService.js +2 -1
  147. package/abstractions/services/ListDeployedEnvironmentsService.js.map +1 -1
  148. package/abstractions/services/ListPackagesInAppWorkspaceService.js +2 -1
  149. package/abstractions/services/ListPackagesInAppWorkspaceService.js.map +1 -1
  150. package/abstractions/services/ListPackagesService.js +2 -1
  151. package/abstractions/services/ListPackagesService.js.map +1 -1
  152. package/abstractions/services/LoadEnvVarsService.js +2 -1
  153. package/abstractions/services/LoadEnvVarsService.js.map +1 -1
  154. package/abstractions/services/LocalStorageService.js +2 -1
  155. package/abstractions/services/LocalStorageService.js.map +1 -1
  156. package/abstractions/services/LoggerService.js +2 -1
  157. package/abstractions/services/LoggerService.js.map +1 -1
  158. package/abstractions/services/ProjectInfoService/GetIsCiService.js +2 -1
  159. package/abstractions/services/ProjectInfoService/GetIsCiService.js.map +1 -1
  160. package/abstractions/services/ProjectInfoService/GetNpmVersionService.js +2 -1
  161. package/abstractions/services/ProjectInfoService/GetNpmVersionService.js.map +1 -1
  162. package/abstractions/services/ProjectInfoService/GetNpxVersionService.js +2 -1
  163. package/abstractions/services/ProjectInfoService/GetNpxVersionService.js.map +1 -1
  164. package/abstractions/services/ProjectInfoService/GetPulumiVersionService.js +2 -1
  165. package/abstractions/services/ProjectInfoService/GetPulumiVersionService.js.map +1 -1
  166. package/abstractions/services/ProjectInfoService/GetYarnVersionService.js +2 -1
  167. package/abstractions/services/ProjectInfoService/GetYarnVersionService.js.map +1 -1
  168. package/abstractions/services/ProjectInfoService/ProjectInfoService.js +2 -1
  169. package/abstractions/services/ProjectInfoService/ProjectInfoService.js.map +1 -1
  170. package/abstractions/services/ProjectInfoService/index.js +0 -2
  171. package/abstractions/services/ProjectSdkParamsService.js +2 -1
  172. package/abstractions/services/ProjectSdkParamsService.js.map +1 -1
  173. package/abstractions/services/PulumiExportService.js +3 -4
  174. package/abstractions/services/PulumiExportService.js.map +1 -1
  175. package/abstractions/services/PulumiGetConfigPassphraseService.js +2 -1
  176. package/abstractions/services/PulumiGetConfigPassphraseService.js.map +1 -1
  177. package/abstractions/services/PulumiGetSecretsProviderService.js +2 -1
  178. package/abstractions/services/PulumiGetSecretsProviderService.js.map +1 -1
  179. package/abstractions/services/PulumiGetStackOutputService.js +2 -1
  180. package/abstractions/services/PulumiGetStackOutputService.js.map +1 -1
  181. package/abstractions/services/PulumiImportService.js +2 -1
  182. package/abstractions/services/PulumiImportService.js.map +1 -1
  183. package/abstractions/services/PulumiLoginService.js +2 -1
  184. package/abstractions/services/PulumiLoginService.js.map +1 -1
  185. package/abstractions/services/PulumiSelectStackService.js +2 -1
  186. package/abstractions/services/PulumiSelectStackService.js.map +1 -1
  187. package/abstractions/services/SetProjectIdService.js +2 -1
  188. package/abstractions/services/SetProjectIdService.js.map +1 -1
  189. package/abstractions/services/StdioService.js +2 -1
  190. package/abstractions/services/StdioService.js.map +1 -1
  191. package/abstractions/services/UiService.js +2 -1
  192. package/abstractions/services/UiService.js.map +1 -1
  193. package/abstractions/services/ValidateProjectConfigService.js +2 -1
  194. package/abstractions/services/ValidateProjectConfigService.js.map +1 -1
  195. package/abstractions/services/WatchedLambdaFunctionsService.js +2 -1
  196. package/abstractions/services/WatchedLambdaFunctionsService.js.map +1 -1
  197. package/abstractions/services/WcpService.js +2 -1
  198. package/abstractions/services/WcpService.js.map +1 -1
  199. package/abstractions/services/index.js +0 -2
  200. package/abstractions/types.js +0 -3
  201. package/components/Wcp.js +27 -38
  202. package/components/Wcp.js.map +1 -1
  203. package/createProjectSdkContainer.js +103 -112
  204. package/createProjectSdkContainer.js.map +1 -1
  205. package/decorators/BuildAppWithHooks.js +54 -44
  206. package/decorators/BuildAppWithHooks.js.map +1 -1
  207. package/decorators/DeployAppClearWatchedLambdaFunctions.js +27 -29
  208. package/decorators/DeployAppClearWatchedLambdaFunctions.js.map +1 -1
  209. package/decorators/DeployAppRefreshStackOutputCache.js +26 -30
  210. package/decorators/DeployAppRefreshStackOutputCache.js.map +1 -1
  211. package/decorators/DeployAppWithHooks.js +51 -41
  212. package/decorators/DeployAppWithHooks.js.map +1 -1
  213. package/decorators/DeployAppWithWatchedLambdaReplacement.js +33 -37
  214. package/decorators/DeployAppWithWatchedLambdaReplacement.js.map +1 -1
  215. package/decorators/GetFeatureFlagsWithLicense.js +36 -57
  216. package/decorators/GetFeatureFlagsWithLicense.js.map +1 -1
  217. package/decorators/GetPulumiServiceWithDownloadInfo.js +21 -19
  218. package/decorators/GetPulumiServiceWithDownloadInfo.js.map +1 -1
  219. package/decorators/WatchWithHooks.js +30 -27
  220. package/decorators/WatchWithHooks.js.map +1 -1
  221. package/decorators/index.js +0 -2
  222. package/defineExtension/createExtensionDefinition.js +12 -19
  223. package/defineExtension/createExtensionDefinition.js.map +1 -1
  224. package/defineExtension/createExtensionReactComponent.js +40 -46
  225. package/defineExtension/createExtensionReactComponent.js.map +1 -1
  226. package/defineExtension/defineExtension.js +8 -9
  227. package/defineExtension/defineExtension.js.map +1 -1
  228. package/defineExtension/index.js +0 -2
  229. package/defineExtension/models/ExtensionDefinitionModel.js +11 -10
  230. package/defineExtension/models/ExtensionDefinitionModel.js.map +1 -1
  231. package/defineExtension/models/ExtensionInstanceModel.js +23 -24
  232. package/defineExtension/models/ExtensionInstanceModel.js.map +1 -1
  233. package/defineExtension/models/index.js +0 -2
  234. package/defineExtension/types.js +0 -3
  235. package/defineExtension/zodTypes/zodSrcPath.js +35 -61
  236. package/defineExtension/zodTypes/zodSrcPath.js.map +1 -1
  237. package/exports/infra/admin.js +0 -2
  238. package/exports/infra/api.js +0 -2
  239. package/exports/infra/core.js +0 -2
  240. package/exports/infra.js +0 -2
  241. package/extensions/AdminBuildParam.js +105 -147
  242. package/extensions/AdminBuildParam.js.map +1 -1
  243. package/extensions/AdminExtension.js +64 -90
  244. package/extensions/AdminExtension.js.map +1 -1
  245. package/extensions/ApiBuildParam.js +71 -97
  246. package/extensions/ApiBuildParam.js.map +1 -1
  247. package/extensions/ApiExtension.js +71 -92
  248. package/extensions/ApiExtension.js.map +1 -1
  249. package/extensions/DatabaseSetup.js +14 -9
  250. package/extensions/DatabaseSetup.js.map +1 -1
  251. package/extensions/EnvVar.js +12 -16
  252. package/extensions/EnvVar.js.map +1 -1
  253. package/extensions/ExtensionDefinitions.js +11 -10
  254. package/extensions/ExtensionDefinitions.js.map +1 -1
  255. package/extensions/FeatureFlags.js +47 -48
  256. package/extensions/FeatureFlags.js.map +1 -1
  257. package/extensions/Project/EnsureApiDeployedBeforeAdminBuild.js +20 -21
  258. package/extensions/Project/EnsureApiDeployedBeforeAdminBuild.js.map +1 -1
  259. package/extensions/Project/EnsureApiDeployedBeforeAdminWatch.js +20 -21
  260. package/extensions/Project/EnsureApiDeployedBeforeAdminWatch.js.map +1 -1
  261. package/extensions/Project/EnsureApiDeployedBeforeWatch.js +20 -21
  262. package/extensions/Project/EnsureApiDeployedBeforeWatch.js.map +1 -1
  263. package/extensions/Project/EnsureCoreDeployedBeforeApiDeploy.js +22 -25
  264. package/extensions/Project/EnsureCoreDeployedBeforeApiDeploy.js.map +1 -1
  265. package/extensions/Project/EnsureTelemetryEnabledForOss.js +25 -28
  266. package/extensions/Project/EnsureTelemetryEnabledForOss.js.map +1 -1
  267. package/extensions/Project/SetAdminAppEnvVarsBeforeBuild.js +29 -34
  268. package/extensions/Project/SetAdminAppEnvVarsBeforeBuild.js.map +1 -1
  269. package/extensions/Project/SetAdminAppEnvVarsBeforeWatch.js +30 -35
  270. package/extensions/Project/SetAdminAppEnvVarsBeforeWatch.js.map +1 -1
  271. package/extensions/Project/ShowConfigChangeInfoBeforeAdminWatch.js +12 -9
  272. package/extensions/Project/ShowConfigChangeInfoBeforeAdminWatch.js.map +1 -1
  273. package/extensions/Project/ShowConfigChangeInfoBeforeApiWatch.js +12 -9
  274. package/extensions/Project/ShowConfigChangeInfoBeforeApiWatch.js.map +1 -1
  275. package/extensions/Project/TelemetryNoLongerNewUser.js +7 -7
  276. package/extensions/Project/TelemetryNoLongerNewUser.js.map +1 -1
  277. package/extensions/Project/ValidateEncryptionBeforeDeploy.js +22 -23
  278. package/extensions/Project/ValidateEncryptionBeforeDeploy.js.map +1 -1
  279. package/extensions/Project/ValidateProductionPulumiState.js +25 -28
  280. package/extensions/Project/ValidateProductionPulumiState.js.map +1 -1
  281. package/extensions/Project/WcpInjectTelemetryClientAfterBuild.js +46 -51
  282. package/extensions/Project/WcpInjectTelemetryClientAfterBuild.js.map +1 -1
  283. package/extensions/Project.js +29 -30
  284. package/extensions/Project.js.map +1 -1
  285. package/extensions/ProjectDecorator.js +13 -16
  286. package/extensions/ProjectDecorator.js.map +1 -1
  287. package/extensions/ProjectId.js +11 -13
  288. package/extensions/ProjectId.js.map +1 -1
  289. package/extensions/ProjectImplementation.js +14 -17
  290. package/extensions/ProjectImplementation.js.map +1 -1
  291. package/extensions/Telemetry.js +10 -9
  292. package/extensions/Telemetry.js.map +1 -1
  293. package/extensions/hooks/AdminAfterBuild.js +16 -19
  294. package/extensions/hooks/AdminAfterBuild.js.map +1 -1
  295. package/extensions/hooks/AdminAfterDeploy.js +16 -19
  296. package/extensions/hooks/AdminAfterDeploy.js.map +1 -1
  297. package/extensions/hooks/AdminBeforeBuild.js +16 -19
  298. package/extensions/hooks/AdminBeforeBuild.js.map +1 -1
  299. package/extensions/hooks/AdminBeforeDeploy.js +16 -19
  300. package/extensions/hooks/AdminBeforeDeploy.js.map +1 -1
  301. package/extensions/hooks/AdminBeforeWatch.js +16 -19
  302. package/extensions/hooks/AdminBeforeWatch.js.map +1 -1
  303. package/extensions/hooks/AfterBuild.js +15 -18
  304. package/extensions/hooks/AfterBuild.js.map +1 -1
  305. package/extensions/hooks/AfterDeploy.js +15 -18
  306. package/extensions/hooks/AfterDeploy.js.map +1 -1
  307. package/extensions/hooks/ApiAfterBuild.js +16 -19
  308. package/extensions/hooks/ApiAfterBuild.js.map +1 -1
  309. package/extensions/hooks/ApiAfterDeploy.js +16 -19
  310. package/extensions/hooks/ApiAfterDeploy.js.map +1 -1
  311. package/extensions/hooks/ApiBeforeBuild.js +16 -19
  312. package/extensions/hooks/ApiBeforeBuild.js.map +1 -1
  313. package/extensions/hooks/ApiBeforeDeploy.js +16 -19
  314. package/extensions/hooks/ApiBeforeDeploy.js.map +1 -1
  315. package/extensions/hooks/ApiBeforeWatch.js +16 -19
  316. package/extensions/hooks/ApiBeforeWatch.js.map +1 -1
  317. package/extensions/hooks/BeforeBuild.js +15 -18
  318. package/extensions/hooks/BeforeBuild.js.map +1 -1
  319. package/extensions/hooks/BeforeDeploy.js +15 -18
  320. package/extensions/hooks/BeforeDeploy.js.map +1 -1
  321. package/extensions/hooks/BeforeWatch.js +15 -18
  322. package/extensions/hooks/BeforeWatch.js.map +1 -1
  323. package/extensions/hooks/CoreAfterBuild.js +16 -19
  324. package/extensions/hooks/CoreAfterBuild.js.map +1 -1
  325. package/extensions/hooks/CoreAfterDeploy.js +16 -19
  326. package/extensions/hooks/CoreAfterDeploy.js.map +1 -1
  327. package/extensions/hooks/CoreBeforeBuild.js +16 -19
  328. package/extensions/hooks/CoreBeforeBuild.js.map +1 -1
  329. package/extensions/hooks/CoreBeforeDeploy.js +16 -19
  330. package/extensions/hooks/CoreBeforeDeploy.js.map +1 -1
  331. package/extensions/hooks/CoreBeforeWatch.js +16 -19
  332. package/extensions/hooks/CoreBeforeWatch.js.map +1 -1
  333. package/extensions/hooks/index.js +0 -2
  334. package/extensions/index.js +43 -57
  335. package/extensions/index.js.map +1 -1
  336. package/extensions/infra/Ci.js +8 -24
  337. package/extensions/infra/Ci.js.map +1 -1
  338. package/extensions/infra/Env.js +35 -92
  339. package/extensions/infra/Env.js.map +1 -1
  340. package/extensions/infra/index.js +0 -2
  341. package/extensions/pulumi/AdminStackOutputValue.js +13 -12
  342. package/extensions/pulumi/AdminStackOutputValue.js.map +1 -1
  343. package/extensions/pulumi/ApiStackOutputValue.js +13 -12
  344. package/extensions/pulumi/ApiStackOutputValue.js.map +1 -1
  345. package/extensions/pulumi/CoreStackOutputValue.js +13 -12
  346. package/extensions/pulumi/CoreStackOutputValue.js.map +1 -1
  347. package/extensions/pulumi/ProductionEnvironments.js +29 -39
  348. package/extensions/pulumi/ProductionEnvironments.js.map +1 -1
  349. package/extensions/pulumi/PulumiResourceNamePrefix.js +10 -9
  350. package/extensions/pulumi/PulumiResourceNamePrefix.js.map +1 -1
  351. package/extensions/pulumi/index.js +0 -2
  352. package/features/BuildApp/BuildApp.js +49 -40
  353. package/features/BuildApp/BuildApp.js.map +1 -1
  354. package/features/BuildApp/PackagesBuilder/PackagesBuilder.js +34 -39
  355. package/features/BuildApp/PackagesBuilder/PackagesBuilder.js.map +1 -1
  356. package/features/BuildApp/PackagesBuilder/RunnableBuildProcess.js +39 -33
  357. package/features/BuildApp/PackagesBuilder/RunnableBuildProcess.js.map +1 -1
  358. package/features/BuildApp/PackagesBuilder/RunnableBuildProcesses.js +39 -46
  359. package/features/BuildApp/PackagesBuilder/RunnableBuildProcesses.js.map +1 -1
  360. package/features/BuildApp/PackagesBuilder/worker.js +26 -34
  361. package/features/BuildApp/PackagesBuilder/worker.js.map +1 -1
  362. package/features/BuildApp/index.js +0 -2
  363. package/features/DeployApp/DeployApp.js +79 -79
  364. package/features/DeployApp/DeployApp.js.map +1 -1
  365. package/features/DeployApp/index.js +0 -2
  366. package/features/DestroyApp/DestroyApp.js +60 -46
  367. package/features/DestroyApp/DestroyApp.js.map +1 -1
  368. package/features/DestroyApp/index.js +0 -2
  369. package/features/ExportStack/ExportStack.js +21 -16
  370. package/features/ExportStack/ExportStack.js.map +1 -1
  371. package/features/ExportStack/index.js +0 -2
  372. package/features/GetApp/GetApp.js +14 -11
  373. package/features/GetApp/GetApp.js.map +1 -1
  374. package/features/GetApp/index.js +0 -2
  375. package/features/GetAppOutput/GetAppOutput.js +44 -33
  376. package/features/GetAppOutput/GetAppOutput.js.map +1 -1
  377. package/features/GetAppOutput/index.js +0 -2
  378. package/features/GetAppStackOutput/GetAppStackOutput.js +20 -15
  379. package/features/GetAppStackOutput/GetAppStackOutput.js.map +1 -1
  380. package/features/GetAppStackOutput/index.js +0 -2
  381. package/features/GetFeatureFlags/GetFeatureFlags.js +20 -19
  382. package/features/GetFeatureFlags/GetFeatureFlags.js.map +1 -1
  383. package/features/GetFeatureFlags/index.js +0 -2
  384. package/features/GetLogger/GetLogger.js +14 -11
  385. package/features/GetLogger/GetLogger.js.map +1 -1
  386. package/features/GetLogger/index.js +0 -2
  387. package/features/GetProductionEnvironments/GetProductionEnvironments.js +24 -19
  388. package/features/GetProductionEnvironments/GetProductionEnvironments.js.map +1 -1
  389. package/features/GetProductionEnvironments/index.js +0 -2
  390. package/features/GetProject/GetProject.js +14 -11
  391. package/features/GetProject/GetProject.js.map +1 -1
  392. package/features/GetProject/index.js +0 -2
  393. package/features/GetProjectConfig/GetProjectConfig.js +14 -11
  394. package/features/GetProjectConfig/GetProjectConfig.js.map +1 -1
  395. package/features/GetProjectConfig/index.js +0 -2
  396. package/features/GetProjectInfo/GetProjectInfo.js +14 -11
  397. package/features/GetProjectInfo/GetProjectInfo.js.map +1 -1
  398. package/features/GetProjectInfo/index.js +0 -2
  399. package/features/GetPulumiResourceNamePrefix/GetPulumiResourceNamePrefix.js +18 -17
  400. package/features/GetPulumiResourceNamePrefix/GetPulumiResourceNamePrefix.js.map +1 -1
  401. package/features/GetPulumiResourceNamePrefix/index.js +0 -2
  402. package/features/InstallExtension/InstallExtension.js +14 -11
  403. package/features/InstallExtension/InstallExtension.js.map +1 -1
  404. package/features/InstallExtension/index.js +0 -2
  405. package/features/IsCi/IsCi.js +14 -11
  406. package/features/IsCi/IsCi.js.map +1 -1
  407. package/features/IsCi/index.js +0 -2
  408. package/features/IsTelemetryEnabled/IsTelemetryEnabled.js +19 -18
  409. package/features/IsTelemetryEnabled/IsTelemetryEnabled.js.map +1 -1
  410. package/features/IsTelemetryEnabled/index.js +0 -2
  411. package/features/IsWcpEnabled/IsWcpEnabled.js +15 -12
  412. package/features/IsWcpEnabled/IsWcpEnabled.js.map +1 -1
  413. package/features/IsWcpEnabled/index.js +0 -2
  414. package/features/IsWebinyJsRepo/IsWebinyJsRepo.js +17 -14
  415. package/features/IsWebinyJsRepo/IsWebinyJsRepo.js.map +1 -1
  416. package/features/IsWebinyJsRepo/index.js +0 -2
  417. package/features/RefreshApp/RefreshApp.js +57 -46
  418. package/features/RefreshApp/RefreshApp.js.map +1 -1
  419. package/features/RefreshApp/index.js +0 -2
  420. package/features/RunPulumiCommand/RunPulumiCommand.js +54 -43
  421. package/features/RunPulumiCommand/RunPulumiCommand.js.map +1 -1
  422. package/features/RunPulumiCommand/index.js +0 -2
  423. package/features/ValidateProjectConfig/ValidateProjectConfig.js +14 -11
  424. package/features/ValidateProjectConfig/ValidateProjectConfig.js.map +1 -1
  425. package/features/ValidateProjectConfig/index.js +0 -2
  426. package/features/Watch/Watch.js +178 -181
  427. package/features/Watch/Watch.js.map +1 -1
  428. package/features/Watch/getIotEndpoint.js +14 -12
  429. package/features/Watch/getIotEndpoint.js.map +1 -1
  430. package/features/Watch/index.js +0 -2
  431. package/features/Watch/initInvocationForwarding.js +76 -95
  432. package/features/Watch/initInvocationForwarding.js.map +1 -1
  433. package/features/Watch/localInvocationWorker.js +24 -33
  434. package/features/Watch/localInvocationWorker.js.map +1 -1
  435. package/features/Watch/replaceLambdaFunctions.js +61 -84
  436. package/features/Watch/replaceLambdaFunctions.js.map +1 -1
  437. package/features/Watch/watchers/BasePackagesWatcher.js +10 -13
  438. package/features/Watch/watchers/BasePackagesWatcher.js.map +1 -1
  439. package/features/Watch/watchers/MultiplePackagesWatcher.js +11 -12
  440. package/features/Watch/watchers/MultiplePackagesWatcher.js.map +1 -1
  441. package/features/Watch/watchers/PackagesWatcher.js +15 -18
  442. package/features/Watch/watchers/PackagesWatcher.js.map +1 -1
  443. package/features/Watch/watchers/RunnableWatchProcess.js +41 -40
  444. package/features/Watch/watchers/RunnableWatchProcess.js.map +1 -1
  445. package/features/Watch/watchers/RunnableWatchProcesses.js +35 -34
  446. package/features/Watch/watchers/RunnableWatchProcesses.js.map +1 -1
  447. package/features/Watch/watchers/SinglePackageWatcher.js +11 -8
  448. package/features/Watch/watchers/SinglePackageWatcher.js.map +1 -1
  449. package/features/Watch/watchers/WebinyConfigWatcher.js +30 -40
  450. package/features/Watch/watchers/WebinyConfigWatcher.js.map +1 -1
  451. package/features/Watch/watchers/ZeroPackagesWatcher.js +5 -5
  452. package/features/Watch/watchers/ZeroPackagesWatcher.js.map +1 -1
  453. package/features/Watch/watchers/utils/measureDuration.js +7 -8
  454. package/features/Watch/watchers/utils/measureDuration.js.map +1 -1
  455. package/features/Watch/watchers/worker.js +12 -21
  456. package/features/Watch/watchers/worker.js.map +1 -1
  457. package/features/hooks/AdminAfterBuild/AdminBeforeBuild.js +19 -15
  458. package/features/hooks/AdminAfterBuild/AdminBeforeBuild.js.map +1 -1
  459. package/features/hooks/AdminAfterBuild/index.js +0 -2
  460. package/features/hooks/AdminAfterDeploy/AdminBeforeBuild.js +19 -15
  461. package/features/hooks/AdminAfterDeploy/AdminBeforeBuild.js.map +1 -1
  462. package/features/hooks/AdminAfterDeploy/index.js +0 -2
  463. package/features/hooks/AdminBeforeBuild/AdminBeforeBuild.js +19 -15
  464. package/features/hooks/AdminBeforeBuild/AdminBeforeBuild.js.map +1 -1
  465. package/features/hooks/AdminBeforeBuild/index.js +0 -2
  466. package/features/hooks/AdminBeforeDeploy/AdminBeforeDeploy.js +19 -15
  467. package/features/hooks/AdminBeforeDeploy/AdminBeforeDeploy.js.map +1 -1
  468. package/features/hooks/AdminBeforeDeploy/index.js +0 -2
  469. package/features/hooks/AdminBeforeWatch/AdminBeforeWatch.js +18 -14
  470. package/features/hooks/AdminBeforeWatch/AdminBeforeWatch.js.map +1 -1
  471. package/features/hooks/AdminBeforeWatch/index.js +0 -2
  472. package/features/hooks/AfterBuild/AfterBuild.js +19 -15
  473. package/features/hooks/AfterBuild/AfterBuild.js.map +1 -1
  474. package/features/hooks/AfterBuild/index.js +0 -2
  475. package/features/hooks/AfterDeploy/AfterDeploy.js +19 -15
  476. package/features/hooks/AfterDeploy/AfterDeploy.js.map +1 -1
  477. package/features/hooks/AfterDeploy/index.js +0 -2
  478. package/features/hooks/ApiAfterBuild/ApiBeforeBuild.js +18 -14
  479. package/features/hooks/ApiAfterBuild/ApiBeforeBuild.js.map +1 -1
  480. package/features/hooks/ApiAfterBuild/index.js +0 -2
  481. package/features/hooks/ApiAfterDeploy/ApiBeforeBuild.js +18 -14
  482. package/features/hooks/ApiAfterDeploy/ApiBeforeBuild.js.map +1 -1
  483. package/features/hooks/ApiAfterDeploy/index.js +0 -2
  484. package/features/hooks/ApiBeforeBuild/ApiBeforeBuild.js +18 -14
  485. package/features/hooks/ApiBeforeBuild/ApiBeforeBuild.js.map +1 -1
  486. package/features/hooks/ApiBeforeBuild/index.js +0 -2
  487. package/features/hooks/ApiBeforeDeploy/ApiBeforeDeploy.js +18 -14
  488. package/features/hooks/ApiBeforeDeploy/ApiBeforeDeploy.js.map +1 -1
  489. package/features/hooks/ApiBeforeDeploy/index.js +0 -2
  490. package/features/hooks/ApiBeforeWatch/ApiBeforeWatch.js +18 -14
  491. package/features/hooks/ApiBeforeWatch/ApiBeforeWatch.js.map +1 -1
  492. package/features/hooks/ApiBeforeWatch/index.js +0 -2
  493. package/features/hooks/BeforeBuild/BeforeBuild.js +19 -15
  494. package/features/hooks/BeforeBuild/BeforeBuild.js.map +1 -1
  495. package/features/hooks/BeforeBuild/index.js +0 -2
  496. package/features/hooks/BeforeDeploy/BeforeDeploy.js +19 -15
  497. package/features/hooks/BeforeDeploy/BeforeDeploy.js.map +1 -1
  498. package/features/hooks/BeforeDeploy/index.js +0 -2
  499. package/features/hooks/BeforeWatch/BeforeWatch.js +19 -15
  500. package/features/hooks/BeforeWatch/BeforeWatch.js.map +1 -1
  501. package/features/hooks/BeforeWatch/index.js +0 -2
  502. package/features/hooks/CoreAfterBuild/CoreBeforeBuild.js +18 -14
  503. package/features/hooks/CoreAfterBuild/CoreBeforeBuild.js.map +1 -1
  504. package/features/hooks/CoreAfterBuild/index.js +0 -2
  505. package/features/hooks/CoreAfterDeploy/CoreBeforeBuild.js +18 -14
  506. package/features/hooks/CoreAfterDeploy/CoreBeforeBuild.js.map +1 -1
  507. package/features/hooks/CoreAfterDeploy/index.js +0 -2
  508. package/features/hooks/CoreBeforeBuild/CoreBeforeBuild.js +18 -14
  509. package/features/hooks/CoreBeforeBuild/CoreBeforeBuild.js.map +1 -1
  510. package/features/hooks/CoreBeforeBuild/index.js +0 -2
  511. package/features/hooks/CoreBeforeDeploy/CoreBeforeDeploy.js +18 -14
  512. package/features/hooks/CoreBeforeDeploy/CoreBeforeDeploy.js.map +1 -1
  513. package/features/hooks/CoreBeforeDeploy/index.js +0 -2
  514. package/features/hooks/CoreBeforeWatch/CoreBeforeWatch.js +18 -14
  515. package/features/hooks/CoreBeforeWatch/CoreBeforeWatch.js.map +1 -1
  516. package/features/hooks/CoreBeforeWatch/index.js +0 -2
  517. package/features/hooks/index.js +0 -2
  518. package/features/index.js +0 -2
  519. package/index.js +5 -10
  520. package/index.js.map +1 -1
  521. package/models/AppModel.js +20 -19
  522. package/models/AppModel.js.map +1 -1
  523. package/models/AppPackageModel.js +10 -9
  524. package/models/AppPackageModel.js.map +1 -1
  525. package/models/PathModel.js +23 -26
  526. package/models/PathModel.js.map +1 -1
  527. package/models/ProjectConfigModel.js +12 -16
  528. package/models/ProjectConfigModel.js.map +1 -1
  529. package/models/ProjectModel.js +37 -36
  530. package/models/ProjectModel.js.map +1 -1
  531. package/models/UrlModel.js +23 -23
  532. package/models/UrlModel.js.map +1 -1
  533. package/models/WcpEnvironmentModel.js +23 -22
  534. package/models/WcpEnvironmentModel.js.map +1 -1
  535. package/models/WcpUserModel.js +13 -12
  536. package/models/WcpUserModel.js.map +1 -1
  537. package/models/WcpUserPatModel.js +12 -11
  538. package/models/WcpUserPatModel.js.map +1 -1
  539. package/models/index.js +0 -2
  540. package/package.json +15 -15
  541. package/rslib-runtime.js +14 -0
  542. package/rslib-runtime.js.map +1 -0
  543. package/services/BuildAppWorkspaceService/BuildAppWorkspaceService.js +62 -69
  544. package/services/BuildAppWorkspaceService/BuildAppWorkspaceService.js.map +1 -1
  545. package/services/BuildAppWorkspaceService/index.js +0 -2
  546. package/services/BuildProjectWorkspaceService/BuildProjectWorkspaceService.js +21 -17
  547. package/services/BuildProjectWorkspaceService/BuildProjectWorkspaceService.js.map +1 -1
  548. package/services/BuildProjectWorkspaceService/index.js +0 -2
  549. package/services/GetAppPackagesService/GetAppPackagesService.js +24 -23
  550. package/services/GetAppPackagesService/GetAppPackagesService.js.map +1 -1
  551. package/services/GetAppPackagesService/index.js +0 -2
  552. package/services/GetAppService/GetAppService.js +24 -27
  553. package/services/GetAppService/GetAppService.js.map +1 -1
  554. package/services/GetAppService/index.js +0 -2
  555. package/services/GetCwdService/GetCwdService.js +15 -12
  556. package/services/GetCwdService/GetCwdService.js.map +1 -1
  557. package/services/GetCwdService/index.js +0 -2
  558. package/services/GetProjectConfigService/EnvContext.js +29 -38
  559. package/services/GetProjectConfigService/EnvContext.js.map +1 -1
  560. package/services/GetProjectConfigService/GetProjectConfigService.js +102 -115
  561. package/services/GetProjectConfigService/GetProjectConfigService.js.map +1 -1
  562. package/services/GetProjectConfigService/ProductionEnvironmentsContext.js +13 -18
  563. package/services/GetProjectConfigService/ProductionEnvironmentsContext.js.map +1 -1
  564. package/services/GetProjectConfigService/WcpProjectLicenseContext.js +32 -37
  565. package/services/GetProjectConfigService/WcpProjectLicenseContext.js.map +1 -1
  566. package/services/GetProjectConfigService/index.js +0 -2
  567. package/services/GetProjectConfigService/renderConfig.js +32 -38
  568. package/services/GetProjectConfigService/renderConfig.js.map +1 -1
  569. package/services/GetProjectConfigService/renderConfigWorker.js +37 -48
  570. package/services/GetProjectConfigService/renderConfigWorker.js.map +1 -1
  571. package/services/GetProjectIdService/GetProjectIdService.js +22 -23
  572. package/services/GetProjectIdService/GetProjectIdService.js.map +1 -1
  573. package/services/GetProjectIdService/index.js +0 -2
  574. package/services/GetProjectService/GetProjectService.js +43 -45
  575. package/services/GetProjectService/GetProjectService.js.map +1 -1
  576. package/services/GetProjectService/index.js +0 -2
  577. package/services/GetProjectVersionService/GetProjectVersionService.js +23 -22
  578. package/services/GetProjectVersionService/GetProjectVersionService.js.map +1 -1
  579. package/services/GetProjectVersionService/index.js +0 -2
  580. package/services/GetPulumiService/GetPulumiService.js +36 -41
  581. package/services/GetPulumiService/GetPulumiService.js.map +1 -1
  582. package/services/GetPulumiService/index.js +0 -2
  583. package/services/InitProjectSdkService/InitProjectSdkService.js +36 -46
  584. package/services/InitProjectSdkService/InitProjectSdkService.js.map +1 -1
  585. package/services/InitProjectSdkService/applyEnvVars.js +5 -8
  586. package/services/InitProjectSdkService/applyEnvVars.js.map +1 -1
  587. package/services/InitProjectSdkService/applyWcpEnvVars.js +91 -136
  588. package/services/InitProjectSdkService/applyWcpEnvVars.js.map +1 -1
  589. package/services/InitProjectSdkService/index.js +0 -2
  590. package/services/InitProjectSdkService/registerDecorators.js +10 -7
  591. package/services/InitProjectSdkService/registerDecorators.js.map +1 -1
  592. package/services/InitProjectSdkService/registerHooks.js +30 -7
  593. package/services/InitProjectSdkService/registerHooks.js.map +1 -1
  594. package/services/InitProjectSdkService/registerImplementations.js +10 -11
  595. package/services/InitProjectSdkService/registerImplementations.js.map +1 -1
  596. package/services/InitProjectSdkService/registerPulumiExtensions.js +12 -9
  597. package/services/InitProjectSdkService/registerPulumiExtensions.js.map +1 -1
  598. package/services/InstallExtensionService/InstallExtensionService.js +78 -121
  599. package/services/InstallExtensionService/InstallExtensionService.js.map +1 -1
  600. package/services/InstallExtensionService/downloadFolderFromS3.js +46 -65
  601. package/services/InstallExtensionService/downloadFolderFromS3.js.map +1 -1
  602. package/services/InstallExtensionService/index.js +0 -2
  603. package/services/InstallExtensionService/mergePackageJson.js +15 -25
  604. package/services/InstallExtensionService/mergePackageJson.js.map +1 -1
  605. package/services/InstallExtensionService/types.js +0 -3
  606. package/services/InstallExtensionService/updateWebinyConfig.js +60 -137
  607. package/services/InstallExtensionService/updateWebinyConfig.js.map +1 -1
  608. package/services/IsRemotePulumiBackendService/IsRemotePulumiBackendService.js +9 -17
  609. package/services/IsRemotePulumiBackendService/IsRemotePulumiBackendService.js.map +1 -1
  610. package/services/IsRemotePulumiBackendService/index.js +0 -2
  611. package/services/ListAppLambdaFunctionsService/ListAppLambdaFunctionsService.js +50 -73
  612. package/services/ListAppLambdaFunctionsService/ListAppLambdaFunctionsService.js.map +1 -1
  613. package/services/ListAppLambdaFunctionsService/index.js +0 -2
  614. package/services/ListDeployedEnvironmentsService/ListDeployedEnvironmentsService.js +21 -23
  615. package/services/ListDeployedEnvironmentsService/ListDeployedEnvironmentsService.js.map +1 -1
  616. package/services/ListDeployedEnvironmentsService/index.js +0 -2
  617. package/services/ListPackagesInAppWorkspaceService/ListPackagesInAppWorkspaceService.js +34 -29
  618. package/services/ListPackagesInAppWorkspaceService/ListPackagesInAppWorkspaceService.js.map +1 -1
  619. package/services/ListPackagesInAppWorkspaceService/index.js +0 -2
  620. package/services/ListPackagesService/ListPackagesService.js +81 -114
  621. package/services/ListPackagesService/ListPackagesService.js.map +1 -1
  622. package/services/ListPackagesService/index.js +0 -2
  623. package/services/LoadEnvVarsService/LoadEnvVarsService.js +28 -29
  624. package/services/LoadEnvVarsService/LoadEnvVarsService.js.map +1 -1
  625. package/services/LoadEnvVarsService/index.js +0 -2
  626. package/services/LocalStorageService/LocalStorageService.js +41 -44
  627. package/services/LocalStorageService/LocalStorageService.js.map +1 -1
  628. package/services/LocalStorageService/index.js +0 -2
  629. package/services/LoggerService/LoggerService.js +76 -84
  630. package/services/LoggerService/LoggerService.js.map +1 -1
  631. package/services/LoggerService/index.js +0 -2
  632. package/services/ProjectInfoService/GetIsCiService.js +9 -8
  633. package/services/ProjectInfoService/GetIsCiService.js.map +1 -1
  634. package/services/ProjectInfoService/GetNpmVersionService.js +9 -8
  635. package/services/ProjectInfoService/GetNpmVersionService.js.map +1 -1
  636. package/services/ProjectInfoService/GetNpxVersionService.js +9 -8
  637. package/services/ProjectInfoService/GetNpxVersionService.js.map +1 -1
  638. package/services/ProjectInfoService/GetPulumiVersionService.js +38 -30
  639. package/services/ProjectInfoService/GetPulumiVersionService.js.map +1 -1
  640. package/services/ProjectInfoService/GetYarnVersionService.js +9 -8
  641. package/services/ProjectInfoService/GetYarnVersionService.js.map +1 -1
  642. package/services/ProjectInfoService/ProjectInfoService.js +56 -51
  643. package/services/ProjectInfoService/ProjectInfoService.js.map +1 -1
  644. package/services/ProjectInfoService/index.js +0 -2
  645. package/services/ProjectSdkParamsService/ProjectSdkParamsService.js +37 -34
  646. package/services/ProjectSdkParamsService/ProjectSdkParamsService.js.map +1 -1
  647. package/services/ProjectSdkParamsService/index.js +0 -2
  648. package/services/PulumiExportService/PulumiExportService.js +42 -35
  649. package/services/PulumiExportService/PulumiExportService.js.map +1 -1
  650. package/services/PulumiExportService/index.js +0 -2
  651. package/services/PulumiGetConfigPassphraseService/PulumiGetConfigPassphraseService.js +9 -8
  652. package/services/PulumiGetConfigPassphraseService/PulumiGetConfigPassphraseService.js.map +1 -1
  653. package/services/PulumiGetConfigPassphraseService/index.js +0 -2
  654. package/services/PulumiGetSecretsProviderService/PulumiGetSecretsProviderService.js +9 -8
  655. package/services/PulumiGetSecretsProviderService/PulumiGetSecretsProviderService.js.map +1 -1
  656. package/services/PulumiGetSecretsProviderService/index.js +0 -2
  657. package/services/PulumiGetStackOutputService/PulumiGetStackOutputService.js +108 -100
  658. package/services/PulumiGetStackOutputService/PulumiGetStackOutputService.js.map +1 -1
  659. package/services/PulumiGetStackOutputService/index.js +0 -2
  660. package/services/PulumiGetStackOutputService/mapStackOutput.js +17 -29
  661. package/services/PulumiGetStackOutputService/mapStackOutput.js.map +1 -1
  662. package/services/PulumiImportService/PulumiImportService.js +48 -45
  663. package/services/PulumiImportService/PulumiImportService.js.map +1 -1
  664. package/services/PulumiImportService/index.js +0 -2
  665. package/services/PulumiLoginService/PulumiLoginService.js +43 -40
  666. package/services/PulumiLoginService/PulumiLoginService.js.map +1 -1
  667. package/services/PulumiLoginService/index.js +0 -2
  668. package/services/PulumiSelectStackService/PulumiSelectStackService.js +91 -86
  669. package/services/PulumiSelectStackService/PulumiSelectStackService.js.map +1 -1
  670. package/services/PulumiSelectStackService/index.js +0 -2
  671. package/services/SetProjectIdService/SetProjectIdService.js +43 -57
  672. package/services/SetProjectIdService/SetProjectIdService.js.map +1 -1
  673. package/services/SetProjectIdService/index.js +0 -2
  674. package/services/StdioService/StdioService.js +15 -14
  675. package/services/StdioService/StdioService.js.map +1 -1
  676. package/services/StdioService/index.js +0 -2
  677. package/services/UiService/UiService.js +55 -58
  678. package/services/UiService/UiService.js.map +1 -1
  679. package/services/UiService/index.js +0 -2
  680. package/services/ValidateProjectConfigService/ValidateProjectConfigService.js +18 -19
  681. package/services/ValidateProjectConfigService/ValidateProjectConfigService.js.map +1 -1
  682. package/services/ValidateProjectConfigService/index.js +0 -2
  683. package/services/WatchedLambdaFunctionsService/WatchedLambdaFunctionsService.js +47 -54
  684. package/services/WatchedLambdaFunctionsService/WatchedLambdaFunctionsService.js.map +1 -1
  685. package/services/WatchedLambdaFunctionsService/index.js +0 -2
  686. package/services/WcpService/CreateUserPat.js +20 -23
  687. package/services/WcpService/CreateUserPat.js.map +1 -1
  688. package/services/WcpService/GenerateUserPat.js +15 -18
  689. package/services/WcpService/GenerateUserPat.js.map +1 -1
  690. package/services/WcpService/GetPatFromLocalStorage.js +9 -10
  691. package/services/WcpService/GetPatFromLocalStorage.js.map +1 -1
  692. package/services/WcpService/GetProjectEnvironment.js +34 -47
  693. package/services/WcpService/GetProjectEnvironment.js.map +1 -1
  694. package/services/WcpService/GetProjectLicense.js +28 -38
  695. package/services/WcpService/GetProjectLicense.js.map +1 -1
  696. package/services/WcpService/GetUser.js +43 -46
  697. package/services/WcpService/GetUser.js.map +1 -1
  698. package/services/WcpService/GetUserPat.js +20 -23
  699. package/services/WcpService/GetUserPat.js.map +1 -1
  700. package/services/WcpService/LogoutUser.js +9 -8
  701. package/services/WcpService/LogoutUser.js.map +1 -1
  702. package/services/WcpService/StorePatToLocalStorage.js +9 -10
  703. package/services/WcpService/StorePatToLocalStorage.js.map +1 -1
  704. package/services/WcpService/UnsetPatFromLocalStorage.js +9 -10
  705. package/services/WcpService/UnsetPatFromLocalStorage.js.map +1 -1
  706. package/services/WcpService/WcpGqlClient.js +6 -5
  707. package/services/WcpService/WcpGqlClient.js.map +1 -1
  708. package/services/WcpService/WcpService.js +74 -75
  709. package/services/WcpService/WcpService.js.map +1 -1
  710. package/services/WcpService/index.js +0 -2
  711. package/services/index.js +0 -2
  712. package/utils/ExtensionSrcResolver.js +51 -106
  713. package/utils/ExtensionSrcResolver.js.map +1 -1
  714. package/utils/constants.js +8 -7
  715. package/utils/constants.js.map +1 -1
  716. package/utils/createPathResolver.js +2 -5
  717. package/utils/createPathResolver.js.map +1 -1
  718. package/utils/env/configuration.js +16 -25
  719. package/utils/env/configuration.js.map +1 -1
  720. package/utils/env/index.js +0 -2
  721. package/utils/env/types.js +0 -3
  722. package/utils/env/withEnv.js +4 -7
  723. package/utils/env/withEnv.js.map +1 -1
  724. package/utils/env/withEnvVariant.js +8 -11
  725. package/utils/env/withEnvVariant.js.map +1 -1
  726. package/utils/env/withProjectName.js +4 -9
  727. package/utils/env/withProjectName.js.map +1 -1
  728. package/utils/env/withPulumiConfigPassphrase.js +4 -8
  729. package/utils/env/withPulumiConfigPassphrase.js.map +1 -1
  730. package/utils/env/withRegion.js +10 -17
  731. package/utils/env/withRegion.js.map +1 -1
  732. package/utils/getRandomColorForString.js +86 -8
  733. package/utils/getRandomColorForString.js.map +1 -1
  734. package/utils/getStackName.js +11 -18
  735. package/utils/getStackName.js.map +1 -1
  736. package/utils/getTemplatesFolderPath.js +6 -8
  737. package/utils/getTemplatesFolderPath.js.map +1 -1
  738. package/utils/index.js +0 -2
  739. package/utils/isValidRegionName.js +8 -13
  740. package/utils/isValidRegionName.js.map +1 -1
  741. package/utils/isValidVariantName.js +11 -10
  742. package/utils/isValidVariantName.js.map +1 -1
  743. package/utils/measureDuration.js +7 -8
  744. package/utils/measureDuration.js.map +1 -1
  745. package/utils/projectSdkContext.js +23 -39
  746. package/utils/projectSdkContext.js.map +1 -1
  747. package/utils/regions.js +75 -63
  748. package/utils/regions.js.map +1 -1
  749. package/utils/registerExtension.js +6 -15
  750. package/utils/registerExtension.js.map +1 -1
  751. package/utils/requireConfig.js +7 -12
  752. package/utils/requireConfig.js.map +1 -1
  753. package/utils/toImportSpecifier.js +3 -9
  754. package/utils/toImportSpecifier.js.map +1 -1
  755. package/abstractions/features/hooks/index.js.map +0 -1
  756. package/abstractions/features/index.js.map +0 -1
  757. package/abstractions/index.js.map +0 -1
  758. package/abstractions/models/IAppModel.js.map +0 -1
  759. package/abstractions/models/IAppPackageModel.js.map +0 -1
  760. package/abstractions/models/IPathModel.js.map +0 -1
  761. package/abstractions/models/IProjectConfigDto.js.map +0 -1
  762. package/abstractions/models/IProjectConfigModel.js.map +0 -1
  763. package/abstractions/models/IProjectModel.js.map +0 -1
  764. package/abstractions/models/IUrlModel.js.map +0 -1
  765. package/abstractions/models/IWcpEnvironmentDto.js.map +0 -1
  766. package/abstractions/models/IWcpEnvironmentModel.js.map +0 -1
  767. package/abstractions/models/IWcpUserDto.js.map +0 -1
  768. package/abstractions/models/IWcpUserModel.js.map +0 -1
  769. package/abstractions/models/IWcpUserPatDto.js.map +0 -1
  770. package/abstractions/models/IWcpUserPatModel.js.map +0 -1
  771. package/abstractions/models/PackagesBuilder/IPackagesBuilder.js.map +0 -1
  772. package/abstractions/models/PackagesBuilder/IRunnableBuildProcess.js.map +0 -1
  773. package/abstractions/models/PackagesBuilder/IRunnableBuildProcesses.js.map +0 -1
  774. package/abstractions/models/PackagesBuilder/index.js.map +0 -1
  775. package/abstractions/models/index.js.map +0 -1
  776. package/abstractions/services/ProjectInfoService/index.js.map +0 -1
  777. package/abstractions/services/index.js.map +0 -1
  778. package/abstractions/types.js.map +0 -1
  779. package/decorators/index.js.map +0 -1
  780. package/defineExtension/index.js.map +0 -1
  781. package/defineExtension/models/index.js.map +0 -1
  782. package/defineExtension/types.js.map +0 -1
  783. package/exports/infra/admin.js.map +0 -1
  784. package/exports/infra/api.js.map +0 -1
  785. package/exports/infra/core.js.map +0 -1
  786. package/exports/infra.js.map +0 -1
  787. package/extensions/hooks/index.js.map +0 -1
  788. package/extensions/infra/index.js.map +0 -1
  789. package/extensions/pulumi/index.js.map +0 -1
  790. package/features/BuildApp/index.js.map +0 -1
  791. package/features/DeployApp/index.js.map +0 -1
  792. package/features/DestroyApp/index.js.map +0 -1
  793. package/features/ExportStack/index.js.map +0 -1
  794. package/features/GetApp/index.js.map +0 -1
  795. package/features/GetAppOutput/index.js.map +0 -1
  796. package/features/GetAppStackOutput/index.js.map +0 -1
  797. package/features/GetFeatureFlags/index.js.map +0 -1
  798. package/features/GetLogger/index.js.map +0 -1
  799. package/features/GetProductionEnvironments/index.js.map +0 -1
  800. package/features/GetProject/index.js.map +0 -1
  801. package/features/GetProjectConfig/index.js.map +0 -1
  802. package/features/GetProjectInfo/index.js.map +0 -1
  803. package/features/GetPulumiResourceNamePrefix/index.js.map +0 -1
  804. package/features/InstallExtension/index.js.map +0 -1
  805. package/features/IsCi/index.js.map +0 -1
  806. package/features/IsTelemetryEnabled/index.js.map +0 -1
  807. package/features/IsWcpEnabled/index.js.map +0 -1
  808. package/features/IsWebinyJsRepo/index.js.map +0 -1
  809. package/features/RefreshApp/index.js.map +0 -1
  810. package/features/RunPulumiCommand/index.js.map +0 -1
  811. package/features/ValidateProjectConfig/index.js.map +0 -1
  812. package/features/Watch/index.js.map +0 -1
  813. package/features/hooks/AdminAfterBuild/index.js.map +0 -1
  814. package/features/hooks/AdminAfterDeploy/index.js.map +0 -1
  815. package/features/hooks/AdminBeforeBuild/index.js.map +0 -1
  816. package/features/hooks/AdminBeforeDeploy/index.js.map +0 -1
  817. package/features/hooks/AdminBeforeWatch/index.js.map +0 -1
  818. package/features/hooks/AfterBuild/index.js.map +0 -1
  819. package/features/hooks/AfterDeploy/index.js.map +0 -1
  820. package/features/hooks/ApiAfterBuild/index.js.map +0 -1
  821. package/features/hooks/ApiAfterDeploy/index.js.map +0 -1
  822. package/features/hooks/ApiBeforeBuild/index.js.map +0 -1
  823. package/features/hooks/ApiBeforeDeploy/index.js.map +0 -1
  824. package/features/hooks/ApiBeforeWatch/index.js.map +0 -1
  825. package/features/hooks/BeforeBuild/index.js.map +0 -1
  826. package/features/hooks/BeforeDeploy/index.js.map +0 -1
  827. package/features/hooks/BeforeWatch/index.js.map +0 -1
  828. package/features/hooks/CoreAfterBuild/index.js.map +0 -1
  829. package/features/hooks/CoreAfterDeploy/index.js.map +0 -1
  830. package/features/hooks/CoreBeforeBuild/index.js.map +0 -1
  831. package/features/hooks/CoreBeforeDeploy/index.js.map +0 -1
  832. package/features/hooks/CoreBeforeWatch/index.js.map +0 -1
  833. package/features/hooks/index.js.map +0 -1
  834. package/features/index.js.map +0 -1
  835. package/models/index.js.map +0 -1
  836. package/services/BuildAppWorkspaceService/index.js.map +0 -1
  837. package/services/BuildProjectWorkspaceService/index.js.map +0 -1
  838. package/services/GetAppPackagesService/index.js.map +0 -1
  839. package/services/GetAppService/index.js.map +0 -1
  840. package/services/GetCwdService/index.js.map +0 -1
  841. package/services/GetProjectConfigService/index.js.map +0 -1
  842. package/services/GetProjectIdService/index.js.map +0 -1
  843. package/services/GetProjectService/index.js.map +0 -1
  844. package/services/GetProjectVersionService/index.js.map +0 -1
  845. package/services/GetPulumiService/index.js.map +0 -1
  846. package/services/InitProjectSdkService/index.js.map +0 -1
  847. package/services/InstallExtensionService/index.js.map +0 -1
  848. package/services/InstallExtensionService/types.js.map +0 -1
  849. package/services/IsRemotePulumiBackendService/index.js.map +0 -1
  850. package/services/ListAppLambdaFunctionsService/index.js.map +0 -1
  851. package/services/ListDeployedEnvironmentsService/index.js.map +0 -1
  852. package/services/ListPackagesInAppWorkspaceService/index.js.map +0 -1
  853. package/services/ListPackagesService/index.js.map +0 -1
  854. package/services/LoadEnvVarsService/index.js.map +0 -1
  855. package/services/LocalStorageService/index.js.map +0 -1
  856. package/services/LoggerService/index.js.map +0 -1
  857. package/services/ProjectInfoService/index.js.map +0 -1
  858. package/services/ProjectSdkParamsService/index.js.map +0 -1
  859. package/services/PulumiExportService/index.js.map +0 -1
  860. package/services/PulumiGetConfigPassphraseService/index.js.map +0 -1
  861. package/services/PulumiGetSecretsProviderService/index.js.map +0 -1
  862. package/services/PulumiGetStackOutputService/index.js.map +0 -1
  863. package/services/PulumiImportService/index.js.map +0 -1
  864. package/services/PulumiLoginService/index.js.map +0 -1
  865. package/services/PulumiSelectStackService/index.js.map +0 -1
  866. package/services/SetProjectIdService/index.js.map +0 -1
  867. package/services/StdioService/index.js.map +0 -1
  868. package/services/UiService/index.js.map +0 -1
  869. package/services/ValidateProjectConfigService/index.js.map +0 -1
  870. package/services/WatchedLambdaFunctionsService/index.js.map +0 -1
  871. package/services/WcpService/index.js.map +0 -1
  872. package/services/index.js.map +0 -1
  873. package/utils/env/index.js.map +0 -1
  874. package/utils/env/types.js.map +0 -1
  875. package/utils/index.js.map +0 -1
@@ -1,34 +1,22 @@
1
1
  import get from "lodash/get.js";
2
2
  import chalk from "chalk";
3
- const {
4
- yellow
5
- } = chalk;
6
- export const mapStackOutput = (output, map) => {
7
- const values = {};
8
- const regex = /\${(.*)}/;
9
- Object.keys(map).forEach(key => {
10
- const valuePattern = map[key];
11
- const match = regex.exec(valuePattern);
12
- if (match) {
13
- const [replace, valuePath] = match;
14
- const value = get(output, valuePath);
15
- if (!value) {
16
- console.log(yellow(`Could not map "${valuePath}" to "${key}" - value missing.`));
17
- return;
18
- }
19
- /**
20
- * It is ok to expect error here.
21
- */
22
- if (typeof value === "object" && value !== null) {
23
- // @ts-expect-error
24
- values[key] = valuePattern.replace(replace, JSON.stringify(value));
25
- } else {
26
- // @ts-expect-error
27
- values[key] = valuePattern.replace(replace, value);
28
- }
29
- }
30
- });
31
- return values;
3
+ const { yellow: yellow } = chalk;
4
+ const mapStackOutput = (output, map)=>{
5
+ const values = {};
6
+ const regex = /\${(.*)}/;
7
+ Object.keys(map).forEach((key)=>{
8
+ const valuePattern = map[key];
9
+ const match = regex.exec(valuePattern);
10
+ if (match) {
11
+ const [replace, valuePath] = match;
12
+ const value = get(output, valuePath);
13
+ if (!value) return void console.log(yellow(`Could not map "${valuePath}" to "${key}" - value missing.`));
14
+ if ("object" == typeof value && null !== value) values[key] = valuePattern.replace(replace, JSON.stringify(value));
15
+ else values[key] = valuePattern.replace(replace, value);
16
+ }
17
+ });
18
+ return values;
32
19
  };
20
+ export { mapStackOutput };
33
21
 
34
22
  //# sourceMappingURL=mapStackOutput.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["get","chalk","yellow","mapStackOutput","output","map","values","regex","Object","keys","forEach","key","valuePattern","match","exec","replace","valuePath","value","console","log","JSON","stringify"],"sources":["mapStackOutput.ts"],"sourcesContent":["import get from \"lodash/get.js\";\nimport chalk from \"chalk\";\n\nconst { yellow } = chalk;\n\nexport const mapStackOutput = <T extends Record<string, any> = Record<string, any>>(\n output: Record<string, any>,\n map: Record<string, any>\n): T => {\n const values: T = {} as T;\n const regex = /\\${(.*)}/;\n\n Object.keys(map).forEach(key => {\n const valuePattern = map[key];\n const match = regex.exec(valuePattern);\n if (match) {\n const [replace, valuePath] = match;\n const value = get(output, valuePath);\n if (!value) {\n console.log(yellow(`Could not map \"${valuePath}\" to \"${key}\" - value missing.`));\n return;\n }\n /**\n * It is ok to expect error here.\n */\n if (typeof value === \"object\" && value !== null) {\n // @ts-expect-error\n values[key] = valuePattern.replace(replace, JSON.stringify(value));\n } else {\n // @ts-expect-error\n values[key] = valuePattern.replace(replace, value);\n }\n }\n });\n\n return values;\n};\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,eAAe;AAC/B,OAAOC,KAAK,MAAM,OAAO;AAEzB,MAAM;EAAEC;AAAO,CAAC,GAAGD,KAAK;AAExB,OAAO,MAAME,cAAc,GAAGA,CAC1BC,MAA2B,EAC3BC,GAAwB,KACpB;EACJ,MAAMC,MAAS,GAAG,CAAC,CAAM;EACzB,MAAMC,KAAK,GAAG,UAAU;EAExBC,MAAM,CAACC,IAAI,CAACJ,GAAG,CAAC,CAACK,OAAO,CAACC,GAAG,IAAI;IAC5B,MAAMC,YAAY,GAAGP,GAAG,CAACM,GAAG,CAAC;IAC7B,MAAME,KAAK,GAAGN,KAAK,CAACO,IAAI,CAACF,YAAY,CAAC;IACtC,IAAIC,KAAK,EAAE;MACP,MAAM,CAACE,OAAO,EAAEC,SAAS,CAAC,GAAGH,KAAK;MAClC,MAAMI,KAAK,GAAGjB,GAAG,CAACI,MAAM,EAAEY,SAAS,CAAC;MACpC,IAAI,CAACC,KAAK,EAAE;QACRC,OAAO,CAACC,GAAG,CAACjB,MAAM,CAAC,kBAAkBc,SAAS,SAASL,GAAG,oBAAoB,CAAC,CAAC;QAChF;MACJ;MACA;AACZ;AACA;MACY,IAAI,OAAOM,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,EAAE;QAC7C;QACAX,MAAM,CAACK,GAAG,CAAC,GAAGC,YAAY,CAACG,OAAO,CAACA,OAAO,EAAEK,IAAI,CAACC,SAAS,CAACJ,KAAK,CAAC,CAAC;MACtE,CAAC,MAAM;QACH;QACAX,MAAM,CAACK,GAAG,CAAC,GAAGC,YAAY,CAACG,OAAO,CAACA,OAAO,EAAEE,KAAK,CAAC;MACtD;IACJ;EACJ,CAAC,CAAC;EAEF,OAAOX,MAAM;AACjB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"services/PulumiGetStackOutputService/mapStackOutput.js","sources":["../../../src/services/PulumiGetStackOutputService/mapStackOutput.ts"],"sourcesContent":["import get from \"lodash/get.js\";\nimport chalk from \"chalk\";\n\nconst { yellow } = chalk;\n\nexport const mapStackOutput = <T extends Record<string, any> = Record<string, any>>(\n output: Record<string, any>,\n map: Record<string, any>\n): T => {\n const values: T = {} as T;\n const regex = /\\${(.*)}/;\n\n Object.keys(map).forEach(key => {\n const valuePattern = map[key];\n const match = regex.exec(valuePattern);\n if (match) {\n const [replace, valuePath] = match;\n const value = get(output, valuePath);\n if (!value) {\n console.log(yellow(`Could not map \"${valuePath}\" to \"${key}\" - value missing.`));\n return;\n }\n /**\n * It is ok to expect error here.\n */\n if (typeof value === \"object\" && value !== null) {\n // @ts-expect-error\n values[key] = valuePattern.replace(replace, JSON.stringify(value));\n } else {\n // @ts-expect-error\n values[key] = valuePattern.replace(replace, value);\n }\n }\n });\n\n return values;\n};\n"],"names":["yellow","chalk","mapStackOutput","output","map","values","regex","Object","key","valuePattern","match","replace","valuePath","value","get","console","JSON"],"mappings":";;AAGA,MAAM,EAAEA,QAAAA,MAAM,EAAE,GAAGC;AAEZ,MAAMC,iBAAiB,CAC1BC,QACAC;IAEA,MAAMC,SAAY,CAAC;IACnB,MAAMC,QAAQ;IAEdC,OAAO,IAAI,CAACH,KAAK,OAAO,CAACI,CAAAA;QACrB,MAAMC,eAAeL,GAAG,CAACI,IAAI;QAC7B,MAAME,QAAQJ,MAAM,IAAI,CAACG;QACzB,IAAIC,OAAO;YACP,MAAM,CAACC,SAASC,UAAU,GAAGF;YAC7B,MAAMG,QAAQC,IAAIX,QAAQS;YAC1B,IAAI,CAACC,OAAO,YACRE,QAAQ,GAAG,CAACf,OAAO,CAAC,eAAe,EAAEY,UAAU,MAAM,EAAEJ,IAAI,kBAAkB,CAAC;YAMlF,IAAI,AAAiB,YAAjB,OAAOK,SAAsBA,AAAU,SAAVA,OAE7BR,MAAM,CAACG,IAAI,GAAGC,aAAa,OAAO,CAACE,SAASK,KAAK,SAAS,CAACH;iBAG3DR,MAAM,CAACG,IAAI,GAAGC,aAAa,OAAO,CAACE,SAASE;QAEpD;IACJ;IAEA,OAAOR;AACX"}
@@ -4,54 +4,57 @@ import path from "path";
4
4
  import os from "os";
5
5
  import { GetPulumiService, LoggerService, PulumiImportService, PulumiSelectStackService } from "../../abstractions/index.js";
6
6
  import { createEnvConfiguration, withPulumiConfigPassphrase } from "../../utils/env/index.js";
7
- export class DefaultPulumiImportService {
8
- constructor(getPulumiService, pulumiSelectStackService, loggerService) {
9
- this.getPulumiService = getPulumiService;
10
- this.pulumiSelectStackService = pulumiSelectStackService;
11
- this.loggerService = loggerService;
12
- }
13
- async execute(app, state) {
14
- const pulumi = await this.getPulumiService.execute({
15
- app
16
- });
17
- await this.pulumiSelectStackService.execute(app);
18
-
19
- // Write state to temporary file (pulumi stack import requires --file flag)
20
- const tempDir = os.tmpdir();
21
- const tempFilePath = path.join(tempDir, `pulumi-state-${Date.now()}.json`);
22
- try {
23
- const stateJson = JSON.stringify(state, null, 2);
24
- fs.writeFileSync(tempFilePath, stateJson, "utf-8");
25
- this.loggerService.debug(`Importing Pulumi state from: ${tempFilePath}`);
26
- const result = await pulumi.run({
27
- command: ["stack", "import"],
28
- args: {
29
- file: tempFilePath
30
- },
31
- execa: {
32
- env: createEnvConfiguration({
33
- configurations: [withPulumiConfigPassphrase()]
34
- })
7
+ class DefaultPulumiImportService {
8
+ constructor(getPulumiService, pulumiSelectStackService, loggerService){
9
+ this.getPulumiService = getPulumiService;
10
+ this.pulumiSelectStackService = pulumiSelectStackService;
11
+ this.loggerService = loggerService;
12
+ }
13
+ async execute(app, state) {
14
+ const pulumi = await this.getPulumiService.execute({
15
+ app
16
+ });
17
+ await this.pulumiSelectStackService.execute(app);
18
+ const tempDir = os.tmpdir();
19
+ const tempFilePath = path.join(tempDir, `pulumi-state-${Date.now()}.json`);
20
+ try {
21
+ const stateJson = JSON.stringify(state, null, 2);
22
+ fs.writeFileSync(tempFilePath, stateJson, "utf-8");
23
+ this.loggerService.debug(`Importing Pulumi state from: ${tempFilePath}`);
24
+ const result = await pulumi.run({
25
+ command: [
26
+ "stack",
27
+ "import"
28
+ ],
29
+ args: {
30
+ file: tempFilePath
31
+ },
32
+ execa: {
33
+ env: createEnvConfiguration({
34
+ configurations: [
35
+ withPulumiConfigPassphrase()
36
+ ]
37
+ })
38
+ }
39
+ });
40
+ this.loggerService.debug("Pulumi import output:", result.stdout);
41
+ fs.unlinkSync(tempFilePath);
42
+ } catch (error) {
43
+ if (fs.existsSync(tempFilePath)) fs.unlinkSync(tempFilePath);
44
+ this.loggerService.error("Failed to import Pulumi stack state.", error, app);
45
+ throw error;
35
46
  }
36
- });
37
- this.loggerService.debug("Pulumi import output:", result.stdout);
38
-
39
- // Clean up temp file
40
- fs.unlinkSync(tempFilePath);
41
- } catch (error) {
42
- // Clean up temp file even on error
43
- if (fs.existsSync(tempFilePath)) {
44
- fs.unlinkSync(tempFilePath);
45
- }
46
- this.loggerService.error("Failed to import Pulumi stack state.", error, app);
47
- throw error;
48
47
  }
49
- }
50
48
  }
51
- export const pulumiImportService = createImplementation({
52
- abstraction: PulumiImportService,
53
- implementation: DefaultPulumiImportService,
54
- dependencies: [GetPulumiService, PulumiSelectStackService, LoggerService]
49
+ const pulumiImportService = createImplementation({
50
+ abstraction: PulumiImportService,
51
+ implementation: DefaultPulumiImportService,
52
+ dependencies: [
53
+ GetPulumiService,
54
+ PulumiSelectStackService,
55
+ LoggerService
56
+ ]
55
57
  });
58
+ export { DefaultPulumiImportService, pulumiImportService };
56
59
 
57
60
  //# sourceMappingURL=PulumiImportService.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","fs","path","os","GetPulumiService","LoggerService","PulumiImportService","PulumiSelectStackService","createEnvConfiguration","withPulumiConfigPassphrase","DefaultPulumiImportService","constructor","getPulumiService","pulumiSelectStackService","loggerService","execute","app","state","pulumi","tempDir","tmpdir","tempFilePath","join","Date","now","stateJson","JSON","stringify","writeFileSync","debug","result","run","command","args","file","execa","env","configurations","stdout","unlinkSync","error","existsSync","pulumiImportService","abstraction","implementation","dependencies"],"sources":["PulumiImportService.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport fs from \"fs\";\nimport path from \"path\";\nimport os from \"os\";\nimport {\n GetPulumiService,\n LoggerService,\n PulumiImportService,\n PulumiSelectStackService\n} from \"~/abstractions/index.js\";\nimport { type AppModel } from \"~/models/index.js\";\nimport { createEnvConfiguration, withPulumiConfigPassphrase } from \"~/utils/env/index.js\";\n\nexport class DefaultPulumiImportService implements PulumiImportService.Interface {\n constructor(\n private getPulumiService: GetPulumiService.Interface,\n private pulumiSelectStackService: PulumiSelectStackService.Interface,\n private loggerService: LoggerService.Interface\n ) {}\n\n async execute(app: AppModel, state: Record<string, any>) {\n const pulumi = await this.getPulumiService.execute({ app });\n\n await this.pulumiSelectStackService.execute(app);\n\n // Write state to temporary file (pulumi stack import requires --file flag)\n const tempDir = os.tmpdir();\n const tempFilePath = path.join(tempDir, `pulumi-state-${Date.now()}.json`);\n\n try {\n const stateJson = JSON.stringify(state, null, 2);\n fs.writeFileSync(tempFilePath, stateJson, \"utf-8\");\n\n this.loggerService.debug(`Importing Pulumi state from: ${tempFilePath}`);\n\n const result = await pulumi.run({\n command: [\"stack\", \"import\"],\n args: {\n file: tempFilePath\n },\n execa: {\n env: createEnvConfiguration({\n configurations: [withPulumiConfigPassphrase()]\n })\n }\n });\n\n this.loggerService.debug(\"Pulumi import output:\", result.stdout);\n\n // Clean up temp file\n fs.unlinkSync(tempFilePath);\n } catch (error) {\n // Clean up temp file even on error\n if (fs.existsSync(tempFilePath)) {\n fs.unlinkSync(tempFilePath);\n }\n this.loggerService.error(\"Failed to import Pulumi stack state.\", error, app);\n throw error;\n }\n }\n}\n\nexport const pulumiImportService = createImplementation({\n abstraction: PulumiImportService,\n implementation: DefaultPulumiImportService,\n dependencies: [GetPulumiService, PulumiSelectStackService, LoggerService]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,YAAY;AACjD,OAAOC,EAAE,MAAM,IAAI;AACnB,OAAOC,IAAI,MAAM,MAAM;AACvB,OAAOC,EAAE,MAAM,IAAI;AACnB,SACIC,gBAAgB,EAChBC,aAAa,EACbC,mBAAmB,EACnBC,wBAAwB;AAG5B,SAASC,sBAAsB,EAAEC,0BAA0B;AAE3D,OAAO,MAAMC,0BAA0B,CAA0C;EAC7EC,WAAWA,CACCC,gBAA4C,EAC5CC,wBAA4D,EAC5DC,aAAsC,EAChD;IAAA,KAHUF,gBAA4C,GAA5CA,gBAA4C;IAAA,KAC5CC,wBAA4D,GAA5DA,wBAA4D;IAAA,KAC5DC,aAAsC,GAAtCA,aAAsC;EAC/C;EAEH,MAAMC,OAAOA,CAACC,GAAa,EAAEC,KAA0B,EAAE;IACrD,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACN,gBAAgB,CAACG,OAAO,CAAC;MAAEC;IAAI,CAAC,CAAC;IAE3D,MAAM,IAAI,CAACH,wBAAwB,CAACE,OAAO,CAACC,GAAG,CAAC;;IAEhD;IACA,MAAMG,OAAO,GAAGhB,EAAE,CAACiB,MAAM,CAAC,CAAC;IAC3B,MAAMC,YAAY,GAAGnB,IAAI,CAACoB,IAAI,CAACH,OAAO,EAAE,gBAAgBI,IAAI,CAACC,GAAG,CAAC,CAAC,OAAO,CAAC;IAE1E,IAAI;MACA,MAAMC,SAAS,GAAGC,IAAI,CAACC,SAAS,CAACV,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;MAChDhB,EAAE,CAAC2B,aAAa,CAACP,YAAY,EAAEI,SAAS,EAAE,OAAO,CAAC;MAElD,IAAI,CAACX,aAAa,CAACe,KAAK,CAAC,gCAAgCR,YAAY,EAAE,CAAC;MAExE,MAAMS,MAAM,GAAG,MAAMZ,MAAM,CAACa,GAAG,CAAC;QAC5BC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC5BC,IAAI,EAAE;UACFC,IAAI,EAAEb;QACV,CAAC;QACDc,KAAK,EAAE;UACHC,GAAG,EAAE5B,sBAAsB,CAAC;YACxB6B,cAAc,EAAE,CAAC5B,0BAA0B,CAAC,CAAC;UACjD,CAAC;QACL;MACJ,CAAC,CAAC;MAEF,IAAI,CAACK,aAAa,CAACe,KAAK,CAAC,uBAAuB,EAAEC,MAAM,CAACQ,MAAM,CAAC;;MAEhE;MACArC,EAAE,CAACsC,UAAU,CAAClB,YAAY,CAAC;IAC/B,CAAC,CAAC,OAAOmB,KAAK,EAAE;MACZ;MACA,IAAIvC,EAAE,CAACwC,UAAU,CAACpB,YAAY,CAAC,EAAE;QAC7BpB,EAAE,CAACsC,UAAU,CAAClB,YAAY,CAAC;MAC/B;MACA,IAAI,CAACP,aAAa,CAAC0B,KAAK,CAAC,sCAAsC,EAAEA,KAAK,EAAExB,GAAG,CAAC;MAC5E,MAAMwB,KAAK;IACf;EACJ;AACJ;AAEA,OAAO,MAAME,mBAAmB,GAAG1C,oBAAoB,CAAC;EACpD2C,WAAW,EAAErC,mBAAmB;EAChCsC,cAAc,EAAElC,0BAA0B;EAC1CmC,YAAY,EAAE,CAACzC,gBAAgB,EAAEG,wBAAwB,EAAEF,aAAa;AAC5E,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"services/PulumiImportService/PulumiImportService.js","sources":["../../../src/services/PulumiImportService/PulumiImportService.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport fs from \"fs\";\nimport path from \"path\";\nimport os from \"os\";\nimport {\n GetPulumiService,\n LoggerService,\n PulumiImportService,\n PulumiSelectStackService\n} from \"~/abstractions/index.js\";\nimport { type AppModel } from \"~/models/index.js\";\nimport { createEnvConfiguration, withPulumiConfigPassphrase } from \"~/utils/env/index.js\";\n\nexport class DefaultPulumiImportService implements PulumiImportService.Interface {\n constructor(\n private getPulumiService: GetPulumiService.Interface,\n private pulumiSelectStackService: PulumiSelectStackService.Interface,\n private loggerService: LoggerService.Interface\n ) {}\n\n async execute(app: AppModel, state: Record<string, any>) {\n const pulumi = await this.getPulumiService.execute({ app });\n\n await this.pulumiSelectStackService.execute(app);\n\n // Write state to temporary file (pulumi stack import requires --file flag)\n const tempDir = os.tmpdir();\n const tempFilePath = path.join(tempDir, `pulumi-state-${Date.now()}.json`);\n\n try {\n const stateJson = JSON.stringify(state, null, 2);\n fs.writeFileSync(tempFilePath, stateJson, \"utf-8\");\n\n this.loggerService.debug(`Importing Pulumi state from: ${tempFilePath}`);\n\n const result = await pulumi.run({\n command: [\"stack\", \"import\"],\n args: {\n file: tempFilePath\n },\n execa: {\n env: createEnvConfiguration({\n configurations: [withPulumiConfigPassphrase()]\n })\n }\n });\n\n this.loggerService.debug(\"Pulumi import output:\", result.stdout);\n\n // Clean up temp file\n fs.unlinkSync(tempFilePath);\n } catch (error) {\n // Clean up temp file even on error\n if (fs.existsSync(tempFilePath)) {\n fs.unlinkSync(tempFilePath);\n }\n this.loggerService.error(\"Failed to import Pulumi stack state.\", error, app);\n throw error;\n }\n }\n}\n\nexport const pulumiImportService = createImplementation({\n abstraction: PulumiImportService,\n implementation: DefaultPulumiImportService,\n dependencies: [GetPulumiService, PulumiSelectStackService, LoggerService]\n});\n"],"names":["DefaultPulumiImportService","getPulumiService","pulumiSelectStackService","loggerService","app","state","pulumi","tempDir","os","tempFilePath","path","Date","stateJson","JSON","fs","result","createEnvConfiguration","withPulumiConfigPassphrase","error","pulumiImportService","createImplementation","PulumiImportService","GetPulumiService","PulumiSelectStackService","LoggerService"],"mappings":";;;;;;AAaO,MAAMA;IACT,YACYC,gBAA4C,EAC5CC,wBAA4D,EAC5DC,aAAsC,CAChD;aAHUF,gBAAgB,GAAhBA;aACAC,wBAAwB,GAAxBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QAAQC,GAAa,EAAEC,KAA0B,EAAE;QACrD,MAAMC,SAAS,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAAEF;QAAI;QAEzD,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAACA;QAG5C,MAAMG,UAAUC,GAAG,MAAM;QACzB,MAAMC,eAAeC,KAAK,IAAI,CAACH,SAAS,CAAC,aAAa,EAAEI,KAAK,GAAG,GAAG,KAAK,CAAC;QAEzE,IAAI;YACA,MAAMC,YAAYC,KAAK,SAAS,CAACR,OAAO,MAAM;YAC9CS,GAAG,aAAa,CAACL,cAAcG,WAAW;YAE1C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,6BAA6B,EAAEH,cAAc;YAEvE,MAAMM,SAAS,MAAMT,OAAO,GAAG,CAAC;gBAC5B,SAAS;oBAAC;oBAAS;iBAAS;gBAC5B,MAAM;oBACF,MAAMG;gBACV;gBACA,OAAO;oBACH,KAAKO,uBAAuB;wBACxB,gBAAgB;4BAACC;yBAA6B;oBAClD;gBACJ;YACJ;YAEA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,yBAAyBF,OAAO,MAAM;YAG/DD,GAAG,UAAU,CAACL;QAClB,EAAE,OAAOS,OAAO;YAEZ,IAAIJ,GAAG,UAAU,CAACL,eACdK,GAAG,UAAU,CAACL;YAElB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,wCAAwCS,OAAOd;YACxE,MAAMc;QACV;IACJ;AACJ;AAEO,MAAMC,sBAAsBC,qBAAqB;IACpD,aAAaC;IACb,gBAAgBrB;IAChB,cAAc;QAACsB;QAAkBC;QAA0BC;KAAc;AAC7E"}
@@ -1,3 +1 @@
1
1
  export * from "./PulumiImportService.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -3,49 +3,52 @@ import { GetPulumiService, PulumiLoginService } from "../../abstractions/index.j
3
3
  import trimEnd from "lodash/trimEnd.js";
4
4
  import fs from "fs";
5
5
  import path from "path";
6
- const SELF_MANAGED_BACKEND = ["s3://", "azblob://", "gs://"];
7
- export class DefaultPulumiLoginService {
8
- constructor(getPulumiService) {
9
- this.getPulumiService = getPulumiService;
10
- }
11
- async execute(app) {
12
- const pulumi = await this.getPulumiService.execute({
13
- app
14
- });
15
- const projectAppRelativePath = path.join("apps", app.name);
16
-
17
- // A couple of variations here, just to preserve backwards compatibility.
18
- let loginUrl = process.env.WEBINY_PULUMI_BACKEND;
19
- if (loginUrl) {
20
- // If the user passed `s3://my-bucket`, we want to store files in `s3://my-bucket/{project-application-path}`
21
- const selfManagedBackend = SELF_MANAGED_BACKEND.find(item => loginUrl.startsWith(item));
22
- if (selfManagedBackend) {
23
- loginUrl = trimEnd(loginUrl, "/") + "/" + projectAppRelativePath;
24
- loginUrl = loginUrl.replace(/\\/g, "/");
25
- }
26
- } else {
27
- // By default, we use local file system as backend. All files are stored in project root's
28
- // `.pulumi` folder, e.g. `.pulumi/apps/admin`.
29
- const stateFilesFolder = app.paths.localPulumiStateFilesFolder.toString();
30
- if (!fs.existsSync(stateFilesFolder)) {
31
- fs.mkdirSync(stateFilesFolder, {
32
- recursive: true
6
+ const SELF_MANAGED_BACKEND = [
7
+ "s3://",
8
+ "azblob://",
9
+ "gs://"
10
+ ];
11
+ class DefaultPulumiLoginService {
12
+ constructor(getPulumiService){
13
+ this.getPulumiService = getPulumiService;
14
+ }
15
+ async execute(app) {
16
+ const pulumi = await this.getPulumiService.execute({
17
+ app
18
+ });
19
+ const projectAppRelativePath = path.join("apps", app.name);
20
+ let loginUrl = process.env.WEBINY_PULUMI_BACKEND;
21
+ if (loginUrl) {
22
+ const selfManagedBackend = SELF_MANAGED_BACKEND.find((item)=>loginUrl.startsWith(item));
23
+ if (selfManagedBackend) {
24
+ loginUrl = trimEnd(loginUrl, "/") + "/" + projectAppRelativePath;
25
+ loginUrl = loginUrl.replace(/\\/g, "/");
26
+ }
27
+ } else {
28
+ const stateFilesFolder = app.paths.localPulumiStateFilesFolder.toString();
29
+ if (!fs.existsSync(stateFilesFolder)) fs.mkdirSync(stateFilesFolder, {
30
+ recursive: true
31
+ });
32
+ loginUrl = `file://${stateFilesFolder}`;
33
+ }
34
+ await pulumi.run({
35
+ command: [
36
+ "login",
37
+ loginUrl
38
+ ]
33
39
  });
34
- }
35
- loginUrl = `file://${stateFilesFolder}`;
40
+ return {
41
+ login: loginUrl
42
+ };
36
43
  }
37
- await pulumi.run({
38
- command: ["login", loginUrl]
39
- });
40
- return {
41
- login: loginUrl
42
- };
43
- }
44
44
  }
45
- export const pulumiLoginService = createImplementation({
46
- abstraction: PulumiLoginService,
47
- implementation: DefaultPulumiLoginService,
48
- dependencies: [GetPulumiService]
45
+ const pulumiLoginService = createImplementation({
46
+ abstraction: PulumiLoginService,
47
+ implementation: DefaultPulumiLoginService,
48
+ dependencies: [
49
+ GetPulumiService
50
+ ]
49
51
  });
52
+ export { DefaultPulumiLoginService, pulumiLoginService };
50
53
 
51
54
  //# sourceMappingURL=PulumiLoginService.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","GetPulumiService","PulumiLoginService","trimEnd","fs","path","SELF_MANAGED_BACKEND","DefaultPulumiLoginService","constructor","getPulumiService","execute","app","pulumi","projectAppRelativePath","join","name","loginUrl","process","env","WEBINY_PULUMI_BACKEND","selfManagedBackend","find","item","startsWith","replace","stateFilesFolder","paths","localPulumiStateFilesFolder","toString","existsSync","mkdirSync","recursive","run","command","login","pulumiLoginService","abstraction","implementation","dependencies"],"sources":["PulumiLoginService.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { GetPulumiService, PulumiLoginService } from \"~/abstractions/index.js\";\nimport { type AppModel } from \"~/models/index.js\";\nimport trimEnd from \"lodash/trimEnd.js\";\nimport fs from \"fs\";\nimport path from \"path\";\n\nconst SELF_MANAGED_BACKEND = [\"s3://\", \"azblob://\", \"gs://\"];\n\nexport class DefaultPulumiLoginService implements PulumiLoginService.Interface {\n constructor(private getPulumiService: GetPulumiService.Interface) {}\n\n async execute(app: AppModel) {\n const pulumi = await this.getPulumiService.execute({ app });\n\n const projectAppRelativePath = path.join(\"apps\", app.name);\n\n // A couple of variations here, just to preserve backwards compatibility.\n let loginUrl = process.env.WEBINY_PULUMI_BACKEND;\n\n if (loginUrl) {\n // If the user passed `s3://my-bucket`, we want to store files in `s3://my-bucket/{project-application-path}`\n const selfManagedBackend = SELF_MANAGED_BACKEND.find(item =>\n loginUrl!.startsWith(item)\n );\n if (selfManagedBackend) {\n loginUrl = trimEnd(loginUrl, \"/\") + \"/\" + projectAppRelativePath;\n loginUrl = loginUrl.replace(/\\\\/g, \"/\");\n }\n } else {\n // By default, we use local file system as backend. All files are stored in project root's\n // `.pulumi` folder, e.g. `.pulumi/apps/admin`.\n const stateFilesFolder = app.paths.localPulumiStateFilesFolder.toString();\n\n if (!fs.existsSync(stateFilesFolder)) {\n fs.mkdirSync(stateFilesFolder, { recursive: true });\n }\n\n loginUrl = `file://${stateFilesFolder}`;\n }\n\n await pulumi.run({ command: [\"login\", loginUrl] });\n\n return { login: loginUrl };\n }\n}\n\nexport const pulumiLoginService = createImplementation({\n abstraction: PulumiLoginService,\n implementation: DefaultPulumiLoginService,\n dependencies: [GetPulumiService]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,YAAY;AACjD,SAASC,gBAAgB,EAAEC,kBAAkB;AAE7C,OAAOC,OAAO,MAAM,mBAAmB;AACvC,OAAOC,EAAE,MAAM,IAAI;AACnB,OAAOC,IAAI,MAAM,MAAM;AAEvB,MAAMC,oBAAoB,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC;AAE5D,OAAO,MAAMC,yBAAyB,CAAyC;EAC3EC,WAAWA,CAASC,gBAA4C,EAAE;IAAA,KAA9CA,gBAA4C,GAA5CA,gBAA4C;EAAG;EAEnE,MAAMC,OAAOA,CAACC,GAAa,EAAE;IACzB,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACH,gBAAgB,CAACC,OAAO,CAAC;MAAEC;IAAI,CAAC,CAAC;IAE3D,MAAME,sBAAsB,GAAGR,IAAI,CAACS,IAAI,CAAC,MAAM,EAAEH,GAAG,CAACI,IAAI,CAAC;;IAE1D;IACA,IAAIC,QAAQ,GAAGC,OAAO,CAACC,GAAG,CAACC,qBAAqB;IAEhD,IAAIH,QAAQ,EAAE;MACV;MACA,MAAMI,kBAAkB,GAAGd,oBAAoB,CAACe,IAAI,CAACC,IAAI,IACrDN,QAAQ,CAAEO,UAAU,CAACD,IAAI,CAC7B,CAAC;MACD,IAAIF,kBAAkB,EAAE;QACpBJ,QAAQ,GAAGb,OAAO,CAACa,QAAQ,EAAE,GAAG,CAAC,GAAG,GAAG,GAAGH,sBAAsB;QAChEG,QAAQ,GAAGA,QAAQ,CAACQ,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;MAC3C;IACJ,CAAC,MAAM;MACH;MACA;MACA,MAAMC,gBAAgB,GAAGd,GAAG,CAACe,KAAK,CAACC,2BAA2B,CAACC,QAAQ,CAAC,CAAC;MAEzE,IAAI,CAACxB,EAAE,CAACyB,UAAU,CAACJ,gBAAgB,CAAC,EAAE;QAClCrB,EAAE,CAAC0B,SAAS,CAACL,gBAAgB,EAAE;UAAEM,SAAS,EAAE;QAAK,CAAC,CAAC;MACvD;MAEAf,QAAQ,GAAG,UAAUS,gBAAgB,EAAE;IAC3C;IAEA,MAAMb,MAAM,CAACoB,GAAG,CAAC;MAAEC,OAAO,EAAE,CAAC,OAAO,EAAEjB,QAAQ;IAAE,CAAC,CAAC;IAElD,OAAO;MAAEkB,KAAK,EAAElB;IAAS,CAAC;EAC9B;AACJ;AAEA,OAAO,MAAMmB,kBAAkB,GAAGnC,oBAAoB,CAAC;EACnDoC,WAAW,EAAElC,kBAAkB;EAC/BmC,cAAc,EAAE9B,yBAAyB;EACzC+B,YAAY,EAAE,CAACrC,gBAAgB;AACnC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"services/PulumiLoginService/PulumiLoginService.js","sources":["../../../src/services/PulumiLoginService/PulumiLoginService.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { GetPulumiService, PulumiLoginService } from \"~/abstractions/index.js\";\nimport { type AppModel } from \"~/models/index.js\";\nimport trimEnd from \"lodash/trimEnd.js\";\nimport fs from \"fs\";\nimport path from \"path\";\n\nconst SELF_MANAGED_BACKEND = [\"s3://\", \"azblob://\", \"gs://\"];\n\nexport class DefaultPulumiLoginService implements PulumiLoginService.Interface {\n constructor(private getPulumiService: GetPulumiService.Interface) {}\n\n async execute(app: AppModel) {\n const pulumi = await this.getPulumiService.execute({ app });\n\n const projectAppRelativePath = path.join(\"apps\", app.name);\n\n // A couple of variations here, just to preserve backwards compatibility.\n let loginUrl = process.env.WEBINY_PULUMI_BACKEND;\n\n if (loginUrl) {\n // If the user passed `s3://my-bucket`, we want to store files in `s3://my-bucket/{project-application-path}`\n const selfManagedBackend = SELF_MANAGED_BACKEND.find(item =>\n loginUrl!.startsWith(item)\n );\n if (selfManagedBackend) {\n loginUrl = trimEnd(loginUrl, \"/\") + \"/\" + projectAppRelativePath;\n loginUrl = loginUrl.replace(/\\\\/g, \"/\");\n }\n } else {\n // By default, we use local file system as backend. All files are stored in project root's\n // `.pulumi` folder, e.g. `.pulumi/apps/admin`.\n const stateFilesFolder = app.paths.localPulumiStateFilesFolder.toString();\n\n if (!fs.existsSync(stateFilesFolder)) {\n fs.mkdirSync(stateFilesFolder, { recursive: true });\n }\n\n loginUrl = `file://${stateFilesFolder}`;\n }\n\n await pulumi.run({ command: [\"login\", loginUrl] });\n\n return { login: loginUrl };\n }\n}\n\nexport const pulumiLoginService = createImplementation({\n abstraction: PulumiLoginService,\n implementation: DefaultPulumiLoginService,\n dependencies: [GetPulumiService]\n});\n"],"names":["SELF_MANAGED_BACKEND","DefaultPulumiLoginService","getPulumiService","app","pulumi","projectAppRelativePath","path","loginUrl","process","selfManagedBackend","item","trimEnd","stateFilesFolder","fs","pulumiLoginService","createImplementation","PulumiLoginService","GetPulumiService"],"mappings":";;;;;AAOA,MAAMA,uBAAuB;IAAC;IAAS;IAAa;CAAQ;AAErD,MAAMC;IACT,YAAoBC,gBAA4C,CAAE;aAA9CA,gBAAgB,GAAhBA;IAA+C;IAEnE,MAAM,QAAQC,GAAa,EAAE;QACzB,MAAMC,SAAS,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAAED;QAAI;QAEzD,MAAME,yBAAyBC,KAAK,IAAI,CAAC,QAAQH,IAAI,IAAI;QAGzD,IAAII,WAAWC,QAAQ,GAAG,CAAC,qBAAqB;QAEhD,IAAID,UAAU;YAEV,MAAME,qBAAqBT,qBAAqB,IAAI,CAACU,CAAAA,OACjDH,SAAU,UAAU,CAACG;YAEzB,IAAID,oBAAoB;gBACpBF,WAAWI,QAAQJ,UAAU,OAAO,MAAMF;gBAC1CE,WAAWA,SAAS,OAAO,CAAC,OAAO;YACvC;QACJ,OAAO;YAGH,MAAMK,mBAAmBT,IAAI,KAAK,CAAC,2BAA2B,CAAC,QAAQ;YAEvE,IAAI,CAACU,GAAG,UAAU,CAACD,mBACfC,GAAG,SAAS,CAACD,kBAAkB;gBAAE,WAAW;YAAK;YAGrDL,WAAW,CAAC,OAAO,EAAEK,kBAAkB;QAC3C;QAEA,MAAMR,OAAO,GAAG,CAAC;YAAE,SAAS;gBAAC;gBAASG;aAAS;QAAC;QAEhD,OAAO;YAAE,OAAOA;QAAS;IAC7B;AACJ;AAEO,MAAMO,qBAAqBC,qBAAqB;IACnD,aAAaC;IACb,gBAAgBf;IAChB,cAAc;QAACgB;KAAiB;AACpC"}
@@ -1,3 +1 @@
1
1
  export * from "./PulumiLoginService.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -2,96 +2,101 @@ import { createImplementation } from "@webiny/di";
2
2
  import { GetPulumiService, LoggerService, ProjectSdkParamsService, PulumiGetConfigPassphraseService, PulumiGetSecretsProviderService, PulumiLoginService, PulumiSelectStackService } from "../../abstractions/index.js";
3
3
  import { createEnvConfiguration, withPulumiConfigPassphrase } from "../../utils/env/index.js";
4
4
  import { getStackName } from "../../utils/index.js";
5
- export class DefaultPulumiSelectStackService {
6
- constructor(getPulumiService, pulumiLoginService, pulumiGetSecretsProviderService, pulumiGetConfigPassphraseService, loggerService, projectSdkParamsService) {
7
- this.getPulumiService = getPulumiService;
8
- this.pulumiLoginService = pulumiLoginService;
9
- this.pulumiGetSecretsProviderService = pulumiGetSecretsProviderService;
10
- this.pulumiGetConfigPassphraseService = pulumiGetConfigPassphraseService;
11
- this.loggerService = loggerService;
12
- this.projectSdkParamsService = projectSdkParamsService;
13
- }
14
- async execute(app) {
15
- const pulumi = await this.getPulumiService.execute({
16
- app
17
- });
18
- await this.pulumiLoginService.execute(app);
19
- const secretsProvider = this.pulumiGetSecretsProviderService.execute();
20
- const configPassphrase = this.pulumiGetConfigPassphraseService.execute();
21
- const sdkParams = this.projectSdkParamsService.get();
22
- const stackName = getStackName({
23
- env: sdkParams.env,
24
- variant: sdkParams.variant
25
- });
26
- await pulumi.run({
27
- command: ["stack", "select", stackName],
28
- args: {
29
- create: true,
30
- secretsProvider
31
- },
32
- execa: {
33
- env: createEnvConfiguration({
34
- configurations: [withPulumiConfigPassphrase(configPassphrase)]
35
- })
36
- }
37
- });
38
-
39
- /**
40
- * A region from the input or process CANNOT be different to the region from the stack.
41
- * Also, if there is no stack, everything is ok.
42
- */
43
- const region = sdkParams.region || process.env.AWS_REGION;
44
- const mustPerformCoreAppRegionMismatchCheck = this.mustPerformCoreAppRegionMismatchCheck(app);
45
- if (mustPerformCoreAppRegionMismatchCheck) {
46
- const coreStack = await this.getAppStackOutput(app);
47
- if (coreStack && coreStack.region && coreStack.region !== region) {
48
- throw new Error(`Core App Region mismatch. Input: "${sdkParams.region || "none"}", process: "${process.env.AWS_REGION || "none"}". In Core stack: "${coreStack.region}". This can happen if you try to deploy a stack to a region different to the Core application region.`);
49
- }
5
+ class DefaultPulumiSelectStackService {
6
+ constructor(getPulumiService, pulumiLoginService, pulumiGetSecretsProviderService, pulumiGetConfigPassphraseService, loggerService, projectSdkParamsService){
7
+ this.getPulumiService = getPulumiService;
8
+ this.pulumiLoginService = pulumiLoginService;
9
+ this.pulumiGetSecretsProviderService = pulumiGetSecretsProviderService;
10
+ this.pulumiGetConfigPassphraseService = pulumiGetConfigPassphraseService;
11
+ this.loggerService = loggerService;
12
+ this.projectSdkParamsService = projectSdkParamsService;
13
+ }
14
+ async execute(app) {
15
+ const pulumi = await this.getPulumiService.execute({
16
+ app
17
+ });
18
+ await this.pulumiLoginService.execute(app);
19
+ const secretsProvider = this.pulumiGetSecretsProviderService.execute();
20
+ const configPassphrase = this.pulumiGetConfigPassphraseService.execute();
21
+ const sdkParams = this.projectSdkParamsService.get();
22
+ const stackName = getStackName({
23
+ env: sdkParams.env,
24
+ variant: sdkParams.variant
25
+ });
26
+ await pulumi.run({
27
+ command: [
28
+ "stack",
29
+ "select",
30
+ stackName
31
+ ],
32
+ args: {
33
+ create: true,
34
+ secretsProvider
35
+ },
36
+ execa: {
37
+ env: createEnvConfiguration({
38
+ configurations: [
39
+ withPulumiConfigPassphrase(configPassphrase)
40
+ ]
41
+ })
42
+ }
43
+ });
44
+ const region = sdkParams.region || process.env.AWS_REGION;
45
+ const mustPerformCoreAppRegionMismatchCheck = this.mustPerformCoreAppRegionMismatchCheck(app);
46
+ if (mustPerformCoreAppRegionMismatchCheck) {
47
+ const coreStack = await this.getAppStackOutput(app);
48
+ if (coreStack && coreStack.region && coreStack.region !== region) throw new Error(`Core App Region mismatch. Input: "${sdkParams.region || "none"}", process: "${process.env.AWS_REGION || "none"}". In Core stack: "${coreStack.region}". This can happen if you try to deploy a stack to a region different to the Core application region.`);
49
+ }
50
+ const targetStack = await this.getAppStackOutput(app);
51
+ if (!targetStack?.region || targetStack.region === region) return;
52
+ throw new Error(`Region mismatch. Input: "${sdkParams.region || "none"}", process: "${process.env.AWS_REGION || "none"}". In stack: "${targetStack.region}". This can happen if you try to deploy a stack to a region other than it was initially deployed.`);
50
53
  }
51
- const targetStack = await this.getAppStackOutput(app);
52
- if (!targetStack?.region || targetStack.region === region) {
53
- return;
54
+ mustPerformCoreAppRegionMismatchCheck(app) {
55
+ return "core" !== app.name && "blueGreen" !== app.name;
54
56
  }
55
- throw new Error(`Region mismatch. Input: "${sdkParams.region || "none"}", process: "${process.env.AWS_REGION || "none"}". In stack: "${targetStack.region}". This can happen if you try to deploy a stack to a region other than it was initially deployed.`);
56
- }
57
- mustPerformCoreAppRegionMismatchCheck(app) {
58
- return app.name !== "core" && app.name !== "blueGreen";
59
- }
60
- async getAppStackOutput(app) {
61
- // We had to reimplement `getAppStackOutput` locally here. We could not use the existing
62
- // `PulumiGetStackOutputService` because, internally, it also depends on `PulumiSelectStackService`.
63
- // This would create a circular dependency. But also, this works just fine.
64
- const pulumi = await this.getPulumiService.execute({
65
- app
66
- });
67
- const logger = this.loggerService;
68
- const stackOutputString = await pulumi.run({
69
- command: ["stack", "output"],
70
- args: {
71
- json: true
72
- },
73
- execa: {
74
- env: createEnvConfiguration({
75
- configurations: [withPulumiConfigPassphrase()]
76
- })
77
- }
78
- });
79
- try {
80
- const stackOutputJson = JSON.parse(stackOutputString.stdout);
81
- if (!stackOutputJson) {
82
- return null;
83
- }
84
- return stackOutputJson;
85
- } catch {
86
- logger.error("Could not parse stack output as JSON.", stackOutputString.stdout, app);
87
- return null;
57
+ async getAppStackOutput(app) {
58
+ const pulumi = await this.getPulumiService.execute({
59
+ app
60
+ });
61
+ const logger = this.loggerService;
62
+ const stackOutputString = await pulumi.run({
63
+ command: [
64
+ "stack",
65
+ "output"
66
+ ],
67
+ args: {
68
+ json: true
69
+ },
70
+ execa: {
71
+ env: createEnvConfiguration({
72
+ configurations: [
73
+ withPulumiConfigPassphrase()
74
+ ]
75
+ })
76
+ }
77
+ });
78
+ try {
79
+ const stackOutputJson = JSON.parse(stackOutputString.stdout);
80
+ if (!stackOutputJson) return null;
81
+ return stackOutputJson;
82
+ } catch {
83
+ logger.error("Could not parse stack output as JSON.", stackOutputString.stdout, app);
84
+ return null;
85
+ }
88
86
  }
89
- }
90
87
  }
91
- export const pulumiSelectStackService = createImplementation({
92
- abstraction: PulumiSelectStackService,
93
- implementation: DefaultPulumiSelectStackService,
94
- dependencies: [GetPulumiService, PulumiLoginService, PulumiGetSecretsProviderService, PulumiGetConfigPassphraseService, LoggerService, ProjectSdkParamsService]
88
+ const pulumiSelectStackService = createImplementation({
89
+ abstraction: PulumiSelectStackService,
90
+ implementation: DefaultPulumiSelectStackService,
91
+ dependencies: [
92
+ GetPulumiService,
93
+ PulumiLoginService,
94
+ PulumiGetSecretsProviderService,
95
+ PulumiGetConfigPassphraseService,
96
+ LoggerService,
97
+ ProjectSdkParamsService
98
+ ]
95
99
  });
100
+ export { DefaultPulumiSelectStackService, pulumiSelectStackService };
96
101
 
97
102
  //# sourceMappingURL=PulumiSelectStackService.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","GetPulumiService","LoggerService","ProjectSdkParamsService","PulumiGetConfigPassphraseService","PulumiGetSecretsProviderService","PulumiLoginService","PulumiSelectStackService","createEnvConfiguration","withPulumiConfigPassphrase","getStackName","DefaultPulumiSelectStackService","constructor","getPulumiService","pulumiLoginService","pulumiGetSecretsProviderService","pulumiGetConfigPassphraseService","loggerService","projectSdkParamsService","execute","app","pulumi","secretsProvider","configPassphrase","sdkParams","get","stackName","env","variant","run","command","args","create","execa","configurations","region","process","AWS_REGION","mustPerformCoreAppRegionMismatchCheck","coreStack","getAppStackOutput","Error","targetStack","name","logger","stackOutputString","json","stackOutputJson","JSON","parse","stdout","error","pulumiSelectStackService","abstraction","implementation","dependencies"],"sources":["PulumiSelectStackService.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport {\n GetPulumiService,\n LoggerService,\n ProjectSdkParamsService,\n PulumiGetConfigPassphraseService,\n PulumiGetSecretsProviderService,\n PulumiLoginService,\n PulumiSelectStackService\n} from \"~/abstractions/index.js\";\nimport { type AppModel } from \"~/models/index.js\";\nimport { createEnvConfiguration, withPulumiConfigPassphrase } from \"~/utils/env/index.js\";\nimport { getStackName } from \"~/utils/index.js\";\n\nexport class DefaultPulumiSelectStackService implements PulumiSelectStackService.Interface {\n constructor(\n private getPulumiService: GetPulumiService.Interface,\n private pulumiLoginService: PulumiLoginService.Interface,\n private pulumiGetSecretsProviderService: PulumiGetSecretsProviderService.Interface,\n private pulumiGetConfigPassphraseService: PulumiGetConfigPassphraseService.Interface,\n private loggerService: LoggerService.Interface,\n private projectSdkParamsService: ProjectSdkParamsService.Interface\n ) {}\n\n async execute(app: AppModel) {\n const pulumi = await this.getPulumiService.execute({ app });\n\n await this.pulumiLoginService.execute(app);\n\n const secretsProvider = this.pulumiGetSecretsProviderService.execute();\n const configPassphrase = this.pulumiGetConfigPassphraseService.execute();\n\n const sdkParams = this.projectSdkParamsService.get();\n const stackName = getStackName({ env: sdkParams.env, variant: sdkParams.variant });\n\n await pulumi.run({\n command: [\"stack\", \"select\", stackName],\n args: {\n create: true,\n secretsProvider\n },\n execa: {\n env: createEnvConfiguration({\n configurations: [withPulumiConfigPassphrase(configPassphrase)]\n })\n }\n });\n\n /**\n * A region from the input or process CANNOT be different to the region from the stack.\n * Also, if there is no stack, everything is ok.\n */\n const region = sdkParams.region || process.env.AWS_REGION;\n\n const mustPerformCoreAppRegionMismatchCheck =\n this.mustPerformCoreAppRegionMismatchCheck(app);\n\n if (mustPerformCoreAppRegionMismatchCheck) {\n const coreStack = await this.getAppStackOutput(app);\n if (coreStack && coreStack.region && coreStack.region !== region) {\n throw new Error(\n `Core App Region mismatch. Input: \"${sdkParams.region || \"none\"}\", process: \"${\n process.env.AWS_REGION || \"none\"\n }\". In Core stack: \"${\n coreStack.region\n }\". This can happen if you try to deploy a stack to a region different to the Core application region.`\n );\n }\n }\n\n const targetStack = await this.getAppStackOutput(app);\n\n if (!targetStack?.region || targetStack.region === region) {\n return;\n }\n\n throw new Error(\n `Region mismatch. Input: \"${sdkParams.region || \"none\"}\", process: \"${\n process.env.AWS_REGION || \"none\"\n }\". In stack: \"${\n targetStack.region\n }\". This can happen if you try to deploy a stack to a region other than it was initially deployed.`\n );\n }\n\n private mustPerformCoreAppRegionMismatchCheck(app: AppModel) {\n return app.name !== \"core\" && app.name !== \"blueGreen\";\n }\n\n private async getAppStackOutput(app: AppModel) {\n // We had to reimplement `getAppStackOutput` locally here. We could not use the existing\n // `PulumiGetStackOutputService` because, internally, it also depends on `PulumiSelectStackService`.\n // This would create a circular dependency. But also, this works just fine.\n const pulumi = await this.getPulumiService.execute({ app });\n const logger = this.loggerService;\n\n const stackOutputString = await pulumi.run({\n command: [\"stack\", \"output\"],\n args: {\n json: true\n },\n execa: {\n env: createEnvConfiguration({\n configurations: [withPulumiConfigPassphrase()]\n })\n }\n });\n\n try {\n const stackOutputJson = JSON.parse(stackOutputString.stdout);\n if (!stackOutputJson) {\n return null;\n }\n\n return stackOutputJson;\n } catch {\n logger.error(\"Could not parse stack output as JSON.\", stackOutputString.stdout, app);\n return null;\n }\n }\n}\n\nexport const pulumiSelectStackService = createImplementation({\n abstraction: PulumiSelectStackService,\n implementation: DefaultPulumiSelectStackService,\n dependencies: [\n GetPulumiService,\n PulumiLoginService,\n PulumiGetSecretsProviderService,\n PulumiGetConfigPassphraseService,\n LoggerService,\n ProjectSdkParamsService\n ]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,YAAY;AACjD,SACIC,gBAAgB,EAChBC,aAAa,EACbC,uBAAuB,EACvBC,gCAAgC,EAChCC,+BAA+B,EAC/BC,kBAAkB,EAClBC,wBAAwB;AAG5B,SAASC,sBAAsB,EAAEC,0BAA0B;AAC3D,SAASC,YAAY;AAErB,OAAO,MAAMC,+BAA+B,CAA+C;EACvFC,WAAWA,CACCC,gBAA4C,EAC5CC,kBAAgD,EAChDC,+BAA0E,EAC1EC,gCAA4E,EAC5EC,aAAsC,EACtCC,uBAA0D,EACpE;IAAA,KANUL,gBAA4C,GAA5CA,gBAA4C;IAAA,KAC5CC,kBAAgD,GAAhDA,kBAAgD;IAAA,KAChDC,+BAA0E,GAA1EA,+BAA0E;IAAA,KAC1EC,gCAA4E,GAA5EA,gCAA4E;IAAA,KAC5EC,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,uBAA0D,GAA1DA,uBAA0D;EACnE;EAEH,MAAMC,OAAOA,CAACC,GAAa,EAAE;IACzB,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACR,gBAAgB,CAACM,OAAO,CAAC;MAAEC;IAAI,CAAC,CAAC;IAE3D,MAAM,IAAI,CAACN,kBAAkB,CAACK,OAAO,CAACC,GAAG,CAAC;IAE1C,MAAME,eAAe,GAAG,IAAI,CAACP,+BAA+B,CAACI,OAAO,CAAC,CAAC;IACtE,MAAMI,gBAAgB,GAAG,IAAI,CAACP,gCAAgC,CAACG,OAAO,CAAC,CAAC;IAExE,MAAMK,SAAS,GAAG,IAAI,CAACN,uBAAuB,CAACO,GAAG,CAAC,CAAC;IACpD,MAAMC,SAAS,GAAGhB,YAAY,CAAC;MAAEiB,GAAG,EAAEH,SAAS,CAACG,GAAG;MAAEC,OAAO,EAAEJ,SAAS,CAACI;IAAQ,CAAC,CAAC;IAElF,MAAMP,MAAM,CAACQ,GAAG,CAAC;MACbC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAEJ,SAAS,CAAC;MACvCK,IAAI,EAAE;QACFC,MAAM,EAAE,IAAI;QACZV;MACJ,CAAC;MACDW,KAAK,EAAE;QACHN,GAAG,EAAEnB,sBAAsB,CAAC;UACxB0B,cAAc,EAAE,CAACzB,0BAA0B,CAACc,gBAAgB,CAAC;QACjE,CAAC;MACL;IACJ,CAAC,CAAC;;IAEF;AACR;AACA;AACA;IACQ,MAAMY,MAAM,GAAGX,SAAS,CAACW,MAAM,IAAIC,OAAO,CAACT,GAAG,CAACU,UAAU;IAEzD,MAAMC,qCAAqC,GACvC,IAAI,CAACA,qCAAqC,CAAClB,GAAG,CAAC;IAEnD,IAAIkB,qCAAqC,EAAE;MACvC,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,iBAAiB,CAACpB,GAAG,CAAC;MACnD,IAAImB,SAAS,IAAIA,SAAS,CAACJ,MAAM,IAAII,SAAS,CAACJ,MAAM,KAAKA,MAAM,EAAE;QAC9D,MAAM,IAAIM,KAAK,CACX,qCAAqCjB,SAAS,CAACW,MAAM,IAAI,MAAM,gBAC3DC,OAAO,CAACT,GAAG,CAACU,UAAU,IAAI,MAAM,sBAEhCE,SAAS,CAACJ,MAAM,uGAExB,CAAC;MACL;IACJ;IAEA,MAAMO,WAAW,GAAG,MAAM,IAAI,CAACF,iBAAiB,CAACpB,GAAG,CAAC;IAErD,IAAI,CAACsB,WAAW,EAAEP,MAAM,IAAIO,WAAW,CAACP,MAAM,KAAKA,MAAM,EAAE;MACvD;IACJ;IAEA,MAAM,IAAIM,KAAK,CACX,4BAA4BjB,SAAS,CAACW,MAAM,IAAI,MAAM,gBAClDC,OAAO,CAACT,GAAG,CAACU,UAAU,IAAI,MAAM,iBAEhCK,WAAW,CAACP,MAAM,mGAE1B,CAAC;EACL;EAEQG,qCAAqCA,CAAClB,GAAa,EAAE;IACzD,OAAOA,GAAG,CAACuB,IAAI,KAAK,MAAM,IAAIvB,GAAG,CAACuB,IAAI,KAAK,WAAW;EAC1D;EAEA,MAAcH,iBAAiBA,CAACpB,GAAa,EAAE;IAC3C;IACA;IACA;IACA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACR,gBAAgB,CAACM,OAAO,CAAC;MAAEC;IAAI,CAAC,CAAC;IAC3D,MAAMwB,MAAM,GAAG,IAAI,CAAC3B,aAAa;IAEjC,MAAM4B,iBAAiB,GAAG,MAAMxB,MAAM,CAACQ,GAAG,CAAC;MACvCC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;MAC5BC,IAAI,EAAE;QACFe,IAAI,EAAE;MACV,CAAC;MACDb,KAAK,EAAE;QACHN,GAAG,EAAEnB,sBAAsB,CAAC;UACxB0B,cAAc,EAAE,CAACzB,0BAA0B,CAAC,CAAC;QACjD,CAAC;MACL;IACJ,CAAC,CAAC;IAEF,IAAI;MACA,MAAMsC,eAAe,GAAGC,IAAI,CAACC,KAAK,CAACJ,iBAAiB,CAACK,MAAM,CAAC;MAC5D,IAAI,CAACH,eAAe,EAAE;QAClB,OAAO,IAAI;MACf;MAEA,OAAOA,eAAe;IAC1B,CAAC,CAAC,MAAM;MACJH,MAAM,CAACO,KAAK,CAAC,uCAAuC,EAAEN,iBAAiB,CAACK,MAAM,EAAE9B,GAAG,CAAC;MACpF,OAAO,IAAI;IACf;EACJ;AACJ;AAEA,OAAO,MAAMgC,wBAAwB,GAAGpD,oBAAoB,CAAC;EACzDqD,WAAW,EAAE9C,wBAAwB;EACrC+C,cAAc,EAAE3C,+BAA+B;EAC/C4C,YAAY,EAAE,CACVtD,gBAAgB,EAChBK,kBAAkB,EAClBD,+BAA+B,EAC/BD,gCAAgC,EAChCF,aAAa,EACbC,uBAAuB;AAE/B,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"services/PulumiSelectStackService/PulumiSelectStackService.js","sources":["../../../src/services/PulumiSelectStackService/PulumiSelectStackService.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport {\n GetPulumiService,\n LoggerService,\n ProjectSdkParamsService,\n PulumiGetConfigPassphraseService,\n PulumiGetSecretsProviderService,\n PulumiLoginService,\n PulumiSelectStackService\n} from \"~/abstractions/index.js\";\nimport { type AppModel } from \"~/models/index.js\";\nimport { createEnvConfiguration, withPulumiConfigPassphrase } from \"~/utils/env/index.js\";\nimport { getStackName } from \"~/utils/index.js\";\n\nexport class DefaultPulumiSelectStackService implements PulumiSelectStackService.Interface {\n constructor(\n private getPulumiService: GetPulumiService.Interface,\n private pulumiLoginService: PulumiLoginService.Interface,\n private pulumiGetSecretsProviderService: PulumiGetSecretsProviderService.Interface,\n private pulumiGetConfigPassphraseService: PulumiGetConfigPassphraseService.Interface,\n private loggerService: LoggerService.Interface,\n private projectSdkParamsService: ProjectSdkParamsService.Interface\n ) {}\n\n async execute(app: AppModel) {\n const pulumi = await this.getPulumiService.execute({ app });\n\n await this.pulumiLoginService.execute(app);\n\n const secretsProvider = this.pulumiGetSecretsProviderService.execute();\n const configPassphrase = this.pulumiGetConfigPassphraseService.execute();\n\n const sdkParams = this.projectSdkParamsService.get();\n const stackName = getStackName({ env: sdkParams.env, variant: sdkParams.variant });\n\n await pulumi.run({\n command: [\"stack\", \"select\", stackName],\n args: {\n create: true,\n secretsProvider\n },\n execa: {\n env: createEnvConfiguration({\n configurations: [withPulumiConfigPassphrase(configPassphrase)]\n })\n }\n });\n\n /**\n * A region from the input or process CANNOT be different to the region from the stack.\n * Also, if there is no stack, everything is ok.\n */\n const region = sdkParams.region || process.env.AWS_REGION;\n\n const mustPerformCoreAppRegionMismatchCheck =\n this.mustPerformCoreAppRegionMismatchCheck(app);\n\n if (mustPerformCoreAppRegionMismatchCheck) {\n const coreStack = await this.getAppStackOutput(app);\n if (coreStack && coreStack.region && coreStack.region !== region) {\n throw new Error(\n `Core App Region mismatch. Input: \"${sdkParams.region || \"none\"}\", process: \"${\n process.env.AWS_REGION || \"none\"\n }\". In Core stack: \"${\n coreStack.region\n }\". This can happen if you try to deploy a stack to a region different to the Core application region.`\n );\n }\n }\n\n const targetStack = await this.getAppStackOutput(app);\n\n if (!targetStack?.region || targetStack.region === region) {\n return;\n }\n\n throw new Error(\n `Region mismatch. Input: \"${sdkParams.region || \"none\"}\", process: \"${\n process.env.AWS_REGION || \"none\"\n }\". In stack: \"${\n targetStack.region\n }\". This can happen if you try to deploy a stack to a region other than it was initially deployed.`\n );\n }\n\n private mustPerformCoreAppRegionMismatchCheck(app: AppModel) {\n return app.name !== \"core\" && app.name !== \"blueGreen\";\n }\n\n private async getAppStackOutput(app: AppModel) {\n // We had to reimplement `getAppStackOutput` locally here. We could not use the existing\n // `PulumiGetStackOutputService` because, internally, it also depends on `PulumiSelectStackService`.\n // This would create a circular dependency. But also, this works just fine.\n const pulumi = await this.getPulumiService.execute({ app });\n const logger = this.loggerService;\n\n const stackOutputString = await pulumi.run({\n command: [\"stack\", \"output\"],\n args: {\n json: true\n },\n execa: {\n env: createEnvConfiguration({\n configurations: [withPulumiConfigPassphrase()]\n })\n }\n });\n\n try {\n const stackOutputJson = JSON.parse(stackOutputString.stdout);\n if (!stackOutputJson) {\n return null;\n }\n\n return stackOutputJson;\n } catch {\n logger.error(\"Could not parse stack output as JSON.\", stackOutputString.stdout, app);\n return null;\n }\n }\n}\n\nexport const pulumiSelectStackService = createImplementation({\n abstraction: PulumiSelectStackService,\n implementation: DefaultPulumiSelectStackService,\n dependencies: [\n GetPulumiService,\n PulumiLoginService,\n PulumiGetSecretsProviderService,\n PulumiGetConfigPassphraseService,\n LoggerService,\n ProjectSdkParamsService\n ]\n});\n"],"names":["DefaultPulumiSelectStackService","getPulumiService","pulumiLoginService","pulumiGetSecretsProviderService","pulumiGetConfigPassphraseService","loggerService","projectSdkParamsService","app","pulumi","secretsProvider","configPassphrase","sdkParams","stackName","getStackName","createEnvConfiguration","withPulumiConfigPassphrase","region","process","mustPerformCoreAppRegionMismatchCheck","coreStack","Error","targetStack","logger","stackOutputString","stackOutputJson","JSON","pulumiSelectStackService","createImplementation","PulumiSelectStackService","GetPulumiService","PulumiLoginService","PulumiGetSecretsProviderService","PulumiGetConfigPassphraseService","LoggerService","ProjectSdkParamsService"],"mappings":"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"}
@@ -1,3 +1 @@
1
1
  export * from "./PulumiSelectStackService.js";
2
-
3
- //# sourceMappingURL=index.js.map