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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1011) 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.d.ts +1 -0
  6. package/ProjectSdk.js +113 -126
  7. package/ProjectSdk.js.map +1 -1
  8. package/abstractions/createAbstraction.js +3 -2
  9. package/abstractions/createAbstraction.js.map +1 -1
  10. package/abstractions/features/BuildApp.js +2 -1
  11. package/abstractions/features/BuildApp.js.map +1 -1
  12. package/abstractions/features/BuildExtension.js +2 -1
  13. package/abstractions/features/BuildExtension.js.map +1 -1
  14. package/abstractions/features/DeployApp.d.ts +0 -1
  15. package/abstractions/features/DeployApp.js +2 -1
  16. package/abstractions/features/DeployApp.js.map +1 -1
  17. package/abstractions/features/DestroyApp.js +2 -1
  18. package/abstractions/features/DestroyApp.js.map +1 -1
  19. package/abstractions/features/ExportStack.js +2 -1
  20. package/abstractions/features/ExportStack.js.map +1 -1
  21. package/abstractions/features/GetApp.js +2 -1
  22. package/abstractions/features/GetApp.js.map +1 -1
  23. package/abstractions/features/GetAppOutput.js +2 -1
  24. package/abstractions/features/GetAppOutput.js.map +1 -1
  25. package/abstractions/features/GetAppStackOutput.js +2 -6
  26. package/abstractions/features/GetAppStackOutput.js.map +1 -1
  27. package/abstractions/features/GetFeatureFlags.d.ts +8 -0
  28. package/abstractions/features/GetFeatureFlags.js +5 -0
  29. package/abstractions/features/GetFeatureFlags.js.map +1 -0
  30. package/abstractions/features/GetLogger.js +2 -1
  31. package/abstractions/features/GetLogger.js.map +1 -1
  32. package/abstractions/features/GetProductionEnvironments.js +2 -1
  33. package/abstractions/features/GetProductionEnvironments.js.map +1 -1
  34. package/abstractions/features/GetProject.js +2 -1
  35. package/abstractions/features/GetProject.js.map +1 -1
  36. package/abstractions/features/GetProjectConfig.js +2 -1
  37. package/abstractions/features/GetProjectConfig.js.map +1 -1
  38. package/abstractions/features/GetProjectInfo.js +2 -1
  39. package/abstractions/features/GetProjectInfo.js.map +1 -1
  40. package/abstractions/features/GetPulumiResourceNamePrefix.js +2 -1
  41. package/abstractions/features/GetPulumiResourceNamePrefix.js.map +1 -1
  42. package/abstractions/features/InstallExtension.js +2 -1
  43. package/abstractions/features/InstallExtension.js.map +1 -1
  44. package/abstractions/features/IsCi.js +2 -1
  45. package/abstractions/features/IsCi.js.map +1 -1
  46. package/abstractions/features/IsTelemetryEnabled.js +2 -1
  47. package/abstractions/features/IsTelemetryEnabled.js.map +1 -1
  48. package/abstractions/features/IsWcpEnabled.js +2 -1
  49. package/abstractions/features/IsWcpEnabled.js.map +1 -1
  50. package/abstractions/features/IsWebinyJsRepo.js +2 -1
  51. package/abstractions/features/IsWebinyJsRepo.js.map +1 -1
  52. package/abstractions/features/RefreshApp.js +2 -1
  53. package/abstractions/features/RefreshApp.js.map +1 -1
  54. package/abstractions/features/RunPulumiCommand.js +2 -1
  55. package/abstractions/features/RunPulumiCommand.js.map +1 -1
  56. package/abstractions/features/ValidateProjectConfig.js +2 -1
  57. package/abstractions/features/ValidateProjectConfig.js.map +1 -1
  58. package/abstractions/features/Watch.js +2 -1
  59. package/abstractions/features/Watch.js.map +1 -1
  60. package/abstractions/features/hooks/AdminAfterBuild.js +2 -1
  61. package/abstractions/features/hooks/AdminAfterBuild.js.map +1 -1
  62. package/abstractions/features/hooks/AdminAfterDeploy.js +2 -1
  63. package/abstractions/features/hooks/AdminAfterDeploy.js.map +1 -1
  64. package/abstractions/features/hooks/AdminBeforeBuild.js +2 -1
  65. package/abstractions/features/hooks/AdminBeforeBuild.js.map +1 -1
  66. package/abstractions/features/hooks/AdminBeforeDeploy.js +2 -1
  67. package/abstractions/features/hooks/AdminBeforeDeploy.js.map +1 -1
  68. package/abstractions/features/hooks/AdminBeforeWatch.js +2 -1
  69. package/abstractions/features/hooks/AdminBeforeWatch.js.map +1 -1
  70. package/abstractions/features/hooks/AfterBuild.js +2 -1
  71. package/abstractions/features/hooks/AfterBuild.js.map +1 -1
  72. package/abstractions/features/hooks/AfterDeploy.js +2 -1
  73. package/abstractions/features/hooks/AfterDeploy.js.map +1 -1
  74. package/abstractions/features/hooks/ApiAfterBuild.js +2 -1
  75. package/abstractions/features/hooks/ApiAfterBuild.js.map +1 -1
  76. package/abstractions/features/hooks/ApiAfterDeploy.js +2 -1
  77. package/abstractions/features/hooks/ApiAfterDeploy.js.map +1 -1
  78. package/abstractions/features/hooks/ApiBeforeBuild.js +2 -1
  79. package/abstractions/features/hooks/ApiBeforeBuild.js.map +1 -1
  80. package/abstractions/features/hooks/ApiBeforeDeploy.js +2 -1
  81. package/abstractions/features/hooks/ApiBeforeDeploy.js.map +1 -1
  82. package/abstractions/features/hooks/ApiBeforeWatch.js +2 -1
  83. package/abstractions/features/hooks/ApiBeforeWatch.js.map +1 -1
  84. package/abstractions/features/hooks/BeforeBuild.js +2 -1
  85. package/abstractions/features/hooks/BeforeBuild.js.map +1 -1
  86. package/abstractions/features/hooks/BeforeDeploy.js +2 -1
  87. package/abstractions/features/hooks/BeforeDeploy.js.map +1 -1
  88. package/abstractions/features/hooks/BeforeWatch.js +2 -1
  89. package/abstractions/features/hooks/BeforeWatch.js.map +1 -1
  90. package/abstractions/features/hooks/CoreAfterBuild.js +2 -1
  91. package/abstractions/features/hooks/CoreAfterBuild.js.map +1 -1
  92. package/abstractions/features/hooks/CoreAfterDeploy.js +2 -1
  93. package/abstractions/features/hooks/CoreAfterDeploy.js.map +1 -1
  94. package/abstractions/features/hooks/CoreBeforeBuild.js +2 -1
  95. package/abstractions/features/hooks/CoreBeforeBuild.js.map +1 -1
  96. package/abstractions/features/hooks/CoreBeforeDeploy.js +2 -1
  97. package/abstractions/features/hooks/CoreBeforeDeploy.js.map +1 -1
  98. package/abstractions/features/hooks/CoreBeforeWatch.js +2 -1
  99. package/abstractions/features/hooks/CoreBeforeWatch.js.map +1 -1
  100. package/abstractions/features/hooks/index.js +0 -2
  101. package/abstractions/features/index.d.ts +1 -1
  102. package/abstractions/features/index.js +1 -3
  103. package/abstractions/index.js +0 -2
  104. package/abstractions/models/IAppModel.js +0 -3
  105. package/abstractions/models/IAppPackageModel.js +0 -3
  106. package/abstractions/models/IPathModel.js +0 -3
  107. package/abstractions/models/IProjectConfigDto.js +0 -3
  108. package/abstractions/models/IProjectConfigModel.js +0 -3
  109. package/abstractions/models/IProjectModel.js +0 -3
  110. package/abstractions/models/IUrlModel.js +0 -3
  111. package/abstractions/models/IWcpEnvironmentDto.js +0 -3
  112. package/abstractions/models/IWcpEnvironmentModel.js +0 -3
  113. package/abstractions/models/IWcpUserDto.js +0 -3
  114. package/abstractions/models/IWcpUserModel.js +0 -3
  115. package/abstractions/models/IWcpUserPatDto.js +0 -3
  116. package/abstractions/models/IWcpUserPatModel.js +0 -3
  117. package/abstractions/models/PackagesBuilder/IPackagesBuilder.js +0 -3
  118. package/abstractions/models/PackagesBuilder/IRunnableBuildProcess.js +0 -3
  119. package/abstractions/models/PackagesBuilder/IRunnableBuildProcesses.js +0 -3
  120. package/abstractions/models/PackagesBuilder/index.js +0 -3
  121. package/abstractions/models/index.js +0 -3
  122. package/abstractions/services/BuildAppWorkspaceService.js +2 -1
  123. package/abstractions/services/BuildAppWorkspaceService.js.map +1 -1
  124. package/abstractions/services/BuildProjectWorkspaceService.js +2 -1
  125. package/abstractions/services/BuildProjectWorkspaceService.js.map +1 -1
  126. package/abstractions/services/GetAppPackagesService.js +2 -1
  127. package/abstractions/services/GetAppPackagesService.js.map +1 -1
  128. package/abstractions/services/GetAppService.js +2 -1
  129. package/abstractions/services/GetAppService.js.map +1 -1
  130. package/abstractions/services/GetCwdService.js +2 -1
  131. package/abstractions/services/GetCwdService.js.map +1 -1
  132. package/abstractions/services/GetProjectConfigService.js +2 -1
  133. package/abstractions/services/GetProjectConfigService.js.map +1 -1
  134. package/abstractions/services/GetProjectIdService.js +2 -1
  135. package/abstractions/services/GetProjectIdService.js.map +1 -1
  136. package/abstractions/services/GetProjectService.js +2 -1
  137. package/abstractions/services/GetProjectService.js.map +1 -1
  138. package/abstractions/services/GetProjectVersionService.js +2 -1
  139. package/abstractions/services/GetProjectVersionService.js.map +1 -1
  140. package/abstractions/services/GetPulumiService.js +2 -1
  141. package/abstractions/services/GetPulumiService.js.map +1 -1
  142. package/abstractions/services/InitProjectSdkService.js +2 -1
  143. package/abstractions/services/InitProjectSdkService.js.map +1 -1
  144. package/abstractions/services/InstallExtensionService.js +2 -1
  145. package/abstractions/services/InstallExtensionService.js.map +1 -1
  146. package/abstractions/services/IsRemotePulumiBackendService.js +2 -1
  147. package/abstractions/services/IsRemotePulumiBackendService.js.map +1 -1
  148. package/abstractions/services/ListAppLambdaFunctionsService.js +2 -1
  149. package/abstractions/services/ListAppLambdaFunctionsService.js.map +1 -1
  150. package/abstractions/services/ListDeployedEnvironmentsService.js +2 -1
  151. package/abstractions/services/ListDeployedEnvironmentsService.js.map +1 -1
  152. package/abstractions/services/ListPackagesInAppWorkspaceService.js +2 -1
  153. package/abstractions/services/ListPackagesInAppWorkspaceService.js.map +1 -1
  154. package/abstractions/services/ListPackagesService.js +2 -1
  155. package/abstractions/services/ListPackagesService.js.map +1 -1
  156. package/abstractions/services/LoadEnvVarsService.js +2 -1
  157. package/abstractions/services/LoadEnvVarsService.js.map +1 -1
  158. package/abstractions/services/LocalStorageService.js +2 -1
  159. package/abstractions/services/LocalStorageService.js.map +1 -1
  160. package/abstractions/services/LoggerService.js +2 -1
  161. package/abstractions/services/LoggerService.js.map +1 -1
  162. package/abstractions/services/ProjectInfoService/GetIsCiService.js +2 -1
  163. package/abstractions/services/ProjectInfoService/GetIsCiService.js.map +1 -1
  164. package/abstractions/services/ProjectInfoService/GetNpmVersionService.js +2 -1
  165. package/abstractions/services/ProjectInfoService/GetNpmVersionService.js.map +1 -1
  166. package/abstractions/services/ProjectInfoService/GetNpxVersionService.js +2 -1
  167. package/abstractions/services/ProjectInfoService/GetNpxVersionService.js.map +1 -1
  168. package/abstractions/services/ProjectInfoService/GetPulumiVersionService.js +2 -1
  169. package/abstractions/services/ProjectInfoService/GetPulumiVersionService.js.map +1 -1
  170. package/abstractions/services/ProjectInfoService/GetYarnVersionService.js +2 -1
  171. package/abstractions/services/ProjectInfoService/GetYarnVersionService.js.map +1 -1
  172. package/abstractions/services/ProjectInfoService/ProjectInfoService.js +2 -1
  173. package/abstractions/services/ProjectInfoService/ProjectInfoService.js.map +1 -1
  174. package/abstractions/services/ProjectInfoService/index.js +0 -2
  175. package/abstractions/services/ProjectSdkParamsService.js +2 -1
  176. package/abstractions/services/ProjectSdkParamsService.js.map +1 -1
  177. package/abstractions/services/PulumiExportService.js +3 -4
  178. package/abstractions/services/PulumiExportService.js.map +1 -1
  179. package/abstractions/services/PulumiGetConfigPassphraseService.js +2 -1
  180. package/abstractions/services/PulumiGetConfigPassphraseService.js.map +1 -1
  181. package/abstractions/services/PulumiGetSecretsProviderService.js +2 -1
  182. package/abstractions/services/PulumiGetSecretsProviderService.js.map +1 -1
  183. package/abstractions/services/PulumiGetStackOutputService.js +2 -1
  184. package/abstractions/services/PulumiGetStackOutputService.js.map +1 -1
  185. package/abstractions/services/PulumiImportService.js +2 -1
  186. package/abstractions/services/PulumiImportService.js.map +1 -1
  187. package/abstractions/services/PulumiLoginService.js +2 -1
  188. package/abstractions/services/PulumiLoginService.js.map +1 -1
  189. package/abstractions/services/PulumiSelectStackService.js +2 -1
  190. package/abstractions/services/PulumiSelectStackService.js.map +1 -1
  191. package/abstractions/services/SetProjectIdService.js +2 -1
  192. package/abstractions/services/SetProjectIdService.js.map +1 -1
  193. package/abstractions/services/StdioService.js +2 -1
  194. package/abstractions/services/StdioService.js.map +1 -1
  195. package/abstractions/services/UiService.js +2 -1
  196. package/abstractions/services/UiService.js.map +1 -1
  197. package/abstractions/services/ValidateProjectConfigService.js +2 -1
  198. package/abstractions/services/ValidateProjectConfigService.js.map +1 -1
  199. package/abstractions/services/WatchedLambdaFunctionsService.d.ts +12 -7
  200. package/abstractions/services/WatchedLambdaFunctionsService.js +2 -1
  201. package/abstractions/services/WatchedLambdaFunctionsService.js.map +1 -1
  202. package/abstractions/services/WcpService.js +2 -1
  203. package/abstractions/services/WcpService.js.map +1 -1
  204. package/abstractions/services/index.js +0 -2
  205. package/abstractions/types.js +0 -3
  206. package/components/Wcp.d.ts +19 -0
  207. package/components/Wcp.js +37 -0
  208. package/components/Wcp.js.map +1 -0
  209. package/createProjectSdkContainer.js +104 -110
  210. package/createProjectSdkContainer.js.map +1 -1
  211. package/decorators/BuildAppWithHooks.js +54 -44
  212. package/decorators/BuildAppWithHooks.js.map +1 -1
  213. package/decorators/DeployAppClearWatchedLambdaFunctions.d.ts +3 -2
  214. package/decorators/DeployAppClearWatchedLambdaFunctions.js +28 -24
  215. package/decorators/DeployAppClearWatchedLambdaFunctions.js.map +1 -1
  216. package/decorators/DeployAppRefreshStackOutputCache.js +26 -30
  217. package/decorators/DeployAppRefreshStackOutputCache.js.map +1 -1
  218. package/decorators/DeployAppWithHooks.js +51 -41
  219. package/decorators/DeployAppWithHooks.js.map +1 -1
  220. package/decorators/DeployAppWithWatchedLambdaReplacement.d.ts +3 -2
  221. package/decorators/DeployAppWithWatchedLambdaReplacement.js +35 -30
  222. package/decorators/DeployAppWithWatchedLambdaReplacement.js.map +1 -1
  223. package/decorators/GetFeatureFlagsWithLicense.d.ts +13 -0
  224. package/decorators/GetFeatureFlagsWithLicense.js +50 -0
  225. package/decorators/GetFeatureFlagsWithLicense.js.map +1 -0
  226. package/decorators/GetPulumiServiceWithDownloadInfo.js +21 -19
  227. package/decorators/GetPulumiServiceWithDownloadInfo.js.map +1 -1
  228. package/decorators/WatchWithHooks.js +30 -27
  229. package/decorators/WatchWithHooks.js.map +1 -1
  230. package/decorators/index.d.ts +1 -0
  231. package/decorators/index.js +1 -2
  232. package/defineExtension/createExtensionDefinition.js +12 -19
  233. package/defineExtension/createExtensionDefinition.js.map +1 -1
  234. package/defineExtension/createExtensionReactComponent.js +40 -50
  235. package/defineExtension/createExtensionReactComponent.js.map +1 -1
  236. package/defineExtension/defineExtension.js +8 -9
  237. package/defineExtension/defineExtension.js.map +1 -1
  238. package/defineExtension/index.d.ts +0 -1
  239. package/defineExtension/index.js +0 -3
  240. package/defineExtension/models/ExtensionDefinitionModel.d.ts +4 -4
  241. package/defineExtension/models/ExtensionDefinitionModel.js +11 -10
  242. package/defineExtension/models/ExtensionDefinitionModel.js.map +1 -1
  243. package/defineExtension/models/ExtensionInstanceModel.js +23 -21
  244. package/defineExtension/models/ExtensionInstanceModel.js.map +1 -1
  245. package/defineExtension/models/index.js +0 -2
  246. package/defineExtension/types.js +0 -3
  247. package/defineExtension/zodTypes/zodSrcPath.d.ts +2 -1
  248. package/defineExtension/zodTypes/zodSrcPath.js +37 -59
  249. package/defineExtension/zodTypes/zodSrcPath.js.map +1 -1
  250. package/exports/infra/admin.d.ts +0 -1
  251. package/exports/infra/admin.js +0 -3
  252. package/exports/infra/api.d.ts +0 -1
  253. package/exports/infra/api.js +0 -3
  254. package/exports/infra/core.d.ts +0 -1
  255. package/exports/infra/core.js +0 -3
  256. package/exports/infra.d.ts +8 -0
  257. package/exports/infra.js +8 -0
  258. package/extensions/AdminBuildParam.d.ts +5 -0
  259. package/extensions/AdminBuildParam.js +142 -0
  260. package/extensions/AdminBuildParam.js.map +1 -0
  261. package/extensions/AdminExtension.d.ts +5 -0
  262. package/extensions/AdminExtension.js +73 -0
  263. package/extensions/AdminExtension.js.map +1 -0
  264. package/extensions/ApiBuildParam.d.ts +5 -0
  265. package/extensions/ApiBuildParam.js +93 -0
  266. package/extensions/ApiBuildParam.js.map +1 -0
  267. package/extensions/ApiExtension.d.ts +5 -0
  268. package/extensions/ApiExtension.js +81 -0
  269. package/extensions/ApiExtension.js.map +1 -0
  270. package/extensions/ApiMaxBundleSize.d.ts +4 -0
  271. package/extensions/ApiMaxBundleSize.js +23 -0
  272. package/extensions/ApiMaxBundleSize.js.map +1 -0
  273. package/extensions/DatabaseSetup.d.ts +7 -7
  274. package/extensions/DatabaseSetup.js +14 -9
  275. package/extensions/DatabaseSetup.js.map +1 -1
  276. package/extensions/EnvVar.d.ts +4 -7
  277. package/extensions/EnvVar.js +12 -12
  278. package/extensions/EnvVar.js.map +1 -1
  279. package/extensions/ExtensionDefinitions.d.ts +1 -5
  280. package/extensions/ExtensionDefinitions.js +11 -10
  281. package/extensions/ExtensionDefinitions.js.map +1 -1
  282. package/extensions/FeatureFlags.d.ts +30 -0
  283. package/extensions/FeatureFlags.js +54 -0
  284. package/extensions/FeatureFlags.js.map +1 -0
  285. package/extensions/Project/EnsureApiDeployedBeforeAdminBuild.js +21 -22
  286. package/extensions/Project/EnsureApiDeployedBeforeAdminBuild.js.map +1 -1
  287. package/extensions/Project/EnsureApiDeployedBeforeAdminWatch.js +21 -22
  288. package/extensions/Project/EnsureApiDeployedBeforeAdminWatch.js.map +1 -1
  289. package/extensions/Project/EnsureApiDeployedBeforeWatch.js +21 -22
  290. package/extensions/Project/EnsureApiDeployedBeforeWatch.js.map +1 -1
  291. package/extensions/Project/EnsureCoreDeployedBeforeApiDeploy.js +23 -26
  292. package/extensions/Project/EnsureCoreDeployedBeforeApiDeploy.js.map +1 -1
  293. package/extensions/Project/EnsureTelemetryEnabledForOss.js +26 -29
  294. package/extensions/Project/EnsureTelemetryEnabledForOss.js.map +1 -1
  295. package/extensions/Project/SetAdminAppEnvVarsBeforeBuild.js +29 -33
  296. package/extensions/Project/SetAdminAppEnvVarsBeforeBuild.js.map +1 -1
  297. package/extensions/Project/SetAdminAppEnvVarsBeforeWatch.js +30 -34
  298. package/extensions/Project/SetAdminAppEnvVarsBeforeWatch.js.map +1 -1
  299. package/extensions/Project/ShowConfigChangeInfoBeforeAdminWatch.js +12 -9
  300. package/extensions/Project/ShowConfigChangeInfoBeforeAdminWatch.js.map +1 -1
  301. package/extensions/Project/ShowConfigChangeInfoBeforeApiWatch.js +12 -9
  302. package/extensions/Project/ShowConfigChangeInfoBeforeApiWatch.js.map +1 -1
  303. package/extensions/Project/TelemetryNoLongerNewUser.js +7 -7
  304. package/extensions/Project/TelemetryNoLongerNewUser.js.map +1 -1
  305. package/extensions/Project/ValidateEncryptionBeforeDeploy.d.ts +12 -0
  306. package/extensions/Project/ValidateEncryptionBeforeDeploy.js +31 -0
  307. package/extensions/Project/ValidateEncryptionBeforeDeploy.js.map +1 -0
  308. package/extensions/Project/ValidateProductionPulumiState.js +26 -29
  309. package/extensions/Project/ValidateProductionPulumiState.js.map +1 -1
  310. package/extensions/Project/WcpInjectTelemetryClientAfterBuild.js +46 -51
  311. package/extensions/Project/WcpInjectTelemetryClientAfterBuild.js.map +1 -1
  312. package/extensions/Project.js +29 -28
  313. package/extensions/Project.js.map +1 -1
  314. package/extensions/ProjectDecorator.d.ts +3 -7
  315. package/extensions/ProjectDecorator.js +13 -16
  316. package/extensions/ProjectDecorator.js.map +1 -1
  317. package/extensions/ProjectId.d.ts +3 -7
  318. package/extensions/ProjectId.js +11 -13
  319. package/extensions/ProjectId.js.map +1 -1
  320. package/extensions/ProjectImplementation.d.ts +3 -9
  321. package/extensions/ProjectImplementation.js +14 -17
  322. package/extensions/ProjectImplementation.js.map +1 -1
  323. package/extensions/Telemetry.d.ts +2 -6
  324. package/extensions/Telemetry.js +10 -9
  325. package/extensions/Telemetry.js.map +1 -1
  326. package/extensions/hooks/AdminAfterBuild.d.ts +2 -6
  327. package/extensions/hooks/AdminAfterBuild.js +16 -19
  328. package/extensions/hooks/AdminAfterBuild.js.map +1 -1
  329. package/extensions/hooks/AdminAfterDeploy.d.ts +2 -6
  330. package/extensions/hooks/AdminAfterDeploy.js +16 -19
  331. package/extensions/hooks/AdminAfterDeploy.js.map +1 -1
  332. package/extensions/hooks/AdminBeforeBuild.d.ts +2 -6
  333. package/extensions/hooks/AdminBeforeBuild.js +16 -19
  334. package/extensions/hooks/AdminBeforeBuild.js.map +1 -1
  335. package/extensions/hooks/AdminBeforeDeploy.d.ts +2 -6
  336. package/extensions/hooks/AdminBeforeDeploy.js +16 -19
  337. package/extensions/hooks/AdminBeforeDeploy.js.map +1 -1
  338. package/extensions/hooks/AdminBeforeWatch.d.ts +2 -6
  339. package/extensions/hooks/AdminBeforeWatch.js +16 -19
  340. package/extensions/hooks/AdminBeforeWatch.js.map +1 -1
  341. package/extensions/hooks/AfterBuild.d.ts +2 -6
  342. package/extensions/hooks/AfterBuild.js +15 -18
  343. package/extensions/hooks/AfterBuild.js.map +1 -1
  344. package/extensions/hooks/AfterDeploy.d.ts +2 -6
  345. package/extensions/hooks/AfterDeploy.js +15 -18
  346. package/extensions/hooks/AfterDeploy.js.map +1 -1
  347. package/extensions/hooks/ApiAfterBuild.d.ts +2 -6
  348. package/extensions/hooks/ApiAfterBuild.js +16 -19
  349. package/extensions/hooks/ApiAfterBuild.js.map +1 -1
  350. package/extensions/hooks/ApiAfterDeploy.d.ts +2 -6
  351. package/extensions/hooks/ApiAfterDeploy.js +16 -19
  352. package/extensions/hooks/ApiAfterDeploy.js.map +1 -1
  353. package/extensions/hooks/ApiBeforeBuild.d.ts +2 -6
  354. package/extensions/hooks/ApiBeforeBuild.js +16 -19
  355. package/extensions/hooks/ApiBeforeBuild.js.map +1 -1
  356. package/extensions/hooks/ApiBeforeDeploy.d.ts +2 -6
  357. package/extensions/hooks/ApiBeforeDeploy.js +16 -19
  358. package/extensions/hooks/ApiBeforeDeploy.js.map +1 -1
  359. package/extensions/hooks/ApiBeforeWatch.d.ts +2 -6
  360. package/extensions/hooks/ApiBeforeWatch.js +16 -19
  361. package/extensions/hooks/ApiBeforeWatch.js.map +1 -1
  362. package/extensions/hooks/BeforeBuild.d.ts +2 -6
  363. package/extensions/hooks/BeforeBuild.js +15 -18
  364. package/extensions/hooks/BeforeBuild.js.map +1 -1
  365. package/extensions/hooks/BeforeDeploy.d.ts +2 -6
  366. package/extensions/hooks/BeforeDeploy.js +15 -18
  367. package/extensions/hooks/BeforeDeploy.js.map +1 -1
  368. package/extensions/hooks/BeforeWatch.d.ts +2 -6
  369. package/extensions/hooks/BeforeWatch.js +15 -18
  370. package/extensions/hooks/BeforeWatch.js.map +1 -1
  371. package/extensions/hooks/CoreAfterBuild.d.ts +2 -6
  372. package/extensions/hooks/CoreAfterBuild.js +16 -19
  373. package/extensions/hooks/CoreAfterBuild.js.map +1 -1
  374. package/extensions/hooks/CoreAfterDeploy.d.ts +2 -6
  375. package/extensions/hooks/CoreAfterDeploy.js +16 -19
  376. package/extensions/hooks/CoreAfterDeploy.js.map +1 -1
  377. package/extensions/hooks/CoreBeforeBuild.d.ts +2 -6
  378. package/extensions/hooks/CoreBeforeBuild.js +16 -19
  379. package/extensions/hooks/CoreBeforeBuild.js.map +1 -1
  380. package/extensions/hooks/CoreBeforeDeploy.d.ts +2 -6
  381. package/extensions/hooks/CoreBeforeDeploy.js +16 -19
  382. package/extensions/hooks/CoreBeforeDeploy.js.map +1 -1
  383. package/extensions/hooks/CoreBeforeWatch.d.ts +2 -6
  384. package/extensions/hooks/CoreBeforeWatch.js +16 -19
  385. package/extensions/hooks/CoreBeforeWatch.js.map +1 -1
  386. package/extensions/hooks/index.js +0 -2
  387. package/extensions/index.d.ts +64 -58
  388. package/extensions/index.js +50 -55
  389. package/extensions/index.js.map +1 -1
  390. package/extensions/infra/Ci.d.ts +14 -0
  391. package/extensions/infra/Ci.js +13 -0
  392. package/extensions/infra/Ci.js.map +1 -0
  393. package/extensions/infra/Env.d.ts +6 -0
  394. package/extensions/infra/Env.js +38 -74
  395. package/extensions/infra/Env.js.map +1 -1
  396. package/extensions/infra/index.d.ts +1 -0
  397. package/extensions/infra/index.js +1 -2
  398. package/extensions/pulumi/AdminStackOutputValue.d.ts +1 -7
  399. package/extensions/pulumi/AdminStackOutputValue.js +13 -12
  400. package/extensions/pulumi/AdminStackOutputValue.js.map +1 -1
  401. package/extensions/pulumi/ApiStackOutputValue.d.ts +1 -7
  402. package/extensions/pulumi/ApiStackOutputValue.js +13 -12
  403. package/extensions/pulumi/ApiStackOutputValue.js.map +1 -1
  404. package/extensions/pulumi/CoreStackOutputValue.d.ts +1 -7
  405. package/extensions/pulumi/CoreStackOutputValue.js +13 -12
  406. package/extensions/pulumi/CoreStackOutputValue.js.map +1 -1
  407. package/extensions/pulumi/ProductionEnvironments.d.ts +2 -6
  408. package/extensions/pulumi/ProductionEnvironments.js +31 -26
  409. package/extensions/pulumi/ProductionEnvironments.js.map +1 -1
  410. package/extensions/pulumi/PulumiResourceNamePrefix.d.ts +1 -5
  411. package/extensions/pulumi/PulumiResourceNamePrefix.js +10 -9
  412. package/extensions/pulumi/PulumiResourceNamePrefix.js.map +1 -1
  413. package/extensions/pulumi/index.d.ts +0 -3
  414. package/extensions/pulumi/index.js +0 -5
  415. package/features/BuildApp/BuildApp.js +49 -40
  416. package/features/BuildApp/BuildApp.js.map +1 -1
  417. package/features/BuildApp/PackagesBuilder/PackagesBuilder.js +34 -39
  418. package/features/BuildApp/PackagesBuilder/PackagesBuilder.js.map +1 -1
  419. package/features/BuildApp/PackagesBuilder/RunnableBuildProcess.js +39 -33
  420. package/features/BuildApp/PackagesBuilder/RunnableBuildProcess.js.map +1 -1
  421. package/features/BuildApp/PackagesBuilder/RunnableBuildProcesses.js +39 -46
  422. package/features/BuildApp/PackagesBuilder/RunnableBuildProcesses.js.map +1 -1
  423. package/features/BuildApp/PackagesBuilder/worker.js +27 -35
  424. package/features/BuildApp/PackagesBuilder/worker.js.map +1 -1
  425. package/features/BuildApp/index.js +0 -2
  426. package/features/DeployApp/DeployApp.js +79 -79
  427. package/features/DeployApp/DeployApp.js.map +1 -1
  428. package/features/DeployApp/index.js +0 -2
  429. package/features/DestroyApp/DestroyApp.js +60 -46
  430. package/features/DestroyApp/DestroyApp.js.map +1 -1
  431. package/features/DestroyApp/index.js +0 -2
  432. package/features/ExportStack/ExportStack.js +21 -16
  433. package/features/ExportStack/ExportStack.js.map +1 -1
  434. package/features/ExportStack/index.js +0 -2
  435. package/features/GetApp/GetApp.js +14 -11
  436. package/features/GetApp/GetApp.js.map +1 -1
  437. package/features/GetApp/index.js +0 -2
  438. package/features/GetAppOutput/GetAppOutput.js +44 -33
  439. package/features/GetAppOutput/GetAppOutput.js.map +1 -1
  440. package/features/GetAppOutput/index.js +0 -2
  441. package/features/GetAppStackOutput/GetAppStackOutput.js +20 -15
  442. package/features/GetAppStackOutput/GetAppStackOutput.js.map +1 -1
  443. package/features/GetAppStackOutput/index.js +0 -2
  444. package/features/GetFeatureFlags/GetFeatureFlags.d.ts +9 -0
  445. package/features/GetFeatureFlags/GetFeatureFlags.js +29 -0
  446. package/features/GetFeatureFlags/GetFeatureFlags.js.map +1 -0
  447. package/features/GetFeatureFlags/index.d.ts +1 -0
  448. package/features/GetFeatureFlags/index.js +1 -0
  449. package/features/GetLogger/GetLogger.js +14 -11
  450. package/features/GetLogger/GetLogger.js.map +1 -1
  451. package/features/GetLogger/index.js +0 -2
  452. package/features/GetProductionEnvironments/GetProductionEnvironments.js +24 -19
  453. package/features/GetProductionEnvironments/GetProductionEnvironments.js.map +1 -1
  454. package/features/GetProductionEnvironments/index.js +0 -2
  455. package/features/GetProject/GetProject.js +14 -11
  456. package/features/GetProject/GetProject.js.map +1 -1
  457. package/features/GetProject/index.js +0 -2
  458. package/features/GetProjectConfig/GetProjectConfig.js +14 -11
  459. package/features/GetProjectConfig/GetProjectConfig.js.map +1 -1
  460. package/features/GetProjectConfig/index.js +0 -2
  461. package/features/GetProjectInfo/GetProjectInfo.js +14 -11
  462. package/features/GetProjectInfo/GetProjectInfo.js.map +1 -1
  463. package/features/GetProjectInfo/index.js +0 -2
  464. package/features/GetPulumiResourceNamePrefix/GetPulumiResourceNamePrefix.js +18 -17
  465. package/features/GetPulumiResourceNamePrefix/GetPulumiResourceNamePrefix.js.map +1 -1
  466. package/features/GetPulumiResourceNamePrefix/index.js +0 -2
  467. package/features/InstallExtension/InstallExtension.js +14 -11
  468. package/features/InstallExtension/InstallExtension.js.map +1 -1
  469. package/features/InstallExtension/index.js +0 -2
  470. package/features/IsCi/IsCi.js +14 -11
  471. package/features/IsCi/IsCi.js.map +1 -1
  472. package/features/IsCi/index.js +0 -2
  473. package/features/IsTelemetryEnabled/IsTelemetryEnabled.js +19 -18
  474. package/features/IsTelemetryEnabled/IsTelemetryEnabled.js.map +1 -1
  475. package/features/IsTelemetryEnabled/index.js +0 -2
  476. package/features/IsWcpEnabled/IsWcpEnabled.js +15 -12
  477. package/features/IsWcpEnabled/IsWcpEnabled.js.map +1 -1
  478. package/features/IsWcpEnabled/index.js +0 -2
  479. package/features/IsWebinyJsRepo/IsWebinyJsRepo.js +17 -14
  480. package/features/IsWebinyJsRepo/IsWebinyJsRepo.js.map +1 -1
  481. package/features/IsWebinyJsRepo/index.js +0 -2
  482. package/features/RefreshApp/RefreshApp.js +57 -46
  483. package/features/RefreshApp/RefreshApp.js.map +1 -1
  484. package/features/RefreshApp/index.js +0 -2
  485. package/features/RunPulumiCommand/RunPulumiCommand.js +54 -43
  486. package/features/RunPulumiCommand/RunPulumiCommand.js.map +1 -1
  487. package/features/RunPulumiCommand/index.js +0 -2
  488. package/features/ValidateProjectConfig/ValidateProjectConfig.js +14 -11
  489. package/features/ValidateProjectConfig/ValidateProjectConfig.js.map +1 -1
  490. package/features/ValidateProjectConfig/index.js +0 -2
  491. package/features/Watch/Watch.js +178 -180
  492. package/features/Watch/Watch.js.map +1 -1
  493. package/features/Watch/getIotEndpoint.js +14 -12
  494. package/features/Watch/getIotEndpoint.js.map +1 -1
  495. package/features/Watch/index.js +0 -2
  496. package/features/Watch/initInvocationForwarding.d.ts +1 -1
  497. package/features/Watch/initInvocationForwarding.js +77 -96
  498. package/features/Watch/initInvocationForwarding.js.map +1 -1
  499. package/features/Watch/localInvocationWorker.js +25 -30
  500. package/features/Watch/localInvocationWorker.js.map +1 -1
  501. package/features/Watch/replaceLambdaFunctions.d.ts +2 -1
  502. package/features/Watch/replaceLambdaFunctions.js +61 -80
  503. package/features/Watch/replaceLambdaFunctions.js.map +1 -1
  504. package/features/Watch/watchers/BasePackagesWatcher.js +10 -13
  505. package/features/Watch/watchers/BasePackagesWatcher.js.map +1 -1
  506. package/features/Watch/watchers/MultiplePackagesWatcher.js +11 -12
  507. package/features/Watch/watchers/MultiplePackagesWatcher.js.map +1 -1
  508. package/features/Watch/watchers/PackagesWatcher.js +15 -18
  509. package/features/Watch/watchers/PackagesWatcher.js.map +1 -1
  510. package/features/Watch/watchers/RunnableWatchProcess.js +41 -40
  511. package/features/Watch/watchers/RunnableWatchProcess.js.map +1 -1
  512. package/features/Watch/watchers/RunnableWatchProcesses.js +35 -34
  513. package/features/Watch/watchers/RunnableWatchProcesses.js.map +1 -1
  514. package/features/Watch/watchers/SinglePackageWatcher.js +11 -8
  515. package/features/Watch/watchers/SinglePackageWatcher.js.map +1 -1
  516. package/features/Watch/watchers/WebinyConfigWatcher.js +30 -40
  517. package/features/Watch/watchers/WebinyConfigWatcher.js.map +1 -1
  518. package/features/Watch/watchers/ZeroPackagesWatcher.js +5 -5
  519. package/features/Watch/watchers/ZeroPackagesWatcher.js.map +1 -1
  520. package/features/Watch/watchers/utils/measureDuration.js +7 -8
  521. package/features/Watch/watchers/utils/measureDuration.js.map +1 -1
  522. package/features/Watch/watchers/worker.js +12 -21
  523. package/features/Watch/watchers/worker.js.map +1 -1
  524. package/features/hooks/AdminAfterBuild/AdminBeforeBuild.js +19 -15
  525. package/features/hooks/AdminAfterBuild/AdminBeforeBuild.js.map +1 -1
  526. package/features/hooks/AdminAfterBuild/index.js +0 -2
  527. package/features/hooks/AdminAfterDeploy/AdminBeforeBuild.js +19 -15
  528. package/features/hooks/AdminAfterDeploy/AdminBeforeBuild.js.map +1 -1
  529. package/features/hooks/AdminAfterDeploy/index.js +0 -2
  530. package/features/hooks/AdminBeforeBuild/AdminBeforeBuild.js +19 -15
  531. package/features/hooks/AdminBeforeBuild/AdminBeforeBuild.js.map +1 -1
  532. package/features/hooks/AdminBeforeBuild/index.js +0 -2
  533. package/features/hooks/AdminBeforeDeploy/AdminBeforeDeploy.js +19 -15
  534. package/features/hooks/AdminBeforeDeploy/AdminBeforeDeploy.js.map +1 -1
  535. package/features/hooks/AdminBeforeDeploy/index.js +0 -2
  536. package/features/hooks/AdminBeforeWatch/AdminBeforeWatch.js +18 -14
  537. package/features/hooks/AdminBeforeWatch/AdminBeforeWatch.js.map +1 -1
  538. package/features/hooks/AdminBeforeWatch/index.js +0 -2
  539. package/features/hooks/AfterBuild/AfterBuild.js +19 -15
  540. package/features/hooks/AfterBuild/AfterBuild.js.map +1 -1
  541. package/features/hooks/AfterBuild/index.js +0 -2
  542. package/features/hooks/AfterDeploy/AfterDeploy.js +19 -15
  543. package/features/hooks/AfterDeploy/AfterDeploy.js.map +1 -1
  544. package/features/hooks/AfterDeploy/index.js +0 -2
  545. package/features/hooks/ApiAfterBuild/ApiBeforeBuild.js +18 -14
  546. package/features/hooks/ApiAfterBuild/ApiBeforeBuild.js.map +1 -1
  547. package/features/hooks/ApiAfterBuild/index.js +0 -2
  548. package/features/hooks/ApiAfterDeploy/ApiBeforeBuild.js +18 -14
  549. package/features/hooks/ApiAfterDeploy/ApiBeforeBuild.js.map +1 -1
  550. package/features/hooks/ApiAfterDeploy/index.js +0 -2
  551. package/features/hooks/ApiBeforeBuild/ApiBeforeBuild.js +18 -14
  552. package/features/hooks/ApiBeforeBuild/ApiBeforeBuild.js.map +1 -1
  553. package/features/hooks/ApiBeforeBuild/index.js +0 -2
  554. package/features/hooks/ApiBeforeDeploy/ApiBeforeDeploy.js +18 -14
  555. package/features/hooks/ApiBeforeDeploy/ApiBeforeDeploy.js.map +1 -1
  556. package/features/hooks/ApiBeforeDeploy/index.js +0 -2
  557. package/features/hooks/ApiBeforeWatch/ApiBeforeWatch.js +18 -14
  558. package/features/hooks/ApiBeforeWatch/ApiBeforeWatch.js.map +1 -1
  559. package/features/hooks/ApiBeforeWatch/index.js +0 -2
  560. package/features/hooks/BeforeBuild/BeforeBuild.js +19 -15
  561. package/features/hooks/BeforeBuild/BeforeBuild.js.map +1 -1
  562. package/features/hooks/BeforeBuild/index.js +0 -2
  563. package/features/hooks/BeforeDeploy/BeforeDeploy.js +19 -15
  564. package/features/hooks/BeforeDeploy/BeforeDeploy.js.map +1 -1
  565. package/features/hooks/BeforeDeploy/index.js +0 -2
  566. package/features/hooks/BeforeWatch/BeforeWatch.js +19 -15
  567. package/features/hooks/BeforeWatch/BeforeWatch.js.map +1 -1
  568. package/features/hooks/BeforeWatch/index.js +0 -2
  569. package/features/hooks/CoreAfterBuild/CoreBeforeBuild.js +18 -14
  570. package/features/hooks/CoreAfterBuild/CoreBeforeBuild.js.map +1 -1
  571. package/features/hooks/CoreAfterBuild/index.js +0 -2
  572. package/features/hooks/CoreAfterDeploy/CoreBeforeBuild.js +18 -14
  573. package/features/hooks/CoreAfterDeploy/CoreBeforeBuild.js.map +1 -1
  574. package/features/hooks/CoreAfterDeploy/index.js +0 -2
  575. package/features/hooks/CoreBeforeBuild/CoreBeforeBuild.js +18 -14
  576. package/features/hooks/CoreBeforeBuild/CoreBeforeBuild.js.map +1 -1
  577. package/features/hooks/CoreBeforeBuild/index.js +0 -2
  578. package/features/hooks/CoreBeforeDeploy/CoreBeforeDeploy.js +18 -14
  579. package/features/hooks/CoreBeforeDeploy/CoreBeforeDeploy.js.map +1 -1
  580. package/features/hooks/CoreBeforeDeploy/index.js +0 -2
  581. package/features/hooks/CoreBeforeWatch/CoreBeforeWatch.js +18 -14
  582. package/features/hooks/CoreBeforeWatch/CoreBeforeWatch.js.map +1 -1
  583. package/features/hooks/CoreBeforeWatch/index.js +0 -2
  584. package/features/hooks/index.js +0 -2
  585. package/features/index.d.ts +1 -1
  586. package/features/index.js +1 -3
  587. package/index.d.ts +4 -0
  588. package/index.js +9 -10
  589. package/index.js.map +1 -1
  590. package/models/AppModel.js +20 -19
  591. package/models/AppModel.js.map +1 -1
  592. package/models/AppPackageModel.js +10 -9
  593. package/models/AppPackageModel.js.map +1 -1
  594. package/models/PathModel.js +23 -26
  595. package/models/PathModel.js.map +1 -1
  596. package/models/ProjectConfigModel.js +12 -16
  597. package/models/ProjectConfigModel.js.map +1 -1
  598. package/models/ProjectModel.js +37 -36
  599. package/models/ProjectModel.js.map +1 -1
  600. package/models/UrlModel.js +23 -23
  601. package/models/UrlModel.js.map +1 -1
  602. package/models/WcpEnvironmentModel.js +23 -22
  603. package/models/WcpEnvironmentModel.js.map +1 -1
  604. package/models/WcpUserModel.js +13 -12
  605. package/models/WcpUserModel.js.map +1 -1
  606. package/models/WcpUserPatModel.js +12 -11
  607. package/models/WcpUserPatModel.js.map +1 -1
  608. package/models/index.js +0 -2
  609. package/package.json +47 -45
  610. package/rslib-runtime.js +14 -0
  611. package/rslib-runtime.js.map +1 -0
  612. package/services/BuildAppWorkspaceService/BuildAppWorkspaceService.js +62 -69
  613. package/services/BuildAppWorkspaceService/BuildAppWorkspaceService.js.map +1 -1
  614. package/services/BuildAppWorkspaceService/index.js +0 -2
  615. package/services/BuildProjectWorkspaceService/BuildProjectWorkspaceService.js +21 -17
  616. package/services/BuildProjectWorkspaceService/BuildProjectWorkspaceService.js.map +1 -1
  617. package/services/BuildProjectWorkspaceService/index.js +0 -2
  618. package/services/GetAppPackagesService/GetAppPackagesService.js +24 -23
  619. package/services/GetAppPackagesService/GetAppPackagesService.js.map +1 -1
  620. package/services/GetAppPackagesService/index.js +0 -2
  621. package/services/GetAppService/GetAppService.js +24 -27
  622. package/services/GetAppService/GetAppService.js.map +1 -1
  623. package/services/GetAppService/index.js +0 -2
  624. package/services/GetCwdService/GetCwdService.js +15 -12
  625. package/services/GetCwdService/GetCwdService.js.map +1 -1
  626. package/services/GetCwdService/index.js +0 -2
  627. package/services/GetProjectConfigService/EnvContext.js +29 -38
  628. package/services/GetProjectConfigService/EnvContext.js.map +1 -1
  629. package/services/GetProjectConfigService/GetProjectConfigService.js +103 -115
  630. package/services/GetProjectConfigService/GetProjectConfigService.js.map +1 -1
  631. package/services/GetProjectConfigService/ProductionEnvironmentsContext.d.ts +6 -0
  632. package/services/GetProjectConfigService/ProductionEnvironmentsContext.js +16 -0
  633. package/services/GetProjectConfigService/ProductionEnvironmentsContext.js.map +1 -0
  634. package/services/GetProjectConfigService/WcpProjectLicenseContext.d.ts +14 -0
  635. package/services/GetProjectConfigService/WcpProjectLicenseContext.js +37 -0
  636. package/services/GetProjectConfigService/WcpProjectLicenseContext.js.map +1 -0
  637. package/services/GetProjectConfigService/index.js +0 -2
  638. package/services/GetProjectConfigService/renderConfig.js +32 -38
  639. package/services/GetProjectConfigService/renderConfig.js.map +1 -1
  640. package/services/GetProjectConfigService/renderConfigWorker.js +43 -43
  641. package/services/GetProjectConfigService/renderConfigWorker.js.map +1 -1
  642. package/services/GetProjectIdService/GetProjectIdService.js +22 -23
  643. package/services/GetProjectIdService/GetProjectIdService.js.map +1 -1
  644. package/services/GetProjectIdService/index.js +0 -2
  645. package/services/GetProjectService/GetProjectService.js +44 -46
  646. package/services/GetProjectService/GetProjectService.js.map +1 -1
  647. package/services/GetProjectService/index.js +0 -2
  648. package/services/GetProjectVersionService/GetProjectVersionService.js +25 -24
  649. package/services/GetProjectVersionService/GetProjectVersionService.js.map +1 -1
  650. package/services/GetProjectVersionService/index.js +0 -2
  651. package/services/GetPulumiService/GetPulumiService.js +36 -41
  652. package/services/GetPulumiService/GetPulumiService.js.map +1 -1
  653. package/services/GetPulumiService/index.js +0 -2
  654. package/services/InitProjectSdkService/InitProjectSdkService.js +36 -52
  655. package/services/InitProjectSdkService/InitProjectSdkService.js.map +1 -1
  656. package/services/InitProjectSdkService/applyEnvVars.js +5 -8
  657. package/services/InitProjectSdkService/applyEnvVars.js.map +1 -1
  658. package/services/InitProjectSdkService/applyWcpEnvVars.js +91 -134
  659. package/services/InitProjectSdkService/applyWcpEnvVars.js.map +1 -1
  660. package/services/InitProjectSdkService/index.js +0 -2
  661. package/services/InitProjectSdkService/registerDecorators.js +11 -8
  662. package/services/InitProjectSdkService/registerDecorators.js.map +1 -1
  663. package/services/InitProjectSdkService/registerHooks.js +31 -8
  664. package/services/InitProjectSdkService/registerHooks.js.map +1 -1
  665. package/services/InitProjectSdkService/registerImplementations.js +11 -12
  666. package/services/InitProjectSdkService/registerImplementations.js.map +1 -1
  667. package/services/InitProjectSdkService/registerPulumiExtensions.js +13 -8
  668. package/services/InitProjectSdkService/registerPulumiExtensions.js.map +1 -1
  669. package/services/InstallExtensionService/InstallExtensionService.d.ts +1 -1
  670. package/services/InstallExtensionService/InstallExtensionService.js +80 -109
  671. package/services/InstallExtensionService/InstallExtensionService.js.map +1 -1
  672. package/services/InstallExtensionService/downloadFolderFromS3.js +46 -74
  673. package/services/InstallExtensionService/downloadFolderFromS3.js.map +1 -1
  674. package/services/InstallExtensionService/index.js +0 -2
  675. package/services/InstallExtensionService/mergePackageJson.js +17 -27
  676. package/services/InstallExtensionService/mergePackageJson.js.map +1 -1
  677. package/services/InstallExtensionService/types.d.ts +4 -0
  678. package/services/InstallExtensionService/types.js +0 -3
  679. package/services/InstallExtensionService/updateWebinyConfig.js +63 -68
  680. package/services/InstallExtensionService/updateWebinyConfig.js.map +1 -1
  681. package/services/IsRemotePulumiBackendService/IsRemotePulumiBackendService.js +9 -17
  682. package/services/IsRemotePulumiBackendService/IsRemotePulumiBackendService.js.map +1 -1
  683. package/services/IsRemotePulumiBackendService/index.js +0 -2
  684. package/services/ListAppLambdaFunctionsService/ListAppLambdaFunctionsService.js +51 -74
  685. package/services/ListAppLambdaFunctionsService/ListAppLambdaFunctionsService.js.map +1 -1
  686. package/services/ListAppLambdaFunctionsService/index.js +0 -2
  687. package/services/ListDeployedEnvironmentsService/ListDeployedEnvironmentsService.js +21 -23
  688. package/services/ListDeployedEnvironmentsService/ListDeployedEnvironmentsService.js.map +1 -1
  689. package/services/ListDeployedEnvironmentsService/index.js +0 -2
  690. package/services/ListPackagesInAppWorkspaceService/ListPackagesInAppWorkspaceService.js +34 -29
  691. package/services/ListPackagesInAppWorkspaceService/ListPackagesInAppWorkspaceService.js.map +1 -1
  692. package/services/ListPackagesInAppWorkspaceService/index.js +0 -2
  693. package/services/ListPackagesService/ListPackagesService.js +81 -114
  694. package/services/ListPackagesService/ListPackagesService.js.map +1 -1
  695. package/services/ListPackagesService/index.js +0 -2
  696. package/services/LoadEnvVarsService/LoadEnvVarsService.d.ts +3 -2
  697. package/services/LoadEnvVarsService/LoadEnvVarsService.js +37 -30
  698. package/services/LoadEnvVarsService/LoadEnvVarsService.js.map +1 -1
  699. package/services/LoadEnvVarsService/index.js +0 -2
  700. package/services/LocalStorageService/LocalStorageService.js +41 -44
  701. package/services/LocalStorageService/LocalStorageService.js.map +1 -1
  702. package/services/LocalStorageService/index.js +0 -2
  703. package/services/LoggerService/LoggerService.js +76 -84
  704. package/services/LoggerService/LoggerService.js.map +1 -1
  705. package/services/LoggerService/index.js +0 -2
  706. package/services/ProjectInfoService/GetIsCiService.js +9 -8
  707. package/services/ProjectInfoService/GetIsCiService.js.map +1 -1
  708. package/services/ProjectInfoService/GetNpmVersionService.js +9 -8
  709. package/services/ProjectInfoService/GetNpmVersionService.js.map +1 -1
  710. package/services/ProjectInfoService/GetNpxVersionService.js +9 -8
  711. package/services/ProjectInfoService/GetNpxVersionService.js.map +1 -1
  712. package/services/ProjectInfoService/GetPulumiVersionService.js +38 -30
  713. package/services/ProjectInfoService/GetPulumiVersionService.js.map +1 -1
  714. package/services/ProjectInfoService/GetYarnVersionService.js +9 -8
  715. package/services/ProjectInfoService/GetYarnVersionService.js.map +1 -1
  716. package/services/ProjectInfoService/ProjectInfoService.js +56 -51
  717. package/services/ProjectInfoService/ProjectInfoService.js.map +1 -1
  718. package/services/ProjectInfoService/index.js +0 -2
  719. package/services/ProjectSdkParamsService/ProjectSdkParamsService.js +37 -34
  720. package/services/ProjectSdkParamsService/ProjectSdkParamsService.js.map +1 -1
  721. package/services/ProjectSdkParamsService/index.js +0 -2
  722. package/services/PulumiExportService/PulumiExportService.js +42 -35
  723. package/services/PulumiExportService/PulumiExportService.js.map +1 -1
  724. package/services/PulumiExportService/index.js +0 -2
  725. package/services/PulumiGetConfigPassphraseService/PulumiGetConfigPassphraseService.js +9 -8
  726. package/services/PulumiGetConfigPassphraseService/PulumiGetConfigPassphraseService.js.map +1 -1
  727. package/services/PulumiGetConfigPassphraseService/index.js +0 -2
  728. package/services/PulumiGetSecretsProviderService/PulumiGetSecretsProviderService.js +9 -8
  729. package/services/PulumiGetSecretsProviderService/PulumiGetSecretsProviderService.js.map +1 -1
  730. package/services/PulumiGetSecretsProviderService/index.js +0 -2
  731. package/services/PulumiGetStackOutputService/PulumiGetStackOutputService.js +108 -100
  732. package/services/PulumiGetStackOutputService/PulumiGetStackOutputService.js.map +1 -1
  733. package/services/PulumiGetStackOutputService/index.js +0 -2
  734. package/services/PulumiGetStackOutputService/mapStackOutput.js +17 -29
  735. package/services/PulumiGetStackOutputService/mapStackOutput.js.map +1 -1
  736. package/services/PulumiImportService/PulumiImportService.js +48 -45
  737. package/services/PulumiImportService/PulumiImportService.js.map +1 -1
  738. package/services/PulumiImportService/index.js +0 -2
  739. package/services/PulumiLoginService/PulumiLoginService.js +43 -40
  740. package/services/PulumiLoginService/PulumiLoginService.js.map +1 -1
  741. package/services/PulumiLoginService/index.js +0 -2
  742. package/services/PulumiSelectStackService/PulumiSelectStackService.js +91 -86
  743. package/services/PulumiSelectStackService/PulumiSelectStackService.js.map +1 -1
  744. package/services/PulumiSelectStackService/index.js +0 -2
  745. package/services/SetProjectIdService/SetProjectIdService.js +42 -46
  746. package/services/SetProjectIdService/SetProjectIdService.js.map +1 -1
  747. package/services/SetProjectIdService/index.js +0 -2
  748. package/services/StdioService/StdioService.js +15 -14
  749. package/services/StdioService/StdioService.js.map +1 -1
  750. package/services/StdioService/index.js +0 -2
  751. package/services/UiService/UiService.js +55 -58
  752. package/services/UiService/UiService.js.map +1 -1
  753. package/services/UiService/index.js +0 -2
  754. package/services/ValidateProjectConfigService/ValidateProjectConfigService.js +18 -19
  755. package/services/ValidateProjectConfigService/ValidateProjectConfigService.js.map +1 -1
  756. package/services/ValidateProjectConfigService/index.js +0 -2
  757. package/services/WatchedLambdaFunctionsService/WatchedLambdaFunctionsService.d.ts +4 -4
  758. package/services/WatchedLambdaFunctionsService/WatchedLambdaFunctionsService.js +47 -48
  759. package/services/WatchedLambdaFunctionsService/WatchedLambdaFunctionsService.js.map +1 -1
  760. package/services/WatchedLambdaFunctionsService/index.js +0 -2
  761. package/services/WcpService/CreateUserPat.js +20 -23
  762. package/services/WcpService/CreateUserPat.js.map +1 -1
  763. package/services/WcpService/GenerateUserPat.js +15 -18
  764. package/services/WcpService/GenerateUserPat.js.map +1 -1
  765. package/services/WcpService/GetPatFromLocalStorage.js +9 -10
  766. package/services/WcpService/GetPatFromLocalStorage.js.map +1 -1
  767. package/services/WcpService/GetProjectEnvironment.js +34 -47
  768. package/services/WcpService/GetProjectEnvironment.js.map +1 -1
  769. package/services/WcpService/GetProjectLicense.js +28 -38
  770. package/services/WcpService/GetProjectLicense.js.map +1 -1
  771. package/services/WcpService/GetUser.js +43 -46
  772. package/services/WcpService/GetUser.js.map +1 -1
  773. package/services/WcpService/GetUserPat.js +20 -23
  774. package/services/WcpService/GetUserPat.js.map +1 -1
  775. package/services/WcpService/LogoutUser.js +9 -8
  776. package/services/WcpService/LogoutUser.js.map +1 -1
  777. package/services/WcpService/StorePatToLocalStorage.js +9 -10
  778. package/services/WcpService/StorePatToLocalStorage.js.map +1 -1
  779. package/services/WcpService/UnsetPatFromLocalStorage.js +9 -10
  780. package/services/WcpService/UnsetPatFromLocalStorage.js.map +1 -1
  781. package/services/WcpService/WcpGqlClient.js +6 -5
  782. package/services/WcpService/WcpGqlClient.js.map +1 -1
  783. package/services/WcpService/WcpService.js +74 -75
  784. package/services/WcpService/WcpService.js.map +1 -1
  785. package/services/WcpService/index.js +0 -2
  786. package/services/index.js +0 -2
  787. package/utils/ExtensionSrcResolver.d.ts +33 -0
  788. package/utils/ExtensionSrcResolver.js +65 -0
  789. package/utils/ExtensionSrcResolver.js.map +1 -0
  790. package/utils/constants.js +8 -7
  791. package/utils/constants.js.map +1 -1
  792. package/utils/createPathResolver.js +2 -5
  793. package/utils/createPathResolver.js.map +1 -1
  794. package/utils/env/configuration.js +16 -25
  795. package/utils/env/configuration.js.map +1 -1
  796. package/utils/env/index.js +0 -2
  797. package/utils/env/types.js +0 -3
  798. package/utils/env/withEnv.js +4 -7
  799. package/utils/env/withEnv.js.map +1 -1
  800. package/utils/env/withEnvVariant.js +8 -11
  801. package/utils/env/withEnvVariant.js.map +1 -1
  802. package/utils/env/withProjectName.js +4 -9
  803. package/utils/env/withProjectName.js.map +1 -1
  804. package/utils/env/withPulumiConfigPassphrase.js +4 -8
  805. package/utils/env/withPulumiConfigPassphrase.js.map +1 -1
  806. package/utils/env/withRegion.js +10 -17
  807. package/utils/env/withRegion.js.map +1 -1
  808. package/utils/getRandomColorForString.js +86 -8
  809. package/utils/getRandomColorForString.js.map +1 -1
  810. package/utils/getStackName.js +11 -18
  811. package/utils/getStackName.js.map +1 -1
  812. package/utils/getTemplatesFolderPath.js +6 -8
  813. package/utils/getTemplatesFolderPath.js.map +1 -1
  814. package/utils/index.d.ts +2 -1
  815. package/utils/index.js +2 -3
  816. package/utils/isValidRegionName.js +8 -13
  817. package/utils/isValidRegionName.js.map +1 -1
  818. package/utils/isValidVariantName.js +11 -10
  819. package/utils/isValidVariantName.js.map +1 -1
  820. package/utils/measureDuration.js +7 -8
  821. package/utils/measureDuration.js.map +1 -1
  822. package/utils/projectSdkContext.js +23 -39
  823. package/utils/projectSdkContext.js.map +1 -1
  824. package/utils/regions.js +75 -63
  825. package/utils/regions.js.map +1 -1
  826. package/utils/registerExtension.js +6 -15
  827. package/utils/registerExtension.js.map +1 -1
  828. package/utils/requireConfig.js +8 -9
  829. package/utils/requireConfig.js.map +1 -1
  830. package/utils/toImportSpecifier.d.ts +5 -0
  831. package/utils/toImportSpecifier.js +6 -0
  832. package/utils/toImportSpecifier.js.map +1 -0
  833. package/abstractions/features/hooks/index.js.map +0 -1
  834. package/abstractions/features/index.js.map +0 -1
  835. package/abstractions/features/pulumi/AdminPulumi.d.ts +0 -8
  836. package/abstractions/features/pulumi/AdminPulumi.js +0 -4
  837. package/abstractions/features/pulumi/AdminPulumi.js.map +0 -1
  838. package/abstractions/features/pulumi/ApiPulumi.d.ts +0 -8
  839. package/abstractions/features/pulumi/ApiPulumi.js +0 -4
  840. package/abstractions/features/pulumi/ApiPulumi.js.map +0 -1
  841. package/abstractions/features/pulumi/CorePulumi.d.ts +0 -8
  842. package/abstractions/features/pulumi/CorePulumi.js +0 -4
  843. package/abstractions/features/pulumi/CorePulumi.js.map +0 -1
  844. package/abstractions/features/pulumi/index.d.ts +0 -3
  845. package/abstractions/features/pulumi/index.js +0 -5
  846. package/abstractions/features/pulumi/index.js.map +0 -1
  847. package/abstractions/index.js.map +0 -1
  848. package/abstractions/models/IAppModel.js.map +0 -1
  849. package/abstractions/models/IAppPackageModel.js.map +0 -1
  850. package/abstractions/models/IPathModel.js.map +0 -1
  851. package/abstractions/models/IProjectConfigDto.js.map +0 -1
  852. package/abstractions/models/IProjectConfigModel.js.map +0 -1
  853. package/abstractions/models/IProjectModel.js.map +0 -1
  854. package/abstractions/models/IUrlModel.js.map +0 -1
  855. package/abstractions/models/IWcpEnvironmentDto.js.map +0 -1
  856. package/abstractions/models/IWcpEnvironmentModel.js.map +0 -1
  857. package/abstractions/models/IWcpUserDto.js.map +0 -1
  858. package/abstractions/models/IWcpUserModel.js.map +0 -1
  859. package/abstractions/models/IWcpUserPatDto.js.map +0 -1
  860. package/abstractions/models/IWcpUserPatModel.js.map +0 -1
  861. package/abstractions/models/PackagesBuilder/IPackagesBuilder.js.map +0 -1
  862. package/abstractions/models/PackagesBuilder/IRunnableBuildProcess.js.map +0 -1
  863. package/abstractions/models/PackagesBuilder/IRunnableBuildProcesses.js.map +0 -1
  864. package/abstractions/models/PackagesBuilder/index.js.map +0 -1
  865. package/abstractions/models/index.js.map +0 -1
  866. package/abstractions/services/ProjectInfoService/index.js.map +0 -1
  867. package/abstractions/services/index.js.map +0 -1
  868. package/abstractions/types.js.map +0 -1
  869. package/decorators/index.js.map +0 -1
  870. package/defineExtension/defineApiExtension.d.ts +0 -17
  871. package/defineExtension/defineApiExtension.js +0 -110
  872. package/defineExtension/defineApiExtension.js.map +0 -1
  873. package/defineExtension/index.js.map +0 -1
  874. package/defineExtension/models/index.js.map +0 -1
  875. package/defineExtension/types.js.map +0 -1
  876. package/exports/extensions.d.ts +0 -1
  877. package/exports/extensions.js +0 -3
  878. package/exports/extensions.js.map +0 -1
  879. package/exports/infra/admin.js.map +0 -1
  880. package/exports/infra/api.js.map +0 -1
  881. package/exports/infra/core.js.map +0 -1
  882. package/exports/infra/index.d.ts +0 -8
  883. package/exports/infra/index.js +0 -10
  884. package/exports/infra/index.js.map +0 -1
  885. package/extensions/hooks/index.js.map +0 -1
  886. package/extensions/infra/index.js.map +0 -1
  887. package/extensions/pulumi/AdminPulumi.d.ts +0 -8
  888. package/extensions/pulumi/AdminPulumi.js +0 -25
  889. package/extensions/pulumi/AdminPulumi.js.map +0 -1
  890. package/extensions/pulumi/ApiPulumi.d.ts +0 -8
  891. package/extensions/pulumi/ApiPulumi.js +0 -25
  892. package/extensions/pulumi/ApiPulumi.js.map +0 -1
  893. package/extensions/pulumi/CorePulumi.d.ts +0 -8
  894. package/extensions/pulumi/CorePulumi.js +0 -25
  895. package/extensions/pulumi/CorePulumi.js.map +0 -1
  896. package/extensions/pulumi/index.js.map +0 -1
  897. package/features/BuildApp/PackagesBuilder/utils/requireConfig.d.ts +0 -18
  898. package/features/BuildApp/PackagesBuilder/utils/requireConfig.js +0 -15
  899. package/features/BuildApp/PackagesBuilder/utils/requireConfig.js.map +0 -1
  900. package/features/BuildApp/index.js.map +0 -1
  901. package/features/DeployApp/index.js.map +0 -1
  902. package/features/DestroyApp/index.js.map +0 -1
  903. package/features/ExportStack/index.js.map +0 -1
  904. package/features/GetApp/index.js.map +0 -1
  905. package/features/GetAppOutput/index.js.map +0 -1
  906. package/features/GetAppStackOutput/index.js.map +0 -1
  907. package/features/GetLogger/index.js.map +0 -1
  908. package/features/GetProductionEnvironments/index.js.map +0 -1
  909. package/features/GetProject/index.js.map +0 -1
  910. package/features/GetProjectConfig/index.js.map +0 -1
  911. package/features/GetProjectInfo/index.js.map +0 -1
  912. package/features/GetPulumiResourceNamePrefix/index.js.map +0 -1
  913. package/features/InstallExtension/index.js.map +0 -1
  914. package/features/IsCi/index.js.map +0 -1
  915. package/features/IsTelemetryEnabled/index.js.map +0 -1
  916. package/features/IsWcpEnabled/index.js.map +0 -1
  917. package/features/IsWebinyJsRepo/index.js.map +0 -1
  918. package/features/RefreshApp/index.js.map +0 -1
  919. package/features/RunPulumiCommand/index.js.map +0 -1
  920. package/features/ValidateProjectConfig/index.js.map +0 -1
  921. package/features/Watch/index.js.map +0 -1
  922. package/features/Watch/watchers/utils/requireConfig.d.ts +0 -18
  923. package/features/Watch/watchers/utils/requireConfig.js +0 -15
  924. package/features/Watch/watchers/utils/requireConfig.js.map +0 -1
  925. package/features/hooks/AdminAfterBuild/index.js.map +0 -1
  926. package/features/hooks/AdminAfterDeploy/index.js.map +0 -1
  927. package/features/hooks/AdminBeforeBuild/index.js.map +0 -1
  928. package/features/hooks/AdminBeforeDeploy/index.js.map +0 -1
  929. package/features/hooks/AdminBeforeWatch/index.js.map +0 -1
  930. package/features/hooks/AfterBuild/index.js.map +0 -1
  931. package/features/hooks/AfterDeploy/index.js.map +0 -1
  932. package/features/hooks/ApiAfterBuild/index.js.map +0 -1
  933. package/features/hooks/ApiAfterDeploy/index.js.map +0 -1
  934. package/features/hooks/ApiBeforeBuild/index.js.map +0 -1
  935. package/features/hooks/ApiBeforeDeploy/index.js.map +0 -1
  936. package/features/hooks/ApiBeforeWatch/index.js.map +0 -1
  937. package/features/hooks/BeforeBuild/index.js.map +0 -1
  938. package/features/hooks/BeforeDeploy/index.js.map +0 -1
  939. package/features/hooks/BeforeWatch/index.js.map +0 -1
  940. package/features/hooks/CoreAfterBuild/index.js.map +0 -1
  941. package/features/hooks/CoreAfterDeploy/index.js.map +0 -1
  942. package/features/hooks/CoreBeforeBuild/index.js.map +0 -1
  943. package/features/hooks/CoreBeforeDeploy/index.js.map +0 -1
  944. package/features/hooks/CoreBeforeWatch/index.js.map +0 -1
  945. package/features/hooks/index.js.map +0 -1
  946. package/features/index.js.map +0 -1
  947. package/features/pulumi/AdminPulumi/AdminPulumi.d.ts +0 -7
  948. package/features/pulumi/AdminPulumi/AdminPulumi.js +0 -21
  949. package/features/pulumi/AdminPulumi/AdminPulumi.js.map +0 -1
  950. package/features/pulumi/AdminPulumi/index.d.ts +0 -1
  951. package/features/pulumi/AdminPulumi/index.js +0 -3
  952. package/features/pulumi/AdminPulumi/index.js.map +0 -1
  953. package/features/pulumi/ApiPulumi/ApiPulumi.d.ts +0 -7
  954. package/features/pulumi/ApiPulumi/ApiPulumi.js +0 -21
  955. package/features/pulumi/ApiPulumi/ApiPulumi.js.map +0 -1
  956. package/features/pulumi/ApiPulumi/index.d.ts +0 -1
  957. package/features/pulumi/ApiPulumi/index.js +0 -3
  958. package/features/pulumi/ApiPulumi/index.js.map +0 -1
  959. package/features/pulumi/CorePulumi/CorePulumi.d.ts +0 -7
  960. package/features/pulumi/CorePulumi/CorePulumi.js +0 -21
  961. package/features/pulumi/CorePulumi/CorePulumi.js.map +0 -1
  962. package/features/pulumi/CorePulumi/index.d.ts +0 -1
  963. package/features/pulumi/CorePulumi/index.js +0 -3
  964. package/features/pulumi/CorePulumi/index.js.map +0 -1
  965. package/features/pulumi/index.d.ts +0 -3
  966. package/features/pulumi/index.js +0 -5
  967. package/features/pulumi/index.js.map +0 -1
  968. package/models/index.js.map +0 -1
  969. package/services/BuildAppWorkspaceService/index.js.map +0 -1
  970. package/services/BuildProjectWorkspaceService/index.js.map +0 -1
  971. package/services/GetAppPackagesService/index.js.map +0 -1
  972. package/services/GetAppService/index.js.map +0 -1
  973. package/services/GetCwdService/index.js.map +0 -1
  974. package/services/GetProjectConfigService/index.js.map +0 -1
  975. package/services/GetProjectIdService/index.js.map +0 -1
  976. package/services/GetProjectService/index.js.map +0 -1
  977. package/services/GetProjectVersionService/index.js.map +0 -1
  978. package/services/GetPulumiService/index.js.map +0 -1
  979. package/services/InitProjectSdkService/index.js.map +0 -1
  980. package/services/InstallExtensionService/index.js.map +0 -1
  981. package/services/InstallExtensionService/types.js.map +0 -1
  982. package/services/IsRemotePulumiBackendService/index.js.map +0 -1
  983. package/services/ListAppLambdaFunctionsService/index.js.map +0 -1
  984. package/services/ListDeployedEnvironmentsService/index.js.map +0 -1
  985. package/services/ListPackagesInAppWorkspaceService/index.js.map +0 -1
  986. package/services/ListPackagesService/index.js.map +0 -1
  987. package/services/LoadEnvVarsService/index.js.map +0 -1
  988. package/services/LocalStorageService/index.js.map +0 -1
  989. package/services/LoggerService/index.js.map +0 -1
  990. package/services/ProjectInfoService/index.js.map +0 -1
  991. package/services/ProjectSdkParamsService/index.js.map +0 -1
  992. package/services/PulumiExportService/index.js.map +0 -1
  993. package/services/PulumiGetConfigPassphraseService/index.js.map +0 -1
  994. package/services/PulumiGetSecretsProviderService/index.js.map +0 -1
  995. package/services/PulumiGetStackOutputService/index.js.map +0 -1
  996. package/services/PulumiImportService/index.js.map +0 -1
  997. package/services/PulumiLoginService/index.js.map +0 -1
  998. package/services/PulumiSelectStackService/index.js.map +0 -1
  999. package/services/SetProjectIdService/index.js.map +0 -1
  1000. package/services/StdioService/index.js.map +0 -1
  1001. package/services/UiService/index.js.map +0 -1
  1002. package/services/ValidateProjectConfigService/index.js.map +0 -1
  1003. package/services/WatchedLambdaFunctionsService/index.js.map +0 -1
  1004. package/services/WcpService/index.js.map +0 -1
  1005. package/services/index.js.map +0 -1
  1006. package/utils/ImplPathResolver.d.ts +0 -10
  1007. package/utils/ImplPathResolver.js +0 -27
  1008. package/utils/ImplPathResolver.js.map +0 -1
  1009. package/utils/env/index.js.map +0 -1
  1010. package/utils/env/types.js.map +0 -1
  1011. package/utils/index.js.map +0 -1
