@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
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../arm-client/src/useARMClient.ts","../../arm-client/src/client.ts","../../../node_modules/@wix/ambassador-ctp-gradual-rollout-v1-app-config/http.impl.ts","../../../node_modules/@wix/ambassador-ctp-gradual-rollout-v1-baas-release/http.impl.ts","../../arm-client/src/fieldValidations.ts","../../arm-client/src/schemas.ts","../../arm-client/src/index.ts","../../cli-astro-commands/src/components/PreviewCommand/hooks/useUpdateManifest.ts","../../cli-astro-commands/src/components/PlatformLink/PlatformLink.tsx","../../cli-astro-commands/src/hooks/useUpdateDeploymentTopology.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { ARMClient } from './client.js';\n\nexport function useARMClient(): ARMClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new ARMClient(httpClient), [httpClient]);\n}\n","import type { ComponentConfig } from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\nimport type { AppManifest, LooseAppManifest } from '@wix/cli-app-manifest';\nimport type { HttpClient, HttpError } from '@wix/cli-http-client';\nimport type { Options } from 'p-retry';\nimport {\n commitComponentOverride,\n createAppRelease,\n createComponents,\n promoteAppVersionFromDraftToProduction,\n updateAppRelease,\n} from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/http';\nimport { release } from '@wix/ambassador-ctp-gradual-rollout-v1-baas-release/http';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { isHttpError } from '@wix/cli-http-client';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport pRetry from 'p-retry';\nimport { fields, variant } from 'variant';\nimport { parseFieldValidationError } from './fieldValidations.js';\nimport {\n commitComponentOverrideSchema,\n createAppReleaseSchema,\n promoteAppVersionFromDraftToProductionSchema,\n releaseArm2Schema,\n} from './schemas.js';\n\nconst { AppPermissionDenied } = CliErrorCode;\n\nconst UpdateAppReleaseData = variant({\n TagNotFound: fields<{ cause: HttpError }>(),\n TagUpdated: {},\n});\n\nexport class ARMClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n maxTimeout: 3 * 1000,\n minTimeout: minRetryTimeout,\n retries: 3,\n };\n }\n\n createComponents = async (\n appId: string,\n componentConfigs: ComponentConfig[],\n projectId: string\n ) => {\n try {\n await pRetry(\n () =>\n this.httpClient.request(\n createComponents({\n appId,\n componentConfigs,\n projectId,\n })\n ),\n this.retryOptions\n );\n } catch (e) {\n if (isHttpError(e) && e.response?.status === 403) {\n throw new CliError({\n cause: e,\n code: AppPermissionDenied({ appId }),\n });\n }\n throw new CliError({\n cause: e,\n code: CliErrorCode.FailedToCreateComponents(),\n });\n }\n };\n\n createAppRelease = async (manifest: AppManifest, projectId: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createAppRelease({\n appId: manifest.appId,\n componentConfigs: manifest.components,\n projectId,\n })\n ),\n this.retryOptions\n );\n\n return createAppReleaseSchema.parse(data).tag;\n } catch (e) {\n if (isHttpError(e) && e.response?.status === 403) {\n throw new CliError({\n cause: e,\n code: AppPermissionDenied({ appId: manifest.appId }),\n });\n }\n const violations = parseFieldValidationError(e);\n if (violations.length > 0) {\n throw new CliError({\n cause: e,\n code: CliErrorCode.AppReleaseConfigViolations({\n violations,\n }),\n });\n }\n throw new CliError({\n cause: e,\n code: CliErrorCode.FailedToCreateAppRelease(),\n });\n }\n };\n\n createLooseAppRelease = async (\n manifest: LooseAppManifest,\n projectId: string\n ) => {\n return this.createAppRelease(manifest as AppManifest, projectId);\n };\n\n updateAppRelease = async (manifest: AppManifest, tag: string) => {\n try {\n await pRetry(\n () =>\n this.httpClient.request(\n updateAppRelease({\n appId: manifest.appId,\n componentConfigs: manifest.components,\n tag,\n })\n ),\n this.retryOptions\n );\n\n return UpdateAppReleaseData.TagUpdated();\n } catch (e) {\n if (isHttpError(e)) {\n if (e.response?.status === 404) {\n return UpdateAppReleaseData.TagNotFound({ cause: e });\n }\n if (e.response?.status === 403) {\n throw new CliError({\n cause: e,\n code: AppPermissionDenied({ appId: manifest.appId }),\n });\n }\n }\n throw new CliError({\n cause: e,\n code: CliErrorCode.FailedToUpdateAppRelease(),\n });\n }\n };\n\n updateLooseAppRelease = async (manifest: LooseAppManifest, tag: string) => {\n return this.updateAppRelease(manifest as AppManifest, tag);\n };\n\n createDraftVersion = async (appId: string, tag: string) => {\n try {\n const { data } = await this.httpClient.request(\n commitComponentOverride({\n appId,\n componentOverrideId: tag,\n })\n );\n\n return commitComponentOverrideSchema.parse(data);\n } catch (cause) {\n throw new CliError({\n cause,\n code: CliErrorCode.FailedToCreateDraftVersion(),\n });\n }\n };\n\n releaseDraftVersion = async (\n appId: string,\n options: {\n createNewMajor: boolean;\n latestMajor: number;\n notes: string;\n }\n ) => {\n try {\n const { data } = await this.httpClient.request(\n promoteAppVersionFromDraftToProduction({\n appId,\n createNewMajor: options.createNewMajor,\n latestMajor: options.latestMajor,\n notes: options.notes,\n })\n );\n\n const { fullVersion } =\n promoteAppVersionFromDraftToProductionSchema.parse(data);\n\n return { releasedVersion: fullVersion };\n } catch (cause) {\n throw new CliError({\n cause,\n code: CliErrorCode.FailedToReleaseDraftVersion(),\n });\n }\n };\n\n release = async (appId: string, componentOverrideId: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n release({\n appId,\n componentOverrideId,\n })\n ),\n this.retryOptions\n );\n\n return releaseArm2Schema.parse(data).releaseBaseUrl;\n } catch (e) {\n throw new CliError({\n cause: e,\n code: CliErrorCode.FailedToReleaseHeadlessProject(),\n });\n }\n };\n}\n",null,null,"import { isHttpError } from '@wix/cli-http-client';\nimport { fieldValidationsSchema } from './schemas.js';\n\nexport const parseFieldValidationError = (err: unknown) => {\n if (isHttpError(err)) {\n const fieldViolations =\n err.response?.data?.details?.validationError?.fieldViolations;\n if (fieldViolations) {\n return fieldValidationsSchema.parse(fieldViolations);\n }\n }\n return [];\n};\n","import { z } from 'zod';\n\nexport const promoteAppVersionFromDraftToProductionSchema = z.object({\n fullVersion: z.string(),\n});\n\nexport const commitComponentOverrideSchema = z.object({\n nextMajor: z.string(),\n nextMinor: z.string().optional(),\n});\n\nexport const createAppReleaseSchema = z.object({\n tag: z.string(),\n});\n\nexport const fieldValidationsSchema = z.array(\n z.object({\n data: z.object({\n type: z.string(),\n }),\n description: z.string(),\n field: z.string(),\n violatedRule: z.string(),\n })\n);\n\nexport const releaseArm2Schema = z.object({\n releaseBaseUrl: z.string(),\n});\n","export { ARMClient } from './client.js';\nexport { useARMClient } from './useARMClient.js';\n","import { useCallback } from 'react';\nimport { ComponentType } from '@wix/ambassador-devcenter-apps-v1-app-old/types';\nimport type { LooseAppManifest, LooseComponent } from '@wix/cli-app-manifest';\nimport { BACKEND_WORKER_COMPONENT_ID } from '@wix/cli-astro-definitions';\n\ntype ComponentMap = {\n [T in LooseComponent as T['compType']]: T;\n};\n\ntype ComponentHandler<T extends keyof ComponentMap> = (options: {\n component: ComponentMap[T];\n serverUrl: string;\n tunnelUrl?: string;\n}) => void;\n\ntype ComponentHandlers = {\n [T in keyof ComponentMap]?: ComponentHandler<T>;\n};\n\nconst componentHandlers: ComponentHandlers = {\n [ComponentType.WEBHOOK]: ({ component, serverUrl, tunnelUrl }) => {\n component.compData.webhook.callbackUrl = normalizeUrl(\n component.compData.webhook.callbackUrl,\n tunnelUrl ?? serverUrl\n );\n },\n [ComponentType.BACK_OFFICE_PAGE]: ({ component, serverUrl }) => {\n component.compData.backOfficePage.iframeUrl = normalizeUrl(\n component.compData.backOfficePage.iframeUrl,\n serverUrl\n );\n },\n [ComponentType.BACK_OFFICE_EXTENSION_WIDGET]: ({ component, serverUrl }) => {\n component.compData.backOfficeExtensionWidget.iframeUrl = normalizeUrl(\n component.compData.backOfficeExtensionWidget.iframeUrl,\n serverUrl\n );\n },\n [ComponentType.BACK_OFFICE_MODAL]: ({ component, serverUrl }) => {\n component.compData.backOfficeModal.iframeUrl = normalizeUrl(\n component.compData.backOfficeModal.iframeUrl,\n serverUrl\n );\n },\n [ComponentType.BACK_OFFICE_EXTENSION_MENU_ITEM]: ({\n component,\n serverUrl,\n }) => {\n component.compData.backOfficeExtensionMenuItem.iframeUrl = normalizeUrl(\n component.compData.backOfficeExtensionMenuItem.iframeUrl,\n serverUrl\n );\n },\n [ComponentType.ECOM_SHIPPING_RATES]: ({\n component,\n serverUrl,\n tunnelUrl,\n }) => {\n component.compData.ecomShippingRates.deploymentUri = normalizeUrl(\n component.compData.ecomShippingRates.deploymentUri,\n tunnelUrl ?? serverUrl\n );\n },\n [ComponentType.ECOM_ADDITIONAL_FEES]: ({\n component,\n serverUrl,\n tunnelUrl,\n }) => {\n component.compData.ecomAdditionalFees.deploymentUri = normalizeUrl(\n component.compData.ecomAdditionalFees.deploymentUri,\n tunnelUrl ?? serverUrl\n );\n },\n [ComponentType.ECOM_DISCOUNTS_TRIGGER]: ({\n component,\n serverUrl,\n tunnelUrl,\n }) => {\n component.compData.ecomDiscountsTrigger.deploymentUri = normalizeUrl(\n component.compData.ecomDiscountsTrigger.deploymentUri,\n tunnelUrl ?? serverUrl\n );\n },\n [ComponentType.ECOM_VALIDATIONS]: ({ component, serverUrl, tunnelUrl }) => {\n component.compData.ecomValidations.deploymentUri = normalizeUrl(\n component.compData.ecomValidations.deploymentUri,\n tunnelUrl ?? serverUrl\n );\n },\n [ComponentType.ECOM_PAYMENT_SETTINGS]: ({\n component,\n serverUrl,\n tunnelUrl,\n }) => {\n component.compData.ecomPaymentSettings.deploymentUri = normalizeUrl(\n component.compData.ecomPaymentSettings.deploymentUri,\n tunnelUrl ?? serverUrl\n );\n },\n [ComponentType.GIFT_CARDS_PROVIDER]: ({\n component,\n serverUrl,\n tunnelUrl,\n }) => {\n component.compData.giftCardsProvider.deploymentUri = normalizeUrl(\n component.compData.giftCardsProvider.deploymentUri,\n tunnelUrl ?? serverUrl\n );\n },\n [ComponentType.TOPOLOGY]: ({ component, serverUrl, tunnelUrl }) => {\n component.compData.topology.topology.backendApiUrl = tunnelUrl ?? serverUrl;\n },\n};\n\nexport function useUpdateManifest() {\n const updateManifest = useCallback(\n (manifest: LooseAppManifest, serverUrl: string, tunnelUrl?: string) => {\n const clone = structuredClone(manifest);\n\n for (const component of clone.components) {\n const handler = getHandler(\n component as LooseComponent,\n componentHandlers\n );\n handler?.({\n component: component as LooseComponent,\n serverUrl,\n tunnelUrl,\n });\n }\n\n return clone;\n },\n []\n );\n\n const updateManifestWithBackendWorker = useCallback(\n (manifest: LooseAppManifest, deploymentId: string) => {\n const clone = structuredClone(manifest);\n clone.components.push({\n compId: BACKEND_WORKER_COMPONENT_ID,\n compType: ComponentType.BACKEND_WORKER,\n compData: {\n backendWorker: {\n deploymentId,\n },\n },\n });\n\n return clone;\n },\n []\n );\n\n return {\n updateManifest,\n updateManifestWithBackendWorker,\n };\n}\n\nfunction getHandler<C extends LooseComponent>(\n component: C,\n handlers: ComponentHandlers\n) {\n return handlers[component.compType] as\n | ComponentHandler<C['compType']>\n | undefined;\n}\n\nfunction normalizeUrl(inputUrl: string | undefined, baseUrl: string) {\n if (!inputUrl) {\n return baseUrl;\n }\n\n if (URL.canParse(inputUrl)) {\n return inputUrl;\n }\n\n const base = new URL(baseUrl);\n const normalizedUrl = new URL(inputUrl, base);\n\n // Preserve base query string if it exists\n if (base.search) {\n normalizedUrl.search = base.search;\n }\n\n return normalizedUrl.href;\n}\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Box, Link, PointerSmallIcon } from '@wix/cli-ui-kit';\n\ninterface PlatformLinkProps {\n url: string;\n label: string;\n}\n\nexport const PlatformLink: FC<PlatformLinkProps> = ({ url, label }) => {\n return (\n <Box marginRight={1}>\n <PointerSmallIcon />\n <Box marginLeft={1}>\n <Link url={url}>{label}</Link>\n </Box>\n </Box>\n );\n};\n","import type { DeploymentTopologyEnvironmentType } from '@wix/cli-astro-definitions';\nimport {\n deploymentTopologySchema,\n getDeploymentTopologyPath,\n} from '@wix/cli-astro-definitions';\nimport { pathExists, readJson, writeJson } from '@wix/cli-fs';\nimport { useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useProjectModel } from '../model.js';\n\ninterface UpdateDeploymentTopologyProps {\n armTag: string;\n serverUrl: string;\n environment: DeploymentTopologyEnvironmentType;\n}\n\nexport function useUpdateDeploymentTopology() {\n const {\n model: {\n projectFolder,\n config: { siteId },\n },\n } = useProjectModel();\n\n return useAsyncCallback(async (_, props: UpdateDeploymentTopologyProps) => {\n const { environment, serverUrl, armTag } = props;\n\n const topology = await readDeploymentTopology(projectFolder);\n topology[environment] = {\n id: armTag,\n site: {\n main: serverUrl,\n },\n dashboard: {\n main: `https://manage.wix.com/dashboard/${siteId}?apps-override=${armTag}`,\n },\n };\n\n const path = getDeploymentTopologyPath(projectFolder);\n await writeJson(path, topology, { spaces: 2 });\n });\n}\n\nasync function readDeploymentTopology(projectFolder: string) {\n const path = getDeploymentTopologyPath(projectFolder);\n\n if (await pathExists(path)) {\n try {\n const deployment = await readJson(path);\n return deploymentTopologySchema.parse(deployment);\n } catch {\n // ignore any failures while reading/parsing the .wix/topology.json\n // it's a temporary file, shouldn't break the app.\n }\n }\n\n return {};\n}\n"],"mappings":"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","names":["_a","_a","_a","import_react","import_react","React"]}
@@ -3,11 +3,11 @@ const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  getProjectDependencies,
5
5
  saveWixLock
