@wix/cli-app 1.1.21 → 1.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/build/{CreateVersionCommand-4EHRZQR4.js → CreateVersionCommand-GFKZ4QO4.js} +2 -2
  2. package/build/DevCommand-3X6YOCR6.js +10 -0
  3. package/build/DevCommand-3X6YOCR6.js.map +1 -0
  4. package/build/{GenerateCommand-NJTQ4FIA.js → GenerateCommand-G54DEIA6.js} +26 -26
  5. package/build/{GenerateCommand-NJTQ4FIA.js.map → GenerateCommand-G54DEIA6.js.map} +1 -1
  6. package/build/PreviewCommand-MS3G34SU.js +4 -0
  7. package/build/{ServeCommand-2RZMVHK7.js → ServeCommand-FMBULAKF.js} +2 -2
  8. package/build/build-MRYN3JUP.js +4 -0
  9. package/build/build-MRYN3JUP.js.map +1 -0
  10. package/build/chunk-25SKF6FV.js +4 -0
  11. package/build/chunk-25SKF6FV.js.map +1 -0
  12. package/build/chunk-2TSKEJBV.js +4 -0
  13. package/build/{chunk-JDRXNEX3.js → chunk-4B7ROXUZ.js} +2 -2
  14. package/build/chunk-5TKU7FRO.js +4 -0
  15. package/build/chunk-5TKU7FRO.js.map +1 -0
  16. package/build/chunk-6XYAO7TZ.js +4 -0
  17. package/build/chunk-6XYAO7TZ.js.map +1 -0
  18. package/build/{chunk-UOHED6PX.js → chunk-7FABCBRF.js} +2 -2
  19. package/build/chunk-ADKWZ4EI.js +4 -0
  20. package/build/chunk-ADKWZ4EI.js.map +1 -0
  21. package/build/{chunk-LNZPUJZM.js → chunk-AYAI5JUA.js} +2 -2
  22. package/build/chunk-AYAI5JUA.js.map +1 -0
  23. package/build/{chunk-QNDYP4A4.js → chunk-CRZ4CUP7.js} +3 -3
  24. package/build/chunk-CRZ4CUP7.js.map +1 -0
  25. package/build/chunk-EJFNJ7PW.js +98 -0
  26. package/build/chunk-EJFNJ7PW.js.map +1 -0
  27. package/build/{chunk-SFP2CY5Y.js → chunk-EZFGMZDY.js} +2 -2
  28. package/build/{chunk-ORGUPPD5.js → chunk-FF2EQB5V.js} +2 -2
  29. package/build/{chunk-VXZVY72B.js → chunk-G22H7Q33.js} +34 -34
  30. package/build/{chunk-VXZVY72B.js.map → chunk-G22H7Q33.js.map} +1 -1
  31. package/build/chunk-LQZY2KM3.js +6 -0
  32. package/build/chunk-LQZY2KM3.js.map +1 -0
  33. package/build/{chunk-SRUHOBT2.js → chunk-LWP5GALA.js} +2 -2
  34. package/build/{chunk-6BCYTL6Y.js → chunk-LZXJDSN6.js} +2 -2
  35. package/build/{chunk-R4SS2VOR.js → chunk-MG53FTJX.js} +2 -2
  36. package/build/chunk-SXC7QEHP.js +4 -0
  37. package/build/chunk-SXC7QEHP.js.map +1 -0
  38. package/build/{chunk-TLVSBZ36.js → chunk-U7U3RJXS.js} +2 -2
  39. package/build/chunk-U7U3RJXS.js.map +1 -0
  40. package/build/{chunk-VLLINVOQ.js → chunk-ZW7WK7M6.js} +2 -2
  41. package/build/index.js +2 -2
  42. package/build/preview-CLVQJW7O.js +4 -0
  43. package/build/preview-CLVQJW7O.js.map +1 -0
  44. package/build/{render-command-5L5B4E3Q.js → render-command-PULKFUBS.js} +2 -2
  45. package/package.json +5 -4
  46. package/build/DevCommand-XLTMQ5EG.js +0 -4
  47. package/build/DevCommand-XLTMQ5EG.js.map +0 -1
  48. package/build/PreviewCommand-FIVHCANO.js +0 -4
  49. package/build/build-OMWR3BEJ.js +0 -4
  50. package/build/build-OMWR3BEJ.js.map +0 -1
  51. package/build/chunk-2USWVQ2X.js +0 -4
  52. package/build/chunk-2USWVQ2X.js.map +0 -1
  53. package/build/chunk-5WYU5DN6.js +0 -4
  54. package/build/chunk-5WYU5DN6.js.map +0 -1
  55. package/build/chunk-A3ZCWWGH.js +0 -98
  56. package/build/chunk-A3ZCWWGH.js.map +0 -1
  57. package/build/chunk-EDBTQCL6.js +0 -4
  58. package/build/chunk-EDBTQCL6.js.map +0 -1
  59. package/build/chunk-JBPOHE7I.js +0 -4
  60. package/build/chunk-LFQ7PA3M.js +0 -4
  61. package/build/chunk-LFQ7PA3M.js.map +0 -1
  62. package/build/chunk-LNZPUJZM.js.map +0 -1
  63. package/build/chunk-NBPSAHH6.js +0 -4
  64. package/build/chunk-NBPSAHH6.js.map +0 -1
  65. package/build/chunk-OHPVRXMN.js +0 -6
  66. package/build/chunk-OHPVRXMN.js.map +0 -1
  67. package/build/chunk-QNDYP4A4.js.map +0 -1
  68. package/build/chunk-TLVSBZ36.js.map +0 -1
  69. package/build/preview-LJ6BOJCV.js +0 -4
  70. package/build/preview-LJ6BOJCV.js.map +0 -1
  71. /package/build/{CreateVersionCommand-4EHRZQR4.js.map → CreateVersionCommand-GFKZ4QO4.js.map} +0 -0
  72. /package/build/{PreviewCommand-FIVHCANO.js.map → PreviewCommand-MS3G34SU.js.map} +0 -0
  73. /package/build/{ServeCommand-2RZMVHK7.js.map → ServeCommand-FMBULAKF.js.map} +0 -0
  74. /package/build/{chunk-JBPOHE7I.js.map → chunk-2TSKEJBV.js.map} +0 -0
  75. /package/build/{chunk-JDRXNEX3.js.map → chunk-4B7ROXUZ.js.map} +0 -0
  76. /package/build/{chunk-UOHED6PX.js.map → chunk-7FABCBRF.js.map} +0 -0
  77. /package/build/{chunk-SFP2CY5Y.js.map → chunk-EZFGMZDY.js.map} +0 -0
  78. /package/build/{chunk-ORGUPPD5.js.map → chunk-FF2EQB5V.js.map} +0 -0
  79. /package/build/{chunk-SRUHOBT2.js.map → chunk-LWP5GALA.js.map} +0 -0
  80. /package/build/{chunk-6BCYTL6Y.js.map → chunk-LZXJDSN6.js.map} +0 -0
  81. /package/build/{chunk-R4SS2VOR.js.map → chunk-MG53FTJX.js.map} +0 -0
  82. /package/build/{chunk-VLLINVOQ.js.map → chunk-ZW7WK7M6.js.map} +0 -0
  83. /package/build/{render-command-5L5B4E3Q.js.map → render-command-PULKFUBS.js.map} +0 -0
@@ -0,0 +1,4 @@
1
+ import { createRequire as _createRequire } from 'node:module';
2
+ const require = _createRequire(import.meta.url);
3
+ import{a}from"./chunk-SXC7QEHP.js";import"./chunk-4B7ROXUZ.js";import"./chunk-QZS4ARDD.js";import"./chunk-7FABCBRF.js";import"./chunk-5TKU7FRO.js";import"./chunk-ZW7WK7M6.js";import"./chunk-ADKWZ4EI.js";import"./chunk-LZXJDSN6.js";import"./chunk-EZFGMZDY.js";import"./chunk-LWP5GALA.js";import"./chunk-CRZ4CUP7.js";import"./chunk-MG53FTJX.js";import"./chunk-25SKF6FV.js";import"./chunk-EJFNJ7PW.js";import"./chunk-LQZY2KM3.js";import"./chunk-V4TR6DCM.js";export{a as PreviewCommand};
4
+ //# sourceMappingURL=PreviewCommand-MS3G34SU.js.map
@@ -1,4 +1,4 @@
1
1
  import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
