@wix/cli-app 1.1.62 → 1.1.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/{CreateVersionCommand-IEF6U34E.js → CreateVersionCommand-HSZ5KOXI.js} +14 -14
- package/build/{DevCommand-SOODXUEP.js → DevCommand-U5VNLUWE.js} +17 -13
- package/build/DevCommand-U5VNLUWE.js.map +1 -0
- package/build/{GenerateCommand-ARNW73TM.js → GenerateCommand-EAOS2X3X.js} +7 -7
- package/build/{LogsCommand-7TW36YZX.js → LogsCommand-OW2ZNER5.js} +4 -4
- package/build/PreviewCommand-MMMYRI4Z.js +23 -0
- package/build/{ReleaseCommand-SB2WWSVP.js → ReleaseCommand-L4WZJXHC.js} +14 -14
- package/build/{ServeCommand-GZKF6AN3.js → ServeCommand-RR7E4CTH.js} +13 -13
- package/build/{build-LHCSCFBM.js → build-KQLNYCVG.js} +7 -7
- package/build/{chunk-YW2RBPPY.js → chunk-3I7X6TPV.js} +3 -3
- package/build/{chunk-4WKSS3PU.js → chunk-7I5LSGDI.js} +3 -3
- package/build/{chunk-6IX6CDWB.js → chunk-7XQDPLBO.js} +7 -7
- package/build/{chunk-PM4M3SGC.js → chunk-CQUQ6WJV.js} +2 -2
- package/build/chunk-CQUQ6WJV.js.map +1 -0
- package/build/{chunk-LMFNRK6X.js → chunk-DIA3AFPZ.js} +2 -2
- package/build/{chunk-KJR4P55M.js → chunk-EYB7PRAB.js} +2 -2
- package/build/{chunk-HKX5ODUN.js → chunk-FXVMZQC7.js} +3 -3
- package/build/{chunk-A3FHJ4EK.js → chunk-HAPDEIJZ.js} +3 -3
- package/build/{chunk-6US7335E.js → chunk-IB2EYESP.js} +3 -3
- package/build/{chunk-KCNEUOW2.js → chunk-NWRBK74T.js} +8 -8
- package/build/{chunk-UZXKDHQZ.js → chunk-OHPZ74IV.js} +5 -5
- package/build/{chunk-V75TFIXI.js → chunk-OV6Y7VX4.js} +4 -4
- package/build/{chunk-MTEB33GR.js → chunk-SFPBI2MM.js} +3 -3
- package/build/{chunk-KVM6MGID.js → chunk-SK3ICCEA.js} +3 -3
- package/build/{chunk-LULKQBSP.js → chunk-SXIV63HN.js} +425 -312
- package/build/chunk-SXIV63HN.js.map +1 -0
- package/build/{chunk-UE7LDQKD.js → chunk-VSQ4XHEB.js} +2 -2
- package/build/{chunk-5R5H3Y2D.js → chunk-XYNJZDSJ.js} +5 -5
- package/build/cloudflare-runtime/entry.js +1 -1
- package/build/cloudflare-runtime/getRegisteredExtensions.js +1 -1
- package/build/index.js +47 -32
- package/build/index.js.map +1 -1
- package/build/platform-sdk/chunk-7EYXEF6M.js +2 -0
- package/build/platform-sdk/chunk-7EYXEF6M.js.map +1 -0
- package/build/platform-sdk/chunk-BGTZ3RNN.js +2 -0
- package/build/platform-sdk/chunk-BGTZ3RNN.js.map +1 -0
- package/build/platform-sdk/chunk-DGX4CFXG.js +2 -0
- package/build/platform-sdk/chunk-DGX4CFXG.js.map +1 -0
- package/build/platform-sdk/chunk-XYIDODIB.js +2 -0
- package/build/platform-sdk/{chunk-VXQAZIAE.js.map → chunk-XYIDODIB.js.map} +1 -1
- package/build/platform-sdk/dashboard.js +1 -1
- package/build/platform-sdk/dashboard.js.map +1 -1
- package/build/platform-sdk/editor.js +5 -5
- package/build/platform-sdk/editor.js.map +1 -1
- package/build/platform-sdk/sdk-context.js +1 -1
- package/build/platform-sdk/sdk-context.js.map +1 -1
- package/build/platform-sdk/site.js +1 -1
- package/build/platform-sdk/site.js.map +1 -1
- package/build/platform-sdk/web-methods.js +1 -1
- package/build/platform-sdk/web-methods.js.map +1 -1
- package/build/{preview-ZAKEXAJH.js → preview-4UF7QRIS.js} +12 -12
- package/build/{render-command-XMQH723O.js → render-command-5DTSCPVY.js} +5 -5
- package/package.json +3 -3
- package/schemas/site-plugin.json +1 -1
- package/templates/web-method/dependencies.json +1 -1
- package/templates/web-method/files/placeholder.ts.ejs +1 -1
- package/build/DevCommand-SOODXUEP.js.map +0 -1
- package/build/PreviewCommand-ZZKRP2GF.js +0 -23
- package/build/chunk-LULKQBSP.js.map +0 -1
- package/build/chunk-PM4M3SGC.js.map +0 -1
- package/build/platform-sdk/chunk-3U6QUCP3.js +0 -2
- package/build/platform-sdk/chunk-3U6QUCP3.js.map +0 -1
- package/build/platform-sdk/chunk-FLUCZ5U6.js +0 -2
- package/build/platform-sdk/chunk-FLUCZ5U6.js.map +0 -1
- package/build/platform-sdk/chunk-VXQAZIAE.js +0 -2
- package/build/platform-sdk/chunk-ZM5O3GFB.js +0 -2
- package/build/platform-sdk/chunk-ZM5O3GFB.js.map +0 -1
- /package/build/{CreateVersionCommand-IEF6U34E.js.map → CreateVersionCommand-HSZ5KOXI.js.map} +0 -0
- /package/build/{GenerateCommand-ARNW73TM.js.map → GenerateCommand-EAOS2X3X.js.map} +0 -0
- /package/build/{LogsCommand-7TW36YZX.js.map → LogsCommand-OW2ZNER5.js.map} +0 -0
- /package/build/{PreviewCommand-ZZKRP2GF.js.map → PreviewCommand-MMMYRI4Z.js.map} +0 -0
- /package/build/{ReleaseCommand-SB2WWSVP.js.map → ReleaseCommand-L4WZJXHC.js.map} +0 -0
- /package/build/{ServeCommand-GZKF6AN3.js.map → ServeCommand-RR7E4CTH.js.map} +0 -0
- /package/build/{build-LHCSCFBM.js.map → build-KQLNYCVG.js.map} +0 -0
- /package/build/{chunk-YW2RBPPY.js.map → chunk-3I7X6TPV.js.map} +0 -0
- /package/build/{chunk-4WKSS3PU.js.map → chunk-7I5LSGDI.js.map} +0 -0
- /package/build/{chunk-6IX6CDWB.js.map → chunk-7XQDPLBO.js.map} +0 -0
- /package/build/{chunk-LMFNRK6X.js.map → chunk-DIA3AFPZ.js.map} +0 -0
- /package/build/{chunk-KJR4P55M.js.map → chunk-EYB7PRAB.js.map} +0 -0
- /package/build/{chunk-HKX5ODUN.js.map → chunk-FXVMZQC7.js.map} +0 -0
- /package/build/{chunk-A3FHJ4EK.js.map → chunk-HAPDEIJZ.js.map} +0 -0
- /package/build/{chunk-6US7335E.js.map → chunk-IB2EYESP.js.map} +0 -0
- /package/build/{chunk-KCNEUOW2.js.map → chunk-NWRBK74T.js.map} +0 -0
- /package/build/{chunk-UZXKDHQZ.js.map → chunk-OHPZ74IV.js.map} +0 -0
- /package/build/{chunk-V75TFIXI.js.map → chunk-OV6Y7VX4.js.map} +0 -0
- /package/build/{chunk-MTEB33GR.js.map → chunk-SFPBI2MM.js.map} +0 -0
- /package/build/{chunk-KVM6MGID.js.map → chunk-SK3ICCEA.js.map} +0 -0
- /package/build/{chunk-UE7LDQKD.js.map → chunk-VSQ4XHEB.js.map} +0 -0
- /package/build/{chunk-5R5H3Y2D.js.map → chunk-XYNJZDSJ.js.map} +0 -0
- /package/build/{preview-ZAKEXAJH.js.map → preview-4UF7QRIS.js.map} +0 -0
- /package/build/{render-command-XMQH723O.js.map → render-command-5DTSCPVY.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as n}from"./chunk-BGTZ3RNN.js";import"./chunk-7EYXEF6M.js";import"./chunk-SBZEOPXX.js";function o(e,t=!1){return n(e,t)}var i=["wix.com","editorx.com"];var _=new RegExp(`\\.(${i.join("|")})$`),s=["42.wixprod.net","uw2-edt-1.wixprod.net"],a="dev.wix-code.com";var u=new RegExp(`\\.(${s.join("|")})$`),p=new RegExp(`.*\\.${a}$`);import{wixContext as f}from"@wix/sdk-context";function r(e,t){t==="global"?globalThis.__wix_context__!=null?globalThis.__wix_context__.client=e:globalThis.__wix_context__={client:e}:f.client=e}var b=o(e=>(t,c)=>e.fetchWithAuth(t,c));export{r as enableContext};
|
|
2
2
|
//# sourceMappingURL=sdk-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/@wix/sdk/build/enable-context.js","../../../node_modules/@wix/sdk/build/context.js"],"sourcesContent":["import { wixContext } from '@wix/sdk-context';\nexport function enableContext(wixClient, contextType) {\n if (contextType === 'global') {\n if (globalThis.__wix_context__ != null) {\n globalThis.__wix_context__.client = wixClient;\n }\n else {\n globalThis.__wix_context__ = { client: wixClient };\n }\n }\n else {\n wixContext.client = wixClient;\n }\n}\n","import { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nexport function elevate(restModule) {\n return createRESTModule(restModule, true);\n}\nexport const fetchWithAuth = createRESTModule((restModuleOpts) => {\n return ((url, options) => restModuleOpts.fetchWithAuth(url, options));\n});\nexport { graphql } from './graphql.js';\nexport { setGlobalWixContext } from './wix-context.js';\nexport { enableContext } from './enable-context.js';\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/@wix/sdk/node_modules/@wix/sdk-runtime/build/rest-modules.js","../../../node_modules/@wix/sdk/build/enable-context.js","../../../node_modules/@wix/sdk/build/context.js"],"sourcesContent":["import { contextualizeRESTModuleV2 } from './context-v2.js';\nexport function createRESTModule(descriptor, elevated = false) {\n return contextualizeRESTModuleV2(descriptor, elevated);\n}\nexport function toURLSearchParams(params, isComplexRequest) {\n const flatten = flattenParams(params);\n const searchParams = Object.entries(flatten).reduce((urlSearchParams, [key, value]) => {\n // inorder to make `foo: [1,2]` turn into `foo=1&foo=2` and not `foo[]=1&foo[]=2`\n const keyParams = Array.isArray(value) ? value : [value];\n keyParams.forEach((param) => {\n if (param === undefined || param === null) {\n return;\n }\n urlSearchParams.append(key, param);\n });\n return urlSearchParams;\n }, new URLSearchParams());\n if (isComplexRequest) {\n searchParams.append('.r', base64Encode(JSON.stringify(params)));\n }\n return searchParams;\n}\nexport function resolveUrl(opts) {\n const domain = resolveDomain(opts.host);\n const mappings = resolveMappingsByDomain(domain, opts.domainToMappings);\n const path = injectDataIntoProtoPath(opts.protoPath, opts.data || {});\n return resolvePathFromMappings(path, mappings);\n}\nfunction flattenParams(data, path = '') {\n const params = {};\n Object.entries(data).forEach(([key, value]) => {\n const isObject = value !== null && typeof value === 'object' && !Array.isArray(value);\n const fieldPath = resolvePath(path, key);\n if (isObject) {\n const serializedObject = flattenParams(value, fieldPath);\n Object.assign(params, serializedObject);\n }\n else {\n params[fieldPath] = value;\n }\n });\n return params;\n}\nfunction resolvePath(path, key) {\n return `${path}${path ? '.' : ''}${key}`;\n}\nconst base64Encode = (value) => {\n const base64 = typeof btoa !== 'undefined'\n ? btoa(value)\n : Buffer.from(value, 'utf-8').toString('base64');\n return base64.replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n};\nconst DOMAINS = ['wix.com', 'editorx.com'];\nconst USER_DOMAIN = '_';\nconst REGEX_CAPTURE_DOMAINS = new RegExp(`\\\\.(${DOMAINS.join('|')})$`);\nconst WIX_API_DOMAINS = ['42.wixprod.net', 'uw2-edt-1.wixprod.net'];\nconst DEV_WIX_CODE_DOMAIN = 'dev.wix-code.com';\nconst REGEX_CAPTURE_PROTO_FIELD = /{(.*)}/;\nconst REGEX_CAPTURE_API_DOMAINS = new RegExp(`\\\\.(${WIX_API_DOMAINS.join('|')})$`);\nconst REGEX_CAPTURE_DEV_WIX_CODE_DOMAIN = new RegExp(`.*\\\\.${DEV_WIX_CODE_DOMAIN}$`);\nfunction resolveDomain(host) {\n const resolvedHost = fixHostExceptions(host);\n return resolvedHost\n .replace(REGEX_CAPTURE_DOMAINS, '._base_domain_')\n .replace(REGEX_CAPTURE_API_DOMAINS, '._api_base_domain_')\n .replace(REGEX_CAPTURE_DEV_WIX_CODE_DOMAIN, '*.dev.wix-code.com');\n}\n// hosts which standard string replacing doesn't apply to them, will be fixed here.\nfunction fixHostExceptions(host) {\n // https://system-kb.wixanswers.com/kb/en/article/editorx-domains-matching-to-wixcom\n return host.replace('create.editorx.com', 'editor.editorx.com');\n}\nfunction resolveMappingsByDomain(domain, domainToMappings) {\n const mappings = domainToMappings[domain] || domainToMappings[USER_DOMAIN];\n if (!mappings) {\n if (isBaseDomain(domain)) {\n // fallback <lang>.wix.com sub domains to www.wix.com\n // since all of the languages subdomain are not mapped automatically in FP and we want to support those kind of calls\n // for example: fr.wix.com\n return domainToMappings[wwwBaseDomain];\n }\n }\n return mappings;\n}\nfunction isBaseDomain(domain) {\n return !!domain.match(/\\._base_domain_$/);\n}\nconst wwwBaseDomain = 'www._base_domain_';\nfunction injectDataIntoProtoPath(protoPath, data) {\n return protoPath\n .split('/')\n .map((path) => maybeProtoPathToData(path, data))\n .join('/');\n}\nfunction maybeProtoPathToData(protoPath, data) {\n const protoRegExpMatch = protoPath.match(REGEX_CAPTURE_PROTO_FIELD) || [];\n const field = protoRegExpMatch[1];\n if (field) {\n const suffix = protoPath.replace(protoRegExpMatch[0], '');\n return findByPath(data, field, protoPath, suffix);\n }\n return protoPath;\n}\nfunction findByPath(obj, path, defaultValue, suffix) {\n let result = obj;\n for (const field of path.split('.')) {\n if (!result) {\n return defaultValue;\n }\n result = result[field];\n }\n return `${result}${suffix}`;\n}\nfunction resolvePathFromMappings(protoPath, mappings) {\n const mapping = mappings?.find((m) => protoPath.startsWith(m.destPath));\n if (!mapping) {\n // todo: should we return the path? if no - what should we do in case of testings?\n return protoPath;\n }\n return mapping.srcPath + protoPath.slice(mapping.destPath.length);\n}\n","import { wixContext } from '@wix/sdk-context';\nexport function enableContext(wixClient, contextType) {\n if (contextType === 'global') {\n if (globalThis.__wix_context__ != null) {\n globalThis.__wix_context__.client = wixClient;\n }\n else {\n globalThis.__wix_context__ = { client: wixClient };\n }\n }\n else {\n wixContext.client = wixClient;\n }\n}\n","import { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nexport function elevate(restModule) {\n return createRESTModule(restModule, true);\n}\nexport const fetchWithAuth = createRESTModule((restModuleOpts) => {\n return ((url, options) => restModuleOpts.fetchWithAuth(url, options));\n});\nexport { graphql } from './graphql.js';\nexport { setGlobalWixContext } from './wix-context.js';\nexport { enableContext } from './enable-context.js';\n"],"mappings":"gGACO,SAASA,EAAiBC,EAAYC,EAAW,GAAO,CAC3D,OAAOC,EAA0BF,EAAYC,CAAQ,CACzD,CAiDA,IAAME,EAAU,CAAC,UAAW,aAAa,EAEzC,IAAMC,EAAwB,IAAI,OAAO,OAAOC,EAAQ,KAAK,GAAG,CAAC,IAAI,EAC/DC,EAAkB,CAAC,iBAAkB,uBAAuB,EAC5DC,EAAsB,mBAE5B,IAAMC,EAA4B,IAAI,OAAO,OAAOC,EAAgB,KAAK,GAAG,CAAC,IAAI,EAC3EC,EAAoC,IAAI,OAAO,QAAQC,CAAmB,GAAG,EC3DnF,OAAS,cAAAC,MAAkB,mBACpB,SAASC,EAAcC,EAAWC,EAAa,CAC9CA,IAAgB,SACZ,WAAW,iBAAmB,KAC9B,WAAW,gBAAgB,OAASD,EAGpC,WAAW,gBAAkB,CAAE,OAAQA,CAAU,EAIrDF,EAAW,OAASE,CAE5B,CCTO,IAAME,EAAgBC,EAAkBC,GACnC,CAACC,EAAKC,IAAYF,EAAe,cAAcC,EAAKC,CAAO,CACtE","names":["createRESTModule","descriptor","elevated","contextualizeRESTModuleV2","DOMAINS","REGEX_CAPTURE_DOMAINS","DOMAINS","WIX_API_DOMAINS","DEV_WIX_CODE_DOMAIN","REGEX_CAPTURE_API_DOMAINS","WIX_API_DOMAINS","REGEX_CAPTURE_DEV_WIX_CODE_DOMAIN","DEV_WIX_CODE_DOMAIN","wixContext","enableContext","wixClient","contextType","fetchWithAuth","createRESTModule","restModuleOpts","url","options"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
1
|
+
import{a}from"./chunk-XYIDODIB.js";import"./chunk-BGTZ3RNN.js";import"./chunk-7EYXEF6M.js";import"./chunk-SBZEOPXX.js";function d(){let t=null,n=null;return{promise:new Promise((o,i)=>{t=o,n=i}),resolve:t,reject:n}}var u=t=>{let{createHost:n}=t;return{__type:"host",create:e=>({}),host:e=>{var o,i;let{applicationId:s}=e??{},r=typeof window<"u"?window.wixEmbedsAPI:void 0,l=n(e),p=f();return{...l,apiBaseUrl:p,getMonitoringClient:r==null||r.getMonitoringClientFunction==null?void 0:r.getMonitoringClientFunction(s),essentials:{language:typeof window<"u"?(o=window.commonConfig)==null?void 0:o.language:void 0,locale:typeof window<"u"?(i=window.commonConfig)==null?void 0:i.locale:void 0}}},auth:e=>{let o=typeof window<"u"?window.wixEmbedsAPI:void 0;e||(e=o==null||o.getAccessTokenFunction==null?void 0:o.getAccessTokenFunction());let i=!1,{resolve:s,promise:r}=d();return{getAuthHeaders:async()=>{if(!e&&i&&(e=await r),!e)throw new Error("Failed to resolve auth token");return{headers:{Authorization:await e()}}},getAccessTokenInjector:()=>(i=!0,l=>{s(l)})}}}};function f(){let t=typeof window<"u"?window.wixEmbedsAPI:void 0,n=t==null||t.getExternalBaseUrl==null?void 0:t.getExternalBaseUrl();if(!n)return;let e=new URL(n);return e!=null&&e.pathname&&e.pathname!=="/"?""+e.hostname+e.pathname:e.hostname}var w=t=>{let{clientSdk:n,applicationId:e}=t;return{invoke:async o=>{let{namespace:i,method:s,args:r}=o;if(!n)throw new Error("Wix Site SDK only works in a Wix site environment. Learn more: https://dev.wix.com/docs/sdk/host-modules/site/introduction");return n.invoke({namespace:i,method:s,args:r,applicationId:e,accessToken:"accessToken"})},getAccessToken:()=>{throw new Error("Not implemented")},observeState:()=>({disconnect:()=>{}})}};var m=function(t){let n=typeof $wixContext<"u"&&$wixContext.clientSdk||t?.clientSdk||window.clientSdk,{applicationId:e}=t||{};if(!e)throw new Error('"createHost" was called without a required field "applicationId"');return{channel:w({clientSdk:n,applicationId:e}),close:()=>{}}};var c=u({createHost:m});var S=t=>{let n=c.host({applicationId:t}),e=c.auth(),o=e.getAccessTokenInjector();return a({auth:e,host:n}).enableContext("module"),{injectGetAccessToken:o}};export{S as enableClient};
|
|
2
2
|
//# sourceMappingURL=site.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/@wix/site/src/utils.ts","../../../node_modules/@wix/site/src/websiteHostModule.ts","../../../node_modules/@wix/site/src/channel.ts","../../../node_modules/@wix/site/src/hostPlatform.ts","../../../node_modules/@wix/site/src/index.ts","../src/site.ts"],"sourcesContent":["export function withResolvers<T>(): {\n resolve: (value: T | PromiseLike<T>) => void;\n reject: (reason?: any) => void;\n promise: Promise<T>;\n} {\n let resolve = null as any;\n let reject = null as any;\n\n const promise = new Promise<T>((resolveFn, rejectFn) => {\n resolve = resolveFn;\n reject = rejectFn;\n });\n\n return { promise, resolve, reject };\n}\n","import type { HostModule } from '@wix/sdk-types';\nimport { withResolvers } from './utils';\nimport {\n AccessTokenFn,\n CreateAuthStrategy,\n CreateWebsiteHost,\n Host,\n SDK,\n SDKOptions,\n WixEmbedsAPI,\n} from './types';\n\ndeclare global {\n interface Window {\n wixEmbedsAPI?: WixEmbedsAPI;\n commonConfig?: {\n language?: string;\n locale?: string;\n };\n }\n}\n\nexport const createWebsiteModule = ({\n createHost,\n}: {\n createHost: CreateWebsiteHost;\n}): HostModule<SDK, Host> & {\n host: CreateWebsiteHost;\n auth: CreateAuthStrategy;\n} => {\n return {\n __type: 'host',\n create: (_host) => {\n // Here we can implement module methods that could be used by the SDK via \"wixClient.use(website)\" api.\n // We don't have any for now, so we just return an empty object.\n return {};\n },\n host: (options?: SDKOptions) => {\n const { applicationId } = options ?? {};\n const wixEmbedsAPI =\n typeof window !== 'undefined' ? window.wixEmbedsAPI : undefined;\n\n const host = createHost(options);\n const apiBaseUrl = getApiBaseUrl();\n\n return {\n ...host,\n apiBaseUrl,\n getMonitoringClient:\n wixEmbedsAPI?.getMonitoringClientFunction?.(applicationId),\n essentials: {\n language:\n typeof window !== 'undefined'\n ? window.commonConfig?.language\n : undefined,\n locale:\n typeof window !== 'undefined'\n ? window.commonConfig?.locale\n : undefined,\n },\n };\n },\n auth: (getAccessTokenFn?: AccessTokenFn) => {\n const wixEmbedsAPI =\n typeof window !== 'undefined' ? window.wixEmbedsAPI : undefined;\n\n if (!getAccessTokenFn) {\n /*\n We must call wixEmbedsAPI.getAccessTokenFunction() in the main frame and not from async callbacks / setTimeout calls\n since it uses document.currentScript API behind the scenes\n https://developer.mozilla.org/en-US/docs/Web/API/Document/currentScript\n * */\n getAccessTokenFn = wixEmbedsAPI?.getAccessTokenFunction?.();\n }\n\n let injectorCreated = false;\n\n const { resolve: resolveAccessTokenFn, promise: accessTokenFnPromise } =\n withResolvers<AccessTokenFn>();\n\n return {\n getAuthHeaders: async () => {\n if (!getAccessTokenFn && injectorCreated) {\n getAccessTokenFn = await accessTokenFnPromise;\n }\n\n if (!getAccessTokenFn) {\n throw new Error('Failed to resolve auth token');\n }\n\n return {\n headers: {\n Authorization: await getAccessTokenFn(),\n },\n };\n },\n getAccessTokenInjector: () => {\n injectorCreated = true;\n\n return (_getAccessTokenFn: AccessTokenFn) => {\n resolveAccessTokenFn(_getAccessTokenFn);\n };\n },\n };\n },\n };\n};\n\nfunction getApiBaseUrl() {\n const wixEmbedsAPI =\n typeof window !== 'undefined' ? window.wixEmbedsAPI : undefined;\n const apiBaseUrl = wixEmbedsAPI?.getExternalBaseUrl?.();\n if (!apiBaseUrl) {\n return;\n }\n\n // clean the protocol from the URL\n const parsedUrlObject = new URL(apiBaseUrl);\n if (parsedUrlObject?.pathname && parsedUrlObject.pathname !== '/') {\n return `${parsedUrlObject.hostname}${parsedUrlObject.pathname}`;\n }\n\n return parsedUrlObject.hostname;\n}\n","import { ClientSDK, WebsiteChannel } from './types';\n\nexport const createWebsiteChannel = ({\n clientSdk,\n applicationId,\n}: {\n clientSdk?: ClientSDK;\n applicationId: string;\n}): WebsiteChannel => {\n return {\n invoke: async ({ namespace, method, args }) => {\n if (!clientSdk) {\n throw new Error(\n 'Wix Site SDK only works in a Wix site environment. Learn more: https://dev.wix.com/docs/sdk/host-modules/site/introduction',\n );\n }\n\n return clientSdk.invoke({\n namespace,\n method,\n args,\n applicationId,\n accessToken: 'accessToken',\n });\n },\n getAccessToken: () => {\n throw new Error('Not implemented');\n },\n observeState: () => ({\n disconnect: () => {},\n }),\n };\n};\n","import { createWebsiteChannel } from './channel';\nimport type { CreateWebsiteHost, ClientSDK } from './types';\n\ndeclare global {\n interface Window {\n clientSdk?: ClientSDK;\n }\n}\n\ndeclare const $wixContext: {\n clientSdk: ClientSDK;\n};\n\nexport const createHost: CreateWebsiteHost = function (config) {\n const clientSdk =\n (typeof $wixContext !== 'undefined' && $wixContext.clientSdk) ||\n config?.clientSdk ||\n window.clientSdk;\n const { applicationId } = config || {};\n\n if (!applicationId) {\n throw new Error(\n '\"createHost\" was called without a required field \"applicationId\"',\n );\n }\n\n return {\n // environment: {},\n channel: createWebsiteChannel({ clientSdk, applicationId }),\n close: () => {},\n };\n};\n","import { createWebsiteModule } from './websiteHostModule';\nimport { createHost } from './hostPlatform';\n\nexport const site = createWebsiteModule({ createHost });\n\nexport * from './types';\n","import { site } from '@wix/site';\nimport { createClient } from '@wix/sdk';\n\nexport const enableClient = (applicationId: string) => {\n const host = site.host({ applicationId });\n const auth = site.auth();\n const injectGetAccessToken = auth.getAccessTokenInjector();\n\n const wixClient = createClient({\n auth,\n host,\n });\n wixClient.enableContext('module');\n\n return {\n injectGetAccessToken,\n };\n};\n"],"mappings":"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","names":["withResolvers","resolve","reject","promise","Promise","resolveFn","rejectFn","createWebsiteModule","_ref","createHost","__type","create","_host","host","options","_window$commonConfig","_window$commonConfig2","applicationId","wixEmbedsAPI","window","undefined","apiBaseUrl","getApiBaseUrl","getMonitoringClient","getMonitoringClientFunction","essentials","language","commonConfig","locale","auth","getAccessTokenFn","getAccessTokenFunction","injectorCreated","resolve","resolveAccessTokenFn","promise","accessTokenFnPromise","withResolvers","getAuthHeaders","Error","headers","Authorization","getAccessTokenInjector","_getAccessTokenFn","getExternalBaseUrl","parsedUrlObject","URL","pathname","hostname","createWebsiteChannel","_ref","clientSdk","applicationId","invoke","_ref2","namespace","method","args","Error","accessToken","getAccessToken","observeState","disconnect","createHost","config","clientSdk","$wixContext","window","applicationId","Error","channel","createWebsiteChannel","close","site","createWebsiteModule","createHost","enableClient","applicationId","host","site","auth","injectGetAccessToken","createClient"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/@wix/site/src/utils.ts","../../../node_modules/@wix/site/src/websiteHostModule.ts","../../../node_modules/@wix/site/src/channel.ts","../../../node_modules/@wix/site/src/hostPlatform.ts","../../../node_modules/@wix/site/src/index.ts","../src/site.ts"],"sourcesContent":["export function withResolvers<T>(): {\n resolve: (value: T | PromiseLike<T>) => void;\n reject: (reason?: any) => void;\n promise: Promise<T>;\n} {\n let resolve = null as any;\n let reject = null as any;\n\n const promise = new Promise<T>((resolveFn, rejectFn) => {\n resolve = resolveFn;\n reject = rejectFn;\n });\n\n return { promise, resolve, reject };\n}\n","import type { HostModule } from '@wix/sdk-types';\nimport { withResolvers } from './utils';\nimport {\n AccessTokenFn,\n CreateAuthStrategy,\n CreateWebsiteHost,\n Host,\n SDK,\n SDKOptions,\n WixEmbedsAPI,\n} from './types';\n\ndeclare global {\n interface Window {\n wixEmbedsAPI?: WixEmbedsAPI;\n commonConfig?: {\n language?: string;\n locale?: string;\n };\n }\n}\n\nexport const createWebsiteModule = ({\n createHost,\n}: {\n createHost: CreateWebsiteHost;\n}): HostModule<SDK, Host> & {\n host: CreateWebsiteHost;\n auth: CreateAuthStrategy;\n} => {\n return {\n __type: 'host',\n create: (_host) => {\n // Here we can implement module methods that could be used by the SDK via \"wixClient.use(website)\" api.\n // We don't have any for now, so we just return an empty object.\n return {};\n },\n host: (options?: SDKOptions) => {\n const { applicationId } = options ?? {};\n const wixEmbedsAPI =\n typeof window !== 'undefined' ? window.wixEmbedsAPI : undefined;\n\n const host = createHost(options);\n const apiBaseUrl = getApiBaseUrl();\n\n return {\n ...host,\n apiBaseUrl,\n getMonitoringClient:\n wixEmbedsAPI?.getMonitoringClientFunction?.(applicationId),\n essentials: {\n language:\n typeof window !== 'undefined'\n ? window.commonConfig?.language\n : undefined,\n locale:\n typeof window !== 'undefined'\n ? window.commonConfig?.locale\n : undefined,\n },\n };\n },\n auth: (getAccessTokenFn?: AccessTokenFn) => {\n const wixEmbedsAPI =\n typeof window !== 'undefined' ? window.wixEmbedsAPI : undefined;\n\n if (!getAccessTokenFn) {\n /*\n We must call wixEmbedsAPI.getAccessTokenFunction() in the main frame and not from async callbacks / setTimeout calls\n since it uses document.currentScript API behind the scenes\n https://developer.mozilla.org/en-US/docs/Web/API/Document/currentScript\n * */\n getAccessTokenFn = wixEmbedsAPI?.getAccessTokenFunction?.();\n }\n\n let injectorCreated = false;\n\n const { resolve: resolveAccessTokenFn, promise: accessTokenFnPromise } =\n withResolvers<AccessTokenFn>();\n\n return {\n getAuthHeaders: async () => {\n if (!getAccessTokenFn && injectorCreated) {\n getAccessTokenFn = await accessTokenFnPromise;\n }\n\n if (!getAccessTokenFn) {\n throw new Error('Failed to resolve auth token');\n }\n\n return {\n headers: {\n Authorization: await getAccessTokenFn(),\n },\n };\n },\n getAccessTokenInjector: () => {\n injectorCreated = true;\n\n return (_getAccessTokenFn: AccessTokenFn) => {\n resolveAccessTokenFn(_getAccessTokenFn);\n };\n },\n };\n },\n };\n};\n\nfunction getApiBaseUrl() {\n const wixEmbedsAPI =\n typeof window !== 'undefined' ? window.wixEmbedsAPI : undefined;\n const apiBaseUrl = wixEmbedsAPI?.getExternalBaseUrl?.();\n if (!apiBaseUrl) {\n return;\n }\n\n // clean the protocol from the URL\n const parsedUrlObject = new URL(apiBaseUrl);\n if (parsedUrlObject?.pathname && parsedUrlObject.pathname !== '/') {\n return `${parsedUrlObject.hostname}${parsedUrlObject.pathname}`;\n }\n\n return parsedUrlObject.hostname;\n}\n","import { ClientSDK, WebsiteChannel } from './types';\n\nexport const createWebsiteChannel = ({\n clientSdk,\n applicationId,\n}: {\n clientSdk?: ClientSDK;\n applicationId: string;\n}): WebsiteChannel => {\n return {\n invoke: async ({ namespace, method, args }) => {\n if (!clientSdk) {\n throw new Error(\n 'Wix Site SDK only works in a Wix site environment. Learn more: https://dev.wix.com/docs/sdk/host-modules/site/introduction',\n );\n }\n\n return clientSdk.invoke({\n namespace,\n method,\n args,\n applicationId,\n accessToken: 'accessToken',\n });\n },\n getAccessToken: () => {\n throw new Error('Not implemented');\n },\n observeState: () => ({\n disconnect: () => {},\n }),\n };\n};\n","import { createWebsiteChannel } from './channel';\nimport type { CreateWebsiteHost, ClientSDK } from './types';\n\ndeclare global {\n interface Window {\n clientSdk?: ClientSDK;\n }\n}\n\ndeclare const $wixContext: {\n clientSdk: ClientSDK;\n};\n\nexport const createHost: CreateWebsiteHost = function (config) {\n const clientSdk =\n (typeof $wixContext !== 'undefined' && $wixContext.clientSdk) ||\n config?.clientSdk ||\n window.clientSdk;\n const { applicationId } = config || {};\n\n if (!applicationId) {\n throw new Error(\n '\"createHost\" was called without a required field \"applicationId\"',\n );\n }\n\n return {\n // environment: {},\n channel: createWebsiteChannel({ clientSdk, applicationId }),\n close: () => {},\n };\n};\n","import { createWebsiteModule } from './websiteHostModule';\nimport { createHost } from './hostPlatform';\n\nexport const site = createWebsiteModule({ createHost });\n\nexport * from './types';\n","import { site } from '@wix/site';\nimport { createClient } from '@wix/sdk';\n\nexport const enableClient = (applicationId: string) => {\n const host = site.host({ applicationId });\n const auth = site.auth();\n const injectGetAccessToken = auth.getAccessTokenInjector();\n\n const wixClient = createClient({\n auth,\n host,\n });\n wixClient.enableContext('module');\n\n return {\n injectGetAccessToken,\n };\n};\n"],"mappings":"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","names":["withResolvers","resolve","reject","promise","Promise","resolveFn","rejectFn","createWebsiteModule","_ref","createHost","__type","create","_host","host","options","_window$commonConfig","_window$commonConfig2","applicationId","wixEmbedsAPI","window","undefined","apiBaseUrl","getApiBaseUrl","getMonitoringClient","getMonitoringClientFunction","essentials","language","commonConfig","locale","auth","getAccessTokenFn","getAccessTokenFunction","injectorCreated","resolve","resolveAccessTokenFn","promise","accessTokenFnPromise","withResolvers","getAuthHeaders","Error","headers","Authorization","getAccessTokenInjector","_getAccessTokenFn","getExternalBaseUrl","parsedUrlObject","URL","pathname","hostname","createWebsiteChannel","_ref","clientSdk","applicationId","invoke","_ref2","namespace","method","args","Error","accessToken","getAccessToken","observeState","disconnect","createHost","config","clientSdk","$wixContext","window","applicationId","Error","channel","createWebsiteChannel","close","site","createWebsiteModule","createHost","enableClient","applicationId","host","site","auth","injectGetAccessToken","createClient"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import"./chunk-7EYXEF6M.js";import"./chunk-SBZEOPXX.js";import{wixContext as o}from"@wix/sdk-context";function c(){let n=typeof $wixContext<"u"&&$wixContext.initWixModules?$wixContext.initWixModules:typeof globalThis.__wix_context__<"u"&&globalThis.__wix_context__.initWixModules?globalThis.__wix_context__.initWixModules:void 0;if(n)return{initWixModules(e,r){return a(()=>n(e,r))},fetchWithAuth(){throw new Error("fetchWithAuth is not available in this context")},graphql(){throw new Error("graphql is not available in this context")}};let t=typeof $wixContext<"u"?$wixContext.client:typeof o.client<"u"?o.client:typeof globalThis.__wix_context__<"u"?globalThis.__wix_context__.client:void 0,i=typeof $wixContext<"u"?$wixContext.elevatedClient:typeof o.elevatedClient<"u"?o.elevatedClient:typeof globalThis.__wix_context__<"u"?globalThis.__wix_context__.elevatedClient:void 0;if(!(!t&&!i))return{initWixModules(e,r){if(r){if(!i)throw new Error("An elevated client is required to use elevated modules. Make sure to initialize the Wix context with an elevated client before using elevated SDK modules");return a(()=>i.use(e))}if(!t)throw new Error("Wix context is not available. Make sure to initialize the Wix context before using SDK modules");return a(()=>t.use(e))},fetchWithAuth:(e,r)=>{if(!t)throw new Error("Wix context is not available. Make sure to initialize the Wix context before using SDK modules");return t.fetchWithAuth(e,r)},async graphql(e,r,s){if(!t)throw new Error("Wix context is not available. Make sure to initialize the Wix context before using SDK modules");return t.graphql(e,r,s)}}}function a(n){let t=globalThis.__wix_context__,i={client:o.client,elevatedClient:o.elevatedClient},e;globalThis.__wix_context__=void 0,o.client=void 0,o.elevatedClient=void 0,typeof $wixContext<"u"&&(e={client:$wixContext?.client,elevatedClient:$wixContext?.elevatedClient},delete $wixContext.client,delete $wixContext.elevatedClient);try{return n()}finally{globalThis.__wix_context__=t,o.client=i.client,o.elevatedClient=i.elevatedClient,typeof $wixContext<"u"&&($wixContext.client=e.client,$wixContext.elevatedClient=e.elevatedClient)}}function u(n,t){return(...i)=>{let e=c();return e?e.initWixModules(n,t).apply(void 0,i):n.apply(void 0,i)}}function x(n,t=!1){return u(n,t)}var d=["wix.com","editorx.com"];var y=new RegExp(`\\.(${d.join("|")})$`),f=["42.wixprod.net","uw2-edt-1.wixprod.net"],p="dev.wix-code.com";var C=new RegExp(`\\.(${f.join("|")})$`),M=new RegExp(`.*\\.${p}$`);var v=x(n=>async({baseURL:t,filename:i,method:e,args:r})=>{let l=await(await n.fetchWithAuth(`${t}/_webMethods/${i}/${e}.ajax`,{body:JSON.stringify(r),method:"POST"})).json();if(l.exception===!0)throw l.result;return l.result});export{v as callWebMethod};
|
|
2
2
|
//# sourceMappingURL=web-methods.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/@wix/web-methods-platform/build/client/index.js"],"sourcesContent":["import { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nexport const callWebMethod = createRESTModule((restModuleOpts) => {\n return async ({ baseURL, filename, method, args }) => {\n const response = await restModuleOpts.fetchWithAuth(`${baseURL}/_webMethods/${filename}/${method}.ajax`, {\n body: JSON.stringify(args),\n method: 'POST',\n });\n const json = await response.json();\n // request failed\n if (json.exception === true) {\n throw json.result;\n }\n return json.result;\n };\n});\n"],"mappings":"gGACO,IAAMA,EAAgBC,EAAkBC,GACpC,MAAO,CAAE,QAAAC,EAAS,SAAAC,EAAU,OAAAC,EAAQ,KAAAC,CAAK,IAAM,CAKlD,IAAMC,EAAO,MAJI,MAAML,EAAe,cAAc,GAAGC,CAAO,gBAAgBC,CAAQ,IAAIC,CAAM,QAAS,CACrG,KAAM,KAAK,UAAUC,CAAI,EACzB,OAAQ,MACZ,CAAC,GAC2B,KAAK,EAEjC,GAAIC,EAAK,YAAc,GACnB,MAAMA,EAAK,OAEf,OAAOA,EAAK,MAChB,CACH","names":["callWebMethod","createRESTModule","restModuleOpts","baseURL","filename","method","args","json"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/@wix/web-methods-platform/node_modules/@wix/sdk-runtime/build/context.js","../../../node_modules/@wix/web-methods-platform/node_modules/@wix/sdk-runtime/build/context-v2.js","../../../node_modules/@wix/web-methods-platform/node_modules/@wix/sdk-runtime/build/rest-modules.js","../../../node_modules/@wix/web-methods-platform/build/client/index.js"],"sourcesContent":["import { wixContext } from '@wix/sdk-context';\nexport function resolveContext() {\n const oldContext = typeof $wixContext !== 'undefined' && $wixContext.initWixModules\n ? $wixContext.initWixModules\n : typeof globalThis.__wix_context__ !== 'undefined' &&\n globalThis.__wix_context__.initWixModules\n ? globalThis.__wix_context__.initWixModules\n : undefined;\n if (oldContext) {\n return {\n // @ts-expect-error\n initWixModules(modules, elevated) {\n return runWithoutContext(() => oldContext(modules, elevated));\n },\n fetchWithAuth() {\n throw new Error('fetchWithAuth is not available in this context');\n },\n graphql() {\n throw new Error('graphql is not available in this context');\n },\n };\n }\n const contextualClient = typeof $wixContext !== 'undefined'\n ? $wixContext.client\n : typeof wixContext.client !== 'undefined'\n ? wixContext.client\n : typeof globalThis.__wix_context__ !== 'undefined'\n ? globalThis.__wix_context__.client\n : undefined;\n const elevatedClient = typeof $wixContext !== 'undefined'\n ? $wixContext.elevatedClient\n : typeof wixContext.elevatedClient !== 'undefined'\n ? wixContext.elevatedClient\n : typeof globalThis.__wix_context__ !== 'undefined'\n ? globalThis.__wix_context__.elevatedClient\n : undefined;\n if (!contextualClient && !elevatedClient) {\n return;\n }\n return {\n initWixModules(wixModules, elevated) {\n if (elevated) {\n if (!elevatedClient) {\n throw new Error('An elevated client is required to use elevated modules. Make sure to initialize the Wix context with an elevated client before using elevated SDK modules');\n }\n return runWithoutContext(() => elevatedClient.use(wixModules));\n }\n if (!contextualClient) {\n throw new Error('Wix context is not available. Make sure to initialize the Wix context before using SDK modules');\n }\n return runWithoutContext(() => contextualClient.use(wixModules));\n },\n fetchWithAuth: (urlOrRequest, requestInit) => {\n if (!contextualClient) {\n throw new Error('Wix context is not available. Make sure to initialize the Wix context before using SDK modules');\n }\n return contextualClient.fetchWithAuth(urlOrRequest, requestInit);\n },\n async graphql(query, variables, opts) {\n if (!contextualClient) {\n throw new Error('Wix context is not available. Make sure to initialize the Wix context before using SDK modules');\n }\n return contextualClient.graphql(query, variables, opts);\n },\n };\n}\nexport function contextualizeHostModule(hostModule, prop) {\n return (...args) => {\n const context = resolveContext();\n if (!context) {\n throw new Error('Wix context is not available. Make sure to initialize the Wix context before using SDK modules');\n }\n return context.initWixModules(hostModule)[prop].apply(undefined, args);\n };\n}\nexport function contextualizeRESTModule(restModule, expectedArgsLength) {\n return ((...args) => {\n const context = resolveContext();\n if (!context) {\n throw new Error('Wix context is not available. Make sure to initialize the Wix context before using SDK modules');\n }\n return context\n .initWixModules(restModule, args[expectedArgsLength]?.suppressAuth ? true : false)\n .apply(undefined, args);\n });\n}\nexport function contextualizeEventDefinitionModule(eventDefinition) {\n return ((...args) => {\n const context = resolveContext();\n if (!context) {\n throw new Error('Wix context is not available. Make sure to initialize the Wix context before using SDK modules');\n }\n return context.initWixModules(eventDefinition).apply(undefined, args);\n });\n}\nexport function contextualizeSerivcePluginModule(servicePlugin) {\n return ((...args) => {\n const context = resolveContext();\n if (!context) {\n throw new Error('Wix context is not available. Make sure to initialize the Wix context before using SDK modules');\n }\n return context.initWixModules(servicePlugin).apply(undefined, args);\n });\n}\nexport * from './context-v2.js';\nexport function runWithoutContext(fn) {\n const globalContext = globalThis.__wix_context__;\n const moduleContext = {\n client: wixContext.client,\n elevatedClient: wixContext.elevatedClient,\n };\n let closureContext;\n globalThis.__wix_context__ = undefined;\n wixContext.client = undefined;\n wixContext.elevatedClient = undefined;\n if (typeof $wixContext !== 'undefined') {\n closureContext = {\n client: $wixContext?.client,\n elevatedClient: $wixContext?.elevatedClient,\n };\n delete $wixContext.client;\n delete $wixContext.elevatedClient;\n }\n try {\n return fn();\n }\n finally {\n globalThis.__wix_context__ = globalContext;\n wixContext.client = moduleContext.client;\n wixContext.elevatedClient = moduleContext.elevatedClient;\n if (typeof $wixContext !== 'undefined') {\n $wixContext.client = closureContext.client;\n $wixContext.elevatedClient = closureContext.elevatedClient;\n }\n }\n}\n","import { EventDefinition, ServicePluginDefinition, } from '@wix/sdk-types';\nimport { resolveContext } from './context.js';\nexport { EventDefinition, ServicePluginDefinition, };\nexport function contextualizeHostModuleV2(hostModule, props) {\n return {\n ...hostModule,\n ...Object.fromEntries(props.map((prop) => [\n prop,\n (...args) => {\n const context = resolveContext();\n if (!context) {\n throw new Error('Wix context is not available. Make sure to initialize the Wix context before using SDK modules');\n }\n return context\n .initWixModules(hostModule)[prop].apply(undefined, args);\n },\n ])),\n };\n}\nexport function contextualizeRESTModuleV2(restModule, elevated) {\n return ((...args) => {\n const context = resolveContext();\n if (!context) {\n // @ts-expect-error - if there is no context, we want to behave like the original module\n return restModule.apply(undefined, args);\n }\n return (context\n .initWixModules(restModule, elevated)\n // @ts-expect-error - we know the args here are meant to be passed to the initalized module\n .apply(undefined, args));\n });\n}\nexport function contextualizeEventDefinitionModuleV2(eventDefinition) {\n const contextualMethod = ((...args) => {\n const context = resolveContext();\n if (!context) {\n // this line should throw, but this would be a breaking change for older SDK versions\n // this is because in wixClient there's code that calls any function it detects and checks\n // if it's an ambassador module (see isAmbassadorModule)\n return () => { };\n }\n return context.initWixModules(eventDefinition).apply(undefined, args);\n });\n contextualMethod.__type = eventDefinition.__type;\n contextualMethod.type = eventDefinition.type;\n contextualMethod.isDomainEvent = eventDefinition.isDomainEvent;\n contextualMethod.transformations = eventDefinition.transformations;\n return contextualMethod;\n}\nexport function contextualizeSerivcePluginModuleV2(servicePlugin) {\n const contextualMethod = ((...args) => {\n const context = resolveContext();\n if (!context) {\n // this line should throw, but this would be a breaking change for older SDK versions\n // this is because in wixClient there's code that calls any function it detects and checks\n // if it's an ambassador module (see isAmbassadorModule)\n return () => { };\n }\n return context.initWixModules(servicePlugin).apply(undefined, args);\n });\n contextualMethod.__type = servicePlugin.__type;\n contextualMethod.componentType = servicePlugin.componentType;\n contextualMethod.methods = servicePlugin.methods;\n return contextualMethod;\n}\n","import { contextualizeRESTModuleV2 } from './context-v2.js';\nexport function createRESTModule(descriptor, elevated = false) {\n return contextualizeRESTModuleV2(descriptor, elevated);\n}\nexport function toURLSearchParams(params, isComplexRequest) {\n const flatten = flattenParams(params);\n const searchParams = Object.entries(flatten).reduce((urlSearchParams, [key, value]) => {\n // inorder to make `foo: [1,2]` turn into `foo=1&foo=2` and not `foo[]=1&foo[]=2`\n const keyParams = Array.isArray(value) ? value : [value];\n keyParams.forEach((param) => {\n if (param === undefined || param === null) {\n return;\n }\n urlSearchParams.append(key, param);\n });\n return urlSearchParams;\n }, new URLSearchParams());\n if (isComplexRequest) {\n searchParams.append('.r', base64Encode(JSON.stringify(params)));\n }\n return searchParams;\n}\nexport function resolveUrl(opts) {\n const domain = resolveDomain(opts.host);\n const mappings = resolveMappingsByDomain(domain, opts.domainToMappings);\n const path = injectDataIntoProtoPath(opts.protoPath, opts.data || {});\n return resolvePathFromMappings(path, mappings);\n}\nfunction flattenParams(data, path = '') {\n const params = {};\n Object.entries(data).forEach(([key, value]) => {\n const isObject = value !== null && typeof value === 'object' && !Array.isArray(value);\n const fieldPath = resolvePath(path, key);\n if (isObject) {\n const serializedObject = flattenParams(value, fieldPath);\n Object.assign(params, serializedObject);\n }\n else {\n params[fieldPath] = value;\n }\n });\n return params;\n}\nfunction resolvePath(path, key) {\n return `${path}${path ? '.' : ''}${key}`;\n}\nconst base64Encode = (value) => {\n const base64 = typeof btoa !== 'undefined'\n ? btoa(value)\n : Buffer.from(value, 'utf-8').toString('base64');\n return base64.replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n};\nconst DOMAINS = ['wix.com', 'editorx.com'];\nconst USER_DOMAIN = '_';\nconst REGEX_CAPTURE_DOMAINS = new RegExp(`\\\\.(${DOMAINS.join('|')})$`);\nconst WIX_API_DOMAINS = ['42.wixprod.net', 'uw2-edt-1.wixprod.net'];\nconst DEV_WIX_CODE_DOMAIN = 'dev.wix-code.com';\nconst REGEX_CAPTURE_PROTO_FIELD = /{(.*)}/;\nconst REGEX_CAPTURE_API_DOMAINS = new RegExp(`\\\\.(${WIX_API_DOMAINS.join('|')})$`);\nconst REGEX_CAPTURE_DEV_WIX_CODE_DOMAIN = new RegExp(`.*\\\\.${DEV_WIX_CODE_DOMAIN}$`);\nfunction resolveDomain(host) {\n const resolvedHost = fixHostExceptions(host);\n return resolvedHost\n .replace(REGEX_CAPTURE_DOMAINS, '._base_domain_')\n .replace(REGEX_CAPTURE_API_DOMAINS, '._api_base_domain_')\n .replace(REGEX_CAPTURE_DEV_WIX_CODE_DOMAIN, '*.dev.wix-code.com');\n}\n// hosts which standard string replacing doesn't apply to them, will be fixed here.\nfunction fixHostExceptions(host) {\n // https://system-kb.wixanswers.com/kb/en/article/editorx-domains-matching-to-wixcom\n return host.replace('create.editorx.com', 'editor.editorx.com');\n}\nfunction resolveMappingsByDomain(domain, domainToMappings) {\n const mappings = domainToMappings[domain] || domainToMappings[USER_DOMAIN];\n if (!mappings) {\n if (isBaseDomain(domain)) {\n // fallback <lang>.wix.com sub domains to www.wix.com\n // since all of the languages subdomain are not mapped automatically in FP and we want to support those kind of calls\n // for example: fr.wix.com\n return domainToMappings[wwwBaseDomain];\n }\n }\n return mappings;\n}\nfunction isBaseDomain(domain) {\n return !!domain.match(/\\._base_domain_$/);\n}\nconst wwwBaseDomain = 'www._base_domain_';\nfunction injectDataIntoProtoPath(protoPath, data) {\n return protoPath\n .split('/')\n .map((path) => maybeProtoPathToData(path, data))\n .join('/');\n}\nfunction maybeProtoPathToData(protoPath, data) {\n const protoRegExpMatch = protoPath.match(REGEX_CAPTURE_PROTO_FIELD) || [];\n const field = protoRegExpMatch[1];\n if (field) {\n const suffix = protoPath.replace(protoRegExpMatch[0], '');\n return findByPath(data, field, protoPath, suffix);\n }\n return protoPath;\n}\nfunction findByPath(obj, path, defaultValue, suffix) {\n let result = obj;\n for (const field of path.split('.')) {\n if (!result) {\n return defaultValue;\n }\n result = result[field];\n }\n return `${result}${suffix}`;\n}\nfunction resolvePathFromMappings(protoPath, mappings) {\n const mapping = mappings?.find((m) => protoPath.startsWith(m.destPath));\n if (!mapping) {\n // todo: should we return the path? if no - what should we do in case of testings?\n return protoPath;\n }\n return mapping.srcPath + protoPath.slice(mapping.destPath.length);\n}\n","import { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nexport const callWebMethod = createRESTModule((restModuleOpts) => {\n return async ({ baseURL, filename, method, args }) => {\n const response = await restModuleOpts.fetchWithAuth(`${baseURL}/_webMethods/${filename}/${method}.ajax`, {\n body: JSON.stringify(args),\n method: 'POST',\n });\n const json = await response.json();\n // request failed\n if (json.exception === true) {\n throw json.result;\n }\n return json.result;\n };\n});\n"],"mappings":"wDAAA,OAAS,cAAAA,MAAkB,mBACpB,SAASC,GAAiB,CAC7B,IAAMC,EAAa,OAAO,YAAgB,KAAe,YAAY,eAC/D,YAAY,eACZ,OAAO,WAAW,gBAAoB,KACpC,WAAW,gBAAgB,eACzB,WAAW,gBAAgB,eAC3B,OACV,GAAIA,EACA,MAAO,CAEH,eAAeC,EAASC,EAAU,CAC9B,OAAOC,EAAkB,IAAMH,EAAWC,EAASC,CAAQ,CAAC,CAChE,EACA,eAAgB,CACZ,MAAM,IAAI,MAAM,gDAAgD,CACpE,EACA,SAAU,CACN,MAAM,IAAI,MAAM,0CAA0C,CAC9D,CACJ,EAEJ,IAAME,EAAmB,OAAO,YAAgB,IAC1C,YAAY,OACZ,OAAON,EAAW,OAAW,IACzBA,EAAW,OACX,OAAO,WAAW,gBAAoB,IAClC,WAAW,gBAAgB,OAC3B,OACRO,EAAiB,OAAO,YAAgB,IACxC,YAAY,eACZ,OAAOP,EAAW,eAAmB,IACjCA,EAAW,eACX,OAAO,WAAW,gBAAoB,IAClC,WAAW,gBAAgB,eAC3B,OACd,GAAI,GAACM,GAAoB,CAACC,GAG1B,MAAO,CACH,eAAeC,EAAYJ,EAAU,CACjC,GAAIA,EAAU,CACV,GAAI,CAACG,EACD,MAAM,IAAI,MAAM,2JAA2J,EAE/K,OAAOF,EAAkB,IAAME,EAAe,IAAIC,CAAU,CAAC,CACjE,CACA,GAAI,CAACF,EACD,MAAM,IAAI,MAAM,gGAAgG,EAEpH,OAAOD,EAAkB,IAAMC,EAAiB,IAAIE,CAAU,CAAC,CACnE,EACA,cAAe,CAACC,EAAcC,IAAgB,CAC1C,GAAI,CAACJ,EACD,MAAM,IAAI,MAAM,gGAAgG,EAEpH,OAAOA,EAAiB,cAAcG,EAAcC,CAAW,CACnE,EACA,MAAM,QAAQC,EAAOC,EAAWC,EAAM,CAClC,GAAI,CAACP,EACD,MAAM,IAAI,MAAM,gGAAgG,EAEpH,OAAOA,EAAiB,QAAQK,EAAOC,EAAWC,CAAI,CAC1D,CACJ,CACJ,CAwCO,SAASC,EAAkBC,EAAI,CAClC,IAAMC,EAAgB,WAAW,gBAC3BC,EAAgB,CAClB,OAAQC,EAAW,OACnB,eAAgBA,EAAW,cAC/B,EACIC,EACJ,WAAW,gBAAkB,OAC7BD,EAAW,OAAS,OACpBA,EAAW,eAAiB,OACxB,OAAO,YAAgB,MACvBC,EAAiB,CACb,OAAQ,aAAa,OACrB,eAAgB,aAAa,cACjC,EACA,OAAO,YAAY,OACnB,OAAO,YAAY,gBAEvB,GAAI,CACA,OAAOJ,EAAG,CACd,QACA,CACI,WAAW,gBAAkBC,EAC7BE,EAAW,OAASD,EAAc,OAClCC,EAAW,eAAiBD,EAAc,eACtC,OAAO,YAAgB,MACvB,YAAY,OAASE,EAAe,OACpC,YAAY,eAAiBA,EAAe,eAEpD,CACJ,CCpHO,SAASC,EAA0BC,EAAYC,EAAU,CAC5D,MAAQ,IAAIC,IAAS,CACjB,IAAMC,EAAUC,EAAe,EAC/B,OAAKD,EAIGA,EACH,eAAeH,EAAYC,CAAQ,EAEnC,MAAM,OAAWC,CAAI,EALfF,EAAW,MAAM,OAAWE,CAAI,CAM/C,CACJ,CC9BO,SAASG,EAAiBC,EAAYC,EAAW,GAAO,CAC3D,OAAOC,EAA0BF,EAAYC,CAAQ,CACzD,CAiDA,IAAME,EAAU,CAAC,UAAW,aAAa,EAEzC,IAAMC,EAAwB,IAAI,OAAO,OAAOC,EAAQ,KAAK,GAAG,CAAC,IAAI,EAC/DC,EAAkB,CAAC,iBAAkB,uBAAuB,EAC5DC,EAAsB,mBAE5B,IAAMC,EAA4B,IAAI,OAAO,OAAOC,EAAgB,KAAK,GAAG,CAAC,IAAI,EAC3EC,EAAoC,IAAI,OAAO,QAAQC,CAAmB,GAAG,EC1D5E,IAAMC,EAAgBC,EAAkBC,GACpC,MAAO,CAAE,QAAAC,EAAS,SAAAC,EAAU,OAAAC,EAAQ,KAAAC,CAAK,IAAM,CAKlD,IAAMC,EAAO,MAJI,MAAML,EAAe,cAAc,GAAGC,CAAO,gBAAgBC,CAAQ,IAAIC,CAAM,QAAS,CACrG,KAAM,KAAK,UAAUC,CAAI,EACzB,OAAQ,MACZ,CAAC,GAC2B,KAAK,EAEjC,GAAIC,EAAK,YAAc,GACnB,MAAMA,EAAK,OAEf,OAAOA,EAAK,MAChB,CACH","names":["wixContext","resolveContext","oldContext","modules","elevated","runWithoutContext","contextualClient","elevatedClient","wixModules","urlOrRequest","requestInit","query","variables","opts","runWithoutContext","fn","globalContext","moduleContext","wixContext","closureContext","contextualizeRESTModuleV2","restModule","elevated","args","context","resolveContext","createRESTModule","descriptor","elevated","contextualizeRESTModuleV2","DOMAINS","REGEX_CAPTURE_DOMAINS","DOMAINS","WIX_API_DOMAINS","DEV_WIX_CODE_DOMAIN","REGEX_CAPTURE_API_DOMAINS","WIX_API_DOMAINS","REGEX_CAPTURE_DEV_WIX_CODE_DOMAIN","DEV_WIX_CODE_DOMAIN","callWebMethod","createRESTModule","restModuleOpts","baseURL","filename","method","args","json"]}
|
|
@@ -2,36 +2,36 @@ import { createRequire as _createRequire } from 'node:module';
|
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
createPreviewTag
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-IB2EYESP.js";
|
|
6
6
|
import {
|
|
7
7
|
addUserFields
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-3I7X6TPV.js";
|
|
9
|
+
import "./chunk-SFPBI2MM.js";
|
|
10
10
|
import {
|
|
11
11
|
ARMClient,
|
|
12
12
|
SiteListClient,
|
|
13
13
|
resolveConfiguredSite,
|
|
14
14
|
resolveDashboardExtensionUrl,
|
|
15
15
|
resolvePlatformUrl
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-7XQDPLBO.js";
|
|
17
|
+
import "./chunk-HAPDEIJZ.js";
|
|
18
|
+
import "./chunk-7I5LSGDI.js";
|
|
19
19
|
import "./chunk-ZR3N5INU.js";
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-SK3ICCEA.js";
|
|
21
|
+
import "./chunk-OV6Y7VX4.js";
|
|
22
|
+
import "./chunk-DIA3AFPZ.js";
|
|
23
23
|
import {
|
|
24
24
|
DevCenterComponent,
|
|
25
25
|
PlatformType,
|
|
26
26
|
createHttpClient,
|
|
27
27
|
isLoggedInToAccount,
|
|
28
28
|
uploadApplication
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-SXIV63HN.js";
|
|
30
30
|
import {
|
|
31
31
|
CliError,
|
|
32
32
|
CliErrorCode,
|
|
33
33
|
require_lib
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-CQUQ6WJV.js";
|
|
35
35
|
import {
|
|
36
36
|
__toESM,
|
|
37
37
|
init_esm_shims
|
|
@@ -135,4 +135,4 @@ async function nonInteractivePreview(options, model, services) {
|
|
|
135
135
|
export {
|
|
136
136
|
nonInteractivePreview
|
|
137
137
|
};
|
|
138
|
-
//# sourceMappingURL=preview-
|
|
138
|
+
//# sourceMappingURL=preview-4UF7QRIS.js.map
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
addUserFields,
|
|
8
8
|
reportCommandStartEvent
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-3I7X6TPV.js";
|
|
10
10
|
import {
|
|
11
11
|
DebugLogProvider
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-SK3ICCEA.js";
|
|
13
13
|
import {
|
|
14
14
|
AccountAuthProvider,
|
|
15
15
|
BiProvider,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
ProjectModelProvider,
|
|
18
18
|
getDebugLogFilePath,
|
|
19
19
|
loadProjectModel
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-SXIV63HN.js";
|
|
21
21
|
import {
|
|
22
22
|
CliError,
|
|
23
23
|
CliErrorCode,
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
render,
|
|
26
26
|
require_react,
|
|
27
27
|
version
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-CQUQ6WJV.js";
|
|
29
29
|
import {
|
|
30
30
|
__toESM,
|
|
31
31
|
init_esm_shims
|
|
@@ -114,4 +114,4 @@ export {
|
|
|
114
114
|
renderCommand,
|
|
115
115
|
runCommand
|
|
116
116
|
};
|
|
117
|
-
//# sourceMappingURL=render-command-
|
|
117
|
+
//# sourceMappingURL=render-command-5DTSCPVY.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/cli-app",
|
|
3
3
|
"description": "CLI tool for Wix apps",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.63",
|
|
5
5
|
"author": "Amit Dahan",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"esbuild": "^0.21.3",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"@wix/ambassador-devcenter-components-v1-component": "^1.0.436",
|
|
23
23
|
"@wix/app-cloud-uploader": "^1.14.0",
|
|
24
24
|
"@wix/arm-client": "0.0.0",
|
|
25
|
-
"@wix/bi-logger-dev-tools-data": "^1.
|
|
25
|
+
"@wix/bi-logger-dev-tools-data": "^1.90.0",
|
|
26
26
|
"@wix/cli-app-definitions": "0.0.0",
|
|
27
27
|
"@wix/cli-app-manifest": "1.0.0",
|
|
28
28
|
"@wix/cli-app-platform-sdk": "0.0.0",
|
|
@@ -150,5 +150,5 @@
|
|
|
150
150
|
]
|
|
151
151
|
}
|
|
152
152
|
},
|
|
153
|
-
"falconPackageHash": "
|
|
153
|
+
"falconPackageHash": "535a4ef495ec89c47f4cd9c339f4dc03853277918fb077cc9f5c5ae5"
|
|
154
154
|
}
|
package/schemas/site-plugin.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"type":"object","properties":{"$schema":{"type":"string"},"id":{"type":"string","format":"uuid","description":"The ID (GUID) is a unique identifier for your plugin."},"referenceComponentId":{"type":"string","format":"uuid","description":"The referenceComponentId (GUID) is a unique identifier for your element."},"marketData":{"type":"object","properties":{"name":{"type":"string","maxLength":30,"description":"The name of your plugin as it will appear in the plugin explorer"},"description":{"type":"string","description":"The description of your plugin as it will appear in the plugin explorer"},"logoUrl":{"anyOf":[{"type":"string","pattern":"^(https?):\\/\\/[^\\s/$.?#].[^\\s]*$"},{"type":"string","pattern":"^(?:\\.\\.?\\/)*[\\w\\-+]+(\\/[\\w\\-+]+)*\\.(jpg|svg|png)$"}],"description":"The logo of your plugin as it will appear in the plugin explorer"}},"required":["name"],"additionalProperties":false},"placements":{"type":"array","items":{"type":"object","properties":{"appDefinitionId":{"type":"string","format":"uuid"},"widgetId":{"type":"string","format":"uuid"},"slotId":{"type":"string"}},"required":["appDefinitionId","widgetId","slotId"],"additionalProperties":false}},"installation":{"type":"object","properties":{"autoAddToSite":{"type":"boolean","description":"Automatically adds the plugin to a site selected slot upon installation if true"}},"additionalProperties":false}},"required":["id","referenceComponentId","marketData","placements"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}
|
|
1
|
+
{"type":"object","properties":{"$schema":{"type":"string"},"id":{"type":"string","format":"uuid","description":"The ID (GUID) is a unique identifier for your plugin."},"referenceComponentId":{"type":"string","format":"uuid","description":"The referenceComponentId (GUID) is a unique identifier for your element."},"marketData":{"type":"object","properties":{"name":{"type":"string","maxLength":30,"description":"The name of your plugin as it will appear in the plugin explorer"},"description":{"type":"string","description":"The description of your plugin as it will appear in the plugin explorer"},"logoUrl":{"allOf":[{"anyOf":[{"not":{}},{"type":"string"}]},{"anyOf":[{"not":{}},{"anyOf":[{"type":"string","pattern":"^(https?):\\/\\/[^\\s/$.?#].[^\\s]*$"},{"type":"string","pattern":"^(?:\\.\\.?\\/)*[\\w\\-+]+(\\/[\\w\\-+]+)*\\.(jpg|svg|png)$"}]}],"description":"The logo of your plugin as it will appear in the plugin explorer"}]}},"required":["name"],"additionalProperties":false},"placements":{"type":"array","items":{"type":"object","properties":{"appDefinitionId":{"type":"string","format":"uuid"},"widgetId":{"type":"string","format":"uuid"},"slotId":{"type":"string"}},"required":["appDefinitionId","widgetId","slotId"],"additionalProperties":false}},"installation":{"type":"object","properties":{"autoAddToSite":{"type":"boolean","description":"Automatically adds the plugin to a site selected slot upon installation if true"}},"additionalProperties":false}},"required":["id","referenceComponentId","marketData","placements"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}
|
|
@@ -14,7 +14,7 @@ multiply(3, 4)
|
|
|
14
14
|
To learn more, check out our documentation: https://wix.to/6LV6Oka.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { webMethod, Permissions } from '@wix/
|
|
17
|
+
import { webMethod, Permissions } from '@wix/web-methods';
|
|
18
18
|
|
|
19
19
|
export const multiply = webMethod(
|
|
20
20
|
Permissions.Anyone,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/DevCommand/index.ts","../src/components/DevCommand/DevCommand.tsx","../src/components/DevCommand/DevCommandScreens.tsx","../src/components/DevCommand/HomeScreen.tsx","../src/components/DevCommand/screen-state.ts","../src/components/Platform/PlatformSelector.tsx","../src/components/DevCommand/EditorInstallation.tsx","../src/components/DevCommand/CustomElementsMigration.tsx","../src/components/DevCommand/DashboardNumericViewer.tsx","../src/components/CloseScreen/CloseScreen.tsx","../src/components/DevCommand/DashboardScreen.tsx","../src/components/DevCommand/DashboardArrowViewer.tsx","../src/components/NumericViewer/index.ts","../src/components/NumericViewer/NumericViewer.tsx","../src/components/DevCommand/SiteSelectorScreen.tsx","../src/components/CloseScreen/index.tsx","../src/components/DevCommand/BackendScreen.tsx","../src/components/DevCommand/BackendNumericViewer.tsx","../src/components/DevCommand/BackendArrowViewer.tsx","../src/components/DevCommand/TunnelingConsent.tsx","../../cli-user-config/src/user-config.ts","../src/components/DevCommand/RequiredAppsWarning.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","../src/components/DevCommand/DevScreenBorder.tsx"],"sourcesContent":["export { DevCommand } from './DevCommand.js';\nexport { DevEnvironmentProvider } from './DevEnvironment.js';\n","import React, { useMemo } from 'react';\nimport type { FC } from 'react';\nimport { SiteProvider } from '../../site/SiteProvider.js';\nimport { DevEnvironmentProvider } from './DevEnvironment.js';\nimport { DevCommandScreens } from './DevCommandScreens.js';\nimport { TunnelingConsent } from './TunnelingConsent.js';\nimport { CustomElementsMigration } from './CustomElementsMigration.js';\nimport { RequiredAppsWarning } from './RequiredAppsWarning.js';\nimport { DevScreenBorder } from './DevScreenBorder.js';\nimport { createLogger } from '../../vite/logger.js';\nimport { EditorInstallation } from './EditorInstallation.js';\n\nexport const DevCommand: FC<{ https: boolean }> = ({ https }) => {\n const logger = useMemo(() => createLogger({ timestamp: true }), []);\n\n return (\n <SiteProvider>\n <TunnelingConsent>\n <DevEnvironmentProvider logger={logger} https={https}>\n <CustomElementsMigration>\n <EditorInstallation>\n <RequiredAppsWarning>\n <DevScreenBorder>\n <DevCommandScreens />\n </DevScreenBorder>\n </RequiredAppsWarning>\n </EditorInstallation>\n </CustomElementsMigration>\n </DevEnvironmentProvider>\n </TunnelingConsent>\n </SiteProvider>\n );\n};\n","import React, { useState } from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { HomeScreen } from './HomeScreen.js';\nimport { SiteSelectorScreen } from './SiteSelectorScreen.js';\nimport { ScreenState } from './screen-state.js';\nimport { DashboardScreen } from './DashboardScreen.js';\nimport { BackendScreen } from './BackendScreen.js';\n\nexport const DevCommandScreens: FC = () => {\n const [screen, setScreen] = useState<ScreenState>(ScreenState.Home());\n\n return match(screen, {\n Home: () => <HomeScreen onScreenChange={setScreen} />,\n SiteSelector: () => <SiteSelectorScreen onScreenChange={setScreen} />,\n DashboardScreen: ({ selectorType }) => (\n <DashboardScreen\n initialSelectorType={selectorType}\n onSelect={() => setScreen(ScreenState.Home())}\n onClose={() => setScreen(ScreenState.Home())}\n />\n ),\n BackendScreen: ({ selectorType }) => (\n <BackendScreen\n initialSelectorType={selectorType}\n onSelect={() => setScreen(ScreenState.Home())}\n onClose={() => setScreen(ScreenState.Home())}\n />\n ),\n });\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Box, Text, Link, useInput, Key } from '@wix/cli-ui-kit';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { isType } from 'variant';\nimport { useSite } from '../../site/index.js';\nimport { ScreenState } from './screen-state.js';\nimport { PlatformSelector } from '../Platform/PlatformSelector.js';\nimport { useExtensions } from '../extensions/useExtensions.js';\nimport { DashboardNumericViewer } from './DashboardNumericViewer.js';\nimport { useWixCliAppBi } from '../../bi/index.js';\nimport { usePlatform } from '../Platform/usePlatform.js';\nimport { useBackendComponents } from '../../backend/useBackendComponents.js';\n\ninterface Props {\n onScreenChange: (screen: ScreenState) => void;\n}\n\nexport const HomeScreen: FC<Props> = ({ onScreenChange }) => {\n const { t } = useTranslation();\n const { site } = useSite();\n const bi = useWixCliAppBi();\n const { hasSinglePlatform } = usePlatform();\n const { hasExtensions, dashboardExtensions } = useExtensions();\n const { backendComponents } = useBackendComponents();\n\n useInput(async (input) => {\n if (input === 'c') {\n bi.cliAction({\n question: t('dev_command.dev_site.change'),\n questionKey: 'dev_command.dev_site.change',\n action: 'change_site',\n key: input,\n });\n onScreenChange(ScreenState.SiteSelector());\n }\n });\n\n return (\n <>\n <Box gap={1}>\n <Trans\n i18nKey=\"dev_command.dev_site.current\"\n values={{ siteName: site.displayName }}\n components={[<Text bold skin=\"info\" />]}\n />\n\n <Text skin=\"secondary\">\n <Trans\n i18nKey=\"dev_command.dev_site.change\"\n components={[<Key value=\"C\" skin=\"secondary\" />]}\n />\n </Text>\n </Box>\n\n <Box paddingTop={1} paddingBottom={1} flexDirection=\"column\">\n {!hasExtensions() ? (\n <Trans\n i18nKey=\"general.platform.none\"\n // Original link is:\n // https://dev.wix.com/docs/build-apps/developer-tools/cli/get-started/about-the-wix-cli-for-apps\n components={[<Link url=\"https://wix.to/b7o4Ml0\" />]}\n />\n ) : (\n <>\n {hasSinglePlatform(PlatformType.Dashboard()) &&\n backendComponents.length === 0 &&\n dashboardExtensions.some(\n (dashboardExtension) =>\n !isType(dashboardExtension, 'DashboardModal')\n ) ? (\n <DashboardNumericViewer\n onViewMore={(selectorType) =>\n onScreenChange(\n ScreenState.DashboardScreen({\n selectorType,\n })\n )\n }\n />\n ) : (\n <>\n <Trans\n i18nKey=\"general.view_changes\"\n components={[<Text skin=\"secondary\" />]}\n />\n <PlatformSelector\n onMultipleDashboardExtensionSelection={() =>\n onScreenChange(ScreenState.DashboardScreen())\n }\n onMultipleBackendComponentSelection={() =>\n onScreenChange(ScreenState.BackendScreen())\n }\n />\n </>\n )}\n </>\n )}\n </Box>\n </>\n );\n};\n","import { fields, variant } from 'variant';\nimport type { VariantOf } from 'variant';\nimport type { DashboardScreenSelector } from './DashboardScreen.js';\nimport type { BackendScreenSelector } from './BackendScreen.js';\n\nexport const ScreenState = variant({\n Home: {},\n SiteSelector: {},\n DashboardScreen: fields<{ selectorType?: DashboardScreenSelector }>(),\n BackendScreen: fields<{ selectorType?: BackendScreenSelector }>(),\n});\n\nexport type ScreenState = VariantOf<typeof ScreenState>;\n","import React, { useCallback, useMemo } from 'react';\nimport type { FC } from 'react';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { PointerSmallIcon, Key, useInput, Text, Box } from '@wix/cli-ui-kit';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { useExtensions } from '../extensions/useExtensions.js';\nimport {\n useOpenPage,\n useResolveDashboardExtensionDevUrl,\n useResolvePlatformDevUrl,\n} from '../extensions/utils.js';\nimport { useWixCliAppBi } from '../../bi/index.js';\nimport { usePlatform } from './usePlatform.js';\nimport { useSite } from '../../site/useSite.js';\nimport { useEditorInstallation } from '../DevCommand/EditorInstallation.js';\n\ninterface PlatformOptionProps {\n inputKey: string;\n label: string;\n suffix?: React.ReactNode;\n disabled?: boolean;\n}\n\nconst PlatformOption: FC<PlatformOptionProps> = ({\n label,\n inputKey,\n suffix,\n disabled,\n}) => {\n const getTextSkin = () => (disabled ? 'secondary' : 'standard');\n\n return (\n <Box>\n <Box marginRight={1}>\n <Box marginRight={1}>\n <Text skin={getTextSkin()}>\n <PointerSmallIcon /> <Key value={inputKey} /> -\n </Text>\n </Box>\n <Box gap={1}>\n <Text skin={getTextSkin()}>{label}</Text>\n </Box>\n </Box>\n <Text skin={getTextSkin()}>{suffix}</Text>\n </Box>\n );\n};\n\ninterface PlatformSelector {\n onMultipleDashboardExtensionSelection: () => void;\n onMultipleBackendComponentSelection: () => void;\n}\n\nexport const PlatformSelector: FC<PlatformSelector> = ({\n onMultipleDashboardExtensionSelection,\n}) => {\n const { t } = useTranslation();\n const bi = useWixCliAppBi();\n const { isPlatformExists } = usePlatform();\n const { openEditor } = useEditorInstallation();\n const { dashboardExtensions } = useExtensions();\n const resolvePlatformUrl = useResolvePlatformDevUrl();\n const resolveDashboardExtensionUrl = useResolveDashboardExtensionDevUrl();\n const { site } = useSite();\n const openPage = useOpenPage();\n\n const openPlatform = useCallback(\n async (platformType: PlatformType) => {\n await openPage({\n title: platformType.type,\n url: resolvePlatformUrl(platformType),\n });\n },\n [openPage, resolvePlatformUrl]\n );\n\n useInput(async (input) => {\n if (input === 'd' && isPlatformExists(PlatformType.Dashboard())) {\n bi.cliAction({\n question: t('general.view_changes'),\n questionKey: 'general.view_changes',\n action: t('general.platform.dashboard'),\n key: input,\n });\n if (dashboardExtensions.length === 1) {\n await openPage({\n title: 'Dashboard',\n url: resolveDashboardExtensionUrl(dashboardExtensions[0]!),\n });\n } else {\n onMultipleDashboardExtensionSelection();\n }\n }\n if (input === 'e' && isPlatformExists(PlatformType.Editor())) {\n bi.cliAction({\n question: t('general.view_changes'),\n questionKey: 'general.view_changes',\n action: t('general.platform.editor'),\n key: input,\n });\n\n await openEditor();\n }\n if (\n input === 's' &&\n site.viewUrl &&\n isPlatformExists(PlatformType.Site())\n ) {\n bi.cliAction({\n question: t('general.view_changes'),\n questionKey: 'general.view_changes',\n action: t('general.platform.site'),\n key: input,\n });\n await openPlatform(PlatformType.Site());\n }\n // TODO: Uncomment once https://jira.wixpress.com/browse/FEDINF-12234 is done\n // if (input === 'b' && model.backendComponents.length > 0) {\n // bi.cliAction({\n // question: t('general.view_changes'),\n // questionKey: 'general.view_changes',\n // action: t('general.platform.backend'),\n // key: input,\n // });\n // onMultipleBackendComponentSelection();\n // }\n });\n\n const dashboardOptionSuffix = useMemo(() => {\n if (dashboardExtensions.length === 0) {\n return null;\n }\n if (dashboardExtensions.length === 1) {\n return <Text skin=\"secondary\"> - {dashboardExtensions[0]!.route}</Text>;\n }\n return <Text>{String.fromCodePoint(0x25bc)}</Text>; // ▼\n }, [dashboardExtensions]);\n\n return (\n <Box paddingLeft={2} flexDirection=\"column\">\n {isPlatformExists(PlatformType.Site()) && (\n <PlatformOption\n inputKey=\"S\"\n label={\n site.viewUrl\n ? t('general.platform.site')\n : t('general.platform.unpublished_site')\n }\n disabled={!site.viewUrl}\n />\n )}\n {isPlatformExists(PlatformType.Editor()) && (\n <PlatformOption inputKey=\"E\" label={t('general.platform.editor')} />\n )}\n {isPlatformExists(PlatformType.Dashboard()) && (\n <PlatformOption\n inputKey=\"D\"\n label={t('general.platform.dashboard')}\n suffix={dashboardOptionSuffix}\n />\n )}\n {/*\n // TODO: Uncomment once https://jira.wixpress.com/browse/FEDINF-12234 is done\n {(hasComponentByType('Event') || hasComponentByType('ServicePlugin')) && (\n <PlatformOption\n inputKey=\"B\"\n label={t('general.platform.backend')}\n suffix={<Text>{String.fromCodePoint(0x25bc)}</Text>} // ▼\n />\n )} */}\n </Box>\n );\n};\n","import React, { useCallback, useState, createContext, useContext } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport pWaitFor, { TimeoutError } from 'p-wait-for';\nimport { Spinner, useAsync, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { SiteAuthProvider } from '@wix/cli-auth';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { VariantOf } from 'variant';\nimport { fields, isType, match, partial, variant } from 'variant';\nimport { useProjectModel } from '../../model.js';\nimport {\n redirectWithCSMv2FTs,\n useOpenPage,\n useResolvePlatformDevUrl,\n} from '../extensions/utils.js';\nimport { useSite } from '../../site/useSite.js';\nimport { useArmTag } from '../../context/armTag.js';\nimport { usePlatform } from '../Platform/usePlatform.js';\nimport { useCustomElementsMigration } from './CustomElementsMigration.js';\n\nfunction isAbortError(error: unknown) {\n return (\n error &&\n typeof error === 'object' &&\n 'name' in error &&\n error.name === 'AbortError'\n );\n}\n\ninterface EditorInstallationState {\n openEditor: () => Promise<void>;\n}\n\nconst EditorInstallationContext = createContext<EditorInstallationState | null>(\n null\n);\n\nexport function useEditorInstallation(): EditorInstallationState {\n const context = useContext(EditorInstallationContext);\n if (context == null) {\n throw new Error(\n 'useEditorInstallation() cannot be used without an <EditorInstallationProvider>'\n );\n }\n return context;\n}\n\nconst EditorInstallationStatus = variant({\n CheckInstallation: {},\n NotInstalled: fields<{\n installationUrl: string;\n checkInstalledState: CheckAppInstalledState;\n }>(),\n WaitForInstallation: fields<{ installationUrl: string }>(),\n Installed: {},\n});\n\ntype EditorInstallationStatus = VariantOf<typeof EditorInstallationStatus>;\n\ntype CheckAppInstalledState = (wait?: boolean) => Promise<boolean>;\n\nconst CheckEditorInstallation: FC<{\n onReady: (cb: CheckAppInstalledState) => void;\n}> = ({ onReady }) => {\n const { model } = useProjectModel();\n const { isAppInstalledInEditor } = useDevCenterClient();\n const { reportError } = useErrorReporter();\n\n const checkAppInstalledState = useAsyncCallback(\n async ({ signal }, shouldWait = false): Promise<boolean> => {\n const { appId } = model.config;\n const { pollInterval } = getTestOverrides();\n\n try {\n if (shouldWait) {\n await pWaitFor(() => isAppInstalledInEditor(appId), {\n // Polling interval is set to 6.5 seconds to avoid rate limiting (429)\n interval: pollInterval ?? 6500,\n timeout: {\n milliseconds: 60 * 1000 * 2,\n signal,\n },\n });\n\n return true;\n }\n\n return await isAppInstalledInEditor(appId);\n } catch (error) {\n if (!isAbortError(error) && !(error instanceof TimeoutError)) {\n reportError(\n new CliError({\n cause: error,\n code: CliErrorCode.WaitForEditorInstallationStateFailure(),\n })\n );\n }\n\n return false;\n }\n }\n );\n\n useAsync(async () => {\n onReady(checkAppInstalledState.execute);\n }, []);\n\n return null;\n};\n\nexport const EditorInstallation: FC<{\n children: ReactNode;\n}> = ({ children }) => {\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const httpClient = useHttpClient({ type: 'backoffice' });\n const { isPlatformExists } = usePlatform();\n const { site } = useSite();\n const { armTag } = useArmTag();\n const openPage = useOpenPage();\n const { addedSitePresence } = useCustomElementsMigration();\n const resolvePlatformUrl = useResolvePlatformDevUrl();\n const [editorInstallationStatus, setEditorInstallationStatus] =\n useState<EditorInstallationStatus>(\n EditorInstallationStatus.CheckInstallation()\n );\n\n const openEditor = useCallback(async () => {\n const platformType = PlatformType.Editor();\n\n const installationUrl = match(\n editorInstallationStatus,\n partial({\n NotInstalled: ({ installationUrl }) => installationUrl,\n WaitForInstallation: ({ installationUrl }) => installationUrl,\n default: () => resolvePlatformUrl(platformType),\n })\n );\n\n await openPage({ title: platformType.type, url: installationUrl });\n\n if (isType(editorInstallationStatus, 'NotInstalled')) {\n setEditorInstallationStatus(\n EditorInstallationStatus.WaitForInstallation({ installationUrl })\n );\n const isInstalled =\n await editorInstallationStatus.checkInstalledState(true);\n\n if (isInstalled) {\n setEditorInstallationStatus(EditorInstallationStatus.Installed());\n } else {\n setEditorInstallationStatus(editorInstallationStatus);\n }\n }\n }, [openPage, resolvePlatformUrl, editorInstallationStatus]);\n\n const buildInstallationUrl = useCallback(async () => {\n const { data: signedAppMarketParams } = await httpClient\n .post<string>('/_serverless/app-market-json-web-token/json-web-token', {\n data: {\n data: JSON.stringify({\n appDefId: model.config.appId,\n version: 'latest',\n }),\n },\n })\n .catch((e: unknown) => {\n throw new CliError({\n code: CliErrorCode.FailedToGenerateAppMarketQueryParam(),\n cause: e,\n });\n });\n\n const url = new URL(`https://wix.com/editor/${site.id}`);\n url.searchParams.append('openPanel', 'appMarket');\n url.searchParams.append('preferAppManager', 'true');\n url.searchParams.append('appMarketParams', signedAppMarketParams);\n url.searchParams.append('apps-override', armTag);\n\n return redirectWithCSMv2FTs(url, PlatformType.Editor()).toString();\n }, [httpClient, model.config.appId, site.id, armTag]);\n\n const { status, execute } = useAsyncCallback(\n async (_, checkInstalledState: CheckAppInstalledState) => {\n if (isPlatformExists(PlatformType.Editor())) {\n const isInstalled = addedSitePresence\n ? false\n : await checkInstalledState();\n\n if (!isInstalled) {\n const installationUrl = await buildInstallationUrl();\n\n return setEditorInstallationStatus(\n EditorInstallationStatus.NotInstalled({\n installationUrl,\n checkInstalledState,\n })\n );\n }\n }\n\n return setEditorInstallationStatus(EditorInstallationStatus.Installed());\n }\n );\n\n return (\n <EditorInstallationContext.Provider value={{ openEditor }}>\n {!isType(editorInstallationStatus, 'Installed') && (\n <SiteAuthProvider siteId={site.id}>\n <CheckEditorInstallation onReady={execute} />\n </SiteAuthProvider>\n )}\n {match(status, {\n NotRequested: () => null,\n Loading: () => <Spinner text={t('general.loading')} />,\n Error: () => null,\n Success: () => children,\n })}\n </EditorInstallationContext.Provider>\n );\n};\n","import React, { createContext, useCallback, useContext } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport { match, isType } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { ComponentType } from '@wix/ambassador-devcenter-components-v1-component/types';\nimport { useAsync, Spinner } from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { useARMClient } from '@wix/arm-client';\nimport type { CustomElement } from '@wix/cli-app-manifest';\nimport { useProjectModel } from '../../model.js';\nimport { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\nimport { createCustomElementConfig } from '../../app-manifest/create.js';\n\ninterface CustomElementsMigrationState {\n addedSitePresence: boolean;\n}\n\nconst CustomElementsMigrationContext =\n createContext<CustomElementsMigrationState | null>(null);\n\nexport function useCustomElementsMigration(): CustomElementsMigrationState {\n const context = useContext(CustomElementsMigrationContext);\n if (context == null) {\n throw new Error(\n 'useCustomElementsMigration() cannot be used without an <CustomElementsMigrationContext.Provider>'\n );\n }\n return context;\n}\n\n// You can find dummy-custom-element codebase at https://github.com/wix-private/wix-cli-internal/tree/9b2a26e76375313eabb735df459944f67d7002d7/packages/wix-cli-dummy-custom-element\nconst DUMMY_CUSTOM_ELEMENT_TAG_NAME = 'wix-cli-dummy-custom-element';\nconst DUMMY_CUSTOM_ELEMENT_URL =\n 'https://www.unpkg.com/@wix/cli-dummy-custom-element';\n\nexport const CustomElementsMigration: FC<{\n children: ReactNode;\n}> = ({ children }) => {\n const { getAppByVersion } = useDevCenterClient();\n const { model } = useProjectModel();\n const { t } = useTranslation();\n const { createComponents } = useARMClient();\n\n const prepareNewElements = useCallback(\n async (newCustomElements: Array<DevCenterComponent<'CustomElement'>>) => {\n const componentConfigs = newCustomElements.map<CustomElement>(\n (customElement) => {\n const config = createCustomElementConfig(\n customElement,\n DUMMY_CUSTOM_ELEMENT_URL\n );\n\n return {\n ...config,\n compData: {\n customElementWidget: {\n ...config.compData.customElementWidget,\n widgetData: {\n ...config.compData.customElementWidget.widgetData,\n tagName: DUMMY_CUSTOM_ELEMENT_TAG_NAME,\n },\n },\n },\n };\n }\n );\n\n await createComponents(\n model.config.appId,\n componentConfigs,\n model.config.projectId\n );\n },\n [model.config.appId, model.config.projectId, createComponents]\n );\n\n const customElementsMigration = useAsync(async () => {\n const localCustomElements = model.components.filter((component) =>\n isType(component, DevCenterComponent.CustomElement)\n );\n\n if (!localCustomElements.length) {\n return false;\n }\n\n const {\n data: { components },\n } = await getAppByVersion({\n appId: model.config.appId,\n });\n\n const existingCustomElements = components.filter(\n (component) => component.compType === ComponentType.CUSTOM_ELEMENT_WIDGET\n );\n\n const newCustomElements = localCustomElements.filter(\n (localCustomElement) =>\n !existingCustomElements.some(\n (customElement) => customElement.compId === localCustomElement.id\n )\n );\n\n if (newCustomElements.length) {\n await prepareNewElements(newCustomElements);\n return true;\n }\n\n return false;\n }, [model.components]);\n\n return match(customElementsMigration.status, {\n Error: () => null,\n Loading: () => (\n <Spinner text={t('dev_command.custom_elements_migration.loading')} />\n ),\n Success: ({ result: addedSitePresence }) => (\n <CustomElementsMigrationContext.Provider\n value={{\n addedSitePresence,\n }}\n >\n {children}\n </CustomElementsMigrationContext.Provider>\n ),\n });\n};\n","import React, { useMemo, useCallback } from 'react';\nimport type { FC } from 'react';\nimport { Box, useInput } from '@wix/cli-ui-kit';\nimport { lookup, match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport {\n useOpenPage,\n useResolveDashboardExtensionDevUrl,\n} from '../extensions/utils.js';\nimport type { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\nimport { CloseScreen } from '../CloseScreen/CloseScreen.js';\nimport { DashboardScreenSelector } from './DashboardScreen.js';\nimport type { DashboardExtension } from '../extensions/useExtensions.js';\nimport { useExtensions } from '../extensions/useExtensions.js';\nimport { NumericViewer } from '../NumericViewer/index.js';\nimport { NumericOption } from '../NumericViewer/NumericViewer.js';\nimport { useWixCliAppBi } from '../../bi/index.js';\n\nconst MAX_EXTENSIONS = 9;\nconst MAX_DASHBOARD_PAGES = 3;\nconst MAX_PAGE_PLUGINS = 3;\nconst MAX_MENU_PLUGINS = 3;\n\ninterface Props {\n onViewMore: (dashboardScreenSelector: DashboardScreenSelector) => void;\n onSelect?: (page: DevCenterComponent<DashboardExtension>) => void;\n onClose?: () => void;\n}\n\nexport const DashboardNumericViewer: FC<Props> = ({\n onViewMore,\n onSelect,\n onClose,\n}) => {\n const { t } = useTranslation();\n const { getExtensions } = useExtensions();\n const bi = useWixCliAppBi();\n const resolveDashboardExtensionUrl = useResolveDashboardExtensionDevUrl();\n const openPage = useOpenPage();\n\n const dashboardExtensions = useMemo(\n () => ({\n dashboardPages: getExtensions('DashboardPage'),\n dashboardMenuPlugins: getExtensions('DashboardMenuPlugin'),\n dashboardPlugins: getExtensions('DashboardPlugin'),\n }),\n [getExtensions]\n );\n\n const dashboardPagesData = dashboardExtensions.dashboardPages.slice(\n 0,\n dashboardExtensions.dashboardPages.length > MAX_DASHBOARD_PAGES\n ? MAX_DASHBOARD_PAGES - 1\n : dashboardExtensions.dashboardPages.length\n );\n\n const dashboardPagesShowMoreIndex =\n dashboardExtensions.dashboardPages.length > dashboardPagesData.length\n ? dashboardPagesData.length + 1\n : undefined;\n\n const dashboardPagesCount = Math.max(\n dashboardPagesData.length,\n dashboardPagesShowMoreIndex ?? 0\n );\n\n const maxMenuPlugins = Math.min(\n MAX_MENU_PLUGINS,\n Math.floor((MAX_EXTENSIONS - dashboardPagesCount) / 2)\n );\n\n const dashboardMenuPluginsData =\n dashboardExtensions.dashboardMenuPlugins.slice(\n 0,\n dashboardExtensions.dashboardMenuPlugins.length > maxMenuPlugins\n ? maxMenuPlugins - 1\n : dashboardExtensions.dashboardMenuPlugins.length\n );\n\n const dashboardMenuPluginsShowMoreIndex =\n dashboardExtensions.dashboardMenuPlugins.length >\n dashboardMenuPluginsData.length\n ? dashboardMenuPluginsData.length + dashboardPagesCount + 1\n : undefined;\n\n const dashboardMenuPluginsCount = Math.max(\n dashboardMenuPluginsData.length + dashboardPagesCount,\n dashboardMenuPluginsShowMoreIndex ?? 0\n );\n\n const maxPagePlugins = Math.min(\n MAX_PAGE_PLUGINS,\n MAX_EXTENSIONS - dashboardMenuPluginsCount\n );\n\n const dashboardPluginsData = dashboardExtensions.dashboardPlugins.slice(\n 0,\n dashboardExtensions.dashboardPlugins.length > maxPagePlugins\n ? maxPagePlugins - 1\n : dashboardExtensions.dashboardPlugins.length\n );\n\n const dashboardPluginsShowMoreIndex =\n dashboardExtensions.dashboardPlugins.length > dashboardPluginsData.length\n ? dashboardPluginsData.length + dashboardMenuPluginsCount + 1\n : undefined;\n\n const visibleItems: Array<\n NumericOption<DevCenterComponent<DashboardExtension>, DashboardExtension>\n > = [\n ...dashboardPagesData.map((page) =>\n NumericOption.Item({\n title: page.title,\n description: page.route,\n value: page,\n })\n ),\n ...(dashboardPagesShowMoreIndex\n ? [NumericOption.ViewMore('DashboardPage' as DashboardExtension)]\n : []),\n ...dashboardMenuPluginsData.map((menuPlugin) =>\n NumericOption.Item({\n title: menuPlugin.title,\n description: menuPlugin.route,\n value: menuPlugin,\n })\n ),\n ...(dashboardMenuPluginsShowMoreIndex\n ? [NumericOption.ViewMore('DashboardMenuPlugin' as DashboardExtension)]\n : []),\n ...dashboardPluginsData.map((pagePlugin) =>\n NumericOption.Item({\n title: pagePlugin.title,\n description: pagePlugin.route,\n value: pagePlugin,\n })\n ),\n ...(dashboardPluginsShowMoreIndex\n ? [NumericOption.ViewMore('DashboardPlugin' as DashboardExtension)]\n : []),\n ];\n\n const getLabelKey = (\n dashboardExtension: DevCenterComponent<DashboardExtension>\n ) => {\n return match(\n dashboardExtension,\n lookup({\n DashboardPage: 'general.dashboard_pages_viewer.title',\n DashboardMenuPlugin: 'general.dashboard_menu_plugins_viewer.title',\n DashboardPlugin: 'general.dashboard_plugins_viewer.title',\n DashboardModal: '', // NOTE: No key for this type\n })\n );\n };\n\n useInput(async (input) => {\n const inputNumber = Number(input);\n if (inputNumber > 0 && inputNumber <= visibleItems.length) {\n const itemIndex = inputNumber - 1;\n const item = visibleItems.at(itemIndex);\n if (item) {\n await match(item, {\n Item: async (item) => {\n bi.cliAction({\n question: t(getLabelKey(item.value)),\n questionKey: getLabelKey(item.value),\n action: item.title,\n key: input,\n });\n await handleSelect(item.value);\n },\n ViewMore: (viewMore) => {\n bi.cliAction({\n question: t('general.numeric_viewer.show_more'),\n questionKey: 'general.numeric_viewer.show_more',\n action: 'view_more',\n key: input,\n });\n onViewMore(\n DashboardScreenSelector.Arrow({\n dashboardExtension: viewMore.payload,\n })\n );\n },\n });\n }\n }\n });\n\n const handleSelect = useCallback(\n async (dashboardExtension: DevCenterComponent<DashboardExtension>) => {\n const url = resolveDashboardExtensionUrl(dashboardExtension);\n await openPage({ url, title: dashboardExtension.title });\n onSelect?.(dashboardExtension);\n },\n [onSelect, openPage, resolveDashboardExtensionUrl]\n );\n\n const dashboardPages = visibleItems.slice(0, dashboardPagesCount);\n const dashboardMenuPlugins = visibleItems.slice(\n dashboardPagesCount,\n dashboardMenuPluginsCount\n );\n const dashboardPlugins = visibleItems.slice(dashboardMenuPluginsCount);\n\n return (\n <Box flexDirection=\"column\" gap={1}>\n {dashboardPages.length > 0 && (\n <NumericViewer\n startIndex={0}\n titleKey=\"general.dashboard_pages_viewer.title\"\n items={dashboardPages}\n />\n )}\n {dashboardMenuPlugins.length > 0 && (\n <NumericViewer\n startIndex={dashboardPagesCount}\n titleKey=\"general.dashboard_menu_plugins_viewer.title\"\n items={dashboardMenuPlugins}\n />\n )}\n {dashboardPlugins.length > 0 && (\n <NumericViewer\n startIndex={dashboardMenuPluginsCount}\n titleKey=\"general.dashboard_plugins_viewer.title\"\n items={dashboardPlugins}\n />\n )}\n {onClose && <CloseScreen onClose={onClose} />}\n </Box>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Key, Text, useInput } from '@wix/cli-ui-kit';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { useWixCliAppBi } from '../../bi/index.js';\n\ninterface Props {\n onClose: () => void;\n}\n\nexport const CloseScreen: FC<Props> = ({ onClose }) => {\n const { t } = useTranslation();\n const bi = useWixCliAppBi();\n\n useInput((_, key) => {\n if (key.escape) {\n bi.cliAction({\n question: t('general.close_screen'),\n questionKey: 'general.close_screen',\n action: 'close',\n key: 'esc',\n });\n onClose();\n }\n });\n\n return (\n <Text skin=\"secondary\">\n <Trans\n i18nKey=\"general.close_screen\"\n components={[<Key value=\"esc\" skin=\"secondary\" />]}\n />\n </Text>\n );\n};\n","import React, { useState } from 'react';\nimport type { FC } from 'react';\nimport { fields, match, variant } from 'variant';\nimport type { VariantOf } from 'variant';\nimport { DashboardArrowViewer } from './DashboardArrowViewer.js';\nimport { DashboardNumericViewer } from './DashboardNumericViewer.js';\nimport type { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\nimport type { DashboardExtension } from '../extensions/useExtensions.js';\n\nexport const DashboardScreenSelector = variant({\n Arrow: fields<{\n dashboardExtension: DashboardExtension;\n }>(),\n Numeric: {},\n});\n\nexport type DashboardScreenSelector = VariantOf<typeof DashboardScreenSelector>;\n\ninterface Props {\n onClose: () => void;\n onSelect?: (page: DevCenterComponent<DashboardExtension>) => void;\n initialSelectorType?: DashboardScreenSelector;\n}\n\nexport const DashboardScreen: FC<Props> = ({\n onClose,\n onSelect,\n initialSelectorType = DashboardScreenSelector.Numeric(),\n}) => {\n const [selectorType, setSelectorType] =\n useState<DashboardScreenSelector>(initialSelectorType);\n\n return (\n <>\n {match(selectorType, {\n Arrow: ({ dashboardExtension }) => (\n <DashboardArrowViewer\n dashboardExtension={dashboardExtension}\n onSelect={onSelect}\n onClose={onClose}\n />\n ),\n Numeric: () => (\n <DashboardNumericViewer\n onViewMore={setSelectorType}\n onSelect={onSelect}\n onClose={onClose}\n />\n ),\n })}\n </>\n );\n};\n","import React, { useCallback } from 'react';\nimport type { FC } from 'react';\nimport { Box, SelectInput } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { match, lookup } from 'variant';\nimport { CloseScreen } from '../CloseScreen/CloseScreen.js';\nimport type { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\nimport {\n useOpenPage,\n useResolveDashboardExtensionDevUrl,\n} from '../extensions/utils.js';\nimport { useExtensions } from '../extensions/useExtensions.js';\nimport type { DashboardExtension } from '../extensions/useExtensions.js';\nimport { useWixCliAppBi } from '../../bi/index.js';\n\ninterface Props {\n dashboardExtension: DashboardExtension;\n onSelect?: (page: DevCenterComponent<DashboardExtension>) => void;\n onClose: () => void;\n}\n\nexport const DashboardArrowViewer: FC<Props> = ({\n dashboardExtension,\n onClose,\n onSelect,\n}) => {\n const { t } = useTranslation();\n const { getExtensions } = useExtensions();\n const bi = useWixCliAppBi();\n const resolveDashboardExtensionUrl = useResolveDashboardExtensionDevUrl();\n const openPage = useOpenPage();\n\n const getLabelKey = useCallback(\n () =>\n match(\n dashboardExtension,\n lookup({\n DashboardPlugin:\n 'dev_command.dashboard_page_plugin_screen.select_label',\n DashboardMenuPlugin:\n 'dev_command.dashboard_menu_plugin_screen.select_label',\n DashboardPage: 'dev_command.dashboard_pages_screen.select_label',\n DashboardModal: 'dev_command.dashboard_modal_screen.select_label',\n })\n ),\n [dashboardExtension]\n );\n\n const handleSubmit = useCallback(\n async (dashboardExtension: DevCenterComponent<DashboardExtension>) => {\n const url = resolveDashboardExtensionUrl(dashboardExtension);\n bi.cliAction({\n question: t(getLabelKey()),\n questionKey: getLabelKey(),\n action: dashboardExtension.title,\n key: 'enter',\n });\n await openPage({ url, title: dashboardExtension.title });\n onSelect?.(dashboardExtension);\n },\n [resolveDashboardExtensionUrl, bi, t, getLabelKey, openPage, onSelect]\n );\n\n return (\n <Box flexDirection=\"column\" gap={1}>\n <Box flexDirection=\"column\">\n <SelectInput<DevCenterComponent<DashboardExtension>>\n label={t(getLabelKey())}\n options={getExtensions(dashboardExtension).map(\n (dashboardExtensionInstance) => ({\n key: dashboardExtensionInstance.id,\n title: dashboardExtensionInstance.title,\n description: dashboardExtensionInstance.route,\n value: dashboardExtensionInstance,\n })\n )}\n onSubmit={({ value: dashboardExtensionInstance }) =>\n handleSubmit(dashboardExtensionInstance)\n }\n />\n </Box>\n <CloseScreen onClose={onClose} />\n </Box>\n );\n};\n","export { NumericViewer, type NumericOption } from './NumericViewer.js';\n","import React from 'react';\nimport type { FC, ReactNode } from 'react';\nimport { Box, Text, Key, PointerSmallIcon } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { variant, onTerms, fields, match, payload } from 'variant';\nimport type { TypeNames, GVariantOf } from 'variant';\n\nconst ListItem: FC<{\n itemNumber: number;\n children: ReactNode;\n}> = ({ itemNumber, children }) => {\n const keyValue = `${itemNumber}`;\n return (\n <Box flexDirection=\"row\" gap={1}>\n <Text>\n <PointerSmallIcon /> <Key value={keyValue} /> -\n </Text>\n {children}\n </Box>\n );\n};\n\nexport const NumericOption = variant(\n onTerms(({ I: _I, V }) => ({\n Item: fields<{ title: string; description?: string; value: typeof _I }>(),\n ViewMore: payload(V),\n }))\n);\n\nexport type NumericOption<\n I,\n V,\n TType extends TypeNames<typeof NumericOption> = undefined,\n> = GVariantOf<typeof NumericOption, TType, { I: I; V: V }>;\n\ninterface Props<I, V> {\n startIndex: number;\n titleKey: string;\n items: Array<NumericOption<I, V>>;\n}\n\nexport function NumericViewer<I, V>({\n startIndex,\n titleKey,\n items,\n}: Props<I, V>) {\n return (\n <Box flexDirection=\"column\">\n <Trans i18nKey={titleKey} />\n <Box paddingLeft={2} flexDirection=\"column\">\n {items.map((item, index) => (\n <ListItem\n key={startIndex + index + 1}\n itemNumber={startIndex + index + 1}\n >\n {match(item, {\n Item: ({ title, description }) => (\n <Box flexDirection=\"row\" gap={1}>\n <Text>{title}</Text>\n {description && <Text skin=\"secondary\">({description})</Text>}\n </Box>\n ),\n ViewMore: () => (\n <Trans i18nKey=\"general.numeric_viewer.show_more\" />\n ),\n })}\n </ListItem>\n ))}\n </Box>\n </Box>\n );\n}\n","import React, { useState, useCallback } from 'react';\nimport type { FC } from 'react';\nimport { Alert, Box, PointerIcon } from '@wix/cli-ui-kit';\nimport { ErrorViewer, useErrorReporter } from '@wix/cli-error-reporting';\nimport type { Site } from '@wix/site-list-client';\nimport { Trans, 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 { useSite } from '../../site/index.js';\nimport { CloseScreen } from '../CloseScreen/index.js';\nimport { ScreenState } from './screen-state.js';\n\ninterface Props {\n onScreenChange: (screen: ScreenState) => void;\n}\n\nexport const SiteSelectorScreen: FC<Props> = ({ onScreenChange }) => {\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const biLogger = useBiLogger();\n const { site, setSite } = useSite();\n const { reportError } = useErrorReporter();\n const [error, setError] = useState<unknown>(null);\n\n const handleError = useCallback(\n (error: unknown) => {\n reportError(error);\n setError(error);\n },\n [reportError, setError]\n );\n\n const handleSubmit = useCallback(\n async (site: Site) => {\n try {\n await setSite(site);\n onScreenChange(ScreenState.Home());\n } catch (e) {\n handleError(e);\n }\n },\n [setSite, onScreenChange, handleError]\n );\n\n return (\n <Box flexDirection=\"column\" gap={1}>\n <Box gap={1}>\n <PointerIcon />\n <Trans\n i18nKey=\"general.dev_site.current\"\n values={{ name: site.displayName }}\n />\n </Box>\n <Box flexDirection=\"column\">\n <SiteSelector\n appId={model.config.appId}\n biLogger={biLogger}\n onSubmit={handleSubmit}\n onError={handleError}\n />\n {error ? (\n <ErrorViewer\n error={error}\n systemErrorOverride={\n <Alert type=\"error\">{t('dev_command.site_selector.error')}</Alert>\n }\n />\n ) : null}\n </Box>\n <CloseScreen onClose={() => onScreenChange(ScreenState.Home())} />\n </Box>\n );\n};\n","export { CloseScreen } from './CloseScreen.js';\n","import React, { useState } from 'react';\nimport type { FC } from 'react';\nimport { fields, match, variant } from 'variant';\nimport type { VariantOf } from 'variant';\nimport { BackendNumericViewer } from './BackendNumericViewer.js';\nimport { BackendArrowViewer } from './BackendArrowViewer.js';\nimport type {\n BackendViewerComponent,\n BackendViewerComponentNames,\n} from './backend-viewer.js';\n\nexport const BackendScreenSelector = variant({\n Arrow: fields<{\n backendComponentName: BackendViewerComponentNames;\n }>(),\n Numeric: {},\n});\n\nexport type BackendScreenSelector = VariantOf<typeof BackendScreenSelector>;\n\ninterface Props {\n onClose: () => void;\n onSelect?: (backendComponent: BackendViewerComponent) => void;\n initialSelectorType?: BackendScreenSelector;\n}\n\nexport const BackendScreen: FC<Props> = ({\n onClose,\n onSelect,\n initialSelectorType = BackendScreenSelector.Numeric(),\n}) => {\n const [selectorType, setSelectorType] =\n useState<BackendScreenSelector>(initialSelectorType);\n\n return (\n <>\n {match(selectorType, {\n Arrow: ({ backendComponentName }) => (\n <BackendArrowViewer\n backendComponentName={backendComponentName}\n onSelect={onSelect}\n onClose={onClose}\n />\n ),\n Numeric: () => (\n <BackendNumericViewer\n onViewMore={setSelectorType}\n onClose={onClose}\n />\n ),\n })}\n </>\n );\n};\n","import React, { useCallback } from 'react';\nimport type { FC } from 'react';\nimport { Box, useInput } from '@wix/cli-ui-kit';\nimport { match, lookup } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { CloseScreen } from '../CloseScreen/CloseScreen.js';\nimport { useBackendComponents } from '../../backend/useBackendComponents.js';\nimport {\n NumericOption,\n NumericViewer,\n} from '../NumericViewer/NumericViewer.js';\nimport { BackendScreenSelector } from './BackendScreen.js';\nimport { useWixCliAppBi } from '../../bi/index.js';\nimport type { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\nimport type {\n BackendViewerComponent,\n BackendViewerComponentNames,\n} from './backend-viewer.js';\n\nconst MAX_BACKEND_COMPONENT = 9;\nconst MAX_SERVICE_PLUGINS = 4;\nconst MAX_EVENTS = 5;\n\ninterface Props {\n onViewMore: (backendScreen: BackendScreenSelector) => void;\n onSelect?: (backendComponent: BackendViewerComponent) => void;\n onClose?: () => void;\n}\n\nexport const BackendNumericViewer: FC<Props> = ({\n onViewMore,\n onSelect,\n onClose,\n}) => {\n const { t } = useTranslation();\n const bi = useWixCliAppBi();\n const { backendComponentsByType } = useBackendComponents();\n\n const servicePluginsData = backendComponentsByType.ServicePlugin.slice(\n 0,\n backendComponentsByType.ServicePlugin.length > MAX_SERVICE_PLUGINS\n ? MAX_SERVICE_PLUGINS - 1\n : backendComponentsByType.ServicePlugin.length\n );\n\n const servicePluginsShowMoreIndex =\n backendComponentsByType.ServicePlugin.length > servicePluginsData.length\n ? servicePluginsData.length + 1\n : undefined;\n\n const servicePluginsCount = Math.max(\n servicePluginsData.length,\n servicePluginsShowMoreIndex ?? 0\n );\n\n const maxBackendEvents = Math.min(\n MAX_EVENTS,\n MAX_BACKEND_COMPONENT - servicePluginsCount\n );\n\n const backendEventsData = backendComponentsByType.Event.slice(\n 0,\n backendComponentsByType.Event.length > maxBackendEvents\n ? maxBackendEvents - 1\n : backendComponentsByType.Event.length\n );\n\n const backendEventsShowMoreIndex =\n backendComponentsByType.Event.length > backendEventsData.length\n ? backendEventsData.length + servicePluginsCount + 1\n : undefined;\n\n const visibleItems: Array<\n NumericOption<BackendViewerComponent, BackendViewerComponentNames>\n > = [\n ...servicePluginsData.map(\n (servicePlugin: DevCenterComponent<'ServicePlugin'>) =>\n NumericOption.Item({\n title: servicePlugin.servicePlugin.name,\n value: servicePlugin,\n })\n ),\n ...(servicePluginsShowMoreIndex\n ? [NumericOption.ViewMore('ServicePlugin' as BackendViewerComponentNames)]\n : []),\n ...backendEventsData.map((event: DevCenterComponent<'Event'>) =>\n NumericOption.Item({\n title: event.title,\n value: event,\n })\n ),\n ...(backendEventsShowMoreIndex\n ? [NumericOption.ViewMore('Event' as BackendViewerComponentNames)]\n : []),\n ];\n\n const getLabelKey = (backendComponent: BackendViewerComponent) => {\n return match(\n backendComponent,\n lookup({\n Api: 'general.backend_api_viewer.title',\n Event: 'general.backend_events_viewer.title',\n ServicePlugin: 'general.backend_plugin_viewer.title',\n })\n );\n };\n\n useInput((input) => {\n const inputNumber = Number(input);\n if (inputNumber > 0 && inputNumber <= visibleItems.length) {\n const item = visibleItems.at(inputNumber - 1);\n if (item) {\n match(item, {\n Item: (item) => {\n bi.cliAction({\n question: t(getLabelKey(item.value)),\n questionKey: getLabelKey(item.value),\n action: item.title,\n key: input,\n });\n handleSelect(item.value);\n },\n ViewMore: (viewMore) => {\n bi.cliAction({\n question: t('general.numeric_viewer.show_more'),\n questionKey: 'general.numeric_viewer.show_more',\n action: 'view_more',\n key: input,\n });\n onViewMore(\n BackendScreenSelector.Arrow({\n backendComponentName: viewMore.payload,\n })\n );\n },\n });\n }\n }\n });\n\n const handleSelect = useCallback(\n (backendComponent: BackendViewerComponent) => {\n onSelect?.(backendComponent);\n },\n [onSelect]\n );\n\n const backendPlugins = visibleItems.slice(0, servicePluginsCount);\n const backendEvents = visibleItems.slice(servicePluginsCount);\n\n return (\n <Box flexDirection=\"column\" gap={1}>\n {backendPlugins.length > 0 && (\n <NumericViewer\n startIndex={0}\n titleKey=\"general.backend_plugin_viewer.title\"\n items={backendPlugins}\n />\n )}\n {backendEvents.length > 0 && (\n <NumericViewer\n startIndex={servicePluginsCount}\n titleKey=\"general.backend_events_viewer.title\"\n items={backendEvents}\n />\n )}\n {onClose && <CloseScreen onClose={onClose} />}\n </Box>\n );\n};\n","import React, { useCallback, useMemo } from 'react';\nimport type { FC } from 'react';\nimport { Box, SelectInput } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { isType, lookup, match } from 'variant';\nimport { CloseScreen } from '../CloseScreen/CloseScreen.js';\nimport { useBackendComponents } from '../../backend/useBackendComponents.js';\nimport { useWixCliAppBi } from '../../bi/index.js';\nimport type {\n BackendViewerComponent,\n BackendViewerComponentNames,\n} from './backend-viewer.js';\n\ninterface Props {\n backendComponentName: BackendViewerComponentNames;\n onSelect?: (backendComponent: BackendViewerComponent) => void;\n onClose: () => void;\n}\n\nexport const BackendArrowViewer: FC<Props> = ({\n backendComponentName,\n onClose,\n onSelect,\n}) => {\n const { t } = useTranslation();\n const bi = useWixCliAppBi();\n const { backendComponentsByType } = useBackendComponents();\n\n const getLabelKey = useCallback(\n () =>\n match(\n backendComponentName,\n lookup({\n Api: 'dev_command.backend_apis_screen.select_label',\n Event: 'dev_command.backend_events_screen.select_label',\n ServicePlugin: 'dev_command.backend_plugins_screen.select_label',\n })\n ),\n [backendComponentName]\n );\n\n const getBackendComponentName = (backendComponent: BackendViewerComponent) =>\n isType(backendComponent, 'ServicePlugin')\n ? backendComponent.servicePlugin.name\n : backendComponent.title;\n\n const handleSubmit = useCallback(\n (backendComponent: BackendViewerComponent) => {\n bi.cliAction({\n question: t(getLabelKey()),\n questionKey: getLabelKey(),\n action: getBackendComponentName(backendComponent),\n key: 'enter',\n });\n onSelect?.(backendComponent);\n },\n [bi, getLabelKey, onSelect, t]\n );\n\n const options = useMemo(() => {\n return backendComponentsByType[backendComponentName].map(\n (backendComponent, index) => ({\n key: index.toString(),\n title: getBackendComponentName(backendComponent),\n value: backendComponent,\n })\n );\n }, [backendComponentsByType, backendComponentName]);\n\n return (\n <Box flexDirection=\"column\" gap={1}>\n <Box flexDirection=\"column\">\n <SelectInput<BackendViewerComponent>\n label={t(getLabelKey())}\n options={options}\n onSubmit={({ value: backendComponent }) =>\n handleSubmit(backendComponent)\n }\n />\n </Box>\n <CloseScreen onClose={onClose} />\n </Box>\n );\n};\n","import React, { useState } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport { ConfirmInput, Text, useAsync, useExit } from '@wix/cli-ui-kit';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { readUserConfig, updateUserConfig } from '@wix/cli-user-config';\nimport { match } from 'variant';\nimport { useBackendComponents } from '../../backend/useBackendComponents.js';\n\ninterface Props {\n children: ReactNode;\n}\n\nexport const TunnelingConsent: FC<Props> = ({ children }) => {\n const exit = useExit();\n const { t } = useTranslation();\n const { backendComponents } = useBackendComponents();\n const [approved, setApproved] = useState<boolean>();\n\n const { status } = useAsync(async () => {\n const config = await readUserConfig();\n\n if (config.tunneling) {\n setApproved(true);\n }\n\n return config;\n }, []);\n\n if (backendComponents.length === 0 || approved) {\n return children;\n }\n\n return (\n <>\n {match(status, {\n Success: () => (\n <ConfirmInput\n label={t('dev_command.tunneling.confirm')}\n initialValue={true}\n onSubmit={async (approved) => {\n setApproved(approved);\n await updateUserConfig({ tunneling: approved });\n if (!approved) {\n exit();\n }\n }}\n />\n ),\n Error: () => null,\n Loading: () => null,\n })}\n {approved === false && (\n <Text skin=\"error\">\n <Trans i18nKey=\"dev_command.tunneling.abort_dev\" />\n </Text>\n )}\n </>\n );\n};\n","import { join } from 'node:path';\nimport { getDataDirPath } from '@wix/cli-data-dir';\nimport { pathExists, readJson, writeJson } from '@wix/cli-fs';\nimport {\n userConfigSchema,\n USER_CONFIG_FILENAME,\n} from '@wix/cli-core-definitions';\nimport type { UserConfig } from '@wix/cli-core-definitions';\n\nfunction getUserConfigPath() {\n return join(getDataDirPath(), USER_CONFIG_FILENAME);\n}\n\nexport async function readUserConfig() {\n const configPath = getUserConfigPath();\n const isConfigExist = await pathExists(configPath);\n const json = isConfigExist ? await readJson(configPath) : {};\n return userConfigSchema.parse(json);\n}\n\nexport async function updateUserConfig(config: Partial<UserConfig>) {\n const currentConfig = await readUserConfig();\n const newConfig = {\n ...currentConfig,\n ...config,\n };\n\n const configPath = getUserConfigPath();\n await writeJson(configPath, newConfig);\n}\n","import React from 'react';\nimport type { FC, ReactNode } from 'react';\nimport { useAsync, Spinner, Alert } from '@wix/cli-ui-kit';\nimport { match } from 'variant';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { useMetasiteManagerClient } from '@wix/metasite-manager-client';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { useProjectModel } from '../../model.js';\nimport { useSite } from '../../site/useSite.js';\nimport { useDevEnvironment } from './DevEnvironment.js';\n\nexport const RequiredAppsWarning: FC<{\n children: ReactNode;\n}> = ({ children }) => {\n const { logger } = useDevEnvironment();\n const { site } = useSite();\n const { model } = useProjectModel();\n const { getRequiredApps } = useDevCenterClient();\n const { getSiteInstalledApps } = useMetasiteManagerClient();\n const { t } = useTranslation();\n\n const { status: requiredAppsStatus } = useAsync(async () => {\n const requiredApps = await getRequiredApps(model.config.appId);\n\n if (requiredApps.length === 0) {\n return;\n }\n\n const siteInstalledApps = await getSiteInstalledApps(site.id);\n\n const missingRequiredApps = requiredApps.filter(\n (requiredApp) => !siteInstalledApps.includes(requiredApp.id)\n );\n\n if (missingRequiredApps.length === 0) {\n return;\n }\n\n logger.warn(\n <Alert type=\"warning\">\n {t('dev_command.required_apps.warning', {\n requiredAppNames: missingRequiredApps\n .map((app) => app.name)\n .join(', '),\n })}\n </Alert>\n );\n }, []);\n\n return match(requiredAppsStatus, {\n Loading: () => <Spinner text={t('dev_command.required_apps.loading')} />,\n Error: () => null,\n Success: () => children,\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","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 { Box } from '@wix/cli-ui-kit';\nimport type { FC, ReactNode } from 'react';\n\nexport const DevScreenBorder: FC<{ children: ReactNode }> = ({ children }) => {\n return (\n <Box\n flexDirection=\"column\"\n borderTop\n borderLeft={false}\n borderBottom={false}\n borderRight={false}\n borderStyle=\"round\"\n borderColor=\"blueBright\"\n >\n {children}\n </Box>\n );\n};\n"],"mappings":"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","names":["import_react","import_react","import_variant","import_react","import_variant","import_react","import_react","import_variant","import_variant","React","installationUrl","React","React","import_react","import_variant","import_react","React","import_react","import_variant","import_react","import_variant","dashboardExtension","React","React","import_react","import_variant","React","item","React","React","import_react","error","site","React","import_react","import_variant","import_react","import_variant","item","React","import_react","import_variant","React","React","React","import_react","import_variant","React","approved","import_react","import_variant","import_react","React","import_react","React","React"]}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import {
|
|
4
|
-
PreviewCommand
|
|
5
|
-
} from "./chunk-KCNEUOW2.js";
|
|
6
|
-
import "./chunk-UZXKDHQZ.js";
|
|
7
|
-
import "./chunk-5R5H3Y2D.js";
|
|
8
|
-
import "./chunk-6US7335E.js";
|
|
9
|
-
import "./chunk-MTEB33GR.js";
|
|
10
|
-
import "./chunk-6IX6CDWB.js";
|
|
11
|
-
import "./chunk-A3FHJ4EK.js";
|
|
12
|
-
import "./chunk-4WKSS3PU.js";
|
|
13
|
-
import "./chunk-ZR3N5INU.js";
|
|
14
|
-
import "./chunk-KVM6MGID.js";
|
|
15
|
-
import "./chunk-V75TFIXI.js";
|
|
16
|
-
import "./chunk-LMFNRK6X.js";
|
|
17
|
-
import "./chunk-LULKQBSP.js";
|
|
18
|
-
import "./chunk-PM4M3SGC.js";
|
|
19
|
-
import "./chunk-PYIAC2GK.js";
|
|
20
|
-
export {
|
|
21
|
-
PreviewCommand
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=PreviewCommand-ZZKRP2GF.js.map
|