@wix/cli-app 1.1.49 → 1.1.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/build/{CreateVersionCommand-T4WBDSPL.js → CreateVersionCommand-G4JMAUB5.js} +2 -2
  2. package/build/DevCommand-ICJ7HWGE.js +4 -0
  3. package/build/DevCommand-ICJ7HWGE.js.map +1 -0
  4. package/build/{GenerateCommand-I7CS67DR.js → GenerateCommand-IGBPVFUN.js} +17 -17
  5. package/build/GenerateCommand-IGBPVFUN.js.map +1 -0
  6. package/build/LogsCommand-7CMV7VDA.js +4 -0
  7. package/build/LogsCommand-7CMV7VDA.js.map +1 -0
  8. package/build/PreviewCommand-4JOWYN2H.js +4 -0
  9. package/build/{ServeCommand-XTSCKNJX.js → ServeCommand-I5CZCTC2.js} +2 -2
  10. package/build/{build-DFXUKKB6.js → build-F7QA4DJU.js} +2 -2
  11. package/build/{chunk-WMFEO4Q3.js → chunk-AKOLPD6V.js} +2 -2
  12. package/build/{chunk-IGQ6FIX4.js → chunk-AODPLKHZ.js} +2 -2
  13. package/build/{chunk-6HVN2EEO.js → chunk-AQLOAQFB.js} +2 -2
  14. package/build/{chunk-NSY2DAJF.js → chunk-AT67JTKR.js} +3 -3
  15. package/build/{chunk-NSY2DAJF.js.map → chunk-AT67JTKR.js.map} +1 -1
  16. package/build/chunk-JTFBYI5Z.js +4 -0
  17. package/build/chunk-JTFBYI5Z.js.map +1 -0
  18. package/build/{chunk-LR6GDVYR.js → chunk-LUN6J4D4.js} +2 -2
  19. package/build/chunk-PWIPMRWY.js +4 -0
  20. package/build/{chunk-UIZOJWYA.js → chunk-PZBAQL52.js} +2 -2
  21. package/build/{chunk-QZDTV4PF.js → chunk-QPGCBW5R.js} +2 -2
  22. package/build/{chunk-YZOQGMMB.js → chunk-RSCSYMHP.js} +2 -2
  23. package/build/{chunk-XAGSTBLE.js → chunk-SUKF3ONU.js} +2 -2
  24. package/build/chunk-TT7ANJ37.js +115 -0
  25. package/build/chunk-TT7ANJ37.js.map +1 -0
  26. package/build/{chunk-KYP6SN2D.js → chunk-U3X4QFEY.js} +2 -2
  27. package/build/{chunk-JMWF7QLD.js → chunk-VMPGY3XD.js} +2 -2
  28. package/build/{chunk-33FL6C3K.js → chunk-WPDKHYDX.js} +2 -2
  29. package/build/{chunk-QXNU2P2L.js → chunk-Z6KGERGI.js} +28 -28
  30. package/build/chunk-Z6KGERGI.js.map +1 -0
  31. package/build/{chunk-ZXKELAWG.js → chunk-ZN6WU4UI.js} +2 -2
  32. package/build/{chunk-ZXKELAWG.js.map → chunk-ZN6WU4UI.js.map} +1 -1
  33. package/build/cloudflare-runtime/entry.js +457 -275
  34. package/build/cloudflare-runtime/getRegisteredExtensions.js +457 -275
  35. package/build/index.js +2 -2
  36. package/build/index.js.map +1 -1
  37. package/build/platform-sdk/browser-5P5TLLCL.js +5 -0
  38. package/build/platform-sdk/browser-5P5TLLCL.js.map +1 -0
  39. package/build/platform-sdk/chunk-3TJ2D6DS.js +2 -0
  40. package/build/platform-sdk/chunk-3TJ2D6DS.js.map +1 -0
  41. package/build/platform-sdk/{chunk-7XGMJ3ZC.js → chunk-RE2R2PA6.js} +2 -2
  42. package/build/platform-sdk/dashboard.js +1 -1
  43. package/build/platform-sdk/dashboard.js.map +1 -1
  44. package/build/platform-sdk/editor.js +2 -2
  45. package/build/platform-sdk/editor.js.map +1 -1
  46. package/build/platform-sdk/site.js +1 -1
  47. package/build/{preview-YVPR44RS.js → preview-CLW3KECJ.js} +2 -2
  48. package/build/{render-command-75HDYRJG.js → render-command-MDMVZZWK.js} +2 -2
  49. package/package.json +4 -4
  50. package/templates/api/files/api.ts.ejs +1 -1
  51. package/templates/custom-element/files/element.tsx.ejs +1 -1
  52. package/templates/service-plugin/gift-cards-provider/files/plugin.ts.ejs +10 -10
  53. package/build/DevCommand-ATSBYRWH.js +0 -4
  54. package/build/DevCommand-ATSBYRWH.js.map +0 -1
  55. package/build/GenerateCommand-I7CS67DR.js.map +0 -1
  56. package/build/LogsCommand-26ZHQTS3.js +0 -4
  57. package/build/LogsCommand-26ZHQTS3.js.map +0 -1
  58. package/build/PreviewCommand-VKIEMHQY.js +0 -4
  59. package/build/chunk-6SSADVBM.js +0 -115
  60. package/build/chunk-6SSADVBM.js.map +0 -1
  61. package/build/chunk-ED6IUMQD.js +0 -4
  62. package/build/chunk-PSEN4ZEQ.js +0 -4
  63. package/build/chunk-PSEN4ZEQ.js.map +0 -1
  64. package/build/chunk-QXNU2P2L.js.map +0 -1
  65. package/build/platform-sdk/browser-ZCGHXB6A.js +0 -5
  66. package/build/platform-sdk/browser-ZCGHXB6A.js.map +0 -1
  67. package/build/platform-sdk/chunk-RVHPVWYH.js +0 -2
  68. package/build/platform-sdk/chunk-RVHPVWYH.js.map +0 -1
  69. /package/build/{CreateVersionCommand-T4WBDSPL.js.map → CreateVersionCommand-G4JMAUB5.js.map} +0 -0
  70. /package/build/{PreviewCommand-VKIEMHQY.js.map → PreviewCommand-4JOWYN2H.js.map} +0 -0
  71. /package/build/{ServeCommand-XTSCKNJX.js.map → ServeCommand-I5CZCTC2.js.map} +0 -0
  72. /package/build/{build-DFXUKKB6.js.map → build-F7QA4DJU.js.map} +0 -0
  73. /package/build/{chunk-WMFEO4Q3.js.map → chunk-AKOLPD6V.js.map} +0 -0
  74. /package/build/{chunk-IGQ6FIX4.js.map → chunk-AODPLKHZ.js.map} +0 -0
  75. /package/build/{chunk-6HVN2EEO.js.map → chunk-AQLOAQFB.js.map} +0 -0
  76. /package/build/{chunk-LR6GDVYR.js.map → chunk-LUN6J4D4.js.map} +0 -0
  77. /package/build/{chunk-ED6IUMQD.js.map → chunk-PWIPMRWY.js.map} +0 -0
  78. /package/build/{chunk-UIZOJWYA.js.map → chunk-PZBAQL52.js.map} +0 -0
  79. /package/build/{chunk-QZDTV4PF.js.map → chunk-QPGCBW5R.js.map} +0 -0
  80. /package/build/{chunk-YZOQGMMB.js.map → chunk-RSCSYMHP.js.map} +0 -0
  81. /package/build/{chunk-XAGSTBLE.js.map → chunk-SUKF3ONU.js.map} +0 -0
  82. /package/build/{chunk-KYP6SN2D.js.map → chunk-U3X4QFEY.js.map} +0 -0
  83. /package/build/{chunk-JMWF7QLD.js.map → chunk-VMPGY3XD.js.map} +0 -0
  84. /package/build/{chunk-33FL6C3K.js.map → chunk-WPDKHYDX.js.map} +0 -0
  85. /package/build/platform-sdk/{chunk-7XGMJ3ZC.js.map → chunk-RE2R2PA6.js.map} +0 -0
  86. /package/build/{preview-YVPR44RS.js.map → preview-CLW3KECJ.js.map} +0 -0
  87. /package/build/{render-command-75HDYRJG.js.map → render-command-MDMVZZWK.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 $}from"./chunk-33FL6C3K.js";import{C as V,Sa as z,Ta as H,Ua as q,Za as U,_a as J,ub as K}from"./chunk-6SSADVBM.js";import{A as d,P as G,S as N,W as T,X as R,b as O,c as I,e as M,f as S,m as t,x as c}from"./chunk-QXNU2P2L.js";import{e as f,h as a}from"./chunk-V4TR6DCM.js";a();a();var L=f(O(),1);var v=f(I(),1);a();var o=f(O(),1),_=f(I(),1);a();var y=f(O(),1);import{createServer as ge}from"node:http";var Q=f(I(),1);a();var x=f(I(),1),te=t.any(),ne=t.enum(["info","error","warn","debug","log"]),se=t.object({message:t.array(te),level:ne,timestamp:t.number()}),ie=t.object({stack:t.string(),name:t.string(),message:t.string(),timestamp:t.number()}),me=t.object({_type:t.literal("log"),exceptions:t.array(ie),logs:t.array(se)}).passthrough(),pe=t.object({_type:t.literal("session-timeout")}).passthrough(),ae=t.discriminatedUnion("_type",[me,pe]),X=(0,x.variant)({Log:(0,x.fields)(),Exception:(0,x.fields)()}),P="/logs",Y=(e,n)=>{let i,g;if(e.method==="POST"&&e.url===P){let m="";e.on("data",s=>{m+=s.toString()}),e.on("end",()=>{let s;try{s=ae.parse(JSON.parse(m))}catch(r){return g(S.FailedToParseLog(),r,{body:m}),n.statusCode=400,n.end()}let p=[];s._type==="log"&&(p.push(...s.exceptions.map(r=>X.Exception(r))),p.push(...s.logs.map(r=>X.Log(r)))),(0,x.match)(s._type,{log:()=>{i(p)},"session-timeout":()=>{n.statusCode=200,n.end(),g(S.LogsConnectionTimeout(),{},{body:m})}}),n.statusCode=200,n.end()})}else n.statusCode=404,n.end("Not Found");let u={onLog:m=>(i=m,u),onError:m=>(g=m,u)};return u};var ce=/([0-9a-f-]{36})/,W=({onLog:e,version:n,appId:i})=>{let{reportError:g}=V(),{getAppByVersion:u}=q(),m=$(),s=H({type:"backoffice"}),p=(0,y.useRef)(),r=(0,y.useMemo)(()=>ge((l,B)=>{Y(l,B).onLog(e).onError((b,A,w)=>{throw r.close(),new M({code:b,cause:A,info:w})})}),[e]),k=(0,y.useMemo)(()=>new Promise(l=>{p.current=l}),[]);(0,y.useEffect)(()=>(r.listen(0,async()=>{let l=r.address().port;p.current?.(l)}),()=>{r.listening&&r.close()}),[r]);let{status:h}=N(async()=>{let l=await k,{url:B}=await m(l),{data:b}=await u({appId:i,version:n}),A=b.components.find(D=>D.compType===z.TOPOLOGY),w=ce.exec(A?.compData.topology.topology.backendApiUrl??"");if(!w?.[1])throw new M({code:S.FailedToGetLogsTopology()});let j=w[1],re={appId:i,deploymentId:j,destinationUrl:new URL(P,B).href};try{await s.request(U(re))}catch(D){throw r.close(),new M({code:S.FailedToConnectToLogsService(),cause:D})}return j},[]);return(0,y.useEffect)(()=>()=>{(0,Q.isType)(h,"Success")&&s.request(J({appId:i,deploymentId:h.result})).catch(g)},[]),h};a();var Z=f(O(),1);var F=({message:e,level:n})=>{let i="unknown";return typeof e=="object"?i=JSON.stringify(e):i=String(e),Z.default.createElement(d,{skin:n==="error"?"error":"standard"},i)};var ee=({version:e,appId:n})=>{let{t:i}=R(),[g,u]=(0,o.useState)([]),m=W({appId:n,version:e,onLog:(0,o.useCallback)(s=>{u(p=>[...p,...s])},[u])});return(0,_.match)(m,{Success:()=>o.default.createElement(c,{marginTop:1,marginBottom:1,flexDirection:"column"},o.default.createElement(c,{marginBottom:1,flexDirection:"column"},o.default.createElement(d,null,o.default.createElement(T,{i18nKey:"logs_command.listening_to_logs"})),o.default.createElement(d,null,o.default.createElement(T,{i18nKey:"logs_command.prod_env_logs",values:{version:e}}))),g.map((s,p)=>o.default.createElement(c,{key:p,flexDirection:"column"},o.default.createElement(c,{columnGap:1},o.default.createElement(c,{flexShrink:0},o.default.createElement(d,{skin:"secondary"},new Date(s.timestamp).toLocaleTimeString())),o.default.createElement(c,{columnGap:1},(0,_.match)(s,{Log:({message:r,level:k})=>r.map((h,l)=>o.default.createElement(F,{key:`${p}-${l}`,message:h,level:k})),Exception:({message:r})=>o.default.createElement(F,{key:p,message:r,level:"error"})}))),(0,_.match)(s,{Log:()=>null,Exception:({stack:r})=>o.default.createElement(d,{skin:"error"},r)})))),Loading:()=>o.default.createElement(G,{text:i("logs_command.connecting")}),Error:()=>null})};var oe=(0,v.variant)({Valid:(0,v.fields)(),Error:(0,v.fields)()}),le=({version:e})=>e?oe.Valid({version:e}):oe.Error({message:L.default.createElement(T,{i18nKey:"logs_command.logs_without_version"})}),de=({version:e})=>{let{model:n}=K(),i=(0,L.useMemo)(()=>le({version:e}),[e]);return(0,v.match)(i,{Valid:({version:g})=>L.default.createElement(ee,{version:g,appId:n.config.appId}),Error:({message:g})=>L.default.createElement(c,{rowGap:1,marginTop:1,marginBottom:1,flexDirection:"column"},L.default.createElement(c,{gap:1},L.default.createElement(d,{skin:"error"},g)))})};export{de as LogsCommand};