@@ -1,10 +1,10 @@
1
1
  import os from "os";
2
2
  import path from "path";
3
3
  import fs from "fs";
4
- import fsAsync from "fs/promises";
5
- import loadJsonFile from "load-json-file";
4
+ import promises from "fs/promises";
5
+ import { loadJsonFileSync } from "load-json-file";
6
6
  import { createImplementation } from "@webiny/di";
7
- import { InstallExtensionService, GetProjectVersionService, GetProjectService } from "../../abstractions/index.js";
7
+ import { GetProjectService, GetProjectVersionService, InstallExtensionService } from "../../abstractions/index.js";
8
8
  import { downloadFolderFromS3 } from "./downloadFolderFromS3.js";
9
9
  import { mergePackageJson } from "./mergePackageJson.js";
10
10
  import { updateWebinyConfig } from "./updateWebinyConfig.js";
@@ -13,117 +13,88 @@ const S3_BUCKET_NAME = "webiny-examples";
13
13
  const S3_BUCKET_REGION = "us-east-1";
14
14
  const FOLDER_NAME_IS_VERSION_REGEX = /^\d+\.\d+\.x$/;
15
15
  const WEBINY_DEV_VERSION = "0.0.0";
16
- const getVersionFromVersionFolders = async (versionFoldersList, currentWebinyVersion) => {
17
- const availableVersions = versionFoldersList.filter(v => v.match(FOLDER_NAME_IS_VERSION_REGEX)).map(v => v.replace(/\.x$/, ".0")).sort();
18
- let versionToUse = "";
19
-
20
- // When developing Webiny, we want to use the latest version.
21
- if (currentWebinyVersion === WEBINY_DEV_VERSION) {
22
- versionToUse = availableVersions[availableVersions.length - 1];
23
- } else {
24
- for (const availableVersion of availableVersions) {
25
- if (currentWebinyVersion >= availableVersion) {
26
- versionToUse = availableVersion;
27
- } else {
28
- break;
29
- }
30
- }
31
- }
32
- return versionToUse.replace(/\.0$/, ".x");
16
+ const getVersionFromVersionFolders = async (versionFoldersList, currentWebinyVersion)=>{
17
+ const availableVersions = versionFoldersList.filter((v)=>v.match(FOLDER_NAME_IS_VERSION_REGEX)).map((v)=>v.replace(/\.x$/, ".0")).sort();
18
+ let versionToUse = "";
19
+ if (currentWebinyVersion.startsWith(WEBINY_DEV_VERSION)) versionToUse = availableVersions[availableVersions.length - 1];
20
+ else for (const availableVersion of availableVersions)if (currentWebinyVersion >= availableVersion) versionToUse = availableVersion;
21
+ else break;
22
+ return versionToUse.replace(/\.0$/, ".x");
33
23
  };
34
24
  class DefaultInstallExtensionService {
35
- constructor(getProjectVersion, getProject) {
36
- this.getProjectVersion = getProjectVersion;
37
- this.getProject = getProject;
38
- }
39
- async execute(source) {
40
- const currentWebinyVersion = this.getProjectVersion.execute();
41
- const project = this.getProject.execute();
42
- const projectRoot = project.paths.rootFolder.toString();
43
- const randomId = String(Date.now());
44
- const downloadFolderPath = path.join(os.tmpdir(), `wby-ext-${randomId}`);
45
- await downloadFolderFromS3({
46
- bucketName: S3_BUCKET_NAME,
47
- bucketRegion: S3_BUCKET_REGION,
48
- bucketFolderKey: source,
49
- downloadFolderPath
50
- });
51
- let extensionsFolderToCopyPath = path.join(downloadFolderPath, "extensions");
52
- let extensionJsonPath = path.join(downloadFolderPath, "extension.json");
53
-
54
- // If we have `extensions` folder in the root of the downloaded extension,
55
- // it means the extension is not versioned, and we can just copy it.
56
- const extensionsFolderExistsInRoot = fs.existsSync(extensionsFolderToCopyPath);
57
- const versionedExtension = !extensionsFolderExistsInRoot;
58
- if (versionedExtension) {
59
- // If we have `x.x.x` folders in the root of the downloaded
60
- // extension, we need to find the right version to use.
61
-
62
- // This can be `5.40.x`, `6.0.x`, etc.
63
- const versionFolders = await fsAsync.readdir(downloadFolderPath);
64
- const versionToUse = await getVersionFromVersionFolders(versionFolders, currentWebinyVersion);
65
- extensionsFolderToCopyPath = path.join(downloadFolderPath, versionToUse, "extensions");
66
- const subExtensionJsonPath = path.join(downloadFolderPath, versionToUse, "extension.json");
67
- if (fs.existsSync(subExtensionJsonPath)) {
68
- extensionJsonPath = subExtensionJsonPath;
69
- }
25
+ constructor(getProjectVersion, getProject){
26
+ this.getProjectVersion = getProjectVersion;
27
+ this.getProject = getProject;
70
28
  }
71
-
72
- // Read and parse extension.json.
73
- const extensionJsonExists = fs.existsSync(extensionJsonPath);
74
- const extensionJson = extensionJsonExists ? await loadJsonFile(extensionJsonPath) : {
75
- name: "unknown",
76
- type: "admin"
77
- };
78
-
79
- // Ensure the extensions root folder exists.
80
- const targetExtensionsFolder = path.join(projectRoot, EXTENSIONS_ROOT_FOLDER);
81
- if (!fs.existsSync(targetExtensionsFolder)) {
82
- fs.mkdirSync(targetExtensionsFolder, {
83
- recursive: true
84
- });
29
+ async execute(source) {
30
+ const currentWebinyVersion = this.getProjectVersion.execute();
31
+ const project = this.getProject.execute();
32
+ const projectRoot = project.paths.rootFolder.toString();
33
+ const randomId = String(Date.now());
34
+ const downloadFolderPath = path.join(os.tmpdir(), `wby-ext-${randomId}`);
35
+ const isLocalPath = source.startsWith("../") || source.startsWith("./") || source.startsWith("/");
36
+ if (isLocalPath) {
37
+ const resolvedPath = path.isAbsolute(source) ? source : path.resolve(projectRoot, source);
38
+ await promises.cp(resolvedPath, downloadFolderPath, {
39
+ recursive: true
40
+ });
41
+ } else await downloadFolderFromS3({
42
+ bucketName: S3_BUCKET_NAME,
43
+ bucketRegion: S3_BUCKET_REGION,
44
+ bucketFolderKey: source,
45
+ downloadFolderPath
46
+ });
47
+ let extensionsFolderToCopyPath = path.join(downloadFolderPath, "extensions");
48
+ let extensionJsonPath = path.join(downloadFolderPath, "extension.json");
49
+ const extensionsFolderExistsInRoot = fs.existsSync(extensionsFolderToCopyPath);
50
+ const versionedExtension = !extensionsFolderExistsInRoot;
51
+ if (versionedExtension) {
52
+ const versionFolders = await promises.readdir(downloadFolderPath);
53
+ const versionToUse = await getVersionFromVersionFolders(versionFolders, currentWebinyVersion);
54
+ extensionsFolderToCopyPath = path.join(downloadFolderPath, versionToUse, "extensions");
55
+ const subExtensionJsonPath = path.join(downloadFolderPath, versionToUse, "extension.json");
56
+ if (fs.existsSync(subExtensionJsonPath)) extensionJsonPath = subExtensionJsonPath;
57
+ }
58
+ const extensionJsonExists = fs.existsSync(extensionJsonPath);
59
+ const extensionJson = extensionJsonExists ? loadJsonFileSync(extensionJsonPath) : {
60
+ name: "unknown",
61
+ type: "admin"
62
+ };
63
+ const targetExtensionsFolder = path.join(projectRoot, EXTENSIONS_ROOT_FOLDER);
64
+ if (!fs.existsSync(targetExtensionsFolder)) fs.mkdirSync(targetExtensionsFolder, {
65
+ recursive: true
66
+ });
67
+ await promises.cp(extensionsFolderToCopyPath, targetExtensionsFolder, {
68
+ recursive: true
69
+ });
70
+ const extensionsFolderNames = await promises.readdir(extensionsFolderToCopyPath);
71
+ const extensionPaths = extensionsFolderNames.map((name)=>path.join(EXTENSIONS_ROOT_FOLDER, name));
72
+ if (extensionJson.packageJson && Object.keys(extensionJson.packageJson).length > 0) await mergePackageJson({
73
+ projectRoot,
74
+ extensionPackageJson: extensionJson.packageJson
75
+ });
76
+ if (extensionJson.webinyConfigTsx) await updateWebinyConfig({
77
+ projectRoot,
78
+ webinyConfigTsx: extensionJson.webinyConfigTsx
79
+ });
80
+ const nextSteps = extensionJson.nextSteps?.messages || [];
81
+ const additionalNotes = extensionJson.additionalNotes?.messages || [];
82
+ return {
83
+ extensionName: extensionJson.name,
84
+ extensionPaths,
85
+ nextSteps,
86
+ additionalNotes
87
+ };
85
88
  }
86
-
87
- // Copy the extensions folder contents.
88
- await fsAsync.cp(extensionsFolderToCopyPath, targetExtensionsFolder, {
89
- recursive: true
90
- });
91
-
92
- // Get the list of extensions that were copied.
93
- const extensionsFolderNames = await fsAsync.readdir(extensionsFolderToCopyPath);
94
- const extensionPaths = extensionsFolderNames.map(name => path.join(EXTENSIONS_ROOT_FOLDER, name));
95
-
96
- // Merge package.json if provided.
97
- if (extensionJson.packageJson && Object.keys(extensionJson.packageJson).length > 0) {
98
- await mergePackageJson({
99
- projectRoot,
100
- extensionPackageJson: extensionJson.packageJson
101
- });
102
- }
103
-
104
- // Update webiny.config.tsx if provided.
105
- if (extensionJson.webinyConfigTsx) {
106
- await updateWebinyConfig({
107
- projectRoot,
108
- webinyConfigTsx: extensionJson.webinyConfigTsx
109
- });
110
- }
111
-
112
- // Extract next steps and additional notes.
113
- const nextSteps = extensionJson.nextSteps?.messages || [];
114
- const additionalNotes = extensionJson.additionalNotes?.messages || [];
115
- return {
116
- extensionName: extensionJson.name,
117
- extensionPaths,
118
- nextSteps,
119
- additionalNotes
120
- };
121
- }
122
89
  }
123
- export const installExtensionService = createImplementation({
124
- abstraction: InstallExtensionService,
125
- implementation: DefaultInstallExtensionService,
126
- dependencies: [GetProjectVersionService, GetProjectService]
90
+ const installExtensionService = createImplementation({
91
+ abstraction: InstallExtensionService,
92
+ implementation: DefaultInstallExtensionService,
93
+ dependencies: [
94
+ GetProjectVersionService,
95
+ GetProjectService
96
+ ]
127
97
  });
98
+ export { installExtensionService };
128
99
 
129
100
  //# sourceMappingURL=InstallExtensionService.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["os","path","fs","fsAsync","loadJsonFile","createImplementation","InstallExtensionService","GetProjectVersionService","GetProjectService","downloadFolderFromS3","mergePackageJson","updateWebinyConfig","EXTENSIONS_ROOT_FOLDER","S3_BUCKET_NAME","S3_BUCKET_REGION","FOLDER_NAME_IS_VERSION_REGEX","WEBINY_DEV_VERSION","getVersionFromVersionFolders","versionFoldersList","currentWebinyVersion","availableVersions","filter","v","match","map","replace","sort","versionToUse","length","availableVersion","DefaultInstallExtensionService","constructor","getProjectVersion","getProject","execute","source","project","projectRoot","paths","rootFolder","toString","randomId","String","Date","now","downloadFolderPath","join","tmpdir","bucketName","bucketRegion","bucketFolderKey","extensionsFolderToCopyPath","extensionJsonPath","extensionsFolderExistsInRoot","existsSync","versionedExtension","versionFolders","readdir","subExtensionJsonPath","extensionJsonExists","extensionJson","name","type","targetExtensionsFolder","mkdirSync","recursive","cp","extensionsFolderNames","extensionPaths","packageJson","Object","keys","extensionPackageJson","webinyConfigTsx","nextSteps","messages","additionalNotes","extensionName","installExtensionService","abstraction","implementation","dependencies"],"sources":["InstallExtensionService.ts"],"sourcesContent":["import os from \"os\";\nimport path from \"path\";\nimport fs from \"fs\";\nimport fsAsync from \"fs/promises\";\nimport loadJsonFile from \"load-json-file\";\nimport { createImplementation } from \"@webiny/di\";\nimport {\n InstallExtensionService,\n GetProjectVersionService,\n GetProjectService\n} from \"~/abstractions/index.js\";\nimport { downloadFolderFromS3 } from \"./downloadFolderFromS3.js\";\nimport { mergePackageJson } from \"./mergePackageJson.js\";\nimport { updateWebinyConfig } from \"./updateWebinyConfig.js\";\nimport type { ExtensionJson } from \"./types.js\";\n\nconst EXTENSIONS_ROOT_FOLDER = \"extensions\";\nconst S3_BUCKET_NAME = \"webiny-examples\";\nconst S3_BUCKET_REGION = \"us-east-1\";\nconst FOLDER_NAME_IS_VERSION_REGEX = /^\\d+\\.\\d+\\.x$/;\nconst WEBINY_DEV_VERSION = \"0.0.0\";\n\nconst getVersionFromVersionFolders = async (\n versionFoldersList: string[],\n currentWebinyVersion: string\n) => {\n const availableVersions = versionFoldersList\n .filter(v => v.match(FOLDER_NAME_IS_VERSION_REGEX))\n .map(v => v.replace(/\\.x$/, \".0\"))\n .sort();\n\n let versionToUse = \"\";\n\n // When developing Webiny, we want to use the latest version.\n if (currentWebinyVersion === WEBINY_DEV_VERSION) {\n versionToUse = availableVersions[availableVersions.length - 1];\n } else {\n for (const availableVersion of availableVersions) {\n if (currentWebinyVersion >= availableVersion) {\n versionToUse = availableVersion;\n } else {\n break;\n }\n }\n }\n\n return versionToUse.replace(/\\.0$/, \".x\");\n};\n\nclass DefaultInstallExtensionService implements InstallExtensionService.Interface {\n constructor(\n private getProjectVersion: GetProjectVersionService.Interface,\n private getProject: GetProjectService.Interface\n ) {}\n\n async execute(source: string): Promise<InstallExtensionService.Result> {\n const currentWebinyVersion = this.getProjectVersion.execute();\n const project = this.getProject.execute();\n const projectRoot = project.paths.rootFolder.toString();\n\n const randomId = String(Date.now());\n const downloadFolderPath = path.join(os.tmpdir(), `wby-ext-${randomId}`);\n\n await downloadFolderFromS3({\n bucketName: S3_BUCKET_NAME,\n bucketRegion: S3_BUCKET_REGION,\n bucketFolderKey: source,\n downloadFolderPath\n });\n\n let extensionsFolderToCopyPath = path.join(downloadFolderPath, \"extensions\");\n let extensionJsonPath = path.join(downloadFolderPath, \"extension.json\");\n\n // If we have `extensions` folder in the root of the downloaded extension,\n // it means the extension is not versioned, and we can just copy it.\n const extensionsFolderExistsInRoot = fs.existsSync(extensionsFolderToCopyPath);\n const versionedExtension = !extensionsFolderExistsInRoot;\n\n if (versionedExtension) {\n // If we have `x.x.x` folders in the root of the downloaded\n // extension, we need to find the right version to use.\n\n // This can be `5.40.x`, `6.0.x`, etc.\n const versionFolders = await fsAsync.readdir(downloadFolderPath);\n\n const versionToUse = await getVersionFromVersionFolders(\n versionFolders,\n currentWebinyVersion\n );\n\n extensionsFolderToCopyPath = path.join(downloadFolderPath, versionToUse, \"extensions\");\n const subExtensionJsonPath = path.join(\n downloadFolderPath,\n versionToUse,\n \"extension.json\"\n );\n if (fs.existsSync(subExtensionJsonPath)) {\n extensionJsonPath = subExtensionJsonPath;\n }\n }\n\n // Read and parse extension.json.\n const extensionJsonExists = fs.existsSync(extensionJsonPath);\n const extensionJson: ExtensionJson = extensionJsonExists\n ? await loadJsonFile(extensionJsonPath)\n : { name: \"unknown\", type: \"admin\" };\n\n // Ensure the extensions root folder exists.\n const targetExtensionsFolder = path.join(projectRoot, EXTENSIONS_ROOT_FOLDER);\n if (!fs.existsSync(targetExtensionsFolder)) {\n fs.mkdirSync(targetExtensionsFolder, { recursive: true });\n }\n\n // Copy the extensions folder contents.\n await fsAsync.cp(extensionsFolderToCopyPath, targetExtensionsFolder, {\n recursive: true\n });\n\n // Get the list of extensions that were copied.\n const extensionsFolderNames = await fsAsync.readdir(extensionsFolderToCopyPath);\n const extensionPaths = extensionsFolderNames.map(name =>\n path.join(EXTENSIONS_ROOT_FOLDER, name)\n );\n\n // Merge package.json if provided.\n if (extensionJson.packageJson && Object.keys(extensionJson.packageJson).length > 0) {\n await mergePackageJson({\n projectRoot,\n extensionPackageJson: extensionJson.packageJson\n });\n }\n\n // Update webiny.config.tsx if provided.\n if (extensionJson.webinyConfigTsx) {\n await updateWebinyConfig({\n projectRoot,\n webinyConfigTsx: extensionJson.webinyConfigTsx\n });\n }\n\n // Extract next steps and additional notes.\n const nextSteps = extensionJson.nextSteps?.messages || [];\n const additionalNotes = extensionJson.additionalNotes?.messages || [];\n\n return {\n extensionName: extensionJson.name,\n extensionPaths,\n nextSteps,\n additionalNotes\n };\n }\n}\n\nexport const installExtensionService = createImplementation({\n abstraction: InstallExtensionService,\n implementation: DefaultInstallExtensionService,\n dependencies: [GetProjectVersionService, GetProjectService]\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"services/InstallExtensionService/InstallExtensionService.js","sources":["../../../src/services/InstallExtensionService/InstallExtensionService.ts"],"sourcesContent":["import os from \"os\";\nimport path from \"path\";\nimport fs from \"fs\";\nimport fsAsync from \"fs/promises\";\nimport { loadJsonFileSync } from \"load-json-file\";\nimport { createImplementation } from \"@webiny/di\";\nimport {\n GetProjectService,\n GetProjectVersionService,\n InstallExtensionService\n} from \"~/abstractions/index.js\";\nimport { downloadFolderFromS3 } from \"./downloadFolderFromS3.js\";\nimport { mergePackageJson } from \"./mergePackageJson.js\";\nimport { updateWebinyConfig } from \"./updateWebinyConfig.js\";\nimport type { ExtensionJson } from \"./types.js\";\n\nconst EXTENSIONS_ROOT_FOLDER = \"extensions\";\nconst S3_BUCKET_NAME = \"webiny-examples\";\nconst S3_BUCKET_REGION = \"us-east-1\";\nconst FOLDER_NAME_IS_VERSION_REGEX = /^\\d+\\.\\d+\\.x$/;\nconst WEBINY_DEV_VERSION = \"0.0.0\";\n\nconst getVersionFromVersionFolders = async (\n versionFoldersList: string[],\n currentWebinyVersion: string\n) => {\n const availableVersions = versionFoldersList\n .filter(v => v.match(FOLDER_NAME_IS_VERSION_REGEX))\n .map(v => v.replace(/\\.x$/, \".0\"))\n .sort();\n\n let versionToUse = \"\";\n\n // When developing Webiny, we want to use the latest version.\n if (currentWebinyVersion.startsWith(WEBINY_DEV_VERSION)) {\n versionToUse = availableVersions[availableVersions.length - 1];\n } else {\n for (const availableVersion of availableVersions) {\n if (currentWebinyVersion >= availableVersion) {\n versionToUse = availableVersion;\n } else {\n break;\n }\n }\n }\n\n return versionToUse.replace(/\\.0$/, \".x\");\n};\n\nclass DefaultInstallExtensionService implements InstallExtensionService.Interface {\n constructor(\n private getProjectVersion: GetProjectVersionService.Interface,\n private getProject: GetProjectService.Interface\n ) {}\n\n async execute(source: string): Promise<InstallExtensionService.Result> {\n const currentWebinyVersion = this.getProjectVersion.execute();\n const project = this.getProject.execute();\n const projectRoot = project.paths.rootFolder.toString();\n\n const randomId = String(Date.now());\n const downloadFolderPath = path.join(os.tmpdir(), `wby-ext-${randomId}`);\n\n // Check if source is a local path\n const isLocalPath =\n source.startsWith(\"../\") || source.startsWith(\"./\") || source.startsWith(\"/\");\n\n if (isLocalPath) {\n // Resolve the local path relative to the project root\n const resolvedPath = path.isAbsolute(source)\n ? source\n : path.resolve(projectRoot, source);\n\n // Copy the local directory to the temporary download folder\n await fsAsync.cp(resolvedPath, downloadFolderPath, {\n recursive: true\n });\n } else {\n // Download from S3\n await downloadFolderFromS3({\n bucketName: S3_BUCKET_NAME,\n bucketRegion: S3_BUCKET_REGION,\n bucketFolderKey: source,\n downloadFolderPath\n });\n }\n\n let extensionsFolderToCopyPath = path.join(downloadFolderPath, \"extensions\");\n let extensionJsonPath = path.join(downloadFolderPath, \"extension.json\");\n\n // If we have `extensions` folder in the root of the downloaded extension,\n // it means the extension is not versioned, and we can just copy it.\n const extensionsFolderExistsInRoot = fs.existsSync(extensionsFolderToCopyPath);\n const versionedExtension = !extensionsFolderExistsInRoot;\n\n if (versionedExtension) {\n // If we have `x.x.x` folders in the root of the downloaded\n // extension, we need to find the right version to use.\n\n // This can be `5.40.x`, `6.0.x`, etc.\n const versionFolders = await fsAsync.readdir(downloadFolderPath);\n\n const versionToUse = await getVersionFromVersionFolders(\n versionFolders,\n currentWebinyVersion\n );\n\n extensionsFolderToCopyPath = path.join(downloadFolderPath, versionToUse, \"extensions\");\n const subExtensionJsonPath = path.join(\n downloadFolderPath,\n versionToUse,\n \"extension.json\"\n );\n if (fs.existsSync(subExtensionJsonPath)) {\n extensionJsonPath = subExtensionJsonPath;\n }\n }\n\n // Read and parse extension.json.\n const extensionJsonExists = fs.existsSync(extensionJsonPath);\n const extensionJson: ExtensionJson = extensionJsonExists\n ? loadJsonFileSync(extensionJsonPath)\n : { name: \"unknown\", type: \"admin\" };\n\n // Ensure the extensions root folder exists.\n const targetExtensionsFolder = path.join(projectRoot, EXTENSIONS_ROOT_FOLDER);\n if (!fs.existsSync(targetExtensionsFolder)) {\n fs.mkdirSync(targetExtensionsFolder, { recursive: true });\n }\n\n // Copy the extensions folder contents.\n await fsAsync.cp(extensionsFolderToCopyPath, targetExtensionsFolder, {\n recursive: true\n });\n\n // Get the list of extensions that were copied.\n const extensionsFolderNames = await fsAsync.readdir(extensionsFolderToCopyPath);\n const extensionPaths = extensionsFolderNames.map(name =>\n path.join(EXTENSIONS_ROOT_FOLDER, name)\n );\n\n // Merge package.json if provided.\n if (extensionJson.packageJson && Object.keys(extensionJson.packageJson).length > 0) {\n await mergePackageJson({\n projectRoot,\n extensionPackageJson: extensionJson.packageJson\n });\n }\n\n // Update webiny.config.tsx if provided.\n if (extensionJson.webinyConfigTsx) {\n await updateWebinyConfig({\n projectRoot,\n webinyConfigTsx: extensionJson.webinyConfigTsx\n });\n }\n\n // Extract next steps and additional notes.\n const nextSteps = extensionJson.nextSteps?.messages || [];\n const additionalNotes = extensionJson.additionalNotes?.messages || [];\n\n return {\n extensionName: extensionJson.name,\n extensionPaths,\n nextSteps,\n additionalNotes\n };\n }\n}\n\nexport const installExtensionService = createImplementation({\n abstraction: InstallExtensionService,\n implementation: DefaultInstallExtensionService,\n dependencies: [GetProjectVersionService, GetProjectService]\n});\n"],"names":["EXTENSIONS_ROOT_FOLDER","S3_BUCKET_NAME","S3_BUCKET_REGION","FOLDER_NAME_IS_VERSION_REGEX","WEBINY_DEV_VERSION","getVersionFromVersionFolders","versionFoldersList","currentWebinyVersion","availableVersions","v","versionToUse","availableVersion","DefaultInstallExtensionService","getProjectVersion","getProject","source","project","projectRoot","randomId","String","Date","downloadFolderPath","path","os","isLocalPath","resolvedPath","fsAsync","downloadFolderFromS3","extensionsFolderToCopyPath","extensionJsonPath","extensionsFolderExistsInRoot","fs","versionedExtension","versionFolders","subExtensionJsonPath","extensionJsonExists","extensionJson","loadJsonFileSync","targetExtensionsFolder","extensionsFolderNames","extensionPaths","name","Object","mergePackageJson","updateWebinyConfig","nextSteps","additionalNotes","installExtensionService","createImplementation","InstallExtensionService","GetProjectVersionService","GetProjectService"],"mappings":";;;;;;;;;;AAgBA,MAAMA,yBAAyB;AAC/B,MAAMC,iBAAiB;AACvB,MAAMC,mBAAmB;AACzB,MAAMC,+BAA+B;AACrC,MAAMC,qBAAqB;AAE3B,MAAMC,+BAA+B,OACjCC,oBACAC;IAEA,MAAMC,oBAAoBF,mBACrB,MAAM,CAACG,CAAAA,IAAKA,EAAE,KAAK,CAACN,+BACpB,GAAG,CAACM,CAAAA,IAAKA,EAAE,OAAO,CAAC,QAAQ,OAC3B,IAAI;IAET,IAAIC,eAAe;IAGnB,IAAIH,qBAAqB,UAAU,CAACH,qBAChCM,eAAeF,iBAAiB,CAACA,kBAAkB,MAAM,GAAG,EAAE;SAE9D,KAAK,MAAMG,oBAAoBH,kBAC3B,IAAID,wBAAwBI,kBACxBD,eAAeC;SAEf;IAKZ,OAAOD,aAAa,OAAO,CAAC,QAAQ;AACxC;AAEA,MAAME;IACF,YACYC,iBAAqD,EACrDC,UAAuC,CACjD;aAFUD,iBAAiB,GAAjBA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,MAAc,EAA2C;QACnE,MAAMR,uBAAuB,IAAI,CAAC,iBAAiB,CAAC,OAAO;QAC3D,MAAMS,UAAU,IAAI,CAAC,UAAU,CAAC,OAAO;QACvC,MAAMC,cAAcD,QAAQ,KAAK,CAAC,UAAU,CAAC,QAAQ;QAErD,MAAME,WAAWC,OAAOC,KAAK,GAAG;QAChC,MAAMC,qBAAqBC,KAAK,IAAI,CAACC,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAEL,UAAU;QAGvE,MAAMM,cACFT,OAAO,UAAU,CAAC,UAAUA,OAAO,UAAU,CAAC,SAASA,OAAO,UAAU,CAAC;QAE7E,IAAIS,aAAa;YAEb,MAAMC,eAAeH,KAAK,UAAU,CAACP,UAC/BA,SACAO,KAAK,OAAO,CAACL,aAAaF;YAGhC,MAAMW,SAAAA,EAAU,CAACD,cAAcJ,oBAAoB;gBAC/C,WAAW;YACf;QACJ,OAEI,MAAMM,qBAAqB;YACvB,YAAY1B;YACZ,cAAcC;YACd,iBAAiBa;YACjBM;QACJ;QAGJ,IAAIO,6BAA6BN,KAAK,IAAI,CAACD,oBAAoB;QAC/D,IAAIQ,oBAAoBP,KAAK,IAAI,CAACD,oBAAoB;QAItD,MAAMS,+BAA+BC,GAAG,UAAU,CAACH;QACnD,MAAMI,qBAAqB,CAACF;QAE5B,IAAIE,oBAAoB;YAKpB,MAAMC,iBAAiB,MAAMP,SAAAA,OAAe,CAACL;YAE7C,MAAMX,eAAe,MAAML,6BACvB4B,gBACA1B;YAGJqB,6BAA6BN,KAAK,IAAI,CAACD,oBAAoBX,cAAc;YACzE,MAAMwB,uBAAuBZ,KAAK,IAAI,CAClCD,oBACAX,cACA;YAEJ,IAAIqB,GAAG,UAAU,CAACG,uBACdL,oBAAoBK;QAE5B;QAGA,MAAMC,sBAAsBJ,GAAG,UAAU,CAACF;QAC1C,MAAMO,gBAA+BD,sBAC/BE,iBAAiBR,qBACjB;YAAE,MAAM;YAAW,MAAM;QAAQ;QAGvC,MAAMS,yBAAyBhB,KAAK,IAAI,CAACL,aAAajB;QACtD,IAAI,CAAC+B,GAAG,UAAU,CAACO,yBACfP,GAAG,SAAS,CAACO,wBAAwB;YAAE,WAAW;QAAK;QAI3D,MAAMZ,SAAAA,EAAU,CAACE,4BAA4BU,wBAAwB;YACjE,WAAW;QACf;QAGA,MAAMC,wBAAwB,MAAMb,SAAAA,OAAe,CAACE;QACpD,MAAMY,iBAAiBD,sBAAsB,GAAG,CAACE,CAAAA,OAC7CnB,KAAK,IAAI,CAACtB,wBAAwByC;QAItC,IAAIL,cAAc,WAAW,IAAIM,OAAO,IAAI,CAACN,cAAc,WAAW,EAAE,MAAM,GAAG,GAC7E,MAAMO,iBAAiB;YACnB1B;YACA,sBAAsBmB,cAAc,WAAW;QACnD;QAIJ,IAAIA,cAAc,eAAe,EAC7B,MAAMQ,mBAAmB;YACrB3B;YACA,iBAAiBmB,cAAc,eAAe;QAClD;QAIJ,MAAMS,YAAYT,cAAc,SAAS,EAAE,YAAY,EAAE;QACzD,MAAMU,kBAAkBV,cAAc,eAAe,EAAE,YAAY,EAAE;QAErE,OAAO;YACH,eAAeA,cAAc,IAAI;YACjCI;YACAK;YACAC;QACJ;IACJ;AACJ;AAEO,MAAMC,0BAA0BC,qBAAqB;IACxD,aAAaC;IACb,gBAAgBrC;IAChB,cAAc;QAACsC;QAA0BC;KAAkB;AAC/D"}
@@ -1,81 +1,53 @@
1
- import { S3Client, ListObjectsV2Command, GetObjectCommand } from "@webiny/aws-sdk/client-s3/index.js";
2
1
  import fs from "fs";
3
2
  import path from "path";
4
- export class NoObjectsFoundError extends Error {
5
- code = "NO_OBJECTS_FOUND";
6
- constructor(message) {
7
- super(message);
8
- this.name = "NoObjectsFoundError";
9
- }
3
+ class NoObjectsFoundError extends Error {
4
+ constructor(message){
5
+ super(message), this.code = "NO_OBJECTS_FOUND";
6
+ this.name = "NoObjectsFoundError";
7
+ }
10
8
  }
11
- export const downloadFolderFromS3 = async params => {
12
- const {
13
- bucketName,
14
- bucketRegion,
15
- bucketFolderKey,
16
- downloadFolderPath
17
- } = params;
18
-
19
- // Prepend v6/ to the folder key
20
- const s3FolderKey = `v6/${bucketFolderKey}`;
21
-
22
- // Configure the S3 client
23
- const s3Client = new S3Client({
24
- region: bucketRegion
25
- });
26
-
27
- // List all objects in the specified S3 folder
28
- const listObjects = async (bucket, folderKey) => {
29
- const command = new ListObjectsV2Command({
30
- Bucket: bucket,
31
- Prefix: folderKey
32
- });
33
- const response = await s3Client.send(command);
34
- return response.Contents;
35
- };
36
-
37
- // Download an individual file from S3
38
- const downloadFile = async (bucket, key, localPath) => {
39
- const command = new GetObjectCommand({
40
- Bucket: bucket,
41
- Key: key
42
- });
43
- const response = await s3Client.send(command);
44
- return new Promise((resolve, reject) => {
45
- const fileStream = fs.createWriteStream(localPath);
46
- // @ts-expect-error Body is a stream
47
- response.Body.pipe(fileStream);
48
- // @ts-expect-error Body is a stream
49
- response.Body.on("error", reject);
50
- fileStream.on("finish", () => resolve());
51
- });
52
- };
53
- const objects = (await listObjects(bucketName, s3FolderKey)) || [];
54
- if (!objects.length) {
55
- throw new NoObjectsFoundError(`No objects found in the specified S3 folder.`);
56
- }
57
- for (const object of objects) {
58
- const s3Key = object.Key;
59
- const relativePath = path.relative(s3FolderKey, s3Key);
60
- const localFilePath = path.join(downloadFolderPath, relativePath);
61
- if (s3Key.endsWith("/")) {
62
- // It's a directory, create it if it doesn't exist.
63
- if (!fs.existsSync(localFilePath)) {
64
- fs.mkdirSync(localFilePath, {
65
- recursive: true
66
- });
67
- }
68
- } else {
69
- // It's a file, download it.
70
- const localDirPath = path.dirname(localFilePath);
71
- if (!fs.existsSync(localDirPath)) {
72
- fs.mkdirSync(localDirPath, {
73
- recursive: true
74
- });
75
- }
76
- await downloadFile(bucketName, s3Key, localFilePath);
9
+ const downloadFolderFromS3 = async (params)=>{
10
+ const { bucketName, bucketRegion, bucketFolderKey, downloadFolderPath } = params;
11
+ const s3FolderKey = `v6/${bucketFolderKey}`;
12
+ const baseUrl = `https://${bucketName}.s3.${bucketRegion}.amazonaws.com`;
13
+ const listObjects = async ()=>{
14
+ const keys = [];
15
+ let continuationToken;
16
+ do {
17
+ let url = `${baseUrl}/?list-type=2&prefix=${encodeURIComponent(s3FolderKey)}`;
18
+ if (continuationToken) url += `&continuation-token=${encodeURIComponent(continuationToken)}`;
19
+ const response = await fetch(url);
20
+ if (!response.ok) throw new Error(`Failed to list objects: ${response.status} ${response.statusText}`);
21
+ const xml = await response.text();
22
+ for (const match of xml.matchAll(/<Key>([^<]+)<\/Key>/g))keys.push(match[1]);
23
+ const isTruncated = xml.includes("<IsTruncated>true</IsTruncated>");
24
+ continuationToken = isTruncated ? xml.match(/<NextContinuationToken>([^<]+)<\/NextContinuationToken>/)?.[1] : void 0;
25
+ }while (continuationToken)
26
+ return keys;
27
+ };
28
+ const downloadFile = async (key, localPath)=>{
29
+ const response = await fetch(`${baseUrl}/${key}`);
30
+ if (!response.ok) throw new Error(`Failed to download ${key}: ${response.status} ${response.statusText}`);
31
+ fs.writeFileSync(localPath, Buffer.from(await response.arrayBuffer()));
32
+ };
33
+ const keys = await listObjects();
34
+ if (!keys.length) throw new NoObjectsFoundError("No objects found in the specified S3 folder.");
35
+ for (const key of keys){
36
+ const relativePath = path.relative(s3FolderKey, key);
37
+ const localFilePath = path.join(downloadFolderPath, relativePath);
38
+ if (key.endsWith("/")) {
39
+ if (!fs.existsSync(localFilePath)) fs.mkdirSync(localFilePath, {
40
+ recursive: true
41
+ });
42
+ } else {
43
+ const localDirPath = path.dirname(localFilePath);
44
+ if (!fs.existsSync(localDirPath)) fs.mkdirSync(localDirPath, {
45
+ recursive: true
46
+ });
47
+ await downloadFile(key, localFilePath);
48
+ }
77
49
  }
78
- }
79
50
  };
51
+ export { NoObjectsFoundError, downloadFolderFromS3 };
80
52
 
81
53
  //# sourceMappingURL=downloadFolderFromS3.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["S3Client","ListObjectsV2Command","GetObjectCommand","fs","path","NoObjectsFoundError","Error","code","constructor","message","name","downloadFolderFromS3","params","bucketName","bucketRegion","bucketFolderKey","downloadFolderPath","s3FolderKey","s3Client","region","listObjects","bucket","folderKey","command","Bucket","Prefix","response","send","Contents","downloadFile","key","localPath","Key","Promise","resolve","reject","fileStream","createWriteStream","Body","pipe","on","objects","length","object","s3Key","relativePath","relative","localFilePath","join","endsWith","existsSync","mkdirSync","recursive","localDirPath","dirname"],"sources":["downloadFolderFromS3.ts"],"sourcesContent":["import {\n S3Client,\n ListObjectsV2Command,\n GetObjectCommand\n} from \"@webiny/aws-sdk/client-s3/index.js\";\nimport fs from \"fs\";\nimport path from \"path\";\n\ninterface DownloadFolderFromS3Params {\n bucketName: string;\n bucketRegion: string;\n bucketFolderKey: string;\n downloadFolderPath: string;\n}\n\nexport class NoObjectsFoundError extends Error {\n code = \"NO_OBJECTS_FOUND\";\n constructor(message: string) {\n super(message);\n this.name = \"NoObjectsFoundError\";\n }\n}\n\nexport const downloadFolderFromS3 = async (params: DownloadFolderFromS3Params) => {\n const { bucketName, bucketRegion, bucketFolderKey, downloadFolderPath } = params;\n\n // Prepend v6/ to the folder key\n const s3FolderKey = `v6/${bucketFolderKey}`;\n\n // Configure the S3 client\n const s3Client = new S3Client({ region: bucketRegion });\n\n // List all objects in the specified S3 folder\n const listObjects = async (bucket: string, folderKey: string) => {\n const command = new ListObjectsV2Command({\n Bucket: bucket,\n Prefix: folderKey\n });\n const response = await s3Client.send(command);\n return response.Contents;\n };\n\n // Download an individual file from S3\n const downloadFile = async (bucket: string, key: string, localPath: string) => {\n const command = new GetObjectCommand({\n Bucket: bucket,\n Key: key\n });\n\n const response = await s3Client.send(command);\n\n return new Promise<void>((resolve, reject) => {\n const fileStream = fs.createWriteStream(localPath);\n // @ts-expect-error Body is a stream\n response.Body.pipe(fileStream);\n // @ts-expect-error Body is a stream\n response.Body.on(\"error\", reject);\n fileStream.on(\"finish\", () => resolve());\n });\n };\n\n const objects = (await listObjects(bucketName, s3FolderKey)) || [];\n if (!objects.length) {\n throw new NoObjectsFoundError(`No objects found in the specified S3 folder.`);\n }\n\n for (const object of objects) {\n const s3Key = object.Key!;\n const relativePath = path.relative(s3FolderKey, s3Key);\n const localFilePath = path.join(downloadFolderPath, relativePath);\n\n if (s3Key.endsWith(\"/\")) {\n // It's a directory, create it if it doesn't exist.\n if (!fs.existsSync(localFilePath)) {\n fs.mkdirSync(localFilePath, { recursive: true });\n }\n } else {\n // It's a file, download it.\n const localDirPath = path.dirname(localFilePath);\n if (!fs.existsSync(localDirPath)) {\n fs.mkdirSync(localDirPath, { recursive: true });\n }\n\n await downloadFile(bucketName, s3Key, localFilePath);\n }\n }\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"services/InstallExtensionService/downloadFolderFromS3.js","sources":["../../../src/services/InstallExtensionService/downloadFolderFromS3.ts"],"sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\n\ninterface DownloadFolderFromS3Params {\n bucketName: string;\n bucketRegion: string;\n bucketFolderKey: string;\n downloadFolderPath: string;\n}\n\nexport class NoObjectsFoundError extends Error {\n code = \"NO_OBJECTS_FOUND\";\n constructor(message: string) {\n super(message);\n this.name = \"NoObjectsFoundError\";\n }\n}\n\nexport const downloadFolderFromS3 = async (params: DownloadFolderFromS3Params) => {\n const { bucketName, bucketRegion, bucketFolderKey, downloadFolderPath } = params;\n\n const s3FolderKey = `v6/${bucketFolderKey}`;\n const baseUrl = `https://${bucketName}.s3.${bucketRegion}.amazonaws.com`;\n\n const listObjects = async (): Promise<string[]> => {\n const keys: string[] = [];\n let continuationToken: string | undefined;\n\n do {\n let url = `${baseUrl}/?list-type=2&prefix=${encodeURIComponent(s3FolderKey)}`;\n if (continuationToken) {\n url += `&continuation-token=${encodeURIComponent(continuationToken)}`;\n }\n\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(\n `Failed to list objects: ${response.status} ${response.statusText}`\n );\n }\n\n const xml = await response.text();\n\n for (const match of xml.matchAll(/<Key>([^<]+)<\\/Key>/g)) {\n keys.push(match[1]);\n }\n\n const isTruncated = xml.includes(\"<IsTruncated>true</IsTruncated>\");\n continuationToken = isTruncated\n ? xml.match(/<NextContinuationToken>([^<]+)<\\/NextContinuationToken>/)?.[1]\n : undefined;\n } while (continuationToken);\n\n return keys;\n };\n\n const downloadFile = async (key: string, localPath: string): Promise<void> => {\n const response = await fetch(`${baseUrl}/${key}`);\n if (!response.ok) {\n throw new Error(`Failed to download ${key}: ${response.status} ${response.statusText}`);\n }\n fs.writeFileSync(localPath, Buffer.from(await response.arrayBuffer()));\n };\n\n const keys = await listObjects();\n if (!keys.length) {\n throw new NoObjectsFoundError(`No objects found in the specified S3 folder.`);\n }\n\n for (const key of keys) {\n const relativePath = path.relative(s3FolderKey, key);\n const localFilePath = path.join(downloadFolderPath, relativePath);\n\n if (key.endsWith(\"/\")) {\n if (!fs.existsSync(localFilePath)) {\n fs.mkdirSync(localFilePath, { recursive: true });\n }\n } else {\n const localDirPath = path.dirname(localFilePath);\n if (!fs.existsSync(localDirPath)) {\n fs.mkdirSync(localDirPath, { recursive: true });\n }\n await downloadFile(key, localFilePath);\n }\n }\n};\n"],"names":["NoObjectsFoundError","Error","message","downloadFolderFromS3","params","bucketName","bucketRegion","bucketFolderKey","downloadFolderPath","s3FolderKey","baseUrl","listObjects","keys","continuationToken","url","encodeURIComponent","response","fetch","xml","match","isTruncated","undefined","downloadFile","key","localPath","fs","Buffer","relativePath","path","localFilePath","localDirPath"],"mappings":";;AAUO,MAAMA,4BAA4BC;IAErC,YAAYC,OAAe,CAAE;QACzB,KAAK,CAACA,UAAAA,IAAAA,CAFV,IAAI,GAAG;QAGH,IAAI,CAAC,IAAI,GAAG;IAChB;AACJ;AAEO,MAAMC,uBAAuB,OAAOC;IACvC,MAAM,EAAEC,UAAU,EAAEC,YAAY,EAAEC,eAAe,EAAEC,kBAAkB,EAAE,GAAGJ;IAE1E,MAAMK,cAAc,CAAC,GAAG,EAAEF,iBAAiB;IAC3C,MAAMG,UAAU,CAAC,QAAQ,EAAEL,WAAW,IAAI,EAAEC,aAAa,cAAc,CAAC;IAExE,MAAMK,cAAc;QAChB,MAAMC,OAAiB,EAAE;QACzB,IAAIC;QAEJ,GAAG;YACC,IAAIC,MAAM,GAAGJ,QAAQ,qBAAqB,EAAEK,mBAAmBN,cAAc;YAC7E,IAAII,mBACAC,OAAO,CAAC,oBAAoB,EAAEC,mBAAmBF,oBAAoB;YAGzE,MAAMG,WAAW,MAAMC,MAAMH;YAC7B,IAAI,CAACE,SAAS,EAAE,EACZ,MAAM,IAAIf,MACN,CAAC,wBAAwB,EAAEe,SAAS,MAAM,CAAC,CAAC,EAAEA,SAAS,UAAU,EAAE;YAI3E,MAAME,MAAM,MAAMF,SAAS,IAAI;YAE/B,KAAK,MAAMG,SAASD,IAAI,QAAQ,CAAC,wBAC7BN,KAAK,IAAI,CAACO,KAAK,CAAC,EAAE;YAGtB,MAAMC,cAAcF,IAAI,QAAQ,CAAC;YACjCL,oBAAoBO,cACdF,IAAI,KAAK,CAAC,4DAA4D,CAAC,EAAE,GACzEG;QACV,QAASR,kBAAmB;QAE5B,OAAOD;IACX;IAEA,MAAMU,eAAe,OAAOC,KAAaC;QACrC,MAAMR,WAAW,MAAMC,MAAM,GAAGP,QAAQ,CAAC,EAAEa,KAAK;QAChD,IAAI,CAACP,SAAS,EAAE,EACZ,MAAM,IAAIf,MAAM,CAAC,mBAAmB,EAAEsB,IAAI,EAAE,EAAEP,SAAS,MAAM,CAAC,CAAC,EAAEA,SAAS,UAAU,EAAE;QAE1FS,GAAG,aAAa,CAACD,WAAWE,OAAO,IAAI,CAAC,MAAMV,SAAS,WAAW;IACtE;IAEA,MAAMJ,OAAO,MAAMD;IACnB,IAAI,CAACC,KAAK,MAAM,EACZ,MAAM,IAAIZ,oBAAoB;IAGlC,KAAK,MAAMuB,OAAOX,KAAM;QACpB,MAAMe,eAAeC,KAAK,QAAQ,CAACnB,aAAac;QAChD,MAAMM,gBAAgBD,KAAK,IAAI,CAACpB,oBAAoBmB;QAEpD,IAAIJ,IAAI,QAAQ,CAAC,MACb;YAAA,IAAI,CAACE,GAAG,UAAU,CAACI,gBACfJ,GAAG,SAAS,CAACI,eAAe;gBAAE,WAAW;YAAK;QAClD,OACG;YACH,MAAMC,eAAeF,KAAK,OAAO,CAACC;YAClC,IAAI,CAACJ,GAAG,UAAU,CAACK,eACfL,GAAG,SAAS,CAACK,cAAc;gBAAE,WAAW;YAAK;YAEjD,MAAMR,aAAaC,KAAKM;QAC5B;IACJ;AACJ"}
@@ -1,3 +1 @@
1
1
  export * from "./InstallExtensionService.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -1,31 +1,21 @@
1
- import loadJson from "load-json-file";
2
- import writeJson from "write-json-file";
1
+ import { loadJsonFileSync } from "load-json-file";
2
+ import { writeJsonFileSync } from "write-json-file";
3
3
  import deepmerge from "deepmerge";
4
- /**
5
- * Merge extension package.json properties into the project's root package.json.
6
- */
7
- export const mergePackageJson = async params => {
8
- const {
9
- projectRoot,
10
- extensionPackageJson
11
- } = params;
12
- const packageJsonPath = `${projectRoot}/package.json`;
13
-
14
- // Load the current package.json
15
- const currentPackageJson = await loadJson(packageJsonPath);
16
-
17
- // Merge the extension's package.json into the current one
18
- // Use deepmerge to combine arrays and objects properly
19
- const mergedPackageJson = deepmerge(currentPackageJson, extensionPackageJson, {
20
- // For arrays, concatenate and remove duplicates
21
- arrayMerge: (target, source) => {
22
- const combined = [...target, ...source];
23
- return Array.from(new Set(combined));
24
- }
25
- });
26
-
27
- // Write the merged package.json back
28
- await writeJson(packageJsonPath, mergedPackageJson);
4
+ const mergePackageJson = async (params)=>{
5
+ const { projectRoot, extensionPackageJson } = params;
6
+ const packageJsonPath = `${projectRoot}/package.json`;
7
+ const currentPackageJson = await loadJsonFileSync(packageJsonPath);
8
+ const mergedPackageJson = deepmerge(currentPackageJson, extensionPackageJson, {
9
+ arrayMerge: (target, source)=>{
10
+ const combined = [
11
+ ...target,
12
+ ...source
13
+ ];
14
+ return Array.from(new Set(combined));
15
+ }
16
+ });
17
+ return writeJsonFileSync(packageJsonPath, mergedPackageJson);
29
18
  };
19
+ export { mergePackageJson };
30
20
 
31
21
  //# sourceMappingURL=mergePackageJson.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["loadJson","writeJson","deepmerge","mergePackageJson","params","projectRoot","extensionPackageJson","packageJsonPath","currentPackageJson","mergedPackageJson","arrayMerge","target","source","combined","Array","from","Set"],"sources":["mergePackageJson.ts"],"sourcesContent":["import loadJson from \"load-json-file\";\nimport writeJson from \"write-json-file\";\nimport deepmerge from \"deepmerge\";\n\ninterface MergePackageJsonParams {\n projectRoot: string;\n extensionPackageJson: Record<string, any>;\n}\n\n/**\n * Merge extension package.json properties into the project's root package.json.\n */\nexport const mergePackageJson = async (params: MergePackageJsonParams): Promise<void> => {\n const { projectRoot, extensionPackageJson } = params;\n\n const packageJsonPath = `${projectRoot}/package.json`;\n\n // Load the current package.json\n const currentPackageJson = await loadJson<Record<string, any>>(packageJsonPath);\n\n // Merge the extension's package.json into the current one\n // Use deepmerge to combine arrays and objects properly\n const mergedPackageJson = deepmerge(currentPackageJson, extensionPackageJson, {\n // For arrays, concatenate and remove duplicates\n arrayMerge: (target, source) => {\n const combined = [...target, ...source];\n return Array.from(new Set(combined));\n }\n });\n\n // Write the merged package.json back\n await writeJson(packageJsonPath, mergedPackageJson);\n};\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,gBAAgB;AACrC,OAAOC,SAAS,MAAM,iBAAiB;AACvC,OAAOC,SAAS,MAAM,WAAW;AAOjC;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAG,MAAOC,MAA8B,IAAoB;EACrF,MAAM;IAAEC,WAAW;IAAEC;EAAqB,CAAC,GAAGF,MAAM;EAEpD,MAAMG,eAAe,GAAG,GAAGF,WAAW,eAAe;;EAErD;EACA,MAAMG,kBAAkB,GAAG,MAAMR,QAAQ,CAAsBO,eAAe,CAAC;;EAE/E;EACA;EACA,MAAME,iBAAiB,GAAGP,SAAS,CAACM,kBAAkB,EAAEF,oBAAoB,EAAE;IAC1E;IACAI,UAAU,EAAEA,CAACC,MAAM,EAAEC,MAAM,KAAK;MAC5B,MAAMC,QAAQ,GAAG,CAAC,GAAGF,MAAM,EAAE,GAAGC,MAAM,CAAC;MACvC,OAAOE,KAAK,CAACC,IAAI,CAAC,IAAIC,GAAG,CAACH,QAAQ,CAAC,CAAC;IACxC;EACJ,CAAC,CAAC;;EAEF;EACA,MAAMZ,SAAS,CAACM,eAAe,EAAEE,iBAAiB,CAAC;AACvD,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"services/InstallExtensionService/mergePackageJson.js","sources":["../../../src/services/InstallExtensionService/mergePackageJson.ts"],"sourcesContent":["import { loadJsonFileSync } from \"load-json-file\";\nimport { writeJsonFileSync } from \"write-json-file\";\nimport deepmerge from \"deepmerge\";\n\ninterface MergePackageJsonParams {\n projectRoot: string;\n extensionPackageJson: Record<string, any>;\n}\n\n/**\n * Merge extension package.json properties into the project's root package.json.\n */\nexport const mergePackageJson = async (params: MergePackageJsonParams): Promise<void> => {\n const { projectRoot, extensionPackageJson } = params;\n\n const packageJsonPath = `${projectRoot}/package.json`;\n\n // Load the current package.json\n const currentPackageJson = await loadJsonFileSync<Record<string, any>>(packageJsonPath);\n\n // Merge the extension's package.json into the current one\n // Use deepmerge to combine arrays and objects properly\n const mergedPackageJson = deepmerge(currentPackageJson, extensionPackageJson, {\n // For arrays, concatenate and remove duplicates\n arrayMerge: (target, source) => {\n const combined = [...target, ...source];\n return Array.from(new Set(combined));\n }\n });\n\n // Write the merged package.json back\n return writeJsonFileSync(packageJsonPath, mergedPackageJson);\n};\n"],"names":["mergePackageJson","params","projectRoot","extensionPackageJson","packageJsonPath","currentPackageJson","loadJsonFileSync","mergedPackageJson","deepmerge","target","source","combined","Array","Set","writeJsonFileSync"],"mappings":";;;AAYO,MAAMA,mBAAmB,OAAOC;IACnC,MAAM,EAAEC,WAAW,EAAEC,oBAAoB,EAAE,GAAGF;IAE9C,MAAMG,kBAAkB,GAAGF,YAAY,aAAa,CAAC;IAGrD,MAAMG,qBAAqB,MAAMC,iBAAsCF;IAIvE,MAAMG,oBAAoBC,UAAUH,oBAAoBF,sBAAsB;QAE1E,YAAY,CAACM,QAAQC;YACjB,MAAMC,WAAW;mBAAIF;mBAAWC;aAAO;YACvC,OAAOE,MAAM,IAAI,CAAC,IAAIC,IAAIF;QAC9B;IACJ;IAGA,OAAOG,kBAAkBV,iBAAiBG;AAC9C"}
@@ -38,6 +38,10 @@ export interface ExtensionWebinyConfigTsx {
38
38
  * Component to render in the Extensions component.
39
39
  */
40
40
  component?: ExtensionComponent;
41
+ /**
42
+ * Multiple components to render in the Extensions component.
43
+ */
44
+ components?: ExtensionComponent[];
41
45
  }
42
46
  export interface ExtensionImport {
43
47
  /**
@@ -1,3 +0,0 @@
1
- export {};
2
-
3
- //# sourceMappingURL=types.js.map