@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.
- package/build/{DevCommand-FM4GUL35.js → DevCommand-BEEUZFP6.js} +6 -10
- package/build/DevCommand-BEEUZFP6.js.map +1 -0
- package/build/{LoginCommand-EWEM57CT.js → LoginCommand-JV2P5FVD.js} +2 -2
- package/build/{PreviewCommand-7CZDBECJ.js → PreviewCommand-4KGWWAOZ.js} +3 -3
- package/build/{PromoteCommand-4W7JO3OG.js → PromoteCommand-GG36WPXX.js} +3 -3
- package/build/{ReleaseCommand-NZAM3UIY.js → ReleaseCommand-5ADFVNOT.js} +5 -6
- package/build/ReleaseCommand-5ADFVNOT.js.map +1 -0
- package/build/{chunk-ECEBTPKZ.js → chunk-72CAXPDG.js} +88 -30
- package/build/chunk-72CAXPDG.js.map +1 -0
- package/build/{chunk-Y7SZOWGV.js → chunk-X37NAAXG.js} +2 -2
- package/build/{chunk-Y7SZOWGV.js.map → chunk-X37NAAXG.js.map} +1 -1
- package/build/{chunk-7CZ66YXW.js → chunk-YYY4GDEZ.js} +34 -46
- package/build/{chunk-7CZ66YXW.js.map → chunk-YYY4GDEZ.js.map} +1 -1
- package/build/index.js +6 -6
- package/build/{preview-MGGWEWUO.js → preview-M4QT6YMK.js} +3 -3
- package/build/{render-command-YIP7OO3V.js → render-command-H3NMLDRT.js} +2 -2
- package/build/{src-S345RUFD.js → src-FZRIREVI.js} +6 -6
- package/package.json +2 -2
- package/build/DevCommand-FM4GUL35.js.map +0 -1
- package/build/ReleaseCommand-NZAM3UIY.js.map +0 -1
- package/build/chunk-ECEBTPKZ.js.map +0 -1
- /package/build/{LoginCommand-EWEM57CT.js.map → LoginCommand-JV2P5FVD.js.map} +0 -0
- /package/build/{PreviewCommand-7CZDBECJ.js.map → PreviewCommand-4KGWWAOZ.js.map} +0 -0
- /package/build/{PromoteCommand-4W7JO3OG.js.map → PromoteCommand-GG36WPXX.js.map} +0 -0
- /package/build/{preview-MGGWEWUO.js.map → preview-M4QT6YMK.js.map} +0 -0
- /package/build/{render-command-YIP7OO3V.js.map → render-command-H3NMLDRT.js.map} +0 -0
- /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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
6
|
-
import "./chunk-
|
|
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-
|
|
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-
|
|
5
|
+
} from "./chunk-72CAXPDG.js";
|
|
6
6
|
import {
|
|
7
7
|
useARMClient
|
|
8
|
-
} from "./chunk-
|
|
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-
|
|
109
|
+
//# sourceMappingURL=PromoteCommand-GG36WPXX.js.map
|
|
@@ -6,14 +6,13 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
PreviewCommand,
|
|
8
8
|
assertBuildOutputExists
|
|
9
|
-
} from "./chunk-
|
|
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-
|
|
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
|
|
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-
|
|
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-
|
|
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
|
|
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
|
|
64
|
-
var
|
|
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__ */
|
|
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__ */
|
|
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
|
-
),
|
|
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 } }) =>
|
|
1576
|
-
|
|
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
|
-
|
|
1579
|
-
|
|
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
|
-
)
|
|
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__ */
|
|
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-
|
|
1660
|
+
//# sourceMappingURL=chunk-72CAXPDG.js.map
|