- import{a as T,b as B}from"./chunk-VXZVY72B.js";import{a as j,b as U}from"./chunk-JDRXNEX3.js";import{b as A}from"./chunk-UOHED6PX.js";import"./chunk-2USWVQ2X.js";import"./chunk-VLLINVOQ.js";import{b as I}from"./chunk-6BCYTL6Y.js";import{g as F,h,i as M}from"./chunk-SFP2CY5Y.js";import"./chunk-SRUHOBT2.js";import"./chunk-QNDYP4A4.js";import{A as y,b as t,e as S,f as x,g,i as P,r as w,s as E,v as C,z as s}from"./chunk-R4SS2VOR.js";import{b as _}from"./chunk-5WYU5DN6.js";import{Ea as v}from"./chunk-A3ZCWWGH.js";import{a as q}from"./chunk-OHPVRXMN.js";import{e as W,h as r}from"./chunk-V4TR6DCM.js";r();r();import l from"react";r();var k=W(q(),1);import c,{createContext as Q,useContext as X}from"react";r();import{preview as z}from"vite";import{useCallback as G,useEffect as H,useRef as J}from"react";function b(){let o=J(),{model:n}=v();return H(()=>()=>{o.current?.httpServer.close()},[]),G(async()=>{let i=await z(await B(n,{type:"build"}));return o.current=i,T(i)},[n])}var K=Q(null),d=({children:o})=>{let{model:n}=v(),{t:i}=y(),V=F(),D=b(),{status:L}=C(async()=>{await j(n.projectFolder);let m=await D(),a=await I(n.projectFolder),O=_(a,m);return{armTag:await V.createAppRelease(O,n.config.projectId),serverUrl:m}},[]);return(0,k.match)(L,{Error:()=>null,Loading:()=>c.createElement(E,{text:i("serve_command.starting_serve_environment")}),Success:({result:{armTag:m,serverUrl:a}})=>c.createElement(K.Provider,{value:{serverUrl:a}},c.createElement(h,{armTag:m},o))})};function f(){let o=X(K);if(o===null)throw new Error("useServeEnvironment() cannot be used without an <ServeEnvironmentProvider>");return o}r();import e from"react";function N(){let{site:o}=M(),{serverUrl:n}=f();return e.createElement(t,{flexDirection:"column"},e.createElement(t,{gap:1},e.createElement(S,{skin:"success"},e.createElement(P,null)),e.createElement(s,{i18nKey:"serve_command.starting_serve_environment_success",components:[e.createElement(w,{url:n})]})),e.createElement(t,{gap:1},e.createElement(x,null),e.createElement(s,{i18nKey:"serve_command.production_build"})),e.createElement(t,{gap:1,paddingTop:1,paddingBottom:1},e.createElement(g,null),e.createElement(s,{i18nKey:"general.dev_site.current",values:{name:o.displayName}})),e.createElement(t,{paddingBottom:1,flexDirection:"column"},e.createElement(U,null)))}var Y=()=>l.createElement(A,null,l.createElement(d,null,l.createElement(N,null)));export{Y as ServeCommand,d as ServeEnvironmentProvider,f as useServeEnvironment};
4
- //# sourceMappingURL=ServeCommand-2RZMVHK7.js.map
3
+ import{a as T,b as B}from"./chunk-G22H7Q33.js";import{a as j,b as U}from"./chunk-4B7ROXUZ.js";import{b as A}from"./chunk-7FABCBRF.js";import"./chunk-5TKU7FRO.js";import"./chunk-ZW7WK7M6.js";import{b as I}from"./chunk-LZXJDSN6.js";import{g as F,h,i as M}from"./chunk-EZFGMZDY.js";import"./chunk-LWP5GALA.js";import"./chunk-CRZ4CUP7.js";import{A as y,b as t,e as S,f as x,g,i as P,r as w,s as E,v as C,z as s}from"./chunk-MG53FTJX.js";import{b as _}from"./chunk-25SKF6FV.js";import{Ja as v}from"./chunk-EJFNJ7PW.js";import{a as q}from"./chunk-LQZY2KM3.js";import{e as W,h as r}from"./chunk-V4TR6DCM.js";r();r();import l from"react";r();var k=W(q(),1);import c,{createContext as Q,useContext as X}from"react";r();import{preview as z}from"vite";import{useCallback as G,useEffect as H,useRef as J}from"react";function b(){let o=J(),{model:n}=v();return H(()=>()=>{o.current?.httpServer.close()},[]),G(async()=>{let i=await z(await B(n,{type:"build"}));return o.current=i,T(i)},[n])}var K=Q(null),d=({children:o})=>{let{model:n}=v(),{t:i}=y(),V=F(),D=b(),{status:L}=C(async()=>{await j(n.projectFolder);let m=await D(),a=await I(n.projectFolder),O=_(a,m);return{armTag:await V.createAppRelease(O,n.config.projectId),serverUrl:m}},[]);return(0,k.match)(L,{Error:()=>null,Loading:()=>c.createElement(E,{text:i("serve_command.starting_serve_environment")}),Success:({result:{armTag:m,serverUrl:a}})=>c.createElement(K.Provider,{value:{serverUrl:a}},c.createElement(h,{armTag:m},o))})};function f(){let o=X(K);if(o===null)throw new Error("useServeEnvironment() cannot be used without an <ServeEnvironmentProvider>");return o}r();import e from"react";function N(){let{site:o}=M(),{serverUrl:n}=f();return e.createElement(t,{flexDirection:"column"},e.createElement(t,{gap:1},e.createElement(S,{skin:"success"},e.createElement(P,null)),e.createElement(s,{i18nKey:"serve_command.starting_serve_environment_success",components:[e.createElement(w,{url:n})]})),e.createElement(t,{gap:1},e.createElement(x,null),e.createElement(s,{i18nKey:"serve_command.production_build"})),e.createElement(t,{gap:1,paddingTop:1,paddingBottom:1},e.createElement(g,null),e.createElement(s,{i18nKey:"general.dev_site.current",values:{name:o.displayName}})),e.createElement(t,{paddingBottom:1,flexDirection:"column"},e.createElement(U,null)))}var Y=()=>l.createElement(A,null,l.createElement(d,null,l.createElement(N,null)));export{Y as ServeCommand,d as ServeEnvironmentProvider,f as useServeEnvironment};
4
+ //# sourceMappingURL=ServeCommand-FMBULAKF.js.map
@@ -0,0 +1,4 @@
1
+ import { createRequire as _createRequire } from 'node:module';
2
+ const require = _createRequire(import.meta.url);
3
+ import{a as w,c as E,d as g}from"./chunk-6XYAO7TZ.js";import{b as l,c as f}from"./chunk-G22H7Q33.js";import{a as u}from"./chunk-LZXJDSN6.js";import"./chunk-25SKF6FV.js";import{Ga as s,Ha as d,P as a,V as m,ra as c}from"./chunk-EJFNJ7PW.js";import{a as A,c as t,d as i}from"./chunk-LQZY2KM3.js";import{e as y,h as p}from"./chunk-V4TR6DCM.js";p();import{cwd as F}from"node:process";import{build as B}from"vite";import{join as S}from"node:path";var C=y(A(),1);async function Y(){let e=await d(F());if(e.components.length===0)throw new t({code:i.NoExtensionsFound()});w(e.components);let r=[];if(e.backendComponents.length>0&&(await B(await f(e,{type:"build"},{appSecret:"__APP_SECRET__",webhooksPublicKey:"__WEBHOOKS_PUBLIC_KEY__"})).catch(o=>{throw new t({code:i.FailedToBuildApp({cause:o}),cause:o})}),e.backendComponents.some((0,C.isType)(s.Event)))){let o=a(e.projectFolder),{getBackendEventSlug:h}=new m;r=await import(S(o,"getRegisteredEvents.mjs")).then(async({getRegisteredEvents:k})=>{let v=await k();return Promise.all(v.map(h))})}let _=await B(await l(e,{type:"build"},{baseBackendUrl:c})).catch(n=>{throw new t({code:i.FailedToBuildApp({cause:n}),cause:n})}),b=await E({appId:e.config.appId,components:e.components,sentryDSN:e.config.sentryDSN,componentSourceBuilder:g({model:e,buildOutput:_}),registeredEvents:r});await u({projectFolder:e.projectFolder,manifest:b})}export{Y as build};
4
+ //# sourceMappingURL=build-MRYN3JUP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/build.ts"],"sourcesContent":["import { cwd } from 'node:process';\nimport { build as viteBuild } from 'vite';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { join } from 'node:path';\nimport { getAppBackendBuildFolder } from '@wix/cli-app-definitions';\nimport { ExtensionsDataClient } from '@wix/extensions-data-client';\nimport { isType } from 'variant';\nimport { loadProjectModel } from './model.js';\nimport { getBackendViteConfig, getClientViteConfig } from './vite/index.js';\nimport { writeAppManifestFile } from './app-manifest/file.js';\nimport { createAppManifest } from './app-manifest/create.js';\nimport { getComponentSourceBuilder } from './app-manifest/component-source.js';\nimport { ConfigType } from './vite/vite-config-options.js';\nimport { validateComponents } from './app-manifest/validate.js';\nimport { API_BASEURL_PLACEHOLDER } from './hosting/upload-application.js';\nimport { BackendComponent } from './backend/definitions.js';\n\nexport async function build() {\n const projectModel = await loadProjectModel(cwd());\n\n // Validate before building the project, to fail fast in case of a validation issue\n if (projectModel.components.length === 0) {\n throw new CliError({\n code: CliErrorCode.NoExtensionsFound(),\n });\n }\n\n validateComponents(projectModel.components);\n\n let registeredEvents = [];\n\n if (projectModel.backendComponents.length > 0) {\n await viteBuild(\n await getBackendViteConfig(\n projectModel,\n { type: ConfigType.build },\n {\n appSecret: '__APP_SECRET__',\n webhooksPublicKey: '__WEBHOOKS_PUBLIC_KEY__',\n }\n )\n ).catch((e) => {\n throw new CliError({\n code: CliErrorCode.FailedToBuildApp({ cause: e }),\n cause: e,\n });\n });\n\n const hasEvents = projectModel.backendComponents.some(\n isType(BackendComponent.Event)\n );\n\n if (hasEvents) {\n const backendBuildFolder = getAppBackendBuildFolder(\n projectModel.projectFolder\n );\n\n const { getBackendEventSlug } = new ExtensionsDataClient();\n\n registeredEvents = await import(\n join(backendBuildFolder, 'getRegisteredEvents.mjs')\n ).then(async ({ getRegisteredEvents }) => {\n const registeredEvents = await getRegisteredEvents();\n return Promise.all(registeredEvents.map(getBackendEventSlug));\n });\n }\n }\n\n const clientBuildOutput = await viteBuild(\n await getClientViteConfig(\n projectModel,\n {\n type: ConfigType.build,\n },\n {\n baseBackendUrl: API_BASEURL_PLACEHOLDER,\n }\n )\n ).catch((e) => {\n throw new CliError({\n code: CliErrorCode.FailedToBuildApp({ cause: e }),\n cause: e,\n });\n });\n\n const manifest = await createAppManifest({\n appId: projectModel.config.appId,\n components: projectModel.components,\n sentryDSN: projectModel.config.sentryDSN,\n componentSourceBuilder: getComponentSourceBuilder({\n model: projectModel,\n buildOutput: clientBuildOutput,\n }),\n registeredEvents,\n });\n\n await writeAppManifestFile({\n projectFolder: projectModel.projectFolder,\n manifest,\n });\n}\n"],"mappings":";;qVAAAA,IAAA,OAAS,OAAAC,MAAW,eACpB,OAAS,SAASC,MAAiB,OAEnC,OAAS,QAAAC,MAAY,YAGrB,IAAAC,EAAuB,SAWvB,eAAsBC,GAAQ,CAC5B,IAAMC,EAAe,MAAMC,EAAiBC,EAAI,CAAC,EAGjD,GAAIF,EAAa,WAAW,SAAW,EACrC,MAAM,IAAIG,EAAS,CACjB,KAAMC,EAAa,kBAAkB,CACvC,CAAC,EAGHC,EAAmBL,EAAa,UAAU,EAE1C,IAAIM,EAAmB,CAAC,EAExB,GAAIN,EAAa,kBAAkB,OAAS,IAC1C,MAAMO,EACJ,MAAMC,EACJR,EACA,CAAE,YAAuB,EACzB,CACE,UAAW,iBACX,kBAAmB,yBACrB,CACF,CACF,EAAE,MAAOS,GAAM,CACb,MAAM,IAAIN,EAAS,CACjB,KAAMC,EAAa,iBAAiB,CAAE,MAAOK,CAAE,CAAC,EAChD,MAAOA,CACT,CAAC,CACH,CAAC,EAEiBT,EAAa,kBAAkB,QAC/C,UAAOU,EAAiB,KAAK,CAC/B,GAEe,CACb,IAAMC,EAAqBC,EACzBZ,EAAa,aACf,EAEM,CAAE,oBAAAa,CAAoB,EAAI,IAAIC,EAEpCR,EAAmB,MAAM,OACvBS,EAAKJ,EAAoB,yBAAyB,GAClD,KAAK,MAAO,CAAE,oBAAAK,CAAoB,IAAM,CACxC,IAAMV,EAAmB,MAAMU,EAAoB,EACnD,OAAO,QAAQ,IAAIV,EAAiB,IAAIO,CAAmB,CAAC,CAC9D,CAAC,CACH,CAGF,IAAMI,EAAoB,MAAMV,EAC9B,MAAMC,EACJR,EACA,CACE,YACF,EACA,CACE,eAAgBkB,CAClB,CACF,CACF,EAAE,MAAOT,GAAM,CACb,MAAM,IAAIN,EAAS,CACjB,KAAMC,EAAa,iBAAiB,CAAE,MAAOK,CAAE,CAAC,EAChD,MAAOA,CACT,CAAC,CACH,CAAC,EAEKU,EAAW,MAAMC,EAAkB,CACvC,MAAOpB,EAAa,OAAO,MAC3B,WAAYA,EAAa,WACzB,UAAWA,EAAa,OAAO,UAC/B,uBAAwBqB,EAA0B,CAChD,MAAOrB,EACP,YAAaiB,CACf,CAAC,EACD,iBAAAX,CACF,CAAC,EAED,MAAMgB,EAAqB,CACzB,cAAetB,EAAa,cAC5B,SAAAmB,CACF,CAAC,CACH","names":["init_esm_shims","cwd","viteBuild","join","import_variant","build","projectModel","loadProjectModel","cwd","CliError","CliErrorCode","validateComponents","registeredEvents","viteBuild","getViteConfig","e","BackendComponent","backendBuildFolder","getAppBackendBuildFolder","getBackendEventSlug","ExtensionsDataClient","join","getRegisteredEvents","clientBuildOutput","API_BASEURL_PLACEHOLDER","manifest","createAppManifest","getComponentSourceBuilder","writeAppManifestFile"]}
@@ -0,0 +1,4 @@
1
+ import { createRequire as _createRequire } from 'node:module';
2
+ const require = _createRequire(import.meta.url);
3
+ import{B as f,C as E,t as o,u,v as h,w as m,x as p,y as N}from"./chunk-EJFNJ7PW.js";import{n as e}from"./chunk-LQZY2KM3.js";import{h as S}from"./chunk-V4TR6DCM.js";S();import T from"node:fs/promises";var g=e.object({errorReporting:e.object({url:e.string().optional(),artifact:e.object({fullArtifactId:e.string().max(255).min(1),version:e.string().max(255).min(1)}).optional()}).optional()}),d=e.object({iframeUrl:e.string().optional(),scriptAsset:e.object({exportedName:e.string(),containerId:e.string(),url:e.string(),scriptType:e.string().optional()}).optional()}),C=e.object({hostingPlatform:e.string(),fullPage:e.boolean().nullish(),hideInSidebar:e.boolean().nullish(),priority:e.number().nullish(),routePath:e.string().nullish(),title:e.string(),pageCategoryId:e.string().uuid().nullish(),activeSidebarPageId:e.string().nullish(),requiredPermission:e.string().nullish(),previousRoutePaths:e.array(e.string()).nullish()}).merge(g).merge(d).passthrough(),_=e.object({width:e.number().nullish(),height:e.number().nullish()}).merge(d).passthrough(),b=e.object({appId:e.string(),componentId:e.string().uuid(),spec:e.string().min(1),variantValue:e.string()}).passthrough().optional(),j=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_PAGE),compData:e.object({backOfficePage:C}),compName:e.string().optional(),experiment:b}).passthrough(),y=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_EXTENSION),compData:e.object({backOfficeExtension:e.object({hostingPlatform:e.string(),extends:e.string(),title:e.string().nullish(),extensionType:e.literal(N.BACK_OFFICE_EXTENSION_WIDGET),requiredPermission:e.string().nullish(),widget:_}).merge(g).passthrough()}),compName:e.string().optional(),experiment:b}).passthrough(),A=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_EXTENSION_WIDGET),compData:e.object({backOfficeExtensionWidget:e.object({hostingPlatform:e.string(),extends:e.string(),title:e.string().nullish(),description:e.string().optional(),requiredPermission:e.string().nullish(),width:e.number().nullish(),height:e.number().nullish()}).merge(d).merge(g).passthrough()}),compName:e.string().optional(),experiment:b}).passthrough(),D=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_EXTENSION_MENU_ITEM),compData:e.object({backOfficeExtensionMenuItem:e.object({id:e.string().uuid(),title:e.string().min(1),subtitle:e.string().max(200).optional(),iconKey:e.string().min(3).max(50).optional(),extends:e.string().uuid(),action:e.object({navigateToPage:e.object({pageId:e.string().uuid(),relativeUrl:e.string().optional()}),openModal:e.object({componentId:e.string().uuid(),componentParams:e.record(e.string().min(1),e.string().min(1)).optional()})}).partial().superRefine((r,i)=>{!r.navigateToPage&&!r.openModal&&i.addIssue({code:e.ZodIssueCode.custom,message:"action must have either navigateToPage or openModal"})}),sentryDSN:e.string().optional(),requiredPermission:e.string().optional()}).merge(d).merge(g).passthrough()}),compName:e.string().optional(),experiment:b}).passthrough(),v=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_MODAL),compData:e.object({backOfficeModal:e.object({hostingPlatform:e.string(),title:e.string().nullish(),requiredPermission:e.string().nullish(),width:e.number().nullish(),height:e.number().nullish()}).merge(d).merge(g).passthrough()}),compName:e.string().optional(),experiment:b}).passthrough(),k=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_SIDEBAR_CATEGORY),compData:e.object({backOfficeSidebarCategory:e.object({hostingPlatform:e.string(),title:e.string(),priority:e.number().nullish()})}),compName:e.string().optional()}).passthrough(),P=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_WIDGET),compName:e.string().optional()}).passthrough(),F=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_EXTENSION_CONTAINER),compName:e.string().optional()}).passthrough(),x=e.object({packageName:e.string().min(2).max(100),version:e.number().int().min(0)}),M=e.object({template:e.string(),name:e.string(),pages:e.enum([h.NONE_PAGES,h.ONCE,h.SPECIFIC_PAGES]),placement:e.enum([m.HEAD,m.BODY_START,m.BODY_END,m.NONE_PLACEMENT]),connectArticleUrl:e.string(),embedCategory:e.enum([p.UNKNOWN,p.FUNCTIONAL,p.ESSENTIAL,p.ANALYTICS,p.ADVERTISING]),loadOnce:e.boolean(),allowedForFreeSite:e.boolean(),dependencies:e.array(x)}),W=e.object({compId:e.string(),compType:e.literal(o.EMBEDDED_SCRIPT),compName:e.string().optional(),compData:e.object({embeddedScriptComponentData:M})}).passthrough(),U=e.object({base:e.object({id:e.string().optional(),name:e.string()}),installation:e.object({base:e.object({autoAdd:e.boolean().optional(),essential:e.boolean().optional(),maxInstances:e.number().optional()}).optional(),widget:e.object({default_preset:e.object({desktop_preset_id:e.string().optional(),tablet_preset_id:e.string().optional(),mobile_preset_id:e.string().optional()}).optional(),region:e.enum([u.BODY,u.FOOTER,u.HEADER])}).optional()}).optional(),widgetData:e.object({tagName:e.string(),scriptUrl:e.string(),scriptType:e.enum([f.NONE,f.COMMON_JS,f.ES_MODULE])}),behaviors:e.object({settings:e.object({settingsUrl:e.string()}).optional(),dashboard:e.object({dashboardPageComponentId:e.string()}).optional()}),size:e.object({width:e.object({allowStretch:e.boolean().optional(),defaultWidth:e.number().optional(),stretchByDefault:e.boolean().optional()}),height:e.object({defaultHeight:e.number(),heightMode:e.enum([E.AUTO,E.FIXED,E.UNKNOWN]).optional()})})}),w=e.object({compId:e.string(),compType:e.literal(o.CUSTOM_ELEMENT_WIDGET),compName:e.string().optional(),compData:e.object({customElementWidget:U})}).passthrough(),B=e.object({compId:e.string().uuid(),compType:e.literal(o.WEBHOOK),compName:e.string().optional(),compData:e.object({webhook:e.object({webhookSlug:e.string(),callbackUrl:e.string()})})}).passthrough(),R=e.object({compType:e.literal(o.TOPOLOGY),compId:e.string(),compName:e.string().optional(),compData:e.object({topology:e.object({topology:e.object({backendApiUrl:e.string().url()})})})}).passthrough(),K=e.object({appId:e.string(),components:e.array(e.discriminatedUnion("compType",[j,y,A,D,v,k,P,F,W,w,B,R]))});async function $(r){try{let i=await T.readFile(r,"utf-8");return K.parse(JSON.parse(i))}catch(i){let n=i instanceof Error?i.toString():JSON.stringify(i);throw new Error(`Failed to read App Manifest at ${r}: ${n}`)}}var I=(r,i)=>new URL(r,i).href,O=(r,i)=>{let{scriptAsset:n,iframeUrl:s}=r;return n?{scriptAsset:{...n,url:I(n.url,i)}}:s?{iframeUrl:I(s,i)}:r},L=(r,i)=>({template:r.template.replaceAll("__STATICS_BASE_URL_PLACEHOLDER__",i)}),z=(r,i,n)=>{let s=JSON.parse(JSON.stringify(r)),a=i.endsWith("/")?i:`${i}/`;return s.components.forEach(l=>{let{compData:t,compType:c}=l;c===o.BACK_OFFICE_PAGE&&(t.backOfficePage={...t.backOfficePage,...O(t.backOfficePage,a)}),c===o.BACK_OFFICE_EXTENSION&&(t.backOfficeExtension.widget={...t.backOfficeExtension.widget,...O(t.backOfficeExtension.widget,a)}),c===o.BACK_OFFICE_EXTENSION_WIDGET&&(t.backOfficeExtensionWidget={...t.backOfficeExtensionWidget,...O(t.backOfficeExtensionWidget,a)}),c===o.BACK_OFFICE_MODAL&&(t.backOfficeModal={...t.backOfficeModal,...O(t.backOfficeModal,a)}),c===o.EMBEDDED_SCRIPT&&(t.embeddedScriptComponentData={...t.embeddedScriptComponentData,...L(t.embeddedScriptComponentData,a)}),c===o.CUSTOM_ELEMENT_WIDGET&&(t.customElementWidget={...t.customElementWidget,widgetData:{...t.customElementWidget.widgetData,scriptUrl:I(t.customElementWidget.widgetData.scriptUrl,a)},behaviors:{...t.customElementWidget.behaviors,...t.customElementWidget.behaviors.settings?{settings:{settingsUrl:I(t.customElementWidget.behaviors.settings.settingsUrl,a)}}:{}}}),c===o.WEBHOOK&&n&&(t.webhook={...t.webhook,callbackUrl:`${n}/webhooks`})}),s},Z=(r,i)=>{let{baseApiUrl:n,id:s}=i;if(!s&&!n)return r;let a=JSON.parse(JSON.stringify(r));return a.components.forEach(l=>{l.compType===o.TOPOLOGY&&(s&&(l.compId=s),n&&(l.compData.topology.topology.backendApiUrl=n))}),a};export{$ as a,z as b,Z as c};
4
+ //# sourceMappingURL=chunk-25SKF6FV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../cli-app-manifest/build/index.js"],"sourcesContent":["// src/read.ts\nimport fs from \"node:fs/promises\";\n\n// src/types.ts\nimport {\n ComponentType,\n CustomElementScriptType,\n EmbedCategory,\n EmbeddedScriptPages,\n EmbeddedScriptPlacement,\n ExtendingComponentType,\n HeightMode,\n RegionType\n} from \"@wix/ambassador-devcenter-components-v1-component/types\";\nimport { z } from \"zod\";\nvar errorReportingSchema = z.object({\n errorReporting: z.object({\n url: z.string().optional(),\n // optional because of yoshi\n artifact: z.object({\n fullArtifactId: z.string().max(255).min(1),\n version: z.string().max(255).min(1)\n }).optional()\n }).optional()\n});\nvar componentSourceSchema = z.object({\n iframeUrl: z.string().optional(),\n scriptAsset: z.object({\n exportedName: z.string(),\n containerId: z.string(),\n url: z.string(),\n scriptType: z.string().optional()\n }).optional()\n});\nvar backofficePageCompDataSchema = z.object({\n hostingPlatform: z.string(),\n fullPage: z.boolean().nullish(),\n hideInSidebar: z.boolean().nullish(),\n priority: z.number().nullish(),\n routePath: z.string().nullish(),\n title: z.string(),\n pageCategoryId: z.string().uuid().nullish(),\n activeSidebarPageId: z.string().nullish(),\n requiredPermission: z.string().nullish(),\n previousRoutePaths: z.array(z.string()).nullish()\n}).merge(errorReportingSchema).merge(componentSourceSchema).passthrough();\nvar widgetCompDataSchema = z.object({\n width: z.number().nullish(),\n height: z.number().nullish()\n}).merge(componentSourceSchema).passthrough();\nvar componentExperimentSchema = z.object({\n appId: z.string(),\n componentId: z.string().uuid(),\n spec: z.string().min(1),\n variantValue: z.string()\n}).passthrough().optional();\nvar backofficePageSchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.BACK_OFFICE_PAGE),\n compData: z.object({\n backOfficePage: backofficePageCompDataSchema\n }),\n compName: z.string().optional(),\n experiment: componentExperimentSchema\n}).passthrough();\nvar backofficeExtensionSchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.BACK_OFFICE_EXTENSION),\n compData: z.object({\n backOfficeExtension: z.object({\n hostingPlatform: z.string(),\n extends: z.string(),\n title: z.string().nullish(),\n extensionType: z.literal(\n ExtendingComponentType.BACK_OFFICE_EXTENSION_WIDGET\n ),\n requiredPermission: z.string().nullish(),\n widget: widgetCompDataSchema\n }).merge(errorReportingSchema).passthrough()\n }),\n compName: z.string().optional(),\n experiment: componentExperimentSchema\n}).passthrough();\nvar backofficeExtensionWidgetSchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.BACK_OFFICE_EXTENSION_WIDGET),\n compData: z.object({\n backOfficeExtensionWidget: z.object({\n hostingPlatform: z.string(),\n extends: z.string(),\n title: z.string().nullish(),\n description: z.string().optional(),\n requiredPermission: z.string().nullish(),\n width: z.number().nullish(),\n height: z.number().nullish()\n }).merge(componentSourceSchema).merge(errorReportingSchema).passthrough()\n }),\n compName: z.string().optional(),\n experiment: componentExperimentSchema\n}).passthrough();\nvar backofficeExtensionMenuPluginSchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.BACK_OFFICE_EXTENSION_MENU_ITEM),\n compData: z.object({\n backOfficeExtensionMenuItem: z.object({\n id: z.string().uuid(),\n title: z.string().min(1),\n subtitle: z.string().max(200).optional(),\n iconKey: z.string().min(3).max(50).optional(),\n extends: z.string().uuid(),\n action: z.object({\n navigateToPage: z.object({\n pageId: z.string().uuid(),\n relativeUrl: z.string().optional()\n }),\n openModal: z.object({\n componentId: z.string().uuid(),\n componentParams: z.record(z.string().min(1), z.string().min(1)).optional()\n })\n }).partial().superRefine((data, ctx) => {\n if (!data.navigateToPage && !data.openModal) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"action must have either navigateToPage or openModal\"\n });\n }\n }),\n sentryDSN: z.string().optional(),\n requiredPermission: z.string().optional()\n }).merge(componentSourceSchema).merge(errorReportingSchema).passthrough()\n }),\n compName: z.string().optional(),\n experiment: componentExperimentSchema\n}).passthrough();\nvar backofficeModalSchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.BACK_OFFICE_MODAL),\n compData: z.object({\n backOfficeModal: z.object({\n hostingPlatform: z.string(),\n title: z.string().nullish(),\n requiredPermission: z.string().nullish(),\n width: z.number().nullish(),\n height: z.number().nullish()\n }).merge(componentSourceSchema).merge(errorReportingSchema).passthrough()\n }),\n compName: z.string().optional(),\n experiment: componentExperimentSchema\n}).passthrough();\nvar backofficeSideCategorySchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.BACK_OFFICE_SIDEBAR_CATEGORY),\n compData: z.object({\n backOfficeSidebarCategory: z.object({\n hostingPlatform: z.string(),\n title: z.string(),\n priority: z.number().nullish()\n })\n }),\n compName: z.string().optional()\n}).passthrough();\nvar backofficeWidgetSchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.BACK_OFFICE_WIDGET),\n compName: z.string().optional()\n}).passthrough();\nvar backofficeExtensionContainer = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.BACK_OFFICE_EXTENSION_CONTAINER),\n compName: z.string().optional()\n}).passthrough();\nvar wixDependencySchema = z.object({\n packageName: z.string().min(2).max(100),\n version: z.number().int().min(0)\n});\nvar embeddedScriptComponentData = z.object({\n template: z.string(),\n name: z.string(),\n pages: z.enum([\n EmbeddedScriptPages.NONE_PAGES,\n EmbeddedScriptPages.ONCE,\n EmbeddedScriptPages.SPECIFIC_PAGES\n ]),\n placement: z.enum([\n EmbeddedScriptPlacement.HEAD,\n EmbeddedScriptPlacement.BODY_START,\n EmbeddedScriptPlacement.BODY_END,\n EmbeddedScriptPlacement.NONE_PLACEMENT\n ]),\n connectArticleUrl: z.string(),\n embedCategory: z.enum([\n EmbedCategory.UNKNOWN,\n EmbedCategory.FUNCTIONAL,\n EmbedCategory.ESSENTIAL,\n EmbedCategory.ANALYTICS,\n EmbedCategory.ADVERTISING\n ]),\n loadOnce: z.boolean(),\n allowedForFreeSite: z.boolean(),\n dependencies: z.array(wixDependencySchema)\n});\nvar embeddedScriptSchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.EMBEDDED_SCRIPT),\n compName: z.string().optional(),\n compData: z.object({\n embeddedScriptComponentData\n })\n}).passthrough();\nvar customElementWidget = z.object({\n base: z.object({\n id: z.string().optional(),\n name: z.string()\n }),\n installation: z.object({\n base: z.object({\n autoAdd: z.boolean().optional(),\n essential: z.boolean().optional(),\n maxInstances: z.number().optional()\n }).optional(),\n widget: z.object({\n default_preset: z.object({\n desktop_preset_id: z.string().optional(),\n tablet_preset_id: z.string().optional(),\n mobile_preset_id: z.string().optional()\n }).optional(),\n region: z.enum([\n RegionType.BODY,\n RegionType.FOOTER,\n RegionType.HEADER\n ])\n }).optional()\n }).optional(),\n widgetData: z.object({\n tagName: z.string(),\n scriptUrl: z.string(),\n scriptType: z.enum([\n CustomElementScriptType.NONE,\n CustomElementScriptType.COMMON_JS,\n CustomElementScriptType.ES_MODULE\n ])\n }),\n behaviors: z.object({\n settings: z.object({\n settingsUrl: z.string()\n }).optional(),\n dashboard: z.object({\n dashboardPageComponentId: z.string()\n }).optional()\n }),\n size: z.object({\n width: z.object({\n allowStretch: z.boolean().optional(),\n defaultWidth: z.number().optional(),\n stretchByDefault: z.boolean().optional()\n }),\n height: z.object({\n defaultHeight: z.number(),\n heightMode: z.enum([HeightMode.AUTO, HeightMode.FIXED, HeightMode.UNKNOWN]).optional()\n })\n })\n /** The runtime dependencies array to declare the widget packages. */\n // dependencies?: WixDependency[];\n});\nvar customElementSchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.CUSTOM_ELEMENT_WIDGET),\n compName: z.string().optional(),\n compData: z.object({\n customElementWidget\n })\n}).passthrough();\nvar webhookSchema = z.object({\n compId: z.string().uuid(),\n compType: z.literal(ComponentType.WEBHOOK),\n compName: z.string().optional(),\n compData: z.object({\n webhook: z.object({\n webhookSlug: z.string(),\n callbackUrl: z.string()\n })\n })\n}).passthrough();\nvar topologySchema = z.object({\n compType: z.literal(ComponentType.TOPOLOGY),\n compId: z.string(),\n compName: z.string().optional(),\n compData: z.object({\n topology: z.object({\n topology: z.object({\n backendApiUrl: z.string().url()\n })\n })\n })\n}).passthrough();\nvar appManifestSchema = z.object({\n appId: z.string(),\n components: z.array(\n z.discriminatedUnion(\"compType\", [\n backofficePageSchema,\n backofficeExtensionSchema,\n backofficeExtensionWidgetSchema,\n backofficeExtensionMenuPluginSchema,\n backofficeModalSchema,\n backofficeSideCategorySchema,\n backofficeWidgetSchema,\n backofficeExtensionContainer,\n embeddedScriptSchema,\n customElementSchema,\n webhookSchema,\n topologySchema\n ])\n )\n});\n\n// src/read.ts\nasync function readAppManifest(filePath) {\n try {\n const configData = await fs.readFile(filePath, \"utf-8\");\n return appManifestSchema.parse(JSON.parse(configData));\n } catch (e) {\n const causeMessage = e instanceof Error ? e.toString() : JSON.stringify(e);\n throw new Error(\n `Failed to read App Manifest at ${filePath}: ${causeMessage}`\n );\n }\n}\n\n// src/updateErrorReportingWithArtifact.ts\nvar updateErrorReportingWithArtifact = (appManifest, artifactData) => {\n const clonedManifest = JSON.parse(JSON.stringify(appManifest));\n const { artifactId, groupId, version } = artifactData;\n clonedManifest.components.forEach((component) => {\n Object.values(component.compData).forEach((componentData) => {\n if (componentData.errorReporting) {\n componentData.errorReporting.artifact = {\n ...componentData.errorReporting.artifact,\n fullArtifactId: `${groupId}.${artifactId}`,\n version\n };\n }\n });\n });\n return clonedManifest;\n};\n\n// src/updateAppManifestWithBaseUrl.ts\nimport { ComponentType as ComponentType2 } from \"@wix/ambassador-devcenter-components-v1-component/types\";\nvar normalizeUrl = (url, baseUrl) => {\n return new URL(url, baseUrl).href;\n};\nvar overrideComponentSourceWithNormalizedUrls = (componentSource, normalizedBaseUrl) => {\n const { scriptAsset, iframeUrl } = componentSource;\n if (scriptAsset) {\n return {\n scriptAsset: {\n ...scriptAsset,\n url: normalizeUrl(scriptAsset.url, normalizedBaseUrl)\n }\n };\n }\n if (iframeUrl) {\n return {\n iframeUrl: normalizeUrl(iframeUrl, normalizedBaseUrl)\n };\n }\n return componentSource;\n};\nvar overrideComponentTemplateWithNormalizedUrls = (componentSource, normalizedBaseUrl) => {\n return {\n template: componentSource.template.replaceAll(\n \"__STATICS_BASE_URL_PLACEHOLDER__\",\n normalizedBaseUrl\n )\n };\n};\nvar updateAppManifestWithBaseUrl = (appManifest, baseUrl, backendServerUrl) => {\n const clonedManifest = JSON.parse(JSON.stringify(appManifest));\n const normalizedBaseUrl = baseUrl.endsWith(\"/\") ? baseUrl : `${baseUrl}/`;\n clonedManifest.components.forEach((component) => {\n const { compData, compType } = component;\n if (compType === ComponentType2.BACK_OFFICE_PAGE) {\n compData.backOfficePage = {\n ...compData.backOfficePage,\n ...overrideComponentSourceWithNormalizedUrls(\n compData.backOfficePage,\n normalizedBaseUrl\n )\n };\n }\n if (compType === ComponentType2.BACK_OFFICE_EXTENSION) {\n compData.backOfficeExtension.widget = {\n ...compData.backOfficeExtension.widget,\n ...overrideComponentSourceWithNormalizedUrls(\n compData.backOfficeExtension.widget,\n normalizedBaseUrl\n )\n };\n }\n if (compType === ComponentType2.BACK_OFFICE_EXTENSION_WIDGET) {\n compData.backOfficeExtensionWidget = {\n ...compData.backOfficeExtensionWidget,\n ...overrideComponentSourceWithNormalizedUrls(\n compData.backOfficeExtensionWidget,\n normalizedBaseUrl\n )\n };\n }\n if (compType === ComponentType2.BACK_OFFICE_MODAL) {\n compData.backOfficeModal = {\n ...compData.backOfficeModal,\n ...overrideComponentSourceWithNormalizedUrls(\n compData.backOfficeModal,\n normalizedBaseUrl\n )\n };\n }\n if (compType === ComponentType2.EMBEDDED_SCRIPT) {\n compData.embeddedScriptComponentData = {\n ...compData.embeddedScriptComponentData,\n ...overrideComponentTemplateWithNormalizedUrls(\n compData.embeddedScriptComponentData,\n normalizedBaseUrl\n )\n };\n }\n if (compType === ComponentType2.CUSTOM_ELEMENT_WIDGET) {\n compData.customElementWidget = {\n ...compData.customElementWidget,\n widgetData: {\n ...compData.customElementWidget.widgetData,\n scriptUrl: normalizeUrl(\n compData.customElementWidget.widgetData.scriptUrl,\n normalizedBaseUrl\n )\n },\n behaviors: {\n ...compData.customElementWidget.behaviors,\n ...compData.customElementWidget.behaviors.settings ? {\n settings: {\n settingsUrl: normalizeUrl(\n compData.customElementWidget.behaviors.settings.settingsUrl,\n normalizedBaseUrl\n )\n }\n } : {}\n }\n };\n }\n if (compType === ComponentType2.WEBHOOK && backendServerUrl) {\n compData.webhook = {\n ...compData.webhook,\n callbackUrl: `${backendServerUrl}/webhooks`\n };\n }\n });\n return clonedManifest;\n};\n\n// src/updateTopology.ts\nimport { ComponentType as ComponentType3 } from \"@wix/ambassador-devcenter-components-v1-component/types\";\nvar updateTopology = (appManifest, topologyData) => {\n const { baseApiUrl, id } = topologyData;\n if (!id && !baseApiUrl) {\n return appManifest;\n }\n const clonedManifest = JSON.parse(JSON.stringify(appManifest));\n clonedManifest.components.forEach((component) => {\n if (component.compType === ComponentType3.TOPOLOGY) {\n if (id) {\n component.compId = id;\n }\n if (baseApiUrl) {\n component.compData.topology.topology.backendApiUrl = baseApiUrl;\n }\n }\n });\n return clonedManifest;\n};\nexport {\n appManifestSchema,\n readAppManifest,\n updateAppManifestWithBaseUrl,\n updateErrorReportingWithArtifact,\n updateTopology\n};\n"],"mappings":"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","names":["init_esm_shims","fs","errorReportingSchema","z","componentSourceSchema","backofficePageCompDataSchema","widgetCompDataSchema","componentExperimentSchema","backofficePageSchema","ComponentType","backofficeExtensionSchema","ExtendingComponentType","backofficeExtensionWidgetSchema","backofficeExtensionMenuPluginSchema","data","ctx","backofficeModalSchema","backofficeSideCategorySchema","backofficeWidgetSchema","backofficeExtensionContainer","wixDependencySchema","embeddedScriptComponentData","EmbeddedScriptPages","EmbeddedScriptPlacement","EmbedCategory","embeddedScriptSchema","customElementWidget","RegionType","CustomElementScriptType","HeightMode","customElementSchema","webhookSchema","topologySchema","appManifestSchema","readAppManifest","filePath","configData","fs","e","causeMessage","normalizeUrl","url","baseUrl","overrideComponentSourceWithNormalizedUrls","componentSource","normalizedBaseUrl","scriptAsset","iframeUrl","overrideComponentTemplateWithNormalizedUrls","updateAppManifestWithBaseUrl","appManifest","backendServerUrl","clonedManifest","component","compData","compType","ComponentType","updateTopology","topologyData","baseApiUrl","id"]}
@@ -0,0 +1,4 @@
1
+ import { createRequire as _createRequire } from 'node:module';
2
+ const require = _createRequire(import.meta.url);
3
+ import{a as n}from"./chunk-AYAI5JUA.js";import{B as t}from"./chunk-MG53FTJX.js";import{h as r}from"./chunk-V4TR6DCM.js";r();function s(){let e=t(n);return e.t.bind(e)}export{s as a};
4
+ //# sourceMappingURL=chunk-2TSKEJBV.js.map
@@ -1,4 +1,4 @@
1
1
  import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
