@wix/cli 1.1.88 → 1.1.89

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 (172) hide show
  1. package/build/{DevCommand-PUJFPAHB.js → DevCommand-6PR5SHFL.js} +16 -16
  2. package/build/{DevCommand-4HINBFWU.js → DevCommand-DSJBVCXP.js} +33 -28
  3. package/build/{DevCommand-4HINBFWU.js.map → DevCommand-DSJBVCXP.js.map} +1 -1
  4. package/build/{DevCommand-FFXBYLFS.js → DevCommand-SU6KLMXH.js} +18 -19
  5. package/build/{DevCommand-FFXBYLFS.js.map → DevCommand-SU6KLMXH.js.map} +1 -1
  6. package/build/{EnvPullCommand-H2NK2LZS.js → EnvPullCommand-VA3TPRQO.js} +10 -10
  7. package/build/{EnvRemoveCommand-2LQGQ7J3.js → EnvRemoveCommand-CKMRMF7J.js} +10 -10
  8. package/build/{EnvSetCommand-NGJYYHGO.js → EnvSetCommand-CLLES2MM.js} +10 -10
  9. package/build/{InstallCommand-KYNDZCDN.js → InstallCommand-62NSOPA4.js} +16 -16
  10. package/build/{LoginCommand-6D4MUZAQ.js → LoginCommand-ZBVQG3GI.js} +10 -10
  11. package/build/{LogoutCommand-7R5FPYOM.js → LogoutCommand-UFO55NX7.js} +7 -7
  12. package/build/{PreviewCommand-JOLUOQVW.js → PreviewCommand-57ESGZBQ.js} +20 -20
  13. package/build/{PreviewCommand-JR4LJXI2.js → PreviewCommand-7HPGH2OP.js} +18 -18
  14. package/build/{PreviewCommand-STITNXGG.js → PreviewCommand-ZJB3SZSN.js} +11 -12
  15. package/build/{PublishCommand-XYOTQFZB.js → PublishCommand-VC5MNHC5.js} +18 -18
  16. package/build/{chunk-7HULOMX3.js → ReleaseCommand-SBNT2ETF.js} +37 -268
  17. package/build/ReleaseCommand-SBNT2ETF.js.map +1 -0
  18. package/build/{UninstallCommand-5XOY2RI4.js → UninstallCommand-DW3T2JFF.js} +16 -16
  19. package/build/{WhoamiCommand-JN32SHH5.js → WhoamiCommand-SHJAH27B.js} +3 -3
  20. package/build/{chunk-MVF7XNIR.js → chunk-2H6EDYVV.js} +3 -3
  21. package/build/{chunk-LXXFDRYM.js → chunk-3VVLHRNT.js} +6 -6
  22. package/build/{chunk-QMOKPF6L.js → chunk-4D7HUJOJ.js} +3 -3
  23. package/build/{chunk-BTGGUTXE.js → chunk-4MGIAJ3I.js} +4 -4
  24. package/build/{chunk-6EQYJQAS.js → chunk-5RMA3ZDH.js} +4 -4
  25. package/build/{chunk-6EQYJQAS.js.map → chunk-5RMA3ZDH.js.map} +1 -1
  26. package/build/{chunk-4NN2C4CS.js → chunk-7T7SLCFH.js} +288 -41
  27. package/build/chunk-7T7SLCFH.js.map +1 -0
  28. package/build/{chunk-3NC6D6VA.js → chunk-AEDM4QQI.js} +7 -7
  29. package/build/{chunk-MIQ6XUKB.js → chunk-AGLQGPAD.js} +13 -13
  30. package/build/{chunk-LX7XE5RU.js → chunk-AYTF4CUT.js} +5 -5
  31. package/build/{chunk-VLSMAOUU.js → chunk-DFC24E3J.js} +3 -3
  32. package/build/{chunk-56VD6Y4X.js → chunk-F64BUTC2.js} +2 -2
  33. package/build/{chunk-E5NGKLMX.js → chunk-F6EKHXGO.js} +3 -3
  34. package/build/{chunk-CEA5QOGH.js → chunk-GRTL4S3Y.js} +3 -3
  35. package/build/{chunk-3WOTB46G.js → chunk-I5OLIQ4U.js} +13 -7
  36. package/build/{chunk-3WOTB46G.js.map → chunk-I5OLIQ4U.js.map} +1 -1
  37. package/build/{chunk-GRNUBSF6.js → chunk-IBSXCOMX.js} +8 -8
  38. package/build/{chunk-QKHIYABF.js → chunk-J2QEZEUE.js} +2 -3
  39. package/build/{chunk-LPD4XGYD.js → chunk-JTAS7UOW.js} +2 -3
  40. package/build/{chunk-Z7H3PAZ6.js → chunk-K2VIIDEO.js} +2 -2
  41. package/build/{chunk-YQGCHGIX.js → chunk-KK7IN3VX.js} +5 -5
  42. package/build/{chunk-AKKEMPVY.js → chunk-KRH7ULXP.js} +2 -2
  43. package/build/{chunk-QHSB6VG6.js → chunk-L2ALAYPX.js} +3 -3
  44. package/build/{chunk-LDZEOWUV.js → chunk-L6ABBZNR.js} +322 -192
  45. package/build/chunk-L6ABBZNR.js.map +1 -0
  46. package/build/{chunk-2PNYIXMP.js → chunk-LG6PBN72.js} +7 -58
  47. package/build/chunk-LG6PBN72.js.map +1 -0
  48. package/build/{chunk-LNV5QH54.js → chunk-MOWGYB6X.js} +2 -2
  49. package/build/{chunk-2EVNRLYY.js → chunk-NNJ3SLG4.js} +6 -6
  50. package/build/{chunk-JVB5YDKN.js → chunk-OVPU5FXS.js} +3 -3
  51. package/build/{chunk-6Y53QK4T.js → chunk-OXWNDWBN.js} +5 -5
  52. package/build/{chunk-N6QOJTN4.js → chunk-P7ZNMQUM.js} +2 -2
  53. package/build/{chunk-3A3KLMDB.js → chunk-QEYQKR6R.js} +2 -2
  54. package/build/{chunk-O7ATXO65.js → chunk-RIBACKJC.js} +3 -3
  55. package/build/{chunk-L6RIG3CB.js → chunk-SICO3I76.js} +7 -7
  56. package/build/{chunk-GT3LT63J.js → chunk-U7RM5FAW.js} +14 -9
  57. package/build/chunk-U7RM5FAW.js.map +1 -0
  58. package/build/{chunk-ZKCONC7A.js → chunk-ULCE6HIP.js} +4 -2
  59. package/build/{chunk-ZKCONC7A.js.map → chunk-ULCE6HIP.js.map} +1 -1
  60. package/build/{chunk-I5FDTDYQ.js → chunk-VCVYBKDN.js} +2 -2
  61. package/build/{chunk-AFVZOQLU.js → chunk-WFKMTTHE.js} +5 -3
  62. package/build/chunk-WFKMTTHE.js.map +1 -0
  63. package/build/{chunk-YFYFHJE6.js → chunk-XMBDVE2N.js} +2 -2
  64. package/build/{chunk-YOOITXIO.js → chunk-Y6LAXAGE.js} +3 -3
  65. package/build/{chunk-DN2XHTKB.js → chunk-YPV2HLJD.js} +3 -3
  66. package/build/{chunk-Y3LK6RU3.js → chunk-YQSC6PKB.js} +2 -2
  67. package/build/{chunk-RLO4PTKH.js → chunk-YSJHY6MU.js} +2 -2
  68. package/build/{chunk-CQILISSC.js → chunk-ZYOXKXUX.js} +2 -2
  69. package/build/{dev-45ZJIDEB.js → dev-HHXXZE7J.js} +27 -28
  70. package/build/{dev-45ZJIDEB.js.map → dev-HHXXZE7J.js.map} +1 -1
  71. package/build/index.js +24 -24
  72. package/build/{install-Q5MSHIUE.js → install-WET72ZAZ.js} +16 -16
  73. package/build/{chunk-6VPGAPW3.js → preview-6FKRNMCF.js} +47 -9
  74. package/build/preview-6FKRNMCF.js.map +1 -0
  75. package/build/{publish-GU77GYHO.js → publish-BHMYVPLP.js} +17 -17
  76. package/build/{render-command-CDNKBZGT.js → render-command-2NWXXSWT.js} +13 -13
  77. package/build/{render-command-FXWYI3JH.js → render-command-HURH3IOZ.js} +10 -10
  78. package/build/{render-command-74EMINJ2.js → render-command-IPOJHSMF.js} +11 -11
  79. package/build/{render-command-UCUAHYDD.js → render-command-OTA4NOXM.js} +10 -10
  80. package/build/{render-command-EX7WIAL6.js → render-command-TBKSDNTA.js} +9 -9
  81. package/build/{run-command-YWXKESR5.js → run-command-FZKBF6U3.js} +7 -7
  82. package/build/{src-5YDYDX7K.js → src-E6BLP72K.js} +6 -6
  83. package/build/{src-75E36S6D.js → src-EPMGYHK6.js} +4 -4
  84. package/build/{src-KLB3VOCG.js → src-GM36T6CH.js} +17 -17
  85. package/build/{src-4XDLKJ2O.js → src-QDMUFOW4.js} +4 -4
  86. package/build/{src-CRLV3UTK.js → src-TNW4DUIK.js} +27 -64
  87. package/build/src-TNW4DUIK.js.map +1 -0
  88. package/build/{src-676RR5RU.js → src-V5FS522J.js} +14 -14
  89. package/build/{src-GJHLNFJ3.js → src-X7PFNAOL.js} +7 -7
  90. package/build/{src-YH6G7Q5Z.js → src-ZWUNO6IW.js} +2 -2
  91. package/build/{sync-types-MB2TQNHN.js → sync-types-TCCFEAQO.js} +12 -12
  92. package/build/{uninstall-TKOBVVM2.js → uninstall-T3GGTNCX.js} +16 -16
  93. package/package.json +2 -2
  94. package/build/ReleaseCommand-5VNRVOUP.js +0 -41
  95. package/build/ReleaseCommand-5VNRVOUP.js.map +0 -1
  96. package/build/chunk-2PNYIXMP.js.map +0 -1
  97. package/build/chunk-4NN2C4CS.js.map +0 -1
  98. package/build/chunk-6VPGAPW3.js.map +0 -1
  99. package/build/chunk-7HULOMX3.js.map +0 -1
  100. package/build/chunk-AFVZOQLU.js.map +0 -1
  101. package/build/chunk-GT3LT63J.js.map +0 -1
  102. package/build/chunk-LDZEOWUV.js.map +0 -1
  103. package/build/chunk-N2SIUTTQ.js +0 -20
  104. package/build/chunk-N2SIUTTQ.js.map +0 -1
  105. package/build/preview-QJNHO37L.js +0 -63
  106. package/build/preview-QJNHO37L.js.map +0 -1
  107. package/build/release-5X3AWGDM.js +0 -74
  108. package/build/release-5X3AWGDM.js.map +0 -1
  109. package/build/src-CRLV3UTK.js.map +0 -1
  110. /package/build/{DevCommand-PUJFPAHB.js.map → DevCommand-6PR5SHFL.js.map} +0 -0
  111. /package/build/{EnvPullCommand-H2NK2LZS.js.map → EnvPullCommand-VA3TPRQO.js.map} +0 -0
  112. /package/build/{EnvRemoveCommand-2LQGQ7J3.js.map → EnvRemoveCommand-CKMRMF7J.js.map} +0 -0
  113. /package/build/{EnvSetCommand-NGJYYHGO.js.map → EnvSetCommand-CLLES2MM.js.map} +0 -0
  114. /package/build/{InstallCommand-KYNDZCDN.js.map → InstallCommand-62NSOPA4.js.map} +0 -0
  115. /package/build/{LoginCommand-6D4MUZAQ.js.map → LoginCommand-ZBVQG3GI.js.map} +0 -0
  116. /package/build/{LogoutCommand-7R5FPYOM.js.map → LogoutCommand-UFO55NX7.js.map} +0 -0
  117. /package/build/{PreviewCommand-JOLUOQVW.js.map → PreviewCommand-57ESGZBQ.js.map} +0 -0
  118. /package/build/{PreviewCommand-JR4LJXI2.js.map → PreviewCommand-7HPGH2OP.js.map} +0 -0
  119. /package/build/{PreviewCommand-STITNXGG.js.map → PreviewCommand-ZJB3SZSN.js.map} +0 -0
  120. /package/build/{PublishCommand-XYOTQFZB.js.map → PublishCommand-VC5MNHC5.js.map} +0 -0
  121. /package/build/{UninstallCommand-5XOY2RI4.js.map → UninstallCommand-DW3T2JFF.js.map} +0 -0
  122. /package/build/{WhoamiCommand-JN32SHH5.js.map → WhoamiCommand-SHJAH27B.js.map} +0 -0
  123. /package/build/{chunk-MVF7XNIR.js.map → chunk-2H6EDYVV.js.map} +0 -0
  124. /package/build/{chunk-LXXFDRYM.js.map → chunk-3VVLHRNT.js.map} +0 -0
  125. /package/build/{chunk-QMOKPF6L.js.map → chunk-4D7HUJOJ.js.map} +0 -0
  126. /package/build/{chunk-BTGGUTXE.js.map → chunk-4MGIAJ3I.js.map} +0 -0
  127. /package/build/{chunk-3NC6D6VA.js.map → chunk-AEDM4QQI.js.map} +0 -0
  128. /package/build/{chunk-MIQ6XUKB.js.map → chunk-AGLQGPAD.js.map} +0 -0
  129. /package/build/{chunk-LX7XE5RU.js.map → chunk-AYTF4CUT.js.map} +0 -0
  130. /package/build/{chunk-VLSMAOUU.js.map → chunk-DFC24E3J.js.map} +0 -0
  131. /package/build/{chunk-56VD6Y4X.js.map → chunk-F64BUTC2.js.map} +0 -0
  132. /package/build/{chunk-E5NGKLMX.js.map → chunk-F6EKHXGO.js.map} +0 -0
  133. /package/build/{chunk-CEA5QOGH.js.map → chunk-GRTL4S3Y.js.map} +0 -0
  134. /package/build/{chunk-GRNUBSF6.js.map → chunk-IBSXCOMX.js.map} +0 -0
  135. /package/build/{chunk-QKHIYABF.js.map → chunk-J2QEZEUE.js.map} +0 -0
  136. /package/build/{chunk-LPD4XGYD.js.map → chunk-JTAS7UOW.js.map} +0 -0
  137. /package/build/{chunk-Z7H3PAZ6.js.map → chunk-K2VIIDEO.js.map} +0 -0
  138. /package/build/{chunk-YQGCHGIX.js.map → chunk-KK7IN3VX.js.map} +0 -0
  139. /package/build/{chunk-AKKEMPVY.js.map → chunk-KRH7ULXP.js.map} +0 -0
  140. /package/build/{chunk-QHSB6VG6.js.map → chunk-L2ALAYPX.js.map} +0 -0
  141. /package/build/{chunk-LNV5QH54.js.map → chunk-MOWGYB6X.js.map} +0 -0
  142. /package/build/{chunk-2EVNRLYY.js.map → chunk-NNJ3SLG4.js.map} +0 -0
  143. /package/build/{chunk-JVB5YDKN.js.map → chunk-OVPU5FXS.js.map} +0 -0
  144. /package/build/{chunk-6Y53QK4T.js.map → chunk-OXWNDWBN.js.map} +0 -0
  145. /package/build/{chunk-N6QOJTN4.js.map → chunk-P7ZNMQUM.js.map} +0 -0
  146. /package/build/{chunk-3A3KLMDB.js.map → chunk-QEYQKR6R.js.map} +0 -0
  147. /package/build/{chunk-O7ATXO65.js.map → chunk-RIBACKJC.js.map} +0 -0
  148. /package/build/{chunk-L6RIG3CB.js.map → chunk-SICO3I76.js.map} +0 -0
  149. /package/build/{chunk-I5FDTDYQ.js.map → chunk-VCVYBKDN.js.map} +0 -0
  150. /package/build/{chunk-YFYFHJE6.js.map → chunk-XMBDVE2N.js.map} +0 -0
  151. /package/build/{chunk-YOOITXIO.js.map → chunk-Y6LAXAGE.js.map} +0 -0
  152. /package/build/{chunk-DN2XHTKB.js.map → chunk-YPV2HLJD.js.map} +0 -0
  153. /package/build/{chunk-Y3LK6RU3.js.map → chunk-YQSC6PKB.js.map} +0 -0
  154. /package/build/{chunk-RLO4PTKH.js.map → chunk-YSJHY6MU.js.map} +0 -0
  155. /package/build/{chunk-CQILISSC.js.map → chunk-ZYOXKXUX.js.map} +0 -0
  156. /package/build/{install-Q5MSHIUE.js.map → install-WET72ZAZ.js.map} +0 -0
  157. /package/build/{publish-GU77GYHO.js.map → publish-BHMYVPLP.js.map} +0 -0
  158. /package/build/{render-command-CDNKBZGT.js.map → render-command-2NWXXSWT.js.map} +0 -0
  159. /package/build/{render-command-FXWYI3JH.js.map → render-command-HURH3IOZ.js.map} +0 -0
  160. /package/build/{render-command-74EMINJ2.js.map → render-command-IPOJHSMF.js.map} +0 -0
  161. /package/build/{render-command-UCUAHYDD.js.map → render-command-OTA4NOXM.js.map} +0 -0
  162. /package/build/{render-command-EX7WIAL6.js.map → render-command-TBKSDNTA.js.map} +0 -0
  163. /package/build/{run-command-YWXKESR5.js.map → run-command-FZKBF6U3.js.map} +0 -0
  164. /package/build/{src-5YDYDX7K.js.map → src-E6BLP72K.js.map} +0 -0
  165. /package/build/{src-4XDLKJ2O.js.map → src-EPMGYHK6.js.map} +0 -0
  166. /package/build/{src-KLB3VOCG.js.map → src-GM36T6CH.js.map} +0 -0
  167. /package/build/{src-75E36S6D.js.map → src-QDMUFOW4.js.map} +0 -0
  168. /package/build/{src-676RR5RU.js.map → src-V5FS522J.js.map} +0 -0
  169. /package/build/{src-GJHLNFJ3.js.map → src-X7PFNAOL.js.map} +0 -0
  170. /package/build/{src-YH6G7Q5Z.js.map → src-ZWUNO6IW.js.map} +0 -0
  171. /package/build/{sync-types-MB2TQNHN.js.map → sync-types-TCCFEAQO.js.map} +0 -0
  172. /package/build/{uninstall-TKOBVVM2.js.map → uninstall-T3GGTNCX.js.map} +0 -0
