@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
@@ -0,0 +1,142 @@
1
+ import { z } from "zod";
2
+ import { defineExtension } from "../defineExtension/index.js";
3
+ import crypto_0 from "crypto";
4
+ import path from "path";
5
+ import fs from "fs";
6
+ import { Node, Project } from "ts-morph";
7
+ async function generateBuildParamsFeature(buildParamsDir, ctx) {
8
+ const featureFilePath = path.join(buildParamsDir, "feature.ts");
9
+ const files = fs.readdirSync(buildParamsDir).filter((f)=>f.startsWith("BuildParam_") && f.endsWith(".ts") && "feature.ts" !== f);
10
+ const imports = files.map((file)=>{
11
+ const className = path.parse(file).name;
12
+ return `import ${className} from "./${className}.js";`;
13
+ }).join("\n");
14
+ const registrations = files.map((file)=>{
15
+ const className = path.parse(file).name;
16
+ return ` container.register(${className});`;
17
+ }).join("\n");
18
+ const featureContent = `import { createFeature } from "@webiny/feature/admin";
19
+ import { Container } from "@webiny/di";
20
+ ${imports}
21
+
22
+ export const BuildParamsInternalFeature = createFeature({
23
+ name: "BuildParamsInternal",
24
+ register(container: Container) {
25
+ ${registrations}
26
+ }
27
+ });
28
+ `;
29
+ fs.writeFileSync(featureFilePath, featureContent, "utf8");
30
+ await updateExtensionsTsx(ctx);
31
+ }
32
+ async function updateExtensionsTsx(ctx) {
33
+ const extensionsTsxFilePath = ctx.project.paths.workspaceFolder.join("apps", "admin", "src", "Extensions.tsx").toString();
34
+ const project = new Project();
35
+ project.addSourceFileAtPath(extensionsTsxFilePath);
36
+ const source = project.getSourceFileOrThrow(extensionsTsxFilePath);
37
+ const buildParamsFeatureImport = "./buildParams/feature.js";
38
+ const existingFeatureImport = source.getImportDeclaration(buildParamsFeatureImport);
39
+ if (!existingFeatureImport) {
40
+ let index = 1;
41
+ const importDeclarations = source.getImportDeclarations();
42
+ if (importDeclarations.length) {
43
+ const last = importDeclarations[importDeclarations.length - 1];
44
+ index = last.getChildIndex() + 1;
45
+ }
46
+ source.insertImportDeclaration(index, {
47
+ namedImports: [
48
+ "BuildParamsInternalFeature"
49
+ ],
50
+ moduleSpecifier: buildParamsFeatureImport
51
+ });
52
+ const buildParamsFeatureImportPath = "@webiny/app-admin";
53
+ const existingBuildParamsImport = source.getImportDeclaration(buildParamsFeatureImportPath);
54
+ if (existingBuildParamsImport) {
55
+ const namedImports = existingBuildParamsImport.getNamedImports();
56
+ const hasBuildParamsFeature = namedImports.some((ni)=>"BuildParamsFeature" === ni.getName());
57
+ if (!hasBuildParamsFeature) existingBuildParamsImport.addNamedImport("BuildParamsFeature");
58
+ } else source.insertImportDeclaration(index, {
59
+ namedImports: [
60
+ "BuildParamsFeature"
61
+ ],
62
+ moduleSpecifier: buildParamsFeatureImportPath
63
+ });
64
+ const registerFeatureImportPath = "@webiny/app-admin";
65
+ const existingRegisterFeatureImport = source.getImportDeclaration(registerFeatureImportPath);
66
+ if (existingRegisterFeatureImport) {
67
+ const namedImports = existingRegisterFeatureImport.getNamedImports();
68
+ const hasRegisterFeature = namedImports.some((ni)=>"RegisterFeature" === ni.getName());
69
+ if (!hasRegisterFeature) existingRegisterFeatureImport.addNamedImport("RegisterFeature");
70
+ } else source.insertImportDeclaration(index, {
71
+ namedImports: [
72
+ "RegisterFeature"
73
+ ],
74
+ moduleSpecifier: registerFeatureImportPath
75
+ });
76
+ }
77
+ const extensionsIdentifier = source.getFirstDescendant((node)=>{
78
+ if (!Node.isIdentifier(node)) return false;
79
+ return "Extensions" === node.getText();
80
+ });
81
+ if (!extensionsIdentifier) throw new Error(`Could not find the "Extensions" React component in "${extensionsTsxFilePath}".`);
82
+ const extensionsArrowFn = extensionsIdentifier.getNextSibling((node)=>Node.isArrowFunction(node));
83
+ if (!extensionsArrowFn) throw new Error('Could not find the "Extensions" React component arrow function.');
84
+ const extensionsArrowFnFragment = extensionsArrowFn.getFirstDescendant((node)=>Node.isJsxFragment(node));
85
+ if (!extensionsArrowFnFragment) throw new Error("Could not find JSX fragment in Extensions component.");
86
+ const currentContent = extensionsArrowFnFragment.getFullText().replace("<>", "").replace("</>", "").trim();
87
+ if (!currentContent.includes("BuildParamsFeature")) {
88
+ const newContent = `<><RegisterFeature feature={BuildParamsFeature} /><RegisterFeature feature={BuildParamsInternalFeature} />${currentContent}</>`;
89
+ extensionsArrowFnFragment.replaceWithText(newContent);
90
+ }
91
+ await source.save();
92
+ }
93
+ const AdminBuildParam = defineExtension({
94
+ type: "Admin/BuildParam",
95
+ tags: {
96
+ runtimeContext: "app-build",
97
+ appName: "admin"
98
+ },
99
+ description: "Add build-time parameter to Admin app.",
100
+ multiple: true,
101
+ paramsSchema: ()=>z.object({
102
+ paramName: z.string(),
103
+ value: z.union([
104
+ z.string(),
105
+ z.record(z.string(), z.any()),
106
+ z.array(z.any()),
107
+ z.number(),
108
+ z.boolean()
109
+ ])
110
+ }),
111
+ async build (params, ctx) {
112
+ const buildParamsDir = ctx.project.paths.workspaceFolder.join("apps", "admin", "src", "buildParams").toString();
113
+ const { paramName, value } = params;
114
+ const valueStr = JSON.stringify(value, null, 4);
115
+ const hash = crypto_0.createHash("sha256").update(paramName).digest("hex");
116
+ const className = `BuildParam_${hash.slice(-10)}`;
117
+ const fileName = `${className}.ts`;
118
+ const filePath = path.join(buildParamsDir, fileName);
119
+ if (!fs.existsSync(buildParamsDir)) fs.mkdirSync(buildParamsDir, {
120
+ recursive: true
121
+ });
122
+ if (!fs.existsSync(filePath)) {
123
+ const fileContent = `import { BuildParam } from "webiny/admin/build-params";
124
+
125
+ class ${className} implements BuildParam.Interface {
126
+ key = "${paramName}";
127
+ value = ${valueStr};
128
+ }
129
+
130
+ export default BuildParam.createImplementation({
131
+ implementation: ${className},
132
+ dependencies: []
133
+ });
134
+ `;
135
+ fs.writeFileSync(filePath, fileContent, "utf8");
136
+ }
137
+ await generateBuildParamsFeature(buildParamsDir, ctx);
138
+ }
139
+ });
140
+ export { AdminBuildParam };
141
+
142
+ //# sourceMappingURL=AdminBuildParam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensions/AdminBuildParam.js","sources":["../../src/extensions/AdminBuildParam.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { defineExtension } from \"~/defineExtension/index.js\";\nimport crypto from \"crypto\";\nimport path from \"path\";\nimport fs from \"fs\";\nimport { Node, Project } from \"ts-morph\";\n\nasync function generateBuildParamsFeature(buildParamsDir: string, ctx: any) {\n const featureFilePath = path.join(buildParamsDir, \"feature.ts\");\n\n // Get all BuildParam_*.ts files.\n const files = fs\n .readdirSync(buildParamsDir)\n .filter(f => f.startsWith(\"BuildParam_\") && f.endsWith(\".ts\") && f !== \"feature.ts\");\n\n // Generate imports and registrations.\n const imports = files\n .map(file => {\n const className = path.parse(file).name;\n return `import ${className} from \"./${className}.js\";`;\n })\n .join(\"\\n\");\n\n const registrations = files\n .map(file => {\n const className = path.parse(file).name;\n return ` container.register(${className});`;\n })\n .join(\"\\n\");\n\n const featureContent = `import { createFeature } from \"@webiny/feature/admin\";\nimport { Container } from \"@webiny/di\";\n${imports}\n\nexport const BuildParamsInternalFeature = createFeature({\n name: \"BuildParamsInternal\",\n register(container: Container) {\n${registrations}\n }\n});\n`;\n\n fs.writeFileSync(featureFilePath, featureContent, \"utf8\");\n\n // Now we need to update Extensions.tsx to use RegisterFeature with this feature.\n await updateExtensionsTsx(ctx);\n}\n\nasync function updateExtensionsTsx(ctx: any) {\n const extensionsTsxFilePath = ctx.project.paths.workspaceFolder\n .join(\"apps\", \"admin\", \"src\", \"Extensions.tsx\")\n .toString();\n\n const project = new Project();\n project.addSourceFileAtPath(extensionsTsxFilePath);\n\n const source = project.getSourceFileOrThrow(extensionsTsxFilePath);\n\n // Check if we already have the imports.\n const buildParamsFeatureImport = \"./buildParams/feature.js\";\n const existingFeatureImport = source.getImportDeclaration(buildParamsFeatureImport);\n\n if (!existingFeatureImport) {\n let index = 1;\n const importDeclarations = source.getImportDeclarations();\n if (importDeclarations.length) {\n const last = importDeclarations[importDeclarations.length - 1];\n index = last.getChildIndex() + 1;\n }\n\n // Add import for BuildParamsInternalFeature.\n source.insertImportDeclaration(index, {\n namedImports: [\"BuildParamsInternalFeature\"],\n moduleSpecifier: buildParamsFeatureImport\n });\n\n // Add import for BuildParamsFeature.\n const buildParamsFeatureImportPath = \"@webiny/app-admin\";\n const existingBuildParamsImport = source.getImportDeclaration(buildParamsFeatureImportPath);\n\n if (!existingBuildParamsImport) {\n source.insertImportDeclaration(index, {\n namedImports: [\"BuildParamsFeature\"],\n moduleSpecifier: buildParamsFeatureImportPath\n });\n } else {\n // Add to existing import if BuildParamsFeature not already there.\n const namedImports = existingBuildParamsImport.getNamedImports();\n const hasBuildParamsFeature = namedImports.some(\n ni => ni.getName() === \"BuildParamsFeature\"\n );\n if (!hasBuildParamsFeature) {\n existingBuildParamsImport.addNamedImport(\"BuildParamsFeature\");\n }\n }\n\n // Add import for RegisterFeature if not present.\n const registerFeatureImportPath = \"@webiny/app-admin\";\n const existingRegisterFeatureImport =\n source.getImportDeclaration(registerFeatureImportPath);\n\n if (existingRegisterFeatureImport) {\n const namedImports = existingRegisterFeatureImport.getNamedImports();\n const hasRegisterFeature = namedImports.some(ni => ni.getName() === \"RegisterFeature\");\n if (!hasRegisterFeature) {\n existingRegisterFeatureImport.addNamedImport(\"RegisterFeature\");\n }\n } else {\n source.insertImportDeclaration(index, {\n namedImports: [\"RegisterFeature\"],\n moduleSpecifier: registerFeatureImportPath\n });\n }\n }\n\n // Now add <RegisterFeature> components to the Extensions component.\n const extensionsIdentifier = source.getFirstDescendant(node => {\n if (!Node.isIdentifier(node)) {\n return false;\n }\n return node.getText() === \"Extensions\";\n });\n\n if (!extensionsIdentifier) {\n throw new Error(\n `Could not find the \"Extensions\" React component in \"${extensionsTsxFilePath}\".`\n );\n }\n\n const extensionsArrowFn = extensionsIdentifier.getNextSibling(node =>\n Node.isArrowFunction(node)\n );\n\n if (!extensionsArrowFn) {\n throw new Error(`Could not find the \"Extensions\" React component arrow function.`);\n }\n\n const extensionsArrowFnFragment = extensionsArrowFn.getFirstDescendant(node => {\n return Node.isJsxFragment(node);\n });\n\n if (!extensionsArrowFnFragment) {\n throw new Error(`Could not find JSX fragment in Extensions component.`);\n }\n\n const currentContent = extensionsArrowFnFragment\n .getFullText()\n .replace(\"<>\", \"\")\n .replace(\"</>\", \"\")\n .trim();\n\n // Check if we already have the RegisterFeature components.\n if (!currentContent.includes(\"BuildParamsFeature\")) {\n const newContent = `<><RegisterFeature feature={BuildParamsFeature} /><RegisterFeature feature={BuildParamsInternalFeature} />${currentContent}</>`;\n extensionsArrowFnFragment.replaceWithText(newContent);\n }\n\n await source.save();\n}\n\nexport const AdminBuildParam = defineExtension({\n type: \"Admin/BuildParam\",\n tags: { runtimeContext: \"app-build\", appName: \"admin\" },\n description: \"Add build-time parameter to Admin app.\",\n multiple: true,\n paramsSchema: () => {\n return z.object({\n paramName: z.string(),\n value: z.union([\n z.string(),\n z.record(z.string(), z.any()),\n z.array(z.any()),\n z.number(),\n z.boolean()\n ])\n });\n },\n async build(params, ctx) {\n const buildParamsDir = ctx.project.paths.workspaceFolder\n .join(\"apps\", \"admin\", \"src\", \"buildParams\")\n .toString();\n\n const { paramName, value } = params;\n\n // Serialize value to a TypeScript literal.\n const valueStr = JSON.stringify(value, null, 4);\n\n // Generate a unique class name based on the paramName.\n const hash = crypto.createHash(\"sha256\").update(paramName).digest(\"hex\");\n const className = `BuildParam_${hash.slice(-10)}`;\n const fileName = `${className}.ts`;\n const filePath = path.join(buildParamsDir, fileName);\n\n // Ensure buildParams directory exists.\n if (!fs.existsSync(buildParamsDir)) {\n fs.mkdirSync(buildParamsDir, { recursive: true });\n }\n\n // Check if file already exists.\n if (!fs.existsSync(filePath)) {\n // Create the BuildParam implementation file.\n const fileContent = `import { BuildParam } from \"webiny/admin/build-params\";\n\nclass ${className} implements BuildParam.Interface {\n key = \"${paramName}\";\n value = ${valueStr};\n}\n\nexport default BuildParam.createImplementation({\n implementation: ${className},\n dependencies: []\n});\n`;\n fs.writeFileSync(filePath, fileContent, \"utf8\");\n }\n\n // Now we need to generate/update the feature file that imports all BuildParams.\n await generateBuildParamsFeature(buildParamsDir, ctx);\n }\n});\n"],"names":["generateBuildParamsFeature","buildParamsDir","ctx","featureFilePath","path","files","fs","f","imports","file","className","registrations","featureContent","updateExtensionsTsx","extensionsTsxFilePath","project","Project","source","buildParamsFeatureImport","existingFeatureImport","index","importDeclarations","last","buildParamsFeatureImportPath","existingBuildParamsImport","namedImports","hasBuildParamsFeature","ni","registerFeatureImportPath","existingRegisterFeatureImport","hasRegisterFeature","extensionsIdentifier","node","Node","Error","extensionsArrowFn","extensionsArrowFnFragment","currentContent","newContent","AdminBuildParam","defineExtension","z","params","paramName","value","valueStr","JSON","hash","crypto","fileName","filePath","fileContent"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { z } from "zod";
2
+ export declare const AdminExtension: import("~/extensions/index.js").ExtensionComponent<z.ZodObject<{
3
+ src: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
4
+ exportName: z.ZodOptional<z.ZodString>;
5
+ }, z.core.$strip>>;
@@ -0,0 +1,73 @@
1
+ import { defineExtension, zodSrcPath } from "./index.js";
2
+ import { ExtensionSrcResolver } from "../index.js";
3
+ import { z } from "zod";
4
+ import path from "path";
5
+ import { Node, Project } from "ts-morph";
6
+ import crypto_0 from "crypto";
7
+ const AdminExtension = defineExtension({
8
+ type: "Admin/Extension",
9
+ tags: {
10
+ runtimeContext: "app-build",
11
+ appName: "admin"
12
+ },
13
+ description: "Extend the Admin application with custom functionality.",
14
+ multiple: true,
15
+ paramsSchema: ({ project })=>z.object({
16
+ src: zodSrcPath({
17
+ project
18
+ }),
19
+ exportName: z.string().optional()
20
+ }),
21
+ async build (params, ctx) {
22
+ const extensionsTsxFilePath = ctx.project.paths.workspaceFolder.join("apps", "admin", "src", "Extensions.tsx").toString();
23
+ const { src: extensionFilePath } = params;
24
+ const absoluteExtensionFilePath = ExtensionSrcResolver.resolvePath(extensionFilePath, ctx.project);
25
+ const extensionFileName = path.basename(absoluteExtensionFilePath);
26
+ const exportName = params.exportName ?? path.parse(extensionFileName).name;
27
+ const hash = crypto_0.createHash("sha256").update(extensionFilePath).digest("hex");
28
+ const componentName = `AdminExtension_${hash.slice(-10)}`;
29
+ const project = new Project();
30
+ const importPath = path.relative(path.dirname(extensionsTsxFilePath), absoluteExtensionFilePath).replace(/\.tsx?$/, ".js");
31
+ project.addSourceFileAtPath(extensionsTsxFilePath);
32
+ const source = project.getSourceFileOrThrow(extensionsTsxFilePath);
33
+ const existingImportDeclaration = source.getImportDeclaration(importPath);
34
+ if (existingImportDeclaration) return;
35
+ const extensionProject = new Project();
36
+ extensionProject.addSourceFileAtPath(absoluteExtensionFilePath);
37
+ const extensionSource = extensionProject.getSourceFileOrThrow(absoluteExtensionFilePath);
38
+ const hasDefaultExport = void 0 !== extensionSource.getDefaultExportSymbol();
39
+ let index = 1;
40
+ const importDeclarations = source.getImportDeclarations();
41
+ if (importDeclarations.length) {
42
+ const last = importDeclarations[importDeclarations.length - 1];
43
+ index = last.getChildIndex() + 1;
44
+ }
45
+ if (hasDefaultExport) source.insertImportDeclaration(index, {
46
+ defaultImport: componentName,
47
+ moduleSpecifier: importPath
48
+ });
49
+ else source.insertImportDeclaration(index, {
50
+ namedImports: [
51
+ {
52
+ name: exportName,
53
+ alias: componentName
54
+ }
55
+ ],
56
+ moduleSpecifier: importPath
57
+ });
58
+ const extensionsIdentifier = source.getFirstDescendant((node)=>{
59
+ if (!Node.isIdentifier(node)) return false;
60
+ return "Extensions" === node.getText();
61
+ });
62
+ if (!extensionsIdentifier) throw new Error(`Could not find the "Extensions" React component in "${extensionsTsxFilePath}". Did you maybe change the name of the component?`);
63
+ const extensionsArrowFn = extensionsIdentifier.getNextSibling((node)=>Node.isArrowFunction(node));
64
+ if (!extensionsArrowFn) throw new Error(`Could not find the "Extensions" React component in "${extensionsTsxFilePath}". Did you maybe change its definition? It should be an arrow function.`);
65
+ const extensionsArrowFnFragment = extensionsArrowFn.getFirstDescendant((node)=>Node.isJsxFragment(node));
66
+ const extensionsArrowFnFragmentChildrenText = extensionsArrowFnFragment.getFullText().replace("<>", "").replace("</>", "").trim();
67
+ extensionsArrowFnFragment.replaceWithText(`<><${componentName}/>${extensionsArrowFnFragmentChildrenText}</>`);
68
+ await source.save();
69
+ }
70
+ });
71
+ export { AdminExtension };
72
+
73
+ //# sourceMappingURL=AdminExtension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensions/AdminExtension.js","sources":["../../src/extensions/AdminExtension.ts"],"sourcesContent":["import { defineExtension, zodSrcPath } from \"~/extensions/index.js\";\nimport { ExtensionSrcResolver } from \"~/index.js\";\nimport { z } from \"zod\";\nimport path from \"path\";\nimport { type JsxFragment, Node, Project } from \"ts-morph\";\nimport crypto from \"crypto\";\n\nexport const AdminExtension = defineExtension({\n type: \"Admin/Extension\",\n tags: { runtimeContext: \"app-build\", appName: \"admin\" },\n description: \"Extend the Admin application with custom functionality.\",\n multiple: true,\n paramsSchema: ({ project }) => {\n return z.object({\n src: zodSrcPath({ project }),\n exportName: z.string().optional()\n });\n },\n async build(params, ctx) {\n const extensionsTsxFilePath = ctx.project.paths.workspaceFolder\n .join(\"apps\", \"admin\", \"src\", \"Extensions.tsx\")\n .toString();\n\n const { src: extensionFilePath } = params;\n\n // Resolve to absolute path for file operations.\n const absoluteExtensionFilePath = ExtensionSrcResolver.resolvePath(\n extensionFilePath,\n ctx.project\n );\n\n const extensionFileName = path.basename(absoluteExtensionFilePath);\n\n // Export name can be customized or defaults to the file name without extension.\n const exportName = params.exportName ?? path.parse(extensionFileName).name;\n\n // Generate a constant hash-based component name to avoid using timestamps.\n const hash = crypto.createHash(\"sha256\").update(extensionFilePath).digest(\"hex\");\n const componentName = `AdminExtension_${hash.slice(-10)}`;\n\n const project = new Project();\n\n const importPath = path\n .relative(path.dirname(extensionsTsxFilePath), absoluteExtensionFilePath)\n .replace(/\\.tsx?$/, \".js\");\n\n project.addSourceFileAtPath(extensionsTsxFilePath);\n\n const source = project.getSourceFileOrThrow(extensionsTsxFilePath);\n\n const existingImportDeclaration = source.getImportDeclaration(importPath);\n if (existingImportDeclaration) {\n return;\n }\n\n // Check if the extension file has a default export or named export.\n const extensionProject = new Project();\n extensionProject.addSourceFileAtPath(absoluteExtensionFilePath);\n const extensionSource = extensionProject.getSourceFileOrThrow(absoluteExtensionFilePath);\n const hasDefaultExport = extensionSource.getDefaultExportSymbol() !== undefined;\n\n let index = 1;\n\n const importDeclarations = source.getImportDeclarations();\n if (importDeclarations.length) {\n const last = importDeclarations[importDeclarations.length - 1];\n index = last.getChildIndex() + 1;\n }\n\n // Import as default export if available, otherwise import named export.\n if (hasDefaultExport) {\n source.insertImportDeclaration(index, {\n defaultImport: componentName,\n moduleSpecifier: importPath\n });\n } else {\n source.insertImportDeclaration(index, {\n namedImports: [{ name: exportName, alias: componentName }],\n moduleSpecifier: importPath\n });\n }\n\n const extensionsIdentifier = source.getFirstDescendant(node => {\n if (!Node.isIdentifier(node)) {\n return false;\n }\n\n return node.getText() === \"Extensions\";\n });\n\n if (!extensionsIdentifier) {\n throw new Error(\n `Could not find the \"Extensions\" React component in \"${extensionsTsxFilePath}\". Did you maybe change the name of the component?`\n );\n }\n\n const extensionsArrowFn = extensionsIdentifier.getNextSibling(node =>\n Node.isArrowFunction(node)\n );\n if (!extensionsArrowFn) {\n throw new Error(\n `Could not find the \"Extensions\" React component in \"${extensionsTsxFilePath}\". Did you maybe change its definition? It should be an arrow function.`\n );\n }\n\n const extensionsArrowFnFragment = extensionsArrowFn.getFirstDescendant(node => {\n return Node.isJsxFragment(node);\n }) as JsxFragment;\n\n const extensionsArrowFnFragmentChildrenText = extensionsArrowFnFragment\n .getFullText()\n .replace(\"<>\", \"\")\n .replace(\"</>\", \"\")\n .trim();\n\n extensionsArrowFnFragment.replaceWithText(\n `<><${componentName}/>${extensionsArrowFnFragmentChildrenText}</>`\n );\n\n await source.save();\n }\n});\n"],"names":["AdminExtension","defineExtension","project","z","zodSrcPath","params","ctx","extensionsTsxFilePath","extensionFilePath","absoluteExtensionFilePath","ExtensionSrcResolver","extensionFileName","path","exportName","hash","crypto","componentName","Project","importPath","source","existingImportDeclaration","extensionProject","extensionSource","hasDefaultExport","undefined","index","importDeclarations","last","extensionsIdentifier","node","Node","Error","extensionsArrowFn","extensionsArrowFnFragment","extensionsArrowFnFragmentChildrenText"],"mappings":";;;;;;AAOO,MAAMA,iBAAiBC,gBAAgB;IAC1C,MAAM;IACN,MAAM;QAAE,gBAAgB;QAAa,SAAS;IAAQ;IACtD,aAAa;IACb,UAAU;IACV,cAAc,CAAC,EAAEC,OAAO,EAAE,GACfC,EAAE,MAAM,CAAC;YACZ,KAAKC,WAAW;gBAAEF;YAAQ;YAC1B,YAAYC,EAAE,MAAM,GAAG,QAAQ;QACnC;IAEJ,MAAM,OAAME,MAAM,EAAEC,GAAG;QACnB,MAAMC,wBAAwBD,IAAI,OAAO,CAAC,KAAK,CAAC,eAAe,CAC1D,IAAI,CAAC,QAAQ,SAAS,OAAO,kBAC7B,QAAQ;QAEb,MAAM,EAAE,KAAKE,iBAAiB,EAAE,GAAGH;QAGnC,MAAMI,4BAA4BC,qBAAqB,WAAW,CAC9DF,mBACAF,IAAI,OAAO;QAGf,MAAMK,oBAAoBC,KAAK,QAAQ,CAACH;QAGxC,MAAMI,aAAaR,OAAO,UAAU,IAAIO,KAAK,KAAK,CAACD,mBAAmB,IAAI;QAG1E,MAAMG,OAAOC,SAAAA,UAAiB,CAAC,UAAU,MAAM,CAACP,mBAAmB,MAAM,CAAC;QAC1E,MAAMQ,gBAAgB,CAAC,eAAe,EAAEF,KAAK,KAAK,CAAC,MAAM;QAEzD,MAAMZ,UAAU,IAAIe;QAEpB,MAAMC,aAAaN,KAAAA,QACN,CAACA,KAAK,OAAO,CAACL,wBAAwBE,2BAC9C,OAAO,CAAC,WAAW;QAExBP,QAAQ,mBAAmB,CAACK;QAE5B,MAAMY,SAASjB,QAAQ,oBAAoB,CAACK;QAE5C,MAAMa,4BAA4BD,OAAO,oBAAoB,CAACD;QAC9D,IAAIE,2BACA;QAIJ,MAAMC,mBAAmB,IAAIJ;QAC7BI,iBAAiB,mBAAmB,CAACZ;QACrC,MAAMa,kBAAkBD,iBAAiB,oBAAoB,CAACZ;QAC9D,MAAMc,mBAAmBD,AAA6CE,WAA7CF,gBAAgB,sBAAsB;QAE/D,IAAIG,QAAQ;QAEZ,MAAMC,qBAAqBP,OAAO,qBAAqB;QACvD,IAAIO,mBAAmB,MAAM,EAAE;YAC3B,MAAMC,OAAOD,kBAAkB,CAACA,mBAAmB,MAAM,GAAG,EAAE;YAC9DD,QAAQE,KAAK,aAAa,KAAK;QACnC;QAGA,IAAIJ,kBACAJ,OAAO,uBAAuB,CAACM,OAAO;YAClC,eAAeT;YACf,iBAAiBE;QACrB;aAEAC,OAAO,uBAAuB,CAACM,OAAO;YAClC,cAAc;gBAAC;oBAAE,MAAMZ;oBAAY,OAAOG;gBAAc;aAAE;YAC1D,iBAAiBE;QACrB;QAGJ,MAAMU,uBAAuBT,OAAO,kBAAkB,CAACU,CAAAA;YACnD,IAAI,CAACC,KAAK,YAAY,CAACD,OACnB,OAAO;YAGX,OAAOA,AAAmB,iBAAnBA,KAAK,OAAO;QACvB;QAEA,IAAI,CAACD,sBACD,MAAM,IAAIG,MACN,CAAC,oDAAoD,EAAExB,sBAAsB,kDAAkD,CAAC;QAIxI,MAAMyB,oBAAoBJ,qBAAqB,cAAc,CAACC,CAAAA,OAC1DC,KAAK,eAAe,CAACD;QAEzB,IAAI,CAACG,mBACD,MAAM,IAAID,MACN,CAAC,oDAAoD,EAAExB,sBAAsB,uEAAuE,CAAC;QAI7J,MAAM0B,4BAA4BD,kBAAkB,kBAAkB,CAACH,CAAAA,OAC5DC,KAAK,aAAa,CAACD;QAG9B,MAAMK,wCAAwCD,0BACzC,WAAW,GACX,OAAO,CAAC,MAAM,IACd,OAAO,CAAC,OAAO,IACf,IAAI;QAETA,0BAA0B,eAAe,CACrC,CAAC,GAAG,EAAEjB,cAAc,EAAE,EAAEkB,sCAAsC,GAAG,CAAC;QAGtE,MAAMf,OAAO,IAAI;IACrB;AACJ"}
@@ -0,0 +1,5 @@
1
+ import { z } from "zod";
2
+ export declare const BuildParam: import("~/defineExtension/index.js").ExtensionComponent<z.ZodObject<{
3
+ paramName: z.ZodString;
4
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny>, z.ZodNumber, z.ZodBoolean]>;
5
+ }, z.core.$strip>>;
@@ -0,0 +1,93 @@
1
+ import { z } from "zod";
2
+ import { Node, Project } from "ts-morph";
3
+ import { defineExtension } from "../defineExtension/index.js";
4
+ import crypto_0 from "crypto";
5
+ import path from "path";
6
+ import fs from "fs";
7
+ const BuildParam = defineExtension({
8
+ type: "Api/BuildParam",
9
+ tags: {
10
+ runtimeContext: "app-build",
11
+ appName: "api"
12
+ },
13
+ description: "Add build-time parameter to API app.",
14
+ multiple: true,
15
+ paramsSchema: ()=>z.object({
16
+ paramName: z.string(),
17
+ value: z.union([
18
+ z.string(),
19
+ z.record(z.string(), z.any()),
20
+ z.array(z.any()),
21
+ z.number(),
22
+ z.boolean()
23
+ ])
24
+ }),
25
+ async build (params, ctx) {
26
+ const extensionsTsFilePath = ctx.project.paths.workspaceFolder.join("apps", "api", "graphql", "src", "extensions.ts").toString();
27
+ const buildParamsDir = ctx.project.paths.workspaceFolder.join("apps", "api", "graphql", "src", "buildParams").toString();
28
+ const { paramName, value } = params;
29
+ const valueStr = JSON.stringify(value, null, 4);
30
+ const hash = crypto_0.createHash("sha256").update(paramName).digest("hex");
31
+ const className = `BuildParam_${hash.slice(-10)}`;
32
+ const fileName = `${className}.ts`;
33
+ const filePath = path.join(buildParamsDir, fileName);
34
+ if (!fs.existsSync(buildParamsDir)) fs.mkdirSync(buildParamsDir, {
35
+ recursive: true
36
+ });
37
+ if (fs.existsSync(filePath)) ;
38
+ else {
39
+ const fileContent = `import { BuildParam } from "webiny/api/build-params";
40
+
41
+ class ${className} implements BuildParam.Interface {
42
+ key = "${paramName}";
43
+ value = ${valueStr};
44
+ }
45
+
46
+ export default BuildParam.createImplementation({
47
+ implementation: ${className},
48
+ dependencies: []
49
+ });
50
+ `;
51
+ fs.writeFileSync(filePath, fileContent, "utf8");
52
+ }
53
+ const project = new Project();
54
+ project.addSourceFileAtPath(extensionsTsFilePath);
55
+ const source = project.getSourceFileOrThrow(extensionsTsFilePath);
56
+ let importPath = path.relative(path.dirname(extensionsTsFilePath), filePath).replace(/\.tsx?$/, ".js");
57
+ if (!importPath.startsWith(".")) importPath = "./" + importPath;
58
+ const existingImportDeclaration = source.getImportDeclaration(importPath);
59
+ if (existingImportDeclaration) return;
60
+ let index = 1;
61
+ const importDeclarations = source.getImportDeclarations();
62
+ if (importDeclarations.length) {
63
+ const last = importDeclarations[importDeclarations.length - 1];
64
+ index = last.getChildIndex() + 1;
65
+ }
66
+ source.insertImportDeclaration(index, {
67
+ defaultImport: className,
68
+ moduleSpecifier: importPath
69
+ });
70
+ const pluginsArray = source.getFirstDescendant((node)=>Node.isArrayLiteralExpression(node));
71
+ pluginsArray.addElement(`\ncreateRegisterExtensionPlugin(ctx => {\n\tregisterExtension(ctx.container, ${className});\n})`);
72
+ {
73
+ let index = 1;
74
+ const importDeclarations = source.getImportDeclarations();
75
+ if (importDeclarations.length) {
76
+ const last = importDeclarations[importDeclarations.length - 1];
77
+ index = last.getChildIndex() + 1;
78
+ }
79
+ const contextPluginImportPath = "@webiny/handler/plugins/RegisterExtensionPlugin.js";
80
+ const existingContextPluginImport = source.getImportDeclaration(contextPluginImportPath);
81
+ if (!existingContextPluginImport) source.insertImportDeclaration(index, {
82
+ namedImports: [
83
+ "createRegisterExtensionPlugin"
84
+ ],
85
+ moduleSpecifier: contextPluginImportPath
86
+ });
87
+ }
88
+ await source.save();
89
+ }
90
+ });
91
+ export { BuildParam };
92
+
93
+ //# sourceMappingURL=ApiBuildParam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensions/ApiBuildParam.js","sources":["../../src/extensions/ApiBuildParam.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { Node, Project, ArrayLiteralExpression } from \"ts-morph\";\nimport { defineExtension } from \"~/defineExtension/index.js\";\nimport crypto from \"crypto\";\nimport path from \"path\";\nimport fs from \"fs\";\n\nexport const BuildParam = defineExtension({\n type: \"Api/BuildParam\",\n tags: { runtimeContext: \"app-build\", appName: \"api\" },\n description: \"Add build-time parameter to API app.\",\n multiple: true,\n paramsSchema: () => {\n return z.object({\n paramName: z.string(),\n value: z.union([\n z.string(),\n z.record(z.string(), z.any()),\n z.array(z.any()),\n z.number(),\n z.boolean()\n ])\n });\n },\n async build(params, ctx) {\n const extensionsTsFilePath = ctx.project.paths.workspaceFolder\n .join(\"apps\", \"api\", \"graphql\", \"src\", \"extensions.ts\")\n .toString();\n\n const buildParamsDir = ctx.project.paths.workspaceFolder\n .join(\"apps\", \"api\", \"graphql\", \"src\", \"buildParams\")\n .toString();\n\n const { paramName, value } = params;\n\n // Serialize value to a TypeScript literal.\n const valueStr = JSON.stringify(value, null, 4);\n\n // Generate a unique class name based on the paramName.\n const hash = crypto.createHash(\"sha256\").update(paramName).digest(\"hex\");\n const className = `BuildParam_${hash.slice(-10)}`;\n const fileName = `${className}.ts`;\n const filePath = path.join(buildParamsDir, fileName);\n\n // Ensure buildParams directory exists.\n if (!fs.existsSync(buildParamsDir)) {\n fs.mkdirSync(buildParamsDir, { recursive: true });\n }\n\n // Check if file already exists.\n if (fs.existsSync(filePath)) {\n // File exists, just ensure it's imported in extensions.ts\n } else {\n // Create the BuildParam implementation file.\n const fileContent = `import { BuildParam } from \"webiny/api/build-params\";\n\nclass ${className} implements BuildParam.Interface {\n key = \"${paramName}\";\n value = ${valueStr};\n}\n\nexport default BuildParam.createImplementation({\n implementation: ${className},\n dependencies: []\n});\n`;\n fs.writeFileSync(filePath, fileContent, \"utf8\");\n }\n\n // Now update extensions.ts to import and register this BuildParam.\n const project = new Project();\n project.addSourceFileAtPath(extensionsTsFilePath);\n\n const source = project.getSourceFileOrThrow(extensionsTsFilePath);\n\n // Calculate import path relative to extensions.ts.\n let importPath = path\n .relative(path.dirname(extensionsTsFilePath), filePath)\n .replace(/\\.tsx?$/, \".js\");\n\n // Ensure the path starts with ./\n if (!importPath.startsWith(\".\")) {\n importPath = \"./\" + importPath;\n }\n\n // Check if import already exists.\n const existingImportDeclaration = source.getImportDeclaration(importPath);\n if (existingImportDeclaration) {\n return;\n }\n\n let index = 1;\n\n const importDeclarations = source.getImportDeclarations();\n if (importDeclarations.length) {\n const last = importDeclarations[importDeclarations.length - 1];\n index = last.getChildIndex() + 1;\n }\n\n // Add import for the BuildParam implementation.\n source.insertImportDeclaration(index, {\n defaultImport: className,\n moduleSpecifier: importPath\n });\n\n // Add the registration to the plugins array.\n const pluginsArray = source.getFirstDescendant(node =>\n Node.isArrayLiteralExpression(node)\n ) as ArrayLiteralExpression;\n\n pluginsArray.addElement(\n `\\ncreateRegisterExtensionPlugin(ctx => {\\n\\tregisterExtension(ctx.container, ${className});\\n})`\n );\n\n {\n let index = 1;\n\n const importDeclarations = source.getImportDeclarations();\n if (importDeclarations.length) {\n const last = importDeclarations[importDeclarations.length - 1];\n index = last.getChildIndex() + 1;\n }\n\n const contextPluginImportPath = \"@webiny/handler/plugins/RegisterExtensionPlugin.js\";\n const existingContextPluginImport =\n source.getImportDeclaration(contextPluginImportPath);\n if (!existingContextPluginImport) {\n source.insertImportDeclaration(index, {\n namedImports: [\"createRegisterExtensionPlugin\"],\n moduleSpecifier: contextPluginImportPath\n });\n }\n }\n\n await source.save();\n }\n});\n"],"names":["BuildParam","defineExtension","z","params","ctx","extensionsTsFilePath","buildParamsDir","paramName","value","valueStr","JSON","hash","crypto","className","fileName","filePath","path","fs","fileContent","project","Project","source","importPath","existingImportDeclaration","index","importDeclarations","last","pluginsArray","node","Node","contextPluginImportPath","existingContextPluginImport"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { z } from "zod";
2
+ export declare const ApiExtension: import("~/extensions/index.js").ExtensionComponent<z.ZodObject<{
3
+ src: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
4
+ exportName: z.ZodOptional<z.ZodString>;
5
+ }, z.core.$strip>>;
@@ -0,0 +1,81 @@
1
+ import { defineExtension, zodSrcPath } from "./index.js";
2
+ import { ExtensionSrcResolver } from "../index.js";
3
+ import { z } from "zod";
4
+ import path from "path";
5
+ import { Node, Project } from "ts-morph";
6
+ import crypto_0 from "crypto";
7
+ const ApiExtension = defineExtension({
8
+ type: "Api/Extension",
9
+ tags: {
10
+ runtimeContext: "app-build",
11
+ appName: "api"
12
+ },
13
+ description: "Add any API extension.",
14
+ multiple: true,
15
+ paramsSchema: ({ project })=>z.object({
16
+ src: zodSrcPath({
17
+ project
18
+ }),
19
+ exportName: z.string().optional()
20
+ }),
21
+ async build (params, ctx) {
22
+ const extensionsTsFilePath = ctx.project.paths.workspaceFolder.join("apps", "api", "graphql", "src", "extensions.ts").toString();
23
+ const { src: extensionFilePath } = params;
24
+ const absoluteExtensionFilePath = ExtensionSrcResolver.resolvePath(extensionFilePath, ctx.project);
25
+ const extensionFileName = path.basename(absoluteExtensionFilePath);
26
+ const exportName = params.exportName ?? path.parse(extensionFileName).name;
27
+ const hash = crypto_0.createHash("sha256").update(extensionFilePath).digest("hex");
28
+ const exportNameAlias = `ApiExtension_${hash.slice(-10)}`;
29
+ const importPath = path.relative(path.dirname(extensionsTsFilePath), absoluteExtensionFilePath).replace(/\.tsx?$/, ".js");
30
+ const project = new Project();
31
+ project.addSourceFileAtPath(extensionsTsFilePath);
32
+ const source = project.getSourceFileOrThrow(extensionsTsFilePath);
33
+ const existingImportDeclaration = source.getImportDeclaration(importPath);
34
+ if (existingImportDeclaration) return;
35
+ let index = 1;
36
+ const importDeclarations = source.getImportDeclarations();
37
+ if (importDeclarations.length) {
38
+ const last = importDeclarations[importDeclarations.length - 1];
39
+ index = last.getChildIndex() + 1;
40
+ }
41
+ const extensionProject = new Project();
42
+ extensionProject.addSourceFileAtPath(absoluteExtensionFilePath);
43
+ const extensionSource = extensionProject.getSourceFileOrThrow(absoluteExtensionFilePath);
44
+ const hasDefaultExport = void 0 !== extensionSource.getDefaultExportSymbol();
45
+ if (hasDefaultExport) source.insertImportDeclaration(index, {
46
+ defaultImport: exportNameAlias,
47
+ moduleSpecifier: importPath
48
+ });
49
+ else source.insertImportDeclaration(index, {
50
+ namedImports: [
51
+ {
52
+ name: exportName,
53
+ alias: exportNameAlias
54
+ }
55
+ ],
56
+ moduleSpecifier: importPath
57
+ });
58
+ const pluginsArray = source.getFirstDescendant((node)=>Node.isArrayLiteralExpression(node));
59
+ pluginsArray.addElement(`\ncreateRegisterExtensionPlugin(ctx => {\n\tregisterExtension(ctx.container, ${exportNameAlias});\n})`);
60
+ {
61
+ let index = 1;
62
+ const importDeclarations = source.getImportDeclarations();
63
+ if (importDeclarations.length) {
64
+ const last = importDeclarations[importDeclarations.length - 1];
65
+ index = last.getChildIndex() + 1;
66
+ }
67
+ const registerExtensionPluginImportPath = "@webiny/handler/plugins/RegisterExtensionPlugin.js";
68
+ const existingContextPluginImport = source.getImportDeclaration(registerExtensionPluginImportPath);
69
+ if (!existingContextPluginImport) source.insertImportDeclaration(index, {
70
+ namedImports: [
71
+ "createRegisterExtensionPlugin"
72
+ ],
73
+ moduleSpecifier: registerExtensionPluginImportPath
74
+ });
75
+ }
76
+ await source.save();
77
+ }
78
+ });
79
+ export { ApiExtension };
80
+
81
+ //# sourceMappingURL=ApiExtension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensions/ApiExtension.js","sources":["../../src/extensions/ApiExtension.ts"],"sourcesContent":["import { defineExtension, zodSrcPath } from \"~/extensions/index.js\";\nimport { ExtensionSrcResolver } from \"~/index.js\";\nimport { z } from \"zod\";\nimport path from \"path\";\nimport { Node, Project, ArrayLiteralExpression } from \"ts-morph\";\nimport crypto from \"crypto\";\n\nexport const ApiExtension = defineExtension({\n type: \"Api/Extension\",\n tags: { runtimeContext: \"app-build\", appName: \"api\" },\n description: \"Add any API extension.\",\n multiple: true,\n paramsSchema: ({ project }) => {\n return z.object({\n src: zodSrcPath({ project }),\n exportName: z.string().optional()\n });\n },\n async build(params, ctx) {\n const extensionsTsFilePath = ctx.project.paths.workspaceFolder\n .join(\"apps\", \"api\", \"graphql\", \"src\", \"extensions.ts\")\n .toString();\n\n const { src: extensionFilePath } = params;\n\n // Resolve to absolute path for file operations.\n const absoluteExtensionFilePath = ExtensionSrcResolver.resolvePath(\n extensionFilePath,\n ctx.project\n );\n\n const extensionFileName = path.basename(absoluteExtensionFilePath);\n\n // Export name is always the file name without extension.\n const exportName = params.exportName ?? path.parse(extensionFileName).name;\n\n // Alias name is \"ApiExtension_\" + hash of the file path. This way we\n // avoid potential naming conflicts and keep the identifier constant.\n const hash = crypto.createHash(\"sha256\").update(extensionFilePath).digest(\"hex\");\n const exportNameAlias = `ApiExtension_${hash.slice(-10)}`;\n\n // Calculate import path relative to `extensions.ts` file.\n const importPath = path\n .relative(path.dirname(extensionsTsFilePath), absoluteExtensionFilePath)\n .replace(/\\.tsx?$/, \".js\");\n\n const project = new Project();\n project.addSourceFileAtPath(extensionsTsFilePath);\n\n const source = project.getSourceFileOrThrow(extensionsTsFilePath);\n\n const existingImportDeclaration = source.getImportDeclaration(importPath);\n if (existingImportDeclaration) {\n return;\n }\n\n let index = 1;\n\n const importDeclarations = source.getImportDeclarations();\n if (importDeclarations.length) {\n const last = importDeclarations[importDeclarations.length - 1];\n index = last.getChildIndex() + 1;\n }\n\n // Check if the file has a default export using AST parsing.\n const extensionProject = new Project();\n extensionProject.addSourceFileAtPath(absoluteExtensionFilePath);\n const extensionSource = extensionProject.getSourceFileOrThrow(absoluteExtensionFilePath);\n const hasDefaultExport = extensionSource.getDefaultExportSymbol() !== undefined;\n\n // Support both default and named exports.\n if (hasDefaultExport) {\n source.insertImportDeclaration(index, {\n defaultImport: exportNameAlias,\n moduleSpecifier: importPath\n });\n } else {\n source.insertImportDeclaration(index, {\n namedImports: [{ name: exportName, alias: exportNameAlias }],\n moduleSpecifier: importPath\n });\n }\n\n const pluginsArray = source.getFirstDescendant(node =>\n Node.isArrayLiteralExpression(node)\n ) as ArrayLiteralExpression;\n\n pluginsArray.addElement(\n `\\ncreateRegisterExtensionPlugin(ctx => {\\n\\tregisterExtension(ctx.container, ${exportNameAlias});\\n})`\n );\n\n {\n let index = 1;\n\n const importDeclarations = source.getImportDeclarations();\n if (importDeclarations.length) {\n const last = importDeclarations[importDeclarations.length - 1];\n index = last.getChildIndex() + 1;\n }\n\n const registerExtensionPluginImportPath =\n \"@webiny/handler/plugins/RegisterExtensionPlugin.js\";\n const existingContextPluginImport = source.getImportDeclaration(\n registerExtensionPluginImportPath\n );\n if (!existingContextPluginImport) {\n source.insertImportDeclaration(index, {\n namedImports: [\"createRegisterExtensionPlugin\"],\n moduleSpecifier: registerExtensionPluginImportPath\n });\n }\n }\n\n await source.save();\n }\n});\n"],"names":["ApiExtension","defineExtension","project","z","zodSrcPath","params","ctx","extensionsTsFilePath","extensionFilePath","absoluteExtensionFilePath","ExtensionSrcResolver","extensionFileName","path","exportName","hash","crypto","exportNameAlias","importPath","Project","source","existingImportDeclaration","index","importDeclarations","last","extensionProject","extensionSource","hasDefaultExport","undefined","pluginsArray","node","Node","registerExtensionPluginImportPath","existingContextPluginImport"],"mappings":";;;;;;AAOO,MAAMA,eAAeC,gBAAgB;IACxC,MAAM;IACN,MAAM;QAAE,gBAAgB;QAAa,SAAS;IAAM;IACpD,aAAa;IACb,UAAU;IACV,cAAc,CAAC,EAAEC,OAAO,EAAE,GACfC,EAAE,MAAM,CAAC;YACZ,KAAKC,WAAW;gBAAEF;YAAQ;YAC1B,YAAYC,EAAE,MAAM,GAAG,QAAQ;QACnC;IAEJ,MAAM,OAAME,MAAM,EAAEC,GAAG;QACnB,MAAMC,uBAAuBD,IAAI,OAAO,CAAC,KAAK,CAAC,eAAe,CACzD,IAAI,CAAC,QAAQ,OAAO,WAAW,OAAO,iBACtC,QAAQ;QAEb,MAAM,EAAE,KAAKE,iBAAiB,EAAE,GAAGH;QAGnC,MAAMI,4BAA4BC,qBAAqB,WAAW,CAC9DF,mBACAF,IAAI,OAAO;QAGf,MAAMK,oBAAoBC,KAAK,QAAQ,CAACH;QAGxC,MAAMI,aAAaR,OAAO,UAAU,IAAIO,KAAK,KAAK,CAACD,mBAAmB,IAAI;QAI1E,MAAMG,OAAOC,SAAAA,UAAiB,CAAC,UAAU,MAAM,CAACP,mBAAmB,MAAM,CAAC;QAC1E,MAAMQ,kBAAkB,CAAC,aAAa,EAAEF,KAAK,KAAK,CAAC,MAAM;QAGzD,MAAMG,aAAaL,KAAAA,QACN,CAACA,KAAK,OAAO,CAACL,uBAAuBE,2BAC7C,OAAO,CAAC,WAAW;QAExB,MAAMP,UAAU,IAAIgB;QACpBhB,QAAQ,mBAAmB,CAACK;QAE5B,MAAMY,SAASjB,QAAQ,oBAAoB,CAACK;QAE5C,MAAMa,4BAA4BD,OAAO,oBAAoB,CAACF;QAC9D,IAAIG,2BACA;QAGJ,IAAIC,QAAQ;QAEZ,MAAMC,qBAAqBH,OAAO,qBAAqB;QACvD,IAAIG,mBAAmB,MAAM,EAAE;YAC3B,MAAMC,OAAOD,kBAAkB,CAACA,mBAAmB,MAAM,GAAG,EAAE;YAC9DD,QAAQE,KAAK,aAAa,KAAK;QACnC;QAGA,MAAMC,mBAAmB,IAAIN;QAC7BM,iBAAiB,mBAAmB,CAACf;QACrC,MAAMgB,kBAAkBD,iBAAiB,oBAAoB,CAACf;QAC9D,MAAMiB,mBAAmBD,AAA6CE,WAA7CF,gBAAgB,sBAAsB;QAG/D,IAAIC,kBACAP,OAAO,uBAAuB,CAACE,OAAO;YAClC,eAAeL;YACf,iBAAiBC;QACrB;aAEAE,OAAO,uBAAuB,CAACE,OAAO;YAClC,cAAc;gBAAC;oBAAE,MAAMR;oBAAY,OAAOG;gBAAgB;aAAE;YAC5D,iBAAiBC;QACrB;QAGJ,MAAMW,eAAeT,OAAO,kBAAkB,CAACU,CAAAA,OAC3CC,KAAK,wBAAwB,CAACD;QAGlCD,aAAa,UAAU,CACnB,CAAC,6EAA6E,EAAEZ,gBAAgB,MAAM,CAAC;QAG3G;YACI,IAAIK,QAAQ;YAEZ,MAAMC,qBAAqBH,OAAO,qBAAqB;YACvD,IAAIG,mBAAmB,MAAM,EAAE;gBAC3B,MAAMC,OAAOD,kBAAkB,CAACA,mBAAmB,MAAM,GAAG,EAAE;gBAC9DD,QAAQE,KAAK,aAAa,KAAK;YACnC;YAEA,MAAMQ,oCACF;YACJ,MAAMC,8BAA8Bb,OAAO,oBAAoB,CAC3DY;YAEJ,IAAI,CAACC,6BACDb,OAAO,uBAAuB,CAACE,OAAO;gBAClC,cAAc;oBAAC;iBAAgC;gBAC/C,iBAAiBU;YACrB;QAER;QAEA,MAAMZ,OAAO,IAAI;IACrB;AACJ"}
@@ -0,0 +1,4 @@
1
+ import { z } from "zod";
2
+ export declare const ApiMaxBundleSize: import("~/defineExtension/index.js").ExtensionComponent<z.ZodObject<{
3
+ size: z.ZodNumber;
4
+ }, z.core.$strip>>;
@@ -0,0 +1,23 @@
1
+ import react from "react";
2
+ import { z } from "zod";
3
+ import { defineExtension } from "../defineExtension/index.js";
4
+ import { EnvVar } from "./EnvVar.js";
5
+ const ApiMaxBundleSize = defineExtension({
6
+ type: "Infra/Api/MaxBundleSize",
7
+ tags: {
8
+ runtimeContext: "project"
9
+ },
10
+ description: "Set the maximum bundle size for the API build.",
11
+ paramsSchema: z.object({
12
+ size: z.number().int().positive().describe("Maximum bundle size in bytes.")
13
+ }),
14
+ render ({ size }) {
15
+ return /*#__PURE__*/ react.createElement(EnvVar, {
16
+ varName: "WEBINY_INFRA_API_MAX_BUNDLE_SIZE",
17
+ value: String(size)
18
+ });
19
+ }
20
+ });
21
+ export { ApiMaxBundleSize };
22
+
23
+ //# sourceMappingURL=ApiMaxBundleSize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensions/ApiMaxBundleSize.js","sources":["../../src/extensions/ApiMaxBundleSize.tsx"],"sourcesContent":["import React from \"react\";\nimport { z } from \"zod\";\nimport { defineExtension } from \"~/defineExtension/index.js\";\nimport { EnvVar } from \"~/extensions/EnvVar.js\";\n\nexport const ApiMaxBundleSize = defineExtension({\n type: \"Infra/Api/MaxBundleSize\",\n tags: { runtimeContext: \"project\" },\n description: \"Set the maximum bundle size for the API build.\",\n paramsSchema: z.object({\n size: z.number().int().positive().describe(\"Maximum bundle size in bytes.\")\n }),\n render({ size }) {\n return <EnvVar varName=\"WEBINY_INFRA_API_MAX_BUNDLE_SIZE\" value={String(size)} />;\n }\n});\n"],"names":["ApiMaxBundleSize","defineExtension","z","size","EnvVar","String"],"mappings":";;;;AAKO,MAAMA,mBAAmBC,gBAAgB;IAC5C,MAAM;IACN,MAAM;QAAE,gBAAgB;IAAU;IAClC,aAAa;IACb,cAAcC,EAAE,MAAM,CAAC;QACnB,MAAMA,EAAE,MAAM,GAAG,GAAG,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC/C;IACA,QAAO,EAAEC,IAAI,EAAE;QACX,OAAO,WAAP,GAAO,oBAACC,QAAMA;YAAC,SAAQ;YAAmC,OAAOC,OAAOF;;IAC5E;AACJ"}
@@ -1,8 +1,8 @@
1
1
  import { z } from "zod";
