@wix/cli 1.1.148 → 1.1.149

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 (53) hide show
  1. package/agents/instructions.md +84 -0
  2. package/build/{DevCommand-QSEX33CH.js → DevCommand-FM4GUL35.js} +53 -37
  3. package/build/DevCommand-FM4GUL35.js.map +1 -0
  4. package/build/{EnvPullCommand-6FOYVETB.js → EnvPullCommand-22WYBFTO.js} +3 -3
  5. package/build/{EnvRemoveCommand-BDX7BG4C.js → EnvRemoveCommand-H6VFMJLM.js} +2 -2
  6. package/build/{EnvSetCommand-YV7KQDTG.js → EnvSetCommand-TDY5NJDM.js} +2 -2
  7. package/build/{GenerateCommand-SARUYR3M.js → GenerateCommand-WJB2UILL.js} +3 -3
  8. package/build/{LoginCommand-ULOYAGDX.js → LoginCommand-EWEM57CT.js} +2 -2
  9. package/build/{PreviewCommand-D6P52RJP.js → PreviewCommand-7CZDBECJ.js} +5 -5
  10. package/build/{PromoteCommand-CJUQIMD7.js → PromoteCommand-4W7JO3OG.js} +5 -5
  11. package/build/{ReleaseCommand-FAHUZJYF.js → ReleaseCommand-NZAM3UIY.js} +14 -16
  12. package/build/ReleaseCommand-NZAM3UIY.js.map +1 -0
  13. package/build/{chunk-CGXS2RLO.js → chunk-6B3FQNMV.js} +2 -2
  14. package/build/{chunk-WOLJ45IG.js → chunk-7CZ66YXW.js} +156 -366
  15. package/build/chunk-7CZ66YXW.js.map +1 -0
  16. package/build/{chunk-VGSKNKR5.js → chunk-ECEBTPKZ.js} +53 -34
  17. package/build/chunk-ECEBTPKZ.js.map +1 -0
  18. package/build/{chunk-WUQ34TQE.js → chunk-EVV3LZAI.js} +2 -2
  19. package/build/{chunk-2OAP2LLX.js → chunk-VT3OGC5F.js} +2 -2
  20. package/build/{chunk-DLDELYVB.js → chunk-W34JWURA.js} +1 -2
  21. package/build/{chunk-4GSO6VQT.js → chunk-WBI2P4YN.js} +2 -2
  22. package/build/{chunk-DUJVHVKZ.js → chunk-Y7SZOWGV.js} +4 -3
  23. package/build/chunk-Y7SZOWGV.js.map +1 -0
  24. package/build/{env-pull-MXPEH223.js → env-pull-ENQPMILC.js} +4 -4
  25. package/build/index.js +6 -6
  26. package/build/{preview-GCYV2BWG.js → preview-MGGWEWUO.js} +6 -6
  27. package/build/{render-command-CMTVNSQY.js → render-command-TH5F34LX.js} +3 -3
  28. package/build/{render-command-QYBNOZ2B.js → render-command-YIP7OO3V.js} +2 -2
  29. package/build/{src-WCTCENDD.js → src-S345RUFD.js} +20 -20
  30. package/build/src-S345RUFD.js.map +1 -0
  31. package/package.json +4 -3
  32. package/build/DevCommand-QSEX33CH.js.map +0 -1
  33. package/build/ReleaseCommand-FAHUZJYF.js.map +0 -1
  34. package/build/chunk-DUJVHVKZ.js.map +0 -1
  35. package/build/chunk-VGSKNKR5.js.map +0 -1
  36. package/build/chunk-WOLJ45IG.js.map +0 -1
  37. package/build/src-WCTCENDD.js.map +0 -1
  38. /package/build/{EnvPullCommand-6FOYVETB.js.map → EnvPullCommand-22WYBFTO.js.map} +0 -0
  39. /package/build/{EnvRemoveCommand-BDX7BG4C.js.map → EnvRemoveCommand-H6VFMJLM.js.map} +0 -0
  40. /package/build/{EnvSetCommand-YV7KQDTG.js.map → EnvSetCommand-TDY5NJDM.js.map} +0 -0
  41. /package/build/{GenerateCommand-SARUYR3M.js.map → GenerateCommand-WJB2UILL.js.map} +0 -0
  42. /package/build/{LoginCommand-ULOYAGDX.js.map → LoginCommand-EWEM57CT.js.map} +0 -0
  43. /package/build/{PreviewCommand-D6P52RJP.js.map → PreviewCommand-7CZDBECJ.js.map} +0 -0
  44. /package/build/{PromoteCommand-CJUQIMD7.js.map → PromoteCommand-4W7JO3OG.js.map} +0 -0
  45. /package/build/{chunk-CGXS2RLO.js.map → chunk-6B3FQNMV.js.map} +0 -0
  46. /package/build/{chunk-WUQ34TQE.js.map → chunk-EVV3LZAI.js.map} +0 -0
  47. /package/build/{chunk-2OAP2LLX.js.map → chunk-VT3OGC5F.js.map} +0 -0
  48. /package/build/{chunk-DLDELYVB.js.map → chunk-W34JWURA.js.map} +0 -0
  49. /package/build/{chunk-4GSO6VQT.js.map → chunk-WBI2P4YN.js.map} +0 -0
  50. /package/build/{env-pull-MXPEH223.js.map → env-pull-ENQPMILC.js.map} +0 -0
  51. /package/build/{preview-GCYV2BWG.js.map → preview-MGGWEWUO.js.map} +0 -0
  52. /package/build/{render-command-CMTVNSQY.js.map → render-command-TH5F34LX.js.map} +0 -0
  53. /package/build/{render-command-QYBNOZ2B.js.map → render-command-YIP7OO3V.js.map} +0 -0
@@ -0,0 +1,84 @@
1
+ # Wix CLI Commands
2
+
3
+ ## Core Commands
4
+
5
+ ### `wix login`
6
+
7
+ Log in to your Wix account
8
+
9
+ **Options:**
10
+
11
+ - `--api-key <token>`: Authenticate using an API key for automations and CI environments
12
+
13
+ ### `wix logout`
14
+
15
+ Log out of your Wix account
16
+
17
+ ### `wix telemetry <on|off>`
18
+
19
+ Opt in/out of sending anonymous usage information (telemetry) to Wix
20
+
21
+ ### `wix whoami`
22
+
23
+ Display the email of the logged in Wix user
24
+
25
+ ## Development Commands
26
+
27
+ ### `wix dev`
28
+
29
+ Start the local development server.
30
+
31
+ **Options:**
32
+
33
+ - `--port <port>`: Specify which port to run on. Defaults to 4321.
34
+ - `--allowed-hosts <allowedHosts>`: Specify a comma-separated list of allowed hosts or allow any hostname.
35
+
36
+ ### `wix build`
37
+
38
+ Invoke the astro build process, forwarding all command-line arguments.
39
+
40
+ ### `wix preview`
41
+
42
+ Create a preview deployment of your application.
43
+
44
+ ### `wix release`
45
+
46
+ Release a new version of your application.
47
+
48
+ **Options:**
49
+
50
+ - `-c, --comment <comment>`: The comment for your release version, not visible by users
51
+ - `-t, --version-type <type>`: The type of version you would like to create (major or minor)
52
+
53
+ ### `wix generate`
54
+
55
+ Generate a new extension for your project.
56
+
57
+ ## Environment Variables
58
+
59
+ ### `wix env`
60
+
61
+ Work with environment variables.
62
+
63
+ **Subcommands:**
64
+
65
+ #### `wix env pull`
66
+
67
+ Pulls environment variables and merge them into .env.local file.
68
+
69
+ #### `wix env set`
70
+
71
+ Sets an environment variable.
72
+
73
+ **Options:**
74
+
75
+ - `--key <key>`: Name of the variable (required)
76
+ - `--value <value>`: Value of the variable (required)
77
+
78
+ #### `wix env remove`
79
+
80
+ Removes an environment variable.
81
+
82
+ **Options:**
83
+
84
+ - `--key <key>`: Name of the variable (required)
@@ -7,20 +7,18 @@ import {
7
7
  useWixCliAppBi
8
8
  } from "./chunk-GVGGC7KJ.js";
