@wix/cli-app 1.1.50 → 1.1.51
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-6QSWW7PH.js +4 -0
- package/build/{CreateVersionCommand-G4JMAUB5.js.map → CreateVersionCommand-6QSWW7PH.js.map} +1 -1
- package/build/DevCommand-L3OC7OUZ.js +4 -0
- package/build/DevCommand-L3OC7OUZ.js.map +1 -0
- package/build/GenerateCommand-K5IS2QEG.js +99 -0
- package/build/GenerateCommand-K5IS2QEG.js.map +1 -0
- package/build/LogsCommand-5TTBMWFF.js +4 -0
- package/build/{LogsCommand-7CMV7VDA.js.map → LogsCommand-5TTBMWFF.js.map} +1 -1
- package/build/PreviewCommand-RCGDUERX.js +4 -0
- package/build/ServeCommand-BKLVSLW3.js +4 -0
- package/build/ServeCommand-BKLVSLW3.js.map +1 -0
- package/build/build-OSBBPACR.js +4 -0
- package/build/build-OSBBPACR.js.map +1 -0
- package/build/{chunk-VMPGY3XD.js → chunk-5OKXHNO2.js} +2 -2
- package/build/chunk-5UV5L6RZ.js +4 -0
- package/build/{chunk-JTFBYI5Z.js → chunk-7YIQAWRD.js} +2 -2
- package/build/chunk-EUNKG7JY.js +11 -0
- package/build/chunk-EUNKG7JY.js.map +1 -0
- package/build/chunk-GF6CV6CZ.js +100 -0
- package/build/chunk-GF6CV6CZ.js.map +1 -0
- package/build/chunk-IOW53RH7.js +4 -0
- package/build/chunk-IOW53RH7.js.map +1 -0
- package/build/chunk-L2GYA6RW.js +115 -0
- package/build/{chunk-TT7ANJ37.js.map → chunk-L2GYA6RW.js.map} +1 -1
- package/build/{chunk-U3X4QFEY.js → chunk-LYCV7HBR.js} +2 -2
- package/build/chunk-M7777RXR.js +5 -0
- package/build/chunk-M7777RXR.js.map +1 -0
- package/build/{chunk-AT67JTKR.js → chunk-MM7OD345.js} +56 -56
- package/build/{chunk-AT67JTKR.js.map → chunk-MM7OD345.js.map} +1 -1
- package/build/{chunk-LUN6J4D4.js → chunk-NYC4UPCI.js} +2 -2
- package/build/chunk-V3QQTT5C.js +4 -0
- package/build/chunk-V3QQTT5C.js.map +1 -0
- package/build/{chunk-PZBAQL52.js → chunk-VOW75NWO.js} +2 -2
- package/build/{chunk-RSCSYMHP.js → chunk-VXMDSBPO.js} +2 -2
- package/build/chunk-WJTPY35F.js +9 -0
- package/build/chunk-WJTPY35F.js.map +1 -0
- package/build/chunk-YFYESJ2A.js +4 -0
- package/build/chunk-YFYESJ2A.js.map +1 -0
- package/build/{chunk-SUKF3ONU.js → chunk-YIQOAFCK.js} +2 -2
- package/build/{chunk-QPGCBW5R.js → chunk-YXZSFVXG.js} +2 -2
- package/build/chunk-ZWY7YSYP.js +4 -0
- package/build/chunk-ZWY7YSYP.js.map +1 -0
- package/build/cloudflare-runtime/entry.js +1 -1
- package/build/cloudflare-runtime/getRegisteredExtensions.js +1 -1
- package/build/index.js +2 -2
- package/build/index.js.map +1 -1
- package/build/platform-sdk/chunk-DGX4CFXG.js +2 -0
- package/build/platform-sdk/chunk-DGX4CFXG.js.map +1 -0
- package/build/platform-sdk/chunk-KEIVYRQX.js +2 -0
- package/build/platform-sdk/chunk-KEIVYRQX.js.map +1 -0
- package/build/platform-sdk/dashboard.js +1 -1
- package/build/platform-sdk/editor.js +2 -2
- package/build/platform-sdk/editor.js.map +1 -1
- package/build/platform-sdk/site.js +1 -1
- package/build/preview-FY5YKH5Z.js +4 -0
- package/build/{preview-CLW3KECJ.js.map → preview-FY5YKH5Z.js.map} +1 -1
- package/build/render-command-4BGZ4KYD.js +4 -0
- package/build/render-command-4BGZ4KYD.js.map +1 -0
- package/package.json +5 -4
- package/schemas/wix-config.json +1 -1
- package/build/CreateVersionCommand-G4JMAUB5.js +0 -4
- package/build/DevCommand-ICJ7HWGE.js +0 -4
- package/build/DevCommand-ICJ7HWGE.js.map +0 -1
- package/build/GenerateCommand-IGBPVFUN.js +0 -99
- package/build/GenerateCommand-IGBPVFUN.js.map +0 -1
- package/build/LogsCommand-7CMV7VDA.js +0 -4
- package/build/PreviewCommand-4JOWYN2H.js +0 -4
- package/build/ServeCommand-I5CZCTC2.js +0 -4
- package/build/ServeCommand-I5CZCTC2.js.map +0 -1
- package/build/build-F7QA4DJU.js +0 -4
- package/build/build-F7QA4DJU.js.map +0 -1
- package/build/chunk-AKOLPD6V.js +0 -4
- package/build/chunk-AKOLPD6V.js.map +0 -1
- package/build/chunk-AODPLKHZ.js +0 -4
- package/build/chunk-AODPLKHZ.js.map +0 -1
- package/build/chunk-AQLOAQFB.js +0 -4
- package/build/chunk-AQLOAQFB.js.map +0 -1
- package/build/chunk-PWIPMRWY.js +0 -4
- package/build/chunk-TT7ANJ37.js +0 -115
- package/build/chunk-WPDKHYDX.js +0 -10
- package/build/chunk-WPDKHYDX.js.map +0 -1
- package/build/chunk-Z6KGERGI.js +0 -100
- package/build/chunk-Z6KGERGI.js.map +0 -1
- package/build/chunk-ZN6WU4UI.js +0 -11
- package/build/chunk-ZN6WU4UI.js.map +0 -1
- package/build/platform-sdk/chunk-3TJ2D6DS.js +0 -2
- package/build/platform-sdk/chunk-3TJ2D6DS.js.map +0 -1
- package/build/platform-sdk/chunk-RE2R2PA6.js +0 -2
- package/build/platform-sdk/chunk-RE2R2PA6.js.map +0 -1
- package/build/preview-CLW3KECJ.js +0 -4
- package/build/render-command-MDMVZZWK.js +0 -4
- package/build/render-command-MDMVZZWK.js.map +0 -1
- /package/build/{PreviewCommand-4JOWYN2H.js.map → PreviewCommand-RCGDUERX.js.map} +0 -0
- /package/build/{chunk-VMPGY3XD.js.map → chunk-5OKXHNO2.js.map} +0 -0
- /package/build/{chunk-PWIPMRWY.js.map → chunk-5UV5L6RZ.js.map} +0 -0
- /package/build/{chunk-JTFBYI5Z.js.map → chunk-7YIQAWRD.js.map} +0 -0
- /package/build/{chunk-U3X4QFEY.js.map → chunk-LYCV7HBR.js.map} +0 -0
- /package/build/{chunk-LUN6J4D4.js.map → chunk-NYC4UPCI.js.map} +0 -0
- /package/build/{chunk-PZBAQL52.js.map → chunk-VOW75NWO.js.map} +0 -0
- /package/build/{chunk-RSCSYMHP.js.map → chunk-VXMDSBPO.js.map} +0 -0
- /package/build/{chunk-SUKF3ONU.js.map → chunk-YIQOAFCK.js.map} +0 -0
- /package/build/{chunk-QPGCBW5R.js.map → chunk-YXZSFVXG.js.map} +0 -0
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a as J}from"./chunk-WPDKHYDX.js";import{C as N,Sa as z,Ta as G,Ua as H,Za as q,_a as U,ub as V}from"./chunk-TT7ANJ37.js";import{A as f,P as D,S as F,W as A,X as R,b as k,c as _,e as h,f as x,m as r,x as u}from"./chunk-Z6KGERGI.js";import{e as L,h as g}from"./chunk-V4TR6DCM.js";g();g();var e=L(k(),1),E=L(_(),1);g();var l=L(k(),1);import{createServer as ie}from"node:http";var Y=L(_(),1);g();var y=L(_(),1),Z=r.any(),ee=r.enum(["info","error","warn","debug","log"]),oe=r.object({message:r.array(Z),level:ee,timestamp:r.number()}),re=r.object({stack:r.string(),name:r.string(),message:r.string(),timestamp:r.number()}),te=r.object({_type:r.literal("log"),exceptions:r.array(re),logs:r.array(oe)}).passthrough(),ne=r.object({_type:r.literal("session-timeout")}).passthrough(),se=r.discriminatedUnion("_type",[te,ne]),K=(0,y.variant)({Log:(0,y.fields)(),Exception:(0,y.fields)()}),B="/logs",$=(n,s)=>{let i,d;if(n.method==="POST"&&n.url===B){let m="";n.on("data",t=>{m+=t.toString()}),n.on("end",()=>{let t;try{t=se.parse(JSON.parse(m))}catch(o){return d(x.FailedToParseLog(),o,{body:m}),s.statusCode=400,s.end()}let p=[];t._type==="log"&&(p.push(...t.exceptions.map(o=>K.Exception(o))),p.push(...t.logs.map(o=>K.Log(o)))),(0,y.match)(t._type,{log:()=>{i(p)},"session-timeout":()=>{s.statusCode=200,s.end(),d(x.LogsConnectionTimeout(),{},{body:m})}}),s.statusCode=200,s.end()})}else s.statusCode=404,s.end("Not Found");let c={onLog:m=>(i=m,c),onError:m=>(d=m,c)};return c};var me=/([0-9a-f-]{36})/,Q=({onLog:n,version:s,appId:i})=>{let{reportError:d}=N(),{getAppByVersion:c}=H(),m=J(),t=G({type:"backoffice"}),p=(0,l.useRef)(),o=(0,l.useMemo)(()=>ie((a,w)=>{$(a,w).onLog(n).onError((I,M,v)=>{throw o.close(),new h({code:I,cause:M,info:v})})}),[n]),O=(0,l.useMemo)(()=>new Promise(a=>{p.current=a}),[]);(0,l.useEffect)(()=>(o.listen(0,async()=>{let a=o.address().port;p.current?.(a)}),()=>{o.listening&&o.close()}),[o]);let{status:S}=F(async()=>{let a=await O,{url:w}=await m(a),{data:I}=await c({appId:i,version:s}),M=I.components.find(b=>b.compType===z.TOPOLOGY),v=me.exec(M?.compData.topology.topology.backendApiUrl??"");if(!v?.[1])throw new h({code:x.FailedToGetLogsTopology()});let j=v[1],X={appId:i,deploymentId:j,destinationUrl:new URL(B,w).href};try{await t.request(q(X))}catch(b){throw o.close(),new h({code:x.FailedToConnectToLogsService(),cause:b})}return j},[]);return(0,l.useEffect)(()=>()=>{(0,Y.isType)(S,"Success")&&t.request(U({appId:i,deploymentId:S.result})).catch(d)},[]),S};g();var W=L(k(),1);var P=({message:n,level:s})=>{let i="unknown";return typeof n=="object"?i=JSON.stringify(n):i=String(n),W.default.createElement(f,{skin:s==="error"?"error":"standard"},i)};var pe=({version:n})=>{let{model:s}=V(),{t:i}=R(),[d,c]=(0,e.useState)([]),m=Q({appId:s.config.appId,version:n,onLog:(0,e.useCallback)(t=>{c(p=>[...p,...t])},[c])});return(0,E.match)(m,{Success:()=>e.default.createElement(u,{marginTop:1,marginBottom:1,flexDirection:"column"},e.default.createElement(u,{marginBottom:1,flexDirection:"column"},e.default.createElement(f,null,e.default.createElement(A,{i18nKey:"logs_command.listening_to_logs"})),e.default.createElement(f,null,e.default.createElement(A,{i18nKey:"logs_command.prod_env_logs",values:{version:n}}))),d.map((t,p)=>e.default.createElement(u,{key:p,flexDirection:"column"},e.default.createElement(u,{columnGap:1},e.default.createElement(u,{flexShrink:0},e.default.createElement(f,{skin:"secondary"},new Date(t.timestamp).toLocaleTimeString())),e.default.createElement(u,{columnGap:1},(0,E.match)(t,{Log:({message:o,level:O})=>o.map((S,a)=>e.default.createElement(P,{key:`${p}-${a}`,message:S,level:O})),Exception:({message:o})=>e.default.createElement(P,{key:p,message:o,level:"error"})}))),(0,E.match)(t,{Log:()=>null,Exception:({stack:o})=>e.default.createElement(f,{skin:"error"},o)})))),Loading:()=>e.default.createElement(D,{text:i("logs_command.connecting")}),Error:()=>null})};export{pe as LogsCommand};
|
|
4
|
-
//# sourceMappingURL=LogsCommand-7CMV7VDA.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a}from"./chunk-AQLOAQFB.js";import"./chunk-RSCSYMHP.js";import"./chunk-SUKF3ONU.js";import"./chunk-AKOLPD6V.js";import"./chunk-LUN6J4D4.js";import"./chunk-AODPLKHZ.js";import"./chunk-U3X4QFEY.js";import"./chunk-WPDKHYDX.js";import"./chunk-VMPGY3XD.js";import"./chunk-AT67JTKR.js";import"./chunk-PZBAQL52.js";import"./chunk-TT7ANJ37.js";import"./chunk-Z6KGERGI.js";import"./chunk-V4TR6DCM.js";export{a as PreviewCommand};
|
|
4
|
-
//# sourceMappingURL=PreviewCommand-4JOWYN2H.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a as D,b as L}from"./chunk-RSCSYMHP.js";import{c as U}from"./chunk-SUKF3ONU.js";import{b as j}from"./chunk-LUN6J4D4.js";import{g as b,i as k,k as K,l as N,m as f,n as V}from"./chunk-AODPLKHZ.js";import"./chunk-U3X4QFEY.js";import"./chunk-WPDKHYDX.js";import"./chunk-VMPGY3XD.js";import{a as F,b as h,e as M}from"./chunk-AT67JTKR.js";import"./chunk-PZBAQL52.js";import{ub as c}from"./chunk-TT7ANJ37.js";import{A as E,B as I,C as y,E as B,O as T,P as _,S as O,W as a,X as A,b as d,c as R,x as i}from"./chunk-Z6KGERGI.js";import{e as s,h as o}from"./chunk-V4TR6DCM.js";o();o();var S=s(d(),1);o();var n=s(d(),1),q=s(R(),1);o();var m=s(d(),1);import{preview as ee}from"vite";function W(){let t=(0,m.useRef)(),{model:r}=c();return(0,m.useEffect)(()=>()=>{t.current?.httpServer.close()},[]),(0,m.useCallback)(async()=>{let v=await ee(await h(r,{type:"build"}));return t.current=v,F(v)},[r])}var z=(0,n.createContext)(null),g=({children:t})=>{let{model:r}=c(),{t:v}=A(),{site:H}=f(),J=b(),{createOverride:Q}=K(),X=W(),{status:Y}=O(async()=>{await D(r.projectFolder);let p=await X(),x=await j(r.projectFolder),P=M(x,p),Z=await J.createAppRelease(P,r.config.projectId),C=N(r),{id:$}=C?await Q({appId:r.config.appId,siteId:H.id,overrides:C}):await Promise.resolve({id:void 0});return{armTag:Z,serverUrl:p,siteOverrideId:$}},[]);return(0,q.match)(Y,{Error:()=>null,Loading:()=>n.default.createElement(_,{text:v("serve_command.starting_serve_environment")}),Success:({result:{armTag:p,serverUrl:x,siteOverrideId:P}})=>n.default.createElement(z.Provider,{value:{serverUrl:x}},n.default.createElement(V,{siteOverrideId:P},n.default.createElement(k,{armTag:p},t)))})};function w(){let t=(0,n.useContext)(z);if(t===null)throw new Error("useServeEnvironment() cannot be used without an <ServeEnvironmentProvider>");return t}o();var e=s(d(),1);function G(){let{site:t}=f(),{serverUrl:r}=w();return e.default.createElement(i,{flexDirection:"column"},e.default.createElement(i,{gap:1},e.default.createElement(E,{skin:"success"},e.default.createElement(B,null)),e.default.createElement(a,{i18nKey:"serve_command.starting_serve_environment_success",components:[e.default.createElement(T,{url:r})]})),e.default.createElement(i,{gap:1},e.default.createElement(I,null),e.default.createElement(a,{i18nKey:"serve_command.production_build"})),e.default.createElement(i,{gap:1,paddingTop:1,paddingBottom:1},e.default.createElement(y,null),e.default.createElement(a,{i18nKey:"general.dev_site.current",values:{name:t.displayName}})),e.default.createElement(i,{paddingBottom:1,flexDirection:"column"},e.default.createElement(L,null)))}var re=()=>S.default.createElement(U,null,S.default.createElement(g,null,S.default.createElement(G,null)));export{re as ServeCommand,g as ServeEnvironmentProvider,w as useServeEnvironment};
|
|
4
|
-
//# sourceMappingURL=ServeCommand-I5CZCTC2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ServeCommand/index.ts","../src/components/ServeCommand/ServeCommand.tsx","../src/components/ServeCommand/ServeEnvironment.tsx","../src/components/ServeCommand/hooks/usePreviewServer.ts","../src/components/ServeCommand/ServeCommandScreen.tsx"],"sourcesContent":["export { ServeCommand } from './ServeCommand.js';\nexport {\n ServeEnvironmentProvider,\n useServeEnvironment,\n} from './ServeEnvironment.js';\n","import React from 'react';\nimport type { FC } from 'react';\nimport { SiteIdProvider } from '../../site-id/SiteIdProvider.js';\nimport { ServeEnvironmentProvider } from './ServeEnvironment.js';\nimport { ServeCommandScreen } from './ServeCommandScreen.js';\n\nexport const ServeCommand: FC = () => {\n return (\n <SiteIdProvider>\n <ServeEnvironmentProvider>\n <ServeCommandScreen />\n </ServeEnvironmentProvider>\n </SiteIdProvider>\n );\n};\n","import React, { createContext, useContext } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport { match } from 'variant';\nimport { updateAppManifestWithBaseUrl } from '@wix/cli-app-manifest';\nimport { useARMClient } from '@wix/arm-client';\nimport { Spinner, useAsync } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { useSiteOverrideClient } from '@wix/site-override-client';\nimport { ArmTagProvider } from '../../context/armTag.js';\nimport { readAppManifestFile } from '../../app-manifest/file.js';\nimport { assertBuildOutputExists } from '../../files/assert-build-output-exists.js';\nimport { usePreviewServer } from './hooks/usePreviewServer.js';\nimport { useProjectModel } from '../../model.js';\nimport { useSiteId } from '../../site-id/index.js';\nimport { createSiteOverrides } from '../../site-override/createSiteOverrides.js';\nimport { SiteOverrideProvider } from '../../context/siteOverride.js';\n\ninterface ServeEnvironment {\n serverUrl: string;\n}\n\nconst ServeEnvironmentContext = createContext<ServeEnvironment | null>(null);\n\nexport const ServeEnvironmentProvider: FC<{\n children: ReactNode;\n}> = ({ children }) => {\n const { model } = useProjectModel();\n const { t } = useTranslation();\n const { site } = useSiteId();\n const arm = useARMClient();\n const { createOverride } = useSiteOverrideClient();\n const createPreviewServer = usePreviewServer();\n\n const { status } = useAsync(async () => {\n await assertBuildOutputExists(model.projectFolder);\n const serverUrl = await createPreviewServer();\n\n const manifest = await readAppManifestFile(model.projectFolder);\n const updatedManifest = updateAppManifestWithBaseUrl(manifest, serverUrl);\n\n const armTag = await arm.createAppRelease(\n updatedManifest,\n model.config.projectId\n );\n\n const overrides = createSiteOverrides(model);\n const { id: siteOverrideId } = overrides\n ? await createOverride({\n appId: model.config.appId,\n siteId: site.id,\n overrides,\n })\n : await Promise.resolve({ id: undefined });\n\n return { armTag, serverUrl, siteOverrideId };\n }, []);\n\n return match(status, {\n Error: () => null,\n Loading: () => (\n <Spinner text={t('serve_command.starting_serve_environment')}></Spinner>\n ),\n Success: ({ result: { armTag, serverUrl, siteOverrideId } }) => (\n <ServeEnvironmentContext.Provider value={{ serverUrl }}>\n <SiteOverrideProvider siteOverrideId={siteOverrideId}>\n <ArmTagProvider armTag={armTag}>{children}</ArmTagProvider>\n </SiteOverrideProvider>\n </ServeEnvironmentContext.Provider>\n ),\n });\n};\n\nexport function useServeEnvironment(): ServeEnvironment {\n const context = useContext(ServeEnvironmentContext);\n if (context === null) {\n throw new Error(\n 'useServeEnvironment() cannot be used without an <ServeEnvironmentProvider>'\n );\n }\n return context;\n}\n","import { preview } from 'vite';\nimport type { PreviewServer } from 'vite';\nimport { useCallback, useEffect, useRef } from 'react';\nimport { useProjectModel } from '../../../model.js';\nimport { getClientViteConfig } from '../../../vite/index.js';\nimport { getViteServerUrl } from '../../../vite/vite-server-url.js';\nimport { ConfigType } from '../../../vite/vite-config-options.js';\n\nexport function usePreviewServer() {\n const previewServerRef = useRef<PreviewServer>();\n const { model } = useProjectModel();\n\n useEffect(() => {\n return () => {\n previewServerRef.current?.httpServer.close();\n };\n }, []);\n\n return useCallback(async () => {\n const previewServer = await preview(\n await getClientViteConfig(model, { type: ConfigType.build })\n );\n\n previewServerRef.current = previewServer;\n\n return getViteServerUrl(previewServer);\n }, [model]);\n}\n","import {\n Box,\n InfoIcon,\n Link,\n PointerIcon,\n SuccessIcon,\n Text,\n} from '@wix/cli-ui-kit';\nimport React from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { useSiteId } from '../../site-id/useSiteId.js';\nimport { useServeEnvironment } from './ServeEnvironment.js';\nimport { PlatformViewer } from '../Platform/PlatformViewer.js';\n\nexport function ServeCommandScreen() {\n const { site } = useSiteId();\n const { serverUrl } = useServeEnvironment();\n\n return (\n <Box flexDirection=\"column\">\n <Box gap={1}>\n <Text skin=\"success\">\n <SuccessIcon />\n </Text>\n <Trans\n i18nKey=\"serve_command.starting_serve_environment_success\"\n components={[<Link url={serverUrl} />]}\n />\n </Box>\n <Box gap={1}>\n <InfoIcon />\n <Trans i18nKey=\"serve_command.production_build\" />\n </Box>\n <Box gap={1} paddingTop={1} paddingBottom={1}>\n <PointerIcon />\n <Trans\n i18nKey=\"general.dev_site.current\"\n values={{ name: site.displayName }}\n />\n </Box>\n <Box paddingBottom={1} flexDirection=\"column\">\n <PlatformViewer />\n </Box>\n </Box>\n );\n}\n"],"mappings":"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","names":["init_esm_shims","init_esm_shims","import_react","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","preview","usePreviewServer","previewServerRef","model","useProjectModel","previewServer","preview","getViteConfig","getViteServerUrl","ServeEnvironmentContext","ServeEnvironmentProvider","children","model","useProjectModel","t","useTranslation","site","useSiteId","arm","useARMClient","createOverride","useSiteOverrideClient","createPreviewServer","usePreviewServer","status","useAsync","assertBuildOutputExists","serverUrl","manifest","readAppManifestFile","updatedManifest","updateAppManifestWithBaseUrl","armTag","overrides","createSiteOverrides","siteOverrideId","React","Spinner","SiteOverrideProvider","ArmTagProvider","useServeEnvironment","context","init_esm_shims","import_react","ServeCommandScreen","site","useSiteId","serverUrl","useServeEnvironment","React","Box_default","Text","SuccessIcon","Trans","Link","InfoIcon","PointerIcon","PlatformViewer","ServeCommand","React","SiteIdProvider","ServeEnvironmentProvider","ServeCommandScreen"]}
|
package/build/build-F7QA4DJU.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a as l}from"./chunk-LUN6J4D4.js";import{b as m,c as d,g as s,i as u,j as f}from"./chunk-AT67JTKR.js";import"./chunk-PZBAQL52.js";import{Aa as i,ab as c,sb as a}from"./chunk-TT7ANJ37.js";import{c as E,e as t,f as n}from"./chunk-Z6KGERGI.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__",webhookPublicKey:"__WEBHOOK_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-F7QA4DJU.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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 webhookPublicKey: '__WEBHOOK_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":";;sSAAAA,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,iBAAkB,wBACpB,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"]}
|
package/build/chunk-AKOLPD6V.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{b as p}from"./chunk-LUN6J4D4.js";import{e as r,f as i}from"./chunk-AT67JTKR.js";import{h as o}from"./chunk-V4TR6DCM.js";o();var M=async({model:e,arm:a,serveUrl:n,backendServerUrl:t,topologyComponentId:s})=>{let l=await p(e.projectFolder),m=i(r(l,n,t),{id:s,baseApiUrl:t});return a.createAppRelease(m,e.config.projectId)};export{M as a};
|
|
4
|
-
//# sourceMappingURL=chunk-AKOLPD6V.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/preview/create-preview-tag.ts"],"sourcesContent":["import {\n updateAppManifestWithBaseUrl,\n updateTopology,\n} from '@wix/cli-app-manifest';\nimport type { ARMClient } from '@wix/arm-client';\nimport type { ProjectModel } from '../model.js';\nimport { readAppManifestFile } from '../app-manifest/file.js';\n\nexport const createPreviewTag = async ({\n model,\n arm,\n serveUrl,\n backendServerUrl,\n topologyComponentId,\n}: {\n model: ProjectModel;\n arm: ARMClient;\n serveUrl: string;\n backendServerUrl?: string;\n topologyComponentId?: string;\n}) => {\n const manifest = await readAppManifestFile(model.projectFolder);\n const updatedManifest = updateTopology(\n updateAppManifestWithBaseUrl(manifest, serveUrl, backendServerUrl),\n {\n id: topologyComponentId,\n baseApiUrl: backendServerUrl,\n }\n );\n\n return arm.createAppRelease(updatedManifest, model.config.projectId);\n};\n"],"mappings":";;+HAAAA,IAQO,IAAMC,EAAmB,MAAO,CACrC,MAAAC,EACA,IAAAC,EACA,SAAAC,EACA,iBAAAC,EACA,oBAAAC,CACF,IAMM,CACJ,IAAMC,EAAW,MAAMC,EAAoBN,EAAM,aAAa,EACxDO,EAAkBC,EACtBC,EAA6BJ,EAAUH,EAAUC,CAAgB,EACjE,CACE,GAAIC,EACJ,WAAYD,CACd,CACF,EAEA,OAAOF,EAAI,iBAAiBM,EAAiBP,EAAM,OAAO,SAAS,CACrE","names":["init_esm_shims","createPreviewTag","model","arm","serveUrl","backendServerUrl","topologyComponentId","manifest","readAppManifestFile","updatedManifest","updateTopology","updateAppManifestWithBaseUrl"]}
|
package/build/chunk-AODPLKHZ.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a as ze}from"./chunk-U3X4QFEY.js";import{a as Ve}from"./chunk-WPDKHYDX.js";import{b as te}from"./chunk-VMPGY3XD.js";import{a as Fe,b as je,c as We,e as ke,i as Be,j as Je}from"./chunk-AT67JTKR.js";import{Aa as Ne,C as re,Qa as q,Ra as ie,Ta as V,U as Ue,Ua as Me,a as b,b as k,d as w,f as B,ma as qe,oa as oe,rb as se,ub as _,x as Le,z as Ie}from"./chunk-TT7ANJ37.js";import{A as U,M as G,O as Re,P as Te,Q as be,S as De,V as Ee,W as K,X as Ae,b as C,c as W,e as h,f as y,m as f,n as J,x as I,y as Pe}from"./chunk-Z6KGERGI.js";import{e as v,h as a}from"./chunk-V4TR6DCM.js";a();var A=v(C(),1),ye=v(W(),1);a();var tt=v(C(),1),rt=v(W(),1);a();a();a();var Tt={},bt={},Dt={},Et={};var At={},Lt={},It={},Ut={};function ae(e){var t={"api._api_base_domain_":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"bo._base_domain_":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"wixbo.ai":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"www._base_domain_":[{srcPath:"/apps-release-manager-service-web/artifacts-release-manager/app-releases",destPath:"/artifacts-release-manager/app-releases"},{srcPath:"/_api/apps-release-manager-service-web/artifacts-release-manager/app-releases",destPath:"/artifacts-release-manager/app-releases"},{srcPath:"/apps-release-manager-service-web/apps/create",destPath:"/apps/create"},{srcPath:"/apps-release-manager-service-web/apps/promote",destPath:"/apps/promote"},{srcPath:"/apps-release-manager-service-web/apps/tags",destPath:"/apps/tags"},{srcPath:"/apps-release-manager-service-web/apps/create-components",destPath:"/apps/create-components"}],"manage._base_domain_":[{srcPath:"/apps-release-manager-service-web/apps/promote",destPath:"/apps/promote"},{srcPath:"/apps-release-manager-service-web/apps/create",destPath:"/apps/create"},{srcPath:"/apps-release-manager-service-web/apps/tags",destPath:"/apps/tags"},{srcPath:"/apps-release-manager-service-web/apps/create-components",destPath:"/apps/create-components"}]};return k(Object.assign(e,{domainToMappings:t}))}function He(e){var t=w(Tt,{}),r=t.toJSON,o=t.fromJSON,i=w(bt,{}).fromJSON;function s(d){var l=d.host,n=r(e),c={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.CreateAppRelease",url:ae({protoPath:"/apps/create/{appId}",data:n,host:l}),data:n,transformResponse:i};return c}return s.fromReq=o,s.__isAmbassador=!0,s}function $e(e){var t=w(It,{}),r=t.toJSON,o=t.fromJSON,i=w(Ut,{}).fromJSON;function s(d){var l=d.host,n=r(e),c={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"PUT",methodFqn:"com.wix.ctp.AppsReleaseManagerService.UpdateAppRelease",url:ae({protoPath:"/apps/tags/{tag}",data:n,host:l}),data:n,transformResponse:i};return c}return s.fromReq=o,s.__isAmbassador=!0,s}function Ge(e){var t=w(Dt,{}),r=t.toJSON,o=t.fromJSON,i=w(Et,{}).fromJSON;function s(d){var l=d.host,n=r(e),c={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.CreateComponents",url:ae({protoPath:"/apps/create-components/{appId}",data:n,host:l}),data:n,transformResponse:i};return c}return s.fromReq=o,s.__isAmbassador=!0,s}function Ke(e){var t=w(At,{}),r=t.toJSON,o=t.fromJSON,i=w(Lt,{}).fromJSON;function s(d){var l=d.host,n=r(e),c={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.PromoteAppReleaseToDevCenter",url:ae({protoPath:"/apps/promote/{appId}/{tag}",data:n,host:l}),data:n,transformResponse:i};return c}return s.fromReq=o,s.__isAmbassador=!0,s}var ne=v(W(),1);a();var Qe=f.object({newVersion:f.string()}),Ye=f.object({tag:f.string()});var{AppPermissionDenied:fe}=y,Xe=(0,ne.variant)({TagUpdated:{},TagNotFound:(0,ne.fields)()}),Q=class{constructor(t){this.httpClient=t;let{minRetryTimeout:r}=J();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;createComponents=async(t,r,o)=>{try{await b(()=>this.httpClient.request(Ge({appId:t,componentConfigs:r,projectId:o})),this.retryOptions)}catch(i){throw B(i)&&i.response?.status===403?new h({code:fe({appId:t}),cause:i}):new h({code:y.FailedToCreateComponents(),cause:i})}};createAppRelease=async(t,r)=>{try{let{data:o}=await b(()=>this.httpClient.request(He({appId:t.appId,componentConfigs:t.components,projectId:r})),this.retryOptions);return Ye.parse(o).tag}catch(o){throw B(o)&&o.response?.status===403?new h({code:fe({appId:t.appId}),cause:o}):new h({code:y.FailedToCreateAppRelease(),cause:o})}};updateAppRelease=async(t,r)=>{try{return await b(()=>this.httpClient.request($e({appId:t.appId,componentConfigs:t.components,tag:r})),this.retryOptions),Xe.TagUpdated()}catch(o){if(B(o)){if(o.response?.status===404)return Xe.TagNotFound({cause:o});if(o.response?.status===403)throw new h({code:fe({appId:t.appId}),cause:o})}throw new h({code:y.FailedToUpdateAppRelease(),cause:o})}};promoteToDevCenter=async(t,r,o)=>{let{data:i}=await b(()=>this.httpClient.request(Ke({appId:t,tag:r,versionType:o})),this.retryOptions);return Qe.parse(i)}};a();var Ze=v(C(),1);function ge(){let e=V({type:"backoffice"});return(0,Ze.useMemo)(()=>new Q(e),[e])}var et=async(e,t,r)=>{let o=await Be({appId:e.config.appId,components:e.components,componentSourceBuilder:Je(e,{clientDevServerUrl:t},{backendDevServerUrl:r?.localUrl})});return ke(o,t,r?.tunnelUrl)};function ot(){let{model:e}=_(),t=te(),{createAppRelease:r,updateAppRelease:o}=ge();return(0,tt.useCallback)(async({backendServerUrl:i,devServerUrl:s,projectModelWatcher:d,onChange:l,onError:n})=>{let{projectId:c}=e.config,S=await et(e,s,i),x=await q(e.projectFolder,t),L=await(async g=>{if(g){let F=await o(S,g);return(0,rt.match)(F,{TagUpdated:()=>g,TagNotFound:({cause:P})=>(t(P),r(S,c))})}return r(S,c)})(x?.devArmTag);return L!==x?.devArmTag&&await ie(e.projectFolder,{devArmTag:L}).catch(g=>t(g)),d.onChange(async(g,F)=>{try{if(F==="model-updated"){if(g.components.length===0)return;let P=await et(g,s,i);se(S,P)||await o(P,L)}l(F)}catch(P){n(P)}}).onError(n),L},[r,e,o,t])}a();var z=v(C(),1);import{createServer as qt}from"vite";a();function he({onLog:e}){let t=new WeakSet,r=new Set,o={hasWarned:!1,info(i){e("info",i)},warn(i){o.hasWarned=!0,e("warning",i)},warnOnce(i){r.has(i)||(o.hasWarned=!0,e("warning",i),r.add(i))},error(i,s){o.hasWarned=!0,e("error",i),s?.error&&t.add(s.error)},clearScreen(){},hasErrorLogged(i){return t.has(i)}};return o}function it({createConfig:e}){let{reportError:t}=re(),r=(0,z.useRef)();return(0,z.useEffect)(()=>()=>{r.current?.close().catch(t)},[t]),(0,z.useCallback)(async o=>{let i=await e(o),s=await qt(i);return r.current=s,await s.listen(),{devServerUrl:Fe(s),devServer:s}},[e])}function st({https:e}){let{model:t}=_();return it({createConfig:({onLog:o,projectModelWatcher:i,baseBackendUrl:s})=>je(t,{type:"dev",https:e,projectModelWatcher:i,customLogger:he({onLog:o})},{baseBackendUrl:s})})}function at({https:e}){let{model:t}=_(),{getAppSecret:r}=Me();return it({createConfig:async({onLog:i,projectModelWatcher:s})=>{let d=await r({appId:t.config.appId});return We(t,{type:"dev",https:e,projectModelWatcher:s,customLogger:he({onLog:i})},d)}})}a();var u=v(C(),1);a();import{EOL as Nt}from"node:os";import{createWriteStream as Mt}from"node:fs";var pe=class{constructor(t,r){this.opts=r;this.stream=Mt(qe(t),{flags:"w"}),this.stream.on("error",this.opts.onError)}drain=!1;stream;write=t=>{if(this.drain){this.stream.once("drain",()=>{this.drain=!1,this.write(t)});return}this.stream.write(t.concat(Nt),o=>{o&&this.opts.onError(o)})||(this.drain=!0,this.stream.once("drain",()=>{this.drain=!1}))};close=()=>{this.stream.close()}};a();var E=v(C(),1);var nt=({type:e,msg:t,error:r,prefix:o="app",timestamp:i})=>E.default.createElement(I,{columnGap:1},E.default.createElement(I,{flexShrink:0},E.default.createElement(U,{skin:"secondary"},i.toLocaleTimeString())),E.default.createElement(I,{flexShrink:0},E.default.createElement(U,{skin:e,bold:!0},"[",o,"]")),E.default.createElement(I,null,e==="error"&&r?E.default.createElement(Ie,{error:r}):typeof t=="string"?E.default.createElement(U,null,t):t));var Ft=()=>u.default.createElement(I,{flexDirection:"column"},u.default.createElement(G,{type:"error"},u.default.createElement(K,{i18nKey:"general.write_dev_log_failure.message",components:[u.default.createElement(U,{bold:!0})],values:{path:Ue}})),u.default.createElement(I,{paddingTop:1},u.default.createElement(G,{type:"insight"},u.default.createElement(K,{i18nKey:"general.write_dev_log_failure.hint"}))));function jt(e){return!!/Port \d{1,5} is in use, trying another one/.test(e)}function pt(){let{model:e}=_(),[t,r]=(0,u.useState)([]),o=(0,u.useCallback)(n=>{let c={...n,timestamp:new Date};return r(S=>[...S,c]),c},[]),{renderer:i,stream:s}=(0,u.useMemo)(()=>({renderer:Ee(),stream:new pe(e.projectFolder,{onError(){o({type:"error",msg:u.default.createElement(Ft,null)})}})}),[o,e.projectFolder]),d=(0,u.useCallback)(n=>{if(n.msg&&jt(n.msg.toString()))return;let c=o(n),S=i.render(u.default.createElement(nt,{...c}));s.write(S)},[o,i,s]),l=(0,u.useCallback)(()=>{r([])},[]);return(0,u.useEffect)(()=>()=>{i.unmount(),s.close()},[i,s]),{logs:t,writeLog:d,clearLogs:l}}a();var H=v(C(),1),mt=(0,H.createContext)(null),ct=({children:e,armTag:t})=>H.default.createElement(mt.Provider,{value:{armTag:t}},e),Se=()=>{let e=(0,H.useContext)(mt);if(e===null)throw new Error("useArmTag() cannot be used without an <ArmTagProvider>");return e};a();var N=v(C(),1);a();a();a();var Wt={},kt={};function Bt(e){var t={"bo._base_domain_":[{srcPath:"/_serverless/site-override",destPath:""}],"wixbo.ai":[{srcPath:"/_serverless/site-override",destPath:""}],"wix-bo.com":[{srcPath:"/_serverless/site-override",destPath:""}],"manage._base_domain_":[{srcPath:"/_serverless/site-override",destPath:""}]};return k(Object.assign(e,{domainToMappings:t}))}function dt(e){var t=w(Wt,{}),r=t.toJSON,o=t.fromJSON,i=w(kt,{}).fromJSON;function s(d){var l=d.host,n=r(e),c={entityFqdn:"wix.cli.site_override_service.v1.site_override",method:"POST",methodFqn:"wix.cli.v1.SiteOverrideService.CreateOverride",url:Bt({protoPath:"/v1/site-overrides",data:n,host:l}),data:n,transformResponse:i};return c}return s.fromReq=o,s.__isAmbassador=!0,s}a();var lt=f.object({siteOverride:f.object({id:f.string()})});var me=class{constructor(t){this.httpClient=t;let{minRetryTimeout:r}=J();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;createOverride=async({appId:t,siteId:r,overrides:o,siteOverrideId:i})=>{try{let{data:s}=await b(()=>this.httpClient.request(dt({siteOverride:{id:i,appId:t,siteId:r,overrides:o}})),this.retryOptions);return lt.parse(s).siteOverride}catch(s){throw B(s)&&s.response?.status===403?s.response.data?.details?.applicationError?.code==="PERMISSION_DENIED_FOR_SITE"?new h({code:y.SitePermissionDenied({siteId:r}),cause:s}):new h({code:y.AppPermissionDenied({appId:t}),cause:s}):new h({code:y.FailedToCreateSiteOverride(),cause:s})}}};a();var vt=v(C(),1);function we(){let e=V({type:"backoffice"});return(0,vt.useMemo)(()=>new me(e),[e])}a();var ft=v(W(),1);a();var ce;(function(e){e.UNKNOWN_TYPE="UNKNOWN_TYPE",e.EMBEDDED_SCRIPT="EMBEDDED_SCRIPT"})(ce||(ce={}));var ut;(function(e){e.UNKNOWN="UNKNOWN",e.ANONYMOUS_VISITOR="ANONYMOUS_VISITOR",e.MEMBER="MEMBER",e.WIX_USER="WIX_USER",e.APP="APP"})(ut||(ut={}));function de(e){let t=e.components.filter((0,ft.isType)(Ne.EmbeddedScript));return t.length===0?null:t.reduce((r,o)=>{let i=o.paramsOverride??{};return{...r,[o.id]:{type:ce.EMBEDDED_SCRIPT,componentId:o.id,embeddedScriptOptions:{parameters:i}}}},{})}a();var St=v(C(),1);a();var gt=v(C(),1),ht=(0,gt.createContext)(null);function Y(){let e=(0,St.useContext)(ht);if(e===null)throw new Error("useSiteId() cannot be used without an <SiteIdProvider>");return e}function wt(){let{model:e}=_(),{site:t}=Y(),r=be(),o=te(),{createOverride:i}=we(),{appId:s}=e.config,d=(0,N.useRef)(t),l=(0,N.useRef)(!1);return(0,N.useEffect)(()=>{d.current=t;let n=async()=>{let c=de(e)??{},x=(await q(e.projectFolder,o))?.devSiteOverrideId;if(!x)throw new h({code:y.InvalidSiteOverrideID()});await i({appId:s,siteId:t.id,overrides:c,siteOverrideId:x})};l.current&&n().catch(r)},[t]),(0,N.useCallback)(async({projectModelWatcher:n})=>{let c=await q(e.projectFolder,o),S=de(e)??{},{id:x}=await i({appId:s,siteId:t.id,overrides:S,siteOverrideId:c?.devSiteOverrideId});return n.onChange(async(O,L)=>{if(L==="model-updated"){let g=de(O)??{};se(S,g)||(await i({appId:s,siteId:d.current.id,overrides:g,siteOverrideId:x}),S=g)}}),x!==c?.devSiteOverrideId&&await ie(e.projectFolder,{devSiteOverrideId:x}).catch(O=>o(O)),l.current=!0,x},[e,o,i,s,t])}a();var $=v(C(),1),Ct=(0,$.createContext)(null),yt=({children:e,siteOverrideId:t})=>$.default.createElement(Ct.Provider,{value:{siteOverrideId:t}},e),Ce=()=>{let e=(0,$.useContext)(Ct);if(e===null)throw new Error("useSiteOverrideId() cannot be used without an <SiteOverrideProvider>");return e};var _t=(0,A.createContext)(null),gi=({https:e,children:t})=>{let{t:r}=Ae(),{reportError:o}=re(),{backendComponents:i,backendComponentsByType:s}=ze(),d=st({https:e}),l=at({https:e}),n=Ve(),c=ot(),S=wt(),{logs:x,writeLog:O,clearLogs:L}=pt(),{watcher:g}=_(),{status:F}=De(async()=>{let P;i.length>0&&(P=await l({projectModelWatcher:g,onLog(R,j){O({type:R,msg:j,prefix:"backend"})}}).then(async({devServerUrl:R})=>{let j;if(s.Event.length>0||s.ServicePlugin.length>0){let{url:Rt}=await n(Number(new URL(R).port));j=Rt}return{localUrl:R,tunnelUrl:j}}));let{devServerUrl:ee,devServer:ve}=await d({baseBackendUrl:P?.localUrl,projectModelWatcher:g,onLog(R,j){O({type:R,msg:j,prefix:"vite"})}}),ue=await c({backendServerUrl:P,devServerUrl:ee,projectModelWatcher:g,onChange(R){(0,ye.match)(R,{"change-received":()=>{O({type:"info",msg:r("dev_command.config_change")})},"model-did-not-change":()=>{O({type:"info",msg:r("dev_command.config_didnt_update")})},"model-updated":()=>{ve.ws.send({type:"full-reload"}),O({type:"info",msg:r("dev_command.config_update")})}})},onError(R){o(R),O({type:"error",error:R}),O({type:"info",msg:r("dev_command.config_didnt_update")})}}),Pt=await S({projectModelWatcher:g});return{clientDevServerUrl:ee,armTag:ue,siteOverrideId:Pt,https:e}},[]);return(0,ye.match)(F,{Error:()=>null,Loading:()=>A.default.createElement(Te,{text:r("dev_command.dev_environment.loading")}),Success:({result:{clientDevServerUrl:P,https:ee,armTag:ve,siteOverrideId:ue}})=>A.default.createElement(_t.Provider,{value:{clientDevServerUrl:P,https:ee,logs:x,writeLog:O,clearLogs:L}},A.default.createElement(yt,{siteOverrideId:ue},A.default.createElement(ct,{armTag:ve},t)))})};function _e(){let e=(0,A.useContext)(_t);if(e===null)throw new Error("useDevEnvironment() cannot be used without an <DevEnvironmentProvider>");return e}a();a();var Jt={},Vt={sites:"_site"},zt={createdDate:"google.protobuf.Timestamp",updatedDate:"google.protobuf.Timestamp",trashedDate:"google.protobuf.Timestamp"};function Ht(e){var t={"www._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"},{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"feedback._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"}],"manage._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"},{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"},{srcPath:"/_api/sites-list-data",destPath:"/api/sites-list-data"}],"www.wixapis.com":[{srcPath:"/site-list/v2/sites",destPath:"/v2/sites"}],"api._api_base_domain_":[{srcPath:"/sites-list",destPath:""}],"bo._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"wixbo.ai":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"dev._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"editor._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"blocks._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"create.editorx":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}]};return k(Object.assign(e,{domainToMappings:t}))}function xe(e){var t=w(Jt,{}),r=t.toJSON,o=t.fromJSON,i=w(Vt,{_site:zt}).fromJSON;function s(d){var l=d.host,n=r(e),c={entityFqdn:"wix.site_list.v2.site",method:"POST",methodFqn:"com.wixpress.sitelist.api.SiteListServiceV2.QuerySites",url:Ht({protoPath:"/v2/sites/query",data:n,host:l}),data:n,transformResponse:i};return c}return s.fromReq=o,s.__isAmbassador=!0,s}a();var $t=f.object({id:f.string(),displayName:f.string(),viewUrl:f.union([f.string().url(),f.literal("")]).optional()}),Oe=f.object({sites:f.array($t)});var X=class{constructor(t){this.httpClient=t;let{minRetryTimeout:r}=J();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;querySites=async(t={})=>{try{let{data:r}=await b(()=>this.httpClient.request(xe(t)),this.retryOptions);return Oe.parse(r).sites}catch(r){throw new h({code:y.FailedToQuerySites(),cause:r,info:{...t}})}};getSite=async t=>{try{let{data:r}=await b(()=>this.httpClient.request(xe({query:{filter:{id:{$in:[t]}}}})),this.retryOptions),{sites:o}=Oe.parse(r);return o.at(0)??null}catch(r){throw new h({code:y.FailedToGetSite(),cause:r,info:{id:t}})}}};a();var xt=v(C(),1);function Gt(){let e=V({type:"backoffice"});return(0,xt.useMemo)(()=>new X(e),[e])}a();a();var Z=v(W(),1),le=(0,Z.variant)({NotConfigured:{},NotFound:(0,Z.fields)(),Resolved:(0,Z.fields)()});a();async function zi({projectFolder:e,siteListClient:{getSite:t},siteId:r,writeDebugLog:o}){let i=r||(await q(e,o))?.siteId;if(!i)return le.NotConfigured();let s=await t(i);return s?le.Resolved({site:s}):le.NotFound({id:i})}a();var T=v(C(),1);var D=v(W(),1);import{URL as M}from"node:url";var Kt=(e,t)=>{let r=(0,D.isType)(t,oe.Site)?`${e.origin}/_api`:"https://apps.wix.com",o=new M(`${r}/elgar-server/redirect`);return["specs.UseAppsRuntimeCache","specs.ApplyQueryParamsOverrides"].forEach(s=>{o.searchParams.append("experiments",`${s}#true`)}),o.searchParams.append("redirectToUrl",e.toString()),o.searchParams.append("staticsVersions","{}"),o};function Ot({url:e,clientDevServerUrl:t}){let r=new M("/redirect",t);return r.searchParams.append("url",e),r.href}function Qt(){let{model:e}=_(),{site:t}=Y(),{armTag:r}=Se(),{siteOverrideId:o}=Ce();return(0,T.useCallback)(i=>Yt(i,{site:t,appId:e.config.appId,tag:r,siteOverrideId:o}),[t,e.config.appId,r,o])}function is(){let e=Qt(),{https:t,clientDevServerUrl:r}=_e();return(0,T.useCallback)(o=>{let i=e(o);return t&&(i=Ot({url:i,clientDevServerUrl:r})),i},[e,t,r])}function Yt(e,t){let{site:r,tag:o,siteOverrideId:i}=t,s=(0,D.match)(e,{Dashboard:()=>new M(`dashboard/${r.id}`,"https://manage.wix.com/"),Editor:()=>new M(`https://wix.com/editor/${r.id}`),Site:()=>{let d=new M(r.viewUrl);return i&&d.searchParams.append("site-override",i),d}});return s.searchParams.append("apps-override",o),(0,D.isOfVariant)(e,(0,D.variantList)([oe.Editor,oe.Site]))?Kt(s,e).toString():s.toString()}function Xt(){let{model:e}=_(),{site:t}=Y(),{armTag:r}=Se(),{siteOverrideId:o}=Ce();return(0,T.useCallback)(i=>Zt(i,{site:t,appId:e.config.appId,tag:r,siteOverrideId:o}),[t,e.config.appId,r,o])}function ss(){let e=Xt(),{https:t,clientDevServerUrl:r}=_e();return(0,T.useCallback)(o=>{let i=e(o);return t&&(i=Ot({url:i,clientDevServerUrl:r})),i},[e,t,r])}function Zt(e,t){let{appId:r,site:o,tag:i}=t,s=(0,D.matcher)(e).with({DashboardPage:()=>new M(`dashboard/${o.id}/app/${r}${e.route}`,"https://manage.wix.com/")}).when(["DashboardMenuPlugin","DashboardPlugin","DashboardModal"],()=>new M(`dashboard/${o.id}${e.route}`,"https://manage.wix.com/")).complete();return s.searchParams.append("apps-override",i),s.toString()}var as=async({url:e,title:t},r)=>{try{await Le(e)}catch{r({type:"error",prefix:"app",msg:T.default.createElement(G,{type:"error"},T.default.createElement(K,{i18nKey:"general.open_page_error",components:[T.default.createElement(U,{bold:!0})],values:{title:t}}),T.default.createElement(Pe,null),T.default.createElement(Re,{url:e}))})}};export{X as a,Gt as b,ht as c,le as d,zi as e,Q as f,ge as g,nt as h,ct as i,Se as j,we as k,de as l,Y as m,yt as n,gi as o,_e as p,Kt as q,Qt as r,is as s,Yt as t,Xt as u,ss as v,Zt as w,as as x};
|
|
4
|
-
//# sourceMappingURL=chunk-AODPLKHZ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/DevCommand/DevEnvironment.tsx","../src/components/DevCommand/useArmUpdater.ts","../../arm-client/src/index.ts","../../arm-client/src/client.ts","../../../node_modules/@wix/ambassador-ctp-gradual-rollout-v1-app-config/http.impl.ts","../../arm-client/src/schemas.ts","../../arm-client/src/useARMClient.ts","../src/components/DevCommand/useDevServer.ts","../src/vite/custom-logger.ts","../src/components/DevCommand/devEnvLogs/useDevEnvLogs.tsx","../src/files/dev.log.ts","../src/components/DevCommand/devEnvLogs/DevEnvLogLine.tsx","../src/context/armTag.tsx","../src/components/DevCommand/useSiteOverrideUpdater.ts","../../site-override-client/src/index.ts","../../site-override-client/src/client.ts","../../../node_modules/@wix/ambassador-cli-site-override-service-v1-site-override/http.impl.ts","../../site-override-client/src/schemas.ts","../../site-override-client/src/useSiteOverrideClient.ts","../src/site-override/createSiteOverrides.ts","../../../node_modules/@wix/ambassador-cli-site-override-service-v1-site-override/types.impl.ts","../src/site-id/useSiteId.ts","../src/site-id/context.ts","../src/context/siteOverride.tsx","../../site-list-client/src/site-list-client.ts","../../../node_modules/@wix/ambassador-site-list-v2-site/http.impl.ts","../../site-list-client/src/schemas.ts","../../site-list-client/src/useSiteListClient.ts","../../site-list-client/src/index.ts","../src/site-id/site-id-state.ts","../src/site-id/resolve-configured-site.ts","../src/components/extensions/utils.tsx"],"sourcesContent":["import React, { createContext, useContext } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { Spinner, useAsync } from '@wix/cli-ui-kit';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\nimport { useTunnel } from '@wix/cli-tunnel';\nimport { useProjectModel } from '../../model.js';\nimport { useArmUpdater } from './useArmUpdater.js';\nimport type { BackendUrls } from './useArmUpdater.js';\nimport { useClientDevServer, useBackendDevServer } from './useDevServer.js';\nimport { useDevEnvLogs } from './devEnvLogs/useDevEnvLogs.js';\nimport type { DevEnvLog, WriteLogFn } from './devEnvLogs/useDevEnvLogs.js';\nimport { ArmTagProvider } from '../../context/armTag.js';\nimport { useSiteOverrideUpdater } from './useSiteOverrideUpdater.js';\nimport { useBackendComponents } from '../../backend/useBackendComponents.js';\nimport { SiteOverrideProvider } from '../../context/siteOverride.js';\n\ninterface DevEnvironment {\n https: boolean;\n clientDevServerUrl: string;\n backendDevServerUrl?: string;\n logs: DevEnvLog[];\n clearLogs: () => void;\n writeLog: WriteLogFn;\n}\n\nconst DevEnvironmentContext = createContext<DevEnvironment | null>(null);\n\nexport const DevEnvironmentProvider: FC<{\n https: boolean;\n children: ReactNode;\n}> = ({ https, children }) => {\n const { t } = useTranslation();\n const { reportError } = useErrorReporter();\n const { backendComponents, backendComponentsByType } = useBackendComponents();\n const createClientDevServer = useClientDevServer({ https });\n const createBackendDevServer = useBackendDevServer({ https });\n const startTunnel = useTunnel();\n const createArmUpdater = useArmUpdater();\n const createSiteOverrideUpdater = useSiteOverrideUpdater();\n const { logs, writeLog, clearLogs } = useDevEnvLogs();\n const { watcher: projectModelWatcher } = useProjectModel();\n\n const { status } = useAsync(async () => {\n let backendDevServerUrl: BackendUrls | undefined = undefined;\n\n if (backendComponents.length > 0) {\n backendDevServerUrl = await createBackendDevServer({\n projectModelWatcher,\n onLog(type, msg) {\n writeLog({ type, msg, prefix: 'backend' });\n },\n }).then(async ({ devServerUrl }) => {\n let tunnelUrl: string | undefined = undefined;\n if (\n backendComponentsByType.Event.length > 0 ||\n backendComponentsByType.ServicePlugin.length > 0\n ) {\n const { url } = await startTunnel(Number(new URL(devServerUrl).port));\n tunnelUrl = url;\n }\n return { localUrl: devServerUrl, tunnelUrl };\n });\n }\n\n const { devServerUrl: clientDevServerUrl, devServer: clientDevServer } =\n await createClientDevServer({\n baseBackendUrl: backendDevServerUrl?.localUrl,\n projectModelWatcher,\n onLog(type, msg) {\n writeLog({ type, msg, prefix: 'vite' });\n },\n });\n\n const armTag = await createArmUpdater({\n backendServerUrl: backendDevServerUrl,\n devServerUrl: clientDevServerUrl,\n projectModelWatcher,\n onChange(changeType) {\n match(changeType, {\n 'change-received': () => {\n writeLog({ type: 'info', msg: t('dev_command.config_change') });\n },\n 'model-did-not-change': () => {\n writeLog({\n type: 'info',\n msg: t('dev_command.config_didnt_update'),\n });\n },\n 'model-updated': () => {\n clientDevServer.ws.send({ type: 'full-reload' });\n writeLog({ type: 'info', msg: t('dev_command.config_update') });\n },\n });\n },\n onError(error) {\n reportError(error);\n writeLog({ type: 'error', error });\n writeLog({ type: 'info', msg: t('dev_command.config_didnt_update') });\n },\n });\n\n const siteOverrideId = await createSiteOverrideUpdater({\n projectModelWatcher,\n });\n\n return {\n clientDevServerUrl,\n armTag,\n siteOverrideId,\n https,\n };\n }, []);\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('dev_command.dev_environment.loading')} />,\n Success: ({\n result: { clientDevServerUrl, https, armTag, siteOverrideId },\n }) => (\n <DevEnvironmentContext.Provider\n value={{\n clientDevServerUrl,\n https,\n logs,\n writeLog,\n clearLogs,\n }}\n >\n <SiteOverrideProvider siteOverrideId={siteOverrideId}>\n <ArmTagProvider armTag={armTag}>{children}</ArmTagProvider>\n </SiteOverrideProvider>\n </DevEnvironmentContext.Provider>\n ),\n });\n};\n\nexport function useDevEnvironment(): DevEnvironment {\n const context = useContext(DevEnvironmentContext);\n if (context === null) {\n throw new Error(\n 'useDevEnvironment() cannot be used without an <DevEnvironmentProvider>'\n );\n }\n return context;\n}\n","import { useCallback } from 'react';\nimport { match } from 'variant';\nimport { deepEqual } from 'fast-equals';\nimport { updateAppManifestWithBaseUrl } from '@wix/cli-app-manifest';\nimport { useARMClient } from '@wix/arm-client';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { createAppManifest } from '../../app-manifest/create.js';\nimport { getComponentSourceBuilder } from '../../app-manifest/component-source.js';\nimport type {\n ChangeType,\n ProjectModelWatcher,\n} from '../../app-manifest/project-model-watcher.js';\nimport { readAppConfig, saveAppConfig } from '../../files/app.config.js';\nimport { useProjectModel } from '../../model.js';\nimport type { ProjectModel } from '../../model.js';\n\nexport interface BackendUrls {\n tunnelUrl?: string;\n localUrl: string;\n}\n\nconst createAppManifestWithBaseUrl = async (\n model: ProjectModel,\n clientDevServerUrl: string,\n backendServerUrl?: BackendUrls\n) => {\n const manifest = await createAppManifest({\n appId: model.config.appId,\n components: model.components,\n componentSourceBuilder: getComponentSourceBuilder(\n model,\n { clientDevServerUrl },\n { backendDevServerUrl: backendServerUrl?.localUrl }\n ),\n });\n\n return updateAppManifestWithBaseUrl(\n manifest,\n clientDevServerUrl,\n backendServerUrl?.tunnelUrl\n );\n};\n\ninterface CreateOptions {\n devServerUrl: string;\n backendServerUrl?: BackendUrls;\n projectModelWatcher: ProjectModelWatcher;\n onChange: (changeType: ChangeType) => void;\n onError: (e: unknown) => void;\n}\n\nexport function useArmUpdater() {\n const { model } = useProjectModel();\n const writeDebugLog = useDebugLog();\n const { createAppRelease, updateAppRelease } = useARMClient();\n\n return useCallback(\n async ({\n backendServerUrl,\n devServerUrl,\n projectModelWatcher,\n onChange,\n onError,\n }: CreateOptions) => {\n const { projectId } = model.config;\n\n const appManifest = await createAppManifestWithBaseUrl(\n model,\n devServerUrl,\n backendServerUrl\n );\n\n const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);\n\n const createOrUpdateAppRelease = async (tag?: string) => {\n if (tag) {\n const updateState = await updateAppRelease(appManifest, tag);\n return match(updateState, {\n TagUpdated: () => tag,\n TagNotFound: ({ cause }) => {\n writeDebugLog(cause);\n return createAppRelease(appManifest, projectId);\n },\n });\n }\n return createAppRelease(appManifest, projectId);\n };\n\n const armTag = await createOrUpdateAppRelease(appConfig?.devArmTag);\n\n if (armTag !== appConfig?.devArmTag) {\n await saveAppConfig(model.projectFolder, { devArmTag: armTag }).catch(\n (error: unknown) => writeDebugLog(error)\n );\n }\n\n projectModelWatcher\n .onChange(async (newModel, changeType) => {\n try {\n if (changeType === 'model-updated') {\n if (newModel.components.length === 0) {\n return;\n }\n\n const updatedAppManifest = await createAppManifestWithBaseUrl(\n newModel,\n devServerUrl,\n backendServerUrl\n );\n\n if (!deepEqual(appManifest, updatedAppManifest)) {\n await updateAppRelease(updatedAppManifest, armTag);\n }\n }\n onChange(changeType);\n } catch (e) {\n onError(e);\n }\n })\n .onError(onError);\n\n return armTag;\n },\n [createAppRelease, model, updateAppRelease, writeDebugLog]\n );\n}\n","export { ARMClient } from './client.js';\nexport { useARMClient } from './useARMClient.js';\n","import type { HttpClient, HttpError } from '@wix/cli-http-client';\nimport type { AppManifest } from '@wix/cli-app-manifest';\nimport type { Options } from 'p-retry';\nimport type {\n VersionType,\n ComponentConfig,\n} from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\nimport {\n createAppRelease,\n promoteAppReleaseToDevCenter,\n updateAppRelease,\n createComponents,\n} from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/http';\nimport pRetry from 'p-retry';\nimport { fields, variant } from 'variant';\nimport { isHttpError } from '@wix/cli-http-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { createAppReleaseSchema, promoteAppReleaseSchema } from './schemas.js';\n\nconst { AppPermissionDenied } = CliErrorCode;\n\nconst UpdateAppReleaseData = variant({\n TagUpdated: {},\n TagNotFound: fields<{ cause: HttpError }>(),\n});\n\nexport class ARMClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n createComponents = async (\n appId: string,\n componentConfigs: ComponentConfig[],\n projectId: string\n ) => {\n try {\n await pRetry(\n () =>\n this.httpClient.request(\n createComponents({\n appId,\n componentConfigs,\n projectId,\n })\n ),\n this.retryOptions\n );\n } catch (e) {\n if (isHttpError(e) && e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId }),\n cause: e,\n });\n }\n throw new CliError({\n code: CliErrorCode.FailedToCreateComponents(),\n cause: e,\n });\n }\n };\n\n createAppRelease = async (manifest: AppManifest, projectId: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createAppRelease({\n appId: manifest.appId,\n componentConfigs: manifest.components,\n projectId,\n })\n ),\n this.retryOptions\n );\n\n return createAppReleaseSchema.parse(data).tag;\n } catch (e) {\n if (isHttpError(e) && e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId: manifest.appId }),\n cause: e,\n });\n }\n throw new CliError({\n code: CliErrorCode.FailedToCreateAppRelease(),\n cause: e,\n });\n }\n };\n\n updateAppRelease = async (manifest: AppManifest, tag: string) => {\n try {\n await pRetry(\n () =>\n this.httpClient.request(\n updateAppRelease({\n appId: manifest.appId,\n componentConfigs: manifest.components,\n tag,\n })\n ),\n this.retryOptions\n );\n\n return UpdateAppReleaseData.TagUpdated();\n } catch (e) {\n if (isHttpError(e)) {\n if (e.response?.status === 404) {\n return UpdateAppReleaseData.TagNotFound({ cause: e });\n }\n if (e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId: manifest.appId }),\n cause: e,\n });\n }\n }\n throw new CliError({\n code: CliErrorCode.FailedToUpdateAppRelease(),\n cause: e,\n });\n }\n };\n\n promoteToDevCenter = async (\n appId: string,\n tag: string,\n versionType: VersionType\n ) => {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n promoteAppReleaseToDevCenter({ appId, tag, versionType })\n ),\n this.retryOptions\n );\n\n return promoteAppReleaseSchema.parse(data);\n };\n}\n",null,"import { z } from 'zod';\n\nexport const promoteAppReleaseSchema = z.object({\n newVersion: z.string(),\n});\n\nexport const createAppReleaseSchema = z.object({\n tag: z.string(),\n});\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { ARMClient } from './client.js';\n\nexport function useARMClient(): ARMClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new ARMClient(httpClient), [httpClient]);\n}\n","import { useRef, useCallback, useEffect } from 'react';\nimport { createServer } from 'vite';\nimport type { InlineConfig, ViteDevServer } from 'vite';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\nimport type { ClientViteConfigOptions } from '../../vite/index.js';\nimport { getClientViteConfig, getBackendViteConfig } from '../../vite/index.js';\nimport { getViteServerUrl } from '../../vite/vite-server-url.js';\nimport { createCustomLogger } from '../../vite/custom-logger.js';\nimport type { CustomLoggerOptions } from '../../vite/custom-logger.js';\nimport type { ProjectModelWatcher } from '../../app-manifest/project-model-watcher.js';\nimport { useProjectModel } from '../../model.js';\nimport { ConfigType } from '../../vite/vite-config-options.js';\n\ninterface Options {\n projectModelWatcher: ProjectModelWatcher;\n onLog: CustomLoggerOptions['onLog'];\n}\n\nfunction useViteDevServer<T>({\n createConfig,\n}: {\n createConfig: (options: T) => Promise<InlineConfig>;\n}) {\n const { reportError } = useErrorReporter();\n const devServerRef = useRef<ViteDevServer>();\n\n useEffect(() => {\n return () => {\n devServerRef.current?.close().catch(reportError);\n };\n }, [reportError]);\n\n return useCallback(\n async (options: T) => {\n const config = await createConfig(options);\n const devServer = await createServer(config);\n\n devServerRef.current = devServer;\n\n await devServer.listen();\n\n return { devServerUrl: getViteServerUrl(devServer), devServer };\n },\n [createConfig]\n );\n}\n\nexport function useClientDevServer({ https }: { https: boolean }) {\n const { model } = useProjectModel();\n\n const createDevServer = useViteDevServer<Options & ClientViteConfigOptions>({\n createConfig: ({ onLog, projectModelWatcher, baseBackendUrl }) => {\n return getClientViteConfig(\n model,\n {\n type: ConfigType.dev,\n https,\n projectModelWatcher,\n customLogger: createCustomLogger({ onLog }),\n },\n { baseBackendUrl }\n );\n },\n });\n\n return createDevServer;\n}\n\nexport function useBackendDevServer({ https }: { https: boolean }) {\n const { model } = useProjectModel();\n const { getAppSecret } = useDevCenterClient();\n\n const createDevServer = useViteDevServer<Options>({\n createConfig: async ({ onLog, projectModelWatcher }) => {\n const appSecret = await getAppSecret({\n appId: model.config.appId,\n });\n\n return getBackendViteConfig(\n model,\n {\n type: ConfigType.dev,\n https,\n projectModelWatcher,\n customLogger: createCustomLogger({ onLog }),\n },\n appSecret\n );\n },\n });\n\n return createDevServer;\n}\n","import type { Logger, Rollup } from 'vite';\n\nexport type LogType = 'error' | 'warning' | 'info';\n\nexport interface CustomLoggerOptions {\n onLog: (type: LogType, msg: string) => void;\n}\n\nexport function createCustomLogger({ onLog }: CustomLoggerOptions): Logger {\n const loggedErrors = new WeakSet<Error | Rollup.RollupError>();\n const warnedMessages = new Set<string>();\n\n const logger: Logger = {\n hasWarned: false,\n info(msg) {\n onLog('info', msg);\n },\n warn(msg) {\n logger.hasWarned = true;\n onLog('warning', msg);\n },\n warnOnce(msg) {\n if (warnedMessages.has(msg)) return;\n logger.hasWarned = true;\n onLog('warning', msg);\n warnedMessages.add(msg);\n },\n error(msg, opts) {\n logger.hasWarned = true;\n onLog('error', msg);\n if (opts?.error) {\n loggedErrors.add(opts.error);\n }\n },\n clearScreen() {},\n hasErrorLogged(error) {\n return loggedErrors.has(error);\n },\n };\n\n return logger;\n}\n","import React, { useCallback, useEffect, useState, useMemo } from 'react';\nimport type { ReactNode, FC } from 'react';\nimport { DEV_LOG_PATH } from '@wix/cli-app-definitions';\nimport { Trans } from '@wix/cli-i18n';\nimport { createRendererToString, Alert, Box, Text } from '@wix/cli-ui-kit';\nimport { DevLogStream } from '../../../files/dev.log.js';\nimport { useProjectModel } from '../../../model.js';\nimport type { LogType } from '../../../vite/custom-logger.js';\nimport { DevEnvLogLine } from './DevEnvLogLine.js';\n\ntype GenericLog = (\n | {\n type: LogType;\n msg: ReactNode;\n error?: never;\n }\n | {\n type: 'error';\n msg?: never;\n error: unknown;\n }\n) & { prefix?: LogPrefix };\n\ntype LogPrefix = 'app' | 'vite' | 'backend';\n\nexport type WriteLogFn = (log: GenericLog) => void;\n\nexport type DevEnvLog = GenericLog & {\n timestamp: Date;\n};\n\nconst ErrorMsg: FC = () => (\n <Box flexDirection=\"column\">\n <Alert type=\"error\">\n <Trans\n i18nKey=\"general.write_dev_log_failure.message\"\n components={[<Text bold />]}\n values={{ path: DEV_LOG_PATH }}\n />\n </Alert>\n <Box paddingTop={1}>\n <Alert type=\"insight\">\n <Trans i18nKey=\"general.write_dev_log_failure.hint\" />\n </Alert>\n </Box>\n </Box>\n);\n\nfunction isMessageFiltered(message: string) {\n if (/Port \\d{1,5} is in use, trying another one/.test(message)) {\n return true;\n }\n\n return false;\n}\n\nexport function useDevEnvLogs() {\n const { model } = useProjectModel();\n const [logs, setLogs] = useState<DevEnvLog[]>([]);\n\n const insertLog = useCallback((genericLog: GenericLog) => {\n const log = { ...genericLog, timestamp: new Date() };\n\n setLogs((logs) => {\n const newLogs = [...logs, log];\n return newLogs;\n });\n\n return log;\n }, []);\n\n const { renderer, stream } = useMemo(() => {\n return {\n renderer: createRendererToString(),\n stream: new DevLogStream(model.projectFolder, {\n onError() {\n insertLog({ type: 'error', msg: <ErrorMsg /> });\n },\n }),\n };\n }, [insertLog, model.projectFolder]);\n\n const writeLog = useCallback<WriteLogFn>(\n (genericLog) => {\n if (genericLog.msg && isMessageFiltered(genericLog.msg.toString())) {\n return;\n }\n\n const log = insertLog(genericLog);\n const content = renderer.render(<DevEnvLogLine {...log} />);\n\n stream.write(content);\n },\n [insertLog, renderer, stream]\n );\n\n const clearLogs = useCallback(() => {\n setLogs([]);\n }, []);\n\n useEffect(() => {\n return () => {\n renderer.unmount();\n stream.close();\n };\n }, [renderer, stream]);\n\n return { logs, writeLog, clearLogs };\n}\n","import { EOL } from 'node:os';\nimport { createWriteStream } from 'node:fs';\nimport type { WriteStream } from 'node:fs';\nimport { getDevLogPath } from '@wix/cli-app-definitions';\n\nexport class DevLogStream {\n private drain = false;\n private readonly stream: WriteStream;\n\n constructor(\n projectFolder: string,\n private readonly opts: { onError: (err: Error) => void }\n ) {\n this.stream = createWriteStream(getDevLogPath(projectFolder), {\n flags: 'w',\n });\n\n this.stream.on('error', this.opts.onError);\n }\n\n write = (content: string) => {\n if (this.drain) {\n this.stream.once('drain', () => {\n this.drain = false;\n this.write(content);\n });\n return;\n }\n\n const written = this.stream.write(content.concat(EOL), (err) => {\n if (err) {\n this.opts.onError(err);\n }\n });\n if (!written) {\n this.drain = true;\n this.stream.once('drain', () => {\n this.drain = false;\n });\n }\n };\n\n close = () => {\n this.stream.close();\n };\n}\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Box, Text } from '@wix/cli-ui-kit';\nimport { ErrorViewer } from '@wix/cli-error-reporting';\nimport type { DevEnvLog } from './useDevEnvLogs.js';\n\nexport const DevEnvLogLine: FC<DevEnvLog> = ({\n type,\n msg,\n error,\n prefix = 'app',\n timestamp,\n}) => {\n return (\n <Box columnGap={1}>\n <Box flexShrink={0}>\n <Text skin=\"secondary\">{timestamp.toLocaleTimeString()}</Text>\n </Box>\n <Box flexShrink={0}>\n <Text skin={type} bold>\n [{prefix}]\n </Text>\n </Box>\n <Box>\n {type === 'error' && error ? (\n <ErrorViewer error={error} />\n ) : typeof msg === 'string' ? (\n <Text>{msg}</Text>\n ) : (\n msg\n )}\n </Box>\n </Box>\n );\n};\n","import React, { useContext, createContext } from 'react';\nimport type { FC, ReactNode } from 'react';\n\ninterface ArmTag {\n armTag: string;\n}\n\nconst ArmTagContext = createContext<ArmTag | null>(null);\n\nexport const ArmTagProvider: FC<{ children: ReactNode; armTag: string }> = ({\n children,\n armTag,\n}) => {\n return (\n <ArmTagContext.Provider value={{ armTag }}>\n {children}\n </ArmTagContext.Provider>\n );\n};\n\nexport const useArmTag = () => {\n const context = useContext(ArmTagContext);\n\n if (context === null) {\n throw new Error('useArmTag() cannot be used without an <ArmTagProvider>');\n }\n\n return context;\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport { deepEqual } from 'fast-equals';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { useSiteOverrideClient } from '@wix/site-override-client';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { useExit } from '@wix/cli-ui-kit';\nimport type { ProjectModelWatcher } from '../../app-manifest/project-model-watcher.js';\nimport { useProjectModel } from '../../model.js';\nimport { createSiteOverrides } from '../../site-override/createSiteOverrides.js';\nimport { useSiteId } from '../../site-id/useSiteId.js';\nimport { readAppConfig, saveAppConfig } from '../../files/app.config.js';\n\nexport function useSiteOverrideUpdater() {\n const { model } = useProjectModel();\n const { site } = useSiteId();\n const exit = useExit();\n const writeDebugLog = useDebugLog();\n const { createOverride } = useSiteOverrideClient();\n const { appId } = model.config;\n\n const siteRef = useRef(site);\n const isUpdaterInitialized = useRef(false);\n\n useEffect(() => {\n siteRef.current = site;\n\n const updateSiteOverrides = async () => {\n const overrides = createSiteOverrides(model) ?? {};\n const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);\n const siteOverrideId = appConfig?.devSiteOverrideId;\n\n if (!siteOverrideId) {\n throw new CliError({\n code: CliErrorCode.InvalidSiteOverrideID(),\n });\n }\n\n await createOverride({\n appId,\n siteId: site.id,\n overrides,\n siteOverrideId,\n });\n };\n\n if (isUpdaterInitialized.current) {\n updateSiteOverrides().catch(exit);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [site]);\n\n return useCallback(\n async ({\n projectModelWatcher,\n }: {\n projectModelWatcher: ProjectModelWatcher;\n }) => {\n const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);\n let overrides = createSiteOverrides(model) ?? {};\n\n const { id: siteOverrideId } = await createOverride({\n appId,\n siteId: site.id,\n overrides,\n siteOverrideId: appConfig?.devSiteOverrideId,\n });\n\n projectModelWatcher.onChange(async (newModel, changeType) => {\n if (changeType === 'model-updated') {\n const updatedOverrides = createSiteOverrides(newModel) ?? {};\n\n if (!deepEqual(overrides, updatedOverrides)) {\n await createOverride({\n appId,\n siteId: siteRef.current.id,\n overrides: updatedOverrides,\n siteOverrideId,\n });\n\n overrides = updatedOverrides;\n }\n }\n });\n\n if (siteOverrideId !== appConfig?.devSiteOverrideId) {\n await saveAppConfig(model.projectFolder, {\n devSiteOverrideId: siteOverrideId,\n }).catch((error: unknown) => writeDebugLog(error));\n }\n\n isUpdaterInitialized.current = true;\n\n return siteOverrideId;\n },\n [model, writeDebugLog, createOverride, appId, site]\n );\n}\n","export { SiteOverrideClient } from './client.js';\nexport type { ComponentsForSiteOverride } from './client.js';\nexport { useSiteOverrideClient } from './useSiteOverrideClient.js';\n","import type { HttpClient } from '@wix/cli-http-client';\nimport type { Options } from 'p-retry';\nimport pRetry from 'p-retry';\nimport { createOverride } from '@wix/ambassador-cli-site-override-service-v1-site-override/http';\nimport { isHttpError } from '@wix/cli-http-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport type { ComponentOverride } from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport { createOverrideSchema } from './schemas.js';\n\nexport type ComponentsForSiteOverride = Record<string, ComponentOverride>;\n\nexport class SiteOverrideClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n public createOverride = async ({\n appId,\n siteId,\n overrides,\n siteOverrideId,\n }: {\n appId: string;\n siteId: string;\n overrides: ComponentsForSiteOverride;\n siteOverrideId?: string;\n }) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createOverride({\n siteOverride: {\n id: siteOverrideId,\n appId,\n siteId,\n overrides,\n },\n })\n ),\n this.retryOptions\n );\n\n return createOverrideSchema.parse(data).siteOverride;\n } catch (error) {\n if (isHttpError(error) && error.response?.status === 403) {\n if (\n error.response.data?.details?.applicationError?.code ===\n 'PERMISSION_DENIED_FOR_SITE'\n ) {\n throw new CliError({\n code: CliErrorCode.SitePermissionDenied({ siteId }),\n cause: error,\n });\n }\n\n throw new CliError({\n code: CliErrorCode.AppPermissionDenied({ appId }),\n cause: error,\n });\n }\n\n throw new CliError({\n code: CliErrorCode.FailedToCreateSiteOverride(),\n cause: error,\n });\n }\n };\n}\n",null,"import { z } from 'zod';\n\nexport const createOverrideSchema = z.object({\n siteOverride: z.object({\n id: z.string(),\n }),\n});\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { SiteOverrideClient } from './client.js';\n\nexport function useSiteOverrideClient() {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new SiteOverrideClient(httpClient), [httpClient]);\n}\n","import { isType } from 'variant';\nimport { Type } from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport type { ComponentOverride } from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport type { ProjectModel } from '../model.js';\nimport { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\n\nexport function createSiteOverrides(model: ProjectModel) {\n const componentsToOverride = model.components.filter(\n isType(DevCenterComponent.EmbeddedScript)\n );\n\n if (componentsToOverride.length === 0) {\n return null;\n }\n\n return componentsToOverride.reduce<Record<string, ComponentOverride>>(\n (acc, component) => {\n const paramsOverride = component.paramsOverride ?? {};\n\n return {\n ...acc,\n [component.id]: {\n type: Type.EMBEDDED_SCRIPT,\n componentId: component.id,\n embeddedScriptOptions: { parameters: paramsOverride },\n },\n };\n },\n {}\n );\n}\n",null,"import { useContext } from 'react';\nimport { SiteIdContext } from './context.js';\nimport type { SiteIdState } from './context.js';\n\nexport function useSiteId(): SiteIdState {\n const context = useContext(SiteIdContext);\n if (context === null) {\n throw new Error('useSiteId() cannot be used without an <SiteIdProvider>');\n }\n return context;\n}\n","import { createContext } from 'react';\nimport type { Site } from '@wix/site-list-client';\n\nexport interface SiteIdState {\n site: Site;\n setSite: (site: Site) => Promise<void>;\n}\n\nexport const SiteIdContext = createContext<SiteIdState | null>(null);\n","import React, { useContext, createContext } from 'react';\nimport type { FC, ReactNode } from 'react';\n\ninterface SiteOverride {\n siteOverrideId?: string;\n}\n\nconst SiteOverrideContext = createContext<SiteOverride | null>(null);\n\nexport const SiteOverrideProvider: FC<{\n children: ReactNode;\n siteOverrideId?: string;\n}> = ({ children, siteOverrideId }) => {\n return (\n <SiteOverrideContext.Provider value={{ siteOverrideId }}>\n {children}\n </SiteOverrideContext.Provider>\n );\n};\n\nexport const useSiteOverrideId = () => {\n const context = useContext(SiteOverrideContext);\n\n if (context === null) {\n throw new Error(\n 'useSiteOverrideId() cannot be used without an <SiteOverrideProvider>'\n );\n }\n\n return context;\n};\n","import pRetry from 'p-retry';\nimport type { Options } from 'p-retry';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { QuerySitesRequest } from '@wix/ambassador-site-list-v2-site/types';\nimport { querySites } from '@wix/ambassador-site-list-v2-site/http';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { querySitesSchema } from './schemas.js';\n\nexport class SiteListClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n querySites = async (opts: QuerySitesRequest = {}) => {\n try {\n const { data } = await pRetry(\n () => this.httpClient.request(querySites(opts)),\n this.retryOptions\n );\n\n return querySitesSchema.parse(data).sites;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToQuerySites(),\n cause: e,\n info: { ...opts },\n });\n }\n };\n\n getSite = async (id: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n querySites({ query: { filter: { id: { $in: [id] } } } })\n ),\n this.retryOptions\n );\n\n const { sites } = querySitesSchema.parse(data);\n return sites.at(0) ?? null;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSite(),\n cause: e,\n info: { id },\n });\n }\n };\n}\n",null,"import { z } from 'zod';\n\nconst siteSchema = z.object({\n id: z.string(),\n displayName: z.string(),\n viewUrl: z.union([z.string().url(), z.literal('')]).optional(),\n});\n\nexport const querySitesSchema = z.object({\n sites: z.array(siteSchema),\n});\n\nexport type Site = z.TypeOf<typeof siteSchema>;\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { SiteListClient } from './site-list-client.js';\n\nexport function useSiteListClient(): SiteListClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new SiteListClient(httpClient), [httpClient]);\n}\n","export { SiteListClient } from './site-list-client.js';\nexport type { Site } from './schemas.js';\nexport { useSiteListClient } from './useSiteListClient.js';\n","import { variant, fields } from 'variant';\nimport type { VariantOf, TypeNames } from 'variant';\nimport type { Site } from '@wix/site-list-client';\n\nexport const SiteIdState = variant({\n NotConfigured: {},\n NotFound: fields<{ id: string }>(),\n Resolved: fields<{ site: Site }>(),\n});\n\nexport type SiteIdState<T extends TypeNames<typeof SiteIdState> = undefined> =\n VariantOf<typeof SiteIdState, T>;\n","import type { SiteListClient } from '@wix/site-list-client';\nimport type { WriteDebugLogFn } from '@wix/cli-debug-log';\nimport { readAppConfig } from '../files/app.config.js';\nimport { SiteIdState } from './site-id-state.js';\n\nexport async function resolveConfiguredSite({\n projectFolder,\n siteListClient: { getSite },\n siteId,\n writeDebugLog,\n}: {\n projectFolder: string;\n siteListClient: SiteListClient;\n siteId?: string;\n writeDebugLog?: WriteDebugLogFn;\n}) {\n const resolvedSiteId = !siteId\n ? (await readAppConfig(projectFolder, writeDebugLog))?.siteId\n : siteId;\n\n if (!resolvedSiteId) {\n return SiteIdState.NotConfigured();\n }\n\n const site = await getSite(resolvedSiteId);\n\n if (!site) {\n return SiteIdState.NotFound({ id: resolvedSiteId });\n }\n\n return SiteIdState.Resolved({ site });\n}\n","import React, { useCallback } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { matcher, match, isOfVariant, variantList, isType } from 'variant';\nimport { openBrowser } from '@wix/user-browser';\nimport type { Site } from '@wix/site-list-client';\nimport { Alert, Link, Text, Newline } from '@wix/cli-ui-kit';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { URL } from 'node:url';\nimport type { WriteLogFn } from '../DevCommand/devEnvLogs/useDevEnvLogs.js';\nimport { useProjectModel } from '../../model.js';\nimport { useSiteId } from '../../site-id/useSiteId.js';\nimport { useArmTag } from '../../context/armTag.js';\nimport type { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\nimport type { DashboardExtension } from './useExtensions.js';\nimport { useSiteOverrideId } from '../../context/siteOverride.js';\nimport { useDevEnvironment } from '../DevCommand/DevEnvironment.js';\n\n/*\nThis function is a workaround to open the new CSM v2 experience to external users before the experiment is open to external users.\n\nIn the *editor and viewer* we are using elgar to redirect the user to the editor with the overrides in his cookie - since there is no support for query params overrides in certain flows.\n*/\nexport const redirectWithCSMv2FTs = (\n url: URL,\n platformType: PlatformType\n): URL => {\n const elgarBaseURL = isType(platformType, PlatformType.Site)\n ? `${url.origin}/_api`\n : 'https://apps.wix.com';\n const elgarRedirectUrl = new URL(`${elgarBaseURL}/elgar-server/redirect`);\n\n const petriOvr = [\n 'specs.UseAppsRuntimeCache',\n 'specs.ApplyQueryParamsOverrides',\n ];\n\n petriOvr.forEach((spec) => {\n elgarRedirectUrl.searchParams.append('experiments', `${spec}#true`);\n });\n elgarRedirectUrl.searchParams.append('redirectToUrl', url.toString());\n elgarRedirectUrl.searchParams.append('staticsVersions', '{}');\n\n return elgarRedirectUrl;\n};\n\nfunction wrapWithRedirectUrl({\n url,\n clientDevServerUrl,\n}: {\n url: string;\n clientDevServerUrl: string;\n}) {\n const redirectUrl = new URL('/redirect', clientDevServerUrl);\n redirectUrl.searchParams.append('url', url);\n\n return redirectUrl.href;\n}\n\nexport function useResolvePlatformUrl() {\n const { model } = useProjectModel();\n const { site } = useSiteId();\n const { armTag } = useArmTag();\n const { siteOverrideId } = useSiteOverrideId();\n\n return useCallback(\n (platformType: PlatformType) => {\n return resolvePlatformUrl(platformType, {\n site,\n appId: model.config.appId,\n tag: armTag,\n siteOverrideId,\n });\n },\n [site, model.config.appId, armTag, siteOverrideId]\n );\n}\n\nexport function useResolvePlatformDevUrl() {\n const resolvePlatformUrl = useResolvePlatformUrl();\n const { https, clientDevServerUrl } = useDevEnvironment();\n\n return useCallback(\n (platformType: PlatformType) => {\n let url = resolvePlatformUrl(platformType);\n\n if (https) {\n url = wrapWithRedirectUrl({ url, clientDevServerUrl });\n }\n\n return url;\n },\n [resolvePlatformUrl, https, clientDevServerUrl]\n );\n}\n\nexport function resolvePlatformUrl(\n platformType: PlatformType,\n options: {\n site: Site;\n appId: string;\n tag: string;\n siteOverrideId?: string;\n }\n) {\n const { site, tag, siteOverrideId } = options;\n\n const url = match(platformType, {\n Dashboard: () => new URL(`dashboard/${site.id}`, 'https://manage.wix.com/'),\n Editor: () => new URL(`https://wix.com/editor/${site.id}`),\n Site: () => {\n const siteUrl = new URL(site.viewUrl!);\n if (siteOverrideId) {\n siteUrl.searchParams.append('site-override', siteOverrideId);\n }\n return siteUrl;\n },\n });\n\n url.searchParams.append('apps-override', tag);\n\n return isOfVariant(\n platformType,\n variantList([PlatformType.Editor, PlatformType.Site])\n )\n ? redirectWithCSMv2FTs(url, platformType).toString()\n : url.toString();\n}\n\nexport function useResolveDashboardExtensionUrl() {\n const { model } = useProjectModel();\n const { site } = useSiteId();\n const { armTag } = useArmTag();\n const { siteOverrideId } = useSiteOverrideId();\n\n return useCallback(\n (extension: DevCenterComponent<DashboardExtension>) => {\n return resolveDashboardExtensionUrl(extension, {\n site,\n appId: model.config.appId,\n tag: armTag,\n siteOverrideId,\n });\n },\n [site, model.config.appId, armTag, siteOverrideId]\n );\n}\n\nexport function useResolveDashboardExtensionDevUrl() {\n const resolveDashboardExtensionUrl = useResolveDashboardExtensionUrl();\n const { https, clientDevServerUrl } = useDevEnvironment();\n\n return useCallback(\n (extension: DevCenterComponent<DashboardExtension>) => {\n let url = resolveDashboardExtensionUrl(extension);\n\n if (https) {\n url = wrapWithRedirectUrl({ url, clientDevServerUrl });\n }\n\n return url;\n },\n [resolveDashboardExtensionUrl, https, clientDevServerUrl]\n );\n}\n\nexport function resolveDashboardExtensionUrl(\n extension: DevCenterComponent<DashboardExtension>,\n options: {\n site: Site;\n appId: string;\n tag: string;\n siteOverrideId?: string;\n }\n) {\n const { appId, site, tag } = options;\n\n const url = matcher(extension)\n .with({\n DashboardPage: () =>\n new URL(\n `dashboard/${site.id}/app/${appId}${extension.route}`,\n 'https://manage.wix.com/'\n ),\n })\n .when(\n ['DashboardMenuPlugin', 'DashboardPlugin', 'DashboardModal'],\n () =>\n new URL(\n `dashboard/${site.id}${extension.route}`,\n 'https://manage.wix.com/'\n )\n )\n .complete();\n\n url.searchParams.append('apps-override', tag);\n\n return url.toString();\n}\n\nexport const openPage = async (\n { url, title }: { url: string; title: string },\n writeLog: WriteLogFn\n) => {\n try {\n await openBrowser(url);\n } catch {\n writeLog({\n type: 'error',\n prefix: 'app',\n msg: (\n <Alert type=\"error\">\n <Trans\n i18nKey=\"general.open_page_error\"\n components={[<Text bold />]}\n values={{ title }}\n />\n <Newline />\n <Link url={url} />\n </Alert>\n ),\n });\n }\n};\n"],"mappings":"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","names":["init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","init_esm_shims","init_esm_shims","_createAppReleaseRequest","_createAppReleaseResponse","_createComponentsRequest","_createComponentsResponse","_promoteAppReleaseToDevCenterRequest","_promoteAppReleaseToDevCenterResponse","_updateAppReleaseRequest","_updateAppReleaseResponse","resolveComWixCtpAppsReleaseManagerServiceUrl","opts","domainToMappings","resolveUrl","createAppRelease","payload","_a","serializer","_createAppReleaseRequest","toReq","fromReq","fromRes","_createAppReleaseResponse","__createAppRelease","host","serializedData","metadata","updateAppRelease","__updateAppRelease","createComponents","_createComponentsRequest","_createComponentsResponse","__createComponents","promoteAppReleaseToDevCenter","payload","_a","serializer","_promoteAppReleaseToDevCenterRequest","toReq","fromReq","fromRes","_promoteAppReleaseToDevCenterResponse","__promoteAppReleaseToDevCenter","host","serializedData","metadata","resolveComWixCtpAppsReleaseManagerServiceUrl","import_variant","init_esm_shims","promoteAppReleaseSchema","z","createAppReleaseSchema","AppPermissionDenied","CliErrorCode","UpdateAppReleaseData","ARMClient","httpClient","minRetryTimeout","getTestOverrides","appId","componentConfigs","projectId","pRetry","createComponents","e","isHttpError","CliError","manifest","data","createAppRelease","createAppReleaseSchema","tag","updateAppRelease","versionType","promoteAppReleaseToDevCenter","promoteAppReleaseSchema","init_esm_shims","import_react","useARMClient","httpClient","useHttpClient","ARMClient","createAppManifestWithBaseUrl","model","clientDevServerUrl","backendServerUrl","manifest","createAppManifest","getComponentSourceBuilder","updateAppManifestWithBaseUrl","useArmUpdater","useProjectModel","writeDebugLog","useDebugLog","createAppRelease","updateAppRelease","useARMClient","devServerUrl","projectModelWatcher","onChange","onError","projectId","appManifest","appConfig","readAppConfig","armTag","tag","updateState","cause","saveAppConfig","error","newModel","changeType","updatedAppManifest","deepEqual","e","init_esm_shims","import_react","createServer","init_esm_shims","createCustomLogger","onLog","loggedErrors","warnedMessages","logger","msg","opts","error","useViteDevServer","createConfig","reportError","useErrorReporter","devServerRef","options","config","devServer","createServer","getViteServerUrl","useClientDevServer","https","model","useProjectModel","onLog","projectModelWatcher","baseBackendUrl","getViteConfig","createCustomLogger","useBackendDevServer","getAppSecret","useDevCenterClient","appSecret","init_esm_shims","import_react","init_esm_shims","EOL","createWriteStream","DevLogStream","projectFolder","opts","createWriteStream","getDevLogPath","content","EOL","err","init_esm_shims","import_react","DevEnvLogLine","type","msg","error","prefix","timestamp","React","Box_default","Text","ErrorViewer","ErrorMsg","React","Box_default","Alert","Trans","Text","DEV_LOG_PATH","isMessageFiltered","message","useDevEnvLogs","model","useProjectModel","logs","setLogs","insertLog","genericLog","log","renderer","stream","createRendererToString","DevLogStream","writeLog","content","DevEnvLogLine","clearLogs","init_esm_shims","import_react","ArmTagContext","ArmTagProvider","children","armTag","React","useArmTag","context","init_esm_shims","import_react","init_esm_shims","init_esm_shims","init_esm_shims","_createOverrideRequest","_createOverrideResponse","resolveWixCliV1SiteOverrideServiceUrl","opts","domainToMappings","resolveUrl","createOverride","payload","_a","serializer","_createOverrideRequest","toReq","fromReq","fromRes","_createOverrideResponse","__createOverride","host","serializedData","metadata","resolveWixCliV1SiteOverrideServiceUrl","init_esm_shims","createOverrideSchema","z","SiteOverrideClient","httpClient","minRetryTimeout","getTestOverrides","appId","siteId","overrides","siteOverrideId","data","pRetry","createOverride","createOverrideSchema","error","isHttpError","CliError","CliErrorCode","init_esm_shims","import_react","useSiteOverrideClient","httpClient","useHttpClient","SiteOverrideClient","init_esm_shims","import_variant","init_esm_shims","Type","WebhookIdentityType","createSiteOverrides","model","componentsToOverride","DevCenterComponent","acc","component","paramsOverride","Type","init_esm_shims","import_react","init_esm_shims","import_react","SiteIdContext","useSiteId","context","SiteIdContext","useSiteOverrideUpdater","model","useProjectModel","site","useSiteId","exit","useExit","writeDebugLog","useDebugLog","createOverride","useSiteOverrideClient","appId","siteRef","isUpdaterInitialized","updateSiteOverrides","overrides","createSiteOverrides","siteOverrideId","readAppConfig","CliError","CliErrorCode","projectModelWatcher","appConfig","newModel","changeType","updatedOverrides","deepEqual","saveAppConfig","error","init_esm_shims","import_react","SiteOverrideContext","SiteOverrideProvider","children","siteOverrideId","React","useSiteOverrideId","context","DevEnvironmentContext","DevEnvironmentProvider","https","children","t","useTranslation","reportError","useErrorReporter","backendComponents","backendComponentsByType","useBackendComponents","createClientDevServer","useClientDevServer","createBackendDevServer","useBackendDevServer","startTunnel","useTunnel","createArmUpdater","useArmUpdater","createSiteOverrideUpdater","useSiteOverrideUpdater","logs","writeLog","clearLogs","useDevEnvLogs","projectModelWatcher","useProjectModel","status","useAsync","backendDevServerUrl","type","msg","devServerUrl","tunnelUrl","url","clientDevServerUrl","clientDevServer","armTag","changeType","error","siteOverrideId","React","Spinner","SiteOverrideProvider","ArmTagProvider","useDevEnvironment","context","init_esm_shims","init_esm_shims","_querySitesRequest","_querySitesResponse","_site","resolveComWixpressSitelistApiSiteListServiceV2Url","opts","domainToMappings","resolveUrl","querySites","payload","_a","serializer","toReq","fromReq","fromRes","__querySites","host","serializedData","metadata","init_esm_shims","siteSchema","z","querySitesSchema","SiteListClient","httpClient","minRetryTimeout","getTestOverrides","opts","data","pRetry","querySites","querySitesSchema","e","CliError","CliErrorCode","id","sites","init_esm_shims","import_react","useSiteListClient","httpClient","useHttpClient","SiteListClient","init_esm_shims","init_esm_shims","import_variant","SiteIdState","init_esm_shims","resolveConfiguredSite","projectFolder","getSite","siteId","writeDebugLog","resolvedSiteId","readAppConfig","SiteIdState","site","init_esm_shims","import_react","import_variant","URL","redirectWithCSMv2FTs","url","platformType","elgarBaseURL","PlatformType","elgarRedirectUrl","URL","spec","wrapWithRedirectUrl","clientDevServerUrl","redirectUrl","useResolvePlatformUrl","model","useProjectModel","site","useSiteId","armTag","useArmTag","siteOverrideId","useSiteOverrideId","resolvePlatformUrl","useResolvePlatformDevUrl","https","useDevEnvironment","options","tag","siteUrl","useResolveDashboardExtensionUrl","extension","resolveDashboardExtensionUrl","useResolveDashboardExtensionDevUrl","appId","openPage","title","writeLog","openBrowser","React","Alert","Trans","Text","Newline","Link"]}
|
package/build/chunk-AQLOAQFB.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a as Q,b as W}from"./chunk-RSCSYMHP.js";import{c as M}from"./chunk-SUKF3ONU.js";import{a as J}from"./chunk-AKOLPD6V.js";import{g as N,i as V,k as Y,l as q,m as H,n as z}from"./chunk-AODPLKHZ.js";import{a as K}from"./chunk-U3X4QFEY.js";import{Ra as L,Sa as h,Ta as j,Ua as E,bb as G,u as F,ub as D}from"./chunk-TT7ANJ37.js";import{A as I,C as _,M as O,P as b,S as k,T as l,W as B,X as U,b as f,c as A,x as d}from"./chunk-Z6KGERGI.js";import{e as c,h as t}from"./chunk-V4TR6DCM.js";t();t();var x=c(f(),1);t();var e=c(f(),1),Z=c(A(),1);t();var v=c(f(),1),X=c(A(),1),C=({status:i,loadingText:s,successText:n})=>(0,X.match)(i,{NotRequested:()=>null,Loading:()=>v.default.createElement(b,{text:s}),Error:()=>null,Success:()=>v.default.createElement(O,{type:"success"},n)});var $=({baseUrl:i,onPreviewCreated:s})=>{let{site:n}=H(),{t:m}=U(),{model:r}=D(),{backendComponents:R}=K(),ee=N(),re=F(),{getAppByVersion:oe}=E(),{createOverride:te}=Y(),ie=j({type:"backoffice"}),y=l(()=>G(r.config.appId,r.projectFolder,re,ie,R.length>0)),ne=l((p,o)=>te({appId:r.config.appId,siteId:n.id,overrides:o})),P=l((p,o,u,a)=>J({model:r,arm:ee,serveUrl:o,backendServerUrl:a,topologyComponentId:u})),{status:se}=k(async()=>{await Q(r.projectFolder);let{serveUrl:p,backendServerUrl:o}=i?{serveUrl:i,backendServerUrl:void 0}:await y.execute(),{data:{components:u}}=await oe({appId:r.config.appId}),a=u.find(pe=>pe.compType===h.TOPOLOGY),S=q(r),{id:me}=S?await ne.execute(S):await Promise.resolve({id:void 0}),T=await P.execute(p,a?.compId,o);return a&&await L(r.projectFolder,{topologyComponentId:a.compId}),s?.(T,o),{armTag:T,siteOverrideId:me}},[]);return e.default.createElement(e.default.Fragment,null,e.default.createElement(C,{status:y.status,loadingText:m("preview_command.uploading_files"),successText:m("preview_command.uploading_files_success")}),e.default.createElement(C,{status:P.status,loadingText:m("preview_command.creating_preview"),successText:m("preview_command.creating_preview_success")}),(0,Z.match)(se,{Error:()=>null,Loading:()=>null,Success:({result:{armTag:p,siteOverrideId:o}})=>e.default.createElement(z,{siteOverrideId:o},e.default.createElement(V,{armTag:p},e.default.createElement(d,{rowGap:1,marginY:1,flexDirection:"column"},e.default.createElement(d,{gap:1},e.default.createElement(_,null),e.default.createElement(B,{i18nKey:"general.dev_site.current",values:{name:n.displayName}})),e.default.createElement(d,{rowGap:1},e.default.createElement(W,null)),e.default.createElement(I,{skin:"info"},m("preview_command.note_about_temporary_backend")))))}))};var ae=({baseUrl:i,siteIdOverride:s,onPreviewCreated:n})=>x.default.createElement(M,{siteId:s},x.default.createElement($,{baseUrl:i,onPreviewCreated:n}));export{ae as a};
|
|
4
|
-
//# sourceMappingURL=chunk-AQLOAQFB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/PreviewCommand/index.ts","../src/components/PreviewCommand/PreviewCommand.tsx","../src/components/PreviewCommand/Preview.tsx","../src/components/PreviewCommand/ActionStatus.tsx"],"sourcesContent":["export { PreviewCommand } from './PreviewCommand.js';\n","import React from 'react';\nimport type { FC } from 'react';\nimport { SiteIdProvider } from '../../site-id/index.js';\nimport { Preview } from './Preview.js';\n\nexport const PreviewCommand: FC<{\n baseUrl?: string;\n siteIdOverride?: string;\n onPreviewCreated?: (tag: string) => void;\n}> = ({ baseUrl, siteIdOverride, onPreviewCreated }) => {\n return (\n <SiteIdProvider siteId={siteIdOverride}>\n <Preview baseUrl={baseUrl} onPreviewCreated={onPreviewCreated} />\n </SiteIdProvider>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { useARMClient } from '@wix/arm-client';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport {\n Text,\n Box,\n PointerIcon,\n useAsync,\n useAsyncCallback,\n} from '@wix/cli-ui-kit';\nimport { useDevCenterClient, ComponentType } from '@wix/dev-center-client';\nimport type { TopologyComponent } from '@wix/dev-center-client';\nimport type { ComponentsForSiteOverride } from '@wix/site-override-client';\nimport { useSiteOverrideClient } from '@wix/site-override-client';\nimport { useProjectModel } from '../../model.js';\nimport { useSiteId } from '../../site-id/index.js';\nimport { ArmTagProvider } from '../../context/armTag.js';\nimport { createPreviewTag } from '../../preview/create-preview-tag.js';\nimport { uploadApplication } from '../../hosting/upload-application.js';\nimport { assertBuildOutputExists } from '../../files/assert-build-output-exists.js';\nimport { ActionStatus } from './ActionStatus.js';\nimport { PlatformViewer } from '../Platform/PlatformViewer.js';\nimport { saveAppConfig } from '../../files/app.config.js';\nimport { useBackendComponents } from '../../backend/useBackendComponents.js';\nimport { createSiteOverrides } from '../../site-override/createSiteOverrides.js';\nimport { SiteOverrideProvider } from '../../context/siteOverride.js';\n\nexport const Preview: FC<{\n baseUrl?: string;\n onPreviewCreated?: (tag: string, backendServerUrl?: string) => void;\n}> = ({ baseUrl, onPreviewCreated }) => {\n const { site } = useSiteId();\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const { backendComponents } = useBackendComponents();\n const arm = useARMClient();\n const biLogger = useBiLogger();\n const { getAppByVersion } = useDevCenterClient();\n const { createOverride } = useSiteOverrideClient();\n const httpClient = useHttpClient({ type: 'backoffice' });\n\n const uploadApplicationAction = useAsyncCallback(() =>\n uploadApplication(\n model.config.appId,\n model.projectFolder,\n biLogger,\n httpClient,\n backendComponents.length > 0\n )\n );\n\n const createSiteOverrideIdAction = useAsyncCallback(\n (_, overrides: ComponentsForSiteOverride) =>\n createOverride({\n appId: model.config.appId,\n siteId: site.id,\n overrides,\n })\n );\n\n const createPreviewTagAction = useAsyncCallback(\n (\n _,\n serveUrl: string,\n topologyComponentId?: string,\n backendServerUrl?: string\n ) =>\n createPreviewTag({\n model,\n arm,\n serveUrl,\n backendServerUrl,\n topologyComponentId,\n })\n );\n\n const { status: createPreviewStatus } = useAsync(async () => {\n await assertBuildOutputExists(model.projectFolder);\n const { serveUrl, backendServerUrl } = baseUrl\n ? { serveUrl: baseUrl, backendServerUrl: undefined }\n : await uploadApplicationAction.execute();\n const {\n data: { components },\n } = await getAppByVersion({\n appId: model.config.appId,\n });\n const topologyComponent = components.find(\n (component): component is TopologyComponent => {\n return component.compType === ComponentType.TOPOLOGY;\n }\n );\n const overrides = createSiteOverrides(model);\n const { id: siteOverrideId } = overrides\n ? await createSiteOverrideIdAction.execute(overrides)\n : await Promise.resolve({ id: undefined });\n const armTag = await createPreviewTagAction.execute(\n serveUrl,\n topologyComponent?.compId,\n backendServerUrl\n );\n\n if (topologyComponent) {\n // Once there is topology in production I want to use the same id for dev as well,\n // to reduce confusion during debug.\n await saveAppConfig(model.projectFolder, {\n topologyComponentId: topologyComponent.compId,\n });\n }\n\n onPreviewCreated?.(armTag, backendServerUrl);\n\n return { armTag, siteOverrideId };\n }, []);\n\n return (\n <>\n <ActionStatus\n status={uploadApplicationAction.status}\n loadingText={t('preview_command.uploading_files')}\n successText={t('preview_command.uploading_files_success')}\n />\n <ActionStatus\n status={createPreviewTagAction.status}\n loadingText={t('preview_command.creating_preview')}\n successText={t('preview_command.creating_preview_success')}\n />\n {match(createPreviewStatus, {\n Error: () => null,\n Loading: () => null,\n Success: ({ result: { armTag, siteOverrideId } }) => (\n <SiteOverrideProvider siteOverrideId={siteOverrideId}>\n <ArmTagProvider armTag={armTag}>\n <Box rowGap={1} marginY={1} flexDirection=\"column\">\n <Box gap={1}>\n <PointerIcon />\n <Trans\n i18nKey=\"general.dev_site.current\"\n values={{ name: site.displayName }}\n />\n </Box>\n <Box rowGap={1}>\n <PlatformViewer />\n </Box>\n <Text skin=\"info\">\n {t('preview_command.note_about_temporary_backend')}\n </Text>\n </Box>\n </ArmTagProvider>\n </SiteOverrideProvider>\n ),\n })}\n </>\n );\n};\n","import type { AsyncCallbackStatus } from '@wix/cli-ui-kit';\nimport { Alert, Spinner } from '@wix/cli-ui-kit';\nimport type { FC } from 'react';\nimport React from 'react';\nimport { match } from 'variant';\n\nexport const ActionStatus: FC<{\n status: AsyncCallbackStatus<unknown>;\n loadingText: string;\n successText: string;\n}> = ({ status, loadingText, successText }) =>\n match(status, {\n NotRequested: () => null,\n Loading: () => <Spinner text={loadingText} />,\n Error: () => null,\n Success: () => <Alert type=\"success\">{successText}</Alert>,\n });\n"],"mappings":"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","names":["init_esm_shims","init_esm_shims","import_react","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","ActionStatus","status","loadingText","successText","React","Spinner","Alert","Preview","baseUrl","onPreviewCreated","site","useSiteId","t","useTranslation","model","useProjectModel","backendComponents","useBackendComponents","arm","useARMClient","biLogger","useBiLogger","getAppByVersion","useDevCenterClient","createOverride","useSiteOverrideClient","httpClient","useHttpClient","uploadApplicationAction","useAsyncCallback","uploadApplication","createSiteOverrideIdAction","_","overrides","createPreviewTagAction","serveUrl","topologyComponentId","backendServerUrl","createPreviewTag","createPreviewStatus","useAsync","assertBuildOutputExists","components","topologyComponent","component","ComponentType","createSiteOverrides","siteOverrideId","armTag","saveAppConfig","React","ActionStatus","SiteOverrideProvider","ArmTagProvider","Box_default","PointerIcon","Trans","PlatformViewer","Text","PreviewCommand","baseUrl","siteIdOverride","onPreviewCreated","React","SiteIdProvider","Preview"]}
|
package/build/chunk-PWIPMRWY.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a as n}from"./chunk-ZN6WU4UI.js";import{Y as t}from"./chunk-Z6KGERGI.js";import{h as r}from"./chunk-V4TR6DCM.js";r();function s(){let e=t(n);return e.t.bind(e)}export{s as a};
|
|
4
|
-
//# sourceMappingURL=chunk-PWIPMRWY.js.map
|