@webiny/project 0.0.0-unstable.e2758ee1cf → 0.0.0-unstable.e6f0dc8ca7

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 (209) hide show
  1. package/abstractions/features/DeployApp.d.ts +0 -1
  2. package/abstractions/features/DeployApp.js.map +1 -1
  3. package/abstractions/features/index.d.ts +0 -1
  4. package/abstractions/features/index.js +0 -1
  5. package/abstractions/features/index.js.map +1 -1
  6. package/defineExtension/models/ExtensionDefinitionModel.d.ts +4 -4
  7. package/defineExtension/models/ExtensionDefinitionModel.js.map +1 -1
  8. package/defineExtension/models/ExtensionInstanceModel.js +4 -1
  9. package/defineExtension/models/ExtensionInstanceModel.js.map +1 -1
  10. package/defineExtension/zodTypes/zodSrcPath.d.ts +1 -1
  11. package/defineExtension/zodTypes/zodSrcPath.js +11 -0
  12. package/defineExtension/zodTypes/zodSrcPath.js.map +1 -1
  13. package/exports/infra/admin.d.ts +0 -1
  14. package/exports/infra/admin.js +0 -1
  15. package/exports/infra/admin.js.map +1 -1
  16. package/exports/infra/api.d.ts +0 -1
  17. package/exports/infra/api.js +0 -1
  18. package/exports/infra/api.js.map +1 -1
  19. package/exports/infra/core.d.ts +0 -1
  20. package/exports/infra/core.js +0 -1
  21. package/exports/infra/core.js.map +1 -1
  22. package/exports/infra.d.ts +8 -0
  23. package/exports/infra.js +10 -0
  24. package/exports/{infra/index.js.map → infra.js.map} +1 -1
  25. package/extensions/AdminBuildParam.d.ts +2 -8
  26. package/extensions/AdminBuildParam.js +1 -1
  27. package/extensions/AdminBuildParam.js.map +1 -1
  28. package/extensions/AdminExtension.d.ts +2 -8
  29. package/extensions/ApiBuildParam.d.ts +2 -8
  30. package/extensions/ApiBuildParam.js +4 -4
  31. package/extensions/ApiBuildParam.js.map +1 -1
  32. package/extensions/ApiExtension.d.ts +2 -8
  33. package/extensions/ApiExtension.js +5 -5
  34. package/extensions/ApiExtension.js.map +1 -1
  35. package/extensions/DatabaseSetup.d.ts +7 -7
  36. package/extensions/EnvVar.d.ts +4 -7
  37. package/extensions/EnvVar.js +4 -0
  38. package/extensions/EnvVar.js.map +1 -1
  39. package/extensions/ExtensionDefinitions.d.ts +1 -5
  40. package/extensions/FeatureFlags.d.ts +17 -79
  41. package/extensions/FeatureFlags.js +12 -0
  42. package/extensions/FeatureFlags.js.map +1 -1
  43. package/extensions/Project/EnsureTelemetryEnabledForOss.js +1 -1
  44. package/extensions/Project/EnsureTelemetryEnabledForOss.js.map +1 -1
  45. package/extensions/Project/SetAdminAppEnvVarsBeforeBuild.js +1 -0
  46. package/extensions/Project/SetAdminAppEnvVarsBeforeBuild.js.map +1 -1
  47. package/extensions/Project/SetAdminAppEnvVarsBeforeWatch.js +1 -0
  48. package/extensions/Project/SetAdminAppEnvVarsBeforeWatch.js.map +1 -1
  49. package/extensions/Project/ValidateEncryptionBeforeDeploy.d.ts +12 -0
  50. package/extensions/Project/ValidateEncryptionBeforeDeploy.js +32 -0
  51. package/extensions/Project/ValidateEncryptionBeforeDeploy.js.map +1 -0
  52. package/extensions/Project.js +2 -0
  53. package/extensions/Project.js.map +1 -1
  54. package/extensions/ProjectDecorator.d.ts +3 -7
  55. package/extensions/ProjectId.d.ts +3 -7
  56. package/extensions/ProjectId.js +1 -1
  57. package/extensions/ProjectId.js.map +1 -1
  58. package/extensions/ProjectImplementation.d.ts +3 -9
  59. package/extensions/Telemetry.d.ts +2 -6
  60. package/extensions/hooks/AdminAfterBuild.d.ts +2 -6
  61. package/extensions/hooks/AdminAfterDeploy.d.ts +2 -6
  62. package/extensions/hooks/AdminBeforeBuild.d.ts +2 -6
  63. package/extensions/hooks/AdminBeforeDeploy.d.ts +2 -6
  64. package/extensions/hooks/AdminBeforeWatch.d.ts +2 -6
  65. package/extensions/hooks/AfterBuild.d.ts +2 -6
  66. package/extensions/hooks/AfterDeploy.d.ts +2 -6
  67. package/extensions/hooks/ApiAfterBuild.d.ts +2 -6
  68. package/extensions/hooks/ApiAfterDeploy.d.ts +2 -6
  69. package/extensions/hooks/ApiBeforeBuild.d.ts +2 -6
  70. package/extensions/hooks/ApiBeforeDeploy.d.ts +2 -6
  71. package/extensions/hooks/ApiBeforeWatch.d.ts +2 -6
  72. package/extensions/hooks/BeforeBuild.d.ts +2 -6
  73. package/extensions/hooks/BeforeDeploy.d.ts +2 -6
  74. package/extensions/hooks/BeforeWatch.d.ts +2 -6
  75. package/extensions/hooks/CoreAfterBuild.d.ts +2 -6
  76. package/extensions/hooks/CoreAfterDeploy.d.ts +2 -6
  77. package/extensions/hooks/CoreBeforeBuild.d.ts +2 -6
  78. package/extensions/hooks/CoreBeforeDeploy.d.ts +2 -6
  79. package/extensions/hooks/CoreBeforeWatch.d.ts +2 -6
  80. package/extensions/index.d.ts +38 -145
  81. package/extensions/index.js +5 -8
  82. package/extensions/index.js.map +1 -1
  83. package/extensions/infra/Ci.d.ts +14 -0
  84. package/extensions/infra/Ci.js +29 -0
  85. package/extensions/infra/Ci.js.map +1 -0
  86. package/extensions/infra/Env.d.ts +6 -0
  87. package/extensions/infra/Env.js +21 -0
  88. package/extensions/infra/Env.js.map +1 -1
  89. package/extensions/infra/index.d.ts +1 -0
  90. package/extensions/infra/index.js +1 -0
  91. package/extensions/infra/index.js.map +1 -1
  92. package/extensions/pulumi/AdminStackOutputValue.d.ts +1 -7
  93. package/extensions/pulumi/ApiStackOutputValue.d.ts +1 -7
  94. package/extensions/pulumi/CoreStackOutputValue.d.ts +1 -7
  95. package/extensions/pulumi/ProductionEnvironments.d.ts +2 -6
  96. package/extensions/pulumi/ProductionEnvironments.js +16 -1
  97. package/extensions/pulumi/ProductionEnvironments.js.map +1 -1
  98. package/extensions/pulumi/PulumiResourceNamePrefix.d.ts +1 -5
  99. package/extensions/pulumi/index.d.ts +0 -3
  100. package/extensions/pulumi/index.js +0 -3
  101. package/extensions/pulumi/index.js.map +1 -1
  102. package/features/BuildApp/PackagesBuilder/worker.js +1 -1
  103. package/features/BuildApp/PackagesBuilder/worker.js.map +1 -1
  104. package/features/GetFeatureFlags/GetFeatureFlags.d.ts +1 -2
  105. package/features/GetFeatureFlags/GetFeatureFlags.js +1 -2
  106. package/features/GetFeatureFlags/GetFeatureFlags.js.map +1 -1
  107. package/features/Watch/initInvocationForwarding.d.ts +1 -1
  108. package/features/Watch/initInvocationForwarding.js +1 -1
  109. package/features/Watch/initInvocationForwarding.js.map +1 -1
  110. package/features/Watch/localInvocationWorker.js +5 -1
  111. package/features/Watch/localInvocationWorker.js.map +1 -1
  112. package/features/index.d.ts +0 -1
  113. package/features/index.js +0 -1
  114. package/features/index.js.map +1 -1
  115. package/index.d.ts +1 -0
  116. package/index.js +1 -0
  117. package/index.js.map +1 -1
  118. package/package.json +38 -39
  119. package/services/BuildAppWorkspaceService/BuildAppWorkspaceService.js +4 -4
  120. package/services/BuildAppWorkspaceService/BuildAppWorkspaceService.js.map +1 -1
  121. package/services/GetProjectConfigService/GetProjectConfigService.js +2 -1
  122. package/services/GetProjectConfigService/GetProjectConfigService.js.map +1 -1
  123. package/services/GetProjectConfigService/ProductionEnvironmentsContext.d.ts +6 -0
  124. package/services/GetProjectConfigService/ProductionEnvironmentsContext.js +21 -0
  125. package/services/GetProjectConfigService/ProductionEnvironmentsContext.js.map +1 -0
  126. package/services/GetProjectConfigService/renderConfigWorker.js +14 -4
  127. package/services/GetProjectConfigService/renderConfigWorker.js.map +1 -1
  128. package/services/GetProjectIdService/GetProjectIdService.js +1 -1
  129. package/services/GetProjectIdService/GetProjectIdService.js.map +1 -1
  130. package/services/GetProjectService/GetProjectService.js +2 -2
  131. package/services/GetProjectService/GetProjectService.js.map +1 -1
  132. package/services/GetProjectVersionService/GetProjectVersionService.js +4 -4
  133. package/services/GetProjectVersionService/GetProjectVersionService.js.map +1 -1
  134. package/services/InitProjectSdkService/InitProjectSdkService.js +0 -6
  135. package/services/InitProjectSdkService/InitProjectSdkService.js.map +1 -1
  136. package/services/InitProjectSdkService/applyWcpEnvVars.js +10 -8
  137. package/services/InitProjectSdkService/applyWcpEnvVars.js.map +1 -1
  138. package/services/InitProjectSdkService/registerPulumiExtensions.js +5 -3
  139. package/services/InitProjectSdkService/registerPulumiExtensions.js.map +1 -1
  140. package/services/InstallExtensionService/downloadFolderFromS3.js +33 -42
  141. package/services/InstallExtensionService/downloadFolderFromS3.js.map +1 -1
  142. package/services/InstallExtensionService/types.d.ts +4 -0
  143. package/services/InstallExtensionService/types.js.map +1 -1
  144. package/services/InstallExtensionService/updateWebinyConfig.js +74 -47
  145. package/services/InstallExtensionService/updateWebinyConfig.js.map +1 -1
  146. package/services/ListPackagesService/ListPackagesService.js +1 -1
  147. package/services/ListPackagesService/ListPackagesService.js.map +1 -1
  148. package/services/ProjectInfoService/ProjectInfoService.js +3 -3
  149. package/services/ProjectInfoService/ProjectInfoService.js.map +1 -1
  150. package/utils/ExtensionSrcResolver.js +2 -1
  151. package/utils/ExtensionSrcResolver.js.map +1 -1
  152. package/utils/index.d.ts +1 -0
  153. package/utils/index.js +1 -0
  154. package/utils/index.js.map +1 -1
  155. package/utils/requireConfig.js +9 -5
  156. package/utils/requireConfig.js.map +1 -1
  157. package/utils/toImportSpecifier.d.ts +5 -0
  158. package/utils/toImportSpecifier.js +12 -0
  159. package/utils/toImportSpecifier.js.map +1 -0
  160. package/abstractions/features/pulumi/AdminPulumi.d.ts +0 -8
  161. package/abstractions/features/pulumi/AdminPulumi.js +0 -4
  162. package/abstractions/features/pulumi/AdminPulumi.js.map +0 -1
  163. package/abstractions/features/pulumi/ApiPulumi.d.ts +0 -8
  164. package/abstractions/features/pulumi/ApiPulumi.js +0 -4
  165. package/abstractions/features/pulumi/ApiPulumi.js.map +0 -1
  166. package/abstractions/features/pulumi/CorePulumi.d.ts +0 -8
  167. package/abstractions/features/pulumi/CorePulumi.js +0 -4
  168. package/abstractions/features/pulumi/CorePulumi.js.map +0 -1
  169. package/abstractions/features/pulumi/index.d.ts +0 -3
  170. package/abstractions/features/pulumi/index.js +0 -5
  171. package/abstractions/features/pulumi/index.js.map +0 -1
  172. package/exports/infra/index.d.ts +0 -8
  173. package/exports/infra/index.js +0 -10
  174. package/extensions/pulumi/AdminPulumi.d.ts +0 -8
  175. package/extensions/pulumi/AdminPulumi.js +0 -25
  176. package/extensions/pulumi/AdminPulumi.js.map +0 -1
  177. package/extensions/pulumi/ApiPulumi.d.ts +0 -8
  178. package/extensions/pulumi/ApiPulumi.js +0 -25
  179. package/extensions/pulumi/ApiPulumi.js.map +0 -1
  180. package/extensions/pulumi/CorePulumi.d.ts +0 -8
  181. package/extensions/pulumi/CorePulumi.js +0 -25
  182. package/extensions/pulumi/CorePulumi.js.map +0 -1
  183. package/features/BuildApp/PackagesBuilder/utils/requireConfig.d.ts +0 -18
  184. package/features/BuildApp/PackagesBuilder/utils/requireConfig.js +0 -15
  185. package/features/BuildApp/PackagesBuilder/utils/requireConfig.js.map +0 -1
  186. package/features/Watch/watchers/utils/requireConfig.d.ts +0 -18
  187. package/features/Watch/watchers/utils/requireConfig.js +0 -15
  188. package/features/Watch/watchers/utils/requireConfig.js.map +0 -1
  189. package/features/pulumi/AdminPulumi/AdminPulumi.d.ts +0 -7
  190. package/features/pulumi/AdminPulumi/AdminPulumi.js +0 -21
  191. package/features/pulumi/AdminPulumi/AdminPulumi.js.map +0 -1
  192. package/features/pulumi/AdminPulumi/index.d.ts +0 -1
  193. package/features/pulumi/AdminPulumi/index.js +0 -3
  194. package/features/pulumi/AdminPulumi/index.js.map +0 -1
  195. package/features/pulumi/ApiPulumi/ApiPulumi.d.ts +0 -7
  196. package/features/pulumi/ApiPulumi/ApiPulumi.js +0 -21
  197. package/features/pulumi/ApiPulumi/ApiPulumi.js.map +0 -1
  198. package/features/pulumi/ApiPulumi/index.d.ts +0 -1
  199. package/features/pulumi/ApiPulumi/index.js +0 -3
  200. package/features/pulumi/ApiPulumi/index.js.map +0 -1
  201. package/features/pulumi/CorePulumi/CorePulumi.d.ts +0 -7
  202. package/features/pulumi/CorePulumi/CorePulumi.js +0 -21
  203. package/features/pulumi/CorePulumi/CorePulumi.js.map +0 -1
  204. package/features/pulumi/CorePulumi/index.d.ts +0 -1
  205. package/features/pulumi/CorePulumi/index.js +0 -3
  206. package/features/pulumi/CorePulumi/index.js.map +0 -1
  207. package/features/pulumi/index.d.ts +0 -3
  208. package/features/pulumi/index.js +0 -5
  209. package/features/pulumi/index.js.map +0 -1