6
- } from "./chunk-E3CANK7S.js";
6
+ } from "./chunk-I4LXL264.js";
7
7
  import {
8
8
  createPackageManager,
9
9
  getRepoType
10
- } from "./chunk-WD6CJCOU.js";
10
+ } from "./chunk-CMCIM2FR.js";
11
11
  import {
12
12
  init_esm_shims
13
13
  } from "./chunk-PYIAC2GK.js";
@@ -41,4 +41,4 @@ async function createDependenciesService(projectFolder, veloClient) {
41
41
  export {
42
42
  createDependenciesService
43
43
  };
44
- //# sourceMappingURL=chunk-PP6UPXMD.js.map
44
+ //# sourceMappingURL=chunk-6MH74EYT.js.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-BWQNSFZR.js";
6
6
  import {
7
7
  createI18n
8
- } from "./chunk-3FZAADQZ.js";
8
+ } from "./chunk-I3MNONAI.js";
9
9
  import {
10
10
  init_esm_shims
11
11
  } from "./chunk-PYIAC2GK.js";
@@ -20,4 +20,4 @@ function createI18nT() {
20
20
  export {
21
21
  createI18nT
22
22
  };
23
- //# sourceMappingURL=chunk-EIP3LX47.js.map
23
+ //# sourceMappingURL=chunk-6PQJVCVI.js.map
@@ -2,10 +2,10 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  loadProjectModel
5
- } from "./chunk-E5UR44WA.js";
5
+ } from "./chunk-GIEJ7SOR.js";
6
6
  import {
7
7
  reportCommandStartEvent
8
- } from "./chunk-EK2SY3GO.js";
8
+ } from "./chunk-AA5HURS5.js";
9
9
  import {
10
10
  init_esm_shims
11
11
  } from "./chunk-PYIAC2GK.js";
