@wix/cli-app 1.1.51 → 1.1.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/build/CreateVersionCommand-2W37YQW4.js +4 -0
  2. package/build/{CreateVersionCommand-6QSWW7PH.js.map → CreateVersionCommand-2W37YQW4.js.map} +1 -1
  3. package/build/DevCommand-JDHE7RQB.js +4 -0
  4. package/build/DevCommand-JDHE7RQB.js.map +1 -0
  5. package/build/GenerateCommand-3PPXF4B6.js +128 -0
  6. package/build/GenerateCommand-3PPXF4B6.js.map +1 -0
  7. package/build/LogsCommand-LQKTBY6D.js +4 -0
  8. package/build/LogsCommand-LQKTBY6D.js.map +1 -0
  9. package/build/PreviewCommand-H3HVD7DH.js +4 -0
  10. package/build/ServeCommand-RHONEHTF.js +4 -0
  11. package/build/{ServeCommand-BKLVSLW3.js.map → ServeCommand-RHONEHTF.js.map} +1 -1
  12. package/build/build-QN6TGE3Q.js +4 -0
  13. package/build/build-QN6TGE3Q.js.map +1 -0
  14. package/build/{chunk-GF6CV6CZ.js → chunk-2W2YJZP5.js} +29 -29
  15. package/build/chunk-2W2YJZP5.js.map +1 -0
  16. package/build/{chunk-5OKXHNO2.js → chunk-4CCKO52Z.js} +2 -2
  17. package/build/chunk-5OZZ7R6I.js +11 -0
  18. package/build/chunk-5OZZ7R6I.js.map +1 -0
  19. package/build/{chunk-NYC4UPCI.js → chunk-AXAJ7DJ4.js} +2 -2
  20. package/build/{chunk-MM7OD345.js → chunk-B5P4JHUW.js} +177 -128
  21. package/build/chunk-B5P4JHUW.js.map +1 -0
  22. package/build/{chunk-YXZSFVXG.js → chunk-C3O7WWDR.js} +2 -2
  23. package/build/{chunk-VOW75NWO.js → chunk-DLQYJEV6.js} +2 -2
  24. package/build/chunk-F6MVNSX2.js +4 -0
  25. package/build/chunk-F6MVNSX2.js.map +1 -0
  26. package/build/chunk-FVG3T57Z.js +4 -0
  27. package/build/{chunk-ZWY7YSYP.js → chunk-HILXNAWZ.js} +2 -2
  28. package/build/chunk-LDGXTJLC.js +4 -0
  29. package/build/chunk-LDGXTJLC.js.map +1 -0
  30. package/build/{chunk-7YIQAWRD.js → chunk-PSQ4AQFG.js} +2 -2
  31. package/build/{chunk-M7777RXR.js → chunk-QXIKCJLU.js} +3 -3
  32. package/build/{chunk-M7777RXR.js.map → chunk-QXIKCJLU.js.map} +1 -1
  33. package/build/{chunk-V3QQTT5C.js → chunk-SZ5JWJ4Q.js} +2 -2
  34. package/build/{chunk-IOW53RH7.js → chunk-TSAKYUDG.js} +2 -2
  35. package/build/{chunk-LYCV7HBR.js → chunk-WXOIL7LC.js} +2 -2
  36. package/build/chunk-YIGHU6O6.js +4 -0
  37. package/build/chunk-YIGHU6O6.js.map +1 -0
  38. package/build/chunk-YMRYABCG.js +115 -0
  39. package/build/chunk-YMRYABCG.js.map +1 -0
  40. package/build/cloudflare-runtime/entry.js +9 -2
  41. package/build/cloudflare-runtime/getRegisteredExtensions.js +9 -2
  42. package/build/index.js +2 -2
  43. package/build/index.js.map +1 -1
  44. package/build/platform-sdk/chunk-32RIHE6N.js +2 -0
  45. package/build/platform-sdk/{chunk-KEIVYRQX.js.map → chunk-32RIHE6N.js.map} +1 -1
  46. package/build/platform-sdk/dashboard.js +1 -1
  47. package/build/platform-sdk/editor.js +6 -6
  48. package/build/platform-sdk/editor.js.map +1 -1
  49. package/build/platform-sdk/site.js +1 -1
  50. package/build/preview-457BTAHF.js +4 -0
  51. package/build/preview-457BTAHF.js.map +1 -0
  52. package/build/render-command-W6CY3R4Q.js +4 -0
  53. package/build/render-command-W6CY3R4Q.js.map +1 -0
  54. package/internal/component-hmr-wrapper.tsx +9 -9
  55. package/package.json +5 -5
  56. package/templates/custom-element/dependencies.json +1 -1
  57. package/templates/dashboard-modal/files/modal.tsx.ejs +2 -2
  58. package/templates/dashboard-plugin/files/plugin.tsx.ejs +1 -1
  59. package/templates/site-plugin/dependencies.json +1 -1
  60. package/templates/site-plugin/files/plugin.tsx.ejs +1 -0
  61. package/build/CreateVersionCommand-6QSWW7PH.js +0 -4
  62. package/build/DevCommand-L3OC7OUZ.js +0 -4
  63. package/build/DevCommand-L3OC7OUZ.js.map +0 -1
  64. package/build/GenerateCommand-K5IS2QEG.js +0 -99
  65. package/build/GenerateCommand-K5IS2QEG.js.map +0 -1
  66. package/build/LogsCommand-5TTBMWFF.js +0 -4
  67. package/build/LogsCommand-5TTBMWFF.js.map +0 -1
  68. package/build/PreviewCommand-RCGDUERX.js +0 -4
  69. package/build/ServeCommand-BKLVSLW3.js +0 -4
  70. package/build/build-OSBBPACR.js +0 -4
  71. package/build/build-OSBBPACR.js.map +0 -1
  72. package/build/chunk-5UV5L6RZ.js +0 -4
  73. package/build/chunk-EUNKG7JY.js +0 -11
  74. package/build/chunk-EUNKG7JY.js.map +0 -1
  75. package/build/chunk-GF6CV6CZ.js.map +0 -1
  76. package/build/chunk-L2GYA6RW.js +0 -115
  77. package/build/chunk-L2GYA6RW.js.map +0 -1
  78. package/build/chunk-MM7OD345.js.map +0 -1
  79. package/build/chunk-VXMDSBPO.js +0 -4
  80. package/build/chunk-VXMDSBPO.js.map +0 -1
  81. package/build/chunk-YFYESJ2A.js +0 -4
  82. package/build/chunk-YFYESJ2A.js.map +0 -1
  83. package/build/chunk-YIQOAFCK.js +0 -4
  84. package/build/chunk-YIQOAFCK.js.map +0 -1
  85. package/build/platform-sdk/chunk-KEIVYRQX.js +0 -2
  86. package/build/preview-FY5YKH5Z.js +0 -4
  87. package/build/preview-FY5YKH5Z.js.map +0 -1
  88. package/build/render-command-4BGZ4KYD.js +0 -4
  89. package/build/render-command-4BGZ4KYD.js.map +0 -1
  90. /package/build/{PreviewCommand-RCGDUERX.js.map → PreviewCommand-H3HVD7DH.js.map} +0 -0
  91. /package/build/{chunk-5OKXHNO2.js.map → chunk-4CCKO52Z.js.map} +0 -0
  92. /package/build/{chunk-NYC4UPCI.js.map → chunk-AXAJ7DJ4.js.map} +0 -0
  93. /package/build/{chunk-YXZSFVXG.js.map → chunk-C3O7WWDR.js.map} +0 -0
  94. /package/build/{chunk-VOW75NWO.js.map → chunk-DLQYJEV6.js.map} +0 -0
  95. /package/build/{chunk-5UV5L6RZ.js.map → chunk-FVG3T57Z.js.map} +0 -0
  96. /package/build/{chunk-ZWY7YSYP.js.map → chunk-HILXNAWZ.js.map} +0 -0
  97. /package/build/{chunk-7YIQAWRD.js.map → chunk-PSQ4AQFG.js.map} +0 -0
  98. /package/build/{chunk-V3QQTT5C.js.map → chunk-SZ5JWJ4Q.js.map} +0 -0
  99. /package/build/{chunk-IOW53RH7.js.map → chunk-TSAKYUDG.js.map} +0 -0
  100. /package/build/{chunk-LYCV7HBR.js.map → chunk-WXOIL7LC.js.map} +0 -0
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{d as k}from"./chunk-YIQOAFCK.js";import{l as L,q as v,t as D}from"./chunk-YFYESJ2A.js";import{Ma as E,ka as B,m as a,ma as w,na as t}from"./chunk-L2GYA6RW.js";import{A as P,D as m,N as h,V as f,W as b,b as S,e as x,f as g,x as e}from"./chunk-GF6CV6CZ.js";import{e as C,h as n}from"./chunk-V4TR6DCM.js";n();async function A(o){let i=B(o),l=w(o);if(!await a(i)||!await a(l))throw new x({code:g.BuiltProjectNeeded()})}n();var r=C(S(),1);var s=({url:o,label:i,withPointer:l=!0})=>r.default.createElement(e,null,r.default.createElement(e,{marginRight:1},l&&r.default.createElement(m,null),r.default.createElement(e,{marginLeft:1},r.default.createElement(h,{url:o},i)))),G=()=>{let{t:o}=b(),{isPlatformExists:i,hasSinglePlatform:l}=k(),{dashboardExtensions:p}=E(),{site:y}=L(),u=v(),d=D();return r.default.createElement(r.default.Fragment,null,l(t.Dashboard())?r.default.createElement(e,{flexDirection:"row"},r.default.createElement(f,{i18nKey:"general.open_preview.title_single"}),r.default.createElement(s,{withPointer:!1,url:d(p[0]),label:o("general.platform.dashboard")})):r.default.createElement(e,{flexDirection:"column"},r.default.createElement(f,{i18nKey:"general.open_preview.title_multiple"}),r.default.createElement(e,{paddingLeft:2,flexDirection:"column"},i(t.Site())&&(y.viewUrl?r.default.createElement(s,{url:u(t.Site()),label:o("general.platform.site")}):r.default.createElement(e,{marginRight:1},r.default.createElement(m,null),r.default.createElement(e,{marginLeft:1},r.default.createElement(P,{skin:"secondary",underline:!0},o("general.platform.unpublished_site"))))),i(t.Editor())&&r.default.createElement(s,{url:u(t.Editor()),label:o("general.platform.editor")}),i(t.Dashboard())&&r.default.createElement(s,{url:d(p[0]),label:o("general.platform.dashboard")}))))};export{A as a,G as b};
4
- //# sourceMappingURL=chunk-VXMDSBPO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/files/assert-build-output-exists.ts","../src/components/Platform/PlatformViewer.tsx"],"sourcesContent":["import { pathExists } from '@wix/cli-fs';\nimport {\n getAppBuildFolder,\n getAppManifestPath,\n} from '@wix/cli-app-definitions';\nimport { CliErrorCode, CliError } from '@wix/cli-error';\n\nexport async function assertBuildOutputExists(projectFolder: string) {\n const buildFolder = getAppBuildFolder(projectFolder);\n const manifestPath = getAppManifestPath(projectFolder);\n\n if (!(await pathExists(buildFolder)) || !(await pathExists(manifestPath))) {\n throw new CliError({\n code: CliErrorCode.BuiltProjectNeeded(),\n });\n }\n}\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { Box, Link, PointerSmallIcon, Text } from '@wix/cli-ui-kit';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { useExtensions } from '../extensions/useExtensions.js';\nimport {\n useResolveDashboardExtensionUrl,\n useResolvePlatformUrl,\n} from '../extensions/utils.js';\nimport { usePlatform } from './usePlatform.js';\nimport { useSiteId } from '../../site-id/useSiteId.js';\n\ninterface PlatformLinkProps {\n url: string;\n label: string;\n withPointer?: boolean;\n}\n\nconst PlatformLink: FC<PlatformLinkProps> = ({\n url,\n label,\n withPointer = true,\n}) => {\n return (\n <Box>\n <Box marginRight={1}>\n {withPointer && <PointerSmallIcon />}\n <Box marginLeft={1}>\n <Link url={url}>{label}</Link>\n </Box>\n </Box>\n </Box>\n );\n};\n\nexport const PlatformViewer: FC = () => {\n const { t } = useTranslation();\n const { isPlatformExists, hasSinglePlatform } = usePlatform();\n const { dashboardExtensions } = useExtensions();\n const { site } = useSiteId();\n const resolvePlatformUrl = useResolvePlatformUrl();\n const resolveDashboardExtensionUrl = useResolveDashboardExtensionUrl();\n\n return (\n <>\n {hasSinglePlatform(PlatformType.Dashboard()) ? (\n <Box flexDirection=\"row\">\n <Trans i18nKey=\"general.open_preview.title_single\" />\n <PlatformLink\n withPointer={false}\n url={resolveDashboardExtensionUrl(dashboardExtensions[0]!)}\n label={t('general.platform.dashboard')}\n />\n </Box>\n ) : (\n <Box flexDirection=\"column\">\n <Trans i18nKey=\"general.open_preview.title_multiple\" />\n <Box paddingLeft={2} flexDirection=\"column\">\n {isPlatformExists(PlatformType.Site()) &&\n (site.viewUrl ? (\n <PlatformLink\n url={resolvePlatformUrl(PlatformType.Site())}\n label={t('general.platform.site')}\n />\n ) : (\n <Box marginRight={1}>\n <PointerSmallIcon />\n <Box marginLeft={1}>\n <Text skin=\"secondary\" underline>\n {t('general.platform.unpublished_site')}\n </Text>\n </Box>\n </Box>\n ))}\n {isPlatformExists(PlatformType.Editor()) && (\n <PlatformLink\n url={resolvePlatformUrl(PlatformType.Editor())}\n label={t('general.platform.editor')}\n />\n )}\n {isPlatformExists(PlatformType.Dashboard()) && (\n <PlatformLink\n url={resolveDashboardExtensionUrl(dashboardExtensions[0]!)}\n label={t('general.platform.dashboard')}\n />\n )}\n </Box>\n </Box>\n )}\n </>\n );\n};\n"],"mappings":";;qTAAAA,IAOA,eAAsBC,EAAwBC,EAAuB,CACnE,IAAMC,EAAcC,EAAkBF,CAAa,EAC7CG,EAAeC,EAAmBJ,CAAa,EAErD,GAAI,CAAE,MAAMK,EAAWJ,CAAW,GAAM,CAAE,MAAMI,EAAWF,CAAY,EACrE,MAAM,IAAIG,EAAS,CACjB,KAAMC,EAAa,mBAAmB,CACxC,CAAC,CAEL,CChBAC,IAAA,IAAAC,EAAkB,SAmBlB,IAAMC,EAAsC,CAAC,CAC3C,IAAAC,EACA,MAAAC,EACA,YAAAC,EAAc,EAChB,IAEI,EAAAC,QAAA,cAACC,EAAA,KACC,EAAAD,QAAA,cAACC,EAAA,CAAI,YAAa,GACfF,GAAe,EAAAC,QAAA,cAACE,EAAA,IAAiB,EAClC,EAAAF,QAAA,cAACC,EAAA,CAAI,WAAY,GACf,EAAAD,QAAA,cAACG,EAAA,CAAK,IAAKN,GAAMC,CAAM,CACzB,CACF,CACF,EAISM,EAAqB,IAAM,CACtC,GAAM,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvB,CAAE,iBAAAC,EAAkB,kBAAAC,CAAkB,EAAIC,EAAY,EACtD,CAAE,oBAAAC,CAAoB,EAAIC,EAAc,EACxC,CAAE,KAAAC,CAAK,EAAIC,EAAU,EACrBC,EAAqBC,EAAsB,EAC3CC,EAA+BC,EAAgC,EAErE,OACE,EAAAjB,QAAA,gBAAAA,QAAA,cACGQ,EAAkBU,EAAa,UAAU,CAAC,EACzC,EAAAlB,QAAA,cAACC,EAAA,CAAI,cAAc,OACjB,EAAAD,QAAA,cAACmB,EAAA,CAAM,QAAQ,oCAAoC,EACnD,EAAAnB,QAAA,cAACJ,EAAA,CACC,YAAa,GACb,IAAKoB,EAA6BN,EAAoB,CAAC,CAAE,EACzD,MAAOL,EAAE,4BAA4B,EACvC,CACF,EAEA,EAAAL,QAAA,cAACC,EAAA,CAAI,cAAc,UACjB,EAAAD,QAAA,cAACmB,EAAA,CAAM,QAAQ,sCAAsC,EACrD,EAAAnB,QAAA,cAACC,EAAA,CAAI,YAAa,EAAG,cAAc,UAChCM,EAAiBW,EAAa,KAAK,CAAC,IAClCN,EAAK,QACJ,EAAAZ,QAAA,cAACJ,EAAA,CACC,IAAKkB,EAAmBI,EAAa,KAAK,CAAC,EAC3C,MAAOb,EAAE,uBAAuB,EAClC,EAEA,EAAAL,QAAA,cAACC,EAAA,CAAI,YAAa,GAChB,EAAAD,QAAA,cAACE,EAAA,IAAiB,EAClB,EAAAF,QAAA,cAACC,EAAA,CAAI,WAAY,GACf,EAAAD,QAAA,cAACoB,EAAA,CAAK,KAAK,YAAY,UAAS,IAC7Bf,EAAE,mCAAmC,CACxC,CACF,CACF,GAEHE,EAAiBW,EAAa,OAAO,CAAC,GACrC,EAAAlB,QAAA,cAACJ,EAAA,CACC,IAAKkB,EAAmBI,EAAa,OAAO,CAAC,EAC7C,MAAOb,EAAE,yBAAyB,EACpC,EAEDE,EAAiBW,EAAa,UAAU,CAAC,GACxC,EAAAlB,QAAA,cAACJ,EAAA,CACC,IAAKoB,EAA6BN,EAAoB,CAAC,CAAE,EACzD,MAAOL,EAAE,4BAA4B,EACvC,CAEJ,CACF,CAEJ,CAEJ","names":["init_esm_shims","assertBuildOutputExists","projectFolder","buildFolder","getAppBuildFolder","manifestPath","getAppManifestPath","pathExists","CliError","CliErrorCode","init_esm_shims","import_react","PlatformLink","url","label","withPointer","React","Box_default","PointerSmallIcon","Link","PlatformViewer","t","useTranslation","isPlatformExists","hasSinglePlatform","usePlatform","dashboardExtensions","useExtensions","site","useSiteId","resolvePlatformUrl","useResolvePlatformUrl","resolveDashboardExtensionUrl","useResolveDashboardExtensionUrl","PlatformType","Trans","Text"]}
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{a as Ne}from"./chunk-LYCV7HBR.js";import{a as qe}from"./chunk-M7777RXR.js";import{b as K}from"./chunk-5OKXHNO2.js";import{a as Te,b as Ae,c as De,e as Ie,j as Ue,k as Ee}from"./chunk-MM7OD345.js";import{Aa as xe,C as Q,Qa as U,Ra as Y,Ta as L,Ua as be,a as x,b as M,d as g,f as j,na as G,rb as X,ub as w,x as ye,z as Re}from"./chunk-L2GYA6RW.js";import{A as ge,L as $,N as Se,O as _e,P as Ce,R as we,V as Oe,W as Pe,b as C,c as N,e as h,f as S,m as f,n as F,y as he}from"./chunk-GF6CV6CZ.js";import{e as u,h as a}from"./chunk-V4TR6DCM.js";a();var y=u(C(),1),le=u(N(),1);a();var ze=u(C(),1),He=u(N(),1);a();a();a();var ft={},ht={},gt={},St={};var _t={},Ct={},wt={},Ot={};function Z(e){var t={"api._api_base_domain_":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"bo._base_domain_":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"wixbo.ai":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"www._base_domain_":[{srcPath:"/apps-release-manager-service-web/artifacts-release-manager/app-releases",destPath:"/artifacts-release-manager/app-releases"},{srcPath:"/_api/apps-release-manager-service-web/artifacts-release-manager/app-releases",destPath:"/artifacts-release-manager/app-releases"},{srcPath:"/apps-release-manager-service-web/apps/create",destPath:"/apps/create"},{srcPath:"/apps-release-manager-service-web/apps/promote",destPath:"/apps/promote"},{srcPath:"/apps-release-manager-service-web/apps/tags",destPath:"/apps/tags"},{srcPath:"/apps-release-manager-service-web/apps/create-components",destPath:"/apps/create-components"}],"manage._base_domain_":[{srcPath:"/apps-release-manager-service-web/apps/promote",destPath:"/apps/promote"},{srcPath:"/apps-release-manager-service-web/apps/create",destPath:"/apps/create"},{srcPath:"/apps-release-manager-service-web/apps/tags",destPath:"/apps/tags"},{srcPath:"/apps-release-manager-service-web/apps/create-components",destPath:"/apps/create-components"}]};return M(Object.assign(e,{domainToMappings:t}))}function Me(e){var t=g(ft,{}),r=t.toJSON,o=t.fromJSON,s=g(ht,{}).fromJSON;function i(c){var l=c.host,m=r(e),d={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.CreateAppRelease",url:Z({protoPath:"/apps/create/{appId}",data:m,host:l}),data:m,transformResponse:s};return d}return i.fromReq=o,i.__isAmbassador=!0,i}function je(e){var t=g(wt,{}),r=t.toJSON,o=t.fromJSON,s=g(Ot,{}).fromJSON;function i(c){var l=c.host,m=r(e),d={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"PUT",methodFqn:"com.wix.ctp.AppsReleaseManagerService.UpdateAppRelease",url:Z({protoPath:"/apps/tags/{tag}",data:m,host:l}),data:m,transformResponse:s};return d}return i.fromReq=o,i.__isAmbassador=!0,i}function Fe(e){var t=g(gt,{}),r=t.toJSON,o=t.fromJSON,s=g(St,{}).fromJSON;function i(c){var l=c.host,m=r(e),d={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.CreateComponents",url:Z({protoPath:"/apps/create-components/{appId}",data:m,host:l}),data:m,transformResponse:s};return d}return i.fromReq=o,i.__isAmbassador=!0,i}function Le(e){var t=g(_t,{}),r=t.toJSON,o=t.fromJSON,s=g(Ct,{}).fromJSON;function i(c){var l=c.host,m=r(e),d={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.PromoteAppReleaseToDevCenter",url:Z({protoPath:"/apps/promote/{appId}/{tag}",data:m,host:l}),data:m,transformResponse:s};return d}return i.fromReq=o,i.__isAmbassador=!0,i}var ee=u(N(),1);a();var Je=f.object({newVersion:f.string()}),ke=f.object({tag:f.string()});var{AppPermissionDenied:ne}=S,Be=(0,ee.variant)({TagUpdated:{},TagNotFound:(0,ee.fields)()}),V=class{constructor(t){this.httpClient=t;let{minRetryTimeout:r}=F();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;createComponents=async(t,r,o)=>{try{await x(()=>this.httpClient.request(Fe({appId:t,componentConfigs:r,projectId:o})),this.retryOptions)}catch(s){throw j(s)&&s.response?.status===403?new h({code:ne({appId:t}),cause:s}):new h({code:S.FailedToCreateComponents(),cause:s})}};createAppRelease=async(t,r)=>{try{let{data:o}=await x(()=>this.httpClient.request(Me({appId:t.appId,componentConfigs:t.components,projectId:r})),this.retryOptions);return ke.parse(o).tag}catch(o){throw j(o)&&o.response?.status===403?new h({code:ne({appId:t.appId}),cause:o}):new h({code:S.FailedToCreateAppRelease(),cause:o})}};updateAppRelease=async(t,r)=>{try{return await x(()=>this.httpClient.request(je({appId:t.appId,componentConfigs:t.components,tag:r})),this.retryOptions),Be.TagUpdated()}catch(o){if(j(o)){if(o.response?.status===404)return Be.TagNotFound({cause:o});if(o.response?.status===403)throw new h({code:ne({appId:t.appId}),cause:o})}throw new h({code:S.FailedToUpdateAppRelease(),cause:o})}};promoteToDevCenter=async(t,r,o)=>{let{data:s}=await x(()=>this.httpClient.request(Le({appId:t,tag:r,versionType:o})),this.retryOptions);return Je.parse(s)}};a();var Ve=u(C(),1);function pe(){let e=L({type:"backoffice"});return(0,Ve.useMemo)(()=>new V(e),[e])}var We=async(e,t,r)=>{let o=await Ue({appId:e.config.appId,components:e.components,componentSourceBuilder:Ee(e,{clientDevServerUrl:t},{backendDevServerUrl:r?.localUrl})});return Ie(o,t,r?.tunnelUrl)};function $e(){let{model:e}=w(),t=K(),{createAppRelease:r,updateAppRelease:o}=pe();return(0,ze.useCallback)(async({backendServerUrl:s,devServerUrl:i,projectModelWatcher:c,onChange:l,onError:m})=>{let{projectId:d}=e.config,P=await We(e,i,s),_=await U(e.projectFolder,t),D=await(async v=>{if(v){let A=await o(P,v);return(0,He.match)(A,{TagUpdated:()=>v,TagNotFound:({cause:R})=>(t(R),r(P,d))})}return r(P,d)})(_?.devArmTag);return D!==_?.devArmTag&&await Y(e.projectFolder,{devArmTag:D}).catch(v=>t(v)),c.onChange(async(v,A)=>{try{if(A==="model-updated"){if(v.components.length===0)return;let R=await We(v,i,s);X(P,R)||await o(R,D)}l(A)}catch(R){m(R)}}).onError(m),D},[r,e,o,t])}a();var J=u(C(),1);import{createServer as Pt}from"vite";function Ke({createConfig:e}){let{reportError:t}=Q(),r=(0,J.useRef)();return(0,J.useEffect)(()=>()=>{r.current?.close().catch(t)},[t]),(0,J.useCallback)(async o=>{let s=await e(o),i=await Pt(s);return r.current=i,await i.listen(),{devServerUrl:Te(i),devServer:i}},[e])}function Qe({https:e}){let{model:t}=w();return Ke({createConfig:({projectModelWatcher:o,baseBackendUrl:s,customLogger:i})=>Ae(t,{type:"dev",https:e,projectModelWatcher:o,customLogger:i},{baseBackendUrl:s})})}function Ge({https:e}){let{model:t}=w(),{getAppSecret:r}=be();return Ke({createConfig:async({projectModelWatcher:s,customLogger:i})=>{let c=await r({appId:t.config.appId});return De(t,{type:"dev",https:e,customLogger:i,projectModelWatcher:s},c)}})}a();var k=u(C(),1),Ye=(0,k.createContext)(null),Xe=({children:e,armTag:t})=>k.default.createElement(Ye.Provider,{value:{armTag:t}},e),me=()=>{let e=(0,k.useContext)(Ye);if(e===null)throw new Error("useArmTag() cannot be used without an <ArmTagProvider>");return e};a();var E=u(C(),1);a();a();a();var yt={},Rt={};function xt(e){var t={"bo._base_domain_":[{srcPath:"/_serverless/site-override",destPath:""}],"wixbo.ai":[{srcPath:"/_serverless/site-override",destPath:""}],"wix-bo.com":[{srcPath:"/_serverless/site-override",destPath:""}],"manage._base_domain_":[{srcPath:"/_serverless/site-override",destPath:""}]};return M(Object.assign(e,{domainToMappings:t}))}function Ze(e){var t=g(yt,{}),r=t.toJSON,o=t.fromJSON,s=g(Rt,{}).fromJSON;function i(c){var l=c.host,m=r(e),d={entityFqdn:"wix.cli.site_override_service.v1.site_override",method:"POST",methodFqn:"wix.cli.v1.SiteOverrideService.CreateOverride",url:xt({protoPath:"/v1/site-overrides",data:m,host:l}),data:m,transformResponse:s};return d}return i.fromReq=o,i.__isAmbassador=!0,i}a();var et=f.object({siteOverride:f.object({id:f.string()})});var te=class{constructor(t){this.httpClient=t;let{minRetryTimeout:r}=F();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;createOverride=async({appId:t,siteId:r,overrides:o,siteOverrideId:s})=>{try{let{data:i}=await x(()=>this.httpClient.request(Ze({siteOverride:{id:s,appId:t,siteId:r,overrides:o}})),this.retryOptions);return et.parse(i).siteOverride}catch(i){throw j(i)&&i.response?.status===403?i.response.data?.details?.applicationError?.code==="PERMISSION_DENIED_FOR_SITE"?new h({code:S.SitePermissionDenied({siteId:r}),cause:i}):new h({code:S.AppPermissionDenied({appId:t}),cause:i}):new h({code:S.FailedToCreateSiteOverride(),cause:i})}}};a();var tt=u(C(),1);function ce(){let e=L({type:"backoffice"});return(0,tt.useMemo)(()=>new te(e),[e])}a();var ot=u(N(),1);a();var re;(function(e){e.UNKNOWN_TYPE="UNKNOWN_TYPE",e.EMBEDDED_SCRIPT="EMBEDDED_SCRIPT"})(re||(re={}));var rt;(function(e){e.UNKNOWN="UNKNOWN",e.ANONYMOUS_VISITOR="ANONYMOUS_VISITOR",e.MEMBER="MEMBER",e.WIX_USER="WIX_USER",e.APP="APP"})(rt||(rt={}));function oe(e){let t=e.components.filter((0,ot.isType)(xe.EmbeddedScript));return t.length===0?null:t.reduce((r,o)=>{let s=o.paramsOverride??{};return{...r,[o.id]:{type:re.EMBEDDED_SCRIPT,componentId:o.id,embeddedScriptOptions:{parameters:s}}}},{})}a();var at=u(C(),1);a();var it=u(C(),1),st=(0,it.createContext)(null);function W(){let e=(0,at.useContext)(st);if(e===null)throw new Error("useSiteId() cannot be used without an <SiteIdProvider>");return e}function nt(){let{model:e}=w(),{site:t}=W(),r=Ce(),o=K(),{createOverride:s}=ce(),{appId:i}=e.config,c=(0,E.useRef)(t),l=(0,E.useRef)(!1);return(0,E.useEffect)(()=>{c.current=t;let m=async()=>{let d=oe(e)??{},_=(await U(e.projectFolder,o))?.devSiteOverrideId;if(!_)throw new h({code:S.InvalidSiteOverrideID()});await s({appId:i,siteId:t.id,overrides:d,siteOverrideId:_})};l.current&&m().catch(r)},[t]),(0,E.useCallback)(async({projectModelWatcher:m})=>{let d=await U(e.projectFolder,o),P=oe(e)??{},{id:_}=await s({appId:i,siteId:t.id,overrides:P,siteOverrideId:d?.devSiteOverrideId});return m.onChange(async(T,D)=>{if(D==="model-updated"){let v=oe(T)??{};X(P,v)||(await s({appId:i,siteId:c.current.id,overrides:v,siteOverrideId:_}),P=v)}}),_!==d?.devSiteOverrideId&&await Y(e.projectFolder,{devSiteOverrideId:_}).catch(T=>o(T)),l.current=!0,_},[e,o,s,i,t])}a();var B=u(C(),1),pt=(0,B.createContext)(null),mt=({children:e,siteOverrideId:t})=>B.default.createElement(pt.Provider,{value:{siteOverrideId:t}},e),de=()=>{let e=(0,B.useContext)(pt);if(e===null)throw new Error("useSiteOverrideId() cannot be used without an <SiteOverrideProvider>");return e};var ct=(0,y.createContext)(null),Eo=({https:e,logger:t,children:r})=>{let{t:o}=Pe(),{reportError:s}=Q(),{backendComponents:i,backendComponentsByType:c}=Ne(),l=Qe({https:e}),m=Ge({https:e}),d=qe(),P=$e(),_=nt(),{watcher:T}=w(),{status:D}=we(async()=>{let v;i.length>0&&(v=await m({projectModelWatcher:T,customLogger:t}).then(async({devServerUrl:I})=>{let fe;if(c.Event.length>0||c.ServicePlugin.length>0){let{url:ut}=await d(Number(new URL(I).port));fe=ut}return{localUrl:I,tunnelUrl:fe}}));let{devServerUrl:A,devServer:R}=await l({baseBackendUrl:v?.localUrl,projectModelWatcher:T,customLogger:t}),ae=await P({backendServerUrl:v,devServerUrl:A,projectModelWatcher:T,onChange(I){(0,le.match)(I,{"change-received":()=>{t.info(o("dev_command.config_change"))},"model-did-not-change":()=>{t.info(o("dev_command.config_didnt_update"))},"model-updated":()=>{R.ws.send({type:"full-reload"}),t.info(o("dev_command.config_update"))}})},onError(I){s(I),t.error(y.default.createElement(Re,{error:I})),t.info(o("dev_command.config_didnt_update"))}}),vt=await _({projectModelWatcher:T});return t.info(y.default.createElement($,{type:"success"},o("dev_command.dev_environment.started"))),{clientDevServerUrl:A,armTag:ae,siteOverrideId:vt,https:e}},[]);return(0,le.match)(D,{Error:()=>null,Loading:()=>y.default.createElement(_e,{text:o("dev_command.dev_environment.loading")}),Success:({result:{clientDevServerUrl:v,https:A,armTag:R,siteOverrideId:ae}})=>y.default.createElement(ct.Provider,{value:{clientDevServerUrl:v,https:A,logger:t}},y.default.createElement(mt,{siteOverrideId:ae},y.default.createElement(Xe,{armTag:R},r)))})};function ie(){let e=(0,y.useContext)(ct);if(e===null)throw new Error("useDevEnvironment() cannot be used without an <DevEnvironmentProvider>");return e}a();a();var bt={},Tt={sites:"_site"},At={createdDate:"google.protobuf.Timestamp",updatedDate:"google.protobuf.Timestamp",trashedDate:"google.protobuf.Timestamp"};function Dt(e){var t={"www._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"},{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"feedback._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"}],"manage._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"},{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"},{srcPath:"/_api/sites-list-data",destPath:"/api/sites-list-data"}],"www.wixapis.com":[{srcPath:"/site-list/v2/sites",destPath:"/v2/sites"}],"api._api_base_domain_":[{srcPath:"/sites-list",destPath:""}],"bo._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"wixbo.ai":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"dev._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"editor._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"blocks._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"create.editorx":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}]};return M(Object.assign(e,{domainToMappings:t}))}function ve(e){var t=g(bt,{}),r=t.toJSON,o=t.fromJSON,s=g(Tt,{_site:At}).fromJSON;function i(c){var l=c.host,m=r(e),d={entityFqdn:"wix.site_list.v2.site",method:"POST",methodFqn:"com.wixpress.sitelist.api.SiteListServiceV2.QuerySites",url:Dt({protoPath:"/v2/sites/query",data:m,host:l}),data:m,transformResponse:s};return d}return i.fromReq=o,i.__isAmbassador=!0,i}a();var It=f.object({id:f.string(),displayName:f.string(),viewUrl:f.union([f.string().url(),f.literal("")]).optional()}),ue=f.object({sites:f.array(It)});var z=class{constructor(t){this.httpClient=t;let{minRetryTimeout:r}=F();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;querySites=async(t={})=>{try{let{data:r}=await x(()=>this.httpClient.request(ve(t)),this.retryOptions);return ue.parse(r).sites}catch(r){throw new h({code:S.FailedToQuerySites(),cause:r,info:{...t}})}};getSite=async t=>{try{let{data:r}=await x(()=>this.httpClient.request(ve({query:{filter:{id:{$in:[t]}}}})),this.retryOptions),{sites:o}=ue.parse(r);return o.at(0)??null}catch(r){throw new h({code:S.FailedToGetSite(),cause:r,info:{id:t}})}}};a();var dt=u(C(),1);function Ut(){let e=L({type:"backoffice"});return(0,dt.useMemo)(()=>new z(e),[e])}a();a();var H=u(N(),1),se=(0,H.variant)({NotConfigured:{},NotFound:(0,H.fields)(),Resolved:(0,H.fields)()});a();async function pi({projectFolder:e,siteListClient:{getSite:t},siteId:r,writeDebugLog:o}){let s=r||(await U(e,o))?.siteId;if(!s)return se.NotConfigured();let i=await t(s);return i?se.Resolved({site:i}):se.NotFound({id:s})}a();var O=u(C(),1);var b=u(N(),1);import{URL as q}from"node:url";var Et=(e,t)=>{let r=(0,b.isType)(t,G.Site)?`${e.origin}/_api`:"https://apps.wix.com",o=new q(`${r}/elgar-server/redirect`);return["specs.UseAppsRuntimeCache","specs.ApplyQueryParamsOverrides"].forEach(i=>{o.searchParams.append("experiments",`${i}#true`)}),o.searchParams.append("redirectToUrl",e.toString()),o.searchParams.append("staticsVersions","{}"),o};function lt({url:e,clientDevServerUrl:t}){let r=new q("/redirect",t);return r.searchParams.append("url",e),r.href}function qt(){let{model:e}=w(),{site:t}=W(),{armTag:r}=me(),{siteOverrideId:o}=de();return(0,O.useCallback)(s=>Nt(s,{site:t,appId:e.config.appId,tag:r,siteOverrideId:o}),[t,e.config.appId,r,o])}function wi(){let e=qt(),{https:t,clientDevServerUrl:r}=ie();return(0,O.useCallback)(o=>{let s=e(o);return t&&(s=lt({url:s,clientDevServerUrl:r})),s},[e,t,r])}function Nt(e,t){let{site:r,tag:o,siteOverrideId:s}=t,i=(0,b.match)(e,{Dashboard:()=>new q(`dashboard/${r.id}`,"https://manage.wix.com/"),Editor:()=>new q(`https://wix.com/editor/${r.id}`),Site:()=>{let c=new q(r.viewUrl);return s&&c.searchParams.append("site-override",s),c}});return i.searchParams.append("apps-override",o),(0,b.isOfVariant)(e,(0,b.variantList)([G.Editor,G.Site]))?Et(i,e).toString():i.toString()}function Mt(){let{model:e}=w(),{site:t}=W(),{armTag:r}=me(),{siteOverrideId:o}=de();return(0,O.useCallback)(s=>jt(s,{site:t,appId:e.config.appId,tag:r,siteOverrideId:o}),[t,e.config.appId,r,o])}function Oi(){let e=Mt(),{https:t,clientDevServerUrl:r}=ie();return(0,O.useCallback)(o=>{let s=e(o);return t&&(s=lt({url:s,clientDevServerUrl:r})),s},[e,t,r])}function jt(e,t){let{appId:r,site:o,tag:s}=t,i=(0,b.matcher)(e).with({DashboardPage:()=>new q(`dashboard/${o.id}/app/${r}${e.route}`,"https://manage.wix.com/")}).when(["DashboardMenuPlugin","DashboardPlugin","DashboardModal"],()=>new q(`dashboard/${o.id}${e.route}`,"https://manage.wix.com/")).complete();return i.searchParams.append("apps-override",s),i.toString()}var Pi=()=>{let{logger:e}=ie();return(0,O.useCallback)(async({url:t,title:r})=>{try{await ye(t)}catch{e.error(O.default.createElement($,{type:"error"},O.default.createElement(Oe,{i18nKey:"general.open_page_error",components:[O.default.createElement(ge,{bold:!0})],values:{title:r}}),O.default.createElement(he,null),O.default.createElement(Se,{url:t})))}},[e])};export{z as a,Ut as b,st as c,se as d,pi as e,V as f,pe as g,Xe as h,me as i,ce as j,oe as k,W as l,mt as m,Eo as n,ie as o,Et as p,qt as q,wi as r,Nt as s,Mt as t,Oi as u,jt as v,Pi as w};
4
- //# sourceMappingURL=chunk-YFYESJ2A.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/DevCommand/DevEnvironment.tsx","../src/components/DevCommand/useArmUpdater.ts","../../arm-client/src/index.ts","../../arm-client/src/client.ts","../../../node_modules/@wix/ambassador-ctp-gradual-rollout-v1-app-config/http.impl.ts","../../arm-client/src/schemas.ts","../../arm-client/src/useARMClient.ts","../src/components/DevCommand/useDevServer.ts","../src/context/armTag.tsx","../src/components/DevCommand/useSiteOverrideUpdater.ts","../../site-override-client/src/index.ts","../../site-override-client/src/client.ts","../../../node_modules/@wix/ambassador-cli-site-override-service-v1-site-override/http.impl.ts","../../site-override-client/src/schemas.ts","../../site-override-client/src/useSiteOverrideClient.ts","../src/site-override/createSiteOverrides.ts","../../../node_modules/@wix/ambassador-cli-site-override-service-v1-site-override/types.impl.ts","../src/site-id/useSiteId.ts","../src/site-id/context.ts","../src/context/siteOverride.tsx","../../site-list-client/src/site-list-client.ts","../../../node_modules/@wix/ambassador-site-list-v2-site/http.impl.ts","../../site-list-client/src/schemas.ts","../../site-list-client/src/useSiteListClient.ts","../../site-list-client/src/index.ts","../src/site-id/site-id-state.ts","../src/site-id/resolve-configured-site.ts","../src/components/extensions/utils.tsx"],"sourcesContent":["import React, { createContext, useContext } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { Spinner, useAsync, Alert } from '@wix/cli-ui-kit';\nimport { ErrorViewer, useErrorReporter } from '@wix/cli-error-reporting';\nimport { useTunnel } from '@wix/cli-tunnel';\nimport { useProjectModel } from '../../model.js';\nimport { useArmUpdater } from './useArmUpdater.js';\nimport type { BackendUrls } from './useArmUpdater.js';\nimport { useClientDevServer, useBackendDevServer } from './useDevServer.js';\nimport { ArmTagProvider } from '../../context/armTag.js';\nimport { useSiteOverrideUpdater } from './useSiteOverrideUpdater.js';\nimport { useBackendComponents } from '../../backend/useBackendComponents.js';\nimport { SiteOverrideProvider } from '../../context/siteOverride.js';\nimport type { Logger } from '../../vite/logger.js';\n\ninterface DevEnvironment {\n https: boolean;\n logger: Logger;\n clientDevServerUrl: string;\n backendDevServerUrl?: string;\n}\n\nconst DevEnvironmentContext = createContext<DevEnvironment | null>(null);\n\nexport const DevEnvironmentProvider: FC<{\n https: boolean;\n logger: Logger;\n children: ReactNode;\n}> = ({ https, logger, children }) => {\n const { t } = useTranslation();\n const { reportError } = useErrorReporter();\n const { backendComponents, backendComponentsByType } = useBackendComponents();\n const createClientDevServer = useClientDevServer({ https });\n const createBackendDevServer = useBackendDevServer({ https });\n const startTunnel = useTunnel();\n const createArmUpdater = useArmUpdater();\n const createSiteOverrideUpdater = useSiteOverrideUpdater();\n const { watcher: projectModelWatcher } = useProjectModel();\n\n const { status } = useAsync(async () => {\n let backendDevServerUrl: BackendUrls | undefined;\n\n if (backendComponents.length > 0) {\n backendDevServerUrl = await createBackendDevServer({\n projectModelWatcher,\n customLogger: logger,\n }).then(async ({ devServerUrl }) => {\n let tunnelUrl: string | undefined;\n if (\n backendComponentsByType.Event.length > 0 ||\n backendComponentsByType.ServicePlugin.length > 0\n ) {\n const { url } = await startTunnel(Number(new URL(devServerUrl).port));\n tunnelUrl = url;\n }\n return { localUrl: devServerUrl, tunnelUrl };\n });\n }\n\n const { devServerUrl: clientDevServerUrl, devServer: clientDevServer } =\n await createClientDevServer({\n baseBackendUrl: backendDevServerUrl?.localUrl,\n projectModelWatcher,\n customLogger: logger,\n });\n\n const armTag = await createArmUpdater({\n backendServerUrl: backendDevServerUrl,\n devServerUrl: clientDevServerUrl,\n projectModelWatcher,\n onChange(changeType) {\n match(changeType, {\n 'change-received': () => {\n logger.info(t('dev_command.config_change'));\n },\n 'model-did-not-change': () => {\n logger.info(t('dev_command.config_didnt_update'));\n },\n 'model-updated': () => {\n clientDevServer.ws.send({ type: 'full-reload' });\n logger.info(t('dev_command.config_update'));\n },\n });\n },\n onError(error) {\n reportError(error);\n\n logger.error(<ErrorViewer error={error} />);\n logger.info(t('dev_command.config_didnt_update'));\n },\n });\n\n const siteOverrideId = await createSiteOverrideUpdater({\n projectModelWatcher,\n });\n\n logger.info(\n <Alert type=\"success\">{t('dev_command.dev_environment.started')}</Alert>\n );\n\n return {\n clientDevServerUrl,\n armTag,\n siteOverrideId,\n https,\n };\n }, []);\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('dev_command.dev_environment.loading')} />,\n Success: ({\n result: { clientDevServerUrl, https, armTag, siteOverrideId },\n }) => (\n <DevEnvironmentContext.Provider\n value={{ clientDevServerUrl, https, logger }}\n >\n <SiteOverrideProvider siteOverrideId={siteOverrideId}>\n <ArmTagProvider armTag={armTag}>{children}</ArmTagProvider>\n </SiteOverrideProvider>\n </DevEnvironmentContext.Provider>\n ),\n });\n};\n\nexport function useDevEnvironment(): DevEnvironment {\n const context = useContext(DevEnvironmentContext);\n if (context === null) {\n throw new Error(\n 'useDevEnvironment() cannot be used without an <DevEnvironmentProvider>'\n );\n }\n return context;\n}\n","import { useCallback } from 'react';\nimport { match } from 'variant';\nimport { deepEqual } from 'fast-equals';\nimport { updateAppManifestWithBaseUrl } from '@wix/cli-app-manifest';\nimport { useARMClient } from '@wix/arm-client';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { createAppManifest } from '../../app-manifest/create.js';\nimport { getComponentSourceBuilder } from '../../app-manifest/component-source.js';\nimport type {\n ChangeType,\n ProjectModelWatcher,\n} from '../../app-manifest/project-model-watcher.js';\nimport { readAppConfig, saveAppConfig } from '../../files/app.config.js';\nimport { useProjectModel } from '../../model.js';\nimport type { ProjectModel } from '../../model.js';\n\nexport interface BackendUrls {\n tunnelUrl?: string;\n localUrl: string;\n}\n\nconst createAppManifestWithBaseUrl = async (\n model: ProjectModel,\n clientDevServerUrl: string,\n backendServerUrl?: BackendUrls\n) => {\n const manifest = await createAppManifest({\n appId: model.config.appId,\n components: model.components,\n componentSourceBuilder: getComponentSourceBuilder(\n model,\n { clientDevServerUrl },\n { backendDevServerUrl: backendServerUrl?.localUrl }\n ),\n });\n\n return updateAppManifestWithBaseUrl(\n manifest,\n clientDevServerUrl,\n backendServerUrl?.tunnelUrl\n );\n};\n\ninterface CreateOptions {\n devServerUrl: string;\n backendServerUrl?: BackendUrls;\n projectModelWatcher: ProjectModelWatcher;\n onChange: (changeType: ChangeType) => void;\n onError: (e: unknown) => void;\n}\n\nexport function useArmUpdater() {\n const { model } = useProjectModel();\n const writeDebugLog = useDebugLog();\n const { createAppRelease, updateAppRelease } = useARMClient();\n\n return useCallback(\n async ({\n backendServerUrl,\n devServerUrl,\n projectModelWatcher,\n onChange,\n onError,\n }: CreateOptions) => {\n const { projectId } = model.config;\n\n const appManifest = await createAppManifestWithBaseUrl(\n model,\n devServerUrl,\n backendServerUrl\n );\n\n const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);\n\n const createOrUpdateAppRelease = async (tag?: string) => {\n if (tag) {\n const updateState = await updateAppRelease(appManifest, tag);\n return match(updateState, {\n TagUpdated: () => tag,\n TagNotFound: ({ cause }) => {\n writeDebugLog(cause);\n return createAppRelease(appManifest, projectId);\n },\n });\n }\n return createAppRelease(appManifest, projectId);\n };\n\n const armTag = await createOrUpdateAppRelease(appConfig?.devArmTag);\n\n if (armTag !== appConfig?.devArmTag) {\n await saveAppConfig(model.projectFolder, { devArmTag: armTag }).catch(\n (error: unknown) => writeDebugLog(error)\n );\n }\n\n projectModelWatcher\n .onChange(async (newModel, changeType) => {\n try {\n if (changeType === 'model-updated') {\n if (newModel.components.length === 0) {\n return;\n }\n\n const updatedAppManifest = await createAppManifestWithBaseUrl(\n newModel,\n devServerUrl,\n backendServerUrl\n );\n\n if (!deepEqual(appManifest, updatedAppManifest)) {\n await updateAppRelease(updatedAppManifest, armTag);\n }\n }\n onChange(changeType);\n } catch (e) {\n onError(e);\n }\n })\n .onError(onError);\n\n return armTag;\n },\n [createAppRelease, model, updateAppRelease, writeDebugLog]\n );\n}\n","export { ARMClient } from './client.js';\nexport { useARMClient } from './useARMClient.js';\n","import type { HttpClient, HttpError } from '@wix/cli-http-client';\nimport type { AppManifest } from '@wix/cli-app-manifest';\nimport type { Options } from 'p-retry';\nimport type {\n VersionType,\n ComponentConfig,\n} from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\nimport {\n createAppRelease,\n promoteAppReleaseToDevCenter,\n updateAppRelease,\n createComponents,\n} from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/http';\nimport pRetry from 'p-retry';\nimport { fields, variant } from 'variant';\nimport { isHttpError } from '@wix/cli-http-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { createAppReleaseSchema, promoteAppReleaseSchema } from './schemas.js';\n\nconst { AppPermissionDenied } = CliErrorCode;\n\nconst UpdateAppReleaseData = variant({\n TagUpdated: {},\n TagNotFound: fields<{ cause: HttpError }>(),\n});\n\nexport class ARMClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n createComponents = async (\n appId: string,\n componentConfigs: ComponentConfig[],\n projectId: string\n ) => {\n try {\n await pRetry(\n () =>\n this.httpClient.request(\n createComponents({\n appId,\n componentConfigs,\n projectId,\n })\n ),\n this.retryOptions\n );\n } catch (e) {\n if (isHttpError(e) && e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId }),\n cause: e,\n });\n }\n throw new CliError({\n code: CliErrorCode.FailedToCreateComponents(),\n cause: e,\n });\n }\n };\n\n createAppRelease = async (manifest: AppManifest, projectId: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createAppRelease({\n appId: manifest.appId,\n componentConfigs: manifest.components,\n projectId,\n })\n ),\n this.retryOptions\n );\n\n return createAppReleaseSchema.parse(data).tag;\n } catch (e) {\n if (isHttpError(e) && e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId: manifest.appId }),\n cause: e,\n });\n }\n throw new CliError({\n code: CliErrorCode.FailedToCreateAppRelease(),\n cause: e,\n });\n }\n };\n\n updateAppRelease = async (manifest: AppManifest, tag: string) => {\n try {\n await pRetry(\n () =>\n this.httpClient.request(\n updateAppRelease({\n appId: manifest.appId,\n componentConfigs: manifest.components,\n tag,\n })\n ),\n this.retryOptions\n );\n\n return UpdateAppReleaseData.TagUpdated();\n } catch (e) {\n if (isHttpError(e)) {\n if (e.response?.status === 404) {\n return UpdateAppReleaseData.TagNotFound({ cause: e });\n }\n if (e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId: manifest.appId }),\n cause: e,\n });\n }\n }\n throw new CliError({\n code: CliErrorCode.FailedToUpdateAppRelease(),\n cause: e,\n });\n }\n };\n\n promoteToDevCenter = async (\n appId: string,\n tag: string,\n versionType: VersionType\n ) => {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n promoteAppReleaseToDevCenter({ appId, tag, versionType })\n ),\n this.retryOptions\n );\n\n return promoteAppReleaseSchema.parse(data);\n };\n}\n",null,"import { z } from 'zod';\n\nexport const promoteAppReleaseSchema = z.object({\n newVersion: z.string(),\n});\n\nexport const createAppReleaseSchema = z.object({\n tag: z.string(),\n});\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { ARMClient } from './client.js';\n\nexport function useARMClient(): ARMClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new ARMClient(httpClient), [httpClient]);\n}\n","import { useRef, useCallback, useEffect } from 'react';\nimport { createServer } from 'vite';\nimport type { InlineConfig, ViteDevServer } from 'vite';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\nimport type { ClientViteConfigOptions } from '../../vite/index.js';\nimport { getClientViteConfig, getBackendViteConfig } from '../../vite/index.js';\nimport { getViteServerUrl } from '../../vite/vite-server-url.js';\nimport type { ProjectModelWatcher } from '../../app-manifest/project-model-watcher.js';\nimport { useProjectModel } from '../../model.js';\nimport { ConfigType } from '../../vite/vite-config-options.js';\nimport type { Logger } from '../../vite/logger.js';\n\ninterface Options {\n projectModelWatcher: ProjectModelWatcher;\n customLogger: Logger;\n}\n\nfunction useViteDevServer<T>({\n createConfig,\n}: {\n createConfig: (options: T) => Promise<InlineConfig>;\n}) {\n const { reportError } = useErrorReporter();\n const devServerRef = useRef<ViteDevServer>();\n\n useEffect(() => {\n return () => {\n devServerRef.current?.close().catch(reportError);\n };\n }, [reportError]);\n\n return useCallback(\n async (options: T) => {\n const config = await createConfig(options);\n const devServer = await createServer(config);\n\n devServerRef.current = devServer;\n\n await devServer.listen();\n\n return { devServerUrl: getViteServerUrl(devServer), devServer };\n },\n [createConfig]\n );\n}\n\nexport function useClientDevServer({ https }: { https: boolean }) {\n const { model } = useProjectModel();\n\n const createDevServer = useViteDevServer<Options & ClientViteConfigOptions>({\n createConfig: ({ projectModelWatcher, baseBackendUrl, customLogger }) => {\n return getClientViteConfig(\n model,\n {\n type: ConfigType.dev,\n https,\n projectModelWatcher,\n customLogger,\n },\n { baseBackendUrl }\n );\n },\n });\n\n return createDevServer;\n}\n\nexport function useBackendDevServer({ https }: { https: boolean }) {\n const { model } = useProjectModel();\n const { getAppSecret } = useDevCenterClient();\n\n const createDevServer = useViteDevServer<Options>({\n createConfig: async ({ projectModelWatcher, customLogger }) => {\n const appSecret = await getAppSecret({\n appId: model.config.appId,\n });\n\n return getBackendViteConfig(\n model,\n {\n type: ConfigType.dev,\n https,\n customLogger,\n projectModelWatcher,\n },\n appSecret\n );\n },\n });\n\n return createDevServer;\n}\n","import React, { useContext, createContext } from 'react';\nimport type { FC, ReactNode } from 'react';\n\ninterface ArmTag {\n armTag: string;\n}\n\nconst ArmTagContext = createContext<ArmTag | null>(null);\n\nexport const ArmTagProvider: FC<{ children: ReactNode; armTag: string }> = ({\n children,\n armTag,\n}) => {\n return (\n <ArmTagContext.Provider value={{ armTag }}>\n {children}\n </ArmTagContext.Provider>\n );\n};\n\nexport const useArmTag = () => {\n const context = useContext(ArmTagContext);\n\n if (context === null) {\n throw new Error('useArmTag() cannot be used without an <ArmTagProvider>');\n }\n\n return context;\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport { deepEqual } from 'fast-equals';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { useSiteOverrideClient } from '@wix/site-override-client';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { useExit } from '@wix/cli-ui-kit';\nimport type { ProjectModelWatcher } from '../../app-manifest/project-model-watcher.js';\nimport { useProjectModel } from '../../model.js';\nimport { createSiteOverrides } from '../../site-override/createSiteOverrides.js';\nimport { useSiteId } from '../../site-id/useSiteId.js';\nimport { readAppConfig, saveAppConfig } from '../../files/app.config.js';\n\nexport function useSiteOverrideUpdater() {\n const { model } = useProjectModel();\n const { site } = useSiteId();\n const exit = useExit();\n const writeDebugLog = useDebugLog();\n const { createOverride } = useSiteOverrideClient();\n const { appId } = model.config;\n\n const siteRef = useRef(site);\n const isUpdaterInitialized = useRef(false);\n\n useEffect(() => {\n siteRef.current = site;\n\n const updateSiteOverrides = async () => {\n const overrides = createSiteOverrides(model) ?? {};\n const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);\n const siteOverrideId = appConfig?.devSiteOverrideId;\n\n if (!siteOverrideId) {\n throw new CliError({\n code: CliErrorCode.InvalidSiteOverrideID(),\n });\n }\n\n await createOverride({\n appId,\n siteId: site.id,\n overrides,\n siteOverrideId,\n });\n };\n\n if (isUpdaterInitialized.current) {\n updateSiteOverrides().catch(exit);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [site]);\n\n return useCallback(\n async ({\n projectModelWatcher,\n }: {\n projectModelWatcher: ProjectModelWatcher;\n }) => {\n const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);\n let overrides = createSiteOverrides(model) ?? {};\n\n const { id: siteOverrideId } = await createOverride({\n appId,\n siteId: site.id,\n overrides,\n siteOverrideId: appConfig?.devSiteOverrideId,\n });\n\n projectModelWatcher.onChange(async (newModel, changeType) => {\n if (changeType === 'model-updated') {\n const updatedOverrides = createSiteOverrides(newModel) ?? {};\n\n if (!deepEqual(overrides, updatedOverrides)) {\n await createOverride({\n appId,\n siteId: siteRef.current.id,\n overrides: updatedOverrides,\n siteOverrideId,\n });\n\n overrides = updatedOverrides;\n }\n }\n });\n\n if (siteOverrideId !== appConfig?.devSiteOverrideId) {\n await saveAppConfig(model.projectFolder, {\n devSiteOverrideId: siteOverrideId,\n }).catch((error: unknown) => writeDebugLog(error));\n }\n\n isUpdaterInitialized.current = true;\n\n return siteOverrideId;\n },\n [model, writeDebugLog, createOverride, appId, site]\n );\n}\n","export { SiteOverrideClient } from './client.js';\nexport type { ComponentsForSiteOverride } from './client.js';\nexport { useSiteOverrideClient } from './useSiteOverrideClient.js';\n","import type { HttpClient } from '@wix/cli-http-client';\nimport type { Options } from 'p-retry';\nimport pRetry from 'p-retry';\nimport { createOverride } from '@wix/ambassador-cli-site-override-service-v1-site-override/http';\nimport { isHttpError } from '@wix/cli-http-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport type { ComponentOverride } from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport { createOverrideSchema } from './schemas.js';\n\nexport type ComponentsForSiteOverride = Record<string, ComponentOverride>;\n\nexport class SiteOverrideClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n public createOverride = async ({\n appId,\n siteId,\n overrides,\n siteOverrideId,\n }: {\n appId: string;\n siteId: string;\n overrides: ComponentsForSiteOverride;\n siteOverrideId?: string;\n }) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createOverride({\n siteOverride: {\n id: siteOverrideId,\n appId,\n siteId,\n overrides,\n },\n })\n ),\n this.retryOptions\n );\n\n return createOverrideSchema.parse(data).siteOverride;\n } catch (error) {\n if (isHttpError(error) && error.response?.status === 403) {\n if (\n error.response.data?.details?.applicationError?.code ===\n 'PERMISSION_DENIED_FOR_SITE'\n ) {\n throw new CliError({\n code: CliErrorCode.SitePermissionDenied({ siteId }),\n cause: error,\n });\n }\n\n throw new CliError({\n code: CliErrorCode.AppPermissionDenied({ appId }),\n cause: error,\n });\n }\n\n throw new CliError({\n code: CliErrorCode.FailedToCreateSiteOverride(),\n cause: error,\n });\n }\n };\n}\n",null,"import { z } from 'zod';\n\nexport const createOverrideSchema = z.object({\n siteOverride: z.object({\n id: z.string(),\n }),\n});\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { SiteOverrideClient } from './client.js';\n\nexport function useSiteOverrideClient() {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new SiteOverrideClient(httpClient), [httpClient]);\n}\n","import { isType } from 'variant';\nimport { Type } from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport type { ComponentOverride } from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport type { ProjectModel } from '../model.js';\nimport { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\n\nexport function createSiteOverrides(model: ProjectModel) {\n const componentsToOverride = model.components.filter(\n isType(DevCenterComponent.EmbeddedScript)\n );\n\n if (componentsToOverride.length === 0) {\n return null;\n }\n\n return componentsToOverride.reduce<Record<string, ComponentOverride>>(\n (acc, component) => {\n const paramsOverride = component.paramsOverride ?? {};\n\n return {\n ...acc,\n [component.id]: {\n type: Type.EMBEDDED_SCRIPT,\n componentId: component.id,\n embeddedScriptOptions: { parameters: paramsOverride },\n },\n };\n },\n {}\n );\n}\n",null,"import { useContext } from 'react';\nimport { SiteIdContext } from './context.js';\nimport type { SiteIdState } from './context.js';\n\nexport function useSiteId(): SiteIdState {\n const context = useContext(SiteIdContext);\n if (context === null) {\n throw new Error('useSiteId() cannot be used without an <SiteIdProvider>');\n }\n return context;\n}\n","import { createContext } from 'react';\nimport type { Site } from '@wix/site-list-client';\n\nexport interface SiteIdState {\n site: Site;\n setSite: (site: Site) => Promise<void>;\n}\n\nexport const SiteIdContext = createContext<SiteIdState | null>(null);\n","import React, { useContext, createContext } from 'react';\nimport type { FC, ReactNode } from 'react';\n\ninterface SiteOverride {\n siteOverrideId?: string;\n}\n\nconst SiteOverrideContext = createContext<SiteOverride | null>(null);\n\nexport const SiteOverrideProvider: FC<{\n children: ReactNode;\n siteOverrideId?: string;\n}> = ({ children, siteOverrideId }) => {\n return (\n <SiteOverrideContext.Provider value={{ siteOverrideId }}>\n {children}\n </SiteOverrideContext.Provider>\n );\n};\n\nexport const useSiteOverrideId = () => {\n const context = useContext(SiteOverrideContext);\n\n if (context === null) {\n throw new Error(\n 'useSiteOverrideId() cannot be used without an <SiteOverrideProvider>'\n );\n }\n\n return context;\n};\n","import pRetry from 'p-retry';\nimport type { Options } from 'p-retry';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { QuerySitesRequest } from '@wix/ambassador-site-list-v2-site/types';\nimport { querySites } from '@wix/ambassador-site-list-v2-site/http';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { querySitesSchema } from './schemas.js';\n\nexport class SiteListClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n querySites = async (opts: QuerySitesRequest = {}) => {\n try {\n const { data } = await pRetry(\n () => this.httpClient.request(querySites(opts)),\n this.retryOptions\n );\n\n return querySitesSchema.parse(data).sites;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToQuerySites(),\n cause: e,\n info: { ...opts },\n });\n }\n };\n\n getSite = async (id: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n querySites({ query: { filter: { id: { $in: [id] } } } })\n ),\n this.retryOptions\n );\n\n const { sites } = querySitesSchema.parse(data);\n return sites.at(0) ?? null;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSite(),\n cause: e,\n info: { id },\n });\n }\n };\n}\n",null,"import { z } from 'zod';\n\nconst siteSchema = z.object({\n id: z.string(),\n displayName: z.string(),\n viewUrl: z.union([z.string().url(), z.literal('')]).optional(),\n});\n\nexport const querySitesSchema = z.object({\n sites: z.array(siteSchema),\n});\n\nexport type Site = z.TypeOf<typeof siteSchema>;\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { SiteListClient } from './site-list-client.js';\n\nexport function useSiteListClient(): SiteListClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new SiteListClient(httpClient), [httpClient]);\n}\n","export { SiteListClient } from './site-list-client.js';\nexport type { Site } from './schemas.js';\nexport { useSiteListClient } from './useSiteListClient.js';\n","import { variant, fields } from 'variant';\nimport type { VariantOf, TypeNames } from 'variant';\nimport type { Site } from '@wix/site-list-client';\n\nexport const SiteIdState = variant({\n NotConfigured: {},\n NotFound: fields<{ id: string }>(),\n Resolved: fields<{ site: Site }>(),\n});\n\nexport type SiteIdState<T extends TypeNames<typeof SiteIdState> = undefined> =\n VariantOf<typeof SiteIdState, T>;\n","import type { SiteListClient } from '@wix/site-list-client';\nimport type { WriteDebugLogFn } from '@wix/cli-debug-log';\nimport { readAppConfig } from '../files/app.config.js';\nimport { SiteIdState } from './site-id-state.js';\n\nexport async function resolveConfiguredSite({\n projectFolder,\n siteListClient: { getSite },\n siteId,\n writeDebugLog,\n}: {\n projectFolder: string;\n siteListClient: SiteListClient;\n siteId?: string;\n writeDebugLog?: WriteDebugLogFn;\n}) {\n const resolvedSiteId = !siteId\n ? (await readAppConfig(projectFolder, writeDebugLog))?.siteId\n : siteId;\n\n if (!resolvedSiteId) {\n return SiteIdState.NotConfigured();\n }\n\n const site = await getSite(resolvedSiteId);\n\n if (!site) {\n return SiteIdState.NotFound({ id: resolvedSiteId });\n }\n\n return SiteIdState.Resolved({ site });\n}\n","import React, { useCallback } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { matcher, match, isOfVariant, variantList, isType } from 'variant';\nimport { openBrowser } from '@wix/user-browser';\nimport type { Site } from '@wix/site-list-client';\nimport { Alert, Link, Text, Newline } from '@wix/cli-ui-kit';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { URL } from 'node:url';\nimport { useProjectModel } from '../../model.js';\nimport { useSiteId } from '../../site-id/useSiteId.js';\nimport { useArmTag } from '../../context/armTag.js';\nimport type { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\nimport type { DashboardExtension } from './useExtensions.js';\nimport { useSiteOverrideId } from '../../context/siteOverride.js';\nimport { useDevEnvironment } from '../DevCommand/DevEnvironment.js';\n\n/*\nThis function is a workaround to open the new CSM v2 experience to external users before the experiment is open to external users.\n\nIn the *editor and viewer* we are using elgar to redirect the user to the editor with the overrides in his cookie - since there is no support for query params overrides in certain flows.\n*/\nexport const redirectWithCSMv2FTs = (\n url: URL,\n platformType: PlatformType\n): URL => {\n const elgarBaseURL = isType(platformType, PlatformType.Site)\n ? `${url.origin}/_api`\n : 'https://apps.wix.com';\n const elgarRedirectUrl = new URL(`${elgarBaseURL}/elgar-server/redirect`);\n\n const petriOvr = [\n 'specs.UseAppsRuntimeCache',\n 'specs.ApplyQueryParamsOverrides',\n ];\n\n petriOvr.forEach((spec) => {\n elgarRedirectUrl.searchParams.append('experiments', `${spec}#true`);\n });\n elgarRedirectUrl.searchParams.append('redirectToUrl', url.toString());\n elgarRedirectUrl.searchParams.append('staticsVersions', '{}');\n\n return elgarRedirectUrl;\n};\n\nfunction wrapWithRedirectUrl({\n url,\n clientDevServerUrl,\n}: {\n url: string;\n clientDevServerUrl: string;\n}) {\n const redirectUrl = new URL('/redirect', clientDevServerUrl);\n redirectUrl.searchParams.append('url', url);\n\n return redirectUrl.href;\n}\n\nexport function useResolvePlatformUrl() {\n const { model } = useProjectModel();\n const { site } = useSiteId();\n const { armTag } = useArmTag();\n const { siteOverrideId } = useSiteOverrideId();\n\n return useCallback(\n (platformType: PlatformType) => {\n return resolvePlatformUrl(platformType, {\n site,\n appId: model.config.appId,\n tag: armTag,\n siteOverrideId,\n });\n },\n [site, model.config.appId, armTag, siteOverrideId]\n );\n}\n\nexport function useResolvePlatformDevUrl() {\n const resolvePlatformUrl = useResolvePlatformUrl();\n const { https, clientDevServerUrl } = useDevEnvironment();\n\n return useCallback(\n (platformType: PlatformType) => {\n let url = resolvePlatformUrl(platformType);\n\n if (https) {\n url = wrapWithRedirectUrl({ url, clientDevServerUrl });\n }\n\n return url;\n },\n [resolvePlatformUrl, https, clientDevServerUrl]\n );\n}\n\nexport function resolvePlatformUrl(\n platformType: PlatformType,\n options: {\n site: Site;\n appId: string;\n tag: string;\n siteOverrideId?: string;\n }\n) {\n const { site, tag, siteOverrideId } = options;\n\n const url = match(platformType, {\n Dashboard: () => new URL(`dashboard/${site.id}`, 'https://manage.wix.com/'),\n Editor: () => new URL(`https://wix.com/editor/${site.id}`),\n Site: () => {\n const siteUrl = new URL(site.viewUrl!);\n if (siteOverrideId) {\n siteUrl.searchParams.append('site-override', siteOverrideId);\n }\n return siteUrl;\n },\n });\n\n url.searchParams.append('apps-override', tag);\n\n return isOfVariant(\n platformType,\n variantList([PlatformType.Editor, PlatformType.Site])\n )\n ? redirectWithCSMv2FTs(url, platformType).toString()\n : url.toString();\n}\n\nexport function useResolveDashboardExtensionUrl() {\n const { model } = useProjectModel();\n const { site } = useSiteId();\n const { armTag } = useArmTag();\n const { siteOverrideId } = useSiteOverrideId();\n\n return useCallback(\n (extension: DevCenterComponent<DashboardExtension>) => {\n return resolveDashboardExtensionUrl(extension, {\n site,\n appId: model.config.appId,\n tag: armTag,\n siteOverrideId,\n });\n },\n [site, model.config.appId, armTag, siteOverrideId]\n );\n}\n\nexport function useResolveDashboardExtensionDevUrl() {\n const resolveDashboardExtensionUrl = useResolveDashboardExtensionUrl();\n const { https, clientDevServerUrl } = useDevEnvironment();\n\n return useCallback(\n (extension: DevCenterComponent<DashboardExtension>) => {\n let url = resolveDashboardExtensionUrl(extension);\n\n if (https) {\n url = wrapWithRedirectUrl({ url, clientDevServerUrl });\n }\n\n return url;\n },\n [resolveDashboardExtensionUrl, https, clientDevServerUrl]\n );\n}\n\nexport function resolveDashboardExtensionUrl(\n extension: DevCenterComponent<DashboardExtension>,\n options: {\n site: Site;\n appId: string;\n tag: string;\n siteOverrideId?: string;\n }\n) {\n const { appId, site, tag } = options;\n\n const url = matcher(extension)\n .with({\n DashboardPage: () =>\n new URL(\n `dashboard/${site.id}/app/${appId}${extension.route}`,\n 'https://manage.wix.com/'\n ),\n })\n .when(\n ['DashboardMenuPlugin', 'DashboardPlugin', 'DashboardModal'],\n () =>\n new URL(\n `dashboard/${site.id}${extension.route}`,\n 'https://manage.wix.com/'\n )\n )\n .complete();\n\n url.searchParams.append('apps-override', tag);\n\n return url.toString();\n}\n\nexport const useOpenPage = () => {\n const { logger } = useDevEnvironment();\n\n return useCallback(\n async ({ url, title }: { url: string; title: string }) => {\n try {\n await openBrowser(url);\n } catch {\n logger.error(\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 [logger]\n );\n};\n"],"mappings":"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","names":["init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","init_esm_shims","init_esm_shims","_createAppReleaseRequest","_createAppReleaseResponse","_createComponentsRequest","_createComponentsResponse","_promoteAppReleaseToDevCenterRequest","_promoteAppReleaseToDevCenterResponse","_updateAppReleaseRequest","_updateAppReleaseResponse","resolveComWixCtpAppsReleaseManagerServiceUrl","opts","domainToMappings","resolveUrl","createAppRelease","payload","_a","serializer","_createAppReleaseRequest","toReq","fromReq","fromRes","_createAppReleaseResponse","__createAppRelease","host","serializedData","metadata","updateAppRelease","__updateAppRelease","createComponents","_createComponentsRequest","_createComponentsResponse","__createComponents","promoteAppReleaseToDevCenter","payload","_a","serializer","_promoteAppReleaseToDevCenterRequest","toReq","fromReq","fromRes","_promoteAppReleaseToDevCenterResponse","__promoteAppReleaseToDevCenter","host","serializedData","metadata","resolveComWixCtpAppsReleaseManagerServiceUrl","import_variant","init_esm_shims","promoteAppReleaseSchema","z","createAppReleaseSchema","AppPermissionDenied","CliErrorCode","UpdateAppReleaseData","ARMClient","httpClient","minRetryTimeout","getTestOverrides","appId","componentConfigs","projectId","pRetry","createComponents","e","isHttpError","CliError","manifest","data","createAppRelease","createAppReleaseSchema","tag","updateAppRelease","versionType","promoteAppReleaseToDevCenter","promoteAppReleaseSchema","init_esm_shims","import_react","useARMClient","httpClient","useHttpClient","ARMClient","createAppManifestWithBaseUrl","model","clientDevServerUrl","backendServerUrl","manifest","createAppManifest","getComponentSourceBuilder","updateAppManifestWithBaseUrl","useArmUpdater","useProjectModel","writeDebugLog","useDebugLog","createAppRelease","updateAppRelease","useARMClient","devServerUrl","projectModelWatcher","onChange","onError","projectId","appManifest","appConfig","readAppConfig","armTag","tag","updateState","cause","saveAppConfig","error","newModel","changeType","updatedAppManifest","deepEqual","e","init_esm_shims","import_react","createServer","useViteDevServer","createConfig","reportError","useErrorReporter","devServerRef","options","config","devServer","createServer","getViteServerUrl","useClientDevServer","https","model","useProjectModel","projectModelWatcher","baseBackendUrl","customLogger","getViteConfig","useBackendDevServer","getAppSecret","useDevCenterClient","appSecret","init_esm_shims","import_react","ArmTagContext","ArmTagProvider","children","armTag","React","useArmTag","context","init_esm_shims","import_react","init_esm_shims","init_esm_shims","init_esm_shims","_createOverrideRequest","_createOverrideResponse","resolveWixCliV1SiteOverrideServiceUrl","opts","domainToMappings","resolveUrl","createOverride","payload","_a","serializer","_createOverrideRequest","toReq","fromReq","fromRes","_createOverrideResponse","__createOverride","host","serializedData","metadata","resolveWixCliV1SiteOverrideServiceUrl","init_esm_shims","createOverrideSchema","z","SiteOverrideClient","httpClient","minRetryTimeout","getTestOverrides","appId","siteId","overrides","siteOverrideId","data","pRetry","createOverride","createOverrideSchema","error","isHttpError","CliError","CliErrorCode","init_esm_shims","import_react","useSiteOverrideClient","httpClient","useHttpClient","SiteOverrideClient","init_esm_shims","import_variant","init_esm_shims","Type","WebhookIdentityType","createSiteOverrides","model","componentsToOverride","DevCenterComponent","acc","component","paramsOverride","Type","init_esm_shims","import_react","init_esm_shims","import_react","SiteIdContext","useSiteId","context","SiteIdContext","useSiteOverrideUpdater","model","useProjectModel","site","useSiteId","exit","useExit","writeDebugLog","useDebugLog","createOverride","useSiteOverrideClient","appId","siteRef","isUpdaterInitialized","updateSiteOverrides","overrides","createSiteOverrides","siteOverrideId","readAppConfig","CliError","CliErrorCode","projectModelWatcher","appConfig","newModel","changeType","updatedOverrides","deepEqual","saveAppConfig","error","init_esm_shims","import_react","SiteOverrideContext","SiteOverrideProvider","children","siteOverrideId","React","useSiteOverrideId","context","DevEnvironmentContext","DevEnvironmentProvider","https","logger","children","t","useTranslation","reportError","useErrorReporter","backendComponents","backendComponentsByType","useBackendComponents","createClientDevServer","useClientDevServer","createBackendDevServer","useBackendDevServer","startTunnel","useTunnel","createArmUpdater","useArmUpdater","createSiteOverrideUpdater","useSiteOverrideUpdater","projectModelWatcher","useProjectModel","status","useAsync","backendDevServerUrl","devServerUrl","tunnelUrl","url","clientDevServerUrl","clientDevServer","armTag","changeType","error","React","ErrorViewer","siteOverrideId","Alert","Spinner","SiteOverrideProvider","ArmTagProvider","useDevEnvironment","context","init_esm_shims","init_esm_shims","_querySitesRequest","_querySitesResponse","_site","resolveComWixpressSitelistApiSiteListServiceV2Url","opts","domainToMappings","resolveUrl","querySites","payload","_a","serializer","toReq","fromReq","fromRes","__querySites","host","serializedData","metadata","init_esm_shims","siteSchema","z","querySitesSchema","SiteListClient","httpClient","minRetryTimeout","getTestOverrides","opts","data","pRetry","querySites","querySitesSchema","e","CliError","CliErrorCode","id","sites","init_esm_shims","import_react","useSiteListClient","httpClient","useHttpClient","SiteListClient","init_esm_shims","init_esm_shims","import_variant","SiteIdState","init_esm_shims","resolveConfiguredSite","projectFolder","getSite","siteId","writeDebugLog","resolvedSiteId","readAppConfig","SiteIdState","site","init_esm_shims","import_react","import_variant","URL","redirectWithCSMv2FTs","url","platformType","elgarBaseURL","PlatformType","elgarRedirectUrl","URL","spec","wrapWithRedirectUrl","clientDevServerUrl","redirectUrl","useResolvePlatformUrl","model","useProjectModel","site","useSiteId","armTag","useArmTag","siteOverrideId","useSiteOverrideId","resolvePlatformUrl","useResolvePlatformDevUrl","https","useDevEnvironment","options","tag","siteUrl","useResolveDashboardExtensionUrl","extension","resolveDashboardExtensionUrl","useResolveDashboardExtensionDevUrl","appId","useOpenPage","logger","title","openBrowser","React","Alert","Trans","Text","Newline","Link"]}
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{b as $,c as ve,d as we,e as Ce}from"./chunk-YFYESJ2A.js";import{b as de}from"./chunk-5OKXHNO2.js";import{Ra as fe,Ta as ye,U as Se,Ua as G,Va as ge,Wa as _e,r as re,s as se,t as me,u as W,ub as E,x as ue}from"./chunk-L2GYA6RW.js";import{A as N,E as le,H as O,I as q,L as Q,M as ae,O as _,P as K,R as h,S as H,V as v,W as d,Y as ce,b as y,c as x,e as I,f as b,m as k,n as oe,x as ne,z as pe}from"./chunk-GF6CV6CZ.js";import{e as p,h as o}from"./chunk-V4TR6DCM.js";o();var A=p(y(),1),ee=p(x(),1);o();var B=p(y(),1),U=p(x(),1);o();o();var g=p(y(),1),Me=p(x(),1);o();var V=p(y(),1),Ie=p(x(),1);o();var xe=p(y(),1);function Be(t){return{cliAction:({question:r,action:i,key:e,additionalInfo:s})=>{t.report(_e({question:r,action:i,key:e,additionalInfo:JSON.stringify(s)}))},cliFlowStepAnswered:({question:r,answer:i,additionalInfo:e})=>{t.report(ge({question:r,answer:i,additionalInfo:JSON.stringify(e)}))}}}function L(){let t=W();return(0,xe.useMemo)(()=>Be(t),[t])}var be=({onSubmit:t,onError:r,sites:i})=>{let e=L(),{t:s}=d(),{getDevSitesCount:n,getDevSitesLimit:c}=G(),{status:w}=h(()=>Promise.all([n(),c()]),[],{onError:r}),u=S=>{e.cliFlowStepAnswered({question:s("site_type_select.label"),answer:S.title}),t(S.value)};return(0,Ie.match)(w,{Error:()=>null,Loading:()=>V.default.createElement(_,{text:s("general.loading")}),Success:({result:[S,f]})=>{let l=S>=f,C=i.length===0;return V.default.createElement(q,{label:s("site_type_select.label"),options:[{availability:C?O.Disabled({reason:s("site_type_select.no_sites")}):O.Enabled(),title:s("site_type_select.pick_existing_site"),value:"select-existing-site"},{title:s("site_type_select.create_new_dev_site"),value:"create-dev-site",availability:l?O.Disabled({reason:s("site_type_select.create_new_dev_site.disabled",{limit:f})}):O.Enabled()}],onSubmit:u})}})};o();var F=p(y(),1),Ae=p(x(),1);o();var T=p(y(),1);o();o();var Te=p(y(),1);o();o();var he=k.record(k.object({appDefinitionId:k.string().optional(),permissions:k.object({revoked:k.boolean()}).optional()}));var z=class{constructor(r){this.httpClient=r}getClientSpecMap=async r=>{try{let{data:i}=await this.httpClient.request({url:`/_api/msm/v1/meta-site/editor-client-spec-map/${r}`});return he.parse(i)}catch(i){throw new I({code:b.FailedToGetClientSpecMap(),cause:i})}};getSiteInstalledApps=async r=>{try{let i=await this.getClientSpecMap(r);return Object.values(i).filter(e=>e.appDefinitionId&&!e.permissions?.revoked).map(e=>e.appDefinitionId)}catch(i){throw new I({code:b.FailedToGetSiteInstalledApps(),cause:i})}};isAppInstalled=async({metaSiteId:r,appId:i})=>{try{let e=await this.getClientSpecMap(r);return Object.values(e).some(n=>n.appDefinitionId===i&&!n.permissions?.revoked)}catch(e){throw new I({code:b.FailedToCheckIfAppInstalled(),cause:e})}}};function j(){let t=ye({type:"general"});return(0,Te.useMemo)(()=>new z(t),[t])}var M=p(x(),1);o();var D=p(y(),1);var Pe=({siteId:t,appId:r})=>{let{t:i}=d(),e=L();return pe(async(s,n)=>{n.return&&(e.cliAction({question:i("install_app_on_site.warning.instructions"),key:"enter",action:"install_app_on_site"}),await ue(`https://manage.wix.com/installer/install?metaSiteId=${t}&appId=${r}&platform=cli&version=latest`))}),D.default.createElement(D.default.Fragment,null,D.default.createElement(v,{i18nKey:"install_app_on_site.warning"}),D.default.createElement(v,{i18nKey:"install_app_on_site.warning.instructions",components:[D.default.createElement(ae,{value:"Enter"})]}))};var X=(0,M.variant)({Success:{},Canceled:{}});function Ne(t){return t&&typeof t=="object"&&"name"in t&&t.name==="AbortError"}var J=({appId:t,site:r,onSubmit:i,onError:e})=>{let{isAppInstalled:s}=j(),{status:n}=h(async({signal:c})=>{let{appInstallationPollInterval:w}=oe();try{return await se(()=>s({metaSiteId:r.id,appId:t}),{interval:w??2e3,timeout:{milliseconds:60*1e3*2,signal:c}}),X.Success()}catch(u){if(u instanceof re)throw new I({code:b.SiteSelectorTimedout(),cause:u});if(Ne(u))return X.Canceled();throw u}},[],{onError:e,onSuccess:c=>{(0,M.isType)(c,X.Success)&&i()}});return(0,M.match)(n,{Error:()=>null,Loading:()=>T.default.createElement(Pe,{siteId:r.id,appId:t}),Success:()=>T.default.createElement(ne,{marginBottom:1,marginLeft:-2},T.default.createElement(N,null,T.default.createElement(le,null)," ",T.default.createElement(N,{skin:"successEmphasized"}," ",T.default.createElement(v,{i18nKey:"general.success"})," ")," ",T.default.createElement(v,{i18nKey:"install_app_on_site.finished_successfully"})))})};var Fe=({status:t,appId:r,onSubmit:i,onError:e})=>{let{t:s}=d();return(0,Ae.match)(t,{NotRequested:()=>null,Error:()=>null,Loading:()=>F.default.createElement(_,{text:s("create_dev_site.loading")}),Success:({result:n})=>F.default.createElement(F.default.Fragment,null,F.default.createElement(v,{i18nKey:"create_dev_site.success",components:[F.default.createElement(N,{skin:"success",bold:!0})],values:{name:n.displayName}}),F.default.createElement(J,{appId:r,site:n,onSubmit:()=>i(n),onError:e}))})};var ke={"general.loading":"Loading...","general.success":"Success","site_type_select.label":"Select Development Site","site_type_select.create_new_dev_site":"Create a new Development Site","site_type_select.create_new_dev_site.disabled":"You have reached the maximum number of {limit} Development Sites","site_type_select.pick_existing_site":"Pick an existing site","site_type_select.no_sites":"No sites found","create_dev_site.loading":"Creating your new Development Site...","create_dev_site.success":"Development Site <0>{name}</0> created successfully! \u{1F680}","site_list_select.label":"Select Site","install_app_on_site.warning":"Your new application needs to be installed on the selected Development Site","install_app_on_site.warning.instructions":"Press <0/> to install the application in your browser","install_app_on_site.finished_successfully":"App installed on Development Site."};o();var P=p(y(),1);var Le=p(x(),1);o();var Y=p(y(),1);var Ee=({onSubmit:t,sites:r})=>{let{t:i}=d(),e=L(),s=(0,Y.useCallback)(n=>{e.cliFlowStepAnswered({question:i("site_list_select.label"),answer:n.title}),t(n.value)},[e,t,i]);return Y.default.createElement(q,{label:i("site_list_select.label"),options:r.map(n=>({key:n.id,title:n.displayName,description:n.viewUrl,value:n})),onSubmit:s})};var De=({sites:t,appId:r,onSubmit:i,onError:e})=>{let{t:s}=d(),{isAppInstalled:n}=j(),[c,w]=(0,P.useState)(null),u=H((f,l)=>n({metaSiteId:l.id,appId:r}),{onError:e});async function S(f){await u.execute(f)?i(f):w(f)}return P.default.createElement(P.default.Fragment,null,P.default.createElement(Ee,{onSubmit:S,sites:t}),(0,Le.isType)(u.status,"Loading")&&P.default.createElement(_,{text:s("general.loading")}),c&&P.default.createElement(J,{appId:r,site:c,onSubmit:()=>i(c),onError:e}))};var Z=({appId:t,biLogger:r,onSubmit:i,onError:e})=>{let[s,n]=(0,g.useState)(null),{createDevSite:c}=G(),w=$(),{status:u}=h(()=>w.querySites({query:{cursorPaging:{limit:100}}}),[],{onError:e}),S=H(()=>c(),{onError:e});function f(l){n(l),l==="create-dev-site"&&S.execute()}return g.default.createElement(me,{value:r},g.default.createElement(ce,{messages:ke},(0,Me.match)(u,{Error:()=>null,Loading:()=>g.default.createElement(_,{text:g.default.createElement(v,{i18nKey:"general.loading"})}),Success:({result:l})=>g.default.createElement(g.default.Fragment,null,g.default.createElement(be,{onSubmit:f,onError:e,sites:l}),s==="create-dev-site"&&g.default.createElement(Fe,{status:S.status,appId:t,onSubmit:i,onError:e}),s==="select-existing-site"&&g.default.createElement(De,{sites:l,appId:t,onSubmit:i,onError:e}))})))};var R=({state:t,onSubmit:r})=>{let i=K(),{t:e}=d(),{model:s}=E(),n=W();return B.default.createElement(B.default.Fragment,null,(0,U.match)(t,{NotConfigured:(0,U.constant)(B.default.createElement(Q,{type:"insight"},e("general.no_site_id_configured"))),NotFound:({id:c})=>B.default.createElement(Q,{type:"error"},e("general.site_id_not_found",{id:c}))}),B.default.createElement(Z,{appId:s.config.appId,biLogger:n,onSubmit:r,onError:i}))};var je=({children:t,siteId:r})=>{let i=K(),{model:{projectFolder:e}}=E(),s=de(),n=$(),{t:c}=d(),{status:w,merge:u}=h(async()=>Ce({projectFolder:e,siteListClient:n,siteId:r,writeDebugLog:s}),[]),S=(0,A.useCallback)(async l=>{try{await fe(e,{siteId:l.id}),u({result:we.Resolved({site:l})})}catch{throw new I({code:b.FailedToSaveDevelopmentSite({path:Se})})}},[u,e]),f=(0,A.useCallback)(l=>S(l).catch(i),[i,S]);return(0,ee.match)(w,{Error:()=>null,Loading:()=>A.default.createElement(_,{text:c("dev_command.site_provider.loading")}),Success:({result:l})=>(0,ee.match)(l,{NotConfigured:C=>A.default.createElement(R,{state:C,onSubmit:f}),NotFound:C=>A.default.createElement(R,{state:C,onSubmit:f}),Resolved:({site:C})=>A.default.createElement(ve.Provider,{value:{site:C,setSite:S}},typeof t=="function"?t(C):t)})})};o();o();var te=p(y(),1),ie=p(x(),1);function Fi(){let{model:t}=E(),r=(0,te.useCallback)(e=>t.components.some(s=>s.platforms.some((0,ie.isType)(e.type))),[t.components]),i=(0,te.useCallback)(e=>t.components.every(s=>s.platforms.some((0,ie.isType)(e.type))||s.platforms.length===0),[t.components]);return{isPlatformExists:r,hasSinglePlatform:i}}export{j as a,Z as b,je as c,Fi as d};
4
- //# sourceMappingURL=chunk-YIQOAFCK.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/site-id/SiteIdProvider.tsx","../src/site-id/ResolveSiteId.tsx","../../cli-site-selector/src/index.ts","../../cli-site-selector/src/SiteSelector.tsx","../../cli-site-selector/src/SiteTypeSelect.tsx","../../cli-site-selector/src/bi.ts","../../cli-site-selector/src/CreateDevSite.tsx","../../cli-site-selector/src/WaitForAppToBeInstalled.tsx","../../metasite-manager-client/src/index.ts","../../metasite-manager-client/src/useMetasiteManagerClient.ts","../../metasite-manager-client/src/metasite-manager-client.ts","../../metasite-manager-client/src/schemas.ts","../../cli-site-selector/src/OpenBrowser.tsx","../../cli-site-selector/src/messages.json","../../cli-site-selector/src/SelectExistingSite.tsx","../../cli-site-selector/src/SiteListSelect.tsx","../src/site-id/index.ts","../src/components/Platform/usePlatform.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport { match } from 'variant';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { APP_CONFIG_PATH } from '@wix/cli-app-definitions';\nimport { useAsync, useExit, Spinner } from '@wix/cli-ui-kit';\nimport { useSiteListClient } from '@wix/site-list-client';\nimport type { Site } from '@wix/site-list-client';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { saveAppConfig } from '../files/app.config.js';\nimport { useProjectModel } from '../model.js';\nimport { ResolveSiteId } from './ResolveSiteId.js';\nimport { SiteIdContext } from './context.js';\nimport { SiteIdState } from './site-id-state.js';\nimport { resolveConfiguredSite } from './resolve-configured-site.js';\n\nexport const SiteIdProvider: FC<{\n siteId?: string;\n children: ReactNode | ((site: Site) => ReactNode);\n}> = ({ children, siteId }) => {\n const exit = useExit();\n const {\n model: { projectFolder },\n } = useProjectModel();\n const writeDebugLog = useDebugLog();\n const siteListClient = useSiteListClient();\n const { t } = useTranslation();\n\n const { status, merge } = useAsync(\n async () =>\n resolveConfiguredSite({\n projectFolder,\n siteListClient,\n siteId,\n writeDebugLog,\n }),\n []\n );\n\n const setSite = useCallback(\n async (site: Site) => {\n try {\n await saveAppConfig(projectFolder, { siteId: site.id });\n merge({ result: SiteIdState.Resolved({ site }) });\n } catch {\n throw new CliError({\n code: CliErrorCode.FailedToSaveDevelopmentSite({\n path: APP_CONFIG_PATH,\n }),\n });\n }\n },\n [merge, projectFolder]\n );\n\n const handleResolveSiteId = useCallback(\n (site: Site) => setSite(site).catch(exit),\n [exit, setSite]\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('dev_command.site_provider.loading')} />,\n Success: ({ result: state }) => {\n return match(state, {\n NotConfigured: (variant) => (\n <ResolveSiteId state={variant} onSubmit={handleResolveSiteId} />\n ),\n NotFound: (variant) => (\n <ResolveSiteId state={variant} onSubmit={handleResolveSiteId} />\n ),\n Resolved: ({ site }) => (\n <SiteIdContext.Provider\n value={{\n site,\n setSite,\n }}\n >\n {typeof children === 'function' ? children(site) : children}\n </SiteIdContext.Provider>\n ),\n });\n },\n });\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match, constant } from 'variant';\nimport type { Site } from '@wix/site-list-client';\nimport { Alert, useExit } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { SiteSelector } from '@wix/cli-site-selector';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport { useProjectModel } from '../model.js';\nimport type { SiteIdState } from './site-id-state.js';\n\ninterface Props {\n state: SiteIdState<'NotConfigured' | 'NotFound'>;\n onSubmit: (site: Site) => void;\n}\n\nexport const ResolveSiteId: FC<Props> = ({ state, onSubmit }) => {\n const exit = useExit();\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const biLogger = useBiLogger();\n\n return (\n <>\n {match(state, {\n NotConfigured: constant(\n <Alert type=\"insight\">{t('general.no_site_id_configured')}</Alert>\n ),\n NotFound: ({ id }) => (\n <Alert type=\"error\">{t('general.site_id_not_found', { id })}</Alert>\n ),\n })}\n <SiteSelector\n appId={model.config.appId}\n biLogger={biLogger}\n onSubmit={onSubmit}\n onError={exit}\n />\n </>\n );\n};\n","export { SiteSelector } from './SiteSelector.js';\n","import React, { useState } from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { I18nProvider, Trans } from '@wix/cli-i18n';\nimport type { Site } from '@wix/site-list-client';\nimport { Spinner, useAsync, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { useSiteListClient } from '@wix/site-list-client';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport { BiProvider } from '@wix/cli-telemetry-react';\nimport { SiteTypeSelect } from './SiteTypeSelect.js';\nimport type { SiteType } from './SiteTypeSelect.js';\nimport { CreateDevSite } from './CreateDevSite.js';\nimport messages from './messages.json';\nimport { SelectExistingSite } from './SelectExistingSite.js';\n\ninterface Props {\n appId: string;\n biLogger: BiLogger;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SiteSelector: FC<Props> = ({\n appId,\n biLogger,\n onSubmit,\n onError,\n}) => {\n const [siteType, setSiteType] = useState<SiteType | null>(null);\n const { createDevSite } = useDevCenterClient();\n const siteListClient = useSiteListClient();\n\n const { status } = useAsync(\n () =>\n siteListClient.querySites({\n query: {\n cursorPaging: {\n limit: 100,\n },\n },\n }),\n [],\n {\n onError,\n }\n );\n\n const createSite = useAsyncCallback(() => createDevSite(), {\n onError,\n });\n\n function handleSelectSiteType(siteType: SiteType) {\n setSiteType(siteType);\n if (siteType === 'create-dev-site') {\n void createSite.execute();\n }\n }\n\n return (\n <BiProvider value={biLogger}>\n <I18nProvider messages={messages}>\n {match(status, {\n Error: () => null,\n Loading: () => <Spinner text={<Trans i18nKey=\"general.loading\" />} />,\n Success: ({ result: sites }) => (\n <>\n <SiteTypeSelect\n onSubmit={handleSelectSiteType}\n onError={onError}\n sites={sites}\n />\n {siteType === 'create-dev-site' && (\n <CreateDevSite\n status={createSite.status}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n {siteType === 'select-existing-site' && (\n <SelectExistingSite\n sites={sites}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n </>\n ),\n })}\n </I18nProvider>\n </BiProvider>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport {\n Spinner,\n SelectInput,\n useAsync,\n SelectOptionAvailability,\n} from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport type { Site } from '@wix/site-list-client';\nimport { useSiteSelectorBi } from './bi.js';\n\nexport type SiteType = 'create-dev-site' | 'select-existing-site';\ninterface Props {\n onSubmit: (siteType: SiteType) => void;\n onError: (error: unknown) => void;\n sites: Site[];\n}\n\nexport const SiteTypeSelect: FC<Props> = ({ onSubmit, onError, sites }) => {\n const bi = useSiteSelectorBi();\n const { t } = useTranslation();\n const { getDevSitesCount, getDevSitesLimit } = useDevCenterClient();\n const { status } = useAsync(\n () => Promise.all([getDevSitesCount(), getDevSitesLimit()]),\n [],\n { onError }\n );\n\n const handleSubmit = (option: SelectOption<SiteType>) => {\n void bi.cliFlowStepAnswered({\n question: t('site_type_select.label'),\n answer: option.title,\n });\n onSubmit(option.value);\n };\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('general.loading')} />,\n Success: ({ result: [devSitesCount, devSitesLimit] }) => {\n const isDevSitesLimitReached = devSitesCount >= devSitesLimit;\n const userHasNoSites = sites.length === 0;\n\n return (\n <SelectInput<SiteType>\n label={t('site_type_select.label')}\n options={[\n {\n availability: userHasNoSites\n ? SelectOptionAvailability.Disabled({\n reason: t('site_type_select.no_sites'),\n })\n : SelectOptionAvailability.Enabled(),\n title: t('site_type_select.pick_existing_site'),\n value: 'select-existing-site',\n },\n {\n title: t('site_type_select.create_new_dev_site'),\n value: 'create-dev-site',\n availability: isDevSitesLimitReached\n ? SelectOptionAvailability.Disabled({\n reason: t('site_type_select.create_new_dev_site.disabled', {\n limit: devSitesLimit,\n }),\n })\n : SelectOptionAvailability.Enabled(),\n },\n ]}\n onSubmit={handleSubmit}\n />\n );\n },\n });\n};\n","import { useMemo } from 'react';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport {\n wixCliAction,\n wixCliAppFlowStepsAnswers,\n} from '@wix/bi-logger-dev-tools-data/v2';\n\nfunction siteSelectorBiEvents(biLogger: BiLogger) {\n return {\n cliAction: ({\n question,\n action,\n key,\n additionalInfo,\n }: {\n question: string;\n action: string;\n key: string;\n additionalInfo?: Record<string, unknown>;\n }) => {\n void biLogger.report(\n wixCliAction({\n question,\n action,\n key,\n additionalInfo: JSON.stringify(additionalInfo),\n })\n );\n },\n cliFlowStepAnswered: ({\n question,\n answer,\n additionalInfo,\n }: {\n question: string;\n answer: string;\n additionalInfo?: Record<string, unknown>;\n }) => {\n void biLogger.report(\n wixCliAppFlowStepsAnswers({\n question,\n answer,\n additionalInfo: JSON.stringify(additionalInfo),\n })\n );\n },\n };\n}\n\nexport function useSiteSelectorBi() {\n const biLogger = useBiLogger();\n return useMemo(() => siteSelectorBiEvents(biLogger), [biLogger]);\n}\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport type { AsyncCallbackStatus } from '@wix/cli-ui-kit';\nimport { Text, Spinner } from '@wix/cli-ui-kit';\nimport type { Site } from '@wix/site-list-client';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\n\ninterface Props {\n status: AsyncCallbackStatus<Site>;\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const CreateDevSite: FC<Props> = ({\n status,\n appId,\n onSubmit,\n onError,\n}) => {\n const { t } = useTranslation();\n\n return match(status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => <Spinner text={t('create_dev_site.loading')} />,\n Success: ({ result }) => (\n <>\n <Trans\n i18nKey=\"create_dev_site.success\"\n components={[<Text skin=\"success\" bold />]}\n values={{ name: result.displayName }}\n />\n <WaitForAppToBeInstalled\n appId={appId}\n site={result}\n onSubmit={() => onSubmit(result)}\n onError={onError}\n />\n </>\n ),\n });\n};\n","import pWaitFor, { TimeoutError } from 'p-wait-for';\nimport React from 'react';\nimport type { FC } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { Box, SuccessIcon, Text, useAsync } from '@wix/cli-ui-kit';\nimport { useMetasiteManagerClient } from '@wix/metasite-manager-client';\nimport { isType, match, variant } from 'variant';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { Site } from '@wix/site-list-client';\nimport { OpenBrowser } from './OpenBrowser.js';\n\ninterface Props {\n site: Site;\n appId: string;\n onSubmit: () => void;\n onError: (error: unknown) => void;\n}\n\nconst AppInstallData = variant({\n Success: {},\n Canceled: {},\n});\n\nfunction isAbortError(error: unknown) {\n return (\n error &&\n typeof error === 'object' &&\n 'name' in error &&\n error.name === 'AbortError'\n );\n}\n\nexport const WaitForAppToBeInstalled: FC<Props> = ({\n appId,\n site,\n onSubmit,\n onError,\n}) => {\n const { isAppInstalled } = useMetasiteManagerClient();\n\n const { status } = useAsync(\n async ({ signal }) => {\n const { appInstallationPollInterval } = getTestOverrides();\n\n try {\n await pWaitFor(() => isAppInstalled({ metaSiteId: site.id, appId }), {\n interval: appInstallationPollInterval ?? 2000,\n timeout: {\n milliseconds: 60 * 1000 * 2,\n signal,\n },\n });\n\n return AppInstallData.Success();\n } catch (error) {\n if (error instanceof TimeoutError) {\n throw new CliError({\n code: CliErrorCode.SiteSelectorTimedout(),\n cause: error,\n });\n }\n\n if (isAbortError(error)) {\n return AppInstallData.Canceled();\n }\n\n throw error;\n }\n },\n [],\n {\n onError,\n onSuccess: (result) => {\n if (isType(result, AppInstallData.Success)) {\n onSubmit();\n }\n },\n }\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <OpenBrowser siteId={site.id} appId={appId} />,\n Success: () => (\n <Box marginBottom={1} marginLeft={-2}>\n <Text>\n <SuccessIcon />{' '}\n <Text skin=\"successEmphasized\">\n {' '}\n <Trans i18nKey=\"general.success\" />{' '}\n </Text>{' '}\n <Trans i18nKey=\"install_app_on_site.finished_successfully\" />\n </Text>\n </Box>\n ),\n });\n};\n","export { useMetasiteManagerClient } from './useMetasiteManagerClient.js';\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { MetasiteManagerClient } from './metasite-manager-client.js';\n\nexport function useMetasiteManagerClient(): MetasiteManagerClient {\n const httpClient = useHttpClient({ type: 'general' });\n return useMemo(() => new MetasiteManagerClient(httpClient), [httpClient]);\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport { clientSpecMapSchema } from './schemas.js';\n\nexport class MetasiteManagerClient {\n constructor(private readonly httpClient: HttpClient) {}\n\n private getClientSpecMap = async (metaSiteId: string) => {\n try {\n const { data } = await this.httpClient.request({\n url: `/_api/msm/v1/meta-site/editor-client-spec-map/${metaSiteId}`,\n });\n\n return clientSpecMapSchema.parse(data);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetClientSpecMap(),\n cause: e,\n });\n }\n };\n\n public getSiteInstalledApps = async (metaSiteId: string) => {\n try {\n const clientSpecMap = await this.getClientSpecMap(metaSiteId);\n\n return Object.values(clientSpecMap)\n .filter((spec) => spec.appDefinitionId && !spec.permissions?.revoked)\n .map((spec) => spec.appDefinitionId!);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSiteInstalledApps(),\n cause: e,\n });\n }\n };\n\n public isAppInstalled = async ({\n metaSiteId,\n appId,\n }: {\n metaSiteId: string;\n appId: string;\n }) => {\n try {\n const clientSpecMap = await this.getClientSpecMap(metaSiteId);\n\n const isInstalled = Object.values(clientSpecMap).some(\n (spec) => spec.appDefinitionId === appId && !spec.permissions?.revoked\n );\n\n return isInstalled;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCheckIfAppInstalled(),\n cause: e,\n });\n }\n };\n}\n","import { z } from 'zod';\n\nexport const clientSpecMapSchema = z.record(\n z.object({\n appDefinitionId: z.string().optional(),\n permissions: z.object({ revoked: z.boolean() }).optional(),\n })\n);\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Key, useInput } from '@wix/cli-ui-kit';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\nimport { useSiteSelectorBi } from './bi.js';\n\ninterface Props {\n siteId: string;\n appId: string;\n}\n\nexport const OpenBrowser: FC<Props> = ({ siteId, appId }) => {\n const { t } = useTranslation();\n const bi = useSiteSelectorBi();\n\n useInput(async (input, key) => {\n if (key.return) {\n bi.cliAction({\n question: t('install_app_on_site.warning.instructions'),\n key: 'enter',\n action: 'install_app_on_site',\n });\n await openBrowser(\n `https://manage.wix.com/installer/install?metaSiteId=${siteId}&appId=${appId}&platform=cli&version=latest`\n );\n }\n });\n\n return (\n <>\n <Trans i18nKey=\"install_app_on_site.warning\" />\n <Trans\n i18nKey=\"install_app_on_site.warning.instructions\"\n components={[<Key value=\"Enter\" />]}\n />\n </>\n );\n};\n","{\n \"general.loading\": \"Loading...\",\n \"general.success\": \"Success\",\n \"site_type_select.label\": \"Select Development Site\",\n \"site_type_select.create_new_dev_site\": \"Create a new Development Site\",\n \"site_type_select.create_new_dev_site.disabled\": \"You have reached the maximum number of {limit} Development Sites\",\n \"site_type_select.pick_existing_site\": \"Pick an existing site\",\n \"site_type_select.no_sites\": \"No sites found\",\n \"create_dev_site.loading\": \"Creating your new Development Site...\",\n \"create_dev_site.success\": \"Development Site <0>{name}</0> created successfully! 🚀\",\n \"site_list_select.label\": \"Select Site\",\n \"install_app_on_site.warning\": \"Your new application needs to be installed on the selected Development Site\",\n \"install_app_on_site.warning.instructions\": \"Press <0/> to install the application in your browser\",\n \"install_app_on_site.finished_successfully\": \"App installed on Development Site.\"\n}\n","import React, { useState } from 'react';\nimport { Spinner, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useMetasiteManagerClient } from '@wix/metasite-manager-client';\nimport type { Site } from '@wix/site-list-client';\nimport { isType } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\nimport { SiteListSelect } from './SiteListSelect.js';\n\ninterface Props {\n sites: Site[];\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SelectExistingSite = ({\n sites,\n appId,\n onSubmit,\n onError,\n}: Props) => {\n const { t } = useTranslation();\n const { isAppInstalled } = useMetasiteManagerClient();\n const [siteToInstallAppOn, setSiteToInstallAppOn] = useState<Site | null>(\n null\n );\n const checkAppInstalled = useAsyncCallback(\n (_, site: Site) => isAppInstalled({ metaSiteId: site.id, appId }),\n {\n onError,\n }\n );\n\n async function handleSelectSite(site: Site) {\n const isInstalled = await checkAppInstalled.execute(site);\n if (isInstalled) {\n onSubmit(site);\n } else {\n setSiteToInstallAppOn(site);\n }\n }\n\n return (\n <>\n <SiteListSelect onSubmit={handleSelectSite} sites={sites} />\n {isType(checkAppInstalled.status, 'Loading') && (\n <Spinner text={t('general.loading')} />\n )}\n {siteToInstallAppOn && (\n <WaitForAppToBeInstalled\n appId={appId}\n site={siteToInstallAppOn}\n onSubmit={() => onSubmit(siteToInstallAppOn)}\n onError={onError}\n />\n )}\n </>\n );\n};\n","import React, { useCallback } from 'react';\nimport type { FC } from 'react';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport { SelectInput } from '@wix/cli-ui-kit';\nimport type { Site } from '@wix/site-list-client';\nimport { useSiteSelectorBi } from './bi.js';\n\ninterface Props {\n onSubmit: (site: Site) => void;\n sites: Site[];\n}\n\nexport const SiteListSelect: FC<Props> = ({ onSubmit, sites }) => {\n const { t } = useTranslation();\n const bi = useSiteSelectorBi();\n\n const handleSubmit = useCallback(\n (option: SelectOption<Site>) => {\n bi.cliFlowStepAnswered({\n question: t('site_list_select.label'),\n answer: option.title,\n });\n onSubmit(option.value);\n },\n [bi, onSubmit, t]\n );\n\n return (\n <SelectInput<Site>\n label={t('site_list_select.label')}\n options={sites.map((site) => ({\n key: site.id,\n title: site.displayName,\n description: site.viewUrl,\n value: site,\n }))}\n onSubmit={handleSubmit}\n />\n );\n};\n","export { SiteIdProvider } from './SiteIdProvider.js';\nexport { useSiteId } from './useSiteId.js';\n","import { useCallback } from 'react';\nimport { isType } from 'variant';\nimport type { PlatformType } from '@wix/cli-app-definitions';\nimport { useProjectModel } from '../../model.js';\n\nexport function usePlatform() {\n const { model } = useProjectModel();\n\n const isPlatformExists = useCallback(\n (platformType: PlatformType) =>\n model.components.some((component) =>\n component.platforms.some(isType(platformType.type))\n ),\n [model.components]\n );\n\n const hasSinglePlatform = useCallback(\n (platformType: PlatformType) =>\n model.components.every(\n (component) =>\n component.platforms.some(isType(platformType.type)) ||\n component.platforms.length === 0\n ),\n [model.components]\n );\n\n return {\n isPlatformExists,\n hasSinglePlatform,\n };\n}\n"],"mappings":";;sdAAAA,IAAA,IAAAC,EAAmC,SAEnCC,GAAsB,SCFtBC,IAAA,IAAAC,EAAkB,SAElBC,EAAgC,SCFhCC,ICAAC,IAAA,IAAAC,EAAgC,SAEhCC,GAAsB,SCFtBC,IAAA,IAAAC,EAAkB,SAElBC,GAAsB,SCFtBC,IAAA,IAAAC,GAAwB,SAQxB,SAASC,GAAqBC,EAAoB,CAChD,MAAO,CACL,UAAW,CAAC,CACV,SAAAC,EACA,OAAAC,EACA,IAAAC,EACA,eAAAC,CACF,IAKM,CACCJ,EAAS,OACZK,GAAa,CACX,SAAAJ,EACA,OAAAC,EACA,IAAAC,EACA,eAAgB,KAAK,UAAUC,CAAc,CAC/C,CAAC,CACH,CACF,EACA,oBAAqB,CAAC,CACpB,SAAAH,EACA,OAAAK,EACA,eAAAF,CACF,IAIM,CACCJ,EAAS,OACZO,GAA0B,CACxB,SAAAN,EACA,OAAAK,EACA,eAAgB,KAAK,UAAUF,CAAc,CAC/C,CAAC,CACH,CACF,CACF,CACF,CAEO,SAASI,GAAoB,CAClC,IAAMR,EAAWS,EAAY,EAC7B,SAAO,YAAQ,IAAMV,GAAqBC,CAAQ,EAAG,CAACA,CAAQ,CAAC,CACjE,CD/BO,IAAMU,GAA4B,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAS,MAAAC,CAAM,IAAM,CACzE,IAAMC,EAAKC,EAAkB,EACvB,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvB,CAAE,iBAAAC,EAAkB,iBAAAC,CAAiB,EAAIC,EAAmB,EAC5D,CAAE,OAAAC,CAAO,EAAIC,EACjB,IAAM,QAAQ,IAAI,CAACJ,EAAiB,EAAGC,EAAiB,CAAC,CAAC,EAC1D,CAAC,EACD,CAAE,QAAAP,CAAQ,CACZ,EAEMW,EAAgBC,GAAmC,CAClDV,EAAG,oBAAoB,CAC1B,SAAUE,EAAE,wBAAwB,EACpC,OAAQQ,EAAO,KACjB,CAAC,EACDb,EAASa,EAAO,KAAK,CACvB,EAEA,SAAO,UAAMH,EAAQ,CACnB,MAAO,IAAM,KACb,QAAS,IAAM,EAAAI,QAAA,cAACC,EAAA,CAAQ,KAAMV,EAAE,iBAAiB,EAAG,EACpD,QAAS,CAAC,CAAE,OAAQ,CAACW,EAAeC,CAAa,CAAE,IAAM,CACvD,IAAMC,EAAyBF,GAAiBC,EAC1CE,EAAiBjB,EAAM,SAAW,EAExC,OACE,EAAAY,QAAA,cAACM,EAAA,CACC,MAAOf,EAAE,wBAAwB,EACjC,QAAS,CACP,CACE,aAAcc,EACVE,EAAyB,SAAS,CAChC,OAAQhB,EAAE,2BAA2B,CACvC,CAAC,EACDgB,EAAyB,QAAQ,EACrC,MAAOhB,EAAE,qCAAqC,EAC9C,MAAO,sBACT,EACA,CACE,MAAOA,EAAE,sCAAsC,EAC/C,MAAO,kBACP,aAAca,EACVG,EAAyB,SAAS,CAChC,OAAQhB,EAAE,gDAAiD,CACzD,MAAOY,CACT,CAAC,CACH,CAAC,EACDI,EAAyB,QAAQ,CACvC,CACF,EACA,SAAUT,EACZ,CAEJ,CACF,CAAC,CACH,EE7EAU,IAAA,IAAAC,EAAkB,SAElBC,GAAsB,SCFtBC,IACA,IAAAC,EAAkB,SCDlBC,ICAAC,IAAA,IAAAC,GAAwB,SCAxBC,ICAAC,IAEO,IAAMC,GAAsBC,EAAE,OACnCA,EAAE,OAAO,CACP,gBAAiBA,EAAE,OAAO,EAAE,SAAS,EACrC,YAAaA,EAAE,OAAO,CAAE,QAASA,EAAE,QAAQ,CAAE,CAAC,EAAE,SAAS,CAC3D,CAAC,CACH,EDHO,IAAMC,EAAN,KAA4B,CACjC,YAA6BC,EAAwB,CAAxB,gBAAAA,CAAyB,CAE9C,iBAAmB,MAAOC,GAAuB,CACvD,GAAI,CACF,GAAM,CAAE,KAAAC,CAAK,EAAI,MAAM,KAAK,WAAW,QAAQ,CAC7C,IAAK,iDAAiDD,CAAU,EAClE,CAAC,EAED,OAAOE,GAAoB,MAAMD,CAAI,CACvC,OAASE,EAAG,CACV,MAAM,IAAIC,EAAS,CACjB,KAAMC,EAAa,yBAAyB,EAC5C,MAAOF,CACT,CAAC,CACH,CACF,EAEO,qBAAuB,MAAOH,GAAuB,CAC1D,GAAI,CACF,IAAMM,EAAgB,MAAM,KAAK,iBAAiBN,CAAU,EAE5D,OAAO,OAAO,OAAOM,CAAa,EAC/B,OAAQC,GAASA,EAAK,iBAAmB,CAACA,EAAK,aAAa,OAAO,EACnE,IAAKA,GAASA,EAAK,eAAgB,CACxC,OAASJ,EAAG,CACV,MAAM,IAAIC,EAAS,CACjB,KAAMC,EAAa,6BAA6B,EAChD,MAAOF,CACT,CAAC,CACH,CACF,EAEO,eAAiB,MAAO,CAC7B,WAAAH,EACA,MAAAQ,CACF,IAGM,CACJ,GAAI,CACF,IAAMF,EAAgB,MAAM,KAAK,iBAAiBN,CAAU,EAM5D,OAJoB,OAAO,OAAOM,CAAa,EAAE,KAC9CC,GAASA,EAAK,kBAAoBC,GAAS,CAACD,EAAK,aAAa,OACjE,CAGF,OAAS,EAAG,CACV,MAAM,IAAIH,EAAS,CACjB,KAAMC,EAAa,4BAA4B,EAC/C,MAAO,CACT,CAAC,CACH,CACF,CACF,EDvDO,SAASI,GAAkD,CAChE,IAAMC,EAAaC,GAAc,CAAE,KAAM,SAAU,CAAC,EACpD,SAAO,YAAQ,IAAM,IAAIC,EAAsBF,CAAU,EAAG,CAACA,CAAU,CAAC,CAC1E,CFDA,IAAAG,EAAuC,SKNvCC,IAAA,IAAAC,EAAkB,SAYX,IAAMC,GAAyB,CAAC,CAAE,OAAAC,EAAQ,MAAAC,CAAM,IAAM,CAC3D,GAAM,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvBC,EAAKC,EAAkB,EAE7B,OAAAC,GAAS,MAAOC,EAAOC,IAAQ,CACzBA,EAAI,SACNJ,EAAG,UAAU,CACX,SAAUF,EAAE,0CAA0C,EACtD,IAAK,QACL,OAAQ,qBACV,CAAC,EACD,MAAMO,GACJ,uDAAuDT,CAAM,UAAUC,CAAK,8BAC9E,EAEJ,CAAC,EAGC,EAAAS,QAAA,gBAAAA,QAAA,cACE,EAAAA,QAAA,cAACC,EAAA,CAAM,QAAQ,8BAA8B,EAC7C,EAAAD,QAAA,cAACC,EAAA,CACC,QAAQ,2CACR,WAAY,CAAC,EAAAD,QAAA,cAACE,GAAA,CAAI,MAAM,QAAQ,CAAE,EACpC,CACF,CAEJ,ELnBA,IAAMC,KAAiB,WAAQ,CAC7B,QAAS,CAAC,EACV,SAAU,CAAC,CACb,CAAC,EAED,SAASC,GAAaC,EAAgB,CACpC,OACEA,GACA,OAAOA,GAAU,UACjB,SAAUA,GACVA,EAAM,OAAS,YAEnB,CAEO,IAAMC,EAAqC,CAAC,CACjD,MAAAC,EACA,KAAAC,EACA,SAAAC,EACA,QAAAC,CACF,IAAM,CACJ,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAyB,EAE9C,CAAE,OAAAC,CAAO,EAAIC,EACjB,MAAO,CAAE,OAAAC,CAAO,IAAM,CACpB,GAAM,CAAE,4BAAAC,CAA4B,EAAIC,GAAiB,EAEzD,GAAI,CACF,aAAMC,GAAS,IAAMP,EAAe,CAAE,WAAYH,EAAK,GAAI,MAAAD,CAAM,CAAC,EAAG,CACnE,SAAUS,GAA+B,IACzC,QAAS,CACP,aAAc,GAAK,IAAO,EAC1B,OAAAD,CACF,CACF,CAAC,EAEMZ,EAAe,QAAQ,CAChC,OAASE,EAAO,CACd,GAAIA,aAAiBc,GACnB,MAAM,IAAIC,EAAS,CACjB,KAAMC,EAAa,qBAAqB,EACxC,MAAOhB,CACT,CAAC,EAGH,GAAID,GAAaC,CAAK,EACpB,OAAOF,EAAe,SAAS,EAGjC,MAAME,CACR,CACF,EACA,CAAC,EACD,CACE,QAAAK,EACA,UAAYY,GAAW,IACjB,UAAOA,EAAQnB,EAAe,OAAO,GACvCM,EAAS,CAEb,CACF,CACF,EAEA,SAAO,SAAMI,EAAQ,CACnB,MAAO,IAAM,KACb,QAAS,IAAM,EAAAU,QAAA,cAACC,GAAA,CAAY,OAAQhB,EAAK,GAAI,MAAOD,EAAO,EAC3D,QAAS,IACP,EAAAgB,QAAA,cAACE,GAAA,CAAI,aAAc,EAAG,WAAY,IAChC,EAAAF,QAAA,cAACG,EAAA,KACC,EAAAH,QAAA,cAACI,GAAA,IAAY,EAAG,IAChB,EAAAJ,QAAA,cAACG,EAAA,CAAK,KAAK,qBACR,IACD,EAAAH,QAAA,cAACK,EAAA,CAAM,QAAQ,kBAAkB,EAAG,GACtC,EAAQ,IACR,EAAAL,QAAA,cAACK,EAAA,CAAM,QAAQ,4CAA4C,CAC7D,CACF,CAEJ,CAAC,CACH,EDjFO,IAAMC,GAA2B,CAAC,CACvC,OAAAC,EACA,MAAAC,EACA,SAAAC,EACA,QAAAC,CACF,IAAM,CACJ,GAAM,CAAE,EAAAC,CAAE,EAAIC,EAAe,EAE7B,SAAO,UAAML,EAAQ,CACnB,aAAc,IAAM,KACpB,MAAO,IAAM,KACb,QAAS,IAAM,EAAAM,QAAA,cAACC,EAAA,CAAQ,KAAMH,EAAE,yBAAyB,EAAG,EAC5D,QAAS,CAAC,CAAE,OAAAI,CAAO,IACjB,EAAAF,QAAA,gBAAAA,QAAA,cACE,EAAAA,QAAA,cAACG,EAAA,CACC,QAAQ,0BACR,WAAY,CAAC,EAAAH,QAAA,cAACI,EAAA,CAAK,KAAK,UAAU,KAAI,GAAC,CAAE,EACzC,OAAQ,CAAE,KAAMF,EAAO,WAAY,EACrC,EACA,EAAAF,QAAA,cAACK,EAAA,CACC,MAAOV,EACP,KAAMO,EACN,SAAU,IAAMN,EAASM,CAAM,EAC/B,QAASL,EACX,CACF,CAEJ,CAAC,CACH,EO5CA,IAAAS,GAAA,CACE,kBAAmB,aACnB,kBAAmB,UACnB,yBAA0B,0BAC1B,uCAAwC,gCACxC,gDAAiD,mEACjD,sCAAuC,wBACvC,4BAA6B,iBAC7B,0BAA2B,wCAC3B,0BAA2B,iEAC3B,yBAA0B,cAC1B,8BAA+B,8EAC/B,2CAA4C,wDAC5C,4CAA6C,oCAC/C,ECdAC,IAAA,IAAAC,EAAgC,SAIhC,IAAAC,GAAuB,SCJvBC,IAAA,IAAAC,EAAmC,SAa5B,IAAMC,GAA4B,CAAC,CAAE,SAAAC,EAAU,MAAAC,CAAM,IAAM,CAChE,GAAM,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvBC,EAAKC,EAAkB,EAEvBC,KAAe,eAClBC,GAA+B,CAC9BH,EAAG,oBAAoB,CACrB,SAAUF,EAAE,wBAAwB,EACpC,OAAQK,EAAO,KACjB,CAAC,EACDP,EAASO,EAAO,KAAK,CACvB,EACA,CAACH,EAAIJ,EAAUE,CAAC,CAClB,EAEA,OACE,EAAAM,QAAA,cAACC,EAAA,CACC,MAAOP,EAAE,wBAAwB,EACjC,QAASD,EAAM,IAAKS,IAAU,CAC5B,IAAKA,EAAK,GACV,MAAOA,EAAK,YACZ,YAAaA,EAAK,QAClB,MAAOA,CACT,EAAE,EACF,SAAUJ,EACZ,CAEJ,EDxBO,IAAMK,GAAqB,CAAC,CACjC,MAAAC,EACA,MAAAC,EACA,SAAAC,EACA,QAAAC,CACF,IAAa,CACX,GAAM,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvB,CAAE,eAAAC,CAAe,EAAIC,EAAyB,EAC9C,CAACC,EAAoBC,CAAqB,KAAI,YAClD,IACF,EACMC,EAAoBC,EACxB,CAACC,EAAGC,IAAeP,EAAe,CAAE,WAAYO,EAAK,GAAI,MAAAZ,CAAM,CAAC,EAChE,CACE,QAAAE,CACF,CACF,EAEA,eAAeW,EAAiBD,EAAY,CACtB,MAAMH,EAAkB,QAAQG,CAAI,EAEtDX,EAASW,CAAI,EAEbJ,EAAsBI,CAAI,CAE9B,CAEA,OACE,EAAAE,QAAA,gBAAAA,QAAA,cACE,EAAAA,QAAA,cAACC,GAAA,CAAe,SAAUF,EAAkB,MAAOd,EAAO,KACzD,WAAOU,EAAkB,OAAQ,SAAS,GACzC,EAAAK,QAAA,cAACE,EAAA,CAAQ,KAAMb,EAAE,iBAAiB,EAAG,EAEtCI,GACC,EAAAO,QAAA,cAACG,EAAA,CACC,MAAOjB,EACP,KAAMO,EACN,SAAU,IAAMN,EAASM,CAAkB,EAC3C,QAASL,EACX,CAEJ,CAEJ,EXpCO,IAAMgB,EAA0B,CAAC,CACtC,MAAAC,EACA,SAAAC,EACA,SAAAC,EACA,QAAAC,CACF,IAAM,CACJ,GAAM,CAACC,EAAUC,CAAW,KAAI,YAA0B,IAAI,EACxD,CAAE,cAAAC,CAAc,EAAIC,EAAmB,EACvCC,EAAiBC,EAAkB,EAEnC,CAAE,OAAAC,CAAO,EAAIC,EACjB,IACEH,EAAe,WAAW,CACxB,MAAO,CACL,aAAc,CACZ,MAAO,GACT,CACF,CACF,CAAC,EACH,CAAC,EACD,CACE,QAAAL,CACF,CACF,EAEMS,EAAaC,EAAiB,IAAMP,EAAc,EAAG,CACzD,QAAAH,CACF,CAAC,EAED,SAASW,EAAqBV,EAAoB,CAChDC,EAAYD,CAAQ,EAChBA,IAAa,mBACVQ,EAAW,QAAQ,CAE5B,CAEA,OACE,EAAAG,QAAA,cAACC,GAAA,CAAW,MAAOf,GACjB,EAAAc,QAAA,cAACE,GAAA,CAAa,SAAUC,OACrB,UAAMR,EAAQ,CACb,MAAO,IAAM,KACb,QAAS,IAAM,EAAAK,QAAA,cAACI,EAAA,CAAQ,KAAM,EAAAJ,QAAA,cAACK,EAAA,CAAM,QAAQ,kBAAkB,EAAI,EACnE,QAAS,CAAC,CAAE,OAAQC,CAAM,IACxB,EAAAN,QAAA,gBAAAA,QAAA,cACE,EAAAA,QAAA,cAACO,GAAA,CACC,SAAUR,EACV,QAASX,EACT,MAAOkB,EACT,EACCjB,IAAa,mBACZ,EAAAW,QAAA,cAACQ,GAAA,CACC,OAAQX,EAAW,OACnB,MAAOZ,EACP,SAAUE,EACV,QAASC,EACX,EAEDC,IAAa,wBACZ,EAAAW,QAAA,cAACS,GAAA,CACC,MAAOH,EACP,MAAOrB,EACP,SAAUE,EACV,QAASC,EACX,CAEJ,CAEJ,CAAC,CACH,CACF,CAEJ,EF9EO,IAAMsB,EAA2B,CAAC,CAAE,MAAAC,EAAO,SAAAC,CAAS,IAAM,CAC/D,IAAMC,EAAOC,EAAQ,EACf,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvB,CAAE,MAAAC,CAAM,EAAIC,EAAgB,EAC5BC,EAAWC,EAAY,EAE7B,OACE,EAAAC,QAAA,gBAAAA,QAAA,iBACG,SAAMV,EAAO,CACZ,iBAAe,YACb,EAAAU,QAAA,cAACC,EAAA,CAAM,KAAK,WAAWP,EAAE,+BAA+B,CAAE,CAC5D,EACA,SAAU,CAAC,CAAE,GAAAQ,CAAG,IACd,EAAAF,QAAA,cAACC,EAAA,CAAM,KAAK,SAASP,EAAE,4BAA6B,CAAE,GAAAQ,CAAG,CAAC,CAAE,CAEhE,CAAC,EACD,EAAAF,QAAA,cAACG,EAAA,CACC,MAAOP,EAAM,OAAO,MACpB,SAAUE,EACV,SAAUP,EACV,QAASC,EACX,CACF,CAEJ,EDvBO,IAAMY,GAGR,CAAC,CAAE,SAAAC,EAAU,OAAAC,CAAO,IAAM,CAC7B,IAAMC,EAAOC,EAAQ,EACf,CACJ,MAAO,CAAE,cAAAC,CAAc,CACzB,EAAIC,EAAgB,EACdC,EAAgBC,GAAY,EAC5BC,EAAiBC,EAAkB,EACnC,CAAE,EAAAC,CAAE,EAAIC,EAAe,EAEvB,CAAE,OAAAC,EAAQ,MAAAC,CAAM,EAAIC,EACxB,SACEC,GAAsB,CACpB,cAAAX,EACA,eAAAI,EACA,OAAAP,EACA,cAAAK,CACF,CAAC,EACH,CAAC,CACH,EAEMU,KAAU,eACd,MAAOC,GAAe,CACpB,GAAI,CACF,MAAMC,GAAcd,EAAe,CAAE,OAAQa,EAAK,EAAG,CAAC,EACtDJ,EAAM,CAAE,OAAQM,GAAY,SAAS,CAAE,KAAAF,CAAK,CAAC,CAAE,CAAC,CAClD,MAAQ,CACN,MAAM,IAAIG,EAAS,CACjB,KAAMC,EAAa,4BAA4B,CAC7C,KAAMC,EACR,CAAC,CACH,CAAC,CACH,CACF,EACA,CAACT,EAAOT,CAAa,CACvB,EAEMmB,KAAsB,eACzBN,GAAeD,EAAQC,CAAI,EAAE,MAAMf,CAAI,EACxC,CAACA,EAAMc,CAAO,CAChB,EAEA,SAAO,UAAMJ,EAAQ,CACnB,MAAO,IAAM,KACb,QAAS,IAAM,EAAAY,QAAA,cAACC,EAAA,CAAQ,KAAMf,EAAE,mCAAmC,EAAG,EACtE,QAAS,CAAC,CAAE,OAAQgB,CAAM,OACjB,UAAMA,EAAO,CAClB,cAAgBC,GACd,EAAAH,QAAA,cAACI,EAAA,CAAc,MAAOD,EAAS,SAAUJ,EAAqB,EAEhE,SAAWI,GACT,EAAAH,QAAA,cAACI,EAAA,CAAc,MAAOD,EAAS,SAAUJ,EAAqB,EAEhE,SAAU,CAAC,CAAE,KAAAN,CAAK,IAChB,EAAAO,QAAA,cAACK,GAAc,SAAd,CACC,MAAO,CACL,KAAAZ,EACA,QAAAD,CACF,GAEC,OAAOhB,GAAa,WAAaA,EAASiB,CAAI,EAAIjB,CACrD,CAEJ,CAAC,CAEL,CAAC,CACH,EgBrFA8B,ICAAC,IAAA,IAAAC,GAA4B,SAC5BC,GAAuB,SAIhB,SAASC,IAAc,CAC5B,GAAM,CAAE,MAAAC,CAAM,EAAIC,EAAgB,EAE5BC,KAAmB,gBACtBC,GACCH,EAAM,WAAW,KAAMI,GACrBA,EAAU,UAAU,QAAK,WAAOD,EAAa,IAAI,CAAC,CACpD,EACF,CAACH,EAAM,UAAU,CACnB,EAEMK,KAAoB,gBACvBF,GACCH,EAAM,WAAW,MACdI,GACCA,EAAU,UAAU,QAAK,WAAOD,EAAa,IAAI,CAAC,GAClDC,EAAU,UAAU,SAAW,CACnC,EACF,CAACJ,EAAM,UAAU,CACnB,EAEA,MAAO,CACL,iBAAAE,EACA,kBAAAG,CACF,CACF","names":["init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","siteSelectorBiEvents","biLogger","question","action","key","additionalInfo","wixCliAction","answer","wixCliAppFlowStepsAnswers","useSiteSelectorBi","useBiLogger","SiteTypeSelect","onSubmit","onError","sites","bi","useSiteSelectorBi","t","useTranslation","getDevSitesCount","getDevSitesLimit","useDevCenterClient","status","useAsync","handleSubmit","option","React","Spinner","devSitesCount","devSitesLimit","isDevSitesLimitReached","userHasNoSites","SelectInput","SelectOptionAvailability","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","init_esm_shims","init_esm_shims","import_react","init_esm_shims","init_esm_shims","clientSpecMapSchema","z","MetasiteManagerClient","httpClient","metaSiteId","data","clientSpecMapSchema","e","CliError","CliErrorCode","clientSpecMap","spec","appId","useMetasiteManagerClient","httpClient","useHttpClient","MetasiteManagerClient","import_variant","init_esm_shims","import_react","OpenBrowser","siteId","appId","t","useTranslation","bi","useSiteSelectorBi","use_input_default","input","key","openBrowser","React","Trans","Key","AppInstallData","isAbortError","error","WaitForAppToBeInstalled","appId","site","onSubmit","onError","isAppInstalled","useMetasiteManagerClient","status","useAsync","signal","appInstallationPollInterval","getTestOverrides","pWaitFor","TimeoutError","CliError","CliErrorCode","result","React","OpenBrowser","Box_default","Text","SuccessIcon","Trans","CreateDevSite","status","appId","onSubmit","onError","t","useTranslation","React","Spinner","result","Trans","Text","WaitForAppToBeInstalled","messages_default","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","SiteListSelect","onSubmit","sites","t","useTranslation","bi","useSiteSelectorBi","handleSubmit","option","React","SelectInput","site","SelectExistingSite","sites","appId","onSubmit","onError","t","useTranslation","isAppInstalled","useMetasiteManagerClient","siteToInstallAppOn","setSiteToInstallAppOn","checkAppInstalled","useAsyncCallback","_","site","handleSelectSite","React","SiteListSelect","Spinner","WaitForAppToBeInstalled","SiteSelector","appId","biLogger","onSubmit","onError","siteType","setSiteType","createDevSite","useDevCenterClient","siteListClient","useSiteListClient","status","useAsync","createSite","useAsyncCallback","handleSelectSiteType","React","BiProvider","I18nProvider","messages_default","Spinner","Trans","sites","SiteTypeSelect","CreateDevSite","SelectExistingSite","ResolveSiteId","state","onSubmit","exit","useExit","t","useTranslation","model","useProjectModel","biLogger","useBiLogger","React","Alert","id","SiteSelector","SiteIdProvider","children","siteId","exit","useExit","projectFolder","useProjectModel","writeDebugLog","useDebugLog","siteListClient","useSiteListClient","t","useTranslation","status","merge","useAsync","resolveConfiguredSite","setSite","site","saveAppConfig","SiteIdState","CliError","CliErrorCode","APP_CONFIG_PATH","handleResolveSiteId","React","Spinner","state","variant","ResolveSiteId","SiteIdContext","init_esm_shims","init_esm_shims","import_react","import_variant","usePlatform","model","useProjectModel","isPlatformExists","platformType","component","hasSinglePlatform"]}
@@ -1,2 +0,0 @@
1
- import{a as N,c as B,f as b}from"./chunk-SBZEOPXX.js";var G={};B(G,{EventDefinition:()=>E,SERVICE_PLUGIN_ERROR_TYPE:()=>C,ServicePluginDefinition:()=>z});function E(e,i=!1,r=s=>s){return()=>({__type:"event-definition",type:e,isDomainEvent:i,transformations:r})}function z(e,i){return{__type:"service-plugin-definition",componentType:e,methods:i}}var C,W=N(()=>{"use strict";C="wix_spi_error"});W();import{wixContext as J}from"@wix/sdk-context";var F=e=>{switch(e){case"get":case"GET":return"GET";case"post":case"POST":return"POST";case"put":case"PUT":return"PUT";case"delete":case"DELETE":return"DELETE";case"patch":case"PATCH":return"PATCH";case"head":case"HEAD":return"HEAD";case"options":case"OPTIONS":return"OPTIONS";default:throw new Error(`Unknown method: ${e}`)}},M=e=>i=>async r=>{let s,o=t=>{if(s=e(r)(t),s.url===void 0)throw new Error("Url was not successfully created for this request, please reach out to support channels for assistance.");let{method:a,url:l,params:c}=s;return{...s,method:F(a),url:l,data:s.data,params:c}};try{let t=await i.request(o);if(s===void 0)throw new Error("Request options were not created for this request, please reach out to support channels for assistance.");let a=Array.isArray(s.transformResponse)?s.transformResponse:[s.transformResponse],l=t.data;return a.forEach(c=>{c&&(l=c(t.data,t.headers))}),l}catch(t){throw typeof t=="object"&&t!==null&&"response"in t&&typeof t.response=="object"&&t.response!==null&&"data"in t.response?t.response.data:t}},A=e=>e.__isAmbassador?!0:!!e().__isAmbassador;var H="__metadata",w="www.wixapis.com";var v=class extends Error{constructor(r,s){super(r);b(this,"message");b(this,"response");this.message=r,this.response=s}async details(){let r=await this.response.json();return K(this.response.status,r?.message,r?.details,{requestId:this.response.headers.get("X-Wix-Request-Id"),details:r})}},K=(e,i,r,s)=>({details:{...!r?.validationError&&{applicationError:{description:i,code:e,data:s}},...r},message:i});var P=e=>e?.method&&["post","put","patch"].includes(e.method.toLocaleLowerCase())&&e.body?{"Content-Type":"application/json"}:{},S=e=>e&&typeof e=="object"&&!Array.isArray(e);var $=e=>e.__type==="host";function R(e,i){return e.create(i)}var V="x-wix-bi-gateway";function U(e,i,r){return{[V]:Y({environment:`js-sdk${r?`-${r}`:""}`,"package-name":e.packageName??i?.PACKAGE_NAME,"method-fqn":e.methodFqn,entity:e.entityFqdn})}}function Y(e){return Object.entries(e).filter(([i,r])=>!!r).map(([i,r])=>`${i}=${r}`).join(",")}import{wixContext as y}from"@wix/sdk-context";function T(e){let i=globalThis.__wix_context__,r={client:y.client,elevatedClient:y.elevatedClient},s;globalThis.__wix_context__=void 0,y.client=void 0,y.elevatedClient=void 0,typeof $wixContext<"u"&&(s={client:$wixContext?.client,elevatedClient:$wixContext?.elevatedClient},delete $wixContext.client,delete $wixContext.elevatedClient);try{return e()}finally{globalThis.__wix_context__=i,y.client=r.client,y.elevatedClient=r.elevatedClient,typeof $wixContext<"u"&&($wixContext.client=s.client,$wixContext.elevatedClient=s.elevatedClient)}}function j(e,i,r,s,o,t,a){return T(()=>e({request:async l=>{let c=l({host:t?.HTTPHost||w}),u=c;u.method==="GET"&&u.fallback?.length&&u.params.toString().length>4e3&&(u=c.fallback[0]);let x=`https://${t?.HTTPHost??w}${u.url}`;u.params&&u.params.toString()&&(x+=`?${u.params.toString()}`);try{let n=U(c,i,a),d=await r(x,{method:u.method,...u.data&&{body:JSON.stringify(u.data)},headers:{...n}});if(d.status!==200){let p=null;try{p=await d.json()}catch{}throw X(d.status,p?.message,p?.details,{requestId:d.headers.get("X-Wix-Request-Id"),details:p})}return{data:await d.json(),headers:d.headers,status:d.status,statusText:d.statusText}}catch(n){throw n.message?.includes("fetch is not defined")&&console.error("Node.js v18+ is required"),n}},fetchWithAuth:r,wixAPIFetch:s,getActiveToken:o}))}var X=(e,i,r,s)=>({response:{data:{details:{...!r?.validationError&&{applicationError:{description:i,code:e,data:s}},...r},message:i},status:e}});W();function g(){return{emit(e,...i){for(let r=0,s=this.events[e]||[],o=s.length;r<o;r++)s[r](...i)},events:{},on(e,i){return(this.events[e]||=[]).push(i),()=>{this.events[e]=this.events[e]?.filter(r=>i!==r)}}}}var k=e=>e.__type==="event-definition";function I(e,i,r,s){let o;if(e.isDomainEvent){let a=r,{deletedEvent:l,actionEvent:c,createdEvent:u,updatedEvent:h,...x}=a,n={...s,...x};l?l?.deletedEntity?o={entity:l?.deletedEntity,metadata:n}:o={metadata:n}:c?o={data:c.body,metadata:n}:o={entity:u?.entity??h?.currentEntity,metadata:n}}else o={data:r,metadata:s};let t=e.transformations??(a=>a);return i(t(o))}function q(e){let i=new Map,r=g(),s={...r,getRegisteredEvents:()=>i,async process(o,t={expectedEvents:[]}){let{eventType:a,identity:l,instanceId:c,payload:u}=await this.parseJWT(o),h=[...t.expectedEvents,...Array.from(i.keys()).map(n=>({type:n}))];if(h.length>0&&!h.some(({type:n})=>n===a))throw new Error(`Unexpected event type: ${a}. Expected one of: ${h.map(n=>n.type).join(", ")}`);let x=i.get(a)??[];return await Promise.all(x.map(({eventDefinition:n,handler:d})=>I(n,d,u,{instanceId:c,identity:l}))),{instanceId:c,eventType:a,payload:u,identity:l}},async processRequest(o,t){let a=await o.text();return this.process(a,t)},async parseJWT(o){if(!e.decodeJWT)throw new Error("decodeJWT is not supported by the authentication strategy");let{decoded:t,valid:a}=await e.decodeJWT(o);if(!a)throw new Error("JWT is not valid");if(typeof t.data!="string")throw new Error(`Unexpected type of JWT data: expected string, got ${typeof t.data}`);let l=JSON.parse(t.data),c=l.eventType,u=l.instanceId,h=l.identity?JSON.parse(l.identity):void 0,x=JSON.parse(l.data);return{instanceId:u,eventType:c,payload:x,identity:h}},async parseRequest(o){let t=await o.text();return this.parseJWT(t)},async executeHandlers(o){let t=Array.from(i.keys()).map(l=>({type:l}));if(t.length>0&&!t.some(({type:l})=>l===o.eventType))throw new Error(`Unexpected event type: ${o.eventType}. Expected one of: ${t.map(l=>l.type).join(", ")}`);let a=i.get(o.eventType)??[];await Promise.all(a.map(({eventDefinition:l,handler:c})=>I(l,c,o.payload,{instanceId:o.instanceId,identity:o.identity})))},apps:{AppInstalled:E("AppInstalled")(),AppRemoved:E("AppRemoved")()}};return{initModule(o){return t=>{let a=i.get(o.type)??[];a.push({eventDefinition:o,handler:t}),i.set(o.type,a),r.emit("registered",o)}},client:s}}var D=e=>e.__type==="service-plugin-definition";function L(e){let i=new Map,r=g(),s={...r,getRegisteredServicePlugins:()=>i,async parseJWT(o){if(!e.decodeJWT)throw new Error("decodeJWT is not supported by the authentication strategy");let{decoded:t,valid:a}=await e.decodeJWT(o,!0);if(!a)throw new Error("JWT is not valid");if(typeof t.data!="object"||t.data===null||!("metadata"in t.data)||typeof t.data.metadata!="object"||t.data.metadata===null||!("appExtensionType"in t.data.metadata)||typeof t.data.metadata.appExtensionType!="string")throw new Error("Unexpected JWT data: expected object with metadata.appExtensionType string");return t.data},async process(o){let t=await this.parseJWT(o.body);return this.executeHandler(t,o.url)},async parseRequest(o){let t=await o.text();return this.parseJWT(t)},async processRequest(o){let t=o.url,a=await o.text(),l=await this.process({url:t,body:a});return Response.json(l)},async executeHandler(o,t){let a=o.metadata.appExtensionType.toLowerCase(),l=i.get(a)??[];if(l.length===0)throw new Error(`No service plugin implementations found for component type ${a}`);if(l.length>1)throw new Error(`Multiple service plugin implementations found for component type ${a}. This is currently not supported`);let{implementation:c,servicePluginDefinition:u}=l[0],h=u.methods.find(n=>t.endsWith(n.primaryHttpMappingPath));if(!h)throw new Error("Unexpect request: request url did not match any method: "+t);let x=c[h.name];if(!x)throw new Error(`Got request for service plugin method ${h.name} but no implementation was provided. Available methods: ${Object.keys(c).join(", ")}`);return h.transformations.toREST(await x(h.transformations.fromREST(o)))}};return{initModule(o){return t=>{let a=i.get(o.componentType.toLowerCase())??[];a.push({servicePluginDefinition:o,implementation:t}),i.set(o.componentType.toLowerCase(),a),r.emit("registered",o)}},client:s}}function He(e){let i=e.headers||{Authorization:""},r=e.auth||{getAuthHeaders:n=>Promise.resolve({headers:{}})},s=r.getAuthHeaders.bind(void 0,e.host);r.getAuthHeaders=s;let{client:o,initModule:t}=L(r),{client:a,initModule:l}=q(r),c=async(n,d)=>{let f=await s(),p=P(d);return fetch(n,{...d,headers:{...p,...i,...f?.headers,...d?.headers,...e.host?.essentials?.passThroughHeaders}})},u=(n,d)=>{if(k(n))return l(n);if(D(n))return t(n);if($(n)&&e.host)return R(n,e.host);if(typeof n=="function"){if("__type"in n&&n.__type===C)return n;let f=e.host?.apiBaseUrl??w;return j(T(()=>A(n))?M(n):n,d??{},c,(p,m)=>{let _=new URL(p,`https://${f}`);return _.host=f,_.protocol="https",c(_.toString(),m)},r.getActiveToken,{HTTPHost:f},e.host?.name)}else return S(n)?Object.fromEntries(Object.entries(n).map(([f,p])=>[f,u(p,n[H])])):n},h=n=>{for(let d in n)i[d]=n[d]};return{...e.modules?u(e.modules):{},auth:r,setHeaders:h,use:u,enableContext(n,d={elevated:!1}){n==="global"?globalThis.__wix_context__!=null?d.elevated?globalThis.__wix_context__.elevatedClient=this:globalThis.__wix_context__.client=this:d.elevated?globalThis.__wix_context__={elevatedClient:this}:globalThis.__wix_context__={client:this}:d.elevated?J.elevatedClient=this:J.client=this},fetch:(n,d)=>{let f=e.host?.apiBaseUrl??w,p=new URL(n,`https://${f}`);return p.host=f,p.protocol="https",c(p.toString(),d)},fetchWithAuth:async(n,d)=>{if(typeof n=="string"||n instanceof URL)return fetch(n,{...d,headers:{...d?.headers,...(await s()).headers}});for(let[f,p]of Object.entries((await s()).headers))n.headers.set(f,p);return fetch(n,d)},async graphql(n,d,f={apiVersion:"alpha"}){let p=e?.host?.apiBaseUrl??w,m=await c(`https://${p}/graphql/${f.apiVersion}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:n,variables:d})});if(m.status!==200)throw new v(`GraphQL request failed with status ${m.status}`,m);let{data:_,errors:O}=await m.json();return{data:_??{},errors:O}},webhooks:a,servicePlugins:o}}export{G as a,W as b,He as c};
2
- //# sourceMappingURL=chunk-KEIVYRQX.js.map
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{a as D}from"./chunk-IOW53RH7.js";import{a as b}from"./chunk-7YIQAWRD.js";import"./chunk-NYC4UPCI.js";import{a as S,e as I,f as y,s as j,v as x}from"./chunk-YFYESJ2A.js";import"./chunk-LYCV7HBR.js";import"./chunk-M7777RXR.js";import"./chunk-WJTPY35F.js";import"./chunk-5OKXHNO2.js";import"./chunk-MM7OD345.js";import"./chunk-VOW75NWO.js";import{Aa as n,E as v,bb as P,g as w,na as h,sb as U}from"./chunk-L2GYA6RW.js";import{c as C,e as s,f as l}from"./chunk-GF6CV6CZ.js";import{e as u,h as o}from"./chunk-V4TR6DCM.js";o();o();import{cwd as N}from"node:process";var f=u(C(),1);o();var A=u(C(),1);async function E(e,a,r){let t=new S(a),i=await I({siteId:r,projectFolder:e.projectFolder,siteListClient:t});return(0,A.match)(i,{NotConfigured:()=>{throw new s({code:l.SiteConfiguredRequired()})},NotFound:()=>{throw new s({code:l.SiteConfiguredRequired()})},Resolved:({site:m})=>m})}o();var c=u(C(),1);var M=({model:e,site:a,tag:r})=>{let t=e.components.filter(m=>(0,c.isType)(m,n.DashboardPage)||(0,c.isType)(m,n.DashboardPlugin)||(0,c.isType)(m,n.DashboardMenuPlugin)),i={appId:e.config.appId,site:a,tag:r};return t[0]?x(t[0],i):j(h.Dashboard(),i)};o();function T(e){console.log(e)}async function z(e,a){let r=await U(N()),t=await v();if(!t)throw new s({code:l.AuthenticationRequired()});a.errorReporter.setUser({id:t.userInfo.userId}),b(a.biLogger,t.userInfo.userId);let i=w({type:"backoffice",getAppToken:()=>t.getAccessToken()}),m=await E(r,i,e.siteId),k=r.components.filter(g=>(0,f.isType)(g,n.Api)||(0,f.isType)(g,n.Event)||(0,f.isType)(g,n.ServicePlugin)),{serveUrl:R,backendServerUrl:F}=e.baseUrl?{serveUrl:e.baseUrl,backendServerUrl:void 0}:await P(r.config.appId,r.projectFolder,a.biLogger,i,k.length>0),L=new y(i),q=await D({model:r,arm:L,serveUrl:R,backendServerUrl:F}),H=M({site:m,model:r,tag:q});T(H)}export{z as nonInteractivePreview};
4
- //# sourceMappingURL=preview-FY5YKH5Z.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/non-interactive/preview/index.ts","../src/non-interactive/preview/preview.ts","../src/non-interactive/preview/resolve-site.ts","../src/non-interactive/preview/dashboard-page-url.ts","../src/non-interactive/logger.ts"],"sourcesContent":["export { nonInteractivePreview } from './preview.js';\n","import { cwd } from 'node:process';\nimport { ARMClient } from '@wix/arm-client';\nimport { isLoggedInToAccount } from '@wix/cli-auth';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { addUserFields } from '@wix/cli-telemetry';\nimport { createHttpClient } from '@wix/cli-http-client';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport { isType } from 'variant';\nimport { loadProjectModel } from '../../model.js';\nimport { createPreviewTag } from '../../preview/create-preview-tag.js';\nimport { uploadApplication } from '../../hosting/upload-application.js';\nimport { resolveSite } from './resolve-site.js';\nimport { getDashboardPageUrl } from './dashboard-page-url.js';\nimport { log } from '../logger.js';\nimport { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\n\nexport async function nonInteractivePreview(\n options: { siteId?: string; baseUrl?: string },\n services: CommandServices\n) {\n const model = await loadProjectModel(cwd());\n const authData = await isLoggedInToAccount();\n\n if (!authData) {\n throw new CliError({\n code: CliErrorCode.AuthenticationRequired(),\n });\n }\n\n services.errorReporter.setUser({ id: authData.userInfo.userId });\n addUserFields(services.biLogger, authData.userInfo.userId);\n\n const httpClient = createHttpClient({\n type: 'backoffice',\n getAppToken: () => authData.getAccessToken(),\n });\n\n const site = await resolveSite(model, httpClient, options.siteId);\n const backendComponents = model.components.filter(\n (component) =>\n isType(component, DevCenterComponent.Api) ||\n isType(component, DevCenterComponent.Event) ||\n isType(component, DevCenterComponent.ServicePlugin)\n );\n\n const { serveUrl, backendServerUrl } = options.baseUrl\n ? { serveUrl: options.baseUrl, backendServerUrl: undefined }\n : await uploadApplication(\n model.config.appId,\n model.projectFolder,\n services.biLogger,\n httpClient,\n backendComponents.length > 0\n );\n\n const arm = new ARMClient(httpClient);\n\n const tag = await createPreviewTag({\n model,\n arm,\n serveUrl,\n backendServerUrl,\n });\n const dashboardPageUrl = getDashboardPageUrl({ site, model, tag });\n\n log(dashboardPageUrl);\n}\n","import { match } from 'variant';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { SiteListClient } from '@wix/site-list-client';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport type { ProjectModel } from '../../model.js';\nimport { resolveConfiguredSite } from '../../site-id/resolve-configured-site.js';\n\nexport async function resolveSite(\n model: ProjectModel,\n httpClient: HttpClient,\n siteId?: string\n) {\n const siteListClient = new SiteListClient(httpClient);\n\n const site = await resolveConfiguredSite({\n siteId,\n projectFolder: model.projectFolder,\n siteListClient,\n });\n\n return match(site, {\n NotConfigured: () => {\n throw new CliError({\n code: CliErrorCode.SiteConfiguredRequired(),\n });\n },\n NotFound: () => {\n throw new CliError({\n code: CliErrorCode.SiteConfiguredRequired(),\n });\n },\n Resolved: ({ site }) => site,\n });\n}\n","import type { Site } from '@wix/site-list-client';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { isType } from 'variant';\nimport type { ProjectModel } from '../../model.js';\nimport {\n resolvePlatformUrl,\n resolveDashboardExtensionUrl,\n} from '../../components/extensions/utils.js';\nimport { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\n\nexport const getDashboardPageUrl = ({\n model,\n site,\n tag,\n}: {\n model: ProjectModel;\n site: Site;\n tag: string;\n}) => {\n const dashboardExtensions = model.components.filter(\n (component) =>\n isType(component, DevCenterComponent.DashboardPage) ||\n isType(component, DevCenterComponent.DashboardPlugin) ||\n isType(component, DevCenterComponent.DashboardMenuPlugin)\n );\n\n const envConfig = {\n appId: model.config.appId,\n site,\n tag,\n };\n\n return dashboardExtensions[0]\n ? resolveDashboardExtensionUrl(dashboardExtensions[0], envConfig)\n : resolvePlatformUrl(PlatformType.Dashboard(), envConfig);\n};\n","export function log(message: string) {\n // eslint-disable-next-line no-console\n console.log(message);\n}\n"],"mappings":";;4gBAAAA,ICAAC,IAAA,OAAS,OAAAC,MAAW,eAOpB,IAAAC,EAAuB,SCPvBC,IAAA,IAAAC,EAAsB,SAOtB,eAAsBC,EACpBC,EACAC,EACAC,EACA,CACA,IAAMC,EAAiB,IAAIC,EAAeH,CAAU,EAE9CI,EAAO,MAAMC,EAAsB,CACvC,OAAAJ,EACA,cAAeF,EAAM,cACrB,eAAAG,CACF,CAAC,EAED,SAAO,SAAME,EAAM,CACjB,cAAe,IAAM,CACnB,MAAM,IAAIE,EAAS,CACjB,KAAMC,EAAa,uBAAuB,CAC5C,CAAC,CACH,EACA,SAAU,IAAM,CACd,MAAM,IAAID,EAAS,CACjB,KAAMC,EAAa,uBAAuB,CAC5C,CAAC,CACH,EACA,SAAU,CAAC,CAAE,KAAAH,CAAK,IAAMA,CAC1B,CAAC,CACH,CCjCAI,IAEA,IAAAC,EAAuB,SAQhB,IAAMC,EAAsB,CAAC,CAClC,MAAAC,EACA,KAAAC,EACA,IAAAC,CACF,IAIM,CACJ,IAAMC,EAAsBH,EAAM,WAAW,OAC1CI,MACC,UAAOA,EAAWC,EAAmB,aAAa,MAClD,UAAOD,EAAWC,EAAmB,eAAe,MACpD,UAAOD,EAAWC,EAAmB,mBAAmB,CAC5D,EAEMC,EAAY,CAChB,MAAON,EAAM,OAAO,MACpB,KAAAC,EACA,IAAAC,CACF,EAEA,OAAOC,EAAoB,CAAC,EACxBI,EAA6BJ,EAAoB,CAAC,EAAGG,CAAS,EAC9DE,EAAmBC,EAAa,UAAU,EAAGH,CAAS,CAC5D,ECnCAI,IAAO,SAASC,EAAIC,EAAiB,CAEnC,QAAQ,IAAIA,CAAO,CACrB,CHaA,eAAsBC,EACpBC,EACAC,EACA,CACA,IAAMC,EAAQ,MAAMC,EAAiBC,EAAI,CAAC,EACpCC,EAAW,MAAMC,EAAoB,EAE3C,GAAI,CAACD,EACH,MAAM,IAAIE,EAAS,CACjB,KAAMC,EAAa,uBAAuB,CAC5C,CAAC,EAGHP,EAAS,cAAc,QAAQ,CAAE,GAAII,EAAS,SAAS,MAAO,CAAC,EAC/DI,EAAcR,EAAS,SAAUI,EAAS,SAAS,MAAM,EAEzD,IAAMK,EAAaC,EAAiB,CAClC,KAAM,aACN,YAAa,IAAMN,EAAS,eAAe,CAC7C,CAAC,EAEKO,EAAO,MAAMC,EAAYX,EAAOQ,EAAYV,EAAQ,MAAM,EAC1Dc,EAAoBZ,EAAM,WAAW,OACxCa,MACC,UAAOA,EAAWC,EAAmB,GAAG,MACxC,UAAOD,EAAWC,EAAmB,KAAK,MAC1C,UAAOD,EAAWC,EAAmB,aAAa,CACtD,EAEM,CAAE,SAAAC,EAAU,iBAAAC,CAAiB,EAAIlB,EAAQ,QAC3C,CAAE,SAAUA,EAAQ,QAAS,iBAAkB,MAAU,EACzD,MAAMmB,EACJjB,EAAM,OAAO,MACbA,EAAM,cACND,EAAS,SACTS,EACAI,EAAkB,OAAS,CAC7B,EAEEM,EAAM,IAAIC,EAAUX,CAAU,EAE9BY,EAAM,MAAMC,EAAiB,CACjC,MAAArB,EACA,IAAAkB,EACA,SAAAH,EACA,iBAAAC,CACF,CAAC,EACKM,EAAmBC,EAAoB,CAAE,KAAAb,EAAM,MAAAV,EAAO,IAAAoB,CAAI,CAAC,EAEjEI,EAAIF,CAAgB,CACtB","names":["init_esm_shims","init_esm_shims","cwd","import_variant","init_esm_shims","import_variant","resolveSite","model","httpClient","siteId","siteListClient","SiteListClient","site","resolveConfiguredSite","CliError","CliErrorCode","init_esm_shims","import_variant","getDashboardPageUrl","model","site","tag","dashboardExtensions","component","DevCenterComponent","envConfig","resolveDashboardExtensionUrl","resolvePlatformUrl","PlatformType","init_esm_shims","log","message","nonInteractivePreview","options","services","model","loadProjectModel","cwd","authData","isLoggedInToAccount","CliError","CliErrorCode","addUserFields","httpClient","createHttpClient","site","resolveSite","backendComponents","component","DevCenterComponent","serveUrl","backendServerUrl","uploadApplication","arm","ARMClient","tag","createPreviewTag","dashboardPageUrl","getDashboardPageUrl","log"]}
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{a as E}from"./chunk-EUNKG7JY.js";import{a as y,b as I}from"./chunk-7YIQAWRD.js";import{a as C}from"./chunk-5OKXHNO2.js";import{B as h,D as w,I as j,sb as p,t as g,tb as x}from"./chunk-L2GYA6RW.js";import{T as v,Y as P,a as l,b as D,e as f,f as u}from"./chunk-GF6CV6CZ.js";import{e as b,h as c}from"./chunk-V4TR6DCM.js";c();var n=b(D(),1);import{cwd as F}from"node:process";async function S(o,{biLogger:e,errorReporter:r}){r.setContext("app info",{appId:o.config.appId,projectId:o.config.projectId}),e.updateDefaults({_appId:o.config.appId})}function L(o,e){switch(o){case"dev":case"preview":return{is_mocking_values:e.some(r=>r.type==="EmbeddedScript"&&r.paramsOverride)};default:return}}async function T(o,{biLogger:e,errorReporter:r},i,m){await M(o,{biLogger:e,errorReporter:r},async()=>{let t=await p(F());if(t.components.length===0&&!m?.skipProjectValidation)throw new f({code:u.NoExtensionsFound()});e.updateDefaults({command:o.name()});let a=j(t.projectFolder);await v(n.default.createElement(g,{value:e},n.default.createElement(h,{value:r},n.default.createElement(w,{onLogin:s=>{r.setUser({id:s.userId}),y(e,s.userId)}},n.default.createElement(P,{messages:E},n.default.createElement(C,{filePath:a},n.default.createElement(x,{value:t,watchForChanges:m?.watchForModelChanges},i)))))))})}async function M(o,e,r){let i=await p(F());await S(i,e),e.biLogger.updateDefaults({command:o.name()});let m=I({biLogger:e.biLogger,command:o,cliVersion:l,flow:"Apps",projectId:i.config.projectId,extensions:i.components.reduce((t,a)=>{let d=t[a.type];return t[a.type]=d?d+1:1,t},{}),extraFields:L(o.name(),i.components)});try{await r(),m.succeed()}catch(t){throw m.failed(t),t}}export{T as renderCommand,M as runCommand};
4
- //# sourceMappingURL=render-command-4BGZ4KYD.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/render-command.tsx"],"sourcesContent":["import { cwd } from 'node:process';\nimport React from 'react';\nimport type { ReactElement } from 'react';\nimport { AccountAuthProvider } from '@wix/cli-auth';\nimport type { UserInfo } from '@wix/cli-auth';\nimport { render } from '@wix/cli-ui-kit';\nimport { I18nProvider } from '@wix/cli-i18n';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { DebugLogProvider } from '@wix/cli-debug-log';\nimport { getDebugLogFilePath } from '@wix/cli-core-definitions';\nimport { ErrorReporterProvider } from '@wix/cli-error-reporting';\nimport { BiProvider } from '@wix/cli-telemetry-react';\nimport { addUserFields, reportCommandStartEvent } from '@wix/cli-telemetry';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport type { Command } from '@commander-js/extra-typings';\nimport type { ProjectModel } from '../model.js';\nimport type { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\nimport { loadProjectModel, ProjectModelProvider } from '../model.js';\nimport messages from '../messages.json';\nimport { version } from '../../package.json';\n\ninterface Options {\n watchForModelChanges?: boolean;\n skipProjectValidation?: boolean;\n}\n\nasync function initServices(\n model: ProjectModel,\n { biLogger, errorReporter }: CommandServices\n) {\n errorReporter.setContext('app info', {\n appId: model.config.appId,\n projectId: model.config.projectId,\n });\n\n biLogger.updateDefaults({\n _appId: model.config.appId,\n });\n}\n\nfunction getExtraBiFields(command: string, components: DevCenterComponent[]) {\n switch (command) {\n case 'dev':\n case 'preview':\n return {\n is_mocking_values: components.some(\n (component) =>\n component.type === 'EmbeddedScript' && component.paramsOverride\n ),\n };\n default:\n return;\n }\n}\n\nexport async function renderCommand(\n command: Command,\n { biLogger, errorReporter }: CommandServices,\n tree: ReactElement,\n options?: Options\n) {\n await runCommand(command, { biLogger, errorReporter }, async () => {\n const model = await loadProjectModel(cwd());\n\n if (model.components.length === 0 && !options?.skipProjectValidation) {\n throw new CliError({\n code: CliErrorCode.NoExtensionsFound(),\n });\n }\n\n biLogger.updateDefaults({ command: command.name() });\n\n const debugLogFilePath = getDebugLogFilePath(model.projectFolder);\n\n const handleLogin = (userInfo: UserInfo) => {\n errorReporter.setUser({ id: userInfo.userId });\n addUserFields(biLogger, userInfo.userId);\n };\n\n await render(\n <BiProvider value={biLogger}>\n <ErrorReporterProvider value={errorReporter}>\n <AccountAuthProvider onLogin={handleLogin}>\n <I18nProvider messages={messages}>\n <DebugLogProvider filePath={debugLogFilePath}>\n <ProjectModelProvider\n value={model}\n watchForChanges={options?.watchForModelChanges}\n >\n {tree}\n </ProjectModelProvider>\n </DebugLogProvider>\n </I18nProvider>\n </AccountAuthProvider>\n </ErrorReporterProvider>\n </BiProvider>\n );\n });\n}\n\nexport async function runCommand(\n command: Command,\n services: CommandServices,\n commandFn: () => Promise<void>\n) {\n const model = await loadProjectModel(cwd());\n\n await initServices(model, services);\n\n services.biLogger.updateDefaults({\n command: command.name(),\n });\n\n const commandStatus = reportCommandStartEvent({\n biLogger: services.biLogger,\n command,\n cliVersion: version,\n flow: 'Apps',\n projectId: model.config.projectId,\n extensions: model.components.reduce<Record<string, number>>((acc, item) => {\n const value = acc[item.type];\n acc[item.type] = value ? value + 1 : 1;\n return acc;\n }, {}),\n extraFields: getExtraBiFields(command.name(), model.components),\n });\n\n try {\n await commandFn();\n commandStatus.succeed();\n } catch (e) {\n commandStatus.failed(e);\n throw e;\n }\n}\n"],"mappings":";;sUAAAA,IACA,IAAAC,EAAkB,SADlB,OAAS,OAAAC,MAAW,eA0BpB,eAAeC,EACbC,EACA,CAAE,SAAAC,EAAU,cAAAC,CAAc,EAC1B,CACAA,EAAc,WAAW,WAAY,CACnC,MAAOF,EAAM,OAAO,MACpB,UAAWA,EAAM,OAAO,SAC1B,CAAC,EAEDC,EAAS,eAAe,CACtB,OAAQD,EAAM,OAAO,KACvB,CAAC,CACH,CAEA,SAASG,EAAiBC,EAAiBC,EAAkC,CAC3E,OAAQD,EAAS,CACf,IAAK,MACL,IAAK,UACH,MAAO,CACL,kBAAmBC,EAAW,KAC3BC,GACCA,EAAU,OAAS,kBAAoBA,EAAU,cACrD,CACF,EACF,QACE,MACJ,CACF,CAEA,eAAsBC,EACpBH,EACA,CAAE,SAAAH,EAAU,cAAAC,CAAc,EAC1BM,EACAC,EACA,CACA,MAAMC,EAAWN,EAAS,CAAE,SAAAH,EAAU,cAAAC,CAAc,EAAG,SAAY,CACjE,IAAMF,EAAQ,MAAMW,EAAiBC,EAAI,CAAC,EAE1C,GAAIZ,EAAM,WAAW,SAAW,GAAK,CAACS,GAAS,sBAC7C,MAAM,IAAII,EAAS,CACjB,KAAMC,EAAa,kBAAkB,CACvC,CAAC,EAGHb,EAAS,eAAe,CAAE,QAASG,EAAQ,KAAK,CAAE,CAAC,EAEnD,IAAMW,EAAmBC,EAAoBhB,EAAM,aAAa,EAOhE,MAAMiB,EACJ,EAAAC,QAAA,cAACC,EAAA,CAAW,MAAOlB,GACjB,EAAAiB,QAAA,cAACE,EAAA,CAAsB,MAAOlB,GAC5B,EAAAgB,QAAA,cAACG,EAAA,CAAoB,QARNC,GAAuB,CAC1CpB,EAAc,QAAQ,CAAE,GAAIoB,EAAS,MAAO,CAAC,EAC7CC,EAActB,EAAUqB,EAAS,MAAM,CACzC,GAMQ,EAAAJ,QAAA,cAACM,EAAA,CAAa,SAAUC,GACtB,EAAAP,QAAA,cAACQ,EAAA,CAAiB,SAAUX,GAC1B,EAAAG,QAAA,cAACS,EAAA,CACC,MAAO3B,EACP,gBAAiBS,GAAS,sBAEzBD,CACH,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CAAC,CACH,CAEA,eAAsBE,EACpBN,EACAwB,EACAC,EACA,CACA,IAAM7B,EAAQ,MAAMW,EAAiBC,EAAI,CAAC,EAE1C,MAAMb,EAAaC,EAAO4B,CAAQ,EAElCA,EAAS,SAAS,eAAe,CAC/B,QAASxB,EAAQ,KAAK,CACxB,CAAC,EAED,IAAM0B,EAAgBC,EAAwB,CAC5C,SAAUH,EAAS,SACnB,QAAAxB,EACA,WAAY4B,EACZ,KAAM,OACN,UAAWhC,EAAM,OAAO,UACxB,WAAYA,EAAM,WAAW,OAA+B,CAACiC,EAAKC,IAAS,CACzE,IAAMC,EAAQF,EAAIC,EAAK,IAAI,EAC3B,OAAAD,EAAIC,EAAK,IAAI,EAAIC,EAAQA,EAAQ,EAAI,EAC9BF,CACT,EAAG,CAAC,CAAC,EACL,YAAa9B,EAAiBC,EAAQ,KAAK,EAAGJ,EAAM,UAAU,CAChE,CAAC,EAED,GAAI,CACF,MAAM6B,EAAU,EAChBC,EAAc,QAAQ,CACxB,OAASM,EAAG,CACV,MAAAN,EAAc,OAAOM,CAAC,EAChBA,CACR,CACF","names":["init_esm_shims","import_react","cwd","initServices","model","biLogger","errorReporter","getExtraBiFields","command","components","component","renderCommand","tree","options","runCommand","loadProjectModel","cwd","CliError","CliErrorCode","debugLogFilePath","getDebugLogFilePath","render","React","BiProvider","ErrorReporterProvider","AccountAuthProvider","userInfo","addUserFields","I18nProvider","messages_default","DebugLogProvider","ProjectModelProvider","services","commandFn","commandStatus","reportCommandStartEvent","version","acc","item","value","e"]}