9
9
  import {
10
- EditorLink,
11
- LivesiteLinkForApp,
12
10
  PlatformLink,
11
+ RedirectLink,
13
12
  SiteProvider,
14
13
  SiteSelector,
14
+ createRedirectLink,
15
15
  readAppConfig,
16
16
  saveAppConfig,
17
17
  useARMClient,
18
- useResolvePlatformUrl,
19
18
  useSite,
20
- useUpdateDeploymentTopology,
21
- useUpdateManifest
22
- } from "./chunk-WOLJ45IG.js";
23
- import "./chunk-WUQ34TQE.js";
19
+ useUpdateDeploymentTopology
20
+ } from "./chunk-7CZ66YXW.js";
21
+ import "./chunk-EVV3LZAI.js";
24
22
  import "./chunk-SC2W3WT3.js";
25
23
  import {
26
24
  createPackageManager,
@@ -33,12 +31,11 @@ import "./chunk-W54PG6O5.js";
33
31
  import "./chunk-YLWTNITT.js";
34
32
  import {
35
33
  ComponentType,
36
- PlatformType,
37
34
  devMetadataSchema,
38
35
  looseComponentSchema,
39
36
  parseLooseAppManifest,
40
37
  useProjectModel
41
- } from "./chunk-DLDELYVB.js";
38
+ } from "./chunk-W34JWURA.js";
42
39
  import {
43
40
  useHttpClient
44
41
  } from "./chunk-EYV3FS5W.js";
@@ -231,6 +228,9 @@ var DevScreenBorder = ({ children }) => {
231
228
  );
232
229
  };
233
230
 
231
+ // ../cli-astro-commands/src/site/index.ts
232
+ init_esm_shims();
233
+
234
234
  // ../cli-astro-commands/src/components/DevCommand/SiteDev.tsx
235
235
  init_esm_shims();
236
236
  var import_react7 = __toESM(require_react(), 1);