2
- export declare const DatabaseSetup: import("../defineExtension/defineExtension.js").ExtensionComponent<z.ZodObject<{
3
- setupName: z.ZodEnum<["ddb", "ddb+es", "ddb+os"]>;
4
- }, "strip", z.ZodTypeAny, {
5
- setupName: "ddb" | "ddb+es" | "ddb+os";
6
- }, {
7
- setupName: "ddb" | "ddb+es" | "ddb+os";
8
- }>>;
2
+ export declare const DatabaseSetup: import("./index.js").ExtensionComponent<z.ZodObject<{
3
+ setupName: z.ZodEnum<{
4
+ ddb: "ddb";
5
+ "ddb+es": "ddb+es";
6
+ "ddb+os": "ddb+os";
7
+ }>;
8
+ }, z.core.$strip>>;
@@ -1,14 +1,19 @@
1
1
  import { z } from "zod";
2
2
  import { defineExtension } from "../defineExtension/index.js";
3
- export const DatabaseSetup = defineExtension({
4
- type: "Project/DatabaseSetup",
5
- tags: {
6
- runtimeContext: "project"
7
- },
8
- description: "Define the database setup configuration (ddb, ddb+es, or ddb+os).",
9
- paramsSchema: z.object({
10
- setupName: z.enum(["ddb", "ddb+es", "ddb+os"]).describe("The database setup type: ddb (DynamoDB only), ddb+es (DynamoDB + ElasticSearch), or ddb+os (DynamoDB + OpenSearch)")
11
- })
3
+ const DatabaseSetup = defineExtension({
4
+ type: "Project/DatabaseSetup",
5
+ tags: {
6
+ runtimeContext: "project"
7
+ },
8
+ description: "Define the database setup configuration (ddb, ddb+es, or ddb+os).",
9
+ paramsSchema: z.object({
10
+ setupName: z["enum"]([
11
+ "ddb",
12
+ "ddb+es",
13
+ "ddb+os"
14
+ ]).describe("The database setup type: ddb (DynamoDB only), ddb+es (DynamoDB + ElasticSearch), or ddb+os (DynamoDB + OpenSearch)")
15
+ })
12
16
  });
17
+ export { DatabaseSetup };
13
18
 
14
19
  //# sourceMappingURL=DatabaseSetup.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["z","defineExtension","DatabaseSetup","type","tags","runtimeContext","description","paramsSchema","object","setupName","enum","describe"],"sources":["DatabaseSetup.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { defineExtension } from \"../defineExtension/index.js\";\n\nexport const DatabaseSetup = defineExtension({\n type: \"Project/DatabaseSetup\",\n tags: { runtimeContext: \"project\" },\n description: \"Define the database setup configuration (ddb, ddb+es, or ddb+os).\",\n paramsSchema: z.object({\n setupName: z\n .enum([\"ddb\", \"ddb+es\", \"ddb+os\"])\n .describe(\n \"The database setup type: ddb (DynamoDB only), ddb+es (DynamoDB + ElasticSearch), or ddb+os (DynamoDB + OpenSearch)\"\n )\n })\n});\n"],"mappings":"AAAA,SAASA,CAAC,QAAQ,KAAK;AACvB,SAASC,eAAe;AAExB,OAAO,MAAMC,aAAa,GAAGD,eAAe,CAAC;EACzCE,IAAI,EAAE,uBAAuB;EAC7BC,IAAI,EAAE;IAAEC,cAAc,EAAE;EAAU,CAAC;EACnCC,WAAW,EAAE,mEAAmE;EAChFC,YAAY,EAAEP,CAAC,CAACQ,MAAM,CAAC;IACnBC,SAAS,EAAET,CAAC,CACPU,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CACjCC,QAAQ,CACL,oHACJ;EACR,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"extensions/DatabaseSetup.js","sources":["../../src/extensions/DatabaseSetup.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { defineExtension } from \"../defineExtension/index.js\";\n\nexport const DatabaseSetup = defineExtension({\n type: \"Project/DatabaseSetup\",\n tags: { runtimeContext: \"project\" },\n description: \"Define the database setup configuration (ddb, ddb+es, or ddb+os).\",\n paramsSchema: z.object({\n setupName: z\n .enum([\"ddb\", \"ddb+es\", \"ddb+os\"])\n .describe(\n \"The database setup type: ddb (DynamoDB only), ddb+es (DynamoDB + ElasticSearch), or ddb+os (DynamoDB + OpenSearch)\"\n )\n })\n});\n"],"names":["DatabaseSetup","defineExtension","z"],"mappings":";;AAGO,MAAMA,gBAAgBC,gBAAgB;IACzC,MAAM;IACN,MAAM;QAAE,gBAAgB;IAAU;IAClC,aAAa;IACb,cAAcC,EAAE,MAAM,CAAC;QACnB,WAAWA,CAAC,CAADA,OACF,CAAC;YAAC;YAAO;YAAU;SAAS,EAChC,QAAQ,CACL;IAEZ;AACJ"}
@@ -1,11 +1,8 @@
1
1
  import { z } from "zod";
2
+ /**
3
+ * Define an environment variable in the project context.
4
+ */
2
5
  export declare const EnvVar: import("~/defineExtension/index.js").ExtensionComponent<z.ZodObject<{
3
6
  varName: z.ZodString;
4
7
  value: z.ZodString;
5
- }, "strip", z.ZodTypeAny, {
6
- value: string;
7
- varName: string;
8
- }, {
9
- value: string;
10
- varName: string;
11
- }>>;
8
+ }, z.core.$strip>>;