@wix/cli 1.1.149 → 1.1.150

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 (27) hide show
  1. package/build/{DevCommand-FM4GUL35.js → DevCommand-BEEUZFP6.js} +6 -10
  2. package/build/DevCommand-BEEUZFP6.js.map +1 -0
  3. package/build/{LoginCommand-EWEM57CT.js → LoginCommand-JV2P5FVD.js} +2 -2
  4. package/build/{PreviewCommand-7CZDBECJ.js → PreviewCommand-4KGWWAOZ.js} +3 -3
  5. package/build/{PromoteCommand-4W7JO3OG.js → PromoteCommand-GG36WPXX.js} +3 -3
  6. package/build/{ReleaseCommand-NZAM3UIY.js → ReleaseCommand-5ADFVNOT.js} +5 -6
  7. package/build/ReleaseCommand-5ADFVNOT.js.map +1 -0
  8. package/build/{chunk-ECEBTPKZ.js → chunk-72CAXPDG.js} +88 -30
  9. package/build/chunk-72CAXPDG.js.map +1 -0
  10. package/build/{chunk-Y7SZOWGV.js → chunk-X37NAAXG.js} +2 -2
  11. package/build/{chunk-Y7SZOWGV.js.map → chunk-X37NAAXG.js.map} +1 -1
  12. package/build/{chunk-7CZ66YXW.js → chunk-YYY4GDEZ.js} +34 -46
  13. package/build/{chunk-7CZ66YXW.js.map → chunk-YYY4GDEZ.js.map} +1 -1
  14. package/build/index.js +6 -6
  15. package/build/{preview-MGGWEWUO.js → preview-M4QT6YMK.js} +3 -3
  16. package/build/{render-command-YIP7OO3V.js → render-command-H3NMLDRT.js} +2 -2
  17. package/build/{src-S345RUFD.js → src-FZRIREVI.js} +6 -6
  18. package/package.json +2 -2
  19. package/build/DevCommand-FM4GUL35.js.map +0 -1
  20. package/build/ReleaseCommand-NZAM3UIY.js.map +0 -1
  21. package/build/chunk-ECEBTPKZ.js.map +0 -1
  22. /package/build/{LoginCommand-EWEM57CT.js.map → LoginCommand-JV2P5FVD.js.map} +0 -0
  23. /package/build/{PreviewCommand-7CZDBECJ.js.map → PreviewCommand-4KGWWAOZ.js.map} +0 -0
  24. /package/build/{PromoteCommand-4W7JO3OG.js.map → PromoteCommand-GG36WPXX.js.map} +0 -0
  25. /package/build/{preview-MGGWEWUO.js.map → preview-M4QT6YMK.js.map} +0 -0
  26. /package/build/{render-command-YIP7OO3V.js.map → render-command-H3NMLDRT.js.map} +0 -0
  27. /package/build/{src-S345RUFD.js.map → src-FZRIREVI.js.map} +0 -0
@@ -17,7 +17,7 @@ import {
17
17
  useARMClient,
18
18
  useSite,
19
19
  useUpdateDeploymentTopology
20
- } from "./chunk-7CZ66YXW.js";
20
+ } from "./chunk-YYY4GDEZ.js";
21
21
  import "./chunk-EVV3LZAI.js";
22
22
  import "./chunk-SC2W3WT3.js";
23
23
  import {
@@ -616,7 +616,7 @@ var useDevCenterUpdater = ({
616
616
  } = useProjectModel();
617
617
  const logger = (0, import_react5.useMemo)(() => createAstroLogger(), []);
618
618
  const arm = useARMClient();
619
- const updateDeploymentTopology = useUpdateDeploymentTopology();
619
+ const updateDeploymentTopology = useUpdateDeploymentTopology(siteId);
620
620
  const openTunnel = useTunnel();
621
621
  const tunnelUrl = (0, import_react5.useRef)();
622
622
  const [tunnelRequired, setTunnelRequired] = (0, import_react5.useState)(false);
@@ -673,7 +673,6 @@ var useDevCenterUpdater = ({
673
673
  platform: "site",
674
674
  appId,
675
675
  tenantId: siteId,
676
- withInstaller: false,
677
676
  versionOverrideId: updatedDevArmTag
678
677
  }),
679
678
  armTag: updatedDevArmTag,
@@ -920,24 +919,21 @@ var HomeScreen = ({
920
919
  {
921
920
  platform: "site",
922
921
  armTag: devArmTag,
923
- tenantId: siteId,
924
- withInstaller: false
922
+ tenantId: siteId
925
923
  }
926
924
  ), /* @__PURE__ */ import_react12.default.createElement(
927
925
  RedirectLink,
928
926
  {
929
927
  platform: "editor",
930
928
  armTag: devArmTag,
931
- tenantId: siteId,
932
- withInstaller: false
929
+ tenantId: siteId
933
930
  }
934
931
  ), /* @__PURE__ */ import_react12.default.createElement(
935
932
  RedirectLink,
936
933
  {
937
934
  platform: "dashboard",
938
935
  armTag: devArmTag,
939
- tenantId: siteId,
940
- withInstaller: false
936
+ tenantId: siteId
941
937
  }
942
938
  )) : /* @__PURE__ */ import_react12.default.createElement(Spinner, { text: "Preparing your dashboard..." }))));
