@wix/cli 1.1.91 → 1.1.92

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 (200) hide show
  1. package/build/{DevCommand-QHZVRDYJ.js → DevCommand-DEUDOCGK.js} +13 -13
  2. package/build/{DevCommand-5MI3LGKL.js → DevCommand-PWVR7KPG.js} +23 -22
  3. package/build/{DevCommand-5MI3LGKL.js.map → DevCommand-PWVR7KPG.js.map} +1 -1
  4. package/build/DevCommand-V4NLJPXS.js +438 -0
  5. package/build/DevCommand-V4NLJPXS.js.map +1 -0
  6. package/build/{EnvPullCommand-S44DEJJW.js → EnvPullCommand-IYWK5KBC.js} +10 -9
  7. package/build/{EnvPullCommand-S44DEJJW.js.map → EnvPullCommand-IYWK5KBC.js.map} +1 -1
  8. package/build/{EnvSetCommand-ZNALSH6J.js → EnvSetCommand-SSNEWXCX.js} +10 -9
  9. package/build/{EnvSetCommand-ZNALSH6J.js.map → EnvSetCommand-SSNEWXCX.js.map} +1 -1
  10. package/build/GenerateCommand-PW2OA55C.js +9260 -0
  11. package/build/GenerateCommand-PW2OA55C.js.map +1 -0
  12. package/build/{InstallCommand-FSO7COMX.js → InstallCommand-EUIXWKR2.js} +17 -17
  13. package/build/{LoginCommand-PWZDKRYA.js → LoginCommand-N7VGSH5Y.js} +9 -9
  14. package/build/{LogoutCommand-4QR73A4S.js → LogoutCommand-NXTHVFG5.js} +6 -6
  15. package/build/{PreviewCommand-VDUXYCLU.js → PreviewCommand-BZTD3F7Z.js} +12 -11
  16. package/build/{PreviewCommand-WBCLHU2E.js → PreviewCommand-JDV4BZ32.js} +17 -17
  17. package/build/{PreviewCommand-63RZJ7FR.js → PreviewCommand-LPWUUZQG.js} +16 -16
  18. package/build/{PublishCommand-MMWHHPQR.js → PublishCommand-WF2ZNXFD.js} +16 -16
  19. package/build/ReleaseCommand-KYSWC62Q.js +160 -0
  20. package/build/ReleaseCommand-KYSWC62Q.js.map +1 -0
  21. package/build/{UninstallCommand-5YSPG3YF.js → UninstallCommand-BABBSOQX.js} +17 -17
  22. package/build/{WhoamiCommand-MMPSNCAC.js → WhoamiCommand-JVMX7IEJ.js} +2 -2
  23. package/build/{chunk-UBEDMR6E.js → chunk-3BDYAFJY.js} +2 -2
  24. package/build/{chunk-VYJY4BVK.js → chunk-3PAHQ4M3.js} +3 -3
  25. package/build/{chunk-JZYNKY5S.js → chunk-3PSJY5IQ.js} +8 -13
  26. package/build/chunk-3PSJY5IQ.js.map +1 -0
  27. package/build/{chunk-NMNBQXLI.js → chunk-45WBL5VF.js} +4 -4
  28. package/build/{chunk-YDMWIADQ.js → chunk-4B4DIFAD.js} +6 -6
  29. package/build/{chunk-K4WA6TGX.js → chunk-4O4G7HN2.js} +5 -4
  30. package/build/chunk-4O4G7HN2.js.map +1 -0
  31. package/build/chunk-5L3ZCEVU.js +831 -0
  32. package/build/chunk-5L3ZCEVU.js.map +1 -0
  33. package/build/{chunk-PP6UPXMD.js → chunk-6MH74EYT.js} +3 -3
  34. package/build/{chunk-EIP3LX47.js → chunk-6PQJVCVI.js} +2 -2
  35. package/build/{chunk-3JPPXRJN.js → chunk-6ZIRLJMJ.js} +3 -3
  36. package/build/{chunk-EK2SY3GO.js → chunk-AA5HURS5.js} +2 -2
  37. package/build/{chunk-WD6CJCOU.js → chunk-CMCIM2FR.js} +2 -2
  38. package/build/{chunk-FF6GLWGB.js → chunk-CXFPYQVY.js} +4 -4
  39. package/build/{chunk-CGDYTPAX.js → chunk-DUYQZPRH.js} +2 -2
  40. package/build/{chunk-T5W2UQPN.js → chunk-DXCSR2HI.js} +4 -4
  41. package/build/{chunk-ZX4MDEB5.js → chunk-EJEDZZSK.js} +7 -1
  42. package/build/{chunk-ZX4MDEB5.js.map → chunk-EJEDZZSK.js.map} +1 -1
  43. package/build/chunk-F6AKDZEI.js +432 -0
  44. package/build/chunk-F6AKDZEI.js.map +1 -0
  45. package/build/{chunk-E5UR44WA.js → chunk-GIEJ7SOR.js} +2 -2
  46. package/build/{chunk-5PYHIT42.js → chunk-GXTU3764.js} +2 -2
  47. package/build/{chunk-3FZAADQZ.js → chunk-I3MNONAI.js} +2 -2
  48. package/build/{chunk-E3CANK7S.js → chunk-I4LXL264.js} +2 -2
  49. package/build/{chunk-KG4WP7FX.js → chunk-ISBULSWD.js} +6 -6
  50. package/build/{chunk-NHJIXRUI.js → chunk-JHYR5NET.js} +6 -6
  51. package/build/{chunk-P3NZ2754.js → chunk-JSW5O26R.js} +10 -46
  52. package/build/chunk-JSW5O26R.js.map +1 -0
  53. package/build/{chunk-ITRA36T5.js → chunk-KEX4DNHZ.js} +2 -2
  54. package/build/{chunk-3TTGIG4O.js → chunk-M2VJGFDS.js} +2 -2
  55. package/build/{chunk-7SMAKCCK.js → chunk-MOBNZ5R6.js} +9 -9
  56. package/build/{chunk-267AMUWF.js → chunk-NVW5X3UB.js} +2 -2
  57. package/build/chunk-P7ANNBCZ.js +24 -0
  58. package/build/chunk-P7ANNBCZ.js.map +1 -0
  59. package/build/{chunk-BOGU34IM.js → chunk-PKZ6J2PV.js} +2 -2
  60. package/build/{chunk-PH4SUDIN.js → chunk-Q7E6CZ3C.js} +8 -8
  61. package/build/{chunk-ZI5H23IX.js → chunk-RIDZNJ65.js} +4 -4
  62. package/build/{chunk-XFFBI6U3.js → chunk-RJG6WEKO.js} +2 -2
  63. package/build/{chunk-WHWIF3DO.js → chunk-RYKJWCW2.js} +2 -2
  64. package/build/{chunk-2JBKA7NS.js → chunk-VWHAW4FC.js} +5 -5
  65. package/build/{chunk-QANV2BNY.js → chunk-W3FB2GVG.js} +135 -781
  66. package/build/chunk-W3FB2GVG.js.map +1 -0
  67. package/build/{DevCommand-WNMNSSN4.js → chunk-W7CODLJZ.js} +256 -668
  68. package/build/chunk-W7CODLJZ.js.map +1 -0
  69. package/build/{chunk-FNJNKOMZ.js → chunk-X24UQ77D.js} +8 -427
  70. package/build/chunk-X24UQ77D.js.map +1 -0
  71. package/build/{chunk-ZGTDGCPI.js → chunk-XLGJQZZA.js} +2 -2
  72. package/build/{chunk-DF6KL3WF.js → chunk-Y3ZAEZF4.js} +3 -3
  73. package/build/{ReleaseCommand-PJ4EYH5O.js → chunk-YFBUO3EP.js} +10 -142
  74. package/build/chunk-YFBUO3EP.js.map +1 -0
  75. package/build/{chunk-3F7WAIMW.js → chunk-YVQDNTNO.js} +618 -133
  76. package/build/chunk-YVQDNTNO.js.map +1 -0
  77. package/build/{chunk-VJBYOADN.js → chunk-ZCKZMMPY.js} +2 -2
  78. package/build/{dev-HLK6X555.js → dev-T5EAJRHG.js} +27 -26
  79. package/build/{dev-HLK6X555.js.map → dev-T5EAJRHG.js.map} +1 -1
  80. package/build/index.js +22 -22
  81. package/build/{install-TGGF47D3.js → install-EG5K5ISY.js} +15 -15
  82. package/build/{preview-LL7QLO4Z.js → preview-HGI3D6BP.js} +14 -13
  83. package/build/{preview-LL7QLO4Z.js.map → preview-HGI3D6BP.js.map} +1 -1
  84. package/build/{publish-USSTCQED.js → publish-GAJZYSXP.js} +23 -23
  85. package/build/{render-command-5ST6NJ7L.js → render-command-7VCI6YSZ.js} +10 -10
  86. package/build/{render-command-6V3T7WJ4.js → render-command-AJ4JXBZD.js} +10 -10
  87. package/build/{render-command-J6PG35XP.js → render-command-I2UZ4C56.js} +12 -12
  88. package/build/{render-command-ONEH7L45.js → render-command-SFFANX7U.js} +12 -12
  89. package/build/{render-command-GQX7Z575.js → render-command-UUPZCQR5.js} +8 -8
  90. package/build/{run-command-LOM7S2VN.js → run-command-YOFPOYKR.js} +6 -6
  91. package/build/{src-AKTC65RR.js → src-36YXA45Z.js} +6 -6
  92. package/build/{src-DQDO7JJM.js → src-FQXVNQBP.js} +13 -13
  93. package/build/{src-S7BEPJAC.js → src-G4VTAB7N.js} +5 -5
  94. package/build/{src-UMNJY6SI.js → src-LGPI7BEK.js} +33 -22
  95. package/build/src-LGPI7BEK.js.map +1 -0
  96. package/build/{src-OLQ56DHH.js → src-TCOQJWS6.js} +3 -3
  97. package/build/{src-TWILNX3D.js → src-TNYBYQC2.js} +16 -16
  98. package/build/{src-EIIRLLLJ.js → src-WOCAZXWW.js} +3 -3
  99. package/build/{sync-types-EJ6LAFZB.js → sync-types-IQMRAUS5.js} +11 -11
  100. package/build/{uninstall-APR3H7UF.js → uninstall-L6EBLGL3.js} +15 -15
  101. package/package.json +4 -3
  102. package/templates/astro/dashboard-menu-plugin/files/extension.json.ejs +4 -0
  103. package/templates/astro/dashboard-modal/dependencies.json +12 -0
  104. package/templates/astro/dashboard-modal/files/extension.json.ejs +4 -0
  105. package/templates/astro/dashboard-modal/files/modal.tsx.ejs +46 -0
  106. package/templates/astro/dashboard-page/dependencies.json +11 -0
  107. package/templates/astro/dashboard-page/files/extension.json.ejs +4 -0
  108. package/templates/astro/dashboard-page/files/page.tsx.ejs +28 -0
  109. package/templates/astro/dashboard-plugin/dependencies.json +11 -0
  110. package/templates/astro/dashboard-plugin/files/extensions.json.ejs +4 -0
  111. package/templates/astro/dashboard-plugin/files/widget.tsx.ejs +43 -0
  112. package/templates/astro/event/dependencies.json +5 -0
  113. package/templates/astro/event/files/event.ts.ejs +19 -0
  114. package/templates/astro/event/files/extension.json.ejs +4 -0
  115. package/templates/astro/service-plugin/ecom-additional-fees/dependencies.json +5 -0
  116. package/templates/astro/service-plugin/ecom-additional-fees/files/extension.json.ejs +4 -0
  117. package/templates/astro/service-plugin/ecom-additional-fees/files/plugin.ts.ejs +12 -0
  118. package/templates/astro/service-plugin/ecom-discounts-trigger/dependencies.json +5 -0
  119. package/templates/astro/service-plugin/ecom-discounts-trigger/files/extension.json.ejs +4 -0
  120. package/templates/astro/service-plugin/ecom-discounts-trigger/files/plugin.ts.ejs +17 -0
  121. package/templates/astro/service-plugin/ecom-payment-settings/dependencies.json +5 -0
  122. package/templates/astro/service-plugin/ecom-payment-settings/files/extension.json.ejs +4 -0
  123. package/templates/astro/service-plugin/ecom-payment-settings/files/plugin.ts.ejs +12 -0
  124. package/templates/astro/service-plugin/ecom-shipping-rates/dependencies.json +5 -0
  125. package/templates/astro/service-plugin/ecom-shipping-rates/files/extension.json.ejs +4 -0
  126. package/templates/astro/service-plugin/ecom-shipping-rates/files/plugin.ts.ejs +12 -0
  127. package/templates/astro/service-plugin/ecom-validations/dependencies.json +5 -0
  128. package/templates/astro/service-plugin/ecom-validations/files/extension.json.ejs +4 -0
  129. package/templates/astro/service-plugin/ecom-validations/files/plugin.ts.ejs +12 -0
  130. package/templates/astro/service-plugin/gift-cards-provider/dependencies.json +5 -0
  131. package/templates/astro/service-plugin/gift-cards-provider/files/extension.json.ejs +4 -0
  132. package/templates/astro/service-plugin/gift-cards-provider/files/plugin.ts.ejs +26 -0
  133. package/build/DevCommand-WNMNSSN4.js.map +0 -1
  134. package/build/ReleaseCommand-PJ4EYH5O.js.map +0 -1
  135. package/build/chunk-3F7WAIMW.js.map +0 -1
  136. package/build/chunk-FNJNKOMZ.js.map +0 -1
  137. package/build/chunk-JZYNKY5S.js.map +0 -1
  138. package/build/chunk-K4WA6TGX.js.map +0 -1
  139. package/build/chunk-P3NZ2754.js.map +0 -1
  140. package/build/chunk-QANV2BNY.js.map +0 -1
  141. package/build/chunk-YOQ3HNUG.js +0 -128
  142. package/build/chunk-YOQ3HNUG.js.map +0 -1
  143. package/build/src-UMNJY6SI.js.map +0 -1
  144. /package/build/{DevCommand-QHZVRDYJ.js.map → DevCommand-DEUDOCGK.js.map} +0 -0
  145. /package/build/{InstallCommand-FSO7COMX.js.map → InstallCommand-EUIXWKR2.js.map} +0 -0
  146. /package/build/{LoginCommand-PWZDKRYA.js.map → LoginCommand-N7VGSH5Y.js.map} +0 -0
  147. /package/build/{LogoutCommand-4QR73A4S.js.map → LogoutCommand-NXTHVFG5.js.map} +0 -0
  148. /package/build/{PreviewCommand-VDUXYCLU.js.map → PreviewCommand-BZTD3F7Z.js.map} +0 -0
  149. /package/build/{PreviewCommand-WBCLHU2E.js.map → PreviewCommand-JDV4BZ32.js.map} +0 -0
  150. /package/build/{PreviewCommand-63RZJ7FR.js.map → PreviewCommand-LPWUUZQG.js.map} +0 -0
  151. /package/build/{PublishCommand-MMWHHPQR.js.map → PublishCommand-WF2ZNXFD.js.map} +0 -0
  152. /package/build/{UninstallCommand-5YSPG3YF.js.map → UninstallCommand-BABBSOQX.js.map} +0 -0
  153. /package/build/{WhoamiCommand-MMPSNCAC.js.map → WhoamiCommand-JVMX7IEJ.js.map} +0 -0
  154. /package/build/{chunk-UBEDMR6E.js.map → chunk-3BDYAFJY.js.map} +0 -0
  155. /package/build/{chunk-VYJY4BVK.js.map → chunk-3PAHQ4M3.js.map} +0 -0
  156. /package/build/{chunk-NMNBQXLI.js.map → chunk-45WBL5VF.js.map} +0 -0
  157. /package/build/{chunk-YDMWIADQ.js.map → chunk-4B4DIFAD.js.map} +0 -0
  158. /package/build/{chunk-PP6UPXMD.js.map → chunk-6MH74EYT.js.map} +0 -0
  159. /package/build/{chunk-EIP3LX47.js.map → chunk-6PQJVCVI.js.map} +0 -0
  160. /package/build/{chunk-3JPPXRJN.js.map → chunk-6ZIRLJMJ.js.map} +0 -0
  161. /package/build/{chunk-EK2SY3GO.js.map → chunk-AA5HURS5.js.map} +0 -0
  162. /package/build/{chunk-WD6CJCOU.js.map → chunk-CMCIM2FR.js.map} +0 -0
  163. /package/build/{chunk-FF6GLWGB.js.map → chunk-CXFPYQVY.js.map} +0 -0
  164. /package/build/{chunk-CGDYTPAX.js.map → chunk-DUYQZPRH.js.map} +0 -0
  165. /package/build/{chunk-T5W2UQPN.js.map → chunk-DXCSR2HI.js.map} +0 -0
  166. /package/build/{chunk-E5UR44WA.js.map → chunk-GIEJ7SOR.js.map} +0 -0
  167. /package/build/{chunk-5PYHIT42.js.map → chunk-GXTU3764.js.map} +0 -0
  168. /package/build/{chunk-3FZAADQZ.js.map → chunk-I3MNONAI.js.map} +0 -0
  169. /package/build/{chunk-E3CANK7S.js.map → chunk-I4LXL264.js.map} +0 -0
  170. /package/build/{chunk-KG4WP7FX.js.map → chunk-ISBULSWD.js.map} +0 -0
  171. /package/build/{chunk-NHJIXRUI.js.map → chunk-JHYR5NET.js.map} +0 -0
  172. /package/build/{chunk-ITRA36T5.js.map → chunk-KEX4DNHZ.js.map} +0 -0
  173. /package/build/{chunk-3TTGIG4O.js.map → chunk-M2VJGFDS.js.map} +0 -0
  174. /package/build/{chunk-7SMAKCCK.js.map → chunk-MOBNZ5R6.js.map} +0 -0
  175. /package/build/{chunk-267AMUWF.js.map → chunk-NVW5X3UB.js.map} +0 -0
  176. /package/build/{chunk-BOGU34IM.js.map → chunk-PKZ6J2PV.js.map} +0 -0
  177. /package/build/{chunk-PH4SUDIN.js.map → chunk-Q7E6CZ3C.js.map} +0 -0
  178. /package/build/{chunk-ZI5H23IX.js.map → chunk-RIDZNJ65.js.map} +0 -0
  179. /package/build/{chunk-XFFBI6U3.js.map → chunk-RJG6WEKO.js.map} +0 -0
  180. /package/build/{chunk-WHWIF3DO.js.map → chunk-RYKJWCW2.js.map} +0 -0
  181. /package/build/{chunk-2JBKA7NS.js.map → chunk-VWHAW4FC.js.map} +0 -0
  182. /package/build/{chunk-ZGTDGCPI.js.map → chunk-XLGJQZZA.js.map} +0 -0
  183. /package/build/{chunk-DF6KL3WF.js.map → chunk-Y3ZAEZF4.js.map} +0 -0
  184. /package/build/{chunk-VJBYOADN.js.map → chunk-ZCKZMMPY.js.map} +0 -0
  185. /package/build/{install-TGGF47D3.js.map → install-EG5K5ISY.js.map} +0 -0
  186. /package/build/{publish-USSTCQED.js.map → publish-GAJZYSXP.js.map} +0 -0
  187. /package/build/{render-command-5ST6NJ7L.js.map → render-command-7VCI6YSZ.js.map} +0 -0
  188. /package/build/{render-command-6V3T7WJ4.js.map → render-command-AJ4JXBZD.js.map} +0 -0
  189. /package/build/{render-command-J6PG35XP.js.map → render-command-I2UZ4C56.js.map} +0 -0
  190. /package/build/{render-command-ONEH7L45.js.map → render-command-SFFANX7U.js.map} +0 -0
  191. /package/build/{render-command-GQX7Z575.js.map → render-command-UUPZCQR5.js.map} +0 -0
  192. /package/build/{run-command-LOM7S2VN.js.map → run-command-YOFPOYKR.js.map} +0 -0
  193. /package/build/{src-AKTC65RR.js.map → src-36YXA45Z.js.map} +0 -0
  194. /package/build/{src-DQDO7JJM.js.map → src-FQXVNQBP.js.map} +0 -0
  195. /package/build/{src-S7BEPJAC.js.map → src-G4VTAB7N.js.map} +0 -0
  196. /package/build/{src-EIIRLLLJ.js.map → src-TCOQJWS6.js.map} +0 -0
  197. /package/build/{src-TWILNX3D.js.map → src-TNYBYQC2.js.map} +0 -0
  198. /package/build/{src-OLQ56DHH.js.map → src-WOCAZXWW.js.map} +0 -0
  199. /package/build/{sync-types-EJ6LAFZB.js.map → sync-types-IQMRAUS5.js.map} +0 -0
  200. /package/build/{uninstall-APR3H7UF.js.map → uninstall-L6EBLGL3.js.map} +0 -0
