@wix/cli-app 1.1.36 → 1.1.37
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-GJYJMFS6.js → CreateVersionCommand-6EC4JSXM.js} +2 -2
- package/build/{CreateVersionCommand-GJYJMFS6.js.map → CreateVersionCommand-6EC4JSXM.js.map} +1 -1
- package/build/DevCommand-X6EMKMNL.js +4 -0
- package/build/DevCommand-X6EMKMNL.js.map +1 -0
- package/build/{GenerateCommand-YTAYOWLN.js → GenerateCommand-OMONJKBI.js} +22 -22
- package/build/GenerateCommand-OMONJKBI.js.map +1 -0
- package/build/{LogsCommand-ZWIIAJI6.js → LogsCommand-J2FI7ZFQ.js} +2 -2
- package/build/LogsCommand-J2FI7ZFQ.js.map +1 -0
- package/build/PreviewCommand-62VXVRKG.js +4 -0
- package/build/{ServeCommand-ZJMRR4ES.js → ServeCommand-MITPYVYW.js} +2 -2
- package/build/ServeCommand-MITPYVYW.js.map +1 -0
- package/build/{build-6EB3DE3E.js → build-QYESI24D.js} +2 -2
- package/build/{chunk-ZTMLHHUQ.js → chunk-22T5OFY2.js} +2 -2
- package/build/chunk-22T5OFY2.js.map +1 -0
- package/build/{chunk-E7IQZNJ7.js → chunk-2M3UC7RV.js} +2 -2
- package/build/{chunk-HNY5L6XA.js → chunk-7DTNPXX6.js} +2 -2
- package/build/{chunk-3UAIFRQA.js → chunk-CKCOR335.js} +2 -2
- package/build/chunk-CKCOR335.js.map +1 -0
- package/build/{chunk-JPGXKQXP.js → chunk-CXOD6WQ4.js} +1 -1
- package/build/chunk-CXOD6WQ4.js.map +1 -0
- package/build/{chunk-5POS3EQI.js → chunk-E6KVS4MA.js} +2 -2
- package/build/{chunk-I24C7SNY.js → chunk-EQUG3BNW.js} +2 -2
- package/build/{chunk-3ACKBLKR.js → chunk-FVAP6LIO.js} +2 -2
- package/build/{chunk-6N3YP4CO.js → chunk-HDM7FXQ2.js} +2 -2
- package/build/{chunk-TSKFLGBO.js → chunk-HMROXS2Y.js} +5 -5
- package/build/{chunk-TSKFLGBO.js.map → chunk-HMROXS2Y.js.map} +1 -1
- package/build/{chunk-OMZB4UKG.js → chunk-JA2XJ7LG.js} +2 -2
- package/build/{chunk-OOIZVKTY.js → chunk-KEE43HZL.js} +2 -2
- package/build/chunk-KEE43HZL.js.map +1 -0
- package/build/{chunk-KX7T4WP2.js → chunk-PVYYLEXH.js} +2 -2
- package/build/chunk-PVYYLEXH.js.map +1 -0
- package/build/chunk-QCRAQWKR.js +11 -0
- package/build/chunk-QCRAQWKR.js.map +1 -0
- package/build/{chunk-3EO7KOOF.js → chunk-RPHPWNCA.js} +2 -2
- package/build/chunk-T3M3WLBF.js +4 -0
- package/build/chunk-T3M3WLBF.js.map +1 -0
- package/build/chunk-U6DFVNFC.js +4 -0
- package/build/chunk-U6DFVNFC.js.map +1 -0
- package/build/chunk-XFE6VTSD.js +233 -0
- package/build/chunk-XFE6VTSD.js.map +1 -0
- package/build/{chunk-PQFAL6B4.js → chunk-XMBKXITX.js} +2 -2
- package/build/index.js +2 -2
- package/build/index.js.map +1 -1
- package/build/platform-sdk/editor.js +2 -2
- package/build/platform-sdk/editor.js.map +1 -1
- package/build/platform-sdk/site.js +1 -1
- package/build/platform-sdk/site.js.map +1 -1
- package/build/preview-YWEFS3GP.js +4 -0
- package/build/{preview-OUDOPVIF.js.map → preview-YWEFS3GP.js.map} +1 -1
- package/build/render-command-QQQFQTR7.js +4 -0
- package/build/render-command-QQQFQTR7.js.map +1 -0
- package/package.json +7 -4
- package/templates/custom-element/dependencies.json +1 -2
- package/templates/custom-element/files/element.tsx.ejs +8 -5
- package/templates/custom-element/files/panel.tsx.ejs +26 -32
- package/templates/dashboard-modal/dependencies.json +2 -3
- package/templates/dashboard-modal/files/modal.tsx.ejs +11 -16
- package/templates/dashboard-page/dependencies.json +1 -3
- package/templates/dashboard-page/files/page.tsx.ejs +7 -11
- package/templates/dashboard-plugin/dependencies.json +1 -3
- package/templates/dashboard-plugin/files/plugin.tsx.ejs +6 -10
- package/build/DevCommand-UJ56EKIV.js +0 -4
- package/build/DevCommand-UJ56EKIV.js.map +0 -1
- package/build/GenerateCommand-YTAYOWLN.js.map +0 -1
- package/build/LogsCommand-ZWIIAJI6.js.map +0 -1
- package/build/PreviewCommand-7JJAW5Y4.js +0 -4
- package/build/ServeCommand-ZJMRR4ES.js.map +0 -1
- package/build/chunk-3UAIFRQA.js.map +0 -1
- package/build/chunk-5GXRNUOR.js +0 -201
- package/build/chunk-5GXRNUOR.js.map +0 -1
- package/build/chunk-AXFFV5MU.js +0 -4
- package/build/chunk-AXFFV5MU.js.map +0 -1
- package/build/chunk-DAPZQSXG.js +0 -11
- package/build/chunk-DAPZQSXG.js.map +0 -1
- package/build/chunk-JPGXKQXP.js.map +0 -1
- package/build/chunk-KX7T4WP2.js.map +0 -1
- package/build/chunk-OOIZVKTY.js.map +0 -1
- package/build/chunk-SLG2HQYB.js +0 -4
- package/build/chunk-SLG2HQYB.js.map +0 -1
- package/build/chunk-ZTMLHHUQ.js.map +0 -1
- package/build/preview-OUDOPVIF.js +0 -4
- package/build/render-command-URXJKFYN.js +0 -4
- package/build/render-command-URXJKFYN.js.map +0 -1
- /package/build/{PreviewCommand-7JJAW5Y4.js.map → PreviewCommand-62VXVRKG.js.map} +0 -0
- /package/build/{build-6EB3DE3E.js.map → build-QYESI24D.js.map} +0 -0
- /package/build/{chunk-E7IQZNJ7.js.map → chunk-2M3UC7RV.js.map} +0 -0
- /package/build/{chunk-HNY5L6XA.js.map → chunk-7DTNPXX6.js.map} +0 -0
- /package/build/{chunk-5POS3EQI.js.map → chunk-E6KVS4MA.js.map} +0 -0
- /package/build/{chunk-I24C7SNY.js.map → chunk-EQUG3BNW.js.map} +0 -0
- /package/build/{chunk-3ACKBLKR.js.map → chunk-FVAP6LIO.js.map} +0 -0
- /package/build/{chunk-6N3YP4CO.js.map → chunk-HDM7FXQ2.js.map} +0 -0
- /package/build/{chunk-OMZB4UKG.js.map → chunk-JA2XJ7LG.js.map} +0 -0
- /package/build/{chunk-3EO7KOOF.js.map → chunk-RPHPWNCA.js.map} +0 -0
- /package/build/{chunk-PQFAL6B4.js.map → chunk-XMBKXITX.js.map} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as _createRequire } from 'node:module';
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a as J}from"./chunk-
|
|
4
|
-
//# sourceMappingURL=LogsCommand-
|
|
3
|
+
import{a as J}from"./chunk-CKCOR335.js";import{Oa as V,Pa as z,Qa as H,Va as R,Wa as q,mb as U}from"./chunk-HMROXS2Y.js";import{O as j,R as G,V as C,W as N,a as I,b as M,d as _,e as S,l as r,w as l,z as d}from"./chunk-CXOD6WQ4.js";import{e as f,h as a}from"./chunk-V4TR6DCM.js";a();a();var L=f(I(),1);var v=f(M(),1);a();var o=f(I(),1),k=f(M(),1);a();var y=f(I(),1);import{createServer as pe}from"node:http";var X=f(M(),1);a();var x=f(M(),1),oe=r.any(),re=r.enum(["info","error","warn","debug","log"]),te=r.object({message:r.array(oe),level:re,timestamp:r.number()}),ne=r.object({stack:r.string(),name:r.string(),message:r.string(),timestamp:r.number()}),se=r.object({_type:r.literal("log"),exceptions:r.array(ne),logs:r.array(te)}).passthrough(),ie=r.object({_type:r.literal("session-timeout")}).passthrough(),me=r.discriminatedUnion("_type",[se,ie]),K=(0,x.variant)({Log:(0,x.fields)(),Exception:(0,x.fields)()}),D="/logs",$=(e,n)=>{let i,g;if(e.method==="POST"&&e.url===D){let m="";e.on("data",s=>{m+=s.toString()}),e.on("end",()=>{let s;try{s=me.parse(JSON.parse(m))}catch(p){return g(S.FailedToParseLog(),p,{body:m}),n.statusCode=400,n.end()}let t=[];s._type==="log"&&(t.push(...s.exceptions.map(p=>K.Exception(p))),t.push(...s.logs.map(p=>K.Log(p)))),(0,x.match)(s._type,{log:()=>{i(t)},"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 ae=/([0-9a-f-]{36})/,Y=({onLog:e,version:n,appId:i})=>{let{getAppByVersion:g}=H(),u=J(),m=z({type:"backoffice"}),s=(0,y.useRef)(),t=(0,y.useMemo)(()=>pe((c,h)=>{$(c,h).onLog(e).onError((B,b,O)=>{throw t.close(),new _({code:B,cause:b,info:O})})}),[e]),p=(0,y.useMemo)(()=>new Promise(c=>{s.current=c}),[]);(0,y.useEffect)(()=>(t.listen(0,async()=>{let c=t.address().port;s.current?.(c)}),()=>{t.listening&&t.close()}),[t]);let{status:T}=G(async()=>{let c=await p,{url:h}=await u(c),{data:B}=await g({appId:i,version:n}),b=B.components.find(A=>A.compType===V.TOPOLOGY),O=ae.exec(b?.compData.topology.topology.backendApiUrl??"");if(!O?.[1])throw new _({code:S.FailedToGetLogsTopology()});let F=O[1],ee={appId:i,deploymentId:F,destinationUrl:new URL(D,h).href};try{await m.request(R(ee))}catch(A){throw t.close(),new _({code:S.FailedToConnectToLogsService(),cause:A})}return F},[]);return(0,y.useEffect)(()=>()=>{(0,X.isType)(T,"Success")&&m.request(q({appId:i,deploymentId:T.result}))},[]),T};a();var Q=f(I(),1);var P=({message:e,level:n})=>{let i="unknown";return typeof e=="object"?i=JSON.stringify(e):i=String(e),Q.default.createElement(d,{skin:n==="error"?"error":"standard"},i)};var W=({version:e,appId:n})=>{let{t:i}=N(),[g,u]=(0,o.useState)([]),m=Y({appId:n,version:e,onLog:(0,o.useCallback)(s=>{u(t=>[...t,...s])},[u])});return(0,k.match)(m,{Success:()=>o.default.createElement(l,{marginTop:1,marginBottom:1,flexDirection:"column"},o.default.createElement(l,{marginBottom:1,flexDirection:"column"},o.default.createElement(d,null,o.default.createElement(C,{i18nKey:"logs_command.listening_to_logs"})),o.default.createElement(d,null,o.default.createElement(C,{i18nKey:"logs_command.prod_env_logs",values:{version:e}}))),g.map((s,t)=>o.default.createElement(l,{key:t,flexDirection:"column"},o.default.createElement(l,{columnGap:1},o.default.createElement(l,{flexShrink:0},o.default.createElement(d,{skin:"secondary"},new Date(s.timestamp).toLocaleTimeString())),o.default.createElement(l,{columnGap:1},(0,k.match)(s,{Log:({message:p,level:T})=>p.map((c,h)=>o.default.createElement(P,{key:`${t}-${h}`,message:c,level:T})),Exception:({message:p})=>o.default.createElement(P,{key:t,message:p,level:"error"})}))),(0,k.match)(s,{Log:()=>null,Exception:({stack:p})=>o.default.createElement(d,{skin:"error"},p)})))),Loading:()=>o.default.createElement(j,{text:i("logs_command.connecting")}),Error:()=>null})};var Z=(0,v.variant)({Valid:(0,v.fields)(),Error:(0,v.fields)()}),ge=({version:e})=>e?Z.Valid({version:e}):Z.Error({message:L.default.createElement(C,{i18nKey:"logs_command.logs_without_version"})}),le=({version:e})=>{let{model:n}=U(),i=(0,L.useMemo)(()=>ge({version:e}),[e]);return(0,v.match)(i,{Valid:({version:g})=>L.default.createElement(W,{version:g,appId:n.config.appId}),Error:({message:g})=>L.default.createElement(l,{rowGap:1,marginTop:1,marginBottom:1,flexDirection:"column"},L.default.createElement(l,{gap:1},L.default.createElement(d,{skin:"error"},g)))})};export{le as LogsCommand};
|
|
4
|
+
//# sourceMappingURL=LogsCommand-J2FI7ZFQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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 { 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 { 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.request(\n deattachLogger({\n appId,\n deploymentId: status.result,\n })\n );\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;\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 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","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"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{a}from"./chunk-PVYYLEXH.js";import"./chunk-U6DFVNFC.js";import"./chunk-22T5OFY2.js";import"./chunk-7DTNPXX6.js";import"./chunk-E6KVS4MA.js";import"./chunk-QCRAQWKR.js";import"./chunk-JA2XJ7LG.js";import"./chunk-XMBKXITX.js";import"./chunk-T3M3WLBF.js";import"./chunk-2M3UC7RV.js";import"./chunk-HMROXS2Y.js";import"./chunk-CXOD6WQ4.js";import"./chunk-V4TR6DCM.js";export{a as PreviewCommand};
|
|
4
|
+
//# sourceMappingURL=PreviewCommand-62VXVRKG.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as _createRequire } from 'node:module';
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a as D,b as L}from"./chunk-
|
|
4
|
-
//# sourceMappingURL=ServeCommand-
|
|
3
|
+
import{a as D,b as L}from"./chunk-U6DFVNFC.js";import{b as U,c as K,d as N}from"./chunk-22T5OFY2.js";import"./chunk-E6KVS4MA.js";import"./chunk-QCRAQWKR.js";import{a as F,b as h}from"./chunk-XFE6VTSD.js";import{b as j}from"./chunk-XMBKXITX.js";import{g as b,h as k,j as f,k as V}from"./chunk-T3M3WLBF.js";import{b as M}from"./chunk-2M3UC7RV.js";import{mb as c}from"./chunk-HMROXS2Y.js";import{A as I,B as y,D as B,N as T,O as _,R as O,V as a,W as A,a as d,b as R,w as i,z as E}from"./chunk-CXOD6WQ4.js";import{e as s,h as o}from"./chunk-V4TR6DCM.js";o();o();var S=s(d(),1);o();var n=s(d(),1),q=s(R(),1);o();var m=s(d(),1);import{preview as ee}from"vite";function W(){let t=(0,m.useRef)(),{model:r}=c();return(0,m.useEffect)(()=>()=>{t.current?.httpServer.close()},[]),(0,m.useCallback)(async()=>{let v=await ee(await h(r,{type:"build"}));return t.current=v,F(v)},[r])}var z=(0,n.createContext)(null),g=({children:t})=>{let{model:r}=c(),{t:v}=A(),{site:H}=f(),J=b(),{createOverride:Q}=K(),X=W(),{status:Y}=O(async()=>{await D(r.projectFolder);let p=await X(),x=await j(r.projectFolder),P=M(x,p),Z=await J.createAppRelease(P,r.config.projectId),C=N(r),{id:$}=C?await Q({appId:r.config.appId,siteId:H.id,overrides:C}):await Promise.resolve({id:void 0});return{armTag:Z,serverUrl:p,siteOverrideId:$}},[]);return(0,q.match)(Y,{Error:()=>null,Loading:()=>n.default.createElement(_,{text:v("serve_command.starting_serve_environment")}),Success:({result:{armTag:p,serverUrl:x,siteOverrideId:P}})=>n.default.createElement(z.Provider,{value:{serverUrl:x}},n.default.createElement(V,{siteOverrideId:P},n.default.createElement(k,{armTag:p},t)))})};function w(){let t=(0,n.useContext)(z);if(t===null)throw new Error("useServeEnvironment() cannot be used without an <ServeEnvironmentProvider>");return t}o();var e=s(d(),1);function G(){let{site:t}=f(),{serverUrl:r}=w();return e.default.createElement(i,{flexDirection:"column"},e.default.createElement(i,{gap:1},e.default.createElement(E,{skin:"success"},e.default.createElement(B,null)),e.default.createElement(a,{i18nKey:"serve_command.starting_serve_environment_success",components:[e.default.createElement(T,{url:r})]})),e.default.createElement(i,{gap:1},e.default.createElement(I,null),e.default.createElement(a,{i18nKey:"serve_command.production_build"})),e.default.createElement(i,{gap:1,paddingTop:1,paddingBottom:1},e.default.createElement(y,null),e.default.createElement(a,{i18nKey:"general.dev_site.current",values:{name:t.displayName}})),e.default.createElement(i,{paddingBottom:1,flexDirection:"column"},e.default.createElement(L,null)))}var re=()=>S.default.createElement(U,null,S.default.createElement(g,null,S.default.createElement(G,null)));export{re as ServeCommand,g as ServeEnvironmentProvider,w as useServeEnvironment};
|
|
4
|
+
//# sourceMappingURL=ServeCommand-MITPYVYW.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 from 'react';\nimport 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, { createContext, useContext } from 'react';\nimport type { FC, ReactNode } 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 { useSiteOverrideClient } from '@wix/site-override-client';\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';\nimport { useSiteId } from '../../site-id/index.js';\nimport { createSiteOverrides } from '../../site-override/createSiteOverrides.js';\nimport { SiteOverrideProvider } from '../../context/siteOverride.js';\n\ninterface 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 { site } = useSiteId();\n const arm = useARMClient();\n const { createOverride } = useSiteOverrideClient();\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 const overrides = createSiteOverrides(model);\n const { id: siteOverrideId } = overrides\n ? await createOverride({\n appId: model.config.appId,\n siteId: site.id,\n overrides,\n })\n : await Promise.resolve({ id: undefined });\n\n return { armTag, serverUrl, siteOverrideId };\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, siteOverrideId } }) => (\n <ServeEnvironmentContext.Provider value={{ serverUrl }}>\n <SiteOverrideProvider siteOverrideId={siteOverrideId}>\n <ArmTagProvider armTag={armTag}>{children}</ArmTagProvider>\n </SiteOverrideProvider>\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 } from 'vite';\nimport 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","site","useSiteId","arm","useARMClient","createOverride","useSiteOverrideClient","createPreviewServer","usePreviewServer","status","useAsync","assertBuildOutputExists","serverUrl","manifest","readAppManifestFile","updatedManifest","updateAppManifestWithBaseUrl","armTag","overrides","createSiteOverrides","siteOverrideId","React","Spinner","SiteOverrideProvider","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"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as _createRequire } from 'node:module';
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a as s,c as u,d as f}from"./chunk-
|
|
4
|
-
//# sourceMappingURL=build-
|
|
3
|
+
import{a as s,c as u,d as f}from"./chunk-FVAP6LIO.js";import{b as m,c as d}from"./chunk-XFE6VTSD.js";import{a as l}from"./chunk-XMBKXITX.js";import"./chunk-2M3UC7RV.js";import{Ya as c,kb as a,va as i}from"./chunk-HMROXS2Y.js";import{b as E,d as t,e as n}from"./chunk-CXOD6WQ4.js";import{e as g,h as p}from"./chunk-V4TR6DCM.js";p();import{cwd as b}from"node:process";import{build as w}from"vite";var r=g(E(),1);async function M(){let o=await a(b());if(o.components.length===0)throw new t({code:n.NoExtensionsFound()});s(o.components);let C=o.components.filter(e=>(0,r.isType)(e,i.Api)||(0,r.isType)(e,i.Event)||(0,r.isType)(e,i.ServicePlugin)).length>0?await w(await d(o,{type:"build"},{appSecret:"__APP_SECRET__",webhooksPublicKey:"__WEBHOOKS_PUBLIC_KEY__"})).catch(e=>{throw new t({code:n.FailedToBuildApp({cause:e}),cause:e})}):void 0,_=await w(await m(o,{type:"build"},{baseBackendUrl:c})).catch(e=>{throw new t({code:n.FailedToBuildApp({cause:e}),cause:e})}),B=await u({appId:o.config.appId,components:o.components,sentryDSN:o.config.sentryDSN,componentSourceBuilder:f(o,{clientBuildOutput:_},{backendBuildOutput:C})});await l({projectFolder:o.projectFolder,manifest:B})}export{M as build};
|
|
4
|
+
//# sourceMappingURL=build-QYESI24D.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as _createRequire } from 'node:module';
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{b as _e}from"./chunk-DAPZQSXG.js";import{b as U,c as he,d as Ie,e as Oe}from"./chunk-SLG2HQYB.js";import{Ka as xe,Oa as W,Pa as z,Qa as we,Ra as be,S as ge,a as pe,b as ae,d as Z,f as le,lb as A,r as me,s as ce,t as Se,u as K,ua as Ce,x as ye}from"./chunk-TSKFLGBO.js";import{G as M,H as j,L,M as fe,O as w,P as H,R as O,S as J,V as h,W as f,Y as ve,a as S,b,d as g,e as C,l as x,m as B,y as de,z as ue}from"./chunk-JPGXKQXP.js";import{e as l,h as t}from"./chunk-V4TR6DCM.js";t();var T=l(S(),1),oe=l(b(),1);t();var k=l(S(),1),V=l(b(),1);t();t();var y=l(S(),1),je=l(b(),1);t();var ee=l(S(),1),Te=l(b(),1);t();var Pe=l(S(),1);function ze(e){return{cliAction:({question:i,action:o,key:r,additionalInfo:n})=>e.report(be({question:i,action:o,key:r,additionalInfo:JSON.stringify(n)})),cliFlowStepAnswered:({question:i,answer:o,additionalInfo:r})=>e.report(we({question:i,answer:o,additionalInfo:JSON.stringify(r)}))}}function F(){let e=K();return(0,Pe.useMemo)(()=>ze(e),[e])}var Ee=({onSubmit:e,onError:i,sites:o})=>{let r=F(),{t:n}=f(),{getDevSitesCount:s,getDevSitesLimit:m}=z(),{status:_}=O(()=>Promise.all([s(),m()]),[],{onError:i}),c=u=>{r.cliFlowStepAnswered({question:n("site_type_select.label"),answer:u.title}),e(u.value)};return(0,Te.match)(_,{Error:()=>null,Loading:()=>ee.default.createElement(w,{text:n("general.loading")}),Success:({result:[u,v]})=>{let d=u>=v,I=o.length===0;return ee.default.createElement(j,{label:n("site_type_select.label"),options:[{availability:I?M.Disabled({reason:n("site_type_select.no_sites")}):M.Enabled(),title:n("site_type_select.pick_existing_site"),value:"select-existing-site"},{title:n("site_type_select.create_new_dev_site"),value:"create-dev-site",availability:d?M.Disabled({reason:n("site_type_select.create_new_dev_site.disabled",{limit:v})}):M.Enabled()}],onSubmit:c})}})};t();var E=l(S(),1),Ne=l(b(),1);t();var Y=l(S(),1);t();t();var Fe=l(S(),1);t();t();var Ae=x.record(x.object({appDefinitionId:x.string().optional(),permissions:x.object({revoked:x.boolean()}).optional()}));var R=class{constructor(i){this.httpClient=i}isAppInstalled=async({metaSiteId:i,appId:o})=>{try{let{data:r}=await this.httpClient.request({url:`/_api/msm/v1/meta-site/editor-client-spec-map/${i}`}),n=Ae.parse(r);return Object.values(n).some(m=>m.appDefinitionId===o&&!m.permissions?.revoked)}catch(r){throw new g({code:C.FailedToCheckIfAppInstalled(),cause:r})}}};function q(){let e=W({type:"general"});return(0,Fe.useMemo)(()=>new R(e),[e])}var N=l(b(),1);t();var D=l(S(),1);var De=({siteId:e,appId:i})=>{let{t:o}=f(),r=F();return de(async(n,s)=>{s.return&&(r.cliAction({question:o("install_app_on_site.warning.instructions"),key:"enter",action:"install_app_on_site"}),await ye(`https://manage.wix.com/installer/install?metaSiteId=${e}&appId=${i}&platform=cli&version=latest`))}),D.default.createElement(D.default.Fragment,null,D.default.createElement(h,{i18nKey:"install_app_on_site.warning"}),D.default.createElement(h,{i18nKey:"install_app_on_site.warning.instructions",components:[D.default.createElement(fe,{value:"enter"})]}))};var te=(0,N.variant)({Success:{},Canceled:{}});function Ue(e){return e&&typeof e=="object"&&"name"in e&&e.name==="AbortError"}var G=({appId:e,site:i,onSubmit:o,onError:r})=>{let{isAppInstalled:n}=q(),{status:s}=O(async({signal:m})=>{let{appInstallationPollInterval:_}=B();try{return await ce(()=>n({metaSiteId:i.id,appId:e}),{interval:_??2e3,timeout:{milliseconds:60*1e3*2,signal:m}}),te.Success()}catch(c){if(c instanceof me)throw new g({code:C.SiteSelectorTimedout(),cause:c});if(Ue(c))return te.Canceled();throw c}},[],{onError:r,onSuccess:m=>{(0,N.isType)(m,te.Success)&&o()}});return(0,N.match)(s,{Error:()=>null,Loading:()=>Y.default.createElement(De,{siteId:i.id,appId:e}),Success:()=>Y.default.createElement(L,{type:"success"},Y.default.createElement(h,{i18nKey:"install_app_on_site.finished_successfully"}))})};var ke=({status:e,appId:i,onSubmit:o,onError:r})=>{let{t:n}=f();return(0,Ne.match)(e,{NotRequested:()=>null,Error:()=>null,Loading:()=>E.default.createElement(w,{text:n("create_dev_site.loading")}),Success:({result:s})=>E.default.createElement(E.default.Fragment,null,E.default.createElement(h,{i18nKey:"create_dev_site.success",components:[E.default.createElement(ue,{skin:"success",bold:!0})],values:{name:s.displayName}}),E.default.createElement(G,{appId:i,site:s,onSubmit:()=>o(s),onError:r}))})};var Me={"general.loading":"Loading...","site_type_select.label":"Select Development Site","site_type_select.create_new_dev_site":"Create a new Development Site","site_type_select.create_new_dev_site.disabled":"You have reached the maximum number of {limit} Development Sites","site_type_select.pick_existing_site":"Pick an existing site","site_type_select.no_sites":"No sites found","create_dev_site.loading":"Creating your new Development Site...","create_dev_site.success":"Development Site <0>{name}</0> created successfully! \u{1F680}","site_list_select.label":"Select Site","install_app_on_site.warning":"Your new application needs to be installed on the selected Development Site","install_app_on_site.warning.instructions":"Press <0/> to install the application in your browser","install_app_on_site.finished_successfully":"App installed on Development Site."};t();var P=l(S(),1);var qe=l(b(),1);t();var $=l(S(),1);var Le=({onSubmit:e,sites:i})=>{let{t:o}=f(),r=F(),n=(0,$.useCallback)(s=>{r.cliFlowStepAnswered({question:o("site_list_select.label"),answer:s.title}),e(s.value)},[r,e,o]);return $.default.createElement(j,{label:o("site_list_select.label"),options:i.map(s=>({key:s.id,title:s.displayName,description:s.viewUrl,value:s})),onSubmit:n})};var Be=({sites:e,appId:i,onSubmit:o,onError:r})=>{let{t:n}=f(),{isAppInstalled:s}=q(),[m,_]=(0,P.useState)(null),c=J((v,d)=>s({metaSiteId:d.id,appId:i}),{onError:r});async function u(v){await c.execute(v)?o(v):_(v)}return P.default.createElement(P.default.Fragment,null,P.default.createElement(Le,{onSubmit:u,sites:e}),(0,qe.isType)(c.status,"Loading")&&P.default.createElement(w,{text:n("general.loading")}),m&&P.default.createElement(G,{appId:i,site:m,onSubmit:()=>o(m),onError:r}))};var re=({appId:e,biLogger:i,onSubmit:o,onError:r})=>{let[n,s]=(0,y.useState)(null),{createDevSite:m}=z(),_=U(),{status:c}=O(()=>_.querySites({query:{cursorPaging:{limit:100}}}),[],{onError:r}),u=J(()=>m(),{onError:r});function v(d){s(d),d==="create-dev-site"&&u.execute()}return y.default.createElement(Se,{value:i},y.default.createElement(ve,{messages:Me},(0,je.match)(c,{Error:()=>null,Loading:()=>y.default.createElement(w,{text:y.default.createElement(h,{i18nKey:"general.loading"})}),Success:({result:d})=>y.default.createElement(y.default.Fragment,null,y.default.createElement(Ee,{onSubmit:v,onError:r,sites:d}),n==="create-dev-site"&&y.default.createElement(ke,{status:u.status,appId:e,onSubmit:o,onError:r}),n==="select-existing-site"&&y.default.createElement(Be,{sites:d,appId:e,onSubmit:o,onError:r}))})))};var ie=({state:e,onSubmit:i})=>{let o=H(),{t:r}=f(),{model:n}=A(),s=K();return k.default.createElement(k.default.Fragment,null,(0,V.match)(e,{NotConfigured:(0,V.constant)(k.default.createElement(L,{type:"insight"},r("general.no_site_id_configured"))),NotFound:({id:m})=>k.default.createElement(L,{type:"error"},r("general.site_id_not_found",{id:m}))}),k.default.createElement(re,{appId:n.config.appId,biLogger:s,onSubmit:i,onError:o}))};var Ye=({children:e,siteId:i})=>{let o=H(),{model:{projectFolder:r}}=A(),n=_e(),s=U(),{t:m}=f(),{status:_,merge:c}=O(async()=>Oe({projectFolder:r,siteListClient:s,siteId:i,writeDebugLog:n}),[]),u=(0,T.useCallback)(async d=>{try{await xe(r,{siteId:d.id}),c({result:Ie.Resolved({site:d})})}catch{throw new g({code:C.FailedToSaveDevelopmentSite({path:ge})})}},[c,r]),v=(0,T.useCallback)(d=>u(d).catch(o),[o,u]);return(0,oe.match)(_,{Error:()=>null,Loading:()=>T.default.createElement(w,{text:m("dev_command.site_provider.loading")}),Success:({result:d})=>(0,oe.match)(d,{NotConfigured:I=>T.default.createElement(ie,{state:I,onSubmit:v}),NotFound:I=>T.default.createElement(ie,{state:I,onSubmit:v}),Resolved:({site:I})=>T.default.createElement(he.Provider,{value:{site:I,setSite:u}},typeof e=="function"?e(I):e)})})};t();var Ke=l(S(),1);t();t();var Ge={},$e={};function Ve(e){var i={"cronulla-jobs._base_domain_":[{srcPath:"/serverless/site-override",destPath:""}],"bo._base_domain_":[{srcPath:"/_serverless/site-override",destPath:""}],"wixbo.ai":[{srcPath:"/_serverless/site-override",destPath:""}],"manage._base_domain_":[{srcPath:"/_serverless/site-override",destPath:""}]};return ae(Object.assign(e,{domainToMappings:i}))}function He(e){var i=Z(Ge,{}),o=i.toJSON,r=i.fromJSON,n=Z($e,{}).fromJSON;function s(m){var _=m.host,c=o(e),u={entityFqdn:"wix.cli.site_override_service.v1.site_override",method:"POST",methodFqn:"wix.cli.v1.SiteOverrideService.CreateOverride",url:Ve({protoPath:"/v1/site-overrides",data:c,host:_}),data:c,transformResponse:n};return u}return s.fromReq=r,s.__isAmbassador=!0,s}t();var Je=x.object({siteOverride:x.object({id:x.string()})});var Q=class{constructor(i){this.httpClient=i;let{minRetryTimeout:o}=B();this.retryOptions={retries:3,minTimeout:o,maxTimeout:3*1e3}}retryOptions;createOverride=async({appId:i,siteId:o,overrides:r,siteOverrideId:n})=>{try{let{data:s}=await pe(()=>this.httpClient.request(He({siteOverride:{id:n,appId:i,siteId:o,overrides:r}})),this.retryOptions);return Je.parse(s).siteOverride}catch(s){throw le(s)&&s.response?.status===403?s.response.data?.details?.applicationError?.code==="PERMISSION_DENIED_FOR_SITE"?new g({code:C.SitePermissionDenied({siteId:o}),cause:s}):new g({code:C.AppPermissionDenied({appId:i}),cause:s}):new g({code:C.FailedToCreateSiteOverride(),cause:s})}}};function Qe(){let e=W({type:"backoffice"});return(0,Ke.useMemo)(()=>new Q(e),[e])}t();t();var We=l(b(),1);t();var X;(function(e){e.UNKNOWN_TYPE="UNKNOWN_TYPE",e.EMBEDDED_SCRIPT="EMBEDDED_SCRIPT"})(X||(X={}));function mi(e){let i=e.components.filter((0,We.isType)(Ce.EmbeddedScript));return i.length===0?null:i.reduce((o,r)=>{let n=r.paramsOverride??{};return{...o,[r.id]:{type:X.EMBEDDED_SCRIPT,componentId:r.id,embeddedScriptOptions:{parameters:n}}}},{})}t();t();var se=l(S(),1),ne=l(b(),1);function gi(){let{model:e}=A(),i=(0,se.useCallback)(r=>e.components.some(n=>n.platforms.some((0,ne.isType)(r.type))),[e.components]),o=(0,se.useCallback)(r=>e.components.every(n=>n.platforms.some((0,ne.isType)(r.type))||n.platforms.length===0),[e.components]);return{isPlatformExists:i,hasSinglePlatform:o}}export{re as a,Ye as b,Qe as c,mi as d,gi as e};
|
|
4
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
import{b as _e}from"./chunk-QCRAQWKR.js";import{b as U,c as he,d as Ie,e as Oe}from"./chunk-T3M3WLBF.js";import{La as xe,Pa as W,Qa as z,Ra as we,Sa as be,T as ge,a as pe,b as ae,d as Z,f as me,mb as A,r as le,s as ce,t as Se,u as K,va as Ce,x as ye}from"./chunk-HMROXS2Y.js";import{G as M,H as j,L,M as fe,O as w,P as H,R as O,S as J,V as h,W as f,Y as ve,a as S,b,d as g,e as C,l as x,m as B,y as de,z as ue}from"./chunk-CXOD6WQ4.js";import{e as m,h as t}from"./chunk-V4TR6DCM.js";t();var T=m(S(),1),oe=m(b(),1);t();var k=m(S(),1),V=m(b(),1);t();t();var y=m(S(),1),je=m(b(),1);t();var ee=m(S(),1),Te=m(b(),1);t();var Pe=m(S(),1);function ze(e){return{cliAction:({question:i,action:o,key:r,additionalInfo:n})=>e.report(be({question:i,action:o,key:r,additionalInfo:JSON.stringify(n)})),cliFlowStepAnswered:({question:i,answer:o,additionalInfo:r})=>e.report(we({question:i,answer:o,additionalInfo:JSON.stringify(r)}))}}function F(){let e=K();return(0,Pe.useMemo)(()=>ze(e),[e])}var Ee=({onSubmit:e,onError:i,sites:o})=>{let r=F(),{t:n}=f(),{getDevSitesCount:s,getDevSitesLimit:l}=z(),{status:_}=O(()=>Promise.all([s(),l()]),[],{onError:i}),c=u=>{r.cliFlowStepAnswered({question:n("site_type_select.label"),answer:u.title}),e(u.value)};return(0,Te.match)(_,{Error:()=>null,Loading:()=>ee.default.createElement(w,{text:n("general.loading")}),Success:({result:[u,v]})=>{let d=u>=v,I=o.length===0;return ee.default.createElement(j,{label:n("site_type_select.label"),options:[{availability:I?M.Disabled({reason:n("site_type_select.no_sites")}):M.Enabled(),title:n("site_type_select.pick_existing_site"),value:"select-existing-site"},{title:n("site_type_select.create_new_dev_site"),value:"create-dev-site",availability:d?M.Disabled({reason:n("site_type_select.create_new_dev_site.disabled",{limit:v})}):M.Enabled()}],onSubmit:c})}})};t();var E=m(S(),1),Ne=m(b(),1);t();var Y=m(S(),1);t();t();var Fe=m(S(),1);t();t();var Ae=x.record(x.object({appDefinitionId:x.string().optional(),permissions:x.object({revoked:x.boolean()}).optional()}));var R=class{constructor(i){this.httpClient=i}isAppInstalled=async({metaSiteId:i,appId:o})=>{try{let{data:r}=await this.httpClient.request({url:`/_api/msm/v1/meta-site/editor-client-spec-map/${i}`}),n=Ae.parse(r);return Object.values(n).some(l=>l.appDefinitionId===o&&!l.permissions?.revoked)}catch(r){throw new g({code:C.FailedToCheckIfAppInstalled(),cause:r})}}};function q(){let e=W({type:"general"});return(0,Fe.useMemo)(()=>new R(e),[e])}var N=m(b(),1);t();var D=m(S(),1);var De=({siteId:e,appId:i})=>{let{t:o}=f(),r=F();return de(async(n,s)=>{s.return&&(r.cliAction({question:o("install_app_on_site.warning.instructions"),key:"enter",action:"install_app_on_site"}),await ye(`https://manage.wix.com/installer/install?metaSiteId=${e}&appId=${i}&platform=cli&version=latest`))}),D.default.createElement(D.default.Fragment,null,D.default.createElement(h,{i18nKey:"install_app_on_site.warning"}),D.default.createElement(h,{i18nKey:"install_app_on_site.warning.instructions",components:[D.default.createElement(fe,{value:"enter"})]}))};var te=(0,N.variant)({Success:{},Canceled:{}});function Ue(e){return e&&typeof e=="object"&&"name"in e&&e.name==="AbortError"}var G=({appId:e,site:i,onSubmit:o,onError:r})=>{let{isAppInstalled:n}=q(),{status:s}=O(async({signal:l})=>{let{appInstallationPollInterval:_}=B();try{return await ce(()=>n({metaSiteId:i.id,appId:e}),{interval:_??2e3,timeout:{milliseconds:60*1e3*2,signal:l}}),te.Success()}catch(c){if(c instanceof le)throw new g({code:C.SiteSelectorTimedout(),cause:c});if(Ue(c))return te.Canceled();throw c}},[],{onError:r,onSuccess:l=>{(0,N.isType)(l,te.Success)&&o()}});return(0,N.match)(s,{Error:()=>null,Loading:()=>Y.default.createElement(De,{siteId:i.id,appId:e}),Success:()=>Y.default.createElement(L,{type:"success"},Y.default.createElement(h,{i18nKey:"install_app_on_site.finished_successfully"}))})};var ke=({status:e,appId:i,onSubmit:o,onError:r})=>{let{t:n}=f();return(0,Ne.match)(e,{NotRequested:()=>null,Error:()=>null,Loading:()=>E.default.createElement(w,{text:n("create_dev_site.loading")}),Success:({result:s})=>E.default.createElement(E.default.Fragment,null,E.default.createElement(h,{i18nKey:"create_dev_site.success",components:[E.default.createElement(ue,{skin:"success",bold:!0})],values:{name:s.displayName}}),E.default.createElement(G,{appId:i,site:s,onSubmit:()=>o(s),onError:r}))})};var Me={"general.loading":"Loading...","site_type_select.label":"Select Development Site","site_type_select.create_new_dev_site":"Create a new Development Site","site_type_select.create_new_dev_site.disabled":"You have reached the maximum number of {limit} Development Sites","site_type_select.pick_existing_site":"Pick an existing site","site_type_select.no_sites":"No sites found","create_dev_site.loading":"Creating your new Development Site...","create_dev_site.success":"Development Site <0>{name}</0> created successfully! \u{1F680}","site_list_select.label":"Select Site","install_app_on_site.warning":"Your new application needs to be installed on the selected Development Site","install_app_on_site.warning.instructions":"Press <0/> to install the application in your browser","install_app_on_site.finished_successfully":"App installed on Development Site."};t();var P=m(S(),1);var qe=m(b(),1);t();var $=m(S(),1);var Le=({onSubmit:e,sites:i})=>{let{t:o}=f(),r=F(),n=(0,$.useCallback)(s=>{r.cliFlowStepAnswered({question:o("site_list_select.label"),answer:s.title}),e(s.value)},[r,e,o]);return $.default.createElement(j,{label:o("site_list_select.label"),options:i.map(s=>({key:s.id,title:s.displayName,description:s.viewUrl,value:s})),onSubmit:n})};var Be=({sites:e,appId:i,onSubmit:o,onError:r})=>{let{t:n}=f(),{isAppInstalled:s}=q(),[l,_]=(0,P.useState)(null),c=J((v,d)=>s({metaSiteId:d.id,appId:i}),{onError:r});async function u(v){await c.execute(v)?o(v):_(v)}return P.default.createElement(P.default.Fragment,null,P.default.createElement(Le,{onSubmit:u,sites:e}),(0,qe.isType)(c.status,"Loading")&&P.default.createElement(w,{text:n("general.loading")}),l&&P.default.createElement(G,{appId:i,site:l,onSubmit:()=>o(l),onError:r}))};var re=({appId:e,biLogger:i,onSubmit:o,onError:r})=>{let[n,s]=(0,y.useState)(null),{createDevSite:l}=z(),_=U(),{status:c}=O(()=>_.querySites({query:{cursorPaging:{limit:100}}}),[],{onError:r}),u=J(()=>l(),{onError:r});function v(d){s(d),d==="create-dev-site"&&u.execute()}return y.default.createElement(Se,{value:i},y.default.createElement(ve,{messages:Me},(0,je.match)(c,{Error:()=>null,Loading:()=>y.default.createElement(w,{text:y.default.createElement(h,{i18nKey:"general.loading"})}),Success:({result:d})=>y.default.createElement(y.default.Fragment,null,y.default.createElement(Ee,{onSubmit:v,onError:r,sites:d}),n==="create-dev-site"&&y.default.createElement(ke,{status:u.status,appId:e,onSubmit:o,onError:r}),n==="select-existing-site"&&y.default.createElement(Be,{sites:d,appId:e,onSubmit:o,onError:r}))})))};var ie=({state:e,onSubmit:i})=>{let o=H(),{t:r}=f(),{model:n}=A(),s=K();return k.default.createElement(k.default.Fragment,null,(0,V.match)(e,{NotConfigured:(0,V.constant)(k.default.createElement(L,{type:"insight"},r("general.no_site_id_configured"))),NotFound:({id:l})=>k.default.createElement(L,{type:"error"},r("general.site_id_not_found",{id:l}))}),k.default.createElement(re,{appId:n.config.appId,biLogger:s,onSubmit:i,onError:o}))};var Ye=({children:e,siteId:i})=>{let o=H(),{model:{projectFolder:r}}=A(),n=_e(),s=U(),{t:l}=f(),{status:_,merge:c}=O(async()=>Oe({projectFolder:r,siteListClient:s,siteId:i,writeDebugLog:n}),[]),u=(0,T.useCallback)(async d=>{try{await xe(r,{siteId:d.id}),c({result:Ie.Resolved({site:d})})}catch{throw new g({code:C.FailedToSaveDevelopmentSite({path:ge})})}},[c,r]),v=(0,T.useCallback)(d=>u(d).catch(o),[o,u]);return(0,oe.match)(_,{Error:()=>null,Loading:()=>T.default.createElement(w,{text:l("dev_command.site_provider.loading")}),Success:({result:d})=>(0,oe.match)(d,{NotConfigured:I=>T.default.createElement(ie,{state:I,onSubmit:v}),NotFound:I=>T.default.createElement(ie,{state:I,onSubmit:v}),Resolved:({site:I})=>T.default.createElement(he.Provider,{value:{site:I,setSite:u}},typeof e=="function"?e(I):e)})})};t();var Ke=m(S(),1);t();t();var Ge={},$e={};function Ve(e){var i={"cronulla-jobs._base_domain_":[{srcPath:"/serverless/site-override",destPath:""}],"bo._base_domain_":[{srcPath:"/_serverless/site-override",destPath:""}],"wixbo.ai":[{srcPath:"/_serverless/site-override",destPath:""}],"manage._base_domain_":[{srcPath:"/_serverless/site-override",destPath:""}]};return ae(Object.assign(e,{domainToMappings:i}))}function He(e){var i=Z(Ge,{}),o=i.toJSON,r=i.fromJSON,n=Z($e,{}).fromJSON;function s(l){var _=l.host,c=o(e),u={entityFqdn:"wix.cli.site_override_service.v1.site_override",method:"POST",methodFqn:"wix.cli.v1.SiteOverrideService.CreateOverride",url:Ve({protoPath:"/v1/site-overrides",data:c,host:_}),data:c,transformResponse:n};return u}return s.fromReq=r,s.__isAmbassador=!0,s}t();var Je=x.object({siteOverride:x.object({id:x.string()})});var Q=class{constructor(i){this.httpClient=i;let{minRetryTimeout:o}=B();this.retryOptions={retries:3,minTimeout:o,maxTimeout:3*1e3}}retryOptions;createOverride=async({appId:i,siteId:o,overrides:r,siteOverrideId:n})=>{try{let{data:s}=await pe(()=>this.httpClient.request(He({siteOverride:{id:n,appId:i,siteId:o,overrides:r}})),this.retryOptions);return Je.parse(s).siteOverride}catch(s){throw me(s)&&s.response?.status===403?s.response.data?.details?.applicationError?.code==="PERMISSION_DENIED_FOR_SITE"?new g({code:C.SitePermissionDenied({siteId:o}),cause:s}):new g({code:C.AppPermissionDenied({appId:i}),cause:s}):new g({code:C.FailedToCreateSiteOverride(),cause:s})}}};function Qe(){let e=W({type:"backoffice"});return(0,Ke.useMemo)(()=>new Q(e),[e])}t();t();var We=m(b(),1);t();var X;(function(e){e.UNKNOWN_TYPE="UNKNOWN_TYPE",e.EMBEDDED_SCRIPT="EMBEDDED_SCRIPT"})(X||(X={}));function li(e){let i=e.components.filter((0,We.isType)(Ce.EmbeddedScript));return i.length===0?null:i.reduce((o,r)=>{let n=r.paramsOverride??{};return{...o,[r.id]:{type:X.EMBEDDED_SCRIPT,componentId:r.id,embeddedScriptOptions:{parameters:n}}}},{})}t();t();var se=m(S(),1),ne=m(b(),1);function gi(){let{model:e}=A(),i=(0,se.useCallback)(r=>e.components.some(n=>n.platforms.some((0,ne.isType)(r.type))),[e.components]),o=(0,se.useCallback)(r=>e.components.every(n=>n.platforms.some((0,ne.isType)(r.type))||n.platforms.length===0),[e.components]);return{isPlatformExists:i,hasSinglePlatform:o}}export{re as a,Ye as b,Qe as c,li as d,gi as e};
|
|
4
|
+
//# sourceMappingURL=chunk-22T5OFY2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/site-id/SiteIdProvider.tsx","../src/site-id/ResolveSiteId.tsx","../../cli-site-selector/src/index.ts","../../cli-site-selector/src/SiteSelector.tsx","../../cli-site-selector/src/SiteTypeSelect.tsx","../../cli-site-selector/src/bi.ts","../../cli-site-selector/src/CreateDevSite.tsx","../../cli-site-selector/src/WaitForAppToBeInstalled.tsx","../../metasite-manager-client/src/index.ts","../../metasite-manager-client/src/useMetasiteManagerClient.ts","../../metasite-manager-client/src/metasite-manager-client.ts","../../metasite-manager-client/src/schemas.ts","../../cli-site-selector/src/OpenBrowser.tsx","../../cli-site-selector/src/messages.json","../../cli-site-selector/src/SelectExistingSite.tsx","../../cli-site-selector/src/SiteListSelect.tsx","../../site-override-client/src/useSiteOverrideClient.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/index.ts","../src/site-override/createSiteOverrides.ts","../../../node_modules/@wix/ambassador-cli-site-override-service-v1-site-override/types.impl.ts","../src/site-id/index.ts","../src/components/Platform/usePlatform.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport { match } from 'variant';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { APP_CONFIG_PATH } from '@wix/cli-app-definitions';\nimport { useAsync, useExit, Spinner } from '@wix/cli-ui-kit';\nimport { useSiteListClient } from '@wix/site-list-client';\nimport type { Site } from '@wix/site-list-client';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { saveAppConfig } from '../files/app.config.js';\nimport { useProjectModel } from '../model.js';\nimport { ResolveSiteId } from './ResolveSiteId.js';\nimport { SiteIdContext } from './context.js';\nimport { SiteIdState } from './site-id-state.js';\nimport { resolveConfiguredSite } from './resolve-configured-site.js';\n\nexport const SiteIdProvider: FC<{\n siteId?: string;\n children: ReactNode | ((site: Site) => ReactNode);\n}> = ({ children, siteId }) => {\n const exit = useExit();\n const {\n model: { projectFolder },\n } = useProjectModel();\n const writeDebugLog = useDebugLog();\n const siteListClient = useSiteListClient();\n const { t } = useTranslation();\n\n const { status, merge } = useAsync(\n async () =>\n resolveConfiguredSite({\n projectFolder,\n siteListClient,\n siteId,\n writeDebugLog,\n }),\n []\n );\n\n const setSite = useCallback(\n async (site: Site) => {\n try {\n await saveAppConfig(projectFolder, { siteId: site.id });\n merge({ result: SiteIdState.Resolved({ site }) });\n } catch {\n throw new CliError({\n code: CliErrorCode.FailedToSaveDevelopmentSite({\n path: APP_CONFIG_PATH,\n }),\n });\n }\n },\n [merge, projectFolder]\n );\n\n const handleResolveSiteId = useCallback(\n (site: Site) => setSite(site).catch(exit),\n [exit, setSite]\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('dev_command.site_provider.loading')} />,\n Success: ({ result: state }) => {\n return match(state, {\n NotConfigured: (variant) => (\n <ResolveSiteId state={variant} onSubmit={handleResolveSiteId} />\n ),\n NotFound: (variant) => (\n <ResolveSiteId state={variant} onSubmit={handleResolveSiteId} />\n ),\n Resolved: ({ site }) => (\n <SiteIdContext.Provider\n value={{\n site,\n setSite,\n }}\n >\n {typeof children === 'function' ? children(site) : children}\n </SiteIdContext.Provider>\n ),\n });\n },\n });\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match, constant } from 'variant';\nimport type { Site } from '@wix/site-list-client';\nimport { Alert, useExit } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { SiteSelector } from '@wix/cli-site-selector';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport { useProjectModel } from '../model.js';\nimport type { SiteIdState } from './site-id-state.js';\n\ninterface Props {\n state: SiteIdState<'NotConfigured' | 'NotFound'>;\n onSubmit: (site: Site) => void;\n}\n\nexport const ResolveSiteId: FC<Props> = ({ state, onSubmit }) => {\n const exit = useExit();\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const biLogger = useBiLogger();\n\n return (\n <>\n {match(state, {\n NotConfigured: constant(\n <Alert type=\"insight\">{t('general.no_site_id_configured')}</Alert>\n ),\n NotFound: ({ id }) => (\n <Alert type=\"error\">{t('general.site_id_not_found', { id })}</Alert>\n ),\n })}\n <SiteSelector\n appId={model.config.appId}\n biLogger={biLogger}\n onSubmit={onSubmit}\n onError={exit}\n />\n </>\n );\n};\n","export { SiteSelector } from './SiteSelector.js';\n","import React, { useState } from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { I18nProvider, Trans } from '@wix/cli-i18n';\nimport type { Site } from '@wix/site-list-client';\nimport { Spinner, useAsync, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { useSiteListClient } from '@wix/site-list-client';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport { BiProvider } from '@wix/cli-telemetry-react';\nimport { SiteTypeSelect } from './SiteTypeSelect.js';\nimport type { SiteType } from './SiteTypeSelect.js';\nimport { CreateDevSite } from './CreateDevSite.js';\nimport messages from './messages.json';\nimport { SelectExistingSite } from './SelectExistingSite.js';\n\ninterface Props {\n appId: string;\n biLogger: BiLogger;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SiteSelector: FC<Props> = ({\n appId,\n biLogger,\n onSubmit,\n onError,\n}) => {\n const [siteType, setSiteType] = useState<SiteType | null>(null);\n const { createDevSite } = useDevCenterClient();\n const siteListClient = useSiteListClient();\n\n const { status } = useAsync(\n () =>\n siteListClient.querySites({\n query: {\n cursorPaging: {\n limit: 100,\n },\n },\n }),\n [],\n {\n onError,\n }\n );\n\n const createSite = useAsyncCallback(() => createDevSite(), {\n onError,\n });\n\n function handleSelectSiteType(siteType: SiteType) {\n setSiteType(siteType);\n if (siteType === 'create-dev-site') {\n createSite.execute();\n }\n }\n\n return (\n <BiProvider value={biLogger}>\n <I18nProvider messages={messages}>\n {match(status, {\n Error: () => null,\n Loading: () => <Spinner text={<Trans i18nKey=\"general.loading\" />} />,\n Success: ({ result: sites }) => (\n <>\n <SiteTypeSelect\n onSubmit={handleSelectSiteType}\n onError={onError}\n sites={sites}\n />\n {siteType === 'create-dev-site' && (\n <CreateDevSite\n status={createSite.status}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n {siteType === 'select-existing-site' && (\n <SelectExistingSite\n sites={sites}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n </>\n ),\n })}\n </I18nProvider>\n </BiProvider>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport {\n Spinner,\n SelectInput,\n useAsync,\n SelectOptionAvailability,\n} from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport type { Site } from '@wix/site-list-client';\nimport { useSiteSelectorBi } from './bi.js';\n\nexport type SiteType = 'create-dev-site' | 'select-existing-site';\ninterface Props {\n onSubmit: (siteType: SiteType) => void;\n onError: (error: unknown) => void;\n sites: Site[];\n}\n\nexport const SiteTypeSelect: FC<Props> = ({ onSubmit, onError, sites }) => {\n const bi = useSiteSelectorBi();\n const { t } = useTranslation();\n const { getDevSitesCount, getDevSitesLimit } = useDevCenterClient();\n const { status } = useAsync(\n () => Promise.all([getDevSitesCount(), getDevSitesLimit()]),\n [],\n { onError }\n );\n\n const handleSubmit = (option: SelectOption<SiteType>) => {\n bi.cliFlowStepAnswered({\n question: t('site_type_select.label'),\n answer: option.title,\n });\n onSubmit(option.value);\n };\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('general.loading')} />,\n Success: ({ result: [devSitesCount, devSitesLimit] }) => {\n const isDevSitesLimitReached = devSitesCount >= devSitesLimit;\n const userHasNoSites = sites.length === 0;\n\n return (\n <SelectInput<SiteType>\n label={t('site_type_select.label')}\n options={[\n {\n availability: userHasNoSites\n ? SelectOptionAvailability.Disabled({\n reason: t('site_type_select.no_sites'),\n })\n : SelectOptionAvailability.Enabled(),\n title: t('site_type_select.pick_existing_site'),\n value: 'select-existing-site',\n },\n {\n title: t('site_type_select.create_new_dev_site'),\n value: 'create-dev-site',\n availability: isDevSitesLimitReached\n ? SelectOptionAvailability.Disabled({\n reason: t('site_type_select.create_new_dev_site.disabled', {\n limit: devSitesLimit,\n }),\n })\n : SelectOptionAvailability.Enabled(),\n },\n ]}\n onSubmit={handleSubmit}\n />\n );\n },\n });\n};\n","import { useMemo } from 'react';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport {\n wixCliAction,\n wixCliAppFlowStepsAnswers,\n} from '@wix/bi-logger-dev-tools-data/v2';\n\nexport function siteSelectorBiEvents(biLogger: BiLogger) {\n return {\n cliAction: ({\n question,\n action,\n key,\n additionalInfo,\n }: {\n question: string;\n action: string;\n key: string;\n additionalInfo?: Record<string, unknown>;\n }) =>\n biLogger.report(\n wixCliAction({\n question,\n action,\n key,\n additionalInfo: JSON.stringify(additionalInfo),\n })\n ),\n cliFlowStepAnswered: ({\n question,\n answer,\n additionalInfo,\n }: {\n question: string;\n answer: string;\n additionalInfo?: Record<string, unknown>;\n }) =>\n biLogger.report(\n wixCliAppFlowStepsAnswers({\n question,\n answer,\n additionalInfo: JSON.stringify(additionalInfo),\n })\n ),\n };\n}\n\nexport function useSiteSelectorBi() {\n const biLogger = useBiLogger();\n return useMemo(() => siteSelectorBiEvents(biLogger), [biLogger]);\n}\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport type { AsyncCallbackStatus } from '@wix/cli-ui-kit';\nimport { Text, Spinner } from '@wix/cli-ui-kit';\nimport type { Site } from '@wix/site-list-client';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\n\ninterface Props {\n status: AsyncCallbackStatus<Site>;\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const CreateDevSite: FC<Props> = ({\n status,\n appId,\n onSubmit,\n onError,\n}) => {\n const { t } = useTranslation();\n\n return match(status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => <Spinner text={t('create_dev_site.loading')} />,\n Success: ({ result }) => (\n <>\n <Trans\n i18nKey=\"create_dev_site.success\"\n components={[<Text skin=\"success\" bold />]}\n values={{ name: result.displayName }}\n />\n <WaitForAppToBeInstalled\n appId={appId}\n site={result}\n onSubmit={() => onSubmit(result)}\n onError={onError}\n />\n </>\n ),\n });\n};\n","import pWaitFor, { TimeoutError } from 'p-wait-for';\nimport React from 'react';\nimport type { FC } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { Alert, useAsync } from '@wix/cli-ui-kit';\nimport { useMetasiteManagerClient } from '@wix/metasite-manager-client';\nimport { isType, match, variant } from 'variant';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { Site } from '@wix/site-list-client';\nimport { OpenBrowser } from './OpenBrowser.js';\n\ninterface Props {\n site: Site;\n appId: string;\n onSubmit: () => void;\n onError: (error: unknown) => void;\n}\n\nexport const AppInstallData = variant({\n Success: {},\n Canceled: {},\n});\n\nfunction isAbortError(error: unknown) {\n return (\n error &&\n typeof error === 'object' &&\n 'name' in error &&\n error.name === 'AbortError'\n );\n}\n\nexport const WaitForAppToBeInstalled: FC<Props> = ({\n appId,\n site,\n onSubmit,\n onError,\n}) => {\n const { isAppInstalled } = useMetasiteManagerClient();\n\n const { status } = useAsync(\n async ({ signal }) => {\n const { appInstallationPollInterval } = getTestOverrides();\n\n try {\n await pWaitFor(() => isAppInstalled({ metaSiteId: site.id, appId }), {\n interval: appInstallationPollInterval ?? 2000,\n timeout: {\n milliseconds: 60 * 1000 * 2,\n signal,\n },\n });\n\n return AppInstallData.Success();\n } catch (error) {\n if (error instanceof TimeoutError) {\n throw new CliError({\n code: CliErrorCode.SiteSelectorTimedout(),\n cause: error,\n });\n }\n\n if (isAbortError(error)) {\n return AppInstallData.Canceled();\n }\n\n throw error;\n }\n },\n [],\n {\n onError,\n onSuccess: (result) => {\n if (isType(result, AppInstallData.Success)) {\n onSubmit();\n }\n },\n }\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <OpenBrowser siteId={site.id} appId={appId} />,\n Success: () => (\n <Alert type=\"success\">\n <Trans i18nKey=\"install_app_on_site.finished_successfully\" />\n </Alert>\n ),\n });\n};\n","export { useMetasiteManagerClient } from './useMetasiteManagerClient.js';\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { MetasiteManagerClient } from './metasite-manager-client.js';\n\nexport function useMetasiteManagerClient(): MetasiteManagerClient {\n const httpClient = useHttpClient({ type: 'general' });\n return useMemo(() => new MetasiteManagerClient(httpClient), [httpClient]);\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport { clientSpecMapSchema } from './schemas.js';\n\nexport class MetasiteManagerClient {\n constructor(private readonly httpClient: HttpClient) {}\n\n public isAppInstalled = async ({\n metaSiteId,\n appId,\n }: {\n metaSiteId: string;\n appId: string;\n }) => {\n try {\n const { data } = await this.httpClient.request({\n url: `/_api/msm/v1/meta-site/editor-client-spec-map/${metaSiteId}`,\n });\n\n const clientSpecMap = clientSpecMapSchema.parse(data);\n\n const isInstalled = Object.values(clientSpecMap).some(\n (spec) => spec.appDefinitionId === appId && !spec.permissions?.revoked\n );\n\n return isInstalled;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCheckIfAppInstalled(),\n cause: e,\n });\n }\n };\n}\n","import { z } from 'zod';\n\nexport const clientSpecMapSchema = z.record(\n z.object({\n appDefinitionId: z.string().optional(),\n permissions: z.object({ revoked: z.boolean() }).optional(),\n })\n);\n\nexport type ClientSpecMap = z.TypeOf<typeof clientSpecMapSchema>;\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Key, useInput } from '@wix/cli-ui-kit';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\nimport { useSiteSelectorBi } from './bi.js';\n\ninterface Props {\n siteId: string;\n appId: string;\n}\n\nexport const OpenBrowser: FC<Props> = ({ siteId, appId }) => {\n const { t } = useTranslation();\n const bi = useSiteSelectorBi();\n\n useInput(async (input, key) => {\n if (key.return) {\n bi.cliAction({\n question: t('install_app_on_site.warning.instructions'),\n key: 'enter',\n action: 'install_app_on_site',\n });\n await openBrowser(\n `https://manage.wix.com/installer/install?metaSiteId=${siteId}&appId=${appId}&platform=cli&version=latest`\n );\n }\n });\n\n return (\n <>\n <Trans i18nKey=\"install_app_on_site.warning\" />\n <Trans\n i18nKey=\"install_app_on_site.warning.instructions\"\n components={[<Key value=\"enter\" />]}\n />\n </>\n );\n};\n","{\n \"general.loading\": \"Loading...\",\n \"site_type_select.label\": \"Select Development Site\",\n \"site_type_select.create_new_dev_site\": \"Create a new Development Site\",\n \"site_type_select.create_new_dev_site.disabled\": \"You have reached the maximum number of {limit} Development Sites\",\n \"site_type_select.pick_existing_site\": \"Pick an existing site\",\n \"site_type_select.no_sites\": \"No sites found\",\n \"create_dev_site.loading\": \"Creating your new Development Site...\",\n \"create_dev_site.success\": \"Development Site <0>{name}</0> created successfully! 🚀\",\n \"site_list_select.label\": \"Select Site\",\n \"install_app_on_site.warning\": \"Your new application needs to be installed on the selected Development Site\",\n \"install_app_on_site.warning.instructions\": \"Press <0/> to install the application in your browser\",\n \"install_app_on_site.finished_successfully\": \"App installed on Development Site.\"\n}\n","import React, { useState } from 'react';\nimport { Spinner, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useMetasiteManagerClient } from '@wix/metasite-manager-client';\nimport type { Site } from '@wix/site-list-client';\nimport { isType } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\nimport { SiteListSelect } from './SiteListSelect.js';\n\ninterface Props {\n sites: Site[];\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SelectExistingSite = ({\n sites,\n appId,\n onSubmit,\n onError,\n}: Props) => {\n const { t } = useTranslation();\n const { isAppInstalled } = useMetasiteManagerClient();\n const [siteToInstallAppOn, setSiteToInstallAppOn] = useState<Site | null>(\n null\n );\n const checkAppInstalled = useAsyncCallback(\n (_, site: Site) => isAppInstalled({ metaSiteId: site.id, appId }),\n {\n onError,\n }\n );\n\n async function handleSelectSite(site: Site) {\n const isInstalled = await checkAppInstalled.execute(site);\n if (isInstalled) {\n onSubmit(site);\n } else {\n setSiteToInstallAppOn(site);\n }\n }\n\n return (\n <>\n <SiteListSelect onSubmit={handleSelectSite} sites={sites} />\n {isType(checkAppInstalled.status, 'Loading') && (\n <Spinner text={t('general.loading')} />\n )}\n {siteToInstallAppOn && (\n <WaitForAppToBeInstalled\n appId={appId}\n site={siteToInstallAppOn}\n onSubmit={() => onSubmit(siteToInstallAppOn)}\n onError={onError}\n />\n )}\n </>\n );\n};\n","import React, { useCallback } from 'react';\nimport type { FC } from 'react';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport { SelectInput } from '@wix/cli-ui-kit';\nimport type { Site } from '@wix/site-list-client';\nimport { useSiteSelectorBi } from './bi.js';\n\ninterface Props {\n onSubmit: (site: Site) => void;\n sites: Site[];\n}\n\nexport const SiteListSelect: FC<Props> = ({ onSubmit, sites }) => {\n const { t } = useTranslation();\n const bi = useSiteSelectorBi();\n\n const handleSubmit = useCallback(\n (option: SelectOption<Site>) => {\n bi.cliFlowStepAnswered({\n question: t('site_list_select.label'),\n answer: option.title,\n });\n onSubmit(option.value);\n },\n [bi, onSubmit, t]\n );\n\n return (\n <SelectInput<Site>\n label={t('site_list_select.label')}\n options={sites.map((site) => ({\n key: site.id,\n title: site.displayName,\n description: site.viewUrl,\n value: site,\n }))}\n onSubmit={handleSubmit}\n />\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 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 type ComponentsForSiteOverride = Record<string, ComponentOverride>;\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: ComponentsForSiteOverride;\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","export { SiteOverrideClient } from './client.js';\nexport type { ComponentsForSiteOverride } from './client.js';\nexport { useSiteOverrideClient } from './useSiteOverrideClient.js';\n","import { isType } from 'variant';\nimport { Type } from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport type { ComponentOverride } 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,"export { SiteIdProvider } from './SiteIdProvider.js';\nexport { useSiteId } from './useSiteId.js';\n","import { useCallback } from 'react';\nimport { isType } from 'variant';\nimport type { PlatformType } from '@wix/cli-app-definitions';\nimport { useProjectModel } from '../../model.js';\n\nexport function usePlatform() {\n const { model } = useProjectModel();\n\n const isPlatformExists = useCallback(\n (platformType: PlatformType) =>\n model.components.some((component) =>\n component.platforms.some(isType(platformType.type))\n ),\n [model.components]\n );\n\n const hasSinglePlatform = useCallback(\n (platformType: PlatformType) =>\n model.components.every(\n (component) =>\n component.platforms.some(isType(platformType.type)) ||\n component.platforms.length === 0\n ),\n [model.components]\n );\n\n return {\n isPlatformExists,\n hasSinglePlatform,\n };\n}\n"],"mappings":"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","names":["init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","siteSelectorBiEvents","biLogger","question","action","key","additionalInfo","wixCliAction","answer","wixCliAppFlowStepsAnswers","useSiteSelectorBi","useBiLogger","SiteTypeSelect","onSubmit","onError","sites","bi","useSiteSelectorBi","t","useTranslation","getDevSitesCount","getDevSitesLimit","useDevCenterClient","status","useAsync","handleSubmit","option","React","Spinner","devSitesCount","devSitesLimit","isDevSitesLimitReached","userHasNoSites","SelectInput","SelectOptionAvailability","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","init_esm_shims","init_esm_shims","import_react","init_esm_shims","init_esm_shims","clientSpecMapSchema","z","MetasiteManagerClient","httpClient","metaSiteId","appId","data","clientSpecMap","clientSpecMapSchema","spec","e","CliError","CliErrorCode","useMetasiteManagerClient","httpClient","useHttpClient","MetasiteManagerClient","import_variant","init_esm_shims","import_react","OpenBrowser","siteId","appId","t","useTranslation","bi","useSiteSelectorBi","use_input_default","input","key","openBrowser","React","Trans","Key","AppInstallData","isAbortError","error","WaitForAppToBeInstalled","appId","site","onSubmit","onError","isAppInstalled","useMetasiteManagerClient","status","useAsync","signal","appInstallationPollInterval","getTestOverrides","pWaitFor","TimeoutError","CliError","CliErrorCode","result","React","OpenBrowser","Alert","Trans","CreateDevSite","status","appId","onSubmit","onError","t","useTranslation","React","Spinner","result","Trans","Text","WaitForAppToBeInstalled","messages_default","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","SiteListSelect","onSubmit","sites","t","useTranslation","bi","useSiteSelectorBi","handleSubmit","option","React","SelectInput","site","SelectExistingSite","sites","appId","onSubmit","onError","t","useTranslation","isAppInstalled","useMetasiteManagerClient","siteToInstallAppOn","setSiteToInstallAppOn","checkAppInstalled","useAsyncCallback","_","site","handleSelectSite","React","SiteListSelect","Spinner","WaitForAppToBeInstalled","SiteSelector","appId","biLogger","onSubmit","onError","siteType","setSiteType","createDevSite","useDevCenterClient","siteListClient","useSiteListClient","status","useAsync","createSite","useAsyncCallback","handleSelectSiteType","React","BiProvider","I18nProvider","messages_default","Spinner","Trans","sites","SiteTypeSelect","CreateDevSite","SelectExistingSite","ResolveSiteId","state","onSubmit","exit","useExit","t","useTranslation","model","useProjectModel","biLogger","useBiLogger","React","Alert","id","SiteSelector","SiteIdProvider","children","siteId","exit","useExit","projectFolder","useProjectModel","writeDebugLog","useDebugLog","siteListClient","useSiteListClient","t","useTranslation","status","merge","useAsync","resolveConfiguredSite","setSite","site","saveAppConfig","SiteIdState","CliError","CliErrorCode","APP_CONFIG_PATH","handleResolveSiteId","React","Spinner","state","variant","ResolveSiteId","SiteIdContext","init_esm_shims","import_react","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","z","SiteOverrideClient","httpClient","minRetryTimeout","getTestOverrides","appId","siteId","overrides","siteOverrideId","data","pRetry","createOverride","createOverrideSchema","error","isHttpError","CliError","CliErrorCode","useSiteOverrideClient","httpClient","useHttpClient","SiteOverrideClient","init_esm_shims","init_esm_shims","import_variant","init_esm_shims","Type","createSiteOverrides","model","componentsToOverride","DevCenterComponent","acc","component","paramsOverride","Type","init_esm_shims","init_esm_shims","import_react","import_variant","usePlatform","model","useProjectModel","isPlatformExists","platformType","component","hasSinglePlatform"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as _createRequire } from 'node:module';
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{I as l,J as A,K as S,L as O,M as h,N as w,Q as C,R as N}from"./chunk-TSKFLGBO.js";import{l as e}from"./chunk-JPGXKQXP.js";import{c as R,e as P,h as T}from"./chunk-V4TR6DCM.js";var _=R((be,F)=>{"use strict";T();F.exports=L;function E(a){return a instanceof Buffer?Buffer.from(a):new a.constructor(a.buffer.slice(),a.byteOffset,a.length)}function L(a){if(a=a||{},a.circles)return K(a);let n=new Map;if(n.set(Date,t=>new Date(t)),n.set(Map,(t,s)=>new Map(m(Array.from(t),s))),n.set(Set,(t,s)=>new Set(m(Array.from(t),s))),a.constructorHandlers)for(let t of a.constructorHandlers)n.set(t[0],t[1]);let r=null;return a.proto?f:p;function m(t,s){let o=Object.keys(t),i=new Array(o.length);for(let g=0;g<o.length;g++){let c=o[g],u=t[c];typeof u!="object"||u===null?i[c]=u:u.constructor!==Object&&(r=n.get(u.constructor))?i[c]=r(u,s):ArrayBuffer.isView(u)?i[c]=E(u):i[c]=s(u)}return i}function p(t){if(typeof t!="object"||t===null)return t;if(Array.isArray(t))return m(t,p);if(t.constructor!==Object&&(r=n.get(t.constructor)))return r(t,p);let s={};for(let o in t){if(Object.hasOwnProperty.call(t,o)===!1)continue;let i=t[o];typeof i!="object"||i===null?s[o]=i:i.constructor!==Object&&(r=n.get(i.constructor))?s[o]=r(i,p):ArrayBuffer.isView(i)?s[o]=E(i):s[o]=p(i)}return s}function f(t){if(typeof t!="object"||t===null)return t;if(Array.isArray(t))return m(t,f);if(t.constructor!==Object&&(r=n.get(t.constructor)))return r(t,f);let s={};for(let o in t){let i=t[o];typeof i!="object"||i===null?s[o]=i:i.constructor!==Object&&(r=n.get(i.constructor))?s[o]=r(i,f):ArrayBuffer.isView(i)?s[o]=E(i):s[o]=f(i)}return s}}function K(a){let n=[],r=[],m=new Map;if(m.set(Date,o=>new Date(o)),m.set(Map,(o,i)=>new Map(f(Array.from(o),i))),m.set(Set,(o,i)=>new Set(f(Array.from(o),i))),a.constructorHandlers)for(let o of a.constructorHandlers)m.set(o[0],o[1]);let p=null;return a.proto?s:t;function f(o,i){let g=Object.keys(o),c=new Array(g.length);for(let u=0;u<g.length;u++){let b=g[u],d=o[b];if(typeof d!="object"||d===null)c[b]=d;else if(d.constructor!==Object&&(p=m.get(d.constructor)))c[b]=p(d,i);else if(ArrayBuffer.isView(d))c[b]=E(d);else{let v=n.indexOf(d);v!==-1?c[b]=r[v]:c[b]=i(d)}}return c}function t(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return f(o,t);if(o.constructor!==Object&&(p=m.get(o.constructor)))return p(o,t);let i={};n.push(o),r.push(i);for(let g in o){if(Object.hasOwnProperty.call(o,g)===!1)continue;let c=o[g];if(typeof c!="object"||c===null)i[g]=c;else if(c.constructor!==Object&&(p=m.get(c.constructor)))i[g]=p(c,t);else if(ArrayBuffer.isView(c))i[g]=E(c);else{let u=n.indexOf(c);u!==-1?i[g]=r[u]:i[g]=t(c)}}return n.pop(),r.pop(),i}function s(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return f(o,s);if(o.constructor!==Object&&(p=m.get(o.constructor)))return p(o,s);let i={};n.push(o),r.push(i);for(let g in o){let c=o[g];if(typeof c!="object"||c===null)i[g]=c;else if(c.constructor!==Object&&(p=m.get(c.constructor)))i[g]=p(c,s);else if(ArrayBuffer.isView(c))i[g]=E(c);else{let u=n.indexOf(c);u!==-1?i[g]=r[u]:i[g]=s(c)}}return n.pop(),r.pop(),i}}});T();import H from"node:fs/promises";var x=P(_(),1);var B=P(_(),1);var U=P(_(),1),y=e.object({errorReporting:e.object({url:e.string().optional(),artifact:e.object({fullArtifactId:e.string().max(255).min(1),version:e.string().max(255).min(1)}).optional()}).optional()}),j=e.object({iframeUrl:e.string().optional(),scriptAsset:e.object({exportedName:e.string(),containerId:e.string(),url:e.string(),scriptType:e.string().optional()}).optional()}),V=e.object({hostingPlatform:e.string(),fullPage:e.boolean().nullish(),hideInSidebar:e.boolean().nullish(),priority:e.number().nullish(),routePath:e.string().nullish(),title:e.string(),pageCategoryId:e.string().uuid().nullish(),activeSidebarPageId:e.string().nullish(),requiredPermission:e.string().nullish(),previousRoutePaths:e.array(e.string()).nullish()}).merge(y).merge(j).passthrough(),$=e.object({width:e.number().nullish(),height:e.number().nullish()}).merge(j).passthrough(),I=e.object({appId:e.string(),componentId:e.string().uuid(),spec:e.string().min(1),variantValue:e.string()}).passthrough().optional(),Y=e.object({compId:e.string(),compType:e.literal(l.BACK_OFFICE_PAGE),compData:e.object({backOfficePage:V}),compName:e.string().optional(),experiment:I}).passthrough(),X=e.object({compId:e.string(),compType:e.literal(l.BACK_OFFICE_EXTENSION),compData:e.object({backOfficeExtension:e.object({hostingPlatform:e.string(),extends:e.string(),title:e.string().nullish(),extensionType:e.literal(w.BACK_OFFICE_EXTENSION_WIDGET),requiredPermission:e.string().nullish(),widget:$}).merge(y).passthrough()}),compName:e.string().optional(),experiment:I}).passthrough(),q=e.object({compId:e.string(),compType:e.literal(l.BACK_OFFICE_EXTENSION_WIDGET),compData:e.object({backOfficeExtensionWidget:e.object({hostingPlatform:e.string(),extends:e.string(),title:e.string().nullish(),description:e.string().optional(),requiredPermission:e.string().nullish(),width:e.number().nullish(),height:e.number().nullish()}).merge(j).merge(y).passthrough()}),compName:e.string().optional(),experiment:I}).passthrough(),z=e.object({compId:e.string(),compType:e.literal(l.BACK_OFFICE_EXTENSION_MENU_ITEM),compData:e.object({backOfficeExtensionMenuItem:e.object({id:e.string().uuid(),title:e.string().min(1),subtitle:e.string().max(200).optional(),iconKey:e.string().min(3).max(50).optional(),extends:e.string().uuid(),action:e.object({navigateToPage:e.object({pageId:e.string().uuid(),relativeUrl:e.string().optional()}),openModal:e.object({componentId:e.string().uuid(),componentParams:e.record(e.string().min(1),e.string().min(1)).optional()})}).partial().superRefine((a,n)=>{!a.navigateToPage&&!a.openModal&&n.addIssue({code:e.ZodIssueCode.custom,message:"action must have either navigateToPage or openModal"}),a.navigateToPage&&a.openModal&&n.addIssue({code:e.ZodIssueCode.custom,message:"action can't have both navigateToPage and openModal"})}),sentryDSN:e.string().optional(),requiredPermission:e.string().optional()}).merge(j).merge(y).passthrough()}),compName:e.string().optional(),experiment:I}).passthrough(),J=e.object({compId:e.string(),compType:e.literal(l.BACK_OFFICE_MODAL),compData:e.object({backOfficeModal:e.object({hostingPlatform:e.string(),title:e.string().nullish(),requiredPermission:e.string().nullish(),width:e.number().nullish(),height:e.number().nullish()}).merge(j).merge(y).passthrough()}),compName:e.string().optional(),experiment:I}).passthrough(),Z=e.object({compId:e.string(),compType:e.literal(l.BACK_OFFICE_SIDEBAR_CATEGORY),compData:e.object({backOfficeSidebarCategory:e.object({hostingPlatform:e.string(),title:e.string(),priority:e.number().nullish()})}),compName:e.string().optional()}).passthrough(),Q=e.object({compId:e.string(),compType:e.literal(l.BACK_OFFICE_WIDGET),compName:e.string().optional()}).passthrough(),ee=e.object({compId:e.string(),compType:e.literal(l.BACK_OFFICE_EXTENSION_CONTAINER),compName:e.string().optional()}).passthrough(),k=e.object({packageName:e.string().min(2).max(100),version:e.number().int().min(0)}),te=e.object({template:e.string(),name:e.string(),pages:e.enum([S.NONE_PAGES,S.ONCE,S.SPECIFIC_PAGES]),placement:e.enum([O.HEAD,O.BODY_START,O.BODY_END,O.NONE_PLACEMENT]),connectArticleUrl:e.string(),embedCategory:e.enum([h.UNKNOWN,h.FUNCTIONAL,h.ESSENTIAL,h.ANALYTICS,h.ADVERTISING]),loadOnce:e.boolean(),allowedForFreeSite:e.boolean(),dependencies:e.array(k)}),oe=e.object({compId:e.string(),compType:e.literal(l.EMBEDDED_SCRIPT),compName:e.string().optional(),compData:e.object({embeddedScriptComponentData:te})}).passthrough(),ie=e.object({base:e.object({id:e.string().optional(),name:e.string()}),installation:e.object({base:e.object({autoAdd:e.boolean().optional(),essential:e.boolean().optional(),maxInstances:e.number().optional()}).optional(),widget:e.object({default_preset:e.object({desktop_preset_id:e.string().optional(),tablet_preset_id:e.string().optional(),mobile_preset_id:e.string().optional()}).optional(),region:e.enum([A.BODY,A.FOOTER,A.HEADER])}).optional()}).optional(),widgetData:e.object({tagName:e.string(),scriptUrl:e.string(),scriptType:e.enum([C.NONE,C.COMMON_JS,C.ES_MODULE])}),behaviors:e.object({settings:e.object({settingsUrl:e.string()}).optional(),dashboard:e.object({dashboardPageComponentId:e.string()}).optional()}),size:e.object({width:e.object({allowStretch:e.boolean().optional(),defaultWidth:e.number().optional(),stretchByDefault:e.boolean().optional()}),height:e.object({defaultHeight:e.number(),heightMode:e.enum([N.AUTO,N.FIXED,N.UNKNOWN]).optional()})}),dependencies:e.array(k)}),re=e.object({compId:e.string(),compType:e.literal(l.CUSTOM_ELEMENT_WIDGET),compName:e.string().optional(),compData:e.object({customElementWidget:ie})}).passthrough(),ne=e.object({compId:e.string().uuid(),compType:e.literal(l.WEBHOOK),compName:e.string().optional(),compData:e.object({webhook:e.object({webhookSlug:e.string(),callbackUrl:e.string()})})}).passthrough(),ae=e.object({compId:e.string().uuid(),compType:e.literal(l.ECOM_SHIPPING_RATES),compName:e.string().optional(),compData:e.object({ecomShippingRates:e.object({name:e.string(),deploymentUri:e.string(),description:e.string().optional(),learnMoreUrl:e.string().url().optional(),dashboardUrl:e.string().url().optional(),fallbackDefinitionMandatory:e.boolean().optional(),thumbnailUrl:e.string().url().optional()})})}).passthrough(),se=e.object({compId:e.string().uuid(),compType:e.literal(l.ECOM_ADDITIONAL_FEES),compName:e.string().optional(),compData:e.object({ecomAdditionalFees:e.object({deploymentUri:e.string()})})}).passthrough(),ce=e.object({compId:e.string().uuid(),compType:e.literal(l.ECOM_DISCOUNTS_TRIGGER),compName:e.string().optional(),compData:e.object({ecomDiscountsTrigger:e.object({deploymentUri:e.string()})})}).passthrough(),le=e.object({compId:e.string().uuid(),compType:e.literal(l.ECOM_VALIDATIONS),compName:e.string().optional(),compData:e.object({ecomValidations:e.object({deploymentUri:e.string(),validateInCart:e.boolean().optional()})})}).passthrough(),pe=e.object({compId:e.string().uuid(),compType:e.literal(l.ECOM_PAYMENT_SETTINGS),compName:e.string().optional(),compData:e.object({ecomPaymentSettings:e.object({deploymentUri:e.string(),fallbackValueForRequires3dSecure:e.boolean().optional()})})}).passthrough(),me=e.object({compType:e.literal(l.TOPOLOGY),compId:e.string(),compName:e.string().optional(),compData:e.object({topology:e.object({topology:e.object({backendApiUrl:e.string().url()})})})}).passthrough(),ge=e.object({appId:e.string(),components:e.array(e.discriminatedUnion("compType",[Y,X,q,z,J,Z,Q,ee,oe,re,ne,se,ae,ce,le,pe,me]))});async function je(a){try{let n=await H.readFile(a,"utf-8");return ge.parse(JSON.parse(n))}catch(n){let r=n instanceof Error?n.toString():JSON.stringify(n);throw new Error(`Failed to read App Manifest at ${a}: ${r}`)}}var Ie=(0,x.default)();var ue=(0,B.default)(),M=(a,n)=>new URL(a,n).href,D=(a,n)=>{let{scriptAsset:r,iframeUrl:m}=a;return r?{scriptAsset:{...r,url:M(r.url,n)}}:m?{iframeUrl:M(m,n)}:a},fe=(a,n)=>({template:a.template.replaceAll("__STATICS_BASE_URL_PLACEHOLDER__",n)}),Ae=(a,n,r)=>{let m=ue(a),p=n.endsWith("/")?n:`${n}/`;return m.components.forEach(f=>{let{compData:t,compType:s}=f;s===l.BACK_OFFICE_PAGE&&(t.backOfficePage={...t.backOfficePage,...D(t.backOfficePage,p)}),s===l.BACK_OFFICE_EXTENSION&&(t.backOfficeExtension.widget={...t.backOfficeExtension.widget,...D(t.backOfficeExtension.widget,p)}),s===l.BACK_OFFICE_EXTENSION_WIDGET&&(t.backOfficeExtensionWidget={...t.backOfficeExtensionWidget,...D(t.backOfficeExtensionWidget,p)}),s===l.BACK_OFFICE_MODAL&&(t.backOfficeModal={...t.backOfficeModal,...D(t.backOfficeModal,p)}),s===l.EMBEDDED_SCRIPT&&(t.embeddedScriptComponentData={...t.embeddedScriptComponentData,...fe(t.embeddedScriptComponentData,p)}),s===l.CUSTOM_ELEMENT_WIDGET&&(t.customElementWidget={...t.customElementWidget,widgetData:{...t.customElementWidget.widgetData,scriptUrl:M(t.customElementWidget.widgetData.scriptUrl,p)},behaviors:{...t.customElementWidget.behaviors,...t.customElementWidget.behaviors.settings?{settings:{settingsUrl:M(t.customElementWidget.behaviors.settings.settingsUrl,p)}}:{}}}),s===l.WEBHOOK&&r&&(t.webhook={...t.webhook,callbackUrl:`${r}/webhooks`}),s===l.ECOM_ADDITIONAL_FEES&&r&&(t.ecomAdditionalFees={...t.ecomAdditionalFees,deploymentUri:`${r}/service-plugins`}),s===l.ECOM_SHIPPING_RATES&&r&&(t.ecomShippingRates={...t.ecomShippingRates,deploymentUri:`${r}/service-plugins`}),s===l.ECOM_VALIDATIONS&&r&&(t.ecomValidations={...t.ecomValidations,deploymentUri:`${r}/service-plugins`}),s===l.ECOM_DISCOUNTS_TRIGGER&&r&&(t.ecomDiscountsTrigger={...t.ecomDiscountsTrigger,deploymentUri:`${r}/service-plugins`}),s===l.ECOM_PAYMENT_SETTINGS&&r&&(t.ecomPaymentSettings={...t.ecomPaymentSettings,deploymentUri:`${r}/service-plugins`})}),m},de=(0,U.default)(),Ce=(a,n)=>{let{baseApiUrl:r,id:m}=n;if(!m&&!r)return a;let p=de(a);return p.components.forEach(f=>{f.compType===l.TOPOLOGY&&(m&&(f.compId=m),r&&(f.compData.topology.topology.backendApiUrl=r))}),p};export{je as a,Ae as b,Ce as c};
|
|
4
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
import{J as l,K as A,L as S,M as O,N as h,O as w,R as C,S as N}from"./chunk-HMROXS2Y.js";import{l as e}from"./chunk-CXOD6WQ4.js";import{c as R,e as P,h as T}from"./chunk-V4TR6DCM.js";var _=R((be,F)=>{"use strict";T();F.exports=L;function E(a){return a instanceof Buffer?Buffer.from(a):new a.constructor(a.buffer.slice(),a.byteOffset,a.length)}function L(a){if(a=a||{},a.circles)return K(a);let n=new Map;if(n.set(Date,t=>new Date(t)),n.set(Map,(t,s)=>new Map(m(Array.from(t),s))),n.set(Set,(t,s)=>new Set(m(Array.from(t),s))),a.constructorHandlers)for(let t of a.constructorHandlers)n.set(t[0],t[1]);let r=null;return a.proto?f:p;function m(t,s){let o=Object.keys(t),i=new Array(o.length);for(let g=0;g<o.length;g++){let c=o[g],u=t[c];typeof u!="object"||u===null?i[c]=u:u.constructor!==Object&&(r=n.get(u.constructor))?i[c]=r(u,s):ArrayBuffer.isView(u)?i[c]=E(u):i[c]=s(u)}return i}function p(t){if(typeof t!="object"||t===null)return t;if(Array.isArray(t))return m(t,p);if(t.constructor!==Object&&(r=n.get(t.constructor)))return r(t,p);let s={};for(let o in t){if(Object.hasOwnProperty.call(t,o)===!1)continue;let i=t[o];typeof i!="object"||i===null?s[o]=i:i.constructor!==Object&&(r=n.get(i.constructor))?s[o]=r(i,p):ArrayBuffer.isView(i)?s[o]=E(i):s[o]=p(i)}return s}function f(t){if(typeof t!="object"||t===null)return t;if(Array.isArray(t))return m(t,f);if(t.constructor!==Object&&(r=n.get(t.constructor)))return r(t,f);let s={};for(let o in t){let i=t[o];typeof i!="object"||i===null?s[o]=i:i.constructor!==Object&&(r=n.get(i.constructor))?s[o]=r(i,f):ArrayBuffer.isView(i)?s[o]=E(i):s[o]=f(i)}return s}}function K(a){let n=[],r=[],m=new Map;if(m.set(Date,o=>new Date(o)),m.set(Map,(o,i)=>new Map(f(Array.from(o),i))),m.set(Set,(o,i)=>new Set(f(Array.from(o),i))),a.constructorHandlers)for(let o of a.constructorHandlers)m.set(o[0],o[1]);let p=null;return a.proto?s:t;function f(o,i){let g=Object.keys(o),c=new Array(g.length);for(let u=0;u<g.length;u++){let b=g[u],d=o[b];if(typeof d!="object"||d===null)c[b]=d;else if(d.constructor!==Object&&(p=m.get(d.constructor)))c[b]=p(d,i);else if(ArrayBuffer.isView(d))c[b]=E(d);else{let v=n.indexOf(d);v!==-1?c[b]=r[v]:c[b]=i(d)}}return c}function t(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return f(o,t);if(o.constructor!==Object&&(p=m.get(o.constructor)))return p(o,t);let i={};n.push(o),r.push(i);for(let g in o){if(Object.hasOwnProperty.call(o,g)===!1)continue;let c=o[g];if(typeof c!="object"||c===null)i[g]=c;else if(c.constructor!==Object&&(p=m.get(c.constructor)))i[g]=p(c,t);else if(ArrayBuffer.isView(c))i[g]=E(c);else{let u=n.indexOf(c);u!==-1?i[g]=r[u]:i[g]=t(c)}}return n.pop(),r.pop(),i}function s(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return f(o,s);if(o.constructor!==Object&&(p=m.get(o.constructor)))return p(o,s);let i={};n.push(o),r.push(i);for(let g in o){let c=o[g];if(typeof c!="object"||c===null)i[g]=c;else if(c.constructor!==Object&&(p=m.get(c.constructor)))i[g]=p(c,s);else if(ArrayBuffer.isView(c))i[g]=E(c);else{let u=n.indexOf(c);u!==-1?i[g]=r[u]:i[g]=s(c)}}return n.pop(),r.pop(),i}}});T();import H from"node:fs/promises";var x=P(_(),1);var B=P(_(),1);var U=P(_(),1),y=e.object({errorReporting:e.object({url:e.string().optional(),artifact:e.object({fullArtifactId:e.string().max(255).min(1),version:e.string().max(255).min(1)}).optional()}).optional()}),j=e.object({iframeUrl:e.string().optional(),scriptAsset:e.object({exportedName:e.string(),containerId:e.string(),url:e.string(),scriptType:e.string().optional()}).optional()}),V=e.object({hostingPlatform:e.string(),fullPage:e.boolean().nullish(),hideInSidebar:e.boolean().nullish(),priority:e.number().nullish(),routePath:e.string().nullish(),title:e.string(),pageCategoryId:e.string().uuid().nullish(),activeSidebarPageId:e.string().nullish(),requiredPermission:e.string().nullish(),previousRoutePaths:e.array(e.string()).nullish()}).merge(y).merge(j).passthrough(),$=e.object({width:e.number().nullish(),height:e.number().nullish()}).merge(j).passthrough(),I=e.object({appId:e.string(),componentId:e.string().uuid(),spec:e.string().min(1),variantValue:e.string()}).passthrough().optional(),Y=e.object({compId:e.string(),compType:e.literal(l.BACK_OFFICE_PAGE),compData:e.object({backOfficePage:V}),compName:e.string().optional(),experiment:I}).passthrough(),X=e.object({compId:e.string(),compType:e.literal(l.BACK_OFFICE_EXTENSION),compData:e.object({backOfficeExtension:e.object({hostingPlatform:e.string(),extends:e.string(),title:e.string().nullish(),extensionType:e.literal(w.BACK_OFFICE_EXTENSION_WIDGET),requiredPermission:e.string().nullish(),widget:$}).merge(y).passthrough()}),compName:e.string().optional(),experiment:I}).passthrough(),q=e.object({compId:e.string(),compType:e.literal(l.BACK_OFFICE_EXTENSION_WIDGET),compData:e.object({backOfficeExtensionWidget:e.object({hostingPlatform:e.string(),extends:e.string(),title:e.string().nullish(),description:e.string().optional(),requiredPermission:e.string().nullish(),width:e.number().nullish(),height:e.number().nullish()}).merge(j).merge(y).passthrough()}),compName:e.string().optional(),experiment:I}).passthrough(),z=e.object({compId:e.string(),compType:e.literal(l.BACK_OFFICE_EXTENSION_MENU_ITEM),compData:e.object({backOfficeExtensionMenuItem:e.object({id:e.string().uuid(),title:e.string().min(1),subtitle:e.string().max(200).optional(),iconKey:e.string().min(3).max(50).optional(),extends:e.string().uuid(),action:e.object({navigateToPage:e.object({pageId:e.string().uuid(),relativeUrl:e.string().optional()}),openModal:e.object({componentId:e.string().uuid(),componentParams:e.record(e.string().min(1),e.string().min(1)).optional()})}).partial().superRefine((a,n)=>{!a.navigateToPage&&!a.openModal&&n.addIssue({code:e.ZodIssueCode.custom,message:"action must have either navigateToPage or openModal"}),a.navigateToPage&&a.openModal&&n.addIssue({code:e.ZodIssueCode.custom,message:"action can't have both navigateToPage and openModal"})}),sentryDSN:e.string().optional(),requiredPermission:e.string().optional()}).merge(j).merge(y).passthrough()}),compName:e.string().optional(),experiment:I}).passthrough(),J=e.object({compId:e.string(),compType:e.literal(l.BACK_OFFICE_MODAL),compData:e.object({backOfficeModal:e.object({hostingPlatform:e.string(),title:e.string().nullish(),requiredPermission:e.string().nullish(),width:e.number().nullish(),height:e.number().nullish()}).merge(j).merge(y).passthrough()}),compName:e.string().optional(),experiment:I}).passthrough(),Z=e.object({compId:e.string(),compType:e.literal(l.BACK_OFFICE_SIDEBAR_CATEGORY),compData:e.object({backOfficeSidebarCategory:e.object({hostingPlatform:e.string(),title:e.string(),priority:e.number().nullish()})}),compName:e.string().optional()}).passthrough(),Q=e.object({compId:e.string(),compType:e.literal(l.BACK_OFFICE_WIDGET),compName:e.string().optional()}).passthrough(),ee=e.object({compId:e.string(),compType:e.literal(l.BACK_OFFICE_EXTENSION_CONTAINER),compName:e.string().optional()}).passthrough(),k=e.object({packageName:e.string().min(2).max(100),version:e.number().int().min(0)}),te=e.object({template:e.string(),name:e.string(),pages:e.enum([S.NONE_PAGES,S.ONCE,S.SPECIFIC_PAGES]),placement:e.enum([O.HEAD,O.BODY_START,O.BODY_END,O.NONE_PLACEMENT]),connectArticleUrl:e.string(),embedCategory:e.enum([h.UNKNOWN,h.FUNCTIONAL,h.ESSENTIAL,h.ANALYTICS,h.ADVERTISING]),loadOnce:e.boolean(),allowedForFreeSite:e.boolean(),dependencies:e.array(k)}),oe=e.object({compId:e.string(),compType:e.literal(l.EMBEDDED_SCRIPT),compName:e.string().optional(),compData:e.object({embeddedScriptComponentData:te})}).passthrough(),ie=e.object({base:e.object({id:e.string().optional(),name:e.string()}),installation:e.object({base:e.object({autoAdd:e.boolean().optional(),essential:e.boolean().optional(),maxInstances:e.number().optional()}).optional(),widget:e.object({default_preset:e.object({desktop_preset_id:e.string().optional(),tablet_preset_id:e.string().optional(),mobile_preset_id:e.string().optional()}).optional(),region:e.enum([A.BODY,A.FOOTER,A.HEADER])}).optional()}).optional(),widgetData:e.object({tagName:e.string(),scriptUrl:e.string(),scriptType:e.enum([C.NONE,C.COMMON_JS,C.ES_MODULE])}),behaviors:e.object({settings:e.object({settingsUrl:e.string()}).optional(),dashboard:e.object({dashboardPageComponentId:e.string()}).optional()}),size:e.object({width:e.object({allowStretch:e.boolean().optional(),defaultWidth:e.number().optional(),stretchByDefault:e.boolean().optional()}),height:e.object({defaultHeight:e.number(),heightMode:e.enum([N.AUTO,N.FIXED,N.UNKNOWN]).optional()})}),dependencies:e.array(k)}),re=e.object({compId:e.string(),compType:e.literal(l.CUSTOM_ELEMENT_WIDGET),compName:e.string().optional(),compData:e.object({customElementWidget:ie})}).passthrough(),ne=e.object({compId:e.string().uuid(),compType:e.literal(l.WEBHOOK),compName:e.string().optional(),compData:e.object({webhook:e.object({webhookSlug:e.string(),callbackUrl:e.string()})})}).passthrough(),ae=e.object({compId:e.string().uuid(),compType:e.literal(l.ECOM_SHIPPING_RATES),compName:e.string().optional(),compData:e.object({ecomShippingRates:e.object({name:e.string(),deploymentUri:e.string(),description:e.string().optional(),learnMoreUrl:e.string().url().optional(),dashboardUrl:e.string().url().optional(),fallbackDefinitionMandatory:e.boolean().optional(),thumbnailUrl:e.string().url().optional()})})}).passthrough(),se=e.object({compId:e.string().uuid(),compType:e.literal(l.ECOM_ADDITIONAL_FEES),compName:e.string().optional(),compData:e.object({ecomAdditionalFees:e.object({deploymentUri:e.string()})})}).passthrough(),ce=e.object({compId:e.string().uuid(),compType:e.literal(l.ECOM_DISCOUNTS_TRIGGER),compName:e.string().optional(),compData:e.object({ecomDiscountsTrigger:e.object({deploymentUri:e.string()})})}).passthrough(),le=e.object({compId:e.string().uuid(),compType:e.literal(l.ECOM_VALIDATIONS),compName:e.string().optional(),compData:e.object({ecomValidations:e.object({deploymentUri:e.string(),validateInCart:e.boolean().optional()})})}).passthrough(),pe=e.object({compId:e.string().uuid(),compType:e.literal(l.ECOM_PAYMENT_SETTINGS),compName:e.string().optional(),compData:e.object({ecomPaymentSettings:e.object({deploymentUri:e.string(),fallbackValueForRequires3dSecure:e.boolean().optional()})})}).passthrough(),me=e.object({compType:e.literal(l.TOPOLOGY),compId:e.string(),compName:e.string().optional(),compData:e.object({topology:e.object({topology:e.object({backendApiUrl:e.string().url()})})})}).passthrough(),ge=e.object({appId:e.string(),components:e.array(e.discriminatedUnion("compType",[Y,X,q,z,J,Z,Q,ee,oe,re,ne,se,ae,ce,le,pe,me]))});async function je(a){try{let n=await H.readFile(a,"utf-8");return ge.parse(JSON.parse(n))}catch(n){let r=n instanceof Error?n.toString():JSON.stringify(n);throw new Error(`Failed to read App Manifest at ${a}: ${r}`)}}var Ie=(0,x.default)();var ue=(0,B.default)(),M=(a,n)=>new URL(a,n).href,D=(a,n)=>{let{scriptAsset:r,iframeUrl:m}=a;return r?{scriptAsset:{...r,url:M(r.url,n)}}:m?{iframeUrl:M(m,n)}:a},fe=(a,n)=>({template:a.template.replaceAll("__STATICS_BASE_URL_PLACEHOLDER__",n)}),Ae=(a,n,r)=>{let m=ue(a),p=n.endsWith("/")?n:`${n}/`;return m.components.forEach(f=>{let{compData:t,compType:s}=f;s===l.BACK_OFFICE_PAGE&&(t.backOfficePage={...t.backOfficePage,...D(t.backOfficePage,p)}),s===l.BACK_OFFICE_EXTENSION&&(t.backOfficeExtension.widget={...t.backOfficeExtension.widget,...D(t.backOfficeExtension.widget,p)}),s===l.BACK_OFFICE_EXTENSION_WIDGET&&(t.backOfficeExtensionWidget={...t.backOfficeExtensionWidget,...D(t.backOfficeExtensionWidget,p)}),s===l.BACK_OFFICE_MODAL&&(t.backOfficeModal={...t.backOfficeModal,...D(t.backOfficeModal,p)}),s===l.EMBEDDED_SCRIPT&&(t.embeddedScriptComponentData={...t.embeddedScriptComponentData,...fe(t.embeddedScriptComponentData,p)}),s===l.CUSTOM_ELEMENT_WIDGET&&(t.customElementWidget={...t.customElementWidget,widgetData:{...t.customElementWidget.widgetData,scriptUrl:M(t.customElementWidget.widgetData.scriptUrl,p)},behaviors:{...t.customElementWidget.behaviors,...t.customElementWidget.behaviors.settings?{settings:{settingsUrl:M(t.customElementWidget.behaviors.settings.settingsUrl,p)}}:{}}}),s===l.WEBHOOK&&r&&(t.webhook={...t.webhook,callbackUrl:`${r}/webhooks`}),s===l.ECOM_ADDITIONAL_FEES&&r&&(t.ecomAdditionalFees={...t.ecomAdditionalFees,deploymentUri:`${r}/service-plugins`}),s===l.ECOM_SHIPPING_RATES&&r&&(t.ecomShippingRates={...t.ecomShippingRates,deploymentUri:`${r}/service-plugins`}),s===l.ECOM_VALIDATIONS&&r&&(t.ecomValidations={...t.ecomValidations,deploymentUri:`${r}/service-plugins`}),s===l.ECOM_DISCOUNTS_TRIGGER&&r&&(t.ecomDiscountsTrigger={...t.ecomDiscountsTrigger,deploymentUri:`${r}/service-plugins`}),s===l.ECOM_PAYMENT_SETTINGS&&r&&(t.ecomPaymentSettings={...t.ecomPaymentSettings,deploymentUri:`${r}/service-plugins`})}),m},de=(0,U.default)(),Ce=(a,n)=>{let{baseApiUrl:r,id:m}=n;if(!m&&!r)return a;let p=de(a);return p.components.forEach(f=>{f.compType===l.TOPOLOGY&&(m&&(f.compId=m),r&&(f.compData.topology.topology.backendApiUrl=r))}),p};export{je as a,Ae as b,Ce as c};
|
|
4
|
+
//# sourceMappingURL=chunk-2M3UC7RV.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as _createRequire } from 'node:module';
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{
|
|
4
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
import{mb as p,va as r}from"./chunk-HMROXS2Y.js";import{a as v,b as f}from"./chunk-CXOD6WQ4.js";import{e as m,h as c}from"./chunk-V4TR6DCM.js";c();var s=m(v(),1),i=m(f(),1);function k(){let{model:t}=p(),n=(0,s.useMemo)(()=>{let l=t.components.filter((0,i.isType)(r.Api)).sort((e,o)=>e.title.localeCompare(o.title)),a=t.components.filter((0,i.isType)(r.Event)).sort((e,o)=>e.title.localeCompare(o.title)),u=t.components.filter((0,i.isType)(r.ServicePlugin)).sort((e,o)=>e.servicePlugin.name.localeCompare(o.servicePlugin.name));return{Api:l,Event:a,ServicePlugin:u}},[t.components]);return{backendComponents:[...n.Api,...n.Event,...n.ServicePlugin],backendComponentsByType:n}}export{k as a};
|
|
4
|
+
//# sourceMappingURL=chunk-7DTNPXX6.js.map
|