- import{c as v}from"./chunk-UOHED6PX.js";import{c as y}from"./chunk-2USWVQ2X.js";import{j as C,l as L,m as u}from"./chunk-SFP2CY5Y.js";import{A as B,b as i,e as h,h as f,r as b,z as p}from"./chunk-R4SS2VOR.js";import{O as w,R as E,S as t,l as m}from"./chunk-A3ZCWWGH.js";import{c as g,d as P}from"./chunk-OHPVRXMN.js";import{h as s}from"./chunk-V4TR6DCM.js";s();async function U(o){let e=w(o),n=E(o);if(!await m(e)||!await m(n))throw new g({code:P.BuiltProjectNeeded()})}s();import r from"react";var a=({url:o,label:e,withPointer:n=!0})=>r.createElement(i,null,r.createElement(i,{marginRight:1},n&&r.createElement(f,null),r.createElement(i,{marginLeft:1},r.createElement(b,{url:o},e)))),q=()=>{let{t:o}=B(),{isPlatformExists:e,hasSinglePlatform:n}=v(),{dashboardExtensions:d}=y(),l=C(),x=k=>L({envConfig:l,platformType:k});return r.createElement(r.Fragment,null,n(t.Dashboard())?r.createElement(i,{flexDirection:"row"},r.createElement(p,{i18nKey:"general.open_preview.title_single"}),r.createElement(a,{withPointer:!1,url:u({envConfig:l,extension:d[0]}),label:o("general.platform.dashboard")})):r.createElement(i,{flexDirection:"column"},r.createElement(p,{i18nKey:"general.open_preview.title_multiple"}),r.createElement(i,{paddingLeft:2,flexDirection:"column"},e(t.Site())&&(l.site.viewUrl?r.createElement(a,{url:x(t.Site()),label:o("general.platform.site")}):r.createElement(i,{marginRight:1},r.createElement(f,null),r.createElement(i,{marginLeft:1},r.createElement(h,{skin:"secondary",underline:!0},o("general.platform.unpublished_site"))))),e(t.Editor())&&r.createElement(a,{url:x(t.Editor()),label:o("general.platform.editor")}),e(t.Dashboard())&&r.createElement(a,{url:u({envConfig:l,extension:d[0]}),label:o("general.platform.dashboard")}))))};export{U as a,q as b};
4
- //# sourceMappingURL=chunk-JDRXNEX3.js.map
3
+ import{c as v}from"./chunk-7FABCBRF.js";import{b as y}from"./chunk-5TKU7FRO.js";import{j as C,l as L,m as u}from"./chunk-EZFGMZDY.js";import{A as B,b as i,e as h,h as f,r as b,z as p}from"./chunk-MG53FTJX.js";import{O as w,R as E,S as t,l as m}from"./chunk-EJFNJ7PW.js";import{c as g,d as P}from"./chunk-LQZY2KM3.js";import{h as s}from"./chunk-V4TR6DCM.js";s();async function U(o){let e=w(o),n=E(o);if(!await m(e)||!await m(n))throw new g({code:P.BuiltProjectNeeded()})}s();import r from"react";var a=({url:o,label:e,withPointer:n=!0})=>r.createElement(i,null,r.createElement(i,{marginRight:1},n&&r.createElement(f,null),r.createElement(i,{marginLeft:1},r.createElement(b,{url:o},e)))),q=()=>{let{t:o}=B(),{isPlatformExists:e,hasSinglePlatform:n}=v(),{dashboardExtensions:d}=y(),l=C(),x=k=>L({envConfig:l,platformType:k});return r.createElement(r.Fragment,null,n(t.Dashboard())?r.createElement(i,{flexDirection:"row"},r.createElement(p,{i18nKey:"general.open_preview.title_single"}),r.createElement(a,{withPointer:!1,url:u({envConfig:l,extension:d[0]}),label:o("general.platform.dashboard")})):r.createElement(i,{flexDirection:"column"},r.createElement(p,{i18nKey:"general.open_preview.title_multiple"}),r.createElement(i,{paddingLeft:2,flexDirection:"column"},e(t.Site())&&(l.site.viewUrl?r.createElement(a,{url:x(t.Site()),label:o("general.platform.site")}):r.createElement(i,{marginRight:1},r.createElement(f,null),r.createElement(i,{marginLeft:1},r.createElement(h,{skin:"secondary",underline:!0},o("general.platform.unpublished_site"))))),e(t.Editor())&&r.createElement(a,{url:x(t.Editor()),label:o("general.platform.editor")}),e(t.Dashboard())&&r.createElement(a,{url:u({envConfig:l,extension:d[0]}),label:o("general.platform.dashboard")}))))};export{U as a,q as b};
4
+ //# sourceMappingURL=chunk-4B7ROXUZ.js.map
@@ -0,0 +1,4 @@
1
+ import { createRequire as _createRequire } from 'node:module';
2
+ const require = _createRequire(import.meta.url);
3
+ import{a as m}from"./chunk-LWP5GALA.js";import{Ja as i,X as a,pa as p}from"./chunk-EJFNJ7PW.js";import{a as c}from"./chunk-LQZY2KM3.js";import{e as y,h as n}from"./chunk-V4TR6DCM.js";n();import{useMemo as g}from"react";function f(){let t=m({type:"backoffice"});return g(()=>new p(t),[t])}n();n();var D=y(c(),1);import{useCallback as u,useMemo as C}from"react";var q=(0,D.typeCatalog)(a);function z(){let{model:t}=i(),e=C(()=>{let o=t.components.reduce((r,s)=>(r[s.type].push(s),r),{DashboardPage:[],DashboardSidebarCategory:[],EmbeddedScript:[],CustomElement:[],DashboardPlugin:[],DashboardMenuPlugin:[],DashboardModal:[],Topology:[]});return o.DashboardPage=o.DashboardPage?.sort((r,s)=>r.route.localeCompare(s.route)),o},[t.components]),h=C(()=>[...e.DashboardPage,...e.DashboardMenuPlugin,...e.DashboardPlugin,...e.DashboardModal],[e]),b=u(o=>o?e[o].length>0:t.components.length>0,[e,t.components]),x=u(o=>e[o],[e]);return{dashboardExtensions:h,getExtensions:x,hasExtensions:b}}export{f as a,z as b};
4
+ //# sourceMappingURL=chunk-5TKU7FRO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../dev-center-client/src/useDevCenterClient.ts","../../dev-center-client/src/index.ts","../src/components/extensions/useExtensions.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { DevCenterClient } from './dev-center-client.js';\n\nexport function useDevCenterClient(): DevCenterClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new DevCenterClient(httpClient), [httpClient]);\n}\n","export { DevCenterClient } from './dev-center-client.js';\nexport type { DeveloperApp, AppSecret, TopologyComponent } from './schemas.js';\nexport { ComponentType } from './schemas.js';\nexport { useDevCenterClient } from './useDevCenterClient.js';\n","import { useCallback, useMemo } from 'react';\nimport { typeCatalog } from 'variant';\nimport { useProjectModel } from '../../model.js';\nimport { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\n\nconst DevCenterComponentTypes = typeCatalog(DevCenterComponent);\nexport type ExtensionType = keyof typeof DevCenterComponentTypes;\ntype ExtensionsMap = { [K in ExtensionType]: DevCenterComponent<K>[] };\n\nexport type DashboardExtension =\n | 'DashboardPage'\n | 'DashboardMenuPlugin'\n | 'DashboardPlugin'\n | 'DashboardModal';\n\nexport function useExtensions() {\n const { model } = useProjectModel();\n const extensionsByType = useMemo(() => {\n const extensionsMap = model.components.reduce<ExtensionsMap>(\n (acc, component) => {\n //eslint-disable-next-line @typescript-eslint/no-explicit-any\n acc[component.type].push(component as any);\n return acc;\n },\n {\n DashboardPage: [],\n DashboardSidebarCategory: [],\n EmbeddedScript: [],\n CustomElement: [],\n DashboardPlugin: [],\n DashboardMenuPlugin: [],\n DashboardModal: [],\n Topology: [],\n }\n );\n extensionsMap.DashboardPage = extensionsMap.DashboardPage?.sort((a, b) =>\n a.route.localeCompare(b.route)\n );\n return extensionsMap;\n }, [model.components]);\n\n const dashboardExtensions = useMemo(\n () => [\n ...extensionsByType.DashboardPage,\n ...extensionsByType.DashboardMenuPlugin,\n ...extensionsByType.DashboardPlugin,\n ...extensionsByType.DashboardModal,\n ],\n [extensionsByType]\n );\n\n const hasExtensions = useCallback(\n (extensionType?: ExtensionType) =>\n extensionType\n ? extensionsByType[extensionType].length > 0\n : model.components.length > 0,\n [extensionsByType, model.components]\n );\n\n const getExtensions = useCallback(\n <T extends ExtensionType>(extensionType: T) =>\n extensionsByType[extensionType],\n [extensionsByType]\n );\n\n return {\n dashboardExtensions,\n getExtensions,\n hasExtensions,\n };\n}\n"],"mappings":";;uLAAAA,IAAA,OAAS,WAAAC,MAAe,QAIjB,SAASC,GAAsC,CACpD,IAAMC,EAAaC,EAAc,CAAE,KAAM,YAAa,CAAC,EACvD,OAAOC,EAAQ,IAAM,IAAIC,EAAgBH,CAAU,EAAG,CAACA,CAAU,CAAC,CACpE,CCPAI,ICAAC,IACA,IAAAC,EAA4B,SAD5B,OAAS,eAAAC,EAAa,WAAAC,MAAe,QAKrC,IAAMC,KAA0B,eAAYC,CAAkB,EAUvD,SAASC,GAAgB,CAC9B,GAAM,CAAE,MAAAC,CAAM,EAAIC,EAAgB,EAC5BC,EAAmBC,EAAQ,IAAM,CACrC,IAAMC,EAAgBJ,EAAM,WAAW,OACrC,CAACK,EAAKC,KAEJD,EAAIC,EAAU,IAAI,EAAE,KAAKA,CAAgB,EAClCD,GAET,CACE,cAAe,CAAC,EAChB,yBAA0B,CAAC,EAC3B,eAAgB,CAAC,EACjB,cAAe,CAAC,EAChB,gBAAiB,CAAC,EAClB,oBAAqB,CAAC,EACtB,eAAgB,CAAC,EACjB,SAAU,CAAC,CACb,CACF,EACA,OAAAD,EAAc,cAAgBA,EAAc,eAAe,KAAK,CAACG,EAAGC,IAClED,EAAE,MAAM,cAAcC,EAAE,KAAK,CAC/B,EACOJ,CACT,EAAG,CAACJ,EAAM,UAAU,CAAC,EAEfS,EAAsBN,EAC1B,IAAM,CACJ,GAAGD,EAAiB,cACpB,GAAGA,EAAiB,oBACpB,GAAGA,EAAiB,gBACpB,GAAGA,EAAiB,cACtB,EACA,CAACA,CAAgB,CACnB,EAEMQ,EAAgBC,EACnBC,GACCA,EACIV,EAAiBU,CAAa,EAAE,OAAS,EACzCZ,EAAM,WAAW,OAAS,EAChC,CAACE,EAAkBF,EAAM,UAAU,CACrC,EAEMa,EAAgBF,EACMC,GACxBV,EAAiBU,CAAa,EAChC,CAACV,CAAgB,CACnB,EAEA,MAAO,CACL,oBAAAO,EACA,cAAAI,EACA,cAAAH,CACF,CACF","names":["init_esm_shims","useMemo","useDevCenterClient","httpClient","useHttpClient","useMemo","DevCenterClient","init_esm_shims","init_esm_shims","import_variant","useCallback","useMemo","DevCenterComponentTypes","DevCenterComponent","useExtensions","model","useProjectModel","extensionsByType","useMemo","extensionsMap","acc","component","a","b","dashboardExtensions","hasExtensions","useCallback","extensionType","getExtensions"]}
@@ -0,0 +1,4 @@
1
+ import { createRequire as _createRequire } from 'node:module';
2
+ const require = _createRequire(import.meta.url);
3
+ import{A as B,B as y,C as E,Y as h,_ as v,aa as T,p as I,t as n,u as C,v as M,wa as A,ya as N,z as u}from"./chunk-EJFNJ7PW.js";import{a as g,c as l,d as c}from"./chunk-LQZY2KM3.js";import{e as f,h as p}from"./chunk-V4TR6DCM.js";p();var w=f(g(),1);import{randomUUID as F}from"node:crypto";var x=t=>{let r=new Map;[...t].sort((a,e)=>a.id.localeCompare(e.id)).forEach(a=>{let e=r.get(a.id)??[];e.push(a),r.set(a.id,e)});let i=new Map;if(r.forEach((a,e)=>{a.length>1&&i.set(e,a)}),i.size)throw new l({code:c.DuplicateComponentIdsError({issues:Array.from(i.entries()).map(([a,e])=>({id:a,components:e.map(m=>(0,w.match)(m,{DashboardPage:({title:o,relativePath:d})=>({name:o,type:"page",path:h(d,"json")}),DashboardPlugin:({title:o,relativePath:d})=>({name:o,type:"plugin",path:h(d,"json")}),DashboardMenuPlugin:({title:o,relativePath:d})=>({name:o,type:"menu-plugin",path:d}),DashboardModal:({title:o,relativePath:d})=>({name:o,type:"modal",path:h(d,"json")}),DashboardSidebarCategory:({label:o})=>({name:o,type:"sidebar-category",path:I}),EmbeddedScript:({relativePath:o})=>({name:o,type:"embedded-script",path:h(o,"json")}),CustomElement:({name:o,relativePath:d})=>({name:o,type:"custom-element",path:h(d,"json")}),Topology:({name:o})=>({name:o,type:"topology",path:""})})).sort((m,o)=>m.name.localeCompare(o.name)),suggestedId:F()}))})})};p();var O=f(g(),1);import{randomUUID as R}from"node:crypto";var W=(t,r)=>{if(t.experiments)return{appId:r,componentId:t.id,spec:t.experiments.enabledBy,variantValue:"true"}};async function L(t){return t?.map(r=>({compId:R(),compData:{webhook:{webhookSlug:r,callbackUrl:"__WEBHOOKS_URL_PLACEHOLDER__"}},compType:n.WEBHOOK,compName:r}))||[]}var Z=t=>({compId:t.id,compType:n.CUSTOM_ELEMENT_WIDGET,compName:t.name,compData:{customElementWidget:{base:{name:t.name},widgetData:{tagName:t.tagName,scriptType:y.ES_MODULE,scriptUrl:"https://dummy.web.com"},size:{width:{defaultWidth:t.width.defaultWidth,allowStretch:t.width.allowStretch,stretchByDefault:t.width.stretchByDefault},height:{defaultHeight:t.height.defaultHeight,heightMode:E.FIXED}},installation:{base:{autoAdd:t.installation?.autoAddToSite,essential:t.installation?.essential,maxInstances:t.installation?.maxInstances},widget:{region:C.BODY}},behaviors:{}}}});async function ee({appId:t,components:r,sentryDSN:s,componentSourceBuilder:i,registeredEvents:a}){return x(r),{appId:t,components:[...await L(a),...await Promise.all(r.map((0,O.match)({DashboardPage:async e=>{let m=e.sentryDSN??s;return{compId:e.id,compType:n.BACK_OFFICE_PAGE,compData:{backOfficePage:{hostingPlatform:u.BUSINESS_MANAGER,fullPage:e.sidebar?.whenActive?.hideSidebar,hideInSidebar:e.sidebar?.disabled,priority:e.sidebar?.priority,routePath:e.route.slice(1),title:e.title,pageCategoryId:e.sidebar?.categoryId,activeSidebarPageId:e.sidebar?.whenActive?.selectedPageId,requiredPermission:e.requiredPermission,previousRoutePaths:e.additionalRoutes,...m?{errorReporting:{url:m}}:void 0,...await i(e)}},compName:e.title,experiment:W(e,t)}},DashboardPlugin:async e=>({compId:e.id,compType:n.BACK_OFFICE_EXTENSION_WIDGET,compData:{backOfficeExtensionWidget:{hostingPlatform:u.BUSINESS_MANAGER,extends:e.extends,title:e.title,requiredPermission:e.requiredPermission,width:e.width,height:e.height,...await i(e),...e.sentryDSN?{errorReporting:{url:e.sentryDSN}}:void 0}},compName:e.title}),DashboardMenuPlugin:async e=>({compId:e.id,compType:n.BACK_OFFICE_EXTENSION_MENU_ITEM,compData:{backOfficeExtensionMenuItem:{hostingPlatform:u.BUSINESS_MANAGER,id:e.id,title:e.title,subtitle:e.subtitle,iconKey:e.iconKey,extends:e.extends,action:e.action,requiredPermission:e.requiredPermission,...e.sentryDSN?{errorReporting:{url:e.sentryDSN}}:void 0}},compName:e.title}),DashboardModal:async e=>({compId:e.id,compType:n.BACK_OFFICE_MODAL,compData:{backOfficeModal:{hostingPlatform:u.BUSINESS_MANAGER,title:e.title,requiredPermission:e.requiredPermission,width:e.width,height:e.height,...await i(e),...e.sentryDSN?{errorReporting:{url:e.sentryDSN}}:void 0}},compName:e.title}),DashboardSidebarCategory:async e=>({compId:e.id,compType:n.BACK_OFFICE_SIDEBAR_CATEGORY,compData:{backOfficeSidebarCategory:{hostingPlatform:u.BUSINESS_MANAGER,title:e.label,priority:e.priority}},compName:e.label}),EmbeddedScript:async e=>({compId:e.id,compType:n.EMBEDDED_SCRIPT,compName:e.name,compData:{embeddedScriptComponentData:{name:e.name,pages:M.NONE_PAGES,placement:e.placement,connectArticleUrl:"",embedCategory:e.scriptType,dependencies:e.dependencies,loadOnce:!0,allowedForFreeSite:!0,...await i(e)}}}),CustomElement:async e=>{let{scriptUrl:m,settingsUrl:o}=await i(e);return{compId:e.id,compType:n.CUSTOM_ELEMENT_WIDGET,compName:e.name,compData:{customElementWidget:{base:{name:e.name},widgetData:{tagName:e.tagName,scriptType:y.ES_MODULE,scriptUrl:m},size:{width:{defaultWidth:e.width.defaultWidth,allowStretch:e.width.allowStretch,stretchByDefault:e.width.stretchByDefault},height:{defaultHeight:e.height.defaultHeight,heightMode:E.FIXED}},installation:{base:{autoAdd:e.installation?.autoAddToSite,essential:e.installation?.essential,maxInstances:e.installation?.maxInstances},widget:{region:C.BODY}},behaviors:{...e.relativePanelPath?{settings:{settingsUrl:o}}:{}}}}}},Topology:async e=>({compId:e.id,compType:n.TOPOLOGY,compName:e.name,compData:{topology:{topology:{backendApiUrl:e.backendApiUrl}}}})})))]}}p();var k=f(g(),1);p();function U(t){if(!("output"in t||Array.isArray(t)))throw new l({code:c.InvalidViteBuildOutput()});return Array.isArray(t)?t.flatMap(i=>i.output):t.output}function b(t,r){let i=U(t).find(a=>a.type==="chunk"&&a.facadeModuleId===r);if(!i)throw new l({code:c.ViteModuleBundleNotFound()});return i.fileName}function _(t,r){let i=U(t).find(a=>a.fileName===r);if(!i||!("source"in i))throw new l({code:c.ViteFileNotFoundInOutput({fileName:r})});return i.source.toString()}async function V(t,r){let s=new URL(t.relativePath,r).href;return await fetch(s).then(a=>a.text())}var P=(t,r,s)=>{if(!r.config.trusted)return{iframeUrl:v(t.id)};let i=T(t.id),a=s?b(s,i):`/@id/${i}?import`;return{scriptAsset:{exportedName:t.id,containerId:r.config.appId,url:a,scriptType:B.MODULE}}},j=async(t,r,s)=>({template:r?_(r,t.relativePath):await V(t,s)}),G=(t,r)=>{let s=N(t.id);return{scriptUrl:r?b(r,s):`/@id/${s}?import`,settingsUrl:A(t.id)}};function pe({model:t,buildOutput:r,devServerUrl:s}){return async i=>(0,k.match)(i,{EmbeddedScript:e=>j(e,r,s),DashboardSidebarCategory:()=>{},CustomElement:e=>G(e,r),DashboardPage:e=>P(e,t,r),DashboardPlugin:e=>P(e,t,r),DashboardModal:e=>P(e,t,r),DashboardMenuPlugin:()=>{},Topology:()=>{}})}export{x as a,Z as b,ee as c,pe as d};
4
+ //# sourceMappingURL=chunk-6XYAO7TZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/app-manifest/validate.ts","../src/app-manifest/create.ts","../src/app-manifest/component-source.ts","../src/app-manifest/build-output-data-extractor.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport { match } from 'variant';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { CONFIG_FILENAME } from '@wix/cli-core-definitions';\nimport { replaceExtension } from '../dev-center/components/path.js';\nimport type { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\n\nexport const validateComponents = (components: DevCenterComponent[]) => {\n const devCenterComponentsToIdMap: Map<string, DevCenterComponent[]> =\n new Map();\n const sortedComponentsById = [...components].sort((a, b) =>\n a.id.localeCompare(b.id)\n );\n sortedComponentsById.forEach((component) => {\n const componentList = devCenterComponentsToIdMap.get(component.id) ?? [];\n componentList.push(component);\n devCenterComponentsToIdMap.set(component.id, componentList);\n });\n\n const devCenterComponentsWithSameIDMap: Map<string, DevCenterComponent[]> =\n new Map();\n\n devCenterComponentsToIdMap.forEach((devCenterComponents, key) => {\n if (devCenterComponents.length > 1) {\n devCenterComponentsWithSameIDMap.set(key, devCenterComponents);\n }\n });\n\n if (devCenterComponentsWithSameIDMap.size) {\n throw new CliError({\n code: CliErrorCode.DuplicateComponentIdsError({\n issues: Array.from(devCenterComponentsWithSameIDMap.entries()).map(\n ([id, devCenterComponents]) => {\n return {\n id,\n components: devCenterComponents\n .map((component) =>\n match(component, {\n DashboardPage: ({ title, relativePath }) => ({\n name: title,\n type: 'page' as const,\n path: replaceExtension(relativePath, 'json'),\n }),\n DashboardPlugin: ({ title, relativePath }) => ({\n name: title,\n type: 'plugin' as const,\n path: replaceExtension(relativePath, 'json'),\n }),\n DashboardMenuPlugin: ({ title, relativePath }) => ({\n name: title,\n type: 'menu-plugin' as const,\n // We can use the relative path since the path already points to the menu config json\n path: relativePath,\n }),\n DashboardModal: ({ title, relativePath }) => ({\n name: title,\n type: 'modal' as const,\n path: replaceExtension(relativePath, 'json'),\n }),\n DashboardSidebarCategory: ({ label }) => ({\n name: label,\n type: 'sidebar-category' as const,\n path: CONFIG_FILENAME,\n }),\n EmbeddedScript: ({ relativePath }) => ({\n name: relativePath,\n type: 'embedded-script' as const,\n path: replaceExtension(relativePath, 'json'),\n }),\n CustomElement: ({ name, relativePath }) => ({\n name,\n type: 'custom-element' as const,\n path: replaceExtension(relativePath, 'json'),\n }),\n Topology: ({ name }) => ({\n name,\n type: 'topology' as const,\n // Topology component doesn't have a config file\n path: '',\n }),\n })\n )\n .sort((a, b) => a.name.localeCompare(b.name)),\n suggestedId: randomUUID(),\n };\n }\n ),\n }),\n });\n }\n};\n","import {\n ComponentType,\n BackOfficeHostingPlatforms,\n EmbeddedScriptPages,\n HeightMode,\n RegionType,\n CustomElementScriptType,\n} from '@wix/ambassador-devcenter-components-v1-component/types';\nimport { match } from 'variant';\nimport { randomUUID } from 'node:crypto';\nimport type {\n AppManifest,\n ComponentExperiment,\n BackofficePage,\n BackofficeExtensionWidget,\n BackofficeExtensionMenuItem,\n BackofficeSideCategory,\n BackofficeModal,\n EmbeddedScript,\n CustomElement,\n Webhook,\n Topology,\n} from '@wix/cli-app-manifest';\nimport { validateComponents } from './validate.js';\nimport type { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\nimport type { ComponentSourceBuilder } from './component-source.js';\n\ntype CreateAppManifestParams = {\n appId: string;\n backendServerUrl?: string;\n registeredEvents: string[];\n components: DevCenterComponent[];\n sentryDSN?: string;\n componentSourceBuilder: ComponentSourceBuilder;\n};\n\nconst getExperiment = (\n component: DevCenterComponent<'DashboardPage'>,\n appId: string\n): ComponentExperiment => {\n if (component.experiments) {\n return {\n appId,\n componentId: component.id,\n spec: component.experiments.enabledBy,\n variantValue: 'true',\n };\n }\n return undefined;\n};\n\nasync function getManifestWebhooks(registeredEvents: string[]) {\n return (\n registeredEvents?.map<Webhook>((eventSlug) => ({\n compId: randomUUID(),\n compData: {\n webhook: {\n webhookSlug: eventSlug,\n callbackUrl: '__WEBHOOKS_URL_PLACEHOLDER__',\n },\n },\n compType: ComponentType.WEBHOOK as const,\n compName: eventSlug,\n })) || []\n );\n}\n\nexport const createCustomElementConfig = (\n component: DevCenterComponent<'CustomElement'>\n): CustomElement => {\n return {\n compId: component.id,\n compType: ComponentType.CUSTOM_ELEMENT_WIDGET as const,\n compName: component.name,\n compData: {\n customElementWidget: {\n base: {\n name: component.name,\n },\n widgetData: {\n tagName: component.tagName,\n scriptType: CustomElementScriptType.ES_MODULE,\n scriptUrl: 'https://dummy.web.com',\n },\n size: {\n width: {\n defaultWidth: component.width.defaultWidth,\n allowStretch: component.width.allowStretch,\n stretchByDefault: component.width.stretchByDefault,\n },\n height: {\n defaultHeight: component.height.defaultHeight,\n heightMode: HeightMode.FIXED,\n },\n },\n installation: {\n base: {\n autoAdd: component.installation?.autoAddToSite,\n essential: component.installation?.essential,\n maxInstances: component.installation?.maxInstances,\n },\n widget: { region: RegionType.BODY },\n },\n behaviors: {},\n },\n },\n };\n};\n\nexport async function createAppManifest({\n appId,\n components,\n sentryDSN,\n componentSourceBuilder,\n registeredEvents,\n}: CreateAppManifestParams): Promise<AppManifest> {\n validateComponents(components);\n\n return {\n appId,\n components: [\n ...(await getManifestWebhooks(registeredEvents)),\n ...(await Promise.all(\n components.map(\n match({\n DashboardPage: async (component): Promise<BackofficePage> => {\n const componentSentryDSN = component.sentryDSN ?? sentryDSN;\n return {\n compId: component.id,\n compType: ComponentType.BACK_OFFICE_PAGE as const,\n compData: {\n backOfficePage: {\n hostingPlatform:\n BackOfficeHostingPlatforms.BUSINESS_MANAGER,\n fullPage: component.sidebar?.whenActive?.hideSidebar,\n hideInSidebar: component.sidebar?.disabled,\n priority: component.sidebar?.priority,\n routePath: component.route.slice(1),\n title: component.title,\n pageCategoryId: component.sidebar?.categoryId,\n activeSidebarPageId:\n component.sidebar?.whenActive?.selectedPageId,\n requiredPermission: component.requiredPermission,\n previousRoutePaths: component.additionalRoutes,\n ...(componentSentryDSN\n ? { errorReporting: { url: componentSentryDSN } }\n : undefined),\n ...(await componentSourceBuilder(component)),\n },\n },\n compName: component.title,\n experiment: getExperiment(component, appId),\n };\n },\n DashboardPlugin: async (\n component\n ): Promise<BackofficeExtensionWidget> => ({\n compId: component.id,\n compType: ComponentType.BACK_OFFICE_EXTENSION_WIDGET as const,\n compData: {\n backOfficeExtensionWidget: {\n hostingPlatform: BackOfficeHostingPlatforms.BUSINESS_MANAGER,\n extends: component.extends,\n title: component.title,\n requiredPermission: component.requiredPermission,\n width: component.width,\n height: component.height,\n ...(await componentSourceBuilder(component)),\n ...(component.sentryDSN\n ? { errorReporting: { url: component.sentryDSN } }\n : undefined),\n },\n },\n compName: component.title,\n }),\n DashboardMenuPlugin: async (\n component\n ): Promise<BackofficeExtensionMenuItem> => ({\n compId: component.id,\n compType: ComponentType.BACK_OFFICE_EXTENSION_MENU_ITEM as const,\n compData: {\n backOfficeExtensionMenuItem: {\n hostingPlatform: BackOfficeHostingPlatforms.BUSINESS_MANAGER,\n id: component.id,\n title: component.title,\n subtitle: component.subtitle,\n iconKey: component.iconKey,\n extends: component.extends,\n action: component.action,\n requiredPermission: component.requiredPermission,\n ...(component.sentryDSN\n ? { errorReporting: { url: component.sentryDSN } }\n : undefined),\n },\n },\n compName: component.title,\n }),\n DashboardModal: async (component): Promise<BackofficeModal> => ({\n compId: component.id,\n compType: ComponentType.BACK_OFFICE_MODAL as const,\n compData: {\n backOfficeModal: {\n hostingPlatform: BackOfficeHostingPlatforms.BUSINESS_MANAGER,\n title: component.title,\n requiredPermission: component.requiredPermission,\n width: component.width,\n height: component.height,\n ...(await componentSourceBuilder(component)),\n ...(component.sentryDSN\n ? { errorReporting: { url: component.sentryDSN } }\n : undefined),\n },\n },\n compName: component.title,\n }),\n DashboardSidebarCategory: async (\n component\n ): Promise<BackofficeSideCategory> => ({\n compId: component.id,\n compType: ComponentType.BACK_OFFICE_SIDEBAR_CATEGORY as const,\n compData: {\n backOfficeSidebarCategory: {\n hostingPlatform: BackOfficeHostingPlatforms.BUSINESS_MANAGER,\n title: component.label,\n priority: component.priority,\n },\n },\n compName: component.label,\n }),\n EmbeddedScript: async (component): Promise<EmbeddedScript> => ({\n compId: component.id,\n compType: ComponentType.EMBEDDED_SCRIPT as const,\n compName: component.name,\n compData: {\n embeddedScriptComponentData: {\n name: component.name,\n pages: EmbeddedScriptPages.NONE_PAGES,\n placement: component.placement,\n connectArticleUrl: '',\n embedCategory: component.scriptType,\n dependencies: component.dependencies,\n loadOnce: true,\n allowedForFreeSite: true,\n ...(await componentSourceBuilder(component)),\n },\n },\n }),\n CustomElement: async (component): Promise<CustomElement> => {\n const { scriptUrl, settingsUrl } = await componentSourceBuilder(\n component\n );\n\n return {\n compId: component.id,\n compType: ComponentType.CUSTOM_ELEMENT_WIDGET as const,\n compName: component.name,\n compData: {\n customElementWidget: {\n base: {\n name: component.name,\n },\n widgetData: {\n tagName: component.tagName,\n scriptType: CustomElementScriptType.ES_MODULE,\n scriptUrl,\n },\n size: {\n width: {\n defaultWidth: component.width.defaultWidth,\n allowStretch: component.width.allowStretch,\n stretchByDefault: component.width.stretchByDefault,\n },\n height: {\n defaultHeight: component.height.defaultHeight,\n heightMode: HeightMode.FIXED,\n },\n },\n installation: {\n base: {\n autoAdd: component.installation?.autoAddToSite,\n essential: component.installation?.essential,\n maxInstances: component.installation?.maxInstances,\n },\n widget: { region: RegionType.BODY },\n },\n behaviors: {\n ...(component.relativePanelPath\n ? { settings: { settingsUrl } }\n : {}),\n },\n },\n },\n };\n },\n Topology: async (component): Promise<Topology> => {\n return {\n compId: component.id,\n compType: ComponentType.TOPOLOGY as const,\n compName: component.name,\n compData: {\n topology: {\n topology: {\n backendApiUrl: component.backendApiUrl,\n },\n },\n },\n };\n },\n })\n )\n )),\n ],\n };\n}\n","import { BackOfficeScriptAssetType } from '@wix/ambassador-devcenter-components-v1-component/types';\nimport type { ComponentSource } from '@wix/cli-app-manifest';\nimport { match } from 'variant';\nimport {\n virtualModuleIdForScriptAsset,\n virtualPathForHTMLAsset,\n} from '../dev-center/components/dashboard/config.js';\nimport {\n virtualModuleIdForCustomElementScriptAsset,\n virtualPathForCustomElementPanelHTMLAsset,\n} from '../dev-center/components/site/config.js';\nimport type { ProjectModel } from '../model.js';\nimport type { ViteBuildOutput } from './build-output-data-extractor.js';\nimport {\n extractModuleBundleContent,\n extractModuleBundleName,\n} from './build-output-data-extractor.js';\nimport type { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\n\ntype DashboardSource =\n | {\n iframeUrl: string;\n scriptAsset?: never;\n }\n | {\n scriptAsset: ComponentSource['scriptAsset'];\n iframeUrl?: never;\n };\ntype EmbeddedScriptSource = {\n template: string;\n};\ntype CustomElementSource = { scriptUrl: string; settingsUrl: string };\n\nexport type ComponentSourceBuilder = <T extends DevCenterComponent>(\n component: T\n) => Promise<\n T extends DevCenterComponent<'EmbeddedScript'>\n ? EmbeddedScriptSource\n : T extends DevCenterComponent<'CustomElement'>\n ? CustomElementSource\n : T extends DevCenterComponent<'DashboardPage'>\n ? DashboardSource\n : T extends DevCenterComponent<'DashboardPlugin'>\n ? DashboardSource\n : T extends DevCenterComponent<'DashboardModal'>\n ? DashboardSource\n : undefined\n>;\n\nasync function getEmbeddedScriptDevTemplate(\n component: DevCenterComponent<'EmbeddedScript'>,\n devServerUrl?: string\n) {\n const url = new URL(component.relativePath, devServerUrl).href;\n const devTemplate = await fetch(url).then((res) => res.text());\n\n return devTemplate;\n}\n\nconst dashboardSourceBuilder = (\n component:\n | DevCenterComponent<'DashboardPage'>\n | DevCenterComponent<'DashboardPlugin'>\n | DevCenterComponent<'DashboardModal'>,\n model: ProjectModel,\n buildOutput?: ViteBuildOutput\n): DashboardSource => {\n if (!model.config.trusted) {\n return {\n iframeUrl: virtualPathForHTMLAsset(component.id),\n };\n }\n const moduleId = virtualModuleIdForScriptAsset(component.id);\n const componentUrl = buildOutput\n ? extractModuleBundleName(buildOutput, moduleId)\n : `/@id/${moduleId}?import`;\n\n return {\n scriptAsset: {\n exportedName: component.id,\n containerId: model.config.appId,\n url: componentUrl,\n scriptType: BackOfficeScriptAssetType.MODULE,\n },\n };\n};\n\nconst embeddedScriptBuilder = async (\n component: DevCenterComponent<'EmbeddedScript'>,\n buildOutput?: ViteBuildOutput,\n devServerUrl?: string\n): Promise<EmbeddedScriptSource> => {\n return {\n template: buildOutput\n ? extractModuleBundleContent(buildOutput, component.relativePath)\n : await getEmbeddedScriptDevTemplate(component, devServerUrl),\n };\n};\n\nconst customElementBuilder = (\n component: DevCenterComponent<'CustomElement'>,\n buildOutput?: ViteBuildOutput\n): CustomElementSource => {\n const moduleId = virtualModuleIdForCustomElementScriptAsset(component.id);\n const componentUrl = buildOutput\n ? extractModuleBundleName(buildOutput, moduleId)\n : `/@id/${moduleId}?import`;\n\n return {\n scriptUrl: componentUrl,\n settingsUrl: virtualPathForCustomElementPanelHTMLAsset(component.id),\n };\n};\n\nexport function getComponentSourceBuilder({\n model,\n buildOutput,\n devServerUrl,\n}: {\n model: ProjectModel;\n buildOutput?: ViteBuildOutput;\n devServerUrl?: string;\n}) {\n return (async (component: DevCenterComponent) => {\n const source = match(component, {\n EmbeddedScript: (embeddedScriptComponent) =>\n embeddedScriptBuilder(\n embeddedScriptComponent,\n buildOutput,\n devServerUrl\n ),\n DashboardSidebarCategory: () => {},\n CustomElement: (customElementComponent) =>\n customElementBuilder(customElementComponent, buildOutput),\n DashboardPage: (dashboardPageComponent) =>\n dashboardSourceBuilder(dashboardPageComponent, model, buildOutput),\n DashboardPlugin: (dashboardPluginComponent) =>\n dashboardSourceBuilder(dashboardPluginComponent, model, buildOutput),\n DashboardModal: (dashboardModalComponent) =>\n dashboardSourceBuilder(dashboardModalComponent, model, buildOutput),\n DashboardMenuPlugin: () => {},\n Topology: () => {},\n });\n\n return source;\n }) as ComponentSourceBuilder;\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { build } from 'vite';\n\nexport type ViteBuildOutput = Awaited<ReturnType<typeof build>>;\n\nfunction extractBuildOutputs(buildOutput: ViteBuildOutput) {\n const isValidRollupOutput =\n 'output' in buildOutput || Array.isArray(buildOutput);\n\n if (!isValidRollupOutput) {\n throw new CliError({ code: CliErrorCode.InvalidViteBuildOutput() });\n }\n\n const outputs = Array.isArray(buildOutput)\n ? buildOutput.flatMap((output) => output.output)\n : buildOutput.output;\n\n return outputs;\n}\n\nexport function extractModuleBundleName(\n buildOutput: ViteBuildOutput,\n moduleId: string\n) {\n const outputs = extractBuildOutputs(buildOutput);\n\n const output = outputs.find(\n (output) => output.type === 'chunk' && output.facadeModuleId === moduleId\n );\n\n if (!output) {\n throw new CliError({ code: CliErrorCode.ViteModuleBundleNotFound() });\n }\n\n return output.fileName;\n}\n\nexport function extractModuleBundleContent(\n buildOutput: ViteBuildOutput,\n fileName: string\n) {\n const outputs = extractBuildOutputs(buildOutput);\n\n const output = outputs.find((output) => output.fileName === fileName);\n\n if (!output || !('source' in output)) {\n throw new CliError({\n code: CliErrorCode.ViteFileNotFoundInOutput({ fileName }),\n });\n }\n\n return output.source.toString();\n}\n"],"mappings":"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","names":["init_esm_shims","import_variant","randomUUID","validateComponents","components","devCenterComponentsToIdMap","b","component","componentList","devCenterComponentsWithSameIDMap","devCenterComponents","key","CliError","CliErrorCode","id","title","relativePath","replaceExtension","label","CONFIG_FILENAME","name","a","randomUUID","init_esm_shims","import_variant","randomUUID","getExperiment","component","appId","getManifestWebhooks","registeredEvents","eventSlug","randomUUID","ComponentType","createCustomElementConfig","CustomElementScriptType","HeightMode","RegionType","createAppManifest","components","sentryDSN","componentSourceBuilder","validateComponents","componentSentryDSN","BackOfficeHostingPlatforms","EmbeddedScriptPages","scriptUrl","settingsUrl","init_esm_shims","import_variant","init_esm_shims","extractBuildOutputs","buildOutput","CliError","CliErrorCode","output","extractModuleBundleName","moduleId","extractModuleBundleContent","fileName","getEmbeddedScriptDevTemplate","component","devServerUrl","url","res","dashboardSourceBuilder","model","buildOutput","virtualPathForHTMLAsset","moduleId","virtualModuleIdForScriptAsset","componentUrl","extractModuleBundleName","BackOfficeScriptAssetType","embeddedScriptBuilder","extractModuleBundleContent","customElementBuilder","virtualModuleIdForCustomElementScriptAsset","virtualPathForCustomElementPanelHTMLAsset","getComponentSourceBuilder","embeddedScriptComponent","customElementComponent","dashboardPageComponent","dashboardPluginComponent","dashboardModalComponent"]}
@@ -1,4 +1,4 @@
1
1
  import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