943
939
  };
@@ -1050,4 +1046,4 @@ var DevCommand = ({
1050
1046
  export {
1051
1047
  DevCommand
1052
1048
  };
1053
- //# sourceMappingURL=DevCommand-FM4GUL35.js.map
1049
+ //# sourceMappingURL=DevCommand-BEEUZFP6.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(siteId);\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 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 />\n <RedirectLink\n platform=\"editor\"\n armTag={devArmTag}\n tenantId={siteId}\n />\n <RedirectLink\n platform=\"dashboard\"\n armTag={devArmTag}\n tenantId={siteId}\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"]}
@@ -1,6 +1,6 @@
1
1
  import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
- import "./chunk-Y7SZOWGV.js";
3
+ import "./chunk-X37NAAXG.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-EWEM57CT.js.map
108
+ //# sourceMappingURL=LoginCommand-JV2P5FVD.js.map
@@ -2,8 +2,8 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  PreviewCommand
5
- } from "./chunk-ECEBTPKZ.js";
6
- import "./chunk-7CZ66YXW.js";
5
+ } from "./chunk-72CAXPDG.js";
6
+ import "./chunk-YYY4GDEZ.js";
7
7
  import "./chunk-EVV3LZAI.js";
8
8
  import "./chunk-SC2W3WT3.js";
9
9
  import "./chunk-C6E2XICB.js";
@@ -36,4 +36,4 @@ import "./chunk-4EFJZ3GQ.js";
36
36
  export {
37
37
  PreviewCommand
38
38
  };
39
- //# sourceMappingURL=PreviewCommand-7CZDBECJ.js.map
39
+ //# sourceMappingURL=PreviewCommand-4KGWWAOZ.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
  PreviewCommand
5
- } from "./chunk-ECEBTPKZ.js";
5
+ } from "./chunk-72CAXPDG.js";
6
6
  import {
7
7
  useARMClient
8
- } from "./chunk-7CZ66YXW.js";
8
+ } from "./chunk-YYY4GDEZ.js";
9
9
  import "./chunk-EVV3LZAI.js";
10
10
  import "./chunk-SC2W3WT3.js";
11
11
  import "./chunk-C6E2XICB.js";
@@ -106,4 +106,4 @@ var PromoteCommand = ({ baseUrl, label }) => {
106
106
  export {
107
107
  PromoteCommand
108
108
  };
109
- //# sourceMappingURL=PromoteCommand-4W7JO3OG.js.map
109
+ //# sourceMappingURL=PromoteCommand-GG36WPXX.js.map
@@ -6,14 +6,13 @@ import {
6
6
  import {
7
7
  PreviewCommand,
8
8
  assertBuildOutputExists
9
- } from "./chunk-ECEBTPKZ.js";
9
+ } from "./chunk-72CAXPDG.js";
10
10
  import {
11
11
  useWixCliAppBi
12
12
  } from "./chunk-GVGGC7KJ.js";
13
13
  import {
14
- SiteProvider,
15
14
  useARMClient
16
- } from "./chunk-7CZ66YXW.js";
15
+ } from "./chunk-YYY4GDEZ.js";
17
16
  import "./chunk-EVV3LZAI.js";
18
17
  import "./chunk-SC2W3WT3.js";
19
18
  import "./chunk-C6E2XICB.js";
@@ -446,7 +445,7 @@ var ReleaseCommand = (props) => {
446
445
  Error: () => null,
447
446
  Loading: () => /* @__PURE__ */ import_react10.default.createElement(Spinner, { text: /* @__PURE__ */ import_react10.default.createElement(Text, null, "Loading application details...") }),
448
447
  Success: () => {
449
- return /* @__PURE__ */ import_react10.default.createElement(SiteProvider, null, config.projectType === "Site" ? /* @__PURE__ */ import_react10.default.createElement(
448
+ return config.projectType === "Site" ? /* @__PURE__ */ import_react10.default.createElement(
450
449
  Release,
451
450
  {
452
451
  ...props,
@@ -460,11 +459,11 @@ var ReleaseCommand = (props) => {
460
459
  preEnteredComment: props.comment,
461
460
  preSelectedVersionType: props.versionType
462
461
  }
463
- ));
462
+ );
464
463
  }
465
464
  });