@@ -42,4 +42,4 @@ async function runCommand(command, services, cliVersion, commandFn) {
42
42
  export {
43
43
  runCommand
44
44
  };
45
- //# sourceMappingURL=chunk-3JPPXRJN.js.map
45
+ //# sourceMappingURL=chunk-6ZIRLJMJ.js.map
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-SO6EZMEL.js";
17
17
  import {
18
18
  readUserConfig
19
- } from "./chunk-VJBYOADN.js";
19
+ } from "./chunk-ZCKZMMPY.js";
20
20
  import {
21
21
  getTestOverrides
22
22
  } from "./chunk-MWHZITF4.js";
@@ -1283,4 +1283,4 @@ export {
1283
1283
  createBiLogger,
1284
1284
  reportCommandStartEvent
1285
1285
  };
1286
- //# sourceMappingURL=chunk-EK2SY3GO.js.map
1286
+ //# sourceMappingURL=chunk-AA5HURS5.js.map
@@ -7,7 +7,7 @@ import {
7
7
  pathExists,
8
8
  readJson,
9
9
  writeJson
10
- } from "./chunk-ZX4MDEB5.js";
10
+ } from "./chunk-EJEDZZSK.js";
11
11
  import {
12
12
  z
13
13
  } from "./chunk-SF2XPDVG.js";
@@ -386,4 +386,4 @@ export {
386
386
  Yarn,
387
387
  createPackageManager
388
388
  };
389
- //# sourceMappingURL=chunk-WD6CJCOU.js.map
389
+ //# sourceMappingURL=chunk-CMCIM2FR.js.map
@@ -5,17 +5,17 @@ import {
5
5
  } from "./chunk-EDFOB3LN.js";
6
6
  import {
7
7
  GridAppLayout
8
- } from "./chunk-5PYHIT42.js";
8
+ } from "./chunk-GXTU3764.js";
9
9
  import {
10
10
  extractHttpError
11
- } from "./chunk-ZI5H23IX.js";
11
+ } from "./chunk-RIDZNJ65.js";
12
12
  import {
13
13
  WIX_LOCK_FILENAME,
14
14
  getSourceFolder
15
15
  } from "./chunk-7ZP5YH44.js";
16
16
  import {
17
17
  pathExists
18
- } from "./chunk-ZX4MDEB5.js";
18
+ } from "./chunk-EJEDZZSK.js";
19
19
  import {
20
20
  CliError,
21
21
  CliErrorCode
@@ -107,4 +107,4 @@ export {
107
107
  isSiteNotPublishedError,
108
108
  loadProjectGridAppContent
109
109
  };
110
- //# sourceMappingURL=chunk-FF6GLWGB.js.map
110
+ //# sourceMappingURL=chunk-CXFPYQVY.js.map
@@ -3,7 +3,7 @@ const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  createHttpClient,
5
5
  useAuth
6
- } from "./chunk-2JBKA7NS.js";
6
+ } from "./chunk-VWHAW4FC.js";
7
7
  import {
8
8
  require_react
9
9
  } from "./chunk-SO6EZMEL.js";
@@ -31,4 +31,4 @@ init_esm_shims();
31
31
  export {
32
32
  useHttpClient
33
33
  };
34
- //# sourceMappingURL=chunk-CGDYTPAX.js.map
34
+ //# sourceMappingURL=chunk-DUYQZPRH.js.map
@@ -4,18 +4,18 @@ import {
4
4
  getDeployment,
5
5
  getDeploymentPipelineDescription,
6
6
  publishDeployment
7
- } from "./chunk-UBEDMR6E.js";
7
+ } from "./chunk-3BDYAFJY.js";
8
8
  import {
9
9
  DeploymentPipelinesStatus,
10
10
  TaskStatus
11
11
  } from "./chunk-J6324FUW.js";