@@ -6,22 +6,25 @@ import {
6
6
  useARMClient,
7
7
  useUpdateDeploymentTopology,
8
8
  useUpdateManifest
9
- } from "./chunk-4NN2C4CS.js";
9
+ } from "./chunk-7T7SLCFH.js";
10
10
  import {
11
- useWixstroClient
12
- } from "./chunk-2PNYIXMP.js";
11
+ useHttpClient
12
+ } from "./chunk-VCVYBKDN.js";
13
13
  import {
14
14
  buildMetadataSchema,
15
15
  getBuildManifestPath,
16
16
  useProjectModel
17
- } from "./chunk-AFVZOQLU.js";
17
+ } from "./chunk-WFKMTTHE.js";
18
18
  import {
19
19
  globby
20
20
  } from "./chunk-65JTHDMM.js";
21
21
  import {
22
22
  SiteAuthProvider,
23
- pLimit
24
- } from "./chunk-2EVNRLYY.js";
23
+ pLimit,
24
+ pRetry,
25
+ resolveUrl,
26
+ serializer
27
+ } from "./chunk-NNJ3SLG4.js";
25
28
  import {
26
29
  Alert,
27
30
  Box_default,
@@ -29,19 +32,25 @@ import {
29
32
  Text,
30
33
  useAsync,
31
34
  useAsyncCallback
32
- } from "./chunk-QKHIYABF.js";
35
+ } from "./chunk-J2QEZEUE.js";
33
36
  import {
34
37
  require_react
35
38
  } from "./chunk-SO6EZMEL.js";