- import{b as B}from"./chunk-2USWVQ2X.js";import{b as oe}from"./chunk-VLLINVOQ.js";import{b as O,c as pe,d as le,e as ae}from"./chunk-SFP2CY5Y.js";import{a as ne}from"./chunk-SRUHOBT2.js";import{g as ie}from"./chunk-QNDYP4A4.js";import{A as f,C as te,d as Z,e as R,l as A,m as L,p as E,q as ee,s as S,t as N,v as C,w as j,z as y}from"./chunk-R4SS2VOR.js";import{D as re,Ea as h,ka as se,n as V,o as X}from"./chunk-A3ZCWWGH.js";import{a as g,c as b,d as x,n as w,o as Q}from"./chunk-OHPVRXMN.js";import{e as v,h as i}from"./chunk-V4TR6DCM.js";i();var U=v(g(),1);import W,{useCallback as be}from"react";i();var q=v(g(),1);import M from"react";i();i();var Ie=v(g(),1);import I,{useState as Ee}from"react";i();var ce=v(g(),1);import me from"react";var ue=({onSubmit:t,onError:r,sites:o})=>{let{t:e}=f(),{getDevSitesCount:s,getDevSitesLimit:l}=B(),{status:a}=C(()=>Promise.all([s(),l()]),[],{onError:r});return(0,ce.match)(a,{Error:()=>null,Loading:()=>me.createElement(S,{text:e("general.loading")}),Success:({result:[d,p]})=>{let _=d>=p,n=o.length===0;return me.createElement(L,{label:e("site_type_select.label"),options:[{availability:n?A.Disabled({reason:e("site_type_select.no_sites")}):A.Enabled(),title:e("site_type_select.pick_existing_site"),value:"select-existing-site"},{title:e("site_type_select.create_new_dev_site"),value:"create-dev-site",availability:_?A.Disabled({reason:e("site_type_select.create_new_dev_site.disabled",{limit:p})}):A.Enabled()}],onSubmit:({value:u})=>t(u)})}})};i();var fe=v(g(),1);import P from"react";i();import $ from"react";i();i();import{useMemo as we}from"react";i();i();var de=w.record(w.object({appDefinitionId:w.string().optional(),permissions:w.object({revoked:w.boolean()}).optional()}));var K=class{constructor(r){this.httpClient=r}isAppInstalled=async({metaSiteId:r,appId:o})=>{try{let{data:e}=await this.httpClient.request({url:`/_api/msm/v1/meta-site/editor-client-spec-map/${r}`}),s=de.parse(e);return Object.values(s).some(a=>a.appDefinitionId===o&&!a.permissions?.revoked)}catch(e){throw new b({code:x.FailedToCheckIfAppInstalled(),cause:e})}}};function F(){let t=ne({type:"general"});return we(()=>new K(t),[t])}var T=v(g(),1);i();import D from"react";var Se=({siteId:t,appId:r})=>(Z(async(o,e)=>{e.return&&await ie(`https://manage.wix.com/installer/install?metaSiteId=${t}&appId=${r}&platform=cli&version=latest`)}),D.createElement(D.Fragment,null,D.createElement(y,{i18nKey:"install_app_on_site.warning"}),D.createElement(y,{i18nKey:"install_app_on_site.warning.instructions",components:[D.createElement(ee,{value:"enter"})]})));var z=(0,T.variant)({Success:{},Canceled:{}});function he(t){return t&&typeof t=="object"&&"name"in t&&t.name==="AbortError"}var H=({appId:t,site:r,onSubmit:o,onError:e})=>{let{isAppInstalled:s}=F(),{status:l}=C(async({signal:a})=>{let{appInstallationPollInterval:d}=Q();try{return await X(()=>s({metaSiteId:r.id,appId:t}),{interval:d??2e3,timeout:{milliseconds:60*1e3*2,signal:a}}),z.Success()}catch(p){if(p instanceof V)throw new b({code:x.SiteSelectorTimedout(),cause:p});if(he(p))return z.Canceled();throw p}},[],{onError:e,onSuccess:a=>{(0,T.isType)(a,z.Success)&&o()}});return(0,T.match)(l,{Error:()=>null,Loading:()=>$.createElement(Se,{siteId:r.id,appId:t}),Success:()=>$.createElement(E,{type:"success"},$.createElement(y,{i18nKey:"install_app_on_site.finished_successfully"}))})};var ye=({status:t,appId:r,onSubmit:o,onError:e})=>{let{t:s}=f();return(0,fe.match)(t,{NotRequested:()=>null,Error:()=>null,Loading:()=>P.createElement(S,{text:s("create_dev_site.loading")}),Success:({result:l})=>P.createElement(P.Fragment,null,P.createElement(y,{i18nKey:"create_dev_site.success",components:[P.createElement(R,{skin:"success",bold:!0})],values:{name:l.displayName}}),P.createElement(H,{appId:r,site:l,onSubmit:()=>o(l),onError:e}))})};var _e={"general.loading":"Loading...","site_type_select.label":"Select Development Site","site_type_select.create_new_dev_site":"Create a new Development Site","site_type_select.create_new_dev_site.disabled":"You have reached the maximum number of {limit} Development Sites","site_type_select.pick_existing_site":"Pick an existing site","site_type_select.no_sites":"No sites found","create_dev_site.loading":"Creating your new Development Site...","create_dev_site.success":"Development Site <0>{name}</0> created successfully! \u{1F680}","site_list_select.label":"Select Site","install_app_on_site.warning":"Your new application needs to be installed on the selected Development Site","install_app_on_site.warning.instructions":"Press <0/> to install the application in your browser","install_app_on_site.finished_successfully":"App installed on Development Site."};i();import k,{useState as Ae}from"react";var ge=v(g(),1);i();import Pe from"react";var ve=({onSubmit:t,sites:r})=>{let{t:o}=f();return Pe.createElement(L,{label:o("site_list_select.label"),options:r.map(e=>({key:e.id,title:e.displayName,description:e.viewUrl,value:e})),onSubmit:({value:e})=>t(e)})};var Ce=({sites:t,appId:r,onSubmit:o,onError:e})=>{let{t:s}=f(),{isAppInstalled:l}=F(),[a,d]=Ae(null),p=j((n,u)=>l({metaSiteId:u.id,appId:r}),{onError:e});async function _(n){await p.execute(n)?o(n):d(n)}return k.createElement(k.Fragment,null,k.createElement(ve,{onSubmit:_,sites:t}),(0,ge.isType)(p.status,"Loading")&&k.createElement(S,{text:s("general.loading")}),a&&k.createElement(H,{appId:r,site:a,onSubmit:()=>o(a),onError:e}))};var Y=({appId:t,onSubmit:r,onError:o})=>{let[e,s]=Ee(null),{createDevSite:l}=B(),a=O(),{status:d}=C(()=>a.querySites({query:{cursorPaging:{limit:100}}}),[],{onError:o}),p=j(()=>l(),{onError:o});function _(n){s(n),n==="create-dev-site"&&p.execute()}return I.createElement(te,{messages:_e},(0,Ie.match)(d,{Error:()=>null,Loading:()=>I.createElement(S,{text:I.createElement(y,{i18nKey:"general.loading"})}),Success:({result:n})=>I.createElement(I.Fragment,null,I.createElement(ue,{onSubmit:_,onError:o,sites:n}),e==="create-dev-site"&&I.createElement(ye,{status:p.status,appId:t,onSubmit:r,onError:o}),e==="select-existing-site"&&I.createElement(Ce,{sites:n,appId:t,onSubmit:r,onError:o}))}))};var G=({state:t,onSubmit:r})=>{let o=N(),{t:e}=f(),{model:s}=h();return M.createElement(M.Fragment,null,(0,q.match)(t,{NotConfigured:(0,q.constant)(M.createElement(E,{type:"insight"},e("general.no_site_id_configured"))),NotFound:({id:l})=>M.createElement(E,{type:"error"},e("general.site_id_not_found",{id:l}))}),M.createElement(Y,{appId:s.config.appId,onSubmit:r,onError:o}))};var ui=({children:t,siteId:r})=>{let o=N(),{model:{projectFolder:e}}=h(),s=oe(),l=O(),{status:a,merge:d}=C(async()=>ae({projectFolder:e,siteListClient:l,siteId:r,writeDebugLog:s}),[]),p=be(async n=>{try{await se(e,{siteId:n.id}),d({result:le.Resolved({site:n})})}catch{throw new b({code:x.FailedToSaveDevelopmentSite({path:re})})}},[d,e]),_=be(n=>p(n).catch(o),[o,p]);return(0,U.match)(a,{Error:()=>null,Loading:()=>W.createElement(S,null),Success:({result:n})=>(0,U.match)(n,{NotConfigured:u=>W.createElement(G,{state:u,onSubmit:_}),NotFound:u=>W.createElement(G,{state:u,onSubmit:_}),Resolved:({site:u})=>W.createElement(pe.Provider,{value:{site:u,setSite:p}},typeof t=="function"?t(u):t)})})};i();var J=v(g(),1);import{useCallback as xe}from"react";function _i(){let{model:t}=h(),r=xe(e=>t.components.some(s=>s.platforms.some((0,J.isType)(e.type))),[t.components]),o=xe(e=>t.components.every(s=>s.platforms.some((0,J.isType)(e.type))||s.platforms.length===0),[t.components]);return{isPlatformExists:r,hasSinglePlatform:o}}export{Y as a,ui as b,_i as c};
4
- //# sourceMappingURL=chunk-UOHED6PX.js.map
3
+ import{a as B}from"./chunk-5TKU7FRO.js";import{b as oe}from"./chunk-ZW7WK7M6.js";import{b as O,c as pe,d as le,e as ae}from"./chunk-EZFGMZDY.js";import{a as ne}from"./chunk-LWP5GALA.js";import{g as ie}from"./chunk-CRZ4CUP7.js";import{A as f,C as te,d as Z,e as R,l as A,m as L,p as E,q as ee,s as S,t as N,v as C,w as j,z as y}from"./chunk-MG53FTJX.js";import{D as re,Ja as h,la as se,n as V,o as X}from"./chunk-EJFNJ7PW.js";import{a as g,c as b,d as x,n as w,o as Q}from"./chunk-LQZY2KM3.js";import{e as v,h as i}from"./chunk-V4TR6DCM.js";i();var U=v(g(),1);import W,{useCallback as be}from"react";i();var q=v(g(),1);import M from"react";i();i();var Ie=v(g(),1);import I,{useState as Ee}from"react";i();var ce=v(g(),1);import me from"react";var ue=({onSubmit:t,onError:r,sites:o})=>{let{t:e}=f(),{getDevSitesCount:s,getDevSitesLimit:l}=B(),{status:a}=C(()=>Promise.all([s(),l()]),[],{onError:r});return(0,ce.match)(a,{Error:()=>null,Loading:()=>me.createElement(S,{text:e("general.loading")}),Success:({result:[d,p]})=>{let _=d>=p,n=o.length===0;return me.createElement(L,{label:e("site_type_select.label"),options:[{availability:n?A.Disabled({reason:e("site_type_select.no_sites")}):A.Enabled(),title:e("site_type_select.pick_existing_site"),value:"select-existing-site"},{title:e("site_type_select.create_new_dev_site"),value:"create-dev-site",availability:_?A.Disabled({reason:e("site_type_select.create_new_dev_site.disabled",{limit:p})}):A.Enabled()}],onSubmit:({value:u})=>t(u)})}})};i();var fe=v(g(),1);import P from"react";i();import $ from"react";i();i();import{useMemo as we}from"react";i();i();var de=w.record(w.object({appDefinitionId:w.string().optional(),permissions:w.object({revoked:w.boolean()}).optional()}));var K=class{constructor(r){this.httpClient=r}isAppInstalled=async({metaSiteId:r,appId:o})=>{try{let{data:e}=await this.httpClient.request({url:`/_api/msm/v1/meta-site/editor-client-spec-map/${r}`}),s=de.parse(e);return Object.values(s).some(a=>a.appDefinitionId===o&&!a.permissions?.revoked)}catch(e){throw new b({code:x.FailedToCheckIfAppInstalled(),cause:e})}}};function F(){let t=ne({type:"general"});return we(()=>new K(t),[t])}var T=v(g(),1);i();import D from"react";var Se=({siteId:t,appId:r})=>(Z(async(o,e)=>{e.return&&await ie(`https://manage.wix.com/installer/install?metaSiteId=${t}&appId=${r}&platform=cli&version=latest`)}),D.createElement(D.Fragment,null,D.createElement(y,{i18nKey:"install_app_on_site.warning"}),D.createElement(y,{i18nKey:"install_app_on_site.warning.instructions",components:[D.createElement(ee,{value:"enter"})]})));var z=(0,T.variant)({Success:{},Canceled:{}});function he(t){return t&&typeof t=="object"&&"name"in t&&t.name==="AbortError"}var H=({appId:t,site:r,onSubmit:o,onError:e})=>{let{isAppInstalled:s}=F(),{status:l}=C(async({signal:a})=>{let{appInstallationPollInterval:d}=Q();try{return await X(()=>s({metaSiteId:r.id,appId:t}),{interval:d??2e3,timeout:{milliseconds:60*1e3*2,signal:a}}),z.Success()}catch(p){if(p instanceof V)throw new b({code:x.SiteSelectorTimedout(),cause:p});if(he(p))return z.Canceled();throw p}},[],{onError:e,onSuccess:a=>{(0,T.isType)(a,z.Success)&&o()}});return(0,T.match)(l,{Error:()=>null,Loading:()=>$.createElement(Se,{siteId:r.id,appId:t}),Success:()=>$.createElement(E,{type:"success"},$.createElement(y,{i18nKey:"install_app_on_site.finished_successfully"}))})};var ye=({status:t,appId:r,onSubmit:o,onError:e})=>{let{t:s}=f();return(0,fe.match)(t,{NotRequested:()=>null,Error:()=>null,Loading:()=>P.createElement(S,{text:s("create_dev_site.loading")}),Success:({result:l})=>P.createElement(P.Fragment,null,P.createElement(y,{i18nKey:"create_dev_site.success",components:[P.createElement(R,{skin:"success",bold:!0})],values:{name:l.displayName}}),P.createElement(H,{appId:r,site:l,onSubmit:()=>o(l),onError:e}))})};var _e={"general.loading":"Loading...","site_type_select.label":"Select Development Site","site_type_select.create_new_dev_site":"Create a new Development Site","site_type_select.create_new_dev_site.disabled":"You have reached the maximum number of {limit} Development Sites","site_type_select.pick_existing_site":"Pick an existing site","site_type_select.no_sites":"No sites found","create_dev_site.loading":"Creating your new Development Site...","create_dev_site.success":"Development Site <0>{name}</0> created successfully! \u{1F680}","site_list_select.label":"Select Site","install_app_on_site.warning":"Your new application needs to be installed on the selected Development Site","install_app_on_site.warning.instructions":"Press <0/> to install the application in your browser","install_app_on_site.finished_successfully":"App installed on Development Site."};i();import k,{useState as Ae}from"react";var ge=v(g(),1);i();import Pe from"react";var ve=({onSubmit:t,sites:r})=>{let{t:o}=f();return Pe.createElement(L,{label:o("site_list_select.label"),options:r.map(e=>({key:e.id,title:e.displayName,description:e.viewUrl,value:e})),onSubmit:({value:e})=>t(e)})};var Ce=({sites:t,appId:r,onSubmit:o,onError:e})=>{let{t:s}=f(),{isAppInstalled:l}=F(),[a,d]=Ae(null),p=j((n,u)=>l({metaSiteId:u.id,appId:r}),{onError:e});async function _(n){await p.execute(n)?o(n):d(n)}return k.createElement(k.Fragment,null,k.createElement(ve,{onSubmit:_,sites:t}),(0,ge.isType)(p.status,"Loading")&&k.createElement(S,{text:s("general.loading")}),a&&k.createElement(H,{appId:r,site:a,onSubmit:()=>o(a),onError:e}))};var Y=({appId:t,onSubmit:r,onError:o})=>{let[e,s]=Ee(null),{createDevSite:l}=B(),a=O(),{status:d}=C(()=>a.querySites({query:{cursorPaging:{limit:100}}}),[],{onError:o}),p=j(()=>l(),{onError:o});function _(n){s(n),n==="create-dev-site"&&p.execute()}return I.createElement(te,{messages:_e},(0,Ie.match)(d,{Error:()=>null,Loading:()=>I.createElement(S,{text:I.createElement(y,{i18nKey:"general.loading"})}),Success:({result:n})=>I.createElement(I.Fragment,null,I.createElement(ue,{onSubmit:_,onError:o,sites:n}),e==="create-dev-site"&&I.createElement(ye,{status:p.status,appId:t,onSubmit:r,onError:o}),e==="select-existing-site"&&I.createElement(Ce,{sites:n,appId:t,onSubmit:r,onError:o}))}))};var G=({state:t,onSubmit:r})=>{let o=N(),{t:e}=f(),{model:s}=h();return M.createElement(M.Fragment,null,(0,q.match)(t,{NotConfigured:(0,q.constant)(M.createElement(E,{type:"insight"},e("general.no_site_id_configured"))),NotFound:({id:l})=>M.createElement(E,{type:"error"},e("general.site_id_not_found",{id:l}))}),M.createElement(Y,{appId:s.config.appId,onSubmit:r,onError:o}))};var ui=({children:t,siteId:r})=>{let o=N(),{model:{projectFolder:e}}=h(),s=oe(),l=O(),{status:a,merge:d}=C(async()=>ae({projectFolder:e,siteListClient:l,siteId:r,writeDebugLog:s}),[]),p=be(async n=>{try{await se(e,{siteId:n.id}),d({result:le.Resolved({site:n})})}catch{throw new b({code:x.FailedToSaveDevelopmentSite({path:re})})}},[d,e]),_=be(n=>p(n).catch(o),[o,p]);return(0,U.match)(a,{Error:()=>null,Loading:()=>W.createElement(S,null),Success:({result:n})=>(0,U.match)(n,{NotConfigured:u=>W.createElement(G,{state:u,onSubmit:_}),NotFound:u=>W.createElement(G,{state:u,onSubmit:_}),Resolved:({site:u})=>W.createElement(pe.Provider,{value:{site:u,setSite:p}},typeof t=="function"?t(u):t)})})};i();var J=v(g(),1);import{useCallback as xe}from"react";function _i(){let{model:t}=h(),r=xe(e=>t.components.some(s=>s.platforms.some((0,J.isType)(e.type))),[t.components]),o=xe(e=>t.components.every(s=>s.platforms.some((0,J.isType)(e.type))||s.platforms.length===0),[t.components]);return{isPlatformExists:r,hasSinglePlatform:o}}export{Y as a,ui as b,_i as c};
4
+ //# sourceMappingURL=chunk-7FABCBRF.js.map
@@ -0,0 +1,4 @@
1
+ import { createRequire as _createRequire } from 'node:module';
2
+ const require = _createRequire(import.meta.url);
3
+ import{b as i}from"./chunk-LZXJDSN6.js";import{b as r,c as o}from"./chunk-25SKF6FV.js";import{h as t}from"./chunk-V4TR6DCM.js";t();var M=async({model:e,arm:p,serveUrl:a,backendServerUrl:n,topologyComponentId:s,topologyBaseApiUrl:l})=>{let c=await i(e.projectFolder),d=o(r(c,a,n),{id:s,baseApiUrl:l});return p.createAppRelease(d,e.config.projectId)};export{M as a};
4
+ //# sourceMappingURL=chunk-ADKWZ4EI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/preview/create-preview-tag.ts"],"sourcesContent":["import {\n updateAppManifestWithBaseUrl,\n updateTopology,\n} from '@wix/cli-app-manifest';\nimport type { ARMClient } from '@wix/arm-client';\nimport type { ProjectModel } from '../model.js';\nimport { readAppManifestFile } from '../app-manifest/file.js';\n\nexport const createPreviewTag = async ({\n model,\n arm,\n serveUrl,\n backendServerUrl,\n topologyComponentId,\n topologyBaseApiUrl,\n}: {\n model: ProjectModel;\n arm: ARMClient;\n serveUrl: string;\n topologyComponentId?: string;\n topologyBaseApiUrl?: string;\n backendServerUrl?: string;\n}) => {\n const manifest = await readAppManifestFile(model.projectFolder);\n const updatedManifest = updateTopology(\n updateAppManifestWithBaseUrl(manifest, serveUrl, backendServerUrl),\n {\n id: topologyComponentId,\n baseApiUrl: topologyBaseApiUrl,\n }\n );\n\n return arm.createAppRelease(updatedManifest, model.config.projectId);\n};\n"],"mappings":";;+HAAAA,IAQO,IAAMC,EAAmB,MAAO,CACrC,MAAAC,EACA,IAAAC,EACA,SAAAC,EACA,iBAAAC,EACA,oBAAAC,EACA,mBAAAC,CACF,IAOM,CACJ,IAAMC,EAAW,MAAMC,EAAoBP,EAAM,aAAa,EACxDQ,EAAkBC,EACtBC,EAA6BJ,EAAUJ,EAAUC,CAAgB,EACjE,CACE,GAAIC,EACJ,WAAYC,CACd,CACF,EAEA,OAAOJ,EAAI,iBAAiBO,EAAiBR,EAAM,OAAO,SAAS,CACrE","names":["init_esm_shims","createPreviewTag","model","arm","serveUrl","backendServerUrl","topologyComponentId","topologyBaseApiUrl","manifest","readAppManifestFile","updatedManifest","updateTopology","updateAppManifestWithBaseUrl"]}
@@ -6,6 +6,6 @@ This may happen because the site was deleted or your access has been revoked.
6
6
  Please select another Development Site to continue`,"general.dashboard_page_text":"<0>Click here</0> to open your application in the Wix Dashboard","general.dashboard_page_click_here":"Click here","general.close_screen":"Press <0/> to close","general.write_dev_log_failure.message":"Can not write logs to <0>{path}</0>","general.write_dev_log_failure.hint":"Make sure the file has proper permissions and is accessible","general.open_page_error":"Failed to open the browser for <0>{title}</0>, use the following URL to open it in your browser:","general.dashboard_pages_viewer.title":"Press a number key to open a dashboard page:","general.dashboard_plugins_viewer.title":"Press a number key to open a dashboard plugin:","general.dashboard_menu_plugins_viewer.title":"Press a number key to open a dashboard menu plugin:","general.backend_api_viewer.title":"Press a number key to trigger an api:","general.backend_plugin_viewer.title":"Press a number key to trigger an plugin:","general.backend_events_viewer.title":"Press a number key to trigger an event:","general.numeric_viewer.show_more":"View more...","general.platform.site":"Site","general.platform.unpublished_site":"Site (publish the site to enable site preview)","general.platform.editor":"Editor","general.platform.dashboard":"Dashboard","general.platform.backend":"Backend","general.platform.none":`Your project doesn't seem to have any extensions.