466
465
  };
467
466
  export {
468
467
  ReleaseCommand
469
468
  };
470
- //# sourceMappingURL=ReleaseCommand-NZAM3UIY.js.map
469
+ //# sourceMappingURL=ReleaseCommand-5ADFVNOT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/lodash/isString.js","../../cli-astro-commands/src/components/ReleaseCommand/index.ts","../../cli-astro-commands/src/components/ReleaseCommand/ReleaseCommand.tsx","../../cli-astro-commands/src/components/ReleaseCommand/Release.tsx","../../cli-astro-commands/src/components/ReleaseCommand/Steps/CreatePreview.tsx","../../cli-astro-commands/src/components/ReleaseCommand/app-flow/ReleaseApp.tsx","../../cli-astro-commands/src/components/ReleaseCommand/app-flow/Warnings.tsx","../../cli-astro-commands/src/components/extensions/useExtensions.tsx","../../cli-astro-commands/src/components/ReleaseCommand/app-flow/ReleaseComment.tsx","../../cli-astro-commands/src/components/ReleaseCommand/app-flow/ConfirmMinorVersion.tsx","../../cli-astro-commands/src/components/ReleaseCommand/app-flow/ChooseVersion.tsx","../../cli-astro-commands/src/components/ReleaseCommand/app-flow/NextSteps.tsx"],"sourcesContent":["var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","export { ReleaseCommand } from './ReleaseCommand.js';\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { useAsync, Spinner, Text } from '@wix/cli-ui-kit';\nimport { useProjectModel } from '../../model.js';\nimport { assertBuildOutputExists } from '../../files/assert-build-output-exists.js';\nimport { Release } from './Release.js';\nimport { ReleaseApp } from './app-flow/ReleaseApp.js';\nimport { ReleaseVersionType } from './app-flow/types.js';\n\ninterface ReleaseCommandProps {\n baseUrl?: string;\n label?: string;\n comment?: string;\n versionType?: ReleaseVersionType;\n}\n\nexport const ReleaseCommand: FC<ReleaseCommandProps> = (props) => {\n const {\n model: { projectFolder, config },\n } = useProjectModel();\n\n const { status } = useAsync(async () => {\n await assertBuildOutputExists(projectFolder);\n }, []);\n\n return match(status, {\n Error: () => null,\n Loading: () => (\n <Spinner text={<Text>Loading application details...</Text>} />\n ),\n Success: () => {\n return config.projectType === 'Site' ? (\n <Release\n {...props}\n createMinorVersion={props.versionType === ReleaseVersionType.MINOR}\n />\n ) : (\n <ReleaseApp\n baseUrl={props.baseUrl}\n label={props.label}\n preEnteredComment={props.comment}\n preSelectedVersionType={props.versionType}\n />\n );\n },\n });\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { Box, Text, Alert, Spinner, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useARMClient } from '@wix/arm-client';\nimport { useProjectModel } from '../../model.js';\nimport { CreatePreview } from './Steps/CreatePreview.js';\n\ninterface ReleaseProps {\n baseUrl?: string;\n label?: string;\n comment?: string;\n createMinorVersion: boolean;\n}\n\nexport const Release: FC<ReleaseProps> = ({\n baseUrl,\n label,\n createMinorVersion,\n comment,\n}) => {\n const {\n model: {\n config: { appId },\n },\n } = useProjectModel();\n\n const { release } = useARMClient();\n\n const releaseAction = useAsyncCallback(async (_, tag: string) => {\n const baseUrl = await release(appId, tag, {\n createMinorVersion,\n comment,\n });\n\n return {\n baseUrl,\n };\n });\n\n function onPreviewCreated({ previewId }: { previewId: string }) {\n return releaseAction.execute(previewId);\n }\n\n return (\n <>\n <CreatePreview\n baseUrl={baseUrl}\n label={label}\n onCreated={({ previewId }) => onPreviewCreated({ previewId })}\n />\n {match(releaseAction.status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => <Spinner text={<Text>Releasing...</Text>} />,\n Success: ({ result: { baseUrl } }) => (\n <Box flexDirection=\"column\" gap={1}>\n <Alert type=\"success\">\n <Text bold>Site published on {baseUrl}</Text>\n </Alert>\n </Box>\n ),\n })}\n </>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Box, Text } from '@wix/cli-ui-kit';\nimport { PreviewCommand } from '../../PreviewCommand/index.js';\n\ninterface CreatePreviewProps {\n baseUrl?: string;\n label?: string;\n onCreated: (args: { previewId: string; previewUrl: string }) => void;\n}\n\nexport const CreatePreview: FC<CreatePreviewProps> = (props) => {\n const { baseUrl, label, onCreated } = props;\n\n return (\n <Box flexDirection=\"column\" gap={1}>\n <Text>\n Before creating a new version, let's create a preview of your app\n </Text>\n <Box flexDirection=\"column\">\n <PreviewCommand\n baseUrl={baseUrl}\n label={label}\n onPreviewCreated={onCreated}\n environment=\"production\"\n />\n </Box>\n </Box>\n );\n};\n","import React, { useState } from 'react';\nimport type { FC } from 'react';\nimport { useARMClient } from '@wix/arm-client';\nimport isString from 'lodash/isString.js';\nimport { parse } from 'semver';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { Box, Text, Alert, Spinner, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { match } from 'variant';\nimport { CreatePreview } from '../Steps/CreatePreview.js';\nimport { useProjectModel } from '../../../model.js';\nimport { ReleaseVersionType } from './types.js';\nimport { Warnings } from './Warnings.js';\nimport { ReleaseComment } from './ReleaseComment.js';\nimport { ConfirmMinorVersion } from './ConfirmMinorVersion.js';\nimport { ChooseVersion } from './ChooseVersion.js';\nimport { NextSteps } from './NextSteps.js';\n\ninterface ReleaseProps {\n baseUrl?: string;\n label?: string;\n preEnteredComment?: string;\n preSelectedVersionType?: ReleaseVersionType;\n}\n\nexport const ReleaseApp: FC<ReleaseProps> = ({\n baseUrl,\n label,\n preEnteredComment,\n preSelectedVersionType,\n}) => {\n const {\n model: {\n config: { appId },\n },\n } = useProjectModel();\n const { createDraftVersion, releaseDraftVersion } = useARMClient();\n\n const [tag, setTag] = useState<string>();\n const [comment, setComment] = useState<string | undefined>();\n const [versionType, setVersionType] = useState<ReleaseVersionType>();\n const [userShouldSelectVersion, setUserShouldSelectVersion] = useState(false);\n\n const createDraftAction = useAsyncCallback(async (_, tag: string) => {\n const { nextMajor, nextMinor } = await createDraftVersion(appId, tag);\n const appWasNeverReleased = nextMajor === '1.0.0' && !nextMinor;\n\n const parsedNextMajor = parse(nextMajor);\n if (parsedNextMajor == null) {\n throw new CliError({\n code: CliErrorCode.FailedToParseNextVersion({ version: nextMajor }),\n cause: undefined,\n });\n }\n\n return {\n nextMinor,\n nextMajor,\n appWasNeverReleased,\n latestMajor: parsedNextMajor.major - 1,\n };\n });\n\n const releaseDraftAction = useAsyncCallback(\n async (\n _,\n versionType: ReleaseVersionType,\n comment: string,\n latestMajor: number\n ) => {\n const result = await releaseDraftVersion(appId, {\n createNewMajor: versionType === ReleaseVersionType.MAJOR,\n notes: comment,\n latestMajor,\n });\n\n return result;\n }\n );\n\n async function onReleaseCommentEntered({\n tag,\n comment,\n }: {\n tag: string;\n comment: string;\n }) {\n setComment(comment);\n\n const result = await createDraftAction.execute(tag).catch(() => null);\n if (!result) {\n return;\n }\n\n const { appWasNeverReleased, nextMinor, latestMajor } = result;\n\n const chosenVersion = appWasNeverReleased\n ? ReleaseVersionType.MAJOR\n : preSelectedVersionType;\n\n if (\n preSelectedVersionType === ReleaseVersionType.MINOR &&\n (appWasNeverReleased || !nextMinor)\n ) {\n throw new CliError({\n cause: null,\n code: CliErrorCode.CannotReleaseMinorInNoninteractive(),\n });\n }\n\n if (chosenVersion) {\n void releaseDraftAction.execute(chosenVersion, comment, latestMajor);\n } else {\n setUserShouldSelectVersion(true);\n }\n }\n\n return (\n <>\n <CreatePreview\n baseUrl={baseUrl}\n label={label}\n onCreated={({ previewId }) => {\n setTag(previewId);\n\n if (isString(preEnteredComment)) {\n void onReleaseCommentEntered({\n tag: previewId,\n comment: preEnteredComment,\n });\n }\n }}\n />\n {tag && <Warnings />}\n {tag && !isString(preEnteredComment) && (\n <ReleaseComment\n onEntered={(comment) => onReleaseCommentEntered({ tag, comment })}\n />\n )}\n {isString(comment) &&\n match(createDraftAction.status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => <Spinner text=\"Updating draft application version\" />,\n Success: ({ result: { nextMajor, nextMinor, latestMajor } }) => (\n <>\n {userShouldSelectVersion && (\n <ChooseVersion\n nextMinor={nextMinor}\n nextMajor={nextMajor}\n onChosen={(selectedVersionType) => {\n setVersionType(selectedVersionType);\n if (selectedVersionType === ReleaseVersionType.MAJOR) {\n void releaseDraftAction.execute(\n selectedVersionType,\n comment,\n latestMajor\n );\n }\n }}\n />\n )}\n {versionType === ReleaseVersionType.MINOR && (\n <ConfirmMinorVersion\n onConfirmed={() =>\n releaseDraftAction.execute(\n versionType,\n comment,\n latestMajor\n )\n }\n />\n )}\n </>\n ),\n })}\n {match(releaseDraftAction.status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => <Spinner text=\"Releasing...\" />,\n Success: ({ result: { releasedVersion } }) => (\n <Box flexDirection=\"column\" gap={1}>\n <Alert type=\"success\">\n <Text bold>Version {releasedVersion} was created</Text>\n </Alert>\n <NextSteps />\n </Box>\n ),\n })}\n </>\n );\n};\n","import React from 'react';\nimport { Alert, Box, Notification } from '@wix/cli-ui-kit';\nimport { ComponentType } from '@wix/ambassador-devcenter-apps-v1-app-old/types';\nimport { useExtensions } from '../../extensions/useExtensions.js';\n\n// This Warning is relevant only to Webhooks, this is because webhook is not a real extension.\n// This is the only entity that will be updated the moment user _commit_ changes to the DC.\n// The change will be _immediately_ propagated to all versions.\nexport const Warnings = () => {\n const { getExtensions } = useExtensions();\n\n if (getExtensions(ComponentType.WEBHOOK).length === 0) {\n return null;\n }\n\n return (\n <Box flexDirection=\"column\" paddingBottom={1}>\n <Notification>\n <Alert type=\"warning\">\n Your project includes backend events. Once you proceed, any changes to\n events will be immediately deployed to production and take effect\n automatically, even without a new version release.\n </Alert>\n </Notification>\n </Box>\n );\n};\n","import { useCallback } from 'react';\nimport type { Component } from '@wix/cli-app-manifest';\nimport { useProjectModel } from '../../model.js';\n\ntype ComponentType = Component['compType'];\n\nexport function useExtensions() {\n const { model } = useProjectModel();\n\n const getExtensions = useCallback(\n <T extends ComponentType>(\n extensionType: T\n ): Array<Extract<Component, { compType: T }>> =>\n model.components.filter(\n (component): component is Extract<Component, { compType: T }> =>\n component.compType === extensionType\n ),\n [model.components]\n );\n\n return {\n getExtensions,\n };\n}\n","import React, { useCallback } from 'react';\nimport type { FC } from 'react';\nimport { TextInput } from '@wix/cli-ui-kit';\nimport { useWixCliAppBi } from '../../../bi-app/index.js';\n\ninterface ReleaseCommentProps {\n onEntered: (comment: string) => void;\n}\n\nexport const ReleaseComment: FC<ReleaseCommentProps> = (props) => {\n const { onEntered } = props;\n\n const bi = useWixCliAppBi();\n\n const validate = useCallback((value: string) => {\n if (value && value.length > 250) {\n return 'The comment is limited to a maximum of 250 characters';\n }\n return true;\n }, []);\n\n const question =\n \"Enter a comment describing any changes made to this version. This won't be shown to users (optional)\";\n\n return (\n <TextInput\n label={question}\n onSubmit={(answer) => {\n bi.cliFlowStepAnswered({\n question,\n questionKey: 'release_command.enter_release_comment',\n answer,\n });\n onEntered(answer);\n }}\n validate={validate}\n />\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Box, ConfirmInput } from '@wix/cli-ui-kit';\nimport { useWixCliAppBi } from '../../../bi-app/index.js';\n\ninterface ConfirmMinorVersionProps {\n onConfirmed: () => void;\n}\n\nexport const ConfirmMinorVersion: FC<ConfirmMinorVersionProps> = (props) => {\n const { onConfirmed } = props;\n\n const bi = useWixCliAppBi();\n\n const question =\n 'Changes will be visible to your app users immediately and can’t be undone. Do you want to continue?';\n\n return (\n <Box flexDirection=\"column\" paddingBottom={1}>\n <ConfirmInput\n label={question}\n initialValue={true}\n onSubmit={(confirm) => {\n bi.cliFlowStepAnswered({\n question,\n questionKey: 'release_command.confirm_version_creation',\n answer: String(confirm),\n });\n\n if (confirm) {\n onConfirmed();\n }\n }}\n />\n </Box>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport {\n Link,\n Text,\n SelectInput,\n SelectOptionAvailability,\n} from '@wix/cli-ui-kit';\nimport { useWixCliAppBi } from '../../../bi-app/index.js';\nimport { ReleaseVersionType } from './types.js';\n\ninterface ChooseVersionProps {\n nextMinor?: string;\n nextMajor: string;\n onChosen: (props: ReleaseVersionType) => void;\n}\n\nexport const ChooseVersion: FC<ChooseVersionProps> = (props) => {\n const { nextMinor, nextMajor, onChosen } = props;\n\n const bi = useWixCliAppBi();\n\n const options: Array<SelectOption<ReleaseVersionType>> = [\n {\n title: nextMinor ? `Minor (${nextMinor})` : 'Minor',\n description: 'update doesn’t require Wix user consent',\n value: ReleaseVersionType.MINOR,\n availability: nextMinor\n ? SelectOptionAvailability.Enabled()\n : SelectOptionAvailability.Disabled({\n reason: (\n <Text>\n Recent changes you made require this release to be a major\n release. <Link url=\"https://wix.to/ZR80Y7p\">Learn more</Link>\n </Text>\n ),\n }),\n },\n {\n title: `Major (${nextMajor})`,\n description: 'update requires Wix user consent',\n value: ReleaseVersionType.MAJOR,\n },\n ];\n\n const question = 'What type of version would you like to create?';\n\n return (\n <SelectInput<ReleaseVersionType>\n label={question}\n options={options}\n initialIndex={nextMinor ? 0 : 1}\n onSubmit={({ value }) => {\n bi.cliFlowStepAnswered({\n question,\n questionKey: 'release_command.version_type_question',\n answer: value,\n });\n onChosen(value);\n }}\n />\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Box, Text, Link, Cart, Statistics } from '@wix/cli-ui-kit';\nimport { useProjectModel } from '../../../model.js';\n\nexport const NextSteps: FC = () => {\n const {\n model: {\n config: { appId },\n },\n } = useProjectModel();\n\n const homeUrl = `https://dev.wix.com/apps/${appId}/home?referralInfo=wix-cli`;\n const statisticsUrl = `https://dev.wix.com/apps/${appId}/statistics?referralInfo=wix-cli`;\n\n return (\n <Box flexDirection=\"column\" gap={1}>\n <Text bold>Next Steps:</Text>\n <Text>\n <Statistics /> View your app reviews and statistics in the{' '}\n <Link url={statisticsUrl}>app dashboard</Link>\n </Text>\n <Text>\n <Cart /> Choose your distribution method from the{' '}\n <Link url={homeUrl}>app dashboard</Link>\n </Text>\n </Box>\n );\n};\n"],"mappings":"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","names":["isString","import_react","import_variant","import_react","React","baseUrl","React","import_react","import_variant","import_react","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","tag","versionType","comment","React","isString","React"]}
@@ -7,7 +7,7 @@ import {
7
7
  useARMClient,
8
8
  useSite,
9
9
  useUpdateDeploymentTopology
10
- } from "./chunk-7CZ66YXW.js";
10
+ } from "./chunk-YYY4GDEZ.js";
11
11
  import {
12
12
  getGitLatestCommitHash,
13
13
  isInsideGitRepo
@@ -56,12 +56,12 @@ init_esm_shims();
56
56
 
57
57
  // ../cli-astro-commands/src/components/PreviewCommand/PreviewCommand.tsx
58
58
  init_esm_shims();
59
- var import_react4 = __toESM(require_react(), 1);
59
+ var import_react6 = __toESM(require_react(), 1);
60
60
 
61
61
  // ../cli-astro-commands/src/components/PreviewCommand/Preview.tsx
62
62
  init_esm_shims();
63
- var import_react3 = __toESM(require_react(), 1);
64
- var import_variant2 = __toESM(require_lib(), 1);
63
+ var import_react5 = __toESM(require_react(), 1);
64
+ var import_variant4 = __toESM(require_lib(), 1);
65
65
 
66
66
  // ../cli-astro-commands/src/files/assert-build-output-exists.ts
67
67
  init_esm_shims();
@@ -1494,14 +1494,75 @@ async function buildBucketsFormData(clientDir, uploadBuckets, staticFilesMetadat
1494
1494
  return batches;
1495
1495
  }
1496
1496
 
1497
+ // ../cli-astro-commands/src/components/PreviewCommand/SiteTopologyAndLinks.tsx
1498
+ init_esm_shims();
1499
+ var import_react3 = __toESM(require_react(), 1);
1500
+ var import_variant2 = __toESM(require_lib(), 1);
1501
+ var SiteTopologyAndLinks = ({ environment, previewId, previewUrl, onPreviewCreated }) => {
1502
+ const { siteId } = useSite();
1503
+ const updateDeploymentTopology = useUpdateDeploymentTopology(siteId);
1504
+ const { status: createTopology } = useAsync(async () => {
1505
+ await updateDeploymentTopology.execute({
1506
+ siteUrl: previewUrl,
1507
+ armTag: previewId,
1508
+ environment
1509
+ });
1510
+ onPreviewCreated?.({ previewId, previewUrl });
1511
+ }, []);
1512
+ return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(
1513
+ ActionStatus,
1514
+ {
1515
+ status: updateDeploymentTopology.status,
1516
+ loadingText: "Updating deployment topology manifest...",
1517
+ successText: "Deployment topology manifest updated successfully!"
1518
+ }
1519
+ ), (0, import_variant2.match)(createTopology, {
1520
+ Error: () => null,
1521
+ Loading: () => null,
1522
+ Success: () => /* @__PURE__ */ import_react3.default.createElement(Box_default, { rowGap: 1, marginY: 1, flexDirection: "column" }, /* @__PURE__ */ import_react3.default.createElement(Text, null, "Open the preview on:"), /* @__PURE__ */ import_react3.default.createElement(Box_default, { paddingLeft: 2, flexDirection: "column" }, /* @__PURE__ */ import_react3.default.createElement(PlatformLink, { url: previewUrl, label: "Site" }), /* @__PURE__ */ import_react3.default.createElement(
1523
+ PlatformLink,
1524
+ {
1525
+ url: `https://manage.wix.com/dashboard/${siteId}?apps-override=${previewId}`,
1526
+ label: "Dashboard"
1527
+ }
1528
+ )))
1529
+ }));
1530
+ };
1531
+
1532
+ // ../cli-astro-commands/src/components/PreviewCommand/AppTopologyAndLinks.tsx
1533
+ init_esm_shims();
1534
+ var import_react4 = __toESM(require_react(), 1);
1535
+ var import_variant3 = __toESM(require_lib(), 1);
1536
+ var AppTopologyAndLinks = ({ environment, previewId, previewUrl, onPreviewCreated }) => {
1537
+ const updateDeploymentTopology = useUpdateDeploymentTopology();
1538
+ const { status: createTopology } = useAsync(async () => {
1539
+ await updateDeploymentTopology.execute({
1540
+ siteUrl: void 0,
1541
+ armTag: previewId,
1542
+ environment
1543
+ });
1544
+ onPreviewCreated?.({ previewId, previewUrl });
1545
+ }, []);
1546
+ return /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement(
1547
+ ActionStatus,
1548
+ {
1549
+ status: updateDeploymentTopology.status,
1550
+ loadingText: "Updating deployment topology manifest...",
1551
+ successText: "Deployment topology manifest updated successfully!"
1552
+ }
1553
+ ), (0, import_variant3.match)(createTopology, {
1554
+ Error: () => null,
1555
+ Loading: () => null,
1556
+ Success: () => /* @__PURE__ */ import_react4.default.createElement(Box_default, { rowGap: 1, marginY: 1, flexDirection: "column" }, /* @__PURE__ */ import_react4.default.createElement(Text, null, "Open the preview on:"), /* @__PURE__ */ import_react4.default.createElement(Box_default, { paddingLeft: 2, flexDirection: "column" }, /* @__PURE__ */ import_react4.default.createElement(RedirectLink, { platform: "site", armTag: previewId }), /* @__PURE__ */ import_react4.default.createElement(RedirectLink, { platform: "editor", armTag: previewId }), /* @__PURE__ */ import_react4.default.createElement(RedirectLink, { platform: "dashboard", armTag: previewId })))
1557
+ }));
1558
+ };
1559
+
1497
1560
  // ../cli-astro-commands/src/components/PreviewCommand/Preview.tsx