@@ -11,7 +11,7 @@ import {
11
11
  pathExists,
12
12
  readJson,
13
13
  writeJson
14
- } from "./chunk-ZX4MDEB5.js";
14
+ } from "./chunk-EJEDZZSK.js";
15
15
  import {
16
16
  init_esm_shims
17
17
  } from "./chunk-PYIAC2GK.js";
@@ -45,4 +45,4 @@ export {
45
45
  readUserConfig,
46
46
  updateUserConfig
47
47
  };
48
- //# sourceMappingURL=chunk-VJBYOADN.js.map
48
+ //# sourceMappingURL=chunk-ZCKZMMPY.js.map
@@ -2,43 +2,39 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  syncTypesWithAuth
5
- } from "./chunk-NMNBQXLI.js";
5
+ } from "./chunk-45WBL5VF.js";
6
6
  import {
7
7
  saveProjectModel
8
- } from "./chunk-E5UR44WA.js";
9
- import {
10
- loadProjectGridAppContent
11
- } from "./chunk-FF6GLWGB.js";
8
+ } from "./chunk-GIEJ7SOR.js";
12
9
  import {
13
10
  createLogger
14
- } from "./chunk-BOGU34IM.js";
11
+ } from "./chunk-PKZ6J2PV.js";
15
12
  import {
16
13
  createI18nT
17
- } from "./chunk-EIP3LX47.js";
14
+ } from "./chunk-6PQJVCVI.js";
18
15
  import {
19
16
  authenticate
20
- } from "./chunk-VYJY4BVK.js";
17
+ } from "./chunk-3PAHQ4M3.js";
21
18
  import "./chunk-BWQNSFZR.js";
19
+ import {
20
+ loadProjectGridAppContent
21
+ } from "./chunk-CXFPYQVY.js";
22
22
  import {
23
23
  httpRequest
24
- } from "./chunk-ITRA36T5.js";
24
+ } from "./chunk-KEX4DNHZ.js";
25
25
  import "./chunk-E4DQ4CV7.js";
26
26
  import {
27
27
  createVeloCLIServer,
28
28
  debounceQueue,
29
29
  require_chokidar
30
- } from "./chunk-XFFBI6U3.js";
30
+ } from "./chunk-RJG6WEKO.js";
31
31
  import {
32
32
  require_normalize_path
33
33
  } from "./chunk-EDFOB3LN.js";
34
- import {
35
- TunnelClient,
36
- launchTunnel
37
- } from "./chunk-JZYNKY5S.js";
38
- import "./chunk-DF6KL3WF.js";
34
+ import "./chunk-Y3ZAEZF4.js";
39
35
  import {
40
36
  updateFiles
41
- } from "./chunk-3TTGIG4O.js";
37
+ } from "./chunk-M2VJGFDS.js";
42
38
  import {
43
39
  GridAppLayout
44
40
  } from "./chunk-3BQ7YIZ5.js";
@@ -47,24 +43,29 @@ import {
47
43
  GridAppLayout as GridAppLayout2,
48
44
  createApp,
49
45
  pagesDiff
50
- } from "./chunk-5PYHIT42.js";
46
+ } from "./chunk-GXTU3764.js";
47
+ import {
48
+ TunnelClient,
49
+ launchTunnel
50
+ } from "./chunk-3PSJY5IQ.js";
51
+ import "./chunk-P7ANNBCZ.js";
51
52
  import "./chunk-CNXKF7E3.js";
52
53
  import "./chunk-3OG3PDAA.js";
53
54
  import "./chunk-OJHDGJWP.js";
54
- import "./chunk-CGDYTPAX.js";
55
+ import "./chunk-DUYQZPRH.js";
55
56
  import "./chunk-AII5FZC2.js";
56
- import "./chunk-EK2SY3GO.js";
57
+ import "./chunk-AA5HURS5.js";
57
58
  import {
58
59
  createHttpClient,
59
60
  isHttpError,
60
61
  openBrowser,
61
62
  pLimit
62
- } from "./chunk-2JBKA7NS.js";
63
+ } from "./chunk-VWHAW4FC.js";
63
64
  import {
64
65
  ErrorViewer,
65
66
  extractHttpError,
66
67
  writeCrashReport
67
- } from "./chunk-ZI5H23IX.js";
68
+ } from "./chunk-RIDZNJ65.js";
68
69
  import {
69
70
  wixCliCliMessageDisplayed,
70
71
  wixCliCodeHasBeenChanged,
@@ -72,18 +73,18 @@ import {
72
73
  wixCliReadyForReloadAfterCodeChange,
73
74
  wixCliUserResponseToCliMessage
74
75
  } from "./chunk-NPVP6ZBL.js";
75
- import "./chunk-3FZAADQZ.js";
76
+ import "./chunk-I3MNONAI.js";
76
77
  import "./chunk-GPEPI5XF.js";
77
78
  import {
78
79
  renderSync
79
- } from "./chunk-3F7WAIMW.js";
80
+ } from "./chunk-YVQDNTNO.js";
80
81
  import {
81
82
  require_react
82
83
  } from "./chunk-SO6EZMEL.js";
83
84
  import "./chunk-2K5KKUL3.js";
84
85
  import "./chunk-YU54OBFT.js";
85
86
  import "./chunk-XMTHMR2B.js";