@@ -2,10 +2,4 @@ import { z } from "zod";
2
2
  export declare const AdminStackOutputValue: import("~/defineExtension/index.js").ExtensionComponent<z.ZodObject<{
3
3
  key: z.ZodString;
4
4
  value: z.ZodAny;
5
- }, "strip", z.ZodTypeAny, {
6
- key: string;
7
- value?: any;
8
- }, {
9
- key: string;
10
- value?: any;
11
- }>>;
5
+ }, z.core.$strip>>;
@@ -2,10 +2,4 @@ import { z } from "zod";
2
2
  export declare const ApiStackOutputValue: import("~/defineExtension/index.js").ExtensionComponent<z.ZodObject<{
3
3
  key: z.ZodString;
4
4
  value: z.ZodAny;
5
- }, "strip", z.ZodTypeAny, {
6
- key: string;
7
- value?: any;
8
- }, {
9
- key: string;
10
- value?: any;
11
- }>>;
5
+ }, z.core.$strip>>;
@@ -2,10 +2,4 @@ import { z } from "zod";
2
2
  export declare const CoreStackOutputValue: import("~/defineExtension/index.js").ExtensionComponent<z.ZodObject<{
3
3
  key: z.ZodString;
4
4
  value: z.ZodAny;
5
- }, "strip", z.ZodTypeAny, {
6
- key: string;
7
- value?: any;
8
- }, {
9
- key: string;
10
- value?: any;
11
- }>>;
5
+ }, z.core.$strip>>;
@@ -1,8 +1,4 @@
1
1
  import { z } from "zod";
2
2
  export declare const ProductionEnvironments: import("~/defineExtension/index.js").ExtensionComponent<z.ZodObject<{
3
- environments: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
4
- }, "strip", z.ZodTypeAny, {
5
- environments: string[];
6
- }, {
7
- environments: string[];
8
- }>>;
3
+ environments: z.ZodArray<z.ZodString>;
4
+ }, z.core.$strip>>;
@@ -1,12 +1,24 @@
1
+ import React, { useEffect } from "react";
1
2
  import { z } from "zod";
2
3
  import { defineExtension } from "../../defineExtension/index.js";
4
+ import { useRegisterProductionEnvironments } from "../../services/GetProjectConfigService/ProductionEnvironmentsContext.js";
5
+ const Registrar = ({
6
+ environments
7
+ }) => {
8
+ const setProdEnvs = useRegisterProductionEnvironments();
9
+ useEffect(() => {
10
+ if (setProdEnvs) {
11
+ setProdEnvs(environments);
12
+ }
13
+ }, []);
14
+ return null;
15
+ };
3
16
  export const ProductionEnvironments = defineExtension({
4
17
  type: "Infra/ProductionEnvironments",
5
18
  tags: {
6
19
  runtimeContext: "project"
7
20
  },
8
21
  description: "Provide names for environments that are considered production environments.",
9
- multiple: true,
10
22
  paramsSchema: z.object({
11
23
  environments: z.array(z.string().superRefine((value, ctx) => {
12
24
  if (!value) {
@@ -25,6 +37,9 @@ export const ProductionEnvironments = defineExtension({
25
37
  });
26
38
  }
27
39
  }))
40
+ }),
41
+ render: props => /*#__PURE__*/React.createElement(Registrar, {
42
+ environments: props.environments
28
43
  })
29
44
  });
30
45
 
@@ -1 +1 @@
1
- {"version":3,"names":["z","defineExtension","ProductionEnvironments","type","tags","runtimeContext","description","multiple","paramsSchema","object","environments","array","string","superRefine","value","ctx","addIssue","code","ZodIssueCode","custom","message","test"],"sources":["ProductionEnvironments.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { defineExtension } from \"~/defineExtension/index.js\";\n\nexport const ProductionEnvironments = defineExtension({\n type: \"Infra/ProductionEnvironments\",\n tags: { runtimeContext: \"project\" },\n description: \"Provide names for environments that are considered production environments.\",\n multiple: true,\n paramsSchema: z.object({\n environments: z.array(\n z.string().superRefine((value, ctx) => {\n if (!value) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"Environment name cannot be empty.\"\n });\n return;\n }\n\n // Must allow only letters, numbers, dashes, and underscores.\n if (!/^[a-zA-Z0-9-_]+$/.test(value)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n \"Environment name can only contain letters, numbers, dashes, and underscores.\"\n });\n }\n })\n )\n })\n});\n"],"mappings":"AAAA,SAASA,CAAC,QAAQ,KAAK;AACvB,SAASC,eAAe;AAExB,OAAO,MAAMC,sBAAsB,GAAGD,eAAe,CAAC;EAClDE,IAAI,EAAE,8BAA8B;EACpCC,IAAI,EAAE;IAAEC,cAAc,EAAE;EAAU,CAAC;EACnCC,WAAW,EAAE,6EAA6E;EAC1FC,QAAQ,EAAE,IAAI;EACdC,YAAY,EAAER,CAAC,CAACS,MAAM,CAAC;IACnBC,YAAY,EAAEV,CAAC,CAACW,KAAK,CACjBX,CAAC,CAACY,MAAM,CAAC,CAAC,CAACC,WAAW,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;MACnC,IAAI,CAACD,KAAK,EAAE;QACRC,GAAG,CAACC,QAAQ,CAAC;UACTC,IAAI,EAAEjB,CAAC,CAACkB,YAAY,CAACC,MAAM;UAC3BC,OAAO,EAAE;QACb,CAAC,CAAC;QACF;MACJ;;MAEA;MACA,IAAI,CAAC,kBAAkB,CAACC,IAAI,CAACP,KAAK,CAAC,EAAE;QACjCC,GAAG,CAACC,QAAQ,CAAC;UACTC,IAAI,EAAEjB,CAAC,CAACkB,YAAY,CAACC,MAAM;UAC3BC,OAAO,EACH;QACR,CAAC,CAAC;MACN;IACJ,CAAC,CACL;EACJ,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","z","defineExtension","useRegisterProductionEnvironments","Registrar","environments","setProdEnvs","ProductionEnvironments","type","tags","runtimeContext","description","paramsSchema","object","array","string","superRefine","value","ctx","addIssue","code","ZodIssueCode","custom","message","test","render","props","createElement"],"sources":["ProductionEnvironments.ts"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { z } from \"zod\";\nimport { defineExtension } from \"~/defineExtension/index.js\";\nimport { useRegisterProductionEnvironments } from \"~/services/GetProjectConfigService/ProductionEnvironmentsContext.js\";\n\ninterface RegistrarProps {\n environments: string[];\n}\n\nconst Registrar: React.FC<RegistrarProps> = ({ environments }) => {\n const setProdEnvs = useRegisterProductionEnvironments();\n useEffect(() => {\n if (setProdEnvs) {\n setProdEnvs(environments);\n }\n }, []);\n return null;\n};\n\nexport const ProductionEnvironments = defineExtension({\n type: \"Infra/ProductionEnvironments\",\n tags: { runtimeContext: \"project\" },\n description: \"Provide names for environments that are considered production environments.\",\n paramsSchema: z.object({\n environments: z.array(\n z.string().superRefine((value, ctx) => {\n if (!value) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"Environment name cannot be empty.\"\n });\n return;\n }\n\n // Must allow only letters, numbers, dashes, and underscores.\n if (!/^[a-zA-Z0-9-_]+$/.test(value)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n \"Environment name can only contain letters, numbers, dashes, and underscores.\"\n });\n }\n })\n )\n }),\n render: props => React.createElement(Registrar, { environments: props.environments })\n});\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,CAAC,QAAQ,KAAK;AACvB,SAASC,eAAe;AACxB,SAASC,iCAAiC;AAM1C,MAAMC,SAAmC,GAAGA,CAAC;EAAEC;AAAa,CAAC,KAAK;EAC9D,MAAMC,WAAW,GAAGH,iCAAiC,CAAC,CAAC;EACvDH,SAAS,CAAC,MAAM;IACZ,IAAIM,WAAW,EAAE;MACbA,WAAW,CAACD,YAAY,CAAC;IAC7B;EACJ,CAAC,EAAE,EAAE,CAAC;EACN,OAAO,IAAI;AACf,CAAC;AAED,OAAO,MAAME,sBAAsB,GAAGL,eAAe,CAAC;EAClDM,IAAI,EAAE,8BAA8B;EACpCC,IAAI,EAAE;IAAEC,cAAc,EAAE;EAAU,CAAC;EACnCC,WAAW,EAAE,6EAA6E;EAC1FC,YAAY,EAAEX,CAAC,CAACY,MAAM,CAAC;IACnBR,YAAY,EAAEJ,CAAC,CAACa,KAAK,CACjBb,CAAC,CAACc,MAAM,CAAC,CAAC,CAACC,WAAW,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;MACnC,IAAI,CAACD,KAAK,EAAE;QACRC,GAAG,CAACC,QAAQ,CAAC;UACTC,IAAI,EAAEnB,CAAC,CAACoB,YAAY,CAACC,MAAM;UAC3BC,OAAO,EAAE;QACb,CAAC,CAAC;QACF;MACJ;;MAEA;MACA,IAAI,CAAC,kBAAkB,CAACC,IAAI,CAACP,KAAK,CAAC,EAAE;QACjCC,GAAG,CAACC,QAAQ,CAAC;UACTC,IAAI,EAAEnB,CAAC,CAACoB,YAAY,CAACC,MAAM;UAC3BC,OAAO,EACH;QACR,CAAC,CAAC;MACN;IACJ,CAAC,CACL;EACJ,CAAC,CAAC;EACFE,MAAM,EAAEC,KAAK,iBAAI3B,KAAK,CAAC4B,aAAa,CAACvB,SAAS,EAAE;IAAEC,YAAY,EAAEqB,KAAK,CAACrB;EAAa,CAAC;AACxF,CAAC,CAAC","ignoreList":[]}
@@ -1,8 +1,4 @@
1
1
  import { z } from "zod";
