@wix/cli-app 1.1.33 → 1.1.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/build/CreateVersionCommand-3ECZI65A.js +4 -0
  2. package/build/{CreateVersionCommand-DYEPGQUL.js.map → CreateVersionCommand-3ECZI65A.js.map} +1 -1
  3. package/build/DevCommand-B7WYY2UQ.js +4 -0
  4. package/build/DevCommand-B7WYY2UQ.js.map +1 -0
  5. package/build/{GenerateCommand-HAREJGST.js → GenerateCommand-CIO77YCS.js} +2 -2
  6. package/build/LogsCommand-VJ64MYDN.js +4 -0
  7. package/build/LogsCommand-VJ64MYDN.js.map +1 -0
  8. package/build/PreviewCommand-BZY2XOZN.js +4 -0
  9. package/build/ServeCommand-AEELDVFH.js +4 -0
  10. package/build/ServeCommand-AEELDVFH.js.map +1 -0
  11. package/build/{build-57Q22ZQB.js → build-JVHXDZDD.js} +2 -2
  12. package/build/{chunk-QPAM4OF5.js → chunk-2KPKOJPE.js} +2 -2
  13. package/build/chunk-35SQ77PW.js +4 -0
  14. package/build/chunk-35SQ77PW.js.map +1 -0
  15. package/build/{chunk-TBNJFVSI.js → chunk-COIDN4V4.js} +2 -2
  16. package/build/{chunk-LBMDBGQY.js → chunk-E6MYDYCH.js} +2 -2
  17. package/build/{chunk-5QHRKYZO.js → chunk-F4LXYTO3.js} +2 -2
  18. package/build/{chunk-KJMWKJXC.js → chunk-F4YTZ6XA.js} +12 -12
  19. package/build/{chunk-KJMWKJXC.js.map → chunk-F4YTZ6XA.js.map} +1 -1
  20. package/build/{chunk-QF5IXGT3.js → chunk-F55KYUXJ.js} +2 -2
  21. package/build/{chunk-2P6DNBHW.js → chunk-FBYP5GID.js} +2 -2
  22. package/build/{chunk-CAFL5PGF.js → chunk-HTO6ALNX.js} +2 -2
  23. package/build/{chunk-AA74H3TG.js → chunk-HTY6QIPX.js} +2 -2
  24. package/build/{chunk-NIFVIO6B.js → chunk-JAY5356K.js} +2 -2
  25. package/build/{chunk-BQUJNTD3.js → chunk-JKG4PFVP.js} +2 -2
  26. package/build/{chunk-DRRMAC33.js → chunk-MB65UVFQ.js} +28 -28
  27. package/build/chunk-MB65UVFQ.js.map +1 -0
  28. package/build/chunk-MKVAJTCF.js +4 -0
  29. package/build/chunk-MKVAJTCF.js.map +1 -0
  30. package/build/{chunk-CH25SGQ6.js → chunk-MON4UIEH.js} +2 -2
  31. package/build/chunk-QTYWYBN3.js +4 -0
  32. package/build/chunk-QTYWYBN3.js.map +1 -0
  33. package/build/{chunk-TUMP3O53.js → chunk-ROZV4SHP.js} +2 -2
  34. package/build/{chunk-ASR5T2EG.js → chunk-X62VPDUS.js} +2 -2
  35. package/build/{chunk-OVY3XD7N.js → chunk-XUF2HJAT.js} +2 -2
  36. package/build/{chunk-OVY3XD7N.js.map → chunk-XUF2HJAT.js.map} +1 -1
  37. package/build/index.js +2 -2
  38. package/build/{preview-AHK3W3S5.js → preview-L5LDZK2L.js} +2 -2
  39. package/build/{render-command-QU4TUTXB.js → render-command-IA3LLA3F.js} +2 -2
  40. package/package.json +4 -4
  41. package/build/CreateVersionCommand-DYEPGQUL.js +0 -4
  42. package/build/DevCommand-MHQH5RZI.js +0 -4
  43. package/build/DevCommand-MHQH5RZI.js.map +0 -1
  44. package/build/LogsCommand-JTLDKERL.js +0 -4
  45. package/build/LogsCommand-JTLDKERL.js.map +0 -1
  46. package/build/PreviewCommand-BR4CC5HU.js +0 -4
  47. package/build/ServeCommand-DXYE4RDW.js +0 -4
  48. package/build/ServeCommand-DXYE4RDW.js.map +0 -1
  49. package/build/chunk-DRRMAC33.js.map +0 -1
  50. package/build/chunk-FHI3B5GR.js +0 -4
  51. package/build/chunk-FHI3B5GR.js.map +0 -1
  52. package/build/chunk-QZS4ARDD.js +0 -4
  53. package/build/chunk-QZS4ARDD.js.map +0 -1
  54. package/build/chunk-SUDVHU7A.js +0 -4
  55. package/build/chunk-SUDVHU7A.js.map +0 -1
  56. package/build/chunk-VYJSZFOO.js +0 -4
  57. package/build/chunk-VYJSZFOO.js.map +0 -1
  58. /package/build/{GenerateCommand-HAREJGST.js.map → GenerateCommand-CIO77YCS.js.map} +0 -0
  59. /package/build/{PreviewCommand-BR4CC5HU.js.map → PreviewCommand-BZY2XOZN.js.map} +0 -0
  60. /package/build/{build-57Q22ZQB.js.map → build-JVHXDZDD.js.map} +0 -0
  61. /package/build/{chunk-QPAM4OF5.js.map → chunk-2KPKOJPE.js.map} +0 -0
  62. /package/build/{chunk-TBNJFVSI.js.map → chunk-COIDN4V4.js.map} +0 -0
  63. /package/build/{chunk-LBMDBGQY.js.map → chunk-E6MYDYCH.js.map} +0 -0
  64. /package/build/{chunk-5QHRKYZO.js.map → chunk-F4LXYTO3.js.map} +0 -0
  65. /package/build/{chunk-QF5IXGT3.js.map → chunk-F55KYUXJ.js.map} +0 -0
  66. /package/build/{chunk-2P6DNBHW.js.map → chunk-FBYP5GID.js.map} +0 -0
  67. /package/build/{chunk-CAFL5PGF.js.map → chunk-HTO6ALNX.js.map} +0 -0
  68. /package/build/{chunk-AA74H3TG.js.map → chunk-HTY6QIPX.js.map} +0 -0
  69. /package/build/{chunk-NIFVIO6B.js.map → chunk-JAY5356K.js.map} +0 -0
  70. /package/build/{chunk-BQUJNTD3.js.map → chunk-JKG4PFVP.js.map} +0 -0
  71. /package/build/{chunk-CH25SGQ6.js.map → chunk-MON4UIEH.js.map} +0 -0
  72. /package/build/{chunk-TUMP3O53.js.map → chunk-ROZV4SHP.js.map} +0 -0
  73. /package/build/{chunk-ASR5T2EG.js.map → chunk-X62VPDUS.js.map} +0 -0
  74. /package/build/{preview-AHK3W3S5.js.map → preview-L5LDZK2L.js.map} +0 -0
  75. /package/build/{render-command-QU4TUTXB.js.map → render-command-IA3LLA3F.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{b as ce}from"./chunk-NIFVIO6B.js";import{b as $,c as ge,d as _e,e as ve}from"./chunk-VYJSZFOO.js";import{Ba as de,Fa as Se,Ga as W,Ha as fe,Ia as ye,R as ue,db as k,r as oe,s as re,t as le,u as H,x as me}from"./chunk-KJMWKJXC.js";import{G as B,H as j,L as N,M as pe,O as _,P as q,R as x,S as K,V as w,W as d,Y as ae,a as y,b,d as P,e as A,l as F,m as ie,y as se,z as ne}from"./chunk-DRRMAC33.js";import{e as p,h as o}from"./chunk-V4TR6DCM.js";o();var h=p(y(),1),R=p(b(),1);o();var M=p(y(),1),U=p(b(),1);o();o();var g=p(y(),1),Le=p(b(),1);o();var Q=p(y(),1),we=p(b(),1);o();var Ce=p(y(),1);function De(e){return{cliAction:({question:s,action:r,key:t,additionalInfo:i})=>e.report(ye({question:s,action:r,key:t,additionalInfo:JSON.stringify(i)})),cliFlowStepAnswered:({question:s,answer:r,additionalInfo:t})=>e.report(fe({question:s,answer:r,additionalInfo:JSON.stringify(t)}))}}function E(){let e=H();return(0,Ce.useMemo)(()=>De(e),[e])}var be=({onSubmit:e,onError:s,sites:r})=>{let t=E(),{t:i}=d(),{getDevSitesCount:n,getDevSitesLimit:l}=W(),{status:v}=x(()=>Promise.all([n(),l()]),[],{onError:s}),u=S=>{t.cliFlowStepAnswered({question:i("site_type_select.label"),answer:S.title}),e(S.value)};return(0,we.match)(v,{Error:()=>null,Loading:()=>Q.default.createElement(_,{text:i("general.loading")}),Success:({result:[S,f]})=>{let a=S>=f,C=r.length===0;return Q.default.createElement(j,{label:i("site_type_select.label"),options:[{availability:C?B.Disabled({reason:i("site_type_select.no_sites")}):B.Enabled(),title:i("site_type_select.pick_existing_site"),value:"select-existing-site"},{title:i("site_type_select.create_new_dev_site"),value:"create-dev-site",availability:a?B.Disabled({reason:i("site_type_select.create_new_dev_site.disabled",{limit:f})}):B.Enabled()}],onSubmit:u})}})};o();var T=p(y(),1),Te=p(b(),1);o();var J=p(y(),1);o();o();var Ie=p(y(),1);o();o();var xe=F.record(F.object({appDefinitionId:F.string().optional(),permissions:F.object({revoked:F.boolean()}).optional()}));var z=class{constructor(s){this.httpClient=s}isAppInstalled=async({metaSiteId:s,appId:r})=>{try{let{data:t}=await this.httpClient.request({url:`/_api/msm/v1/meta-site/editor-client-spec-map/${s}`}),i=xe.parse(t);return Object.values(i).some(l=>l.appDefinitionId===r&&!l.permissions?.revoked)}catch(t){throw new P({code:A.FailedToCheckIfAppInstalled(),cause:t})}}};function O(){let e=Se({type:"general"});return(0,Ie.useMemo)(()=>new z(e),[e])}var D=p(b(),1);o();var L=p(y(),1);var he=({siteId:e,appId:s})=>{let{t:r}=d(),t=E();return se(async(i,n)=>{n.return&&(t.cliAction({question:r("install_app_on_site.warning.instructions"),key:"enter",action:"install_app_on_site"}),await me(`https://manage.wix.com/installer/install?metaSiteId=${e}&appId=${s}&platform=cli&version=latest`))}),L.default.createElement(L.default.Fragment,null,L.default.createElement(w,{i18nKey:"install_app_on_site.warning"}),L.default.createElement(w,{i18nKey:"install_app_on_site.warning.instructions",components:[L.default.createElement(pe,{value:"enter"})]}))};var V=(0,D.variant)({Success:{},Canceled:{}});function Me(e){return e&&typeof e=="object"&&"name"in e&&e.name==="AbortError"}var Y=({appId:e,site:s,onSubmit:r,onError:t})=>{let{isAppInstalled:i}=O(),{status:n}=x(async({signal:l})=>{let{appInstallationPollInterval:v}=ie();try{return await re(()=>i({metaSiteId:s.id,appId:e}),{interval:v??2e3,timeout:{milliseconds:60*1e3*2,signal:l}}),V.Success()}catch(u){if(u instanceof oe)throw new P({code:A.SiteSelectorTimedout(),cause:u});if(Me(u))return V.Canceled();throw u}},[],{onError:t,onSuccess:l=>{(0,D.isType)(l,V.Success)&&r()}});return(0,D.match)(n,{Error:()=>null,Loading:()=>J.default.createElement(he,{siteId:s.id,appId:e}),Success:()=>J.default.createElement(N,{type:"success"},J.default.createElement(w,{i18nKey:"install_app_on_site.finished_successfully"}))})};var Pe=({status:e,appId:s,onSubmit:r,onError:t})=>{let{t:i}=d();return(0,Te.match)(e,{NotRequested:()=>null,Error:()=>null,Loading:()=>T.default.createElement(_,{text:i("create_dev_site.loading")}),Success:({result:n})=>T.default.createElement(T.default.Fragment,null,T.default.createElement(w,{i18nKey:"create_dev_site.success",components:[T.default.createElement(ne,{skin:"success",bold:!0})],values:{name:n.displayName}}),T.default.createElement(Y,{appId:s,site:n,onSubmit:()=>r(n),onError:t}))})};var Ae={"general.loading":"Loading...","site_type_select.label":"Select Development Site","site_type_select.create_new_dev_site":"Create a new Development Site","site_type_select.create_new_dev_site.disabled":"You have reached the maximum number of {limit} Development Sites","site_type_select.pick_existing_site":"Pick an existing site","site_type_select.no_sites":"No sites found","create_dev_site.loading":"Creating your new Development Site...","create_dev_site.success":"Development Site <0>{name}</0> created successfully! \u{1F680}","site_list_select.label":"Select Site","install_app_on_site.warning":"Your new application needs to be installed on the selected Development Site","install_app_on_site.warning.instructions":"Press <0/> to install the application in your browser","install_app_on_site.finished_successfully":"App installed on Development Site."};o();var I=p(y(),1);var ke=p(b(),1);o();var G=p(y(),1);var Fe=({onSubmit:e,sites:s})=>{let{t:r}=d(),t=E(),i=(0,G.useCallback)(n=>{t.cliFlowStepAnswered({question:r("site_list_select.label"),answer:n.title}),e(n.value)},[t,e,r]);return G.default.createElement(j,{label:r("site_list_select.label"),options:s.map(n=>({key:n.id,title:n.displayName,description:n.viewUrl,value:n})),onSubmit:i})};var Ee=({sites:e,appId:s,onSubmit:r,onError:t})=>{let{t:i}=d(),{isAppInstalled:n}=O(),[l,v]=(0,I.useState)(null),u=K((f,a)=>n({metaSiteId:a.id,appId:s}),{onError:t});async function S(f){await u.execute(f)?r(f):v(f)}return I.default.createElement(I.default.Fragment,null,I.default.createElement(Fe,{onSubmit:S,sites:e}),(0,ke.isType)(u.status,"Loading")&&I.default.createElement(_,{text:i("general.loading")}),l&&I.default.createElement(Y,{appId:s,site:l,onSubmit:()=>r(l),onError:t}))};var X=({appId:e,biLogger:s,onSubmit:r,onError:t})=>{let[i,n]=(0,g.useState)(null),{createDevSite:l}=W(),v=$(),{status:u}=x(()=>v.querySites({query:{cursorPaging:{limit:100}}}),[],{onError:t}),S=K(()=>l(),{onError:t});function f(a){n(a),a==="create-dev-site"&&S.execute()}return g.default.createElement(le,{value:s},g.default.createElement(ae,{messages:Ae},(0,Le.match)(u,{Error:()=>null,Loading:()=>g.default.createElement(_,{text:g.default.createElement(w,{i18nKey:"general.loading"})}),Success:({result:a})=>g.default.createElement(g.default.Fragment,null,g.default.createElement(be,{onSubmit:f,onError:t,sites:a}),i==="create-dev-site"&&g.default.createElement(Pe,{status:S.status,appId:e,onSubmit:r,onError:t}),i==="select-existing-site"&&g.default.createElement(Ee,{sites:a,appId:e,onSubmit:r,onError:t}))})))};var Z=({state:e,onSubmit:s})=>{let r=q(),{t}=d(),{model:i}=k(),n=H();return M.default.createElement(M.default.Fragment,null,(0,U.match)(e,{NotConfigured:(0,U.constant)(M.default.createElement(N,{type:"insight"},t("general.no_site_id_configured"))),NotFound:({id:l})=>M.default.createElement(N,{type:"error"},t("general.site_id_not_found",{id:l}))}),M.default.createElement(X,{appId:i.config.appId,biLogger:n,onSubmit:s,onError:r}))};var _i=({children:e,siteId:s})=>{let r=q(),{model:{projectFolder:t}}=k(),i=ce(),n=$(),{t:l}=d(),{status:v,merge:u}=x(async()=>ve({projectFolder:t,siteListClient:n,siteId:s,writeDebugLog:i}),[]),S=(0,h.useCallback)(async a=>{try{await de(t,{siteId:a.id}),u({result:_e.Resolved({site:a})})}catch{throw new P({code:A.FailedToSaveDevelopmentSite({path:ue})})}},[u,t]),f=(0,h.useCallback)(a=>S(a).catch(r),[r,S]);return(0,R.match)(v,{Error:()=>null,Loading:()=>h.default.createElement(_,{text:l("dev_command.site_provider.loading")}),Success:({result:a})=>(0,R.match)(a,{NotConfigured:C=>h.default.createElement(Z,{state:C,onSubmit:f}),NotFound:C=>h.default.createElement(Z,{state:C,onSubmit:f}),Resolved:({site:C})=>h.default.createElement(ge.Provider,{value:{site:C,setSite:S}},typeof e=="function"?e(C):e)})})};o();var ee=p(y(),1),te=p(b(),1);function bi(){let{model:e}=k(),s=(0,ee.useCallback)(t=>e.components.some(i=>i.platforms.some((0,te.isType)(t.type))),[e.components]),r=(0,ee.useCallback)(t=>e.components.every(i=>i.platforms.some((0,te.isType)(t.type))||i.platforms.length===0),[e.components]);return{isPlatformExists:s,hasSinglePlatform:r}}export{X as a,_i as b,bi as c};
4
- //# sourceMappingURL=chunk-FHI3B5GR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/site-id/SiteIdProvider.tsx","../src/site-id/ResolveSiteId.tsx","../../cli-site-selector/src/index.ts","../../cli-site-selector/src/SiteSelector.tsx","../../cli-site-selector/src/SiteTypeSelect.tsx","../../cli-site-selector/src/bi.ts","../../cli-site-selector/src/CreateDevSite.tsx","../../cli-site-selector/src/WaitForAppToBeInstalled.tsx","../../metasite-manager-client/src/index.ts","../../metasite-manager-client/src/useMetasiteManagerClient.ts","../../metasite-manager-client/src/metasite-manager-client.ts","../../metasite-manager-client/src/schemas.ts","../../cli-site-selector/src/OpenBrowser.tsx","../../cli-site-selector/src/messages.json","../../cli-site-selector/src/SelectExistingSite.tsx","../../cli-site-selector/src/SiteListSelect.tsx","../src/components/Platform/usePlatform.tsx"],"sourcesContent":["import React, { type FC, type ReactNode, useCallback } from 'react';\nimport { match } from 'variant';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { APP_CONFIG_PATH } from '@wix/cli-app-definitions';\nimport { useAsync, useExit, Spinner } from '@wix/cli-ui-kit';\nimport { type Site, useSiteListClient } from '@wix/site-list-client';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { saveAppConfig } from '../files/app.config.js';\nimport { useProjectModel } from '../model.js';\nimport { ResolveSiteId } from './ResolveSiteId.js';\nimport { SiteIdContext } from './context.js';\nimport { SiteIdState } from './site-id-state.js';\nimport { resolveConfiguredSite } from './resolve-configured-site.js';\n\nexport const SiteIdProvider: FC<{\n siteId?: string;\n children: ReactNode | ((site: Site) => ReactNode);\n}> = ({ children, siteId }) => {\n const exit = useExit();\n const {\n model: { projectFolder },\n } = useProjectModel();\n const writeDebugLog = useDebugLog();\n const siteListClient = useSiteListClient();\n const { t } = useTranslation();\n\n const { status, merge } = useAsync(\n async () =>\n resolveConfiguredSite({\n projectFolder,\n siteListClient,\n siteId,\n writeDebugLog,\n }),\n []\n );\n\n const setSite = useCallback(\n async (site: Site) => {\n try {\n await saveAppConfig(projectFolder, { siteId: site.id });\n merge({ result: SiteIdState.Resolved({ site }) });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToSaveDevelopmentSite({\n path: APP_CONFIG_PATH,\n }),\n });\n }\n },\n [merge, projectFolder]\n );\n\n const handleResolveSiteId = useCallback(\n (site: Site) => setSite(site).catch(exit),\n [exit, setSite]\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('dev_command.site_provider.loading')} />,\n Success: ({ result: state }) => {\n return match(state, {\n NotConfigured: (variant) => (\n <ResolveSiteId state={variant} onSubmit={handleResolveSiteId} />\n ),\n NotFound: (variant) => (\n <ResolveSiteId state={variant} onSubmit={handleResolveSiteId} />\n ),\n Resolved: ({ site }) => (\n <SiteIdContext.Provider\n value={{\n site,\n setSite,\n }}\n >\n {typeof children === 'function' ? children(site) : children}\n </SiteIdContext.Provider>\n ),\n });\n },\n });\n};\n","import React, { type FC } from 'react';\nimport { match, constant } from 'variant';\nimport type { Site } from '@wix/site-list-client';\nimport { Alert, useExit } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { SiteSelector } from '@wix/cli-site-selector';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport { useProjectModel } from '../model.js';\nimport type { SiteIdState } from './site-id-state.js';\n\ninterface Props {\n state: SiteIdState<'NotConfigured' | 'NotFound'>;\n onSubmit: (site: Site) => void;\n}\n\nexport const ResolveSiteId: FC<Props> = ({ state, onSubmit }) => {\n const exit = useExit();\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const biLogger = useBiLogger();\n\n return (\n <>\n {match(state, {\n NotConfigured: constant(\n <Alert type=\"insight\">{t('general.no_site_id_configured')}</Alert>\n ),\n NotFound: ({ id }) => (\n <Alert type=\"error\">{t('general.site_id_not_found', { id })}</Alert>\n ),\n })}\n <SiteSelector\n appId={model.config.appId}\n biLogger={biLogger}\n onSubmit={onSubmit}\n onError={exit}\n />\n </>\n );\n};\n","export { SiteSelector } from './SiteSelector.js';\n","import React, { type FC, useState } from 'react';\nimport { match } from 'variant';\nimport { I18nProvider, Trans } from '@wix/cli-i18n';\nimport type { Site } from '@wix/site-list-client';\nimport { Spinner, useAsync, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { useSiteListClient } from '@wix/site-list-client';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport { BiProvider } from '@wix/cli-telemetry-react';\nimport { SiteTypeSelect, type SiteType } from './SiteTypeSelect.js';\nimport { CreateDevSite } from './CreateDevSite.js';\nimport messages from './messages.json';\nimport { SelectExistingSite } from './SelectExistingSite.js';\n\ninterface Props {\n appId: string;\n biLogger: BiLogger;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SiteSelector: FC<Props> = ({\n appId,\n biLogger,\n onSubmit,\n onError,\n}) => {\n const [siteType, setSiteType] = useState<SiteType | null>(null);\n const { createDevSite } = useDevCenterClient();\n const siteListClient = useSiteListClient();\n\n const { status } = useAsync(\n () =>\n siteListClient.querySites({\n query: {\n cursorPaging: {\n limit: 100,\n },\n },\n }),\n [],\n {\n onError,\n }\n );\n\n const createSite = useAsyncCallback(() => createDevSite(), {\n onError,\n });\n\n function handleSelectSiteType(siteType: SiteType) {\n setSiteType(siteType);\n if (siteType === 'create-dev-site') {\n createSite.execute();\n }\n }\n\n return (\n <BiProvider value={biLogger}>\n <I18nProvider messages={messages}>\n {match(status, {\n Error: () => null,\n Loading: () => <Spinner text={<Trans i18nKey=\"general.loading\" />} />,\n Success: ({ result: sites }) => (\n <>\n <SiteTypeSelect\n onSubmit={handleSelectSiteType}\n onError={onError}\n sites={sites}\n />\n {siteType === 'create-dev-site' && (\n <CreateDevSite\n status={createSite.status}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n {siteType === 'select-existing-site' && (\n <SelectExistingSite\n sites={sites}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n </>\n ),\n })}\n </I18nProvider>\n </BiProvider>\n );\n};\n","import React, { type FC } from 'react';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport {\n Spinner,\n SelectInput,\n useAsync,\n SelectOptionAvailability,\n} from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport type { Site } from '@wix/site-list-client';\nimport { useSiteSelectorBi } from './bi.js';\n\nexport type SiteType = 'create-dev-site' | 'select-existing-site';\ninterface Props {\n onSubmit: (siteType: SiteType) => void;\n onError: (error: unknown) => void;\n sites: Site[];\n}\n\nexport const SiteTypeSelect: FC<Props> = ({ onSubmit, onError, sites }) => {\n const bi = useSiteSelectorBi();\n const { t } = useTranslation();\n const { getDevSitesCount, getDevSitesLimit } = useDevCenterClient();\n const { status } = useAsync(\n () => Promise.all([getDevSitesCount(), getDevSitesLimit()]),\n [],\n { onError }\n );\n\n const handleSubmit = (option: SelectOption<SiteType>) => {\n bi.cliFlowStepAnswered({\n question: t('site_type_select.label'),\n answer: option.title,\n });\n onSubmit(option.value);\n };\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('general.loading')} />,\n Success: ({ result: [devSitesCount, devSitesLimit] }) => {\n const isDevSitesLimitReached = devSitesCount >= devSitesLimit;\n const userHasNoSites = sites.length === 0;\n\n return (\n <SelectInput<SiteType>\n label={t('site_type_select.label')}\n options={[\n {\n availability: userHasNoSites\n ? SelectOptionAvailability.Disabled({\n reason: t('site_type_select.no_sites'),\n })\n : SelectOptionAvailability.Enabled(),\n title: t('site_type_select.pick_existing_site'),\n value: 'select-existing-site',\n },\n {\n title: t('site_type_select.create_new_dev_site'),\n value: 'create-dev-site',\n availability: isDevSitesLimitReached\n ? SelectOptionAvailability.Disabled({\n reason: t('site_type_select.create_new_dev_site.disabled', {\n limit: devSitesLimit,\n }),\n })\n : SelectOptionAvailability.Enabled(),\n },\n ]}\n onSubmit={handleSubmit}\n />\n );\n },\n });\n};\n","import { useMemo } from 'react';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport {\n wixCliAction,\n wixCliAppFlowStepsAnswers,\n} from '@wix/bi-logger-dev-tools-data/v2';\n\nexport function siteSelectorBiEvents(biLogger: BiLogger) {\n return {\n cliAction: ({\n question,\n action,\n key,\n additionalInfo,\n }: {\n question: string;\n action: string;\n key: string;\n additionalInfo?: Record<string, unknown>;\n }) =>\n biLogger.report(\n wixCliAction({\n question,\n action,\n key,\n additionalInfo: JSON.stringify(additionalInfo),\n })\n ),\n cliFlowStepAnswered: ({\n question,\n answer,\n additionalInfo,\n }: {\n question: string;\n answer: string;\n additionalInfo?: Record<string, unknown>;\n }) =>\n biLogger.report(\n wixCliAppFlowStepsAnswers({\n question,\n answer,\n additionalInfo: JSON.stringify(additionalInfo),\n })\n ),\n };\n}\n\nexport function useSiteSelectorBi() {\n const biLogger = useBiLogger();\n return useMemo(() => siteSelectorBiEvents(biLogger), [biLogger]);\n}\n","import React, { type FC } from 'react';\nimport { match } from 'variant';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport type { AsyncCallbackStatus } from '@wix/cli-ui-kit';\nimport { Text, Spinner } from '@wix/cli-ui-kit';\nimport type { Site } from '@wix/site-list-client';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\n\ninterface Props {\n status: AsyncCallbackStatus<Site>;\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const CreateDevSite: FC<Props> = ({\n status,\n appId,\n onSubmit,\n onError,\n}) => {\n const { t } = useTranslation();\n\n return match(status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => <Spinner text={t('create_dev_site.loading')} />,\n Success: ({ result }) => (\n <>\n <Trans\n i18nKey=\"create_dev_site.success\"\n components={[<Text skin=\"success\" bold />]}\n values={{ name: result.displayName }}\n />\n <WaitForAppToBeInstalled\n appId={appId}\n site={result}\n onSubmit={() => onSubmit(result)}\n onError={onError}\n />\n </>\n ),\n });\n};\n","import pWaitFor, { TimeoutError } from 'p-wait-for';\nimport React, { type FC } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { Alert, useAsync } from '@wix/cli-ui-kit';\nimport { useMetasiteManagerClient } from '@wix/metasite-manager-client';\nimport { isType, match, variant } from 'variant';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { Site } from '@wix/site-list-client';\nimport { OpenBrowser } from './OpenBrowser.js';\n\ninterface Props {\n site: Site;\n appId: string;\n onSubmit: () => void;\n onError: (error: unknown) => void;\n}\n\nexport const AppInstallData = variant({\n Success: {},\n Canceled: {},\n});\n\nfunction isAbortError(error: unknown) {\n return (\n error &&\n typeof error === 'object' &&\n 'name' in error &&\n error.name === 'AbortError'\n );\n}\n\nexport const WaitForAppToBeInstalled: FC<Props> = ({\n appId,\n site,\n onSubmit,\n onError,\n}) => {\n const { isAppInstalled } = useMetasiteManagerClient();\n\n const { status } = useAsync(\n async ({ signal }) => {\n const { appInstallationPollInterval } = getTestOverrides();\n\n try {\n await pWaitFor(() => isAppInstalled({ metaSiteId: site.id, appId }), {\n interval: appInstallationPollInterval ?? 2000,\n timeout: {\n milliseconds: 60 * 1000 * 2,\n signal,\n },\n });\n\n return AppInstallData.Success();\n } catch (error) {\n if (error instanceof TimeoutError) {\n throw new CliError({\n code: CliErrorCode.SiteSelectorTimedout(),\n cause: error,\n });\n }\n\n if (isAbortError(error)) {\n return AppInstallData.Canceled();\n }\n\n throw error;\n }\n },\n [],\n {\n onError,\n onSuccess: (result) => {\n if (isType(result, AppInstallData.Success)) {\n onSubmit();\n }\n },\n }\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <OpenBrowser siteId={site.id} appId={appId} />,\n Success: () => (\n <Alert type=\"success\">\n <Trans i18nKey=\"install_app_on_site.finished_successfully\" />\n </Alert>\n ),\n });\n};\n","export { useMetasiteManagerClient } from './useMetasiteManagerClient.js';\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { MetasiteManagerClient } from './metasite-manager-client.js';\n\nexport function useMetasiteManagerClient(): MetasiteManagerClient {\n const httpClient = useHttpClient({ type: 'general' });\n return useMemo(() => new MetasiteManagerClient(httpClient), [httpClient]);\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport { clientSpecMapSchema } from './schemas.js';\n\nexport class MetasiteManagerClient {\n constructor(private readonly httpClient: HttpClient) {}\n\n public isAppInstalled = async ({\n metaSiteId,\n appId,\n }: {\n metaSiteId: string;\n appId: string;\n }) => {\n try {\n const { data } = await this.httpClient.request({\n url: `/_api/msm/v1/meta-site/editor-client-spec-map/${metaSiteId}`,\n });\n\n const clientSpecMap = clientSpecMapSchema.parse(data);\n\n const isInstalled = Object.values(clientSpecMap).some(\n (spec) => spec.appDefinitionId === appId && !spec.permissions?.revoked\n );\n\n return isInstalled;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCheckIfAppInstalled(),\n cause: e,\n });\n }\n };\n}\n","import { z } from 'zod';\n\nexport const clientSpecMapSchema = z.record(\n z.object({\n appDefinitionId: z.string().optional(),\n permissions: z.object({ revoked: z.boolean() }).optional(),\n })\n);\n\nexport type ClientSpecMap = z.TypeOf<typeof clientSpecMapSchema>;\n","import React, { type FC } from 'react';\nimport { Key, useInput } from '@wix/cli-ui-kit';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\nimport { useSiteSelectorBi } from './bi.js';\n\ninterface Props {\n siteId: string;\n appId: string;\n}\n\nexport const OpenBrowser: FC<Props> = ({ siteId, appId }) => {\n const { t } = useTranslation();\n const bi = useSiteSelectorBi();\n\n useInput(async (input, key) => {\n if (key.return) {\n bi.cliAction({\n question: t('install_app_on_site.warning.instructions'),\n key: 'enter',\n action: 'install_app_on_site',\n });\n await openBrowser(\n `https://manage.wix.com/installer/install?metaSiteId=${siteId}&appId=${appId}&platform=cli&version=latest`\n );\n }\n });\n\n return (\n <>\n <Trans i18nKey=\"install_app_on_site.warning\" />\n <Trans\n i18nKey=\"install_app_on_site.warning.instructions\"\n components={[<Key value=\"enter\" />]}\n />\n </>\n );\n};\n","{\n \"general.loading\": \"Loading...\",\n \"site_type_select.label\": \"Select Development Site\",\n \"site_type_select.create_new_dev_site\": \"Create a new Development Site\",\n \"site_type_select.create_new_dev_site.disabled\": \"You have reached the maximum number of {limit} Development Sites\",\n \"site_type_select.pick_existing_site\": \"Pick an existing site\",\n \"site_type_select.no_sites\": \"No sites found\",\n \"create_dev_site.loading\": \"Creating your new Development Site...\",\n \"create_dev_site.success\": \"Development Site <0>{name}</0> created successfully! 🚀\",\n \"site_list_select.label\": \"Select Site\",\n \"install_app_on_site.warning\": \"Your new application needs to be installed on the selected Development Site\",\n \"install_app_on_site.warning.instructions\": \"Press <0/> to install the application in your browser\",\n \"install_app_on_site.finished_successfully\": \"App installed on Development Site.\"\n}\n","import React, { useState } from 'react';\nimport { Spinner, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useMetasiteManagerClient } from '@wix/metasite-manager-client';\nimport type { Site } from '@wix/site-list-client';\nimport { isType } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\nimport { SiteListSelect } from './SiteListSelect.js';\n\ninterface Props {\n sites: Site[];\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SelectExistingSite = ({\n sites,\n appId,\n onSubmit,\n onError,\n}: Props) => {\n const { t } = useTranslation();\n const { isAppInstalled } = useMetasiteManagerClient();\n const [siteToInstallAppOn, setSiteToInstallAppOn] = useState<Site | null>(\n null\n );\n const checkAppInstalled = useAsyncCallback(\n (_, site: Site) => isAppInstalled({ metaSiteId: site.id, appId }),\n {\n onError,\n }\n );\n\n async function handleSelectSite(site: Site) {\n const isInstalled = await checkAppInstalled.execute(site);\n if (isInstalled) {\n onSubmit(site);\n } else {\n setSiteToInstallAppOn(site);\n }\n }\n\n return (\n <>\n <SiteListSelect onSubmit={handleSelectSite} sites={sites} />\n {isType(checkAppInstalled.status, 'Loading') && (\n <Spinner text={t('general.loading')} />\n )}\n {siteToInstallAppOn && (\n <WaitForAppToBeInstalled\n appId={appId}\n site={siteToInstallAppOn}\n onSubmit={() => onSubmit(siteToInstallAppOn)}\n onError={onError}\n />\n )}\n </>\n );\n};\n","import React, { useCallback, type FC } from 'react';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport { SelectInput } from '@wix/cli-ui-kit';\nimport { type Site } from '@wix/site-list-client';\nimport { useSiteSelectorBi } from './bi.js';\n\ninterface Props {\n onSubmit: (site: Site) => void;\n sites: Site[];\n}\n\nexport const SiteListSelect: FC<Props> = ({ onSubmit, sites }) => {\n const { t } = useTranslation();\n const bi = useSiteSelectorBi();\n\n const handleSubmit = useCallback(\n (option: SelectOption<Site>) => {\n bi.cliFlowStepAnswered({\n question: t('site_list_select.label'),\n answer: option.title,\n });\n onSubmit(option.value);\n },\n [bi, onSubmit, t]\n );\n\n return (\n <SelectInput<Site>\n label={t('site_list_select.label')}\n options={sites.map((site) => ({\n key: site.id,\n title: site.displayName,\n description: site.viewUrl,\n value: site,\n }))}\n onSubmit={handleSubmit}\n />\n );\n};\n","import { useCallback } from 'react';\nimport { isType } from 'variant';\nimport type { PlatformType } from '@wix/cli-app-definitions';\nimport { useProjectModel } from '../../model.js';\n\nexport function usePlatform() {\n const { model } = useProjectModel();\n\n const isPlatformExists = useCallback(\n (platformType: PlatformType) =>\n model.components.some((component) =>\n component.platforms.some(isType(platformType.type))\n ),\n [model.components]\n );\n\n const hasSinglePlatform = useCallback(\n (platformType: PlatformType) =>\n model.components.every(\n (component) =>\n component.platforms.some(isType(platformType.type)) ||\n component.platforms.length === 0\n ),\n [model.components]\n );\n\n return {\n isPlatformExists,\n hasSinglePlatform,\n };\n}\n"],"mappings":"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","names":["init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","siteSelectorBiEvents","biLogger","question","action","key","additionalInfo","wixCliAction","answer","wixCliAppFlowStepsAnswers","useSiteSelectorBi","useBiLogger","SiteTypeSelect","onSubmit","onError","sites","bi","useSiteSelectorBi","t","useTranslation","getDevSitesCount","getDevSitesLimit","useDevCenterClient","status","useAsync","handleSubmit","option","React","Spinner","devSitesCount","devSitesLimit","isDevSitesLimitReached","userHasNoSites","SelectInput","SelectOptionAvailability","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","init_esm_shims","init_esm_shims","import_react","init_esm_shims","init_esm_shims","clientSpecMapSchema","z","MetasiteManagerClient","httpClient","metaSiteId","appId","data","clientSpecMap","clientSpecMapSchema","spec","e","CliError","CliErrorCode","useMetasiteManagerClient","httpClient","useHttpClient","MetasiteManagerClient","import_variant","init_esm_shims","import_react","OpenBrowser","siteId","appId","t","useTranslation","bi","useSiteSelectorBi","use_input_default","input","key","openBrowser","React","Trans","Key","AppInstallData","isAbortError","error","WaitForAppToBeInstalled","appId","site","onSubmit","onError","isAppInstalled","useMetasiteManagerClient","status","useAsync","signal","appInstallationPollInterval","getTestOverrides","pWaitFor","TimeoutError","CliError","CliErrorCode","result","React","OpenBrowser","Alert","Trans","CreateDevSite","status","appId","onSubmit","onError","t","useTranslation","React","Spinner","result","Trans","Text","WaitForAppToBeInstalled","messages_default","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","SiteListSelect","onSubmit","sites","t","useTranslation","bi","useSiteSelectorBi","handleSubmit","option","React","SelectInput","site","SelectExistingSite","sites","appId","onSubmit","onError","t","useTranslation","isAppInstalled","useMetasiteManagerClient","siteToInstallAppOn","setSiteToInstallAppOn","checkAppInstalled","useAsyncCallback","_","site","handleSelectSite","React","SiteListSelect","Spinner","WaitForAppToBeInstalled","SiteSelector","appId","biLogger","onSubmit","onError","siteType","setSiteType","createDevSite","useDevCenterClient","siteListClient","useSiteListClient","status","useAsync","createSite","useAsyncCallback","handleSelectSiteType","React","BiProvider","I18nProvider","messages_default","Spinner","Trans","sites","SiteTypeSelect","CreateDevSite","SelectExistingSite","ResolveSiteId","state","onSubmit","exit","useExit","useTranslation","model","useProjectModel","biLogger","useBiLogger","React","Alert","id","SiteSelector","SiteIdProvider","children","siteId","exit","useExit","projectFolder","useProjectModel","writeDebugLog","useDebugLog","siteListClient","useSiteListClient","t","useTranslation","status","merge","useAsync","resolveConfiguredSite","setSite","site","saveAppConfig","SiteIdState","CliError","CliErrorCode","APP_CONFIG_PATH","handleResolveSiteId","React","Spinner","state","variant","ResolveSiteId","SiteIdContext","init_esm_shims","import_react","import_variant","usePlatform","model","useProjectModel","isPlatformExists","platformType","component","hasSinglePlatform"]}
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{h as e}from"./chunk-V4TR6DCM.js";e();
4
- //# sourceMappingURL=chunk-QZS4ARDD.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/site-id/index.ts"],"sourcesContent":["export { SiteIdProvider } from './SiteIdProvider.js';\nexport { useSiteId } from './useSiteId.js';\n"],"mappings":";;wCAAAA","names":["init_esm_shims"]}
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{a as K,b as V}from"./chunk-CH25SGQ6.js";import{b as D}from"./chunk-FHI3B5GR.js";import{a as q}from"./chunk-LBMDBGQY.js";import{a as H}from"./chunk-QPAM4OF5.js";import{g as M,h as N,i as Y}from"./chunk-VYJSZFOO.js";import{Ba as U,Ea as L,Fa as O,Ga as j,Pa as E,db as G,u as F}from"./chunk-KJMWKJXC.js";import{B as _,L as b,O as k,R as I,S as u,V as h,W as B,a as d,b as A,w as l,z as S}from"./chunk-DRRMAC33.js";import{e as m,h as e}from"./chunk-V4TR6DCM.js";e();e();var w=m(d(),1);e();var o=m(d(),1),J=m(A(),1);e();var g=m(d(),1),z=m(A(),1),C=({status:t,loadingText:n,successText:i})=>(0,z.match)(t,{NotRequested:()=>null,Loading:()=>g.default.createElement(k,{text:n}),Error:()=>null,Success:()=>g.default.createElement(b,{type:"success"},i)});var Q=({baseUrl:t,onPreviewCreated:n})=>{let{site:i}=Y(),{t:s}=B(),{model:r}=G(),{backendComponents:W}=q(),X=M(),Z=F(),{getAppSnapshot:$}=j(),R=O({type:"backoffice"}),x=u(()=>E(r.config.appId,r.projectFolder,Z,R,W.length>0)),y=u((a,c,T,p)=>H({model:r,arm:X,serveUrl:c,backendServerUrl:p,topologyComponentId:T})),{status:oo}=I(async()=>{await K(r.projectFolder);let{serveUrl:a,backendServerUrl:c}=t?{serveUrl:t,backendServerUrl:void 0}:await x.execute(),p=(await $({appId:r.config.appId})).components.find(eo=>eo.compType===L.TOPOLOGY),P=await y.execute(a,p?.compId,c);return p&&U(r.projectFolder,{topologyComponentId:p.compId}),n?.(P,c),{armTag:P}},[]);return o.default.createElement(o.default.Fragment,null,o.default.createElement(C,{status:x.status,loadingText:s("preview_command.uploading_files"),successText:s("preview_command.uploading_files_success")}),o.default.createElement(C,{status:y.status,loadingText:s("preview_command.creating_preview"),successText:s("preview_command.creating_preview_success")}),(0,J.match)(oo,{Error:()=>null,Loading:()=>null,Success:({result:{armTag:a}})=>o.default.createElement(N,{armTag:a},o.default.createElement(l,{rowGap:1,marginY:1,flexDirection:"column"},o.default.createElement(l,{gap:1},o.default.createElement(_,null),o.default.createElement(h,{i18nKey:"general.dev_site.current",values:{name:i.displayName}})),o.default.createElement(l,{rowGap:1},o.default.createElement(V,null)),o.default.createElement(S,{skin:"info"},s("preview_command.note_about_temporary_backend"))))}))};var to=({baseUrl:t,siteIdOverride:n,onPreviewCreated:i})=>w.default.createElement(D,{siteId:n},w.default.createElement(Q,{baseUrl:t,onPreviewCreated:i}));export{to as a};
4
- //# sourceMappingURL=chunk-SUDVHU7A.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, { 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, { 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 {\n useDevCenterClient,\n ComponentType,\n type TopologyComponent,\n} from '@wix/dev-center-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';\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 { getAppSnapshot } = useDevCenterClient();\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 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 appSnapshot = await getAppSnapshot({\n appId: model.config.appId,\n });\n const topologyComponent = appSnapshot.components.find(\n (component): component is TopologyComponent => {\n return component.compType === ComponentType.TOPOLOGY;\n }\n );\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 saveAppConfig(model.projectFolder, {\n topologyComponentId: topologyComponent.compId,\n });\n }\n\n onPreviewCreated?.(armTag, backendServerUrl);\n\n return { armTag };\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 } }) => (\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 ),\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","getAppSnapshot","useDevCenterClient","httpClient","useHttpClient","uploadApplicationAction","useAsyncCallback","uploadApplication","createPreviewTagAction","_","serveUrl","topologyComponentId","backendServerUrl","createPreviewTag","createPreviewStatus","useAsync","assertBuildOutputExists","topologyComponent","component","ComponentType","armTag","saveAppConfig","React","ActionStatus","ArmTagProvider","Box_default","PointerIcon","Trans","PlatformViewer","Text","PreviewCommand","baseUrl","siteIdOverride","onPreviewCreated","React","SiteIdProvider","Preview"]}
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{Aa as $,Fa as T,a as g,b as P,d as l,db as V,f as b,x as H}from"./chunk-KJMWKJXC.js";import{L as J,N as j,V as z,a as S,b as F,d as u,e as _,l as c,m as A,x as M,z as E}from"./chunk-DRRMAC33.js";import{e as v,h as s}from"./chunk-V4TR6DCM.js";s();s();var pe={},ne={},me={},ce={};var de={},le={},ue={},fe={};function q(r){var e={"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 P(Object.assign(r,{domainToMappings:e}))}function W(r){var e=l(pe,{}),t=e.toJSON,a=e.fromJSON,i=l(ne,{}).fromJSON;function o(d){var f=d.host,m=t(r),h={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.CreateAppRelease",url:q({protoPath:"/apps/create/{appId}",data:m,host:f}),data:m,transformResponse:i};return h}return o.fromReq=a,o.__isAmbassador=!0,o}function k(r){var e=l(ue,{}),t=e.toJSON,a=e.fromJSON,i=l(fe,{}).fromJSON;function o(d){var f=d.host,m=t(r),h={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"PUT",methodFqn:"com.wix.ctp.AppsReleaseManagerService.UpdateAppRelease",url:q({protoPath:"/apps/tags/{tag}",data:m,host:f}),data:m,transformResponse:i};return h}return o.fromReq=a,o.__isAmbassador=!0,o}function Q(r){var e=l(me,{}),t=e.toJSON,a=e.fromJSON,i=l(ce,{}).fromJSON;function o(d){var f=d.host,m=t(r),h={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.CreateComponents",url:q({protoPath:"/apps/create-components/{appId}",data:m,host:f}),data:m,transformResponse:i};return h}return o.fromReq=a,o.__isAmbassador=!0,o}function G(r){var e=l(de,{}),t=e.toJSON,a=e.fromJSON,i=l(le,{}).fromJSON;function o(d){var f=d.host,m=t(r),h={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.PromoteAppReleaseToDevCenter",url:q({protoPath:"/apps/promote/{appId}/{tag}",data:m,host:f}),data:m,transformResponse:i};return h}return o.fromReq=a,o.__isAmbassador=!0,o}var O=v(F(),1);s();var B=c.object({newVersion:c.string()}),K=c.object({tag:c.string()});var{AppPermissionDenied:I}=_,X=(0,O.variant)({TagUpdated:{},TagNotFound:(0,O.fields)()}),w=class{constructor(e){this.httpClient=e;let{minRetryTimeout:t}=A();this.retryOptions={retries:3,minTimeout:t,maxTimeout:3*1e3}}retryOptions;createComponents=async(e,t,a)=>{try{await g(()=>this.httpClient.request(Q({appId:e,componentConfigs:t,projectId:a})),this.retryOptions)}catch(i){throw b(i)&&i.response?.status===403?new u({code:I({appId:e}),cause:i}):new u({code:_.FailedToCreateComponents(),cause:i})}};createAppRelease=async(e,t)=>{try{let{data:a}=await g(()=>this.httpClient.request(W({appId:e.appId,componentConfigs:e.components,projectId:t})),this.retryOptions);return K.parse(a).tag}catch(a){throw b(a)&&a.response?.status===403?new u({code:I({appId:e.appId}),cause:a}):new u({code:_.FailedToCreateAppRelease(),cause:a})}};updateAppRelease=async(e,t)=>{try{return await g(()=>this.httpClient.request(k({appId:e.appId,componentConfigs:e.components,tag:t})),this.retryOptions),X.TagUpdated()}catch(a){if(b(a)){if(a.response?.status===404)return X.TagNotFound({cause:a});if(a.response?.status===403)throw new u({code:I({appId:e.appId}),cause:a})}throw new u({code:_.FailedToUpdateAppRelease(),cause:a})}};promoteToDevCenter=async(e,t,a)=>{let{data:i}=await g(()=>this.httpClient.request(G({appId:e,tag:t,versionType:a})),this.retryOptions);return B.parse(i)}};s();var Y=v(S(),1);function he(){let r=T({type:"backoffice"});return(0,Y.useMemo)(()=>new w(r),[r])}s();s();var R=v(S(),1),Z=(0,R.createContext)(null),We=({children:r,armTag:e})=>R.default.createElement(Z.Provider,{value:{armTag:e}},r),ee=()=>{let r=(0,R.useContext)(Z);if(r===null)throw new Error("useArmTag() cannot be used without an <ArmTagProvider>");return r};s();s();var ve={},ge={sites:"_site"},_e={createdDate:"google.protobuf.Timestamp",updatedDate:"google.protobuf.Timestamp",trashedDate:"google.protobuf.Timestamp"};function Se(r){var e={"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 P(Object.assign(r,{domainToMappings:e}))}function L(r){var e=l(ve,{}),t=e.toJSON,a=e.fromJSON,i=l(ge,{_site:_e}).fromJSON;function o(d){var f=d.host,m=t(r),h={entityFqdn:"wix.site_list.v2.site",method:"POST",methodFqn:"com.wixpress.sitelist.api.SiteListServiceV2.QuerySites",url:Se({protoPath:"/v2/sites/query",data:m,host:f}),data:m,transformResponse:i};return h}return o.fromReq=a,o.__isAmbassador=!0,o}s();var Re=c.object({id:c.string(),displayName:c.string(),viewUrl:c.union([c.string().url(),c.literal("")]).optional()}),U=c.object({sites:c.array(Re)});var C=class{constructor(e){this.httpClient=e;let{minRetryTimeout:t}=A();this.retryOptions={retries:3,minTimeout:t,maxTimeout:3*1e3}}retryOptions;querySites=async(e={})=>{try{let{data:t}=await g(()=>this.httpClient.request(L(e)),this.retryOptions);return U.parse(t).sites}catch(t){throw new u({code:_.FailedToQuerySites(),cause:t,info:{...e}})}};getSite=async e=>{try{let{data:t}=await g(()=>this.httpClient.request(L({query:{filter:{id:{$in:[e]}}}})),this.retryOptions),{sites:a}=U.parse(t);return a.at(0)??null}catch(t){throw new u({code:_.FailedToGetSite(),cause:t,info:{id:e}})}}};s();var te=v(S(),1);function ye(){let r=T({type:"backoffice"});return(0,te.useMemo)(()=>new C(r),[r])}s();s();var re=v(S(),1),ae=(0,re.createContext)(null);s();var x=v(F(),1),D=(0,x.variant)({NotConfigured:{},NotFound:(0,x.fields)(),Resolved:(0,x.fields)()});s();async function wt({projectFolder:r,siteListClient:{getSite:e},siteId:t,writeDebugLog:a}){let i=t||(await $(r,a))?.siteId;if(!i)return D.NotConfigured();let o=await e(i);return o?D.Resolved({site:o}):D.NotFound({id:i})}s();var se=v(S(),1);function oe(){let r=(0,se.useContext)(ae);if(r===null)throw new Error("useSiteId() cannot be used without an <SiteIdProvider>");return r}s();var y=v(S(),1);var N=v(F(),1);function It(){let{model:r}=V(),{site:e}=oe(),{armTag:t}=ee();return{appId:r.config.appId,site:e,tag:t}}var ie=r=>{let e=new URL(r.toString()),t=["specs.UseAppsRuntimeCache","specs.ApplyQueryParamsOverrides"].map(a=>`${a}:true`).join(";");return e.searchParams.append("petri_ovr",t),e};function Lt({envConfig:r,platformType:e,siteOverrideId:t}){let{site:a,tag:i}=r,o=(0,N.match)(e,{Dashboard:()=>new URL(`dashboard/${a.id}`,"https://manage.wix.com/"),Editor:()=>ie(new URL(`https://wix.com/editor/${a.id}`)),Site:()=>{let d=ie(new URL(a.viewUrl));return t&&d.searchParams.append("site-override",t),d}});return o.searchParams.append("apps-override",i),o.toString()}function Ut({envConfig:r,extension:e}){let{appId:t,site:a,tag:i}=r,o=(0,N.matcher)(e).with({DashboardPage:()=>new URL(`dashboard/${a.id}/app/${t}${e.route}`,"https://manage.wix.com/")}).when(["DashboardMenuPlugin","DashboardPlugin","DashboardModal"],()=>new URL(`dashboard/${a.id}${e.route}`,"https://manage.wix.com/")).complete();return o.searchParams.append("apps-override",i),o.toString()}var Mt=async({url:r,title:e},t)=>{try{await H(r)}catch{t({type:"error",prefix:"app",msg:y.default.createElement(J,{type:"error"},y.default.createElement(z,{i18nKey:"general.open_page_error",components:[y.default.createElement(E,{bold:!0})],values:{title:e}}),y.default.createElement(M,null),y.default.createElement(j,{url:r}))})}};export{C as a,ye as b,ae as c,D as d,wt as e,w as f,he as g,We as h,oe as i,It as j,ie as k,Lt as l,Ut as m,Mt as n};
4
- //# sourceMappingURL=chunk-VYJSZFOO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../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","../../arm-client/src/index.ts","../src/context/armTag.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/context.ts","../src/site-id/site-id-state.ts","../src/site-id/resolve-configured-site.ts","../src/site-id/useSiteId.ts","../src/components/extensions/utils.tsx"],"sourcesContent":["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\nexport const 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","export { ARMClient } from './client.js';\nexport { useARMClient } from './useARMClient.js';\n","import React, {\n useContext,\n createContext,\n type FC,\n type ReactNode,\n} from 'react';\n\ntype ArmTag = {\n armTag: string;\n};\n\nexport const 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 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\nexport const 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 { createContext } from 'react';\nimport type { Site } from '@wix/site-list-client';\n\nexport type SiteIdState = {\n site: Site;\n setSite: (site: Site) => Promise<void>;\n};\n\nexport const SiteIdContext = createContext<SiteIdState | null>(null);\n","import { variant, fields, type VariantOf, type 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 { useContext } from 'react';\nimport { SiteIdContext, 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 React from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { matcher, match } 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 type { PlatformType } from '@wix/cli-app-definitions';\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';\n\nexport type EnvConfig = {\n site: Site;\n appId: string;\n tag: string;\n};\n\nexport function useEnvConfig(): EnvConfig {\n const { model } = useProjectModel();\n const { site } = useSiteId();\n const { armTag } = useArmTag();\n\n return {\n appId: model.config.appId,\n site,\n tag: armTag,\n };\n}\n\n// CSMv2 overrides are still not open to users, we need to open it explicitly.\n// TODO: remove it when the rollout is complete.\nexport const addCSMv2FTs = (url: URL) => {\n const clonedUrl = new URL(url.toString());\n const petriOvr = [\n 'specs.UseAppsRuntimeCache',\n 'specs.ApplyQueryParamsOverrides',\n ]\n .map((spec) => `${spec}:true`)\n .join(';');\n clonedUrl.searchParams.append('petri_ovr', petriOvr);\n return clonedUrl;\n};\n\nexport function resolvePlatformUrl({\n envConfig,\n platformType,\n siteOverrideId,\n}: {\n envConfig: EnvConfig;\n platformType: PlatformType;\n siteOverrideId?: string;\n}) {\n const { site, tag } = envConfig;\n\n const url = match(platformType, {\n Dashboard: () => new URL(`dashboard/${site.id}`, 'https://manage.wix.com/'),\n Editor: () => addCSMv2FTs(new URL(`https://wix.com/editor/${site.id}`)),\n Site: () => {\n const siteUrl = addCSMv2FTs(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 url.toString();\n}\n\nexport function resolveDashboardExtensionUrl({\n envConfig,\n extension,\n}: {\n envConfig: EnvConfig;\n extension: DevCenterComponent<DashboardExtension>;\n}) {\n const { appId, site, tag } = envConfig;\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 (error) {\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","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","init_esm_shims","init_esm_shims","import_react","ArmTagContext","ArmTagProvider","children","armTag","React","useArmTag","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_react","SiteIdContext","init_esm_shims","import_variant","SiteIdState","init_esm_shims","resolveConfiguredSite","projectFolder","getSite","siteId","writeDebugLog","resolvedSiteId","readAppConfig","SiteIdState","site","init_esm_shims","import_react","useSiteId","context","SiteIdContext","init_esm_shims","import_react","import_variant","useEnvConfig","model","useProjectModel","site","useSiteId","armTag","useArmTag","addCSMv2FTs","url","clonedUrl","petriOvr","spec","resolvePlatformUrl","envConfig","platformType","siteOverrideId","tag","siteUrl","resolveDashboardExtensionUrl","extension","appId","openPage","title","writeLog","openBrowser","React","Alert","Trans","Text","Newline","Link"]}