4
- //# sourceMappingURL=LogsCommand-26ZHQTS3.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 Loading: () => <Spinner text={t('logs_command.connecting')} />,\n Error: () => null,\n });\n};\n","import { useEffect, useMemo, useRef } from 'react';\nimport { createServer } from 'node:http';\nimport type { AddressInfo } from 'node:net';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { useAsync } from '@wix/cli-ui-kit';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\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 { useDevCenterClient, ComponentType } from '@wix/dev-center-client';\nimport type { TopologyComponent } from '@wix/dev-center-client';\nimport { isType } from 'variant';\nimport type { OnLog } from './logsReqHandler.js';\nimport { LOGS_ENDPOINT, logsReqHandler } from './logsReqHandler.js';\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 { reportError } = useErrorReporter();\n const { getAppByVersion } = useDevCenterClient();\n const createTunnelClient = useTunnel();\n const httpClient = useHttpClient({ type: 'backoffice' });\n const localServerPortResolverRef = useRef<(port: number) => void>();\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 const localServerPortPromise = useMemo(() => {\n return new Promise<number>((resolve) => {\n localServerPortResolverRef.current = resolve;\n });\n }, []);\n\n useEffect(() => {\n server.listen(0, async () => {\n const port = (server.address() as AddressInfo).port;\n localServerPortResolverRef.current?.(port);\n });\n return () => {\n if (server.listening) {\n server.close();\n }\n };\n }, [server]);\n\n const { status } = useAsync(async () => {\n const localServerPort = await localServerPortPromise;\n const { url: tunnelUrl } = await createTunnelClient(localServerPort);\n const { data } = await getAppByVersion({ appId, version });\n\n const topologyComponent = data.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\n if (!match?.[1]) {\n throw new CliError({\n code: CliErrorCode.FailedToGetLogsTopology(),\n });\n }\n const deploymentId = match[1];\n\n const loggerReq = {\n appId,\n deploymentId,\n destinationUrl: new URL(LOGS_ENDPOINT, tunnelUrl).href,\n };\n\n try {\n await httpClient.request(attachLogger(loggerReq));\n } catch (error) {\n server.close();\n throw new CliError({\n code: CliErrorCode.FailedToConnectToLogsService(),\n cause: error,\n });\n }\n\n return deploymentId;\n }, []);\n\n useEffect(() => {\n // Logs should be deattached only on unmount.\n // This is why this `useEffect` has only `return` statement.\n return () => {\n if (isType(status, 'Success')) {\n httpClient\n .request(\n deattachLogger({\n appId,\n deploymentId: status.result,\n })\n )\n .catch(reportError);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return status;\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 } from 'variant';\nimport 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;\ntype 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 res.statusCode = 200;\n res.end();\n\n onError(CliErrorCode.LogsConnectionTimeout(), {}, { body });\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 from 'react';\nimport 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":"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","names":["init_esm_shims","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","createServer","import_variant","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","deploymentIdRegex","useLogsServer","onLog","version","appId","reportError","useErrorReporter","getAppByVersion","useDevCenterClient","createTunnelClient","useTunnel","httpClient","useHttpClient","localServerPortResolverRef","server","createServer","req","res","logsReqHandler","code","err","info","CliError","localServerPortPromise","resolve","port","status","useAsync","localServerPort","tunnelUrl","data","topologyComponent","component","ComponentType","match","CliErrorCode","deploymentId","loggerReq","LOGS_ENDPOINT","attachLogger","error","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-6HVN2EEO.js";import"./chunk-YZOQGMMB.js";import"./chunk-XAGSTBLE.js";import"./chunk-WMFEO4Q3.js";import"./chunk-LR6GDVYR.js";import"./chunk-IGQ6FIX4.js";import"./chunk-KYP6SN2D.js";import"./chunk-33FL6C3K.js";import"./chunk-JMWF7QLD.js";import"./chunk-NSY2DAJF.js";import"./chunk-UIZOJWYA.js";import"./chunk-6SSADVBM.js";import"./chunk-QXNU2P2L.js";import"./chunk-V4TR6DCM.js";export{a as PreviewCommand};
4
- //# sourceMappingURL=PreviewCommand-VKIEMHQY.js.map