@wix/cli-app 1.1.20 → 1.1.21
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-4EHRZQR4.js +4 -0
- package/build/CreateVersionCommand-4EHRZQR4.js.map +1 -0
- package/build/DevCommand-XLTMQ5EG.js +4 -0
- package/build/{DevCommand-5ZXJQCYA.js.map → DevCommand-XLTMQ5EG.js.map} +1 -1
- package/build/{GenerateCommand-IJSMXTIA.js → GenerateCommand-NJTQ4FIA.js} +2 -2
- package/build/{GenerateCommand-IJSMXTIA.js.map → GenerateCommand-NJTQ4FIA.js.map} +1 -1
- package/build/PreviewCommand-FIVHCANO.js +4 -0
- package/build/ServeCommand-2RZMVHK7.js +4 -0
- package/build/{ServeCommand-QOKAYFJP.js.map → ServeCommand-2RZMVHK7.js.map} +1 -1
- package/build/build-OMWR3BEJ.js +4 -0
- package/build/build-OMWR3BEJ.js.map +1 -0
- package/build/chunk-2USWVQ2X.js +4 -0
- package/build/{chunk-INHSYB3J.js.map → chunk-2USWVQ2X.js.map} +1 -1
- package/build/chunk-5WYU5DN6.js +4 -0
- package/build/chunk-5WYU5DN6.js.map +1 -0
- package/build/{chunk-R2DHQREZ.js → chunk-6BCYTL6Y.js} +2 -2
- package/build/chunk-A3ZCWWGH.js +98 -0
- package/build/chunk-A3ZCWWGH.js.map +1 -0
- package/build/chunk-EDBTQCL6.js +4 -0
- package/build/chunk-EDBTQCL6.js.map +1 -0
- package/build/chunk-JBPOHE7I.js +4 -0
- package/build/{chunk-BMK5ZXHB.js → chunk-JDRXNEX3.js} +2 -2
- package/build/chunk-LFQ7PA3M.js +4 -0
- package/build/chunk-LFQ7PA3M.js.map +1 -0
- package/build/chunk-NBPSAHH6.js +4 -0
- package/build/chunk-NBPSAHH6.js.map +1 -0
- package/build/chunk-OHPVRXMN.js +6 -0
- package/build/chunk-OHPVRXMN.js.map +1 -0
- package/build/{chunk-XTLXT6QW.js → chunk-ORGUPPD5.js} +2 -2
- package/build/chunk-QNDYP4A4.js +17 -0
- package/build/chunk-QNDYP4A4.js.map +1 -0
- package/build/chunk-R4SS2VOR.js +87 -0
- package/build/chunk-R4SS2VOR.js.map +1 -0
- package/build/chunk-SFP2CY5Y.js +4 -0
- package/build/chunk-SFP2CY5Y.js.map +1 -0
- package/build/{chunk-RPZCQEPB.js → chunk-SRUHOBT2.js} +2 -2
- package/build/{chunk-MZN364Q6.js → chunk-TLVSBZ36.js} +2 -2
- package/build/{chunk-MZN364Q6.js.map → chunk-TLVSBZ36.js.map} +1 -1
- package/build/chunk-UOHED6PX.js +4 -0
- package/build/{chunk-5OTJBADY.js.map → chunk-UOHED6PX.js.map} +1 -1
- package/build/{chunk-ESE4L44D.js → chunk-VLLINVOQ.js} +2 -2
- package/build/{chunk-CTWRW76F.js → chunk-VXZVY72B.js} +3 -3
- package/build/{chunk-CTWRW76F.js.map → chunk-VXZVY72B.js.map} +1 -1
- package/build/index.js +2 -2
- package/build/preview-LJ6BOJCV.js +4 -0
- package/build/preview-LJ6BOJCV.js.map +1 -0
- package/build/{render-command-32GXLYY2.js → render-command-5L5B4E3Q.js} +2 -2
- package/package.json +4 -4
- package/build/CreateVersionCommand-SW4ZOQ6N.js +0 -4
- package/build/CreateVersionCommand-SW4ZOQ6N.js.map +0 -1
- package/build/DevCommand-5ZXJQCYA.js +0 -4
- package/build/PreviewCommand-2MM4267L.js +0 -4
- package/build/ServeCommand-QOKAYFJP.js +0 -4
- package/build/build-FJY4BC54.js +0 -4
- package/build/build-FJY4BC54.js.map +0 -1
- package/build/chunk-3VQX7LRS.js +0 -4
- package/build/chunk-3VQX7LRS.js.map +0 -1
- package/build/chunk-423K4EW3.js +0 -4
- package/build/chunk-5OTJBADY.js +0 -4
- package/build/chunk-ALZJFJ23.js +0 -4
- package/build/chunk-ALZJFJ23.js.map +0 -1
- package/build/chunk-C632XAQG.js +0 -23
- package/build/chunk-C632XAQG.js.map +0 -1
- package/build/chunk-F2ZEWDAK.js +0 -73
- package/build/chunk-F2ZEWDAK.js.map +0 -1
- package/build/chunk-INHSYB3J.js +0 -4
- package/build/chunk-N5OCWMLI.js +0 -4
- package/build/chunk-N5OCWMLI.js.map +0 -1
- package/build/chunk-PYEFXRM2.js +0 -87
- package/build/chunk-PYEFXRM2.js.map +0 -1
- package/build/chunk-RIDNK3X3.js +0 -4
- package/build/chunk-RIDNK3X3.js.map +0 -1
- package/build/chunk-SARV44FW.js +0 -6
- package/build/chunk-SARV44FW.js.map +0 -1
- package/build/chunk-TTTQ7SZK.js +0 -4
- package/build/chunk-TTTQ7SZK.js.map +0 -1
- package/build/chunk-YKE3BZS3.js +0 -27
- package/build/chunk-YKE3BZS3.js.map +0 -1
- package/build/preview-4GL6ALWD.js +0 -4
- package/build/preview-4GL6ALWD.js.map +0 -1
- /package/build/{PreviewCommand-2MM4267L.js.map → PreviewCommand-FIVHCANO.js.map} +0 -0
- /package/build/{chunk-R2DHQREZ.js.map → chunk-6BCYTL6Y.js.map} +0 -0
- /package/build/{chunk-423K4EW3.js.map → chunk-JBPOHE7I.js.map} +0 -0
- /package/build/{chunk-BMK5ZXHB.js.map → chunk-JDRXNEX3.js.map} +0 -0
- /package/build/{chunk-XTLXT6QW.js.map → chunk-ORGUPPD5.js.map} +0 -0
- /package/build/{chunk-RPZCQEPB.js.map → chunk-SRUHOBT2.js.map} +0 -0
- /package/build/{chunk-ESE4L44D.js.map → chunk-VLLINVOQ.js.map} +0 -0
- /package/build/{render-command-32GXLYY2.js.map → render-command-5L5B4E3Q.js.map} +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{a as P}from"./chunk-SRUHOBT2.js";import{g as j}from"./chunk-QNDYP4A4.js";import{c as L,e as U,p as M,r as E,z as J}from"./chunk-R4SS2VOR.js";import{Ea as H,a as v,b as w,d as l,f as C,ja as z}from"./chunk-A3ZCWWGH.js";import{a as D,c as u,d as g,n as c,o as x}from"./chunk-OHPVRXMN.js";import{e as O,h as s}from"./chunk-V4TR6DCM.js";s();s();var te={},re={},ae={},se={};var oe={},ie={},pe={},ne={};function b(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 w(Object.assign(r,{domainToMappings:e}))}function $(r){var e=l(te,{}),t=e.toJSON,a=e.fromJSON,i=l(re,{}).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:b({protoPath:"/apps/create/{appId}",data:m,host:f}),data:m,transformResponse:i};return h}return o.fromReq=a,o.__isAmbassador=!0,o}function V(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:"PUT",methodFqn:"com.wix.ctp.AppsReleaseManagerService.UpdateAppRelease",url:b({protoPath:"/apps/tags/{tag}",data:m,host:f}),data:m,transformResponse:i};return h}return o.fromReq=a,o.__isAmbassador=!0,o}function W(r){var e=l(ae,{}),t=e.toJSON,a=e.fromJSON,i=l(se,{}).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:b({protoPath:"/apps/create-components/{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(oe,{}),t=e.toJSON,a=e.fromJSON,i=l(ie,{}).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:b({protoPath:"/apps/promote/{appId}/{tag}",data:m,host:f}),data:m,transformResponse:i};return h}return o.fromReq=a,o.__isAmbassador=!0,o}var A=O(D(),1);s();var Q=c.object({newVersion:c.string()}),G=c.object({tag:c.string()});var{AppPermissionDenied:N}=g,B=(0,A.variant)({TagUpdated:{},TagNotFound:(0,A.fields)()}),_=class{constructor(e){this.httpClient=e;let{minRetryTimeout:t}=x();this.retryOptions={retries:3,minTimeout:t,maxTimeout:3*1e3}}retryOptions;createComponents=async(e,t,a)=>{try{await v(()=>this.httpClient.request(W({appId:e,componentConfigs:t,projectId:a})),this.retryOptions)}catch(i){throw C(i)&&i.response?.status===403?new u({code:N({appId:e}),cause:i}):new u({code:g.FailedToCreateComponents(),cause:i})}};createAppRelease=async(e,t)=>{try{let{data:a}=await v(()=>this.httpClient.request($({appId:e.appId,componentConfigs:e.components,projectId:t})),this.retryOptions);return G.parse(a).tag}catch(a){throw C(a)&&a.response?.status===403?new u({code:N({appId:e.appId}),cause:a}):new u({code:g.FailedToCreateAppRelease(),cause:a})}};updateAppRelease=async(e,t)=>{try{return await v(()=>this.httpClient.request(V({appId:e.appId,componentConfigs:e.components,tag:t})),this.retryOptions),B.TagUpdated()}catch(a){if(C(a)){if(a.response?.status===404)return B.TagNotFound({cause:a});if(a.response?.status===403)throw new u({code:N({appId:e.appId}),cause:a})}throw new u({code:g.FailedToUpdateAppRelease(),cause:a})}};promoteToDevCenter=async(e,t,a)=>{let{data:i}=await v(()=>this.httpClient.request(k({appId:e,tag:t,versionType:a})),this.retryOptions);return Q.parse(i)}};s();import{useMemo as me}from"react";function ce(){let r=P({type:"backoffice"});return me(()=>new _(r),[r])}s();s();import de,{useContext as le,createContext as ue}from"react";var K=ue(null),Ge=({children:r,armTag:e})=>de.createElement(K.Provider,{value:{armTag:e}},r),X=()=>{let r=le(K);if(r===null)throw new Error("useArmTag() cannot be used without an <ArmTagProvider>");return r};s();s();var fe={},he={sites:"_site"},ve={createdDate:"google.protobuf.Timestamp",updatedDate:"google.protobuf.Timestamp",trashedDate:"google.protobuf.Timestamp"};function ge(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 w(Object.assign(r,{domainToMappings:e}))}function F(r){var e=l(fe,{}),t=e.toJSON,a=e.fromJSON,i=l(he,{_site:ve}).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:ge({protoPath:"/v2/sites/query",data:m,host:f}),data:m,transformResponse:i};return h}return o.fromReq=a,o.__isAmbassador=!0,o}s();var _e=c.object({id:c.string(),displayName:c.string(),viewUrl:c.union([c.string().url(),c.literal("")]).optional()}),I=c.object({sites:c.array(_e)});var S=class{constructor(e){this.httpClient=e;let{minRetryTimeout:t}=x();this.retryOptions={retries:3,minTimeout:t,maxTimeout:3*1e3}}retryOptions;querySites=async(e={})=>{try{let{data:t}=await v(()=>this.httpClient.request(F(e)),this.retryOptions);return I.parse(t).sites}catch(t){throw new u({code:g.FailedToQuerySites(),cause:t,info:{...e}})}};getSite=async e=>{try{let{data:t}=await v(()=>this.httpClient.request(F({query:{filter:{id:{$in:[e]}}}})),this.retryOptions),{sites:a}=I.parse(t);return a.at(0)??null}catch(t){throw new u({code:g.FailedToGetSite(),cause:t,info:{id:e}})}}};s();import{useMemo as Se}from"react";function Re(){let r=P({type:"backoffice"});return Se(()=>new S(r),[r])}s();s();import{createContext as ye}from"react";var Y=ye(null);s();var R=O(D(),1),T=(0,R.variant)({NotConfigured:{},NotFound:(0,R.fields)(),Resolved:(0,R.fields)()});s();async function At({projectFolder:r,siteListClient:{getSite:e},siteId:t,writeDebugLog:a}){let i=t||(await z(r,a))?.siteId;if(!i)return T.NotConfigured();let o=await e(i);return o?T.Resolved({site:o}):T.NotFound({id:i})}s();import{useContext as we}from"react";function Z(){let r=we(Y);if(r===null)throw new Error("useSiteId() cannot be used without an <SiteIdProvider>");return r}s();import y from"react";var q=O(D(),1);function zt(){let{model:r}=H(),{site:e}=Z(),{armTag:t}=X();return{appId:r.config.appId,site:e,tag:t}}var ee=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 Ht({envConfig:r,platformType:e,siteOverrideId:t}){let{site:a,tag:i}=r,o=(0,q.match)(e,{Dashboard:()=>new URL(`dashboard/${a.id}`,"https://manage.wix.com/"),Editor:()=>ee(new URL(`https://wix.com/editor/${a.id}`)),Site:()=>{let d=ee(new URL(a.viewUrl));return t&&d.searchParams.append("site-override",t),d}});return o.searchParams.append("apps-override",i),o.toString()}function $t({envConfig:r,extension:e}){let{appId:t,site:a,tag:i}=r,o=(0,q.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 Vt=async({url:r,title:e},t)=>{try{await j(r)}catch{t({type:"error",prefix:"app",msg:y.createElement(M,{type:"error"},y.createElement(J,{i18nKey:"general.open_page_error",components:[y.createElement(U,{bold:!0})],values:{title:e}}),y.createElement(L,null),y.createElement(E,{url:r}))})}};export{S as a,Re as b,Y as c,T as d,At as e,_ as f,ce as g,Ge as h,Z as i,zt as j,ee as k,Ht as l,$t as m,Vt as n};
|
|
4
|
+
//# sourceMappingURL=chunk-SFP2CY5Y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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","useMemo","useARMClient","httpClient","useHttpClient","useMemo","ARMClient","init_esm_shims","init_esm_shims","React","useContext","createContext","ArmTagContext","ArmTagProvider","children","armTag","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","useMemo","useSiteListClient","httpClient","useHttpClient","useMemo","SiteListClient","init_esm_shims","init_esm_shims","createContext","SiteIdContext","init_esm_shims","import_variant","SiteIdState","init_esm_shims","resolveConfiguredSite","projectFolder","getSite","siteId","writeDebugLog","resolvedSiteId","readAppConfig","SiteIdState","site","init_esm_shims","useContext","useSiteId","context","useContext","SiteIdContext","init_esm_shims","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"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as _createRequire } from 'node:module';
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{
|
|
4
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
import{a as i,b as o}from"./chunk-QNDYP4A4.js";import{h as t}from"./chunk-V4TR6DCM.js";t();import{useMemo as m}from"react";function c({type:e}){let{getAccessToken:p,getRequestHeaders:r}=o();return m(()=>i({type:e,getAppToken:p,createHeaders:r}),[e,p,r])}t();export{c as a};
|
|
4
|
+
//# sourceMappingURL=chunk-SRUHOBT2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../package.json"],"sourcesContent":["{\n \"name\": \"@wix/cli-app\",\n \"description\": \"CLI tool for Wix apps\",\n \"version\": \"1.1.
|
|
1
|
+
{"version":3,"sources":["../package.json"],"sourcesContent":["{\n \"name\": \"@wix/cli-app\",\n \"description\": \"CLI tool for Wix apps\",\n \"version\": \"1.1.21\",\n \"author\": \"Amit Dahan\",\n \"dependencies\": {\n \"@wix/cli-cloudflare-runtime\": \"workspace:*\",\n \"@wix/cli-miniflare\": \"workspace:*\",\n \"vite\": \"5.2.10\"\n },\n \"devDependencies\": {\n \"@commander-js/extra-typings\": \"^12.1.0\",\n \"@types/lodash\": \"^4.17.5\",\n \"@types/mustache\": \"^4.2.5\",\n \"@wix/ambassador-cli-site-override-service-v1-site-override\": \"^1.0.5\",\n \"@wix/ambassador-ctp-app-cloud-backend-service-v1-app-cloud-backend-deployment\": \"^1.0.3\",\n \"@wix/ambassador-ctp-app-cloud-deployer-service-v1-app-cloud-deployer\": \"^1.0.18\",\n \"@wix/ambassador-ctp-gradual-rollout-v1-app-config\": \"^1.0.67\",\n \"@wix/ambassador-devcenter-components-v1-component\": \"^1.0.408\",\n \"@wix/arm-client\": \"workspace:*\",\n \"@wix/bi-logger-dev-tools-data\": \"^1.42.0\",\n \"@wix/cli-app-definitions\": \"workspace:*\",\n \"@wix/cli-app-manifest\": \"workspace:*\",\n \"@wix/cli-auth\": \"workspace:*\",\n \"@wix/cli-command-contract\": \"workspace:*\",\n \"@wix/cli-core-definitions\": \"workspace:*\",\n \"@wix/cli-debug-log\": \"workspace:*\",\n \"@wix/cli-error\": \"workspace:*\",\n \"@wix/cli-error-reporting\": \"workspace:*\",\n \"@wix/cli-fs\": \"workspace:*\",\n \"@wix/cli-http-client\": \"workspace:*\",\n \"@wix/cli-http-client-react\": \"workspace:*\",\n \"@wix/cli-i18n\": \"workspace:*\",\n \"@wix/cli-logger\": \"workspace:*\",\n \"@wix/cli-site-selector\": \"workspace:*\",\n \"@wix/cli-ssl\": \"workspace:*\",\n \"@wix/cli-telemetry\": \"workspace:*\",\n \"@wix/cli-telemetry-react\": \"workspace:*\",\n \"@wix/cli-test-overrides\": \"workspace:*\",\n \"@wix/cli-ui-kit\": \"workspace:*\",\n \"@wix/cli-user-config\": \"workspace:*\",\n \"@wix/dev-center-client\": \"workspace:*\",\n \"@wix/extensions-data-client\": \"workspace:*\",\n \"@wix/gena\": \"workspace:*\",\n \"@wix/site-list-client\": \"workspace:*\",\n \"@wix/site-override-client\": \"workspace:*\",\n \"@wix/tsup-configs\": \"workspace:*\",\n \"@wix/user-browser\": \"workspace:*\",\n \"chalk\": \"^5.3.0\",\n \"chokidar\": \"^3.6.0\",\n \"commander\": \"^12.1.0\",\n \"fast-equals\": \"^5.0.1\",\n \"form-data\": \"^4.0.0\",\n \"globby\": \"^13.2.2\",\n \"lodash\": \"^4.17.21\",\n \"mustache\": \"^4.2.0\",\n \"p-retry\": \"^5.1.2\",\n \"p-wait-for\": \"^5.0.2\",\n \"prompts\": \"^2.4.2\",\n \"semver\": \"^7.6.2\",\n \"tempy\": \"^3.1.0\",\n \"typed-emitter\": \"^2.1.0\",\n \"variant\": \"^3.0.0-dev.27\",\n \"vite-plugin-externals\": \"^0.6.2\",\n \"zod\": \"^3.23.8\",\n \"zod-to-json-schema\": \"^3.23.0\"\n },\n \"engines\": {\n \"node\": \">= 18.16\"\n },\n \"exports\": {\n \".\": \"./build/index.js\",\n \"./client\": {\n \"types\": \"./client.d.ts\"\n },\n \"./internal/component-hmr-wrapper\": \"./internal/component-hmr-wrapper.tsx\",\n \"./tsconfig.app.json\": \"./tsconfig.app.json\",\n \"./package.json\": \"./package.json\"\n },\n \"files\": [\n \"build\",\n \"schemas\",\n \"tsconfig.app.json\",\n \"client.d.ts\",\n \"internal\",\n \"templates\"\n ],\n \"peerDependencies\": {\n \"react\": \"^16.14 || ^17 || ^18\",\n \"react-dom\": \"^16.14 || ^17 || ^18\"\n },\n \"peerDependenciesMeta\": {\n \"react-dom\": {\n \"optional\": true\n }\n },\n \"perfer\": {\n \"bundleSize\": {\n \"files\": [\n {\n \"glob\": \"./build/index.js\",\n \"maxSize\": \"460kb\"\n }\n ]\n }\n },\n \"publishConfig\": {\n \"registry\": \"https://registry.npmjs.org/\",\n \"access\": \"public\",\n \"versionBumpStrategy\": \"manual\",\n \"logLevel\": \"verbose\"\n },\n \"scripts\": {\n \"build\": \"run -T tsup && yarn generate-schemas\",\n \"build:watch\": \"run -T tsup --watch\",\n \"generate-schemas\": \"node build-scripts/generate-schemas.js\",\n \"lint\": \"run -T lint-package\",\n \"test\": \"yarn workspace @wix/cli-app-spec run test\",\n \"test:watch\": \"yarn workspace @wix/cli-app-spec run test:watch\",\n \"typecheck\": \"run -T tsc --noEmit\"\n },\n \"sideEffects\": false,\n \"type\": \"module\",\n \"wix\": {\n \"artifact\": {\n \"groupId\": \"com.wixpress.npm\",\n \"artifactId\": \"wix-cli-app\"\n },\n \"validations\": {\n \"postBuild\": [\n \"typecheck\",\n \"lint\"\n ]\n }\n }\n}\n"],"mappings":";;AAGE,IAAAA,EAAW","names":["version"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{b as B}from"./chunk-2USWVQ2X.js";import{b as oe}from"./chunk-VLLINVOQ.js";import{b as O,c as pe,d as le,e as ae}from"./chunk-SFP2CY5Y.js";import{a as ne}from"./chunk-SRUHOBT2.js";import{g as ie}from"./chunk-QNDYP4A4.js";import{A as f,C as te,d as Z,e as R,l as A,m as L,p as E,q as ee,s as S,t as N,v as C,w as j,z as y}from"./chunk-R4SS2VOR.js";import{D as re,Ea as h,ka as se,n as V,o as X}from"./chunk-A3ZCWWGH.js";import{a as g,c as b,d as x,n as w,o as Q}from"./chunk-OHPVRXMN.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-UOHED6PX.js.map
|
|
@@ -1 +1 @@
|
|
|
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"]}
|
|
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"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as _createRequire } from 'node:module';
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{e as m}from"./chunk-
|
|
3
|
+
import{e as m}from"./chunk-A3ZCWWGH.js";import{b as c}from"./chunk-OHPVRXMN.js";import{e as i,h as r}from"./chunk-V4TR6DCM.js";r();var u=i(c(),1);import{dirname as b}from"node:path";import{appendFileSync as x,mkdirSync as L}from"node:fs";import D,{createContext as w,useContext as y,useCallback as C}from"react";r();var p=i(m(),1),f=i(c(),1);function s(e){if(p.HttpClient.isHttpError(e))return e;let o=e instanceof Error?f.default.cause(e):null;return o?s(o):null}r();function l(e){return{request:{baseURL:e.config?.baseURL,url:e.config?.url,method:e.config?.method,headers:e.config?.headers,data:e.config?.data},response:{code:e.code,message:e.message,status:e.response?.status,headers:e.response?.headers,data:e.response?.data}}}function H(e,o){try{let t=`----- CLI crash report at ${new Date().toISOString()}
|
|
4
4
|
`;if(o instanceof Error){t+=`Error Trace
|
|
5
5
|
`,t+=`${u.default.fullStack(o)}
|
|
6
6
|
`,t+=`Error Info
|
|
@@ -8,4 +8,4 @@ import{e as m}from"./chunk-YKE3BZS3.js";import{b as c}from"./chunk-SARV44FW.js";
|
|
|
8
8
|
`;let n=s(o);n&&(t+=`Request Info
|
|
9
9
|
`,t+=`${JSON.stringify(l(n),null,2)}
|
|
10
10
|
`)}L(b(e),{recursive:!0}),x(e,t)}catch{}}var d=w(null),P=({filePath:e,children:o})=>{let t=C(n=>H(e,n),[e]);return D.createElement(d.Provider,{value:t},o)},N=()=>{let e=y(d);if(e===null)throw new Error("useDebugLog() cannot be used without an <DebugLogProvider>");return e};export{P as a,N as b};
|
|
11
|
-
//# sourceMappingURL=chunk-
|
|
11
|
+
//# sourceMappingURL=chunk-VLLINVOQ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as _createRequire } from 'node:module';
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{
|
|
3
|
+
import{$ as un,O as Zs,P as eo,W as to,Y as ro,_ as yi,aa as mi,g as Xs,h as $s,oa as io,pa as ao,qa as no,sa as ln,ua as Ai,va as Ci,wa as fn,ya as so,za as oo}from"./chunk-A3ZCWWGH.js";import{a as Ws,c as Gr,d as jr}from"./chunk-OHPVRXMN.js";import{a as Le,c as F,e as ra,h as S}from"./chunk-V4TR6DCM.js";var Et=F(yn=>{"use strict";S();yn.fromCallback=function(e){return Object.defineProperty(function(...t){if(typeof t[t.length-1]=="function")e.apply(this,t);else return new Promise((i,r)=>{e.call(this,...t,(a,n)=>a!=null?r(a):i(n))})},"name",{value:e.name})};yn.fromPromise=function(e){return Object.defineProperty(function(...t){let i=t[t.length-1];if(typeof i!="function")return e.apply(this,t);e.apply(this,t.slice(0,-1)).then(r=>i(null,r),i)},"name",{value:e.name})}});var go=F((BA,po)=>{"use strict";S();var hr=Le("constants"),dh=process.cwd,na=null,gh=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return na||(na=dh.call(process)),na};try{process.cwd()}catch{}typeof process.chdir=="function"&&(mn=process.chdir,process.chdir=function(e){na=null,mn.call(process,e)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,mn));var mn;po.exports=vh;function vh(e){hr.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&t(e),e.lutimes||i(e),e.chown=n(e.chown),e.fchown=n(e.fchown),e.lchown=n(e.lchown),e.chmod=r(e.chmod),e.fchmod=r(e.fchmod),e.lchmod=r(e.lchmod),e.chownSync=s(e.chownSync),e.fchownSync=s(e.fchownSync),e.lchownSync=s(e.lchownSync),e.chmodSync=a(e.chmodSync),e.fchmodSync=a(e.fchmodSync),e.lchmodSync=a(e.lchmodSync),e.stat=o(e.stat),e.fstat=o(e.fstat),e.lstat=o(e.lstat),e.statSync=u(e.statSync),e.fstatSync=u(e.fstatSync),e.lstatSync=u(e.lstatSync),e.chmod&&!e.lchmod&&(e.lchmod=function(f,c,p){p&&process.nextTick(p)},e.lchmodSync=function(){}),e.chown&&!e.lchown&&(e.lchown=function(f,c,p,m){m&&process.nextTick(m)},e.lchownSync=function(){}),gh==="win32"&&(e.rename=typeof e.rename!="function"?e.rename:function(f){function c(p,m,v){var C=Date.now(),E=0;f(p,m,function B(w){if(w&&(w.code==="EACCES"||w.code==="EPERM"||w.code==="EBUSY")&&Date.now()-C<6e4){setTimeout(function(){e.stat(m,function(T,U){T&&T.code==="ENOENT"?f(p,m,B):v(w)})},E),E<100&&(E+=10);return}v&&v(w)})}return Object.setPrototypeOf&&Object.setPrototypeOf(c,f),c}(e.rename)),e.read=typeof e.read!="function"?e.read:function(f){function c(p,m,v,C,E,B){var w;if(B&&typeof B=="function"){var T=0;w=function(U,P,Q){if(U&&U.code==="EAGAIN"&&T<10)return T++,f.call(e,p,m,v,C,E,w);B.apply(this,arguments)}}return f.call(e,p,m,v,C,E,w)}return Object.setPrototypeOf&&Object.setPrototypeOf(c,f),c}(e.read),e.readSync=typeof e.readSync!="function"?e.readSync:function(f){return function(c,p,m,v,C){for(var E=0;;)try{return f.call(e,c,p,m,v,C)}catch(B){if(B.code==="EAGAIN"&&E<10){E++;continue}throw B}}}(e.readSync);function t(f){f.lchmod=function(c,p,m){f.open(c,hr.O_WRONLY|hr.O_SYMLINK,p,function(v,C){if(v){m&&m(v);return}f.fchmod(C,p,function(E){f.close(C,function(B){m&&m(E||B)})})})},f.lchmodSync=function(c,p){var m=f.openSync(c,hr.O_WRONLY|hr.O_SYMLINK,p),v=!0,C;try{C=f.fchmodSync(m,p),v=!1}finally{if(v)try{f.closeSync(m)}catch{}else f.closeSync(m)}return C}}function i(f){hr.hasOwnProperty("O_SYMLINK")&&f.futimes?(f.lutimes=function(c,p,m,v){f.open(c,hr.O_SYMLINK,function(C,E){if(C){v&&v(C);return}f.futimes(E,p,m,function(B){f.close(E,function(w){v&&v(B||w)})})})},f.lutimesSync=function(c,p,m){var v=f.openSync(c,hr.O_SYMLINK),C,E=!0;try{C=f.futimesSync(v,p,m),E=!1}finally{if(E)try{f.closeSync(v)}catch{}else f.closeSync(v)}return C}):f.futimes&&(f.lutimes=function(c,p,m,v){v&&process.nextTick(v)},f.lutimesSync=function(){})}function r(f){return f&&function(c,p,m){return f.call(e,c,p,function(v){l(v)&&(v=null),m&&m.apply(this,arguments)})}}function a(f){return f&&function(c,p){try{return f.call(e,c,p)}catch(m){if(!l(m))throw m}}}function n(f){return f&&function(c,p,m,v){return f.call(e,c,p,m,function(C){l(C)&&(C=null),v&&v.apply(this,arguments)})}}function s(f){return f&&function(c,p,m){try{return f.call(e,c,p,m)}catch(v){if(!l(v))throw v}}}function o(f){return f&&function(c,p,m){typeof p=="function"&&(m=p,p=null);function v(C,E){E&&(E.uid<0&&(E.uid+=4294967296),E.gid<0&&(E.gid+=4294967296)),m&&m.apply(this,arguments)}return p?f.call(e,c,p,v):f.call(e,c,v)}}function u(f){return f&&function(c,p){var m=p?f.call(e,c,p):f.call(e,c);return m&&(m.uid<0&&(m.uid+=4294967296),m.gid<0&&(m.gid+=4294967296)),m}}function l(f){if(!f||f.code==="ENOSYS")return!0;var c=!process.getuid||process.getuid()!==0;return!!(c&&(f.code==="EINVAL"||f.code==="EPERM"))}}});var mo=F((TA,yo)=>{"use strict";S();var vo=Le("stream").Stream;yo.exports=yh;function yh(e){return{ReadStream:t,WriteStream:i};function t(r,a){if(!(this instanceof t))return new t(r,a);vo.call(this);var n=this;this.path=r,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=64*1024,a=a||{};for(var s=Object.keys(a),o=0,u=s.length;o<u;o++){var l=s[o];this[l]=a[l]}if(this.encoding&&this.setEncoding(this.encoding),this.start!==void 0){if(typeof this.start!="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!="number")throw TypeError("end must be a Number");if(this.start>this.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){n._read()});return}e.open(this.path,this.flags,this.mode,function(f,c){if(f){n.emit("error",f),n.readable=!1;return}n.fd=c,n.emit("open",c),n._read()})}function i(r,a){if(!(this instanceof i))return new i(r,a);vo.call(this),this.path=r,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,a=a||{};for(var n=Object.keys(a),s=0,o=n.length;s<o;s++){var u=n[s];this[u]=a[u]}if(this.start!==void 0){if(typeof this.start!="number")throw TypeError("start must be a Number");if(this.start<0)throw new Error("start must be >= zero");this.pos=this.start}this.busy=!1,this._queue=[],this.fd===null&&(this._open=e.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}});var Co=F((_A,Ao)=>{"use strict";S();Ao.exports=Ah;var mh=Object.getPrototypeOf||function(e){return e.__proto__};function Ah(e){if(e===null||typeof e!="object")return e;if(e instanceof Object)var t={__proto__:mh(e)};else var t=Object.create(null);return Object.getOwnPropertyNames(e).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(e,i))}),t}});var dt=F((kA,En)=>{"use strict";S();var Qe=Le("fs"),Ch=go(),Eh=mo(),xh=Co(),sa=Le("util"),Je,ua;typeof Symbol=="function"&&typeof Symbol.for=="function"?(Je=Symbol.for("graceful-fs.queue"),ua=Symbol.for("graceful-fs.previous")):(Je="___graceful-fs.queue",ua="___graceful-fs.previous");function Sh(){}function So(e,t){Object.defineProperty(e,Je,{get:function(){return t}})}var Rr=Sh;sa.debuglog?Rr=sa.debuglog("gfs4"):/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&(Rr=function(){var e=sa.format.apply(sa,arguments);e="GFS4: "+e.split(/\n/).join(`
|
|
4
4
|
GFS4: `),console.error(e)});Qe[Je]||(Eo=global[Je]||[],So(Qe,Eo),Qe.close=function(e){function t(i,r){return e.call(Qe,i,function(a){a||xo(),typeof r=="function"&&r.apply(this,arguments)})}return Object.defineProperty(t,ua,{value:e}),t}(Qe.close),Qe.closeSync=function(e){function t(i){e.apply(Qe,arguments),xo()}return Object.defineProperty(t,ua,{value:e}),t}(Qe.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",function(){Rr(Qe[Je]),Le("assert").equal(Qe[Je].length,0)}));var Eo;global[Je]||So(global,Qe[Je]);En.exports=An(xh(Qe));process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!Qe.__patched&&(En.exports=An(Qe),Qe.__patched=!0);function An(e){Ch(e),e.gracefulify=An,e.createReadStream=P,e.createWriteStream=Q;var t=e.readFile;e.readFile=i;function i(H,z,Y){return typeof z=="function"&&(Y=z,z=null),re(H,z,Y);function re(ye,Ee,$,ie){return t(ye,Ee,function(V){V&&(V.code==="EMFILE"||V.code==="ENFILE")?zr([re,[ye,Ee,$],V,ie||Date.now(),Date.now()]):typeof $=="function"&&$.apply(this,arguments)})}}var r=e.writeFile;e.writeFile=a;function a(H,z,Y,re){return typeof Y=="function"&&(re=Y,Y=null),ye(H,z,Y,re);function ye(Ee,$,ie,V,_e){return r(Ee,$,ie,function(xe){xe&&(xe.code==="EMFILE"||xe.code==="ENFILE")?zr([ye,[Ee,$,ie,V],xe,_e||Date.now(),Date.now()]):typeof V=="function"&&V.apply(this,arguments)})}}var n=e.appendFile;n&&(e.appendFile=s);function s(H,z,Y,re){return typeof Y=="function"&&(re=Y,Y=null),ye(H,z,Y,re);function ye(Ee,$,ie,V,_e){return n(Ee,$,ie,function(xe){xe&&(xe.code==="EMFILE"||xe.code==="ENFILE")?zr([ye,[Ee,$,ie,V],xe,_e||Date.now(),Date.now()]):typeof V=="function"&&V.apply(this,arguments)})}}var o=e.copyFile;o&&(e.copyFile=u);function u(H,z,Y,re){return typeof Y=="function"&&(re=Y,Y=0),ye(H,z,Y,re);function ye(Ee,$,ie,V,_e){return o(Ee,$,ie,function(xe){xe&&(xe.code==="EMFILE"||xe.code==="ENFILE")?zr([ye,[Ee,$,ie,V],xe,_e||Date.now(),Date.now()]):typeof V=="function"&&V.apply(this,arguments)})}}var l=e.readdir;e.readdir=c;var f=/^v[0-5]\./;function c(H,z,Y){typeof z=="function"&&(Y=z,z=null);var re=f.test(process.version)?function($,ie,V,_e){return l($,ye($,ie,V,_e))}:function($,ie,V,_e){return l($,ie,ye($,ie,V,_e))};return re(H,z,Y);function ye(Ee,$,ie,V){return function(_e,xe){_e&&(_e.code==="EMFILE"||_e.code==="ENFILE")?zr([re,[Ee,$,ie],_e,V||Date.now(),Date.now()]):(xe&&xe.sort&&xe.sort(),typeof ie=="function"&&ie.call(this,_e,xe))}}}if(process.version.substr(0,4)==="v0.8"){var p=Eh(e);B=p.ReadStream,T=p.WriteStream}var m=e.ReadStream;m&&(B.prototype=Object.create(m.prototype),B.prototype.open=w);var v=e.WriteStream;v&&(T.prototype=Object.create(v.prototype),T.prototype.open=U),Object.defineProperty(e,"ReadStream",{get:function(){return B},set:function(H){B=H},enumerable:!0,configurable:!0}),Object.defineProperty(e,"WriteStream",{get:function(){return T},set:function(H){T=H},enumerable:!0,configurable:!0});var C=B;Object.defineProperty(e,"FileReadStream",{get:function(){return C},set:function(H){C=H},enumerable:!0,configurable:!0});var E=T;Object.defineProperty(e,"FileWriteStream",{get:function(){return E},set:function(H){E=H},enumerable:!0,configurable:!0});function B(H,z){return this instanceof B?(m.apply(this,arguments),this):B.apply(Object.create(B.prototype),arguments)}function w(){var H=this;ne(H.path,H.flags,H.mode,function(z,Y){z?(H.autoClose&&H.destroy(),H.emit("error",z)):(H.fd=Y,H.emit("open",Y),H.read())})}function T(H,z){return this instanceof T?(v.apply(this,arguments),this):T.apply(Object.create(T.prototype),arguments)}function U(){var H=this;ne(H.path,H.flags,H.mode,function(z,Y){z?(H.destroy(),H.emit("error",z)):(H.fd=Y,H.emit("open",Y))})}function P(H,z){return new e.ReadStream(H,z)}function Q(H,z){return new e.WriteStream(H,z)}var te=e.open;e.open=ne;function ne(H,z,Y,re){return typeof Y=="function"&&(re=Y,Y=null),ye(H,z,Y,re);function ye(Ee,$,ie,V,_e){return te(Ee,$,ie,function(xe,Oe){xe&&(xe.code==="EMFILE"||xe.code==="ENFILE")?zr([ye,[Ee,$,ie,V],xe,_e||Date.now(),Date.now()]):typeof V=="function"&&V.apply(this,arguments)})}}return e}function zr(e){Rr("ENQUEUE",e[0].name,e[1]),Qe[Je].push(e),Cn()}var oa;function xo(){for(var e=Date.now(),t=0;t<Qe[Je].length;++t)Qe[Je][t].length>2&&(Qe[Je][t][3]=e,Qe[Je][t][4]=e);Cn()}function Cn(){if(clearTimeout(oa),oa=void 0,Qe[Je].length!==0){var e=Qe[Je].shift(),t=e[0],i=e[1],r=e[2],a=e[3],n=e[4];if(a===void 0)Rr("RETRY",t.name,i),t.apply(null,i);else if(Date.now()-a>=6e4){Rr("TIMEOUT",t.name,i);var s=i.pop();typeof s=="function"&&s.call(null,r)}else{var o=Date.now()-n,u=Math.max(n-a,1),l=Math.min(u*1.2,100);o>=l?(Rr("RETRY",t.name,i),t.apply(null,i.concat([a]))):Qe[Je].push(e)}oa===void 0&&(oa=setTimeout(Cn,0))}}});var Dr=F(pr=>{"use strict";S();var Io=Et().fromCallback,xt=dt(),Ih=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter(e=>typeof xt[e]=="function");Object.assign(pr,xt);Ih.forEach(e=>{pr[e]=Io(xt[e])});pr.exists=function(e,t){return typeof t=="function"?xt.exists(e,t):new Promise(i=>xt.exists(e,i))};pr.read=function(e,t,i,r,a,n){return typeof n=="function"?xt.read(e,t,i,r,a,n):new Promise((s,o)=>{xt.read(e,t,i,r,a,(u,l,f)=>{if(u)return o(u);s({bytesRead:l,buffer:f})})})};pr.write=function(e,t,...i){return typeof i[i.length-1]=="function"?xt.write(e,t,...i):new Promise((r,a)=>{xt.write(e,t,...i,(n,s,o)=>{if(n)return a(n);r({bytesWritten:s,buffer:o})})})};typeof xt.writev=="function"&&(pr.writev=function(e,t,...i){return typeof i[i.length-1]=="function"?xt.writev(e,t,...i):new Promise((r,a)=>{xt.writev(e,t,...i,(n,s,o)=>{if(n)return a(n);r({bytesWritten:s,buffers:o})})})});typeof xt.realpath.native=="function"?pr.realpath.native=Io(xt.realpath.native):process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")});var bo=F((PA,Bo)=>{"use strict";S();var Bh=Le("path");Bo.exports.checkPath=function(t){if(process.platform==="win32"&&/[<>:"|?*]/.test(t.replace(Bh.parse(t).root,""))){let r=new Error(`Path contains invalid characters: ${t}`);throw r.code="EINVAL",r}}});var No=F((UA,xn)=>{"use strict";S();var To=Dr(),{checkPath:wo}=bo(),_o=e=>{let t={mode:511};return typeof e=="number"?e:{...t,...e}.mode};xn.exports.makeDir=async(e,t)=>(wo(e),To.mkdir(e,{mode:_o(t),recursive:!0}));xn.exports.makeDirSync=(e,t)=>(wo(e),To.mkdirSync(e,{mode:_o(t),recursive:!0}))});var Mt=F((VA,ko)=>{"use strict";S();var bh=Et().fromPromise,{makeDir:Th,makeDirSync:Sn}=No(),In=bh(Th);ko.exports={mkdirs:In,mkdirsSync:Sn,mkdirp:In,mkdirpSync:Sn,ensureDir:In,ensureDirSync:Sn}});var dr=F((MA,Ro)=>{"use strict";S();var wh=Et().fromPromise,Lo=Dr();function _h(e){return Lo.access(e).then(()=>!0).catch(()=>!1)}Ro.exports={pathExists:wh(_h),pathExistsSync:Lo.existsSync}});var Bn=F((KA,Do)=>{"use strict";S();var Jr=dt();function Nh(e,t,i,r){Jr.open(e,"r+",(a,n)=>{if(a)return r(a);Jr.futimes(n,t,i,s=>{Jr.close(n,o=>{r&&r(s||o)})})})}function kh(e,t,i){let r=Jr.openSync(e,"r+");return Jr.futimesSync(r,t,i),Jr.closeSync(r)}Do.exports={utimesMillis:Nh,utimesMillisSync:kh}});var Pr=F((GA,Uo)=>{"use strict";S();var Wr=Dr(),Ke=Le("path"),Lh=Le("util");function Rh(e,t,i){let r=i.dereference?a=>Wr.stat(a,{bigint:!0}):a=>Wr.lstat(a,{bigint:!0});return Promise.all([r(e),r(t).catch(a=>{if(a.code==="ENOENT")return null;throw a})]).then(([a,n])=>({srcStat:a,destStat:n}))}function Dh(e,t,i){let r,a=i.dereference?s=>Wr.statSync(s,{bigint:!0}):s=>Wr.lstatSync(s,{bigint:!0}),n=a(e);try{r=a(t)}catch(s){if(s.code==="ENOENT")return{srcStat:n,destStat:null};throw s}return{srcStat:n,destStat:r}}function Ph(e,t,i,r,a){Lh.callbackify(Rh)(e,t,r,(n,s)=>{if(n)return a(n);let{srcStat:o,destStat:u}=s;if(u){if(Bi(o,u)){let l=Ke.basename(e),f=Ke.basename(t);return i==="move"&&l!==f&&l.toLowerCase()===f.toLowerCase()?a(null,{srcStat:o,destStat:u,isChangingCase:!0}):a(new Error("Source and destination must not be the same."))}if(o.isDirectory()&&!u.isDirectory())return a(new Error(`Cannot overwrite non-directory '${t}' with directory '${e}'.`));if(!o.isDirectory()&&u.isDirectory())return a(new Error(`Cannot overwrite directory '${t}' with non-directory '${e}'.`))}return o.isDirectory()&&bn(e,t)?a(new Error(la(e,t,i))):a(null,{srcStat:o,destStat:u})})}function Qh(e,t,i,r){let{srcStat:a,destStat:n}=Dh(e,t,r);if(n){if(Bi(a,n)){let s=Ke.basename(e),o=Ke.basename(t);if(i==="move"&&s!==o&&s.toLowerCase()===o.toLowerCase())return{srcStat:a,destStat:n,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(a.isDirectory()&&!n.isDirectory())throw new Error(`Cannot overwrite non-directory '${t}' with directory '${e}'.`);if(!a.isDirectory()&&n.isDirectory())throw new Error(`Cannot overwrite directory '${t}' with non-directory '${e}'.`)}if(a.isDirectory()&&bn(e,t))throw new Error(la(e,t,i));return{srcStat:a,destStat:n}}function Po(e,t,i,r,a){let n=Ke.resolve(Ke.dirname(e)),s=Ke.resolve(Ke.dirname(i));if(s===n||s===Ke.parse(s).root)return a();Wr.stat(s,{bigint:!0},(o,u)=>o?o.code==="ENOENT"?a():a(o):Bi(t,u)?a(new Error(la(e,i,r))):Po(e,t,s,r,a))}function Qo(e,t,i,r){let a=Ke.resolve(Ke.dirname(e)),n=Ke.resolve(Ke.dirname(i));if(n===a||n===Ke.parse(n).root)return;let s;try{s=Wr.statSync(n,{bigint:!0})}catch(o){if(o.code==="ENOENT")return;throw o}if(Bi(t,s))throw new Error(la(e,i,r));return Qo(e,t,n,r)}function Bi(e,t){return t.ino&&t.dev&&t.ino===e.ino&&t.dev===e.dev}function bn(e,t){let i=Ke.resolve(e).split(Ke.sep).filter(a=>a),r=Ke.resolve(t).split(Ke.sep).filter(a=>a);return i.reduce((a,n,s)=>a&&r[s]===n,!0)}function la(e,t,i){return`Cannot ${i} '${e}' to a subdirectory of itself, '${t}'.`}Uo.exports={checkPaths:Ph,checkPathsSync:Qh,checkParentPaths:Po,checkParentPathsSync:Qo,isSrcSubdir:bn,areIdentical:Bi}});var Go=F((YA,Ho)=>{"use strict";S();var St=dt(),bi=Le("path"),Uh=Mt().mkdirs,Oh=dr().pathExists,Vh=Bn().utimesMillis,Ti=Pr();function Fh(e,t,i,r){typeof i=="function"&&!r?(r=i,i={}):typeof i=="function"&&(i={filter:i}),r=r||function(){},i=i||{},i.clobber="clobber"in i?!!i.clobber:!0,i.overwrite="overwrite"in i?!!i.overwrite:i.clobber,i.preserveTimestamps&&process.arch==="ia32"&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
5
5
|
|
|
6
6
|
see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0001"),Ti.checkPaths(e,t,"copy",i,(a,n)=>{if(a)return r(a);let{srcStat:s,destStat:o}=n;Ti.checkParentPaths(e,s,t,"copy",u=>u?r(u):i.filter?Fo(Oo,o,e,t,i,r):Oo(o,e,t,i,r))})}function Oo(e,t,i,r,a){let n=bi.dirname(i);Oh(n,(s,o)=>{if(s)return a(s);if(o)return fa(e,t,i,r,a);Uh(n,u=>u?a(u):fa(e,t,i,r,a))})}function Fo(e,t,i,r,a,n){Promise.resolve(a.filter(i,r)).then(s=>s?e(t,i,r,a,n):n(),s=>n(s))}function Mh(e,t,i,r,a){return r.filter?Fo(fa,e,t,i,r,a):fa(e,t,i,r,a)}function fa(e,t,i,r,a){(r.dereference?St.stat:St.lstat)(t,(s,o)=>s?a(s):o.isDirectory()?zh(o,e,t,i,r,a):o.isFile()||o.isCharacterDevice()||o.isBlockDevice()?qh(o,e,t,i,r,a):o.isSymbolicLink()?Xh(e,t,i,r,a):o.isSocket()?a(new Error(`Cannot copy a socket file: ${t}`)):o.isFIFO()?a(new Error(`Cannot copy a FIFO pipe: ${t}`)):a(new Error(`Unknown file: ${t}`)))}function qh(e,t,i,r,a,n){return t?Kh(e,i,r,a,n):Mo(e,i,r,a,n)}function Kh(e,t,i,r,a){if(r.overwrite)St.unlink(i,n=>n?a(n):Mo(e,t,i,r,a));else return r.errorOnExist?a(new Error(`'${i}' already exists`)):a()}function Mo(e,t,i,r,a){St.copyFile(t,i,n=>n?a(n):r.preserveTimestamps?Hh(e.mode,t,i,a):ca(i,e.mode,a))}function Hh(e,t,i,r){return Gh(e)?jh(i,e,a=>a?r(a):Vo(e,t,i,r)):Vo(e,t,i,r)}function Gh(e){return(e&128)===0}function jh(e,t,i){return ca(e,t|128,i)}function Vo(e,t,i,r){Yh(t,i,a=>a?r(a):ca(i,e,r))}function ca(e,t,i){return St.chmod(e,t,i)}function Yh(e,t,i){St.stat(e,(r,a)=>r?i(r):Vh(t,a.atime,a.mtime,i))}function zh(e,t,i,r,a,n){return t?qo(i,r,a,n):Jh(e.mode,i,r,a,n)}function Jh(e,t,i,r,a){St.mkdir(i,n=>{if(n)return a(n);qo(t,i,r,s=>s?a(s):ca(i,e,a))})}function qo(e,t,i,r){St.readdir(e,(a,n)=>a?r(a):Ko(n,e,t,i,r))}function Ko(e,t,i,r,a){let n=e.pop();return n?Wh(e,n,t,i,r,a):a()}function Wh(e,t,i,r,a,n){let s=bi.join(i,t),o=bi.join(r,t);Ti.checkPaths(s,o,"copy",a,(u,l)=>{if(u)return n(u);let{destStat:f}=l;Mh(f,s,o,a,c=>c?n(c):Ko(e,i,r,a,n))})}function Xh(e,t,i,r,a){St.readlink(t,(n,s)=>{if(n)return a(n);if(r.dereference&&(s=bi.resolve(process.cwd(),s)),e)St.readlink(i,(o,u)=>o?o.code==="EINVAL"||o.code==="UNKNOWN"?St.symlink(s,i,a):a(o):(r.dereference&&(u=bi.resolve(process.cwd(),u)),Ti.isSrcSubdir(s,u)?a(new Error(`Cannot copy '${s}' to a subdirectory of itself, '${u}'.`)):e.isDirectory()&&Ti.isSrcSubdir(u,s)?a(new Error(`Cannot overwrite '${u}' with '${s}'.`)):$h(s,i,a)));else return St.symlink(s,i,a)})}function $h(e,t,i){St.unlink(t,r=>r?i(r):St.symlink(e,t,i))}Ho.exports=Fh});var Wo=F((JA,Jo)=>{"use strict";S();var pt=dt(),wi=Le("path"),Zh=Mt().mkdirsSync,ep=Bn().utimesMillisSync,_i=Pr();function tp(e,t,i){typeof i=="function"&&(i={filter:i}),i=i||{},i.clobber="clobber"in i?!!i.clobber:!0,i.overwrite="overwrite"in i?!!i.overwrite:i.clobber,i.preserveTimestamps&&process.arch==="ia32"&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
@@ -172,5 +172,5 @@ export default createComponentHmrWrapper(OriginalComponent, import.meta.hot.data
|
|
|
172
172
|
Wix CLI dev server is up and running.<br>
|
|
173
173
|
You can close this browser tab and return to the terminal to continue working.
|
|
174
174
|
</body>
|
|
175
|
-
</html>`}S();var rh="__WIX_ORIGIN_PLACEHOLDER__";function ih(){let e=null;return{name:"wix:auto-origin",apply:"serve",config:()=>({server:{origin:rh}}),configureServer:t=>{t.middlewares.use((i,r,a)=>{e=e??wa(t),a()})},transform:(t,i)=>{if(i.match(/.*\.(m?jsx?|tsx?)$/))return t;if(!e)throw new Gr({code:jr.FailedToResolveViteOrigin()});return t.replaceAll(rh,e)}}}S();import{dirname as nA,isAbsolute as sA,join as oA}from"node:path";import{URL as ah}from"node:url";function uA(e,t,i){let r=new ah(t,i).href;if(t.startsWith("/@vite"))return r;if(!sA(t)){let a=oA(nA(e),t);r=new ah(a,i).href}return r}function nh(){let e;return{name:"wix:absolute-html-url",apply:"serve",configureServer(t){e=t},transformIndexHtml:{order:"post",handler(t,{originalUrl:i}){if(!i)throw new Error("Cannot find asset URL.");let r=e.resolvedUrls?.local?.[0],a=(n,s,o,u)=>{let l=uA(i,o,r);return`${s}${l}${u}`};return t.replace(/(<script [^><]*src=["'])((?!http)[^"']+)(["'][^><]*>[\r\n]*<\/script>)/g,a).replace(/(<link [^><]*href=["'])((?!http)[^"']+)(["'][^><]*>)/g,a).replace(/(\r\n|\n|\r)/gm,"")}}}}async function fA(e,t,{baseBackendUrl:i}={}){let{https:r}=t,a=[...yi(e)].map(([l,f])=>[`html-asset-${f.id}`,l]),n=[...mi(e)].map(([l,f])=>[`script-asset-${f.id}`,l]),s=e.components.filter((0,sh.isType)(to.EmbeddedScript)).map(l=>[l.id,lA(e.projectFolder,l.relativePath)]),o=[...Ai(e)].map(([l,f])=>[`html-asset-${f.id}`,l]),u=[...Ci(e)].map(([l,f])=>[`script-asset-${f.id}`,l]);return{configFile:!1,root:e.projectFolder,customLogger:t.customLogger,clearScreen:!1,logLevel:"info",optimizeDeps:{entries:[io,ao,no,so,oo]},server:{},build:{sourcemap:!0,outDir:Zs(e.projectFolder),rollupOptions:{input:Object.fromEntries([...a,...n,...s,...o,...u])}},define:{...i?{"import.meta.env.BASE_API_URL":JSON.stringify(i.replace(/\/$/,"/functions")
|
|
176
|
-
//# sourceMappingURL=chunk-
|
|
175
|
+
</html>`}S();var rh="__WIX_ORIGIN_PLACEHOLDER__";function ih(){let e=null;return{name:"wix:auto-origin",apply:"serve",config:()=>({server:{origin:rh}}),configureServer:t=>{t.middlewares.use((i,r,a)=>{e=e??wa(t),a()})},transform:(t,i)=>{if(i.match(/.*\.(m?jsx?|tsx?)$/))return t;if(!e)throw new Gr({code:jr.FailedToResolveViteOrigin()});return t.replaceAll(rh,e)}}}S();import{dirname as nA,isAbsolute as sA,join as oA}from"node:path";import{URL as ah}from"node:url";function uA(e,t,i){let r=new ah(t,i).href;if(t.startsWith("/@vite"))return r;if(!sA(t)){let a=oA(nA(e),t);r=new ah(a,i).href}return r}function nh(){let e;return{name:"wix:absolute-html-url",apply:"serve",configureServer(t){e=t},transformIndexHtml:{order:"post",handler(t,{originalUrl:i}){if(!i)throw new Error("Cannot find asset URL.");let r=e.resolvedUrls?.local?.[0],a=(n,s,o,u)=>{let l=uA(i,o,r);return`${s}${l}${u}`};return t.replace(/(<script [^><]*src=["'])((?!http)[^"']+)(["'][^><]*>[\r\n]*<\/script>)/g,a).replace(/(<link [^><]*href=["'])((?!http)[^"']+)(["'][^><]*>)/g,a).replace(/(\r\n|\n|\r)/gm,"")}}}}async function fA(e,t,{baseBackendUrl:i}={}){let{https:r}=t,a=[...yi(e)].map(([l,f])=>[`html-asset-${f.id}`,l]),n=[...mi(e)].map(([l,f])=>[`script-asset-${f.id}`,l]),s=e.components.filter((0,sh.isType)(to.EmbeddedScript)).map(l=>[l.id,lA(e.projectFolder,l.relativePath)]),o=[...Ai(e)].map(([l,f])=>[`html-asset-${f.id}`,l]),u=[...Ci(e)].map(([l,f])=>[`script-asset-${f.id}`,l]);return{configFile:!1,root:e.projectFolder,customLogger:t.customLogger,clearScreen:!1,logLevel:"info",optimizeDeps:{entries:[io,ao,no,so,oo]},server:{},build:{sourcemap:!0,outDir:Zs(e.projectFolder),rollupOptions:{input:Object.fromEntries([...a,...n,...s,...o,...u])}},define:{...i?{"import.meta.env.BASE_API_URL":JSON.stringify(i.replace(/\/$/,"")+"/functions")}:{}},plugins:[Lf(),...r?[th()]:[],Nf({initialModel:e,...t}),Af(),Ef(),yf({react:"React","react-dom":"ReactDOM"}),Bf({initialModel:e,...t}),ih(),nh()],experimental:{renderBuiltUrl(l,{hostType:f,hostId:c}){return f==="html"&&!c.includes("wix/html")?"__STATICS_BASE_URL_PLACEHOLDER__"+l:f!=="js"?{relative:!0}:{runtime:`import.meta.url.replace(${`"${c}"`}, ${`"${l}"`})`}}}}}S();import{viteMiniflarePlugin as cA}from"@wix/cli-miniflare";import{createRequire as hA}from"node:module";var oh=hA(import.meta.url);async function pA(e,t){let i=oh.resolve("@wix/cli-cloudflare-runtime/entry");return{configFile:!1,root:e.projectFolder,customLogger:t.customLogger,clearScreen:!1,logLevel:"info",optimizeDeps:{entries:[i]},ssr:{noExternal:!0,optimizeDeps:{include:["kind-of","lodash.isplainobject","lodash","crypto-js/sha256.js","crypto-js/enc-base64url.js","crypto-js"]}},resolve:{alias:{querystring:"query-string"}},build:{ssr:!0,manifest:!0,sourcemap:!0,target:"esnext",outDir:eo(e.projectFolder),rollupOptions:{output:{entryFileNames:"[name].mjs",chunkFileNames:"assets/[name].mjs"},input:{entry:i}}},plugins:[cA({entry:oh.resolve("@wix/cli-cloudflare-runtime/entry")})]}}S();export{wa as a,fA as b,pA as c};
|
|
176
|
+
//# sourceMappingURL=chunk-VXZVY72B.js.map
|