2
2
  export declare const PulumiResourceNamePrefix: import("~/defineExtension/index.js").ExtensionComponent<z.ZodObject<{
3
3
  prefix: z.ZodString;
4
- }, "strip", z.ZodTypeAny, {
5
- prefix: string;
6
- }, {
7
- prefix: string;
8
- }>>;
4
+ }, z.core.$strip>>;
@@ -1,6 +1,3 @@
1
- export * from "./CorePulumi.js";
2
- export * from "./ApiPulumi.js";
3
- export * from "./AdminPulumi.js";
4
1
  export * from "./PulumiResourceNamePrefix.js";
5
2
  export * from "./ProductionEnvironments.js";
6
3
  export * from "./CoreStackOutputValue.js";
@@ -1,6 +1,3 @@
1
- export * from "./CorePulumi.js";
2
- export * from "./ApiPulumi.js";
3
- export * from "./AdminPulumi.js";
4
1
  export * from "./PulumiResourceNamePrefix.js";
5
2
  export * from "./ProductionEnvironments.js";
6
3
  export * from "./CoreStackOutputValue.js";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./CorePulumi.js\";\nexport * from \"./ApiPulumi.js\";\nexport * from \"./AdminPulumi.js\";\nexport * from \"./PulumiResourceNamePrefix.js\";\nexport * from \"./ProductionEnvironments.js\";\nexport * from \"./CoreStackOutputValue.js\";\nexport * from \"./ApiStackOutputValue.js\";\nexport * from \"./AdminStackOutputValue.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./PulumiResourceNamePrefix.js\";\nexport * from \"./ProductionEnvironments.js\";\nexport * from \"./CoreStackOutputValue.js\";\nexport * from \"./ApiStackOutputValue.js\";\nexport * from \"./AdminStackOutputValue.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import "tsx/esm";
2
- import { requireConfigWithExecute } from "./utils/requireConfig.js";
2
+ import { requireConfigWithExecute } from "../../../utils/index.js";
3
3
  import { serializeError } from "serialize-error";
