@wix/cli-app 1.1.33 → 1.1.35
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-FGFXCQ6O.js +4 -0
- package/build/{CreateVersionCommand-DYEPGQUL.js.map → CreateVersionCommand-FGFXCQ6O.js.map} +1 -1
- package/build/DevCommand-5DVDWGBY.js +4 -0
- package/build/DevCommand-5DVDWGBY.js.map +1 -0
- package/build/{GenerateCommand-HAREJGST.js → GenerateCommand-5MXGDU5D.js} +3 -3
- package/build/GenerateCommand-5MXGDU5D.js.map +1 -0
- package/build/LogsCommand-GT4C6W63.js +4 -0
- package/build/LogsCommand-GT4C6W63.js.map +1 -0
- package/build/PreviewCommand-TYTUHLCK.js +4 -0
- package/build/ServeCommand-3XS2PRLZ.js +4 -0
- package/build/ServeCommand-3XS2PRLZ.js.map +1 -0
- package/build/build-D3GVJS75.js +5 -0
- package/build/build-D3GVJS75.js.map +1 -0
- package/build/{build-57Q22ZQB.js → build-R2V6VPAY.js} +2 -2
- package/build/{build-57Q22ZQB.js.map → build-R2V6VPAY.js.map} +1 -1
- package/build/{chunk-DRRMAC33.js → chunk-2JOP4YNL.js} +28 -28
- package/build/chunk-2JOP4YNL.js.map +1 -0
- package/build/chunk-3T3H3UJF.js +11 -0
- package/build/chunk-3T3H3UJF.js.map +1 -0
- package/build/chunk-5JYQ2Z7Y.js +116 -0
- package/build/chunk-5JYQ2Z7Y.js.map +1 -0
- package/build/chunk-5YLHD2SK.js +4 -0
- package/build/{chunk-5QHRKYZO.js → chunk-A3KHJIN7.js} +2 -2
- package/build/chunk-A7TURNR5.js +4 -0
- package/build/chunk-A7TURNR5.js.map +1 -0
- package/build/chunk-CBDNKNAV.js +4 -0
- package/build/chunk-CBDNKNAV.js.map +1 -0
- package/build/chunk-F6WBFD2I.js +11 -0
- package/build/chunk-F6WBFD2I.js.map +1 -0
- package/build/chunk-J2KSZ5LE.js +4 -0
- package/build/chunk-J2KSZ5LE.js.map +1 -0
- package/build/chunk-KRQ3H7GR.js +4 -0
- package/build/chunk-KRQ3H7GR.js.map +1 -0
- package/build/chunk-MI2F3EIB.js +4 -0
- package/build/chunk-MI2F3EIB.js.map +1 -0
- package/build/{chunk-CH25SGQ6.js → chunk-NNF6JCN7.js} +2 -2
- package/build/chunk-NNF6JCN7.js.map +1 -0
- package/build/{chunk-AA74H3TG.js → chunk-OWEB37KH.js} +2 -2
- package/build/{chunk-2P6DNBHW.js → chunk-PWHZSGUV.js} +2 -2
- package/build/chunk-PWHZSGUV.js.map +1 -0
- package/build/{chunk-BQUJNTD3.js → chunk-QEH4HZND.js} +2 -2
- package/build/chunk-R4ZQYYZR.js +4 -0
- package/build/chunk-R4ZQYYZR.js.map +1 -0
- package/build/{chunk-TUMP3O53.js → chunk-RXT5UM7Q.js} +54 -46
- package/build/chunk-RXT5UM7Q.js.map +1 -0
- package/build/{chunk-TBNJFVSI.js → chunk-VRNTLFVH.js} +2 -2
- package/build/chunk-VRNTLFVH.js.map +1 -0
- package/build/{chunk-OVY3XD7N.js → chunk-YT6VEJPK.js} +2 -2
- package/build/chunk-YT6VEJPK.js.map +1 -0
- package/build/{chunk-QPAM4OF5.js → chunk-ZORLYW6M.js} +2 -2
- package/build/esm-HBMYQBEO.js +466 -0
- package/build/esm-HBMYQBEO.js.map +1 -0
- package/build/index.js +2 -2
- package/build/platform-sdk/chunk-RFBBAUMM.js +2 -0
- package/build/platform-sdk/chunk-RFBBAUMM.js.map +1 -0
- package/build/platform-sdk/dashboard.js +2 -0
- package/build/platform-sdk/dashboard.js.map +1 -0
- package/build/platform-sdk/esm-IUMNLA6B.js +2 -0
- package/build/platform-sdk/esm-IUMNLA6B.js.map +1 -0
- package/build/preview-5HAC2VHN.js +4 -0
- package/build/{preview-AHK3W3S5.js.map → preview-5HAC2VHN.js.map} +1 -1
- package/build/render-command-OPJNFJRC.js +4 -0
- package/build/{render-command-QU4TUTXB.js.map → render-command-OPJNFJRC.js.map} +1 -1
- package/internal/component-hmr-wrapper.tsx +4 -8
- package/package.json +10 -9
- package/schemas/custom-element.json +1 -1
- package/schemas/dashboard-menu-plugin.json +1 -1
- package/schemas/dashboard-modal.json +1 -1
- package/schemas/embedded-script.json +1 -1
- package/build/CreateVersionCommand-DYEPGQUL.js +0 -4
- package/build/DevCommand-MHQH5RZI.js +0 -4
- package/build/DevCommand-MHQH5RZI.js.map +0 -1
- package/build/GenerateCommand-HAREJGST.js.map +0 -1
- package/build/LogsCommand-JTLDKERL.js +0 -4
- package/build/LogsCommand-JTLDKERL.js.map +0 -1
- package/build/PreviewCommand-BR4CC5HU.js +0 -4
- package/build/ServeCommand-DXYE4RDW.js +0 -4
- package/build/ServeCommand-DXYE4RDW.js.map +0 -1
- package/build/chunk-2P6DNBHW.js.map +0 -1
- package/build/chunk-ASR5T2EG.js +0 -4
- package/build/chunk-CAFL5PGF.js +0 -4
- package/build/chunk-CAFL5PGF.js.map +0 -1
- package/build/chunk-CH25SGQ6.js.map +0 -1
- package/build/chunk-DRRMAC33.js.map +0 -1
- package/build/chunk-FHI3B5GR.js +0 -4
- package/build/chunk-FHI3B5GR.js.map +0 -1
- package/build/chunk-KJMWKJXC.js +0 -116
- package/build/chunk-KJMWKJXC.js.map +0 -1
- package/build/chunk-KQOYEWON.js +0 -11
- package/build/chunk-KQOYEWON.js.map +0 -1
- package/build/chunk-LBMDBGQY.js +0 -4
- package/build/chunk-LBMDBGQY.js.map +0 -1
- package/build/chunk-NIFVIO6B.js +0 -11
- package/build/chunk-NIFVIO6B.js.map +0 -1
- package/build/chunk-OVY3XD7N.js.map +0 -1
- package/build/chunk-QF5IXGT3.js +0 -4
- package/build/chunk-QF5IXGT3.js.map +0 -1
- package/build/chunk-QZS4ARDD.js +0 -4
- package/build/chunk-QZS4ARDD.js.map +0 -1
- package/build/chunk-SUDVHU7A.js +0 -4
- package/build/chunk-SUDVHU7A.js.map +0 -1
- package/build/chunk-TBNJFVSI.js.map +0 -1
- package/build/chunk-TUMP3O53.js.map +0 -1
- package/build/chunk-VYJSZFOO.js +0 -4
- package/build/chunk-VYJSZFOO.js.map +0 -1
- package/build/esm-Z5T56VLV.js +0 -365
- package/build/esm-Z5T56VLV.js.map +0 -1
- package/build/preview-AHK3W3S5.js +0 -4
- package/build/render-command-QU4TUTXB.js +0 -4
- /package/build/{PreviewCommand-BR4CC5HU.js.map → PreviewCommand-TYTUHLCK.js.map} +0 -0
- /package/build/{chunk-ASR5T2EG.js.map → chunk-5YLHD2SK.js.map} +0 -0
- /package/build/{chunk-5QHRKYZO.js.map → chunk-A3KHJIN7.js.map} +0 -0
- /package/build/{chunk-AA74H3TG.js.map → chunk-OWEB37KH.js.map} +0 -0
- /package/build/{chunk-BQUJNTD3.js.map → chunk-QEH4HZND.js.map} +0 -0
- /package/build/{chunk-QPAM4OF5.js.map → chunk-ZORLYW6M.js.map} +0 -0
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a as Q}from"./chunk-2P6DNBHW.js";import{Ea as U,Fa as J,Ga as K,La as $,Ma as X,db as Y}from"./chunk-KJMWKJXC.js";import{O as H,R as q,V as O,W as R,a as k,b as B,d as E,e as S,l as t,w as d,z as f}from"./chunk-DRRMAC33.js";import{e as y,h as l}from"./chunk-V4TR6DCM.js";l();l();var L=y(k(),1);var v=y(B(),1);l();var o=y(k(),1),A=y(B(),1);l();var c=y(k(),1),b=y(B(),1);import{createServer as le}from"node:http";l();var x=y(B(),1),se=t.any(),ie=t.enum(["info","error","warn","debug","log"]),me=t.object({message:t.array(se),level:ie,timestamp:t.number()}),ae=t.object({stack:t.string(),name:t.string(),message:t.string(),timestamp:t.number()}),ge=t.object({_type:t.literal("log"),exceptions:t.array(ae),logs:t.array(me)}).passthrough(),pe=t.object({_type:t.literal("session-timeout")}).passthrough(),ce=t.discriminatedUnion("_type",[ge,pe]),W=(0,x.variant)({Log:(0,x.fields)(),Exception:(0,x.fields)()}),P="/logs",Z=(e,r)=>{let n,a;if(e.method==="POST"&&e.url===P){let m="";e.on("data",i=>{m+=i.toString()}),e.on("end",()=>{let i;try{i=ce.parse(JSON.parse(m))}catch(g){return a(S.FailedToParseLog(),g,{body:m}),r.statusCode=400,r.end()}let s=[];i._type==="log"&&(s.push(...i.exceptions.map(g=>W.Exception(g))),s.push(...i.logs.map(g=>W.Log(g)))),(0,x.match)(i._type,{log:()=>{n(s)},"session-timeout":()=>{a(S.LogsConnectionTimeout(),{},{body:m}),r.statusCode=200,r.end()}}),r.statusCode=200,r.end()})}else r.statusCode=404,r.end("Not Found");let u={onLog:m=>(n=m,u),onError:m=>(a=m,u)};return u};var F=(0,b.variant)({Success:{},Connecting:{},Failure:{}}),ue=/([0-9a-f-]{36})/,ee=({onLog:e,version:r,appId:n})=>{let[a,u]=(0,c.useState)(F.Connecting()),[m,i]=(0,c.useState)(),[s,g]=(0,c.useState)(),[T,D]=(0,c.useState)(),{getAppByVersion:j}=K(),N=Q(),_=J({type:"backoffice"}),h=(0,c.useMemo)(()=>le((p,C)=>{Z(p,C).onLog(e).onError((I,V,ne)=>{throw h.close(),new E({code:I,cause:V,info:ne})})}),[e]);(0,c.useEffect)(()=>(h?.listen(0,async()=>{let p=h.address().port;i(p)}),()=>{h?.listening&&h.close()}),[h]),(0,c.useEffect)(()=>{m&&N(m).then(({url:p})=>{D(p)}).catch(p=>{throw u(F.Failure()),new E({code:S.FailedToConnectToLogsService(),cause:p})})},[N,m]);let{status:z}=q(async()=>{let{data:p}=await j({appId:n,version:r});return p},[]);return(0,c.useEffect)(()=>{(0,b.match)(z,{Success:({result:p})=>{let C=p.components.find(V=>V.compType===U.TOPOLOGY),I=ue.exec(C?.compData.topology.topology.backendApiUrl??"");if(I)g(I[1]);else throw new E({code:S.FailedToGetLogsTopology()})},Error:()=>null,Loading:()=>{}})},[z]),(0,c.useEffect)(()=>{if(T&&s){let p={appId:n,deploymentId:s,destinationUrl:T+P};_.request($(p)).then(()=>{u(F.Success())}).catch(C=>{throw u(F.Failure()),new E({code:S.FailedToConnectToLogsService(),cause:C})})}},[n,T,s,_]),(0,c.useEffect)(()=>()=>{a.type==="Success"&&s&&_.request(X({appId:n,deploymentId:s}))},[a,s,n,_]),a};l();var oe=y(k(),1);var G=({message:e,level:r})=>{let n="unknown";return typeof e=="object"?n=JSON.stringify(e):n=String(e),oe.default.createElement(f,{skin:r==="error"?"error":"standard"},n)};var te=({version:e,appId:r})=>{let{t:n}=R(),[a,u]=(0,o.useState)([]),m=ee({appId:r,version:e,onLog:(0,o.useCallback)(i=>{u(s=>[...s,...i])},[u])});return(0,A.match)(m,{Success:()=>o.default.createElement(d,{marginTop:1,marginBottom:1,flexDirection:"column"},o.default.createElement(d,{marginBottom:1,flexDirection:"column"},o.default.createElement(f,null,o.default.createElement(O,{i18nKey:"logs_command.listening_to_logs"})),o.default.createElement(f,null,o.default.createElement(O,{i18nKey:"logs_command.prod_env_logs",values:{version:e}}))),a.map((i,s)=>o.default.createElement(d,{key:s,flexDirection:"column"},o.default.createElement(d,{columnGap:1},o.default.createElement(d,{flexShrink:0},o.default.createElement(f,{skin:"secondary"},new Date(i.timestamp).toLocaleTimeString())),o.default.createElement(d,{columnGap:1},(0,A.match)(i,{Log:({message:g,level:T})=>g.map((D,j)=>o.default.createElement(G,{key:`${s}-${j}`,message:D,level:T})),Exception:({message:g})=>o.default.createElement(G,{key:s,message:g,level:"error"})}))),(0,A.match)(i,{Log:()=>null,Exception:({stack:g})=>o.default.createElement(f,{skin:"error"},g)})))),Connecting:()=>o.default.createElement(H,{text:n("logs_command.connecting")}),Failure:()=>null})};var re=(0,v.variant)({Valid:(0,v.fields)(),Error:(0,v.fields)()}),de=({version:e})=>e?re.Valid({version:e}):re.Error({message:L.default.createElement(O,{i18nKey:"logs_command.logs_without_version"})}),fe=({version:e})=>{let{model:r}=Y(),n=(0,L.useMemo)(()=>de({version:e}),[e]);return(0,v.match)(n,{Valid:({version:a})=>L.default.createElement(te,{version:a,appId:r.config.appId}),Error:({message:a})=>L.default.createElement(d,{rowGap:1,marginTop:1,marginBottom:1,flexDirection:"column"},L.default.createElement(d,{gap:1},L.default.createElement(f,{skin:"error"},a)))})};export{fe as LogsCommand};
|
|
4
|
-
//# sourceMappingURL=LogsCommand-JTLDKERL.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/LogsCommand/index.ts","../src/components/LogsCommand/LogsCommand.tsx","../src/components/LogsCommand/DisplayServerLogs.tsx","../src/components/LogsCommand/useLogsServer.ts","../src/components/LogsCommand/logsReqHandler.ts","../src/components/LogsCommand/ServerLogMessage.tsx"],"sourcesContent":["export { LogsCommand } from './LogsCommand.js';\n","import type { FC } from 'react';\nimport React, { useMemo } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { Box, Text } from '@wix/cli-ui-kit';\nimport { fields, match, variant } from 'variant';\nimport { DisplayServerLogs } from './DisplayServerLogs.js';\nimport { useProjectModel } from '../../model.js';\n\nconst ValidationResult = variant({\n Valid: fields<{ version: string }>(),\n Error: fields<{ message: React.JSX.Element }>(),\n});\n\nconst validateInput = ({ version }: { version?: string }) => {\n if (!version) {\n return ValidationResult.Error({\n message: <Trans i18nKey=\"logs_command.logs_without_version\" />,\n });\n }\n return ValidationResult.Valid({ version });\n};\n\nexport const LogsCommand: FC<{\n version?: string;\n}> = ({ version }) => {\n const { model } = useProjectModel();\n\n const validationResult = useMemo(() => validateInput({ version }), [version]);\n\n return match(validationResult, {\n Valid: ({ version }) => (\n <DisplayServerLogs version={version} appId={model.config.appId} />\n ),\n Error: ({ message }) => (\n <Box rowGap={1} marginTop={1} marginBottom={1} flexDirection=\"column\">\n <Box gap={1}>\n <Text skin=\"error\">{message}</Text>\n </Box>\n </Box>\n ),\n });\n};\n","import type { FC } from 'react';\nimport React, { useState, useCallback } from 'react';\nimport { match } from 'variant';\nimport { Spinner, Box, Text } from '@wix/cli-ui-kit';\nimport { useTranslation, Trans } from '@wix/cli-i18n';\nimport { useLogsServer } from './useLogsServer.js';\nimport type { AggregatedLog } from './logsReqHandler.js';\nimport { ServerLogMessage } from './ServerLogMessage.js';\n\nexport const DisplayServerLogs: FC<{\n version: string;\n appId: string;\n}> = ({ version, appId }) => {\n const { t } = useTranslation();\n const [logs, setLogs] = useState<AggregatedLog[]>([]);\n const serverResult = useLogsServer({\n appId,\n version,\n onLog: useCallback(\n (serverLogs) => {\n setLogs((prevLogs) => {\n return [...prevLogs, ...serverLogs];\n });\n },\n [setLogs]\n ),\n });\n\n return match(serverResult, {\n Success: () => (\n <Box marginTop={1} marginBottom={1} flexDirection=\"column\">\n <Box marginBottom={1} flexDirection=\"column\">\n <Text>\n <Trans i18nKey=\"logs_command.listening_to_logs\" />\n </Text>\n <Text>\n <Trans i18nKey=\"logs_command.prod_env_logs\" values={{ version }} />\n </Text>\n </Box>\n\n {logs.map((log, logIdx) => (\n <Box key={logIdx} flexDirection=\"column\">\n <Box columnGap={1}>\n <Box flexShrink={0}>\n <Text skin=\"secondary\">\n {new Date(log.timestamp).toLocaleTimeString()}\n </Text>\n </Box>\n <Box columnGap={1}>\n {match(log, {\n Log: ({ message, level }) =>\n message.map((msgItem, idx) => (\n <ServerLogMessage\n key={`${logIdx}-${idx}`}\n message={msgItem}\n level={level}\n />\n )),\n Exception: ({ message }) => (\n <ServerLogMessage\n key={logIdx}\n message={message}\n level=\"error\"\n />\n ),\n })}\n </Box>\n </Box>\n {match(log, {\n Log: () => null,\n Exception: ({ stack }) => <Text skin=\"error\">{stack}</Text>,\n })}\n </Box>\n ))}\n </Box>\n ),\n Connecting: () => <Spinner text={t('logs_command.connecting')} />,\n Failure: () => null,\n });\n};\n","import { useEffect, useMemo, useState } from 'react';\nimport { createServer } from 'node:http';\nimport type { AddressInfo } from 'node:net';\nimport { variant, type VariantOf, match } from 'variant';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { useAsync } from '@wix/cli-ui-kit';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport {\n attachLogger,\n deattachLogger,\n} from '@wix/ambassador-ctp-app-cloud-backend-service-v1-app-cloud-backend-deployment/http';\nimport { useTunnel } from '@wix/cli-tunnel';\nimport {\n useDevCenterClient,\n ComponentType,\n type TopologyComponent,\n} from '@wix/dev-center-client';\nimport type { OnLog } from './logsReqHandler.js';\nimport { LOGS_ENDPOINT, logsReqHandler } from './logsReqHandler.js';\n\nconst ServerResult = variant({\n Success: {},\n Connecting: {},\n Failure: {},\n});\n\nconst deploymentIdRegex = /([0-9a-f-]{36})/;\n\nexport const useLogsServer = ({\n onLog,\n version,\n appId,\n}: {\n onLog: OnLog;\n version: string;\n appId: string;\n}) => {\n const [result, setResult] = useState<VariantOf<typeof ServerResult>>(\n ServerResult.Connecting()\n );\n const [localServerPort, setLocalServerPort] = useState<number>();\n const [deploymentId, setDeploymentId] = useState<string>();\n const [tunnelUrl, setTunnelUrl] = useState<string>();\n const { getAppByVersion } = useDevCenterClient();\n const createTunnelClient = useTunnel();\n const httpClient = useHttpClient({ type: 'backoffice' });\n\n const server = useMemo(() => {\n return createServer((req, res) => {\n logsReqHandler(req, res)\n .onLog(onLog)\n .onError((code, err, info) => {\n server.close();\n throw new CliError({ code, cause: err, info });\n });\n });\n }, [onLog]);\n\n useEffect(() => {\n server?.listen(0, async () => {\n const port = (server.address() as AddressInfo).port;\n setLocalServerPort(port);\n });\n return () => {\n if (server?.listening) {\n server.close();\n }\n };\n }, [server]);\n\n useEffect(() => {\n if (localServerPort) {\n createTunnelClient(localServerPort)\n .then(({ url }) => {\n setTunnelUrl(url);\n })\n .catch((err) => {\n setResult(ServerResult.Failure());\n throw new CliError({\n code: CliErrorCode.FailedToConnectToLogsService(),\n cause: err,\n });\n });\n }\n }, [createTunnelClient, localServerPort]);\n\n const { status } = useAsync(async () => {\n const { data } = await getAppByVersion({ appId, version });\n return data;\n }, []);\n\n useEffect(() => {\n match(status, {\n Success: ({ result }) => {\n const topologyComponent = result.components.find(\n (component): component is TopologyComponent => {\n return component.compType === ComponentType.TOPOLOGY;\n }\n );\n const match = deploymentIdRegex.exec(\n topologyComponent?.compData.topology.topology.backendApiUrl ?? ''\n );\n if (match) {\n setDeploymentId(match[1]);\n } else {\n throw new CliError({\n code: CliErrorCode.FailedToGetLogsTopology(),\n });\n }\n },\n Error: () => null,\n Loading: () => {},\n });\n }, [status]);\n\n useEffect(() => {\n if (tunnelUrl && deploymentId) {\n const loggerReq = {\n appId,\n deploymentId,\n destinationUrl: tunnelUrl + LOGS_ENDPOINT,\n };\n httpClient\n .request(attachLogger(loggerReq))\n .then(() => {\n setResult(ServerResult.Success());\n })\n .catch((err) => {\n setResult(ServerResult.Failure());\n throw new CliError({\n code: CliErrorCode.FailedToConnectToLogsService(),\n cause: err,\n });\n });\n }\n }, [appId, tunnelUrl, deploymentId, httpClient]);\n\n useEffect(() => {\n return () => {\n // Detach the logger depending on the `result` state.\n // This is why I place it in a separate `useEffect` from the one that attaches the logger.\n // Otherwise, it will cause a circular dependency.\n if (result.type === 'Success' && deploymentId) {\n httpClient.request(\n deattachLogger({\n appId,\n deploymentId,\n })\n );\n }\n };\n }, [result, deploymentId, appId, httpClient]);\n\n return result;\n};\n","import type { IncomingMessage, ServerResponse } from 'node:http';\nimport type { CliErrorCodeType } from '@wix/cli-error';\nimport { CliErrorCode } from '@wix/cli-error';\nimport { z } from 'zod';\nimport { variant, fields, match, type VariantOf } from 'variant';\n\nconst LogMessageSchema = z.any();\nexport type LogMessage = z.infer<typeof LogMessageSchema>;\n\nconst LogMessageLevelSchema = z.enum(['info', 'error', 'warn', 'debug', 'log']);\nexport type LogMessageLevel = z.infer<typeof LogMessageLevelSchema>;\n\nconst LogItemSchema = z.object({\n message: z.array(LogMessageSchema),\n level: LogMessageLevelSchema,\n timestamp: z.number(),\n});\n\ntype LogItem = z.infer<typeof LogItemSchema>;\n\nconst ExceptionItemSchema = z.object({\n stack: z.string(),\n name: z.string(),\n message: z.string(),\n timestamp: z.number(),\n});\n\ntype ExceptionItem = z.infer<typeof ExceptionItemSchema>;\n\nconst LogResponseSchema = z\n .object({\n _type: z.literal('log'),\n exceptions: z.array(ExceptionItemSchema),\n logs: z.array(LogItemSchema),\n })\n .passthrough();\n\nconst SessionTimeoutResponseSchema = z\n .object({\n _type: z.literal('session-timeout'),\n })\n .passthrough();\n\nconst ServerLogResponseSchema = z.discriminatedUnion('_type', [\n LogResponseSchema,\n SessionTimeoutResponseSchema,\n]);\n\ntype ServerLogResponse = z.infer<typeof ServerLogResponseSchema>;\n\nconst AggregatedLog = variant({\n Log: fields<LogItem>(),\n Exception: fields<ExceptionItem>(),\n});\nexport type AggregatedLog = VariantOf<typeof AggregatedLog>;\n\nexport type OnLog = (data: AggregatedLog[]) => void;\nexport type OnError = (\n errType: CliErrorCodeType,\n err: unknown,\n info?: Record<string, unknown>\n) => void;\n\nexport const LOGS_ENDPOINT = '/logs';\n\nexport const logsReqHandler = (req: IncomingMessage, res: ServerResponse) => {\n let onLog: OnLog;\n let onError: OnError;\n\n if (req.method === 'POST' && req.url === LOGS_ENDPOINT) {\n let body = '';\n\n req.on('data', (chunk) => {\n body += chunk.toString();\n });\n\n req.on('end', () => {\n let parsedBody: ServerLogResponse;\n try {\n parsedBody = ServerLogResponseSchema.parse(JSON.parse(body));\n } catch (err) {\n onError(CliErrorCode.FailedToParseLog(), err, { body });\n res.statusCode = 400;\n return res.end();\n }\n\n const resultLogs: AggregatedLog[] = [];\n\n if (parsedBody._type === 'log') {\n resultLogs.push(\n ...parsedBody.exceptions.map((exception) =>\n AggregatedLog.Exception(exception)\n )\n );\n resultLogs.push(\n ...parsedBody.logs.map((log) => AggregatedLog.Log(log))\n );\n }\n\n match(parsedBody._type, {\n log: () => {\n onLog(resultLogs);\n },\n 'session-timeout': () => {\n onError(CliErrorCode.LogsConnectionTimeout(), {}, { body });\n res.statusCode = 200;\n res.end();\n },\n });\n\n res.statusCode = 200;\n res.end();\n });\n } else {\n res.statusCode = 404;\n res.end('Not Found');\n }\n\n const api = {\n onLog: (callback: OnLog) => {\n onLog = callback;\n return api;\n },\n onError: (callback: OnError) => {\n onError = callback;\n return api;\n },\n };\n\n return api;\n};\n","import React, { type FC } from 'react';\nimport { Text } from '@wix/cli-ui-kit';\nimport type { LogMessage, LogMessageLevel } from './logsReqHandler.js';\n\nexport const ServerLogMessage: FC<{\n message: LogMessage;\n level: LogMessageLevel;\n}> = ({ message, level }) => {\n let content = 'unknown';\n\n if (typeof message === 'object') {\n content = JSON.stringify(message);\n } else {\n content = String(message);\n }\n\n return <Text skin={level === 'error' ? 'error' : 'standard'}>{content}</Text>;\n};\n"],"mappings":";;sRAAAA,ICAAC,IACA,IAAAC,EAA+B,SAG/B,IAAAC,EAAuC,SCJvCC,IACA,IAAAC,EAA6C,SAC7CC,EAAsB,SCFtBC,IAAA,IAAAC,EAA6C,SAG7CC,EAA+C,SAF/C,OAAS,gBAAAC,OAAoB,YCD7BC,IAIA,IAAAC,EAAuD,SAEjDC,GAAmBC,EAAE,IAAI,EAGzBC,GAAwBD,EAAE,KAAK,CAAC,OAAQ,QAAS,OAAQ,QAAS,KAAK,CAAC,EAGxEE,GAAgBF,EAAE,OAAO,CAC7B,QAASA,EAAE,MAAMD,EAAgB,EACjC,MAAOE,GACP,UAAWD,EAAE,OAAO,CACtB,CAAC,EAIKG,GAAsBH,EAAE,OAAO,CACnC,MAAOA,EAAE,OAAO,EAChB,KAAMA,EAAE,OAAO,EACf,QAASA,EAAE,OAAO,EAClB,UAAWA,EAAE,OAAO,CACtB,CAAC,EAIKI,GAAoBJ,EACvB,OAAO,CACN,MAAOA,EAAE,QAAQ,KAAK,EACtB,WAAYA,EAAE,MAAMG,EAAmB,EACvC,KAAMH,EAAE,MAAME,EAAa,CAC7B,CAAC,EACA,YAAY,EAETG,GAA+BL,EAClC,OAAO,CACN,MAAOA,EAAE,QAAQ,iBAAiB,CACpC,CAAC,EACA,YAAY,EAETM,GAA0BN,EAAE,mBAAmB,QAAS,CAC5DI,GACAC,EACF,CAAC,EAIKE,KAAgB,WAAQ,CAC5B,OAAK,UAAgB,EACrB,aAAW,UAAsB,CACnC,CAAC,EAUYC,EAAgB,QAEhBC,EAAiB,CAACC,EAAsBC,IAAwB,CAC3E,IAAIC,EACAC,EAEJ,GAAIH,EAAI,SAAW,QAAUA,EAAI,MAAQF,EAAe,CACtD,IAAIM,EAAO,GAEXJ,EAAI,GAAG,OAASK,GAAU,CACxBD,GAAQC,EAAM,SAAS,CACzB,CAAC,EAEDL,EAAI,GAAG,MAAO,IAAM,CAClB,IAAIM,EACJ,GAAI,CACFA,EAAaV,GAAwB,MAAM,KAAK,MAAMQ,CAAI,CAAC,CAC7D,OAASG,EAAK,CACZ,OAAAJ,EAAQK,EAAa,iBAAiB,EAAGD,EAAK,CAAE,KAAAH,CAAK,CAAC,EACtDH,EAAI,WAAa,IACVA,EAAI,IAAI,CACjB,CAEA,IAAMQ,EAA8B,CAAC,EAEjCH,EAAW,QAAU,QACvBG,EAAW,KACT,GAAGH,EAAW,WAAW,IAAKI,GAC5Bb,EAAc,UAAUa,CAAS,CACnC,CACF,EACAD,EAAW,KACT,GAAGH,EAAW,KAAK,IAAKK,GAAQd,EAAc,IAAIc,CAAG,CAAC,CACxD,MAGF,SAAML,EAAW,MAAO,CACtB,IAAK,IAAM,CACTJ,EAAMO,CAAU,CAClB,EACA,kBAAmB,IAAM,CACvBN,EAAQK,EAAa,sBAAsB,EAAG,CAAC,EAAG,CAAE,KAAAJ,CAAK,CAAC,EAC1DH,EAAI,WAAa,IACjBA,EAAI,IAAI,CACV,CACF,CAAC,EAEDA,EAAI,WAAa,IACjBA,EAAI,IAAI,CACV,CAAC,CACH,MACEA,EAAI,WAAa,IACjBA,EAAI,IAAI,WAAW,EAGrB,IAAMW,EAAM,CACV,MAAQC,IACNX,EAAQW,EACDD,GAET,QAAUC,IACRV,EAAUU,EACHD,EAEX,EAEA,OAAOA,CACT,ED9GA,IAAME,KAAe,WAAQ,CAC3B,QAAS,CAAC,EACV,WAAY,CAAC,EACb,QAAS,CAAC,CACZ,CAAC,EAEKC,GAAoB,kBAEbC,GAAgB,CAAC,CAC5B,MAAAC,EACA,QAAAC,EACA,MAAAC,CACF,IAIM,CACJ,GAAM,CAACC,EAAQC,CAAS,KAAI,YAC1BP,EAAa,WAAW,CAC1B,EACM,CAACQ,EAAiBC,CAAkB,KAAI,YAAiB,EACzD,CAACC,EAAcC,CAAe,KAAI,YAAiB,EACnD,CAACC,EAAWC,CAAY,KAAI,YAAiB,EAC7C,CAAE,gBAAAC,CAAgB,EAAIC,EAAmB,EACzCC,EAAqBC,EAAU,EAC/BC,EAAaC,EAAc,CAAE,KAAM,YAAa,CAAC,EAEjDC,KAAS,WAAQ,IACdC,GAAa,CAACC,EAAKC,IAAQ,CAChCC,EAAeF,EAAKC,CAAG,EACpB,MAAMpB,CAAK,EACX,QAAQ,CAACsB,EAAMC,EAAKC,KAAS,CAC5B,MAAAP,EAAO,MAAM,EACP,IAAIQ,EAAS,CAAE,KAAAH,EAAM,MAAOC,EAAK,KAAAC,EAAK,CAAC,CAC/C,CAAC,CACL,CAAC,EACA,CAACxB,CAAK,CAAC,KAEV,aAAU,KACRiB,GAAQ,OAAO,EAAG,SAAY,CAC5B,IAAMS,EAAQT,EAAO,QAAQ,EAAkB,KAC/CX,EAAmBoB,CAAI,CACzB,CAAC,EACM,IAAM,CACPT,GAAQ,WACVA,EAAO,MAAM,CAEjB,GACC,CAACA,CAAM,CAAC,KAEX,aAAU,IAAM,CACVZ,GACFQ,EAAmBR,CAAe,EAC/B,KAAK,CAAC,CAAE,IAAAsB,CAAI,IAAM,CACjBjB,EAAaiB,CAAG,CAClB,CAAC,EACA,MAAOJ,GAAQ,CACd,MAAAnB,EAAUP,EAAa,QAAQ,CAAC,EAC1B,IAAI4B,EAAS,CACjB,KAAMG,EAAa,6BAA6B,EAChD,MAAOL,CACT,CAAC,CACH,CAAC,CAEP,EAAG,CAACV,EAAoBR,CAAe,CAAC,EAExC,GAAM,CAAE,OAAAwB,CAAO,EAAIC,EAAS,SAAY,CACtC,GAAM,CAAE,KAAAC,CAAK,EAAI,MAAMpB,EAAgB,CAAE,MAAAT,EAAO,QAAAD,CAAQ,CAAC,EACzD,OAAO8B,CACT,EAAG,CAAC,CAAC,EAEL,sBAAU,IAAM,IACd,SAAMF,EAAQ,CACZ,QAAS,CAAC,CAAE,OAAA1B,CAAO,IAAM,CACvB,IAAM6B,EAAoB7B,EAAO,WAAW,KACzC8B,GACQA,EAAU,WAAaC,EAAc,QAEhD,EACMC,EAAQrC,GAAkB,KAC9BkC,GAAmB,SAAS,SAAS,SAAS,eAAiB,EACjE,EACA,GAAIG,EACF3B,EAAgB2B,EAAM,CAAC,CAAC,MAExB,OAAM,IAAIV,EAAS,CACjB,KAAMG,EAAa,wBAAwB,CAC7C,CAAC,CAEL,EACA,MAAO,IAAM,KACb,QAAS,IAAM,CAAC,CAClB,CAAC,CACH,EAAG,CAACC,CAAM,CAAC,KAEX,aAAU,IAAM,CACd,GAAIpB,GAAaF,EAAc,CAC7B,IAAM6B,EAAY,CAChB,MAAAlC,EACA,aAAAK,EACA,eAAgBE,EAAY4B,CAC9B,EACAtB,EACG,QAAQuB,EAAaF,CAAS,CAAC,EAC/B,KAAK,IAAM,CACVhC,EAAUP,EAAa,QAAQ,CAAC,CAClC,CAAC,EACA,MAAO0B,GAAQ,CACd,MAAAnB,EAAUP,EAAa,QAAQ,CAAC,EAC1B,IAAI4B,EAAS,CACjB,KAAMG,EAAa,6BAA6B,EAChD,MAAOL,CACT,CAAC,CACH,CAAC,CACL,CACF,EAAG,CAACrB,EAAOO,EAAWF,EAAcQ,CAAU,CAAC,KAE/C,aAAU,IACD,IAAM,CAIPZ,EAAO,OAAS,WAAaI,GAC/BQ,EAAW,QACTwB,EAAe,CACb,MAAArC,EACA,aAAAK,CACF,CAAC,CACH,CAEJ,EACC,CAACJ,EAAQI,EAAcL,EAAOa,CAAU,CAAC,EAErCZ,CACT,EE1JAqC,IAAA,IAAAC,GAA+B,SAIxB,IAAMC,EAGR,CAAC,CAAE,QAAAC,EAAS,MAAAC,CAAM,IAAM,CAC3B,IAAIC,EAAU,UAEd,OAAI,OAAOF,GAAY,SACrBE,EAAU,KAAK,UAAUF,CAAO,EAEhCE,EAAU,OAAOF,CAAO,EAGnB,GAAAG,QAAA,cAACC,EAAA,CAAK,KAAMH,IAAU,QAAU,QAAU,YAAaC,CAAQ,CACxE,EHRO,IAAMG,GAGR,CAAC,CAAE,QAAAC,EAAS,MAAAC,CAAM,IAAM,CAC3B,GAAM,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvB,CAACC,EAAMC,CAAO,KAAI,YAA0B,CAAC,CAAC,EAC9CC,EAAeC,GAAc,CACjC,MAAAN,EACA,QAAAD,EACA,SAAO,eACJQ,GAAe,CACdH,EAASI,GACA,CAAC,GAAGA,EAAU,GAAGD,CAAU,CACnC,CACH,EACA,CAACH,CAAO,CACV,CACF,CAAC,EAED,SAAO,SAAMC,EAAc,CACzB,QAAS,IACP,EAAAI,QAAA,cAACC,EAAA,CAAI,UAAW,EAAG,aAAc,EAAG,cAAc,UAChD,EAAAD,QAAA,cAACC,EAAA,CAAI,aAAc,EAAG,cAAc,UAClC,EAAAD,QAAA,cAACE,EAAA,KACC,EAAAF,QAAA,cAACG,EAAA,CAAM,QAAQ,iCAAiC,CAClD,EACA,EAAAH,QAAA,cAACE,EAAA,KACC,EAAAF,QAAA,cAACG,EAAA,CAAM,QAAQ,6BAA6B,OAAQ,CAAE,QAAAb,CAAQ,EAAG,CACnE,CACF,EAECI,EAAK,IAAI,CAACU,EAAKC,IACd,EAAAL,QAAA,cAACC,EAAA,CAAI,IAAKI,EAAQ,cAAc,UAC9B,EAAAL,QAAA,cAACC,EAAA,CAAI,UAAW,GACd,EAAAD,QAAA,cAACC,EAAA,CAAI,WAAY,GACf,EAAAD,QAAA,cAACE,EAAA,CAAK,KAAK,aACR,IAAI,KAAKE,EAAI,SAAS,EAAE,mBAAmB,CAC9C,CACF,EACA,EAAAJ,QAAA,cAACC,EAAA,CAAI,UAAW,MACb,SAAMG,EAAK,CACV,IAAK,CAAC,CAAE,QAAAE,EAAS,MAAAC,CAAM,IACrBD,EAAQ,IAAI,CAACE,EAASC,IACpB,EAAAT,QAAA,cAACU,EAAA,CACC,IAAK,GAAGL,CAAM,IAAII,CAAG,GACrB,QAASD,EACT,MAAOD,EACT,CACD,EACH,UAAW,CAAC,CAAE,QAAAD,CAAQ,IACpB,EAAAN,QAAA,cAACU,EAAA,CACC,IAAKL,EACL,QAASC,EACT,MAAM,QACR,CAEJ,CAAC,CACH,CACF,KACC,SAAMF,EAAK,CACV,IAAK,IAAM,KACX,UAAW,CAAC,CAAE,MAAAO,CAAM,IAAM,EAAAX,QAAA,cAACE,EAAA,CAAK,KAAK,SAASS,CAAM,CACtD,CAAC,CACH,CACD,CACH,EAEF,WAAY,IAAM,EAAAX,QAAA,cAACY,EAAA,CAAQ,KAAMpB,EAAE,yBAAyB,EAAG,EAC/D,QAAS,IAAM,IACjB,CAAC,CACH,EDvEA,IAAMqB,MAAmB,WAAQ,CAC/B,SAAO,UAA4B,EACnC,SAAO,UAAuC,CAChD,CAAC,EAEKC,GAAgB,CAAC,CAAE,QAAAC,CAAQ,IAC1BA,EAKEF,GAAiB,MAAM,CAAE,QAAAE,CAAQ,CAAC,EAJhCF,GAAiB,MAAM,CAC5B,QAAS,EAAAG,QAAA,cAACC,EAAA,CAAM,QAAQ,oCAAoC,CAC9D,CAAC,EAKQC,GAER,CAAC,CAAE,QAAAH,CAAQ,IAAM,CACpB,GAAM,CAAE,MAAAI,CAAM,EAAIC,EAAgB,EAE5BC,KAAmB,WAAQ,IAAMP,GAAc,CAAE,QAAAC,CAAQ,CAAC,EAAG,CAACA,CAAO,CAAC,EAE5E,SAAO,SAAMM,EAAkB,CAC7B,MAAO,CAAC,CAAE,QAAAN,CAAQ,IAChB,EAAAC,QAAA,cAACM,GAAA,CAAkB,QAASP,EAAS,MAAOI,EAAM,OAAO,MAAO,EAElE,MAAO,CAAC,CAAE,QAAAI,CAAQ,IAChB,EAAAP,QAAA,cAACQ,EAAA,CAAI,OAAQ,EAAG,UAAW,EAAG,aAAc,EAAG,cAAc,UAC3D,EAAAR,QAAA,cAACQ,EAAA,CAAI,IAAK,GACR,EAAAR,QAAA,cAACS,EAAA,CAAK,KAAK,SAASF,CAAQ,CAC9B,CACF,CAEJ,CAAC,CACH","names":["init_esm_shims","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","createServer","init_esm_shims","import_variant","LogMessageSchema","z","LogMessageLevelSchema","LogItemSchema","ExceptionItemSchema","LogResponseSchema","SessionTimeoutResponseSchema","ServerLogResponseSchema","AggregatedLog","LOGS_ENDPOINT","logsReqHandler","req","res","onLog","onError","body","chunk","parsedBody","err","CliErrorCode","resultLogs","exception","log","api","callback","ServerResult","deploymentIdRegex","useLogsServer","onLog","version","appId","result","setResult","localServerPort","setLocalServerPort","deploymentId","setDeploymentId","tunnelUrl","setTunnelUrl","getAppByVersion","useDevCenterClient","createTunnelClient","useTunnel","httpClient","useHttpClient","server","createServer","req","res","logsReqHandler","code","err","info","CliError","port","url","CliErrorCode","status","useAsync","data","topologyComponent","component","ComponentType","match","loggerReq","LOGS_ENDPOINT","attachLogger","deattachLogger","init_esm_shims","import_react","ServerLogMessage","message","level","content","React","Text","DisplayServerLogs","version","appId","t","useTranslation","logs","setLogs","serverResult","useLogsServer","serverLogs","prevLogs","React","Box_default","Text","Trans","log","logIdx","message","level","msgItem","idx","ServerLogMessage","stack","Spinner","ValidationResult","validateInput","version","React","Trans","LogsCommand","model","useProjectModel","validationResult","DisplayServerLogs","message","Box_default","Text"]}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a}from"./chunk-SUDVHU7A.js";import"./chunk-CH25SGQ6.js";import"./chunk-QZS4ARDD.js";import"./chunk-FHI3B5GR.js";import"./chunk-LBMDBGQY.js";import"./chunk-TBNJFVSI.js";import"./chunk-NIFVIO6B.js";import"./chunk-QPAM4OF5.js";import"./chunk-5QHRKYZO.js";import"./chunk-VYJSZFOO.js";import"./chunk-QF5IXGT3.js";import"./chunk-KJMWKJXC.js";import"./chunk-DRRMAC33.js";import"./chunk-V4TR6DCM.js";export{a as PreviewCommand};
|
|
4
|
-
//# sourceMappingURL=PreviewCommand-BR4CC5HU.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a as I,b as A}from"./chunk-TUMP3O53.js";import{a as k,b as K}from"./chunk-CH25SGQ6.js";import{b as M}from"./chunk-FHI3B5GR.js";import"./chunk-TBNJFVSI.js";import"./chunk-NIFVIO6B.js";import{b as h}from"./chunk-5QHRKYZO.js";import{g as j,h as U,i as b}from"./chunk-VYJSZFOO.js";import{b as F}from"./chunk-QF5IXGT3.js";import{db as c}from"./chunk-KJMWKJXC.js";import{A as w,B as E,D as C,N as y,O as T,R as B,V as a,W as _,a as u,b as G,w as i,z as P}from"./chunk-DRRMAC33.js";import{e as s,h as r}from"./chunk-V4TR6DCM.js";r();r();var l=s(u(),1);r();var t=s(u(),1),V=s(G(),1);r();var m=s(u(),1);import{preview as H}from"vite";function N(){let o=(0,m.useRef)(),{model:n}=c();return(0,m.useEffect)(()=>()=>{o.current?.httpServer.close()},[]),(0,m.useCallback)(async()=>{let v=await H(await A(n,{type:"build"}));return o.current=v,I(v)},[n])}var D=(0,t.createContext)(null),x=({children:o})=>{let{model:n}=c(),{t:v}=_(),O=j(),W=N(),{status:q}=B(async()=>{await k(n.projectFolder);let p=await W(),S=await h(n.projectFolder),z=F(S,p);return{armTag:await O.createAppRelease(z,n.config.projectId),serverUrl:p}},[]);return(0,V.match)(q,{Error:()=>null,Loading:()=>t.default.createElement(T,{text:v("serve_command.starting_serve_environment")}),Success:({result:{armTag:p,serverUrl:S}})=>t.default.createElement(D.Provider,{value:{serverUrl:S}},t.default.createElement(U,{armTag:p},o))})};function g(){let o=(0,t.useContext)(D);if(o===null)throw new Error("useServeEnvironment() cannot be used without an <ServeEnvironmentProvider>");return o}r();var e=s(u(),1);function L(){let{site:o}=b(),{serverUrl:n}=g();return e.default.createElement(i,{flexDirection:"column"},e.default.createElement(i,{gap:1},e.default.createElement(P,{skin:"success"},e.default.createElement(C,null)),e.default.createElement(a,{i18nKey:"serve_command.starting_serve_environment_success",components:[e.default.createElement(y,{url:n})]})),e.default.createElement(i,{gap:1},e.default.createElement(w,null),e.default.createElement(a,{i18nKey:"serve_command.production_build"})),e.default.createElement(i,{gap:1,paddingTop:1,paddingBottom:1},e.default.createElement(E,null),e.default.createElement(a,{i18nKey:"general.dev_site.current",values:{name:o.displayName}})),e.default.createElement(i,{paddingBottom:1,flexDirection:"column"},e.default.createElement(K,null)))}var J=()=>l.default.createElement(M,null,l.default.createElement(x,null,l.default.createElement(L,null)));export{J as ServeCommand,x as ServeEnvironmentProvider,g as useServeEnvironment};
|
|
4
|
-
//# sourceMappingURL=ServeCommand-DXYE4RDW.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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 { getClientViteConfig } 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 getClientViteConfig(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 '../Platform/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","import_react","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","preview","usePreviewServer","previewServerRef","model","useProjectModel","previewServer","preview","getViteConfig","getViteServerUrl","ServeEnvironmentContext","ServeEnvironmentProvider","children","model","useProjectModel","t","useTranslation","arm","useARMClient","createPreviewServer","usePreviewServer","status","useAsync","assertBuildOutputExists","serverUrl","manifest","readAppManifestFile","updatedManifest","updateAppManifestWithBaseUrl","React","Spinner","armTag","ArmTagProvider","useServeEnvironment","context","init_esm_shims","import_react","ServeCommandScreen","site","useSiteId","serverUrl","useServeEnvironment","React","Box_default","Text","SuccessIcon","Trans","Link","InfoIcon","PointerIcon","PlatformViewer","ServeCommand","React","SiteIdProvider","ServeEnvironmentProvider","ServeCommandScreen"]}
|