@wix/cli 1.1.157 → 1.1.159

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 (212) hide show
  1. package/build/ConnectWixVibeCommand-P6FUKJZN.js +445 -0
  2. package/build/ConnectWixVibeCommand-P6FUKJZN.js.map +1 -0
  3. package/build/{DevCommand-YVDUHKFM.js → DevCommand-D6NX5F5T.js} +27 -27
  4. package/build/{DevCommand-RHPJ7KZH.js → DevCommand-HXO2CIGP.js} +59 -28
  5. package/build/DevCommand-HXO2CIGP.js.map +1 -0
  6. package/build/{DevCommand-XIGPTEVU.js → DevCommand-XHLFPV6H.js} +18 -18
  7. package/build/{EnvPullCommand-ONVQIF5X.js → EnvPullCommand-E5HLDPVL.js} +12 -12
  8. package/build/{EnvRemoveCommand-IJYJT3Y2.js → EnvRemoveCommand-3ZPPI5PO.js} +11 -11
  9. package/build/{EnvSetCommand-NTPMYIVU.js → EnvSetCommand-PRDYCW6K.js} +11 -11
  10. package/build/{GenerateCommand-DFWLTZ6M.js → GenerateCommand-XTP7WBRN.js} +254 -316
  11. package/build/GenerateCommand-XTP7WBRN.js.map +1 -0
  12. package/build/{InstallCommand-ADXA5E2J.js → InstallCommand-HXH7K6G3.js} +19 -19
  13. package/build/{LoginCommand-UAJ5DLOV.js → LoginCommand-UJ75G5EL.js} +9 -9
  14. package/build/{LogoutCommand-M7Z5SMNU.js → LogoutCommand-KI24QTPG.js} +6 -6
  15. package/build/PreviewCommand-2HRXMZTP.js +44 -0
  16. package/build/{PreviewCommand-BOUZSAPH.js → PreviewCommand-RHAJVEOX.js} +23 -23
  17. package/build/{PreviewCommand-DUC5NKXM.js → PreviewCommand-TDX4EWHA.js} +19 -19
  18. package/build/{PromoteCommand-VCXACMML.js → PromoteCommand-4GIBOBQE.js} +21 -15
  19. package/build/{PromoteCommand-VCXACMML.js.map → PromoteCommand-4GIBOBQE.js.map} +1 -1
  20. package/build/{PublishCommand-LD6PLPUV.js → PublishCommand-5MGOTN63.js} +19 -19
  21. package/build/{ReleaseCommand-U2S3KH7C.js → ReleaseCommand-Q77NNQST.js} +24 -18
  22. package/build/{ReleaseCommand-U2S3KH7C.js.map → ReleaseCommand-Q77NNQST.js.map} +1 -1
  23. package/build/{TranslationPullCommand-XZDKMOPC.js → TranslationPullCommand-LLVVPP6C.js} +12 -11
  24. package/build/TranslationPushCommand-4S6R57PN.js +31 -0
  25. package/build/{UninstallCommand-DLPELDCS.js → UninstallCommand-HQEEXIOB.js} +19 -19
  26. package/build/{WhoamiCommand-IHGDJSAV.js → WhoamiCommand-VENSLOOU.js} +3 -3
  27. package/build/{chunk-HN2SLMD5.js → chunk-224TWK7Q.js} +8 -8
  28. package/build/chunk-27K3MDU2.js +82 -0
  29. package/build/chunk-27K3MDU2.js.map +1 -0
  30. package/build/{chunk-RDT7NRVZ.js → chunk-3BCF2GPM.js} +2 -2
  31. package/build/{chunk-XBIRGBQQ.js → chunk-3DKPVKET.js} +2417 -2399
  32. package/build/chunk-3DKPVKET.js.map +1 -0
  33. package/build/{chunk-TRK6MMBJ.js → chunk-3RMTPNEK.js} +2 -2
  34. package/build/chunk-3WLPH3GV.js +383 -0
  35. package/build/chunk-3WLPH3GV.js.map +1 -0
  36. package/build/{chunk-NGJ5D54I.js → chunk-5JA5UD5N.js} +3 -3
  37. package/build/{chunk-XUVAW4ZF.js → chunk-5NIL7D6V.js} +6 -6
  38. package/build/{chunk-IN2HJC2A.js → chunk-6CMLZ44U.js} +8 -8
  39. package/build/{chunk-SCGF6AMS.js → chunk-6JR4QILH.js} +10 -10
  40. package/build/{chunk-AT5WRPKM.js → chunk-6ZMD74UC.js} +46 -5
  41. package/build/chunk-6ZMD74UC.js.map +1 -0
  42. package/build/chunk-7UBQ35FN.js +448 -0
  43. package/build/chunk-7UBQ35FN.js.map +1 -0
  44. package/build/{chunk-VIBFMNUJ.js → chunk-A3E56LPD.js} +21 -9
  45. package/build/chunk-A3E56LPD.js.map +1 -0
  46. package/build/{chunk-HE3EW7YE.js → chunk-ANDDX2FE.js} +44 -12
  47. package/build/chunk-ANDDX2FE.js.map +1 -0
  48. package/build/{chunk-T5LNGJQV.js → chunk-C7DAAOGD.js} +3 -3
  49. package/build/{chunk-CB3CCWR7.js → chunk-CH6ID7RB.js} +17 -8
  50. package/build/chunk-CH6ID7RB.js.map +1 -0
  51. package/build/{chunk-R5JDVBC7.js → chunk-CNFW4UFJ.js} +4 -4
  52. package/build/{chunk-VTU3TVNM.js → chunk-CTZXDYQR.js} +2 -2
  53. package/build/{chunk-UMKJZ6EW.js → chunk-D2HPU2KV.js} +97 -6
  54. package/build/{chunk-UMKJZ6EW.js.map → chunk-D2HPU2KV.js.map} +1 -1
  55. package/build/{chunk-U5Y3UDXJ.js → chunk-DTLLRKPL.js} +7 -7
  56. package/build/{chunk-ZK4ZNULH.js → chunk-DZ6YMRZ2.js} +14 -22
  57. package/build/chunk-DZ6YMRZ2.js.map +1 -0
  58. package/build/{chunk-ZNOHJURI.js → chunk-EA6EVBSB.js} +6 -6
  59. package/build/{chunk-ZWLXMEDA.js → chunk-EL3R4WWP.js} +3 -3
  60. package/build/{chunk-STFFZYTL.js → chunk-EO2PR5K5.js} +2 -2
  61. package/build/{chunk-5AY2TF4R.js → chunk-EPM4OVLM.js} +3 -2
  62. package/build/chunk-EPM4OVLM.js.map +1 -0
  63. package/build/chunk-HADOHQ4E.js +182 -0
  64. package/build/chunk-HADOHQ4E.js.map +1 -0
  65. package/build/{chunk-NLSUIZIZ.js → chunk-JBGIP237.js} +4 -4
  66. package/build/{chunk-NLSUIZIZ.js.map → chunk-JBGIP237.js.map} +1 -1
  67. package/build/{chunk-HNXJYLVA.js → chunk-JDRRHQAZ.js} +15 -3
  68. package/build/{chunk-HNXJYLVA.js.map → chunk-JDRRHQAZ.js.map} +1 -1
  69. package/build/{chunk-PLXKY4OT.js → chunk-K4DVFBIZ.js} +8 -8
  70. package/build/{chunk-V35F3VZV.js → chunk-K5TFJYWG.js} +2 -2
  71. package/build/{chunk-FRO7EYZX.js → chunk-KKS5HRMB.js} +2 -2
  72. package/build/{chunk-ZOFNL4LH.js → chunk-KODCBNWU.js} +4 -4
  73. package/build/{chunk-ZEI53JZK.js → chunk-L6GBFEUC.js} +3 -3
  74. package/build/{chunk-U7X5MA57.js → chunk-LRQJZQS7.js} +3 -3
  75. package/build/{chunk-K3CZDFVB.js → chunk-LX56R5AH.js} +2 -2
  76. package/build/{chunk-E567K7WH.js → chunk-LYBPGQ3T.js} +2 -2
  77. package/build/{chunk-SBOFW7ZK.js → chunk-M2XQXPUO.js} +2 -2
  78. package/build/{chunk-VYOPFT5K.js → chunk-M4VXNB6M.js} +6 -6
  79. package/build/{chunk-VBF2VFXZ.js → chunk-MMPLAWYO.js} +4 -4
  80. package/build/{chunk-WK3LV5OZ.js → chunk-OY6WWLEA.js} +2 -2
  81. package/build/{chunk-TOKKHDHT.js → chunk-P2SEZ2FC.js} +3 -3
  82. package/build/{chunk-3SLQR6EP.js → chunk-PMRUZR3T.js} +2 -2
  83. package/build/chunk-QLZ6DGZM.js +128 -0
  84. package/build/chunk-QLZ6DGZM.js.map +1 -0
  85. package/build/chunk-RUX4DN3N.js +26 -0
  86. package/build/chunk-RUX4DN3N.js.map +1 -0
  87. package/build/{chunk-6WEX76B7.js → chunk-S6JLGRDV.js} +2 -2
  88. package/build/{chunk-NPAOMGSP.js → chunk-TL44KOX5.js} +4 -4
  89. package/build/{chunk-2KQVN37W.js → chunk-UC7JVT5G.js} +39 -13
  90. package/build/{chunk-2KQVN37W.js.map → chunk-UC7JVT5G.js.map} +1 -1
  91. package/build/{chunk-5V3Y5VKA.js → chunk-X4IA5ZZZ.js} +3 -3
  92. package/build/{chunk-2OYCKIQP.js → chunk-XOXMFGCV.js} +2 -2
  93. package/build/{chunk-YPGPQCVQ.js → chunk-XOYQG6TR.js} +5 -5
  94. package/build/{chunk-YPGPQCVQ.js.map → chunk-XOYQG6TR.js.map} +1 -1
  95. package/build/{chunk-J2XMGCBU.js → chunk-ZEWZRMFX.js} +5 -5
  96. package/build/{chunk-TKJGN2XT.js → chunk-ZVYDQ4CL.js} +4 -2
  97. package/build/chunk-ZVYDQ4CL.js.map +1 -0
  98. package/build/{dev-IYTGFWDS.js → dev-YX4IMAYF.js} +40 -40
  99. package/build/{env-pull-O3L6Y27D.js → env-pull-Y5GFOXUS.js} +16 -16
  100. package/build/index.js +28 -28
  101. package/build/{install-T2BZTJZD.js → install-K3G5FFXB.js} +19 -19
  102. package/build/{preview-6LIYFU2O.js → preview-HDJXZWPW.js} +23 -17
  103. package/build/{preview-6LIYFU2O.js.map → preview-HDJXZWPW.js.map} +1 -1
  104. package/build/{publish-JJJ3LRXD.js → publish-Q2PPUSGW.js} +26 -26
  105. package/build/{render-command-J5FA4SLG.js → render-command-2ZXDOYYX.js} +11 -11
  106. package/build/{render-command-MBVZFFIX.js → render-command-5HOJTRYI.js} +12 -12
  107. package/build/{render-command-G2ACMWBQ.js → render-command-PGETPNVI.js} +11 -11
  108. package/build/{render-command-2SBPTTKQ.js → render-command-RLZHVXHI.js} +14 -14
  109. package/build/{render-command-6CZKZ4DZ.js → render-command-YTPCINJ3.js} +15 -15
  110. package/build/{run-command-U62Y6AKF.js → run-command-3TKIPVFX.js} +7 -7
  111. package/build/{src-EDATWTF4.js → src-2YLQMGYC.js} +4 -4
  112. package/build/{src-GKTAVUM4.js → src-6P2JTJSV.js} +12 -4
  113. package/build/{src-VGRKRV22.js → src-IY3IHD24.js} +95 -54
  114. package/build/src-IY3IHD24.js.map +1 -0
  115. package/build/{src-JEGHPCQO.js → src-K5R3WB6N.js} +6 -6
  116. package/build/{src-M4LMERSF.js → src-O2NGKOHK.js} +6 -6
  117. package/build/{src-Z3P5NYFO.js → src-RU4ZMKZS.js} +2 -2
  118. package/build/{src-L46JLXDA.js → src-VJSHEJMZ.js} +17 -17
  119. package/build/{src-7CSJT444.js → src-WG45EYH2.js} +14 -14
  120. package/build/{sync-types-PUD5OZTM.js → sync-types-UH4Q5LWU.js} +12 -12
  121. package/build/sync-types-UH4Q5LWU.js.map +1 -0
  122. package/build/{translation-pull-4FB2RSHG.js → translation-pull-4MW2H7MP.js} +14 -13
  123. package/build/{translation-pull-4FB2RSHG.js.map → translation-pull-4MW2H7MP.js.map} +1 -1
  124. package/build/translation-push-JPLUI7RA.js +49 -0
  125. package/build/translation-push-JPLUI7RA.js.map +1 -0
  126. package/build/{uninstall-WNEZ44GK.js → uninstall-IF2LAJWK.js} +19 -19
  127. package/package.json +2 -2
  128. package/templates/astro/service-plugin/ecom-shipping-rates/files/extension.ts.ejs +1 -1
  129. package/templates/astro/service-plugin/ecom-validations/files/extension.ts.ejs +1 -1
  130. package/build/DevCommand-RHPJ7KZH.js.map +0 -1
  131. package/build/GenerateCommand-DFWLTZ6M.js.map +0 -1
  132. package/build/PreviewCommand-26CLNGRT.js +0 -38
  133. package/build/chunk-5AY2TF4R.js.map +0 -1
  134. package/build/chunk-AEVV5DIS.js +0 -269
  135. package/build/chunk-AEVV5DIS.js.map +0 -1
  136. package/build/chunk-AT5WRPKM.js.map +0 -1
  137. package/build/chunk-CB3CCWR7.js.map +0 -1
  138. package/build/chunk-HE3EW7YE.js.map +0 -1
  139. package/build/chunk-PBTJWH5X.js +0 -935
  140. package/build/chunk-PBTJWH5X.js.map +0 -1
  141. package/build/chunk-TKJGN2XT.js.map +0 -1
  142. package/build/chunk-VIBFMNUJ.js.map +0 -1
  143. package/build/chunk-XBIRGBQQ.js.map +0 -1
  144. package/build/chunk-ZK4ZNULH.js.map +0 -1
  145. package/build/src-VGRKRV22.js.map +0 -1
  146. /package/build/{DevCommand-YVDUHKFM.js.map → DevCommand-D6NX5F5T.js.map} +0 -0
  147. /package/build/{DevCommand-XIGPTEVU.js.map → DevCommand-XHLFPV6H.js.map} +0 -0
  148. /package/build/{EnvPullCommand-ONVQIF5X.js.map → EnvPullCommand-E5HLDPVL.js.map} +0 -0
  149. /package/build/{EnvRemoveCommand-IJYJT3Y2.js.map → EnvRemoveCommand-3ZPPI5PO.js.map} +0 -0
  150. /package/build/{EnvSetCommand-NTPMYIVU.js.map → EnvSetCommand-PRDYCW6K.js.map} +0 -0
  151. /package/build/{InstallCommand-ADXA5E2J.js.map → InstallCommand-HXH7K6G3.js.map} +0 -0
  152. /package/build/{LoginCommand-UAJ5DLOV.js.map → LoginCommand-UJ75G5EL.js.map} +0 -0
  153. /package/build/{LogoutCommand-M7Z5SMNU.js.map → LogoutCommand-KI24QTPG.js.map} +0 -0
  154. /package/build/{PreviewCommand-26CLNGRT.js.map → PreviewCommand-2HRXMZTP.js.map} +0 -0
  155. /package/build/{PreviewCommand-BOUZSAPH.js.map → PreviewCommand-RHAJVEOX.js.map} +0 -0
  156. /package/build/{PreviewCommand-DUC5NKXM.js.map → PreviewCommand-TDX4EWHA.js.map} +0 -0
  157. /package/build/{PublishCommand-LD6PLPUV.js.map → PublishCommand-5MGOTN63.js.map} +0 -0
  158. /package/build/{TranslationPullCommand-XZDKMOPC.js.map → TranslationPullCommand-LLVVPP6C.js.map} +0 -0
  159. /package/build/{render-command-MBVZFFIX.js.map → TranslationPushCommand-4S6R57PN.js.map} +0 -0
  160. /package/build/{UninstallCommand-DLPELDCS.js.map → UninstallCommand-HQEEXIOB.js.map} +0 -0
  161. /package/build/{WhoamiCommand-IHGDJSAV.js.map → WhoamiCommand-VENSLOOU.js.map} +0 -0
  162. /package/build/{chunk-HN2SLMD5.js.map → chunk-224TWK7Q.js.map} +0 -0
  163. /package/build/{chunk-RDT7NRVZ.js.map → chunk-3BCF2GPM.js.map} +0 -0
  164. /package/build/{chunk-TRK6MMBJ.js.map → chunk-3RMTPNEK.js.map} +0 -0
  165. /package/build/{chunk-NGJ5D54I.js.map → chunk-5JA5UD5N.js.map} +0 -0
  166. /package/build/{chunk-XUVAW4ZF.js.map → chunk-5NIL7D6V.js.map} +0 -0
  167. /package/build/{chunk-IN2HJC2A.js.map → chunk-6CMLZ44U.js.map} +0 -0
  168. /package/build/{chunk-SCGF6AMS.js.map → chunk-6JR4QILH.js.map} +0 -0
  169. /package/build/{chunk-T5LNGJQV.js.map → chunk-C7DAAOGD.js.map} +0 -0
  170. /package/build/{chunk-R5JDVBC7.js.map → chunk-CNFW4UFJ.js.map} +0 -0
  171. /package/build/{chunk-VTU3TVNM.js.map → chunk-CTZXDYQR.js.map} +0 -0
  172. /package/build/{chunk-U5Y3UDXJ.js.map → chunk-DTLLRKPL.js.map} +0 -0
  173. /package/build/{chunk-ZNOHJURI.js.map → chunk-EA6EVBSB.js.map} +0 -0
  174. /package/build/{chunk-ZWLXMEDA.js.map → chunk-EL3R4WWP.js.map} +0 -0
  175. /package/build/{chunk-STFFZYTL.js.map → chunk-EO2PR5K5.js.map} +0 -0
  176. /package/build/{chunk-PLXKY4OT.js.map → chunk-K4DVFBIZ.js.map} +0 -0
  177. /package/build/{chunk-V35F3VZV.js.map → chunk-K5TFJYWG.js.map} +0 -0
  178. /package/build/{chunk-FRO7EYZX.js.map → chunk-KKS5HRMB.js.map} +0 -0
  179. /package/build/{chunk-ZOFNL4LH.js.map → chunk-KODCBNWU.js.map} +0 -0
  180. /package/build/{chunk-ZEI53JZK.js.map → chunk-L6GBFEUC.js.map} +0 -0
  181. /package/build/{chunk-U7X5MA57.js.map → chunk-LRQJZQS7.js.map} +0 -0
  182. /package/build/{chunk-K3CZDFVB.js.map → chunk-LX56R5AH.js.map} +0 -0
  183. /package/build/{chunk-E567K7WH.js.map → chunk-LYBPGQ3T.js.map} +0 -0
  184. /package/build/{chunk-SBOFW7ZK.js.map → chunk-M2XQXPUO.js.map} +0 -0
  185. /package/build/{chunk-VYOPFT5K.js.map → chunk-M4VXNB6M.js.map} +0 -0
  186. /package/build/{chunk-VBF2VFXZ.js.map → chunk-MMPLAWYO.js.map} +0 -0
  187. /package/build/{chunk-WK3LV5OZ.js.map → chunk-OY6WWLEA.js.map} +0 -0
  188. /package/build/{chunk-TOKKHDHT.js.map → chunk-P2SEZ2FC.js.map} +0 -0
  189. /package/build/{chunk-3SLQR6EP.js.map → chunk-PMRUZR3T.js.map} +0 -0
  190. /package/build/{chunk-6WEX76B7.js.map → chunk-S6JLGRDV.js.map} +0 -0
  191. /package/build/{chunk-NPAOMGSP.js.map → chunk-TL44KOX5.js.map} +0 -0
  192. /package/build/{chunk-5V3Y5VKA.js.map → chunk-X4IA5ZZZ.js.map} +0 -0
  193. /package/build/{chunk-2OYCKIQP.js.map → chunk-XOXMFGCV.js.map} +0 -0
  194. /package/build/{chunk-J2XMGCBU.js.map → chunk-ZEWZRMFX.js.map} +0 -0
  195. /package/build/{dev-IYTGFWDS.js.map → dev-YX4IMAYF.js.map} +0 -0
  196. /package/build/{env-pull-O3L6Y27D.js.map → env-pull-Y5GFOXUS.js.map} +0 -0
  197. /package/build/{install-T2BZTJZD.js.map → install-K3G5FFXB.js.map} +0 -0
  198. /package/build/{publish-JJJ3LRXD.js.map → publish-Q2PPUSGW.js.map} +0 -0
  199. /package/build/{render-command-J5FA4SLG.js.map → render-command-2ZXDOYYX.js.map} +0 -0
  200. /package/build/{run-command-U62Y6AKF.js.map → render-command-5HOJTRYI.js.map} +0 -0
  201. /package/build/{render-command-G2ACMWBQ.js.map → render-command-PGETPNVI.js.map} +0 -0
  202. /package/build/{render-command-2SBPTTKQ.js.map → render-command-RLZHVXHI.js.map} +0 -0
  203. /package/build/{render-command-6CZKZ4DZ.js.map → render-command-YTPCINJ3.js.map} +0 -0
  204. /package/build/{src-EDATWTF4.js.map → run-command-3TKIPVFX.js.map} +0 -0
  205. /package/build/{src-GKTAVUM4.js.map → src-2YLQMGYC.js.map} +0 -0
  206. /package/build/{src-JEGHPCQO.js.map → src-6P2JTJSV.js.map} +0 -0
  207. /package/build/{src-Z3P5NYFO.js.map → src-K5R3WB6N.js.map} +0 -0
  208. /package/build/{src-M4LMERSF.js.map → src-O2NGKOHK.js.map} +0 -0
  209. /package/build/{sync-types-PUD5OZTM.js.map → src-RU4ZMKZS.js.map} +0 -0
  210. /package/build/{src-L46JLXDA.js.map → src-VJSHEJMZ.js.map} +0 -0
  211. /package/build/{src-7CSJT444.js.map → src-WG45EYH2.js.map} +0 -0
  212. /package/build/{uninstall-WNEZ44GK.js.map → uninstall-IF2LAJWK.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../package-manager/src/index.ts","../../package-manager/src/package-manager.ts","../../package-manager/src/adapters/npm.ts","../../package-manager/src/shell/index.ts","../../package-manager/src/shell/shell-client.ts","../../package-manager/src/repo-type.ts","../../package-manager/src/git-service.ts","../../package-manager/src/adapters/yarn.ts"],"sourcesContent":["export { createPackageManager } from './package-manager.js';\nexport { NPM } from './adapters/npm.js';\nexport { Yarn } from './adapters/yarn.js';\nexport type { IPackageManager } from './types.js';\nexport { getRepoType, RepoType } from './repo-type.js';\nexport {\n gitClone,\n gitCommit,\n gitInit,\n gitSetRemoteUrl,\n gitPush,\n gitGetCurrentBranch,\n getGitLatestCommitHash,\n isInsideGitRepo,\n gitGetUserInfo,\n} from './git-service.js';\n","import { env } from 'node:process';\nimport { pathExists } from '@wix/cli-fs';\nimport { join } from 'node:path';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { matcher } from 'variant';\nimport { NPM } from './adapters/npm.js';\nimport { Yarn, resolveYarnVersion } from './adapters/yarn.js';\nimport type { IPackageManager, PackageManagerName } from './types.js';\nimport { RepoType } from './repo-type.js';\n\nexport async function createPackageManager(\n repoType: RepoType\n): Promise<IPackageManager> {\n const packageManagerName = await getPackageManagerName(repoType);\n\n switch (packageManagerName) {\n case 'yarn-berry':\n return new Yarn(repoType, 'yarn-berry');\n case 'yarn':\n return new Yarn(repoType, 'yarn');\n case 'npm':\n return new NPM(repoType);\n }\n}\n\nasync function getPackageManagerName(\n repoType: RepoType\n): Promise<PackageManagerName> {\n // In case of an existing repo we first check for relevant package manager files.\n // this is an extra layer of identification that should prevent errors when the\n // user runs create-app using a package manager other than the one used in the project\n\n const getByEnv = (): PackageManagerName => {\n if (env.npm_config_user_agent?.startsWith('yarn/1')) {\n return 'yarn';\n }\n\n // yarn v2+\n if (env.npm_config_user_agent?.startsWith('yarn')) {\n return 'yarn-berry';\n }\n\n if (env.npm_config_user_agent?.startsWith('npm')) {\n return 'npm';\n }\n\n throw new CliError({\n code: CliErrorCode.UnsupportedPackageManager({\n packageManagerName: env.npm_config_user_agent,\n }),\n cause: null,\n });\n };\n\n return matcher(repoType)\n .when(RepoType.None, getByEnv)\n .when(\n [RepoType.Polyrepo, RepoType.Monorepo],\n async ({ rootDir }): Promise<PackageManagerName> => {\n const [hasYarnRc, hasYarnLock, hasPackageLock] = await Promise.all([\n pathExists(join(rootDir, '.yarnrc.yml')),\n pathExists(join(rootDir, 'yarn.lock')),\n pathExists(join(rootDir, 'package-lock.json')),\n ]);\n\n if (hasYarnRc || hasYarnLock) {\n const yarnVersion = await resolveYarnVersion(rootDir);\n return yarnVersion.startsWith('1') ? 'yarn' : 'yarn-berry';\n }\n\n if (hasPackageLock) {\n return 'npm';\n }\n\n return getByEnv();\n }\n )\n .complete();\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport { isType } from 'variant';\nimport { runCommand } from '../shell/index.js';\nimport type { IPackageManager } from '../types.js';\nimport { RepoType } from '../repo-type.js';\n\nexport class NPM implements IPackageManager {\n readonly name = 'npm';\n\n constructor(private readonly repoType: RepoType) {}\n\n getUsage(name: string): string {\n return `npm init ${name.replace('create-', '')}`;\n }\n\n getInstallCmd(): string {\n return 'npm install';\n }\n\n getRunCmd(): string {\n return 'npm run';\n }\n\n getRunBinaryCmd(args: string[]): { file: string; args: string[] } {\n return {\n file: 'npx',\n args: ['--no-install'].concat(args),\n };\n }\n\n async setup(_cwd: string): Promise<void> {\n if (isType(this.repoType, RepoType.Monorepo)) {\n throw new CliError({\n code: CliErrorCode.UnsupportedPackageManagerWorkspaces({\n packageManagerName: this.name,\n }),\n cause: null,\n });\n }\n }\n\n async runInstall(cwd: string): Promise<void> {\n try {\n await runCommand(this.getInstallCmd(), { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackages(),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runInstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`npm install ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runUninstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`npm uninstall ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToUninstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n}\n","export { runCommand } from './shell-client.js';\n","import { execaCommand } from 'execa';\nimport type { Options } from './types.js';\n\nexport async function runCommand(command: string, opts?: Options) {\n const commandProcess = execaCommand(command, {\n /**\n * DO NOT USE `shell: true`!\n * It's a security risk that leads to injections and should be avoided.\n * ref: https://github.com/sindresorhus/execa/tree/main#shell\n */\n shell: false,\n cwd: opts?.cwd,\n env: opts?.env,\n });\n\n if (opts?.output) {\n commandProcess.stdout?.pipe(opts.output);\n }\n\n const { stdout } = await commandProcess;\n\n return stdout;\n}\n","import { readJson } from '@wix/cli-fs';\nimport { join } from 'node:path';\nimport { variant, fields } from 'variant';\nimport type { VariantOf } from 'variant';\nimport type { PackageJson } from 'type-fest';\nimport { getGitRoot, isInsideGitRepo } from './git-service.js';\n\nexport const RepoType = variant({\n None: {},\n Polyrepo: fields<{ rootDir: string }>(),\n Monorepo: fields<{ rootDir: string }>(),\n});\n\nexport type RepoType = VariantOf<typeof RepoType>;\n\nexport async function getRepoType(\n targetParentFolder: string\n): Promise<RepoType> {\n if (!(await isInsideGitRepo(targetParentFolder))) {\n return RepoType.None();\n }\n\n const rootDir = await getGitRoot(targetParentFolder);\n\n if (await isUsingWorkspaces(rootDir)) {\n return RepoType.Monorepo({\n rootDir,\n });\n }\n\n return RepoType.Polyrepo({\n rootDir,\n });\n}\n\nasync function isUsingWorkspaces(rootDir: string) {\n return readJson(join(rootDir, 'package.json'))\n .then((pkgJson) => Boolean((pkgJson as PackageJson).workspaces))\n .catch(() => false);\n}\n","import { runCommand } from './shell/index.js';\n\nexport function isInsideGitRepo(cwd: string) {\n return runCommand('git rev-parse --is-inside-work-tree', { cwd })\n .then(() => true)\n .catch(() => false);\n}\n\nexport async function getGitRoot(cwd: string) {\n return runCommand('git rev-parse --show-toplevel', { cwd });\n}\n\nexport async function getGitLatestCommitHash(cwd: string) {\n try {\n return await runCommand('git rev-parse --verify HEAD', { cwd });\n } catch {\n // This command can fail if there are no commits, so we can just return undefined\n }\n}\n\nexport async function gitInit(cwd: string, branch = 'main') {\n await runCommand(`git init -b ${branch.trim()}`, { cwd });\n}\n\nexport async function gitCommit(cwd: string) {\n await runCommand('git add -A', { cwd });\n await runCommand(\n `git commit -m Initial\\\\ commit\\\\ from\\\\ Create\\\\ Wix\\\\ App --no-verify`,\n { cwd }\n );\n}\n\nexport async function gitClone(url: string, path: string, branch?: string) {\n await runCommand(\n `git clone --depth 1 ${branch ? `-b ${branch}` : ''} ${url} ${path}`,\n {\n env: {\n /*\n * This is to prevent git from prompting for credentials.\n * `git clone` uses a subprocess for the authentication, so we can't attach the main process to its stdio.\n * This leads to:\n * - the spinners \"swallow\" its output.\n * - after answering with the username and pressing \"Enter\", the first line of the output is being duplicated.\n * That's why we're disabling the prompt, so user should be pre-authenticated.\n */\n GIT_TERMINAL_PROMPT: '0',\n },\n }\n );\n}\n\nexport async function gitGetCurrentBranch(cwd: string) {\n return runCommand('git rev-parse --abbrev-ref HEAD', { cwd });\n}\n\nasync function gitHasRemote(cwd: string, remoteName: string) {\n try {\n await runCommand(`git remote get-url ${remoteName}`, { cwd });\n return true;\n } catch {\n return false;\n }\n}\n\nexport async function gitSetRemoteUrl(\n cwd: string,\n remoteName = 'origin',\n remoteUrl: string\n) {\n const hasRemote = await gitHasRemote(cwd, remoteName);\n if (hasRemote) {\n await runCommand(`git remote set-url ${remoteName} ${remoteUrl}`, { cwd });\n } else {\n await runCommand(`git remote add ${remoteName} ${remoteUrl}`, { cwd });\n }\n}\n\nexport async function gitPush(\n cwd: string,\n remoteName = 'origin',\n options: { force?: boolean } = {}\n) {\n const branch = await gitGetCurrentBranch(cwd);\n const forceFlag = options.force ? '--force' : '';\n await runCommand(`git push -u ${forceFlag} ${remoteName} ${branch}`, {\n cwd,\n env: {\n // Prevent git from prompting for credentials\n GIT_TERMINAL_PROMPT: '0',\n },\n });\n}\n\nexport async function gitGetUserInfo(cwd: string) {\n const [name, email] = await Promise.all([\n runCommand('git config user.name', { cwd }),\n runCommand('git config user.email', { cwd }),\n ]);\n\n return { name, email };\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport { readJson, writeJson } from '@wix/cli-fs';\nimport { join, relative } from 'node:path';\nimport { matcher } from 'variant';\nimport { EOL } from 'node:os';\nimport { z } from 'zod';\nimport { writeFile } from 'node:fs/promises';\nimport type { PackageJson } from 'type-fest';\nimport { runCommand } from '../shell/index.js';\nimport type { IPackageManager } from '../types.js';\nimport type { RepoType } from '../repo-type.js';\n\ntype YarnVersion = 'yarn' | 'yarn-berry';\n\nexport async function resolveYarnVersion(cwd: string) {\n const stdout = await runCommand('yarn --version', { cwd });\n return stdout.trim();\n}\n\nexport class Yarn implements IPackageManager {\n constructor(\n private readonly repoType: RepoType,\n readonly name: YarnVersion\n ) {}\n\n getUsage(name: string): string {\n return `yarn create ${name.replace('create-', '')}`;\n }\n\n getInstallCmd(): string {\n return 'yarn install';\n }\n\n getRunCmd(): string {\n return 'yarn';\n }\n\n getRunBinaryCmd(args: string[]): { file: string; args: string[] } {\n return {\n file: 'yarn',\n args: ['run'].concat(args),\n };\n }\n\n async setup(packageFolder: string): Promise<void> {\n return matcher(this.repoType)\n .when(['None', 'Polyrepo'], async () => {\n if (this.name === 'yarn-berry') {\n // if yarn berry encounters a package.json in a parent folder, it\n // complains that our project needs to be part of that parent project.\n // An official way to tell yarn that this is a standalone project is\n // to create an empty lockfile.\n // A similar thing was done in create-astro: https://github.com/withastro/astro/pull/8028\n await writeFile(join(packageFolder, 'yarn.lock'), '');\n }\n })\n .when('Monorepo', async ({ rootDir }) => {\n try {\n await addPackageToWorkspaces({\n rootDir,\n packageFolder,\n yarnVersion: this.name,\n });\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedAddingPackageToWorkspace(),\n cause: error,\n });\n }\n })\n .complete();\n }\n\n async runInstall(cwd: string): Promise<void> {\n try {\n await runCommand(this.getInstallCmd(), { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackages(),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runInstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`yarn add ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runUninstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`yarn remove ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToUninstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n}\n\nasync function getPackagesRelativePaths(\n rootDir: string,\n yarnVersion: YarnVersion\n): Promise<string[]> {\n const workspacesSchema = z.array(\n z.object({\n location: z.string(),\n })\n );\n\n if (yarnVersion === 'yarn-berry') {\n const packages = await runCommand('yarn workspaces list --json', {\n cwd: rootDir,\n });\n\n const parsedPackages = workspacesSchema.parse(\n packages\n .split(EOL)\n .filter(Boolean)\n .map((pkg) => JSON.parse(pkg))\n );\n\n return parsedPackages.map((pkg) => pkg.location);\n }\n\n const packages = await runCommand('yarn --json workspaces info', {\n cwd: rootDir,\n });\n\n const parsedPackages = workspacesSchema.parse(\n Object.values(JSON.parse(JSON.parse(packages).data))\n );\n return parsedPackages.map((pkg) => pkg.location);\n}\n\nasync function addPackageToWorkspaces({\n rootDir,\n packageFolder,\n yarnVersion,\n}: {\n rootDir: string;\n packageFolder: string;\n yarnVersion: YarnVersion;\n}) {\n const relativePackagePath = relative(rootDir, packageFolder);\n const packages = await getPackagesRelativePaths(rootDir, yarnVersion);\n\n if (packages.includes(relativePackagePath)) {\n return;\n }\n\n const packageJson = (await readJson(\n join(rootDir, 'package.json')\n )) as PackageJson;\n\n if (Array.isArray(packageJson.workspaces)) {\n packageJson.workspaces.push(relativePackagePath);\n } else if (typeof packageJson.workspaces === 'object') {\n packageJson.workspaces = {\n ...packageJson.workspaces,\n packages: [\n ...(packageJson.workspaces.packages ?? []),\n relativePackagePath,\n ],\n };\n } else {\n throw new Error(\n `Failed to read workspaces structure. Expected an array or object but got ${JSON.stringify(\n packageJson.workspaces\n )}`\n );\n }\n\n await writeJson(join(rootDir, 'package.json'), packageJson, { spaces: 2 });\n}\n"],"mappings":"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","names":["join","import_variant","import_variant","import_variant","join","join","packages","parsedPackages","join"]}
@@ -0,0 +1,448 @@
1
+ import { createRequire as _createRequire } from 'node:module';
2
+ const require = _createRequire(import.meta.url);
3
+ import {
4
+ listFiles,
5
+ updateFiles
6
+ } from "./chunk-EO2PR5K5.js";
7
+ import {
8
+ GridAppLayout
9
+ } from "./chunk-MVBGFP6D.js";
10
+ import {
11
+ getResolveNpmDependenciesResult,
12
+ resolveNpmDependencies
13
+ } from "./chunk-LYBPGQ3T.js";
14
+ import {
15
+ AppType,
16
+ DeploymentOperation,
17
+ RcLabel,
18
+ createApp,
19
+ deployApp
20
+ } from "./chunk-CTZXDYQR.js";
21
+ import {
22
+ useHttpClient
23
+ } from "./chunk-OY6WWLEA.js";
24
+ import {
25
+ usePanoramaMethodLogger
26
+ } from "./chunk-3BCF2GPM.js";
27
+ import {
28
+ createHttpClient,
29
+ isHttpApplicationError,
30
+ isHttpError,
31
+ pRetry,
32
+ pWaitFor
33
+ } from "./chunk-D2HPU2KV.js";
34
+ import {
35
+ require_react
36
+ } from "./chunk-NRAQAV6T.js";
37
+ import {
38
+ getTestOverrides
39
+ } from "./chunk-WDXANXXO.js";
40
+ import {
41
+ external_exports
42
+ } from "./chunk-F43XHKVL.js";
43
+ import {
44
+ CliError,
45
+ CliErrorCode
46
+ } from "./chunk-JDRRHQAZ.js";
47
+ import {
48
+ __toESM,
49
+ init_esm_shims
50
+ } from "./chunk-4EFJZ3GQ.js";
51
+
52
+ // ../velo-client/src/useVeloClient.ts
53
+ init_esm_shims();
54
+ var import_react = __toESM(require_react(), 1);
55
+
56
+ // ../velo-client/src/velo-client.ts
57
+ init_esm_shims();
58
+
59
+ // ../../node_modules/@wix/ambassador-velo-github-v1-github-onboarding-status/build/es/types.impl.js
60
+ init_esm_shims();
61
+ var RepositoryOwnerType;
62
+ (function(RepositoryOwnerType2) {
63
+ RepositoryOwnerType2["USER"] = "USER";
64
+ RepositoryOwnerType2["ORGANIZATION"] = "ORGANIZATION";
65
+ })(RepositoryOwnerType || (RepositoryOwnerType = {}));
66
+ var Label;
67
+ (function(Label2) {
68
+ Label2["UNKNOWN"] = "UNKNOWN";
69
+ Label2["WIX_VIBE"] = "WIX_VIBE";
70
+ Label2["DEVIBE"] = "DEVIBE";
71
+ })(Label || (Label = {}));
72
+ var OnboardingState;
73
+ (function(OnboardingState2) {
74
+ OnboardingState2["GITHUB_DISABLED"] = "GITHUB_DISABLED";
75
+ OnboardingState2["GITHUB_REPOSITORY_CREATED"] = "GITHUB_REPOSITORY_CREATED";
76
+ OnboardingState2["GITHUB_ENABLED"] = "GITHUB_ENABLED";
77
+ })(OnboardingState || (OnboardingState = {}));
78
+ var State;
79
+ (function(State2) {
80
+ State2["UNKNOWN"] = "UNKNOWN";
81
+ State2["ENABLED"] = "ENABLED";
82
+ State2["DISABLED"] = "DISABLED";
83
+ State2["PENDING"] = "PENDING";
84
+ State2["DEMO"] = "DEMO";
85
+ })(State || (State = {}));
86
+ var SiteCreatedContext;
87
+ (function(SiteCreatedContext2) {
88
+ SiteCreatedContext2["OTHER"] = "OTHER";
89
+ SiteCreatedContext2["FROM_TEMPLATE"] = "FROM_TEMPLATE";
90
+ SiteCreatedContext2["DUPLICATE_BY_SITE_TRANSFER"] = "DUPLICATE_BY_SITE_TRANSFER";
91
+ SiteCreatedContext2["DUPLICATE"] = "DUPLICATE";
92
+ SiteCreatedContext2["OLD_SITE_TRANSFER"] = "OLD_SITE_TRANSFER";
93
+ SiteCreatedContext2["FLASH"] = "FLASH";
94
+ })(SiteCreatedContext || (SiteCreatedContext = {}));
95
+ var Namespace;
96
+ (function(Namespace2) {
97
+ Namespace2["UNKNOWN_NAMESPACE"] = "UNKNOWN_NAMESPACE";
98
+ Namespace2["WIX"] = "WIX";
99
+ Namespace2["SHOUT_OUT"] = "SHOUT_OUT";
100
+ Namespace2["ALBUMS"] = "ALBUMS";
101
+ Namespace2["WIX_STORES_TEST_DRIVE"] = "WIX_STORES_TEST_DRIVE";
102
+ Namespace2["HOTELS"] = "HOTELS";
103
+ Namespace2["CLUBS"] = "CLUBS";
104
+ Namespace2["ONBOARDING_DRAFT"] = "ONBOARDING_DRAFT";
105
+ Namespace2["DEV_SITE"] = "DEV_SITE";
106
+ Namespace2["LOGOS"] = "LOGOS";
107
+ Namespace2["VIDEO_MAKER"] = "VIDEO_MAKER";
108
+ Namespace2["PARTNER_DASHBOARD"] = "PARTNER_DASHBOARD";
109
+ Namespace2["DEV_CENTER_COMPANY"] = "DEV_CENTER_COMPANY";
110
+ Namespace2["HTML_DRAFT"] = "HTML_DRAFT";
111
+ Namespace2["SITELESS_BUSINESS"] = "SITELESS_BUSINESS";
112
+ Namespace2["CREATOR_ECONOMY"] = "CREATOR_ECONOMY";
113
+ Namespace2["DASHBOARD_FIRST"] = "DASHBOARD_FIRST";
114
+ Namespace2["ANYWHERE"] = "ANYWHERE";
115
+ Namespace2["HEADLESS"] = "HEADLESS";
116
+ Namespace2["ACCOUNT_MASTER_CMS"] = "ACCOUNT_MASTER_CMS";
117
+ Namespace2["RISE"] = "RISE";
118
+ Namespace2["BRANDED_FIRST"] = "BRANDED_FIRST";
119
+ Namespace2["NOWNIA"] = "NOWNIA";
120
+ Namespace2["UGC_TEMPLATE"] = "UGC_TEMPLATE";
121
+ Namespace2["CODUX"] = "CODUX";
122
+ Namespace2["MEDIA_DESIGN_CREATOR"] = "MEDIA_DESIGN_CREATOR";
123
+ Namespace2["SHARED_BLOG_ENTERPRISE"] = "SHARED_BLOG_ENTERPRISE";
124
+ Namespace2["STANDALONE_FORMS"] = "STANDALONE_FORMS";
125
+ Namespace2["STANDALONE_EVENTS"] = "STANDALONE_EVENTS";
126
+ Namespace2["MIMIR"] = "MIMIR";
127
+ Namespace2["TWINS"] = "TWINS";
128
+ Namespace2["NANO"] = "NANO";
129
+ Namespace2["BASE44"] = "BASE44";
130
+ })(Namespace || (Namespace = {}));
131
+ var DeleteStatus;
132
+ (function(DeleteStatus2) {
133
+ DeleteStatus2["UNKNOWN"] = "UNKNOWN";
134
+ DeleteStatus2["TRASH"] = "TRASH";
135
+ DeleteStatus2["DELETED"] = "DELETED";
136
+ DeleteStatus2["PENDING_PURGE"] = "PENDING_PURGE";
137
+ DeleteStatus2["PURGED_EXTERNALLY"] = "PURGED_EXTERNALLY";
138
+ })(DeleteStatus || (DeleteStatus = {}));
139
+ var WebhookIdentityType;
140
+ (function(WebhookIdentityType2) {
141
+ WebhookIdentityType2["UNKNOWN"] = "UNKNOWN";
142
+ WebhookIdentityType2["ANONYMOUS_VISITOR"] = "ANONYMOUS_VISITOR";
143
+ WebhookIdentityType2["MEMBER"] = "MEMBER";
144
+ WebhookIdentityType2["WIX_USER"] = "WIX_USER";
145
+ WebhookIdentityType2["APP"] = "APP";
146
+ })(WebhookIdentityType || (WebhookIdentityType = {}));
147
+
148
+ // ../velo-client/src/schemas.ts
149
+ init_esm_shims();
150
+ var createAppSchema = external_exports.object({
151
+ app: external_exports.object({ id: external_exports.string() })
152
+ });
153
+ var GitHubRepositorySchema = external_exports.object({
154
+ id: external_exports.string(),
155
+ repositoryName: external_exports.string(),
156
+ htmlUrl: external_exports.string(),
157
+ cloneUrl: external_exports.string()
158
+ }).passthrough();
159
+ var gitHubDisabledSchema = external_exports.object({
160
+ onboardingState: external_exports.literal(OnboardingState.GITHUB_DISABLED)
161
+ }).passthrough();
162
+ var gitHubRepositoryCreatedSchema = external_exports.object({
163
+ onboardingState: external_exports.literal(OnboardingState.GITHUB_REPOSITORY_CREATED),
164
+ gitHubRepositoryCreated: external_exports.object({
165
+ repository: GitHubRepositorySchema
166
+ }).passthrough()
167
+ }).passthrough();
168
+ var gitHubEnabledSchema = external_exports.object({
169
+ onboardingState: external_exports.literal(OnboardingState.GITHUB_ENABLED),
170
+ gitHubEnabled: external_exports.object({
171
+ repository: GitHubRepositorySchema
172
+ }).passthrough()
173
+ }).passthrough();
174
+ var gitHubOnboardingStatusSchema = external_exports.discriminatedUnion("onboardingState", [
175
+ gitHubDisabledSchema,
176
+ gitHubRepositoryCreatedSchema,
177
+ gitHubEnabledSchema
178
+ ]);
179
+ var gitHubOnboardingStatusResponseSchema = external_exports.object({
180
+ gitHubOnboardingStatus: gitHubOnboardingStatusSchema
181
+ }).passthrough();
182
+ var listFilesSchema = external_exports.object({
183
+ files: external_exports.array(
184
+ external_exports.object({
185
+ path: external_exports.string(),
186
+ content: external_exports.string()
187
+ })
188
+ ),
189
+ directories: external_exports.array(
190
+ external_exports.object({
191
+ path: external_exports.string()
192
+ })
193
+ )
194
+ });
195
+ var deployAppSchema = external_exports.object({
196
+ deploymentInfo: external_exports.object({
197
+ deploymentId: external_exports.string().uuid(),
198
+ deploymentUrl: external_exports.string().url(),
199
+ deploymentShortUrl: external_exports.string().url().optional(),
200
+ isPublishPipelineDeployment: external_exports.boolean()
201
+ })
202
+ });
203
+ var resolveNpmDependenciesSchema = external_exports.object({
204
+ jobId: external_exports.string()
205
+ });
206
+ var getResolveNpmDependenciesResultSchema = external_exports.object({
207
+ result: external_exports.object({
208
+ npmDependenciesLockFile: external_exports.string().url()
209
+ })
210
+ });
211
+ var getWixLockFileSchema = external_exports.string();
212
+
213
+ // ../velo-client/src/velo-client.ts
214
+ var { minRetryTimeout, pollInterval, pollTimeout } = getTestOverrides();
215
+ var VeloClient = class {
216
+ constructor(httpClient) {
217
+ this.httpClient = httpClient;
218
+ this.retryOptions = {
219
+ retries: 3,
220
+ minTimeout: minRetryTimeout,
221
+ maxTimeout: 3 * 1e3
222
+ };
223
+ }
224
+ retryOptions;
225
+ createMutableApp = async (content) => {
226
+ try {
227
+ const { data } = await pRetry(
228
+ () => this.httpClient.request(
229
+ createApp({
230
+ app: { mutable: true, appType: AppType.VELO_ISOLATED },
231
+ content
232
+ })
233
+ ),
234
+ this.retryOptions
235
+ );
236
+ return createAppSchema.parse(data).app;
237
+ } catch (e) {
238
+ throw new CliError({
239
+ code: CliErrorCode.FailedToCreateVeloApp(),
240
+ cause: e
241
+ });
242
+ }
243
+ };
244
+ listAppFiles = async (appId) => {
245
+ try {
246
+ const { data } = await pRetry(
247
+ () => this.httpClient.request(
248
+ listFiles({
249
+ gridAppId: appId,
250
+ layout: GridAppLayout.GITHUB,
251
+ hideDeletedPages: true,
252
+ includeNewPages: false
253
+ })
254
+ ),
255
+ this.retryOptions
256
+ );
257
+ return listFilesSchema.parse(data);
258
+ } catch (e) {
259
+ throw new CliError({
260
+ code: CliErrorCode.FailedToGetFilesFromVelo(),
261
+ cause: e
262
+ });
263
+ }
264
+ };
265
+ updateAppFiles = async (appId, content) => {
266
+ try {
267
+ await pRetry(
268
+ () => this.httpClient.request(
269
+ updateFiles({
270
+ ...content,
271
+ gridAppId: appId
272
+ })
273
+ ),
274
+ this.retryOptions
275
+ );
276
+ } catch (e) {
277
+ throw new CliError({
278
+ code: CliErrorCode.FailedToUpdateVeloAppFiles(),
279
+ cause: e
280
+ });
281
+ }
282
+ };
283
+ deploySitePreview = async (deploymentSourceData) => {
284
+ try {
285
+ const { data } = await this.httpClient.request(
286
+ deployApp({
287
+ ...deploymentSourceData,
288
+ deploymentOperation: DeploymentOperation.RC,
289
+ appType: AppType.VELO,
290
+ rcDeploymentParams: {
291
+ rcLabel: RcLabel.WIX_CLI
292
+ }
293
+ })
294
+ );
295
+ return deployAppSchema.parse(data).deploymentInfo;
296
+ } catch (e) {
297
+ throw new CliError({
298
+ code: CliErrorCode.FailedToDeploySitePreview(),
299
+ cause: e
300
+ });
301
+ }
302
+ };
303
+ generateWixLockFile = async (deps) => {
304
+ const jobId = await this.resolveNpmDependencies(deps);
305
+ const wixLockFileUrl = await this.getResolveNpmDependenciesResult(jobId);
306
+ return this.getWixLockFile(wixLockFileUrl);
307
+ };
308
+ resolveNpmDependencies = async (npmPackageInfos) => {
309
+ try {
310
+ const { data } = await pRetry(
311
+ () => this.httpClient.request(resolveNpmDependencies({ npmPackageInfos })),
312
+ this.retryOptions
313
+ );
314
+ const { jobId } = resolveNpmDependenciesSchema.parse(data);
315
+ return jobId;
316
+ } catch (e) {
317
+ throw new CliError({
318
+ code: CliErrorCode.FailedToResolveNpmDependencies(),
319
+ cause: e
320
+ });
321
+ }
322
+ };
323
+ getResolveNpmDependenciesResult = async (jobId) => {
324
+ try {
325
+ return await pWaitFor(
326
+ async () => {
327
+ try {
328
+ const { data } = await pRetry(
329
+ () => this.httpClient.request(
330
+ getResolveNpmDependenciesResult({ jobId })
331
+ ),
332
+ this.retryOptions
333
+ );
334
+ const { result } = getResolveNpmDependenciesResultSchema.parse(data);
335
+ return pWaitFor.resolveWith(result.npmDependenciesLockFile);
336
+ } catch (e) {
337
+ if (isHttpError(e) && e.response?.status === 428) {
338
+ return false;
339
+ }
340
+ throw e;
341
+ }
342
+ },
343
+ {
344
+ // Poll each 2 seconds
345
+ interval: pollInterval ?? 2 * 1e3,
346
+ // Fail if 5 minutes passed
347
+ timeout: pollTimeout ?? 5 * 60 * 1e3
348
+ }
349
+ );
350
+ } catch (e) {
351
+ throw new CliError({
352
+ code: CliErrorCode.FailedToGetResolveNpmDependenciesResult(),
353
+ cause: e,
354
+ info: { jobId }
355
+ });
356
+ }
357
+ };
358
+ getWixLockFile = async (url) => {
359
+ try {
360
+ const standaloneHttpClient = createHttpClient({ type: "standalone" });
361
+ const { data } = await pRetry(
362
+ () => standaloneHttpClient.get(url),
363
+ this.retryOptions
364
+ );
365
+ return getWixLockFileSchema.parse(data);
366
+ } catch (e) {
367
+ throw new CliError({
368
+ code: CliErrorCode.FailedToFetchWixLockFile(),
369
+ cause: e
370
+ });
371
+ }
372
+ };
373
+ getGitHubOnboardingStatus = async (projectId) => {
374
+ try {
375
+ const { data } = await this.httpClient.request({
376
+ method: "GET",
377
+ url: `https://manage.wix.com/_api/wix-code-github-onboarding/v1/onboarding-status?projectId=${projectId}`
378
+ }).catch((error) => {
379
+ if (isHttpError(error) && isHttpApplicationError(error)) {
380
+ return { data: null };
381
+ }
382
+ throw error;
383
+ });
384
+ if (!data) {
385
+ return null;
386
+ }
387
+ const parsed = gitHubOnboardingStatusResponseSchema.parse(data);
388
+ const { gitHubOnboardingStatus } = parsed;
389
+ if (gitHubOnboardingStatus.onboardingState === OnboardingState.GITHUB_REPOSITORY_CREATED) {
390
+ const { repository } = gitHubOnboardingStatus.gitHubRepositoryCreated;
391
+ return {
392
+ status: OnboardingState.GITHUB_REPOSITORY_CREATED,
393
+ repoName: repository.repositoryName,
394
+ cloneUrl: repository.cloneUrl,
395
+ htmlUrl: repository.htmlUrl
396
+ };
397
+ }
398
+ if (gitHubOnboardingStatus.onboardingState === OnboardingState.GITHUB_ENABLED) {
399
+ const { repository } = gitHubOnboardingStatus.gitHubEnabled;
400
+ return {
401
+ status: OnboardingState.GITHUB_ENABLED,
402
+ repoName: repository.repositoryName,
403
+ cloneUrl: repository.cloneUrl,
404
+ htmlUrl: repository.htmlUrl
405
+ };
406
+ }
407
+ return null;
408
+ } catch (e) {
409
+ throw new CliError({
410
+ code: CliErrorCode.FailedToGetGitHubOnboardingStatus({ projectId }),
411
+ cause: e
412
+ });
413
+ }
414
+ };
415
+ initGitHubRepository = async (projectId) => {
416
+ try {
417
+ await this.httpClient.request({
418
+ method: "POST",
419
+ url: `https://manage.wix.com/_api/wix-code-github-onboarding/v1/github-repositories/init-velo`,
420
+ data: {
421
+ label: Label.WIX_VIBE,
422
+ projectId
423
+ }
424
+ });
425
+ } catch (e) {
426
+ throw new CliError({
427
+ code: CliErrorCode.FailedToInitGitHubRepository({ projectId }),
428
+ cause: e
429
+ });
430
+ }
431
+ };
432
+ };
433
+
434
+ // ../velo-client/src/useVeloClient.ts
435
+ function useVeloClient() {
436
+ const httpClient = useHttpClient({ type: "code" });
437
+ const client = (0, import_react.useMemo)(() => new VeloClient(httpClient), [httpClient]);
438
+ return usePanoramaMethodLogger(client);
439
+ }
440
+
441
+ // ../velo-client/src/index.ts
442
+ init_esm_shims();
443
+
444
+ export {
445
+ OnboardingState,
446
+ useVeloClient
447
+ };
448
+ //# sourceMappingURL=chunk-7UBQ35FN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../velo-client/src/useVeloClient.ts","../../velo-client/src/velo-client.ts","../../../node_modules/@wix/ambassador-velo-github-v1-github-onboarding-status/types.impl.ts","../../velo-client/src/schemas.ts","../../velo-client/src/index.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { usePanoramaMethodLogger } from '@wix/cli-panorama';\nimport { VeloClient } from './velo-client.js';\n\nexport function useVeloClient(): VeloClient {\n const httpClient = useHttpClient({ type: 'code' });\n const client = useMemo(() => new VeloClient(httpClient), [httpClient]);\n\n return usePanoramaMethodLogger(client);\n}\n","import type { HttpClient } from '@wix/cli-http-client';\nimport pRetry from 'p-retry';\nimport type { Options } from 'p-retry';\nimport pWaitFor from 'p-wait-for';\nimport {\n createHttpClient,\n isHttpError,\n isHttpApplicationError,\n} from '@wix/cli-http-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport {\n AppType,\n RcLabel,\n DeploymentOperation,\n} from '@wix/ambassador-velo-apps-v1-app/types';\nimport { createApp, deployApp } from '@wix/ambassador-velo-apps-v1-app/http';\nimport {\n listFiles,\n updateFiles,\n} from '@wix/ambassador-velo-ide-v1-gridapp-filestructure/http';\nimport { GridAppLayout } from '@wix/ambassador-velo-ide-v1-gridapp-filestructure/types';\nimport {\n resolveNpmDependencies,\n getResolveNpmDependenciesResult,\n} from '@wix/ambassador-velo-npm-v1-npm-package-info/http';\nimport type { InitGitHubRepositoryRequest } from '@wix/ambassador-velo-github-v1-github-onboarding-status/types';\nimport {\n Label,\n OnboardingState,\n} from '@wix/ambassador-velo-github-v1-github-onboarding-status/types';\nimport {\n createAppSchema,\n listFilesSchema,\n deployAppSchema,\n getWixLockFileSchema,\n resolveNpmDependenciesSchema,\n getResolveNpmDependenciesResultSchema,\n gitHubOnboardingStatusResponseSchema,\n} from './schemas.js';\n\nimport type {\n AppContent,\n DeploymentSourceData,\n UpdateFilesContent,\n NpmPackage,\n} from './types.js';\n\nexport interface GitHubRepoInfo {\n status: OnboardingState;\n repoName: string;\n cloneUrl: string;\n htmlUrl: string;\n}\n\nconst { minRetryTimeout, pollInterval, pollTimeout } = getTestOverrides();\n\nexport class VeloClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n createMutableApp = async (content: AppContent) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createApp({\n app: { mutable: true, appType: AppType.VELO_ISOLATED },\n content,\n })\n ),\n this.retryOptions\n );\n\n return createAppSchema.parse(data).app;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCreateVeloApp(),\n cause: e,\n });\n }\n };\n\n listAppFiles = async (appId: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n listFiles({\n gridAppId: appId,\n layout: GridAppLayout.GITHUB,\n hideDeletedPages: true,\n includeNewPages: false,\n })\n ),\n this.retryOptions\n );\n return listFilesSchema.parse(data);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetFilesFromVelo(),\n cause: e,\n });\n }\n };\n\n updateAppFiles = async (appId: string, content: UpdateFilesContent) => {\n try {\n await pRetry(\n () =>\n this.httpClient.request(\n updateFiles({\n ...content,\n gridAppId: appId,\n })\n ),\n this.retryOptions\n );\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToUpdateVeloAppFiles(),\n cause: e,\n });\n }\n };\n\n deploySitePreview = async (deploymentSourceData: DeploymentSourceData) => {\n try {\n const { data } = await this.httpClient.request(\n deployApp({\n ...deploymentSourceData,\n deploymentOperation: DeploymentOperation.RC,\n appType: AppType.VELO,\n rcDeploymentParams: {\n rcLabel: RcLabel.WIX_CLI,\n },\n })\n );\n\n return deployAppSchema.parse(data).deploymentInfo;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToDeploySitePreview(),\n cause: e,\n });\n }\n };\n\n generateWixLockFile = async (deps: NpmPackage[]) => {\n const jobId = await this.resolveNpmDependencies(deps);\n const wixLockFileUrl = await this.getResolveNpmDependenciesResult(jobId);\n\n return this.getWixLockFile(wixLockFileUrl);\n };\n\n private resolveNpmDependencies = async (npmPackageInfos: NpmPackage[]) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(resolveNpmDependencies({ npmPackageInfos })),\n this.retryOptions\n );\n\n const { jobId } = resolveNpmDependenciesSchema.parse(data);\n\n return jobId;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToResolveNpmDependencies(),\n cause: e,\n });\n }\n };\n\n private getResolveNpmDependenciesResult = async (jobId: string) => {\n try {\n return await pWaitFor(\n async () => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n getResolveNpmDependenciesResult({ jobId })\n ),\n this.retryOptions\n );\n\n const { result } =\n getResolveNpmDependenciesResultSchema.parse(data);\n\n return pWaitFor.resolveWith(result.npmDependenciesLockFile);\n } catch (e) {\n // Continue polling\n if (isHttpError(e) && e.response?.status === 428) {\n return false;\n }\n // Unexpected error - stop polling\n throw e;\n }\n },\n {\n // Poll each 2 seconds\n interval: pollInterval ?? 2 * 1000,\n // Fail if 5 minutes passed\n timeout: pollTimeout ?? 5 * 60 * 1000,\n }\n );\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetResolveNpmDependenciesResult(),\n cause: e,\n info: { jobId },\n });\n }\n };\n\n private getWixLockFile = async (url: string) => {\n try {\n const standaloneHttpClient = createHttpClient({ type: 'standalone' });\n\n const { data } = await pRetry(\n () => standaloneHttpClient.get(url),\n this.retryOptions\n );\n\n return getWixLockFileSchema.parse(data);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToFetchWixLockFile(),\n cause: e,\n });\n }\n };\n\n getGitHubOnboardingStatus = async (\n projectId: string\n ): Promise<GitHubRepoInfo | null> => {\n try {\n const { data } = await this.httpClient\n .request({\n method: 'GET',\n url: `https://manage.wix.com/_api/wix-code-github-onboarding/v1/onboarding-status?projectId=${projectId}`,\n })\n .catch((error: unknown) => {\n if (isHttpError(error) && isHttpApplicationError(error)) {\n return { data: null };\n }\n throw error;\n });\n\n if (!data) {\n return null;\n }\n\n const parsed = gitHubOnboardingStatusResponseSchema.parse(data);\n const { gitHubOnboardingStatus } = parsed;\n\n if (\n gitHubOnboardingStatus.onboardingState ===\n OnboardingState.GITHUB_REPOSITORY_CREATED\n ) {\n const { repository } = gitHubOnboardingStatus.gitHubRepositoryCreated;\n\n return {\n status: OnboardingState.GITHUB_REPOSITORY_CREATED,\n repoName: repository.repositoryName,\n cloneUrl: repository.cloneUrl,\n htmlUrl: repository.htmlUrl,\n };\n }\n\n if (\n gitHubOnboardingStatus.onboardingState ===\n OnboardingState.GITHUB_ENABLED\n ) {\n const { repository } = gitHubOnboardingStatus.gitHubEnabled;\n\n return {\n status: OnboardingState.GITHUB_ENABLED,\n repoName: repository.repositoryName,\n cloneUrl: repository.cloneUrl,\n htmlUrl: repository.htmlUrl,\n };\n }\n\n return null;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetGitHubOnboardingStatus({ projectId }),\n cause: e,\n });\n }\n };\n\n initGitHubRepository = async (projectId: string) => {\n try {\n await this.httpClient.request<InitGitHubRepositoryRequest>({\n method: 'POST',\n url: `https://manage.wix.com/_api/wix-code-github-onboarding/v1/github-repositories/init-velo`,\n data: {\n label: Label.WIX_VIBE,\n projectId,\n },\n });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInitGitHubRepository({ projectId }),\n cause: e,\n });\n }\n };\n}\n",null,"import { z } from 'zod';\nimport { OnboardingState } from '@wix/ambassador-velo-github-v1-github-onboarding-status/types';\n\nexport const createAppSchema = z.object({\n app: z.object({ id: z.string() }),\n});\n\nconst GitHubRepositorySchema = z\n .object({\n id: z.string(),\n repositoryName: z.string(),\n htmlUrl: z.string(),\n cloneUrl: z.string(),\n })\n .passthrough();\n\nconst gitHubDisabledSchema = z\n .object({\n onboardingState: z.literal(OnboardingState.GITHUB_DISABLED),\n })\n .passthrough();\n\nconst gitHubRepositoryCreatedSchema = z\n .object({\n onboardingState: z.literal(OnboardingState.GITHUB_REPOSITORY_CREATED),\n gitHubRepositoryCreated: z\n .object({\n repository: GitHubRepositorySchema,\n })\n .passthrough(),\n })\n .passthrough();\n\nconst gitHubEnabledSchema = z\n .object({\n onboardingState: z.literal(OnboardingState.GITHUB_ENABLED),\n gitHubEnabled: z\n .object({\n repository: GitHubRepositorySchema,\n })\n .passthrough(),\n })\n .passthrough();\n\nconst gitHubOnboardingStatusSchema = z.discriminatedUnion('onboardingState', [\n gitHubDisabledSchema,\n gitHubRepositoryCreatedSchema,\n gitHubEnabledSchema,\n]);\n\nexport const gitHubOnboardingStatusResponseSchema = z\n .object({\n gitHubOnboardingStatus: gitHubOnboardingStatusSchema,\n })\n .passthrough();\n\nexport const listFilesSchema = z.object({\n files: z.array(\n z.object({\n path: z.string(),\n content: z.string(),\n })\n ),\n directories: z.array(\n z.object({\n path: z.string(),\n })\n ),\n});\n\nexport const deployAppSchema = z.object({\n deploymentInfo: z.object({\n deploymentId: z.string().uuid(),\n deploymentUrl: z.string().url(),\n deploymentShortUrl: z.string().url().optional(),\n isPublishPipelineDeployment: z.boolean(),\n }),\n});\n\nexport const resolveNpmDependenciesSchema = z.object({\n jobId: z.string(),\n});\n\nexport const getResolveNpmDependenciesResultSchema = z.object({\n result: z.object({\n npmDependenciesLockFile: z.string().url(),\n }),\n});\n\nexport const getWixLockFileSchema = z.string();\n","export type { Directory, File, NpmPackage } from './types.js';\nexport { GridAppLayout } from '@wix/ambassador-velo-ide-v1-gridapp-filestructure/types';\nexport { OnboardingState } from '@wix/ambassador-velo-github-v1-github-onboarding-status/types';\nexport { VeloClient } from './velo-client.js';\nexport type { GitHubRepoInfo } from './velo-client.js';\nexport { useVeloClient } from './useVeloClient.js';\n"],"mappings":"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","names":["RepositoryOwnerType","Label","OnboardingState","State","SiteCreatedContext","Namespace","DeleteStatus","WebhookIdentityType"]}
@@ -6,11 +6,11 @@ import {
6
6
  import {
7
7
  WIX_CONFIG_FILENAME,
8
8
  getWixConfigFilePath
9
- } from "./chunk-TKJGN2XT.js";
9
+ } from "./chunk-ZVYDQ4CL.js";
10
10
  import {
11
11
  pathExists,
12
12
  readJson
13
- } from "./chunk-2OYCKIQP.js";
13
+ } from "./chunk-XOXMFGCV.js";
14
14
  import {
15
15
  external_exports,
16
16
  zod_default
@@ -19,7 +19,7 @@ import {
19
19
  CliError,
20
20
  CliErrorCode,
21
21
  require_lib
22
- } from "./chunk-HNXJYLVA.js";
22
+ } from "./chunk-JDRRHQAZ.js";
23
23
  import {
24
24
  __commonJS,
25
25
  __toESM,
@@ -31,14 +31,14 @@ var require_rfdc = __commonJS({
31
31
  "../../node_modules/rfdc/index.js"(exports, module) {
32
32
  "use strict";
33
33
  init_esm_shims();
34
- module.exports = rfdc6;
34
+ module.exports = rfdc5;
35
35
  function copyBuffer(cur) {
36
36
  if (cur instanceof Buffer) {
37
37
  return Buffer.from(cur);
38
38
  }
39
39
  return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length);
40
40
  }
41
- function rfdc6(opts) {
41
+ function rfdc5(opts) {
42
42
  opts = opts || {};
43
43
  if (opts.circles) return rfdcCircles(opts);
44
44
  const constructorHandlers = /* @__PURE__ */ new Map();
@@ -245,6 +245,7 @@ var wixAstroConfigSchema = zod_default.discriminatedUnion("projectType", [
245
245
  ]);
246
246
  var GIT_IGNORED_DIR = ".wix";
247
247
  var ENV_FILE_NAME = ".env.local";
248
+ var TRANSLATIONS_FILE_PATH = join("src", "translations.json");
248
249
  var BACKEND_WORKER_COMPONENT_ID = "ed5f3d0e-7b79-4717-9c00-c4cd7bbbe906";
249
250
  var devMetadataSchema = zod_default.object({
250
251
  staticsUrlPlaceholder: zod_default.string(),
@@ -291,6 +292,15 @@ function getEnvFilePath(projectFolder) {
291
292
  function getExtensionDir(projectFolder) {
292
293
  return join(projectFolder, "src", "extensions");
293
294
  }
295
+ var MULTILINGUAL_DIR = join(GIT_IGNORED_DIR, "multilingual");
296
+ var TRANSLATIONS_DIR = join(MULTILINGUAL_DIR, "translations");
297
+ var MULTILINGUAL_METADATA_FILENAME = "metadata.json";
298
+ function getTranslationsDir(projectFolder) {
299
+ return join(projectFolder, TRANSLATIONS_DIR);
300
+ }
301
+ function getMultilingualMetadataPath(projectFolder) {
302
+ return join(projectFolder, MULTILINGUAL_DIR, MULTILINGUAL_METADATA_FILENAME);
303
+ }
294
304
  var PlatformType = (0, import_variant.variant)({
295
305
  Site: {},
296
306
  Editor: {},
@@ -3039,7 +3049,6 @@ var import_rfdc = __toESM(require_rfdc(), 1);
3039
3049
  var import_rfdc2 = __toESM(require_rfdc(), 1);
3040
3050
  var import_rfdc3 = __toESM(require_rfdc(), 1);
3041
3051
  var import_rfdc4 = __toESM(require_rfdc(), 1);
3042
- var import_rfdc5 = __toESM(require_rfdc(), 1);
3043
3052
  var errorReportingSchema = external_exports.object({
3044
3053
  errorReporting: external_exports.object({
3045
3054
  url: external_exports.string().optional(),
@@ -3910,7 +3919,6 @@ var cloneDeep = (0, import_rfdc.default)();
3910
3919
  var cloneDeep2 = (0, import_rfdc2.default)();
3911
3920
  var cloneDeep3 = (0, import_rfdc3.default)();
3912
3921
  var cloneDeep4 = (0, import_rfdc4.default)();
3913
- var cloneDeep5 = (0, import_rfdc5.default)();
3914
3922
 
3915
3923
  // ../cli-astro-commands/src/files/build.config.ts
3916
3924
  init_esm_shims();
@@ -3992,14 +4000,18 @@ function useProjectModel() {
3992
4000
  }
3993
4001
 
3994
4002
  export {
3995
- GIT_IGNORED_DIR,
3996
4003
  ENV_FILE_NAME,
4004
+ TRANSLATIONS_FILE_PATH,
3997
4005
  BACKEND_WORKER_COMPONENT_ID,
3998
4006
  devMetadataSchema,
3999
4007
  deploymentTopologySchema,
4000
4008
  getDeploymentTopologyPath,
4001
4009
  getEnvFilePath,
4002
4010
  getExtensionDir,
4011
+ TRANSLATIONS_DIR,
4012
+ MULTILINGUAL_METADATA_FILENAME,
4013
+ getTranslationsDir,
4014
+ getMultilingualMetadataPath,
4003
4015
  ComponentType,
4004
4016
  EmbeddedScriptPlacement,
4005
4017
  EmbedCategory,
@@ -4015,4 +4027,4 @@ export {
4015
4027
  ProjectModelProvider,
4016
4028
  useProjectModel
4017
4029
  };
4018
- //# sourceMappingURL=chunk-VIBFMNUJ.js.map
4030
+ //# sourceMappingURL=chunk-A3E56LPD.js.map