39
+ import {
40
+ getTestOverrides
41
+ } from "./chunk-MWHZITF4.js";
36
42
  import {
37
43
  pathExists,
38
44
  readJson
39
- } from "./chunk-LPD4XGYD.js";
45
+ } from "./chunk-JTAS7UOW.js";
46
+ import {
47
+ z
48
+ } from "./chunk-SF2XPDVG.js";
40
49
  import {
41
50
  CliError,
42
51
  CliErrorCode,
43
52
  require_lib
44
- } from "./chunk-ZKCONC7A.js";
53
+ } from "./chunk-ULCE6HIP.js";
45
54
  import {
46
55
  __toESM,
47
56
  init_esm_shims
@@ -52,11 +61,11 @@ init_esm_shims();
52
61
 
53
62
  // ../cli-astro-commands/src/components/PreviewCommand/PreviewCommand.tsx
54
63
  init_esm_shims();
55
- var import_react3 = __toESM(require_react(), 1);
64
+ var import_react4 = __toESM(require_react(), 1);
56
65
 
57
66
  // ../cli-astro-commands/src/components/PreviewCommand/Preview.tsx
58
67
  init_esm_shims();
59
- var import_react2 = __toESM(require_react(), 1);
68
+ var import_react3 = __toESM(require_react(), 1);
60
69
  var import_variant2 = __toESM(require_lib(), 1);
61
70
 
62
71
  // ../cli-astro-commands/src/files/assert-build-output-exists.ts
@@ -136,11 +145,11 @@ function useLoadBuildFiles() {
136
145
  return useAsyncCallback(async () => {
137
146
  const buildManifest = await readBuildManifest(projectFolder);
138
147
  const client = (await loadFiles(buildManifest.clientDir)).filter(
139
- ({ relativePath, path }) => {
148
+ ({ relativePath, path: path2 }) => {
140
149
  if (relativePath.startsWith("_wix")) {
141
150
  return false;
142
151
  }
143
- if (path.startsWith(buildManifest.serverDir)) {
152
+ if (path2.startsWith(buildManifest.serverDir)) {
144
153
  return false;
145
154
  }
146
155
  return true;
@@ -169,8 +178,9 @@ async function loadFiles(cwd) {
169
178
  );
170
179
  }
171
180
 
172
- // ../cli-astro-commands/src/components/PreviewCommand/hooks/useUploadClientFiles.ts
181
+ // ../cli-astro-commands/src/components/PreviewCommand/hooks/useDeployFiles.ts
173
182
  init_esm_shims();
183
+ import path from "node:path";
174
184
  import crypto from "node:crypto";
175
185
  import fs from "node:fs";
176
186
 
@@ -1314,12 +1324,12 @@ var Mime = class {
1314
1324
  }
1315
1325
  return this;
1316
1326
  }
1317
- getType(path) {
1318
- if (typeof path !== "string")
1327
+ getType(path2) {
1328
+ if (typeof path2 !== "string")
1319
1329
  return null;
1320
- const last = path.replace(/^.*[/\\]/s, "").toLowerCase();
1330
+ const last = path2.replace(/^.*[/\\]/s, "").toLowerCase();
1321
1331
  const ext = last.replace(/^.*\./s, "").toLowerCase();
1322
- const hasPath = last.length < path.length;
1332
+ const hasPath = last.length < path2.length;
1323
1333
  const hasDot = ext.length < last.length - 1;
1324
1334
  if (!hasDot && hasPath)
1325
1335
  return null;
@@ -1359,227 +1369,347 @@ var Mime_default = Mime;
1359
1369
  // ../../node_modules/mime/dist/src/index.js
1360
1370
  var src_default = new Mime_default(standard_default, other_default)._freeze();
1361
1371
 
1362
- // ../cli-astro-commands/src/components/PreviewCommand/hooks/useUploadClientFiles.ts
1363
- function useUploadClientFiles() {
1364
- const {
1365
- model: {
1366
- config: { projectId }
1367
- }
1368
- } = useProjectModel();
1369
- const wixtro = useWixstroClient();
1370
- return useAsyncCallback(
1371
- async (_, files) => {
1372
- const filesWithHash = await Promise.all(
1373
- files.map(async (file) => {
1374
- const { hash, size } = await getFileMD5AndSize(file.path);
1375
- return { ...file, hash, size };
1376
- })
1377
- );
1378
- const result = await wixtro.createUploadManifest({
1379
- projectId,
1380
- manifest: Object.fromEntries(
1381
- filesWithHash.map(({ hash, size, relativePath }) => [
1382
- `/${relativePath}`,
1383
- { hash, size }
1384
- ])
1385
- )
1386
- });
1387
- if (result.buckets.length === 0) {
1388
- return {
1389
- deploymentToken: result.deploymentToken,
1390
- completionToken: result.jwt
1391
- };
1392
- }
1393
- const hashToFileMap = Object.fromEntries(
1394
- filesWithHash.map(({ hash, relativePath, path }) => [
1395
- hash,
1396
- { relativePath, path }
1397
- ])
1398
- );
1399
- let lastBucketResult;
1400
- const limit = pLimit(3);
1401
- const uploadPromises = result.buckets.map(
1402
- (bucket) => limit(async () => {
1403
- const bucketResult = await uploadSingleBucket(
1404
- result.jwt,
1405
- result.uploadEndpointURL,
1406
- bucket.map(({ serverHash, clientHash }) => {
1407
- const file = hashToFileMap[clientHash];
1408
- if (!file) {
1409
- throw new Error(`Unknown client file hash: ${clientHash}`);
1410
- }
1411
- return {
1412
- fileAbsolutePath: file.path,
1413
- fileHash: serverHash,
1414
- fileMime: src_default.getType(file.relativePath) ?? "application/octet-stream"
1415
- };
1416
- })
1417
- );
1418
- if (bucketResult) {
1419
- lastBucketResult = bucketResult;
1420
- }
1421
- return bucketResult;
1422
- })
1423
- );
1424
- await Promise.all(uploadPromises);
1425
- if (!lastBucketResult) {
1426
- throw new Error("Failed to upload assets to completion");
1372
+ // ../cli-astro-commands/src/clients/velo-backend/useVeloBackendClient.ts
1373
+ init_esm_shims();
1374
+ var import_react2 = __toESM(require_react(), 1);
1375
+
1376
+ // ../cli-astro-commands/src/clients/velo-backend/velo-backend-client.ts
1377
+ init_esm_shims();
1378
+
1379
+ // ../../node_modules/@wix/ambassador-velo-backend-v1-app-deployment/build/es/http.impl.js
1380
+ init_esm_shims();
1381
+ var _appDeployment = {
1382
+ createdDate: "google.protobuf.Timestamp",
1383
+ updatedDate: "google.protobuf.Timestamp"
1384
+ };
1385
+ var _completeAppDeploymentRequest = { appDeployment: "_appDeployment" };
1386
+ var _completeAppDeploymentResponse = { appDeployment: "_appDeployment" };
1387
+ var _createAppDeploymentRequest = { appDeployment: "_appDeployment" };
1388
+ var _createAppDeploymentResponse = { appDeployment: "_appDeployment" };
1389
+ function resolveWixVeloBackendV1AppDeploymentManagementUrl(opts) {
1390
+ var domainToMappings = {
1391
+ "manage._base_domain_": [
1392
+ {
1393
+ srcPath: "/_api/wix-code-app-deployments",
1394
+ destPath: ""
1427
1395
  }
1428
- return {
1429
- completionToken: lastBucketResult,
1430
- deploymentToken: result.deploymentToken
1431
- };
1432
- }
1433
- );
1396
+ ]
1397
+ };
1398
+ return resolveUrl(Object.assign(opts, { domainToMappings }));
1434
1399
  }
1435
- async function getFileMD5AndSize(filePath) {
1436
- return new Promise((resolve, reject) => {
1437
- const hash = crypto.createHash("md5");
1438
- const stream = fs.createReadStream(filePath);
1439
- let size = 0;
1440
- stream.on("data", (chunk) => {
1441
- hash.update(chunk);
1442
- size += chunk.length;
1443
- });
1444
- stream.on("end", () => resolve({ hash: hash.digest("hex"), size }));
1445
- stream.on("error", reject);
1446
- });
1447
- }
1448
- async function uploadSingleBucket(jwt, uploadEndpoint, bucket) {
1449
- const form = new FormData();
1450
- for (const file of bucket) {
1451
- const fileContents = await fs.promises.readFile(file.fileAbsolutePath);
1452
- form.append(
1453
- file.fileHash,
1454
- new File([fileContents.toString("base64")], file.fileHash, {
1455
- type: file.fileMime
1456
- // Modify Content-Type header based on type of file
1400
+ function createAppDeployment(payload) {
1401
+ var _a = serializer(_createAppDeploymentRequest, { _appDeployment }), toReq = _a.toJSON, fromReq = _a.fromJSON;
1402
+ var fromRes = serializer(_createAppDeploymentResponse, {
1403
+ _appDeployment
1404
+ }).fromJSON;
1405
+ function __createAppDeployment(_a2) {
1406
+ var host = _a2.host;
1407
+ var serializedData = toReq(payload);
1408
+ var metadata = {
1409
+ entityFqdn: "wix.velo.backend.v1.app_deployment",
1410
+ method: "POST",
1411
+ methodFqn: "wix.velo.backend.v1.AppDeploymentManagement.CreateAppDeployment",
1412
+ url: resolveWixVeloBackendV1AppDeploymentManagementUrl({
1413
+ protoPath: "/v1/app-projects/{appDeployment.appProjectId}/app-deployments",
1414
+ data: serializedData,
1415
+ host
1457
1416
  }),
1458
- file.fileHash
1459
- );
1460
- }
1461
- const response = await fetch(uploadEndpoint, {
1462
- method: "POST",
1463
- headers: {
1464
- Authorization: `Bearer ${jwt}`
1465
- },
1466
- body: form
1467
- });
1468
- if (!response.ok) {
1469
- throw new Error(
1470
- `Failed to upload bucket: ${response.status} - ${response.statusText} ${await response.text()}`
1471
- );
1417
+ data: serializedData,
1418
+ transformResponse: fromRes
1419
+ };
1420
+ return metadata;
1472
1421
  }
1473
- const data = await response.json();
1474
- if (data.result.jwt) {
1475
- return data.result.jwt;
1422
+ __createAppDeployment.fromReq = fromReq;
1423
+ __createAppDeployment.__isAmbassador = true;
1424
+ return __createAppDeployment;
1425
+ }
1426
+ function completeAppDeployment(payload) {
1427
+ var _a = serializer(_completeAppDeploymentRequest, { _appDeployment }), toReq = _a.toJSON, fromReq = _a.fromJSON;
1428
+ var fromRes = serializer(_completeAppDeploymentResponse, {
1429
+ _appDeployment
1430
+ }).fromJSON;
1431
+ function __completeAppDeployment(_a2) {
1432
+ var host = _a2.host;
1433
+ var serializedData = toReq(payload);
1434
+ var metadata = {
1435
+ entityFqdn: "wix.velo.backend.v1.app_deployment",
1436
+ method: "POST",
1437
+ methodFqn: "wix.velo.backend.v1.AppDeploymentManagement.CompleteAppDeployment",
1438
+ url: resolveWixVeloBackendV1AppDeploymentManagementUrl({
1439
+ protoPath: "/v1/app-projects/{appDeployment.appProjectId}/app-deployments/{appDeployment.id}/complete",
1440
+ data: serializedData,
1441
+ host
1442
+ }),
1443
+ data: serializedData,
1444
+ transformResponse: fromRes
1445
+ };
1446
+ return metadata;
1476
1447
  }
1448
+ __completeAppDeployment.fromReq = fromReq;
1449
+ __completeAppDeployment.__isAmbassador = true;
1450
+ return __completeAppDeployment;
1477
1451
  }
1478
1452
 
1479
- // ../cli-astro-commands/src/components/PreviewCommand/hooks/useUploadServerFiles.ts
1453
+ // ../cli-astro-commands/src/clients/velo-backend/schemas.ts
1480
1454
  init_esm_shims();
1481
- import fs2 from "node:fs/promises";
1482
- function useUploadServerFiles() {
1455
+ var staticFileMetadata = z.object({
1456
+ path: z.string(),
1457
+ hash: z.string(),
1458
+ size: z.number().optional(),
1459
+ contentType: z.string().optional().nullable()
1460
+ });
1461
+ var StaticFileUploadUrlSchema = z.object({
1462
+ uploadUrl: z.string().url(),
1463
+ staticFileMetadata
1464
+ });
1465
+ var AppDeploymentSchema = z.object({
1466
+ id: z.string().uuid(),
1467
+ deploymentBaseUrl: z.string()
1468
+ }).passthrough();
1469
+ var CompleteAppDeploymentSchema = z.object({
1470
+ appDeployment: AppDeploymentSchema
1471
+ });
1472
+ var CreateAppDeploymentSchema = z.object({
1473
+ staticFilesUploadUrls: z.array(StaticFileUploadUrlSchema).optional(),
1474
+ uploadAuthToken: z.string(),
1475
+ appDeployment: AppDeploymentSchema.optional()
1476
+ });
1477
+ var StaticFileUploadSchema = z.object({
1478
+ result: z.object({
1479
+ jwt: z.string()
1480
+ })
1481
+ }).passthrough();
1482
+
1483
+ // ../cli-astro-commands/src/clients/velo-backend/velo-backend-client.ts
1484
+ var { minRetryTimeout } = getTestOverrides();
1485
+ var VeloBackendClient = class {
1486
+ constructor(httpClient) {
1487
+ this.httpClient = httpClient;
1488
+ this.retryOptions = {
1489
+ retries: 3,
1490
+ minTimeout: minRetryTimeout,
1491
+ maxTimeout: 3 * 1e3
1492
+ };
1493
+ }
1494
+ retryOptions;
1495
+ createAppDeployment = async (appId, staticFilesMetadata) => {
1496
+ try {
1497
+ const { data } = await pRetry(
1498
+ () => this.httpClient.request(
1499
+ createAppDeployment({
1500
+ appDeployment: {
1501
+ appProjectId: appId,
1502
+ staticFilesMetadata
1503
+ }
1504
+ })
1505
+ ),
1506
+ this.retryOptions
1507
+ );
1508
+ return CreateAppDeploymentSchema.parse(data);
1509
+ } catch (e) {
1510
+ throw new CliError({
1511
+ code: CliErrorCode.FailedCreatingAppDeployment(),
1512
+ cause: e
1513
+ });
1514
+ }
1515
+ };
1516
+ completeAppDeployment = async (appDeployment, staticsCompletionToken) => {
1517
+ try {
1518
+ const { data } = await pRetry(
1519
+ () => this.httpClient.request(
1520
+ completeAppDeployment({
1521
+ appDeployment,
1522
+ staticsCompletionToken
1523
+ })
1524
+ ),
1525
+ this.retryOptions
1526
+ );
1527
+ return CompleteAppDeploymentSchema.parse(data).appDeployment;
1528
+ } catch (e) {
1529
+ throw new CliError({
1530
+ code: CliErrorCode.FailedFinalizingAppDeployment(),
1531
+ cause: e
1532
+ });
1533
+ }
1534
+ };
1535
+ postForm = async (endpointUrl, token, formData) => {
1536
+ try {
1537
+ const responseJson = await pRetry(
1538
+ async () => {
1539
+ const response = await fetch(endpointUrl, {
1540
+ method: "POST",
1541
+ headers: {
1542
+ Authorization: `Bearer ${token}`
1543
+ },
1544
+ body: formData
1545
+ });
1546
+ if (!response.ok) {
1547
+ throw new Error(response.statusText);
1548
+ }
1549
+ return response.json();
1550
+ },
1551
+ { retries: 3 }
1552
+ );
1553
+ return StaticFileUploadSchema.parse(responseJson);
1554
+ } catch (e) {
1555
+ throw new CliError({
1556
+ code: CliErrorCode.FailedToUploadStaticFiles(),
1557
+ cause: e
1558
+ });
1559
+ }
1560
+ };
1561
+ };
1562
+
1563
+ // ../cli-astro-commands/src/clients/velo-backend/useVeloBackendClient.ts
1564
+ function useVeloBackendClient() {
1565
+ const httpClient = useHttpClient({ type: "backoffice" });
1566
+ return (0, import_react2.useMemo)(() => new VeloBackendClient(httpClient), [httpClient]);
1567
+ }
1568
+
1569
+ // ../cli-astro-commands/src/components/PreviewCommand/hooks/useDeployFiles.ts
1570
+ function useDeployFiles() {
1483
1571
  const {
1484
1572
  model: {
1485
- config: { projectId }
1573
+ projectFolder,
1574
+ config: { appId }
1486
1575
  }
1487
1576
  } = useProjectModel();
1488
- const wixstroClient = useWixstroClient();
1489
- return useAsyncCallback(
1490
- async (_, files, tokens, environment) => {
1491
- const toBlob = (buffer, mimeType) => new Blob([buffer], { type: mimeType });
1492
- const filesWithBuffer = await Promise.all(
1493
- files.map(async (file) => {
1494
- const buffer = await fs2.readFile(file.path);
1495
- return { ...file, buffer };
1496
- })
1497
- );
1498
- const formData = new FormData();
1499
- const metadataBlob = new Blob(
1500
- [
1501
- JSON.stringify({
1502
- environment,
1503
- deploymentToken: tokens.deploymentToken,
1504
- jwtCompletionToken: tokens.completionToken
1505
- })
1506
- ],
1507
- { type: "application/json" }
1577
+ const veloBackendClient = useVeloBackendClient();
1578
+ return useAsyncCallback(async (_, files) => {
1579
+ const clientFilesMetadata = await Promise.all(
1580
+ files.client.map(getStaticFileMetadata)
1581
+ );
1582
+ const { appDeployment, staticFilesUploadUrls, uploadAuthToken } = await veloBackendClient.createAppDeployment(appId, clientFilesMetadata);
1583
+ const uploadLimiter = pLimit(3);
1584
+ let lastUploadAuthToken = uploadAuthToken;
1585
+ if (staticFilesUploadUrls?.length && lastUploadAuthToken) {
1586
+ const uploadPromises = staticFilesUploadUrls.map(
1587
+ ({ uploadUrl, staticFileMetadata: staticFileMetadata2 }) => {
1588
+ return uploadLimiter(async () => {
1589
+ const formData = await buildFormData(
1590
+ projectFolder,
1591
+ staticFileMetadata2
1592
+ );
1593
+ const {
1594
+ result: { jwt: responseUploadToken }
1595
+ } = await veloBackendClient.postForm(
1596
+ uploadUrl,
1597
+ lastUploadAuthToken,
1598
+ formData
1599
+ );
1600
+ if (responseUploadToken) {
1601
+ lastUploadAuthToken = responseUploadToken;
1602
+ }
1603
+ return responseUploadToken;
1604
+ });
1605
+ }
1508
1606
  );
1509
- formData.append("metadata", metadataBlob);
1510
- for (const file of filesWithBuffer) {
1511
- formData.append(
1512
- `worker/${file.relativePath}`,
1513
- toBlob(
1514
- file.buffer,
1515
- src_default.getType(file.path) ?? "application/octet-stream"
1516
- )
1517
- );
1518
- }
1519
- const deployResult = await wixstroClient.deployV2({
1520
- projectId,
1521
- formData
1522
- });
1523
- return deployResult;
1607
+ await Promise.all(uploadPromises);
1524
1608
  }
1609
+ const backendFiles = await Promise.all(
1610
+ files.server.map(getBackendFileData)
1611
+ );
1612
+ const completeAppDeployment2 = await veloBackendClient.completeAppDeployment(
1613
+ {
1614
+ ...appDeployment,
1615
+ files: backendFiles
1616
+ },
1617
+ lastUploadAuthToken
1618
+ );
1619
+ return {
1620
+ deploymentId: completeAppDeployment2.id,
1621
+ deploymentBaseUrl: completeAppDeployment2.deploymentBaseUrl
1622
+ };
1623
+ });
1624
+ }
1625
+ async function getStaticFileMetadata(file) {
1626
+ const stats = await fs.promises.stat(file.path);
1627
+ const fileContent = await fs.promises.readFile(file.path);
1628
+ const hash = crypto.createHash("md5").update(fileContent).digest("hex");
1629
+ return {
1630
+ size: stats.size,
1631
+ hash,
1632
+ contentType: src_default.getType(file.path),
1633
+ path: `/${file.relativePath}`
1634
+ };
1635
+ }
1636
+ async function getBackendFileData(file) {
1637
+ const buffer = await fs.promises.readFile(file.path);
1638
+ return { path: file.relativePath, content: buffer.toString("base64") };
1639
+ }
1640
+ async function buildFormData(projectFolder, staticFileMetadata2) {
1641
+ const form = new FormData();
1642
+ const fileContents = await fs.promises.readFile(
1643
+ path.join(projectFolder, "dist", staticFileMetadata2.path)
1644
+ );
1645
+ form.append(
1646
+ staticFileMetadata2.hash,
1647
+ new File([fileContents.toString("base64")], staticFileMetadata2.hash, {
1648
+ type: staticFileMetadata2.contentType
1649
+ }),
1650
+ staticFileMetadata2.hash
1525
1651
  );
1652
+ return form;
1526
1653
  }
1527
1654
 
1528
1655
  // ../cli-astro-commands/src/components/PreviewCommand/Preview.tsx
1529
1656
  var Preview = ({ environment, baseUrl, onPreviewCreated }) => {
1530
1657
  const { model } = useProjectModel();
1531
- const arm = useARMClient();
1658
+ const armClient = useARMClient();
1532
1659
  const loadBuildFiles = useLoadBuildFiles();
1533
- const uploadClientFiles = useUploadClientFiles();
1534
- const uploadServerFiles = useUploadServerFiles();
1660
+ const deployFiles = useDeployFiles();
1535
1661
  const updateDeploymentTopology = useUpdateDeploymentTopology();
1536
- const updateManifest = useUpdateManifest();
1662
+ const { updateManifest, updateManifestWithBackendWorker } = useUpdateManifest();
1537
1663
  const uploadApplicationAction = useAsyncCallback(
1538
1664
  async (_, baseUrl2) => {
1539
1665
  const buildFiles = await loadBuildFiles.execute();
1540
- const { deploymentToken, completionToken } = await uploadClientFiles.execute(buildFiles.client);
1541
- const result = await uploadServerFiles.execute(
1542
- buildFiles.server,
1543
- { deploymentToken, completionToken },
1544
- environment
1545
- );
1546
- return baseUrl2 ?? `https://${result.domain}/`;
1666
+ const { deploymentBaseUrl, deploymentId } = await deployFiles.execute(buildFiles);
1667
+ return {
1668
+ deploymentUrl: baseUrl2 ?? deploymentBaseUrl,
1669
+ deploymentId
1670
+ };
1547
1671
  }
1548
1672
  );
1549
1673
  const createPreviewTagAction = useAsyncCallback(
1550
- async (_, serverUrl) => {
1674
+ async (_, serverUrl, deploymentId) => {
1551
1675
  const manifest = await readAppManifestFile(model.projectFolder);
1552
- const updatedManifest = updateManifest(manifest, serverUrl);
1553
- return arm.createAppRelease(updatedManifest, model.config.projectId);
1676
+ const updatedManifest = updateManifest(
1677
+ updateManifestWithBackendWorker(manifest, deploymentId),
1678
+ serverUrl
1679
+ );
1680
+ return armClient.createAppRelease(updatedManifest, model.config.appId);
1554
1681
  }
1555
1682
  );
1556
1683
  const { status: createPreviewStatus } = useAsync(async () => {
1557
1684
  await assertBuildOutputExists(model.projectFolder);
1558
- const serverUrl = await uploadApplicationAction.execute(baseUrl);
1559
- const armTag = await createPreviewTagAction.execute(serverUrl);
1685
+ const { deploymentUrl: depoymentUrl, deploymentId } = await uploadApplicationAction.execute(baseUrl);
1686
+ const armTag = await createPreviewTagAction.execute(
1687
+ depoymentUrl,
1688
+ deploymentId
1689
+ );
1560
1690
  await updateDeploymentTopology.execute({
1561
- serverUrl,
1691
+ serverUrl: depoymentUrl,
1562
1692
  armTag,
1563
1693
  environment
1564
1694
  });
1565
- onPreviewCreated?.({ armTag, serverUrl });
1566
- return { armTag, serverUrl };
1695
+ onPreviewCreated?.({ armTag, serverUrl: depoymentUrl });
1696
+ return { armTag, depoymentUrl };
1567
1697
  }, []);
1568
- return /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement(
1698
+ return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(
1569
1699
  ActionStatus,
1570
1700
  {
1571
1701
  status: uploadApplicationAction.status,
1572
1702
  loadingText: "Uploading your application files...",
1573
1703
  successText: "Uploaded successfully!"
1574
1704
  }
1575
- ), /* @__PURE__ */ import_react2.default.createElement(
1705
+ ), /* @__PURE__ */ import_react3.default.createElement(
1576
1706
  ActionStatus,
1577
1707
  {
1578
1708
  status: createPreviewTagAction.status,
1579
1709
  loadingText: "Creating a preview...",
1580
1710
  successText: "Preview created successfully!"
1581
1711
  }
1582
- ), /* @__PURE__ */ import_react2.default.createElement(
1712
+ ), /* @__PURE__ */ import_react3.default.createElement(
1583
1713
  ActionStatus,
1584
1714
  {
1585
1715
  status: updateDeploymentTopology.status,
@@ -1589,7 +1719,7 @@ var Preview = ({ environment, baseUrl, onPreviewCreated }) => {
1589
1719
  ), (0, import_variant2.match)(createPreviewStatus, {
1590
1720
  Error: () => null,
1591
1721
  Loading: () => null,
1592
- Success: ({ result: { armTag, serverUrl } }) => /* @__PURE__ */ import_react2.default.createElement(Box_default, { rowGap: 1, marginY: 1, flexDirection: "column" }, /* @__PURE__ */ import_react2.default.createElement(Text, null, "Open the preview on:"), /* @__PURE__ */ import_react2.default.createElement(Box_default, { paddingLeft: 2, flexDirection: "column" }, /* @__PURE__ */ import_react2.default.createElement(PlatformLink, { url: serverUrl, label: "Site" }), /* @__PURE__ */ import_react2.default.createElement(
1722
+ Success: ({ result: { armTag, depoymentUrl } }) => /* @__PURE__ */ import_react3.default.createElement(Box_default, { rowGap: 1, marginY: 1, flexDirection: "column" }, /* @__PURE__ */ import_react3.default.createElement(Text, null, "Open the preview on:"), /* @__PURE__ */ import_react3.default.createElement(Box_default, { paddingLeft: 2, flexDirection: "column" }, /* @__PURE__ */ import_react3.default.createElement(PlatformLink, { url: depoymentUrl, label: "Site" }), /* @__PURE__ */ import_react3.default.createElement(
1593
1723
  PlatformLink,
1594
1724
  {
1595
1725
  url: `https://manage.wix.com/dashboard/${model.config.siteId}?apps-override=${armTag}`,
@@ -1606,7 +1736,7 @@ var PreviewCommand = ({ environment, baseUrl, onPreviewCreated }) => {
1606
1736
  config: { siteId }
1607
1737
  }
1608
1738
  } = useProjectModel();
1609
- return /* @__PURE__ */ import_react3.default.createElement(SiteAuthProvider, { siteId }, /* @__PURE__ */ import_react3.default.createElement(
1739
+ return /* @__PURE__ */ import_react4.default.createElement(SiteAuthProvider, { siteId }, /* @__PURE__ */ import_react4.default.createElement(
1610
1740
  Preview,
1611
1741
  {
1612
1742
  baseUrl,
@@ -1620,4 +1750,4 @@ export {
1620
1750
  assertBuildOutputExists,
1621
1751
  PreviewCommand
1622
1752
  };
1623
- //# sourceMappingURL=chunk-LDZEOWUV.js.map
1753
+ //# sourceMappingURL=chunk-L6ABBZNR.js.map