7
7
 
8
8
  Extensions are the building blocks of your app.
9
- Make sure it is configured properly, or read our <0>documentation</0> to start developing your first extension.`,"general.dev_site.current":"Current Development Site: {name}","general.view_changes":"View your local changes: <0>(Press a key to open)</0>","general.open_preview.title_single":"Open the preview on the","general.open_preview.title_multiple":"Open the preview on:","preview_command.creating_preview":"Creating a preview...","preview_command.creating_preview_success":"Preview created successfully!","preview_command.uploading_files":"Uploading your application files...","preview_command.uploading_files_success":"Uploaded successfully!","dev_command.dev_environment.loading":"Starting dev environment...","dev_command.dev_environment.started":"Local development environment ready.","dev_command.dev_environment.url":"Application served on <0/>","dev_command.dev_environment.https_url.open_info":"Press <0/> to open & approve dev server","dev_command.dev_environment.https_url.failed_to_open":"Unable to open <0/> for approving selfsigned certificate. Please manually access the link.","dev_command.dev_site.change":"Press <0/> to change your current Development Site","dev_command.site_selector.error":"Failed to change Development Site!","dev_command.dashboard_pages_screen.select_label":"Select a dashboard page to open","dev_command.dashboard_menu_plugin_screen.select_label":"Select a dashboard menu plugin to open","dev_command.dashboard_page_plugin_screen.select_label":"Select a dashboard plugin to open","dev_command.dashboard_modal_screen.select_label":"Select a dashboard modal to open","dev_command.backend_apis_screen.select_label":"Select api to trigger","dev_command.backend_events_screen.select_label":"Select event to trigger","dev_command.backend_plugins_screen.select_label":"Select plugin to trigger","dev_command.dev_env_logs.title":"Dev Environment Logs: <0>(full logs at {path})</0>","dev_command.dev_env_logs.empty":"No logs to show","dev_command.config_change":"Loading App Manifest changes...","dev_command.config_update":"App Manifest updated. Refresh existing browser tabs to view the latest changes.","dev_command.config_didnt_update":"No App Manifest update occurred","dev_command.tunneling.confirm":"To proceed, we'll set up a secure tunnel from your machine for development purposes, press Y to continue","dev_command.tunneling.abort_dev":"Operation aborted. Tunneling is necessary to run your application.","dev_command.new_custom_element.warning":"New site widget detected. Press <0/> to update the app in Dev Center & reinstall it on your dev site for access.","dev_command.new_custom_element.confirm_reinstall":"Press <0/> when you reinstalled app on your dev site","dev_command.new_custom_element.reinstall_error":"We had troubles with adding your new custom element. You can try to do it by yourself. Press <0/> to continue","serve_command.starting_serve_environment":"Starting serve environment...","serve_command.starting_serve_environment_success":"Serve environment started! <0/>","serve_command.production_build":"Application is using a production build","create_version_command.creating_version":"Creating a version...","create_version_command.creating_version_success":"Successfully created v{version}","create_version_command.current_version":"Your current version is: v{version}","create_version_command.confirm_version_creation":"Continue with creating the new version?","create_version_command.confirm_version_creation_aborted":"Version creation aborted","create_version_command.version_type_question":"What type of version would you like to create?","create_version_command.version_type_question_minor":"Minor (v{version})","create_version_command.version_type_question_major":"Major (v{version})","create_version_command.check_preview_before_version_release":"Before creating a new version, let's create a preview of your app","create_version_command.checking_validation_status":"Checking if this version can be submitted\u2026","create_version_command.version_validation_ok":"This version can be submitted for review in the <0>Dev Center</0>","create_version_command.version_validation_has_failures":`This version has blockers preventing it from being submitted for review.
9
+ Make sure it is configured properly, or read our <0>documentation</0> to start developing your first extension.`,"general.dev_site.current":"Current Development Site: {name}","general.view_changes":"View your local changes: <0>(Press a key to open)</0>","general.open_preview.title_single":"Open the preview on the","general.open_preview.title_multiple":"Open the preview on:","preview_command.creating_preview":"Creating a preview...","preview_command.creating_preview_success":"Preview created successfully!","preview_command.uploading_files":"Uploading your application files...","preview_command.uploading_files_success":"Uploaded successfully!","dev_command.dev_environment.loading":"Starting dev environment...","dev_command.dev_environment.started":"Local development environment ready.","dev_command.dev_environment.url":"Application served on <0/>","dev_command.dev_environment.backend_url":"Backend served on <0/>","dev_command.dev_environment.https_url.open_info":"Press <0/> to open & approve dev server","dev_command.dev_environment.https_url.failed_to_open":"Unable to open <0/> for approving selfsigned certificate. Please manually access the link.","dev_command.dev_site.change":"Press <0/> to change your current Development Site","dev_command.site_selector.error":"Failed to change Development Site!","dev_command.dashboard_pages_screen.select_label":"Select a dashboard page to open","dev_command.dashboard_menu_plugin_screen.select_label":"Select a dashboard menu plugin to open","dev_command.dashboard_page_plugin_screen.select_label":"Select a dashboard plugin to open","dev_command.dashboard_modal_screen.select_label":"Select a dashboard modal to open","dev_command.backend_apis_screen.select_label":"Select api to trigger","dev_command.backend_events_screen.select_label":"Select event to trigger","dev_command.backend_plugins_screen.select_label":"Select plugin to trigger","dev_command.dev_env_logs.title":"Dev Environment Logs: <0>(full logs at {path})</0>","dev_command.dev_env_logs.empty":"No logs to show","dev_command.config_change":"Loading App Manifest changes...","dev_command.config_update":"App Manifest updated. Refresh existing browser tabs to view the latest changes.","dev_command.config_didnt_update":"No App Manifest update occurred","dev_command.tunneling.confirm":"To proceed, we'll set up a secure tunnel from your machine for development purposes, press Y to continue","dev_command.tunneling.abort_dev":"Operation aborted. Tunneling is necessary to run your application.","dev_command.new_custom_element.warning":"New site widget detected. Press <0/> to update the app in Dev Center & reinstall it on your dev site for access.","dev_command.new_custom_element.confirm_reinstall":"Press <0/> when you reinstalled app on your dev site","dev_command.new_custom_element.reinstall_error":"We had troubles with adding your new custom element. You can try to do it by yourself. Press <0/> to continue","serve_command.starting_serve_environment":"Starting serve environment...","serve_command.starting_serve_environment_success":"Serve environment started! <0/>","serve_command.production_build":"Application is using a production build","create_version_command.creating_version":"Creating a version...","create_version_command.creating_version_success":"Successfully created v{version}","create_version_command.current_version":"Your current version is: v{version}","create_version_command.confirm_version_creation":"Continue with creating the new version?","create_version_command.confirm_version_creation_aborted":"Version creation aborted","create_version_command.version_type_question":"What type of version would you like to create?","create_version_command.version_type_question_minor":"Minor (v{version})","create_version_command.version_type_question_major":"Major (v{version})","create_version_command.check_preview_before_version_release":"Before creating a new version, let's create a preview of your app","create_version_command.checking_validation_status":"Checking if this version can be submitted\u2026","create_version_command.version_validation_ok":"This version can be submitted for review in the <0>Dev Center</0>","create_version_command.version_validation_has_failures":`This version has blockers preventing it from being submitted for review.
10
10
  Please fix them and submit your app in the <0>Dev Center</0>.`,"embedded_script.type.essential":"Essential","embedded_script.type.essential.description":"Must load regardless of policy","embedded_script.type.functional":"Functional","embedded_script.type.functional.description":"Adds optional functionality to the site","embedded_script.type.analytics":"Analytics","embedded_script.type.analytics.description":"Adds analytics abilities to the site","embedded_script.type.advertising":"Advertising","embedded_script.type.advertising.description":"Adds advertising content or advertising tracking to the site","embedded_script.placement.head":"Head","embedded_script.placement.head.description":"In the document head","embedded_script.placement.body_start":"Body Start","embedded_script.placement.body_start.description":"Prepended in the body","embedded_script.placement.body_end":"Body End","embedded_script.placement.body_end.description":"Appended in the body","generate_command.description":"Add new extensions to your application","generate_command.flow.dashboard_category":"Dashboard","generate_command.flow.site_category":"Site","generate_command.flow.dashboard_page":"Dashboard Page","generate_command.flow.sidebar_category":"Sidebar Category","generate_command.flow.dashboard_plugin":"Dashboard Plugin","generate_command.flow.dashboard_menu_plugin":"Dashboard Menu Plugin","generate_command.flow.embedded_script":"Embedded Script","generate_command.flow.dashboard_modal":"Dashboard Modal","generate_command.flow.custom_element":"Site Widget","generate_command.flow.choose_flow":"What kind of extension would you like to generate?","generate_command.generation.loading":"Generating {subject}...","generate_command.generation.done":"\u{1F680} The new {extensionName} has been generated successfully.","generate_command.generation.learn_more":"\u{1F4DA} Learn more about {extensionName}: <0/>","generate_command.dashboard_page.choose_route":"Enter the route for the new page:","generate_command.dashboard_page.route_placeholder":"my-page","generate_command.dashboard_page.choose_title":"Page title:","generate_command.dashboard_page.title_placeholder":"My Page","generate_command.dashboard_page.add_to_category":"Add to a sidebar category?","generate_command.dashboard_page.choose_category":"Sidebar category:","generate_command.sidebar_category.choose_label":"Enter the label for the new category:","generate_command.sidebar_category.label_placeholder":"My App","generate_command.custom_element.validation.element_exists":"The custome element folder must be unique, please choose a name that has not been used yet in your application.","generate_command.custom_element.validation.element_invalid":"The custom element folder must be a valid path ([a-z-/]+) and must not start with a dot.","generate_command.custom_element.choose_folder":"Element folder (relative to src/site/widgets/custom-elements):","generate_command.custom_element.folder_placeholder":"my-widget","generate_command.custom_element.choose_name":"Element name:","generate_command.custom_element.name_placeholder":"Custom Element","generate_command.embedded_script.validation.script_exists":"The script folder must be unique, please choose a name that has not been used yet in your application.","generate_command.embedded_script.validation.script_invalid":"The script folder must be a valid path ([a-z0-9-/]+) and must not start with a dot.","generate_command.embedded_script.choose_folder":"Script folder (relative to src/site/embedded-scripts):","generate_command.embedded_script.folder_placeholder":"my-script","generate_command.embedded_script.choose_name":"Script name:","generate_command.embedded_script.name_placeholder":"My Script","generate_command.embedded_script.choose_type":"Script type:","generate_command.embedded_script.type_info":"Will be used for GDPR and cookie consent purposes","generate_command.embedded_script.choose_placement":"Placement:","generate_command.embedded_script.placement_info":"Will determine where the script is embedded","generate_command.dashboard_modal.validation.folder_exists":"The modal folder must be unique, please choose a folder name that has not been used yet in your application.","generate_command.dashboard_modal.validation.folder_invalid":"The modal folder must be a valid path ([a-z0-9-/]+) and must not start with a dot.","generate_command.dashboard_modal.choose_folder":"Enter the folder name for the new modal:","generate_command.dashboard_modal.folder_placeholder":"my-modal","generate_command.dashboard_modal.choose_title":"Modal title:","generate_command.dashboard_modal.title_placeholder":"My Modal","generate_command.dashboard_plugin.what_to_extend":"What would you like to extend?","generate_command.dashboard_plugin.what_to_extend.description":"Plugins let you extend Wix apps by embedding your UI inside dedicated slots within a dashboard page (<0>read more</0>)","generate_command.dashboard_plugin.what_to_extend.item_description":"<0>read more</0>","generate_command.dashboard_plugin.choose_folder":"Plugin folder (relative to src/dashboard/plugins)","generate_command.dashboard_plugin.folder_placeholder":"my-plugin","generate_command.dashboard_plugin.choose_title":"Plugin title","generate_command.dashboard_plugin.title_placeholder":"My Plugin","generate_command.required_app":"Would you like to set {appName} as a requirement for your app?","generate_command.required_app.description":"This means sites must have {appName} installed before installing your app (<0>read more</0>)","generate_command.dashboard_menu_plugin.what_to_extend":"What would you like to extend?","generate_command.dashboard_menu_plugin.what_to_extend.description":"Menu Plugins let you extend Wix apps by adding a menu item in a pre-defined slot in a menu on a dashboard page (<0>read more</0>)","generate_command.dashboard_menu_plugin.what_to_extend.item_description":"<0>read more</0>","generate_command.dashboard_menu_plugin.what_to_do":"What action will happen after clicking on the menu item?","generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page":"Navigate to a page","generate_command.dashboard_menu_plugin.what_to_do.open_modal":"Open a modal","generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page":"Choose a page the menu item will navigate to:","generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.info":"Choose from a list of available pages in your project or manually add a page from a different app","generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.other":"Use a page from a different app","generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.other.choose_page_id":"What is the unique id of the page?","generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.other.page_id_invalid":"Page id has to be in the format of a uuid","generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component":"Choose the modal to open:","generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.info":"Choose from a list of available modals in your project or manually add a modal from a different app","generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.other":"Use a modal from a different app","generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.other.choose_component_id":"What is the unique id of the modal?","generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.other.component_id_invalid":"Modal id has to be in the format of a uuid","generate_command.dashboard_menu_plugin.choose_folder":"Menu Plugin folder (relative to src/dashboard/menu-plugins)","generate_command.dashboard_menu_plugin.folder_placeholder":"my-plugin","generate_command.dashboard_menu_plugin.choose_title":"Menu Plugin title","generate_command.dashboard_menu_plugin.title_placeholder":"My Plugin"};export{o as a};
11
- //# sourceMappingURL=chunk-LNZPUJZM.js.map
11
+ //# sourceMappingURL=chunk-AYAI5JUA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/messages.json"],"sourcesContent":["{\n \"create_version_command_def.option.version_type\": \"The type of version you would like to create\",\n \"create_version_command_def.option.approve_preview\": \"Approve preview automatically\",\n \"create_version_command_def.option.base_url\": \"The base url for when static files have been uploaded to an external cdn\",\n \"create_version_command_def.option.site\": \"The site id to use for Application Preview urls, defaults to the current selected development site\",\n \"dev_command_def.option.https\": \"Start local dev server on https\",\n \"app_preview_command_def.option.site\": \"The site id to use for Application Preview urls, defaults to the current selected development site\",\n \"app_preview_command_def.option.base_url\": \"The base url for when static files have been uploaded to an external cdn\",\n \"app_preview_command_def.option.no_input\": \"Disable command interactivity\",\n \"general.loading\": \"Loading...\",\n \"general.no_site_id_configured\": \"You don't have a Development Site currently configured\",\n \"general.site_id_not_found\": \"Your currently configured Development Site was not found ({id})\\nThis may happen because the site was deleted or your access has been revoked.\\n\\nPlease select another Development Site to continue\",\n \"general.dashboard_page_text\": \"<0>Click here</0> to open your application in the Wix Dashboard\",\n \"general.dashboard_page_click_here\": \"Click here\",\n \"general.close_screen\": \"Press <0/> to close\",\n \"general.write_dev_log_failure.message\": \"Can not write logs to <0>{path}</0>\",\n \"general.write_dev_log_failure.hint\": \"Make sure the file has proper permissions and is accessible\",\n \"general.open_page_error\": \"Failed to open the browser for <0>{title}</0>, use the following URL to open it in your browser:\",\n \"general.dashboard_pages_viewer.title\": \"Press a number key to open a dashboard page:\",\n \"general.dashboard_plugins_viewer.title\": \"Press a number key to open a dashboard plugin:\",\n \"general.dashboard_menu_plugins_viewer.title\": \"Press a number key to open a dashboard menu plugin:\",\n \"general.backend_api_viewer.title\": \"Press a number key to trigger an api:\",\n \"general.backend_plugin_viewer.title\": \"Press a number key to trigger an plugin:\",\n \"general.backend_events_viewer.title\": \"Press a number key to trigger an event:\",\n \"general.numeric_viewer.show_more\": \"View more...\",\n \"general.platform.site\": \"Site\",\n \"general.platform.unpublished_site\": \"Site (publish the site to enable site preview)\",\n \"general.platform.editor\": \"Editor\",\n \"general.platform.dashboard\": \"Dashboard\",\n \"general.platform.backend\": \"Backend\",\n \"general.platform.none\": \"Your project doesn't seem to have any extensions.\\n\\nExtensions are the building blocks of your app.\\nMake sure it is configured properly, or read our <0>documentation</0> to start developing your first extension.\",\n \"general.dev_site.current\": \"Current Development Site: {name}\",\n \"general.view_changes\": \"View your local changes: <0>(Press a key to open)</0>\",\n \"general.open_preview.title_single\": \"Open the preview on the\",\n \"general.open_preview.title_multiple\": \"Open the preview on:\",\n \"preview_command.creating_preview\": \"Creating a preview...\",\n \"preview_command.creating_preview_success\": \"Preview created successfully!\",\n \"preview_command.uploading_files\": \"Uploading your application files...\",\n \"preview_command.uploading_files_success\": \"Uploaded successfully!\",\n \"dev_command.dev_environment.loading\": \"Starting dev environment...\",\n \"dev_command.dev_environment.started\": \"Local development environment ready.\",\n \"dev_command.dev_environment.url\": \"Application served on <0/>\",\n \"dev_command.dev_environment.backend_url\": \"Backend served on <0/>\",\n \"dev_command.dev_environment.https_url.open_info\": \"Press <0/> to open & approve dev server\",\n \"dev_command.dev_environment.https_url.failed_to_open\": \"Unable to open <0/> for approving selfsigned certificate. Please manually access the link.\",\n \"dev_command.dev_site.change\": \"Press <0/> to change your current Development Site\",\n \"dev_command.site_selector.error\": \"Failed to change Development Site!\",\n \"dev_command.dashboard_pages_screen.select_label\": \"Select a dashboard page to open\",\n \"dev_command.dashboard_menu_plugin_screen.select_label\": \"Select a dashboard menu plugin to open\",\n \"dev_command.dashboard_page_plugin_screen.select_label\": \"Select a dashboard plugin to open\",\n \"dev_command.dashboard_modal_screen.select_label\": \"Select a dashboard modal to open\",\n \"dev_command.backend_apis_screen.select_label\": \"Select api to trigger\",\n \"dev_command.backend_events_screen.select_label\": \"Select event to trigger\",\n \"dev_command.backend_plugins_screen.select_label\": \"Select plugin to trigger\",\n \"dev_command.dev_env_logs.title\": \"Dev Environment Logs: <0>(full logs at {path})</0>\",\n \"dev_command.dev_env_logs.empty\": \"No logs to show\",\n \"dev_command.config_change\": \"Loading App Manifest changes...\",\n \"dev_command.config_update\": \"App Manifest updated. Refresh existing browser tabs to view the latest changes.\",\n \"dev_command.config_didnt_update\": \"No App Manifest update occurred\",\n \"dev_command.tunneling.confirm\": \"To proceed, we'll set up a secure tunnel from your machine for development purposes, press Y to continue\",\n \"dev_command.tunneling.abort_dev\": \"Operation aborted. Tunneling is necessary to run your application.\",\n \"dev_command.new_custom_element.warning\": \"New site widget detected. Press <0/> to update the app in Dev Center & reinstall it on your dev site for access.\",\n \"dev_command.new_custom_element.confirm_reinstall\": \"Press <0/> when you reinstalled app on your dev site\",\n \"dev_command.new_custom_element.reinstall_error\": \"We had troubles with adding your new custom element. You can try to do it by yourself. Press <0/> to continue\",\n \"serve_command.starting_serve_environment\": \"Starting serve environment...\",\n \"serve_command.starting_serve_environment_success\": \"Serve environment started! <0/>\",\n \"serve_command.production_build\": \"Application is using a production build\",\n \"create_version_command.creating_version\": \"Creating a version...\",\n \"create_version_command.creating_version_success\": \"Successfully created v{version}\",\n \"create_version_command.current_version\": \"Your current version is: v{version}\",\n \"create_version_command.confirm_version_creation\": \"Continue with creating the new version?\",\n \"create_version_command.confirm_version_creation_aborted\": \"Version creation aborted\",\n \"create_version_command.version_type_question\": \"What type of version would you like to create?\",\n \"create_version_command.version_type_question_minor\": \"Minor (v{version})\",\n \"create_version_command.version_type_question_major\": \"Major (v{version})\",\n \"create_version_command.check_preview_before_version_release\": \"Before creating a new version, let's create a preview of your app\",\n \"create_version_command.checking_validation_status\": \"Checking if this version can be submitted…\",\n \"create_version_command.version_validation_ok\": \"This version can be submitted for review in the <0>Dev Center</0>\",\n \"create_version_command.version_validation_has_failures\": \"This version has blockers preventing it from being submitted for review.\\nPlease fix them and submit your app in the <0>Dev Center</0>.\",\n \"embedded_script.type.essential\": \"Essential\",\n \"embedded_script.type.essential.description\": \"Must load regardless of policy\",\n \"embedded_script.type.functional\": \"Functional\",\n \"embedded_script.type.functional.description\": \"Adds optional functionality to the site\",\n \"embedded_script.type.analytics\": \"Analytics\",\n \"embedded_script.type.analytics.description\": \"Adds analytics abilities to the site\",\n \"embedded_script.type.advertising\": \"Advertising\",\n \"embedded_script.type.advertising.description\": \"Adds advertising content or advertising tracking to the site\",\n \"embedded_script.placement.head\": \"Head\",\n \"embedded_script.placement.head.description\": \"In the document head\",\n \"embedded_script.placement.body_start\": \"Body Start\",\n \"embedded_script.placement.body_start.description\": \"Prepended in the body\",\n \"embedded_script.placement.body_end\": \"Body End\",\n \"embedded_script.placement.body_end.description\": \"Appended in the body\",\n \"generate_command.description\": \"Add new extensions to your application\",\n \"generate_command.flow.dashboard_category\": \"Dashboard\",\n \"generate_command.flow.site_category\": \"Site\",\n \"generate_command.flow.dashboard_page\": \"Dashboard Page\",\n \"generate_command.flow.sidebar_category\": \"Sidebar Category\",\n \"generate_command.flow.dashboard_plugin\": \"Dashboard Plugin\",\n \"generate_command.flow.dashboard_menu_plugin\": \"Dashboard Menu Plugin\",\n \"generate_command.flow.embedded_script\": \"Embedded Script\",\n \"generate_command.flow.dashboard_modal\": \"Dashboard Modal\",\n \"generate_command.flow.custom_element\": \"Site Widget\",\n \"generate_command.flow.choose_flow\": \"What kind of extension would you like to generate?\",\n \"generate_command.generation.loading\": \"Generating {subject}...\",\n \"generate_command.generation.done\": \"🚀 The new {extensionName} has been generated successfully.\",\n \"generate_command.generation.learn_more\": \"📚 Learn more about {extensionName}: <0/>\",\n \"generate_command.dashboard_page.choose_route\": \"Enter the route for the new page:\",\n \"generate_command.dashboard_page.route_placeholder\": \"my-page\",\n \"generate_command.dashboard_page.choose_title\": \"Page title:\",\n \"generate_command.dashboard_page.title_placeholder\": \"My Page\",\n \"generate_command.dashboard_page.add_to_category\": \"Add to a sidebar category?\",\n \"generate_command.dashboard_page.choose_category\": \"Sidebar category:\",\n \"generate_command.sidebar_category.choose_label\": \"Enter the label for the new category:\",\n \"generate_command.sidebar_category.label_placeholder\": \"My App\",\n \"generate_command.custom_element.validation.element_exists\": \"The custome element folder must be unique, please choose a name that has not been used yet in your application.\",\n \"generate_command.custom_element.validation.element_invalid\": \"The custom element folder must be a valid path ([a-z-/]+) and must not start with a dot.\",\n \"generate_command.custom_element.choose_folder\": \"Element folder (relative to src/site/widgets/custom-elements):\",\n \"generate_command.custom_element.folder_placeholder\": \"my-widget\",\n \"generate_command.custom_element.choose_name\": \"Element name:\",\n \"generate_command.custom_element.name_placeholder\": \"Custom Element\",\n \"generate_command.embedded_script.validation.script_exists\": \"The script folder must be unique, please choose a name that has not been used yet in your application.\",\n \"generate_command.embedded_script.validation.script_invalid\": \"The script folder must be a valid path ([a-z0-9-/]+) and must not start with a dot.\",\n \"generate_command.embedded_script.choose_folder\": \"Script folder (relative to src/site/embedded-scripts):\",\n \"generate_command.embedded_script.folder_placeholder\": \"my-script\",\n \"generate_command.embedded_script.choose_name\": \"Script name:\",\n \"generate_command.embedded_script.name_placeholder\": \"My Script\",\n \"generate_command.embedded_script.choose_type\": \"Script type:\",\n \"generate_command.embedded_script.type_info\": \"Will be used for GDPR and cookie consent purposes\",\n \"generate_command.embedded_script.choose_placement\": \"Placement:\",\n \"generate_command.embedded_script.placement_info\": \"Will determine where the script is embedded\",\n \"generate_command.dashboard_modal.validation.folder_exists\": \"The modal folder must be unique, please choose a folder name that has not been used yet in your application.\",\n \"generate_command.dashboard_modal.validation.folder_invalid\": \"The modal folder must be a valid path ([a-z0-9-/]+) and must not start with a dot.\",\n \"generate_command.dashboard_modal.choose_folder\": \"Enter the folder name for the new modal:\",\n \"generate_command.dashboard_modal.folder_placeholder\": \"my-modal\",\n \"generate_command.dashboard_modal.choose_title\": \"Modal title:\",\n \"generate_command.dashboard_modal.title_placeholder\": \"My Modal\",\n \"generate_command.dashboard_plugin.what_to_extend\": \"What would you like to extend?\",\n \"generate_command.dashboard_plugin.what_to_extend.description\": \"Plugins let you extend Wix apps by embedding your UI inside dedicated slots within a dashboard page (<0>read more</0>)\",\n \"generate_command.dashboard_plugin.what_to_extend.item_description\": \"<0>read more</0>\",\n \"generate_command.dashboard_plugin.choose_folder\": \"Plugin folder (relative to src/dashboard/plugins)\",\n \"generate_command.dashboard_plugin.folder_placeholder\": \"my-plugin\",\n \"generate_command.dashboard_plugin.choose_title\": \"Plugin title\",\n \"generate_command.dashboard_plugin.title_placeholder\": \"My Plugin\",\n \"generate_command.required_app\": \"Would you like to set {appName} as a requirement for your app?\",\n \"generate_command.required_app.description\": \"This means sites must have {appName} installed before installing your app (<0>read more</0>)\",\n \"generate_command.dashboard_menu_plugin.what_to_extend\": \"What would you like to extend?\",\n \"generate_command.dashboard_menu_plugin.what_to_extend.description\": \"Menu Plugins let you extend Wix apps by adding a menu item in a pre-defined slot in a menu on a dashboard page (<0>read more</0>)\",\n \"generate_command.dashboard_menu_plugin.what_to_extend.item_description\": \"<0>read more</0>\",\n \"generate_command.dashboard_menu_plugin.what_to_do\": \"What action will happen after clicking on the menu item?\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page\": \"Navigate to a page\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal\": \"Open a modal\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page\": \"Choose a page the menu item will navigate to:\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.info\": \"Choose from a list of available pages in your project or manually add a page from a different app\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.other\": \"Use a page from a different app\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.other.choose_page_id\": \"What is the unique id of the page?\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.other.page_id_invalid\": \"Page id has to be in the format of a uuid\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component\": \"Choose the modal to open:\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.info\": \"Choose from a list of available modals in your project or manually add a modal from a different app\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.other\": \"Use a modal from a different app\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.other.choose_component_id\": \"What is the unique id of the modal?\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.other.component_id_invalid\": \"Modal id has to be in the format of a uuid\",\n \"generate_command.dashboard_menu_plugin.choose_folder\": \"Menu Plugin folder (relative to src/dashboard/menu-plugins)\",\n \"generate_command.dashboard_menu_plugin.folder_placeholder\": \"my-plugin\",\n \"generate_command.dashboard_menu_plugin.choose_title\": \"Menu Plugin title\",\n \"generate_command.dashboard_menu_plugin.title_placeholder\": \"My Plugin\"\n}\n"],"mappings":"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","names":["messages_default"]}