@wix/cli-app 1.1.26 → 1.1.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/{CreateVersionCommand-6BIMP4EZ.js → CreateVersionCommand-QDH7JKHX.js} +2 -2
- package/build/DevCommand-BWHFS7EE.js +10 -0
- package/build/DevCommand-BWHFS7EE.js.map +1 -0
- package/build/GenerateCommand-4IAYGNVH.js +99 -0
- package/build/GenerateCommand-4IAYGNVH.js.map +1 -0
- package/build/PreviewCommand-SPSCR63J.js +4 -0
- package/build/{ServeCommand-CSWUIFSC.js → ServeCommand-KQLHH4IL.js} +2 -2
- package/build/{build-2XPZSAZ7.js → build-TU3YPFTR.js} +2 -2
- package/build/{chunk-K7BVAIAQ.js → chunk-2EB3P7B2.js} +2 -2
- package/build/chunk-3AEATJPO.js +6 -0
- package/build/chunk-3AEATJPO.js.map +1 -0
- package/build/{chunk-ENEPC5FX.js → chunk-475TE6VB.js} +2 -2
- package/build/chunk-6PEM622E.js +4 -0
- package/build/{chunk-525O5S55.js → chunk-AVRG65EN.js} +2 -2
- package/build/{chunk-NXXHIYUZ.js → chunk-ECVCWBCH.js} +2 -2
- package/build/{chunk-D6OKUNFD.js → chunk-EM5H4PGI.js} +2 -2
- package/build/chunk-EYG5IL3X.js +4 -0
- package/build/chunk-EYG5IL3X.js.map +1 -0
- package/build/{chunk-CXPTPJQJ.js → chunk-F2SMMFC6.js} +2 -2
- package/build/chunk-HHH3T2SE.js +21 -0
- package/build/chunk-HHH3T2SE.js.map +1 -0
- package/build/chunk-LLIK5SND.js +4 -0
- package/build/chunk-LLIK5SND.js.map +1 -0
- package/build/{chunk-WCHELYSO.js → chunk-LSCCLD7Y.js} +2 -2
- package/build/{chunk-WCHELYSO.js.map → chunk-LSCCLD7Y.js.map} +1 -1
- package/build/{chunk-OB3TKXBE.js → chunk-MH6I3W5P.js} +2 -2
- package/build/chunk-QXRKVCUX.js +11 -0
- package/build/chunk-QXRKVCUX.js.map +1 -0
- package/build/{chunk-3FSVQOPK.js → chunk-RMRLAAAN.js} +2 -2
- package/build/{chunk-QC3E3TYM.js → chunk-RUDDKEXP.js} +2 -2
- package/build/{chunk-PONHDOS3.js → chunk-WNNTJB5D.js} +13 -12
- package/build/chunk-WNNTJB5D.js.map +1 -0
- package/build/chunk-WQJHO6ZT.js +4 -0
- package/build/chunk-WQJHO6ZT.js.map +1 -0
- package/build/{chunk-AT7VWBG3.js → chunk-WR2EPHHT.js} +2 -2
- package/build/{chunk-BC3CFR7E.js → chunk-YQ3IV43E.js} +2 -2
- package/build/{chunk-BC3CFR7E.js.map → chunk-YQ3IV43E.js.map} +1 -1
- package/build/{chunk-G7WNPT3Z.js → chunk-YQSABOMV.js} +2 -2
- package/build/index.js +2 -2
- package/build/{preview-3KC2IIEU.js → preview-WO6CELBC.js} +2 -2
- package/build/render-command-2IN4FGQJ.js +4 -0
- package/build/render-command-2IN4FGQJ.js.map +1 -0
- package/client.d.ts +8 -0
- package/package.json +3 -3
- package/schemas/custom-element.json +1 -1
- package/templates/api/files/api.ts.ejs +16 -0
- package/templates/custom-element/dependencies.json +14 -0
- package/templates/dashboard-modal/dependencies.json +10 -0
- package/templates/dashboard-page/dependencies.json +9 -0
- package/templates/dashboard-plugin/dependencies.json +10 -0
- package/templates/event/files/event.ts.ejs +19 -0
- package/build/DevCommand-QXDEU4WS.js +0 -10
- package/build/DevCommand-QXDEU4WS.js.map +0 -1
- package/build/GenerateCommand-HUGYYCGG.js +0 -99
- package/build/GenerateCommand-HUGYYCGG.js.map +0 -1
- package/build/PreviewCommand-T4I3YVQW.js +0 -4
- package/build/chunk-5DONBW64.js +0 -4
- package/build/chunk-ALTUU536.js +0 -17
- package/build/chunk-ALTUU536.js.map +0 -1
- package/build/chunk-DWN6ZOOC.js +0 -11
- package/build/chunk-DWN6ZOOC.js.map +0 -1
- package/build/chunk-KPG5JCIB.js +0 -4
- package/build/chunk-KPG5JCIB.js.map +0 -1
- package/build/chunk-PONHDOS3.js.map +0 -1
- package/build/chunk-SOO7TNTX.js +0 -6
- package/build/chunk-SOO7TNTX.js.map +0 -1
- package/build/chunk-YISAQNQ7.js +0 -4
- package/build/chunk-YISAQNQ7.js.map +0 -1
- package/build/render-command-CUTF4M37.js +0 -4
- package/build/render-command-CUTF4M37.js.map +0 -1
- /package/build/{CreateVersionCommand-6BIMP4EZ.js.map → CreateVersionCommand-QDH7JKHX.js.map} +0 -0
- /package/build/{PreviewCommand-T4I3YVQW.js.map → PreviewCommand-SPSCR63J.js.map} +0 -0
- /package/build/{ServeCommand-CSWUIFSC.js.map → ServeCommand-KQLHH4IL.js.map} +0 -0
- /package/build/{build-2XPZSAZ7.js.map → build-TU3YPFTR.js.map} +0 -0
- /package/build/{chunk-K7BVAIAQ.js.map → chunk-2EB3P7B2.js.map} +0 -0
- /package/build/{chunk-ENEPC5FX.js.map → chunk-475TE6VB.js.map} +0 -0
- /package/build/{chunk-5DONBW64.js.map → chunk-6PEM622E.js.map} +0 -0
- /package/build/{chunk-525O5S55.js.map → chunk-AVRG65EN.js.map} +0 -0
- /package/build/{chunk-NXXHIYUZ.js.map → chunk-ECVCWBCH.js.map} +0 -0
- /package/build/{chunk-D6OKUNFD.js.map → chunk-EM5H4PGI.js.map} +0 -0
- /package/build/{chunk-CXPTPJQJ.js.map → chunk-F2SMMFC6.js.map} +0 -0
- /package/build/{chunk-OB3TKXBE.js.map → chunk-MH6I3W5P.js.map} +0 -0
- /package/build/{chunk-3FSVQOPK.js.map → chunk-RMRLAAAN.js.map} +0 -0
- /package/build/{chunk-QC3E3TYM.js.map → chunk-RUDDKEXP.js.map} +0 -0
- /package/build/{chunk-AT7VWBG3.js.map → chunk-WR2EPHHT.js.map} +0 -0
- /package/build/{chunk-G7WNPT3Z.js.map → chunk-YQSABOMV.js.map} +0 -0
- /package/build/{preview-3KC2IIEU.js.map → preview-WO6CELBC.js.map} +0 -0
- /package/templates/custom-element/{element.json.ejs → files/element.json.ejs} +0 -0
- /package/templates/custom-element/{element.tsx.ejs → files/element.tsx.ejs} +0 -0
- /package/templates/custom-element/{panel.tsx.ejs → files/panel.tsx.ejs} +0 -0
- /package/templates/dashboard-menu-plugin/{menu.json.ejs → files/menu.json.ejs} +0 -0
- /package/templates/dashboard-modal/{modal.json.ejs → files/modal.json.ejs} +0 -0
- /package/templates/dashboard-modal/{modal.tsx.ejs → files/modal.tsx.ejs} +0 -0
- /package/templates/dashboard-page/{page.json.ejs → files/page.json.ejs} +0 -0
- /package/templates/dashboard-page/{page.tsx.ejs → files/page.tsx.ejs} +0 -0
- /package/templates/dashboard-plugin/{plugin.json.ejs → files/plugin.json.ejs} +0 -0
- /package/templates/dashboard-plugin/{plugin.tsx.ejs → files/plugin.tsx.ejs} +0 -0
- /package/templates/embedded-script/{embedded.html → files/embedded.html} +0 -0
- /package/templates/embedded-script/{embedded.json.ejs → files/embedded.json.ejs} +0 -0
- /package/templates/embedded-script/{logger.ts → files/logger.ts} +0 -0
- /package/templates/embedded-script/{params.dev.json → files/params.dev.json} +0 -0
package/build/chunk-KPG5JCIB.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a as B}from"./chunk-3FSVQOPK.js";import{b as oe}from"./chunk-G7WNPT3Z.js";import{b as O,c as pe,d as le,e as ae}from"./chunk-OB3TKXBE.js";import{a as ne}from"./chunk-CXPTPJQJ.js";import{g as ie}from"./chunk-ALTUU536.js";import{A as y,B as f,D as te,d as Z,e as R,l as A,m as L,q as E,r as ee,t as S,u as N,w as C,x as j}from"./chunk-ENEPC5FX.js";import{D as re,Ja as h,la as se,n as V,o as X}from"./chunk-PONHDOS3.js";import{a as g,c as b,d as x,n as w,o as Q}from"./chunk-SOO7TNTX.js";import{e as v,h as i}from"./chunk-V4TR6DCM.js";i();var U=v(g(),1);import W,{useCallback as be}from"react";i();var q=v(g(),1);import M from"react";i();i();var Ie=v(g(),1);import I,{useState as Ee}from"react";i();var ce=v(g(),1);import me from"react";var ue=({onSubmit:t,onError:r,sites:o})=>{let{t:e}=f(),{getDevSitesCount:s,getDevSitesLimit:l}=B(),{status:a}=C(()=>Promise.all([s(),l()]),[],{onError:r});return(0,ce.match)(a,{Error:()=>null,Loading:()=>me.createElement(S,{text:e("general.loading")}),Success:({result:[d,p]})=>{let _=d>=p,n=o.length===0;return me.createElement(L,{label:e("site_type_select.label"),options:[{availability:n?A.Disabled({reason:e("site_type_select.no_sites")}):A.Enabled(),title:e("site_type_select.pick_existing_site"),value:"select-existing-site"},{title:e("site_type_select.create_new_dev_site"),value:"create-dev-site",availability:_?A.Disabled({reason:e("site_type_select.create_new_dev_site.disabled",{limit:p})}):A.Enabled()}],onSubmit:({value:u})=>t(u)})}})};i();var fe=v(g(),1);import P from"react";i();import $ from"react";i();i();import{useMemo as we}from"react";i();i();var de=w.record(w.object({appDefinitionId:w.string().optional(),permissions:w.object({revoked:w.boolean()}).optional()}));var K=class{constructor(r){this.httpClient=r}isAppInstalled=async({metaSiteId:r,appId:o})=>{try{let{data:e}=await this.httpClient.request({url:`/_api/msm/v1/meta-site/editor-client-spec-map/${r}`}),s=de.parse(e);return Object.values(s).some(a=>a.appDefinitionId===o&&!a.permissions?.revoked)}catch(e){throw new b({code:x.FailedToCheckIfAppInstalled(),cause:e})}}};function F(){let t=ne({type:"general"});return we(()=>new K(t),[t])}var T=v(g(),1);i();import D from"react";var Se=({siteId:t,appId:r})=>(Z(async(o,e)=>{e.return&&await ie(`https://manage.wix.com/installer/install?metaSiteId=${t}&appId=${r}&platform=cli&version=latest`)}),D.createElement(D.Fragment,null,D.createElement(y,{i18nKey:"install_app_on_site.warning"}),D.createElement(y,{i18nKey:"install_app_on_site.warning.instructions",components:[D.createElement(ee,{value:"enter"})]})));var z=(0,T.variant)({Success:{},Canceled:{}});function he(t){return t&&typeof t=="object"&&"name"in t&&t.name==="AbortError"}var H=({appId:t,site:r,onSubmit:o,onError:e})=>{let{isAppInstalled:s}=F(),{status:l}=C(async({signal:a})=>{let{appInstallationPollInterval:d}=Q();try{return await X(()=>s({metaSiteId:r.id,appId:t}),{interval:d??2e3,timeout:{milliseconds:60*1e3*2,signal:a}}),z.Success()}catch(p){if(p instanceof V)throw new b({code:x.SiteSelectorTimedout(),cause:p});if(he(p))return z.Canceled();throw p}},[],{onError:e,onSuccess:a=>{(0,T.isType)(a,z.Success)&&o()}});return(0,T.match)(l,{Error:()=>null,Loading:()=>$.createElement(Se,{siteId:r.id,appId:t}),Success:()=>$.createElement(E,{type:"success"},$.createElement(y,{i18nKey:"install_app_on_site.finished_successfully"}))})};var ye=({status:t,appId:r,onSubmit:o,onError:e})=>{let{t:s}=f();return(0,fe.match)(t,{NotRequested:()=>null,Error:()=>null,Loading:()=>P.createElement(S,{text:s("create_dev_site.loading")}),Success:({result:l})=>P.createElement(P.Fragment,null,P.createElement(y,{i18nKey:"create_dev_site.success",components:[P.createElement(R,{skin:"success",bold:!0})],values:{name:l.displayName}}),P.createElement(H,{appId:r,site:l,onSubmit:()=>o(l),onError:e}))})};var _e={"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."};i();import k,{useState as Ae}from"react";var ge=v(g(),1);i();import Pe from"react";var ve=({onSubmit:t,sites:r})=>{let{t:o}=f();return Pe.createElement(L,{label:o("site_list_select.label"),options:r.map(e=>({key:e.id,title:e.displayName,description:e.viewUrl,value:e})),onSubmit:({value:e})=>t(e)})};var Ce=({sites:t,appId:r,onSubmit:o,onError:e})=>{let{t:s}=f(),{isAppInstalled:l}=F(),[a,d]=Ae(null),p=j((n,u)=>l({metaSiteId:u.id,appId:r}),{onError:e});async function _(n){await p.execute(n)?o(n):d(n)}return k.createElement(k.Fragment,null,k.createElement(ve,{onSubmit:_,sites:t}),(0,ge.isType)(p.status,"Loading")&&k.createElement(S,{text:s("general.loading")}),a&&k.createElement(H,{appId:r,site:a,onSubmit:()=>o(a),onError:e}))};var Y=({appId:t,onSubmit:r,onError:o})=>{let[e,s]=Ee(null),{createDevSite:l}=B(),a=O(),{status:d}=C(()=>a.querySites({query:{cursorPaging:{limit:100}}}),[],{onError:o}),p=j(()=>l(),{onError:o});function _(n){s(n),n==="create-dev-site"&&p.execute()}return I.createElement(te,{messages:_e},(0,Ie.match)(d,{Error:()=>null,Loading:()=>I.createElement(S,{text:I.createElement(y,{i18nKey:"general.loading"})}),Success:({result:n})=>I.createElement(I.Fragment,null,I.createElement(ue,{onSubmit:_,onError:o,sites:n}),e==="create-dev-site"&&I.createElement(ye,{status:p.status,appId:t,onSubmit:r,onError:o}),e==="select-existing-site"&&I.createElement(Ce,{sites:n,appId:t,onSubmit:r,onError:o}))}))};var G=({state:t,onSubmit:r})=>{let o=N(),{t:e}=f(),{model:s}=h();return M.createElement(M.Fragment,null,(0,q.match)(t,{NotConfigured:(0,q.constant)(M.createElement(E,{type:"insight"},e("general.no_site_id_configured"))),NotFound:({id:l})=>M.createElement(E,{type:"error"},e("general.site_id_not_found",{id:l}))}),M.createElement(Y,{appId:s.config.appId,onSubmit:r,onError:o}))};var ui=({children:t,siteId:r})=>{let o=N(),{model:{projectFolder:e}}=h(),s=oe(),l=O(),{status:a,merge:d}=C(async()=>ae({projectFolder:e,siteListClient:l,siteId:r,writeDebugLog:s}),[]),p=be(async n=>{try{await se(e,{siteId:n.id}),d({result:le.Resolved({site:n})})}catch{throw new b({code:x.FailedToSaveDevelopmentSite({path:re})})}},[d,e]),_=be(n=>p(n).catch(o),[o,p]);return(0,U.match)(a,{Error:()=>null,Loading:()=>W.createElement(S,null),Success:({result:n})=>(0,U.match)(n,{NotConfigured:u=>W.createElement(G,{state:u,onSubmit:_}),NotFound:u=>W.createElement(G,{state:u,onSubmit:_}),Resolved:({site:u})=>W.createElement(pe.Provider,{value:{site:u,setSite:p}},typeof t=="function"?t(u):t)})})};i();var J=v(g(),1);import{useCallback as xe}from"react";function _i(){let{model:t}=h(),r=xe(e=>t.components.some(s=>s.platforms.some((0,J.isType)(e.type))),[t.components]),o=xe(e=>t.components.every(s=>s.platforms.some((0,J.isType)(e.type))||s.platforms.length===0),[t.components]);return{isPlatformExists:r,hasSinglePlatform:o}}export{Y as a,ui as b,_i as c};
|
|
4
|
-
//# sourceMappingURL=chunk-KPG5JCIB.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/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 { 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\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 />,\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 { 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\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 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 { 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 onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SiteSelector: FC<Props> = ({ appId, onSubmit, onError }) => {\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 <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 );\n};\n","import React, { type FC } from 'react';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\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';\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 { t } = useTranslation();\n const { getDevSitesCount, getDevSitesLimit } = useDevCenterClient();\n const { status } = useAsync(\n () => Promise.all([getDevSitesCount(), getDevSitesLimit()]),\n [],\n { onError }\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={({ value }) => onSubmit(value)}\n />\n );\n },\n });\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 } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\n\ninterface Props {\n siteId: string;\n appId: string;\n}\n\nexport const OpenBrowser: FC<Props> = ({ siteId, appId }) => {\n useInput(async (input, key) => {\n if (key.return) {\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, { type FC } from 'react';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { SelectInput } from '@wix/cli-ui-kit';\nimport { type Site } from '@wix/site-list-client';\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\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={({ value }) => onSubmit(value)}\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_variant","React","useCallback","init_esm_shims","import_variant","React","init_esm_shims","init_esm_shims","import_variant","React","useState","init_esm_shims","import_variant","React","SiteTypeSelect","onSubmit","onError","sites","t","useTranslation","getDevSitesCount","getDevSitesLimit","useDevCenterClient","status","useAsync","React","Spinner","devSitesCount","devSitesLimit","isDevSitesLimitReached","userHasNoSites","SelectInput","SelectOptionAvailability","value","init_esm_shims","import_variant","React","init_esm_shims","React","init_esm_shims","init_esm_shims","useMemo","init_esm_shims","init_esm_shims","clientSpecMapSchema","z","MetasiteManagerClient","httpClient","metaSiteId","appId","data","clientSpecMap","clientSpecMapSchema","spec","CliError","CliErrorCode","useMetasiteManagerClient","httpClient","useHttpClient","useMemo","MetasiteManagerClient","import_variant","init_esm_shims","React","OpenBrowser","siteId","appId","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","React","useState","import_variant","init_esm_shims","React","SiteListSelect","onSubmit","sites","t","useTranslation","React","SelectInput","site","value","SelectExistingSite","sites","appId","onSubmit","onError","t","useTranslation","isAppInstalled","useMetasiteManagerClient","siteToInstallAppOn","setSiteToInstallAppOn","useState","checkAppInstalled","useAsyncCallback","_","site","handleSelectSite","React","SiteListSelect","Spinner","WaitForAppToBeInstalled","SiteSelector","appId","onSubmit","onError","siteType","setSiteType","useState","createDevSite","useDevCenterClient","siteListClient","useSiteListClient","status","useAsync","createSite","useAsyncCallback","handleSelectSiteType","React","I18nProvider","messages_default","Spinner","Trans","sites","SiteTypeSelect","CreateDevSite","SelectExistingSite","ResolveSiteId","state","onSubmit","exit","useExit","t","useTranslation","model","useProjectModel","React","Alert","id","SiteSelector","SiteIdProvider","children","siteId","exit","useExit","projectFolder","useProjectModel","writeDebugLog","useDebugLog","siteListClient","useSiteListClient","status","merge","useAsync","resolveConfiguredSite","setSite","useCallback","site","saveAppConfig","SiteIdState","CliError","CliErrorCode","APP_CONFIG_PATH","handleResolveSiteId","React","Spinner","state","variant","ResolveSiteId","SiteIdContext","init_esm_shims","import_variant","useCallback","usePlatform","model","useProjectModel","isPlatformExists","useCallback","platformType","component","hasSinglePlatform"]}
|