86
- import "./chunk-VJBYOADN.js";
87
+ import "./chunk-ZCKZMMPY.js";
87
88
  import {
88
89
  getDebugLogFilePath,
89
90
  getPagesFolder,
@@ -97,7 +98,7 @@ import {
97
98
  import {
98
99
  outputFile,
99
100
  pathExists
100
- } from "./chunk-ZX4MDEB5.js";
101
+ } from "./chunk-EJEDZZSK.js";
101
102
  import "./chunk-SF2XPDVG.js";
102
103
  import {
103
104
  CliError,
@@ -814,4 +815,4 @@ async function dev(initialModel, { biLogger, errorReporter }, {
814
815
  export {
815
816
  dev
816
817
  };
817
- //# sourceMappingURL=dev-HLK6X555.js.map
818
+ //# sourceMappingURL=dev-T5EAJRHG.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../cli-site-old/src/dev/index.ts","../../cli-site-old/src/dev/dev.ts","../../../node_modules/exit-hook/index.js","../../cli-site-old/src/environment.ts","../../cli-site-old/src/gridapp/createGridApp.ts","../../cli-site-old/src/gridapp/error-handlers/maxFileSizeErrorHandler.ts","../../cli-site-old/src/gridapp/startGridAppUpdater.ts","../../cli-site-old/src/key-watcher.ts","../../cli-site-old/src/bi.ts","../../cli-site-old/src/dev/sync-all-to-revision.ts","../../cli-site-old/src/sources/index.ts","../../cli-site-old/src/sources/pages-diff.ts"],"sourcesContent":["export { dev } from './dev.js';\n","import { createVeloCLIServer } from '@wix/editor-velo-cli-comm-api';\nimport { openBrowser } from '@wix/user-browser';\nimport { asyncExitHook } from 'exit-hook';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { ErrorViewer } from '@wix/cli-error-reporting';\nimport { writeCrashReport } from '@wix/cli-debug-log';\nimport { getDebugLogFilePath } from '@wix/cli-core-definitions';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport { createElement } from 'react';\nimport { renderSync } from '@wix/cli-ui-kit';\nimport { createHttpClient, isHttpError } from '@wix/cli-http-client';\nimport type { Connection } from '@wix/cli-tunnel';\nimport { TunnelClient, launchTunnel } from '@wix/cli-tunnel';\nimport { getDevEditorBaseUrl } from '../environment.js';\nimport { createMutableGridApp } from '../gridapp/createGridApp.js';\nimport { startGridAppUpdater } from '../gridapp/startGridAppUpdater.js';\nimport { KeyWatcher } from '../key-watcher.js';\nimport type { ProjectModel } from '../model.js';\nimport { saveProjectModel } from '../model.js';\nimport { createLogger } from '../logger.js';\nimport { sitesBiEvents } from '../bi.js';\nimport { createI18nT } from '../i18n.js';\nimport { authenticate } from '../authentication.js';\nimport { syncAllToRevision } from './sync-all-to-revision.js';\n\nexport async function dev(\n initialModel: ProjectModel,\n { biLogger, errorReporter }: CommandServices,\n {\n https = false,\n tunnel: useTunnel = false,\n }: {\n https?: boolean;\n tunnel?: boolean;\n }\n) {\n let model = initialModel;\n const authState = await authenticate({\n metaSiteId: model.metaSiteId,\n biLogger,\n errorReporter,\n });\n\n const t = createI18nT();\n const logger = createLogger({ t });\n const biEvents = sitesBiEvents(biLogger);\n\n const server = createVeloCLIServer({ https });\n\n let gridAppId: string;\n try {\n gridAppId = await createMutableGridApp(model.projectFolder, {\n authState,\n });\n } catch (error) {\n const message = isHttpError(error)\n ? error.response?.data?.message\n : undefined;\n\n throw new CliError({\n code: CliErrorCode.FailedToCreateGridApp({\n error: message,\n }),\n cause: error,\n });\n }\n\n await syncAllToRevision(model, { authState }, logger);\n\n const { close } = startGridAppUpdater(\n model,\n gridAppId,\n {\n authState,\n onError(error) {\n logger.logNewLine();\n errorReporter.reportError(error);\n writeCrashReport(getDebugLogFilePath(model.projectFolder), error);\n renderSync(createElement(ErrorViewer, { error }));\n },\n },\n logger,\n biEvents\n );\n\n const onServerDisconnected = (devEditorUrl: string) => {\n const message = logger.logNoOpenedTab(devEditorUrl);\n biEvents.messageDisplayed({ model, message });\n };\n\n const onSyncDevEditorChanges = async (revision: string) => {\n if (revision !== model.revision) {\n const newModel = { ...model, revision };\n\n await saveProjectModel(newModel);\n const message = logger.logUpdatedLocalCodeToRevision({\n revision: newModel.revision,\n });\n biEvents.messageDisplayed({ message, model });\n\n await syncAllToRevision(newModel, { authState }, logger);\n\n model = newModel;\n }\n };\n\n const openLocalEditor = async (serverPort: number) => {\n biEvents.userResponse({\n action: 'Browser opened',\n message: 'Opening the Local Editor',\n model,\n });\n\n const devEditorUrl = getDevEditorUrl(serverPort);\n\n if (https) {\n await openBrowser(new URL(`https://localhost:${serverPort}`).href);\n } else {\n await openBrowser(devEditorUrl);\n }\n };\n\n let keyWatcher: KeyWatcher | undefined;\n let tunnel: Connection | undefined;\n\n const getDevEditorUrl = (serverPort: number) => {\n const url = new URL(model.metaSiteId, getDevEditorBaseUrl());\n\n if (tunnel) {\n url.searchParams.append('localEditorDestination', tunnel.domain);\n } else {\n url.searchParams.append('localPort', serverPort.toString());\n }\n\n url.searchParams.append('secureSocket', https.toString());\n\n return url.toString();\n };\n\n try {\n const { port: serverPort } = await server.serve(gridAppId, {\n getDevEditorUrl,\n });\n\n if (useTunnel) {\n const httpClient = createHttpClient({\n type: 'backoffice',\n getAppToken: authState.getAccessToken,\n });\n const tunnelClient = new TunnelClient(httpClient);\n tunnel = await launchTunnel(serverPort, tunnelClient);\n }\n\n const devEditorUrl = getDevEditorUrl(serverPort);\n\n server.on('disconnected', () => onServerDisconnected(devEditorUrl));\n server.on('syncDevEditorChanges', onSyncDevEditorChanges);\n\n keyWatcher = new KeyWatcher();\n\n logger.logOpeningBrowser(https);\n\n await openLocalEditor(serverPort);\n const { ctrlCPromise } = keyWatcher.watch();\n keyWatcher.on('e', () => openLocalEditor(serverPort));\n\n asyncExitHook(\n async () => {\n await server.close();\n tunnel?.close();\n },\n { wait: 500 }\n );\n await ctrlCPromise;\n } finally {\n keyWatcher?.unwatch();\n await Promise.all([server.close(), close(), tunnel?.close()]);\n }\n}\n","import process from 'node:process';\n\nconst asyncCallbacks = new Set();\nconst callbacks = new Set();\n\nlet isCalled = false;\nlet isRegistered = false;\n\nasync function exit(shouldManuallyExit, isSynchronous, signal) {\n\tif (isCalled) {\n\t\treturn;\n\t}\n\n\tisCalled = true;\n\n\tif (asyncCallbacks.size > 0 && isSynchronous) {\n\t\tconsole.error([\n\t\t\t'SYNCHRONOUS TERMINATION NOTICE:',\n\t\t\t'When explicitly exiting the process via process.exit or via a parent process,',\n\t\t\t'asynchronous tasks in your exitHooks will not run. Either remove these tasks,',\n\t\t\t'use gracefulExit() instead of process.exit(), or ensure your parent process',\n\t\t\t'sends a SIGINT to the process running this code.',\n\t\t].join(' '));\n\t}\n\n\tconst exitCode = 128 + signal;\n\n\tconst done = (force = false) => {\n\t\tif (force === true || shouldManuallyExit === true) {\n\t\t\tprocess.exit(exitCode); // eslint-disable-line unicorn/no-process-exit\n\t\t}\n\t};\n\n\tfor (const callback of callbacks) {\n\t\tcallback(exitCode);\n\t}\n\n\tif (isSynchronous) {\n\t\tdone();\n\t\treturn;\n\t}\n\n\tconst promises = [];\n\tlet forceAfter = 0;\n\tfor (const [callback, wait] of asyncCallbacks) {\n\t\tforceAfter = Math.max(forceAfter, wait);\n\t\tpromises.push(Promise.resolve(callback(exitCode)));\n\t}\n\n\t// Force exit if we exceeded our wait value\n\tconst asyncTimer = setTimeout(() => {\n\t\tdone(true);\n\t}, forceAfter);\n\n\tawait Promise.all(promises);\n\tclearTimeout(asyncTimer);\n\tdone();\n}\n\nfunction addHook(options) {\n\tconst {onExit, wait, isSynchronous} = options;\n\tconst asyncCallbackConfig = [onExit, wait];\n\n\tif (isSynchronous) {\n\t\tcallbacks.add(onExit);\n\t} else {\n\t\tasyncCallbacks.add(asyncCallbackConfig);\n\t}\n\n\tif (!isRegistered) {\n\t\tisRegistered = true;\n\n\t\t// Exit cases that support asynchronous handling\n\t\tprocess.once('beforeExit', exit.bind(undefined, true, false, -128));\n\t\tprocess.once('SIGINT', exit.bind(undefined, true, false, 2));\n\t\tprocess.once('SIGTERM', exit.bind(undefined, true, false, 15));\n\n\t\t// Explicit exit events. Calling will force an immediate exit and run all\n\t\t// synchronous hooks. Explicit exits must not extend the node process\n\t\t// artificially. Will log errors if asynchronous calls exist.\n\t\tprocess.once('exit', exit.bind(undefined, false, true, 0));\n\n\t\t// PM2 Cluster shutdown message. Caught to support async handlers with pm2,\n\t\t// needed because explicitly calling process.exit() doesn't trigger the\n\t\t// beforeExit event, and the exit event cannot support async handlers,\n\t\t// since the event loop is never called after it.\n\t\tprocess.on('message', message => {\n\t\t\tif (message === 'shutdown') {\n\t\t\t\texit(true, true, -128);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn () => {\n\t\tif (isSynchronous) {\n\t\t\tcallbacks.delete(onExit);\n\t\t} else {\n\t\t\tasyncCallbacks.delete(asyncCallbackConfig);\n\t\t}\n\t};\n}\n\nexport default function exitHook(onExit) {\n\tif (typeof onExit !== 'function') {\n\t\tthrow new TypeError('onExit must be a function');\n\t}\n\n\treturn addHook({\n\t\tonExit,\n\t\tisSynchronous: true,\n\t});\n}\n\nexport function asyncExitHook(onExit, options = {}) {\n\tif (typeof onExit !== 'function') {\n\t\tthrow new TypeError('onExit must be a function');\n\t}\n\n\tif (!(typeof options.wait === 'number' && options.wait > 0)) {\n\t\tthrow new TypeError('wait must be set to a positive numeric value');\n\t}\n\n\treturn addHook({\n\t\tonExit,\n\t\twait: options.wait,\n\t\tisSynchronous: false,\n\t});\n}\n\nexport function gracefulExit(signal = 0) {\n\texit(true, false, -128 + signal);\n}\n","import { getTestOverrides } from '@wix/cli-test-overrides';\n\nconst DEV_EDITOR_BASE_URL = 'https://wix.com/editor/';\n\nexport function getDevEditorBaseUrl(): string {\n return getTestOverrides().devEditorBaseUrl ?? DEV_EDITOR_BASE_URL;\n}\n","import type { AuthState } from '@wix/cli-auth';\nimport { createApp } from '@wix/ambassador-velo-apps-v1-app/http';\nimport type {\n App,\n CreateAppRequest,\n} from '@wix/ambassador-velo-apps-v1-app/types';\nimport { AppType } from '@wix/ambassador-velo-apps-v1-app/types';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { httpRequest } from '../http-request.js';\nimport { catchFilesMaxSizeError } from './error-handlers/maxFileSizeErrorHandler.js';\nimport { loadProjectGridAppContent } from './loadProjectGridAppContent.js';\n\nasync function createAppWithParams(\n params: CreateAppRequest,\n opts: {\n authState: AuthState;\n }\n): Promise<string> {\n let app: App | undefined;\n\n try {\n const response = await httpRequest(\n { type: 'code', authState: opts.authState },\n createApp(params)\n );\n app = response.data.app;\n } catch (err) {\n catchFilesMaxSizeError(err, params.content?.files);\n\n throw err;\n }\n\n if (!app?.id) {\n throw new CliError({\n code: CliErrorCode.InvalidCreateAppResponse(),\n info: { app },\n cause: null,\n });\n }\n\n return app.id;\n}\n\nexport async function createMutableGridApp(\n projectFolder: string,\n opts: {\n authState: AuthState;\n }\n) {\n const content = await loadProjectGridAppContent(projectFolder);\n\n return createAppWithParams(\n {\n app: {\n mutable: true,\n appType: AppType.VELO_ISOLATED,\n },\n content,\n },\n opts\n );\n}\n","import type { File } from '@wix/ambassador-velo-apps-v1-app/types';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { extractHttpError } from '@wix/cli-http-client';\n\nexport function catchFilesMaxSizeError(err: unknown, files: File[] = []) {\n if (!files.length) {\n return;\n }\n\n const httpError = extractHttpError(err);\n\n if (!httpError) {\n return;\n }\n\n const filesMaxSizeRawViolations =\n httpError.response?.data?.details?.validationError?.fieldViolations?.filter(\n (v: { violatedRule: string }) => v.violatedRule === 'MAX_LENGTH'\n );\n\n if (!filesMaxSizeRawViolations?.length) {\n return;\n }\n\n const maxSizeViolationsData = tryExtractMaxSizeViolationMetadata(\n filesMaxSizeRawViolations\n );\n\n throw new CliError({\n code: CliErrorCode.GridAppFilesMaxLengthExceeded({\n maxSizeViolationsData,\n filePaths: files.map((f) => f.path ?? '[unknown file path]'),\n }),\n cause: httpError,\n });\n}\n\nfunction tryExtractMaxSizeViolationMetadata(\n filesMaxSizeViolations: Array<{ field: string; description: string }>\n) {\n const fileIndexRegex = /\\[(?<fileIndex>\\d+)\\].content/;\n const expectedAndReceivedSizeRegex =\n /has size (?<receivedSize>\\d+), expected (?<expectedSize>\\d+) or less/;\n const violationsData: {\n expectedSize?: number;\n files: Array<{ fileIndex: number; receivedSize: number }>;\n } = {\n expectedSize: undefined,\n files: [],\n };\n\n for (const filesMaxSizeViolation of filesMaxSizeViolations) {\n const fileIndexMatchResult = fileIndexRegex.exec(\n filesMaxSizeViolation.field\n );\n const expectedAndReceivedSizeMatchResult =\n expectedAndReceivedSizeRegex.exec(filesMaxSizeViolation.description);\n\n if (\n !(\n fileIndexMatchResult?.groups?.fileIndex &&\n expectedAndReceivedSizeMatchResult?.groups?.receivedSize &&\n expectedAndReceivedSizeMatchResult.groups.expectedSize\n )\n ) {\n return null;\n }\n\n violationsData.expectedSize ??= Math.trunc(\n parseInt(expectedAndReceivedSizeMatchResult.groups.expectedSize, 10) /\n 1000\n );\n\n violationsData.files.push({\n receivedSize: Math.trunc(\n parseInt(expectedAndReceivedSizeMatchResult.groups.receivedSize, 10) /\n 1000\n ),\n fileIndex: parseInt(fileIndexMatchResult.groups.fileIndex, 10),\n });\n }\n\n return violationsData;\n}\n","import { readFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport type { AuthState } from '@wix/cli-auth';\nimport { updateFiles } from '@wix/ambassador-velo-ide-v1-gridapp-filestructure/http';\nimport { GridAppLayout } from '@wix/ambassador-velo-ide-v1-gridapp-filestructure/types';\nimport { getSourceFolder } from '@wix/velo-github-layout-definitions';\nimport { watch } from 'chokidar';\nimport { debounceQueue } from '@wix/debounce-queue';\nimport pLimit from 'p-limit';\nimport normalizePath from 'normalize-path';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { httpRequest } from '../http-request.js';\nimport type { ProjectModel } from '../model.js';\nimport type { Logger } from '../logger.js';\nimport type { SitesBiEvents } from '../bi.js';\nimport { catchFilesMaxSizeError } from './error-handlers/maxFileSizeErrorHandler.js';\n\ntype ChokidarEventParams = [\n 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n string,\n];\n\nconst WATCH_FS_EVENTS_DEBOUNCE_TIME = 1000;\n\nconst getSectionName = (path: string) => {\n if (path.startsWith('src/pages')) {\n return 'public';\n }\n if (path.startsWith('src/backend')) {\n return 'backend';\n }\n return 'other';\n};\n\nexport function startGridAppUpdater(\n model: ProjectModel,\n gridAppId: string,\n opts: {\n onError: (e: CliError) => void;\n authState: AuthState;\n },\n logger: Logger,\n biEvents: SitesBiEvents\n) {\n const { projectFolder } = model;\n const limit = pLimit(1);\n\n const watcher = watch(getSourceFolder(projectFolder), {\n disableGlobbing: true,\n cwd: projectFolder,\n ignoreInitial: true,\n })\n .on(\n 'all',\n debounceQueue(async (events: ChokidarEventParams[]) => {\n await limit(async () => {\n const logSynced = logger.logSyncingLocalCode();\n const { added, changed, removed } =\n normalizeChokidarBatchedEvents(events);\n const addedArray = Array.from(added.values()).map((path) => ({\n path,\n type: 'create',\n }));\n const changedArray = Array.from(changed.values()).map((path) => ({\n path,\n type: 'update',\n }));\n const removedArray = Array.from(removed.values()).map((path) => ({\n path,\n type: 'delete',\n }));\n\n for (const val of [...addedArray, ...changedArray, ...removedArray]) {\n biEvents.file({\n model,\n action: val.type as 'create' | 'update' | 'delete',\n path: val.path,\n oldPath: '',\n sectionName: getSectionName(val.path),\n });\n if (val.type === 'update') {\n biEvents.codeChanged(model, val.path);\n }\n }\n\n try {\n await writeFiles({\n filesToUpdate: await Promise.all(\n addedArray.concat(changedArray).map(async (val) => ({\n path: normalizePath(val.path),\n content: await readFile(\n join(projectFolder, val.path),\n 'utf8'\n ),\n }))\n ),\n removedArray,\n gridAppId,\n authState: opts.authState,\n });\n\n const message = logSynced.success();\n biEvents.messageDisplayed({ message, model });\n biEvents.readyForReloadAfterCodeChanged(model);\n } catch (e) {\n logSynced.fail();\n const error = new CliError({\n code: CliErrorCode.GridAppFailedToUpdateFiles(),\n cause: e,\n info: {\n added,\n changed,\n removed,\n },\n });\n opts.onError(error);\n }\n });\n }, WATCH_FS_EVENTS_DEBOUNCE_TIME)\n )\n .on('error', (e) => {\n const error = new CliError({\n code: CliErrorCode.FailedToWatchFiles(),\n cause: e,\n });\n\n opts.onError(error);\n });\n\n return { close: () => watcher.close() };\n}\n\nfunction normalizeChokidarBatchedEvents(events: ChokidarEventParams[]) {\n return events.reduce(\n (result, [eventType, filePath]) => {\n switch (eventType) {\n case 'add': {\n result.added.add(filePath);\n break;\n }\n case 'change': {\n result.changed.add(filePath);\n break;\n }\n case 'unlink': {\n result.added.delete(filePath);\n result.changed.delete(filePath);\n result.removed.add(filePath);\n break;\n }\n case 'unlinkDir': {\n const filePathAsDir = filePath.endsWith('/')\n ? filePath\n : `${filePath}/`;\n for (const filePath of result.added) {\n if (filePath.startsWith(filePathAsDir)) {\n result.added.delete(filePath);\n }\n }\n for (const filePath of result.changed) {\n if (filePath.startsWith(filePathAsDir)) {\n result.changed.delete(filePath);\n }\n }\n result.removed.add(filePath);\n break;\n }\n case 'addDir': {\n break;\n }\n }\n return result;\n },\n {\n added: new Set<string>(),\n changed: new Set<string>(),\n removed: new Set<string>(),\n }\n );\n}\n\nasync function writeFiles({\n filesToUpdate,\n removedArray,\n gridAppId,\n authState,\n}: {\n filesToUpdate: Array<{ path: string; content: string }>;\n removedArray: Array<{ path: string; type: string }>;\n gridAppId: string;\n authState: AuthState;\n}) {\n try {\n await httpRequest(\n {\n type: 'code',\n authState,\n },\n updateFiles({\n gridAppId,\n layout: GridAppLayout.GITHUB,\n filesToUpdate,\n ignoreForbiddenPaths: true,\n pathsToDelete: removedArray.map((val) => val.path),\n })\n );\n } catch (err) {\n catchFilesMaxSizeError(err, filesToUpdate);\n throw err;\n }\n}\n","import readline from 'node:readline';\nimport { stdin } from 'node:process';\n\ninterface Key {\n ctrl: boolean;\n name: string;\n sequence: string;\n meta: boolean;\n shift: boolean;\n}\n\ntype Callback = (key: Key) => void;\nexport class KeyWatcher {\n private actions = new Map<string, Callback>();\n\n private watchExitProcess() {\n return new Promise<void>((resolve) => {\n this.on('c', (key) => {\n if (key.ctrl) {\n resolve();\n }\n });\n });\n }\n\n on(key: string, callback: Callback) {\n this.actions.set(key, callback);\n }\n\n watch() {\n const rl = readline.createInterface(stdin);\n\n readline.emitKeypressEvents(stdin, rl);\n\n if (stdin.isTTY) {\n // This is required since in test we don't have a terminal and setRawMode is undefined\n stdin.setRawMode(true);\n stdin.setEncoding('utf8');\n }\n\n stdin.on('keypress', this.handleKeyPress);\n\n return {\n ctrlCPromise: this.watchExitProcess(),\n };\n }\n\n unwatch() {\n if (stdin.isTTY) {\n // This is required since in test we don't have a terminal and setRawMode is undefined\n stdin.setRawMode(false);\n }\n stdin.off('keypress', this.handleKeyPress);\n stdin.pause();\n this.actions.clear();\n }\n\n handleKeyPress = (_: string, key: Key) => {\n this.actions.get(key.name)?.(key);\n };\n}\n","import { randomUUID } from 'node:crypto';\nimport {\n wixCliFileFolderCreatedRenamedDeleted,\n wixCliCliMessageDisplayed,\n wixCliCodeHasBeenChanged,\n wixCliUserResponseToCliMessage,\n wixCliReadyForReloadAfterCodeChange,\n} from '@wix/bi-logger-wix-cli/v2';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport type { ProjectModel } from './model.js';\n\nexport const sitesBiEvents = (biLogger: BiLogger) => ({\n file: ({\n model,\n action,\n path,\n sectionName,\n oldPath,\n }: {\n model: ProjectModel;\n action: 'create' | 'update' | 'delete';\n path: string;\n sectionName: string;\n oldPath: string;\n }) => {\n void biLogger.report(\n wixCliFileFolderCreatedRenamedDeleted({\n action,\n path,\n sectionName,\n oldPath,\n siteRevision: Number(model.revision),\n })\n );\n },\n codeChanged: (model: ProjectModel, fileName: string) => {\n void biLogger.report(\n wixCliCodeHasBeenChanged({\n fileName,\n siteRevision: Number(model.revision),\n })\n );\n },\n readyForReloadAfterCodeChanged: (model: ProjectModel) => {\n void biLogger.report(\n wixCliReadyForReloadAfterCodeChange({\n siteRevision: Number(model.revision),\n })\n );\n },\n messageDisplayed: ({\n message,\n model,\n }: {\n message: string;\n model: ProjectModel;\n }) => {\n void biLogger.report(\n wixCliCliMessageDisplayed({\n message,\n messageId: randomUUID(),\n siteRevision: Number(model.revision),\n })\n );\n },\n userResponse: ({\n model,\n action,\n message,\n }: {\n model: ProjectModel;\n action: 'Browser opened';\n message: string;\n }) => {\n void biLogger.report(\n wixCliUserResponseToCliMessage({\n action,\n message,\n messageId: randomUUID(),\n siteRevision: Number(model.revision),\n })\n );\n },\n});\n\nexport type SitesBiEvents = ReturnType<typeof sitesBiEvents>;\n","import { rm } from 'node:fs/promises';\nimport type { AuthState } from '@wix/cli-auth';\nimport { writeCrashReport } from '@wix/cli-debug-log';\nimport { getTypesDir } from '@wix/velo-github-layout-definitions';\nimport { getDebugLogFilePath } from '@wix/cli-core-definitions';\nimport type { ProjectModel } from '../model.js';\nimport { syncPages } from '../sources/index.js';\nimport { syncTypesWithAuth } from '../sync-types/index.js';\nimport type { Logger } from '../logger.js';\n\nexport async function syncAllToRevision(\n model: ProjectModel,\n opts: {\n authState: AuthState;\n },\n logger: Logger\n) {\n const logTypesSynced = logger.logSyncingTypesToRevision(model.revision);\n try {\n await syncTypesWithAuth(model, { authState: opts.authState });\n logTypesSynced.success();\n } catch (error) {\n // As a workaround until the types sync can handle large projects, this error is recoverable\n writeCrashReport(getDebugLogFilePath(model.projectFolder), error);\n logTypesSynced.fail();\n await rm(getTypesDir(model.projectFolder), {\n recursive: true,\n force: true,\n }).catch((e: unknown) => {\n writeCrashReport(getDebugLogFilePath(model.projectFolder), e);\n logger.logRecoverableFailureToRemoveTypesDir(e);\n });\n }\n\n const logPagesSynced = logger.logSyncingPagesToRevision(model.revision);\n try {\n await syncPages(model, { authState: opts.authState });\n logPagesSynced.success();\n } catch (error) {\n logPagesSynced.fail();\n throw error;\n }\n}\n","import { readdir } from 'node:fs/promises';\nimport { pagesDiff } from '@wix/ambassador-velo-apps-v1-app/http';\nimport type { PagesDiffRequest } from '@wix/ambassador-velo-apps-v1-app/types';\nimport { GridAppLayout } from '@wix/ambassador-velo-apps-v1-app/types';\nimport {\n getPagesFolder,\n getSourceFolder,\n} from '@wix/velo-github-layout-definitions';\nimport type { AuthState } from '@wix/cli-auth';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { pathExists } from '@wix/cli-fs';\nimport { httpRequest } from '../http-request.js';\nimport type { ProjectModel } from '../model.js';\nimport { createPages, deletePages, renamePages } from './pages-diff.js';\n\nexport async function syncPages(\n model: ProjectModel,\n opts: {\n authState: AuthState;\n }\n): Promise<void> {\n const pagesFolder = getPagesFolder(model.projectFolder);\n\n if (!(await pathExists(pagesFolder))) {\n throw new CliError({\n code: CliErrorCode.NoPagesDirectoryFound({\n srcDir: getSourceFolder(model.projectFolder),\n }),\n cause: null,\n });\n }\n\n const params: PagesDiffRequest = {\n layout: GridAppLayout.GITHUB,\n sourcePagesPaths: await readdir(pagesFolder),\n targetRevision: model.revision,\n };\n const { data } = await httpRequest(\n {\n authState: opts.authState,\n type: 'code',\n },\n pagesDiff(params)\n ).catch((e: unknown) => {\n throw new CliError({\n code: CliErrorCode.FailedToGetPagesDiff(),\n cause: e,\n info: { ...params },\n });\n });\n\n await Promise.all([\n createPages(model.projectFolder, data.pagesDiff?.created ?? []),\n renamePages(model.projectFolder, data.pagesDiff?.renamed ?? []),\n deletePages(model.projectFolder, data.pagesDiff?.deleted ?? []),\n ]);\n}\n","import { join } from 'node:path';\nimport { rm, rename } from 'node:fs/promises';\nimport type {\n NewPage,\n RenamedPage,\n PageId,\n} from '@wix/ambassador-velo-apps-v1-app/types';\nimport { pathExists, outputFile } from '@wix/cli-fs';\n\nexport async function createPages(\n projectFolder: string,\n pages: NewPage[]\n): Promise<void> {\n await Promise.all(\n pages.map((page) => {\n if (!page.pageId?.path || !page.content) {\n return Promise.resolve();\n }\n\n return outputFile(join(projectFolder, page.pageId.path), page.content);\n })\n );\n}\n\nexport async function renamePages(\n projectFolder: string,\n pages: RenamedPage[]\n): Promise<void> {\n await Promise.all(\n pages.map(async (page) => {\n if (!page.sourcePath?.path || !page.targetPath?.path) {\n return;\n }\n\n const sourcePath = join(projectFolder, page.sourcePath.path);\n const targetPath = join(projectFolder, page.targetPath.path);\n\n if (await pathExists(targetPath)) {\n return rm(sourcePath, { force: true });\n }\n\n return rename(sourcePath, targetPath);\n })\n );\n}\n\nexport async function deletePages(\n projectFolder: string,\n pages: PageId[]\n): Promise<void> {\n await Promise.all(\n pages.map((page) => {\n if (!page.path) {\n return Promise.resolve();\n }\n\n return rm(join(projectFolder, page.path), { force: true });\n })\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;ACAA;;;ACAA;AAAA,OAAO,aAAa;AAEpB,IAAM,iBAAiB,oBAAI,IAAI;AAC/B,IAAM,YAAY,oBAAI,IAAI;AAE1B,IAAI,WAAW;AACf,IAAI,eAAe;AAEnB,eAAe,KAAK,oBAAoB,eAAe,QAAQ;AAC9D,MAAI,UAAU;AACb;AAAA,EACD;AAEA,aAAW;AAEX,MAAI,eAAe,OAAO,KAAK,eAAe;AAC7C,YAAQ,MAAM;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,EAAE,KAAK,GAAG,CAAC;AAAA,EACZ;AAEA,QAAM,WAAW,MAAM;AAEvB,QAAM,OAAO,CAAC,QAAQ,UAAU;AAC/B,QAAI,UAAU,QAAQ,uBAAuB,MAAM;AAClD,cAAQ,KAAK,QAAQ;AAAA,IACtB;AAAA,EACD;AAEA,aAAW,YAAY,WAAW;AACjC,aAAS,QAAQ;AAAA,EAClB;AAEA,MAAI,eAAe;AAClB,SAAK;AACL;AAAA,EACD;AAEA,QAAM,WAAW,CAAC;AAClB,MAAI,aAAa;AACjB,aAAW,CAAC,UAAU,IAAI,KAAK,gBAAgB;AAC9C,iBAAa,KAAK,IAAI,YAAY,IAAI;AACtC,aAAS,KAAK,QAAQ,QAAQ,SAAS,QAAQ,CAAC,CAAC;AAAA,EAClD;AAGA,QAAM,aAAa,WAAW,MAAM;AACnC,SAAK,IAAI;AAAA,EACV,GAAG,UAAU;AAEb,QAAM,QAAQ,IAAI,QAAQ;AAC1B,eAAa,UAAU;AACvB,OAAK;AACN;AAEA,SAAS,QAAQ,SAAS;AACzB,QAAM,EAAC,QAAQ,MAAM,cAAa,IAAI;AACtC,QAAM,sBAAsB,CAAC,QAAQ,IAAI;AAEzC,MAAI,eAAe;AAClB,cAAU,IAAI,MAAM;AAAA,EACrB,OAAO;AACN,mBAAe,IAAI,mBAAmB;AAAA,EACvC;AAEA,MAAI,CAAC,cAAc;AAClB,mBAAe;AAGf,YAAQ,KAAK,cAAc,KAAK,KAAK,QAAW,MAAM,OAAO,IAAI,CAAC;AAClE,YAAQ,KAAK,UAAU,KAAK,KAAK,QAAW,MAAM,OAAO,CAAC,CAAC;AAC3D,YAAQ,KAAK,WAAW,KAAK,KAAK,QAAW,MAAM,OAAO,EAAE,CAAC;AAK7D,YAAQ,KAAK,QAAQ,KAAK,KAAK,QAAW,OAAO,MAAM,CAAC,CAAC;AAMzD,YAAQ,GAAG,WAAW,aAAW;AAChC,UAAI,YAAY,YAAY;AAC3B,aAAK,MAAM,MAAM,IAAI;AAAA,MACtB;AAAA,IACD,CAAC;AAAA,EACF;AAEA,SAAO,MAAM;AACZ,QAAI,eAAe;AAClB,gBAAU,OAAO,MAAM;AAAA,IACxB,OAAO;AACN,qBAAe,OAAO,mBAAmB;AAAA,IAC1C;AAAA,EACD;AACD;AAaO,SAAS,cAAc,QAAQ,UAAU,CAAC,GAAG;AACnD,MAAI,OAAO,WAAW,YAAY;AACjC,UAAM,IAAI,UAAU,2BAA2B;AAAA,EAChD;AAEA,MAAI,EAAE,OAAO,QAAQ,SAAS,YAAY,QAAQ,OAAO,IAAI;AAC5D,UAAM,IAAI,UAAU,8CAA8C;AAAA,EACnE;AAEA,SAAO,QAAQ;AAAA,IACd;AAAA,IACA,MAAM,QAAQ;AAAA,IACd,eAAe;AAAA,EAChB,CAAC;AACF;;;ADvHA,mBAA8B;;;AER9B;AAEA,IAAM,sBAAsB;AAErB,SAAS,sBAA8B;AAC5C,SAAO,iBAAiB,EAAE,oBAAoB;AAChD;;;ACNA;;;ACAA;AAIO,SAAS,uBAAuB,KAAc,QAAgB,CAAC,GAAG;AACvE,MAAI,CAAC,MAAM,QAAQ;AACjB;AAAA,EACF;AAEA,QAAM,YAAY,iBAAiB,GAAG;AAEtC,MAAI,CAAC,WAAW;AACd;AAAA,EACF;AAEA,QAAM,4BACJ,UAAU,UAAU,MAAM,SAAS,iBAAiB,iBAAiB;AAAA,IACnE,CAAC,MAAgC,EAAE,iBAAiB;AAAA,EACtD;AAEF,MAAI,CAAC,2BAA2B,QAAQ;AACtC;AAAA,EACF;AAEA,QAAM,wBAAwB;AAAA,IAC5B;AAAA,EACF;AAEA,QAAM,IAAI,SAAS;AAAA,IACjB,MAAM,aAAa,8BAA8B;AAAA,MAC/C;AAAA,MACA,WAAW,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,qBAAqB;AAAA,IAC7D,CAAC;AAAA,IACD,OAAO;AAAA,EACT,CAAC;AACH;AAEA,SAAS,mCACP,wBACA;AACA,QAAM,iBAAiB;AACvB,QAAM,+BACJ;AACF,QAAM,iBAGF;AAAA,IACF,cAAc;AAAA,IACd,OAAO,CAAC;AAAA,EACV;AAEA,aAAW,yBAAyB,wBAAwB;AAC1D,UAAM,uBAAuB,eAAe;AAAA,MAC1C,sBAAsB;AAAA,IACxB;AACA,UAAM,qCACJ,6BAA6B,KAAK,sBAAsB,WAAW;AAErE,QACE,EACE,sBAAsB,QAAQ,aAC9B,oCAAoC,QAAQ,gBAC5C,mCAAmC,OAAO,eAE5C;AACA,aAAO;AAAA,IACT;AAEA,mBAAe,iBAAiB,KAAK;AAAA,MACnC,SAAS,mCAAmC,OAAO,cAAc,EAAE,IACjE;AAAA,IACJ;AAEA,mBAAe,MAAM,KAAK;AAAA,MACxB,cAAc,KAAK;AAAA,QACjB,SAAS,mCAAmC,OAAO,cAAc,EAAE,IACjE;AAAA,MACJ;AAAA,MACA,WAAW,SAAS,qBAAqB,OAAO,WAAW,EAAE;AAAA,IAC/D,CAAC;AAAA,EACH;AAEA,SAAO;AACT;;;ADvEA,eAAe,oBACb,QACA,MAGiB;AACjB,MAAI;AAEJ,MAAI;AACF,UAAM,WAAW,MAAM;AAAA,MACrB,EAAE,MAAM,QAAQ,WAAW,KAAK,UAAU;AAAA,MAC1C,UAAU,MAAM;AAAA,IAClB;AACA,UAAM,SAAS,KAAK;AAAA,EACtB,SAAS,KAAK;AACZ,2BAAuB,KAAK,OAAO,SAAS,KAAK;AAEjD,UAAM;AAAA,EACR;AAEA,MAAI,CAAC,KAAK,IAAI;AACZ,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,yBAAyB;AAAA,MAC5C,MAAM,EAAE,IAAI;AAAA,MACZ,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,SAAO,IAAI;AACb;AAEA,eAAsB,qBACpB,eACA,MAGA;AACA,QAAM,UAAU,MAAM,0BAA0B,aAAa;AAE7D,SAAO;AAAA,IACL;AAAA,MACE,KAAK;AAAA,QACH,SAAS;AAAA,QACT,SAAS,QAAQ;AAAA,MACnB;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,EACF;AACF;;;AE7DA;AAAA,SAAS,gBAAgB;AACzB,SAAS,YAAY;AAKrB,sBAAsB;AAGtB,4BAA0B;AAa1B,IAAM,gCAAgC;AAEtC,IAAM,iBAAiB,CAAC,SAAiB;AACvC,MAAI,KAAK,WAAW,WAAW,GAAG;AAChC,WAAO;AAAA,EACT;AACA,MAAI,KAAK,WAAW,aAAa,GAAG;AAClC,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEO,SAAS,oBACd,OACA,WACA,MAIA,QACA,UACA;AACA,QAAM,EAAE,cAAc,IAAI;AAC1B,QAAM,QAAQ,OAAO,CAAC;AAEtB,QAAM,cAAU,uBAAM,gBAAgB,aAAa,GAAG;AAAA,IACpD,iBAAiB;AAAA,IACjB,KAAK;AAAA,IACL,eAAe;AAAA,EACjB,CAAC,EACE;AAAA,IACC;AAAA,IACA,cAAc,OAAO,WAAkC;AACrD,YAAM,MAAM,YAAY;AACtB,cAAM,YAAY,OAAO,oBAAoB;AAC7C,cAAM,EAAE,OAAO,SAAS,QAAQ,IAC9B,+BAA+B,MAAM;AACvC,cAAM,aAAa,MAAM,KAAK,MAAM,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU;AAAA,UAC3D;AAAA,UACA,MAAM;AAAA,QACR,EAAE;AACF,cAAM,eAAe,MAAM,KAAK,QAAQ,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU;AAAA,UAC/D;AAAA,UACA,MAAM;AAAA,QACR,EAAE;AACF,cAAM,eAAe,MAAM,KAAK,QAAQ,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU;AAAA,UAC/D;AAAA,UACA,MAAM;AAAA,QACR,EAAE;AAEF,mBAAW,OAAO,CAAC,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,GAAG;AACnE,mBAAS,KAAK;AAAA,YACZ;AAAA,YACA,QAAQ,IAAI;AAAA,YACZ,MAAM,IAAI;AAAA,YACV,SAAS;AAAA,YACT,aAAa,eAAe,IAAI,IAAI;AAAA,UACtC,CAAC;AACD,cAAI,IAAI,SAAS,UAAU;AACzB,qBAAS,YAAY,OAAO,IAAI,IAAI;AAAA,UACtC;AAAA,QACF;AAEA,YAAI;AACF,gBAAM,WAAW;AAAA,YACf,eAAe,MAAM,QAAQ;AAAA,cAC3B,WAAW,OAAO,YAAY,EAAE,IAAI,OAAO,SAAS;AAAA,gBAClD,UAAM,sBAAAA,SAAc,IAAI,IAAI;AAAA,gBAC5B,SAAS,MAAM;AAAA,kBACb,KAAK,eAAe,IAAI,IAAI;AAAA,kBAC5B;AAAA,gBACF;AAAA,cACF,EAAE;AAAA,YACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA,WAAW,KAAK;AAAA,UAClB,CAAC;AAED,gBAAM,UAAU,UAAU,QAAQ;AAClC,mBAAS,iBAAiB,EAAE,SAAS,MAAM,CAAC;AAC5C,mBAAS,+BAA+B,KAAK;AAAA,QAC/C,SAAS,GAAG;AACV,oBAAU,KAAK;AACf,gBAAM,QAAQ,IAAI,SAAS;AAAA,YACzB,MAAM,aAAa,2BAA2B;AAAA,YAC9C,OAAO;AAAA,YACP,MAAM;AAAA,cACJ;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,UACF,CAAC;AACD,eAAK,QAAQ,KAAK;AAAA,QACpB;AAAA,MACF,CAAC;AAAA,IACH,GAAG,6BAA6B;AAAA,EAClC,EACC,GAAG,SAAS,CAAC,MAAM;AAClB,UAAM,QAAQ,IAAI,SAAS;AAAA,MACzB,MAAM,aAAa,mBAAmB;AAAA,MACtC,OAAO;AAAA,IACT,CAAC;AAED,SAAK,QAAQ,KAAK;AAAA,EACpB,CAAC;AAEH,SAAO,EAAE,OAAO,MAAM,QAAQ,MAAM,EAAE;AACxC;AAEA,SAAS,+BAA+B,QAA+B;AACrE,SAAO,OAAO;AAAA,IACZ,CAAC,QAAQ,CAAC,WAAW,QAAQ,MAAM;AACjC,cAAQ,WAAW;AAAA,QACjB,KAAK,OAAO;AACV,iBAAO,MAAM,IAAI,QAAQ;AACzB;AAAA,QACF;AAAA,QACA,KAAK,UAAU;AACb,iBAAO,QAAQ,IAAI,QAAQ;AAC3B;AAAA,QACF;AAAA,QACA,KAAK,UAAU;AACb,iBAAO,MAAM,OAAO,QAAQ;AAC5B,iBAAO,QAAQ,OAAO,QAAQ;AAC9B,iBAAO,QAAQ,IAAI,QAAQ;AAC3B;AAAA,QACF;AAAA,QACA,KAAK,aAAa;AAChB,gBAAM,gBAAgB,SAAS,SAAS,GAAG,IACvC,WACA,GAAG,QAAQ;AACf,qBAAWC,aAAY,OAAO,OAAO;AACnC,gBAAIA,UAAS,WAAW,aAAa,GAAG;AACtC,qBAAO,MAAM,OAAOA,SAAQ;AAAA,YAC9B;AAAA,UACF;AACA,qBAAWA,aAAY,OAAO,SAAS;AACrC,gBAAIA,UAAS,WAAW,aAAa,GAAG;AACtC,qBAAO,QAAQ,OAAOA,SAAQ;AAAA,YAChC;AAAA,UACF;AACA,iBAAO,QAAQ,IAAI,QAAQ;AAC3B;AAAA,QACF;AAAA,QACA,KAAK,UAAU;AACb;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,OAAO,oBAAI,IAAY;AAAA,MACvB,SAAS,oBAAI,IAAY;AAAA,MACzB,SAAS,oBAAI,IAAY;AAAA,IAC3B;AAAA,EACF;AACF;AAEA,eAAe,WAAW;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AACD,MAAI;AACF,UAAM;AAAA,MACJ;AAAA,QACE,MAAM;AAAA,QACN;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA,QAAQ,cAAc;AAAA,QACtB;AAAA,QACA,sBAAsB;AAAA,QACtB,eAAe,aAAa,IAAI,CAAC,QAAQ,IAAI,IAAI;AAAA,MACnD,CAAC;AAAA,IACH;AAAA,EACF,SAAS,KAAK;AACZ,2BAAuB,KAAK,aAAa;AACzC,UAAM;AAAA,EACR;AACF;;;AClNA;AAAA,OAAO,cAAc;AACrB,SAAS,aAAa;AAWf,IAAM,aAAN,MAAiB;AAAA,EACd,UAAU,oBAAI,IAAsB;AAAA,EAEpC,mBAAmB;AACzB,WAAO,IAAI,QAAc,CAAC,YAAY;AACpC,WAAK,GAAG,KAAK,CAAC,QAAQ;AACpB,YAAI,IAAI,MAAM;AACZ,kBAAQ;AAAA,QACV;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,GAAG,KAAa,UAAoB;AAClC,SAAK,QAAQ,IAAI,KAAK,QAAQ;AAAA,EAChC;AAAA,EAEA,QAAQ;AACN,UAAM,KAAK,SAAS,gBAAgB,KAAK;AAEzC,aAAS,mBAAmB,OAAO,EAAE;AAErC,QAAI,MAAM,OAAO;AAEf,YAAM,WAAW,IAAI;AACrB,YAAM,YAAY,MAAM;AAAA,IAC1B;AAEA,UAAM,GAAG,YAAY,KAAK,cAAc;AAExC,WAAO;AAAA,MACL,cAAc,KAAK,iBAAiB;AAAA,IACtC;AAAA,EACF;AAAA,EAEA,UAAU;AACR,QAAI,MAAM,OAAO;AAEf,YAAM,WAAW,KAAK;AAAA,IACxB;AACA,UAAM,IAAI,YAAY,KAAK,cAAc;AACzC,UAAM,MAAM;AACZ,SAAK,QAAQ,MAAM;AAAA,EACrB;AAAA,EAEA,iBAAiB,CAAC,GAAW,QAAa;AACxC,SAAK,QAAQ,IAAI,IAAI,IAAI,IAAI,GAAG;AAAA,EAClC;AACF;;;AC5DA;AAAA,SAAS,kBAAkB;AAWpB,IAAM,gBAAgB,CAAC,cAAwB;AAAA,EACpD,MAAM,CAAC;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAMM;AACJ,SAAK,SAAS;AAAA,MACZ,sCAAsC;AAAA,QACpC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,cAAc,OAAO,MAAM,QAAQ;AAAA,MACrC,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,aAAa,CAAC,OAAqB,aAAqB;AACtD,SAAK,SAAS;AAAA,MACZ,yBAAyB;AAAA,QACvB;AAAA,QACA,cAAc,OAAO,MAAM,QAAQ;AAAA,MACrC,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,gCAAgC,CAAC,UAAwB;AACvD,SAAK,SAAS;AAAA,MACZ,oCAAoC;AAAA,QAClC,cAAc,OAAO,MAAM,QAAQ;AAAA,MACrC,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,kBAAkB,CAAC;AAAA,IACjB;AAAA,IACA;AAAA,EACF,MAGM;AACJ,SAAK,SAAS;AAAA,MACZ,0BAA0B;AAAA,QACxB;AAAA,QACA,WAAW,WAAW;AAAA,QACtB,cAAc,OAAO,MAAM,QAAQ;AAAA,MACrC,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,cAAc,CAAC;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAIM;AACJ,SAAK,SAAS;AAAA,MACZ,+BAA+B;AAAA,QAC7B;AAAA,QACA;AAAA,QACA,WAAW,WAAW;AAAA,QACtB,cAAc,OAAO,MAAM,QAAQ;AAAA,MACrC,CAAC;AAAA,IACH;AAAA,EACF;AACF;;;ACnFA;AAAA,SAAS,MAAAC,WAAU;;;ACAnB;AAAA,SAAS,eAAe;;;ACAxB;AAAA,SAAS,QAAAC,aAAY;AACrB,SAAS,IAAI,cAAc;AAQ3B,eAAsB,YACpB,eACA,OACe;AACf,QAAM,QAAQ;AAAA,IACZ,MAAM,IAAI,CAAC,SAAS;AAClB,UAAI,CAAC,KAAK,QAAQ,QAAQ,CAAC,KAAK,SAAS;AACvC,eAAO,QAAQ,QAAQ;AAAA,MACzB;AAEA,aAAO,WAAWC,MAAK,eAAe,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO;AAAA,IACvE,CAAC;AAAA,EACH;AACF;AAEA,eAAsB,YACpB,eACA,OACe;AACf,QAAM,QAAQ;AAAA,IACZ,MAAM,IAAI,OAAO,SAAS;AACxB,UAAI,CAAC,KAAK,YAAY,QAAQ,CAAC,KAAK,YAAY,MAAM;AACpD;AAAA,MACF;AAEA,YAAM,aAAaA,MAAK,eAAe,KAAK,WAAW,IAAI;AAC3D,YAAM,aAAaA,MAAK,eAAe,KAAK,WAAW,IAAI;AAE3D,UAAI,MAAM,WAAW,UAAU,GAAG;AAChC,eAAO,GAAG,YAAY,EAAE,OAAO,KAAK,CAAC;AAAA,MACvC;AAEA,aAAO,OAAO,YAAY,UAAU;AAAA,IACtC,CAAC;AAAA,EACH;AACF;AAEA,eAAsB,YACpB,eACA,OACe;AACf,QAAM,QAAQ;AAAA,IACZ,MAAM,IAAI,CAAC,SAAS;AAClB,UAAI,CAAC,KAAK,MAAM;AACd,eAAO,QAAQ,QAAQ;AAAA,MACzB;AAEA,aAAO,GAAGA,MAAK,eAAe,KAAK,IAAI,GAAG,EAAE,OAAO,KAAK,CAAC;AAAA,IAC3D,CAAC;AAAA,EACH;AACF;;;AD5CA,eAAsB,UACpB,OACA,MAGe;AACf,QAAM,cAAc,eAAe,MAAM,aAAa;AAEtD,MAAI,CAAE,MAAM,WAAW,WAAW,GAAI;AACpC,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,sBAAsB;AAAA,QACvC,QAAQ,gBAAgB,MAAM,aAAa;AAAA,MAC7C,CAAC;AAAA,MACD,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,QAAM,SAA2B;AAAA,IAC/B,QAAQC,eAAc;AAAA,IACtB,kBAAkB,MAAM,QAAQ,WAAW;AAAA,IAC3C,gBAAgB,MAAM;AAAA,EACxB;AACA,QAAM,EAAE,KAAK,IAAI,MAAM;AAAA,IACrB;AAAA,MACE,WAAW,KAAK;AAAA,MAChB,MAAM;AAAA,IACR;AAAA,IACA,UAAU,MAAM;AAAA,EAClB,EAAE,MAAM,CAAC,MAAe;AACtB,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,qBAAqB;AAAA,MACxC,OAAO;AAAA,MACP,MAAM,EAAE,GAAG,OAAO;AAAA,IACpB,CAAC;AAAA,EACH,CAAC;AAED,QAAM,QAAQ,IAAI;AAAA,IAChB,YAAY,MAAM,eAAe,KAAK,WAAW,WAAW,CAAC,CAAC;AAAA,IAC9D,YAAY,MAAM,eAAe,KAAK,WAAW,WAAW,CAAC,CAAC;AAAA,IAC9D,YAAY,MAAM,eAAe,KAAK,WAAW,WAAW,CAAC,CAAC;AAAA,EAChE,CAAC;AACH;;;AD9CA,eAAsB,kBACpB,OACA,MAGA,QACA;AACA,QAAM,iBAAiB,OAAO,0BAA0B,MAAM,QAAQ;AACtE,MAAI;AACF,UAAM,kBAAkB,OAAO,EAAE,WAAW,KAAK,UAAU,CAAC;AAC5D,mBAAe,QAAQ;AAAA,EACzB,SAAS,OAAO;AAEd,qBAAiB,oBAAoB,MAAM,aAAa,GAAG,KAAK;AAChE,mBAAe,KAAK;AACpB,UAAMC,IAAG,YAAY,MAAM,aAAa,GAAG;AAAA,MACzC,WAAW;AAAA,MACX,OAAO;AAAA,IACT,CAAC,EAAE,MAAM,CAAC,MAAe;AACvB,uBAAiB,oBAAoB,MAAM,aAAa,GAAG,CAAC;AAC5D,aAAO,sCAAsC,CAAC;AAAA,IAChD,CAAC;AAAA,EACH;AAEA,QAAM,iBAAiB,OAAO,0BAA0B,MAAM,QAAQ;AACtE,MAAI;AACF,UAAM,UAAU,OAAO,EAAE,WAAW,KAAK,UAAU,CAAC;AACpD,mBAAe,QAAQ;AAAA,EACzB,SAAS,OAAO;AACd,mBAAe,KAAK;AACpB,UAAM;AAAA,EACR;AACF;;;ARjBA,eAAsB,IACpB,cACA,EAAE,UAAU,cAAc,GAC1B;AAAA,EACE,QAAQ;AAAA,EACR,QAAQ,YAAY;AACtB,GAIA;AACA,MAAI,QAAQ;AACZ,QAAM,YAAY,MAAM,aAAa;AAAA,IACnC,YAAY,MAAM;AAAA,IAClB;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,IAAI,YAAY;AACtB,QAAM,SAAS,aAAa,EAAE,EAAE,CAAC;AACjC,QAAM,WAAW,cAAc,QAAQ;AAEvC,QAAM,SAAS,oBAAoB,EAAE,MAAM,CAAC;AAE5C,MAAI;AACJ,MAAI;AACF,gBAAY,MAAM,qBAAqB,MAAM,eAAe;AAAA,MAC1D;AAAA,IACF,CAAC;AAAA,EACH,SAAS,OAAO;AACd,UAAM,UAAU,YAAY,KAAK,IAC7B,MAAM,UAAU,MAAM,UACtB;AAEJ,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,sBAAsB;AAAA,QACvC,OAAO;AAAA,MACT,CAAC;AAAA,MACD,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkB,OAAO,EAAE,UAAU,GAAG,MAAM;AAEpD,QAAM,EAAE,MAAM,IAAI;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAAA,MACA,QAAQ,OAAO;AACb,eAAO,WAAW;AAClB,sBAAc,YAAY,KAAK;AAC/B,yBAAiB,oBAAoB,MAAM,aAAa,GAAG,KAAK;AAChE,uBAAW,4BAAc,aAAa,EAAE,MAAM,CAAC,CAAC;AAAA,MAClD;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,uBAAuB,CAAC,iBAAyB;AACrD,UAAM,UAAU,OAAO,eAAe,YAAY;AAClD,aAAS,iBAAiB,EAAE,OAAO,QAAQ,CAAC;AAAA,EAC9C;AAEA,QAAM,yBAAyB,OAAO,aAAqB;AACzD,QAAI,aAAa,MAAM,UAAU;AAC/B,YAAM,WAAW,EAAE,GAAG,OAAO,SAAS;AAEtC,YAAM,iBAAiB,QAAQ;AAC/B,YAAM,UAAU,OAAO,8BAA8B;AAAA,QACnD,UAAU,SAAS;AAAA,MACrB,CAAC;AACD,eAAS,iBAAiB,EAAE,SAAS,MAAM,CAAC;AAE5C,YAAM,kBAAkB,UAAU,EAAE,UAAU,GAAG,MAAM;AAEvD,cAAQ;AAAA,IACV;AAAA,EACF;AAEA,QAAM,kBAAkB,OAAO,eAAuB;AACpD,aAAS,aAAa;AAAA,MACpB,QAAQ;AAAA,MACR,SAAS;AAAA,MACT;AAAA,IACF,CAAC;AAED,UAAM,eAAe,gBAAgB,UAAU;AAE/C,QAAI,OAAO;AACT,YAAM,YAAY,IAAI,IAAI,qBAAqB,UAAU,EAAE,EAAE,IAAI;AAAA,IACnE,OAAO;AACL,YAAM,YAAY,YAAY;AAAA,IAChC;AAAA,EACF;AAEA,MAAI;AACJ,MAAI;AAEJ,QAAM,kBAAkB,CAAC,eAAuB;AAC9C,UAAM,MAAM,IAAI,IAAI,MAAM,YAAY,oBAAoB,CAAC;AAE3D,QAAI,QAAQ;AACV,UAAI,aAAa,OAAO,0BAA0B,OAAO,MAAM;AAAA,IACjE,OAAO;AACL,UAAI,aAAa,OAAO,aAAa,WAAW,SAAS,CAAC;AAAA,IAC5D;AAEA,QAAI,aAAa,OAAO,gBAAgB,MAAM,SAAS,CAAC;AAExD,WAAO,IAAI,SAAS;AAAA,EACtB;AAEA,MAAI;AACF,UAAM,EAAE,MAAM,WAAW,IAAI,MAAM,OAAO,MAAM,WAAW;AAAA,MACzD;AAAA,IACF,CAAC;AAED,QAAI,WAAW;AACb,YAAM,aAAa,iBAAiB;AAAA,QAClC,MAAM;AAAA,QACN,aAAa,UAAU;AAAA,MACzB,CAAC;AACD,YAAM,eAAe,IAAI,aAAa,UAAU;AAChD,eAAS,MAAM,aAAa,YAAY,YAAY;AAAA,IACtD;AAEA,UAAM,eAAe,gBAAgB,UAAU;AAE/C,WAAO,GAAG,gBAAgB,MAAM,qBAAqB,YAAY,CAAC;AAClE,WAAO,GAAG,wBAAwB,sBAAsB;AAExD,iBAAa,IAAI,WAAW;AAE5B,WAAO,kBAAkB,KAAK;AAE9B,UAAM,gBAAgB,UAAU;AAChC,UAAM,EAAE,aAAa,IAAI,WAAW,MAAM;AAC1C,eAAW,GAAG,KAAK,MAAM,gBAAgB,UAAU,CAAC;AAEpD;AAAA,MACE,YAAY;AACV,cAAM,OAAO,MAAM;AACnB,gBAAQ,MAAM;AAAA,MAChB;AAAA,MACA,EAAE,MAAM,IAAI;AAAA,IACd;AACA,UAAM;AAAA,EACR,UAAE;AACA,gBAAY,QAAQ;AACpB,UAAM,QAAQ,IAAI,CAAC,OAAO,MAAM,GAAG,MAAM,GAAG,QAAQ,MAAM,CAAC,CAAC;AAAA,EAC9D;AACF;","names":["normalizePath","filePath","rm","join","join","GridAppLayout","rm"]}
1
+ {"version":3,"sources":["../../cli-site-old/src/dev/index.ts","../../cli-site-old/src/dev/dev.ts","../../../node_modules/exit-hook/index.js","../../cli-site-old/src/environment.ts","../../cli-site-old/src/gridapp/createGridApp.ts","../../cli-site-old/src/gridapp/error-handlers/maxFileSizeErrorHandler.ts","../../cli-site-old/src/gridapp/startGridAppUpdater.ts","../../cli-site-old/src/key-watcher.ts","../../cli-site-old/src/bi.ts","../../cli-site-old/src/dev/sync-all-to-revision.ts","../../cli-site-old/src/sources/index.ts","../../cli-site-old/src/sources/pages-diff.ts"],"sourcesContent":["export { dev } from './dev.js';\n","import { createVeloCLIServer } from '@wix/editor-velo-cli-comm-api';\nimport { openBrowser } from '@wix/user-browser';\nimport { asyncExitHook } from 'exit-hook';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { ErrorViewer } from '@wix/cli-error-reporting';\nimport { writeCrashReport } from '@wix/cli-debug-log';\nimport { getDebugLogFilePath } from '@wix/cli-core-definitions';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport { createElement } from 'react';\nimport { renderSync } from '@wix/cli-ui-kit';\nimport { createHttpClient, isHttpError } from '@wix/cli-http-client';\nimport type { Connection } from '@wix/cli-tunnel';\nimport { TunnelClient, launchTunnel } from '@wix/cli-tunnel';\nimport { getDevEditorBaseUrl } from '../environment.js';\nimport { createMutableGridApp } from '../gridapp/createGridApp.js';\nimport { startGridAppUpdater } from '../gridapp/startGridAppUpdater.js';\nimport { KeyWatcher } from '../key-watcher.js';\nimport type { ProjectModel } from '../model.js';\nimport { saveProjectModel } from '../model.js';\nimport { createLogger } from '../logger.js';\nimport { sitesBiEvents } from '../bi.js';\nimport { createI18nT } from '../i18n.js';\nimport { authenticate } from '../authentication.js';\nimport { syncAllToRevision } from './sync-all-to-revision.js';\n\nexport async function dev(\n initialModel: ProjectModel,\n { biLogger, errorReporter }: CommandServices,\n {\n https = false,\n tunnel: useTunnel = false,\n }: {\n https?: boolean;\n tunnel?: boolean;\n }\n) {\n let model = initialModel;\n const authState = await authenticate({\n metaSiteId: model.metaSiteId,\n biLogger,\n errorReporter,\n });\n\n const t = createI18nT();\n const logger = createLogger({ t });\n const biEvents = sitesBiEvents(biLogger);\n\n const server = createVeloCLIServer({ https });\n\n let gridAppId: string;\n try {\n gridAppId = await createMutableGridApp(model.projectFolder, {\n authState,\n });\n } catch (error) {\n const message = isHttpError(error)\n ? error.response?.data?.message\n : undefined;\n\n throw new CliError({\n code: CliErrorCode.FailedToCreateGridApp({\n error: message,\n }),\n cause: error,\n });\n }\n\n await syncAllToRevision(model, { authState }, logger);\n\n const { close } = startGridAppUpdater(\n model,\n gridAppId,\n {\n authState,\n onError(error) {\n logger.logNewLine();\n errorReporter.reportError(error);\n writeCrashReport(getDebugLogFilePath(model.projectFolder), error);\n renderSync(createElement(ErrorViewer, { error }));\n },\n },\n logger,\n biEvents\n );\n\n const onServerDisconnected = (devEditorUrl: string) => {\n const message = logger.logNoOpenedTab(devEditorUrl);\n biEvents.messageDisplayed({ model, message });\n };\n\n const onSyncDevEditorChanges = async (revision: string) => {\n if (revision !== model.revision) {\n const newModel = { ...model, revision };\n\n await saveProjectModel(newModel);\n const message = logger.logUpdatedLocalCodeToRevision({\n revision: newModel.revision,\n });\n biEvents.messageDisplayed({ message, model });\n\n await syncAllToRevision(newModel, { authState }, logger);\n\n model = newModel;\n }\n };\n\n const openLocalEditor = async (serverPort: number) => {\n biEvents.userResponse({\n action: 'Browser opened',\n message: 'Opening the Local Editor',\n model,\n });\n\n const devEditorUrl = getDevEditorUrl(serverPort);\n\n if (https) {\n await openBrowser(new URL(`https://localhost:${serverPort}`).href);\n } else {\n await openBrowser(devEditorUrl);\n }\n };\n\n let keyWatcher: KeyWatcher | undefined;\n let tunnel: Connection | undefined;\n\n const getDevEditorUrl = (serverPort: number) => {\n const url = new URL(model.metaSiteId, getDevEditorBaseUrl());\n\n if (tunnel) {\n url.searchParams.append('localEditorDestination', tunnel.domain);\n } else {\n url.searchParams.append('localPort', serverPort.toString());\n }\n\n url.searchParams.append('secureSocket', https.toString());\n\n return url.toString();\n };\n\n try {\n const { port: serverPort } = await server.serve(gridAppId, {\n getDevEditorUrl,\n });\n\n if (useTunnel) {\n const httpClient = createHttpClient({\n type: 'backoffice',\n getAppToken: authState.getAccessToken,\n });\n const tunnelClient = new TunnelClient(httpClient);\n tunnel = await launchTunnel(serverPort, tunnelClient);\n }\n\n const devEditorUrl = getDevEditorUrl(serverPort);\n\n server.on('disconnected', () => onServerDisconnected(devEditorUrl));\n server.on('syncDevEditorChanges', onSyncDevEditorChanges);\n\n keyWatcher = new KeyWatcher();\n\n logger.logOpeningBrowser(https);\n\n await openLocalEditor(serverPort);\n const { ctrlCPromise } = keyWatcher.watch();\n keyWatcher.on('e', () => openLocalEditor(serverPort));\n\n asyncExitHook(\n async () => {\n await server.close();\n tunnel?.close();\n },\n { wait: 500 }\n );\n await ctrlCPromise;\n } finally {\n keyWatcher?.unwatch();\n await Promise.all([server.close(), close(), tunnel?.close()]);\n }\n}\n","import process from 'node:process';\n\nconst asyncCallbacks = new Set();\nconst callbacks = new Set();\n\nlet isCalled = false;\nlet isRegistered = false;\n\nasync function exit(shouldManuallyExit, isSynchronous, signal) {\n\tif (isCalled) {\n\t\treturn;\n\t}\n\n\tisCalled = true;\n\n\tif (asyncCallbacks.size > 0 && isSynchronous) {\n\t\tconsole.error([\n\t\t\t'SYNCHRONOUS TERMINATION NOTICE:',\n\t\t\t'When explicitly exiting the process via process.exit or via a parent process,',\n\t\t\t'asynchronous tasks in your exitHooks will not run. Either remove these tasks,',\n\t\t\t'use gracefulExit() instead of process.exit(), or ensure your parent process',\n\t\t\t'sends a SIGINT to the process running this code.',\n\t\t].join(' '));\n\t}\n\n\tconst exitCode = 128 + signal;\n\n\tconst done = (force = false) => {\n\t\tif (force === true || shouldManuallyExit === true) {\n\t\t\tprocess.exit(exitCode); // eslint-disable-line unicorn/no-process-exit\n\t\t}\n\t};\n\n\tfor (const callback of callbacks) {\n\t\tcallback(exitCode);\n\t}\n\n\tif (isSynchronous) {\n\t\tdone();\n\t\treturn;\n\t}\n\n\tconst promises = [];\n\tlet forceAfter = 0;\n\tfor (const [callback, wait] of asyncCallbacks) {\n\t\tforceAfter = Math.max(forceAfter, wait);\n\t\tpromises.push(Promise.resolve(callback(exitCode)));\n\t}\n\n\t// Force exit if we exceeded our wait value\n\tconst asyncTimer = setTimeout(() => {\n\t\tdone(true);\n\t}, forceAfter);\n\n\tawait Promise.all(promises);\n\tclearTimeout(asyncTimer);\n\tdone();\n}\n\nfunction addHook(options) {\n\tconst {onExit, wait, isSynchronous} = options;\n\tconst asyncCallbackConfig = [onExit, wait];\n\n\tif (isSynchronous) {\n\t\tcallbacks.add(onExit);\n\t} else {\n\t\tasyncCallbacks.add(asyncCallbackConfig);\n\t}\n\n\tif (!isRegistered) {\n\t\tisRegistered = true;\n\n\t\t// Exit cases that support asynchronous handling\n\t\tprocess.once('beforeExit', exit.bind(undefined, true, false, -128));\n\t\tprocess.once('SIGINT', exit.bind(undefined, true, false, 2));\n\t\tprocess.once('SIGTERM', exit.bind(undefined, true, false, 15));\n\n\t\t// Explicit exit events. Calling will force an immediate exit and run all\n\t\t// synchronous hooks. Explicit exits must not extend the node process\n\t\t// artificially. Will log errors if asynchronous calls exist.\n\t\tprocess.once('exit', exit.bind(undefined, false, true, 0));\n\n\t\t// PM2 Cluster shutdown message. Caught to support async handlers with pm2,\n\t\t// needed because explicitly calling process.exit() doesn't trigger the\n\t\t// beforeExit event, and the exit event cannot support async handlers,\n\t\t// since the event loop is never called after it.\n\t\tprocess.on('message', message => {\n\t\t\tif (message === 'shutdown') {\n\t\t\t\texit(true, true, -128);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn () => {\n\t\tif (isSynchronous) {\n\t\t\tcallbacks.delete(onExit);\n\t\t} else {\n\t\t\tasyncCallbacks.delete(asyncCallbackConfig);\n\t\t}\n\t};\n}\n\nexport default function exitHook(onExit) {\n\tif (typeof onExit !== 'function') {\n\t\tthrow new TypeError('onExit must be a function');\n\t}\n\n\treturn addHook({\n\t\tonExit,\n\t\tisSynchronous: true,\n\t});\n}\n\nexport function asyncExitHook(onExit, options = {}) {\n\tif (typeof onExit !== 'function') {\n\t\tthrow new TypeError('onExit must be a function');\n\t}\n\n\tif (!(typeof options.wait === 'number' && options.wait > 0)) {\n\t\tthrow new TypeError('wait must be set to a positive numeric value');\n\t}\n\n\treturn addHook({\n\t\tonExit,\n\t\twait: options.wait,\n\t\tisSynchronous: false,\n\t});\n}\n\nexport function gracefulExit(signal = 0) {\n\texit(true, false, -128 + signal);\n}\n","import { getTestOverrides } from '@wix/cli-test-overrides';\n\nconst DEV_EDITOR_BASE_URL = 'https://wix.com/editor/';\n\nexport function getDevEditorBaseUrl(): string {\n return getTestOverrides().devEditorBaseUrl ?? DEV_EDITOR_BASE_URL;\n}\n","import type { AuthState } from '@wix/cli-auth';\nimport { createApp } from '@wix/ambassador-velo-apps-v1-app/http';\nimport type {\n App,\n CreateAppRequest,\n} from '@wix/ambassador-velo-apps-v1-app/types';\nimport { AppType } from '@wix/ambassador-velo-apps-v1-app/types';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { httpRequest } from '../http-request.js';\nimport { catchFilesMaxSizeError } from './error-handlers/maxFileSizeErrorHandler.js';\nimport { loadProjectGridAppContent } from './loadProjectGridAppContent.js';\n\nasync function createAppWithParams(\n params: CreateAppRequest,\n opts: {\n authState: AuthState;\n }\n): Promise<string> {\n let app: App | undefined;\n\n try {\n const response = await httpRequest(\n { type: 'code', authState: opts.authState },\n createApp(params)\n );\n app = response.data.app;\n } catch (err) {\n catchFilesMaxSizeError(err, params.content?.files);\n\n throw err;\n }\n\n if (!app?.id) {\n throw new CliError({\n code: CliErrorCode.InvalidCreateAppResponse(),\n info: { app },\n cause: null,\n });\n }\n\n return app.id;\n}\n\nexport async function createMutableGridApp(\n projectFolder: string,\n opts: {\n authState: AuthState;\n }\n) {\n const content = await loadProjectGridAppContent(projectFolder);\n\n return createAppWithParams(\n {\n app: {\n mutable: true,\n appType: AppType.VELO_ISOLATED,\n },\n content,\n },\n opts\n );\n}\n","import type { File } from '@wix/ambassador-velo-apps-v1-app/types';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { extractHttpError } from '@wix/cli-http-client';\n\nexport function catchFilesMaxSizeError(err: unknown, files: File[] = []) {\n if (!files.length) {\n return;\n }\n\n const httpError = extractHttpError(err);\n\n if (!httpError) {\n return;\n }\n\n const filesMaxSizeRawViolations =\n httpError.response?.data?.details?.validationError?.fieldViolations?.filter(\n (v: { violatedRule: string }) => v.violatedRule === 'MAX_LENGTH'\n );\n\n if (!filesMaxSizeRawViolations?.length) {\n return;\n }\n\n const maxSizeViolationsData = tryExtractMaxSizeViolationMetadata(\n filesMaxSizeRawViolations\n );\n\n throw new CliError({\n code: CliErrorCode.GridAppFilesMaxLengthExceeded({\n maxSizeViolationsData,\n filePaths: files.map((f) => f.path ?? '[unknown file path]'),\n }),\n cause: httpError,\n });\n}\n\nfunction tryExtractMaxSizeViolationMetadata(\n filesMaxSizeViolations: Array<{ field: string; description: string }>\n) {\n const fileIndexRegex = /\\[(?<fileIndex>\\d+)\\].content/;\n const expectedAndReceivedSizeRegex =\n /has size (?<receivedSize>\\d+), expected (?<expectedSize>\\d+) or less/;\n const violationsData: {\n expectedSize?: number;\n files: Array<{ fileIndex: number; receivedSize: number }>;\n } = {\n expectedSize: undefined,\n files: [],\n };\n\n for (const filesMaxSizeViolation of filesMaxSizeViolations) {\n const fileIndexMatchResult = fileIndexRegex.exec(\n filesMaxSizeViolation.field\n );\n const expectedAndReceivedSizeMatchResult =\n expectedAndReceivedSizeRegex.exec(filesMaxSizeViolation.description);\n\n if (\n !(\n fileIndexMatchResult?.groups?.fileIndex &&\n expectedAndReceivedSizeMatchResult?.groups?.receivedSize &&\n expectedAndReceivedSizeMatchResult.groups.expectedSize\n )\n ) {\n return null;\n }\n\n violationsData.expectedSize ??= Math.trunc(\n parseInt(expectedAndReceivedSizeMatchResult.groups.expectedSize, 10) /\n 1000\n );\n\n violationsData.files.push({\n receivedSize: Math.trunc(\n parseInt(expectedAndReceivedSizeMatchResult.groups.receivedSize, 10) /\n 1000\n ),\n fileIndex: parseInt(fileIndexMatchResult.groups.fileIndex, 10),\n });\n }\n\n return violationsData;\n}\n","import { readFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport type { AuthState } from '@wix/cli-auth';\nimport { updateFiles } from '@wix/ambassador-velo-ide-v1-gridapp-filestructure/http';\nimport { GridAppLayout } from '@wix/ambassador-velo-ide-v1-gridapp-filestructure/types';\nimport { getSourceFolder } from '@wix/velo-github-layout-definitions';\nimport { watch } from 'chokidar';\nimport { debounceQueue } from '@wix/debounce-queue';\nimport pLimit from 'p-limit';\nimport normalizePath from 'normalize-path';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { httpRequest } from '../http-request.js';\nimport type { ProjectModel } from '../model.js';\nimport type { Logger } from '../logger.js';\nimport type { SitesBiEvents } from '../bi.js';\nimport { catchFilesMaxSizeError } from './error-handlers/maxFileSizeErrorHandler.js';\n\ntype ChokidarEventParams = [\n 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n string,\n];\n\nconst WATCH_FS_EVENTS_DEBOUNCE_TIME = 1000;\n\nconst getSectionName = (path: string) => {\n if (path.startsWith('src/pages')) {\n return 'public';\n }\n if (path.startsWith('src/backend')) {\n return 'backend';\n }\n return 'other';\n};\n\nexport function startGridAppUpdater(\n model: ProjectModel,\n gridAppId: string,\n opts: {\n onError: (e: CliError) => void;\n authState: AuthState;\n },\n logger: Logger,\n biEvents: SitesBiEvents\n) {\n const { projectFolder } = model;\n const limit = pLimit(1);\n\n const watcher = watch(getSourceFolder(projectFolder), {\n disableGlobbing: true,\n cwd: projectFolder,\n ignoreInitial: true,\n })\n .on(\n 'all',\n debounceQueue(async (events: ChokidarEventParams[]) => {\n await limit(async () => {\n const logSynced = logger.logSyncingLocalCode();\n const { added, changed, removed } =\n normalizeChokidarBatchedEvents(events);\n const addedArray = Array.from(added.values()).map((path) => ({\n path,\n type: 'create',\n }));\n const changedArray = Array.from(changed.values()).map((path) => ({\n path,\n type: 'update',\n }));\n const removedArray = Array.from(removed.values()).map((path) => ({\n path,\n type: 'delete',\n }));\n\n for (const val of [...addedArray, ...changedArray, ...removedArray]) {\n biEvents.file({\n model,\n action: val.type as 'create' | 'update' | 'delete',\n path: val.path,\n oldPath: '',\n sectionName: getSectionName(val.path),\n });\n if (val.type === 'update') {\n biEvents.codeChanged(model, val.path);\n }\n }\n\n try {\n await writeFiles({\n filesToUpdate: await Promise.all(\n addedArray.concat(changedArray).map(async (val) => ({\n path: normalizePath(val.path),\n content: await readFile(\n join(projectFolder, val.path),\n 'utf8'\n ),\n }))\n ),\n removedArray,\n gridAppId,\n authState: opts.authState,\n });\n\n const message = logSynced.success();\n biEvents.messageDisplayed({ message, model });\n biEvents.readyForReloadAfterCodeChanged(model);\n } catch (e) {\n logSynced.fail();\n const error = new CliError({\n code: CliErrorCode.GridAppFailedToUpdateFiles(),\n cause: e,\n info: {\n added,\n changed,\n removed,\n },\n });\n opts.onError(error);\n }\n });\n }, WATCH_FS_EVENTS_DEBOUNCE_TIME)\n )\n .on('error', (e) => {\n const error = new CliError({\n code: CliErrorCode.FailedToWatchFiles(),\n cause: e,\n });\n\n opts.onError(error);\n });\n\n return { close: () => watcher.close() };\n}\n\nfunction normalizeChokidarBatchedEvents(events: ChokidarEventParams[]) {\n return events.reduce(\n (result, [eventType, filePath]) => {\n switch (eventType) {\n case 'add': {\n result.added.add(filePath);\n break;\n }\n case 'change': {\n result.changed.add(filePath);\n break;\n }\n case 'unlink': {\n result.added.delete(filePath);\n result.changed.delete(filePath);\n result.removed.add(filePath);\n break;\n }\n case 'unlinkDir': {\n const filePathAsDir = filePath.endsWith('/')\n ? filePath\n : `${filePath}/`;\n for (const filePath of result.added) {\n if (filePath.startsWith(filePathAsDir)) {\n result.added.delete(filePath);\n }\n }\n for (const filePath of result.changed) {\n if (filePath.startsWith(filePathAsDir)) {\n result.changed.delete(filePath);\n }\n }\n result.removed.add(filePath);\n break;\n }\n case 'addDir': {\n break;\n }\n }\n return result;\n },\n {\n added: new Set<string>(),\n changed: new Set<string>(),\n removed: new Set<string>(),\n }\n );\n}\n\nasync function writeFiles({\n filesToUpdate,\n removedArray,\n gridAppId,\n authState,\n}: {\n filesToUpdate: Array<{ path: string; content: string }>;\n removedArray: Array<{ path: string; type: string }>;\n gridAppId: string;\n authState: AuthState;\n}) {\n try {\n await httpRequest(\n {\n type: 'code',\n authState,\n },\n updateFiles({\n gridAppId,\n layout: GridAppLayout.GITHUB,\n filesToUpdate,\n ignoreForbiddenPaths: true,\n pathsToDelete: removedArray.map((val) => val.path),\n })\n );\n } catch (err) {\n catchFilesMaxSizeError(err, filesToUpdate);\n throw err;\n }\n}\n","import readline from 'node:readline';\nimport { stdin } from 'node:process';\n\ninterface Key {\n ctrl: boolean;\n name: string;\n sequence: string;\n meta: boolean;\n shift: boolean;\n}\n\ntype Callback = (key: Key) => void;\nexport class KeyWatcher {\n private actions = new Map<string, Callback>();\n\n private watchExitProcess() {\n return new Promise<void>((resolve) => {\n this.on('c', (key) => {\n if (key.ctrl) {\n resolve();\n }\n });\n });\n }\n\n on(key: string, callback: Callback) {\n this.actions.set(key, callback);\n }\n\n watch() {\n const rl = readline.createInterface(stdin);\n\n readline.emitKeypressEvents(stdin, rl);\n\n if (stdin.isTTY) {\n // This is required since in test we don't have a terminal and setRawMode is undefined\n stdin.setRawMode(true);\n stdin.setEncoding('utf8');\n }\n\n stdin.on('keypress', this.handleKeyPress);\n\n return {\n ctrlCPromise: this.watchExitProcess(),\n };\n }\n\n unwatch() {\n if (stdin.isTTY) {\n // This is required since in test we don't have a terminal and setRawMode is undefined\n stdin.setRawMode(false);\n }\n stdin.off('keypress', this.handleKeyPress);\n stdin.pause();\n this.actions.clear();\n }\n\n handleKeyPress = (_: string, key: Key) => {\n this.actions.get(key.name)?.(key);\n };\n}\n","import { randomUUID } from 'node:crypto';\nimport {\n wixCliFileFolderCreatedRenamedDeleted,\n wixCliCliMessageDisplayed,\n wixCliCodeHasBeenChanged,\n wixCliUserResponseToCliMessage,\n wixCliReadyForReloadAfterCodeChange,\n} from '@wix/bi-logger-wix-cli/v2';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport type { ProjectModel } from './model.js';\n\nexport const sitesBiEvents = (biLogger: BiLogger) => ({\n file: ({\n model,\n action,\n path,\n sectionName,\n oldPath,\n }: {\n model: ProjectModel;\n action: 'create' | 'update' | 'delete';\n path: string;\n sectionName: string;\n oldPath: string;\n }) => {\n void biLogger.report(\n wixCliFileFolderCreatedRenamedDeleted({\n action,\n path,\n sectionName,\n oldPath,\n siteRevision: Number(model.revision),\n })\n );\n },\n codeChanged: (model: ProjectModel, fileName: string) => {\n void biLogger.report(\n wixCliCodeHasBeenChanged({\n fileName,\n siteRevision: Number(model.revision),\n })\n );\n },\n readyForReloadAfterCodeChanged: (model: ProjectModel) => {\n void biLogger.report(\n wixCliReadyForReloadAfterCodeChange({\n siteRevision: Number(model.revision),\n })\n );\n },\n messageDisplayed: ({\n message,\n model,\n }: {\n message: string;\n model: ProjectModel;\n }) => {\n void biLogger.report(\n wixCliCliMessageDisplayed({\n message,\n messageId: randomUUID(),\n siteRevision: Number(model.revision),\n })\n );\n },\n userResponse: ({\n model,\n action,\n message,\n }: {\n model: ProjectModel;\n action: 'Browser opened';\n message: string;\n }) => {\n void biLogger.report(\n wixCliUserResponseToCliMessage({\n action,\n message,\n messageId: randomUUID(),\n siteRevision: Number(model.revision),\n })\n );\n },\n});\n\nexport type SitesBiEvents = ReturnType<typeof sitesBiEvents>;\n","import { rm } from 'node:fs/promises';\nimport type { AuthState } from '@wix/cli-auth';\nimport { writeCrashReport } from '@wix/cli-debug-log';\nimport { getTypesDir } from '@wix/velo-github-layout-definitions';\nimport { getDebugLogFilePath } from '@wix/cli-core-definitions';\nimport type { ProjectModel } from '../model.js';\nimport { syncPages } from '../sources/index.js';\nimport { syncTypesWithAuth } from '../sync-types/index.js';\nimport type { Logger } from '../logger.js';\n\nexport async function syncAllToRevision(\n model: ProjectModel,\n opts: {\n authState: AuthState;\n },\n logger: Logger\n) {\n const logTypesSynced = logger.logSyncingTypesToRevision(model.revision);\n try {\n await syncTypesWithAuth(model, { authState: opts.authState });\n logTypesSynced.success();\n } catch (error) {\n // As a workaround until the types sync can handle large projects, this error is recoverable\n writeCrashReport(getDebugLogFilePath(model.projectFolder), error);\n logTypesSynced.fail();\n await rm(getTypesDir(model.projectFolder), {\n recursive: true,\n force: true,\n }).catch((e: unknown) => {\n writeCrashReport(getDebugLogFilePath(model.projectFolder), e);\n logger.logRecoverableFailureToRemoveTypesDir(e);\n });\n }\n\n const logPagesSynced = logger.logSyncingPagesToRevision(model.revision);\n try {\n await syncPages(model, { authState: opts.authState });\n logPagesSynced.success();\n } catch (error) {\n logPagesSynced.fail();\n throw error;\n }\n}\n","import { readdir } from 'node:fs/promises';\nimport { pagesDiff } from '@wix/ambassador-velo-apps-v1-app/http';\nimport type { PagesDiffRequest } from '@wix/ambassador-velo-apps-v1-app/types';\nimport { GridAppLayout } from '@wix/ambassador-velo-apps-v1-app/types';\nimport {\n getPagesFolder,\n getSourceFolder,\n} from '@wix/velo-github-layout-definitions';\nimport type { AuthState } from '@wix/cli-auth';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { pathExists } from '@wix/cli-fs';\nimport { httpRequest } from '../http-request.js';\nimport type { ProjectModel } from '../model.js';\nimport { createPages, deletePages, renamePages } from './pages-diff.js';\n\nexport async function syncPages(\n model: ProjectModel,\n opts: {\n authState: AuthState;\n }\n): Promise<void> {\n const pagesFolder = getPagesFolder(model.projectFolder);\n\n if (!(await pathExists(pagesFolder))) {\n throw new CliError({\n code: CliErrorCode.NoPagesDirectoryFound({\n srcDir: getSourceFolder(model.projectFolder),\n }),\n cause: null,\n });\n }\n\n const params: PagesDiffRequest = {\n layout: GridAppLayout.GITHUB,\n sourcePagesPaths: await readdir(pagesFolder),\n targetRevision: model.revision,\n };\n const { data } = await httpRequest(\n {\n authState: opts.authState,\n type: 'code',\n },\n pagesDiff(params)\n ).catch((e: unknown) => {\n throw new CliError({\n code: CliErrorCode.FailedToGetPagesDiff(),\n cause: e,\n info: { ...params },\n });\n });\n\n await Promise.all([\n createPages(model.projectFolder, data.pagesDiff?.created ?? []),\n renamePages(model.projectFolder, data.pagesDiff?.renamed ?? []),\n deletePages(model.projectFolder, data.pagesDiff?.deleted ?? []),\n ]);\n}\n","import { join } from 'node:path';\nimport { rm, rename } from 'node:fs/promises';\nimport type {\n NewPage,\n RenamedPage,\n PageId,\n} from '@wix/ambassador-velo-apps-v1-app/types';\nimport { pathExists, outputFile } from '@wix/cli-fs';\n\nexport async function createPages(\n projectFolder: string,\n pages: NewPage[]\n): Promise<void> {\n await Promise.all(\n pages.map((page) => {\n if (!page.pageId?.path || !page.content) {\n return Promise.resolve();\n }\n\n return outputFile(join(projectFolder, page.pageId.path), page.content);\n })\n );\n}\n\nexport async function renamePages(\n projectFolder: string,\n pages: RenamedPage[]\n): Promise<void> {\n await Promise.all(\n pages.map(async (page) => {\n if (!page.sourcePath?.path || !page.targetPath?.path) {\n return;\n }\n\n const sourcePath = join(projectFolder, page.sourcePath.path);\n const targetPath = join(projectFolder, page.targetPath.path);\n\n if (await pathExists(targetPath)) {\n return rm(sourcePath, { force: true });\n }\n\n return rename(sourcePath, targetPath);\n })\n );\n}\n\nexport async function deletePages(\n projectFolder: string,\n pages: PageId[]\n): Promise<void> {\n await Promise.all(\n pages.map((page) => {\n if (!page.path) {\n return Promise.resolve();\n }\n\n return rm(join(projectFolder, page.path), { force: true });\n })\n );\n}\n"],"mappings":"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","names":["normalizePath","filePath","rm","join","join","GridAppLayout","rm"]}
package/build/index.js CHANGED
@@ -15,12 +15,12 @@ import {
15
15
  import {
16
16
  createBiLogger,
17
17
  package_default
18
- } from "./chunk-K4WA6TGX.js";
19
- import "./chunk-EK2SY3GO.js";
18
+ } from "./chunk-4O4G7HN2.js";
19
+ import "./chunk-AA5HURS5.js";
20
20
  import {
21
21
  getUserInfo,
22
22
  pTimeout
23
- } from "./chunk-2JBKA7NS.js";
23
+ } from "./chunk-VWHAW4FC.js";
24
24
  import {
25
25
  OutdatedVersionMessage,
26
26
  createErrorHandler,
@@ -29,13 +29,13 @@ import {
29
29
  require_prerelease,
30
30
  require_semver,
31
31
  writeCrashReport
32
- } from "./chunk-ZI5H23IX.js";
32
+ } from "./chunk-RIDZNJ65.js";
33
33
  import "./chunk-NPVP6ZBL.js";
34
- import "./chunk-3FZAADQZ.js";
34
+ import "./chunk-I3MNONAI.js";
35
35
  import "./chunk-GPEPI5XF.js";
36
36
  import {
37
37
  render
38
- } from "./chunk-3F7WAIMW.js";
38
+ } from "./chunk-YVQDNTNO.js";
39
39
  import {
40
40
  require_react
41
41
  } from "./chunk-SO6EZMEL.js";
@@ -44,7 +44,7 @@ import {
44
44
  } from "./chunk-2K5KKUL3.js";
45
45
  import "./chunk-YU54OBFT.js";
46
46
  import "./chunk-XMTHMR2B.js";
47
- import "./chunk-VJBYOADN.js";
47
+ import "./chunk-ZCKZMMPY.js";
48
48
  import {
49
49
  SENTRY_DSN,
50
50
  VERSION_CACHE_FILENAME,
@@ -61,7 +61,7 @@ import {
61
61
  import {
62
62
  pathExists,
63
63
  readJson
64
- } from "./chunk-ZX4MDEB5.js";
64
+ } from "./chunk-EJEDZZSK.js";
65
65
  import {
66
66
  z
67
67
  } from "./chunk-SF2XPDVG.js";
@@ -4215,9 +4215,9 @@ var login = (services) => {
4215
4215
  "Authenticate using an API key for automations and CI environments"
4216
4216
  ).action(async (options, command) => {
4217
4217
  const { apiKey } = options;
4218
- const { getUserInfo: getUserInfo2 } = await import("./src-AKTC65RR.js");
4219
- const { LoginCommand } = await import("./LoginCommand-PWZDKRYA.js");
4220
- const { renderCommand } = await import("./render-command-GQX7Z575.js");
4218
+ const { getUserInfo: getUserInfo2 } = await import("./src-36YXA45Z.js");
4219
+ const { LoginCommand } = await import("./LoginCommand-N7VGSH5Y.js");
4220
+ const { renderCommand } = await import("./render-command-UUPZCQR5.js");
4221
4221
  const userInfo = await getUserInfo2();
4222
4222
  await renderCommand(
4223
4223
  command,
@@ -4232,9 +4232,9 @@ init_esm_shims();
4232
4232
  var import_react2 = __toESM(require_react(), 1);
4233
4233
  var logout = (services) => {
4234
4234
  return createCommand("logout").description("Log out of your Wix account").action(async (_, command) => {
4235
- const { getUserInfo: getUserInfo2 } = await import("./src-AKTC65RR.js");
4236
- const { LogoutCommand } = await import("./LogoutCommand-4QR73A4S.js");
4237
- const { renderCommand } = await import("./render-command-GQX7Z575.js");
4235
+ const { getUserInfo: getUserInfo2 } = await import("./src-36YXA45Z.js");
4236
+ const { LogoutCommand } = await import("./LogoutCommand-NXTHVFG5.js");
4237
+ const { renderCommand } = await import("./render-command-UUPZCQR5.js");
4238
4238
  const userInfo = await getUserInfo2();
4239
4239
  await renderCommand(
4240
4240
  command,
@@ -4250,7 +4250,7 @@ var telemetry = () => {
4250
4250
  return createCommand("telemetry").description(
4251
4251
  "Opt in/out of sending anonymous usage information (telemetry) to Wix"
4252
4252
  ).addArgument(new Argument("<state>", "").choices(["on", "off"])).action(async (state) => {
4253
- const { updateUserConfig } = await import("./src-OLQ56DHH.js");
4253
+ const { updateUserConfig } = await import("./src-TCOQJWS6.js");
4254
4254
  const { CliError: CliError2, CliErrorCode: CliErrorCode2 } = await import("./src-SJLIJTME.js");
4255
4255
  const { createLogger } = await import("./src-DFC4OJXU.js");
4256
4256
  const logger = createLogger();
@@ -4272,9 +4272,9 @@ init_esm_shims();
4272
4272
  var import_react3 = __toESM(require_react(), 1);
4273
4273
  var whoami = (services) => {
4274
4274
  return createCommand("whoami").description("Display the email of the logged in Wix user").action(async (_, command) => {
4275
- const { getUserInfo: getUserInfo2 } = await import("./src-AKTC65RR.js");
4276
- const { WhoamiCommand } = await import("./WhoamiCommand-MMPSNCAC.js");
4277
- const { renderCommand } = await import("./render-command-GQX7Z575.js");
4275
+ const { getUserInfo: getUserInfo2 } = await import("./src-36YXA45Z.js");
4276
+ const { WhoamiCommand } = await import("./WhoamiCommand-JVMX7IEJ.js");
4277
+ const { renderCommand } = await import("./render-command-UUPZCQR5.js");
4278
4278
  const userInfo = await getUserInfo2();
4279
4279
  await renderCommand(
4280
4280
  command,
@@ -4415,7 +4415,7 @@ async function importCliAstro(config, projectFolder2) {
4415
4415
  if (Object.hasOwn(config, "appId")) {
4416
4416
  const astroExists = await hasAstroConfigurationFile(projectFolder2);
4417
4417
  if (astroExists) {
4418
- return import("./src-UMNJY6SI.js");
4418
+ return import("./src-LGPI7BEK.js");
4419
4419
  }
4420
4420
  }
4421
4421
  return null;
@@ -4436,12 +4436,12 @@ async function importCliSite(config) {
4436
4436
  return null;
4437
4437
  }
4438
4438
  if (env.WIX_CLI_SITE_LIVE === "true" && Object.hasOwn(config, "veloAppId")) {
4439
- return import("./src-S7BEPJAC.js");
4439
+ return import("./src-G4VTAB7N.js");
4440
4440
  }
4441
4441
  if (!Object.hasOwn(config, "uiVersion")) {
4442
- return import("./src-DQDO7JJM.js");
4442
+ return import("./src-FQXVNQBP.js");
4443
4443
  }
4444
- return import("./src-TWILNX3D.js");
4444
+ return import("./src-TNYBYQC2.js");
4445
4445
  }
4446
4446
 
4447
4447
  // src/files/wix.config.ts
@@ -4,42 +4,42 @@ import {
4
4
  migrateToAnyNpmIfNeeded,
5
5
  resolveNpmDependencies,
6
6
  resolvePackageManager
7
- } from "./chunk-NHJIXRUI.js";
7
+ } from "./chunk-JHYR5NET.js";
8
8
  import {
9
9
  createLogger
10
- } from "./chunk-BOGU34IM.js";
10
+ } from "./chunk-PKZ6J2PV.js";
11
11
  import {
12
12
  createI18nT
13
- } from "./chunk-EIP3LX47.js";
13
+ } from "./chunk-6PQJVCVI.js";
14
14
  import {
15
15
  authenticate
16
- } from "./chunk-VYJY4BVK.js";
16
+ } from "./chunk-3PAHQ4M3.js";
17
17
  import "./chunk-BWQNSFZR.js";
18
18
  import "./chunk-K3JR47MS.js";
19
- import "./chunk-ITRA36T5.js";
19
+ import "./chunk-KEX4DNHZ.js";
20
20
  import "./chunk-E4DQ4CV7.js";
21
21
  import "./chunk-J6324FUW.js";
22
- import "./chunk-WHWIF3DO.js";
22
+ import "./chunk-RYKJWCW2.js";
23
23
  import "./chunk-CNXKF7E3.js";
24
- import "./chunk-WD6CJCOU.js";
24
+ import "./chunk-CMCIM2FR.js";
25
25
  import "./chunk-3OG3PDAA.js";
26
26
  import "./chunk-OJHDGJWP.js";
27
- import "./chunk-EK2SY3GO.js";
28
- import "./chunk-2JBKA7NS.js";
29
- import "./chunk-ZI5H23IX.js";
27
+ import "./chunk-AA5HURS5.js";
28
+ import "./chunk-VWHAW4FC.js";
29
+ import "./chunk-RIDZNJ65.js";
30
30
  import "./chunk-NPVP6ZBL.js";
31
- import "./chunk-3FZAADQZ.js";
31
+ import "./chunk-I3MNONAI.js";
32
32
  import "./chunk-GPEPI5XF.js";
33
- import "./chunk-3F7WAIMW.js";
33
+ import "./chunk-YVQDNTNO.js";
34
34
  import "./chunk-SO6EZMEL.js";
35
35
  import "./chunk-2K5KKUL3.js";
36
36
  import "./chunk-YU54OBFT.js";
37
37
  import "./chunk-XMTHMR2B.js";
38
- import "./chunk-VJBYOADN.js";
38
+ import "./chunk-ZCKZMMPY.js";
39
39
  import "./chunk-7ZP5YH44.js";
40
40
  import "./chunk-COXRYL76.js";
41
41
  import "./chunk-MWHZITF4.js";
42
- import "./chunk-ZX4MDEB5.js";
42
+ import "./chunk-EJEDZZSK.js";
43
43
  import "./chunk-SF2XPDVG.js";
44
44
  import "./chunk-VNWDO45Y.js";
45
45
  import {
@@ -82,4 +82,4 @@ async function install(model, { biLogger, errorReporter }, options, initialPacka
82
82
  export {
83
83
  install
84
84
  };
85
- //# sourceMappingURL=install-TGGF47D3.js.map
85
+ //# sourceMappingURL=install-EG5K5ISY.js.map
@@ -2,46 +2,47 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  PreviewCommand
5
- } from "./chunk-P3NZ2754.js";
6
- import "./chunk-QANV2BNY.js";
7
- import "./chunk-FNJNKOMZ.js";
8
- import "./chunk-CGDYTPAX.js";
5
+ } from "./chunk-JSW5O26R.js";
6
+ import "./chunk-5L3ZCEVU.js";
7
+ import "./chunk-F6AKDZEI.js";
8
+ import "./chunk-X24UQ77D.js";
9
+ import "./chunk-DUYQZPRH.js";
9
10
  import {
10
11
  ProjectModelProvider
11
- } from "./chunk-YOQ3HNUG.js";
12
+ } from "./chunk-W3FB2GVG.js";
12
13
  import "./chunk-65JTHDMM.js";
13
14
  import "./chunk-AII5FZC2.js";
14
15
  import {
15
16
  addUserFields
16
- } from "./chunk-EK2SY3GO.js";
17
+ } from "./chunk-AA5HURS5.js";
17
18
  import {
18
19
  AccountAuthProvider,
19
20
  isLoggedInToAccount
20
- } from "./chunk-2JBKA7NS.js";
21
+ } from "./chunk-VWHAW4FC.js";
21
22
  import {
22
23
  BiProvider,
23
24
  DebugLogProvider,
24
25
  ErrorReporterProvider
25
- } from "./chunk-ZI5H23IX.js";
26
+ } from "./chunk-RIDZNJ65.js";
26
27
  import "./chunk-NPVP6ZBL.js";
27
- import "./chunk-3FZAADQZ.js";
28
+ import "./chunk-I3MNONAI.js";
28
29
  import "./chunk-GPEPI5XF.js";
29
30
  import {
30
31
  createRendererToString
31
- } from "./chunk-3F7WAIMW.js";
32
+ } from "./chunk-YVQDNTNO.js";
32
33
  import {
33
34
  require_react
34
35
  } from "./chunk-SO6EZMEL.js";
35
36
  import "./chunk-2K5KKUL3.js";
36
37
  import "./chunk-YU54OBFT.js";
37
38
  import "./chunk-XMTHMR2B.js";
38
- import "./chunk-VJBYOADN.js";
39
+ import "./chunk-ZCKZMMPY.js";
39
40
  import {
40
41
  getDebugLogFilePath
41
42
  } from "./chunk-7ZP5YH44.js";
42
43
  import "./chunk-COXRYL76.js";
43
44
  import "./chunk-MWHZITF4.js";
44
- import "./chunk-ZX4MDEB5.js";
45
+ import "./chunk-EJEDZZSK.js";
45
46
  import "./chunk-SF2XPDVG.js";
46
47
  import {
47
48
  CliError,
@@ -108,4 +109,4 @@ async function nonInteractivePreview(services, model, options) {
108
109
  export {
109
110
  nonInteractivePreview
110
111
  };
111
- //# sourceMappingURL=preview-LL7QLO4Z.js.map
112
+ //# sourceMappingURL=preview-HGI3D6BP.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../cli-astro-commands/src/non-interactive/preview.tsx","../../cli-astro-commands/src/non-interactive/logger.ts","../../cli-astro-commands/src/non-interactive/execute-command.tsx"],"sourcesContent":["import React from 'react';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport { PreviewCommand } from '../components/PreviewCommand/index.js';\nimport type { ProjectModel } from '../model.js';\nimport { log } from './logger.js';\nimport { executeCommand } from './execute-command.js';\n\nexport async function nonInteractivePreview(\n services: CommandServices,\n model: ProjectModel,\n options: { baseUrl?: string }\n) {\n const { baseUrl } = options;\n\n const result = await executeCommand<{ armTag: string; serverUrl: string }>(\n services,\n model,\n (resolve) => (\n <PreviewCommand\n baseUrl={baseUrl}\n onPreviewCreated={resolve}\n environment=\"preview\"\n />\n )\n );\n\n log(JSON.stringify(result, null, 2));\n}\n","export function log(message: string) {\n // eslint-disable-next-line no-console\n console.log(message);\n}\n","import React from 'react';\nimport type { ReactNode } from 'react';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport { addUserFields } from '@wix/cli-telemetry';\nimport { BiProvider } from '@wix/cli-telemetry-react';\nimport { DebugLogProvider } from '@wix/cli-debug-log';\nimport { getDebugLogFilePath } from '@wix/cli-core-definitions';\nimport { createRendererToString } from '@wix/cli-ui-kit';\nimport { ErrorReporterProvider } from '@wix/cli-error-reporting';\nimport { AccountAuthProvider, isLoggedInToAccount } from '@wix/cli-auth';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { ProjectModelProvider } from '../model.js';\nimport type { ProjectModel } from '../model.js';\n\nexport async function executeCommand<T>(\n services: CommandServices,\n model: ProjectModel,\n renderFn: (resolve: (data: T) => void) => ReactNode\n): Promise<T> {\n const authData = await isLoggedInToAccount();\n\n if (!authData) {\n throw new CliError({\n code: CliErrorCode.AuthenticationRequired(),\n cause: null,\n });\n }\n\n services.errorReporter.setUser({ id: authData.userInfo.userId });\n addUserFields(services.biLogger, authData.userInfo.userId);\n\n const renderer = createRendererToString({ stripAnsi: false });\n const debugLogFilePath = getDebugLogFilePath(model.projectFolder);\n\n return new Promise((resolve, reject) => {\n renderer.render(\n <BiProvider value={services.biLogger}>\n <ErrorReporterProvider value={services.errorReporter}>\n <AccountAuthProvider>\n <DebugLogProvider filePath={debugLogFilePath}>\n <ProjectModelProvider value={model}>\n {renderFn((...args) => {\n renderer.unmount();\n resolve(...args);\n })}\n </ProjectModelProvider>\n </DebugLogProvider>\n </AccountAuthProvider>\n </ErrorReporterProvider>\n </BiProvider>\n );\n renderer.waitUntilExit().catch(reject);\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,IAAAA,gBAAkB;;;ACAlB;AAAO,SAAS,IAAI,SAAiB;AAEnC,UAAQ,IAAI,OAAO;AACrB;;;ACHA;AAAA,mBAAkB;AAclB,eAAsB,eACpB,UACA,OACA,UACY;AACZ,QAAM,WAAW,MAAM,oBAAoB;AAE3C,MAAI,CAAC,UAAU;AACb,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,uBAAuB;AAAA,MAC1C,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,WAAS,cAAc,QAAQ,EAAE,IAAI,SAAS,SAAS,OAAO,CAAC;AAC/D,gBAAc,SAAS,UAAU,SAAS,SAAS,MAAM;AAEzD,QAAM,WAAW,uBAAuB,EAAE,WAAW,MAAM,CAAC;AAC5D,QAAM,mBAAmB,oBAAoB,MAAM,aAAa;AAEhE,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,aAAS;AAAA,MACP,6BAAAC,QAAA,cAAC,cAAW,OAAO,SAAS,YAC1B,6BAAAA,QAAA,cAAC,yBAAsB,OAAO,SAAS,iBACrC,6BAAAA,QAAA,cAAC,2BACC,6BAAAA,QAAA,cAAC,oBAAiB,UAAU,oBAC1B,6BAAAA,QAAA,cAAC,wBAAqB,OAAO,SAC1B,SAAS,IAAI,SAAS;AACrB,iBAAS,QAAQ;AACjB,gBAAQ,GAAG,IAAI;AAAA,MACjB,CAAC,CACH,CACF,CACF,CACF,CACF;AAAA,IACF;AACA,aAAS,cAAc,EAAE,MAAM,MAAM;AAAA,EACvC,CAAC;AACH;;;AF9CA,eAAsB,sBACpB,UACA,OACA,SACA;AACA,QAAM,EAAE,QAAQ,IAAI;AAEpB,QAAM,SAAS,MAAM;AAAA,IACnB;AAAA,IACA;AAAA,IACA,CAAC,YACC,8BAAAC,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,kBAAkB;AAAA,QAClB,aAAY;AAAA;AAAA,IACd;AAAA,EAEJ;AAEA,MAAI,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AACrC;","names":["import_react","React","React"]}
1
+ {"version":3,"sources":["../../cli-astro-commands/src/non-interactive/preview.tsx","../../cli-astro-commands/src/non-interactive/logger.ts","../../cli-astro-commands/src/non-interactive/execute-command.tsx"],"sourcesContent":["import React from 'react';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport { PreviewCommand } from '../components/PreviewCommand/index.js';\nimport type { ProjectModel } from '../model.js';\nimport { log } from './logger.js';\nimport { executeCommand } from './execute-command.js';\n\nexport async function nonInteractivePreview(\n services: CommandServices,\n model: ProjectModel,\n options: { baseUrl?: string }\n) {\n const { baseUrl } = options;\n\n const result = await executeCommand<{ armTag: string; serverUrl: string }>(\n services,\n model,\n (resolve) => (\n <PreviewCommand\n baseUrl={baseUrl}\n onPreviewCreated={resolve}\n environment=\"preview\"\n />\n )\n );\n\n log(JSON.stringify(result, null, 2));\n}\n","export function log(message: string) {\n // eslint-disable-next-line no-console\n console.log(message);\n}\n","import React from 'react';\nimport type { ReactNode } from 'react';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport { addUserFields } from '@wix/cli-telemetry';\nimport { BiProvider } from '@wix/cli-telemetry-react';\nimport { DebugLogProvider } from '@wix/cli-debug-log';\nimport { getDebugLogFilePath } from '@wix/cli-core-definitions';\nimport { createRendererToString } from '@wix/cli-ui-kit';\nimport { ErrorReporterProvider } from '@wix/cli-error-reporting';\nimport { AccountAuthProvider, isLoggedInToAccount } from '@wix/cli-auth';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { ProjectModelProvider } from '../model.js';\nimport type { ProjectModel } from '../model.js';\n\nexport async function executeCommand<T>(\n services: CommandServices,\n model: ProjectModel,\n renderFn: (resolve: (data: T) => void) => ReactNode\n): Promise<T> {\n const authData = await isLoggedInToAccount();\n\n if (!authData) {\n throw new CliError({\n code: CliErrorCode.AuthenticationRequired(),\n cause: null,\n });\n }\n\n services.errorReporter.setUser({ id: authData.userInfo.userId });\n addUserFields(services.biLogger, authData.userInfo.userId);\n\n const renderer = createRendererToString({ stripAnsi: false });\n const debugLogFilePath = getDebugLogFilePath(model.projectFolder);\n\n return new Promise((resolve, reject) => {\n renderer.render(\n <BiProvider value={services.biLogger}>\n <ErrorReporterProvider value={services.errorReporter}>\n <AccountAuthProvider>\n <DebugLogProvider filePath={debugLogFilePath}>\n <ProjectModelProvider value={model}>\n {renderFn((...args) => {\n renderer.unmount();\n resolve(...args);\n })}\n </ProjectModelProvider>\n </DebugLogProvider>\n </AccountAuthProvider>\n </ErrorReporterProvider>\n </BiProvider>\n );\n renderer.waitUntilExit().catch(reject);\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,IAAAA,gBAAkB;;;ACAlB;AAAO,SAAS,IAAI,SAAiB;AAEnC,UAAQ,IAAI,OAAO;AACrB;;;ACHA;AAAA,mBAAkB;AAclB,eAAsB,eACpB,UACA,OACA,UACY;AACZ,QAAM,WAAW,MAAM,oBAAoB;AAE3C,MAAI,CAAC,UAAU;AACb,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,uBAAuB;AAAA,MAC1C,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,WAAS,cAAc,QAAQ,EAAE,IAAI,SAAS,SAAS,OAAO,CAAC;AAC/D,gBAAc,SAAS,UAAU,SAAS,SAAS,MAAM;AAEzD,QAAM,WAAW,uBAAuB,EAAE,WAAW,MAAM,CAAC;AAC5D,QAAM,mBAAmB,oBAAoB,MAAM,aAAa;AAEhE,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,aAAS;AAAA,MACP,6BAAAC,QAAA,cAAC,cAAW,OAAO,SAAS,YAC1B,6BAAAA,QAAA,cAAC,yBAAsB,OAAO,SAAS,iBACrC,6BAAAA,QAAA,cAAC,2BACC,6BAAAA,QAAA,cAAC,oBAAiB,UAAU,oBAC1B,6BAAAA,QAAA,cAAC,wBAAqB,OAAO,SAC1B,SAAS,IAAI,SAAS;AACrB,iBAAS,QAAQ;AACjB,gBAAQ,GAAG,IAAI;AAAA,MACjB,CAAC,CACH,CACF,CACF,CACF,CACF;AAAA,IACF;AACA,aAAS,cAAc,EAAE,MAAM,MAAM;AAAA,EACvC,CAAC;AACH;;;AF9CA,eAAsB,sBACpB,UACA,OACA,SACA;AACA,QAAM,EAAE,QAAQ,IAAI;AAEpB,QAAM,SAAS,MAAM;AAAA,IACnB;AAAA,IACA;AAAA,IACA,CAAC,YACC,8BAAAC,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,kBAAkB;AAAA,QAClB,aAAY;AAAA;AAAA,IACd;AAAA,EAEJ;AAEA,MAAI,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AACrC;","names":["import_react","React","React"]}