@@ -580,7 +580,7 @@ var useDevCenterUpdater = ({
580
580
  const [devArmTag, setDevArmTag] = (0, import_react5.useState)();
581
581
  const [manifest, setManifest] = (0, import_react5.useState)(null);
582
582
  const writeToDebugLog = useDebugLog();
583
- const resolvePlatformUrl = useResolvePlatformUrl();
583
+ const { siteId } = useSite();
584
584
  const { distributeClientUpdate } = useMetasiteManagerClient();
585
585
  const manifestUpdateCheck = (0, import_react5.useCallback)(
586
586
  (latestManifest) => {
@@ -615,7 +615,6 @@ var useDevCenterUpdater = ({
615
615
  }
616
616
  } = useProjectModel();
617
617
  const logger = (0, import_react5.useMemo)(() => createAstroLogger(), []);
618
- const { updateManifest } = useUpdateManifest();
619
618
  const arm = useARMClient();
620
619
  const updateDeploymentTopology = useUpdateDeploymentTopology();
621
620
  const openTunnel = useTunnel();
@@ -648,18 +647,15 @@ var useDevCenterUpdater = ({
648
647
  const appConfig = await readAppConfig(projectFolder);
649
648
  let updatedDevArmTag = appConfig?.devArmTag;
650
649
  if (!updatedDevArmTag) {
651
- updatedDevArmTag = await arm.createLooseAppRelease(
652
- updateManifest(latestManifest, baseUrl, tunnelUrl.current),
653
- appId
654
- );
650
+ updatedDevArmTag = await arm.createLooseAppRelease(latestManifest, appId);
655
651
  } else {
656
652
  const updateState = await arm.updateLooseAppRelease(
657
- updateManifest(latestManifest, baseUrl, tunnelUrl.current),
653
+ latestManifest,
658
654
  updatedDevArmTag
659
655
  );
660
656
  if (!(0, import_variant.isType)(updateState, "TagUpdated")) {
661
657
  updatedDevArmTag = await arm.createLooseAppRelease(
662
- updateManifest(latestManifest, baseUrl, tunnelUrl.current),
658
+ latestManifest,
663
659
  appId
664
660
  );
665
661
  }
@@ -673,19 +669,22 @@ var useDevCenterUpdater = ({
673
669
  setManifest(latestManifest);
674
670
  setDevArmTag(updatedDevArmTag);
675
671
  await updateDeploymentTopology.execute({
676
- siteUrl: projectType === "Site" ? baseUrl : resolvePlatformUrl({
677
- platformType: PlatformType.Site(),
678
- armTag: updatedDevArmTag
672
+ siteUrl: projectType === "Site" ? baseUrl : createRedirectLink({
673
+ platform: "site",
674
+ appId,
675
+ tenantId: siteId,
676
+ withInstaller: false,
677
+ versionOverrideId: updatedDevArmTag
679
678
  }),
680
679
  armTag: updatedDevArmTag,
681
680
  environment: "development"
682
681
  });
683
682
  return manifestUpdateResult;
684
683
  }, [
684
+ siteId,
685
685
  manifestUpdateCheck,
686
686
  distributeClientUpdate,
687
687
  fetchAppManifest,
688
- updateManifest,
689
688
  serverLocalUrl,
690
689
  serverExposedUrl,
691
690
  arm,
@@ -694,8 +693,7 @@ var useDevCenterUpdater = ({
694
693
  updateDeploymentTopology,
695
694
  openTunnel,
696
695
  devMetadata,
697
- projectType,
698
- resolvePlatformUrl
696
+ projectType
699
697
  ]);
700
698
  const [timer, setTimer] = (0, import_react5.useState)(Date.now());
701
699
  (0, import_react5.useEffect)(() => {
@@ -765,7 +763,7 @@ var SiteDev = ({
765
763
  serverExposedUrl,
766
764
  devMetadata
767
765
  }) => {
768
- const { site } = useSite();
766
+ const { siteId } = useSite();
769
767
  const { tunnelRequired, devArmTag } = useDevCenterUpdater({
770
768
  serverLocalUrl,
771
769
  serverExposedUrl,
@@ -774,7 +772,7 @@ var SiteDev = ({
774
772
  return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement(Text, null, "Development environment ready"), /* @__PURE__ */ import_react7.default.createElement(Box_default, { rowGap: 1, marginY: 1, flexDirection: "column" }, /* @__PURE__ */ import_react7.default.createElement(TunnelingConsent, { required: tunnelRequired }, /* @__PURE__ */ import_react7.default.createElement(Text, null, "Open the preview on:"), /* @__PURE__ */ import_react7.default.createElement(Box_default, { paddingLeft: 2, flexDirection: "column" }, /* @__PURE__ */ import_react7.default.createElement(PlatformLink, { url: serverLocalUrl, label: "Site" }), devArmTag ? /* @__PURE__ */ import_react7.default.createElement(
775
773
  PlatformLink,
776
774
  {
777
- url: `https://manage.wix.com/dashboard/${site.id}?apps-override=${devArmTag}`,
775
+ url: `https://manage.wix.com/dashboard/${siteId}?apps-override=${devArmTag}`,
778
776
  label: "Dashboard"
779
777
  }
780
778
  ) : /* @__PURE__ */ import_react7.default.createElement(Spinner, { text: "Preparing your dashboard..." })))));
@@ -785,8 +783,8 @@ var SiteDevFlow = ({
785
783
  devMetadataStatus,
786
784
  serverExposedUrl
787
785
  }) => {
788
- const { site } = useSite();
789
- return /* @__PURE__ */ import_react8.default.createElement(SiteAuthProvider, { siteId: site.id }, (0, import_variant3.match)(devMetadataStatus, {
786
+ const { siteId } = useSite();
787
+ return /* @__PURE__ */ import_react8.default.createElement(SiteAuthProvider, { siteId }, (0, import_variant3.match)(devMetadataStatus, {
790
788
  NotRequested: () => /* @__PURE__ */ import_react8.default.createElement(Spinner, { text: "Starting dev environment..." }),
791
789
  Error: () => null,
792
790
  Loading: () => /* @__PURE__ */ import_react8.default.createElement(Spinner, { text: "Checking dev environment settings..." }),
@@ -849,7 +847,7 @@ var CloseScreen = ({ onClose }) => {
849
847
  var SiteSelectorScreen = ({ onScreenChange }) => {
850
848
  const { model } = useProjectModel();
851
849
  const biLogger = useBiLogger();
852
- const { site, setSite } = useSite();
850
+ const { siteId, setSite } = useSite();
853
851
  const { reportError } = useErrorReporter();
854
852
  const [error, setError] = (0, import_react10.useState)(null);
855
853
  const handleError = (0, import_react10.useCallback)(
@@ -860,9 +858,9 @@ var SiteSelectorScreen = ({ onScreenChange }) => {
860
858
  [reportError, setError]
861
859
  );
862
860
  const handleSubmit = (0, import_react10.useCallback)(
863
- async (site2) => {
861
+ async (site) => {
864
862
  try {
865
- await setSite(site2);
863
+ await setSite(site.id);
866
864
  onScreenChange(ScreenState.Home());
867
865
  } catch (e) {
868
866
  handleError(e);
@@ -870,7 +868,7 @@ var SiteSelectorScreen = ({ onScreenChange }) => {
870
868
  },
871
869
  [setSite, onScreenChange, handleError]
872
870
  );
873
- return /* @__PURE__ */ import_react10.default.createElement(Box_default, { flexDirection: "column", gap: 1 }, /* @__PURE__ */ import_react10.default.createElement(Box_default, { gap: 1 }, /* @__PURE__ */ import_react10.default.createElement(PointerIcon, null), /* @__PURE__ */ import_react10.default.createElement(Text, null, "Current Development Site: ", site.displayName)), /* @__PURE__ */ import_react10.default.createElement(Box_default, { flexDirection: "column" }, /* @__PURE__ */ import_react10.default.createElement(
871
+ return /* @__PURE__ */ import_react10.default.createElement(Box_default, { flexDirection: "column", gap: 1 }, /* @__PURE__ */ import_react10.default.createElement(Box_default, { gap: 1 }, /* @__PURE__ */ import_react10.default.createElement(PointerIcon, null), /* @__PURE__ */ import_react10.default.createElement(Text, null, "Current Development Site: ", siteId)), /* @__PURE__ */ import_react10.default.createElement(Box_default, { flexDirection: "column" }, /* @__PURE__ */ import_react10.default.createElement(
874
872
  SiteSelector,
875
873
  {
876
874
  appId: model.config.appId,
@@ -916,12 +914,30 @@ var HomeScreen = ({
916
914
  onScreenChange,
917
915
  devArmTag
918
916
  }) => {
919
- const { site } = useSite();
920
- return /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null, /* @__PURE__ */ import_react12.default.createElement(Box_default, { gap: 1 }, /* @__PURE__ */ import_react12.default.createElement(Text, null, "Current Dev Site:"), /* @__PURE__ */ import_react12.default.createElement(Text, { bold: true, skin: "info" }, site.displayName), process.stdin.isTTY && /* @__PURE__ */ import_react12.default.createElement(SwitchSite, { onScreenChange })), /* @__PURE__ */ import_react12.default.createElement(Box_default, { paddingTop: 1, paddingBottom: 1, flexDirection: "column" }, /* @__PURE__ */ import_react12.default.createElement(Text, null, "Open the preview on:"), /* @__PURE__ */ import_react12.default.createElement(Box_default, { paddingLeft: 2, flexDirection: "column" }, devArmTag ? /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null, /* @__PURE__ */ import_react12.default.createElement(LivesiteLinkForApp, { armTag: devArmTag }), /* @__PURE__ */ import_react12.default.createElement(EditorLink, { armTag: devArmTag }), /* @__PURE__ */ import_react12.default.createElement(
921
- PlatformLink,
917
+ const { siteId } = useSite();
918
+ return /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null, /* @__PURE__ */ import_react12.default.createElement(Box_default, { gap: 1 }, /* @__PURE__ */ import_react12.default.createElement(Text, null, "Current Dev Site:"), /* @__PURE__ */ import_react12.default.createElement(Text, { bold: true, skin: "info" }, siteId), process.stdin.isTTY && /* @__PURE__ */ import_react12.default.createElement(SwitchSite, { onScreenChange })), /* @__PURE__ */ import_react12.default.createElement(Box_default, { paddingTop: 1, paddingBottom: 1, flexDirection: "column" }, /* @__PURE__ */ import_react12.default.createElement(Text, null, "Open the preview on:"), /* @__PURE__ */ import_react12.default.createElement(Box_default, { paddingLeft: 2, flexDirection: "column" }, devArmTag ? /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null, /* @__PURE__ */ import_react12.default.createElement(
919
+ RedirectLink,
922
920
  {
923
- url: `https://manage.wix.com/dashboard/${site.id}?apps-override=${devArmTag}`,
924
- label: "Dashboard"
921
+ platform: "site",
922
+ armTag: devArmTag,
923
+ tenantId: siteId,
924
+ withInstaller: false
925
+ }
926
+ ), /* @__PURE__ */ import_react12.default.createElement(
927
+ RedirectLink,
928
+ {
929
+ platform: "editor",
930
+ armTag: devArmTag,
931
+ tenantId: siteId,
932
+ withInstaller: false
933
+ }
934
+ ), /* @__PURE__ */ import_react12.default.createElement(
935
+ RedirectLink,
936
+ {
937
+ platform: "dashboard",
938
+ armTag: devArmTag,
939
+ tenantId: siteId,
940
+ withInstaller: false
925
941
  }
926
942
  )) : /* @__PURE__ */ import_react12.default.createElement(Spinner, { text: "Preparing your dashboard..." }))));
927
943
  };
@@ -1034,4 +1050,4 @@ var DevCommand = ({
1034
1050
  export {
1035
1051
  DevCommand
1036
1052
  };
1037
- //# sourceMappingURL=DevCommand-QSEX33CH.js.map
1053
+ //# sourceMappingURL=DevCommand-FM4GUL35.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../cli-astro-commands/src/components/DevCommand/index.ts","../../cli-astro-commands/src/components/DevCommand/DevCommand.tsx","../../cli-astro-commands/src/components/DevCommand/utils/runAstroDev.ts","../../cli-astro-commands/src/components/DevCommand/utils/createAstroLogger.tsx","../../cli-astro-commands/src/components/DevCommand/hooks/useFetchDevMetadata.ts","../../cli-astro-commands/src/components/DevCommand/SiteDevFlow.tsx","../../cli-astro-commands/src/components/DevCommand/DevScreenBorder.tsx","../../cli-astro-commands/src/site/index.ts","../../cli-astro-commands/src/components/DevCommand/SiteDev.tsx","../../cli-astro-commands/src/components/DevCommand/hooks/useDevCenterUpdater.ts","../../metasite-manager-client/src/index.ts","../../metasite-manager-client/src/useMetasiteManagerClient.ts","../../metasite-manager-client/src/metasite-manager-client.ts","../../../node_modules/@wix/ambassador-metasite-api-v1-meta-site/http.impl.ts","../../../node_modules/@wix/ambassador-document-management-document-store-v1-transaction/http.impl.ts","../../metasite-manager-client/src/schemas.ts","../../cli-astro-commands/src/components/DevCommand/hooks/useFetchAppManifest.ts","../../cli-astro-commands/src/components/DevCommand/utils/isTunnelRequired.ts","../../cli-astro-commands/src/components/DevCommand/TunnelingConsent.tsx","../../cli-astro-commands/src/components/DevCommand/AppDevFlow.tsx","../../cli-astro-commands/src/components/DevCommand/app-flow/AppDev.tsx","../../cli-astro-commands/src/components/DevCommand/app-flow/screen-state.ts","../../cli-astro-commands/src/components/DevCommand/app-flow/SiteSelectorScreen.tsx","../../cli-astro-commands/src/components/CloseScreen/index.tsx","../../cli-astro-commands/src/components/CloseScreen/CloseScreen.tsx","../../cli-astro-commands/src/components/DevCommand/app-flow/HomeScreen.tsx","../../cli-astro-commands/src/components/DevCommand/app-flow/SwitchSite.tsx"],"sourcesContent":["export { DevCommand } from './DevCommand.js';\n","import React, { useEffect, useMemo, useRef } from 'react';\nimport type { FC } from 'react';\nimport { useAsync, useExit } from '@wix/cli-ui-kit';\nimport { createPackageManager, getRepoType } from '@wix/package-manager';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { useProjectModel } from '../../model.js';\nimport {\n runAstroDev,\n EVENT_LINE,\n EVENT_SERVER_ADDRESS,\n} from './utils/runAstroDev.js';\nimport { createAstroLogger } from './utils/createAstroLogger.js';\nimport { useFetchDevMetadata } from './hooks/useFetchDevMetadata.js';\nimport { SiteDevFlow } from './SiteDevFlow.js';\nimport { AppDevFlow } from './AppDevFlow.js';\nimport { SiteProvider } from '../../site/index.js';\n\ninterface DevCommandProps {\n port?: number;\n allowedHosts?: string;\n serverExposedUrl?: string;\n}\n\nexport const DevCommand: FC<DevCommandProps> = ({\n port,\n allowedHosts,\n serverExposedUrl,\n}) => {\n const {\n model: { config, projectFolder },\n } = useProjectModel();\n\n const exit = useExit();\n const logger = useMemo(() => createAstroLogger(false), []);\n\n const astroProcess = useRef<ReturnType<typeof runAstroDev>>();\n\n const fetchDevMetadataAction = useFetchDevMetadata();\n\n useAsync(async () => {\n const repoType = await getRepoType(projectFolder);\n const packageManager = await createPackageManager(repoType);\n\n const astro = runAstroDev({\n packageManager,\n projectFolder,\n port,\n allowedHosts,\n });\n\n astroProcess.current = astro;\n\n astro.stdout?.once(EVENT_SERVER_ADDRESS, (address: string) => {\n void fetchDevMetadataAction.execute(address);\n });\n\n astro.stdout?.on(EVENT_LINE, (line: string) => logger.log(line));\n astro.stderr?.on(EVENT_LINE, (line: string) => logger.log(line));\n\n void astro.on('exit', () => {\n // If a child process is killed externally and you don’t wire Execa correctly,\n // stdio + signal handling can leave active handles open, preventing Node from exiting.\n astroProcess.current?.stdout?.destroy();\n astroProcess.current?.stderr?.destroy();\n astroProcess.current?.stdin?.end();\n astroProcess.current = undefined;\n\n exit(\n new CliError({\n cause: undefined,\n code: CliErrorCode.DevCommandFailed(),\n })\n );\n });\n }, []);\n\n useEffect(() => {\n return () => {\n if (astroProcess.current?.pid) {\n try {\n astroProcess.current.kill('SIGTERM');\n } catch {\n // Sometimes child process might exit or be killed from outside.\n // We don't want to report an error in case we fail to kill the child process.\n }\n }\n };\n }, []);\n\n return (\n <SiteProvider>\n {config.projectType === 'Site' ? (\n <SiteDevFlow\n devMetadataStatus={fetchDevMetadataAction.status}\n serverExposedUrl={serverExposedUrl}\n />\n ) : (\n <AppDevFlow\n devMetadataStatus={fetchDevMetadataAction.status}\n serverExposedUrl={serverExposedUrl}\n />\n )}\n </SiteProvider>\n );\n};\n","import { execa } from 'execa';\nimport type { IPackageManager } from '@wix/package-manager';\nimport stripAnsi from 'strip-ansi';\n\nexport const EVENT_LINE = 'line';\nexport const EVENT_SERVER_ADDRESS = 'server_address';\n\nexport function runAstroDev({\n packageManager,\n projectFolder,\n port,\n allowedHosts,\n}: {\n packageManager: IPackageManager;\n projectFolder: string;\n port?: number;\n allowedHosts?: string;\n}) {\n const binaryArgs = ['astro', 'dev'];\n\n if (port) {\n binaryArgs.push('--port', `${port}`);\n }\n\n if (allowedHosts) {\n binaryArgs.push('--allowed-hosts', allowedHosts);\n }\n\n const { file, args } = packageManager.getRunBinaryCmd(binaryArgs);\n\n const result = execa(file, args, {\n cwd: projectFolder,\n stdio: 'pipe',\n env: { FORCE_COLOR: '1' },\n cleanup: true,\n windowsHide: false,\n });\n\n let stdoutBuffer = '';\n\n result.stdout?.on('data', (chunk) => {\n stdoutBuffer += chunk.toString();\n const lines = stdoutBuffer.split('\\n');\n\n stdoutBuffer = lines.pop() ?? '';\n for (const line of lines) {\n result.stdout?.emit(EVENT_LINE, line);\n if (line.includes('http://')) {\n const match = /(http:\\/\\/[^\\s]+)/.exec(line);\n if (match?.[1]) {\n const address = stripAnsi(match[1]).trim();\n result.stdout?.emit(EVENT_SERVER_ADDRESS, address);\n }\n }\n }\n });\n\n let stdErrBuffer = '';\n\n result.stderr?.on('data', (chunk) => {\n stdErrBuffer += chunk.toString();\n const lines = stdErrBuffer.split('\\n');\n\n stdErrBuffer = lines.pop() ?? '';\n for (const line of lines) {\n result.stderr?.emit(EVENT_LINE, line);\n }\n });\n\n return result;\n}\n","import React from 'react';\nimport type { ReactElement } from 'react';\nimport { createRendererToString, Text } from '@wix/cli-ui-kit';\n\ninterface Logger {\n log: (msg: string | ReactElement) => void;\n}\n\nconst dateTimeFormat = new Intl.DateTimeFormat([], {\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hour12: false,\n});\n\nexport function createAstroLogger(isPrefixed = true): Logger {\n const renderer = createRendererToString({ stripAnsi: false });\n const log = (msg: string | ReactElement) => {\n if (typeof msg === 'string') {\n // eslint-disable-next-line no-console\n setTimeout(() => console.log(msg), 0);\n } else {\n // eslint-disable-next-line no-console\n setTimeout(() => console.log(renderer.render(msg)), 0);\n }\n };\n\n const prefixedLog = (msg: string | ReactElement) => {\n const timestamp = dateTimeFormat.format(new Date());\n const log = (\n <Text>\n <Text>{timestamp} </Text>\n <Text skin=\"info\">[wix] </Text>\n <Text>{msg}</Text>\n </Text>\n );\n\n // eslint-disable-next-line no-console\n console.log(renderer.render(log));\n };\n\n return isPrefixed ? { log: prefixedLog } : { log };\n}\n","import { useHttpClient } from '@wix/cli-http-client-react';\nimport { devMetadataSchema } from '@wix/cli-astro-definitions';\nimport { useAsyncCallback } from '@wix/cli-ui-kit';\n\nexport function useFetchDevMetadata() {\n const http = useHttpClient({ type: 'standalone' });\n\n return useAsyncCallback(async (_, serverLocalUrl: string) => {\n const url = new URL('/_wix/dev-metadata.json', serverLocalUrl);\n try {\n const { data } = await http.get(url.toString());\n return {\n devMetadata: devMetadataSchema.parse(data),\n serverLocalUrl,\n };\n } catch {\n return {\n devMetadata: null,\n serverLocalUrl,\n };\n }\n });\n}\n","import React from 'react';\nimport type { FC } from 'react';\nimport type { AsyncCallbackStatus } from '@wix/cli-ui-kit';\nimport { Spinner } from '@wix/cli-ui-kit';\nimport type { DevMetadata } from '@wix/cli-astro-definitions';\nimport { SiteAuthProvider } from '@wix/cli-auth';\nimport { match } from 'variant';\nimport { DevScreenBorder } from './DevScreenBorder.js';\nimport { useSite } from '../../site/index.js';\nimport { SiteDev } from './SiteDev.js';\n\ninterface SiteDevScreenProps {\n devMetadataStatus: AsyncCallbackStatus<{\n devMetadata: DevMetadata | null;\n serverLocalUrl: string;\n }>;\n serverExposedUrl?: string;\n}\n\nexport const SiteDevFlow: FC<SiteDevScreenProps> = ({\n devMetadataStatus,\n serverExposedUrl,\n}) => {\n const { siteId } = useSite();\n return (\n <SiteAuthProvider siteId={siteId}>\n {match(devMetadataStatus, {\n NotRequested: () => <Spinner text=\"Starting dev environment...\" />,\n Error: () => null,\n Loading: () => <Spinner text=\"Checking dev environment settings...\" />,\n Success: ({ result: { devMetadata, serverLocalUrl } }) => (\n <DevScreenBorder>\n <SiteDev\n devMetadata={devMetadata}\n serverLocalUrl={serverLocalUrl}\n serverExposedUrl={serverExposedUrl}\n />\n </DevScreenBorder>\n ),\n })}\n </SiteAuthProvider>\n );\n};\n","import React from 'react';\nimport { Box } from '@wix/cli-ui-kit';\nimport type { FC, ReactNode } from 'react';\n\nexport const DevScreenBorder: FC<{ children: ReactNode }> = ({ children }) => {\n return (\n <Box\n flexDirection=\"column\"\n borderTop\n borderLeft={false}\n borderBottom={false}\n borderRight={false}\n borderStyle=\"round\"\n borderColor=\"blueBright\"\n width=\"95%\"\n >\n {children}\n </Box>\n );\n};\n","export { SiteProvider } from './SiteProvider.js';\nexport { useSite } from './useSite.js';\n","import React from 'react';\nimport type { FC } from 'react';\nimport type { DevMetadata } from '@wix/cli-astro-definitions';\nimport { Box, Spinner, Text } from '@wix/cli-ui-kit';\nimport { useSite } from '../../site/useSite.js';\nimport { PlatformLink } from '../PlatformLink/PlatformLink.js';\nimport { useDevCenterUpdater } from './hooks/useDevCenterUpdater.js';\nimport { TunnelingConsent } from './TunnelingConsent.js';\n\ninterface SiteDevProps {\n serverLocalUrl: string;\n serverExposedUrl?: string;\n devMetadata: DevMetadata | null;\n}\n\nexport const SiteDev: FC<SiteDevProps> = ({\n serverLocalUrl,\n serverExposedUrl,\n devMetadata,\n}) => {\n const { siteId } = useSite();\n const { tunnelRequired, devArmTag } = useDevCenterUpdater({\n serverLocalUrl,\n serverExposedUrl,\n devMetadata,\n });\n\n return (\n <>\n <Text>Development environment ready</Text>\n <Box rowGap={1} marginY={1} flexDirection=\"column\">\n <TunnelingConsent required={tunnelRequired}>\n <Text>Open the preview on:</Text>\n <Box paddingLeft={2} flexDirection=\"column\">\n <PlatformLink url={serverLocalUrl} label={'Site'} />\n {devArmTag ? (\n <PlatformLink\n url={`https://manage.wix.com/dashboard/${siteId}?apps-override=${devArmTag}`}\n label={'Dashboard'}\n />\n ) : (\n <Spinner text={'Preparing your dashboard...'} />\n )}\n </Box>\n </TunnelingConsent>\n </Box>\n </>\n );\n};\n","import { isDeepStrictEqual } from 'node:util';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { fields, isType, variant } from 'variant';\nimport type { LooseAppManifest } from '@wix/cli-app-manifest';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { useARMClient } from '@wix/arm-client';\nimport { useTunnel } from '@wix/cli-tunnel';\nimport { readUserConfig } from '@wix/cli-user-config';\nimport type { DevMetadata } from '@wix/cli-astro-definitions';\nimport { useMetasiteManagerClient } from '@wix/metasite-manager-client';\nimport { ComponentType } from '@wix/dev-center-client';\nimport { readAppConfig, saveAppConfig } from '../../../files/app.config.js';\nimport { useProjectModel } from '../../../model.js';\nimport { createAstroLogger } from '../utils/createAstroLogger.js';\nimport { useFetchAppManifest } from './useFetchAppManifest.js';\nimport { useUpdateDeploymentTopology } from '../../../hooks/useUpdateDeploymentTopology.js';\nimport { useSite } from '../../../site/useSite.js';\nimport { createRedirectLink } from '../../PlatformLink/RedirectLink.js';\n\nconst ManifestUpdateResult = variant({\n Changed: fields<{ shouldDistributeClientUpdate: boolean }>(),\n Unchanged: {},\n});\n\nexport const useDevCenterUpdater = ({\n serverLocalUrl,\n serverExposedUrl,\n devMetadata,\n}: {\n serverLocalUrl: string;\n serverExposedUrl?: string;\n devMetadata: DevMetadata | null;\n}) => {\n const [devArmTag, setDevArmTag] = useState<string | undefined>();\n const [manifest, setManifest] = useState<LooseAppManifest | null>(null);\n const writeToDebugLog = useDebugLog();\n const { siteId } = useSite();\n const { distributeClientUpdate } = useMetasiteManagerClient();\n\n const manifestUpdateCheck = useCallback(\n (latestManifest: LooseAppManifest) => {\n if (manifest == null) {\n return ManifestUpdateResult.Changed({\n shouldDistributeClientUpdate: false,\n });\n }\n\n const oldComponentsMap = new Map(\n manifest.components.map((comp) => [comp.compId, comp])\n );\n\n const changedComponents = latestManifest.components.filter((newComp) => {\n const oldComp = oldComponentsMap.get(newComp.compId);\n return !isDeepStrictEqual(newComp, oldComp);\n });\n\n if (changedComponents.length === 0) {\n return ManifestUpdateResult.Unchanged();\n }\n\n const editorComponentsChanged = changedComponents.filter(\n (comp) =>\n comp.compType === ComponentType.PANEL ||\n comp.compType === ComponentType.EDITOR_REACT_COMPONENT\n );\n\n return ManifestUpdateResult.Changed({\n shouldDistributeClientUpdate: editorComponentsChanged.length > 0,\n });\n },\n [manifest]\n );\n\n const {\n model: {\n config: { appId, projectType },\n projectFolder,\n },\n } = useProjectModel();\n\n const logger = useMemo(() => createAstroLogger(), []);\n const arm = useARMClient();\n const updateDeploymentTopology = useUpdateDeploymentTopology();\n\n const openTunnel = useTunnel();\n const tunnelUrl = useRef<string>();\n const [tunnelRequired, setTunnelRequired] = useState(false);\n\n const fetchAppManifest = useFetchAppManifest();\n\n const updateDevCenter = useCallback(async () => {\n const baseUrl = serverExposedUrl ?? serverLocalUrl;\n\n const { manifest: latestManifest, isTunnelRequired } =\n await fetchAppManifest(\n serverLocalUrl,\n devMetadata,\n baseUrl,\n tunnelUrl.current ?? baseUrl\n );\n\n const manifestUpdateResult = manifestUpdateCheck(latestManifest);\n\n if (isType(manifestUpdateResult, 'Unchanged')) {\n return manifestUpdateResult;\n }\n\n if (!serverExposedUrl && !tunnelUrl.current && isTunnelRequired) {\n const config = await readUserConfig();\n if (!config.tunneling) {\n setTunnelRequired(true);\n return ManifestUpdateResult.Unchanged();\n }\n\n const serverLocalPort = parseInt(new URL(serverLocalUrl).port, 10);\n const tunnel = await openTunnel(serverLocalPort);\n tunnelUrl.current = tunnel.url;\n\n return ManifestUpdateResult.Unchanged();\n }\n\n const appConfig = await readAppConfig(projectFolder);\n\n let updatedDevArmTag = appConfig?.devArmTag;\n if (!updatedDevArmTag) {\n updatedDevArmTag = await arm.createLooseAppRelease(latestManifest, appId);\n } else {\n const updateState = await arm.updateLooseAppRelease(\n latestManifest,\n updatedDevArmTag\n );\n if (!isType(updateState, 'TagUpdated')) {\n updatedDevArmTag = await arm.createLooseAppRelease(\n latestManifest,\n appId\n );\n }\n }\n\n if (updatedDevArmTag !== appConfig?.devArmTag) {\n await saveAppConfig(projectFolder, { devArmTag: updatedDevArmTag });\n }\n\n if (\n isType(manifestUpdateResult, 'Changed') &&\n manifestUpdateResult.shouldDistributeClientUpdate\n ) {\n await distributeClientUpdate(appId);\n }\n\n setManifest(latestManifest);\n setDevArmTag(updatedDevArmTag);\n\n await updateDeploymentTopology.execute({\n siteUrl:\n projectType === 'Site'\n ? baseUrl\n : createRedirectLink({\n platform: 'site',\n appId,\n tenantId: siteId,\n withInstaller: false,\n versionOverrideId: updatedDevArmTag,\n }),\n armTag: updatedDevArmTag,\n environment: 'development',\n });\n\n return manifestUpdateResult;\n }, [\n siteId,\n manifestUpdateCheck,\n distributeClientUpdate,\n fetchAppManifest,\n serverLocalUrl,\n serverExposedUrl,\n arm,\n projectFolder,\n appId,\n updateDeploymentTopology,\n openTunnel,\n devMetadata,\n projectType,\n ]);\n\n const [timer, setTimer] = useState(Date.now());\n\n useEffect(() => {\n let disposed = false;\n\n void updateDevCenter()\n .then((result) => {\n if (isType(result, 'Changed')) {\n logger.log(\n 'App Manifest updated. Refresh existing browser tabs to view the latest changes.'\n );\n }\n })\n .catch((error: unknown) => {\n // TODO: need product decision on how to format/color the output\n logger.log('Failed to update App Manifest');\n logger.log(`${error}`);\n\n writeToDebugLog(error);\n })\n .then(() => {\n if (!disposed) {\n setTimeout(() => setTimer(Date.now()), 1_000);\n }\n });\n return () => {\n disposed = true;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [timer]);\n\n return { tunnelRequired, devArmTag };\n};\n","export { useMetasiteManagerClient } from './useMetasiteManagerClient.js';\nexport { MetasiteManagerClient } from './metasite-manager-client.js';\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { usePanoramaMethodLogger } from '@wix/cli-panorama';\nimport { MetasiteManagerClient } from './metasite-manager-client.js';\n\nexport function useMetasiteManagerClient(): MetasiteManagerClient {\n const httpClient = useHttpClient({ type: 'general' });\n const client = useMemo(\n () => new MetasiteManagerClient(httpClient),\n [httpClient]\n );\n\n return usePanoramaMethodLogger(client);\n}\n","import { createMetaSiteFromTemplate } from '@wix/ambassador-metasite-api-v1-meta-site/http';\nimport type { CreateMetaSiteFromTemplateRequest } from '@wix/ambassador-metasite-api-v1-meta-site/types';\nimport { distribute } from '@wix/ambassador-document-management-document-store-v1-transaction/http';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport {\n clientSpecMapSchema,\n createMetaSiteFromTemplateSchema,\n} from './schemas.js';\n\nexport class MetasiteManagerClient {\n constructor(private readonly httpClient: HttpClient) {}\n\n private getClientSpecMap = async (metaSiteId: string) => {\n try {\n const { data } = await this.httpClient.request({\n url: `/_api/msm/v1/meta-site/editor-client-spec-map/${metaSiteId}`,\n });\n\n return clientSpecMapSchema.parse(data);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetClientSpecMap(),\n cause: e,\n });\n }\n };\n\n public createMetaSiteFromTemplate = async (\n request: CreateMetaSiteFromTemplateRequest\n ) => {\n try {\n const { data } = await this.httpClient.request(\n createMetaSiteFromTemplate(request)\n );\n return createMetaSiteFromTemplateSchema.parse(data).metaSite;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCreateMetaSiteFromTemplate(),\n cause: e,\n });\n }\n };\n\n public getSiteInstalledApps = async (metaSiteId: string) => {\n try {\n const clientSpecMap = await this.getClientSpecMap(metaSiteId);\n\n return Object.values(clientSpecMap)\n .filter((spec) => spec.appDefinitionId && !spec.permissions?.revoked)\n .map((spec) => spec.appDefinitionId!);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSiteInstalledApps(),\n cause: e,\n });\n }\n };\n\n public getInstalledAppInstanceId = async ({\n metaSiteId,\n appId,\n }: {\n metaSiteId: string;\n appId: string;\n }) => {\n try {\n const clientSpecMap = await this.getClientSpecMap(metaSiteId);\n const installedApp = Object.values(clientSpecMap).find(\n (spec) => spec.appDefinitionId === appId\n );\n\n return installedApp?.instanceId ?? '';\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSiteInstalledAppInstanceId(),\n cause: e,\n });\n }\n };\n\n public distributeClientUpdate = async (appId: string) => {\n try {\n await this.httpClient.request(\n distribute({\n payloads: [\n {\n id: appId,\n messageType: 'MANIFEST_UPDATE',\n data: {\n appId,\n },\n },\n ],\n branchId: '00000000-0000-0000-0000-000000000000',\n })\n );\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToDistributeClientManifestUpdate(),\n cause: e,\n });\n }\n };\n}\n",null,null,"import { z } from 'zod';\n\nexport const clientSpecMapSchema = z.record(\n z.object({\n appDefinitionId: z.string().optional(),\n permissions: z.object({ revoked: z.boolean() }).optional(),\n instanceId: z.string().optional(),\n })\n);\n\nexport const createMetaSiteFromTemplateSchema = z.object({\n metaSite: z.object({\n metaSiteId: z.string(),\n }),\n});\n","import { useCallback } from 'react';\nimport { parseLooseAppManifest } from '@wix/cli-app-manifest';\nimport type { DevMetadata } from '@wix/cli-astro-definitions';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { isTunnelRequired } from '../utils/isTunnelRequired.js';\n\nexport function useFetchAppManifest() {\n const http = useHttpClient({ type: 'standalone' });\n\n return useCallback(\n async (\n serverLocalUrl: string,\n devMetadata: DevMetadata | null,\n baseUrl: string,\n tunnelUrl: string\n ) => {\n const url = new URL('/_wix/app-manifest.json', serverLocalUrl);\n const { data: text } = await http.get<string>(url.toString(), {\n responseType: 'text',\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: false,\n clarifyTimeoutError: false,\n },\n disableWixHeaders: true,\n });\n\n if (devMetadata != null) {\n const placeholders = new Map<string, string>();\n\n placeholders.set(devMetadata.staticsUrlPlaceholder, baseUrl);\n placeholders.set(devMetadata.serverUrlPlaceholder, tunnelUrl);\n\n return {\n manifest: parseLooseAppManifest(text, placeholders),\n isTunnelRequired: text.includes(devMetadata.serverUrlPlaceholder),\n };\n }\n\n const manifestV1 = parseLooseAppManifest(text);\n\n return {\n manifest: manifestV1,\n isTunnelRequired: isTunnelRequired(manifestV1),\n };\n },\n [http]\n );\n}\n","import { looseComponentSchema } from '@wix/cli-app-manifest';\nimport type {\n LooseAppManifest,\n LooseBaseComponent,\n} from '@wix/cli-app-manifest';\nimport { ComponentType } from '@wix/ambassador-devcenter-apps-v1-app-old/types';\n\nexport function isTunnelRequired(appManifest: LooseAppManifest) {\n for (const extension of appManifest.components) {\n const knownAppManifest = parseKnownExtensionManifest(extension);\n\n if (\n knownAppManifest != null &&\n knownAppManifest.compType === ComponentType.WEBHOOK\n ) {\n // User can specify his own callback URL.\n // In such cases tunnel is not required even if webhook exists.\n // CLI always creates a relative URL which is not parsable.\n return !URL.canParse(knownAppManifest.compData.webhook.callbackUrl);\n }\n }\n\n return false;\n}\n\nfunction parseKnownExtensionManifest(extensionManifest: LooseBaseComponent) {\n const appManifestResult = looseComponentSchema.safeParse(extensionManifest);\n\n if (appManifestResult.error) {\n return null;\n }\n\n return appManifestResult.data;\n}\n","import React, { useState } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport { match } from 'variant';\nimport { ConfirmInput, Text, useAsync, useExit } from '@wix/cli-ui-kit';\nimport { readUserConfig, updateUserConfig } from '@wix/cli-user-config';\n\ninterface Props {\n children: ReactNode;\n required: boolean;\n}\n\nexport const TunnelingConsent: FC<Props> = ({ required, children }) => {\n const exit = useExit();\n const [approved, setApproved] = useState<boolean>();\n\n const { status } = useAsync(async () => {\n const config = await readUserConfig();\n\n if (config.tunneling) {\n setApproved(true);\n }\n\n return config;\n }, []);\n\n if (!required || approved) {\n return children;\n }\n\n return (\n <>\n {match(status, {\n Success: () => (\n <ConfirmInput\n label={\n \"To proceed, we'll set up a secure tunnel from your machine for development purposes\"\n }\n initialValue={true}\n onSubmit={async (approved) => {\n setApproved(approved);\n await updateUserConfig({ tunneling: approved });\n if (!approved) {\n exit();\n }\n }}\n />\n ),\n Error: () => null,\n Loading: () => null,\n })}\n {approved === false && (\n <Text skin=\"error\">\n Operation aborted. Tunneling is necessary to run your application.\n </Text>\n )}\n </>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport type { AsyncCallbackStatus } from '@wix/cli-ui-kit';\nimport type { DevMetadata } from '@wix/cli-astro-definitions';\nimport { Spinner } from '@wix/cli-ui-kit';\nimport { AppDev } from './app-flow/AppDev.js';\nimport { DevScreenBorder } from './DevScreenBorder.js';\n\ninterface AppDevScreenProps {\n devMetadataStatus: AsyncCallbackStatus<{\n devMetadata: DevMetadata | null;\n serverLocalUrl: string;\n }>;\n serverExposedUrl?: string;\n}\n\nexport const AppDevFlow: FC<AppDevScreenProps> = ({\n devMetadataStatus,\n serverExposedUrl,\n}) => {\n return match(devMetadataStatus, {\n NotRequested: () => <Spinner text=\"Starting dev environment...\" />,\n Error: () => null,\n Loading: () => <Spinner text=\"Checking dev environment settings...\" />,\n Success: ({ result: { devMetadata, serverLocalUrl } }) => {\n return (\n <DevScreenBorder>\n <AppDev\n serverLocalUrl={serverLocalUrl}\n serverExposedUrl={serverExposedUrl}\n devMetadata={devMetadata}\n />\n </DevScreenBorder>\n );\n },\n });\n};\n","import type { DevMetadata } from '@wix/cli-astro-definitions';\nimport type { FC } from 'react';\nimport React, { useState } from 'react';\nimport { match } from 'variant';\nimport { ScreenState } from './screen-state.js';\nimport { TunnelingConsent } from '../TunnelingConsent.js';\nimport { SiteSelectorScreen } from './SiteSelectorScreen.js';\nimport { HomeScreen } from './HomeScreen.js';\nimport { useDevCenterUpdater } from '../hooks/useDevCenterUpdater.js';\n\ninterface AppDev {\n serverLocalUrl: string;\n serverExposedUrl?: string;\n devMetadata: DevMetadata | null;\n}\n\nexport const AppDev: FC<AppDev> = ({\n serverLocalUrl,\n serverExposedUrl,\n devMetadata,\n}) => {\n const [screen, setScreen] = useState<ScreenState>(ScreenState.Home());\n\n const { tunnelRequired, devArmTag } = useDevCenterUpdater({\n serverLocalUrl,\n serverExposedUrl,\n devMetadata,\n });\n\n return (\n <TunnelingConsent required={tunnelRequired}>\n {match(screen, {\n Home: () => (\n <HomeScreen onScreenChange={setScreen} devArmTag={devArmTag} />\n ),\n SiteSelector: () => <SiteSelectorScreen onScreenChange={setScreen} />,\n })}\n </TunnelingConsent>\n );\n};\n","import { variant } from 'variant';\nimport type { VariantOf } from 'variant';\n\nexport const ScreenState = variant({\n Home: {},\n SiteSelector: {},\n});\n\nexport type ScreenState = VariantOf<typeof ScreenState>;\n","import React, { useState, useCallback } from 'react';\nimport type { FC } from 'react';\nimport { Alert, Box, PointerIcon, Text } from '@wix/cli-ui-kit';\nimport { ErrorViewer, useErrorReporter } from '@wix/cli-error-reporting';\nimport type { Site } from '@wix/site-list-client';\nimport { SiteSelector } from '@wix/cli-site-selector';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport { useProjectModel } from '../../../model.js';\nimport { useSite } from '../../../site/index.js';\nimport { CloseScreen } from '../../CloseScreen/index.js';\nimport { ScreenState } from './screen-state.js';\n\ninterface Props {\n onScreenChange: (screen: ScreenState) => void;\n}\n\nexport const SiteSelectorScreen: FC<Props> = ({ onScreenChange }) => {\n const { model } = useProjectModel();\n const biLogger = useBiLogger();\n const { siteId, setSite } = useSite();\n const { reportError } = useErrorReporter();\n const [error, setError] = useState<unknown>(null);\n\n const handleError = useCallback(\n (error: unknown) => {\n reportError(error);\n setError(error);\n },\n [reportError, setError]\n );\n\n const handleSubmit = useCallback(\n async (site: Site) => {\n try {\n await setSite(site.id);\n onScreenChange(ScreenState.Home());\n } catch (e) {\n handleError(e);\n }\n },\n [setSite, onScreenChange, handleError]\n );\n\n return (\n <Box flexDirection=\"column\" gap={1}>\n <Box gap={1}>\n <PointerIcon />\n <Text>Current Development Site: {siteId}</Text>\n </Box>\n <Box flexDirection=\"column\">\n <SiteSelector\n appId={model.config.appId}\n biLogger={biLogger}\n onSubmit={handleSubmit}\n onError={handleError}\n />\n {error ? (\n <ErrorViewer\n error={error}\n systemErrorOverride={\n <Alert type=\"error\">Failed to change Development Site!</Alert>\n }\n />\n ) : null}\n </Box>\n <CloseScreen onClose={() => onScreenChange(ScreenState.Home())} />\n </Box>\n );\n};\n","export { CloseScreen } from './CloseScreen.js';\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Key, Text, useInput } from '@wix/cli-ui-kit';\nimport { useWixCliAppBi } from '../../bi-app/index.js';\n\ninterface Props {\n onClose: () => void;\n}\n\nexport const CloseScreen: FC<Props> = ({ onClose }) => {\n const bi = useWixCliAppBi();\n\n useInput((_, key) => {\n if (key.escape) {\n bi.cliAction({\n question: 'Press to close',\n questionKey: 'general.close_screen',\n action: 'close',\n key: 'esc',\n });\n onClose();\n }\n });\n\n return (\n <Text skin=\"secondary\">\n Press\n <Key value=\"esc\" skin=\"secondary\" />\n to close\n </Text>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport process from 'node:process';\nimport { Box, Text, Spinner } from '@wix/cli-ui-kit';\nimport { useSite } from '../../../site/index.js';\nimport type { ScreenState } from './screen-state.js';\nimport { SwitchSite } from './SwitchSite.js';\nimport { RedirectLink } from '../../PlatformLink/RedirectLink.js';\n\ninterface HomeScreenProps {\n onScreenChange: (screen: ScreenState) => void;\n devArmTag?: string;\n}\n\nexport const HomeScreen: FC<HomeScreenProps> = ({\n onScreenChange,\n devArmTag,\n}) => {\n const { siteId } = useSite();\n\n return (\n <>\n <Box gap={1}>\n <Text>Current Dev Site:</Text>\n <Text bold skin=\"info\">\n {siteId}\n </Text>\n {process.stdin.isTTY && <SwitchSite onScreenChange={onScreenChange} />}\n </Box>\n\n <Box paddingTop={1} paddingBottom={1} flexDirection=\"column\">\n <Text>Open the preview on:</Text>\n <Box paddingLeft={2} flexDirection=\"column\">\n {devArmTag ? (\n <>\n <RedirectLink\n platform=\"site\"\n armTag={devArmTag}\n tenantId={siteId}\n withInstaller={false}\n />\n <RedirectLink\n platform=\"editor\"\n armTag={devArmTag}\n tenantId={siteId}\n withInstaller={false}\n />\n <RedirectLink\n platform=\"dashboard\"\n armTag={devArmTag}\n tenantId={siteId}\n withInstaller={false}\n />\n </>\n ) : (\n <Spinner text=\"Preparing your dashboard...\" />\n )}\n </Box>\n </Box>\n </>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Text, useInput, Key } from '@wix/cli-ui-kit';\nimport { ScreenState } from './screen-state.js';\nimport { useWixCliAppBi } from '../../../bi-app/index.js';\n\nexport const SwitchSite: FC<{\n onScreenChange: (screen: ScreenState) => void;\n}> = ({ onScreenChange }) => {\n const bi = useWixCliAppBi();\n\n useInput(async (input) => {\n if (input === 'c') {\n bi.cliAction({\n question: 'Switch Dev Site',\n questionKey: 'dev_command.dev_site.change',\n action: 'change_site',\n key: input,\n });\n onScreenChange(ScreenState.SiteSelector());\n }\n });\n\n return (\n <Text skin=\"secondary\">\n (Press <Key value=\"C\" skin=\"secondary\" /> to switch)\n </Text>\n );\n};\n"],"mappings":"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","names":["import_react","match","log","React","import_react","import_variant","import_react","React","import_react","import_react","import_react","_a","_a","import_react","isTunnelRequired","import_react","import_variant","React","approved","React","React","import_react","import_variant","import_react","import_variant","import_variant","import_react","import_react","React","error","React","import_react","import_react","React","React","React","React","React"]}
@@ -2,10 +2,10 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  EnvPullCommand
5
- } from "./chunk-CGXS2RLO.js";
5
+ } from "./chunk-6B3FQNMV.js";
6
6
  import "./chunk-4HUDTFI7.js";
7
7
  import "./chunk-PLRVWQKC.js";
8
- import "./chunk-DLDELYVB.js";
8
+ import "./chunk-W34JWURA.js";
9
9
  import "./chunk-EYV3FS5W.js";
10
10
  import "./chunk-FRGULVBF.js";
11
11
  import "./chunk-JVVXZI4G.js";
@@ -27,4 +27,4 @@ import "./chunk-4EFJZ3GQ.js";
27
27
  export {
28
28
  EnvPullCommand
29
29
  };
30
- //# sourceMappingURL=EnvPullCommand-6FOYVETB.js.map
30
+ //# sourceMappingURL=EnvPullCommand-22WYBFTO.js.map
@@ -6,7 +6,7 @@ import {
6
6
  import "./chunk-PLRVWQKC.js";
7
7
  import {
8
8
  useProjectModel
9
- } from "./chunk-DLDELYVB.js";
9
+ } from "./chunk-W34JWURA.js";
10
10
  import "./chunk-EYV3FS5W.js";
11
11
  import "./chunk-FRGULVBF.js";
12
12
  import {
@@ -83,4 +83,4 @@ var EnvRemoveCommand = ({ variableKey }) => {
83
83
  export {
84
84
  EnvRemoveCommand
85
85
  };
86
- //# sourceMappingURL=EnvRemoveCommand-BDX7BG4C.js.map
86
+ //# sourceMappingURL=EnvRemoveCommand-H6VFMJLM.js.map
@@ -6,7 +6,7 @@ import {
6
6
  import "./chunk-PLRVWQKC.js";
7
7
  import {
8
8
  useProjectModel
9
- } from "./chunk-DLDELYVB.js";
9
+ } from "./chunk-W34JWURA.js";
10
10
  import "./chunk-EYV3FS5W.js";
11
11
  import "./chunk-FRGULVBF.js";
12
12
  import {
@@ -87,4 +87,4 @@ var EnvSetCommand = ({ variable }) => {
87
87
  export {
88
88
  EnvSetCommand
89
89
  };
90
- //# sourceMappingURL=EnvSetCommand-YV7KQDTG.js.map
90
+ //# sourceMappingURL=EnvSetCommand-TDY5NJDM.js.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-IGHRRWV4.js";
6
6
  import {
7
7
  useDevCenterClient
8
- } from "./chunk-WUQ34TQE.js";
8
+ } from "./chunk-EVV3LZAI.js";
9
9
  import {
10
10
  wixCliAction,
11
11
  wixCliAppFlowStepsAnswers
@@ -29,7 +29,7 @@ import {
29
29
  EmbeddedScriptPlacement,
30
30
  getExtensionDir,
31
31
  useProjectModel
32
- } from "./chunk-DLDELYVB.js";
32
+ } from "./chunk-W34JWURA.js";
33
33
  import {
34
34
  useHttpClient
35
35
  } from "./chunk-EYV3FS5W.js";
@@ -69319,4 +69319,4 @@ ejs/lib/ejs.js:
69319
69319
  * @license {@link http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0}
69320
69320
  *)
69321
69321
  */
69322
- //# sourceMappingURL=GenerateCommand-SARUYR3M.js.map
69322
+ //# sourceMappingURL=GenerateCommand-WJB2UILL.js.map
@@ -1,6 +1,6 @@
1
1
  import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
- import "./chunk-DUJVHVKZ.js";
3
+ import "./chunk-Y7SZOWGV.js";
4
4
  import {
5
5
  addUserFields
6
6
  } from "./chunk-4QK4HF3C.js";
@@ -105,4 +105,4 @@ var LoginCommand = ({
105
105
  export {
106
106
  LoginCommand
107
107
  };
108
- //# sourceMappingURL=LoginCommand-ULOYAGDX.js.map
108
+ //# sourceMappingURL=LoginCommand-EWEM57CT.js.map
@@ -2,9 +2,9 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  PreviewCommand
5
- } from "./chunk-VGSKNKR5.js";
6
- import "./chunk-WOLJ45IG.js";
7
- import "./chunk-WUQ34TQE.js";
5
+ } from "./chunk-ECEBTPKZ.js";
6
+ import "./chunk-7CZ66YXW.js";
7
+ import "./chunk-EVV3LZAI.js";
8
8
  import "./chunk-SC2W3WT3.js";
9
9
  import "./chunk-C6E2XICB.js";
10
10
  import "./chunk-2R5BII2J.js";
@@ -12,7 +12,7 @@ import "./chunk-W54PG6O5.js";
12
12
  import "./chunk-YLWTNITT.js";
13
13
  import "./chunk-4HUDTFI7.js";
14
14
  import "./chunk-PLRVWQKC.js";
15
- import "./chunk-DLDELYVB.js";
15
+ import "./chunk-W34JWURA.js";
16
16
  import "./chunk-EYV3FS5W.js";
17
17
  import "./chunk-PIXNEJ52.js";
18
18
  import "./chunk-HWVLWVTF.js";
@@ -36,4 +36,4 @@ import "./chunk-4EFJZ3GQ.js";
36
36
  export {
37
37
  PreviewCommand
38
38
  };
39
- //# sourceMappingURL=PreviewCommand-D6P52RJP.js.map
39
+ //# sourceMappingURL=PreviewCommand-7CZDBECJ.js.map
@@ -2,11 +2,11 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  PreviewCommand
5
- } from "./chunk-VGSKNKR5.js";
5
+ } from "./chunk-ECEBTPKZ.js";
6
6
  import {
7
7
  useARMClient
8
- } from "./chunk-WOLJ45IG.js";
9
- import "./chunk-WUQ34TQE.js";
8
+ } from "./chunk-7CZ66YXW.js";
9
+ import "./chunk-EVV3LZAI.js";
10
10
  import "./chunk-SC2W3WT3.js";
11
11
  import "./chunk-C6E2XICB.js";
12
12
  import "./chunk-2R5BII2J.js";
@@ -16,7 +16,7 @@ import "./chunk-4HUDTFI7.js";
16
16
  import "./chunk-PLRVWQKC.js";
17
17
  import {
18
18
  useProjectModel
19
- } from "./chunk-DLDELYVB.js";
19
+ } from "./chunk-W34JWURA.js";
20
20
  import "./chunk-EYV3FS5W.js";
21
21
  import "./chunk-PIXNEJ52.js";
22
22
  import "./chunk-HWVLWVTF.js";
@@ -106,4 +106,4 @@ var PromoteCommand = ({ baseUrl, label }) => {
106
106
  export {
107
107
  PromoteCommand
108
108
  };
109
- //# sourceMappingURL=PromoteCommand-CJUQIMD7.js.map
109
+ //# sourceMappingURL=PromoteCommand-4W7JO3OG.js.map