@wix/cli-app 1.1.2 → 1.1.4
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/CreateVersionCommand-GQGVJR2K.js +4 -0
- package/build/CreateVersionCommand-GQGVJR2K.js.map +1 -0
- package/build/DevCommand-YM45UVWH.js +4 -0
- package/build/DevCommand-YM45UVWH.js.map +1 -0
- package/build/PreviewCommand-YUT7MBJD.js +4 -0
- package/build/ServeCommand-6EQIDSKT.js +4 -0
- package/build/ServeCommand-6EQIDSKT.js.map +1 -0
- package/build/build-2Z6AK6IG.js +4 -0
- package/build/build-2Z6AK6IG.js.map +1 -0
- package/build/chunk-4G4S755D.js +4 -0
- package/build/chunk-4G4S755D.js.map +1 -0
- package/build/chunk-5575RXZG.js +4 -0
- package/build/chunk-5575RXZG.js.map +1 -0
- package/build/chunk-ACRXISY6.js +23 -0
- package/build/chunk-ACRXISY6.js.map +1 -0
- package/build/{chunk-XCS5TRON.js → chunk-DA3635LY.js} +2 -2
- package/build/{chunk-3CWGDMDQ.js → chunk-DF4D5JWF.js} +2 -2
- package/build/{chunk-LWF2UMZJ.js → chunk-EIA66VA3.js} +59 -38
- package/build/chunk-EIA66VA3.js.map +1 -0
- package/build/chunk-ETUINW6P.js +11 -0
- package/build/chunk-ETUINW6P.js.map +1 -0
- package/build/chunk-JZGJM7PY.js +108 -0
- package/build/chunk-JZGJM7PY.js.map +1 -0
- package/build/chunk-MWPJ22NN.js +4 -0
- package/build/chunk-MWPJ22NN.js.map +1 -0
- package/build/{chunk-KZZTM2KZ.js → chunk-NTAE6I4M.js} +2 -2
- package/build/{chunk-SI3YQ623.js → chunk-Q2OX64Q5.js} +2 -2
- package/build/{chunk-BTGENTTK.js → chunk-SHI7GZUR.js} +2 -2
- package/build/chunk-VMFKU4BM.js +75 -0
- package/build/chunk-VMFKU4BM.js.map +1 -0
- package/build/chunk-VMK5HC33.js +4 -0
- package/build/chunk-VMK5HC33.js.map +1 -0
- package/build/{chunk-EUINJR7Q.js → chunk-ZYZVQVJV.js} +2 -2
- package/build/devtools-SH22YG5Z.js +10 -0
- package/build/devtools-SH22YG5Z.js.map +1 -0
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/preview-4C3FDYR4.js +4 -0
- package/build/preview-4C3FDYR4.js.map +1 -0
- package/build/render-command-EB3I47CB.js +4 -0
- package/build/render-command-EB3I47CB.js.map +1 -0
- package/internal/component-hmr-wrapper.tsx +63 -0
- package/package.json +9 -7
- package/build/CreateVersionCommand-ACZ3W4S4.js +0 -4
- package/build/CreateVersionCommand-ACZ3W4S4.js.map +0 -1
- package/build/DevCommand-26MBVEGM.js +0 -4
- package/build/DevCommand-26MBVEGM.js.map +0 -1
- package/build/PreviewCommand-MNP242P6.js +0 -4
- package/build/ServeCommand-LKGC43F2.js +0 -4
- package/build/ServeCommand-LKGC43F2.js.map +0 -1
- package/build/SiteIdProvider-KTD7B3MF.js +0 -4
- package/build/SiteIdProvider-KTD7B3MF.js.map +0 -1
- package/build/build-K7HCLEXF.js +0 -4
- package/build/build-K7HCLEXF.js.map +0 -1
- package/build/chunk-2DYAAR6J.js +0 -4
- package/build/chunk-2DYAAR6J.js.map +0 -1
- package/build/chunk-5CKAQAZK.js +0 -23
- package/build/chunk-5CKAQAZK.js.map +0 -1
- package/build/chunk-7L53MGM2.js +0 -4
- package/build/chunk-7L53MGM2.js.map +0 -1
- package/build/chunk-AWOTQVII.js +0 -4
- package/build/chunk-AWOTQVII.js.map +0 -1
- package/build/chunk-BOTVIAFU.js +0 -4
- package/build/chunk-BOTVIAFU.js.map +0 -1
- package/build/chunk-DLDSY2KE.js +0 -7
- package/build/chunk-DLDSY2KE.js.map +0 -1
- package/build/chunk-DWQSXNK2.js +0 -4
- package/build/chunk-DWQSXNK2.js.map +0 -1
- package/build/chunk-FBPBJN3V.js +0 -4
- package/build/chunk-FBPBJN3V.js.map +0 -1
- package/build/chunk-LWF2UMZJ.js.map +0 -1
- package/build/chunk-NBPYX6UX.js +0 -106
- package/build/chunk-NBPYX6UX.js.map +0 -1
- package/build/chunk-TUKI3OEQ.js +0 -4
- package/build/chunk-TUKI3OEQ.js.map +0 -1
- package/build/chunk-XTSD25NR.js +0 -4
- package/build/chunk-XTSD25NR.js.map +0 -1
- package/build/chunk-YT3VC22W.js +0 -75
- package/build/chunk-YT3VC22W.js.map +0 -1
- package/build/devtools-D522YHXH.js +0 -10
- package/build/devtools-D522YHXH.js.map +0 -1
- package/build/preview-MTYF5TV5.js +0 -4
- package/build/preview-MTYF5TV5.js.map +0 -1
- package/build/render-command-VR53CY3H.js +0 -4
- package/build/render-command-VR53CY3H.js.map +0 -1
- /package/build/{PreviewCommand-MNP242P6.js.map → PreviewCommand-YUT7MBJD.js.map} +0 -0
- /package/build/{chunk-XCS5TRON.js.map → chunk-DA3635LY.js.map} +0 -0
- /package/build/{chunk-3CWGDMDQ.js.map → chunk-DF4D5JWF.js.map} +0 -0
- /package/build/{chunk-KZZTM2KZ.js.map → chunk-NTAE6I4M.js.map} +0 -0
- /package/build/{chunk-SI3YQ623.js.map → chunk-Q2OX64Q5.js.map} +0 -0
- /package/build/{chunk-BTGENTTK.js.map → chunk-SHI7GZUR.js.map} +0 -0
- /package/build/{chunk-EUINJR7Q.js.map → chunk-ZYZVQVJV.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/DevCommand/index.ts","../src/components/DevCommand/DevCommand.tsx","../src/components/DevCommand/DevEnvironment.tsx","../src/components/DevCommand/useArmUpdater.ts","../src/components/DevCommand/useDevServer.ts","../src/vite/custom-logger.ts","../src/components/DevCommand/devEnvLogs/useDevEnvLogs.tsx","../src/files/dev.log.ts","../src/components/DevCommand/devEnvLogs/DevEnvLogLine.tsx","../src/components/DevCommand/useSiteOverrideUpdater.ts","../../site-override-client/src/index.ts","../../site-override-client/src/client.ts","../../../node_modules/@wix/ambassador-cli-site-override-service-v1-site-override/http.impl.ts","../../site-override-client/src/schemas.ts","../../site-override-client/src/useSiteOverrideClient.ts","../src/site-override/createSiteOverrides.ts","../../../node_modules/@wix/ambassador-cli-site-override-service-v1-site-override/types.impl.ts","../src/components/DevCommand/DevCommandScreens.tsx","../src/components/DevCommand/HomeScreen.tsx","../src/site-id/index.ts","../src/components/DevCommand/screen-state.ts","../src/components/DevCommand/DevEnvLogsViewer.tsx","../src/components/extensions/PlatformSelector.tsx","../src/components/DashboardPages/DashboardPagesNumericViewer.tsx","../src/components/DashboardPages/DashboardPagesScreen.tsx","../src/components/DashboardPages/DashboardPagesArrowViewer.tsx","../src/components/CloseScreen/CloseScreen.tsx","../src/components/DevCommand/SiteSelectorScreen.tsx","../src/components/CloseScreen/index.tsx"],"sourcesContent":["export { DevCommand } from './DevCommand.js';\nexport { DevEnvironmentProvider } from './DevEnvironment.js';\n","import React, { type FC } from 'react';\nimport { SiteIdProvider } from '../../site-id/SiteIdProvider.js';\nimport { DevEnvironmentProvider } from './DevEnvironment.js';\nimport { DevCommandScreens } from './DevCommandScreens.js';\n\nexport const DevCommand: FC<{ https: boolean }> = ({ https }) => {\n return (\n <SiteIdProvider>\n <DevEnvironmentProvider https={https}>\n <DevCommandScreens />\n </DevEnvironmentProvider>\n </SiteIdProvider>\n );\n};\n","import React, {\n type FC,\n type ReactNode,\n createContext,\n useContext,\n} from 'react';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { useAsync, Spinner } from '@wix/cli-ui-kit';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\nimport { useProjectModel } from '../../model.js';\nimport { useArmUpdater } from './useArmUpdater.js';\nimport { useDevServer } from './useDevServer.js';\nimport {\n useDevEnvLogs,\n type DevEnvLog,\n type WriteLogFn,\n} from './devEnvLogs/useDevEnvLogs.js';\nimport { ArmTagProvider } from '../../context/armTag.js';\nimport { useSiteOverrideUpdater } from './useSiteOverrideUpdater.js';\n\ntype DevEnvironment = {\n siteOverrideId: string;\n https: boolean;\n devServerUrl: string;\n logs: DevEnvLog[];\n writeLog: WriteLogFn;\n};\n\nconst DevEnvironmentContext = createContext<DevEnvironment | null>(null);\n\nexport const DevEnvironmentProvider: FC<{\n https: boolean;\n children: ReactNode;\n}> = ({ https, children }) => {\n const { t } = useTranslation();\n const { reportError } = useErrorReporter();\n const createDevServer = useDevServer({ https });\n const createArmUpdater = useArmUpdater();\n const createSiteOverrideUpdater = useSiteOverrideUpdater();\n const { logs, writeLog } = useDevEnvLogs();\n const { watcher: projectModelWatcher } = useProjectModel();\n\n const { status } = useAsync(async () => {\n const devServerUrl = await createDevServer({\n projectModelWatcher,\n onLog(type, msg) {\n writeLog({ type, msg, prefix: 'vite' });\n },\n });\n\n const armTag = await createArmUpdater({\n devServerUrl,\n projectModelWatcher,\n onChange(changeType) {\n match(changeType, {\n 'change-received': () => {\n writeLog({ type: 'info', msg: t('dev_command.config_change') });\n },\n 'model-did-not-change': () => {\n writeLog({\n type: 'info',\n msg: t('dev_command.config_didnt_update'),\n });\n },\n 'model-updated': () => {\n writeLog({ type: 'info', msg: t('dev_command.config_update') });\n },\n });\n },\n onError(error) {\n reportError(error);\n writeLog({ type: 'error', error });\n writeLog({ type: 'info', msg: t('dev_command.config_didnt_update') });\n },\n });\n\n const siteOverrideId = await createSiteOverrideUpdater({\n projectModelWatcher,\n });\n\n return { devServerUrl, armTag, siteOverrideId, https };\n }, []);\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('dev_command.dev_environment.loading')} />,\n Success: ({ result: { devServerUrl, https, armTag, siteOverrideId } }) => (\n <DevEnvironmentContext.Provider\n value={{ devServerUrl, https, logs, writeLog, siteOverrideId }}\n >\n <ArmTagProvider armTag={armTag}>{children}</ArmTagProvider>\n </DevEnvironmentContext.Provider>\n ),\n });\n};\n\nexport function useDevEnvironment(): DevEnvironment {\n const context = useContext(DevEnvironmentContext);\n if (context === null) {\n throw new Error(\n 'useDevEnvironment() cannot be used without an <DevEnvironmentProvider>'\n );\n }\n return context;\n}\n","import { useCallback } from 'react';\nimport { match } from 'variant';\nimport { deepEqual } from 'fast-equals';\nimport { updateAppManifestWithBaseUrl } from '@wix/cli-app-manifest';\nimport { useARMClient } from '@wix/arm-client';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { createAppManifest } from '../../app-manifest/create.js';\nimport { getComponentSourceBuilder } from '../../app-manifest/component-source.js';\nimport type {\n ChangeType,\n ProjectModelWatcher,\n} from '../../app-manifest/project-model-watcher.js';\nimport { readAppConfig, saveAppConfig } from '../../files/app.config.js';\nimport { useProjectModel, type ProjectModel } from '../../model.js';\n\nconst createAppManifestWithBaseUrl = async (\n model: ProjectModel,\n devServerUrl: string\n) => {\n const manifest = await createAppManifest({\n appId: model.config.appId,\n components: model.components,\n componentSourceBuilder: getComponentSourceBuilder({\n model,\n devServerUrl,\n }),\n });\n\n return updateAppManifestWithBaseUrl(manifest, devServerUrl);\n};\n\ninterface CreateOptions {\n devServerUrl: string;\n projectModelWatcher: ProjectModelWatcher;\n onChange: (changeType: ChangeType) => void;\n onError: (e: unknown) => void;\n}\n\nexport function useArmUpdater() {\n const { model } = useProjectModel();\n const writeDebugLog = useDebugLog();\n const { createAppRelease, updateAppRelease } = useARMClient();\n\n return useCallback(\n async ({\n devServerUrl,\n projectModelWatcher,\n onChange,\n onError,\n }: CreateOptions) => {\n const { projectId } = model.config;\n const appManifest = await createAppManifestWithBaseUrl(\n model,\n devServerUrl\n );\n const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);\n\n const createOrUpdateAppRelease = async (tag?: string) => {\n if (tag) {\n const updateState = await updateAppRelease(appManifest, tag);\n return match(updateState, {\n TagUpdated: () => tag,\n TagNotFound: ({ cause }) => {\n writeDebugLog(cause);\n return createAppRelease(appManifest, projectId);\n },\n });\n }\n return createAppRelease(appManifest, projectId);\n };\n\n const armTag = await createOrUpdateAppRelease(appConfig?.devArmTag);\n\n if (armTag !== appConfig?.devArmTag) {\n await saveAppConfig(model.projectFolder, { devArmTag: armTag }).catch(\n (error) => writeDebugLog(error)\n );\n }\n\n projectModelWatcher\n .onChange(async (newModel, changeType) => {\n try {\n if (changeType === 'model-updated') {\n if (newModel.components.length === 0) {\n return;\n }\n\n const updatedAppManifest = await createAppManifestWithBaseUrl(\n newModel,\n devServerUrl\n );\n\n if (!deepEqual(appManifest, updatedAppManifest)) {\n await updateAppRelease(updatedAppManifest, armTag);\n }\n }\n onChange(changeType);\n } catch (e) {\n onError(e);\n }\n })\n .onError(onError);\n\n return armTag;\n },\n [createAppRelease, model, updateAppRelease, writeDebugLog]\n );\n}\n","import { useRef, useCallback, useEffect } from 'react';\nimport { createServer, type ViteDevServer } from 'vite';\nimport { getViteConfig } from '../../vite/index.js';\nimport { getViteServerUrl } from '../../vite/vite-server-url.js';\nimport {\n createCustomLogger,\n type CustomLoggerOptions,\n} from '../../vite/custom-logger.js';\nimport type { ProjectModelWatcher } from '../../app-manifest/project-model-watcher.js';\nimport { useProjectModel } from '../../model.js';\nimport { ConfigType } from '../../vite/vite-config-options.js';\n\ninterface Options {\n projectModelWatcher: ProjectModelWatcher;\n onLog: CustomLoggerOptions['onLog'];\n}\n\nexport function useDevServer({ https }: { https: boolean }) {\n const devServerRef = useRef<ViteDevServer>();\n const { model } = useProjectModel();\n\n useEffect(() => {\n return () => {\n devServerRef.current?.close();\n };\n }, []);\n\n return useCallback(\n async ({ projectModelWatcher, onLog }: Options) => {\n const devServer = await createServer(\n await getViteConfig(model, {\n type: ConfigType.dev,\n https,\n projectModelWatcher,\n customLogger: createCustomLogger({ onLog }),\n })\n );\n devServerRef.current = devServer;\n\n await devServer.listen();\n\n return getViteServerUrl(devServer);\n },\n [model, https]\n );\n}\n","import type { Logger, Rollup } from 'vite';\n\nexport type LogType = 'error' | 'warning' | 'info';\n\nexport interface CustomLoggerOptions {\n onLog: (type: LogType, msg: string) => void;\n}\n\nexport function createCustomLogger({ onLog }: CustomLoggerOptions): Logger {\n const loggedErrors = new WeakSet<Error | Rollup.RollupError>();\n const warnedMessages = new Set<string>();\n\n const logger: Logger = {\n hasWarned: false,\n info(msg) {\n onLog('info', msg);\n },\n warn(msg) {\n logger.hasWarned = true;\n onLog('warning', msg);\n },\n warnOnce(msg) {\n if (warnedMessages.has(msg)) return;\n logger.hasWarned = true;\n onLog('warning', msg);\n warnedMessages.add(msg);\n },\n error(msg, opts) {\n logger.hasWarned = true;\n onLog('error', msg);\n if (opts?.error) {\n loggedErrors.add(opts.error);\n }\n },\n clearScreen() {},\n hasErrorLogged(error) {\n return loggedErrors.has(error);\n },\n };\n\n return logger;\n}\n","import React, {\n useCallback,\n useEffect,\n useState,\n useMemo,\n type ReactNode,\n type FC,\n} from 'react';\nimport { DEV_LOG_PATH } from '@wix/cli-app-definitions';\nimport { Trans } from '@wix/cli-i18n';\nimport { createRendererToString, Alert, Box, Text } from '@wix/cli-ui-kit';\nimport { DevLogStream } from '../../../files/dev.log.js';\nimport { useProjectModel } from '../../../model.js';\nimport type { LogType } from '../../../vite/custom-logger.js';\nimport { DevEnvLogLine } from './DevEnvLogLine.js';\n\ntype GenericLog = (\n | {\n type: LogType;\n msg: ReactNode;\n error?: never;\n }\n | {\n type: 'error';\n msg?: never;\n error: unknown;\n }\n) & { prefix?: LogPrefix };\n\ntype LogPrefix = 'app' | 'vite';\n\nexport type WriteLogFn = (log: GenericLog) => void;\n\nexport type DevEnvLog = GenericLog & {\n timestamp: Date;\n};\n\nconst ErrorMsg: FC = () => (\n <Box flexDirection=\"column\">\n <Alert type=\"error\">\n <Trans\n i18nKey=\"general.write_dev_log_failure.message\"\n components={[<Text bold />]}\n values={{ path: DEV_LOG_PATH }}\n />\n </Alert>\n <Box paddingTop={1}>\n <Alert type=\"insight\">\n <Trans i18nKey=\"general.write_dev_log_failure.hint\" />\n </Alert>\n </Box>\n </Box>\n);\n\nconst MAX_LOGS_TO_SHOW = 5;\n\nfunction isMessageFiltered(message: string) {\n if (/Port \\d{1,5} is in use, trying another one/.test(message)) {\n return true;\n }\n\n return false;\n}\n\nexport function useDevEnvLogs() {\n const { model } = useProjectModel();\n const [logs, setLogs] = useState<DevEnvLog[]>([]);\n\n const insertLog = useCallback((genericLog: GenericLog) => {\n const log = { ...genericLog, timestamp: new Date() };\n setLogs((logs) => {\n const newLogs = [...logs, log];\n if (newLogs.length > MAX_LOGS_TO_SHOW) {\n newLogs.shift();\n }\n return newLogs;\n });\n return log;\n }, []);\n\n const { renderer, stream } = useMemo(() => {\n return {\n renderer: createRendererToString(),\n stream: new DevLogStream(model.projectFolder, {\n onError() {\n insertLog({ type: 'error', msg: <ErrorMsg /> });\n },\n }),\n };\n }, [insertLog, model.projectFolder]);\n\n const writeLog = useCallback<WriteLogFn>(\n (genericLog) => {\n if (genericLog.msg && isMessageFiltered(genericLog.msg.toString())) {\n return;\n }\n\n const log = insertLog(genericLog);\n const content = renderer.render(<DevEnvLogLine {...log} />);\n\n stream.write(content);\n },\n [insertLog, renderer, stream]\n );\n\n useEffect(() => {\n return () => {\n renderer.unmount();\n stream.close();\n };\n }, [renderer, stream]);\n\n return { logs, writeLog };\n}\n","import { EOL } from 'node:os';\nimport { createWriteStream, type WriteStream } from 'node:fs';\nimport { getDevLogPath } from '@wix/cli-app-definitions';\n\nexport class DevLogStream {\n private drain = false;\n private readonly stream: WriteStream;\n\n constructor(\n projectFolder: string,\n private readonly opts: { onError: (err: Error) => void }\n ) {\n this.stream = createWriteStream(getDevLogPath(projectFolder), {\n flags: 'w',\n });\n\n this.stream.on('error', this.opts.onError);\n }\n\n write = (content: string) => {\n if (this.drain) {\n this.stream.once('drain', () => {\n this.drain = false;\n this.write(content);\n });\n return;\n }\n\n const written = this.stream.write(content.concat(EOL), (err) => {\n if (err) {\n this.opts.onError(err);\n }\n });\n if (!written) {\n this.drain = true;\n this.stream.once('drain', () => {\n this.drain = false;\n });\n }\n };\n\n close = () => {\n this.stream.close();\n };\n}\n","import React, { type FC } from 'react';\nimport { Box, Text } from '@wix/cli-ui-kit';\nimport { ErrorViewer } from '@wix/cli-error-reporting';\nimport type { DevEnvLog } from './useDevEnvLogs.js';\n\nexport const DevEnvLogLine: FC<DevEnvLog> = ({\n type,\n msg,\n error,\n prefix = 'app',\n timestamp,\n}) => {\n return (\n <Box columnGap={1}>\n <Box flexShrink={0}>\n <Text skin=\"secondary\">{timestamp.toLocaleTimeString()}</Text>\n </Box>\n <Box flexShrink={0}>\n <Text skin={type} bold>\n [{prefix}]\n </Text>\n </Box>\n <Box>\n {type === 'error' && error ? (\n <ErrorViewer error={error} />\n ) : typeof msg === 'string' ? (\n <Text>{msg}</Text>\n ) : (\n msg\n )}\n </Box>\n </Box>\n );\n};\n","import { useCallback } from 'react';\nimport { deepEqual } from 'fast-equals';\nimport { useSiteOverrideClient } from '@wix/site-override-client';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport type { ProjectModelWatcher } from '../../app-manifest/project-model-watcher.js';\nimport { useProjectModel } from '../../model.js';\nimport { createSiteOverrides } from '../../site-override/createSiteOverrides.js';\nimport { useSiteId } from '../../site-id/useSiteId.js';\nimport { readAppConfig, saveAppConfig } from '../../files/app.config.js';\n\nexport function useSiteOverrideUpdater() {\n const { model } = useProjectModel();\n const { site } = useSiteId();\n const writeDebugLog = useDebugLog();\n const { createOverride } = useSiteOverrideClient();\n\n return useCallback(\n async ({\n projectModelWatcher,\n }: {\n projectModelWatcher: ProjectModelWatcher;\n }) => {\n const { appId } = model.config;\n const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);\n let overrides = createSiteOverrides(model) ?? {};\n\n const { id: siteOverrideId } = await createOverride({\n appId,\n siteId: site.id,\n overrides,\n siteOverrideId: appConfig?.devSiteOverrideId,\n });\n\n projectModelWatcher.onChange(async (newModel, changeType) => {\n if (changeType === 'model-updated') {\n const updatedOverrides = createSiteOverrides(newModel) ?? {};\n\n if (!deepEqual(overrides, updatedOverrides)) {\n await createOverride({\n appId,\n siteId: site.id,\n overrides: updatedOverrides,\n siteOverrideId,\n });\n overrides = updatedOverrides;\n }\n }\n });\n\n if (siteOverrideId !== appConfig?.devSiteOverrideId) {\n await saveAppConfig(model.projectFolder, {\n devSiteOverrideId: siteOverrideId,\n }).catch((error) => writeDebugLog(error));\n }\n\n return siteOverrideId;\n },\n [createOverride, model, site.id, writeDebugLog]\n );\n}\n","export { SiteOverrideClient } from './client.js';\nexport { useSiteOverrideClient } from './useSiteOverrideClient.js';\n","import type { HttpClient } from '@wix/cli-http-client';\nimport type { Options } from 'p-retry';\nimport pRetry from 'p-retry';\nimport { createOverride } from '@wix/ambassador-cli-site-override-service-v1-site-override/http';\nimport { isHttpError } from '@wix/cli-http-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport type { ComponentOverride } from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport { createOverrideSchema } from './schemas.js';\n\nexport class SiteOverrideClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n public createOverride = async ({\n appId,\n siteId,\n overrides,\n siteOverrideId,\n }: {\n appId: string;\n siteId: string;\n overrides: Record<string, ComponentOverride>;\n siteOverrideId?: string;\n }) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createOverride({\n siteOverride: {\n id: siteOverrideId,\n appId,\n siteId,\n overrides,\n },\n })\n ),\n this.retryOptions\n );\n\n return createOverrideSchema.parse(data).siteOverride;\n } catch (error) {\n if (isHttpError(error) && error.response?.status === 403) {\n if (\n error.response.data?.details?.applicationError?.code ===\n 'PERMISSION_DENIED_FOR_SITE'\n ) {\n throw new CliError({\n code: CliErrorCode.SitePermissionDenied({ siteId }),\n cause: error,\n });\n }\n\n throw new CliError({\n code: CliErrorCode.AppPermissionDenied({ appId }),\n cause: error,\n });\n }\n\n throw new CliError({\n code: CliErrorCode.FailedToCreateSiteOverride(),\n cause: error,\n });\n }\n };\n}\n",null,"import { z } from 'zod';\n\nexport const createOverrideSchema = z.object({\n siteOverride: z.object({\n id: z.string(),\n }),\n});\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { SiteOverrideClient } from './client.js';\n\nexport function useSiteOverrideClient() {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new SiteOverrideClient(httpClient), [httpClient]);\n}\n","import { isType } from 'variant';\nimport {\n Type,\n type ComponentOverride,\n} from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport type { ProjectModel } from '../model.js';\nimport { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\n\nexport function createSiteOverrides(model: ProjectModel) {\n const componentsToOverride = model.components.filter(\n isType(DevCenterComponent.EmbeddedScript)\n );\n\n if (componentsToOverride.length === 0) {\n return null;\n }\n\n return componentsToOverride.reduce<Record<string, ComponentOverride>>(\n (acc, component) => {\n const paramsOverride = component.paramsOverride || {};\n\n return {\n ...acc,\n [component.id]: {\n type: Type.EMBEDDED_SCRIPT,\n componentId: component.id,\n embeddedScriptOptions: { parameters: paramsOverride },\n },\n };\n },\n {}\n );\n}\n",null,"import React, { type FC, useState } from 'react';\nimport { match } from 'variant';\nimport { HomeScreen } from './HomeScreen.js';\nimport { SiteSelectorScreen } from './SiteSelectorScreen.js';\nimport { ScreenState } from './screen-state.js';\nimport { DashboardPagesScreen } from '../DashboardPages/DashboardPagesScreen.js';\n\nexport const DevCommandScreens: FC = () => {\n const [screen, setScreen] = useState<ScreenState>(ScreenState.Home());\n\n return match(screen, {\n Home: () => <HomeScreen onScreenChange={setScreen} />,\n SiteSelector: () => <SiteSelectorScreen onScreenChange={setScreen} />,\n DashboardPages: ({ selectorType }) => (\n <DashboardPagesScreen\n selectorType={selectorType}\n onSelect={() => setScreen(ScreenState.Home())}\n onClose={() => setScreen(ScreenState.Home())}\n />\n ),\n });\n};\n","import React, { type FC } from 'react';\nimport {\n Key,\n Box,\n Text,\n SuccessIcon,\n InfoIcon,\n PointerIcon,\n Link,\n useInput,\n Alert,\n} from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { useSiteId } from '../../site-id/index.js';\nimport { ScreenState } from './screen-state.js';\nimport { useDevEnvironment } from './DevEnvironment.js';\nimport { DevEnvLogsViewer } from './DevEnvLogsViewer.js';\nimport { PlatformSelector } from '../extensions/PlatformSelector.js';\nimport { useExtensions } from '../extensions/useExtensions.js';\nimport { DashboardPagesNumericViewer } from '../DashboardPages/DashboardPagesNumericViewer.js';\nimport { DashboardPagesSelector } from '../DashboardPages/DashboardPagesScreen.js';\n\ninterface Props {\n onScreenChange: (screen: ScreenState) => void;\n}\n\nexport const HomeScreen: FC<Props> = ({ onScreenChange }) => {\n const { site } = useSiteId();\n const { devServerUrl, https, writeLog } = useDevEnvironment();\n const { hasSinglePlatform, hasExtensions } = useExtensions();\n\n const openDevServerInBrowser = async () => {\n try {\n await openBrowser(devServerUrl);\n } catch (error) {\n writeLog({\n type: 'error',\n prefix: 'app',\n msg: (\n <Alert type=\"error\">\n <Trans\n i18nKey=\"dev_command.dev_environment.https_url.failed_to_open\"\n components={[<Link url={devServerUrl} />]}\n />\n </Alert>\n ),\n });\n }\n };\n\n useInput(async (input) => {\n if (input === 'c') {\n onScreenChange(ScreenState.SiteSelector());\n }\n if (input === 'a' && https) {\n await openDevServerInBrowser();\n }\n });\n\n return (\n <>\n <Box gap={1}>\n <Text skin=\"success\">\n <SuccessIcon />\n </Text>\n <Trans i18nKey=\"dev_command.dev_environment.started\" />\n </Box>\n <Box gap={1}>\n <InfoIcon />\n <Trans\n i18nKey=\"dev_command.dev_environment.url\"\n components={[<Link url={devServerUrl} />]}\n />\n </Box>\n {https && (\n <Box paddingLeft={2}>\n <Text skin=\"secondary\">\n <Trans\n components={[<Key value=\"A\" />]}\n i18nKey=\"dev_command.dev_environment.https_url.open_info\"\n />\n </Text>\n </Box>\n )}\n <Box gap={1}>\n <PointerIcon />\n <Trans\n i18nKey=\"general.dev_site.current\"\n values={{ name: site.displayName }}\n />\n </Box>\n <Box paddingLeft={2}>\n <Text skin=\"secondary\">\n <Trans\n i18nKey=\"dev_command.dev_site.change\"\n components={[<Key value=\"C\" />]}\n />\n </Text>\n </Box>\n <Box paddingTop={1} paddingBottom={1} flexDirection=\"column\">\n {!hasExtensions() ? (\n <Trans\n i18nKey=\"general.platform.none\"\n // Original link is:\n // https://dev.wix.com/docs/build-apps/developer-tools/cli/get-started/about-the-wix-cli-for-apps\n components={[<Link url=\"https://wix.to/b7o4Ml0\" />]}\n />\n ) : (\n <>\n <Trans\n i18nKey=\"general.view_changes\"\n components={[<Text skin=\"secondary\" />]}\n />\n {hasSinglePlatform(PlatformType.Dashboard()) ? (\n <DashboardPagesNumericViewer\n maxPages={3}\n onViewMore={() =>\n onScreenChange(\n ScreenState.DashboardPages({\n selectorType: DashboardPagesSelector.Arrow(),\n })\n )\n }\n />\n ) : (\n <PlatformSelector\n onMultipleDashboardPagesSelection={() =>\n onScreenChange(\n ScreenState.DashboardPages({\n selectorType: DashboardPagesSelector.Numeric(),\n })\n )\n }\n />\n )}\n </>\n )}\n </Box>\n <DevEnvLogsViewer />\n </>\n );\n};\n","export { SiteIdProvider } from './SiteIdProvider.js';\nexport { useSiteId } from './useSiteId.js';\n","import { fields, variant, type VariantOf } from 'variant';\nimport type { DashboardPagesSelector } from '../DashboardPages/DashboardPagesScreen.js';\n\nexport const ScreenState = variant({\n Home: {},\n SiteSelector: {},\n DashboardPages: fields<{ selectorType: DashboardPagesSelector }>(),\n});\n\nexport type ScreenState = VariantOf<typeof ScreenState>;\n","import React, { type FC } from 'react';\nimport { Text, Box } from '@wix/cli-ui-kit';\nimport { useTranslation, Trans } from '@wix/cli-i18n';\nimport { DEV_LOG_PATH } from '@wix/cli-app-definitions';\nimport { useDevEnvironment } from './DevEnvironment.js';\nimport { DevEnvLogLine } from './devEnvLogs/DevEnvLogLine.js';\n\nexport const DevEnvLogsViewer: FC = () => {\n const { t } = useTranslation();\n const { logs } = useDevEnvironment();\n const isEmpty = !logs.length;\n\n return (\n <>\n <Box gap={1}>\n <Trans\n i18nKey=\"dev_command.dev_env_logs.title\"\n components={[<Text skin={isEmpty ? 'secondary' : 'standard'} />]}\n values={{ path: DEV_LOG_PATH }}\n />\n </Box>\n {isEmpty && (\n <Text skin=\"secondary\">{t('dev_command.dev_env_logs.empty')}</Text>\n )}\n {logs.map((log) => {\n return <DevEnvLogLine key={log.timestamp.getTime()} {...log} />;\n })}\n </>\n );\n};\n","import React, { useCallback, type FC } from 'react';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { PointerSmallIcon, Key, useInput, Text, Box } from '@wix/cli-ui-kit';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { useExtensions } from './useExtensions.js';\nimport { openPage, resolvePlatformUrl } from './utils.js';\nimport { useDevEnvironment } from '../DevCommand/DevEnvironment.js';\n\ntype PlatformOptionProps = {\n inputKey: string;\n label: string;\n suffix?: React.ReactNode;\n disabled?: boolean;\n};\n\nconst PlatformOption: FC<PlatformOptionProps> = ({\n label,\n inputKey,\n suffix,\n disabled,\n}) => {\n const getTextSkin = () => (disabled ? 'secondary' : 'standard');\n\n return (\n <Box>\n <Box marginRight={1}>\n <Box marginRight={1}>\n <Text skin={getTextSkin()}>\n <PointerSmallIcon /> <Key value={inputKey} /> -\n </Text>\n </Box>\n <Box gap={1}>\n <Text skin={getTextSkin()}>{label}</Text>\n </Box>\n </Box>\n <Text skin={getTextSkin()}>{suffix}</Text>\n </Box>\n );\n};\n\ninterface PlatformSelector {\n onMultipleDashboardPagesSelection: () => void;\n}\n\nexport const PlatformSelector: FC<PlatformSelector> = ({\n onMultipleDashboardPagesSelection,\n}) => {\n const { writeLog, siteOverrideId } = useDevEnvironment();\n const { t } = useTranslation();\n const { isPlatformExists, dashboardPages, envConfig } = useExtensions();\n\n function onDashboardSelect() {\n if (dashboardPages.length === 1) {\n openPlatform(PlatformType.Dashboard({ route: dashboardPages[0].route }));\n } else {\n onMultipleDashboardPagesSelection();\n }\n }\n\n const openPlatform = useCallback(\n (platformType: PlatformType) => {\n openPage(\n {\n title: platformType.type,\n url: resolvePlatformUrl({\n envConfig,\n platformType,\n siteOverrideId,\n }),\n },\n writeLog\n );\n },\n [envConfig, writeLog, siteOverrideId]\n );\n\n useInput((input) => {\n if (input === 'd') {\n onDashboardSelect();\n }\n if (input === 'e') {\n openPlatform(PlatformType.Editor());\n }\n if (input === 's' && envConfig.site.viewUrl) {\n openPlatform(PlatformType.Site());\n }\n });\n\n return (\n <Box paddingLeft={2} flexDirection=\"column\">\n {isPlatformExists(PlatformType.Site()) && (\n <PlatformOption\n inputKey=\"S\"\n label={\n envConfig.site.viewUrl\n ? t('general.platform.site')\n : t('general.platform.unpublished_site')\n }\n disabled={!envConfig.site.viewUrl}\n />\n )}\n {isPlatformExists(PlatformType.Editor()) && (\n <PlatformOption inputKey=\"E\" label={t('general.platform.editor')} />\n )}\n {isPlatformExists(PlatformType.Dashboard()) && (\n <>\n {dashboardPages.length === 1 && (\n <PlatformOption\n inputKey=\"D\"\n label={t('general.platform.dashboard')}\n suffix={\n <Text skin=\"secondary\"> - {dashboardPages[0].route}</Text>\n }\n />\n )}\n {dashboardPages.length > 1 && (\n <PlatformOption\n inputKey=\"D\"\n label={t('general.platform.dashboard')}\n suffix={<Text>{String.fromCodePoint(0x25bc)}</Text>} // ▼\n />\n )}\n </>\n )}\n </Box>\n );\n};\n","import React, { type FC, type ReactNode, useMemo, useCallback } from 'react';\nimport { Box, Text, Key, PointerSmallIcon, useInput } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { useExtensions } from '../extensions/useExtensions.js';\nimport { openPage, resolvePlatformUrl } from '../extensions/utils.js';\nimport { useDevEnvironment } from '../DevCommand/DevEnvironment.js';\nimport type { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\n\nconst MAX_PAGES = 9;\n\nconst ListItem: FC<{\n itemNumber: number;\n children: ReactNode;\n}> = ({ itemNumber, children }) => {\n const keyValue = `${itemNumber}`;\n return (\n <Text>\n <PointerSmallIcon /> <Key value={keyValue} /> - {children}\n </Text>\n );\n};\n\ninterface NumericViewerProps {\n onViewMore: () => void;\n onSelect?: (page: DevCenterComponent<'DashboardPage'>) => void;\n maxPages?: number;\n}\n\nexport const DashboardPagesNumericViewer: FC<NumericViewerProps> = ({\n onViewMore,\n onSelect,\n maxPages = MAX_PAGES,\n}) => {\n const { writeLog } = useDevEnvironment();\n const { dashboardPages, envConfig } = useExtensions();\n\n const numberOfPagesToShow = useMemo(\n () =>\n dashboardPages.length <= maxPages ? dashboardPages.length : maxPages - 1,\n [dashboardPages, maxPages]\n );\n\n useInput((input) => {\n const inputNumber = Number(input);\n const viewMoreNumber = numberOfPagesToShow + 1;\n\n if (inputNumber > 0 && inputNumber <= viewMoreNumber) {\n const page = visiblePages.at(inputNumber - 1);\n const isViewMore = inputNumber === viewMoreNumber;\n\n if (page) {\n return handleSelect(page);\n } else if (isViewMore) {\n return onViewMore?.();\n }\n }\n });\n\n const { visiblePages, showMore } = useMemo(() => {\n return {\n visiblePages: dashboardPages.slice(0, numberOfPagesToShow),\n showMore: dashboardPages.length > numberOfPagesToShow,\n };\n }, [dashboardPages, numberOfPagesToShow]);\n\n const handleSelect = useCallback(\n async (page: DevCenterComponent<'DashboardPage'>) => {\n const url = resolvePlatformUrl({\n envConfig,\n platformType: PlatformType.Dashboard({ route: page.route }),\n });\n await openPage({ url, title: page.title }, writeLog);\n onSelect?.(page);\n },\n [onSelect, writeLog, envConfig]\n );\n\n return (\n <>\n <Trans i18nKey=\"general.dashboard_pages_viewer.title\" />\n <Box paddingLeft={2} flexDirection=\"column\">\n {visiblePages.map((page, index) => (\n <ListItem key={page.route} itemNumber={index + 1}>\n {page.title} (<Text skin=\"secondary\">{page.route}</Text>)\n </ListItem>\n ))}\n {showMore && (\n <ListItem itemNumber={maxPages}>\n <Trans i18nKey=\"general.dashboard_pages_viewer.show_more\" />\n </ListItem>\n )}\n </Box>\n </>\n );\n};\n","import React, { type FC, useState } from 'react';\nimport { match, variant, type VariantOf } from 'variant';\nimport { DashboardPagesNumericViewer } from './DashboardPagesNumericViewer.js';\nimport { DashboardPagesArrowViewer } from './DashboardPagesArrowViewer.js';\nimport { CloseScreen } from '../CloseScreen/CloseScreen.js';\nimport type { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\n\nexport const DashboardPagesSelector = variant({\n Arrow: {},\n Numeric: {},\n});\n\nexport type DashboardPagesSelector = VariantOf<typeof DashboardPagesSelector>;\n\ninterface Props {\n onSelect?: (page: DevCenterComponent<'DashboardPage'>) => void;\n onClose: () => void;\n selectorType: DashboardPagesSelector;\n}\n\nexport const DashboardPagesScreen: FC<Props> = ({\n onSelect,\n onClose,\n selectorType,\n}) => {\n const [_selectorType, setSelectorType] =\n useState<DashboardPagesSelector>(selectorType);\n\n return (\n <>\n {match(_selectorType, {\n Arrow: () => <DashboardPagesArrowViewer onSelect={onSelect} />,\n Numeric: () => (\n <DashboardPagesNumericViewer\n onSelect={onSelect}\n onViewMore={() => setSelectorType(DashboardPagesSelector.Arrow())}\n />\n ),\n })}\n <CloseScreen onClose={onClose} />\n </>\n );\n};\n","import React, { type FC, useCallback } from 'react';\nimport { SelectInput, type SelectOption } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { useExtensions } from '../extensions/useExtensions.js';\nimport { openPage, resolvePlatformUrl } from '../extensions/utils.js';\nimport { useDevEnvironment } from '../DevCommand/DevEnvironment.js';\nimport type { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\n\ninterface Props {\n onSelect?: (option: DevCenterComponent<'DashboardPage'>) => void;\n}\n\nexport const DashboardPagesArrowViewer: FC<Props> = ({ onSelect }) => {\n const { t } = useTranslation();\n const { writeLog } = useDevEnvironment();\n const { dashboardPages, envConfig } = useExtensions();\n\n const handleSubmit = useCallback(\n ({ value: page }: SelectOption<DevCenterComponent<'DashboardPage'>>) => {\n const url = resolvePlatformUrl({\n envConfig,\n platformType: PlatformType.Dashboard({ route: page.route }),\n });\n openPage({ url, title: page.title }, writeLog);\n onSelect?.(page);\n },\n [onSelect, writeLog, envConfig]\n );\n\n return (\n <SelectInput<DevCenterComponent<'DashboardPage'>>\n label={t('dev_command.dashboard_pages_screen.select_label')}\n options={dashboardPages.map((page) => ({\n key: page.route,\n title: page.title,\n description: page.route,\n value: page,\n }))}\n onSubmit={handleSubmit}\n />\n );\n};\n","import React, { type FC } from 'react';\nimport { Key, Box, Text, useInput } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\n\ninterface Props {\n onClose: () => void;\n}\n\nexport const CloseScreen: FC<Props> = ({ onClose }) => {\n useInput((_, key) => {\n if (key.escape) {\n onClose();\n }\n });\n\n return (\n <Box paddingTop={1}>\n <Text skin=\"secondary\">\n <Trans\n i18nKey=\"general.close_screen\"\n components={[<Key value=\"esc\" />]}\n />\n </Text>\n </Box>\n );\n};\n","import React, { type FC, useState, useCallback } from 'react';\nimport { Alert } from '@wix/cli-ui-kit';\nimport { ErrorViewer, useErrorReporter } from '@wix/cli-error-reporting';\nimport type { Site } from '@wix/site-list-client';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { SiteSelector } from '@wix/cli-site-selector';\nimport { useProjectModel } from '../../model.js';\nimport { useSiteId } from '../../site-id/index.js';\nimport { CloseScreen } from '../CloseScreen';\nimport { ScreenState } from './screen-state.js';\n\ninterface Props {\n onScreenChange: (screen: ScreenState) => void;\n}\n\nexport const SiteSelectorScreen: FC<Props> = ({ onScreenChange }) => {\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const { setSite } = useSiteId();\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);\n onScreenChange(ScreenState.Home());\n } catch (e) {\n handleError(e);\n }\n },\n [setSite, onScreenChange, handleError]\n );\n\n return (\n <>\n <SiteSelector\n appId={model.config.appId}\n onSubmit={handleSubmit}\n onError={handleError}\n />\n {error && (\n <ErrorViewer\n error={error}\n systemErrorOverride={\n <Alert type=\"error\">{t('dev_command.site_selector.error')}</Alert>\n }\n />\n )}\n <CloseScreen onClose={() => onScreenChange(ScreenState.Home())} />\n </>\n );\n};\n","export { CloseScreen } from './CloseScreen.js';\n"],"mappings":"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","names":["init_esm_shims","init_esm_shims","React","init_esm_shims","import_variant","React","createContext","useContext","init_esm_shims","import_variant","useCallback","createAppManifestWithBaseUrl","model","devServerUrl","manifest","createAppManifest","getComponentSourceBuilder","updateAppManifestWithBaseUrl","useArmUpdater","useProjectModel","writeDebugLog","useDebugLog","createAppRelease","updateAppRelease","useARMClient","useCallback","projectModelWatcher","onChange","onError","projectId","appManifest","appConfig","readAppConfig","armTag","tag","updateState","cause","saveAppConfig","error","newModel","changeType","updatedAppManifest","deepEqual","e","init_esm_shims","useRef","useCallback","useEffect","createServer","init_esm_shims","createCustomLogger","onLog","loggedErrors","warnedMessages","logger","msg","opts","error","useDevServer","https","devServerRef","useRef","model","useProjectModel","useEffect","useCallback","projectModelWatcher","onLog","devServer","createServer","getViteConfig","createCustomLogger","getViteServerUrl","init_esm_shims","React","useCallback","useEffect","useState","useMemo","init_esm_shims","EOL","createWriteStream","DevLogStream","projectFolder","opts","createWriteStream","getDevLogPath","content","EOL","err","init_esm_shims","React","DevEnvLogLine","type","msg","error","prefix","timestamp","React","Box_default","Text","ErrorViewer","ErrorMsg","React","Box_default","Alert","Trans","Text","DEV_LOG_PATH","MAX_LOGS_TO_SHOW","isMessageFiltered","message","useDevEnvLogs","model","useProjectModel","logs","setLogs","useState","insertLog","useCallback","genericLog","log","newLogs","renderer","stream","useMemo","createRendererToString","DevLogStream","writeLog","content","DevEnvLogLine","useEffect","init_esm_shims","useCallback","init_esm_shims","init_esm_shims","init_esm_shims","_createOverrideRequest","_createOverrideResponse","resolveWixCliV1SiteOverrideServiceUrl","opts","domainToMappings","resolveUrl","createOverride","payload","_a","serializer","_createOverrideRequest","toReq","fromReq","fromRes","_createOverrideResponse","__createOverride","host","serializedData","metadata","resolveWixCliV1SiteOverrideServiceUrl","init_esm_shims","createOverrideSchema","SiteOverrideClient","httpClient","minRetryTimeout","getTestOverrides","appId","siteId","overrides","siteOverrideId","data","pRetry","createOverride","createOverrideSchema","error","isHttpError","CliError","CliErrorCode","init_esm_shims","useMemo","useSiteOverrideClient","httpClient","useHttpClient","useMemo","SiteOverrideClient","init_esm_shims","import_variant","init_esm_shims","Type","createSiteOverrides","model","componentsToOverride","DevCenterComponent","acc","component","paramsOverride","Type","useSiteOverrideUpdater","model","useProjectModel","site","useSiteId","writeDebugLog","useDebugLog","createOverride","useSiteOverrideClient","useCallback","projectModelWatcher","appId","appConfig","readAppConfig","overrides","createSiteOverrides","siteOverrideId","newModel","changeType","updatedOverrides","deepEqual","saveAppConfig","error","DevEnvironmentContext","createContext","DevEnvironmentProvider","https","children","t","useTranslation","reportError","useErrorReporter","createDevServer","useDevServer","createArmUpdater","useArmUpdater","createSiteOverrideUpdater","useSiteOverrideUpdater","logs","writeLog","useDevEnvLogs","projectModelWatcher","useProjectModel","status","useAsync","devServerUrl","type","msg","armTag","changeType","error","siteOverrideId","React","Spinner","ArmTagProvider","useDevEnvironment","context","useContext","init_esm_shims","import_variant","React","useState","init_esm_shims","React","init_esm_shims","init_esm_shims","import_variant","ScreenState","init_esm_shims","React","DevEnvLogsViewer","t","useTranslation","logs","useDevEnvironment","isEmpty","React","Box_default","Trans","Text","DEV_LOG_PATH","log","DevEnvLogLine","init_esm_shims","React","useCallback","PlatformOption","label","inputKey","suffix","disabled","getTextSkin","React","Box_default","Text","PointerSmallIcon","Key","PlatformSelector","onMultipleDashboardPagesSelection","writeLog","siteOverrideId","useDevEnvironment","useTranslation","isPlatformExists","dashboardPages","envConfig","useExtensions","onDashboardSelect","openPlatform","PlatformType","useCallback","platformType","openPage","resolvePlatformUrl","use_input_default","input","init_esm_shims","React","useMemo","useCallback","MAX_PAGES","ListItem","itemNumber","children","keyValue","React","Text","PointerSmallIcon","Key","DashboardPagesNumericViewer","onViewMore","onSelect","maxPages","writeLog","useDevEnvironment","dashboardPages","envConfig","useExtensions","numberOfPagesToShow","useMemo","use_input_default","input","inputNumber","viewMoreNumber","page","visiblePages","isViewMore","handleSelect","showMore","useCallback","url","resolvePlatformUrl","PlatformType","openPage","Trans","Box_default","index","init_esm_shims","import_variant","React","useState","init_esm_shims","React","useCallback","DashboardPagesArrowViewer","onSelect","t","useTranslation","writeLog","useDevEnvironment","dashboardPages","envConfig","useExtensions","handleSubmit","useCallback","page","url","resolvePlatformUrl","PlatformType","openPage","React","SelectInput","init_esm_shims","React","CloseScreen","onClose","use_input_default","_","key","React","Box_default","Text","Trans","Key","DashboardPagesSelector","DashboardPagesScreen","onSelect","onClose","selectorType","_selectorType","setSelectorType","useState","React","DashboardPagesArrowViewer","DashboardPagesNumericViewer","CloseScreen","HomeScreen","onScreenChange","site","useSiteId","devServerUrl","https","writeLog","useDevEnvironment","hasSinglePlatform","hasExtensions","useExtensions","openDevServerInBrowser","openBrowser","React","Alert","Trans","Link","use_input_default","input","ScreenState","Box_default","Text","SuccessIcon","InfoIcon","Key","PointerIcon","PlatformType","DashboardPagesNumericViewer","DashboardPagesSelector","PlatformSelector","DevEnvLogsViewer","init_esm_shims","React","useState","useCallback","init_esm_shims","SiteSelectorScreen","onScreenChange","t","useTranslation","model","useProjectModel","setSite","useSiteId","reportError","useErrorReporter","error","setError","useState","handleError","useCallback","handleSubmit","site","ScreenState","e","React","SiteSelector","ErrorViewer","Alert","CloseScreen","DevCommandScreens","screen","setScreen","useState","ScreenState","React","HomeScreen","SiteSelectorScreen","selectorType","DashboardPagesScreen","DevCommand","https","React","SiteIdProvider","DevEnvironmentProvider","DevCommandScreens"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{d as b,e as c}from"./chunk-DF4D5JWF.js";import{a}from"./chunk-MWPJ22NN.js";import"./chunk-5575RXZG.js";import"./chunk-VMK5HC33.js";import"./chunk-NTAE6I4M.js";import"./chunk-ACRXISY6.js";import"./chunk-Q2OX64Q5.js";import"./chunk-4G4S755D.js";import"./chunk-JZGJM7PY.js";import"./chunk-ZYZVQVJV.js";import"./chunk-VMFKU4BM.js";import"./chunk-HFDLXX7R.js";export{a as PreviewCommand,c as validateBase,b as validateSite};
|
|
4
|
+
//# sourceMappingURL=PreviewCommand-YUT7MBJD.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{a as T,b as B}from"./chunk-EIA66VA3.js";import{a as j,b as U}from"./chunk-5575RXZG.js";import{c as A,d as h,e as M}from"./chunk-VMK5HC33.js";import"./chunk-NTAE6I4M.js";import{b as I}from"./chunk-Q2OX64Q5.js";import{i as F}from"./chunk-4G4S755D.js";import{B as C,F as s,G as y,l as t,o as S,p as x,q as g,s as P,y as w,z as E}from"./chunk-JZGJM7PY.js";import{b as _}from"./chunk-ZYZVQVJV.js";import{a as q,da as v}from"./chunk-VMFKU4BM.js";import{e as W,h as r}from"./chunk-HFDLXX7R.js";r();r();import l from"react";r();var k=W(q(),1);import c,{createContext as Q,useContext as X}from"react";r();import{preview as z}from"vite";import{useCallback as G,useEffect as H,useRef as J}from"react";function b(){let o=J(),{model:n}=v();return H(()=>()=>{o.current?.httpServer.close()},[]),G(async()=>{let i=await z(await B(n,{type:"build"}));return o.current=i,T(i)},[n])}var K=Q(null),d=({children:o})=>{let{model:n}=v(),{t:i}=y(),V=F(),D=b(),{status:L}=C(async()=>{await U(n.projectFolder);let m=await D(),a=await I(n.projectFolder),O=_(a,m);return{armTag:await V.createAppRelease(O,n.config.projectId),serverUrl:m}},[]);return(0,k.match)(L,{Error:()=>null,Loading:()=>c.createElement(E,{text:i("serve_command.starting_serve_environment")}),Success:({result:{armTag:m,serverUrl:a}})=>c.createElement(K.Provider,{value:{serverUrl:a}},c.createElement(h,{armTag:m},o))})};function f(){let o=X(K);if(o===null)throw new Error("useServeEnvironment() cannot be used without an <ServeEnvironmentProvider>");return o}r();import e from"react";function N(){let{site:o}=M(),{serverUrl:n}=f();return e.createElement(t,{flexDirection:"column"},e.createElement(t,{gap:1},e.createElement(S,{skin:"success"},e.createElement(P,null)),e.createElement(s,{i18nKey:"serve_command.starting_serve_environment_success",components:[e.createElement(w,{url:n})]})),e.createElement(t,{gap:1},e.createElement(x,null),e.createElement(s,{i18nKey:"serve_command.production_build"})),e.createElement(t,{gap:1,paddingTop:1,paddingBottom:1},e.createElement(g,null),e.createElement(s,{i18nKey:"general.dev_site.current",values:{name:o.displayName}})),e.createElement(t,{paddingBottom:1,flexDirection:"column"},e.createElement(j,null)))}var Y=()=>l.createElement(A,null,l.createElement(d,null,l.createElement(N,null)));export{Y as ServeCommand,d as ServeEnvironmentProvider,f as useServeEnvironment};
|
|
4
|
+
//# sourceMappingURL=ServeCommand-6EQIDSKT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ServeCommand/index.ts","../src/components/ServeCommand/ServeCommand.tsx","../src/components/ServeCommand/ServeEnvironment.tsx","../src/components/ServeCommand/hooks/usePreviewServer.ts","../src/components/ServeCommand/ServeCommandScreen.tsx"],"sourcesContent":["export { ServeCommand } from './ServeCommand.js';\nexport {\n ServeEnvironmentProvider,\n useServeEnvironment,\n} from './ServeEnvironment.js';\n","import React, { type FC } from 'react';\nimport { SiteIdProvider } from '../../site-id/SiteIdProvider.js';\nimport { ServeEnvironmentProvider } from './ServeEnvironment.js';\nimport { ServeCommandScreen } from './ServeCommandScreen.js';\n\nexport const ServeCommand: FC = () => {\n return (\n <SiteIdProvider>\n <ServeEnvironmentProvider>\n <ServeCommandScreen />\n </ServeEnvironmentProvider>\n </SiteIdProvider>\n );\n};\n","import React, {\n type FC,\n type ReactNode,\n createContext,\n useContext,\n} from 'react';\nimport { match } from 'variant';\nimport { updateAppManifestWithBaseUrl } from '@wix/cli-app-manifest';\nimport { useARMClient } from '@wix/arm-client';\nimport { Spinner, useAsync } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { ArmTagProvider } from '../../context/armTag.js';\nimport { readAppManifestFile } from '../../app-manifest/file.js';\nimport { assertBuildOutputExists } from '../../files/assert-build-output-exists.js';\nimport { usePreviewServer } from './hooks/usePreviewServer.js';\nimport { useProjectModel } from '../../model.js';\n\ntype ServeEnvironment = {\n serverUrl: string;\n};\n\nconst ServeEnvironmentContext = createContext<ServeEnvironment | null>(null);\n\nexport const ServeEnvironmentProvider: FC<{\n children: ReactNode;\n}> = ({ children }) => {\n const { model } = useProjectModel();\n const { t } = useTranslation();\n const arm = useARMClient();\n const createPreviewServer = usePreviewServer();\n\n const { status } = useAsync(async () => {\n await assertBuildOutputExists(model.projectFolder);\n const serverUrl = await createPreviewServer();\n\n const manifest = await readAppManifestFile(model.projectFolder);\n const updatedManifest = updateAppManifestWithBaseUrl(manifest, serverUrl);\n\n const armTag = await arm.createAppRelease(\n updatedManifest,\n model.config.projectId\n );\n\n return { armTag, serverUrl };\n }, []);\n\n return match(status, {\n Error: () => null,\n Loading: () => (\n <Spinner text={t('serve_command.starting_serve_environment')}></Spinner>\n ),\n Success: ({ result: { armTag, serverUrl } }) => (\n <ServeEnvironmentContext.Provider value={{ serverUrl }}>\n <ArmTagProvider armTag={armTag}>{children}</ArmTagProvider>\n </ServeEnvironmentContext.Provider>\n ),\n });\n};\n\nexport function useServeEnvironment(): ServeEnvironment {\n const context = useContext(ServeEnvironmentContext);\n if (context === null) {\n throw new Error(\n 'useServeEnvironment() cannot be used without an <ServeEnvironmentProvider>'\n );\n }\n return context;\n}\n","import { preview, type PreviewServer } from 'vite';\nimport { useCallback, useEffect, useRef } from 'react';\nimport { useProjectModel } from '../../../model.js';\nimport { getViteConfig } from '../../../vite/index.js';\nimport { getViteServerUrl } from '../../../vite/vite-server-url.js';\nimport { ConfigType } from '../../../vite/vite-config-options.js';\n\nexport function usePreviewServer() {\n const previewServerRef = useRef<PreviewServer>();\n const { model } = useProjectModel();\n\n useEffect(() => {\n return () => {\n previewServerRef.current?.httpServer.close();\n };\n }, []);\n\n return useCallback(async () => {\n const previewServer = await preview(\n await getViteConfig(model, { type: ConfigType.build })\n );\n\n previewServerRef.current = previewServer;\n\n return getViteServerUrl(previewServer);\n }, [model]);\n}\n","import {\n Box,\n InfoIcon,\n Link,\n PointerIcon,\n SuccessIcon,\n Text,\n} from '@wix/cli-ui-kit';\nimport React from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { useSiteId } from '../../site-id/useSiteId.js';\nimport { useServeEnvironment } from './ServeEnvironment.js';\nimport { PlatformViewer } from '../extensions/PlatformViewer.js';\n\nexport function ServeCommandScreen() {\n const { site } = useSiteId();\n const { serverUrl } = useServeEnvironment();\n\n return (\n <Box flexDirection=\"column\">\n <Box gap={1}>\n <Text skin=\"success\">\n <SuccessIcon />\n </Text>\n <Trans\n i18nKey=\"serve_command.starting_serve_environment_success\"\n components={[<Link url={serverUrl} />]}\n />\n </Box>\n <Box gap={1}>\n <InfoIcon />\n <Trans i18nKey=\"serve_command.production_build\" />\n </Box>\n <Box gap={1} paddingTop={1} paddingBottom={1}>\n <PointerIcon />\n <Trans\n i18nKey=\"general.dev_site.current\"\n values={{ name: site.displayName }}\n />\n </Box>\n <Box paddingBottom={1} flexDirection=\"column\">\n <PlatformViewer />\n </Box>\n </Box>\n );\n}\n"],"mappings":"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","names":["init_esm_shims","init_esm_shims","React","init_esm_shims","import_variant","React","createContext","useContext","init_esm_shims","preview","useCallback","useEffect","useRef","usePreviewServer","previewServerRef","useRef","model","useProjectModel","useEffect","useCallback","previewServer","preview","getViteConfig","getViteServerUrl","ServeEnvironmentContext","createContext","ServeEnvironmentProvider","children","model","useProjectModel","t","useTranslation","arm","useARMClient","createPreviewServer","usePreviewServer","status","useAsync","assertBuildOutputExists","serverUrl","manifest","readAppManifestFile","updatedManifest","updateAppManifestWithBaseUrl","React","Spinner","armTag","ArmTagProvider","useServeEnvironment","context","useContext","init_esm_shims","React","ServeCommandScreen","site","useSiteId","serverUrl","useServeEnvironment","React","Box_default","Text","SuccessIcon","Trans","Link","InfoIcon","PointerIcon","PlatformViewer","ServeCommand","React","SiteIdProvider","ServeEnvironmentProvider","ServeCommandScreen"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{a as m,b as c,c as a}from"./chunk-DA3635LY.js";import{b as n}from"./chunk-EIA66VA3.js";import{a as p}from"./chunk-Q2OX64Q5.js";import"./chunk-ZYZVQVJV.js";import{ba as i,c as t,d as e}from"./chunk-VMFKU4BM.js";import{h as r}from"./chunk-HFDLXX7R.js";r();import{cwd as f}from"node:process";import{build as s}from"vite";async function S(){let o=await i(f());if(o.components.length===0)throw new t({code:e.NoExtensionsFound()});m(o.components);let d=await s(await n(o,{type:"build"})).catch(()=>{throw new t({code:e.FailedToBuildApp()})}),l=await c({appId:o.config.appId,components:o.components,sentryDSN:o.config.sentryDSN,componentSourceBuilder:a({model:o,buildOutput:d})});await p({projectFolder:o.projectFolder,manifest:l})}export{S as build};
|
|
4
|
+
//# sourceMappingURL=build-2Z6AK6IG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/build.ts"],"sourcesContent":["import { cwd } from 'node:process';\nimport { build as viteBuild } from 'vite';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { loadProjectModel } from './model.js';\nimport { getViteConfig } from './vite/index.js';\nimport { writeAppManifestFile } from './app-manifest/file.js';\nimport { createAppManifest } from './app-manifest/create.js';\nimport { getComponentSourceBuilder } from './app-manifest/component-source.js';\nimport { ConfigType } from './vite/vite-config-options.js';\nimport { validateComponents } from './app-manifest/validate.js';\n\nexport async function build() {\n const projectModel = await loadProjectModel(cwd());\n\n // Validate before building the project, to fail fast in case of a validation issue\n if (projectModel.components.length === 0) {\n throw new CliError({\n code: CliErrorCode.NoExtensionsFound(),\n });\n }\n validateComponents(projectModel.components);\n const buildOutput = await viteBuild(\n await getViteConfig(projectModel, { type: ConfigType.build })\n ).catch(() => {\n throw new CliError({\n code: CliErrorCode.FailedToBuildApp(),\n });\n });\n\n const manifest = await createAppManifest({\n appId: projectModel.config.appId,\n components: projectModel.components,\n sentryDSN: projectModel.config.sentryDSN,\n componentSourceBuilder: getComponentSourceBuilder({\n model: projectModel,\n buildOutput,\n }),\n });\n\n await writeAppManifestFile({\n projectFolder: projectModel.projectFolder,\n manifest,\n });\n}\n"],"mappings":";;iQAAAA,IAAA,OAAS,OAAAC,MAAW,eACpB,OAAS,SAASC,MAAiB,OAUnC,eAAsBC,GAAQ,CAC5B,IAAMC,EAAe,MAAMC,EAAiBC,EAAI,CAAC,EAGjD,GAAIF,EAAa,WAAW,SAAW,EACrC,MAAM,IAAIG,EAAS,CACjB,KAAMC,EAAa,kBAAkB,CACvC,CAAC,EAEHC,EAAmBL,EAAa,UAAU,EAC1C,IAAMM,EAAc,MAAMC,EACxB,MAAMC,EAAcR,EAAc,CAAE,YAAuB,CAAC,CAC9D,EAAE,MAAM,IAAM,CACZ,MAAM,IAAIG,EAAS,CACjB,KAAMC,EAAa,iBAAiB,CACtC,CAAC,CACH,CAAC,EAEKK,EAAW,MAAMC,EAAkB,CACvC,MAAOV,EAAa,OAAO,MAC3B,WAAYA,EAAa,WACzB,UAAWA,EAAa,OAAO,UAC/B,uBAAwBW,EAA0B,CAChD,MAAOX,EACP,YAAAM,CACF,CAAC,CACH,CAAC,EAED,MAAMM,EAAqB,CACzB,cAAeZ,EAAa,cAC5B,SAAAS,CACF,CAAC,CACH","names":["init_esm_shims","cwd","viteBuild","build","projectModel","loadProjectModel","cwd","CliError","CliErrorCode","validateComponents","buildOutput","viteBuild","getViteConfig","manifest","createAppManifest","getComponentSourceBuilder","writeAppManifestFile"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{F as W,Q as k,c as v,d as x,f,h as J,i as T,j as E,m as H,o as z,w as j,y as V}from"./chunk-JZGJM7PY.js";import{G as O,J as $,a as b,c as u,d as g,h as m,i as C,m as M,n as I,o as U}from"./chunk-VMFKU4BM.js";import{e as q,h as s}from"./chunk-HFDLXX7R.js";s();s();var te={},re={};var ae={},se={},oe={},ie={};function N(r){var e={"api._api_base_domain_":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"bo._base_domain_":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"www._base_domain_":[{srcPath:"/apps-release-manager-service-web/artifacts-release-manager/app-releases",destPath:"/artifacts-release-manager/app-releases"},{srcPath:"/_api/apps-release-manager-service-web/artifacts-release-manager/app-releases",destPath:"/artifacts-release-manager/app-releases"},{srcPath:"/apps-release-manager-service-web/apps/create",destPath:"/apps/create"},{srcPath:"/apps-release-manager-service-web/apps/promote",destPath:"/apps/promote"},{srcPath:"/apps-release-manager-service-web/apps/tags",destPath:"/apps/tags"}],"manage._base_domain_":[{srcPath:"/apps-release-manager-service-web/apps/promote",destPath:"/apps/promote"},{srcPath:"/apps-release-manager-service-web/apps/create",destPath:"/apps/create"},{srcPath:"/apps-release-manager-service-web/apps/tags",destPath:"/apps/tags"}]};return x(Object.assign(r,{domainToMappings:e}))}function Q(r){var e=f(te,{}),t=e.toJSON,a=e.fromJSON,i=f(re,{}).fromJSON;function o(c){var d=c.host,l=t(r),h={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.CreateAppRelease",url:N({protoPath:"/apps/create/{appId}",data:l,host:d}),data:l,transformResponse:i};return h}return o.fromReq=a,o.__isAmbassador=!0,o}function G(r){var e=f(oe,{}),t=e.toJSON,a=e.fromJSON,i=f(ie,{}).fromJSON;function o(c){var d=c.host,l=t(r),h={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"PUT",methodFqn:"com.wix.ctp.AppsReleaseManagerService.UpdateAppRelease",url:N({protoPath:"/apps/tags/{tag}",data:l,host:d}),data:l,transformResponse:i};return h}return o.fromReq=a,o.__isAmbassador=!0,o}function B(r){var e=f(ae,{}),t=e.toJSON,a=e.fromJSON,i=f(se,{}).fromJSON;function o(c){var d=c.host,l=t(r),h={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.PromoteAppReleaseToDevCenter",url:N({protoPath:"/apps/promote/{appId}/{tag}",data:l,host:d}),data:l,transformResponse:i};return h}return o.fromReq=a,o.__isAmbassador=!0,o}var P=q(b(),1);s();var K=m.object({newVersion:m.string()}),X=m.object({tag:m.string()});var{AppPermissionDenied:Y}=g,Z=(0,P.variant)({TagUpdated:{},TagNotFound:(0,P.fields)()}),y=class{constructor(e){this.httpClient=e;let{minRetryTimeout:t}=C();this.retryOptions={retries:3,minTimeout:t,maxTimeout:3*1e3}}retryOptions;createAppRelease=async(e,t)=>{try{let{data:a}=await v(()=>this.httpClient.request(Q({appId:e.appId,componentConfigs:e.components,projectId:t})),this.retryOptions);return X.parse(a).tag}catch(a){throw T(a)&&a.response?.status===403?new u({code:Y({appId:e.appId}),cause:a}):new u({code:g.FailedToCreateAppRelease(),cause:a})}};updateAppRelease=async(e,t)=>{try{return await v(()=>this.httpClient.request(G({appId:e.appId,componentConfigs:e.components,tag:t})),this.retryOptions),Z.TagUpdated()}catch(a){if(T(a)){if(a.response?.status===404)return Z.TagNotFound({cause:a});if(a.response?.status===403)throw new u({code:Y({appId:e.appId}),cause:a})}throw new u({code:g.FailedToUpdateAppRelease(),cause:a})}};promoteToDevCenter=async(e,t,a)=>{let{data:i}=await v(()=>this.httpClient.request(B({appId:e,tag:t,versionType:a})),this.retryOptions);return K.parse(i)}};s();import{useMemo as ne}from"react";s();s();import{useMemo as pe}from"react";function _({type:r}){let{getAccessToken:e}=E();return pe(()=>J({type:r,getAppToken:e}),[r,e])}function me(){let r=_({type:"backoffice"});return ne(()=>new y(r),[r])}s();s();s();var ce={},le={sites:"_site"},de={createdDate:"google.protobuf.Timestamp",updatedDate:"google.protobuf.Timestamp",trashedDate:"google.protobuf.Timestamp"};function fe(r){var e={"www._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"},{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"feedback._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"}],"manage._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"},{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"},{srcPath:"/_api/sites-list-data",destPath:"/api/sites-list-data"}],"www.wixapis.com":[{srcPath:"/site-list/v2/sites",destPath:"/v2/sites"}],"api._api_base_domain_":[{srcPath:"/sites-list",destPath:""}],"bo._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"dev._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}]};return x(Object.assign(r,{domainToMappings:e}))}function D(r){var e=f(ce,{}),t=e.toJSON,a=e.fromJSON,i=f(le,{_site:de}).fromJSON;function o(c){var d=c.host,l=t(r),h={entityFqdn:"wix.site_list.v2.site",method:"POST",methodFqn:"com.wixpress.sitelist.api.SiteListServiceV2.QuerySites",url:fe({protoPath:"/v2/sites/query",data:l,host:d}),data:l,transformResponse:i};return h}return o.fromReq=a,o}s();var ue=m.object({id:m.string(),displayName:m.string(),viewUrl:m.union([m.string().url(),m.literal("")]).optional()}),F=m.object({sites:m.array(ue)});var R=class{constructor(e){this.httpClient=e;let{minRetryTimeout:t}=C();this.retryOptions={retries:3,minTimeout:t,maxTimeout:3*1e3}}retryOptions;querySites=async(e={})=>{try{let{data:t}=await v(()=>this.httpClient.request(D(e)),this.retryOptions);return F.parse(t).sites}catch(t){throw new u({code:g.FailedToQuerySites(),cause:t,info:{...e}})}};getSite=async e=>{try{let{data:t}=await v(()=>this.httpClient.request(D({query:{filter:{id:{$in:[e]}}}})),this.retryOptions),{sites:a}=F.parse(t);return a.at(0)??null}catch(t){throw new u({code:g.FailedToGetSite(),cause:t,info:{id:e}})}}};s();import{useMemo as he}from"react";function ge(){let r=_({type:"backoffice"});return he(()=>new R(r),[r])}s();s();async function L(r,e){let t=O(r);if(!await U(t))return null;try{let i=await I(t),o=await $.safeParseAsync(i);return o.success?o.data:null}catch(i){return e?.(i),null}}async function Rt(r,e){let a={...await L(r)??{},...e};await M(O(r),a)}s();var S=q(b(),1),A=(0,S.variant)({NotConfigured:{},NotFound:(0,S.fields)(),Resolved:(0,S.fields)()});s();async function qt({projectFolder:r,siteListClient:{getSite:e},siteId:t,writeDebugLog:a}){let i=t||(await L(r,a))?.siteId;if(!i)return A.NotConfigured();let o=await e(i);return o?A.Resolved({site:o}):A.NotFound({id:i})}s();import w from"react";var ee=q(b(),1);function Lt({envConfig:r,platformType:e,siteOverrideId:t}){let{appId:a,site:i,tag:o}=r;return(0,ee.match)(e,{Dashboard:({route:c})=>{let d=new URL(`dashboard/${i.id}/app/${a}${c??"/"}`,"https://manage.wix.com/");return d.searchParams.append("apps-override",o),d.toString()},Editor:()=>new URL(`https://wix.com/editor/${i.id}`).toString(),Site:()=>{let c=new URL(i.viewUrl);return t&&c.searchParams.append("site-override",t),c.searchParams.append("apps-override",o),c.toString()}})}var Jt=async({url:r,title:e},t)=>{try{await k(r)}catch{t({type:"error",prefix:"app",msg:w.createElement(j,{type:"error"},w.createElement(W,{i18nKey:"general.open_page_error",components:[w.createElement(z,{bold:!0})],values:{title:e}}),w.createElement(H,null),w.createElement(V,{url:r}))})}};export{R as a,_ as b,ge as c,L as d,Rt as e,A as f,qt as g,y as h,me as i,Lt as j,Jt as k};
|
|
4
|
+
//# sourceMappingURL=chunk-4G4S755D.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../arm-client/src/client.ts","../../../node_modules/@wix/ambassador-ctp-gradual-rollout-v1-app-config/http.impl.ts","../../arm-client/src/schemas.ts","../../arm-client/src/useARMClient.ts","../../cli-http-client-react/src/index.ts","../../cli-http-client-react/src/useHttpClient.ts","../../arm-client/src/index.ts","../../site-list-client/src/site-list-client.ts","../../../node_modules/@wix/ambassador-site-list-v2-site/http.impl.ts","../../site-list-client/src/schemas.ts","../../site-list-client/src/useSiteListClient.ts","../../site-list-client/src/index.ts","../src/files/app.config.ts","../src/site-id/site-id-state.ts","../src/site-id/resolve-configured-site.ts","../src/components/extensions/utils.tsx"],"sourcesContent":["import type { HttpClient, HttpError } from '@wix/cli-http-client';\nimport type { AppManifest } from '@wix/cli-app-manifest';\nimport type { Options } from 'p-retry';\nimport type { VersionType } from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\nimport {\n createAppRelease,\n promoteAppReleaseToDevCenter,\n updateAppRelease,\n} from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/http';\nimport pRetry from 'p-retry';\nimport { fields, variant } from 'variant';\nimport { isHttpError } from '@wix/cli-http-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { createAppReleaseSchema, promoteAppReleaseSchema } from './schemas.js';\n\nconst { AppPermissionDenied } = CliErrorCode;\n\nexport const UpdateAppReleaseData = variant({\n TagUpdated: {},\n TagNotFound: fields<{ cause: HttpError }>(),\n});\n\nexport class ARMClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n createAppRelease = async (manifest: AppManifest, projectId?: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createAppRelease({\n appId: manifest.appId,\n componentConfigs: manifest.components,\n projectId,\n })\n ),\n this.retryOptions\n );\n\n return createAppReleaseSchema.parse(data).tag;\n } catch (e) {\n if (isHttpError(e) && e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId: manifest.appId }),\n cause: e,\n });\n }\n throw new CliError({\n code: CliErrorCode.FailedToCreateAppRelease(),\n cause: e,\n });\n }\n };\n\n updateAppRelease = async (manifest: AppManifest, tag: string) => {\n try {\n await pRetry(\n () =>\n this.httpClient.request(\n updateAppRelease({\n appId: manifest.appId,\n componentConfigs: manifest.components,\n tag,\n })\n ),\n this.retryOptions\n );\n\n return UpdateAppReleaseData.TagUpdated();\n } catch (e) {\n if (isHttpError(e)) {\n if (e.response?.status === 404) {\n return UpdateAppReleaseData.TagNotFound({ cause: e });\n }\n if (e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId: manifest.appId }),\n cause: e,\n });\n }\n }\n throw new CliError({\n code: CliErrorCode.FailedToUpdateAppRelease(),\n cause: e,\n });\n }\n };\n\n promoteToDevCenter = async (\n appId: string,\n tag: string,\n versionType: VersionType\n ) => {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n promoteAppReleaseToDevCenter({ appId, tag, versionType })\n ),\n this.retryOptions\n );\n\n return promoteAppReleaseSchema.parse(data);\n };\n}\n",null,"import { z } from 'zod';\n\nexport const promoteAppReleaseSchema = z.object({\n newVersion: z.string(),\n});\n\nexport const createAppReleaseSchema = z.object({\n tag: z.string(),\n});\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { ARMClient } from './client.js';\n\nexport function useARMClient(): ARMClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new ARMClient(httpClient), [httpClient]);\n}\n","export { useHttpClient } from './useHttpClient.js';\n","import { useMemo } from 'react';\nimport { useAuth } from '@wix/cli-auth';\nimport type { CreateHttpClientOptions, HttpClient } from '@wix/cli-http-client';\nimport { createHttpClient } from '@wix/cli-http-client';\n\nexport function useHttpClient({\n type,\n}: Pick<CreateHttpClientOptions, 'type'>): HttpClient {\n const { getAccessToken: getAppToken } = useAuth();\n\n return useMemo(\n () => createHttpClient({ type, getAppToken }),\n [type, getAppToken]\n );\n}\n","export { ARMClient } from './client.js';\nexport { useARMClient } from './useARMClient.js';\n","import pRetry from 'p-retry';\nimport type { Options } from 'p-retry';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { QuerySitesRequest } from '@wix/ambassador-site-list-v2-site/types';\nimport { querySites } from '@wix/ambassador-site-list-v2-site/http';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { querySitesSchema } from './schemas.js';\n\nexport class SiteListClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n querySites = async (opts: QuerySitesRequest = {}) => {\n try {\n const { data } = await pRetry(\n () => this.httpClient.request(querySites(opts)),\n this.retryOptions\n );\n\n return querySitesSchema.parse(data).sites;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToQuerySites(),\n cause: e,\n info: { ...opts },\n });\n }\n };\n\n getSite = async (id: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n querySites({ query: { filter: { id: { $in: [id] } } } })\n ),\n this.retryOptions\n );\n\n const { sites } = querySitesSchema.parse(data);\n return sites.at(0) ?? null;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSite(),\n cause: e,\n info: { id },\n });\n }\n };\n}\n",null,"import { z } from 'zod';\n\nexport const siteSchema = z.object({\n id: z.string(),\n displayName: z.string(),\n viewUrl: z.union([z.string().url(), z.literal('')]).optional(),\n});\n\nexport const querySitesSchema = z.object({\n sites: z.array(siteSchema),\n});\n\nexport type Site = z.TypeOf<typeof siteSchema>;\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { SiteListClient } from './site-list-client.js';\n\nexport function useSiteListClient(): SiteListClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new SiteListClient(httpClient), [httpClient]);\n}\n","export { SiteListClient } from './site-list-client.js';\nexport type { Site } from './schemas.js';\nexport { useSiteListClient } from './useSiteListClient.js';\n","import type { WriteDebugLogFn } from '@wix/cli-debug-log';\nimport { pathExists, readJson, writeJson } from '@wix/cli-fs';\nimport {\n type AppConfig,\n getAppConfigPath,\n appConfigSchema,\n} from '@wix/cli-app-definitions';\n\nexport async function readAppConfig(\n projectFolder: string,\n writeDebugLog?: WriteDebugLogFn\n) {\n const configPath = getAppConfigPath(projectFolder);\n const isConfigExist = await pathExists(configPath);\n\n if (!isConfigExist) {\n return null;\n }\n\n try {\n const json = await readJson(configPath);\n const appConfig = await appConfigSchema.safeParseAsync(json);\n\n if (!appConfig.success) {\n return null;\n }\n\n return appConfig.data;\n } catch (e) {\n writeDebugLog?.(e);\n return null;\n }\n}\n\nexport async function saveAppConfig(projectFolder: string, config: AppConfig) {\n const currentConfig = (await readAppConfig(projectFolder)) ?? {};\n const newConfig = {\n ...currentConfig,\n ...config,\n };\n\n await writeJson(getAppConfigPath(projectFolder), newConfig);\n}\n","import { variant, fields, type VariantOf, type TypeNames } from 'variant';\nimport { type Site } from '@wix/site-list-client';\n\nexport const SiteIdState = variant({\n NotConfigured: {},\n NotFound: fields<{ id: string }>(),\n Resolved: fields<{ site: Site }>(),\n});\n\nexport type SiteIdState<T extends TypeNames<typeof SiteIdState> = undefined> =\n VariantOf<typeof SiteIdState, T>;\n","import type { SiteListClient } from '@wix/site-list-client';\nimport type { WriteDebugLogFn } from '@wix/cli-debug-log';\nimport { readAppConfig } from '../files/app.config.js';\nimport { SiteIdState } from './site-id-state.js';\n\nexport async function resolveConfiguredSite({\n projectFolder,\n siteListClient: { getSite },\n siteId,\n writeDebugLog,\n}: {\n projectFolder: string;\n siteListClient: SiteListClient;\n siteId?: string;\n writeDebugLog?: WriteDebugLogFn;\n}) {\n const resolvedSiteId = !siteId\n ? (await readAppConfig(projectFolder, writeDebugLog))?.siteId\n : siteId;\n\n if (!resolvedSiteId) {\n return SiteIdState.NotConfigured();\n }\n\n const site = await getSite(resolvedSiteId);\n\n if (!site) {\n return SiteIdState.NotFound({ id: resolvedSiteId });\n }\n\n return SiteIdState.Resolved({ site });\n}\n","import React from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { match } from 'variant';\nimport { openBrowser } from '@wix/user-browser';\nimport { Alert, Link, Text, Newline } from '@wix/cli-ui-kit';\nimport type { PlatformType } from '@wix/cli-app-definitions';\nimport type { EnvConfig } from './useExtensions.js';\nimport type { WriteLogFn } from '../DevCommand/devEnvLogs/useDevEnvLogs.js';\n\nexport function resolvePlatformUrl({\n envConfig,\n platformType,\n siteOverrideId,\n}: {\n envConfig: EnvConfig;\n platformType: PlatformType;\n siteOverrideId?: string;\n}) {\n const { appId, site, tag } = envConfig;\n return match(platformType, {\n Dashboard: ({ route }) => {\n const dashboardUrl = new URL(\n `dashboard/${site.id}/app/${appId}${route ?? '/'}`,\n 'https://manage.wix.com/'\n );\n dashboardUrl.searchParams.append('apps-override', tag);\n return dashboardUrl.toString();\n },\n Editor: () => new URL(`https://wix.com/editor/${site.id}`).toString(),\n Site: () => {\n const siteUrl = new URL(site.viewUrl!);\n if (siteOverrideId) {\n siteUrl.searchParams.append('site-override', siteOverrideId);\n }\n siteUrl.searchParams.append('apps-override', tag);\n return siteUrl.toString();\n },\n });\n}\n\nexport const openPage = async (\n { url, title }: { url: string; title: string },\n writeLog: WriteLogFn\n) => {\n try {\n await openBrowser(url);\n } catch (error) {\n writeLog({\n type: 'error',\n prefix: 'app',\n msg: (\n <Alert type=\"error\">\n <Trans\n i18nKey=\"general.open_page_error\"\n components={[<Text bold />]}\n values={{ title }}\n />\n <Newline />\n <Link url={url} />\n </Alert>\n ),\n });\n }\n};\n"],"mappings":"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","names":["init_esm_shims","init_esm_shims","_createAppReleaseRequest","_createAppReleaseResponse","_promoteAppReleaseToDevCenterRequest","_promoteAppReleaseToDevCenterResponse","_updateAppReleaseRequest","_updateAppReleaseResponse","resolveComWixCtpAppsReleaseManagerServiceUrl","opts","domainToMappings","resolveUrl","createAppRelease","payload","_a","serializer","_createAppReleaseRequest","toReq","fromReq","fromRes","_createAppReleaseResponse","__createAppRelease","host","serializedData","metadata","updateAppRelease","__updateAppRelease","promoteAppReleaseToDevCenter","payload","_a","serializer","_promoteAppReleaseToDevCenterRequest","toReq","fromReq","fromRes","_promoteAppReleaseToDevCenterResponse","__promoteAppReleaseToDevCenter","host","serializedData","metadata","resolveComWixCtpAppsReleaseManagerServiceUrl","import_variant","init_esm_shims","promoteAppReleaseSchema","z","createAppReleaseSchema","AppPermissionDenied","CliErrorCode","UpdateAppReleaseData","ARMClient","httpClient","minRetryTimeout","getTestOverrides","manifest","projectId","data","pRetry","createAppRelease","createAppReleaseSchema","e","isHttpError","CliError","tag","updateAppRelease","appId","versionType","promoteAppReleaseToDevCenter","promoteAppReleaseSchema","init_esm_shims","useMemo","init_esm_shims","init_esm_shims","useMemo","useHttpClient","type","getAppToken","useAuth","useMemo","createHttpClient","useARMClient","httpClient","useHttpClient","useMemo","ARMClient","init_esm_shims","init_esm_shims","init_esm_shims","_querySitesRequest","_querySitesResponse","_site","resolveComWixpressSitelistApiSiteListServiceV2Url","opts","domainToMappings","resolveUrl","querySites","payload","_a","serializer","toReq","fromReq","fromRes","__querySites","host","serializedData","metadata","init_esm_shims","siteSchema","z","querySitesSchema","SiteListClient","httpClient","minRetryTimeout","getTestOverrides","opts","data","pRetry","querySites","querySitesSchema","e","CliError","CliErrorCode","id","sites","init_esm_shims","useMemo","useSiteListClient","httpClient","useHttpClient","useMemo","SiteListClient","init_esm_shims","init_esm_shims","readAppConfig","projectFolder","writeDebugLog","configPath","getAppConfigPath","pathExists","json","readJson","appConfig","appConfigSchema","e","saveAppConfig","config","newConfig","writeJson","init_esm_shims","import_variant","SiteIdState","init_esm_shims","resolveConfiguredSite","projectFolder","getSite","siteId","writeDebugLog","resolvedSiteId","readAppConfig","SiteIdState","site","init_esm_shims","React","import_variant","resolvePlatformUrl","envConfig","platformType","siteOverrideId","appId","site","tag","route","dashboardUrl","siteUrl","openPage","url","title","writeLog","openBrowser","React","Alert","Trans","Text","Newline","Link"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{f as d}from"./chunk-VMK5HC33.js";import{j as y}from"./chunk-4G4S755D.js";import{F as p,G as b,l as i,o as P,r as f,y as h}from"./chunk-JZGJM7PY.js";import{F as B,I as w,K as t,c as g,d as x,o as m}from"./chunk-VMFKU4BM.js";import{h as s}from"./chunk-HFDLXX7R.js";s();async function v(o){let e=B(o),l=w(o);if(!await m(e)||!await m(l))throw new g({code:x.BuiltProjectNeeded()})}s();import r from"react";var a=({url:o,label:e,withPointer:l=!0})=>r.createElement(i,null,r.createElement(i,{marginRight:1},l&&r.createElement(f,null),r.createElement(i,{marginLeft:1},r.createElement(h,{url:o},e)))),N=()=>{let{t:o}=b(),{isPlatformExists:e,hasSinglePlatform:l}=d(),{envConfig:u}=d(),n=E=>y({envConfig:u,platformType:E});return r.createElement(r.Fragment,null,l(t.Dashboard())?r.createElement(i,{flexDirection:"row"},r.createElement(p,{i18nKey:"general.open_preview.title_single"}),r.createElement(a,{withPointer:!1,url:n(t.Dashboard()),label:o("general.platform.dashboard")})):r.createElement(i,{flexDirection:"column"},r.createElement(p,{i18nKey:"general.open_preview.title_multiple"}),r.createElement(i,{paddingLeft:2,flexDirection:"column"},e(t.Site())&&(u.site.viewUrl?r.createElement(a,{url:n(t.Site()),label:o("general.platform.site")}):r.createElement(i,{marginRight:1},r.createElement(f,null),r.createElement(i,{marginLeft:1},r.createElement(P,{skin:"secondary",underline:!0},o("general.platform.unpublished_site"))))),e(t.Editor())&&r.createElement(a,{url:n(t.Editor()),label:o("general.platform.editor")}),e(t.Dashboard())&&r.createElement(a,{url:n(t.Dashboard()),label:o("general.platform.dashboard")}))))};export{N as a,v as b};
|
|
4
|
+
//# sourceMappingURL=chunk-5575RXZG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/files/assert-build-output-exists.ts","../src/components/extensions/PlatformViewer.tsx"],"sourcesContent":["import { pathExists } from '@wix/cli-fs';\nimport {\n getAppBuildFolder,\n getAppManifestPath,\n} from '@wix/cli-app-definitions';\nimport { CliErrorCode, CliError } from '@wix/cli-error';\n\nexport async function assertBuildOutputExists(projectFolder: string) {\n const buildFolder = getAppBuildFolder(projectFolder);\n const manifestPath = getAppManifestPath(projectFolder);\n\n if (!(await pathExists(buildFolder)) || !(await pathExists(manifestPath))) {\n throw new CliError({\n code: CliErrorCode.BuiltProjectNeeded(),\n });\n }\n}\n","import React, { type FC } from 'react';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { Box, Link, PointerSmallIcon, Text } from '@wix/cli-ui-kit';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { useExtensions } from './useExtensions.js';\nimport { resolvePlatformUrl } from './utils.js';\n\ntype PlatformLinkProps = {\n url: string;\n label: string;\n withPointer?: boolean;\n};\n\nexport const PlatformLink: FC<PlatformLinkProps> = ({\n url,\n label,\n withPointer = true,\n}) => {\n return (\n <Box>\n <Box marginRight={1}>\n {withPointer && <PointerSmallIcon />}\n <Box marginLeft={1}>\n <Link url={url}>{label}</Link>\n </Box>\n </Box>\n </Box>\n );\n};\n\nexport const PlatformViewer: FC = () => {\n const { t } = useTranslation();\n const { isPlatformExists, hasSinglePlatform } = useExtensions();\n const { envConfig } = useExtensions();\n\n const getPlatformUrl = (platformType: PlatformType) =>\n resolvePlatformUrl({\n envConfig,\n platformType,\n });\n\n return (\n <>\n {hasSinglePlatform(PlatformType.Dashboard()) ? (\n <Box flexDirection=\"row\">\n <Trans i18nKey=\"general.open_preview.title_single\" />\n <PlatformLink\n withPointer={false}\n url={getPlatformUrl(PlatformType.Dashboard())}\n label={t('general.platform.dashboard')}\n />\n </Box>\n ) : (\n <Box flexDirection=\"column\">\n <Trans i18nKey=\"general.open_preview.title_multiple\" />\n <Box paddingLeft={2} flexDirection=\"column\">\n {isPlatformExists(PlatformType.Site()) &&\n (envConfig.site.viewUrl ? (\n <PlatformLink\n url={getPlatformUrl(PlatformType.Site())}\n label={t('general.platform.site')}\n />\n ) : (\n <Box marginRight={1}>\n <PointerSmallIcon />\n <Box marginLeft={1}>\n <Text skin=\"secondary\" underline>\n {t('general.platform.unpublished_site')}\n </Text>\n </Box>\n </Box>\n ))}\n {isPlatformExists(PlatformType.Editor()) && (\n <PlatformLink\n url={getPlatformUrl(PlatformType.Editor())}\n label={t('general.platform.editor')}\n />\n )}\n {isPlatformExists(PlatformType.Dashboard()) && (\n <PlatformLink\n url={getPlatformUrl(PlatformType.Dashboard())}\n label={t('general.platform.dashboard')}\n />\n )}\n </Box>\n </Box>\n )}\n </>\n );\n};\n"],"mappings":";;8QAAAA,IAOA,eAAsBC,EAAwBC,EAAuB,CACnE,IAAMC,EAAcC,EAAkBF,CAAa,EAC7CG,EAAeC,EAAmBJ,CAAa,EAErD,GAAI,CAAE,MAAMK,EAAWJ,CAAW,GAAM,CAAE,MAAMI,EAAWF,CAAY,EACrE,MAAM,IAAIG,EAAS,CACjB,KAAMC,EAAa,mBAAmB,CACxC,CAAC,CAEL,CChBAC,IAAA,OAAOC,MAAwB,QAaxB,IAAMC,EAAsC,CAAC,CAClD,IAAAC,EACA,MAAAC,EACA,YAAAC,EAAc,EAChB,IAEIC,EAAA,cAACC,EAAA,KACCD,EAAA,cAACC,EAAA,CAAI,YAAa,GACfF,GAAeC,EAAA,cAACE,EAAA,IAAiB,EAClCF,EAAA,cAACC,EAAA,CAAI,WAAY,GACfD,EAAA,cAACG,EAAA,CAAK,IAAKN,GAAMC,CAAM,CACzB,CACF,CACF,EAISM,EAAqB,IAAM,CACtC,GAAM,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvB,CAAE,iBAAAC,EAAkB,kBAAAC,CAAkB,EAAIC,EAAc,EACxD,CAAE,UAAAC,CAAU,EAAID,EAAc,EAE9BE,EAAkBC,GACtBC,EAAmB,CACjB,UAAAH,EACA,aAAAE,CACF,CAAC,EAEH,OACEZ,EAAA,cAAAA,EAAA,cACGQ,EAAkBM,EAAa,UAAU,CAAC,EACzCd,EAAA,cAACC,EAAA,CAAI,cAAc,OACjBD,EAAA,cAACe,EAAA,CAAM,QAAQ,oCAAoC,EACnDf,EAAA,cAACJ,EAAA,CACC,YAAa,GACb,IAAKe,EAAeG,EAAa,UAAU,CAAC,EAC5C,MAAOT,EAAE,4BAA4B,EACvC,CACF,EAEAL,EAAA,cAACC,EAAA,CAAI,cAAc,UACjBD,EAAA,cAACe,EAAA,CAAM,QAAQ,sCAAsC,EACrDf,EAAA,cAACC,EAAA,CAAI,YAAa,EAAG,cAAc,UAChCM,EAAiBO,EAAa,KAAK,CAAC,IAClCJ,EAAU,KAAK,QACdV,EAAA,cAACJ,EAAA,CACC,IAAKe,EAAeG,EAAa,KAAK,CAAC,EACvC,MAAOT,EAAE,uBAAuB,EAClC,EAEAL,EAAA,cAACC,EAAA,CAAI,YAAa,GAChBD,EAAA,cAACE,EAAA,IAAiB,EAClBF,EAAA,cAACC,EAAA,CAAI,WAAY,GACfD,EAAA,cAACgB,EAAA,CAAK,KAAK,YAAY,UAAS,IAC7BX,EAAE,mCAAmC,CACxC,CACF,CACF,GAEHE,EAAiBO,EAAa,OAAO,CAAC,GACrCd,EAAA,cAACJ,EAAA,CACC,IAAKe,EAAeG,EAAa,OAAO,CAAC,EACzC,MAAOT,EAAE,yBAAyB,EACpC,EAEDE,EAAiBO,EAAa,UAAU,CAAC,GACxCd,EAAA,cAACJ,EAAA,CACC,IAAKe,EAAeG,EAAa,UAAU,CAAC,EAC5C,MAAOT,EAAE,4BAA4B,EACvC,CAEJ,CACF,CAEJ,CAEJ","names":["init_esm_shims","assertBuildOutputExists","projectFolder","buildFolder","getAppBuildFolder","manifestPath","getAppManifestPath","pathExists","CliError","CliErrorCode","init_esm_shims","React","PlatformLink","url","label","withPointer","React","Box_default","PointerSmallIcon","Link","PlatformViewer","t","useTranslation","isPlatformExists","hasSinglePlatform","useExtensions","envConfig","getPlatformUrl","platformType","resolvePlatformUrl","PlatformType","Trans","Text"]}
|