@wix/cli-app 1.1.35 → 1.1.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/{CreateVersionCommand-FGFXCQ6O.js → CreateVersionCommand-GJYJMFS6.js} +2 -2
- package/build/CreateVersionCommand-GJYJMFS6.js.map +1 -0
- package/build/DevCommand-UJ56EKIV.js +4 -0
- package/build/DevCommand-UJ56EKIV.js.map +1 -0
- package/build/GenerateCommand-YTAYOWLN.js +99 -0
- package/build/GenerateCommand-YTAYOWLN.js.map +1 -0
- package/build/LogsCommand-ZWIIAJI6.js +4 -0
- package/build/LogsCommand-ZWIIAJI6.js.map +1 -0
- package/build/PreviewCommand-7JJAW5Y4.js +4 -0
- package/build/{ServeCommand-3XS2PRLZ.js → ServeCommand-ZJMRR4ES.js} +2 -2
- package/build/{build-R2V6VPAY.js → build-6EB3DE3E.js} +2 -2
- package/build/build-6EB3DE3E.js.map +1 -0
- package/build/chunk-3ACKBLKR.js +4 -0
- package/build/chunk-3ACKBLKR.js.map +1 -0
- package/build/{chunk-QEH4HZND.js → chunk-3EO7KOOF.js} +2 -2
- package/build/chunk-3UAIFRQA.js +10 -0
- package/build/chunk-3UAIFRQA.js.map +1 -0
- package/build/{chunk-RXT5UM7Q.js → chunk-5GXRNUOR.js} +24 -7
- package/build/{chunk-RXT5UM7Q.js.map → chunk-5GXRNUOR.js.map} +1 -1
- package/build/chunk-5POS3EQI.js +4 -0
- package/build/chunk-5POS3EQI.js.map +1 -0
- package/build/chunk-6N3YP4CO.js +4 -0
- package/build/{chunk-3T3H3UJF.js → chunk-7IFG7QRE.js} +3 -3
- package/build/chunk-7IFG7QRE.js.map +1 -0
- package/build/{chunk-NNF6JCN7.js → chunk-AXFFV5MU.js} +2 -2
- package/build/{chunk-F6WBFD2I.js → chunk-DAPZQSXG.js} +2 -2
- package/build/{chunk-F6WBFD2I.js.map → chunk-DAPZQSXG.js.map} +1 -1
- package/build/chunk-E7IQZNJ7.js +4 -0
- package/build/chunk-E7IQZNJ7.js.map +1 -0
- package/build/{chunk-R4ZQYYZR.js → chunk-HNY5L6XA.js} +2 -2
- package/build/{chunk-OWEB37KH.js → chunk-I24C7SNY.js} +2 -2
- package/build/{chunk-2JOP4YNL.js → chunk-JPGXKQXP.js} +2 -2
- package/build/chunk-JPGXKQXP.js.map +1 -0
- package/build/{chunk-KRQ3H7GR.js → chunk-KX7T4WP2.js} +2 -2
- package/build/{chunk-ZORLYW6M.js → chunk-OMZB4UKG.js} +2 -2
- package/build/{chunk-YT6VEJPK.js → chunk-OOIZVKTY.js} +2 -2
- package/build/chunk-OOIZVKTY.js.map +1 -0
- package/build/{chunk-A3KHJIN7.js → chunk-PQFAL6B4.js} +2 -2
- package/build/chunk-SLG2HQYB.js +4 -0
- package/build/chunk-SLG2HQYB.js.map +1 -0
- package/build/chunk-TSKFLGBO.js +116 -0
- package/build/{chunk-5JYQ2Z7Y.js.map → chunk-TSKFLGBO.js.map} +1 -1
- package/build/{chunk-CBDNKNAV.js → chunk-ZTMLHHUQ.js} +2 -2
- package/build/index.js +2 -2
- package/build/platform-sdk/chunk-OSR2I5MY.js +2 -0
- package/build/platform-sdk/chunk-OSR2I5MY.js.map +1 -0
- package/build/platform-sdk/chunk-SHVQ4QZG.js +2 -0
- package/build/platform-sdk/chunk-SHVQ4QZG.js.map +1 -0
- package/build/platform-sdk/chunk-TEDR2MDT.js +2 -0
- package/build/platform-sdk/dashboard.js +1 -1
- package/build/platform-sdk/dashboard.js.map +1 -1
- package/build/platform-sdk/editor.js +8 -0
- package/build/platform-sdk/editor.js.map +1 -0
- package/build/platform-sdk/{esm-IUMNLA6B.js → esm-WXLS5NTC.js} +2 -2
- package/build/platform-sdk/esm-WXLS5NTC.js.map +1 -0
- package/build/platform-sdk/site.js +2 -0
- package/build/platform-sdk/site.js.map +1 -0
- package/build/preview-OUDOPVIF.js +4 -0
- package/build/{preview-5HAC2VHN.js.map → preview-OUDOPVIF.js.map} +1 -1
- package/build/{render-command-OPJNFJRC.js → render-command-URXJKFYN.js} +2 -2
- package/internal/component-hmr-wrapper.tsx +0 -1
- package/package.json +5 -5
- package/schemas/ecom-additional-fees.json +1 -0
- package/schemas/ecom-discounts-trigger.json +1 -0
- package/schemas/ecom-payment-settings.json +1 -0
- package/schemas/ecom-shipping-rates.json +1 -0
- package/schemas/ecom-validations.json +1 -0
- package/templates/custom-element/files/element.module.css.ejs +22 -0
- package/templates/custom-element/files/element.tsx.ejs +5 -7
- package/templates/service-plugin/ecom-additional-fees/dependencies.json +5 -0
- package/templates/service-plugin/ecom-additional-fees/files/plugin.json.ejs +4 -0
- package/templates/service-plugin/ecom-additional-fees/files/plugin.ts.ejs +12 -0
- package/templates/service-plugin/ecom-discounts-trigger/dependencies.json +5 -0
- package/templates/service-plugin/ecom-discounts-trigger/files/plugin.json.ejs +4 -0
- package/templates/service-plugin/ecom-discounts-trigger/files/plugin.ts.ejs +17 -0
- package/templates/service-plugin/ecom-payment-settings/dependencies.json +5 -0
- package/templates/service-plugin/ecom-payment-settings/files/plugin.json.ejs +4 -0
- package/templates/service-plugin/ecom-payment-settings/files/plugin.ts.ejs +12 -0
- package/templates/service-plugin/ecom-shipping-rates/dependencies.json +5 -0
- package/templates/service-plugin/ecom-shipping-rates/files/plugin.json.ejs +4 -0
- package/templates/service-plugin/ecom-shipping-rates/files/plugin.ts.ejs +12 -0
- package/templates/service-plugin/ecom-validations/dependencies.json +5 -0
- package/templates/service-plugin/ecom-validations/files/plugin.json.ejs +4 -0
- package/templates/service-plugin/ecom-validations/files/plugin.ts.ejs +12 -0
- package/build/CreateVersionCommand-FGFXCQ6O.js.map +0 -1
- package/build/DevCommand-5DVDWGBY.js +0 -4
- package/build/DevCommand-5DVDWGBY.js.map +0 -1
- package/build/GenerateCommand-5MXGDU5D.js +0 -99
- package/build/GenerateCommand-5MXGDU5D.js.map +0 -1
- package/build/LogsCommand-GT4C6W63.js +0 -4
- package/build/LogsCommand-GT4C6W63.js.map +0 -1
- package/build/PreviewCommand-TYTUHLCK.js +0 -4
- package/build/build-R2V6VPAY.js.map +0 -1
- package/build/chunk-2JOP4YNL.js.map +0 -1
- package/build/chunk-3T3H3UJF.js.map +0 -1
- package/build/chunk-5JYQ2Z7Y.js +0 -116
- package/build/chunk-5YLHD2SK.js +0 -4
- package/build/chunk-A7TURNR5.js +0 -4
- package/build/chunk-A7TURNR5.js.map +0 -1
- package/build/chunk-J2KSZ5LE.js +0 -4
- package/build/chunk-J2KSZ5LE.js.map +0 -1
- package/build/chunk-MI2F3EIB.js +0 -4
- package/build/chunk-MI2F3EIB.js.map +0 -1
- package/build/chunk-PWHZSGUV.js +0 -10
- package/build/chunk-PWHZSGUV.js.map +0 -1
- package/build/chunk-VRNTLFVH.js +0 -4
- package/build/chunk-VRNTLFVH.js.map +0 -1
- package/build/chunk-YT6VEJPK.js.map +0 -1
- package/build/platform-sdk/chunk-RFBBAUMM.js +0 -2
- package/build/platform-sdk/esm-IUMNLA6B.js.map +0 -1
- package/build/preview-5HAC2VHN.js +0 -4
- /package/build/{PreviewCommand-TYTUHLCK.js.map → PreviewCommand-7JJAW5Y4.js.map} +0 -0
- /package/build/{ServeCommand-3XS2PRLZ.js.map → ServeCommand-ZJMRR4ES.js.map} +0 -0
- /package/build/{chunk-QEH4HZND.js.map → chunk-3EO7KOOF.js.map} +0 -0
- /package/build/{chunk-5YLHD2SK.js.map → chunk-6N3YP4CO.js.map} +0 -0
- /package/build/{chunk-NNF6JCN7.js.map → chunk-AXFFV5MU.js.map} +0 -0
- /package/build/{chunk-R4ZQYYZR.js.map → chunk-HNY5L6XA.js.map} +0 -0
- /package/build/{chunk-OWEB37KH.js.map → chunk-I24C7SNY.js.map} +0 -0
- /package/build/{chunk-KRQ3H7GR.js.map → chunk-KX7T4WP2.js.map} +0 -0
- /package/build/{chunk-ZORLYW6M.js.map → chunk-OMZB4UKG.js.map} +0 -0
- /package/build/{chunk-A3KHJIN7.js.map → chunk-PQFAL6B4.js.map} +0 -0
- /package/build/{chunk-CBDNKNAV.js.map → chunk-ZTMLHHUQ.js.map} +0 -0
- /package/build/platform-sdk/{chunk-RFBBAUMM.js.map → chunk-TEDR2MDT.js.map} +0 -0
- /package/build/{render-command-OPJNFJRC.js.map → render-command-URXJKFYN.js.map} +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{a as J}from"./chunk-3UAIFRQA.js";import{Na as V,Oa as z,Pa as H,Ua as R,Va as q,lb as U}from"./chunk-TSKFLGBO.js";import{O as j,R as G,V as C,W as N,a as I,b as M,d as _,e as v,l as r,w as l,z as d}from"./chunk-JPGXKQXP.js";import{e as f,h as a}from"./chunk-V4TR6DCM.js";a();a();var L=f(I(),1);var S=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(v.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(v.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:v.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:v.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,S.variant)({Valid:(0,S.fields)(),Error:(0,S.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,S.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-ZWIIAJI6.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 {\n useDevCenterClient,\n ComponentType,\n type TopologyComponent,\n} 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, 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, { type FC } from 'react';\nimport { Text } from '@wix/cli-ui-kit';\nimport type { LogMessage, LogMessageLevel } from './logsReqHandler.js';\n\nexport const ServerLogMessage: FC<{\n message: LogMessage;\n level: LogMessageLevel;\n}> = ({ message, level }) => {\n let content = 'unknown';\n\n if (typeof message === 'object') {\n content = JSON.stringify(message);\n } else {\n content = String(message);\n }\n\n return <Text skin={level === 'error' ? 'error' : 'standard'}>{content}</Text>;\n};\n"],"mappings":";;sRAAAA,ICAAC,IACA,IAAAC,EAA+B,SAG/B,IAAAC,EAAuC,SCJvCC,IACA,IAAAC,EAA6C,SAC7CC,EAAsB,SCFtBC,IAAA,IAAAC,EAA2C,SAC3C,OAAS,gBAAAC,OAAoB,YAe7B,IAAAC,EAAuB,SChBvBC,IAIA,IAAAC,EAAuD,SAEjDC,GAAmBC,EAAE,IAAI,EAGzBC,GAAwBD,EAAE,KAAK,CAAC,OAAQ,QAAS,OAAQ,QAAS,KAAK,CAAC,EAGxEE,GAAgBF,EAAE,OAAO,CAC7B,QAASA,EAAE,MAAMD,EAAgB,EACjC,MAAOE,GACP,UAAWD,EAAE,OAAO,CACtB,CAAC,EAIKG,GAAsBH,EAAE,OAAO,CACnC,MAAOA,EAAE,OAAO,EAChB,KAAMA,EAAE,OAAO,EACf,QAASA,EAAE,OAAO,EAClB,UAAWA,EAAE,OAAO,CACtB,CAAC,EAIKI,GAAoBJ,EACvB,OAAO,CACN,MAAOA,EAAE,QAAQ,KAAK,EACtB,WAAYA,EAAE,MAAMG,EAAmB,EACvC,KAAMH,EAAE,MAAME,EAAa,CAC7B,CAAC,EACA,YAAY,EAETG,GAA+BL,EAClC,OAAO,CACN,MAAOA,EAAE,QAAQ,iBAAiB,CACpC,CAAC,EACA,YAAY,EAETM,GAA0BN,EAAE,mBAAmB,QAAS,CAC5DI,GACAC,EACF,CAAC,EAIKE,KAAgB,WAAQ,CAC5B,OAAK,UAAgB,EACrB,aAAW,UAAsB,CACnC,CAAC,EAUYC,EAAgB,QAEhBC,EAAiB,CAACC,EAAsBC,IAAwB,CAC3E,IAAIC,EACAC,EAEJ,GAAIH,EAAI,SAAW,QAAUA,EAAI,MAAQF,EAAe,CACtD,IAAIM,EAAO,GAEXJ,EAAI,GAAG,OAASK,GAAU,CACxBD,GAAQC,EAAM,SAAS,CACzB,CAAC,EAEDL,EAAI,GAAG,MAAO,IAAM,CAClB,IAAIM,EACJ,GAAI,CACFA,EAAaV,GAAwB,MAAM,KAAK,MAAMQ,CAAI,CAAC,CAC7D,OAASG,EAAK,CACZ,OAAAJ,EAAQK,EAAa,iBAAiB,EAAGD,EAAK,CAAE,KAAAH,CAAK,CAAC,EACtDH,EAAI,WAAa,IACVA,EAAI,IAAI,CACjB,CAEA,IAAMQ,EAA8B,CAAC,EAEjCH,EAAW,QAAU,QACvBG,EAAW,KACT,GAAGH,EAAW,WAAW,IAAKI,GAC5Bb,EAAc,UAAUa,CAAS,CACnC,CACF,EACAD,EAAW,KACT,GAAGH,EAAW,KAAK,IAAKK,GAAQd,EAAc,IAAIc,CAAG,CAAC,CACxD,MAGF,SAAML,EAAW,MAAO,CACtB,IAAK,IAAM,CACTJ,EAAMO,CAAU,CAClB,EACA,kBAAmB,IAAM,CACvBR,EAAI,WAAa,IACjBA,EAAI,IAAI,EAERE,EAAQK,EAAa,sBAAsB,EAAG,CAAC,EAAG,CAAE,KAAAJ,CAAK,CAAC,CAC5D,CACF,CAAC,EAEDH,EAAI,WAAa,IACjBA,EAAI,IAAI,CACV,CAAC,CACH,MACEA,EAAI,WAAa,IACjBA,EAAI,IAAI,WAAW,EAGrB,IAAMW,EAAM,CACV,MAAQC,IACNX,EAAQW,EACDD,GAET,QAAUC,IACRV,EAAUU,EACHD,EAEX,EAEA,OAAOA,CACT,ED/GA,IAAME,GAAoB,kBAEbC,EAAgB,CAAC,CAC5B,MAAAC,EACA,QAAAC,EACA,MAAAC,CACF,IAIM,CACJ,GAAM,CAAE,gBAAAC,CAAgB,EAAIC,EAAmB,EACzCC,EAAqBC,EAAU,EAC/BC,EAAaC,EAAc,CAAE,KAAM,YAAa,CAAC,EACjDC,KAA6B,UAA+B,EAE5DC,KAAS,WAAQ,IACdC,GAAa,CAACC,EAAKC,IAAQ,CAChCC,EAAeF,EAAKC,CAAG,EACpB,MAAMb,CAAK,EACX,QAAQ,CAACe,EAAMC,EAAKC,IAAS,CAC5B,MAAAP,EAAO,MAAM,EACP,IAAIQ,EAAS,CAAE,KAAAH,EAAM,MAAOC,EAAK,KAAAC,CAAK,CAAC,CAC/C,CAAC,CACL,CAAC,EACA,CAACjB,CAAK,CAAC,EAEJmB,KAAyB,WAAQ,IAC9B,IAAI,QAAiBC,GAAY,CACtCX,EAA2B,QAAUW,CACvC,CAAC,EACA,CAAC,CAAC,KAEL,aAAU,KACRV,EAAO,OAAO,EAAG,SAAY,CAC3B,IAAMW,EAAQX,EAAO,QAAQ,EAAkB,KAC/CD,EAA2B,UAAUY,CAAI,CAC3C,CAAC,EACM,IAAM,CACPX,EAAO,WACTA,EAAO,MAAM,CAEjB,GACC,CAACA,CAAM,CAAC,EAEX,GAAM,CAAE,OAAAY,CAAO,EAAIC,EAAS,SAAY,CACtC,IAAMC,EAAkB,MAAML,EACxB,CAAE,IAAKM,CAAU,EAAI,MAAMpB,EAAmBmB,CAAe,EAC7D,CAAE,KAAAE,CAAK,EAAI,MAAMvB,EAAgB,CAAE,MAAAD,EAAO,QAAAD,CAAQ,CAAC,EAEnD0B,EAAoBD,EAAK,WAAW,KACvCE,GACQA,EAAU,WAAaC,EAAc,QAEhD,EACMC,EAAQhC,GAAkB,KAC9B6B,GAAmB,SAAS,SAAS,SAAS,eAAiB,EACjE,EAEA,GAAI,CAACG,IAAQ,CAAC,EACZ,MAAM,IAAIZ,EAAS,CACjB,KAAMa,EAAa,wBAAwB,CAC7C,CAAC,EAEH,IAAMC,EAAeF,EAAM,CAAC,EAEtBG,GAAY,CAChB,MAAA/B,EACA,aAAA8B,EACA,eAAgB,IAAI,IAAIE,EAAeT,CAAS,EAAE,IACpD,EAEA,GAAI,CACF,MAAMlB,EAAW,QAAQ4B,EAAaF,EAAS,CAAC,CAClD,OAASG,EAAO,CACd,MAAA1B,EAAO,MAAM,EACP,IAAIQ,EAAS,CACjB,KAAMa,EAAa,6BAA6B,EAChD,MAAOK,CACT,CAAC,CACH,CAEA,OAAOJ,CACT,EAAG,CAAC,CAAC,EAEL,sBAAU,IAGD,IAAM,IACP,UAAOV,EAAQ,SAAS,GAC1Bf,EAAW,QACT8B,EAAe,CACb,MAAAnC,EACA,aAAcoB,EAAO,MACvB,CAAC,CACH,CAEJ,EAEC,CAAC,CAAC,EAEEA,CACT,EE1HAgB,IAAA,IAAAC,EAA+B,SAIxB,IAAMC,EAGR,CAAC,CAAE,QAAAC,EAAS,MAAAC,CAAM,IAAM,CAC3B,IAAIC,EAAU,UAEd,OAAI,OAAOF,GAAY,SACrBE,EAAU,KAAK,UAAUF,CAAO,EAEhCE,EAAU,OAAOF,CAAO,EAGnB,EAAAG,QAAA,cAACC,EAAA,CAAK,KAAMH,IAAU,QAAU,QAAU,YAAaC,CAAQ,CACxE,EHRO,IAAMG,EAGR,CAAC,CAAE,QAAAC,EAAS,MAAAC,CAAM,IAAM,CAC3B,GAAM,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvB,CAACC,EAAMC,CAAO,KAAI,YAA0B,CAAC,CAAC,EAC9CC,EAAeC,EAAc,CACjC,MAAAN,EACA,QAAAD,EACA,SAAO,eACJQ,GAAe,CACdH,EAASI,GACA,CAAC,GAAGA,EAAU,GAAGD,CAAU,CACnC,CACH,EACA,CAACH,CAAO,CACV,CACF,CAAC,EAED,SAAO,SAAMC,EAAc,CACzB,QAAS,IACP,EAAAI,QAAA,cAACC,EAAA,CAAI,UAAW,EAAG,aAAc,EAAG,cAAc,UAChD,EAAAD,QAAA,cAACC,EAAA,CAAI,aAAc,EAAG,cAAc,UAClC,EAAAD,QAAA,cAACE,EAAA,KACC,EAAAF,QAAA,cAACG,EAAA,CAAM,QAAQ,iCAAiC,CAClD,EACA,EAAAH,QAAA,cAACE,EAAA,KACC,EAAAF,QAAA,cAACG,EAAA,CAAM,QAAQ,6BAA6B,OAAQ,CAAE,QAAAb,CAAQ,EAAG,CACnE,CACF,EAECI,EAAK,IAAI,CAACU,EAAKC,IACd,EAAAL,QAAA,cAACC,EAAA,CAAI,IAAKI,EAAQ,cAAc,UAC9B,EAAAL,QAAA,cAACC,EAAA,CAAI,UAAW,GACd,EAAAD,QAAA,cAACC,EAAA,CAAI,WAAY,GACf,EAAAD,QAAA,cAACE,EAAA,CAAK,KAAK,aACR,IAAI,KAAKE,EAAI,SAAS,EAAE,mBAAmB,CAC9C,CACF,EACA,EAAAJ,QAAA,cAACC,EAAA,CAAI,UAAW,MACb,SAAMG,EAAK,CACV,IAAK,CAAC,CAAE,QAAAE,EAAS,MAAAC,CAAM,IACrBD,EAAQ,IAAI,CAACE,EAASC,IACpB,EAAAT,QAAA,cAACU,EAAA,CACC,IAAK,GAAGL,CAAM,IAAII,CAAG,GACrB,QAASD,EACT,MAAOD,EACT,CACD,EACH,UAAW,CAAC,CAAE,QAAAD,CAAQ,IACpB,EAAAN,QAAA,cAACU,EAAA,CACC,IAAKL,EACL,QAASC,EACT,MAAM,QACR,CAEJ,CAAC,CACH,CACF,KACC,SAAMF,EAAK,CACV,IAAK,IAAM,KACX,UAAW,CAAC,CAAE,MAAAO,CAAM,IAAM,EAAAX,QAAA,cAACE,EAAA,CAAK,KAAK,SAASS,CAAM,CACtD,CAAC,CACH,CACD,CACH,EAEF,QAAS,IAAM,EAAAX,QAAA,cAACY,EAAA,CAAQ,KAAMpB,EAAE,yBAAyB,EAAG,EAC5D,MAAO,IAAM,IACf,CAAC,CACH,EDvEA,IAAMqB,KAAmB,WAAQ,CAC/B,SAAO,UAA4B,EACnC,SAAO,UAAuC,CAChD,CAAC,EAEKC,GAAgB,CAAC,CAAE,QAAAC,CAAQ,IAC1BA,EAKEF,EAAiB,MAAM,CAAE,QAAAE,CAAQ,CAAC,EAJhCF,EAAiB,MAAM,CAC5B,QAAS,EAAAG,QAAA,cAACC,EAAA,CAAM,QAAQ,oCAAoC,CAC9D,CAAC,EAKQC,GAER,CAAC,CAAE,QAAAH,CAAQ,IAAM,CACpB,GAAM,CAAE,MAAAI,CAAM,EAAIC,EAAgB,EAE5BC,KAAmB,WAAQ,IAAMP,GAAc,CAAE,QAAAC,CAAQ,CAAC,EAAG,CAACA,CAAO,CAAC,EAE5E,SAAO,SAAMM,EAAkB,CAC7B,MAAO,CAAC,CAAE,QAAAN,CAAQ,IAChB,EAAAC,QAAA,cAACM,EAAA,CAAkB,QAASP,EAAS,MAAOI,EAAM,OAAO,MAAO,EAElE,MAAO,CAAC,CAAE,QAAAI,CAAQ,IAChB,EAAAP,QAAA,cAACQ,EAAA,CAAI,OAAQ,EAAG,UAAW,EAAG,aAAc,EAAG,cAAc,UAC3D,EAAAR,QAAA,cAACQ,EAAA,CAAI,IAAK,GACR,EAAAR,QAAA,cAACS,EAAA,CAAK,KAAK,SAASF,CAAQ,CAC9B,CACF,CAEJ,CAAC,CACH","names":["init_esm_shims","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","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-KX7T4WP2.js";import"./chunk-AXFFV5MU.js";import"./chunk-ZTMLHHUQ.js";import"./chunk-HNY5L6XA.js";import"./chunk-5POS3EQI.js";import"./chunk-DAPZQSXG.js";import"./chunk-OMZB4UKG.js";import"./chunk-PQFAL6B4.js";import"./chunk-SLG2HQYB.js";import"./chunk-E7IQZNJ7.js";import"./chunk-TSKFLGBO.js";import"./chunk-JPGXKQXP.js";import"./chunk-V4TR6DCM.js";export{a as PreviewCommand};
|
|
4
|
+
//# sourceMappingURL=PreviewCommand-7JJAW5Y4.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-AXFFV5MU.js";import{b as U,c as K,d as N}from"./chunk-ZTMLHHUQ.js";import"./chunk-5POS3EQI.js";import"./chunk-DAPZQSXG.js";import{a as F,b as h}from"./chunk-5GXRNUOR.js";import{b as j}from"./chunk-PQFAL6B4.js";import{g as b,h as k,i as c,j as V}from"./chunk-SLG2HQYB.js";import{b as M}from"./chunk-E7IQZNJ7.js";import{lb as u}from"./chunk-TSKFLGBO.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-JPGXKQXP.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}=u();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}=u(),{t:v}=A(),{site:H}=c(),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}=c(),{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-ZJMRR4ES.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 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-3ACKBLKR.js";import{b as m,c as d}from"./chunk-5GXRNUOR.js";import{a as l}from"./chunk-PQFAL6B4.js";import"./chunk-E7IQZNJ7.js";import{Xa as c,jb as a,ua as i}from"./chunk-TSKFLGBO.js";import{b as E,d as t,e as n}from"./chunk-JPGXKQXP.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-6EB3DE3E.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/build.ts"],"sourcesContent":["import { cwd } from 'node:process';\nimport { build as viteBuild } from 'vite';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { isType } from 'variant';\nimport { loadProjectModel } from './model.js';\nimport { getBackendViteConfig, getClientViteConfig } from './vite/index.js';\nimport { writeAppManifestFile } from './app-manifest/file.js';\nimport { createAppManifest } from './app-manifest/create.js';\nimport { getComponentSourceBuilder } from './app-manifest/component-source.js';\nimport { ConfigType } from './vite/vite-config-options.js';\nimport { validateComponents } from './app-manifest/validate.js';\nimport { API_BASEURL_PLACEHOLDER } from './hosting/upload-application.js';\nimport { DevCenterComponent } from './dev-center/components/dev-center-component.js';\n\nexport async function build() {\n const projectModel = await loadProjectModel(cwd());\n\n // Validate before building the project, to fail fast in case of a validation issue\n if (projectModel.components.length === 0) {\n throw new CliError({\n code: CliErrorCode.NoExtensionsFound(),\n });\n }\n\n validateComponents(projectModel.components);\n\n const backendComponents = projectModel.components.filter(\n (component) =>\n isType(component, DevCenterComponent.Api) ||\n isType(component, DevCenterComponent.Event) ||\n isType(component, DevCenterComponent.ServicePlugin)\n );\n\n const backendBuildOutput =\n backendComponents.length > 0\n ? await viteBuild(\n await getBackendViteConfig(\n projectModel,\n { type: ConfigType.build },\n {\n appSecret: '__APP_SECRET__',\n webhooksPublicKey: '__WEBHOOKS_PUBLIC_KEY__',\n }\n )\n ).catch((e: unknown) => {\n throw new CliError({\n code: CliErrorCode.FailedToBuildApp({ cause: e }),\n cause: e,\n });\n })\n : undefined;\n\n const clientBuildOutput = await viteBuild(\n await getClientViteConfig(\n projectModel,\n {\n type: ConfigType.build,\n },\n {\n baseBackendUrl: API_BASEURL_PLACEHOLDER,\n }\n )\n ).catch((e: unknown) => {\n throw new CliError({\n code: CliErrorCode.FailedToBuildApp({ cause: e }),\n cause: e,\n });\n });\n\n const manifest = await createAppManifest({\n appId: projectModel.config.appId,\n components: projectModel.components,\n sentryDSN: projectModel.config.sentryDSN,\n componentSourceBuilder: getComponentSourceBuilder(\n projectModel,\n { clientBuildOutput },\n { backendBuildOutput }\n ),\n });\n\n await writeAppManifestFile({\n projectFolder: projectModel.projectFolder,\n manifest,\n });\n}\n"],"mappings":";;uUAAAA,IAAA,OAAS,OAAAC,MAAW,eACpB,OAAS,SAASC,MAAiB,OAEnC,IAAAC,EAAuB,SAWvB,eAAsBC,GAAQ,CAC5B,IAAMC,EAAe,MAAMC,EAAiBC,EAAI,CAAC,EAGjD,GAAIF,EAAa,WAAW,SAAW,EACrC,MAAM,IAAIG,EAAS,CACjB,KAAMC,EAAa,kBAAkB,CACvC,CAAC,EAGHC,EAAmBL,EAAa,UAAU,EAS1C,IAAMM,EAPoBN,EAAa,WAAW,OAC/CO,MACC,UAAOA,EAAWC,EAAmB,GAAG,MACxC,UAAOD,EAAWC,EAAmB,KAAK,MAC1C,UAAOD,EAAWC,EAAmB,aAAa,CACtD,EAGoB,OAAS,EACvB,MAAMC,EACJ,MAAMC,EACJV,EACA,CAAE,YAAuB,EACzB,CACE,UAAW,iBACX,kBAAmB,yBACrB,CACF,CACF,EAAE,MAAO,GAAe,CACtB,MAAM,IAAIG,EAAS,CACjB,KAAMC,EAAa,iBAAiB,CAAE,MAAO,CAAE,CAAC,EAChD,MAAO,CACT,CAAC,CACH,CAAC,EACD,OAEAO,EAAoB,MAAMF,EAC9B,MAAMC,EACJV,EACA,CACE,YACF,EACA,CACE,eAAgBY,CAClB,CACF,CACF,EAAE,MAAO,GAAe,CACtB,MAAM,IAAIT,EAAS,CACjB,KAAMC,EAAa,iBAAiB,CAAE,MAAO,CAAE,CAAC,EAChD,MAAO,CACT,CAAC,CACH,CAAC,EAEKS,EAAW,MAAMC,EAAkB,CACvC,MAAOd,EAAa,OAAO,MAC3B,WAAYA,EAAa,WACzB,UAAWA,EAAa,OAAO,UAC/B,uBAAwBe,EACtBf,EACA,CAAE,kBAAAW,CAAkB,EACpB,CAAE,mBAAAL,CAAmB,CACvB,CACF,CAAC,EAED,MAAMU,EAAqB,CACzB,cAAehB,EAAa,cAC5B,SAAAa,CACF,CAAC,CACH","names":["init_esm_shims","cwd","viteBuild","import_variant","build","projectModel","loadProjectModel","cwd","CliError","CliErrorCode","validateComponents","backendBuildOutput","component","DevCenterComponent","viteBuild","getViteConfig","clientBuildOutput","API_BASEURL_PLACEHOLDER","manifest","createAppManifest","getComponentSourceBuilder","writeAppManifestFile"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{E as A,I as l,J as M,K as N,O as S,P as x,Q as O,R as U,ab as V,cb as W,ha as k,na as fe,oa as Ee,pa as R,qa as Ce,ta as L,ua as P,va as v,wa as F,ya as q}from"./chunk-TSKFLGBO.js";import{b,d as f,e as E}from"./chunk-JPGXKQXP.js";import{c as g,e as D,h as u}from"./chunk-V4TR6DCM.js";var H=g((lt,G)=>{"use strict";u();function Se(e,r,n,i){for(var d=e.length,o=n+(i?1:-1);i?o--:++o<d;)if(r(e[o],o,e))return o;return-1}G.exports=Se});var Y=g((mt,K)=>{"use strict";u();function ve(e){return e!==e}K.exports=ve});var X=g((ft,$)=>{"use strict";u();function ye(e,r,n){for(var i=n-1,d=e.length;++i<d;)if(e[i]===r)return i;return-1}$.exports=ye});var Z=g((Ct,z)=>{"use strict";u();var De=H(),Pe=Y(),be=X();function Ie(e,r,n){return r===r?be(e,r,n):De(e,Pe,n)}z.exports=Ie});var Q=g((St,J)=>{"use strict";u();var Te=Z();function _e(e,r){var n=e==null?0:e.length;return!!n&&Te(e,r,0)>-1}J.exports=_e});var te=g((yt,ee)=>{"use strict";u();function we(e,r,n){for(var i=-1,d=e==null?0:e.length;++i<d;)if(n(r,e[i]))return!0;return!1}ee.exports=we});var ie=g((Pt,re)=>{"use strict";u();function Be(){}re.exports=Be});var oe=g((It,ne)=>{"use strict";u();var I=Ce(),Ae=ie(),Me=R(),Ne=1/0,xe=I&&1/Me(new I([,-0]))[1]==Ne?function(e){return new I(e)}:Ae;ne.exports=xe});var se=g((_t,ae)=>{"use strict";u();var Oe=fe(),Ue=Q(),ke=te(),Re=Ee(),Le=oe(),Fe=R(),qe=200;function Ve(e,r,n){var i=-1,d=Ue,o=e.length,t=!0,c=[],s=c;if(n)t=!1,d=ke;else if(o>=qe){var a=r?null:Le(e);if(a)return Fe(a);t=!1,d=Re,s=new Oe}else s=r?[]:c;e:for(;++i<o;){var C=e[i],h=r?r(C):C;if(C=n||C!==0?C:0,t&&h===h){for(var B=s.length;B--;)if(s[B]===h)continue e;r&&s.push(h),c.push(C)}else d(s,h,n)||(s!==c&&s.push(h),c.push(C))}return c}ae.exports=Ve});var ue=g((Bt,de)=>{"use strict";u();var We=se();function je(e,r){return r=typeof r=="function"?r:void 0,e&&e.length?We(e,void 0,r):[]}de.exports=je});u();var y=D(b(),1);import{randomUUID as he}from"node:crypto";var j=e=>{let r=new Map;[...e.filter(o=>!(0,y.isType)(o,P.Api)&&!(0,y.isType)(o,P.Event)&&!(0,y.isType)(o,P.ServicePlugin))].sort((o,t)=>o.id.localeCompare(t.id)).forEach(o=>{let t=r.get(o.id)??[];t.push(o),r.set(o.id,t)});let d=new Map;if(r.forEach((o,t)=>{o.length>1&&d.set(t,o)}),d.size)throw new f({code:E.DuplicateComponentIdsError({issues:Array.from(d.entries()).map(([o,t])=>({id:o,components:t.map(c=>(0,y.match)(c,{DashboardPage:({title:s,relativePath:a})=>({name:s,type:"page",path:v(a,"json")}),DashboardPlugin:({title:s,relativePath:a})=>({name:s,type:"plugin",path:v(a,"json")}),DashboardMenuPlugin:({title:s,relativePath:a})=>({name:s,type:"menu-plugin",path:a}),DashboardModal:({title:s,relativePath:a})=>({name:s,type:"modal",path:v(a,"json")}),DashboardSidebarCategory:({label:s})=>({name:s,type:"sidebar-category",path:A}),EmbeddedScript:({relativePath:s})=>({name:s,type:"embedded-script",path:v(s,"json")}),CustomElement:({name:s,relativePath:a})=>({name:s,type:"custom-element",path:v(a,"json")}),Topology:({name:s})=>({name:s,type:"topology",path:""})})).sort((c,s)=>c.name.localeCompare(s.name)),suggestedId:he()}))})})};u();var T=D(b(),1),ce=D(ue(),1);import{randomUUID as Ge}from"node:crypto";function He(e){return e!=null&&e!==!1}var Ke=(e,r)=>{if(e.experiments)return{appId:r,componentId:e.id,spec:e.experiments.enabledBy,variantValue:"true"}},Ye=e=>({compId:e.id,compType:l.CUSTOM_ELEMENT_WIDGET,compName:e.name,compData:{customElementWidget:{base:{name:e.name},widgetData:{tagName:e.tagName,scriptType:O.ES_MODULE,scriptUrl:""},size:{width:{defaultWidth:e.width.defaultWidth,allowStretch:e.width.allowStretch,stretchByDefault:e.width.stretchByDefault},height:{defaultHeight:e.height.defaultHeight,heightMode:U.FIXED}},installation:{base:{autoAdd:e.installation?.autoAddToSite,essential:e.installation?.essential,maxInstances:e.installation?.essential?1:0},widget:{region:M.BODY}},behaviors:{},dependencies:e.dependencies}}});async function Ut({appId:e,components:r,sentryDSN:n,componentSourceBuilder:i}){j(r);let d=(await Promise.all(r.map((0,T.match)({DashboardPage:async t=>{let c=t.sentryDSN??n;return{compId:t.id,compType:l.BACK_OFFICE_PAGE,compData:{backOfficePage:{hostingPlatform:S.BUSINESS_MANAGER,fullPage:t.sidebar?.whenActive?.hideSidebar,hideInSidebar:t.sidebar?.disabled,priority:t.sidebar?.priority,routePath:t.route.slice(1),title:t.title,pageCategoryId:t.sidebar?.categoryId,activeSidebarPageId:t.sidebar?.whenActive?.selectedPageId,requiredPermission:t.requiredPermission,previousRoutePaths:t.additionalRoutes,...c?{errorReporting:{url:c}}:void 0,...await i(t)}},compName:t.title,experiment:Ke(t,e)}},DashboardPlugin:async t=>({compId:t.id,compType:l.BACK_OFFICE_EXTENSION_WIDGET,compData:{backOfficeExtensionWidget:{hostingPlatform:S.BUSINESS_MANAGER,extends:t.extends,title:t.title,requiredPermission:t.requiredPermission,width:t.width,height:t.height,...await i(t),...t.sentryDSN?{errorReporting:{url:t.sentryDSN}}:void 0}},compName:t.title}),DashboardMenuPlugin:async t=>({compId:t.id,compType:l.BACK_OFFICE_EXTENSION_MENU_ITEM,compData:{backOfficeExtensionMenuItem:{hostingPlatform:S.BUSINESS_MANAGER,id:t.id,title:t.title,subtitle:t.subtitle,iconKey:t.iconKey,extends:t.extends,action:t.action,requiredPermission:t.requiredPermission,...t.sentryDSN?{errorReporting:{url:t.sentryDSN}}:void 0}},compName:t.title}),DashboardModal:async t=>({compId:t.id,compType:l.BACK_OFFICE_MODAL,compData:{backOfficeModal:{hostingPlatform:S.BUSINESS_MANAGER,title:t.title,requiredPermission:t.requiredPermission,width:t.width,height:t.height,...await i(t),...t.sentryDSN?{errorReporting:{url:t.sentryDSN}}:void 0}},compName:t.title}),DashboardSidebarCategory:async t=>({compId:t.id,compType:l.BACK_OFFICE_SIDEBAR_CATEGORY,compData:{backOfficeSidebarCategory:{hostingPlatform:S.BUSINESS_MANAGER,title:t.label,priority:t.priority}},compName:t.label}),EmbeddedScript:async t=>({compId:t.id,compType:l.EMBEDDED_SCRIPT,compName:t.name,compData:{embeddedScriptComponentData:{name:t.name,pages:N.NONE_PAGES,placement:t.placement,connectArticleUrl:"",embedCategory:t.scriptType,dependencies:t.dependencies,loadOnce:!0,allowedForFreeSite:!0,...await i(t)}}}),CustomElement:async t=>{let{scriptUrl:c,settingsUrl:s}=await i(t),a=Ye(t);return{...a,compData:{customElementWidget:{...a.compData.customElementWidget,widgetData:{...a.compData.customElementWidget.widgetData,scriptUrl:c},behaviors:{...a.compData.customElementWidget.behaviors,...t.relativePanelPath?{settings:{settingsUrl:s}}:{}}}}}},Topology:async t=>({compId:t.id,compType:l.TOPOLOGY,compName:t.name,compData:{topology:{topology:{backendApiUrl:t.backendApiUrl}}}}),Api:()=>null,Event:async t=>(await i(t)).map(({webhookSlug:s})=>({compName:s,compId:Ge(),compType:l.WEBHOOK,compData:{webhook:{callbackUrl:"__WEBHOOKS_URL_PLACEHOLDER__",webhookSlug:s}}})),ServicePlugin:async t=>{let c=(0,T.match)(t.servicePlugin,{EcomShippingRates:a=>({compName:a.name,compId:a.id,compType:l.ECOM_SHIPPING_RATES,compData:{ecomShippingRates:{name:a.name,deploymentUri:"__SERVICE_PLUGIN_URL_PLACEHOLDER__",description:a.description,learnMoreUrl:a.learnMoreUrl,dashboardUrl:a.dashboardUrl,fallbackDefinitionMandatory:a.fallbackDefinitionMandatory,thumbnailUrl:a.thumbnailUrl}}}),EcomAdditionalFees:a=>({compName:a.name,compId:a.id,compType:l.ECOM_ADDITIONAL_FEES,compData:{ecomAdditionalFees:{deploymentUri:"__SERVICE_PLUGIN_URL_PLACEHOLDER__"}}}),EcomDiscountsTrigger:a=>({compName:a.name,compId:a.id,compType:l.ECOM_DISCOUNTS_TRIGGER,compData:{ecomDiscountsTrigger:{deploymentUri:"__SERVICE_PLUGIN_URL_PLACEHOLDER__"}}}),EcomValidations:a=>({compName:a.name,compId:a.id,compType:l.ECOM_VALIDATIONS,compData:{ecomValidations:{deploymentUri:"__SERVICE_PLUGIN_URL_PLACEHOLDER__",validateInCart:a.validateInCart}}}),EcomPaymentSettings:a=>({compName:a.name,compId:a.id,compType:l.ECOM_PAYMENT_SETTINGS,compData:{ecomPaymentSettings:{deploymentUri:"__SERVICE_PLUGIN_URL_PLACEHOLDER__",fallbackValueForRequires3dSecure:a.fallbackValueForRequires3dSecure}}})}),{servicePluginType:s}=await i(t);if(c.compType!==s)throw new f({code:E.InvalidServicePluginImplementation({configuredImplementation:c.compType})});return c}})))).filter(He).flat(),o=(0,ce.default)(d,(t,c)=>t.compType===l.WEBHOOK&&c.compType===l.WEBHOOK&&t.compData.webhook.webhookSlug===c.compData.webhook.webhookSlug);return{appId:e,components:o}}u();var me=D(b(),1);import{join as $e}from"node:path";u();function le(e){if(!("output"in e||Array.isArray(e)))throw new f({code:E.InvalidViteBuildOutput()});return Array.isArray(e)?e.flatMap(i=>i.output):e.output}function _(e,r){let i=le(e).find(d=>d.type==="chunk"&&d.facadeModuleId===r);if(!i)throw new f({code:E.ViteModuleBundleNotFound()});return i.fileName}function pe(e,r){let i=le(e).find(d=>d.fileName===r);if(!i||!("source"in i))throw new f({code:E.ViteFileNotFoundInOutput({fileName:r})});return i.source.toString()}async function Xe(e,r){let n=new URL(e.relativePath,r).href;return await fetch(n).then(d=>d.text())}async function ze(e,r){let n=new URL("__get-registered-events",r).href,i=await fetch(n);return i.ok?(await i.json())[`/${e.relativePath}`]??[]:[]}async function ge(e){let r=k(e.projectFolder);return import($e(r,"getRegisteredExtensions.mjs"))}async function Ze(e,r){let{getRegisteredEvents:n}=await ge(r);return(await n())[`/${e.relativePath}`]}async function Je(e,r){let n=new URL("__get-registered-service-plugins",r).href,i=await fetch(n);return i.ok?(await i.json())[`/${e.relativePath}`]:null}async function Qe(e,r){let{getRegisteredServicePlugins:n}=await ge(r);return(await n())[`/${e.relativePath}`]}var w=(e,r,n)=>{if(!r.config.trusted)return{iframeUrl:F(e.id)};let i=q(e.id),d=n.clientBuildOutput?_(n.clientBuildOutput,i):`/@id/${i}?import`;return{scriptAsset:{exportedName:e.id,containerId:r.config.appId,url:d,scriptType:x.MODULE}}},et=async(e,{clientBuildOutput:r,clientDevServerUrl:n})=>({template:r?pe(r,e.relativePath):await Xe(e,n)}),tt=async(e,r,n)=>{let i=n.backendDevServerUrl?await ze(e,n.backendDevServerUrl):await Ze(e,r);return(i?await Promise.all(i.map(L)):[]).map(o=>({webhookSlug:o}))},rt=async(e,r,n)=>{let i=n.backendDevServerUrl?await Je(e,n.backendDevServerUrl):await Qe(e,r);if(!i)throw new Error("could not find service plugin definition");return{servicePluginType:i}},it=(e,r)=>{let n=W(e.id);return{scriptUrl:r.clientBuildOutput?_(r.clientBuildOutput,n):`/@id/${n}?import`,settingsUrl:V(e.id)}};function $t(e,r,n){return async i=>(0,me.match)(i,{EmbeddedScript:o=>et(o,r),DashboardSidebarCategory:()=>{},CustomElement:o=>it(o,r),DashboardPage:o=>w(o,e,r),DashboardPlugin:o=>w(o,e,r),DashboardModal:o=>w(o,e,r),DashboardMenuPlugin:()=>{},Topology:()=>{},Api:()=>{},Event:o=>tt(o,e,n),ServicePlugin:o=>rt(o,e,n)})}export{j as a,Ye as b,Ut as c,$t as d};
|
|
4
|
+
//# sourceMappingURL=chunk-3ACKBLKR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/lodash/_baseFindIndex.js","../../../node_modules/lodash/_baseIsNaN.js","../../../node_modules/lodash/_strictIndexOf.js","../../../node_modules/lodash/_baseIndexOf.js","../../../node_modules/lodash/_arrayIncludes.js","../../../node_modules/lodash/_arrayIncludesWith.js","../../../node_modules/lodash/noop.js","../../../node_modules/lodash/_createSet.js","../../../node_modules/lodash/_baseUniq.js","../../../node_modules/lodash/uniqWith.js","../src/app-manifest/validate.ts","../src/app-manifest/create.ts","../src/app-manifest/component-source.ts","../src/app-manifest/build-output-data-extractor.ts"],"sourcesContent":["/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","var baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\nfunction uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n}\n\nmodule.exports = uniqWith;\n","import { randomUUID } from 'node:crypto';\nimport { isType, match } from 'variant';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { CONFIG_FILENAME } from '@wix/cli-core-definitions';\nimport { replaceExtension } from '../dev-center/components/path.js';\nimport type { BackendComponent } from '../dev-center/components/dev-center-component.js';\nimport { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\n\ntype NonBackendComponent = Exclude<DevCenterComponent, BackendComponent>;\n\nexport const validateComponents = (components: DevCenterComponent[]) => {\n const devCenterComponentsToIdMap = new Map<string, NonBackendComponent[]>();\n\n const componentsWithConfig = components.filter(\n (component): component is NonBackendComponent =>\n !isType(component, DevCenterComponent.Api) &&\n !isType(component, DevCenterComponent.Event) &&\n !isType(component, DevCenterComponent.ServicePlugin)\n );\n\n const sortedComponentsById = [...componentsWithConfig].sort((a, b) =>\n a.id.localeCompare(b.id)\n );\n sortedComponentsById.forEach((component) => {\n const componentList = devCenterComponentsToIdMap.get(component.id) ?? [];\n componentList.push(component);\n devCenterComponentsToIdMap.set(component.id, componentList);\n });\n\n const devCenterComponentsWithSameIDMap = new Map<\n string,\n NonBackendComponent[]\n >();\n\n devCenterComponentsToIdMap.forEach((devCenterComponents, key) => {\n if (devCenterComponents.length > 1) {\n devCenterComponentsWithSameIDMap.set(key, devCenterComponents);\n }\n });\n\n if (devCenterComponentsWithSameIDMap.size) {\n throw new CliError({\n code: CliErrorCode.DuplicateComponentIdsError({\n issues: Array.from(devCenterComponentsWithSameIDMap.entries()).map(\n ([id, devCenterComponents]) => {\n return {\n id,\n components: devCenterComponents\n .map((component) =>\n match(component, {\n DashboardPage: ({ title, relativePath }) => ({\n name: title,\n type: 'page' as const,\n path: replaceExtension(relativePath, 'json'),\n }),\n DashboardPlugin: ({ title, relativePath }) => ({\n name: title,\n type: 'plugin' as const,\n path: replaceExtension(relativePath, 'json'),\n }),\n DashboardMenuPlugin: ({ title, relativePath }) => ({\n name: title,\n type: 'menu-plugin' as const,\n // We can use the relative path since the path already points to the menu config json\n path: relativePath,\n }),\n DashboardModal: ({ title, relativePath }) => ({\n name: title,\n type: 'modal' as const,\n path: replaceExtension(relativePath, 'json'),\n }),\n DashboardSidebarCategory: ({ label }) => ({\n name: label,\n type: 'sidebar-category' as const,\n path: CONFIG_FILENAME,\n }),\n EmbeddedScript: ({ relativePath }) => ({\n name: relativePath,\n type: 'embedded-script' as const,\n path: replaceExtension(relativePath, 'json'),\n }),\n CustomElement: ({ name, relativePath }) => ({\n name,\n type: 'custom-element' as const,\n path: replaceExtension(relativePath, 'json'),\n }),\n Topology: ({ name }) => ({\n name,\n type: 'topology' as const,\n // Topology component doesn't have a config file\n path: '',\n }),\n })\n )\n .sort((a, b) => a.name.localeCompare(b.name)),\n suggestedId: randomUUID(),\n };\n }\n ),\n }),\n });\n }\n};\n","import {\n ComponentType,\n BackOfficeHostingPlatforms,\n EmbeddedScriptPages,\n HeightMode,\n RegionType,\n CustomElementScriptType,\n} from '@wix/ambassador-devcenter-components-v1-component/types';\nimport { match } from 'variant';\nimport { randomUUID } from 'node:crypto';\nimport uniqWith from 'lodash/uniqWith.js';\nimport type {\n AppManifest,\n ComponentExperiment,\n BackofficePage,\n BackofficeExtensionWidget,\n BackofficeExtensionMenuItem,\n BackofficeSideCategory,\n BackofficeModal,\n EmbeddedScript,\n CustomElement,\n Webhook,\n ServicePlugin,\n Topology,\n EcomShippingRates,\n EcomAdditionalFees,\n EcomDiscountsTrigger,\n EcomValidations,\n EcomPaymentSettings,\n} from '@wix/cli-app-manifest';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { validateComponents } from './validate.js';\nimport type { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\nimport type { ComponentSourceBuilder } from './component-source.js';\n\ninterface CreateAppManifestParams {\n appId: string;\n backendServerUrl?: string;\n components: DevCenterComponent[];\n sentryDSN?: string;\n componentSourceBuilder: ComponentSourceBuilder;\n}\n\nfunction isTruthy<T>(x: T | undefined | null | false): x is T {\n return x !== undefined && x !== null && x !== false;\n}\n\nconst getExperiment = (\n component: DevCenterComponent<'DashboardPage'>,\n appId: string\n): ComponentExperiment => {\n if (component.experiments) {\n return {\n appId,\n componentId: component.id,\n spec: component.experiments.enabledBy,\n variantValue: 'true',\n };\n }\n return undefined;\n};\n\nexport const createCustomElementConfig = (\n component: DevCenterComponent<'CustomElement'>\n): CustomElement => {\n return {\n compId: component.id,\n compType: ComponentType.CUSTOM_ELEMENT_WIDGET as const,\n compName: component.name,\n compData: {\n customElementWidget: {\n base: {\n name: component.name,\n },\n widgetData: {\n tagName: component.tagName,\n scriptType: CustomElementScriptType.ES_MODULE,\n scriptUrl: '',\n },\n size: {\n width: {\n defaultWidth: component.width.defaultWidth,\n allowStretch: component.width.allowStretch,\n stretchByDefault: component.width.stretchByDefault,\n },\n height: {\n defaultHeight: component.height.defaultHeight,\n heightMode: HeightMode.FIXED,\n },\n },\n installation: {\n base: {\n autoAdd: component.installation?.autoAddToSite,\n essential: component.installation?.essential,\n maxInstances: component.installation?.essential ? 1 : 0,\n },\n widget: { region: RegionType.BODY },\n },\n behaviors: {},\n dependencies: component.dependencies,\n },\n },\n };\n};\n\nexport async function createAppManifest({\n appId,\n components,\n sentryDSN,\n componentSourceBuilder,\n}: CreateAppManifestParams): Promise<AppManifest> {\n validateComponents(components);\n\n const appManifestComponents = (\n await Promise.all(\n components.map(\n match({\n DashboardPage: async (component): Promise<BackofficePage> => {\n const componentSentryDSN = component.sentryDSN ?? sentryDSN;\n return {\n compId: component.id,\n compType: ComponentType.BACK_OFFICE_PAGE as const,\n compData: {\n backOfficePage: {\n hostingPlatform: BackOfficeHostingPlatforms.BUSINESS_MANAGER,\n fullPage: component.sidebar?.whenActive?.hideSidebar,\n hideInSidebar: component.sidebar?.disabled,\n priority: component.sidebar?.priority,\n routePath: component.route.slice(1),\n title: component.title,\n pageCategoryId: component.sidebar?.categoryId,\n activeSidebarPageId:\n component.sidebar?.whenActive?.selectedPageId,\n requiredPermission: component.requiredPermission,\n previousRoutePaths: component.additionalRoutes,\n ...(componentSentryDSN\n ? { errorReporting: { url: componentSentryDSN } }\n : undefined),\n ...(await componentSourceBuilder(component)),\n },\n },\n compName: component.title,\n experiment: getExperiment(component, appId),\n };\n },\n DashboardPlugin: async (\n component\n ): Promise<BackofficeExtensionWidget> => ({\n compId: component.id,\n compType: ComponentType.BACK_OFFICE_EXTENSION_WIDGET as const,\n compData: {\n backOfficeExtensionWidget: {\n hostingPlatform: BackOfficeHostingPlatforms.BUSINESS_MANAGER,\n extends: component.extends,\n title: component.title,\n requiredPermission: component.requiredPermission,\n width: component.width,\n height: component.height,\n ...(await componentSourceBuilder(component)),\n ...(component.sentryDSN\n ? { errorReporting: { url: component.sentryDSN } }\n : undefined),\n },\n },\n compName: component.title,\n }),\n DashboardMenuPlugin: async (\n component\n ): Promise<BackofficeExtensionMenuItem> => ({\n compId: component.id,\n compType: ComponentType.BACK_OFFICE_EXTENSION_MENU_ITEM as const,\n compData: {\n backOfficeExtensionMenuItem: {\n hostingPlatform: BackOfficeHostingPlatforms.BUSINESS_MANAGER,\n id: component.id,\n title: component.title,\n subtitle: component.subtitle,\n iconKey: component.iconKey,\n extends: component.extends,\n action: component.action,\n requiredPermission: component.requiredPermission,\n ...(component.sentryDSN\n ? { errorReporting: { url: component.sentryDSN } }\n : undefined),\n },\n },\n compName: component.title,\n }),\n DashboardModal: async (component): Promise<BackofficeModal> => ({\n compId: component.id,\n compType: ComponentType.BACK_OFFICE_MODAL as const,\n compData: {\n backOfficeModal: {\n hostingPlatform: BackOfficeHostingPlatforms.BUSINESS_MANAGER,\n title: component.title,\n requiredPermission: component.requiredPermission,\n width: component.width,\n height: component.height,\n ...(await componentSourceBuilder(component)),\n ...(component.sentryDSN\n ? { errorReporting: { url: component.sentryDSN } }\n : undefined),\n },\n },\n compName: component.title,\n }),\n DashboardSidebarCategory: async (\n component\n ): Promise<BackofficeSideCategory> => ({\n compId: component.id,\n compType: ComponentType.BACK_OFFICE_SIDEBAR_CATEGORY as const,\n compData: {\n backOfficeSidebarCategory: {\n hostingPlatform: BackOfficeHostingPlatforms.BUSINESS_MANAGER,\n title: component.label,\n priority: component.priority,\n },\n },\n compName: component.label,\n }),\n EmbeddedScript: async (component): Promise<EmbeddedScript> => ({\n compId: component.id,\n compType: ComponentType.EMBEDDED_SCRIPT as const,\n compName: component.name,\n compData: {\n embeddedScriptComponentData: {\n name: component.name,\n pages: EmbeddedScriptPages.NONE_PAGES,\n placement: component.placement,\n connectArticleUrl: '',\n embedCategory: component.scriptType,\n dependencies: component.dependencies,\n loadOnce: true,\n allowedForFreeSite: true,\n ...(await componentSourceBuilder(component)),\n },\n },\n }),\n CustomElement: async (component): Promise<CustomElement> => {\n const { scriptUrl, settingsUrl } = await componentSourceBuilder(\n component\n );\n\n const basicConfig = createCustomElementConfig(component);\n\n return {\n ...basicConfig,\n compData: {\n customElementWidget: {\n ...basicConfig.compData.customElementWidget,\n widgetData: {\n ...basicConfig.compData.customElementWidget.widgetData,\n scriptUrl,\n },\n behaviors: {\n ...basicConfig.compData.customElementWidget.behaviors,\n ...(component.relativePanelPath\n ? { settings: { settingsUrl } }\n : {}),\n },\n },\n },\n };\n },\n Topology: async (component): Promise<Topology> => {\n return {\n compId: component.id,\n compType: ComponentType.TOPOLOGY as const,\n compName: component.name,\n compData: {\n topology: {\n topology: {\n backendApiUrl: component.backendApiUrl,\n },\n },\n },\n };\n },\n Api: () => null,\n Event: async (component): Promise<Webhook[]> => {\n const webhookSlugs = await componentSourceBuilder(component);\n\n return webhookSlugs.map(({ webhookSlug }) => ({\n compName: webhookSlug,\n compId: randomUUID(),\n compType: ComponentType.WEBHOOK,\n compData: {\n webhook: {\n callbackUrl: '__WEBHOOKS_URL_PLACEHOLDER__',\n webhookSlug,\n },\n },\n }));\n },\n ServicePlugin: async (component): Promise<ServicePlugin> => {\n const servicePlugin = match(component.servicePlugin, {\n EcomShippingRates: (component): EcomShippingRates => ({\n compName: component.name,\n compId: component.id,\n compType: ComponentType.ECOM_SHIPPING_RATES,\n compData: {\n ecomShippingRates: {\n name: component.name,\n deploymentUri: '__SERVICE_PLUGIN_URL_PLACEHOLDER__',\n description: component.description,\n learnMoreUrl: component.learnMoreUrl,\n dashboardUrl: component.dashboardUrl,\n fallbackDefinitionMandatory:\n component.fallbackDefinitionMandatory,\n thumbnailUrl: component.thumbnailUrl,\n },\n },\n }),\n EcomAdditionalFees: (component): EcomAdditionalFees => ({\n compName: component.name,\n compId: component.id,\n compType: ComponentType.ECOM_ADDITIONAL_FEES,\n compData: {\n ecomAdditionalFees: {\n deploymentUri: '__SERVICE_PLUGIN_URL_PLACEHOLDER__',\n },\n },\n }),\n EcomDiscountsTrigger: (component): EcomDiscountsTrigger => ({\n compName: component.name,\n compId: component.id,\n compType: ComponentType.ECOM_DISCOUNTS_TRIGGER,\n compData: {\n ecomDiscountsTrigger: {\n deploymentUri: '__SERVICE_PLUGIN_URL_PLACEHOLDER__',\n },\n },\n }),\n EcomValidations: (component): EcomValidations => ({\n compName: component.name,\n compId: component.id,\n compType: ComponentType.ECOM_VALIDATIONS,\n compData: {\n ecomValidations: {\n deploymentUri: '__SERVICE_PLUGIN_URL_PLACEHOLDER__',\n validateInCart: component.validateInCart,\n },\n },\n }),\n EcomPaymentSettings: (component): EcomPaymentSettings => ({\n compName: component.name,\n compId: component.id,\n compType: ComponentType.ECOM_PAYMENT_SETTINGS,\n compData: {\n ecomPaymentSettings: {\n deploymentUri: '__SERVICE_PLUGIN_URL_PLACEHOLDER__',\n fallbackValueForRequires3dSecure:\n component.fallbackValueForRequires3dSecure,\n },\n },\n }),\n });\n\n const { servicePluginType } = await componentSourceBuilder(\n component\n );\n\n if (servicePlugin.compType !== servicePluginType) {\n throw new CliError({\n code: CliErrorCode.InvalidServicePluginImplementation({\n configuredImplementation: servicePlugin.compType,\n }),\n });\n }\n\n return servicePlugin;\n },\n })\n )\n )\n )\n .filter(isTruthy)\n .flat();\n\n const uniqueComponents = uniqWith(appManifestComponents, (one, two) => {\n return (\n one.compType === ComponentType.WEBHOOK &&\n two.compType === ComponentType.WEBHOOK &&\n one.compData.webhook.webhookSlug === two.compData.webhook.webhookSlug\n );\n });\n\n return {\n appId,\n components: uniqueComponents,\n };\n}\n","import { BackOfficeScriptAssetType } from '@wix/ambassador-devcenter-components-v1-component/types';\nimport type { ComponentSource } from '@wix/cli-app-manifest';\nimport { match } from 'variant';\nimport { join } from 'node:path';\nimport type { SupportedServicePlugin } from '@wix/cli-app-definitions';\nimport { getAppBackendBuildFolder } from '@wix/cli-app-definitions';\nimport type * as GetRegisteredExtensions from '@wix/cli-cloudflare-runtime/getRegisteredExtensions';\nimport { getBackendEventSlug } from '@wix/extensions-data-client';\nimport {\n virtualModuleIdForScriptAsset,\n virtualPathForHTMLAsset,\n} from '../dev-center/components/dashboard/config.js';\nimport {\n virtualModuleIdForCustomElementScriptAsset,\n virtualPathForCustomElementPanelHTMLAsset,\n} from '../dev-center/components/site/config.js';\nimport type { ProjectModel } from '../model.js';\nimport type { ViteBuildOutput } from './build-output-data-extractor.js';\nimport {\n extractModuleBundleContent,\n extractModuleBundleName,\n} from './build-output-data-extractor.js';\nimport type { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\n\ntype BackendSource =\n | {\n backendBuildOutput: ViteBuildOutput | undefined;\n backendDevServerUrl?: never;\n }\n | { backendDevServerUrl: string | undefined; backendBuildOutput?: never };\n\ntype ClientSource =\n | { clientBuildOutput: ViteBuildOutput; clientDevServerUrl?: never }\n | { clientDevServerUrl: string; clientBuildOutput?: never };\n\ntype DashboardSource =\n | {\n iframeUrl: string;\n scriptAsset?: never;\n }\n | {\n scriptAsset: ComponentSource['scriptAsset'];\n iframeUrl?: never;\n };\n\ninterface EmbeddedScriptSource {\n template: string;\n}\n\ninterface CustomElementSource {\n scriptUrl: string;\n settingsUrl: string;\n}\n\ninterface EventSource {\n webhookSlug: string;\n}\n\ninterface ServicePluginSource {\n servicePluginType: SupportedServicePlugin;\n}\n\nexport type ComponentSourceBuilder = <T extends DevCenterComponent>(\n component: T\n) => Promise<\n T extends DevCenterComponent<'EmbeddedScript'>\n ? EmbeddedScriptSource\n : T extends DevCenterComponent<'CustomElement'>\n ? CustomElementSource\n : T extends DevCenterComponent<'DashboardPage'>\n ? DashboardSource\n : T extends DevCenterComponent<'DashboardPlugin'>\n ? DashboardSource\n : T extends DevCenterComponent<'DashboardModal'>\n ? DashboardSource\n : T extends DevCenterComponent<'Event'>\n ? EventSource[]\n : T extends DevCenterComponent<'ServicePlugin'>\n ? ServicePluginSource\n : undefined\n>;\n\nasync function getEmbeddedScriptDevTemplate(\n component: DevCenterComponent<'EmbeddedScript'>,\n backendDevServerUrl: string\n) {\n const url = new URL(component.relativePath, backendDevServerUrl).href;\n const devTemplate = await fetch(url).then((res) => res.text());\n\n return devTemplate;\n}\n\nasync function getEventDevSlugs(\n component: DevCenterComponent<'Event'>,\n backendDevServerUrl: string\n) {\n const url = new URL(`__get-registered-events`, backendDevServerUrl).href;\n const response = await fetch(url);\n\n if (!response.ok) {\n return [];\n }\n\n const eventTypes = await response.json();\n const devSlugs = eventTypes[`/${component.relativePath}`] ?? [];\n\n return devSlugs as string[];\n}\n\nasync function getRegisteredExtensions(model: ProjectModel) {\n const backendBuildFolder = getAppBackendBuildFolder(model.projectFolder);\n const outputFilepath = join(\n backendBuildFolder,\n 'getRegisteredExtensions.mjs'\n );\n\n return import(outputFilepath) as Promise<typeof GetRegisteredExtensions>;\n}\n\nasync function getEventProdSlugs(\n component: DevCenterComponent<'Event'>,\n model: ProjectModel\n) {\n const { getRegisteredEvents } = await getRegisteredExtensions(model);\n\n const eventsMap = await getRegisteredEvents();\n\n return eventsMap[`/${component.relativePath}`];\n}\n\nasync function getServicePluginDevType(\n component: DevCenterComponent<'ServicePlugin'>,\n backendDevServerUrl: string\n) {\n const url = new URL(`__get-registered-service-plugins`, backendDevServerUrl)\n .href;\n const response = await fetch(url);\n\n if (!response.ok) {\n return null;\n }\n\n const servicePluginTypes = await response.json();\n const servicePluginType = servicePluginTypes[`/${component.relativePath}`];\n\n return servicePluginType as string;\n}\n\nasync function getServicePluginProdType(\n component: DevCenterComponent<'ServicePlugin'>,\n model: ProjectModel\n) {\n const { getRegisteredServicePlugins } = await getRegisteredExtensions(model);\n\n const servicePluginsMap = await getRegisteredServicePlugins();\n\n return servicePluginsMap[`/${component.relativePath}`];\n}\n\nconst dashboardSourceBuilder = (\n component:\n | DevCenterComponent<'DashboardPage'>\n | DevCenterComponent<'DashboardPlugin'>\n | DevCenterComponent<'DashboardModal'>,\n model: ProjectModel,\n clientSource: ClientSource\n): DashboardSource => {\n if (!model.config.trusted) {\n return {\n iframeUrl: virtualPathForHTMLAsset(component.id),\n };\n }\n const moduleId = virtualModuleIdForScriptAsset(component.id);\n const componentUrl = clientSource.clientBuildOutput\n ? extractModuleBundleName(clientSource.clientBuildOutput, moduleId)\n : `/@id/${moduleId}?import`;\n\n return {\n scriptAsset: {\n exportedName: component.id,\n containerId: model.config.appId,\n url: componentUrl,\n scriptType: BackOfficeScriptAssetType.MODULE,\n },\n };\n};\n\nconst embeddedScriptBuilder = async (\n component: DevCenterComponent<'EmbeddedScript'>,\n { clientBuildOutput, clientDevServerUrl }: ClientSource\n): Promise<EmbeddedScriptSource> => {\n return {\n template: clientBuildOutput\n ? extractModuleBundleContent(clientBuildOutput, component.relativePath)\n : await getEmbeddedScriptDevTemplate(component, clientDevServerUrl),\n };\n};\n\nconst eventSourceBuilder = async (\n component: DevCenterComponent<'Event'>,\n model: ProjectModel,\n backendSource: BackendSource\n): Promise<EventSource[]> => {\n const fullSlugNames = backendSource.backendDevServerUrl\n ? await getEventDevSlugs(component, backendSource.backendDevServerUrl)\n : await getEventProdSlugs(component, model);\n\n const webhookSlugs = fullSlugNames\n ? await Promise.all(fullSlugNames.map(getBackendEventSlug))\n : [];\n\n return webhookSlugs.map((webhookSlug) => ({\n webhookSlug,\n }));\n};\n\nconst servicePluginSourceBuilder = async (\n component: DevCenterComponent<'ServicePlugin'>,\n model: ProjectModel,\n backendSource: BackendSource\n): Promise<ServicePluginSource> => {\n const servicePluginType = backendSource.backendDevServerUrl\n ? await getServicePluginDevType(\n component,\n backendSource.backendDevServerUrl\n )\n : await getServicePluginProdType(component, model);\n\n if (!servicePluginType) {\n throw new Error('could not find service plugin definition');\n }\n\n return {\n servicePluginType,\n } as ServicePluginSource;\n};\n\nconst customElementBuilder = (\n component: DevCenterComponent<'CustomElement'>,\n clientSource: ClientSource\n): CustomElementSource => {\n const moduleId = virtualModuleIdForCustomElementScriptAsset(component.id);\n const componentUrl = clientSource.clientBuildOutput\n ? extractModuleBundleName(clientSource.clientBuildOutput, moduleId)\n : `/@id/${moduleId}?import`;\n\n return {\n scriptUrl: componentUrl,\n settingsUrl: virtualPathForCustomElementPanelHTMLAsset(component.id),\n };\n};\n\nexport function getComponentSourceBuilder(\n model: ProjectModel,\n clientSource: ClientSource,\n backendSource: BackendSource\n) {\n return (async (component: DevCenterComponent) => {\n const source = match(component, {\n EmbeddedScript: (embeddedScriptComponent) =>\n embeddedScriptBuilder(embeddedScriptComponent, clientSource),\n DashboardSidebarCategory: () => {},\n CustomElement: (customElementComponent) =>\n customElementBuilder(customElementComponent, clientSource),\n DashboardPage: (dashboardPageComponent) =>\n dashboardSourceBuilder(dashboardPageComponent, model, clientSource),\n DashboardPlugin: (dashboardPluginComponent) =>\n dashboardSourceBuilder(dashboardPluginComponent, model, clientSource),\n DashboardModal: (dashboardModalComponent) =>\n dashboardSourceBuilder(dashboardModalComponent, model, clientSource),\n DashboardMenuPlugin: () => {},\n Topology: () => {},\n Api: () => {},\n Event: (component) => eventSourceBuilder(component, model, backendSource),\n ServicePlugin: (component) =>\n servicePluginSourceBuilder(component, model, backendSource),\n });\n\n return source;\n }) as ComponentSourceBuilder;\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { build } from 'vite';\n\nexport type ViteBuildOutput = Awaited<ReturnType<typeof build>>;\n\nfunction extractBuildOutputs(buildOutput: ViteBuildOutput) {\n const isValidRollupOutput =\n 'output' in buildOutput || Array.isArray(buildOutput);\n\n if (!isValidRollupOutput) {\n throw new CliError({ code: CliErrorCode.InvalidViteBuildOutput() });\n }\n\n const outputs = Array.isArray(buildOutput)\n ? buildOutput.flatMap((output) => output.output)\n : buildOutput.output;\n\n return outputs;\n}\n\nexport function extractModuleBundleName(\n buildOutput: ViteBuildOutput,\n moduleId: string\n) {\n const outputs = extractBuildOutputs(buildOutput);\n\n const output = outputs.find(\n (output) => output.type === 'chunk' && output.facadeModuleId === moduleId\n );\n\n if (!output) {\n throw new CliError({ code: CliErrorCode.ViteModuleBundleNotFound() });\n }\n\n return output.fileName;\n}\n\nexport function extractModuleBundleContent(\n buildOutput: ViteBuildOutput,\n fileName: string\n) {\n const outputs = extractBuildOutputs(buildOutput);\n\n const output = outputs.find((output) => output.fileName === fileName);\n\n if (!output || !('source' in output)) {\n throw new CliError({\n code: CliErrorCode.ViteFileNotFoundInOutput({ fileName }),\n });\n }\n\n return output.source.toString();\n}\n"],"mappings":"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","names":["require_baseFindIndex","__commonJSMin","exports","module","init_esm_shims","baseFindIndex","array","predicate","fromIndex","fromRight","length","index","require_baseIsNaN","__commonJSMin","exports","module","init_esm_shims","baseIsNaN","value","require_strictIndexOf","__commonJSMin","exports","module","init_esm_shims","strictIndexOf","array","value","fromIndex","index","length","require_baseIndexOf","__commonJSMin","exports","module","init_esm_shims","baseFindIndex","baseIsNaN","strictIndexOf","baseIndexOf","array","value","fromIndex","require_arrayIncludes","__commonJSMin","exports","module","init_esm_shims","baseIndexOf","arrayIncludes","array","value","length","require_arrayIncludesWith","__commonJSMin","exports","module","init_esm_shims","arrayIncludesWith","array","value","comparator","index","length","require_noop","__commonJSMin","exports","module","init_esm_shims","noop","require_createSet","__commonJSMin","exports","module","init_esm_shims","Set","noop","setToArray","INFINITY","createSet","values","require_baseUniq","__commonJSMin","exports","module","init_esm_shims","SetCache","arrayIncludes","arrayIncludesWith","cacheHas","createSet","setToArray","LARGE_ARRAY_SIZE","baseUniq","array","iteratee","comparator","index","includes","length","isCommon","result","seen","set","outer","value","computed","seenIndex","require_uniqWith","__commonJSMin","exports","module","init_esm_shims","baseUniq","uniqWith","array","comparator","init_esm_shims","import_variant","randomUUID","validateComponents","components","devCenterComponentsToIdMap","component","DevCenterComponent","a","b","componentList","devCenterComponentsWithSameIDMap","devCenterComponents","key","CliError","CliErrorCode","id","title","relativePath","replaceExtension","label","CONFIG_FILENAME","name","randomUUID","init_esm_shims","import_variant","import_uniqWith","randomUUID","isTruthy","x","getExperiment","component","appId","createCustomElementConfig","ComponentType","CustomElementScriptType","HeightMode","RegionType","createAppManifest","components","sentryDSN","componentSourceBuilder","validateComponents","appManifestComponents","componentSentryDSN","BackOfficeHostingPlatforms","EmbeddedScriptPages","scriptUrl","settingsUrl","basicConfig","webhookSlug","randomUUID","servicePlugin","servicePluginType","CliError","CliErrorCode","uniqueComponents","uniqWith","one","two","init_esm_shims","import_variant","join","init_esm_shims","extractBuildOutputs","buildOutput","CliError","CliErrorCode","output","extractModuleBundleName","moduleId","extractModuleBundleContent","fileName","getEmbeddedScriptDevTemplate","component","backendDevServerUrl","url","res","getEventDevSlugs","response","getRegisteredExtensions","model","backendBuildFolder","getAppBackendBuildFolder","join","getEventProdSlugs","getRegisteredEvents","getServicePluginDevType","getServicePluginProdType","getRegisteredServicePlugins","dashboardSourceBuilder","clientSource","virtualPathForHTMLAsset","moduleId","virtualModuleIdForScriptAsset","componentUrl","extractModuleBundleName","BackOfficeScriptAssetType","embeddedScriptBuilder","clientBuildOutput","clientDevServerUrl","extractModuleBundleContent","eventSourceBuilder","backendSource","fullSlugNames","getBackendEventSlug","webhookSlug","servicePluginSourceBuilder","servicePluginType","customElementBuilder","virtualModuleIdForCustomElementScriptAsset","virtualPathForCustomElementPanelHTMLAsset","getComponentSourceBuilder","embeddedScriptComponent","customElementComponent","dashboardPageComponent","dashboardPluginComponent","dashboardModalComponent"]}
|
|
@@ -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{Ta as e,u as r}from"./chunk-TSKFLGBO.js";import{a as m}from"./chunk-JPGXKQXP.js";import{e as t,h as i}from"./chunk-V4TR6DCM.js";i();var p=t(m(),1);function f(){let o=r();return(0,p.useMemo)(()=>e(o),[o])}i();export{f as a};
|
|
4
|
+
//# sourceMappingURL=chunk-3EO7KOOF.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{La as Te,Ma as Ce,Oa as Pt,Sa as Tt,a as ve,b as bt,c as Et,d as F,m as vt,u as Ot}from"./chunk-TSKFLGBO.js";import{a as wt,d as Oe,e as Pe,l as M,m as te}from"./chunk-JPGXKQXP.js";import{a as x,c as _,e as G,g as u,h as s}from"./chunk-V4TR6DCM.js";var Lt=_((la,Rt)=>{"use strict";s();Rt.exports=At;At.sync=Jn;var Ct=x("fs");function Wn(e,t){var r=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var n=0;n<r.length;n++){var o=r[n].toLowerCase();if(o&&e.substr(-o.length).toLowerCase()===o)return!0}return!1}function It(e,t,r){return!e.isSymbolicLink()&&!e.isFile()?!1:Wn(t,r)}function At(e,t,r){Ct.stat(e,function(n,o){r(n,n?!1:It(o,e,t))})}function Jn(e,t){return It(Ct.statSync(e),e,t)}});var kt=_((fa,Dt)=>{"use strict";s();Dt.exports=jt;jt.sync=Xn;var Nt=x("fs");function jt(e,t,r){Nt.stat(e,function(n,o){r(n,n?!1:$t(o,t))})}function Xn(e,t){return $t(Nt.statSync(e),t)}function $t(e,t){return e.isFile()&&Kn(e,t)}function Kn(e,t){var r=e.mode,n=e.uid,o=e.gid,i=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),a=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),c=parseInt("100",8),l=parseInt("010",8),p=parseInt("001",8),f=c|l,h=r&p||r&l&&o===a||r&c&&n===i||r&f&&i===0;return h}});var Bt=_((ma,Ut)=>{"use strict";s();var pa=x("fs"),re;process.platform==="win32"||global.TESTING_WINDOWS?re=Lt():re=kt();Ut.exports=Ie;Ie.sync=Yn;function Ie(e,t,r){if(typeof t=="function"&&(r=t,t={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(n,o){Ie(e,t||{},function(i,a){i?o(i):n(a)})})}re(e,t||{},function(n,o){n&&(n.code==="EACCES"||t&&t.ignoreErrors)&&(n=null,o=!1),r(n,o)})}function Yn(e,t){try{return re.sync(e,t||{})}catch(r){if(t&&t.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var Ht=_((ga,zt)=>{"use strict";s();var j=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Gt=x("path"),Zn=j?";":":",Ft=Bt(),Mt=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),qt=(e,t)=>{let r=t.colon||Zn,n=e.match(/\//)||j&&e.match(/\\/)?[""]:[...j?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],o=j?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=j?o.split(r):[""];return j&&e.indexOf(".")!==-1&&i[0]!==""&&i.unshift(""),{pathEnv:n,pathExt:i,pathExtExe:o}},Vt=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:n,pathExt:o,pathExtExe:i}=qt(e,t),a=[],c=p=>new Promise((f,h)=>{if(p===n.length)return t.all&&a.length?f(a):h(Mt(e));let m=n[p],g=/^".*"$/.test(m)?m.slice(1,-1):m,y=Gt.join(g,e),b=!g&&/^\.[\\\/]/.test(e)?e.slice(0,2)+y:y;f(l(b,p,0))}),l=(p,f,h)=>new Promise((m,g)=>{if(h===o.length)return m(c(f+1));let y=o[h];Ft(p+y,{pathExt:i},(b,E)=>{if(!b&&E)if(t.all)a.push(p+y);else return m(p+y);return m(l(p,f,h+1))})});return r?c(0).then(p=>r(null,p),r):c(0)},Qn=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:n,pathExtExe:o}=qt(e,t),i=[];for(let a=0;a<r.length;a++){let c=r[a],l=/^".*"$/.test(c)?c.slice(1,-1):c,p=Gt.join(l,e),f=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+p:p;for(let h=0;h<n.length;h++){let m=f+n[h];try{if(Ft.sync(m,{pathExt:o}))if(t.all)i.push(m);else return m}catch{}}}if(t.all&&i.length)return i;if(t.nothrow)return null;throw Mt(e)};zt.exports=Vt;Vt.sync=Qn});var Jt=_((_a,Ae)=>{"use strict";s();var Wt=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};Ae.exports=Wt;Ae.exports.default=Wt});var Zt=_((Sa,Yt)=>{"use strict";s();var Xt=x("path"),eo=Ht(),to=Jt();function Kt(e,t){let r=e.options.env||process.env,n=process.cwd(),o=e.options.cwd!=null,i=o&&process.chdir!==void 0&&!process.chdir.disabled;if(i)try{process.chdir(e.options.cwd)}catch{}let a;try{a=eo.sync(e.command,{path:r[to({env:r})],pathExt:t?Xt.delimiter:void 0})}catch{}finally{i&&process.chdir(n)}return a&&(a=Xt.resolve(o?e.options.cwd:"",a)),a}function ro(e){return Kt(e)||Kt(e,!0)}Yt.exports=ro});var Qt=_((ba,Le)=>{"use strict";s();var Re=/([()\][%!^"`<>&|;, *?])/g;function no(e){return e=e.replace(Re,"^$1"),e}function oo(e,t){return e=`${e}`,e=e.replace(/(\\*)"/g,'$1$1\\"'),e=e.replace(/(\\*)$/,"$1$1"),e=`"${e}"`,e=e.replace(Re,"^$1"),t&&(e=e.replace(Re,"^$1")),e}Le.exports.command=no;Le.exports.argument=oo});var tr=_((va,er)=>{"use strict";s();er.exports=/^#!(.*)/});var nr=_((Pa,rr)=>{"use strict";s();var io=tr();rr.exports=(e="")=>{let t=e.match(io);if(!t)return null;let[r,n]=t[0].replace(/#! ?/,"").split(" "),o=r.split("/").pop();return o==="env"?n:n?`${o} ${n}`:o}});var ir=_((Ca,or)=>{"use strict";s();var Ne=x("fs"),so=nr();function ao(e){let r=Buffer.alloc(150),n;try{n=Ne.openSync(e,"r"),Ne.readSync(n,r,0,150,0),Ne.closeSync(n)}catch{}return so(r.toString())}or.exports=ao});var lr=_((Aa,cr)=>{"use strict";s();var co=x("path"),sr=Zt(),ar=Qt(),lo=ir(),uo=process.platform==="win32",fo=/\.(?:com|exe)$/i,po=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function mo(e){e.file=sr(e);let t=e.file&&lo(e.file);return t?(e.args.unshift(e.file),e.command=t,sr(e)):e.file}function ho(e){if(!uo)return e;let t=mo(e),r=!fo.test(t);if(e.options.forceShell||r){let n=po.test(t);e.command=co.normalize(e.command),e.command=ar.command(e.command),e.args=e.args.map(i=>ar.argument(i,n));let o=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${o}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function go(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null),t=t?t.slice(0):[],r=Object.assign({},r);let n={command:e,args:t,options:r,file:void 0,original:{command:e,args:t}};return r.shell?n:ho(n)}cr.exports=go});var dr=_((La,fr)=>{"use strict";s();var je=process.platform==="win32";function $e(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function yo(e,t){if(!je)return;let r=e.emit;e.emit=function(n,o){if(n==="exit"){let i=ur(o,t,"spawn");if(i)return r.call(e,"error",i)}return r.apply(e,arguments)}}function ur(e,t){return je&&e===1&&!t.file?$e(t.original,"spawn"):null}function _o(e,t){return je&&e===1&&!t.file?$e(t.original,"spawnSync"):null}fr.exports={hookChildProcess:yo,verifyENOENT:ur,verifyENOENTSync:_o,notFoundError:$e}});var hr=_((ja,$)=>{"use strict";s();var pr=x("child_process"),De=lr(),ke=dr();function mr(e,t,r){let n=De(e,t,r),o=pr.spawn(n.command,n.args,n.options);return ke.hookChildProcess(o,n),o}function xo(e,t,r){let n=De(e,t,r),o=pr.spawnSync(n.command,n.args,n.options);return o.error=o.error||ke.verifyENOENTSync(o.status,n),o}$.exports=mr;$.exports.spawn=mr;$.exports.sync=xo;$.exports._parse=De;$.exports._enoent=ke});var Mr=_((sl,Fr)=>{"use strict";s();var{PassThrough:gi}=x("stream");Fr.exports=function(){var e=[],t=new gi({objectMode:!0});return t.setMaxListeners(0),t.add=r,t.isEmpty=n,t.on("unpipe",o),Array.prototype.slice.call(arguments).forEach(r),t;function r(i){return Array.isArray(i)?(i.forEach(r),this):(e.push(i),i.once("end",o.bind(null,i)),i.once("error",t.emit.bind(t,"error")),i.pipe(t,{end:!1}),this)}function n(){return e.length==0}function o(i){e=e.filter(function(a){return a!==i}),!e.length&&t.readable&&t.end()}}});var W=_((Vl,ln)=>{"use strict";s();var Gi=Object.create,ye=Object.defineProperty,Fi=Object.getOwnPropertyDescriptor,Mi=Object.getOwnPropertyNames,qi=Object.getPrototypeOf,Vi=Object.prototype.hasOwnProperty,zi=(e,t)=>{for(var r in t)ye(e,r,{get:t[r],enumerable:!0})},on=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Mi(t))!Vi.call(e,o)&&o!==r&&ye(e,o,{get:()=>t[o],enumerable:!(n=Fi(t,o))||n.enumerable});return e},Hi=(e,t,r)=>(r=e!=null?Gi(qi(e)):{},on(t||!e||!e.__esModule?ye(r,"default",{value:e,enumerable:!0}):r,e)),Wi=e=>on(ye({},"__esModule",{value:!0}),e),sn={};zi(sn,{CLOUDFLARED_VERSION:()=>Ki,DEFAULT_CLOUDFLARED_BIN:()=>an,RELEASE_BASE:()=>Yi,bin:()=>cn,use:()=>Xi});ln.exports=Wi(sn);var Ji=Hi(x("node:path")),an=Ji.default.join(u,"..","bin",process.platform==="win32"?"cloudflared.exe":"cloudflared"),cn=process.env.CLOUDFLARED_BIN||an;function Xi(e){cn=e}var Ki=process.env.CLOUDFLARED_VERSION||"latest",Yi="https://github.com/cloudflare/cloudflared/releases/"});var dn=_((Hl,fn)=>{"use strict";s();var ct=Object.defineProperty,Zi=Object.getOwnPropertyDescriptor,Qi=Object.getOwnPropertyNames,es=Object.prototype.hasOwnProperty,ts=(e,t)=>{for(var r in t)ct(e,r,{get:t[r],enumerable:!0})},rs=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Qi(t))!es.call(e,o)&&o!==r&&ct(e,o,{get:()=>t[o],enumerable:!(n=Zi(t,o))||n.enumerable});return e},ns=e=>rs(ct({},"__esModule",{value:!0}),e),un={};ts(un,{UnsupportedError:()=>at});fn.exports=ns(un);var at=class extends Error{constructor(t){super(t)}}});var xn=_((Jl,_n)=>{"use strict";s();var os=Object.create,_e=Object.defineProperty,is=Object.getOwnPropertyDescriptor,ss=Object.getOwnPropertyNames,as=Object.getPrototypeOf,cs=Object.prototype.hasOwnProperty,ls=(e,t)=>{for(var r in t)_e(e,r,{get:t[r],enumerable:!0})},pn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ss(t))!cs.call(e,o)&&o!==r&&_e(e,o,{get:()=>t[o],enumerable:!(n=is(t,o))||n.enumerable});return e},lt=(e,t,r)=>(r=e!=null?os(as(e)):{},pn(t||!e||!e.__esModule?_e(r,"default",{value:e,enumerable:!0}):r,e)),us=e=>pn(_e({},"__esModule",{value:!0}),e),mn={};ls(mn,{install:()=>gs,install_linux:()=>hn,install_macos:()=>gn,install_windows:()=>yn});_n.exports=us(mn);var A=lt(x("node:fs")),J=lt(x("node:path")),fs=lt(x("node:https")),ds=x("node:child_process"),D=W(),xe=dn(),ps={arm64:"cloudflared-linux-arm64",arm:"cloudflared-linux-arm",x64:"cloudflared-linux-amd64",ia32:"cloudflared-linux-386"},ms={arm64:"cloudflared-darwin-amd64.tgz",x64:"cloudflared-darwin-amd64.tgz"},hs={x64:"cloudflared-windows-amd64.exe",ia32:"cloudflared-windows-386.exe"};function ut(e){return e==="latest"?`${D.RELEASE_BASE}latest/download/`:`${D.RELEASE_BASE}download/${e}/`}async function gs(e,t=D.CLOUDFLARED_VERSION){if(process.platform==="linux")return hn(e,t);if(process.platform==="darwin")return gn(e,t);if(process.platform==="win32")return yn(e,t);throw new xe.UnsupportedError("Unsupported platform: "+process.platform)}async function hn(e,t=D.CLOUDFLARED_VERSION){let r=ps[process.arch];if(r===void 0)throw new xe.UnsupportedError("Unsupported architecture: "+process.arch);return await Se(ut(t)+r,e),A.default.chmodSync(e,"755"),e}async function gn(e,t=D.CLOUDFLARED_VERSION){let r=ms[process.arch];if(r===void 0)throw new xe.UnsupportedError("Unsupported architecture: "+process.arch);return await Se(ut(t)+r,`${e}.tgz`),process.env.VERBOSE&&console.log(`Extracting to ${e}`),(0,ds.execSync)(`tar -xzf ${J.default.basename(`${e}.tgz`)}`,{cwd:J.default.dirname(e)}),A.default.unlinkSync(`${e}.tgz`),A.default.renameSync(`${J.default.dirname(e)}/cloudflared`,e),e}async function yn(e,t=D.CLOUDFLARED_VERSION){let r=hs[process.arch];if(r===void 0)throw new xe.UnsupportedError("Unsupported architecture: "+process.arch);return await Se(ut(t)+r,e),e}function Se(e,t,r=0){return r===0?process.env.VERBOSE&&console.log(`Downloading ${e} to ${t}`):process.env.VERBOSE&&console.log(`Redirecting to ${e}`),A.default.existsSync(J.default.dirname(t))||A.default.mkdirSync(J.default.dirname(t),{recursive:!0}),new Promise((n,o)=>{let i=fs.default.get(e,a=>{if([301,302,303,307,308].includes(a.statusCode)&&a.headers.location!==void 0){i.destroy();let l=a.headers.location;n(Se(l,t,r+1));return}if(a.statusCode&&a.statusCode>=200&&a.statusCode<300){let l=A.default.createWriteStream(t);l.on("finish",()=>{l.close(()=>n(t))}),l.on("error",p=>{A.default.unlink(t,()=>o(p))}),a.pipe(l)}else i.destroy(),o(new Error(`HTTP response with status code: ${a.statusCode}`))});i.on("error",a=>{o(a)}),i.end()})}});var dt=_((Kl,wn)=>{"use strict";s();var ft=Object.defineProperty,ys=Object.getOwnPropertyDescriptor,_s=Object.getOwnPropertyNames,xs=Object.prototype.hasOwnProperty,Ss=(e,t)=>{for(var r in t)ft(e,r,{get:t[r],enumerable:!0})},ws=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of _s(t))!xs.call(e,o)&&o!==r&&ft(e,o,{get:()=>t[o],enumerable:!(n=ys(t,o))||n.enumerable});return e},bs=e=>ws(ft({},"__esModule",{value:!0}),e),Sn={};Ss(Sn,{config_regex:()=>Rs,conn_regex:()=>Es,connectorID_regex:()=>Is,disconnect_regex:()=>Ts,index_regex:()=>Ps,ip_regex:()=>vs,location_regex:()=>Os,metrics_regex:()=>As,tunnelID_regex:()=>Cs});wn.exports=bs(Sn);var Es=/connection[= ]([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12})/i,vs=/ip=([0-9.]+)/,Os=/location=([A-Za-z0-9]+)/,Ps=/connIndex=(\d)/,Ts=/Unregistered tunnel connection connIndex=(\d)/i,Cs=/tunnelID=([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12})/i,Is=/Connector ID: ([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12})/i,As=/metrics server on ([0-9.:]+\/metrics)/,Rs=/config="(.+[^\\])"/});var vn=_((Zl,En)=>{"use strict";s();var pt=Object.defineProperty,Ls=Object.getOwnPropertyDescriptor,Ns=Object.getOwnPropertyNames,js=Object.prototype.hasOwnProperty,$s=(e,t)=>{for(var r in t)pt(e,r,{get:t[r],enumerable:!0})},Ds=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ns(t))!js.call(e,o)&&o!==r&&pt(e,o,{get:()=>t[o],enumerable:!(n=Ls(t,o))||n.enumerable});return e},ks=e=>Ds(pt({},"__esModule",{value:!0}),e),bn={};$s(bn,{tunnel:()=>Gs});En.exports=ks(bn);var Us=x("node:child_process"),Bs=W(),we=dt();function Gs(e={}){let t=["tunnel"];for(let[m,g]of Object.entries(e))typeof g=="string"?t.push(`${m}`,g):typeof g=="number"?t.push(`${m}`,g.toString()):g===null&&t.push(`${m}`);t.length===1&&t.push("--url","localhost:8080");let r=(0,Us.spawn)(Bs.bin,t,{stdio:["ignore","pipe","pipe"]});process.env.VERBOSE&&(r.stdout.pipe(process.stdout),r.stderr.pipe(process.stderr));let n=/\|\s+(https?:\/\/[^\s]+)/,o=()=>{},i=()=>{},a=new Promise((...m)=>[o,i]=m),c=[],l=[],p=[];for(let m=0;m<1;m++)p.push(new Promise((...g)=>[c[m],l[m]]=g));let f=m=>{var g;let y=m.toString(),b=y.match(n);b&&o(b[1]);let E=y.match(we.conn_regex),P=y.match(we.ip_regex),T=y.match(we.location_regex),C=y.match(we.index_regex);if(E&&P&&T&&C){let[,Y]=E,[,Z]=P,[,Q]=T,[,ee]=C;(g=c[+ee])==null||g.call(c,{id:Y,ip:Z,location:Q})}};return r.stdout.on("data",f).on("error",i),r.stderr.on("data",f).on("error",i),{url:a,connections:p,child:r,stop:()=>r.kill("SIGINT")}}});var $n=_((eu,jn)=>{"use strict";s();var Fs=Object.create,be=Object.defineProperty,Ms=Object.getOwnPropertyDescriptor,qs=Object.getOwnPropertyNames,Vs=Object.getPrototypeOf,zs=Object.prototype.hasOwnProperty,Hs=(e,t)=>{for(var r in t)be(e,r,{get:t[r],enumerable:!0})},On=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of qs(t))!zs.call(e,o)&&o!==r&&be(e,o,{get:()=>t[o],enumerable:!(n=Ms(t,o))||n.enumerable});return e},Pn=(e,t,r)=>(r=e!=null?Fs(Vs(e)):{},On(t||!e||!e.__esModule?be(r,"default",{value:e,enumerable:!0}):r,e)),Ws=e=>On(be({},"__esModule",{value:!0}),e),Tn={};Hs(Tn,{AlreadyInstalledError:()=>X,LINUX_SERVICE_PATH:()=>L,MACOS_SERVICE_PATH:()=>v,NotInstalledError:()=>N,clean:()=>Nn,current:()=>Ln,err:()=>_t,exists:()=>O,identifier:()=>R,install:()=>In,journal:()=>xt,log:()=>Rn,service:()=>Js,service_name:()=>yt,uninstall:()=>An});jn.exports=Ws(Tn);var mt=Pn(x("node:os")),w=Pn(x("node:fs")),gt=x("node:child_process"),Cn=W(),S=dt(),R="com.cloudflare.cloudflared",yt="cloudflared.service",v={PLIST:ht()?`/Library/LaunchDaemons/${R}.plist`:`${mt.default.homedir()}/Library/LaunchAgents/${R}.plist`,OUT:ht()?`/Library/Logs/${R}.out.log`:`${mt.default.homedir()}/Library/Logs/${R}.out.log`,ERR:ht()?`/Library/Logs/${R}.err.log`:`${mt.default.homedir()}/Library/Logs/${R}.err.log`},L={SYSTEMD:`/etc/systemd/system/${yt}`,SERVICE:"/etc/init.d/cloudflared",SERVICE_OUT:"/var/log/cloudflared.log",SERVICE_ERR:"/var/log/cloudflared.err"},Js={install:In,uninstall:An,exists:O,log:Rn,err:_t,current:Ln,clean:Nn,journal:xt},X=class extends Error{constructor(){super("service is already installed")}},N=class extends Error{constructor(){super("service is not installed")}};function In(e){if(!["darwin","linux"].includes(process.platform))throw new Error(`Not Implemented on platform ${process.platform}`);if(O())throw new X;let t=["service","install"];e&&t.push(e);let r=(0,gt.spawnSync)(Cn.bin,t);if(r.status!==0)throw new Error(`service install failed: ${r.stderr.toString()}`)}function An(){if(!["darwin","linux"].includes(process.platform))throw new Error(`Not Implemented on platform ${process.platform}`);if(!O())throw new N;let e=(0,gt.spawnSync)(Cn.bin,["service","uninstall"]);if(e.status!==0)throw new Error(`service uninstall failed: ${e.stderr.toString()}`);process.platform==="darwin"?(w.default.rmSync(v.OUT),w.default.rmSync(v.ERR)):process.platform==="linux"&&!k()&&(w.default.rmSync(L.SERVICE_OUT),w.default.rmSync(L.SERVICE_ERR))}function Rn(){if(!O())throw new N;if(process.platform==="darwin")return w.default.readFileSync(v.OUT,"utf8");if(process.platform==="linux"&&!k())return w.default.readFileSync(L.SERVICE_OUT,"utf8");throw new Error(`Not Implemented on platform ${process.platform}`)}function _t(){if(!O())throw new N;if(process.platform==="darwin")return w.default.readFileSync(v.ERR,"utf8");if(process.platform==="linux"&&!k())return w.default.readFileSync(L.SERVICE_ERR,"utf8");throw new Error(`Not Implemented on platform ${process.platform}`)}function xt(e=300){if(process.platform==="linux"&&k()){let t=["-u",yt,"-o","cat","-n",e.toString()];return(0,gt.spawnSync)("journalctl",t).stdout.toString()}throw new Error(`Not Implemented on platform ${process.platform}`)}function Ln(){var e,t,r,n;if(!["darwin","linux"].includes(process.platform))throw new Error(`Not Implemented on platform ${process.platform}`);if(!O())throw new N;let o=k()?xt():_t(),i="",a="",c=[],l="",p={};for(let f of o.split(`
|
|
4
|
+
`))try{if(f.match(S.tunnelID_regex))i=((e=f.match(S.tunnelID_regex))==null?void 0:e[1])??"";else if(f.match(S.connectorID_regex))a=((t=f.match(S.connectorID_regex))==null?void 0:t[1])??"";else if(f.match(S.conn_regex)&&f.match(S.location_regex)&&f.match(S.ip_regex)&&f.match(S.index_regex)){let[,h]=f.match(S.conn_regex)??[],[,m]=f.match(S.location_regex)??[],[,g]=f.match(S.ip_regex)??[],[,y]=f.match(S.index_regex)??[];c[parseInt(y)]={id:h,ip:g,location:m}}else if(f.match(S.disconnect_regex)){let[,h]=f.match(S.disconnect_regex)??[];parseInt(h)in c&&(c[parseInt(h)]={id:"",ip:"",location:""})}else f.match(S.metrics_regex)?l=((r=f.match(S.metrics_regex))==null?void 0:r[1])??"":f.match(S.config_regex)&&(p=JSON.parse(((n=f.match(S.config_regex))==null?void 0:n[1].replace(/\\/g,""))??"{}"))}catch(h){process.env.VERBOSE&&console.error("log parsing failed",h)}return{tunnelID:i,connectorID:a,connections:c,metrics:l,config:p}}function Nn(){if(process.platform!=="darwin")throw new Error(`Not Implemented on platform ${process.platform}`);if(O())throw new X;w.default.rmSync(v.OUT,{force:!0}),w.default.rmSync(v.ERR,{force:!0})}function O(){if(process.platform==="darwin")return w.default.existsSync(v.PLIST);if(process.platform==="linux")return k()?w.default.existsSync(L.SYSTEMD):w.default.existsSync(L.SERVICE);throw new Error(`Not Implemented on platform ${process.platform}`)}function ht(){var e;return((e=process.getuid)==null?void 0:e.call(process))===0}function k(){return process.platform==="linux"&&w.default.existsSync("/run/systemd/system")}});var Un=_((ru,kn)=>{"use strict";s();var St=Object.defineProperty,Xs=Object.getOwnPropertyDescriptor,Ks=Object.getOwnPropertyNames,Ys=Object.prototype.hasOwnProperty,Zs=(e,t)=>{for(var r in t)St(e,r,{get:t[r],enumerable:!0})},Qs=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ks(t))!Ys.call(e,o)&&o!==r&&St(e,o,{get:()=>t[o],enumerable:!(n=Xs(t,o))||n.enumerable});return e},ea=e=>Qs(St({},"__esModule",{value:!0}),e),Dn={};Zs(Dn,{AlreadyInstalledError:()=>K.AlreadyInstalledError,MACOS_SERVICE_PATH:()=>K.MACOS_SERVICE_PATH,NotInstalledError:()=>K.NotInstalledError,bin:()=>ta.bin,identifier:()=>K.identifier,install:()=>ra.install,service:()=>K.service,tunnel:()=>na.tunnel});kn.exports=ea(Dn);var ta=W(),ra=xn(),na=vn(),K=$n()});s();var B=G(wt(),1);s();s();var tn=G(hr(),1);import{Buffer as ji}from"node:buffer";import $i from"node:path";import st from"node:child_process";import he from"node:process";s();function Ue(e){let t=typeof e=="string"?`
|
|
5
|
+
`:10,r=typeof e=="string"?"\r":13;return e[e.length-1]===t&&(e=e.slice(0,-1)),e[e.length-1]===r&&(e=e.slice(0,-1)),e}s();import oe from"node:process";import q from"node:path";import So from"node:url";s();function ne(e={}){let{env:t=process.env,platform:r=process.platform}=e;return r!=="win32"?"PATH":Object.keys(t).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"}function wo(e={}){let{cwd:t=oe.cwd(),path:r=oe.env[ne()],execPath:n=oe.execPath}=e,o,i=t instanceof URL?So.fileURLToPath(t):t,a=q.resolve(i),c=[];for(;o!==a;)c.push(q.join(a,"node_modules/.bin")),o=a,a=q.resolve(a,"..");return c.push(q.resolve(i,n,"..")),[...c,r].join(q.delimiter)}function gr({env:e=oe.env,...t}={}){e={...e};let r=ne({env:e});return t.path=e[r],e[r]=wo(t),e}s();s();var bo=(e,t,r,n)=>{if(r==="length"||r==="prototype"||r==="arguments"||r==="caller")return;let o=Object.getOwnPropertyDescriptor(e,r),i=Object.getOwnPropertyDescriptor(t,r);!Eo(o,i)&&n||Object.defineProperty(e,r,i)},Eo=function(e,t){return e===void 0||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},vo=(e,t)=>{let r=Object.getPrototypeOf(t);r!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,r)},Oo=(e,t)=>`/* Wrapped ${e}*/
|
|
6
|
+
${t}`,Po=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),To=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),Co=(e,t,r)=>{let n=r===""?"":`with ${r.trim()}() `,o=Oo.bind(null,n,t.toString());Object.defineProperty(o,"name",To),Object.defineProperty(e,"toString",{...Po,value:o})};function Be(e,t,{ignoreNonConfigurable:r=!1}={}){let{name:n}=e;for(let o of Reflect.ownKeys(t))bo(e,t,o,r);return vo(e,t),Co(e,t,n),e}var ie=new WeakMap,yr=(e,t={})=>{if(typeof e!="function")throw new TypeError("Expected a function");let r,n=0,o=e.displayName||e.name||"<anonymous>",i=function(...a){if(ie.set(i,++n),n===1)r=e.apply(this,a),e=null;else if(t.throw===!0)throw new Error(`Function \`${o}\` can only be called once`);return r};return Be(i,e),ie.set(i,n),i};yr.callCount=e=>{if(!ie.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return ie.get(e)};var _r=yr;s();import Uo from"node:process";s();import{constants as Lo}from"node:os";s();var xr=()=>{let e=wr-Sr+1;return Array.from({length:e},Io)},Io=(e,t)=>({name:`SIGRT${t+1}`,number:Sr+t,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),Sr=34,wr=64;s();import{constants as Ao}from"node:os";s();var br=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}];var Ge=()=>{let e=xr();return[...br,...e].map(Ro)},Ro=({name:e,number:t,description:r,action:n,forced:o=!1,standard:i})=>{let{signals:{[e]:a}}=Ao,c=a!==void 0;return{name:e,number:c?a:t,description:r,supported:c,action:n,forced:o,standard:i}};var No=()=>{let e=Ge();return Object.fromEntries(e.map(jo))},jo=({name:e,number:t,description:r,supported:n,action:o,forced:i,standard:a})=>[e,{name:e,number:t,description:r,supported:n,action:o,forced:i,standard:a}],Er=No(),$o=()=>{let e=Ge(),t=65,r=Array.from({length:t},(n,o)=>Do(o,e));return Object.assign({},...r)},Do=(e,t)=>{let r=ko(e,t);if(r===void 0)return{};let{name:n,description:o,supported:i,action:a,forced:c,standard:l}=r;return{[e]:{name:n,number:e,description:o,supported:i,action:a,forced:c,standard:l}}},ko=(e,t)=>{let r=t.find(({name:n})=>Lo.signals[n]===e);return r!==void 0?r:t.find(n=>n.number===e)},cc=$o();var Bo=({timedOut:e,timeout:t,errorCode:r,signal:n,signalDescription:o,exitCode:i,isCanceled:a})=>e?`timed out after ${t} milliseconds`:a?"was canceled":r!==void 0?`failed with ${r}`:n!==void 0?`was killed with ${n} (${o})`:i!==void 0?`failed with exit code ${i}`:"failed",V=({stdout:e,stderr:t,all:r,error:n,signal:o,exitCode:i,command:a,escapedCommand:c,timedOut:l,isCanceled:p,killed:f,parsed:{options:{timeout:h,cwd:m=Uo.cwd()}}})=>{i=i===null?void 0:i,o=o===null?void 0:o;let g=o===void 0?void 0:Er[o].description,y=n&&n.code,E=`Command ${Bo({timedOut:l,timeout:h,errorCode:y,signal:o,signalDescription:g,exitCode:i,isCanceled:p})}: ${a}`,P=Object.prototype.toString.call(n)==="[object Error]",T=P?`${E}
|
|
7
|
+
${n.message}`:E,C=[T,t,e].filter(Boolean).join(`
|
|
8
|
+
`);return P?(n.originalMessage=n.message,n.message=C):n=new Error(C),n.shortMessage=T,n.command=a,n.escapedCommand=c,n.exitCode=i,n.signal=o,n.signalDescription=g,n.stdout=e,n.stderr=t,n.cwd=m,r!==void 0&&(n.all=r),"bufferedData"in n&&delete n.bufferedData,n.failed=!0,n.timedOut=!!l,n.isCanceled=p,n.killed=f&&!l,n};s();var se=["stdin","stdout","stderr"],Go=e=>se.some(t=>e[t]!==void 0),vr=e=>{if(!e)return;let{stdio:t}=e;if(t===void 0)return se.map(n=>e[n]);if(Go(e))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${se.map(n=>`\`${n}\``).join(", ")}`);if(typeof t=="string")return t;if(!Array.isArray(t))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof t}\``);let r=Math.max(t.length,se.length);return Array.from({length:r},(n,o)=>t[o])};s();import qo from"node:os";s();s();var I=[];I.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&I.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&I.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var ae=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",Fe=Symbol.for("signal-exit emitter"),Me=globalThis,Fo=Object.defineProperty.bind(Object),qe=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Me[Fe])return Me[Fe];Fo(Me,Fe,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(t,r){this.listeners[t].push(r)}removeListener(t,r){let n=this.listeners[t],o=n.indexOf(r);o!==-1&&(o===0&&n.length===1?n.length=0:n.splice(o,1))}emit(t,r,n){if(this.emitted[t])return!1;this.emitted[t]=!0;let o=!1;for(let i of this.listeners[t])o=i(r,n)===!0||o;return t==="exit"&&(o=this.emit("afterExit",r,n)||o),o}},ce=class{},Mo=e=>({onExit(t,r){return e.onExit(t,r)},load(){return e.load()},unload(){return e.unload()}}),Ve=class extends ce{onExit(){return()=>{}}load(){}unload(){}},ze=class extends ce{#s=He.platform==="win32"?"SIGINT":"SIGHUP";#t=new qe;#e;#o;#i;#n={};#r=!1;constructor(t){super(),this.#e=t,this.#n={};for(let r of I)this.#n[r]=()=>{let n=this.#e.listeners(r),{count:o}=this.#t,i=t;if(typeof i.__signal_exit_emitter__=="object"&&typeof i.__signal_exit_emitter__.count=="number"&&(o+=i.__signal_exit_emitter__.count),n.length===o){this.unload();let a=this.#t.emit("exit",null,r),c=r==="SIGHUP"?this.#s:r;a||t.kill(t.pid,c)}};this.#i=t.reallyExit,this.#o=t.emit}onExit(t,r){if(!ae(this.#e))return()=>{};this.#r===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#t.on(n,t),()=>{this.#t.removeListener(n,t),this.#t.listeners.exit.length===0&&this.#t.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#r){this.#r=!0,this.#t.count+=1;for(let t of I)try{let r=this.#n[t];r&&this.#e.on(t,r)}catch{}this.#e.emit=(t,...r)=>this.#c(t,...r),this.#e.reallyExit=t=>this.#a(t)}}unload(){this.#r&&(this.#r=!1,I.forEach(t=>{let r=this.#n[t];if(!r)throw new Error("Listener not defined for signal: "+t);try{this.#e.removeListener(t,r)}catch{}}),this.#e.emit=this.#o,this.#e.reallyExit=this.#i,this.#t.count-=1)}#a(t){return ae(this.#e)?(this.#e.exitCode=t||0,this.#t.emit("exit",this.#e.exitCode,null),this.#i.call(this.#e,this.#e.exitCode)):0}#c(t,...r){let n=this.#o;if(t==="exit"&&ae(this.#e)){typeof r[0]=="number"&&(this.#e.exitCode=r[0]);let o=n.call(this.#e,t,...r);return this.#t.emit("exit",this.#e.exitCode,null),o}else return n.call(this.#e,t,...r)}},He=globalThis.process,{onExit:Or,load:Sc,unload:wc}=Mo(ae(He)?new ze(He):new Ve);var Vo=1e3*5,Pr=(e,t="SIGTERM",r={})=>{let n=e(t);return zo(e,t,r,n),n},zo=(e,t,r,n)=>{if(!Ho(t,r,n))return;let o=Jo(r),i=setTimeout(()=>{e("SIGKILL")},o);i.unref&&i.unref()},Ho=(e,{forceKillAfterTimeout:t},r)=>Wo(e)&&t!==!1&&r,Wo=e=>e===qo.constants.signals.SIGTERM||typeof e=="string"&&e.toUpperCase()==="SIGTERM",Jo=({forceKillAfterTimeout:e=!0})=>{if(e===!0)return Vo;if(!Number.isFinite(e)||e<0)throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`);return e},Tr=(e,t)=>{e.kill()&&(t.isCanceled=!0)},Xo=(e,t,r)=>{e.kill(t),r(Object.assign(new Error("Timed out"),{timedOut:!0,signal:t}))},Cr=(e,{timeout:t,killSignal:r="SIGTERM"},n)=>{if(t===0||t===void 0)return n;let o,i=new Promise((c,l)=>{o=setTimeout(()=>{Xo(e,r,l)},t)}),a=n.finally(()=>{clearTimeout(o)});return Promise.race([i,a])},Ir=({timeout:e})=>{if(e!==void 0&&(!Number.isFinite(e)||e<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`)},Ar=async(e,{cleanup:t,detached:r},n)=>{if(!t||r)return n;let o=Or(()=>{e.kill()});return n.finally(()=>{o()})};s();import{createWriteStream as Ko}from"node:fs";import{ChildProcess as Yo}from"node:child_process";var Zo=e=>e instanceof Yo&&typeof e.then=="function",We=(e,t,r)=>{if(typeof r=="string")return e[t].pipe(Ko(r)),e;if(Ce(r))return e[t].pipe(r),e;if(!Zo(r))throw new TypeError("The second argument must be a string, a stream or an Execa child process.");if(!Ce(r.stdin))throw new TypeError("The target child process's stdin must be available.");return e[t].pipe(r.stdin),r},Rr=e=>{e.stdout!==null&&(e.pipeStdout=We.bind(void 0,e,"stdout")),e.stderr!==null&&(e.pipeStderr=We.bind(void 0,e,"stderr")),e.all!==void 0&&(e.pipeAll=We.bind(void 0,e,"all"))};s();import{createReadStream as yi,readFileSync as _i}from"node:fs";import{setTimeout as xi}from"node:timers/promises";s();s();s();var z=async(e,{init:t,convertChunk:r,getSize:n,truncateChunk:o,addChunk:i,getFinalChunk:a,finalize:c},{maxBuffer:l=Number.POSITIVE_INFINITY}={})=>{if(!ei(e))throw new Error("The first argument must be a Readable, a ReadableStream, or an async iterable.");let p=t();p.length=0;try{for await(let f of e){let h=ti(f),m=r[h](f,p);jr({convertedChunk:m,state:p,getSize:n,truncateChunk:o,addChunk:i,maxBuffer:l})}return Qo({state:p,convertChunk:r,getSize:n,truncateChunk:o,addChunk:i,getFinalChunk:a,maxBuffer:l}),c(p)}catch(f){throw f.bufferedData=c(p),f}},Qo=({state:e,getSize:t,truncateChunk:r,addChunk:n,getFinalChunk:o,maxBuffer:i})=>{let a=o(e);a!==void 0&&jr({convertedChunk:a,state:e,getSize:t,truncateChunk:r,addChunk:n,maxBuffer:i})},jr=({convertedChunk:e,state:t,getSize:r,truncateChunk:n,addChunk:o,maxBuffer:i})=>{let a=r(e),c=t.length+a;if(c<=i){Lr(e,t,o,c);return}let l=n(e,i-t.length);throw l!==void 0&&Lr(l,t,o,i),new le},Lr=(e,t,r,n)=>{t.contents=r(e,t,n),t.length=n},ei=e=>typeof e=="object"&&e!==null&&typeof e[Symbol.asyncIterator]=="function",ti=e=>{let t=typeof e;if(t==="string")return"string";if(t!=="object"||e===null)return"others";if(globalThis.Buffer?.isBuffer(e))return"buffer";let r=Nr.call(e);return r==="[object ArrayBuffer]"?"arrayBuffer":r==="[object DataView]"?"dataView":Number.isInteger(e.byteLength)&&Number.isInteger(e.byteOffset)&&Nr.call(e.buffer)==="[object ArrayBuffer]"?"typedArray":"others"},{toString:Nr}=Object.prototype,le=class extends Error{name="MaxBufferError";constructor(){super("maxBuffer exceeded")}};s();var Je=e=>e,Xe=()=>{},Ke=({contents:e})=>e,ue=e=>{throw new Error(`Streams in object mode are not supported: ${String(e)}`)},fe=e=>e.length;s();async function Ye(e,t){return z(e,ui,t)}var ri=()=>({contents:new ArrayBuffer(0)}),ni=e=>oi.encode(e),oi=new TextEncoder,$r=e=>new Uint8Array(e),Dr=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength),ii=(e,t)=>e.slice(0,t),si=(e,{contents:t,length:r},n)=>{let o=Br()?ci(t,n):ai(t,n);return new Uint8Array(o).set(e,r),o},ai=(e,t)=>{if(t<=e.byteLength)return e;let r=new ArrayBuffer(Ur(t));return new Uint8Array(r).set(new Uint8Array(e),0),r},ci=(e,t)=>{if(t<=e.maxByteLength)return e.resize(t),e;let r=new ArrayBuffer(t,{maxByteLength:Ur(t)});return new Uint8Array(r).set(new Uint8Array(e),0),r},Ur=e=>kr**Math.ceil(Math.log(e)/Math.log(kr)),kr=2,li=({contents:e,length:t})=>Br()?e:e.slice(0,t),Br=()=>"resize"in ArrayBuffer.prototype,ui={init:ri,convertChunk:{string:ni,buffer:$r,arrayBuffer:$r,dataView:Dr,typedArray:Dr,others:ue},getSize:fe,truncateChunk:ii,addChunk:si,getFinalChunk:Xe,finalize:li};s();async function de(e,t){if(!("Buffer"in globalThis))throw new Error("getStreamAsBuffer() is only supported in Node.js");try{return Gr(await Ye(e,t))}catch(r){throw r.bufferedData!==void 0&&(r.bufferedData=Gr(r.bufferedData)),r}}var Gr=e=>globalThis.Buffer.from(e);s();async function Ze(e,t){return z(e,hi,t)}var fi=()=>({contents:"",textDecoder:new TextDecoder}),pe=(e,{textDecoder:t})=>t.decode(e,{stream:!0}),di=(e,{contents:t})=>t+e,pi=(e,t)=>e.slice(0,t),mi=({textDecoder:e})=>{let t=e.decode();return t===""?void 0:t},hi={init:fi,convertChunk:{string:Je,buffer:pe,arrayBuffer:pe,dataView:pe,typedArray:pe,others:ue},getSize:fe,truncateChunk:pi,addChunk:di,getFinalChunk:mi,finalize:Ke};var qr=G(Mr(),1),Vr=e=>{if(e!==void 0)throw new TypeError("The `input` and `inputFile` options cannot be both set.")},Si=({input:e,inputFile:t})=>typeof t!="string"?e:(Vr(e),_i(t)),zr=e=>{let t=Si(e);if(Te(t))throw new TypeError("The `input` option cannot be a stream in sync mode");return t},wi=({input:e,inputFile:t})=>typeof t!="string"?e:(Vr(e),yi(t)),Hr=(e,t)=>{let r=wi(t);r!==void 0&&(Te(r)?r.pipe(e.stdin):e.stdin.end(r))},Wr=(e,{all:t})=>{if(!t||!e.stdout&&!e.stderr)return;let r=(0,qr.default)();return e.stdout&&r.add(e.stdout),e.stderr&&r.add(e.stderr),r},Qe=async(e,t)=>{if(!(!e||t===void 0)){await xi(0),e.destroy();try{return await t}catch(r){return r.bufferedData}}},et=(e,{encoding:t,buffer:r,maxBuffer:n})=>{if(!(!e||!r))return t==="utf8"||t==="utf-8"?Ze(e,{maxBuffer:n}):t===null||t==="buffer"?de(e,{maxBuffer:n}):bi(e,n,t)},bi=async(e,t,r)=>(await de(e,{maxBuffer:t})).toString(r),Jr=async({stdout:e,stderr:t,all:r},{encoding:n,buffer:o,maxBuffer:i},a)=>{let c=et(e,{encoding:n,buffer:o,maxBuffer:i}),l=et(t,{encoding:n,buffer:o,maxBuffer:i}),p=et(r,{encoding:n,buffer:o,maxBuffer:i*2});try{return await Promise.all([a,c,l,p])}catch(f){return Promise.all([{error:f,signal:f.signal,timedOut:f.timedOut},Qe(e,c),Qe(t,l),Qe(r,p)])}};s();var Ei=(async()=>{})().constructor.prototype,vi=["then","catch","finally"].map(e=>[e,Reflect.getOwnPropertyDescriptor(Ei,e)]),tt=(e,t)=>{for(let[r,n]of vi){let o=typeof t=="function"?(...i)=>Reflect.apply(n.value,t(),i):n.value.bind(t);Reflect.defineProperty(e,r,{...n,value:o})}},Xr=e=>new Promise((t,r)=>{e.on("exit",(n,o)=>{t({exitCode:n,signal:o})}),e.on("error",n=>{r(n)}),e.stdin&&e.stdin.on("error",n=>{r(n)})});s();import{Buffer as Oi}from"node:buffer";import{ChildProcess as Pi}from"node:child_process";var Zr=(e,t=[])=>Array.isArray(t)?[e,...t]:[e],Ti=/^[\w.-]+$/,Ci=e=>typeof e!="string"||Ti.test(e)?e:`"${e.replaceAll('"','\\"')}"`,rt=(e,t)=>Zr(e,t).join(" "),nt=(e,t)=>Zr(e,t).map(r=>Ci(r)).join(" "),Ii=/ +/g;var Kr=e=>{let t=typeof e;if(t==="string")return e;if(t==="number")return String(e);if(t==="object"&&e!==null&&!(e instanceof Pi)&&"stdout"in e){let r=typeof e.stdout;if(r==="string")return e.stdout;if(Oi.isBuffer(e.stdout))return e.stdout.toString();throw new TypeError(`Unexpected "${r}" stdout in template expression`)}throw new TypeError(`Unexpected "${t}" in template expression`)},Yr=(e,t,r)=>r||e.length===0||t.length===0?[...e,...t]:[...e.slice(0,-1),`${e.at(-1)}${t[0]}`,...t.slice(1)],Ai=({templates:e,expressions:t,tokens:r,index:n,template:o})=>{let i=o??e.raw[n],a=i.split(Ii).filter(Boolean),c=Yr(r,a,i.startsWith(" "));if(n===t.length)return c;let l=t[n],p=Array.isArray(l)?l.map(f=>Kr(f)):[Kr(l)];return Yr(c,p,i.endsWith(" "))},ot=(e,t)=>{let r=[];for(let[n,o]of e.entries())r=Ai({templates:e,expressions:t,tokens:r,index:n,template:o});return r};s();import{debuglog as Ri}from"node:util";import Li from"node:process";var Qr=Ri("execa").enabled,me=(e,t)=>String(e).padStart(t,"0"),Ni=()=>{let e=new Date;return`${me(e.getHours(),2)}:${me(e.getMinutes(),2)}:${me(e.getSeconds(),2)}.${me(e.getMilliseconds(),3)}`},it=(e,{verbose:t})=>{t&&Li.stderr.write(`[${Ni()}] ${e}
|
|
9
|
+
`)};var Di=1e3*1e3*100,ki=({env:e,extendEnv:t,preferLocal:r,localDir:n,execPath:o})=>{let i=t?{...he.env,...e}:e;return r?gr({env:i,cwd:n,execPath:o}):i},rn=(e,t,r={})=>{let n=tn.default._parse(e,t,r);return e=n.command,t=n.args,r=n.options,r={maxBuffer:Di,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:r.cwd||he.cwd(),execPath:he.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,verbose:Qr,...r},r.env=ki(r),r.stdio=vr(r),he.platform==="win32"&&$i.basename(e,".exe")==="cmd"&&t.unshift("/q"),{file:e,args:t,options:r,parsed:n}},H=(e,t,r)=>typeof t!="string"&&!ji.isBuffer(t)?r===void 0?void 0:"":e.stripFinalNewline?Ue(t):t;function ge(e,t,r){let n=rn(e,t,r),o=rt(e,t),i=nt(e,t);it(i,n.options),Ir(n.options);let a;try{a=st.spawn(n.file,n.args,n.options)}catch(g){let y=new st.ChildProcess,b=Promise.reject(V({error:g,stdout:"",stderr:"",all:"",command:o,escapedCommand:i,parsed:n,timedOut:!1,isCanceled:!1,killed:!1}));return tt(y,b),y}let c=Xr(a),l=Cr(a,n.options,c),p=Ar(a,n.options,l),f={isCanceled:!1};a.kill=Pr.bind(null,a.kill.bind(a)),a.cancel=Tr.bind(null,a,f);let m=_r(async()=>{let[{error:g,exitCode:y,signal:b,timedOut:E},P,T,C]=await Jr(a,n.options,p),Y=H(n.options,P),Z=H(n.options,T),Q=H(n.options,C);if(g||y!==0||b!==null){let ee=V({error:g,exitCode:y,signal:b,stdout:Y,stderr:Z,all:Q,command:o,escapedCommand:i,parsed:n,timedOut:E,isCanceled:f.isCanceled||(n.options.signal?n.options.signal.aborted:!1),killed:a.killed});if(!n.options.reject)return ee;throw ee}return{command:o,escapedCommand:i,exitCode:0,stdout:Y,stderr:Z,all:Q,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}});return Hr(a,n.options),a.all=Wr(a,n.options),Rr(a),tt(a,m),a}function Ui(e,t,r){let n=rn(e,t,r),o=rt(e,t),i=nt(e,t);it(i,n.options);let a=zr(n.options),c;try{c=st.spawnSync(n.file,n.args,{...n.options,input:a})}catch(f){throw V({error:f,stdout:"",stderr:"",all:"",command:o,escapedCommand:i,parsed:n,timedOut:!1,isCanceled:!1,killed:!1})}let l=H(n.options,c.stdout,c.error),p=H(n.options,c.stderr,c.error);if(c.error||c.status!==0||c.signal!==null){let f=V({stdout:l,stderr:p,error:c.error,signal:c.signal,exitCode:c.status,command:o,escapedCommand:i,parsed:n,timedOut:c.error&&c.error.code==="ETIMEDOUT",isCanceled:!1,killed:c.signal!==null});if(!n.options.reject)return f;throw f}return{command:o,escapedCommand:i,exitCode:0,stdout:l,stderr:p,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}}var Bi=({input:e,inputFile:t,stdio:r})=>e===void 0&&t===void 0&&r===void 0?{stdin:"inherit"}:{},en=(e={})=>({preferLocal:!0,...Bi(e),...e});function nn(e){function t(r,...n){if(!Array.isArray(r))return nn({...e,...r});let[o,...i]=ot(r,n);return ge(o,i,en(e))}return t.sync=(r,...n)=>{if(!Array.isArray(r))throw new TypeError("Please use $(options).sync`command` instead of $.sync(options)`command`.");let[o,...i]=ot(r,n);return Ui(o,i,en(e))},t}var Fl=nn();var U=G(Un(),1);async function Bn(e,t){let{localTunnel:r}=te();!r&&!await vt(U.bin)&&await(0,U.install)(U.bin);let n=await t.createTunnel({port:e}),o=`http${r?"":"s"}://${n.domain}`,i=new Promise((a,c)=>{let l=r?ge("echo",[n.domain,n.token],{detached:!0}):ge(U.bin,["tunnel","run","--token",n.token]),p=()=>{l.kill()},f=async h=>{h.toString().match(n.domain)?.[0]&&a({domain:o,close:p})};l.stderr?.on("data",f),l.stdout?.on("data",f),l.on("error",h=>{c(h)})});return{domain:o,close:async()=>(await i).close()}}s();var Gn=e=>({tunnel:()=>{let t=Date.now();return{finish:({isSuccess:r,failureReason:n})=>e.report(Tt({isSuccess:r,failureReason:n,tunnelCreationTime:Date.now()-t}))}}});s();var zn=G(wt(),1);s();s();var oa={},ia={},sa={},aa={};function Fn(e){var t={"bo._base_domain_":[{srcPath:"/_serverless/wix-app-backend-manager",destPath:""}],"wixbo.ai":[{srcPath:"/_serverless/wix-app-backend-manager",destPath:""}],"manage._base_domain_":[{srcPath:"/_serverless/wix-app-backend-manager",destPath:""}]};return bt(Object.assign(e,{domainToMappings:t}))}function Mn(e){var t=F(oa,{}),r=t.toJSON,n=t.fromJSON,o=F(ia,{}).fromJSON;function i(a){var c=a.host,l=r(e),p={entityFqdn:"wix.apps.hosting.v1.deployment",method:"POST",methodFqn:"wix.apps.hosting.v1.BackendService.CreateTunnel",url:Fn({protoPath:"/v1/tunnel",data:l,host:c}),data:l,transformResponse:o};return p}return i.fromReq=n,i.__isAmbassador=!0,i}function qn(e){var t=F(sa,{}),r=t.toJSON,n=t.fromJSON,o=F(aa,{}).fromJSON;function i(a){var c=a.host,l=r(e),p={entityFqdn:"wix.apps.hosting.v1.deployment",method:"DELETE",methodFqn:"wix.apps.hosting.v1.BackendService.DeleteTunnel",url:Fn({protoPath:"/v1/tunnel",data:l,host:c}),params:Et(l),transformResponse:o};return p}return i.fromReq=n,i.__isAmbassador=!0,i}s();var Vn=M.object({id:M.string(),token:M.string(),domain:M.string()});var Ee=class{constructor(t){this.httpClient=t;let{minRetryTimeout:r}=te();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;createTunnel=async({port:t})=>{try{let{data:r}=await ve(()=>this.httpClient.request(Mn({port:t})),this.retryOptions);return Vn.parse(r)}catch(r){throw new Oe({code:Pe.FailedToCreateTunnel(),cause:r})}};deleteTunnel=async t=>{try{await ve(()=>this.httpClient.request(qn({id:t})),this.retryOptions)}catch(r){throw new Oe({code:Pe.FailedToDeleteTunnel(),cause:r})}}};function Hn(){let e=Pt({type:"backoffice"});return(0,zn.useMemo)(()=>new Ee(e),[e])}function ca(){let e=(0,B.useRef)(),t=Hn(),r=Ot();return(0,B.useEffect)(()=>()=>{e.current?.close()},[]),(0,B.useCallback)(async n=>{let i=Gn(r).tunnel();try{let a=await Bn(n,t);return e.current=a,i.finish({isSuccess:!0}),{url:a.domain}}catch(a){throw i.finish({isSuccess:!1,failureReason:a instanceof Error?a.message:"Unknown error"}),a}},[t,r])}s();export{ca as a};
|
|
10
|
+
//# sourceMappingURL=chunk-3UAIFRQA.js.map
|