@wix/cli-app 1.1.53 → 1.1.55

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 (95) hide show
  1. package/README.md +45 -0
  2. package/build/{CreateVersionCommand-2W37YQW4.js → CreateVersionCommand-XTZT5DED.js} +2 -2
  3. package/build/{DevCommand-JDHE7RQB.js → DevCommand-Q5XLAGMG.js} +2 -2
  4. package/build/DevCommand-Q5XLAGMG.js.map +1 -0
  5. package/build/GenerateCommand-HNFICZJA.js +128 -0
  6. package/build/{GenerateCommand-3PPXF4B6.js.map → GenerateCommand-HNFICZJA.js.map} +1 -1
  7. package/build/LogsCommand-XJHE75L2.js +4 -0
  8. package/build/LogsCommand-XJHE75L2.js.map +1 -0
  9. package/build/PreviewCommand-JKPFMGWV.js +4 -0
  10. package/build/ServeCommand-CPZOI7DC.js +4 -0
  11. package/build/ServeCommand-CPZOI7DC.js.map +1 -0
  12. package/build/build-3RXHADZD.js +4 -0
  13. package/build/build-3RXHADZD.js.map +1 -0
  14. package/build/{chunk-FVG3T57Z.js → chunk-2FB5F5QF.js} +2 -2
  15. package/build/{chunk-TSAKYUDG.js → chunk-4BHNJVL2.js} +2 -2
  16. package/build/{chunk-PSQ4AQFG.js → chunk-6HSUK2A2.js} +2 -2
  17. package/build/{chunk-QXIKCJLU.js → chunk-7VOKCPZP.js} +3 -3
  18. package/build/{chunk-QXIKCJLU.js.map → chunk-7VOKCPZP.js.map} +1 -1
  19. package/build/{chunk-WXOIL7LC.js → chunk-B4SDDVMV.js} +2 -2
  20. package/build/{chunk-DLQYJEV6.js → chunk-C4SXZWXS.js} +2 -2
  21. package/build/{chunk-4CCKO52Z.js → chunk-FKBCPMYK.js} +3 -3
  22. package/build/chunk-FKBCPMYK.js.map +1 -0
  23. package/build/chunk-FMIXY6J5.js +115 -0
  24. package/build/chunk-FMIXY6J5.js.map +1 -0
  25. package/build/{chunk-YIGHU6O6.js → chunk-GWU77DPO.js} +2 -2
  26. package/build/chunk-GWU77DPO.js.map +1 -0
  27. package/build/{chunk-SZ5JWJ4Q.js → chunk-HDXLQ34N.js} +2 -2
  28. package/build/{chunk-2W2YJZP5.js → chunk-JXE3LQ2S.js} +15 -15
  29. package/build/chunk-JXE3LQ2S.js.map +1 -0
  30. package/build/chunk-K2A77MMN.js +4 -0
  31. package/build/chunk-K2A77MMN.js.map +1 -0
  32. package/build/{chunk-C3O7WWDR.js → chunk-KG7BHEJG.js} +2 -2
  33. package/build/chunk-LJEYXY4V.js +4 -0
  34. package/build/chunk-LJEYXY4V.js.map +1 -0
  35. package/build/{chunk-B5P4JHUW.js → chunk-N5D4TFKX.js} +132 -130
  36. package/build/chunk-N5D4TFKX.js.map +1 -0
  37. package/build/{chunk-AXAJ7DJ4.js → chunk-QOUZ6J7N.js} +2 -2
  38. package/build/{chunk-HILXNAWZ.js → chunk-X4BLMM2K.js} +2 -2
  39. package/build/chunk-X4BLMM2K.js.map +1 -0
  40. package/build/cloudflare-runtime/entry.js +300 -48
  41. package/build/cloudflare-runtime/getRegisteredExtensions.js +299 -47
  42. package/build/index.js +2 -2
  43. package/build/platform-sdk/chunk-GZP4Z76C.js +2 -0
  44. package/build/platform-sdk/chunk-GZP4Z76C.js.map +1 -0
  45. package/build/platform-sdk/chunk-KGLNBMRO.js +2 -0
  46. package/build/platform-sdk/chunk-KGLNBMRO.js.map +1 -0
  47. package/build/platform-sdk/dashboard.js +1 -1
  48. package/build/platform-sdk/editor.js +2 -2
  49. package/build/platform-sdk/editor.js.map +1 -1
  50. package/build/platform-sdk/site.js +1 -1
  51. package/build/platform-sdk/site.js.map +1 -1
  52. package/build/preview-TM7JAWFS.js +4 -0
  53. package/build/preview-TM7JAWFS.js.map +1 -0
  54. package/build/render-command-QEQ3L7OX.js +4 -0
  55. package/build/render-command-QEQ3L7OX.js.map +1 -0
  56. package/package.json +7 -6
  57. package/templates/dashboard-plugin/files/plugin.tsx.ejs +8 -18
  58. package/build/DevCommand-JDHE7RQB.js.map +0 -1
  59. package/build/GenerateCommand-3PPXF4B6.js +0 -128
  60. package/build/LogsCommand-LQKTBY6D.js +0 -4
  61. package/build/LogsCommand-LQKTBY6D.js.map +0 -1
  62. package/build/PreviewCommand-H3HVD7DH.js +0 -4
  63. package/build/ServeCommand-RHONEHTF.js +0 -4
  64. package/build/ServeCommand-RHONEHTF.js.map +0 -1
  65. package/build/build-QN6TGE3Q.js +0 -4
  66. package/build/build-QN6TGE3Q.js.map +0 -1
  67. package/build/chunk-2W2YJZP5.js.map +0 -1
  68. package/build/chunk-4CCKO52Z.js.map +0 -1
  69. package/build/chunk-B5P4JHUW.js.map +0 -1
  70. package/build/chunk-F6MVNSX2.js +0 -4
  71. package/build/chunk-F6MVNSX2.js.map +0 -1
  72. package/build/chunk-HILXNAWZ.js.map +0 -1
  73. package/build/chunk-LDGXTJLC.js +0 -4
  74. package/build/chunk-LDGXTJLC.js.map +0 -1
  75. package/build/chunk-YIGHU6O6.js.map +0 -1
  76. package/build/chunk-YMRYABCG.js +0 -115
  77. package/build/chunk-YMRYABCG.js.map +0 -1
  78. package/build/platform-sdk/chunk-32RIHE6N.js +0 -2
  79. package/build/platform-sdk/chunk-32RIHE6N.js.map +0 -1
  80. package/build/platform-sdk/chunk-DGX4CFXG.js +0 -2
  81. package/build/platform-sdk/chunk-DGX4CFXG.js.map +0 -1
  82. package/build/preview-457BTAHF.js +0 -4
  83. package/build/preview-457BTAHF.js.map +0 -1
  84. package/build/render-command-W6CY3R4Q.js +0 -4
  85. package/build/render-command-W6CY3R4Q.js.map +0 -1
  86. /package/build/{CreateVersionCommand-2W37YQW4.js.map → CreateVersionCommand-XTZT5DED.js.map} +0 -0
  87. /package/build/{PreviewCommand-H3HVD7DH.js.map → PreviewCommand-JKPFMGWV.js.map} +0 -0
  88. /package/build/{chunk-FVG3T57Z.js.map → chunk-2FB5F5QF.js.map} +0 -0
  89. /package/build/{chunk-TSAKYUDG.js.map → chunk-4BHNJVL2.js.map} +0 -0
  90. /package/build/{chunk-PSQ4AQFG.js.map → chunk-6HSUK2A2.js.map} +0 -0
  91. /package/build/{chunk-WXOIL7LC.js.map → chunk-B4SDDVMV.js.map} +0 -0
  92. /package/build/{chunk-DLQYJEV6.js.map → chunk-C4SXZWXS.js.map} +0 -0
  93. /package/build/{chunk-SZ5JWJ4Q.js.map → chunk-HDXLQ34N.js.map} +0 -0
  94. /package/build/{chunk-C3O7WWDR.js.map → chunk-KG7BHEJG.js.map} +0 -0
  95. /package/build/{chunk-AXAJ7DJ4.js.map → chunk-QOUZ6J7N.js.map} +0 -0