12
12
  import {
13
13
  useHttpClient
14
- } from "./chunk-CGDYTPAX.js";
14
+ } from "./chunk-DUYQZPRH.js";
15
15
  import {
16
16
  pRetry,
17
17
  pWaitFor
18
- } from "./chunk-2JBKA7NS.js";
18
+ } from "./chunk-VWHAW4FC.js";
19
19
  import {
20
20
  require_react
21
21
  } from "./chunk-SO6EZMEL.js";
@@ -201,4 +201,4 @@ export {
201
201
  DeploymentStatus,
202
202
  useDocumentManagementClient
203
203
  };
204
- //# sourceMappingURL=chunk-T5W2UQPN.js.map
204
+ //# sourceMappingURL=chunk-DXCSR2HI.js.map
@@ -458,6 +458,10 @@ async function readPackageJson(projectFolder) {
458
458
  function readPackageJsonContent(projectFolder) {
459
459
  return readFile(join(projectFolder, "package.json"), "utf-8");
460
460
  }
461
+ async function writePackageJson(projectFolder, packageJson) {
462
+ const packageJsonPath = join(projectFolder, "package.json");
463
+ await writeJson(packageJsonPath, packageJson, { spaces: 2 });
464
+ }
461
465
  async function readEnvFile(source) {
462
466
  if (await pathExists(source)) {
463
467
  try {
@@ -479,6 +483,7 @@ async function updateEnvFile(target, variables) {
479
483
  }
480
484
 
481
485
  export {
486
+ toJsonString,
482
487
  writeJson,
483
488
  readJson,
484
489
  readFile,
@@ -487,6 +492,7 @@ export {
487
492
  outputDir,
488
493
  readPackageJson,
489
494
  readPackageJsonContent,
495
+ writePackageJson,
490
496
  updateEnvFile
491
497
  };
492
- //# sourceMappingURL=chunk-ZX4MDEB5.js.map
498
+ //# sourceMappingURL=chunk-EJEDZZSK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/dotenv/package.json","../../../node_modules/dotenv/lib/main.js","../../cli-fs/src/index.ts","../../cli-fs/src/schemas.ts"],"sourcesContent":["{\n \"name\": \"dotenv\",\n \"version\": \"16.5.0\",\n \"description\": \"Loads environment variables from .env file\",\n \"main\": \"lib/main.js\",\n \"types\": \"lib/main.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./lib/main.d.ts\",\n \"require\": \"./lib/main.js\",\n \"default\": \"./lib/main.js\"\n },\n \"./config\": \"./config.js\",\n \"./config.js\": \"./config.js\",\n \"./lib/env-options\": \"./lib/env-options.js\",\n \"./lib/env-options.js\": \"./lib/env-options.js\",\n \"./lib/cli-options\": \"./lib/cli-options.js\",\n \"./lib/cli-options.js\": \"./lib/cli-options.js\",\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"dts-check\": \"tsc --project tests/types/tsconfig.json\",\n \"lint\": \"standard\",\n \"pretest\": \"npm run lint && npm run dts-check\",\n \"test\": \"tap run --allow-empty-coverage --disable-coverage --timeout=60000\",\n \"test:coverage\": \"tap run --show-full-coverage --timeout=60000 --coverage-report=lcov\",\n \"prerelease\": \"npm test\",\n \"release\": \"standard-version\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git://github.com/motdotla/dotenv.git\"\n },\n \"homepage\": \"https://github.com/motdotla/dotenv#readme\",\n \"funding\": \"https://dotenvx.com\",\n \"keywords\": [\n \"dotenv\",\n \"env\",\n \".env\",\n \"environment\",\n \"variables\",\n \"config\",\n \"settings\"\n ],\n \"readmeFilename\": \"README.md\",\n \"license\": \"BSD-2-Clause\",\n \"devDependencies\": {\n \"@types/node\": \"^18.11.3\",\n \"decache\": \"^4.6.2\",\n \"sinon\": \"^14.0.1\",\n \"standard\": \"^17.0.0\",\n \"standard-version\": \"^9.5.0\",\n \"tap\": \"^19.2.0\",\n \"typescript\": \"^4.8.4\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"browser\": {\n \"fs\": false\n }\n}\n","const fs = require('fs')\nconst path = require('path')\nconst os = require('os')\nconst crypto = require('crypto')\nconst packageJson = require('../package.json')\n\nconst version = packageJson.version\n\nconst LINE = /(?:^|^)\\s*(?:export\\s+)?([\\w.-]+)(?:\\s*=\\s*?|:\\s+?)(\\s*'(?:\\\\'|[^'])*'|\\s*\"(?:\\\\\"|[^\"])*\"|\\s*`(?:\\\\`|[^`])*`|[^#\\r\\n]+)?\\s*(?:#.*)?(?:$|$)/mg\n\n// Parse src into an Object\nfunction parse (src) {\n const obj = {}\n\n // Convert buffer to string\n let lines = src.toString()\n\n // Convert line breaks to same format\n lines = lines.replace(/\\r\\n?/mg, '\\n')\n\n let match\n while ((match = LINE.exec(lines)) != null) {\n const key = match[1]\n\n // Default undefined or null to empty string\n let value = (match[2] || '')\n\n // Remove whitespace\n value = value.trim()\n\n // Check if double quoted\n const maybeQuote = value[0]\n\n // Remove surrounding quotes\n value = value.replace(/^(['\"`])([\\s\\S]*)\\1$/mg, '$2')\n\n // Expand newlines if double quoted\n if (maybeQuote === '\"') {\n value = value.replace(/\\\\n/g, '\\n')\n value = value.replace(/\\\\r/g, '\\r')\n }\n\n // Add to object\n obj[key] = value\n }\n\n return obj\n}\n\nfunction _parseVault (options) {\n const vaultPath = _vaultPath(options)\n\n // Parse .env.vault\n const result = DotenvModule.configDotenv({ path: vaultPath })\n if (!result.parsed) {\n const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`)\n err.code = 'MISSING_DATA'\n throw err\n }\n\n // handle scenario for comma separated keys - for use with key rotation\n // example: DOTENV_KEY=\"dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=prod,dotenv://:key_7890@dotenvx.com/vault/.env.vault?environment=prod\"\n const keys = _dotenvKey(options).split(',')\n const length = keys.length\n\n let decrypted\n for (let i = 0; i < length; i++) {\n try {\n // Get full key\n const key = keys[i].trim()\n\n // Get instructions for decrypt\n const attrs = _instructions(result, key)\n\n // Decrypt\n decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key)\n\n break\n } catch (error) {\n // last key\n if (i + 1 >= length) {\n throw error\n }\n // try next key\n }\n }\n\n // Parse decrypted .env string\n return DotenvModule.parse(decrypted)\n}\n\nfunction _warn (message) {\n console.log(`[dotenv@${version}][WARN] ${message}`)\n}\n\nfunction _debug (message) {\n console.log(`[dotenv@${version}][DEBUG] ${message}`)\n}\n\nfunction _dotenvKey (options) {\n // prioritize developer directly setting options.DOTENV_KEY\n if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) {\n return options.DOTENV_KEY\n }\n\n // secondary infra already contains a DOTENV_KEY environment variable\n if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) {\n return process.env.DOTENV_KEY\n }\n\n // fallback to empty string\n return ''\n}\n\nfunction _instructions (result, dotenvKey) {\n // Parse DOTENV_KEY. Format is a URI\n let uri\n try {\n uri = new URL(dotenvKey)\n } catch (error) {\n if (error.code === 'ERR_INVALID_URL') {\n const err = new Error('INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n throw error\n }\n\n // Get decrypt key\n const key = uri.password\n if (!key) {\n const err = new Error('INVALID_DOTENV_KEY: Missing key part')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n // Get environment\n const environment = uri.searchParams.get('environment')\n if (!environment) {\n const err = new Error('INVALID_DOTENV_KEY: Missing environment part')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n // Get ciphertext payload\n const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`\n const ciphertext = result.parsed[environmentKey] // DOTENV_VAULT_PRODUCTION\n if (!ciphertext) {\n const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`)\n err.code = 'NOT_FOUND_DOTENV_ENVIRONMENT'\n throw err\n }\n\n return { ciphertext, key }\n}\n\nfunction _vaultPath (options) {\n let possibleVaultPath = null\n\n if (options && options.path && options.path.length > 0) {\n if (Array.isArray(options.path)) {\n for (const filepath of options.path) {\n if (fs.existsSync(filepath)) {\n possibleVaultPath = filepath.endsWith('.vault') ? filepath : `${filepath}.vault`\n }\n }\n } else {\n possibleVaultPath = options.path.endsWith('.vault') ? options.path : `${options.path}.vault`\n }\n } else {\n possibleVaultPath = path.resolve(process.cwd(), '.env.vault')\n }\n\n if (fs.existsSync(possibleVaultPath)) {\n return possibleVaultPath\n }\n\n return null\n}\n\nfunction _resolveHome (envPath) {\n return envPath[0] === '~' ? path.join(os.homedir(), envPath.slice(1)) : envPath\n}\n\nfunction _configVault (options) {\n const debug = Boolean(options && options.debug)\n if (debug) {\n _debug('Loading env from encrypted .env.vault')\n }\n\n const parsed = DotenvModule._parseVault(options)\n\n let processEnv = process.env\n if (options && options.processEnv != null) {\n processEnv = options.processEnv\n }\n\n DotenvModule.populate(processEnv, parsed, options)\n\n return { parsed }\n}\n\nfunction configDotenv (options) {\n const dotenvPath = path.resolve(process.cwd(), '.env')\n let encoding = 'utf8'\n const debug = Boolean(options && options.debug)\n\n if (options && options.encoding) {\n encoding = options.encoding\n } else {\n if (debug) {\n _debug('No encoding is specified. UTF-8 is used by default')\n }\n }\n\n let optionPaths = [dotenvPath] // default, look for .env\n if (options && options.path) {\n if (!Array.isArray(options.path)) {\n optionPaths = [_resolveHome(options.path)]\n } else {\n optionPaths = [] // reset default\n for (const filepath of options.path) {\n optionPaths.push(_resolveHome(filepath))\n }\n }\n }\n\n // Build the parsed data in a temporary object (because we need to return it). Once we have the final\n // parsed data, we will combine it with process.env (or options.processEnv if provided).\n let lastError\n const parsedAll = {}\n for (const path of optionPaths) {\n try {\n // Specifying an encoding returns a string instead of a buffer\n const parsed = DotenvModule.parse(fs.readFileSync(path, { encoding }))\n\n DotenvModule.populate(parsedAll, parsed, options)\n } catch (e) {\n if (debug) {\n _debug(`Failed to load ${path} ${e.message}`)\n }\n lastError = e\n }\n }\n\n let processEnv = process.env\n if (options && options.processEnv != null) {\n processEnv = options.processEnv\n }\n\n DotenvModule.populate(processEnv, parsedAll, options)\n\n if (lastError) {\n return { parsed: parsedAll, error: lastError }\n } else {\n return { parsed: parsedAll }\n }\n}\n\n// Populates process.env from .env file\nfunction config (options) {\n // fallback to original dotenv if DOTENV_KEY is not set\n if (_dotenvKey(options).length === 0) {\n return DotenvModule.configDotenv(options)\n }\n\n const vaultPath = _vaultPath(options)\n\n // dotenvKey exists but .env.vault file does not exist\n if (!vaultPath) {\n _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`)\n\n return DotenvModule.configDotenv(options)\n }\n\n return DotenvModule._configVault(options)\n}\n\nfunction decrypt (encrypted, keyStr) {\n const key = Buffer.from(keyStr.slice(-64), 'hex')\n let ciphertext = Buffer.from(encrypted, 'base64')\n\n const nonce = ciphertext.subarray(0, 12)\n const authTag = ciphertext.subarray(-16)\n ciphertext = ciphertext.subarray(12, -16)\n\n try {\n const aesgcm = crypto.createDecipheriv('aes-256-gcm', key, nonce)\n aesgcm.setAuthTag(authTag)\n return `${aesgcm.update(ciphertext)}${aesgcm.final()}`\n } catch (error) {\n const isRange = error instanceof RangeError\n const invalidKeyLength = error.message === 'Invalid key length'\n const decryptionFailed = error.message === 'Unsupported state or unable to authenticate data'\n\n if (isRange || invalidKeyLength) {\n const err = new Error('INVALID_DOTENV_KEY: It must be 64 characters long (or more)')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n } else if (decryptionFailed) {\n const err = new Error('DECRYPTION_FAILED: Please check your DOTENV_KEY')\n err.code = 'DECRYPTION_FAILED'\n throw err\n } else {\n throw error\n }\n }\n}\n\n// Populate process.env with parsed values\nfunction populate (processEnv, parsed, options = {}) {\n const debug = Boolean(options && options.debug)\n const override = Boolean(options && options.override)\n\n if (typeof parsed !== 'object') {\n const err = new Error('OBJECT_REQUIRED: Please check the processEnv argument being passed to populate')\n err.code = 'OBJECT_REQUIRED'\n throw err\n }\n\n // Set process.env\n for (const key of Object.keys(parsed)) {\n if (Object.prototype.hasOwnProperty.call(processEnv, key)) {\n if (override === true) {\n processEnv[key] = parsed[key]\n }\n\n if (debug) {\n if (override === true) {\n _debug(`\"${key}\" is already defined and WAS overwritten`)\n } else {\n _debug(`\"${key}\" is already defined and was NOT overwritten`)\n }\n }\n } else {\n processEnv[key] = parsed[key]\n }\n }\n}\n\nconst DotenvModule = {\n configDotenv,\n _configVault,\n _parseVault,\n config,\n decrypt,\n parse,\n populate\n}\n\nmodule.exports.configDotenv = DotenvModule.configDotenv\nmodule.exports._configVault = DotenvModule._configVault\nmodule.exports._parseVault = DotenvModule._parseVault\nmodule.exports.config = DotenvModule.config\nmodule.exports.decrypt = DotenvModule.decrypt\nmodule.exports.parse = DotenvModule.parse\nmodule.exports.populate = DotenvModule.populate\n\nmodule.exports = DotenvModule\n","import {\n access,\n readFile as fsReadFile,\n writeFile,\n mkdir,\n} from 'node:fs/promises';\nimport { dirname, join, relative } from 'node:path';\nimport { EOL } from 'node:os';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport dotenv from 'dotenv';\nimport { packageJsonSchema } from './schemas.js';\nimport type { PackageJson } from './schemas.js';\n\nexport function toJsonString(object: unknown, opts?: { spaces: number }) {\n return JSON.stringify(object, null, opts?.spaces).concat(EOL);\n}\n\nexport async function writeJson(\n filePath: string,\n object: unknown,\n opts?: { spaces: number }\n) {\n const str = toJsonString(object, opts);\n await outputDir(dirname(filePath));\n\n try {\n await writeFile(filePath, str, 'utf-8');\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToWriteJson({ filePath }),\n cause: e,\n });\n }\n}\n\nexport async function readJson(file: string): Promise<unknown> {\n let content = null;\n try {\n content = await fsReadFile(file, 'utf-8');\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToReadJson({ filePath: file }),\n cause: e,\n });\n }\n\n try {\n return JSON.parse(content);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.InvalidJsonFile({ filePath: file }),\n cause: e,\n });\n }\n}\n\nexport async function readFile(file: string): Promise<Buffer>;\nexport async function readFile(\n file: string,\n encoding: 'utf-8'\n): Promise<string>;\nexport async function readFile(file: string, encoding?: 'utf-8') {\n try {\n return await fsReadFile(file, encoding);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToReadFile({ filePath: file }),\n cause: e,\n });\n }\n}\n\nexport function pathExists(path: string) {\n return access(path)\n .then(() => true)\n .catch(() => false);\n}\n\nexport async function outputFile(file: string, content: string) {\n await outputDir(dirname(file));\n\n try {\n await writeFile(file, content, 'utf-8');\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToWriteFile({ filePath: file }),\n cause: e,\n });\n }\n}\n\nexport async function outputDir(dir: string) {\n try {\n await mkdir(dir, { recursive: true });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCreateDir({ dirPath: dir }),\n cause: e,\n });\n }\n}\n\nexport async function readPackageJson(projectFolder: string) {\n const packageJsonPath = join(projectFolder, 'package.json');\n\n const json = await readJson(packageJsonPath);\n const parsedPackageJson = await packageJsonSchema.safeParseAsync(json);\n\n if (!parsedPackageJson.success) {\n throw new CliError({\n code: CliErrorCode.InvalidConfigSchemaError({\n configPath: packageJsonPath,\n zodError: parsedPackageJson.error,\n }),\n cause: parsedPackageJson.error,\n });\n }\n\n /**\n * Returning original json because zod clone object and change the order of keys.\n * It's safe to return the original json because we already validated it.\n */\n return json as PackageJson;\n}\n\nexport function readPackageJsonContent(projectFolder: string) {\n return readFile(join(projectFolder, 'package.json'), 'utf-8');\n}\n\nexport async function writePackageJson(\n projectFolder: string,\n packageJson: PackageJson\n) {\n const packageJsonPath = join(projectFolder, 'package.json');\n\n await writeJson(packageJsonPath, packageJson, { spaces: 2 });\n}\n\nexport function relativeFolderName(rootFolder: string, filePath: string) {\n return relative(rootFolder, dirname(filePath));\n}\n\nexport { type PackageJson } from './schemas.js';\n\nexport async function readEnvFile(source: string) {\n if (await pathExists(source)) {\n try {\n const content = await readFile(source);\n return dotenv.parse(content);\n } catch {\n return {};\n }\n }\n return {};\n}\n\nexport async function updateEnvFile(\n target: string,\n variables: Record<string, string>\n) {\n const mergedEnvVars = {\n ...(await readEnvFile(target)),\n ...variables,\n };\n\n const outputEnvVar = Object.entries(mergedEnvVars)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join('\\n');\n\n await outputFile(target, outputEnvVar);\n}\n","import { z } from 'zod';\n\nexport const packageJsonSchema = z.object({\n dependencies: z.record(z.string()).optional(),\n devDependencies: z.record(z.string()).optional(),\n peerDependencies: z.record(z.string()).optional(),\n});\n\nexport type PackageJson = z.infer<typeof packageJsonSchema>;\n"],"mappings":"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","names":["path","dotenv"]}
1
+ {"version":3,"sources":["../../../node_modules/dotenv/package.json","../../../node_modules/dotenv/lib/main.js","../../cli-fs/src/index.ts","../../cli-fs/src/schemas.ts"],"sourcesContent":["{\n \"name\": \"dotenv\",\n \"version\": \"16.5.0\",\n \"description\": \"Loads environment variables from .env file\",\n \"main\": \"lib/main.js\",\n \"types\": \"lib/main.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./lib/main.d.ts\",\n \"require\": \"./lib/main.js\",\n \"default\": \"./lib/main.js\"\n },\n \"./config\": \"./config.js\",\n \"./config.js\": \"./config.js\",\n \"./lib/env-options\": \"./lib/env-options.js\",\n \"./lib/env-options.js\": \"./lib/env-options.js\",\n \"./lib/cli-options\": \"./lib/cli-options.js\",\n \"./lib/cli-options.js\": \"./lib/cli-options.js\",\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"dts-check\": \"tsc --project tests/types/tsconfig.json\",\n \"lint\": \"standard\",\n \"pretest\": \"npm run lint && npm run dts-check\",\n \"test\": \"tap run --allow-empty-coverage --disable-coverage --timeout=60000\",\n \"test:coverage\": \"tap run --show-full-coverage --timeout=60000 --coverage-report=lcov\",\n \"prerelease\": \"npm test\",\n \"release\": \"standard-version\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git://github.com/motdotla/dotenv.git\"\n },\n \"homepage\": \"https://github.com/motdotla/dotenv#readme\",\n \"funding\": \"https://dotenvx.com\",\n \"keywords\": [\n \"dotenv\",\n \"env\",\n \".env\",\n \"environment\",\n \"variables\",\n \"config\",\n \"settings\"\n ],\n \"readmeFilename\": \"README.md\",\n \"license\": \"BSD-2-Clause\",\n \"devDependencies\": {\n \"@types/node\": \"^18.11.3\",\n \"decache\": \"^4.6.2\",\n \"sinon\": \"^14.0.1\",\n \"standard\": \"^17.0.0\",\n \"standard-version\": \"^9.5.0\",\n \"tap\": \"^19.2.0\",\n \"typescript\": \"^4.8.4\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"browser\": {\n \"fs\": false\n }\n}\n","const fs = require('fs')\nconst path = require('path')\nconst os = require('os')\nconst crypto = require('crypto')\nconst packageJson = require('../package.json')\n\nconst version = packageJson.version\n\nconst LINE = /(?:^|^)\\s*(?:export\\s+)?([\\w.-]+)(?:\\s*=\\s*?|:\\s+?)(\\s*'(?:\\\\'|[^'])*'|\\s*\"(?:\\\\\"|[^\"])*\"|\\s*`(?:\\\\`|[^`])*`|[^#\\r\\n]+)?\\s*(?:#.*)?(?:$|$)/mg\n\n// Parse src into an Object\nfunction parse (src) {\n const obj = {}\n\n // Convert buffer to string\n let lines = src.toString()\n\n // Convert line breaks to same format\n lines = lines.replace(/\\r\\n?/mg, '\\n')\n\n let match\n while ((match = LINE.exec(lines)) != null) {\n const key = match[1]\n\n // Default undefined or null to empty string\n let value = (match[2] || '')\n\n // Remove whitespace\n value = value.trim()\n\n // Check if double quoted\n const maybeQuote = value[0]\n\n // Remove surrounding quotes\n value = value.replace(/^(['\"`])([\\s\\S]*)\\1$/mg, '$2')\n\n // Expand newlines if double quoted\n if (maybeQuote === '\"') {\n value = value.replace(/\\\\n/g, '\\n')\n value = value.replace(/\\\\r/g, '\\r')\n }\n\n // Add to object\n obj[key] = value\n }\n\n return obj\n}\n\nfunction _parseVault (options) {\n const vaultPath = _vaultPath(options)\n\n // Parse .env.vault\n const result = DotenvModule.configDotenv({ path: vaultPath })\n if (!result.parsed) {\n const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`)\n err.code = 'MISSING_DATA'\n throw err\n }\n\n // handle scenario for comma separated keys - for use with key rotation\n // example: DOTENV_KEY=\"dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=prod,dotenv://:key_7890@dotenvx.com/vault/.env.vault?environment=prod\"\n const keys = _dotenvKey(options).split(',')\n const length = keys.length\n\n let decrypted\n for (let i = 0; i < length; i++) {\n try {\n // Get full key\n const key = keys[i].trim()\n\n // Get instructions for decrypt\n const attrs = _instructions(result, key)\n\n // Decrypt\n decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key)\n\n break\n } catch (error) {\n // last key\n if (i + 1 >= length) {\n throw error\n }\n // try next key\n }\n }\n\n // Parse decrypted .env string\n return DotenvModule.parse(decrypted)\n}\n\nfunction _warn (message) {\n console.log(`[dotenv@${version}][WARN] ${message}`)\n}\n\nfunction _debug (message) {\n console.log(`[dotenv@${version}][DEBUG] ${message}`)\n}\n\nfunction _dotenvKey (options) {\n // prioritize developer directly setting options.DOTENV_KEY\n if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) {\n return options.DOTENV_KEY\n }\n\n // secondary infra already contains a DOTENV_KEY environment variable\n if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) {\n return process.env.DOTENV_KEY\n }\n\n // fallback to empty string\n return ''\n}\n\nfunction _instructions (result, dotenvKey) {\n // Parse DOTENV_KEY. Format is a URI\n let uri\n try {\n uri = new URL(dotenvKey)\n } catch (error) {\n if (error.code === 'ERR_INVALID_URL') {\n const err = new Error('INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n throw error\n }\n\n // Get decrypt key\n const key = uri.password\n if (!key) {\n const err = new Error('INVALID_DOTENV_KEY: Missing key part')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n // Get environment\n const environment = uri.searchParams.get('environment')\n if (!environment) {\n const err = new Error('INVALID_DOTENV_KEY: Missing environment part')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n }\n\n // Get ciphertext payload\n const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`\n const ciphertext = result.parsed[environmentKey] // DOTENV_VAULT_PRODUCTION\n if (!ciphertext) {\n const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`)\n err.code = 'NOT_FOUND_DOTENV_ENVIRONMENT'\n throw err\n }\n\n return { ciphertext, key }\n}\n\nfunction _vaultPath (options) {\n let possibleVaultPath = null\n\n if (options && options.path && options.path.length > 0) {\n if (Array.isArray(options.path)) {\n for (const filepath of options.path) {\n if (fs.existsSync(filepath)) {\n possibleVaultPath = filepath.endsWith('.vault') ? filepath : `${filepath}.vault`\n }\n }\n } else {\n possibleVaultPath = options.path.endsWith('.vault') ? options.path : `${options.path}.vault`\n }\n } else {\n possibleVaultPath = path.resolve(process.cwd(), '.env.vault')\n }\n\n if (fs.existsSync(possibleVaultPath)) {\n return possibleVaultPath\n }\n\n return null\n}\n\nfunction _resolveHome (envPath) {\n return envPath[0] === '~' ? path.join(os.homedir(), envPath.slice(1)) : envPath\n}\n\nfunction _configVault (options) {\n const debug = Boolean(options && options.debug)\n if (debug) {\n _debug('Loading env from encrypted .env.vault')\n }\n\n const parsed = DotenvModule._parseVault(options)\n\n let processEnv = process.env\n if (options && options.processEnv != null) {\n processEnv = options.processEnv\n }\n\n DotenvModule.populate(processEnv, parsed, options)\n\n return { parsed }\n}\n\nfunction configDotenv (options) {\n const dotenvPath = path.resolve(process.cwd(), '.env')\n let encoding = 'utf8'\n const debug = Boolean(options && options.debug)\n\n if (options && options.encoding) {\n encoding = options.encoding\n } else {\n if (debug) {\n _debug('No encoding is specified. UTF-8 is used by default')\n }\n }\n\n let optionPaths = [dotenvPath] // default, look for .env\n if (options && options.path) {\n if (!Array.isArray(options.path)) {\n optionPaths = [_resolveHome(options.path)]\n } else {\n optionPaths = [] // reset default\n for (const filepath of options.path) {\n optionPaths.push(_resolveHome(filepath))\n }\n }\n }\n\n // Build the parsed data in a temporary object (because we need to return it). Once we have the final\n // parsed data, we will combine it with process.env (or options.processEnv if provided).\n let lastError\n const parsedAll = {}\n for (const path of optionPaths) {\n try {\n // Specifying an encoding returns a string instead of a buffer\n const parsed = DotenvModule.parse(fs.readFileSync(path, { encoding }))\n\n DotenvModule.populate(parsedAll, parsed, options)\n } catch (e) {\n if (debug) {\n _debug(`Failed to load ${path} ${e.message}`)\n }\n lastError = e\n }\n }\n\n let processEnv = process.env\n if (options && options.processEnv != null) {\n processEnv = options.processEnv\n }\n\n DotenvModule.populate(processEnv, parsedAll, options)\n\n if (lastError) {\n return { parsed: parsedAll, error: lastError }\n } else {\n return { parsed: parsedAll }\n }\n}\n\n// Populates process.env from .env file\nfunction config (options) {\n // fallback to original dotenv if DOTENV_KEY is not set\n if (_dotenvKey(options).length === 0) {\n return DotenvModule.configDotenv(options)\n }\n\n const vaultPath = _vaultPath(options)\n\n // dotenvKey exists but .env.vault file does not exist\n if (!vaultPath) {\n _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`)\n\n return DotenvModule.configDotenv(options)\n }\n\n return DotenvModule._configVault(options)\n}\n\nfunction decrypt (encrypted, keyStr) {\n const key = Buffer.from(keyStr.slice(-64), 'hex')\n let ciphertext = Buffer.from(encrypted, 'base64')\n\n const nonce = ciphertext.subarray(0, 12)\n const authTag = ciphertext.subarray(-16)\n ciphertext = ciphertext.subarray(12, -16)\n\n try {\n const aesgcm = crypto.createDecipheriv('aes-256-gcm', key, nonce)\n aesgcm.setAuthTag(authTag)\n return `${aesgcm.update(ciphertext)}${aesgcm.final()}`\n } catch (error) {\n const isRange = error instanceof RangeError\n const invalidKeyLength = error.message === 'Invalid key length'\n const decryptionFailed = error.message === 'Unsupported state or unable to authenticate data'\n\n if (isRange || invalidKeyLength) {\n const err = new Error('INVALID_DOTENV_KEY: It must be 64 characters long (or more)')\n err.code = 'INVALID_DOTENV_KEY'\n throw err\n } else if (decryptionFailed) {\n const err = new Error('DECRYPTION_FAILED: Please check your DOTENV_KEY')\n err.code = 'DECRYPTION_FAILED'\n throw err\n } else {\n throw error\n }\n }\n}\n\n// Populate process.env with parsed values\nfunction populate (processEnv, parsed, options = {}) {\n const debug = Boolean(options && options.debug)\n const override = Boolean(options && options.override)\n\n if (typeof parsed !== 'object') {\n const err = new Error('OBJECT_REQUIRED: Please check the processEnv argument being passed to populate')\n err.code = 'OBJECT_REQUIRED'\n throw err\n }\n\n // Set process.env\n for (const key of Object.keys(parsed)) {\n if (Object.prototype.hasOwnProperty.call(processEnv, key)) {\n if (override === true) {\n processEnv[key] = parsed[key]\n }\n\n if (debug) {\n if (override === true) {\n _debug(`\"${key}\" is already defined and WAS overwritten`)\n } else {\n _debug(`\"${key}\" is already defined and was NOT overwritten`)\n }\n }\n } else {\n processEnv[key] = parsed[key]\n }\n }\n}\n\nconst DotenvModule = {\n configDotenv,\n _configVault,\n _parseVault,\n config,\n decrypt,\n parse,\n populate\n}\n\nmodule.exports.configDotenv = DotenvModule.configDotenv\nmodule.exports._configVault = DotenvModule._configVault\nmodule.exports._parseVault = DotenvModule._parseVault\nmodule.exports.config = DotenvModule.config\nmodule.exports.decrypt = DotenvModule.decrypt\nmodule.exports.parse = DotenvModule.parse\nmodule.exports.populate = DotenvModule.populate\n\nmodule.exports = DotenvModule\n","import {\n access,\n readFile as fsReadFile,\n writeFile,\n mkdir,\n} from 'node:fs/promises';\nimport { dirname, join, relative } from 'node:path';\nimport { EOL } from 'node:os';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport dotenv from 'dotenv';\nimport { packageJsonSchema } from './schemas.js';\nimport type { PackageJson } from './schemas.js';\n\nexport function toJsonString(object: unknown, opts?: { spaces: number }) {\n return JSON.stringify(object, null, opts?.spaces).concat(EOL);\n}\n\nexport async function writeJson(\n filePath: string,\n object: unknown,\n opts?: { spaces: number }\n) {\n const str = toJsonString(object, opts);\n await outputDir(dirname(filePath));\n\n try {\n await writeFile(filePath, str, 'utf-8');\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToWriteJson({ filePath }),\n cause: e,\n });\n }\n}\n\nexport async function readJson(file: string): Promise<unknown> {\n let content = null;\n try {\n content = await fsReadFile(file, 'utf-8');\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToReadJson({ filePath: file }),\n cause: e,\n });\n }\n\n try {\n return JSON.parse(content);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.InvalidJsonFile({ filePath: file }),\n cause: e,\n });\n }\n}\n\nexport async function readFile(file: string): Promise<Buffer>;\nexport async function readFile(\n file: string,\n encoding: 'utf-8'\n): Promise<string>;\nexport async function readFile(file: string, encoding?: 'utf-8') {\n try {\n return await fsReadFile(file, encoding);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToReadFile({ filePath: file }),\n cause: e,\n });\n }\n}\n\nexport function pathExists(path: string) {\n return access(path)\n .then(() => true)\n .catch(() => false);\n}\n\nexport async function outputFile(file: string, content: string) {\n await outputDir(dirname(file));\n\n try {\n await writeFile(file, content, 'utf-8');\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToWriteFile({ filePath: file }),\n cause: e,\n });\n }\n}\n\nexport async function outputDir(dir: string) {\n try {\n await mkdir(dir, { recursive: true });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCreateDir({ dirPath: dir }),\n cause: e,\n });\n }\n}\n\nexport async function readPackageJson(projectFolder: string) {\n const packageJsonPath = join(projectFolder, 'package.json');\n\n const json = await readJson(packageJsonPath);\n const parsedPackageJson = await packageJsonSchema.safeParseAsync(json);\n\n if (!parsedPackageJson.success) {\n throw new CliError({\n code: CliErrorCode.InvalidConfigSchemaError({\n configPath: packageJsonPath,\n zodError: parsedPackageJson.error,\n }),\n cause: parsedPackageJson.error,\n });\n }\n\n /**\n * Returning original json because zod clone object and change the order of keys.\n * It's safe to return the original json because we already validated it.\n */\n return json as PackageJson;\n}\n\nexport function readPackageJsonContent(projectFolder: string) {\n return readFile(join(projectFolder, 'package.json'), 'utf-8');\n}\n\nexport async function writePackageJson(\n projectFolder: string,\n packageJson: PackageJson\n) {\n const packageJsonPath = join(projectFolder, 'package.json');\n\n await writeJson(packageJsonPath, packageJson, { spaces: 2 });\n}\n\nexport function relativeFolderName(rootFolder: string, filePath: string) {\n return relative(rootFolder, dirname(filePath));\n}\n\nexport { type PackageJson } from './schemas.js';\n\nexport async function readEnvFile(source: string) {\n if (await pathExists(source)) {\n try {\n const content = await readFile(source);\n return dotenv.parse(content);\n } catch {\n return {};\n }\n }\n return {};\n}\n\nexport async function updateEnvFile(\n target: string,\n variables: Record<string, string>\n) {\n const mergedEnvVars = {\n ...(await readEnvFile(target)),\n ...variables,\n };\n\n const outputEnvVar = Object.entries(mergedEnvVars)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join('\\n');\n\n await outputFile(target, outputEnvVar);\n}\n","import { z } from 'zod';\n\nexport const packageJsonSchema = z.object({\n dependencies: z.record(z.string()).optional(),\n devDependencies: z.record(z.string()).optional(),\n peerDependencies: z.record(z.string()).optional(),\n});\n\nexport type PackageJson = z.infer<typeof packageJsonSchema>;\n"],"mappings":"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","names":["path","dotenv"]}