4
4
  const sendError = err => {
5
5
  const response = {
@@ -1 +1 @@
1
- {"version":3,"names":["requireConfigWithExecute","serializeError","sendError","err","response","type","error","process","send","sendSuccess","on","reason","Error","String","workerData","JSON","parse","argv","package","pkg","env","variant","region","debug","options","cwd","paths","packageFolder","config","webinyConfigFile","hasBuild","commands","build"],"sources":["worker.ts"],"sourcesContent":["import \"tsx/esm\";\nimport { requireConfigWithExecute } from \"./utils/requireConfig.js\";\nimport { serializeError } from \"serialize-error\";\n\nconst sendError = (err: Error) => {\n const response = {\n type: \"error\",\n error: serializeError(err)\n };\n\n process.send!(response);\n};\n\nconst sendSuccess = () => {\n const response = {\n type: \"success\",\n error: null\n };\n\n process.send!(response);\n};\n\nprocess.on(\"uncaughtException\", err => {\n sendError(err);\n});\n\nprocess.on(\"unhandledRejection\", reason => {\n const err = reason instanceof Error ? reason : new Error(String(reason));\n sendError(err);\n});\n\nconst workerData = JSON.parse(process.argv[2]);\n\nconst { package: pkg, env, variant, region, debug } = workerData;\nconst options = {\n cwd: pkg.paths.packageFolder,\n env,\n variant,\n region,\n debug\n};\n\nconst config = await requireConfigWithExecute(pkg.paths.webinyConfigFile, {\n options\n});\n\nconst hasBuild = config.commands && typeof config.commands.build === \"function\";\nif (!hasBuild) {\n throw new Error(\"Build command not found.\");\n}\n\nawait config.commands.build(options);\n\nsendSuccess();\n"],"mappings":"AAAA,OAAO,SAAS;AAChB,SAASA,wBAAwB;AACjC,SAASC,cAAc,QAAQ,iBAAiB;AAEhD,MAAMC,SAAS,GAAIC,GAAU,IAAK;EAC9B,MAAMC,QAAQ,GAAG;IACbC,IAAI,EAAE,OAAO;IACbC,KAAK,EAAEL,cAAc,CAACE,GAAG;EAC7B,CAAC;EAEDI,OAAO,CAACC,IAAI,CAAEJ,QAAQ,CAAC;AAC3B,CAAC;AAED,MAAMK,WAAW,GAAGA,CAAA,KAAM;EACtB,MAAML,QAAQ,GAAG;IACbC,IAAI,EAAE,SAAS;IACfC,KAAK,EAAE;EACX,CAAC;EAEDC,OAAO,CAACC,IAAI,CAAEJ,QAAQ,CAAC;AAC3B,CAAC;AAEDG,OAAO,CAACG,EAAE,CAAC,mBAAmB,EAAEP,GAAG,IAAI;EACnCD,SAAS,CAACC,GAAG,CAAC;AAClB,CAAC,CAAC;AAEFI,OAAO,CAACG,EAAE,CAAC,oBAAoB,EAAEC,MAAM,IAAI;EACvC,MAAMR,GAAG,GAAGQ,MAAM,YAAYC,KAAK,GAAGD,MAAM,GAAG,IAAIC,KAAK,CAACC,MAAM,CAACF,MAAM,CAAC,CAAC;EACxET,SAAS,CAACC,GAAG,CAAC;AAClB,CAAC,CAAC;AAEF,MAAMW,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACT,OAAO,CAACU,IAAI,CAAC,CAAC,CAAC,CAAC;AAE9C,MAAM;EAAEC,OAAO,EAAEC,GAAG;EAAEC,GAAG;EAAEC,OAAO;EAAEC,MAAM;EAAEC;AAAM,CAAC,GAAGT,UAAU;AAChE,MAAMU,OAAO,GAAG;EACZC,GAAG,EAAEN,GAAG,CAACO,KAAK,CAACC,aAAa;EAC5BP,GAAG;EACHC,OAAO;EACPC,MAAM;EACNC;AACJ,CAAC;AAED,MAAMK,MAAM,GAAG,MAAM5B,wBAAwB,CAACmB,GAAG,CAACO,KAAK,CAACG,gBAAgB,EAAE;EACtEL;AACJ,CAAC,CAAC;AAEF,MAAMM,QAAQ,GAAGF,MAAM,CAACG,QAAQ,IAAI,OAAOH,MAAM,CAACG,QAAQ,CAACC,KAAK,KAAK,UAAU;AAC/E,IAAI,CAACF,QAAQ,EAAE;EACX,MAAM,IAAIlB,KAAK,CAAC,0BAA0B,CAAC;AAC/C;AAEA,MAAMgB,MAAM,CAACG,QAAQ,CAACC,KAAK,CAACR,OAAO,CAAC;AAEpCf,WAAW,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["requireConfigWithExecute","serializeError","sendError","err","response","type","error","process","send","sendSuccess","on","reason","Error","String","workerData","JSON","parse","argv","package","pkg","env","variant","region","debug","options","cwd","paths","packageFolder","config","webinyConfigFile","hasBuild","commands","build"],"sources":["worker.ts"],"sourcesContent":["import \"tsx/esm\";\nimport { requireConfigWithExecute } from \"~/utils/index.js\";\nimport { serializeError } from \"serialize-error\";\n\nconst sendError = (err: Error) => {\n const response = {\n type: \"error\",\n error: serializeError(err)\n };\n\n process.send!(response);\n};\n\nconst sendSuccess = () => {\n const response = {\n type: \"success\",\n error: null\n };\n\n process.send!(response);\n};\n\nprocess.on(\"uncaughtException\", err => {\n sendError(err);\n});\n\nprocess.on(\"unhandledRejection\", reason => {\n const err = reason instanceof Error ? reason : new Error(String(reason));\n sendError(err);\n});\n\nconst workerData = JSON.parse(process.argv[2]);\n\nconst { package: pkg, env, variant, region, debug } = workerData;\nconst options = {\n cwd: pkg.paths.packageFolder,\n env,\n variant,\n region,\n debug\n};\n\nconst config = await requireConfigWithExecute(pkg.paths.webinyConfigFile, {\n options\n});\n\nconst hasBuild = config.commands && typeof config.commands.build === \"function\";\nif (!hasBuild) {\n throw new Error(\"Build command not found.\");\n}\n\nawait config.commands.build(options);\n\nsendSuccess();\n"],"mappings":"AAAA,OAAO,SAAS;AAChB,SAASA,wBAAwB;AACjC,SAASC,cAAc,QAAQ,iBAAiB;AAEhD,MAAMC,SAAS,GAAIC,GAAU,IAAK;EAC9B,MAAMC,QAAQ,GAAG;IACbC,IAAI,EAAE,OAAO;IACbC,KAAK,EAAEL,cAAc,CAACE,GAAG;EAC7B,CAAC;EAEDI,OAAO,CAACC,IAAI,CAAEJ,QAAQ,CAAC;AAC3B,CAAC;AAED,MAAMK,WAAW,GAAGA,CAAA,KAAM;EACtB,MAAML,QAAQ,GAAG;IACbC,IAAI,EAAE,SAAS;IACfC,KAAK,EAAE;EACX,CAAC;EAEDC,OAAO,CAACC,IAAI,CAAEJ,QAAQ,CAAC;AAC3B,CAAC;AAEDG,OAAO,CAACG,EAAE,CAAC,mBAAmB,EAAEP,GAAG,IAAI;EACnCD,SAAS,CAACC,GAAG,CAAC;AAClB,CAAC,CAAC;AAEFI,OAAO,CAACG,EAAE,CAAC,oBAAoB,EAAEC,MAAM,IAAI;EACvC,MAAMR,GAAG,GAAGQ,MAAM,YAAYC,KAAK,GAAGD,MAAM,GAAG,IAAIC,KAAK,CAACC,MAAM,CAACF,MAAM,CAAC,CAAC;EACxET,SAAS,CAACC,GAAG,CAAC;AAClB,CAAC,CAAC;AAEF,MAAMW,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACT,OAAO,CAACU,IAAI,CAAC,CAAC,CAAC,CAAC;AAE9C,MAAM;EAAEC,OAAO,EAAEC,GAAG;EAAEC,GAAG;EAAEC,OAAO;EAAEC,MAAM;EAAEC;AAAM,CAAC,GAAGT,UAAU;AAChE,MAAMU,OAAO,GAAG;EACZC,GAAG,EAAEN,GAAG,CAACO,KAAK,CAACC,aAAa;EAC5BP,GAAG;EACHC,OAAO;EACPC,MAAM;EACNC;AACJ,CAAC;AAED,MAAMK,MAAM,GAAG,MAAM5B,wBAAwB,CAACmB,GAAG,CAACO,KAAK,CAACG,gBAAgB,EAAE;EACtEL;AACJ,CAAC,CAAC;AAEF,MAAMM,QAAQ,GAAGF,MAAM,CAACG,QAAQ,IAAI,OAAOH,MAAM,CAACG,QAAQ,CAACC,KAAK,KAAK,UAAU;AAC/E,IAAI,CAACF,QAAQ,EAAE;EACX,MAAM,IAAIlB,KAAK,CAAC,0BAA0B,CAAC;AAC/C;AAEA,MAAMgB,MAAM,CAACG,QAAQ,CAACC,KAAK,CAACR,OAAO,CAAC;AAEpCf,WAAW,CAAC,CAAC","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  import { FeatureFlags } from "@webiny/feature-flags";
2
- import { GetFeatureFlags } from "../../abstractions/index.js";
3
- import { GetProjectConfig } from "../../abstractions/index.js";
2
+ import { GetFeatureFlags, GetProjectConfig } from "../../abstractions/index.js";
4
3
  declare class DefaultGetFeatureFlags implements GetFeatureFlags.Interface {
5
4
  private getProjectConfig;
6
5
  constructor(getProjectConfig: GetProjectConfig.Interface);
@@ -1,7 +1,6 @@
1
1
  import { createImplementation } from "@webiny/di";
2
2
  import { FeatureFlags } from "@webiny/feature-flags";
3
- import { GetFeatureFlags } from "../../abstractions/index.js";
4
- import { GetProjectConfig } from "../../abstractions/index.js";
3
+ import { GetFeatureFlags, GetProjectConfig } from "../../abstractions/index.js";
5
4
  import { FeatureFlags as FeatureFlagsExtension } from "../../extensions/FeatureFlags.js";
6
5
  class DefaultGetFeatureFlags {
7
6
  constructor(getProjectConfig) {
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","FeatureFlags","GetFeatureFlags","GetProjectConfig","FeatureFlagsExtension","DefaultGetFeatureFlags","constructor","getProjectConfig","execute","projectConfig","tags","runtimeContext","extensions","extensionsByType","length","fromDto","params","features","getFeatureFlags","abstraction","implementation","dependencies"],"sources":["GetFeatureFlags.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { FeatureFlags } from \"@webiny/feature-flags\";\nimport { GetFeatureFlags } from \"~/abstractions/index.js\";\nimport { GetProjectConfig } from \"~/abstractions/index.js\";\nimport { FeatureFlags as FeatureFlagsExtension } from \"~/extensions/FeatureFlags.js\";\n\nclass DefaultGetFeatureFlags implements GetFeatureFlags.Interface {\n constructor(private getProjectConfig: GetProjectConfig.Interface) {}\n\n async execute(): Promise<FeatureFlags> {\n const projectConfig = await this.getProjectConfig.execute({\n tags: { runtimeContext: \"project\" }\n });\n\n const extensions = projectConfig.extensionsByType(FeatureFlagsExtension);\n\n if (extensions.length === 0) {\n return new FeatureFlags({});\n }\n\n return FeatureFlags.fromDto(extensions[0].params.features);\n }\n}\n\nexport const getFeatureFlags = createImplementation({\n abstraction: GetFeatureFlags,\n implementation: DefaultGetFeatureFlags,\n dependencies: [GetProjectConfig]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,YAAY;AACjD,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,eAAe;AACxB,SAASC,gBAAgB;AACzB,SAASF,YAAY,IAAIG,qBAAqB;AAE9C,MAAMC,sBAAsB,CAAsC;EAC9DC,WAAWA,CAASC,gBAA4C,EAAE;IAAA,KAA9CA,gBAA4C,GAA5CA,gBAA4C;EAAG;EAEnE,MAAMC,OAAOA,CAAA,EAA0B;IACnC,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACF,gBAAgB,CAACC,OAAO,CAAC;MACtDE,IAAI,EAAE;QAAEC,cAAc,EAAE;MAAU;IACtC,CAAC,CAAC;IAEF,MAAMC,UAAU,GAAGH,aAAa,CAACI,gBAAgB,CAACT,qBAAqB,CAAC;IAExE,IAAIQ,UAAU,CAACE,MAAM,KAAK,CAAC,EAAE;MACzB,OAAO,IAAIb,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/B;IAEA,OAAOA,YAAY,CAACc,OAAO,CAACH,UAAU,CAAC,CAAC,CAAC,CAACI,MAAM,CAACC,QAAQ,CAAC;EAC9D;AACJ;AAEA,OAAO,MAAMC,eAAe,GAAGlB,oBAAoB,CAAC;EAChDmB,WAAW,EAAEjB,eAAe;EAC5BkB,cAAc,EAAEf,sBAAsB;EACtCgB,YAAY,EAAE,CAAClB,gBAAgB;AACnC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createImplementation","FeatureFlags","GetFeatureFlags","GetProjectConfig","FeatureFlagsExtension","DefaultGetFeatureFlags","constructor","getProjectConfig","execute","projectConfig","tags","runtimeContext","extensions","extensionsByType","length","fromDto","params","features","getFeatureFlags","abstraction","implementation","dependencies"],"sources":["GetFeatureFlags.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { FeatureFlags } from \"@webiny/feature-flags\";\nimport { GetFeatureFlags, GetProjectConfig } from \"~/abstractions/index.js\";\nimport { FeatureFlags as FeatureFlagsExtension } from \"~/extensions/FeatureFlags.js\";\n\nclass DefaultGetFeatureFlags implements GetFeatureFlags.Interface {\n constructor(private getProjectConfig: GetProjectConfig.Interface) {}\n\n async execute(): Promise<FeatureFlags> {\n const projectConfig = await this.getProjectConfig.execute({\n tags: { runtimeContext: \"project\" }\n });\n\n const extensions = projectConfig.extensionsByType(FeatureFlagsExtension);\n\n if (extensions.length === 0) {\n return new FeatureFlags({});\n }\n\n return FeatureFlags.fromDto(extensions[0].params.features);\n }\n}\n\nexport const getFeatureFlags = createImplementation({\n abstraction: GetFeatureFlags,\n implementation: DefaultGetFeatureFlags,\n dependencies: [GetProjectConfig]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,YAAY;AACjD,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,eAAe,EAAEC,gBAAgB;AAC1C,SAASF,YAAY,IAAIG,qBAAqB;AAE9C,MAAMC,sBAAsB,CAAsC;EAC9DC,WAAWA,CAASC,gBAA4C,EAAE;IAAA,KAA9CA,gBAA4C,GAA5CA,gBAA4C;EAAG;EAEnE,MAAMC,OAAOA,CAAA,EAA0B;IACnC,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACF,gBAAgB,CAACC,OAAO,CAAC;MACtDE,IAAI,EAAE;QAAEC,cAAc,EAAE;MAAU;IACtC,CAAC,CAAC;IAEF,MAAMC,UAAU,GAAGH,aAAa,CAACI,gBAAgB,CAACT,qBAAqB,CAAC;IAExE,IAAIQ,UAAU,CAACE,MAAM,KAAK,CAAC,EAAE;MACzB,OAAO,IAAIb,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/B;IAEA,OAAOA,YAAY,CAACc,OAAO,CAACH,UAAU,CAAC,CAAC,CAAC,CAACI,MAAM,CAACC,QAAQ,CAAC;EAC9D;AACJ;AAEA,OAAO,MAAMC,eAAe,GAAGlB,oBAAoB,CAAC;EAChDmB,WAAW,EAAEjB,eAAe;EAC5BkB,cAAc,EAAEf,sBAAsB;EACtCgB,YAAY,EAAE,CAAClB,gBAAgB;AACnC,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import mqtt from "mqtt";
2
- import { type ListAppLambdaFunctionsService } from "../../abstractions/index.js";
2
+ import type { ListAppLambdaFunctionsService } from "../../abstractions/index.js";
3
3
  export interface IInitInvocationForwardingParams {
4
4
  iotEndpoint: string;
5
5
  iotEndpointTopic: string;
@@ -1,6 +1,6 @@
1
1
  import path from "path";
2
2
  import { Worker } from "worker_threads";
3
- import { compress, decompress } from "@webiny/utils/compression/gzip.js";
3
+ import { compress, decompress } from "@webiny/utils/features/compression/legacy/gzip.js";
4
4
  import mqtt from "mqtt";
5
5
  const WEBINY_WATCH_FN_INVOCATION_EVENT = "webiny.watch.functionInvocation";
6
6
  const WEBINY_WATCH_FN_INVOCATION_RESULT_EVENT = "webiny.watch.functionInvocationResult";
@@ -1 +1 @@
1
- {"version":3,"names":["path","Worker","compress","decompress","mqtt","WEBINY_WATCH_FN_INVOCATION_EVENT","WEBINY_WATCH_FN_INVOCATION_RESULT_EVENT","WEBINY_WATCH_FN_INVOCATION_HANDSHAKE_EVENT","WATCH_WORKER_PATH","join","import","meta","dirname","jsonStringifyAndCompress","input","jsonStringInput","JSON","stringify","decompressAndJsonParse","inputBuffer","Buffer","from","jsonStringResult","value","toString","parse","initInvocationForwarding","iotEndpoint","iotEndpointTopic","sessionId","functionsList","client","connectAsync","subscribeAsync","on","_","message","payload","eventType","data","publish","eventId","Date","getTime","originalEventId","compressedResult","compressedError","invokedLambdaFunction","list","find","lambdaFunction","name","functionName","Error","result","Promise","resolve","reject","worker","env","WEBINY_WATCH_LOCAL_INVOCATION","workerData","handler","args","compressedArgs","default","exitHook","unsubscribeExitHook","terminate","success","error","console","log","stack"],"sources":["initInvocationForwarding.ts"],"sourcesContent":["import path from \"path\";\nimport { Worker } from \"worker_threads\";\nimport { compress, decompress } from \"@webiny/utils/compression/gzip.js\";\nimport mqtt from \"mqtt\";\nimport { type ListAppLambdaFunctionsService } from \"~/abstractions/index.js\";\n\nconst WEBINY_WATCH_FN_INVOCATION_EVENT = \"webiny.watch.functionInvocation\";\nconst WEBINY_WATCH_FN_INVOCATION_RESULT_EVENT = \"webiny.watch.functionInvocationResult\";\nconst WEBINY_WATCH_FN_INVOCATION_HANDSHAKE_EVENT = \"webiny.watch.functionInvocationHandshake\";\n\nconst WATCH_WORKER_PATH = path.join(import.meta.dirname, \"localInvocationWorker.js\");\n\nconst jsonStringifyAndCompress = (input: Record<string, any>): Promise<Buffer> => {\n const jsonStringInput = JSON.stringify(input);\n return compress(jsonStringInput);\n};\n\nconst decompressAndJsonParse = async (input: string) => {\n const inputBuffer = Buffer.from(input);\n const jsonStringResult = await decompress(inputBuffer);\n\n const value = jsonStringResult?.toString\n ? jsonStringResult.toString(\"utf-8\")\n : (jsonStringResult as unknown as string);\n\n return JSON.parse(value);\n};\n\nexport interface IInitInvocationForwardingParams {\n iotEndpoint: string;\n iotEndpointTopic: string;\n sessionId: number;\n functionsList: ListAppLambdaFunctionsService.Result;\n}\n\nexport const initInvocationForwarding = async ({\n iotEndpoint,\n iotEndpointTopic,\n sessionId,\n functionsList\n}: IInitInvocationForwardingParams) => {\n const client = await mqtt.connectAsync(iotEndpoint);\n\n await client.subscribeAsync(iotEndpointTopic);\n\n client.on(\"message\", async (_, message) => {\n const payload = JSON.parse(message.toString());\n\n if (payload.eventType !== WEBINY_WATCH_FN_INVOCATION_EVENT) {\n return;\n }\n\n if (payload.data.sessionId !== sessionId) {\n return;\n }\n\n await client.publish(\n iotEndpointTopic,\n JSON.stringify({\n eventType: WEBINY_WATCH_FN_INVOCATION_HANDSHAKE_EVENT,\n eventId: new Date().getTime(),\n data: {\n originalEventId: payload.eventId,\n compressedResult: null,\n compressedError: null\n }\n })\n );\n\n const invokedLambdaFunction = functionsList.list.find(\n lambdaFunction => lambdaFunction.name === payload.data.functionName\n );\n if (!invokedLambdaFunction) {\n throw new Error(`Lambda function \"${payload.data.functionName}\" not found.`);\n }\n\n try {\n const result = await new Promise<Record<string, any>>(async (resolve, reject) => {\n const worker = new Worker(WATCH_WORKER_PATH, {\n env: { ...payload.data.env, WEBINY_WATCH_LOCAL_INVOCATION: \"1\" },\n workerData: {\n handler: {\n path: invokedLambdaFunction.path,\n args: await decompressAndJsonParse(payload.data.compressedArgs)\n }\n }\n });\n\n const { default: exitHook } = await import(\n /* webpackChunkName: \"exit-hook\" */ \"exit-hook\"\n );\n\n const unsubscribeExitHook = exitHook(async () => {\n await worker.terminate();\n });\n\n worker.on(\"message\", message => {\n unsubscribeExitHook();\n\n const { success, result, error } = JSON.parse(message);\n if (success) {\n resolve(result);\n } else {\n reject(error);\n }\n });\n });\n\n await client.publish(\n iotEndpointTopic,\n JSON.stringify({\n eventType: WEBINY_WATCH_FN_INVOCATION_RESULT_EVENT,\n eventId: new Date().getTime(),\n data: {\n originalEventId: payload.eventId,\n compressedResult: await jsonStringifyAndCompress(result),\n compressedError: null\n }\n })\n );\n } catch (error) {\n console.log(error);\n await client.publish(\n iotEndpointTopic,\n JSON.stringify({\n eventType: WEBINY_WATCH_FN_INVOCATION_RESULT_EVENT,\n eventId: new Date().getTime(),\n data: {\n originalEventId: payload.eventId,\n compressedResult: null,\n compressedError: await jsonStringifyAndCompress({\n message: error.message,\n stack: error.stack\n })\n }\n })\n );\n }\n });\n\n return client;\n};\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,SAASC,MAAM,QAAQ,gBAAgB;AACvC,SAASC,QAAQ,EAAEC,UAAU,QAAQ,mCAAmC;AACxE,OAAOC,IAAI,MAAM,MAAM;AAGvB,MAAMC,gCAAgC,GAAG,iCAAiC;AAC1E,MAAMC,uCAAuC,GAAG,uCAAuC;AACvF,MAAMC,0CAA0C,GAAG,0CAA0C;AAE7F,MAAMC,iBAAiB,GAAGR,IAAI,CAACS,IAAI,CAACC,MAAM,CAACC,IAAI,CAACC,OAAO,EAAE,0BAA0B,CAAC;AAEpF,MAAMC,wBAAwB,GAAIC,KAA0B,IAAsB;EAC9E,MAAMC,eAAe,GAAGC,IAAI,CAACC,SAAS,CAACH,KAAK,CAAC;EAC7C,OAAOZ,QAAQ,CAACa,eAAe,CAAC;AACpC,CAAC;AAED,MAAMG,sBAAsB,GAAG,MAAOJ,KAAa,IAAK;EACpD,MAAMK,WAAW,GAAGC,MAAM,CAACC,IAAI,CAACP,KAAK,CAAC;EACtC,MAAMQ,gBAAgB,GAAG,MAAMnB,UAAU,CAACgB,WAAW,CAAC;EAEtD,MAAMI,KAAK,GAAGD,gBAAgB,EAAEE,QAAQ,GAClCF,gBAAgB,CAACE,QAAQ,CAAC,OAAO,CAAC,GACjCF,gBAAsC;EAE7C,OAAON,IAAI,CAACS,KAAK,CAACF,KAAK,CAAC;AAC5B,CAAC;AASD,OAAO,MAAMG,wBAAwB,GAAG,MAAAA,CAAO;EAC3CC,WAAW;EACXC,gBAAgB;EAChBC,SAAS;EACTC;AAC6B,CAAC,KAAK;EACnC,MAAMC,MAAM,GAAG,MAAM3B,IAAI,CAAC4B,YAAY,CAACL,WAAW,CAAC;EAEnD,MAAMI,MAAM,CAACE,cAAc,CAACL,gBAAgB,CAAC;EAE7CG,MAAM,CAACG,EAAE,CAAC,SAAS,EAAE,OAAOC,CAAC,EAAEC,OAAO,KAAK;IACvC,MAAMC,OAAO,GAAGrB,IAAI,CAACS,KAAK,CAACW,OAAO,CAACZ,QAAQ,CAAC,CAAC,CAAC;IAE9C,IAAIa,OAAO,CAACC,SAAS,KAAKjC,gCAAgC,EAAE;MACxD;IACJ;IAEA,IAAIgC,OAAO,CAACE,IAAI,CAACV,SAAS,KAAKA,SAAS,EAAE;MACtC;IACJ;IAEA,MAAME,MAAM,CAACS,OAAO,CAChBZ,gBAAgB,EAChBZ,IAAI,CAACC,SAAS,CAAC;MACXqB,SAAS,EAAE/B,0CAA0C;MACrDkC,OAAO,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;MAC7BJ,IAAI,EAAE;QACFK,eAAe,EAAEP,OAAO,CAACI,OAAO;QAChCI,gBAAgB,EAAE,IAAI;QACtBC,eAAe,EAAE;MACrB;IACJ,CAAC,CACL,CAAC;IAED,MAAMC,qBAAqB,GAAGjB,aAAa,CAACkB,IAAI,CAACC,IAAI,CACjDC,cAAc,IAAIA,cAAc,CAACC,IAAI,KAAKd,OAAO,CAACE,IAAI,CAACa,YAC3D,CAAC;IACD,IAAI,CAACL,qBAAqB,EAAE;MACxB,MAAM,IAAIM,KAAK,CAAC,oBAAoBhB,OAAO,CAACE,IAAI,CAACa,YAAY,cAAc,CAAC;IAChF;IAEA,IAAI;MACA,MAAME,MAAM,GAAG,MAAM,IAAIC,OAAO,CAAsB,OAAOC,OAAO,EAAEC,MAAM,KAAK;QAC7E,MAAMC,MAAM,GAAG,IAAIzD,MAAM,CAACO,iBAAiB,EAAE;UACzCmD,GAAG,EAAE;YAAE,GAAGtB,OAAO,CAACE,IAAI,CAACoB,GAAG;YAAEC,6BAA6B,EAAE;UAAI,CAAC;UAChEC,UAAU,EAAE;YACRC,OAAO,EAAE;cACL9D,IAAI,EAAE+C,qBAAqB,CAAC/C,IAAI;cAChC+D,IAAI,EAAE,MAAM7C,sBAAsB,CAACmB,OAAO,CAACE,IAAI,CAACyB,cAAc;YAClE;UACJ;QACJ,CAAC,CAAC;QAEF,MAAM;UAAEC,OAAO,EAAEC;QAAS,CAAC,GAAG,MAAM,MAAM,CACtC,mCAAoC,WACxC,CAAC;QAED,MAAMC,mBAAmB,GAAGD,QAAQ,CAAC,YAAY;UAC7C,MAAMR,MAAM,CAACU,SAAS,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEFV,MAAM,CAACxB,EAAE,CAAC,SAAS,EAAEE,OAAO,IAAI;UAC5B+B,mBAAmB,CAAC,CAAC;UAErB,MAAM;YAAEE,OAAO;YAAEf,MAAM;YAAEgB;UAAM,CAAC,GAAGtD,IAAI,CAACS,KAAK,CAACW,OAAO,CAAC;UACtD,IAAIiC,OAAO,EAAE;YACTb,OAAO,CAACF,MAAM,CAAC;UACnB,CAAC,MAAM;YACHG,MAAM,CAACa,KAAK,CAAC;UACjB;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;MAEF,MAAMvC,MAAM,CAACS,OAAO,CAChBZ,gBAAgB,EAChBZ,IAAI,CAACC,SAAS,CAAC;QACXqB,SAAS,EAAEhC,uCAAuC;QAClDmC,OAAO,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;QAC7BJ,IAAI,EAAE;UACFK,eAAe,EAAEP,OAAO,CAACI,OAAO;UAChCI,gBAAgB,EAAE,MAAMhC,wBAAwB,CAACyC,MAAM,CAAC;UACxDR,eAAe,EAAE;QACrB;MACJ,CAAC,CACL,CAAC;IACL,CAAC,CAAC,OAAOwB,KAAK,EAAE;MACZC,OAAO,CAACC,GAAG,CAACF,KAAK,CAAC;MAClB,MAAMvC,MAAM,CAACS,OAAO,CAChBZ,gBAAgB,EAChBZ,IAAI,CAACC,SAAS,CAAC;QACXqB,SAAS,EAAEhC,uCAAuC;QAClDmC,OAAO,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;QAC7BJ,IAAI,EAAE;UACFK,eAAe,EAAEP,OAAO,CAACI,OAAO;UAChCI,gBAAgB,EAAE,IAAI;UACtBC,eAAe,EAAE,MAAMjC,wBAAwB,CAAC;YAC5CuB,OAAO,EAAEkC,KAAK,CAAClC,OAAO;YACtBqC,KAAK,EAAEH,KAAK,CAACG;UACjB,CAAC;QACL;MACJ,CAAC,CACL,CAAC;IACL;EACJ,CAAC,CAAC;EAEF,OAAO1C,MAAM;AACjB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["path","Worker","compress","decompress","mqtt","WEBINY_WATCH_FN_INVOCATION_EVENT","WEBINY_WATCH_FN_INVOCATION_RESULT_EVENT","WEBINY_WATCH_FN_INVOCATION_HANDSHAKE_EVENT","WATCH_WORKER_PATH","join","import","meta","dirname","jsonStringifyAndCompress","input","jsonStringInput","JSON","stringify","decompressAndJsonParse","inputBuffer","Buffer","from","jsonStringResult","value","toString","parse","initInvocationForwarding","iotEndpoint","iotEndpointTopic","sessionId","functionsList","client","connectAsync","subscribeAsync","on","_","message","payload","eventType","data","publish","eventId","Date","getTime","originalEventId","compressedResult","compressedError","invokedLambdaFunction","list","find","lambdaFunction","name","functionName","Error","result","Promise","resolve","reject","worker","env","WEBINY_WATCH_LOCAL_INVOCATION","workerData","handler","args","compressedArgs","default","exitHook","unsubscribeExitHook","terminate","success","error","console","log","stack"],"sources":["initInvocationForwarding.ts"],"sourcesContent":["import path from \"path\";\nimport { Worker } from \"worker_threads\";\nimport { compress, decompress } from \"@webiny/utils/features/compression/legacy/gzip.js\";\nimport mqtt from \"mqtt\";\nimport type { ListAppLambdaFunctionsService } from \"~/abstractions/index.js\";\n\nconst WEBINY_WATCH_FN_INVOCATION_EVENT = \"webiny.watch.functionInvocation\";\nconst WEBINY_WATCH_FN_INVOCATION_RESULT_EVENT = \"webiny.watch.functionInvocationResult\";\nconst WEBINY_WATCH_FN_INVOCATION_HANDSHAKE_EVENT = \"webiny.watch.functionInvocationHandshake\";\n\nconst WATCH_WORKER_PATH = path.join(import.meta.dirname, \"localInvocationWorker.js\");\n\nconst jsonStringifyAndCompress = (input: Record<string, any>): Promise<Buffer> => {\n const jsonStringInput = JSON.stringify(input);\n return compress(jsonStringInput);\n};\n\nconst decompressAndJsonParse = async (input: string) => {\n const inputBuffer = Buffer.from(input);\n const jsonStringResult = await decompress(inputBuffer);\n\n const value = jsonStringResult?.toString\n ? jsonStringResult.toString(\"utf-8\")\n : (jsonStringResult as unknown as string);\n\n return JSON.parse(value);\n};\n\nexport interface IInitInvocationForwardingParams {\n iotEndpoint: string;\n iotEndpointTopic: string;\n sessionId: number;\n functionsList: ListAppLambdaFunctionsService.Result;\n}\n\nexport const initInvocationForwarding = async ({\n iotEndpoint,\n iotEndpointTopic,\n sessionId,\n functionsList\n}: IInitInvocationForwardingParams) => {\n const client = await mqtt.connectAsync(iotEndpoint);\n\n await client.subscribeAsync(iotEndpointTopic);\n\n client.on(\"message\", async (_, message) => {\n const payload = JSON.parse(message.toString());\n\n if (payload.eventType !== WEBINY_WATCH_FN_INVOCATION_EVENT) {\n return;\n }\n\n if (payload.data.sessionId !== sessionId) {\n return;\n }\n\n await client.publish(\n iotEndpointTopic,\n JSON.stringify({\n eventType: WEBINY_WATCH_FN_INVOCATION_HANDSHAKE_EVENT,\n eventId: new Date().getTime(),\n data: {\n originalEventId: payload.eventId,\n compressedResult: null,\n compressedError: null\n }\n })\n );\n\n const invokedLambdaFunction = functionsList.list.find(\n lambdaFunction => lambdaFunction.name === payload.data.functionName\n );\n if (!invokedLambdaFunction) {\n throw new Error(`Lambda function \"${payload.data.functionName}\" not found.`);\n }\n\n try {\n const result = await new Promise<Record<string, any>>(async (resolve, reject) => {\n const worker = new Worker(WATCH_WORKER_PATH, {\n env: { ...payload.data.env, WEBINY_WATCH_LOCAL_INVOCATION: \"1\" },\n workerData: {\n handler: {\n path: invokedLambdaFunction.path,\n args: await decompressAndJsonParse(payload.data.compressedArgs)\n }\n }\n });\n\n const { default: exitHook } = await import(\n /* webpackChunkName: \"exit-hook\" */ \"exit-hook\"\n );\n\n const unsubscribeExitHook = exitHook(async () => {\n await worker.terminate();\n });\n\n worker.on(\"message\", message => {\n unsubscribeExitHook();\n\n const { success, result, error } = JSON.parse(message);\n if (success) {\n resolve(result);\n } else {\n reject(error);\n }\n });\n });\n\n await client.publish(\n iotEndpointTopic,\n JSON.stringify({\n eventType: WEBINY_WATCH_FN_INVOCATION_RESULT_EVENT,\n eventId: new Date().getTime(),\n data: {\n originalEventId: payload.eventId,\n compressedResult: await jsonStringifyAndCompress(result),\n compressedError: null\n }\n })\n );\n } catch (error) {\n console.log(error);\n await client.publish(\n iotEndpointTopic,\n JSON.stringify({\n eventType: WEBINY_WATCH_FN_INVOCATION_RESULT_EVENT,\n eventId: new Date().getTime(),\n data: {\n originalEventId: payload.eventId,\n compressedResult: null,\n compressedError: await jsonStringifyAndCompress({\n message: error.message,\n stack: error.stack\n })\n }\n })\n );\n }\n });\n\n return client;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,15 @@
1
1
  import { parentPort, workerData } from "worker_threads";
2
+ import { pathToFileURL } from "node:url";
3
+ import path from "node:path";
2
4
  const {
3
5
  handler: handlerParams
4
6
  } = workerData;
5
7
  try {
8
+ const handlerPath = handlerParams.path;
9
+ const importSpecifier = path.isAbsolute(handlerPath) ? pathToFileURL(handlerPath).href : handlerPath;
6
10
  const {
7
11
  handler
8
- } = await import(handlerParams.path);
12
+ } = await import(importSpecifier);
9
13
  const result = await handler(...handlerParams.args);
10
14
  parentPort.postMessage(JSON.stringify({
11
15
  success: true,
@@ -1 +1 @@
1
- {"version":3,"names":["parentPort","workerData","handler","handlerParams","path","result","args","postMessage","JSON","stringify","success","error","message","code","data","stack","process","exit"],"sources":["localInvocationWorker.ts"],"sourcesContent":["import { parentPort, workerData } from \"worker_threads\";\n\nconst { handler: handlerParams } = workerData;\n\ntry {\n const { handler } = await import(handlerParams.path);\n\n const result = await handler(...handlerParams.args);\n parentPort!.postMessage(JSON.stringify({ success: true, result, error: null }));\n} catch (error) {\n const { message, code, data, stack } = error;\n\n parentPort!.postMessage(\n JSON.stringify({\n success: false,\n result: null,\n error: { message, code, data, stack }\n })\n );\n} finally {\n process.exit(0);\n}\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,UAAU,QAAQ,gBAAgB;AAEvD,MAAM;EAAEC,OAAO,EAAEC;AAAc,CAAC,GAAGF,UAAU;AAE7C,IAAI;EACA,MAAM;IAAEC;EAAQ,CAAC,GAAG,MAAM,MAAM,CAACC,aAAa,CAACC,IAAI,CAAC;EAEpD,MAAMC,MAAM,GAAG,MAAMH,OAAO,CAAC,GAAGC,aAAa,CAACG,IAAI,CAAC;EACnDN,UAAU,CAAEO,WAAW,CAACC,IAAI,CAACC,SAAS,CAAC;IAAEC,OAAO,EAAE,IAAI;IAAEL,MAAM;IAAEM,KAAK,EAAE;EAAK,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC,OAAOA,KAAK,EAAE;EACZ,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAGJ,KAAK;EAE5CX,UAAU,CAAEO,WAAW,CACnBC,IAAI,CAACC,SAAS,CAAC;IACXC,OAAO,EAAE,KAAK;IACdL,MAAM,EAAE,IAAI;IACZM,KAAK,EAAE;MAAEC,OAAO;MAAEC,IAAI;MAAEC,IAAI;MAAEC;IAAM;EACxC,CAAC,CACL,CAAC;AACL,CAAC,SAAS;EACNC,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;AACnB","ignoreList":[]}
1
+ {"version":3,"names":["parentPort","workerData","pathToFileURL","path","handler","handlerParams","handlerPath","importSpecifier","isAbsolute","href","result","args","postMessage","JSON","stringify","success","error","message","code","data","stack","process","exit"],"sources":["localInvocationWorker.ts"],"sourcesContent":["import { parentPort, workerData } from \"worker_threads\";\nimport { pathToFileURL } from \"node:url\";\nimport path from \"node:path\";\n\nconst { handler: handlerParams } = workerData;\n\ntry {\n const handlerPath = handlerParams.path;\n const importSpecifier = path.isAbsolute(handlerPath)\n ? pathToFileURL(handlerPath).href\n : handlerPath;\n const { handler } = await import(importSpecifier);\n\n const result = await handler(...handlerParams.args);\n parentPort!.postMessage(JSON.stringify({ success: true, result, error: null }));\n} catch (error) {\n const { message, code, data, stack } = error;\n\n parentPort!.postMessage(\n JSON.stringify({\n success: false,\n result: null,\n error: { message, code, data, stack }\n })\n );\n} finally {\n process.exit(0);\n}\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,UAAU,QAAQ,gBAAgB;AACvD,SAASC,aAAa,QAAQ,UAAU;AACxC,OAAOC,IAAI,MAAM,WAAW;AAE5B,MAAM;EAAEC,OAAO,EAAEC;AAAc,CAAC,GAAGJ,UAAU;AAE7C,IAAI;EACA,MAAMK,WAAW,GAAGD,aAAa,CAACF,IAAI;EACtC,MAAMI,eAAe,GAAGJ,IAAI,CAACK,UAAU,CAACF,WAAW,CAAC,GAC9CJ,aAAa,CAACI,WAAW,CAAC,CAACG,IAAI,GAC/BH,WAAW;EACjB,MAAM;IAAEF;EAAQ,CAAC,GAAG,MAAM,MAAM,CAACG,eAAe,CAAC;EAEjD,MAAMG,MAAM,GAAG,MAAMN,OAAO,CAAC,GAAGC,aAAa,CAACM,IAAI,CAAC;EACnDX,UAAU,CAAEY,WAAW,CAACC,IAAI,CAACC,SAAS,CAAC;IAAEC,OAAO,EAAE,IAAI;IAAEL,MAAM;IAAEM,KAAK,EAAE;EAAK,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC,OAAOA,KAAK,EAAE;EACZ,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAGJ,KAAK;EAE5ChB,UAAU,CAAEY,WAAW,CACnBC,IAAI,CAACC,SAAS,CAAC;IACXC,OAAO,EAAE,KAAK;IACdL,MAAM,EAAE,IAAI;IACZM,KAAK,EAAE;MAAEC,OAAO;MAAEC,IAAI;MAAEC,IAAI;MAAEC;IAAM;EACxC,CAAC,CACL,CAAC;AACL,CAAC,SAAS;EACNC,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;AACnB","ignoreList":[]}
@@ -1,5 +1,4 @@
1
1
  export * from "./hooks/index.js";
2
- export * from "./pulumi/index.js";
3
2
  export * from "./BuildApp/index.js";
4
3
  export * from "./DeployApp/index.js";
5
4
  export * from "./DestroyApp/index.js";
package/features/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from "./hooks/index.js";
2
- export * from "./pulumi/index.js";
3
2
  export * from "./BuildApp/index.js";
4
3
  export * from "./DeployApp/index.js";
5
4
  export * from "./DestroyApp/index.js";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./hooks/index.js\";\nexport * from \"./pulumi/index.js\";\nexport * from \"./BuildApp/index.js\";\nexport * from \"./DeployApp/index.js\";\nexport * from \"./DestroyApp/index.js\";\nexport * from \"./ExportStack/index.js\";\nexport * from \"./GetApp/index.js\";\nexport * from \"./GetAppOutput/index.js\";\nexport * from \"./GetAppStackOutput/index.js\";\nexport * from \"./GetLogger/index.js\";\nexport * from \"./GetProductionEnvironments/index.js\";\nexport * from \"./GetProject/index.js\";\nexport * from \"./GetProjectConfig/index.js\";\nexport * from \"./GetProjectInfo/index.js\";\nexport * from \"./GetPulumiResourceNamePrefix/index.js\";\nexport * from \"./InstallExtension/index.js\";\nexport * from \"./IsCi/index.js\";\nexport * from \"./IsTelemetryEnabled/index.js\";\nexport * from \"./IsWcpEnabled/index.js\";\nexport * from \"./IsWebinyJsRepo/index.js\";\nexport * from \"./RefreshApp/index.js\";\nexport * from \"./RunPulumiCommand/index.js\";\nexport * from \"./ValidateProjectConfig/index.js\";\nexport * from \"./Watch/index.js\";\nexport * from \"./GetFeatureFlags/index.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./hooks/index.js\";\nexport * from \"./BuildApp/index.js\";\nexport * from \"./DeployApp/index.js\";\nexport * from \"./DestroyApp/index.js\";\nexport * from \"./ExportStack/index.js\";\nexport * from \"./GetApp/index.js\";\nexport * from \"./GetAppOutput/index.js\";\nexport * from \"./GetAppStackOutput/index.js\";\nexport * from \"./GetLogger/index.js\";\nexport * from \"./GetProductionEnvironments/index.js\";\nexport * from \"./GetProject/index.js\";\nexport * from \"./GetProjectConfig/index.js\";\nexport * from \"./GetProjectInfo/index.js\";\nexport * from \"./GetPulumiResourceNamePrefix/index.js\";\nexport * from \"./InstallExtension/index.js\";\nexport * from \"./IsCi/index.js\";\nexport * from \"./IsTelemetryEnabled/index.js\";\nexport * from \"./IsWcpEnabled/index.js\";\nexport * from \"./IsWebinyJsRepo/index.js\";\nexport * from \"./RefreshApp/index.js\";\nexport * from \"./RunPulumiCommand/index.js\";\nexport * from \"./ValidateProjectConfig/index.js\";\nexport * from \"./Watch/index.js\";\nexport * from \"./GetFeatureFlags/index.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
package/index.d.ts CHANGED
@@ -11,5 +11,6 @@ export { PackageJson } from "@webiny/build-tools/utils/PackageJson.js";
11
11
  export { createPathResolver } from "./utils/createPathResolver.js";
12
12
  export { ExtensionSrcResolver } from "./utils/ExtensionSrcResolver.js";
13
13
  export { GracefulError } from "./GracefulError.js";
14
+ export { toImportSpecifier } from "./utils/toImportSpecifier.js";
14
15
  export { Wcp } from "./components/Wcp.js";
15
16
  export { WcpProjectLicenseProvider, useWcpProjectLicense } from "./services/GetProjectConfigService/WcpProjectLicenseContext.js";
package/index.js CHANGED
@@ -14,6 +14,7 @@ export { PackageJson } from "@webiny/build-tools/utils/PackageJson.js";
14
14
  export { createPathResolver } from "./utils/createPathResolver.js";
15
15
  export { ExtensionSrcResolver } from "./utils/ExtensionSrcResolver.js";
16
16
  export { GracefulError } from "./GracefulError.js";
17
+ export { toImportSpecifier } from "./utils/toImportSpecifier.js";
17
18
  export { Wcp } from "./components/Wcp.js";
18
19
  export { WcpProjectLicenseProvider, useWcpProjectLicense } from "./services/GetProjectConfigService/WcpProjectLicenseContext.js";
19
20
 
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["ProjectSdk","getProjectSdk","params","init","getStackOutput","appName","sdk","getAppStackOutput","PackageJson","createPathResolver","ExtensionSrcResolver","GracefulError","Wcp","WcpProjectLicenseProvider","useWcpProjectLicense"],"sources":["index.ts"],"sourcesContent":["import { ProjectSdk } from \"./ProjectSdk.js\";\nimport { type GetAppStackOutput } from \"~/abstractions/index.js\";\nimport { type AppName } from \"~/abstractions/types.js\";\n\nexport const getProjectSdk = (...params: Parameters<(typeof ProjectSdk)[\"init\"]>) => {\n return ProjectSdk.init(...params);\n};\n\n// A temporary convenience function to get the stack output for a specific app. We might revisit this in the\n// future and double check if there's a better way to expose this functionality.\nexport const getStackOutput = async <\n TOutput extends GetAppStackOutput.StackOutput = GetAppStackOutput.StackOutput\n>(\n appName: AppName\n) => {\n const sdk = await getProjectSdk();\n return sdk.getAppStackOutput<TOutput>(appName);\n};\n\nexport { ProjectSdk };\n\nexport type { AppName } from \"./abstractions/types.js\";\nexport type * from \"./abstractions/models/index.js\";\n\nexport type { IStackOutput } from \"~/abstractions/features/GetAppStackOutput.js\";\n\nexport { PackageJson } from \"@webiny/build-tools/utils/PackageJson.js\";\n\nexport { createPathResolver } from \"./utils/createPathResolver.js\";\n\nexport { ExtensionSrcResolver } from \"./utils/ExtensionSrcResolver.js\";\n\nexport { GracefulError } from \"./GracefulError.js\";\n\nexport { Wcp } from \"./components/Wcp.js\";\nexport {\n WcpProjectLicenseProvider,\n useWcpProjectLicense\n} from \"./services/GetProjectConfigService/WcpProjectLicenseContext.js\";\n"],"mappings":"AAAA,SAASA,UAAU;AAInB,OAAO,MAAMC,aAAa,GAAGA,CAAC,GAAGC,MAA+C,KAAK;EACjF,OAAOF,UAAU,CAACG,IAAI,CAAC,GAAGD,MAAM,CAAC;AACrC,CAAC;;AAED;AACA;AACA,OAAO,MAAME,cAAc,GAAG,MAG1BC,OAAgB,IACf;EACD,MAAMC,GAAG,GAAG,MAAML,aAAa,CAAC,CAAC;EACjC,OAAOK,GAAG,CAACC,iBAAiB,CAAUF,OAAO,CAAC;AAClD,CAAC;AAED,SAASL,UAAU;AAOnB,SAASQ,WAAW,QAAQ,0CAA0C;AAEtE,SAASC,kBAAkB;AAE3B,SAASC,oBAAoB;AAE7B,SAASC,aAAa;AAEtB,SAASC,GAAG;AACZ,SACIC,yBAAyB,EACzBC,oBAAoB","ignoreList":[]}
1
+ {"version":3,"names":["ProjectSdk","getProjectSdk","params","init","getStackOutput","appName","sdk","getAppStackOutput","PackageJson","createPathResolver","ExtensionSrcResolver","GracefulError","toImportSpecifier","Wcp","WcpProjectLicenseProvider","useWcpProjectLicense"],"sources":["index.ts"],"sourcesContent":["import { ProjectSdk } from \"./ProjectSdk.js\";\nimport { type GetAppStackOutput } from \"~/abstractions/index.js\";\nimport { type AppName } from \"~/abstractions/types.js\";\n\nexport const getProjectSdk = (...params: Parameters<(typeof ProjectSdk)[\"init\"]>) => {\n return ProjectSdk.init(...params);\n};\n\n// A temporary convenience function to get the stack output for a specific app. We might revisit this in the\n// future and double check if there's a better way to expose this functionality.\nexport const getStackOutput = async <\n TOutput extends GetAppStackOutput.StackOutput = GetAppStackOutput.StackOutput\n>(\n appName: AppName\n) => {\n const sdk = await getProjectSdk();\n return sdk.getAppStackOutput<TOutput>(appName);\n};\n\nexport { ProjectSdk };\n\nexport type { AppName } from \"./abstractions/types.js\";\nexport type * from \"./abstractions/models/index.js\";\n\nexport type { IStackOutput } from \"~/abstractions/features/GetAppStackOutput.js\";\n\nexport { PackageJson } from \"@webiny/build-tools/utils/PackageJson.js\";\n\nexport { createPathResolver } from \"./utils/createPathResolver.js\";\n\nexport { ExtensionSrcResolver } from \"./utils/ExtensionSrcResolver.js\";\n\nexport { GracefulError } from \"./GracefulError.js\";\n\nexport { toImportSpecifier } from \"./utils/toImportSpecifier.js\";\n\nexport { Wcp } from \"./components/Wcp.js\";\nexport {\n WcpProjectLicenseProvider,\n useWcpProjectLicense\n} from \"./services/GetProjectConfigService/WcpProjectLicenseContext.js\";\n"],"mappings":"AAAA,SAASA,UAAU;AAInB,OAAO,MAAMC,aAAa,GAAGA,CAAC,GAAGC,MAA+C,KAAK;EACjF,OAAOF,UAAU,CAACG,IAAI,CAAC,GAAGD,MAAM,CAAC;AACrC,CAAC;;AAED;AACA;AACA,OAAO,MAAME,cAAc,GAAG,MAG1BC,OAAgB,IACf;EACD,MAAMC,GAAG,GAAG,MAAML,aAAa,CAAC,CAAC;EACjC,OAAOK,GAAG,CAACC,iBAAiB,CAAUF,OAAO,CAAC;AAClD,CAAC;AAED,SAASL,UAAU;AAOnB,SAASQ,WAAW,QAAQ,0CAA0C;AAEtE,SAASC,kBAAkB;AAE3B,SAASC,oBAAoB;AAE7B,SAASC,aAAa;AAEtB,SAASC,iBAAiB;AAE1B,SAASC,GAAG;AACZ,SACIC,yBAAyB,EACzBC,oBAAoB","ignoreList":[]}
package/package.json CHANGED
@@ -1,8 +1,11 @@
1
1
  {
2
2
  "name": "@webiny/project",
3
- "version": "0.0.0-unstable.e2758ee1cf",
3
+ "version": "0.0.0-unstable.e6f0dc8ca7",
4
4
  "type": "module",
5
- "main": "index.js",
5
+ "exports": {
6
+ ".": "./index.js",
7
+ "./*": "./*"
8
+ },
6
9
  "repository": {
7
10
  "type": "git",
8
11
  "url": "https://github.com/webiny/webiny-js.git"
@@ -10,63 +13,59 @@
10
13
  "description": "An SDK for managing Webiny projects.",
11
14
  "license": "MIT",
12
15
  "dependencies": {
13
- "@webiny/aws-sdk": "0.0.0-unstable.e2758ee1cf",
14
- "@webiny/build-tools": "0.0.0-unstable.e2758ee1cf",
16
+ "@webiny/aws-sdk": "0.0.0-unstable.e6f0dc8ca7",
17
+ "@webiny/build-tools": "0.0.0-unstable.e6f0dc8ca7",
15
18
  "@webiny/di": "0.2.3",
16
- "@webiny/feature-flags": "0.0.0-unstable.e2758ee1cf",
17
- "@webiny/global-config": "0.0.0-unstable.e2758ee1cf",
18
- "@webiny/pulumi-sdk": "0.0.0-unstable.e2758ee1cf",
19
- "@webiny/react-properties": "0.0.0-unstable.e2758ee1cf",
20
- "@webiny/system-requirements": "0.0.0-unstable.e2758ee1cf",
21
- "@webiny/telemetry": "0.0.0-unstable.e2758ee1cf",
22
- "@webiny/utils": "0.0.0-unstable.e2758ee1cf",
23
- "@webiny/wcp": "0.0.0-unstable.e2758ee1cf",
24
- "chalk": "4.1.2",
25
- "chokidar": "4.0.3",
19
+ "@webiny/feature-flags": "0.0.0-unstable.e6f0dc8ca7",
20
+ "@webiny/global-config": "0.0.0-unstable.e6f0dc8ca7",
21
+ "@webiny/pulumi-sdk": "0.0.0-unstable.e6f0dc8ca7",
22
+ "@webiny/react-properties": "0.0.0-unstable.e6f0dc8ca7",
23
+ "@webiny/system-requirements": "0.0.0-unstable.e6f0dc8ca7",
24
+ "@webiny/telemetry": "0.0.0-unstable.e6f0dc8ca7",
25
+ "@webiny/utils": "0.0.0-unstable.e6f0dc8ca7",
26
+ "@webiny/wcp": "0.0.0-unstable.e6f0dc8ca7",
27
+ "chalk": "5.6.2",
28
+ "chokidar": "5.0.0",
26
29
  "ci-info": "4.4.0",
27
- "debounce": "1.2.1",
30
+ "debounce": "3.0.0",
28
31
  "deepmerge": "4.3.1",
29
- "dotenv": "17.3.1",
32
+ "dotenv": "17.4.2",
30
33
  "execa": "5.1.1",
31
- "exit-hook": "4.0.0",
34
+ "exit-hook": "5.1.0",
32
35
  "fast-glob": "3.3.3",
33
- "find-up": "5.0.0",
34
- "get-tsconfig": "4.13.6",
36
+ "find-up": "8.0.0",
37
+ "get-tsconfig": "4.14.0",
35
38
  "graphql-request": "7.4.0",
36
39
  "humanize-duration": "3.33.2",
40
+ "jsdom": "29.1.1",
37
41
  "load-json-file": "7.0.1",
38
- "lodash": "4.17.23",
39
- "minimatch": "10.2.4",
40
- "mqtt": "5.15.0",
42
+ "lodash": "4.18.1",
43
+ "minimatch": "10.2.5",
44
+ "mqtt": "5.15.1",
41
45
  "neverthrow": "8.2.0",
42
- "p-retry": "7.1.1",
43
- "pino": "9.14.0",
44
- "pino-pretty": "9.4.1",
45
- "react": "18.2.0",
46
- "react-test-renderer": "18.3.1",
47
- "read-json-sync": "2.0.1",
46
+ "p-retry": "8.0.0",
47
+ "pino": "10.3.1",
48
+ "pino-pretty": "13.1.3",
49
+ "react": "18.3.1",
50
+ "react-dom": "18.3.1",
48
51
  "replace-in-path": "1.1.0",
49
- "serialize-error": "12.0.0",
50
- "ts-morph": "27.0.2",
52
+ "serialize-error": "13.0.1",
53
+ "ts-morph": "28.0.0",
51
54
  "tsx": "4.21.0",
52
55
  "write-json-file": "7.0.0",
53
- "zod": "3.25.76"
56
+ "zod": "4.4.3"
54
57
  },
55
58
  "devDependencies": {
56
59
  "@types/debounce": "1.2.4",
57
60
  "@types/humanize-duration": "3.27.4",
61
+ "@types/jsdom": "28.0.1",
58
62
  "@types/lodash": "4.17.24",
59
- "@types/react-test-renderer": "18.3.1",
60
- "@types/read-json-sync": "2.0.3",
61
63
  "rimraf": "6.1.3",
62
- "type-fest": "5.4.4",
63
- "typescript": "5.9.3"
64
+ "type-fest": "5.6.0",
65
+ "typescript": "6.0.3"
64
66
  },
65
67
  "adio": {
66
68
  "ignore": {
67
- "src": [
68
- "@webiny/project-aws"
69
- ],
70
69
  "dependencies": [
71
70
  "exit-hook"
72
71
  ]
@@ -76,5 +75,5 @@
76
75
  "access": "public",
77
76
  "directory": "dist"
78
77
  },
79
- "gitHead": "e2758ee1cfa3b9a7152e9bb995a90ccabd33266f"
78
+ "gitHead": "e6f0dc8ca741c1fcc3fec9a5b9e86fdd49544641"
80
79
  }
@@ -58,16 +58,16 @@ export class DefaultBuildAppWorkspaceService {
58
58
  variant
59
59
  } = sdkParams;
60
60
  replaceInPath(path.join(appWorkspaceFolderPath, "/**/*.{ts,js,yaml}"), [{
61
- find: "{PROJECT_ID}",
61
+ find: "%{PROJECT_ID}",
62
62
  replaceWith: app.name
63
63
  }, {
64
- find: "{PROJECT_DESCRIPTION}",
64
+ find: "%{PROJECT_DESCRIPTION}",
65
65
  replaceWith: `Webiny's ${env} app.`
66
66
  }, {
67
- find: "{DEPLOY_ENV}",
67
+ find: "%{DEPLOY_ENV}",
68
68
  replaceWith: env
69
69
  }, {
70
- find: "{DEPLOY_VARIANT}",
70
+ find: "%{DEPLOY_VARIANT}",
71
71
  replaceWith: !variant || variant === "undefined" ? "" : variant
72
72
  }]);
73
73
  this.loggerService.info("App workspace built successfully.");
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","BuildAppWorkspaceService","GetApp","LoggerService","ProjectSdkParamsService","path","fs","replaceInPath","getTemplatesFolderPath","wait","Promise","resolve","setTimeout","DefaultBuildAppWorkspaceService","constructor","getApp","loggerService","projectSdkParamsService","execute","appName","options","sdkParams","get","debug","env","Error","templatesFolderPath","app","paths","workspaceFolder","existsSync","forceRebuild","rmSync","toString","recursive","force","appWorkspaceFolderPath","baseTemplateFolderPath","join","mkdirSync","cpSync","variant","find","replaceWith","name","info","buildAppWorkspaceService","abstraction","implementation","dependencies"],"sources":["BuildAppWorkspaceService.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport {\n BuildAppWorkspaceService,\n GetApp,\n LoggerService,\n ProjectSdkParamsService\n} from \"~/abstractions/index.js\";\n\nimport path from \"path\";\nimport fs from \"fs\";\nimport { replaceInPath } from \"replace-in-path\";\nimport { getTemplatesFolderPath } from \"~/utils/index.js\";\n\nconst wait = () => new Promise(resolve => setTimeout(resolve, 10));\n\nexport class DefaultBuildAppWorkspaceService implements BuildAppWorkspaceService.Interface {\n constructor(\n private getApp: GetApp.Interface,\n private loggerService: LoggerService.Interface,\n private projectSdkParamsService: ProjectSdkParamsService.Interface\n ) {}\n\n async execute(appName: GetApp.AppName, options: BuildAppWorkspaceService.Options = {}) {\n const sdkParams = this.projectSdkParamsService.get();\n this.loggerService.debug({ appName, options }, \"Building app workspace...\");\n\n if (!sdkParams.env) {\n throw new Error(`Please specify environment, for example \"dev\".`);\n }\n\n const templatesFolderPath = getTemplatesFolderPath();\n\n const app = this.getApp.execute(appName);\n if (app.paths.workspaceFolder.existsSync()) {\n // Only skip rebuild if the forceRebuild option is not set to true.\n if (options.forceRebuild !== true) {\n this.loggerService.debug(\n { appName },\n \"App workspace already exists, skipping rebuild.\"\n );\n return;\n }\n }\n\n // Clean up existing workspace folder if it exists.\n if (app.paths.workspaceFolder.existsSync()) {\n fs.rmSync(app.paths.workspaceFolder.toString(), { recursive: true, force: true });\n }\n\n const appWorkspaceFolderPath = app.paths.workspaceFolder.toString();\n const baseTemplateFolderPath = path.join(templatesFolderPath, \"appTemplates\", \"base\");\n\n fs.mkdirSync(appWorkspaceFolderPath, { recursive: true });\n\n // Wait a bit and make sure the files are ready to have their content replaced.\n await wait();\n\n fs.cpSync(baseTemplateFolderPath, appWorkspaceFolderPath, { recursive: true });\n\n // Wait a bit and make sure the files are ready to have their content replaced.\n await wait();\n\n const { env, variant } = sdkParams;\n\n replaceInPath(path.join(appWorkspaceFolderPath, \"/**/*.{ts,js,yaml}\"), [\n { find: \"{PROJECT_ID}\", replaceWith: app.name },\n { find: \"{PROJECT_DESCRIPTION}\", replaceWith: `Webiny's ${env} app.` },\n { find: \"{DEPLOY_ENV}\", replaceWith: env },\n {\n find: \"{DEPLOY_VARIANT}\",\n replaceWith: !variant || variant === \"undefined\" ? \"\" : variant\n }\n ]);\n\n this.loggerService.info(\"App workspace built successfully.\");\n }\n}\n\nexport const buildAppWorkspaceService = createImplementation({\n abstraction: BuildAppWorkspaceService,\n implementation: DefaultBuildAppWorkspaceService,\n dependencies: [GetApp, LoggerService, ProjectSdkParamsService]\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createImplementation","BuildAppWorkspaceService","GetApp","LoggerService","ProjectSdkParamsService","path","fs","replaceInPath","getTemplatesFolderPath","wait","Promise","resolve","setTimeout","DefaultBuildAppWorkspaceService","constructor","getApp","loggerService","projectSdkParamsService","execute","appName","options","sdkParams","get","debug","env","Error","templatesFolderPath","app","paths","workspaceFolder","existsSync","forceRebuild","rmSync","toString","recursive","force","appWorkspaceFolderPath","baseTemplateFolderPath","join","mkdirSync","cpSync","variant","find","replaceWith","name","info","buildAppWorkspaceService","abstraction","implementation","dependencies"],"sources":["BuildAppWorkspaceService.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport {\n BuildAppWorkspaceService,\n GetApp,\n LoggerService,\n ProjectSdkParamsService\n} from \"~/abstractions/index.js\";\n\nimport path from \"path\";\nimport fs from \"fs\";\nimport { replaceInPath } from \"replace-in-path\";\nimport { getTemplatesFolderPath } from \"~/utils/index.js\";\n\nconst wait = () => new Promise(resolve => setTimeout(resolve, 10));\n\nexport class DefaultBuildAppWorkspaceService implements BuildAppWorkspaceService.Interface {\n constructor(\n private getApp: GetApp.Interface,\n private loggerService: LoggerService.Interface,\n private projectSdkParamsService: ProjectSdkParamsService.Interface\n ) {}\n\n async execute(appName: GetApp.AppName, options: BuildAppWorkspaceService.Options = {}) {\n const sdkParams = this.projectSdkParamsService.get();\n this.loggerService.debug({ appName, options }, \"Building app workspace...\");\n\n if (!sdkParams.env) {\n throw new Error(`Please specify environment, for example \"dev\".`);\n }\n\n const templatesFolderPath = getTemplatesFolderPath();\n\n const app = this.getApp.execute(appName);\n if (app.paths.workspaceFolder.existsSync()) {\n // Only skip rebuild if the forceRebuild option is not set to true.\n if (options.forceRebuild !== true) {\n this.loggerService.debug(\n { appName },\n \"App workspace already exists, skipping rebuild.\"\n );\n return;\n }\n }\n\n // Clean up existing workspace folder if it exists.\n if (app.paths.workspaceFolder.existsSync()) {\n fs.rmSync(app.paths.workspaceFolder.toString(), { recursive: true, force: true });\n }\n\n const appWorkspaceFolderPath = app.paths.workspaceFolder.toString();\n const baseTemplateFolderPath = path.join(templatesFolderPath, \"appTemplates\", \"base\");\n\n fs.mkdirSync(appWorkspaceFolderPath, { recursive: true });\n\n // Wait a bit and make sure the files are ready to have their content replaced.\n await wait();\n\n fs.cpSync(baseTemplateFolderPath, appWorkspaceFolderPath, { recursive: true });\n\n // Wait a bit and make sure the files are ready to have their content replaced.\n await wait();\n\n const { env, variant } = sdkParams;\n\n replaceInPath(path.join(appWorkspaceFolderPath, \"/**/*.{ts,js,yaml}\"), [\n { find: \"%{PROJECT_ID}\", replaceWith: app.name },\n { find: \"%{PROJECT_DESCRIPTION}\", replaceWith: `Webiny's ${env} app.` },\n { find: \"%{DEPLOY_ENV}\", replaceWith: env },\n {\n find: \"%{DEPLOY_VARIANT}\",\n replaceWith: !variant || variant === \"undefined\" ? \"\" : variant\n }\n ]);\n\n this.loggerService.info(\"App workspace built successfully.\");\n }\n}\n\nexport const buildAppWorkspaceService = createImplementation({\n abstraction: BuildAppWorkspaceService,\n implementation: DefaultBuildAppWorkspaceService,\n dependencies: [GetApp, LoggerService, ProjectSdkParamsService]\n});\n"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@ import { GetProjectConfigService, GetProjectService, LoggerService, ProjectSdkPa
3
3
  import { ExtensionDefinitions as ExtensionDefinitionsExtension } from "../../extensions/ExtensionDefinitions.js";
4
4
  import { ExtensionInstanceModel } from "../../defineExtension/index.js";
5
5
  import { ProjectConfigModel } from "../../models/ProjectConfigModel.js";
6
+ import { toImportSpecifier } from "../../utils/index.js";
6
7
  import { renderConfig } from "./renderConfig.js";
7
8
  export class DefaultGetProjectConfigService {
8
9
  cachedRenderedConfigs = {};
@@ -62,7 +63,7 @@ export class DefaultGetProjectConfigService {
62
63
  // Treat as absolute path.
63
64
  importPath = filePath;
64
65
  }
65
- return import(importPath);
66
+ return import(toImportSpecifier(importPath));
66
67
  };
67
68
  const tagsFilters = params?.tags || {};
68
69