@@ -1,4 +1,4 @@
1
1
  import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
- import{b as $,c as _e,d as ve,e as we}from"./chunk-LDGXTJLC.js";import{b as ue}from"./chunk-4CCKO52Z.js";import{Ra as Se,Ta as fe,U as de,Ua as G,Va as ye,Wa as ge,r as oe,s as re,t as ae,u as W,x as ce,zb as k}from"./chunk-YMRYABCG.js";import{A as ne,H as N,I as q,L as O,M as pe,N as le,P as v,Q as K,S as h,T as H,W as w,X as d,Z as me,b as y,c as I,e as b,f as x,m as F,n as ie,z as se}from"./chunk-2W2YJZP5.js";import{e as p,h as o}from"./chunk-V4TR6DCM.js";o();var A=p(y(),1),R=p(I(),1);o();var B=p(y(),1),U=p(I(),1);o();o();var g=p(y(),1),Le=p(I(),1);o();var Q=p(y(),1),Ie=p(I(),1);o();var Ce=p(y(),1);function Me(t){return{cliAction:({question:r,action:i,key:e,additionalInfo:s})=>{t.report(ge({question:r,action:i,key:e,additionalInfo:JSON.stringify(s)}))},cliFlowStepAnswered:({question:r,answer:i,additionalInfo:e})=>{t.report(ye({question:r,answer:i,additionalInfo:JSON.stringify(e)}))}}}function E(){let t=W();return(0,Ce.useMemo)(()=>Me(t),[t])}var be=({onSubmit:t,onError:r,sites:i})=>{let e=E(),{t:s}=d(),{getDevSitesCount:n,getDevSitesLimit:c}=G(),{status:C}=h(()=>Promise.all([n(),c()]),[],{onError:r}),u=S=>{e.cliFlowStepAnswered({question:s("site_type_select.label"),answer:S.title}),t(S.value)};return(0,Ie.match)(C,{Error:()=>null,Loading:()=>Q.default.createElement(v,{text:s("general.loading")}),Success:({result:[S,f]})=>{let l=S>=f,_=i.length===0;return Q.default.createElement(q,{label:s("site_type_select.label"),options:[{availability:_?N.Disabled({reason:s("site_type_select.no_sites")}):N.Enabled(),title:s("site_type_select.pick_existing_site"),value:"select-existing-site"},{title:s("site_type_select.create_new_dev_site"),value:"create-dev-site",availability:l?N.Disabled({reason:s("site_type_select.create_new_dev_site.disabled",{limit:f})}):N.Enabled()}],onSubmit:u})}})};o();var P=p(y(),1),Ae=p(I(),1);o();var L=p(y(),1);o();o();var he=p(y(),1);o();o();var xe=F.record(F.object({appDefinitionId:F.string().optional(),permissions:F.object({revoked:F.boolean()}).optional()}));var J=class{constructor(r){this.httpClient=r}getClientSpecMap=async r=>{try{let{data:i}=await this.httpClient.request({url:`/_api/msm/v1/meta-site/editor-client-spec-map/${r}`});return xe.parse(i)}catch(i){throw new b({code:x.FailedToGetClientSpecMap(),cause:i})}};getSiteInstalledApps=async r=>{try{let i=await this.getClientSpecMap(r);return Object.values(i).filter(e=>e.appDefinitionId&&!e.permissions?.revoked).map(e=>e.appDefinitionId)}catch(i){throw new b({code:x.FailedToGetSiteInstalledApps(),cause:i})}};isAppInstalled=async({metaSiteId:r,appId:i})=>{try{let e=await this.getClientSpecMap(r);return Object.values(e).some(n=>n.appDefinitionId===i&&!n.permissions?.revoked)}catch(e){throw new b({code:x.FailedToCheckIfAppInstalled(),cause:e})}}};function j(){let t=fe({type:"general"});return(0,he.useMemo)(()=>new J(t),[t])}var M=p(I(),1);o();var D=p(y(),1);var Te=({siteId:t,appId:r})=>{let{t:i}=d(),e=E();return se(async(s,n)=>{n.return&&(e.cliAction({question:i("install_app_on_site.warning.instructions"),key:"enter",action:"install_app_on_site"}),await ce(`https://manage.wix.com/installer/install?metaSiteId=${t}&appId=${r}&platform=cli&version=latest`))}),D.default.createElement(D.default.Fragment,null,D.default.createElement(w,{i18nKey:"install_app_on_site.warning"}),D.default.createElement(w,{i18nKey:"install_app_on_site.warning.instructions",components:[D.default.createElement(le,{value:"Enter"})]}))};var V=(0,M.variant)({Success:{},Canceled:{}});function Be(t){return t&&typeof t=="object"&&"name"in t&&t.name==="AbortError"}var Y=({appId:t,site:r,onSubmit:i,onError:e})=>{let{isAppInstalled:s}=j(),{status:n}=h(async({signal:c})=>{let{appInstallationPollInterval:C}=ie();try{return await re(()=>s({metaSiteId:r.id,appId:t}),{interval:C??2e3,timeout:{milliseconds:60*1e3*2,signal:c}}),V.Success()}catch(u){if(u instanceof oe)throw new b({code:x.SiteSelectorTimedout(),cause:u});if(Be(u))return V.Canceled();throw u}},[],{onError:e,onSuccess:c=>{(0,M.isType)(c,V.Success)&&i()}});return(0,M.match)(n,{Error:()=>null,Loading:()=>L.default.createElement(Te,{siteId:r.id,appId:t}),Success:()=>L.default.createElement(O,{type:"success"},L.default.createElement(pe,{skin:"success"},L.default.createElement(w,{i18nKey:"general.success"}))," ",L.default.createElement(w,{i18nKey:"install_app_on_site.finished_successfully"}))})};var Pe=({status:t,appId:r,onSubmit:i,onError:e})=>{let{t:s}=d();return(0,Ae.match)(t,{NotRequested:()=>null,Error:()=>null,Loading:()=>P.default.createElement(v,{text:s("create_dev_site.loading")}),Success:({result:n})=>P.default.createElement(P.default.Fragment,null,P.default.createElement(w,{i18nKey:"create_dev_site.success",components:[P.default.createElement(ne,{skin:"success",bold:!0})],values:{name:n.displayName}}),P.default.createElement(Y,{appId:r,site:n,onSubmit:()=>i(n),onError:e}))})};var Fe={"general.loading":"Loading...","general.success":"Success","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 T=p(y(),1);var Ee=p(I(),1);o();var z=p(y(),1);var ke=({onSubmit:t,sites:r})=>{let{t:i}=d(),e=E(),s=(0,z.useCallback)(n=>{e.cliFlowStepAnswered({question:i("site_list_select.label"),answer:n.title}),t(n.value)},[e,t,i]);return z.default.createElement(q,{label:i("site_list_select.label"),options:r.map(n=>({key:n.id,title:n.displayName,description:n.viewUrl,value:n})),onSubmit:s})};var De=({sites:t,appId:r,onSubmit:i,onError:e})=>{let{t:s}=d(),{isAppInstalled:n}=j(),[c,C]=(0,T.useState)(null),u=H((f,l)=>n({metaSiteId:l.id,appId:r}),{onError:e});async function S(f){await u.execute(f)?i(f):C(f)}return T.default.createElement(T.default.Fragment,null,T.default.createElement(ke,{onSubmit:S,sites:t}),(0,Ee.isType)(u.status,"Loading")&&T.default.createElement(v,{text:s("general.loading")}),c&&T.default.createElement(Y,{appId:r,site:c,onSubmit:()=>i(c),onError:e}))};var X=({appId:t,biLogger:r,onSubmit:i,onError:e})=>{let[s,n]=(0,g.useState)(null),{createDevSite:c}=G(),C=$(),{status:u}=h(()=>C.querySites({query:{cursorPaging:{limit:100}}}),[],{onError:e}),S=H(()=>c(),{onError:e});function f(l){n(l),l==="create-dev-site"&&S.execute()}return g.default.createElement(ae,{value:r},g.default.createElement(me,{messages:Fe},(0,Le.match)(u,{Error:()=>null,Loading:()=>g.default.createElement(v,{text:g.default.createElement(w,{i18nKey:"general.loading"})}),Success:({result:l})=>g.default.createElement(g.default.Fragment,null,g.default.createElement(be,{onSubmit:f,onError:e,sites:l}),s==="create-dev-site"&&g.default.createElement(Pe,{status:S.status,appId:t,onSubmit:i,onError:e}),s==="select-existing-site"&&g.default.createElement(De,{sites:l,appId:t,onSubmit:i,onError:e}))})))};var Z=({state:t,onSubmit:r})=>{let i=K(),{t:e}=d(),{model:s}=k(),n=W();return B.default.createElement(B.default.Fragment,null,(0,U.match)(t,{NotConfigured:(0,U.constant)(B.default.createElement(O,{type:"insight"},e("general.no_site_id_configured"))),NotFound:({id:c})=>B.default.createElement(O,{type:"error"},e("general.site_id_not_found",{id:c}))}),B.default.createElement(X,{appId:s.config.appId,biLogger:n,onSubmit:r,onError:i}))};var Oe=({children:t,siteId:r})=>{let i=K(),{model:{projectFolder:e}}=k(),s=ue(),n=$(),{t:c}=d(),{status:C,merge:u}=h(async()=>we({projectFolder:e,siteListClient:n,siteId:r,writeDebugLog:s}),[]),S=(0,A.useCallback)(async l=>{try{await Se(e,{siteId:l.id}),u({result:ve.Resolved({site:l})})}catch(_){throw new b({code:x.FailedToSaveDevelopmentSite({path:de}),cause:_})}},[u,e]),f=(0,A.useCallback)(l=>S(l).catch(i),[i,S]);return(0,R.match)(C,{Error:()=>null,Loading:()=>A.default.createElement(v,{text:c("dev_command.site_provider.loading")}),Success:({result:l})=>(0,R.match)(l,{NotConfigured:_=>A.default.createElement(Z,{state:_,onSubmit:f}),NotFound:_=>A.default.createElement(Z,{state:_,onSubmit:f}),Resolved:({site:_})=>A.default.createElement(_e.Provider,{value:{site:_,setSite:S}},typeof t=="function"?t(_):t)})})};o();o();var ee=p(y(),1),te=p(I(),1);function Pi(){let{model:t}=k(),r=(0,ee.useCallback)(e=>t.components.some(s=>s.platforms.some((0,te.isType)(e.type))),[t.components]),i=(0,ee.useCallback)(e=>t.components.every(s=>s.platforms.some((0,te.isType)(e.type))||s.platforms.length===0),[t.components]);return{isPlatformExists:r,hasSinglePlatform:i}}export{j as a,X as b,Oe as c,Pi as d};
4
- //# sourceMappingURL=chunk-YIGHU6O6.js.map
3
+ import{b as $,c as _e,d as ve,e as we}from"./chunk-LJEYXY4V.js";import{b as ue}from"./chunk-FKBCPMYK.js";import{Ab as k,Sa as Se,Ua as fe,V as de,Va as G,Wa as ye,Xa as ge,r as oe,s as re,t as ae,u as W,x as ce}from"./chunk-FMIXY6J5.js";import{A as ne,H as N,I as q,L as O,M as pe,N as le,P as v,Q as K,S as h,T as H,W as w,X as d,Z as me,b as y,c as b,e as x,f as I,m as F,n as ie,z as se}from"./chunk-JXE3LQ2S.js";import{e as p,h as o}from"./chunk-V4TR6DCM.js";o();var A=p(y(),1),R=p(b(),1);o();var B=p(y(),1),U=p(b(),1);o();o();var g=p(y(),1),Le=p(b(),1);o();var Q=p(y(),1),be=p(b(),1);o();var Ce=p(y(),1);function Me(t){return{cliAction:({question:r,action:i,key:e,additionalInfo:s})=>{t.report(ge({question:r,action:i,key:e,additionalInfo:JSON.stringify(s)}))},cliFlowStepAnswered:({question:r,answer:i,additionalInfo:e})=>{t.report(ye({question:r,answer:i,additionalInfo:JSON.stringify(e)}))}}}function E(){let t=W();return(0,Ce.useMemo)(()=>Me(t),[t])}var xe=({onSubmit:t,onError:r,sites:i})=>{let e=E(),{t:s}=d(),{getDevSitesCount:n,getDevSitesLimit:c}=G(),{status:C}=h(()=>Promise.all([n(),c()]),[],{onError:r}),u=S=>{e.cliFlowStepAnswered({question:s("site_type_select.label"),answer:S.title}),t(S.value)};return(0,be.match)(C,{Error:()=>null,Loading:()=>Q.default.createElement(v,{text:s("general.loading")}),Success:({result:[S,f]})=>{let l=S>=f,_=i.length===0;return Q.default.createElement(q,{label:s("site_type_select.label"),options:[{availability:_?N.Disabled({reason:s("site_type_select.no_sites")}):N.Enabled(),title:s("site_type_select.pick_existing_site"),value:"select-existing-site"},{title:s("site_type_select.create_new_dev_site"),value:"create-dev-site",availability:l?N.Disabled({reason:s("site_type_select.create_new_dev_site.disabled",{limit:f})}):N.Enabled()}],onSubmit:u})}})};o();var P=p(y(),1),Ae=p(b(),1);o();var L=p(y(),1);o();o();var he=p(y(),1);o();o();var Ie=F.record(F.object({appDefinitionId:F.string().optional(),permissions:F.object({revoked:F.boolean()}).optional()}));var J=class{constructor(r){this.httpClient=r}getClientSpecMap=async r=>{try{let{data:i}=await this.httpClient.request({url:`/_api/msm/v1/meta-site/editor-client-spec-map/${r}`});return Ie.parse(i)}catch(i){throw new x({code:I.FailedToGetClientSpecMap(),cause:i})}};getSiteInstalledApps=async r=>{try{let i=await this.getClientSpecMap(r);return Object.values(i).filter(e=>e.appDefinitionId&&!e.permissions?.revoked).map(e=>e.appDefinitionId)}catch(i){throw new x({code:I.FailedToGetSiteInstalledApps(),cause:i})}};isAppInstalled=async({metaSiteId:r,appId:i})=>{try{let e=await this.getClientSpecMap(r);return Object.values(e).some(n=>n.appDefinitionId===i&&!n.permissions?.revoked)}catch(e){throw new x({code:I.FailedToCheckIfAppInstalled(),cause:e})}}};function j(){let t=fe({type:"general"});return(0,he.useMemo)(()=>new J(t),[t])}var M=p(b(),1);o();var D=p(y(),1);var Te=({siteId:t,appId:r})=>{let{t:i}=d(),e=E();return se(async(s,n)=>{n.return&&(e.cliAction({question:i("install_app_on_site.warning.instructions"),key:"enter",action:"install_app_on_site"}),await ce(`https://manage.wix.com/installer/install?metaSiteId=${t}&appId=${r}&platform=cli&version=latest`))}),D.default.createElement(D.default.Fragment,null,D.default.createElement(w,{i18nKey:"install_app_on_site.warning"}),D.default.createElement(w,{i18nKey:"install_app_on_site.warning.instructions",components:[D.default.createElement(le,{value:"Enter"})]}))};var V=(0,M.variant)({Success:{},Canceled:{}});function Be(t){return t&&typeof t=="object"&&"name"in t&&t.name==="AbortError"}var Y=({appId:t,site:r,onSubmit:i,onError:e})=>{let{isAppInstalled:s}=j(),{status:n}=h(async({signal:c})=>{let{appInstallationPollInterval:C}=ie();try{return await re(()=>s({metaSiteId:r.id,appId:t}),{interval:C??2e3,timeout:{milliseconds:60*1e3*2,signal:c}}),V.Success()}catch(u){if(u instanceof oe)throw new x({code:I.SiteSelectorTimedout(),cause:u});if(Be(u))return V.Canceled();throw u}},[],{onError:e,onSuccess:c=>{(0,M.isType)(c,V.Success)&&i()}});return(0,M.match)(n,{Error:()=>null,Loading:()=>L.default.createElement(Te,{siteId:r.id,appId:t}),Success:()=>L.default.createElement(O,{type:"success"},L.default.createElement(pe,{skin:"success"},L.default.createElement(w,{i18nKey:"general.success"}))," ",L.default.createElement(w,{i18nKey:"install_app_on_site.finished_successfully"}))})};var Pe=({status:t,appId:r,onSubmit:i,onError:e})=>{let{t:s}=d();return(0,Ae.match)(t,{NotRequested:()=>null,Error:()=>null,Loading:()=>P.default.createElement(v,{text:s("create_dev_site.loading")}),Success:({result:n})=>P.default.createElement(P.default.Fragment,null,P.default.createElement(w,{i18nKey:"create_dev_site.success",components:[P.default.createElement(ne,{skin:"success",bold:!0})],values:{name:n.displayName}}),P.default.createElement(Y,{appId:r,site:n,onSubmit:()=>i(n),onError:e}))})};var Fe={"general.loading":"Loading...","general.success":"Success","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 T=p(y(),1);var Ee=p(b(),1);o();var z=p(y(),1);var ke=({onSubmit:t,sites:r})=>{let{t:i}=d(),e=E(),s=(0,z.useCallback)(n=>{e.cliFlowStepAnswered({question:i("site_list_select.label"),answer:n.title}),t(n.value)},[e,t,i]);return z.default.createElement(q,{label:i("site_list_select.label"),options:r.map(n=>({key:n.id,title:n.displayName,description:n.viewUrl,value:n})),onSubmit:s})};var De=({sites:t,appId:r,onSubmit:i,onError:e})=>{let{t:s}=d(),{isAppInstalled:n}=j(),[c,C]=(0,T.useState)(null),u=H((f,l)=>n({metaSiteId:l.id,appId:r}),{onError:e});async function S(f){await u.execute(f)?i(f):C(f)}return T.default.createElement(T.default.Fragment,null,T.default.createElement(ke,{onSubmit:S,sites:t}),(0,Ee.isType)(u.status,"Loading")&&T.default.createElement(v,{text:s("general.loading")}),c&&T.default.createElement(Y,{appId:r,site:c,onSubmit:()=>i(c),onError:e}))};var X=({appId:t,biLogger:r,onSubmit:i,onError:e})=>{let[s,n]=(0,g.useState)(null),{createDevSite:c}=G(),C=$(),{status:u}=h(()=>C.querySites({query:{cursorPaging:{limit:100}}}),[],{onError:e}),S=H(()=>c(),{onError:e});function f(l){n(l),l==="create-dev-site"&&S.execute()}return g.default.createElement(ae,{value:r},g.default.createElement(me,{messages:Fe},(0,Le.match)(u,{Error:()=>null,Loading:()=>g.default.createElement(v,{text:g.default.createElement(w,{i18nKey:"general.loading"})}),Success:({result:l})=>g.default.createElement(g.default.Fragment,null,g.default.createElement(xe,{onSubmit:f,onError:e,sites:l}),s==="create-dev-site"&&g.default.createElement(Pe,{status:S.status,appId:t,onSubmit:i,onError:e}),s==="select-existing-site"&&g.default.createElement(De,{sites:l,appId:t,onSubmit:i,onError:e}))})))};var Z=({state:t,onSubmit:r})=>{let i=K(),{t:e}=d(),{model:s}=k(),n=W();return B.default.createElement(B.default.Fragment,null,(0,U.match)(t,{NotConfigured:(0,U.constant)(B.default.createElement(O,{type:"insight"},e("general.no_site_id_configured"))),NotFound:({id:c})=>B.default.createElement(O,{type:"error"},e("general.site_id_not_found",{id:c}))}),B.default.createElement(X,{appId:s.config.appId,biLogger:n,onSubmit:r,onError:i}))};var Oe=({children:t,siteId:r})=>{let i=K(),{model:{projectFolder:e}}=k(),s=ue(),n=$(),{t:c}=d(),{status:C,merge:u}=h(async()=>we({projectFolder:e,siteListClient:n,siteId:r,writeDebugLog:s}),[]),S=(0,A.useCallback)(async l=>{try{await Se(e,{siteId:l.id}),u({result:ve.Resolved({site:l})})}catch(_){throw new x({code:I.FailedToSaveDevelopmentSite({path:de}),cause:_})}},[u,e]),f=(0,A.useCallback)(l=>S(l).catch(i),[i,S]);return(0,R.match)(C,{Error:()=>null,Loading:()=>A.default.createElement(v,{text:c("dev_command.site_provider.loading")}),Success:({result:l})=>(0,R.match)(l,{NotConfigured:_=>A.default.createElement(Z,{state:_,onSubmit:f}),NotFound:_=>A.default.createElement(Z,{state:_,onSubmit:f}),Resolved:({site:_})=>A.default.createElement(_e.Provider,{value:{site:_,setSite:S}},typeof t=="function"?t(_):t)})})};o();o();var ee=p(y(),1),te=p(b(),1);function Pi(){let{model:t}=k(),r=(0,ee.useCallback)(e=>t.components.some(s=>s.platforms.some((0,te.isType)(e.type))),[t.components]),i=(0,ee.useCallback)(e=>t.components.every(s=>s.platforms.some((0,te.isType)(e.type))||s.platforms.length===0),[t.components]);return{isPlatformExists:r,hasSinglePlatform:i}}export{j as a,X as b,Oe as c,Pi as d};
4
+ //# sourceMappingURL=chunk-GWU77DPO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/site/SiteProvider.tsx","../src/site/ResolveSite.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/site/index.ts","../src/components/Platform/usePlatform.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport { match } from 'variant';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { APP_CONFIG_PATH } from '@wix/cli-app-definitions';\nimport { useAsync, useExit, Spinner } from '@wix/cli-ui-kit';\nimport { useSiteListClient } from '@wix/site-list-client';\nimport type { Site } from '@wix/site-list-client';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { saveAppConfig } from '../files/app.config.js';\nimport { useProjectModel } from '../model.js';\nimport { ResolveSite } from './ResolveSite.js';\nimport { SiteContext } from './context.js';\nimport { SiteState } from './site-state.js';\nimport { resolveConfiguredSite } from './resolve-configured-site.js';\n\nexport const SiteProvider: 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: SiteState.Resolved({ site }) });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToSaveDevelopmentSite({\n path: APP_CONFIG_PATH,\n }),\n cause: e,\n });\n }\n },\n [merge, projectFolder]\n );\n\n const handleResolveSite = 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 <ResolveSite state={variant} onSubmit={handleResolveSite} />\n ),\n NotFound: (variant) => (\n <ResolveSite state={variant} onSubmit={handleResolveSite} />\n ),\n Resolved: ({ site }) => (\n <SiteContext.Provider\n value={{\n site,\n setSite,\n }}\n >\n {typeof children === 'function' ? children(site) : children}\n </SiteContext.Provider>\n ),\n });\n },\n });\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match, constant } from 'variant';\nimport type { Site } from '@wix/site-list-client';\nimport { Alert, useExit } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { SiteSelector } from '@wix/cli-site-selector';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport { useProjectModel } from '../model.js';\nimport type { SiteState } from './site-state.js';\n\ninterface Props {\n state: SiteState<'NotConfigured' | 'NotFound'>;\n onSubmit: (site: Site) => void;\n}\n\nexport const ResolveSite: FC<Props> = ({ state, onSubmit }) => {\n const exit = useExit();\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const biLogger = useBiLogger();\n\n return (\n <>\n {match(state, {\n NotConfigured: constant(\n <Alert type=\"insight\">{t('general.no_site_id_configured')}</Alert>\n ),\n NotFound: ({ id }) => (\n <Alert type=\"error\">{t('general.site_id_not_found', { id })}</Alert>\n ),\n })}\n <SiteSelector\n appId={model.config.appId}\n biLogger={biLogger}\n onSubmit={onSubmit}\n onError={exit}\n />\n </>\n );\n};\n","export { SiteSelector } from './SiteSelector.js';\n","import React, { useState } from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { I18nProvider, Trans } from '@wix/cli-i18n';\nimport type { Site } from '@wix/site-list-client';\nimport { Spinner, useAsync, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { useSiteListClient } from '@wix/site-list-client';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport { BiProvider } from '@wix/cli-telemetry-react';\nimport { SiteTypeSelect } from './SiteTypeSelect.js';\nimport type { SiteType } from './SiteTypeSelect.js';\nimport { CreateDevSite } from './CreateDevSite.js';\nimport messages from './messages.json';\nimport { SelectExistingSite } from './SelectExistingSite.js';\n\ninterface Props {\n appId: string;\n biLogger: BiLogger;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SiteSelector: FC<Props> = ({\n appId,\n biLogger,\n onSubmit,\n onError,\n}) => {\n const [siteType, setSiteType] = useState<SiteType | null>(null);\n const { createDevSite } = useDevCenterClient();\n const siteListClient = useSiteListClient();\n\n const { status } = useAsync(\n () =>\n siteListClient.querySites({\n query: {\n cursorPaging: {\n limit: 100,\n },\n },\n }),\n [],\n {\n onError,\n }\n );\n\n const createSite = useAsyncCallback(() => createDevSite(), {\n onError,\n });\n\n function handleSelectSiteType(siteType: SiteType) {\n setSiteType(siteType);\n if (siteType === 'create-dev-site') {\n void createSite.execute();\n }\n }\n\n return (\n <BiProvider value={biLogger}>\n <I18nProvider messages={messages}>\n {match(status, {\n Error: () => null,\n Loading: () => <Spinner text={<Trans i18nKey=\"general.loading\" />} />,\n Success: ({ result: sites }) => (\n <>\n <SiteTypeSelect\n onSubmit={handleSelectSiteType}\n onError={onError}\n sites={sites}\n />\n {siteType === 'create-dev-site' && (\n <CreateDevSite\n status={createSite.status}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n {siteType === 'select-existing-site' && (\n <SelectExistingSite\n sites={sites}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n </>\n ),\n })}\n </I18nProvider>\n </BiProvider>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport {\n Spinner,\n SelectInput,\n useAsync,\n SelectOptionAvailability,\n} from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport type { Site } from '@wix/site-list-client';\nimport { useSiteSelectorBi } from './bi.js';\n\nexport type SiteType = 'create-dev-site' | 'select-existing-site';\ninterface Props {\n onSubmit: (siteType: SiteType) => void;\n onError: (error: unknown) => void;\n sites: Site[];\n}\n\nexport const SiteTypeSelect: FC<Props> = ({ onSubmit, onError, sites }) => {\n const bi = useSiteSelectorBi();\n const { t } = useTranslation();\n const { getDevSitesCount, getDevSitesLimit } = useDevCenterClient();\n const { status } = useAsync(\n () => Promise.all([getDevSitesCount(), getDevSitesLimit()]),\n [],\n { onError }\n );\n\n const handleSubmit = (option: SelectOption<SiteType>) => {\n void 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\nfunction 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 void biLogger.report(\n wixCliAction({\n question,\n action,\n key,\n additionalInfo: JSON.stringify(additionalInfo),\n })\n );\n },\n cliFlowStepAnswered: ({\n question,\n answer,\n additionalInfo,\n }: {\n question: string;\n answer: string;\n additionalInfo?: Record<string, unknown>;\n }) => {\n void biLogger.report(\n wixCliAppFlowStepsAnswers({\n question,\n answer,\n additionalInfo: JSON.stringify(additionalInfo),\n })\n );\n },\n };\n}\n\nexport function useSiteSelectorBi() {\n const biLogger = useBiLogger();\n return useMemo(() => siteSelectorBiEvents(biLogger), [biLogger]);\n}\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport type { AsyncCallbackStatus } from '@wix/cli-ui-kit';\nimport { Text, Spinner } from '@wix/cli-ui-kit';\nimport type { Site } from '@wix/site-list-client';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\n\ninterface Props {\n status: AsyncCallbackStatus<Site>;\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const CreateDevSite: FC<Props> = ({\n status,\n appId,\n onSubmit,\n onError,\n}) => {\n const { t } = useTranslation();\n\n return match(status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => <Spinner text={t('create_dev_site.loading')} />,\n Success: ({ result }) => (\n <>\n <Trans\n i18nKey=\"create_dev_site.success\"\n components={[<Text skin=\"success\" bold />]}\n values={{ name: result.displayName }}\n />\n <WaitForAppToBeInstalled\n appId={appId}\n site={result}\n onSubmit={() => onSubmit(result)}\n onError={onError}\n />\n </>\n ),\n });\n};\n","import pWaitFor, { TimeoutError } from 'p-wait-for';\nimport React from 'react';\nimport type { FC } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { Alert, Badge, 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\nconst 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 <Badge skin=\"success\">\n <Trans i18nKey=\"general.success\" />\n </Badge>{' '}\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 private getClientSpecMap = async (metaSiteId: string) => {\n try {\n const { data } = await this.httpClient.request({\n url: `/_api/msm/v1/meta-site/editor-client-spec-map/${metaSiteId}`,\n });\n\n return clientSpecMapSchema.parse(data);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetClientSpecMap(),\n cause: e,\n });\n }\n };\n\n public getSiteInstalledApps = async (metaSiteId: string) => {\n try {\n const clientSpecMap = await this.getClientSpecMap(metaSiteId);\n\n return Object.values(clientSpecMap)\n .filter((spec) => spec.appDefinitionId && !spec.permissions?.revoked)\n .map((spec) => spec.appDefinitionId!);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSiteInstalledApps(),\n cause: e,\n });\n }\n };\n\n public isAppInstalled = async ({\n metaSiteId,\n appId,\n }: {\n metaSiteId: string;\n appId: string;\n }) => {\n try {\n const clientSpecMap = await this.getClientSpecMap(metaSiteId);\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","import React from 'react';\nimport type { FC } from 'react';\nimport { Key, useInput } from '@wix/cli-ui-kit';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\nimport { useSiteSelectorBi } from './bi.js';\n\ninterface Props {\n siteId: string;\n appId: string;\n}\n\nexport const OpenBrowser: FC<Props> = ({ siteId, appId }) => {\n const { t } = useTranslation();\n const bi = useSiteSelectorBi();\n\n useInput(async (input, key) => {\n if (key.return) {\n bi.cliAction({\n question: t('install_app_on_site.warning.instructions'),\n key: 'enter',\n action: 'install_app_on_site',\n });\n await openBrowser(\n `https://manage.wix.com/installer/install?metaSiteId=${siteId}&appId=${appId}&platform=cli&version=latest`\n );\n }\n });\n\n return (\n <>\n <Trans i18nKey=\"install_app_on_site.warning\" />\n <Trans\n i18nKey=\"install_app_on_site.warning.instructions\"\n components={[<Key value=\"Enter\" />]}\n />\n </>\n );\n};\n","{\n \"general.loading\": \"Loading...\",\n \"general.success\": \"Success\",\n \"site_type_select.label\": \"Select Development Site\",\n \"site_type_select.create_new_dev_site\": \"Create a new Development Site\",\n \"site_type_select.create_new_dev_site.disabled\": \"You have reached the maximum number of {limit} Development Sites\",\n \"site_type_select.pick_existing_site\": \"Pick an existing site\",\n \"site_type_select.no_sites\": \"No sites found\",\n \"create_dev_site.loading\": \"Creating your new Development Site...\",\n \"create_dev_site.success\": \"Development Site <0>{name}</0> created successfully! 🚀\",\n \"site_list_select.label\": \"Select Site\",\n \"install_app_on_site.warning\": \"Your new application needs to be installed on the selected Development Site\",\n \"install_app_on_site.warning.instructions\": \"Press <0/> to install the application in your browser\",\n \"install_app_on_site.finished_successfully\": \"App installed on Development Site.\"\n}\n","import React, { useState } from 'react';\nimport { Spinner, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useMetasiteManagerClient } from '@wix/metasite-manager-client';\nimport type { Site } from '@wix/site-list-client';\nimport { isType } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\nimport { SiteListSelect } from './SiteListSelect.js';\n\ninterface Props {\n sites: Site[];\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SelectExistingSite = ({\n sites,\n appId,\n onSubmit,\n onError,\n}: Props) => {\n const { t } = useTranslation();\n const { isAppInstalled } = useMetasiteManagerClient();\n const [siteToInstallAppOn, setSiteToInstallAppOn] = useState<Site | null>(\n null\n );\n const checkAppInstalled = useAsyncCallback(\n (_, site: Site) => isAppInstalled({ metaSiteId: site.id, appId }),\n {\n onError,\n }\n );\n\n async function handleSelectSite(site: Site) {\n const isInstalled = await checkAppInstalled.execute(site);\n if (isInstalled) {\n onSubmit(site);\n } else {\n setSiteToInstallAppOn(site);\n }\n }\n\n return (\n <>\n <SiteListSelect onSubmit={handleSelectSite} sites={sites} />\n {isType(checkAppInstalled.status, 'Loading') && (\n <Spinner text={t('general.loading')} />\n )}\n {siteToInstallAppOn && (\n <WaitForAppToBeInstalled\n appId={appId}\n site={siteToInstallAppOn}\n onSubmit={() => onSubmit(siteToInstallAppOn)}\n onError={onError}\n />\n )}\n </>\n );\n};\n","import React, { useCallback } from 'react';\nimport type { FC } from 'react';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport { SelectInput } from '@wix/cli-ui-kit';\nimport type { Site } from '@wix/site-list-client';\nimport { useSiteSelectorBi } from './bi.js';\n\ninterface Props {\n onSubmit: (site: Site) => void;\n sites: Site[];\n}\n\nexport const SiteListSelect: FC<Props> = ({ onSubmit, sites }) => {\n const { t } = useTranslation();\n const bi = useSiteSelectorBi();\n\n const handleSubmit = useCallback(\n (option: SelectOption<Site>) => {\n bi.cliFlowStepAnswered({\n question: t('site_list_select.label'),\n answer: option.title,\n });\n onSubmit(option.value);\n },\n [bi, onSubmit, t]\n );\n\n return (\n <SelectInput<Site>\n label={t('site_list_select.label')}\n options={sites.map((site) => ({\n key: site.id,\n title: site.displayName,\n description: site.viewUrl,\n value: site,\n }))}\n onSubmit={handleSubmit}\n />\n );\n};\n","export { SiteProvider } from './SiteProvider.js';\nexport { useSite } from './useSite.js';\n","import { useCallback } from 'react';\nimport { isType } from 'variant';\nimport type { PlatformType } from '@wix/cli-app-definitions';\nimport { useProjectModel } from '../../model.js';\n\nexport function usePlatform() {\n const { model } = useProjectModel();\n\n const isPlatformExists = useCallback(\n (platformType: PlatformType) =>\n model.components.some((component) =>\n component.platforms.some(isType(platformType.type))\n ),\n [model.components]\n );\n\n const hasSinglePlatform = useCallback(\n (platformType: PlatformType) =>\n model.components.every(\n (component) =>\n component.platforms.some(isType(platformType.type)) ||\n component.platforms.length === 0\n ),\n [model.components]\n );\n\n return {\n isPlatformExists,\n hasSinglePlatform,\n };\n}\n"],"mappings":"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","names":["init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","siteSelectorBiEvents","biLogger","question","action","key","additionalInfo","wixCliAction","answer","wixCliAppFlowStepsAnswers","useSiteSelectorBi","useBiLogger","SiteTypeSelect","onSubmit","onError","sites","bi","useSiteSelectorBi","t","useTranslation","getDevSitesCount","getDevSitesLimit","useDevCenterClient","status","useAsync","handleSubmit","option","React","Spinner","devSitesCount","devSitesLimit","isDevSitesLimitReached","userHasNoSites","SelectInput","SelectOptionAvailability","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","init_esm_shims","init_esm_shims","import_react","init_esm_shims","init_esm_shims","clientSpecMapSchema","z","MetasiteManagerClient","httpClient","metaSiteId","data","clientSpecMapSchema","e","CliError","CliErrorCode","clientSpecMap","spec","appId","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","Badge","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","ResolveSite","state","onSubmit","exit","useExit","t","useTranslation","model","useProjectModel","biLogger","useBiLogger","React","Alert","id","SiteSelector","SiteProvider","children","siteId","exit","useExit","projectFolder","useProjectModel","writeDebugLog","useDebugLog","siteListClient","useSiteListClient","t","useTranslation","status","merge","useAsync","resolveConfiguredSite","setSite","site","saveAppConfig","SiteState","e","CliError","CliErrorCode","APP_CONFIG_PATH","handleResolveSite","React","Spinner","state","variant","ResolveSite","SiteContext","init_esm_shims","init_esm_shims","import_react","import_variant","usePlatform","model","useProjectModel","isPlatformExists","platformType","component","hasSinglePlatform"]}
@@ -1,4 +1,4 @@
1
1
  import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
- import{V as a}from"./chunk-2W2YJZP5.js";import{h as g}from"./chunk-V4TR6DCM.js";g();import{createLogger as f}from"vite";function m(t){return[/Port \d{1,5} is in use, trying another one/].some(n=>n.test(t))}function u({timestamp:t}={}){let n=a({stripAnsi:!1}),i=f("info",{allowClearScreen:!1,prefix:""}),p={timestamp:t},o=(r,e,c)=>{let s={...c,...p};return typeof e=="string"?m(e)?null:i[r](e,s):setTimeout(()=>i[r](n.render(e),s))};return{...i,info:(r,e)=>o("info",r,e),error:(r,e)=>o("error",r,e),warn:(r,e)=>o("warn",r,e),warnOnce:(r,e)=>o("warnOnce",r,e)}}export{u as a};
4
- //# sourceMappingURL=chunk-SZ5JWJ4Q.js.map
3
+ import{V as a}from"./chunk-JXE3LQ2S.js";import{h as g}from"./chunk-V4TR6DCM.js";g();import{createLogger as f}from"vite";function m(t){return[/Port \d{1,5} is in use, trying another one/].some(n=>n.test(t))}function u({timestamp:t}={}){let n=a({stripAnsi:!1}),i=f("info",{allowClearScreen:!1,prefix:""}),p={timestamp:t},o=(r,e,c)=>{let s={...c,...p};return typeof e=="string"?m(e)?null:i[r](e,s):setTimeout(()=>i[r](n.render(e),s))};return{...i,info:(r,e)=>o("info",r,e),error:(r,e)=>o("error",r,e),warn:(r,e)=>o("warn",r,e),warnOnce:(r,e)=>o("warnOnce",r,e)}}export{u as a};
4
+ //# sourceMappingURL=chunk-HDXLQ34N.js.map