1498
1561
  var Preview = ({ environment, baseUrl, label, onPreviewCreated }) => {
1499
1562
  const { model } = useProjectModel();
1500
1563
  const armClient = useARMClient();
1501
1564
  const loadBuildFiles = useLoadBuildFiles();
1502
1565
  const deployFiles = useDeployFiles();
1503
- const { siteId } = useSite();
1504
- const updateDeploymentTopology = useUpdateDeploymentTopology();
1505
1566
  const { updateManifestWithBackendWorker } = useUpdateManifest();
1506
1567
  const uploadApplicationAction = useAsyncCallback(
1507
1568
  async (_, baseUrl2) => {
@@ -1540,51 +1601,48 @@ var Preview = ({ environment, baseUrl, label, onPreviewCreated }) => {
1540
1601
  previewUrl,
1541
1602
  deploymentId
1542
1603
  );
1543
- await updateDeploymentTopology.execute({
1544
- siteUrl: model.config.projectType === "Site" ? previewUrl : void 0,
1545
- armTag: previewId,
1546
- environment
1547
- });
1548
- onPreviewCreated?.({ previewId, previewUrl });
1549
1604
  return { previewId, previewUrl };
1550
1605
  }, []);
1551
- return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(
1606
+ return /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, /* @__PURE__ */ import_react5.default.createElement(
1552
1607
  ActionStatus,
1553
1608
  {
1554
1609
  status: uploadApplicationAction.status,
1555
1610
  loadingText: "Uploading your application files...",
1556
1611
  successText: "Uploaded successfully!"
1557
1612
  }
1558
- ), /* @__PURE__ */ import_react3.default.createElement(
1613
+ ), /* @__PURE__ */ import_react5.default.createElement(
1559
1614
  ActionStatus,
1560
1615
  {
1561
1616
  status: createPreviewTagAction.status,
1562
1617
  loadingText: "Creating a preview...",
1563
1618
  successText: "Preview created successfully!"
1564
1619
  }
1565
- ), /* @__PURE__ */ import_react3.default.createElement(
1566
- ActionStatus,
1567
- {
1568
- status: updateDeploymentTopology.status,
1569
- loadingText: "Updating deployment topology manifest...",
1570
- successText: "Deployment topology manifest updated successfully!"
1571
- }
1572
- ), (0, import_variant2.match)(createPreviewStatus, {
1620
+ ), (0, import_variant4.match)(createPreviewStatus, {
1573
1621
  Error: () => null,
1574
1622
  Loading: () => null,
1575
- Success: ({ result: { previewId, previewUrl } }) => /* @__PURE__ */ import_react3.default.createElement(Box_default, { rowGap: 1, marginY: 1, flexDirection: "column" }, /* @__PURE__ */ import_react3.default.createElement(Text, null, "Open the preview on:"), /* @__PURE__ */ import_react3.default.createElement(Box_default, { paddingLeft: 2, flexDirection: "column" }, model.config.projectType === "Site" ? /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(PlatformLink, { url: previewUrl, label: "Site" }), /* @__PURE__ */ import_react3.default.createElement(
1576
- PlatformLink,
1623
+ Success: ({ result: { previewId, previewUrl } }) => model.config.projectType === "Site" ? /* @__PURE__ */ import_react5.default.createElement(SiteProvider, null, /* @__PURE__ */ import_react5.default.createElement(
1624
+ SiteTopologyAndLinks,
1577
1625
  {
1578
- url: `https://manage.wix.com/dashboard/${siteId}?apps-override=${previewId}`,
1579
- label: "Dashboard"
1626
+ environment,
1627
+ previewUrl,
1628
+ previewId,
1629
+ onPreviewCreated
1630
+ }
1631
+ )) : /* @__PURE__ */ import_react5.default.createElement(
1632
+ AppTopologyAndLinks,
1633
+ {
1634
+ environment,
1635
+ previewUrl,
1636
+ previewId,
1637
+ onPreviewCreated
1580
1638
  }
1581
- )) : /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(RedirectLink, { platform: "site", armTag: previewId }), /* @__PURE__ */ import_react3.default.createElement(RedirectLink, { platform: "editor", armTag: previewId }), /* @__PURE__ */ import_react3.default.createElement(RedirectLink, { platform: "dashboard", armTag: previewId }))))
1639
+ )
1582
1640
  }));
1583
1641
  };
1584
1642
 
1585
1643
  // ../cli-astro-commands/src/components/PreviewCommand/PreviewCommand.tsx
1586
1644
  var PreviewCommand = ({ environment, baseUrl, label, onPreviewCreated }) => {
1587
- return /* @__PURE__ */ import_react4.default.createElement(SiteProvider, null, /* @__PURE__ */ import_react4.default.createElement(
1645
+ return /* @__PURE__ */ import_react6.default.createElement(
1588
1646
  Preview,
1589
1647
  {
1590
1648
  baseUrl,
@@ -1592,11 +1650,11 @@ var PreviewCommand = ({ environment, baseUrl, label, onPreviewCreated }) => {
1592
1650
  environment,
1593
1651
  label
1594
1652
  }
1595
- ));
1653
+ );
1596
1654
  };
1597
1655
 
1598
1656
  export {
1599
1657
  assertBuildOutputExists,
1600
1658
  PreviewCommand
1601
1659
  };
1602
- //# sourceMappingURL=chunk-ECEBTPKZ.js.map
1660
+ //# sourceMappingURL=chunk-72CAXPDG.js.map