@wix/cli-app 1.1.35 → 1.1.37

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 (144) hide show
  1. package/build/{CreateVersionCommand-FGFXCQ6O.js → CreateVersionCommand-6EC4JSXM.js} +2 -2
  2. package/build/CreateVersionCommand-6EC4JSXM.js.map +1 -0
  3. package/build/DevCommand-X6EMKMNL.js +4 -0
  4. package/build/DevCommand-X6EMKMNL.js.map +1 -0
  5. package/build/GenerateCommand-OMONJKBI.js +99 -0
  6. package/build/GenerateCommand-OMONJKBI.js.map +1 -0
  7. package/build/LogsCommand-J2FI7ZFQ.js +4 -0
  8. package/build/LogsCommand-J2FI7ZFQ.js.map +1 -0
  9. package/build/PreviewCommand-62VXVRKG.js +4 -0
  10. package/build/{ServeCommand-3XS2PRLZ.js → ServeCommand-MITPYVYW.js} +2 -2
  11. package/build/ServeCommand-MITPYVYW.js.map +1 -0
  12. package/build/{build-R2V6VPAY.js → build-QYESI24D.js} +2 -2
  13. package/build/build-QYESI24D.js.map +1 -0
  14. package/build/{chunk-CBDNKNAV.js → chunk-22T5OFY2.js} +2 -2
  15. package/build/chunk-22T5OFY2.js.map +1 -0
  16. package/build/chunk-2M3UC7RV.js +4 -0
  17. package/build/chunk-2M3UC7RV.js.map +1 -0
  18. package/build/{chunk-R4ZQYYZR.js → chunk-7DTNPXX6.js} +2 -2
  19. package/build/{chunk-3T3H3UJF.js → chunk-7IFG7QRE.js} +3 -3
  20. package/build/chunk-7IFG7QRE.js.map +1 -0
  21. package/build/chunk-CKCOR335.js +10 -0
  22. package/build/chunk-CKCOR335.js.map +1 -0
  23. package/build/{chunk-2JOP4YNL.js → chunk-CXOD6WQ4.js} +2 -2
  24. package/build/chunk-CXOD6WQ4.js.map +1 -0
  25. package/build/chunk-E6KVS4MA.js +4 -0
  26. package/build/chunk-E6KVS4MA.js.map +1 -0
  27. package/build/{chunk-OWEB37KH.js → chunk-EQUG3BNW.js} +2 -2
  28. package/build/chunk-FVAP6LIO.js +4 -0
  29. package/build/chunk-FVAP6LIO.js.map +1 -0
  30. package/build/chunk-HDM7FXQ2.js +4 -0
  31. package/build/chunk-HMROXS2Y.js +116 -0
  32. package/build/{chunk-5JYQ2Z7Y.js.map → chunk-HMROXS2Y.js.map} +1 -1
  33. package/build/{chunk-ZORLYW6M.js → chunk-JA2XJ7LG.js} +2 -2
  34. package/build/{chunk-YT6VEJPK.js → chunk-KEE43HZL.js} +2 -2
  35. package/build/chunk-KEE43HZL.js.map +1 -0
  36. package/build/{chunk-KRQ3H7GR.js → chunk-PVYYLEXH.js} +2 -2
  37. package/build/chunk-PVYYLEXH.js.map +1 -0
  38. package/build/chunk-QCRAQWKR.js +11 -0
  39. package/build/chunk-QCRAQWKR.js.map +1 -0
  40. package/build/{chunk-QEH4HZND.js → chunk-RPHPWNCA.js} +2 -2
  41. package/build/chunk-T3M3WLBF.js +4 -0
  42. package/build/chunk-T3M3WLBF.js.map +1 -0
  43. package/build/chunk-U6DFVNFC.js +4 -0
  44. package/build/chunk-U6DFVNFC.js.map +1 -0
  45. package/build/chunk-XFE6VTSD.js +233 -0
  46. package/build/chunk-XFE6VTSD.js.map +1 -0
  47. package/build/{chunk-A3KHJIN7.js → chunk-XMBKXITX.js} +2 -2
  48. package/build/index.js +2 -2
  49. package/build/index.js.map +1 -1
  50. package/build/platform-sdk/chunk-OSR2I5MY.js +2 -0
  51. package/build/platform-sdk/chunk-OSR2I5MY.js.map +1 -0
  52. package/build/platform-sdk/chunk-SHVQ4QZG.js +2 -0
  53. package/build/platform-sdk/chunk-SHVQ4QZG.js.map +1 -0
  54. package/build/platform-sdk/chunk-TEDR2MDT.js +2 -0
  55. package/build/platform-sdk/dashboard.js +1 -1
  56. package/build/platform-sdk/dashboard.js.map +1 -1
  57. package/build/platform-sdk/editor.js +8 -0
  58. package/build/platform-sdk/editor.js.map +1 -0
  59. package/build/platform-sdk/{esm-IUMNLA6B.js → esm-WXLS5NTC.js} +2 -2
  60. package/build/platform-sdk/esm-WXLS5NTC.js.map +1 -0
  61. package/build/platform-sdk/site.js +2 -0
  62. package/build/platform-sdk/site.js.map +1 -0
  63. package/build/preview-YWEFS3GP.js +4 -0
  64. package/build/{preview-5HAC2VHN.js.map → preview-YWEFS3GP.js.map} +1 -1
  65. package/build/render-command-QQQFQTR7.js +4 -0
  66. package/build/render-command-QQQFQTR7.js.map +1 -0
  67. package/internal/component-hmr-wrapper.tsx +0 -1
  68. package/package.json +9 -6
  69. package/schemas/ecom-additional-fees.json +1 -0
  70. package/schemas/ecom-discounts-trigger.json +1 -0
  71. package/schemas/ecom-payment-settings.json +1 -0
  72. package/schemas/ecom-shipping-rates.json +1 -0
  73. package/schemas/ecom-validations.json +1 -0
  74. package/templates/custom-element/dependencies.json +1 -2
  75. package/templates/custom-element/files/element.module.css.ejs +22 -0
  76. package/templates/custom-element/files/element.tsx.ejs +11 -10
  77. package/templates/custom-element/files/panel.tsx.ejs +26 -32
  78. package/templates/dashboard-modal/dependencies.json +2 -3
  79. package/templates/dashboard-modal/files/modal.tsx.ejs +11 -16
  80. package/templates/dashboard-page/dependencies.json +1 -3
  81. package/templates/dashboard-page/files/page.tsx.ejs +7 -11
  82. package/templates/dashboard-plugin/dependencies.json +1 -3
  83. package/templates/dashboard-plugin/files/plugin.tsx.ejs +6 -10
  84. package/templates/service-plugin/ecom-additional-fees/dependencies.json +5 -0
  85. package/templates/service-plugin/ecom-additional-fees/files/plugin.json.ejs +4 -0
  86. package/templates/service-plugin/ecom-additional-fees/files/plugin.ts.ejs +12 -0
  87. package/templates/service-plugin/ecom-discounts-trigger/dependencies.json +5 -0
  88. package/templates/service-plugin/ecom-discounts-trigger/files/plugin.json.ejs +4 -0
  89. package/templates/service-plugin/ecom-discounts-trigger/files/plugin.ts.ejs +17 -0
  90. package/templates/service-plugin/ecom-payment-settings/dependencies.json +5 -0
  91. package/templates/service-plugin/ecom-payment-settings/files/plugin.json.ejs +4 -0
  92. package/templates/service-plugin/ecom-payment-settings/files/plugin.ts.ejs +12 -0
  93. package/templates/service-plugin/ecom-shipping-rates/dependencies.json +5 -0
  94. package/templates/service-plugin/ecom-shipping-rates/files/plugin.json.ejs +4 -0
  95. package/templates/service-plugin/ecom-shipping-rates/files/plugin.ts.ejs +12 -0
  96. package/templates/service-plugin/ecom-validations/dependencies.json +5 -0
  97. package/templates/service-plugin/ecom-validations/files/plugin.json.ejs +4 -0
  98. package/templates/service-plugin/ecom-validations/files/plugin.ts.ejs +12 -0
  99. package/build/CreateVersionCommand-FGFXCQ6O.js.map +0 -1
  100. package/build/DevCommand-5DVDWGBY.js +0 -4
  101. package/build/DevCommand-5DVDWGBY.js.map +0 -1
  102. package/build/GenerateCommand-5MXGDU5D.js +0 -99
  103. package/build/GenerateCommand-5MXGDU5D.js.map +0 -1
  104. package/build/LogsCommand-GT4C6W63.js +0 -4
  105. package/build/LogsCommand-GT4C6W63.js.map +0 -1
  106. package/build/PreviewCommand-TYTUHLCK.js +0 -4
  107. package/build/ServeCommand-3XS2PRLZ.js.map +0 -1
  108. package/build/build-R2V6VPAY.js.map +0 -1
  109. package/build/chunk-2JOP4YNL.js.map +0 -1
  110. package/build/chunk-3T3H3UJF.js.map +0 -1
  111. package/build/chunk-5JYQ2Z7Y.js +0 -116
  112. package/build/chunk-5YLHD2SK.js +0 -4
  113. package/build/chunk-A7TURNR5.js +0 -4
  114. package/build/chunk-A7TURNR5.js.map +0 -1
  115. package/build/chunk-CBDNKNAV.js.map +0 -1
  116. package/build/chunk-F6WBFD2I.js +0 -11
  117. package/build/chunk-F6WBFD2I.js.map +0 -1
  118. package/build/chunk-J2KSZ5LE.js +0 -4
  119. package/build/chunk-J2KSZ5LE.js.map +0 -1
  120. package/build/chunk-KRQ3H7GR.js.map +0 -1
  121. package/build/chunk-MI2F3EIB.js +0 -4
  122. package/build/chunk-MI2F3EIB.js.map +0 -1
  123. package/build/chunk-NNF6JCN7.js +0 -4
  124. package/build/chunk-NNF6JCN7.js.map +0 -1
  125. package/build/chunk-PWHZSGUV.js +0 -10
  126. package/build/chunk-PWHZSGUV.js.map +0 -1
  127. package/build/chunk-RXT5UM7Q.js +0 -184
  128. package/build/chunk-RXT5UM7Q.js.map +0 -1
  129. package/build/chunk-VRNTLFVH.js +0 -4
  130. package/build/chunk-VRNTLFVH.js.map +0 -1
  131. package/build/chunk-YT6VEJPK.js.map +0 -1
  132. package/build/platform-sdk/chunk-RFBBAUMM.js +0 -2
  133. package/build/platform-sdk/esm-IUMNLA6B.js.map +0 -1
  134. package/build/preview-5HAC2VHN.js +0 -4
  135. package/build/render-command-OPJNFJRC.js +0 -4
  136. package/build/render-command-OPJNFJRC.js.map +0 -1
  137. /package/build/{PreviewCommand-TYTUHLCK.js.map → PreviewCommand-62VXVRKG.js.map} +0 -0
  138. /package/build/{chunk-R4ZQYYZR.js.map → chunk-7DTNPXX6.js.map} +0 -0
  139. /package/build/{chunk-OWEB37KH.js.map → chunk-EQUG3BNW.js.map} +0 -0
  140. /package/build/{chunk-5YLHD2SK.js.map → chunk-HDM7FXQ2.js.map} +0 -0
  141. /package/build/{chunk-ZORLYW6M.js.map → chunk-JA2XJ7LG.js.map} +0 -0
  142. /package/build/{chunk-QEH4HZND.js.map → chunk-RPHPWNCA.js.map} +0 -0
  143. /package/build/{chunk-A3KHJIN7.js.map → chunk-XMBKXITX.js.map} +0 -0
  144. /package/build/platform-sdk/{chunk-RFBBAUMM.js.map → chunk-TEDR2MDT.js.map} +0 -0
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{a as n}from"./chunk-3T3H3UJF.js";import{X as t}from"./chunk-2JOP4YNL.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-5YLHD2SK.js.map
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{I as o,J as b,K as h,L as m,M as p,N as T,Q as E,R as f}from"./chunk-5JYQ2Z7Y.js";import{l as e}from"./chunk-2JOP4YNL.js";import{h as S}from"./chunk-V4TR6DCM.js";S();import C 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()}),_=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(),j=e.object({width:e.number().nullish(),height:e.number().nullish()}).merge(d).passthrough(),u=e.object({appId:e.string(),componentId:e.string().uuid(),spec:e.string().min(1),variantValue:e.string()}).passthrough().optional(),y=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_PAGE),compData:e.object({backOfficePage:_}),compName:e.string().optional(),experiment:u}).passthrough(),A=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(T.BACK_OFFICE_EXTENSION_WIDGET),requiredPermission:e.string().nullish(),widget:j}).merge(g).passthrough()}),compName:e.string().optional(),experiment:u}).passthrough(),D=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:u}).passthrough(),v=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((n,i)=>{!n.navigateToPage&&!n.openModal&&i.addIssue({code:e.ZodIssueCode.custom,message:"action must have either navigateToPage or openModal"}),n.navigateToPage&&n.openModal&&i.addIssue({code:e.ZodIssueCode.custom,message:"action can't have both navigateToPage and openModal"})}),sentryDSN:e.string().optional(),requiredPermission:e.string().optional()}).merge(d).merge(g).passthrough()}),compName:e.string().optional(),experiment:u}).passthrough(),P=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:u}).passthrough(),M=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(),F=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_WIDGET),compName:e.string().optional()}).passthrough(),k=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_EXTENSION_CONTAINER),compName:e.string().optional()}).passthrough(),N=e.object({packageName:e.string().min(2).max(100),version:e.number().int().min(0)}),x=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(N)}),U=e.object({compId:e.string(),compType:e.literal(o.EMBEDDED_SCRIPT),compName:e.string().optional(),compData:e.object({embeddedScriptComponentData:x})}).passthrough(),W=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([b.BODY,b.FOOTER,b.HEADER])}).optional()}).optional(),widgetData:e.object({tagName:e.string(),scriptUrl:e.string(),scriptType:e.enum([E.NONE,E.COMMON_JS,E.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([f.AUTO,f.FIXED,f.UNKNOWN]).optional()})}),dependencies:e.array(N)}),w=e.object({compId:e.string(),compType:e.literal(o.CUSTOM_ELEMENT_WIDGET),compName:e.string().optional(),compData:e.object({customElementWidget:W})}).passthrough(),R=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(),B=e.object({compId:e.string().uuid(),compType:e.literal(o.ECOM_SHIPPING_RATES),compName:e.string().optional(),compData:e.object({ecomShippingRates:e.object({name:e.string(),deploymentUri:e.string().url(),description:e.string().optional(),learnMoreUrl:e.string().url().optional(),dashboardUrl:e.string().url().optional(),fallbackDefinitionMandatory:e.boolean().optional(),thumbnailUrl:e.string().url().optional()})})}).passthrough(),K=e.object({compId:e.string().uuid(),compType:e.literal(o.ECOM_ADDITIONAL_FEES),compName:e.string().optional(),compData:e.object({ecomAdditionalFees:e.object({deploymentUri:e.string().url()})})}).passthrough(),L=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(),G=e.object({appId:e.string(),components:e.array(e.discriminatedUnion("compType",[y,A,D,v,P,M,F,k,U,w,R,K,B,L]))});async function z(n){try{let i=await C.readFile(n,"utf-8");return G.parse(JSON.parse(i))}catch(i){let a=i instanceof Error?i.toString():JSON.stringify(i);throw new Error(`Failed to read App Manifest at ${n}: ${a}`)}}var I=(n,i)=>new URL(n,i).href,O=(n,i)=>{let{scriptAsset:a,iframeUrl:s}=n;return a?{scriptAsset:{...a,url:I(a.url,i)}}:s?{iframeUrl:I(s,i)}:n},H=(n,i)=>({template:n.template.replaceAll("__STATICS_BASE_URL_PLACEHOLDER__",i)}),Z=(n,i,a)=>{let s=JSON.parse(JSON.stringify(n)),r=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,r)}),c===o.BACK_OFFICE_EXTENSION&&(t.backOfficeExtension.widget={...t.backOfficeExtension.widget,...O(t.backOfficeExtension.widget,r)}),c===o.BACK_OFFICE_EXTENSION_WIDGET&&(t.backOfficeExtensionWidget={...t.backOfficeExtensionWidget,...O(t.backOfficeExtensionWidget,r)}),c===o.BACK_OFFICE_MODAL&&(t.backOfficeModal={...t.backOfficeModal,...O(t.backOfficeModal,r)}),c===o.EMBEDDED_SCRIPT&&(t.embeddedScriptComponentData={...t.embeddedScriptComponentData,...H(t.embeddedScriptComponentData,r)}),c===o.CUSTOM_ELEMENT_WIDGET&&(t.customElementWidget={...t.customElementWidget,widgetData:{...t.customElementWidget.widgetData,scriptUrl:I(t.customElementWidget.widgetData.scriptUrl,r)},behaviors:{...t.customElementWidget.behaviors,...t.customElementWidget.behaviors.settings?{settings:{settingsUrl:I(t.customElementWidget.behaviors.settings.settingsUrl,r)}}:{}}}),c===o.WEBHOOK&&a&&(t.webhook={...t.webhook,callbackUrl:`${a}/webhooks`}),c===o.ECOM_ADDITIONAL_FEES&&a&&(t.ecomAdditionalFees={...t.ecomAdditionalFees,deploymentUri:`${a}/service-plugins`}),c===o.ECOM_SHIPPING_RATES&&a&&(t.ecomShippingRates={...t.ecomShippingRates,deploymentUri:`${a}/service-plugins`})}),s},ee=(n,i)=>{let{baseApiUrl:a,id:s}=i;if(!s&&!a)return n;let r=JSON.parse(JSON.stringify(n));return r.components.forEach(l=>{l.compType===o.TOPOLOGY&&(s&&(l.compId=s),a&&(l.compData.topology.topology.backendApiUrl=a))}),r};export{z as a,Z as b,ee as c};
4
- //# sourceMappingURL=chunk-A7TURNR5.js.map
@@ -1 +0,0 @@
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 if (data.navigateToPage && data.openModal) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"action can't have both navigateToPage and 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 dependencies: z.array(wixDependencySchema)\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 ecomShippingRatesSchema = z.object({\n compId: z.string().uuid(),\n compType: z.literal(ComponentType.ECOM_SHIPPING_RATES),\n compName: z.string().optional(),\n compData: z.object({\n ecomShippingRates: z.object({\n name: z.string(),\n deploymentUri: z.string().url(),\n description: z.string().optional(),\n learnMoreUrl: z.string().url().optional(),\n dashboardUrl: z.string().url().optional(),\n fallbackDefinitionMandatory: z.boolean().optional(),\n thumbnailUrl: z.string().url().optional()\n })\n })\n}).passthrough();\nvar ecomAdditionalFeesSchema = z.object({\n compId: z.string().uuid(),\n compType: z.literal(ComponentType.ECOM_ADDITIONAL_FEES),\n compName: z.string().optional(),\n compData: z.object({\n ecomAdditionalFees: z.object({\n deploymentUri: z.string().url()\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 ecomAdditionalFeesSchema,\n ecomShippingRatesSchema,\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 if (compType === ComponentType2.ECOM_ADDITIONAL_FEES && backendServerUrl) {\n compData.ecomAdditionalFees = {\n ...compData.ecomAdditionalFees,\n deploymentUri: `${backendServerUrl}/service-plugins`\n };\n }\n if (compType === ComponentType2.ECOM_SHIPPING_RATES && backendServerUrl) {\n compData.ecomShippingRates = {\n ...compData.ecomShippingRates,\n deploymentUri: `${backendServerUrl}/service-plugins`\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","ecomShippingRatesSchema","ecomAdditionalFeesSchema","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"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/site-id/SiteIdProvider.tsx","../src/site-id/ResolveSiteId.tsx","../../cli-site-selector/src/index.ts","../../cli-site-selector/src/SiteSelector.tsx","../../cli-site-selector/src/SiteTypeSelect.tsx","../../cli-site-selector/src/bi.ts","../../cli-site-selector/src/CreateDevSite.tsx","../../cli-site-selector/src/WaitForAppToBeInstalled.tsx","../../metasite-manager-client/src/index.ts","../../metasite-manager-client/src/useMetasiteManagerClient.ts","../../metasite-manager-client/src/metasite-manager-client.ts","../../metasite-manager-client/src/schemas.ts","../../cli-site-selector/src/OpenBrowser.tsx","../../cli-site-selector/src/messages.json","../../cli-site-selector/src/SelectExistingSite.tsx","../../cli-site-selector/src/SiteListSelect.tsx","../../site-override-client/src/useSiteOverrideClient.ts","../../site-override-client/src/client.ts","../../../node_modules/@wix/ambassador-cli-site-override-service-v1-site-override/http.impl.ts","../../site-override-client/src/schemas.ts","../../site-override-client/src/index.ts","../src/site-override/createSiteOverrides.ts","../../../node_modules/@wix/ambassador-cli-site-override-service-v1-site-override/types.impl.ts","../src/site-id/index.ts","../src/components/Platform/usePlatform.tsx"],"sourcesContent":["import React, { type FC, type ReactNode, useCallback } from 'react';\nimport { match } from 'variant';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { APP_CONFIG_PATH } from '@wix/cli-app-definitions';\nimport { useAsync, useExit, Spinner } from '@wix/cli-ui-kit';\nimport { type Site, useSiteListClient } from '@wix/site-list-client';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { saveAppConfig } from '../files/app.config.js';\nimport { useProjectModel } from '../model.js';\nimport { ResolveSiteId } from './ResolveSiteId.js';\nimport { SiteIdContext } from './context.js';\nimport { SiteIdState } from './site-id-state.js';\nimport { resolveConfiguredSite } from './resolve-configured-site.js';\n\nexport const SiteIdProvider: FC<{\n siteId?: string;\n children: ReactNode | ((site: Site) => ReactNode);\n}> = ({ children, siteId }) => {\n const exit = useExit();\n const {\n model: { projectFolder },\n } = useProjectModel();\n const writeDebugLog = useDebugLog();\n const siteListClient = useSiteListClient();\n const { t } = useTranslation();\n\n const { status, merge } = useAsync(\n async () =>\n resolveConfiguredSite({\n projectFolder,\n siteListClient,\n siteId,\n writeDebugLog,\n }),\n []\n );\n\n const setSite = useCallback(\n async (site: Site) => {\n try {\n await saveAppConfig(projectFolder, { siteId: site.id });\n merge({ result: SiteIdState.Resolved({ site }) });\n } catch {\n throw new CliError({\n code: CliErrorCode.FailedToSaveDevelopmentSite({\n path: APP_CONFIG_PATH,\n }),\n });\n }\n },\n [merge, projectFolder]\n );\n\n const handleResolveSiteId = useCallback(\n (site: Site) => setSite(site).catch(exit),\n [exit, setSite]\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('dev_command.site_provider.loading')} />,\n Success: ({ result: state }) => {\n return match(state, {\n NotConfigured: (variant) => (\n <ResolveSiteId state={variant} onSubmit={handleResolveSiteId} />\n ),\n NotFound: (variant) => (\n <ResolveSiteId state={variant} onSubmit={handleResolveSiteId} />\n ),\n Resolved: ({ site }) => (\n <SiteIdContext.Provider\n value={{\n site,\n setSite,\n }}\n >\n {typeof children === 'function' ? children(site) : children}\n </SiteIdContext.Provider>\n ),\n });\n },\n });\n};\n","import React, { type FC } from 'react';\nimport { match, constant } from 'variant';\nimport type { Site } from '@wix/site-list-client';\nimport { Alert, useExit } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { SiteSelector } from '@wix/cli-site-selector';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport { useProjectModel } from '../model.js';\nimport type { SiteIdState } from './site-id-state.js';\n\ninterface Props {\n state: SiteIdState<'NotConfigured' | 'NotFound'>;\n onSubmit: (site: Site) => void;\n}\n\nexport const ResolveSiteId: FC<Props> = ({ state, onSubmit }) => {\n const exit = useExit();\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const biLogger = useBiLogger();\n\n return (\n <>\n {match(state, {\n NotConfigured: constant(\n <Alert type=\"insight\">{t('general.no_site_id_configured')}</Alert>\n ),\n NotFound: ({ id }) => (\n <Alert type=\"error\">{t('general.site_id_not_found', { id })}</Alert>\n ),\n })}\n <SiteSelector\n appId={model.config.appId}\n biLogger={biLogger}\n onSubmit={onSubmit}\n onError={exit}\n />\n </>\n );\n};\n","export { SiteSelector } from './SiteSelector.js';\n","import React, { type FC, useState } from 'react';\nimport { match } from 'variant';\nimport { I18nProvider, Trans } from '@wix/cli-i18n';\nimport type { Site } from '@wix/site-list-client';\nimport { Spinner, useAsync, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { useSiteListClient } from '@wix/site-list-client';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport { BiProvider } from '@wix/cli-telemetry-react';\nimport { SiteTypeSelect, type SiteType } from './SiteTypeSelect.js';\nimport { CreateDevSite } from './CreateDevSite.js';\nimport messages from './messages.json';\nimport { SelectExistingSite } from './SelectExistingSite.js';\n\ninterface Props {\n appId: string;\n biLogger: BiLogger;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SiteSelector: FC<Props> = ({\n appId,\n biLogger,\n onSubmit,\n onError,\n}) => {\n const [siteType, setSiteType] = useState<SiteType | null>(null);\n const { createDevSite } = useDevCenterClient();\n const siteListClient = useSiteListClient();\n\n const { status } = useAsync(\n () =>\n siteListClient.querySites({\n query: {\n cursorPaging: {\n limit: 100,\n },\n },\n }),\n [],\n {\n onError,\n }\n );\n\n const createSite = useAsyncCallback(() => createDevSite(), {\n onError,\n });\n\n function handleSelectSiteType(siteType: SiteType) {\n setSiteType(siteType);\n if (siteType === 'create-dev-site') {\n createSite.execute();\n }\n }\n\n return (\n <BiProvider value={biLogger}>\n <I18nProvider messages={messages}>\n {match(status, {\n Error: () => null,\n Loading: () => <Spinner text={<Trans i18nKey=\"general.loading\" />} />,\n Success: ({ result: sites }) => (\n <>\n <SiteTypeSelect\n onSubmit={handleSelectSiteType}\n onError={onError}\n sites={sites}\n />\n {siteType === 'create-dev-site' && (\n <CreateDevSite\n status={createSite.status}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n {siteType === 'select-existing-site' && (\n <SelectExistingSite\n sites={sites}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n </>\n ),\n })}\n </I18nProvider>\n </BiProvider>\n );\n};\n","import React, { type FC } from 'react';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport {\n Spinner,\n SelectInput,\n useAsync,\n SelectOptionAvailability,\n} from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport type { Site } from '@wix/site-list-client';\nimport { useSiteSelectorBi } from './bi.js';\n\nexport type SiteType = 'create-dev-site' | 'select-existing-site';\ninterface Props {\n onSubmit: (siteType: SiteType) => void;\n onError: (error: unknown) => void;\n sites: Site[];\n}\n\nexport const SiteTypeSelect: FC<Props> = ({ onSubmit, onError, sites }) => {\n const bi = useSiteSelectorBi();\n const { t } = useTranslation();\n const { getDevSitesCount, getDevSitesLimit } = useDevCenterClient();\n const { status } = useAsync(\n () => Promise.all([getDevSitesCount(), getDevSitesLimit()]),\n [],\n { onError }\n );\n\n const handleSubmit = (option: SelectOption<SiteType>) => {\n bi.cliFlowStepAnswered({\n question: t('site_type_select.label'),\n answer: option.title,\n });\n onSubmit(option.value);\n };\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('general.loading')} />,\n Success: ({ result: [devSitesCount, devSitesLimit] }) => {\n const isDevSitesLimitReached = devSitesCount >= devSitesLimit;\n const userHasNoSites = sites.length === 0;\n\n return (\n <SelectInput<SiteType>\n label={t('site_type_select.label')}\n options={[\n {\n availability: userHasNoSites\n ? SelectOptionAvailability.Disabled({\n reason: t('site_type_select.no_sites'),\n })\n : SelectOptionAvailability.Enabled(),\n title: t('site_type_select.pick_existing_site'),\n value: 'select-existing-site',\n },\n {\n title: t('site_type_select.create_new_dev_site'),\n value: 'create-dev-site',\n availability: isDevSitesLimitReached\n ? SelectOptionAvailability.Disabled({\n reason: t('site_type_select.create_new_dev_site.disabled', {\n limit: devSitesLimit,\n }),\n })\n : SelectOptionAvailability.Enabled(),\n },\n ]}\n onSubmit={handleSubmit}\n />\n );\n },\n });\n};\n","import { useMemo } from 'react';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport {\n wixCliAction,\n wixCliAppFlowStepsAnswers,\n} from '@wix/bi-logger-dev-tools-data/v2';\n\nexport function siteSelectorBiEvents(biLogger: BiLogger) {\n return {\n cliAction: ({\n question,\n action,\n key,\n additionalInfo,\n }: {\n question: string;\n action: string;\n key: string;\n additionalInfo?: Record<string, unknown>;\n }) =>\n biLogger.report(\n wixCliAction({\n question,\n action,\n key,\n additionalInfo: JSON.stringify(additionalInfo),\n })\n ),\n cliFlowStepAnswered: ({\n question,\n answer,\n additionalInfo,\n }: {\n question: string;\n answer: string;\n additionalInfo?: Record<string, unknown>;\n }) =>\n biLogger.report(\n wixCliAppFlowStepsAnswers({\n question,\n answer,\n additionalInfo: JSON.stringify(additionalInfo),\n })\n ),\n };\n}\n\nexport function useSiteSelectorBi() {\n const biLogger = useBiLogger();\n return useMemo(() => siteSelectorBiEvents(biLogger), [biLogger]);\n}\n","import React, { type FC } from 'react';\nimport { match } from 'variant';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport type { AsyncCallbackStatus } from '@wix/cli-ui-kit';\nimport { Text, Spinner } from '@wix/cli-ui-kit';\nimport type { Site } from '@wix/site-list-client';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\n\ninterface Props {\n status: AsyncCallbackStatus<Site>;\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const CreateDevSite: FC<Props> = ({\n status,\n appId,\n onSubmit,\n onError,\n}) => {\n const { t } = useTranslation();\n\n return match(status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => <Spinner text={t('create_dev_site.loading')} />,\n Success: ({ result }) => (\n <>\n <Trans\n i18nKey=\"create_dev_site.success\"\n components={[<Text skin=\"success\" bold />]}\n values={{ name: result.displayName }}\n />\n <WaitForAppToBeInstalled\n appId={appId}\n site={result}\n onSubmit={() => onSubmit(result)}\n onError={onError}\n />\n </>\n ),\n });\n};\n","import pWaitFor, { TimeoutError } from 'p-wait-for';\nimport React, { type FC } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { Alert, useAsync } from '@wix/cli-ui-kit';\nimport { useMetasiteManagerClient } from '@wix/metasite-manager-client';\nimport { isType, match, variant } from 'variant';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { Site } from '@wix/site-list-client';\nimport { OpenBrowser } from './OpenBrowser.js';\n\ninterface Props {\n site: Site;\n appId: string;\n onSubmit: () => void;\n onError: (error: unknown) => void;\n}\n\nexport const AppInstallData = variant({\n Success: {},\n Canceled: {},\n});\n\nfunction isAbortError(error: unknown) {\n return (\n error &&\n typeof error === 'object' &&\n 'name' in error &&\n error.name === 'AbortError'\n );\n}\n\nexport const WaitForAppToBeInstalled: FC<Props> = ({\n appId,\n site,\n onSubmit,\n onError,\n}) => {\n const { isAppInstalled } = useMetasiteManagerClient();\n\n const { status } = useAsync(\n async ({ signal }) => {\n const { appInstallationPollInterval } = getTestOverrides();\n\n try {\n await pWaitFor(() => isAppInstalled({ metaSiteId: site.id, appId }), {\n interval: appInstallationPollInterval ?? 2000,\n timeout: {\n milliseconds: 60 * 1000 * 2,\n signal,\n },\n });\n\n return AppInstallData.Success();\n } catch (error) {\n if (error instanceof TimeoutError) {\n throw new CliError({\n code: CliErrorCode.SiteSelectorTimedout(),\n cause: error,\n });\n }\n\n if (isAbortError(error)) {\n return AppInstallData.Canceled();\n }\n\n throw error;\n }\n },\n [],\n {\n onError,\n onSuccess: (result) => {\n if (isType(result, AppInstallData.Success)) {\n onSubmit();\n }\n },\n }\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <OpenBrowser siteId={site.id} appId={appId} />,\n Success: () => (\n <Alert type=\"success\">\n <Trans i18nKey=\"install_app_on_site.finished_successfully\" />\n </Alert>\n ),\n });\n};\n","export { useMetasiteManagerClient } from './useMetasiteManagerClient.js';\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { MetasiteManagerClient } from './metasite-manager-client.js';\n\nexport function useMetasiteManagerClient(): MetasiteManagerClient {\n const httpClient = useHttpClient({ type: 'general' });\n return useMemo(() => new MetasiteManagerClient(httpClient), [httpClient]);\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport { clientSpecMapSchema } from './schemas.js';\n\nexport class MetasiteManagerClient {\n constructor(private readonly httpClient: HttpClient) {}\n\n public isAppInstalled = async ({\n metaSiteId,\n appId,\n }: {\n metaSiteId: string;\n appId: string;\n }) => {\n try {\n const { data } = await this.httpClient.request({\n url: `/_api/msm/v1/meta-site/editor-client-spec-map/${metaSiteId}`,\n });\n\n const clientSpecMap = clientSpecMapSchema.parse(data);\n\n const isInstalled = Object.values(clientSpecMap).some(\n (spec) => spec.appDefinitionId === appId && !spec.permissions?.revoked\n );\n\n return isInstalled;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCheckIfAppInstalled(),\n cause: e,\n });\n }\n };\n}\n","import { z } from 'zod';\n\nexport const clientSpecMapSchema = z.record(\n z.object({\n appDefinitionId: z.string().optional(),\n permissions: z.object({ revoked: z.boolean() }).optional(),\n })\n);\n\nexport type ClientSpecMap = z.TypeOf<typeof clientSpecMapSchema>;\n","import React, { type FC } from 'react';\nimport { Key, useInput } from '@wix/cli-ui-kit';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\nimport { useSiteSelectorBi } from './bi.js';\n\ninterface Props {\n siteId: string;\n appId: string;\n}\n\nexport const OpenBrowser: FC<Props> = ({ siteId, appId }) => {\n const { t } = useTranslation();\n const bi = useSiteSelectorBi();\n\n useInput(async (input, key) => {\n if (key.return) {\n bi.cliAction({\n question: t('install_app_on_site.warning.instructions'),\n key: 'enter',\n action: 'install_app_on_site',\n });\n await openBrowser(\n `https://manage.wix.com/installer/install?metaSiteId=${siteId}&appId=${appId}&platform=cli&version=latest`\n );\n }\n });\n\n return (\n <>\n <Trans i18nKey=\"install_app_on_site.warning\" />\n <Trans\n i18nKey=\"install_app_on_site.warning.instructions\"\n components={[<Key value=\"enter\" />]}\n />\n </>\n );\n};\n","{\n \"general.loading\": \"Loading...\",\n \"site_type_select.label\": \"Select Development Site\",\n \"site_type_select.create_new_dev_site\": \"Create a new Development Site\",\n \"site_type_select.create_new_dev_site.disabled\": \"You have reached the maximum number of {limit} Development Sites\",\n \"site_type_select.pick_existing_site\": \"Pick an existing site\",\n \"site_type_select.no_sites\": \"No sites found\",\n \"create_dev_site.loading\": \"Creating your new Development Site...\",\n \"create_dev_site.success\": \"Development Site <0>{name}</0> created successfully! 🚀\",\n \"site_list_select.label\": \"Select Site\",\n \"install_app_on_site.warning\": \"Your new application needs to be installed on the selected Development Site\",\n \"install_app_on_site.warning.instructions\": \"Press <0/> to install the application in your browser\",\n \"install_app_on_site.finished_successfully\": \"App installed on Development Site.\"\n}\n","import React, { useState } from 'react';\nimport { Spinner, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useMetasiteManagerClient } from '@wix/metasite-manager-client';\nimport type { Site } from '@wix/site-list-client';\nimport { isType } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\nimport { SiteListSelect } from './SiteListSelect.js';\n\ninterface Props {\n sites: Site[];\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SelectExistingSite = ({\n sites,\n appId,\n onSubmit,\n onError,\n}: Props) => {\n const { t } = useTranslation();\n const { isAppInstalled } = useMetasiteManagerClient();\n const [siteToInstallAppOn, setSiteToInstallAppOn] = useState<Site | null>(\n null\n );\n const checkAppInstalled = useAsyncCallback(\n (_, site: Site) => isAppInstalled({ metaSiteId: site.id, appId }),\n {\n onError,\n }\n );\n\n async function handleSelectSite(site: Site) {\n const isInstalled = await checkAppInstalled.execute(site);\n if (isInstalled) {\n onSubmit(site);\n } else {\n setSiteToInstallAppOn(site);\n }\n }\n\n return (\n <>\n <SiteListSelect onSubmit={handleSelectSite} sites={sites} />\n {isType(checkAppInstalled.status, 'Loading') && (\n <Spinner text={t('general.loading')} />\n )}\n {siteToInstallAppOn && (\n <WaitForAppToBeInstalled\n appId={appId}\n site={siteToInstallAppOn}\n onSubmit={() => onSubmit(siteToInstallAppOn)}\n onError={onError}\n />\n )}\n </>\n );\n};\n","import React, { useCallback, type FC } from 'react';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport { SelectInput } from '@wix/cli-ui-kit';\nimport { type Site } from '@wix/site-list-client';\nimport { useSiteSelectorBi } from './bi.js';\n\ninterface Props {\n onSubmit: (site: Site) => void;\n sites: Site[];\n}\n\nexport const SiteListSelect: FC<Props> = ({ onSubmit, sites }) => {\n const { t } = useTranslation();\n const bi = useSiteSelectorBi();\n\n const handleSubmit = useCallback(\n (option: SelectOption<Site>) => {\n bi.cliFlowStepAnswered({\n question: t('site_list_select.label'),\n answer: option.title,\n });\n onSubmit(option.value);\n },\n [bi, onSubmit, t]\n );\n\n return (\n <SelectInput<Site>\n label={t('site_list_select.label')}\n options={sites.map((site) => ({\n key: site.id,\n title: site.displayName,\n description: site.viewUrl,\n value: site,\n }))}\n onSubmit={handleSubmit}\n />\n );\n};\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { SiteOverrideClient } from './client.js';\n\nexport function useSiteOverrideClient() {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new SiteOverrideClient(httpClient), [httpClient]);\n}\n","import type { HttpClient } from '@wix/cli-http-client';\nimport type { Options } from 'p-retry';\nimport pRetry from 'p-retry';\nimport { createOverride } from '@wix/ambassador-cli-site-override-service-v1-site-override/http';\nimport { isHttpError } from '@wix/cli-http-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport type { ComponentOverride } from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport { createOverrideSchema } from './schemas.js';\n\nexport type ComponentsForSiteOverride = Record<string, ComponentOverride>;\n\nexport class SiteOverrideClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n public createOverride = async ({\n appId,\n siteId,\n overrides,\n siteOverrideId,\n }: {\n appId: string;\n siteId: string;\n overrides: ComponentsForSiteOverride;\n siteOverrideId?: string;\n }) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createOverride({\n siteOverride: {\n id: siteOverrideId,\n appId,\n siteId,\n overrides,\n },\n })\n ),\n this.retryOptions\n );\n\n return createOverrideSchema.parse(data).siteOverride;\n } catch (error) {\n if (isHttpError(error) && error.response?.status === 403) {\n if (\n error.response.data?.details?.applicationError?.code ===\n 'PERMISSION_DENIED_FOR_SITE'\n ) {\n throw new CliError({\n code: CliErrorCode.SitePermissionDenied({ siteId }),\n cause: error,\n });\n }\n\n throw new CliError({\n code: CliErrorCode.AppPermissionDenied({ appId }),\n cause: error,\n });\n }\n\n throw new CliError({\n code: CliErrorCode.FailedToCreateSiteOverride(),\n cause: error,\n });\n }\n };\n}\n",null,"import { z } from 'zod';\n\nexport const createOverrideSchema = z.object({\n siteOverride: z.object({\n id: z.string(),\n }),\n});\n","export { SiteOverrideClient } from './client.js';\nexport type { ComponentsForSiteOverride } from './client.js';\nexport { useSiteOverrideClient } from './useSiteOverrideClient.js';\n","import { isType } from 'variant';\nimport {\n Type,\n type ComponentOverride,\n} from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport type { ProjectModel } from '../model.js';\nimport { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\n\nexport function createSiteOverrides(model: ProjectModel) {\n const componentsToOverride = model.components.filter(\n isType(DevCenterComponent.EmbeddedScript)\n );\n\n if (componentsToOverride.length === 0) {\n return null;\n }\n\n return componentsToOverride.reduce<Record<string, ComponentOverride>>(\n (acc, component) => {\n const paramsOverride = component.paramsOverride ?? {};\n\n return {\n ...acc,\n [component.id]: {\n type: Type.EMBEDDED_SCRIPT,\n componentId: component.id,\n embeddedScriptOptions: { parameters: paramsOverride },\n },\n };\n },\n {}\n );\n}\n",null,"export { SiteIdProvider } from './SiteIdProvider.js';\nexport { useSiteId } from './useSiteId.js';\n","import { useCallback } from 'react';\nimport { isType } from 'variant';\nimport type { PlatformType } from '@wix/cli-app-definitions';\nimport { useProjectModel } from '../../model.js';\n\nexport function usePlatform() {\n const { model } = useProjectModel();\n\n const isPlatformExists = useCallback(\n (platformType: PlatformType) =>\n model.components.some((component) =>\n component.platforms.some(isType(platformType.type))\n ),\n [model.components]\n );\n\n const hasSinglePlatform = useCallback(\n (platformType: PlatformType) =>\n model.components.every(\n (component) =>\n component.platforms.some(isType(platformType.type)) ||\n component.platforms.length === 0\n ),\n [model.components]\n );\n\n return {\n isPlatformExists,\n hasSinglePlatform,\n };\n}\n"],"mappings":"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","names":["init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","siteSelectorBiEvents","biLogger","question","action","key","additionalInfo","wixCliAction","answer","wixCliAppFlowStepsAnswers","useSiteSelectorBi","useBiLogger","SiteTypeSelect","onSubmit","onError","sites","bi","useSiteSelectorBi","t","useTranslation","getDevSitesCount","getDevSitesLimit","useDevCenterClient","status","useAsync","handleSubmit","option","React","Spinner","devSitesCount","devSitesLimit","isDevSitesLimitReached","userHasNoSites","SelectInput","SelectOptionAvailability","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","init_esm_shims","init_esm_shims","import_react","init_esm_shims","init_esm_shims","clientSpecMapSchema","z","MetasiteManagerClient","httpClient","metaSiteId","appId","data","clientSpecMap","clientSpecMapSchema","spec","e","CliError","CliErrorCode","useMetasiteManagerClient","httpClient","useHttpClient","MetasiteManagerClient","import_variant","init_esm_shims","import_react","OpenBrowser","siteId","appId","t","useTranslation","bi","useSiteSelectorBi","use_input_default","input","key","openBrowser","React","Trans","Key","AppInstallData","isAbortError","error","WaitForAppToBeInstalled","appId","site","onSubmit","onError","isAppInstalled","useMetasiteManagerClient","status","useAsync","signal","appInstallationPollInterval","getTestOverrides","pWaitFor","TimeoutError","CliError","CliErrorCode","result","React","OpenBrowser","Alert","Trans","CreateDevSite","status","appId","onSubmit","onError","t","useTranslation","React","Spinner","result","Trans","Text","WaitForAppToBeInstalled","messages_default","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","SiteListSelect","onSubmit","sites","t","useTranslation","bi","useSiteSelectorBi","handleSubmit","option","React","SelectInput","site","SelectExistingSite","sites","appId","onSubmit","onError","t","useTranslation","isAppInstalled","useMetasiteManagerClient","siteToInstallAppOn","setSiteToInstallAppOn","checkAppInstalled","useAsyncCallback","_","site","handleSelectSite","React","SiteListSelect","Spinner","WaitForAppToBeInstalled","SiteSelector","appId","biLogger","onSubmit","onError","siteType","setSiteType","createDevSite","useDevCenterClient","siteListClient","useSiteListClient","status","useAsync","createSite","useAsyncCallback","handleSelectSiteType","React","BiProvider","I18nProvider","messages_default","Spinner","Trans","sites","SiteTypeSelect","CreateDevSite","SelectExistingSite","ResolveSiteId","state","onSubmit","exit","useExit","t","useTranslation","model","useProjectModel","biLogger","useBiLogger","React","Alert","id","SiteSelector","SiteIdProvider","children","siteId","exit","useExit","projectFolder","useProjectModel","writeDebugLog","useDebugLog","siteListClient","useSiteListClient","t","useTranslation","status","merge","useAsync","resolveConfiguredSite","setSite","site","saveAppConfig","SiteIdState","CliError","CliErrorCode","APP_CONFIG_PATH","handleResolveSiteId","React","Spinner","state","variant","ResolveSiteId","SiteIdContext","init_esm_shims","import_react","init_esm_shims","init_esm_shims","_createOverrideRequest","_createOverrideResponse","resolveWixCliV1SiteOverrideServiceUrl","opts","domainToMappings","resolveUrl","createOverride","payload","_a","serializer","_createOverrideRequest","toReq","fromReq","fromRes","_createOverrideResponse","__createOverride","host","serializedData","metadata","resolveWixCliV1SiteOverrideServiceUrl","init_esm_shims","createOverrideSchema","z","SiteOverrideClient","httpClient","minRetryTimeout","getTestOverrides","appId","siteId","overrides","siteOverrideId","data","pRetry","createOverride","createOverrideSchema","error","isHttpError","CliError","CliErrorCode","useSiteOverrideClient","httpClient","useHttpClient","SiteOverrideClient","init_esm_shims","init_esm_shims","import_variant","init_esm_shims","Type","createSiteOverrides","model","componentsToOverride","DevCenterComponent","acc","component","paramsOverride","Type","init_esm_shims","init_esm_shims","import_react","import_variant","usePlatform","model","useProjectModel","isPlatformExists","platformType","component","hasSinglePlatform"]}
@@ -1,11 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{e as x}from"./chunk-5JYQ2Z7Y.js";import{a as b,c as a}from"./chunk-2JOP4YNL.js";import{e as s,h as n}from"./chunk-V4TR6DCM.js";n();var r=s(b(),1),c=s(a(),1);import{dirname as L}from"node:path";import{appendFileSync as D,mkdirSync as w}from"node:fs";n();var f=s(x(),1),l=s(a(),1);function u(e){if(f.HttpClient.isHttpError(e))return e;let t=e instanceof Error?l.default.cause(e):null;return t?u(t):null}n();function d(e){return{request:{baseURL:e.config?.baseURL,url:e.config?.url,method:e.config?.method,headers:e.config?.headers,data:e.config?.data},response:{code:e.code,message:e.message,status:e.response?.status,headers:e.response?.headers,data:e.response?.data}}}function y(e,t){try{let o=`----- CLI crash report at ${new Date().toISOString()}
4
- `;if(t instanceof Error){o+=`Error Trace
5
- `,o+=`${c.default.fullStack(t)}
6
- `,o+=`Error Info
7
- `,o+=`${JSON.stringify(c.default.info(t),null,2)}
8
- `;let i=u(t);i&&(o+=`Request Info
9
- `,o+=`${JSON.stringify(d(i),null,2)}
10
- `)}w(L(e),{recursive:!0}),D(e,o)}catch{}}var m=(0,r.createContext)(null),k=({filePath:e,children:t})=>{let o=(0,r.useCallback)(i=>y(e,i),[e]);return r.default.createElement(m.Provider,{value:o},t)},R=()=>{let e=(0,r.useContext)(m);if(e===null)throw new Error("useDebugLog() cannot be used without an <DebugLogProvider>");return e};export{k as a,R as b};
11
- //# sourceMappingURL=chunk-F6WBFD2I.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../cli-debug-log/src/index.tsx","../../cli-http-client/src/extract-error.ts","../../cli-http-client/src/error-info.ts"],"sourcesContent":["import { dirname } from 'node:path';\nimport { appendFileSync, mkdirSync } from 'node:fs';\nimport React, {\n type FC,\n type ReactNode,\n createContext,\n useContext,\n useCallback,\n} from 'react';\nimport VError from 'verror';\nimport { extractHttpError, getHttpErrorInfo } from '@wix/cli-http-client';\n\nexport function writeCrashReport(reportPath: string, error: unknown) {\n try {\n let content = `----- CLI crash report at ${new Date().toISOString()}\\n`;\n if (error instanceof Error) {\n content += `Error Trace\\n`;\n content += `${VError.fullStack(error)}\\n`;\n content += `Error Info\\n`;\n content += `${JSON.stringify(VError.info(error), null, 2)}\\n`;\n\n const httpError = extractHttpError(error);\n if (httpError) {\n content += `Request Info\\n`;\n content += `${JSON.stringify(getHttpErrorInfo(httpError), null, 2)}\\n`;\n }\n }\n mkdirSync(dirname(reportPath), { recursive: true });\n appendFileSync(reportPath, content);\n } catch {\n // well there is so much we can do...\n }\n}\n\nexport type WriteDebugLogFn = (error: unknown) => void;\n\nconst DebugLogContext = createContext<WriteDebugLogFn | null>(null);\n\ninterface Props {\n filePath: string;\n children: ReactNode;\n}\n\nexport const DebugLogProvider: FC<Props> = ({ filePath, children }) => {\n const writeToDebugLog = useCallback<WriteDebugLogFn>(\n (error) => writeCrashReport(filePath, error),\n [filePath]\n );\n\n return (\n <DebugLogContext.Provider value={writeToDebugLog}>\n {children}\n </DebugLogContext.Provider>\n );\n};\n\nexport const useDebugLog = (): WriteDebugLogFn => {\n const context = useContext(DebugLogContext);\n if (context === null) {\n throw new Error(\n 'useDebugLog() cannot be used without an <DebugLogProvider>'\n );\n }\n return context;\n};\n","import type { IHttpError } from '@wix/http-client';\nimport { HttpClient } from '@wix/http-client';\nimport VError from 'verror';\n\nexport function extractHttpError(error: unknown): IHttpError | null {\n if (HttpClient.isHttpError(error)) {\n return error;\n }\n\n const nestedError = error instanceof Error ? VError.cause(error) : null;\n return nestedError ? extractHttpError(nestedError) : null;\n}\n","import type { IHttpError } from '@wix/http-client';\n\nexport function getHttpErrorInfo(httpError: IHttpError) {\n return {\n request: {\n baseURL: httpError.config?.baseURL,\n url: httpError.config?.url,\n method: httpError.config?.method,\n headers: httpError.config?.headers,\n data: httpError.config?.data,\n },\n response: {\n code: httpError.code,\n message: httpError.message,\n status: httpError.response?.status,\n headers: httpError.response?.headers,\n data: httpError.response?.data,\n },\n } as const;\n}\n"],"mappings":";;sIAAAA,IAEA,IAAAC,EAMO,SACPC,EAAmB,SATnB,OAAS,WAAAC,MAAe,YACxB,OAAS,kBAAAC,EAAgB,aAAAC,MAAiB,UCD1CC,IACA,IAAAC,EAA2B,SAC3BC,EAAmB,SAEZ,SAASC,EAAiBC,EAAmC,CAClE,GAAI,aAAW,YAAYA,CAAK,EAC9B,OAAOA,EAGT,IAAMC,EAAcD,aAAiB,MAAQ,EAAAE,QAAO,MAAMF,CAAK,EAAI,KACnE,OAAOC,EAAcF,EAAiBE,CAAW,EAAI,IACvD,CCXAE,IAEO,SAASC,EAAiBC,EAAuB,CACtD,MAAO,CACL,QAAS,CACP,QAASA,EAAU,QAAQ,QAC3B,IAAKA,EAAU,QAAQ,IACvB,OAAQA,EAAU,QAAQ,OAC1B,QAASA,EAAU,QAAQ,QAC3B,KAAMA,EAAU,QAAQ,IAC1B,EACA,SAAU,CACR,KAAMA,EAAU,KAChB,QAASA,EAAU,QACnB,OAAQA,EAAU,UAAU,OAC5B,QAASA,EAAU,UAAU,QAC7B,KAAMA,EAAU,UAAU,IAC5B,CACF,CACF,CFPO,SAASC,EAAiBC,EAAoBC,EAAgB,CACnE,GAAI,CACF,IAAIC,EAAU,6BAA6B,IAAI,KAAK,EAAE,YAAY,CAAC;AAAA,EACnE,GAAID,aAAiB,MAAO,CAC1BC,GAAW;AAAA,EACXA,GAAW,GAAG,EAAAC,QAAO,UAAUF,CAAK,CAAC;AAAA,EACrCC,GAAW;AAAA,EACXA,GAAW,GAAG,KAAK,UAAU,EAAAC,QAAO,KAAKF,CAAK,EAAG,KAAM,CAAC,CAAC;AAAA,EAEzD,IAAMG,EAAYC,EAAiBJ,CAAK,EACpCG,IACFF,GAAW;AAAA,EACXA,GAAW,GAAG,KAAK,UAAUI,EAAiBF,CAAS,EAAG,KAAM,CAAC,CAAC;AAAA,EAEtE,CACAG,EAAUC,EAAQR,CAAU,EAAG,CAAE,UAAW,EAAK,CAAC,EAClDS,EAAeT,EAAYE,CAAO,CACpC,MAAQ,CAER,CACF,CAIA,IAAMQ,KAAkB,iBAAsC,IAAI,EAOrDC,EAA8B,CAAC,CAAE,SAAAC,EAAU,SAAAC,CAAS,IAAM,CACrE,IAAMC,KAAkB,eACrBb,GAAUF,EAAiBa,EAAUX,CAAK,EAC3C,CAACW,CAAQ,CACX,EAEA,OACE,EAAAG,QAAA,cAACL,EAAgB,SAAhB,CAAyB,MAAOI,GAC9BD,CACH,CAEJ,EAEaG,EAAc,IAAuB,CAChD,IAAMC,KAAU,cAAWP,CAAe,EAC1C,GAAIO,IAAY,KACd,MAAM,IAAI,MACR,4DACF,EAEF,OAAOA,CACT","names":["init_esm_shims","import_react","import_verror","dirname","appendFileSync","mkdirSync","init_esm_shims","import_http_client","import_verror","extractHttpError","error","nestedError","VError","init_esm_shims","getHttpErrorInfo","httpError","writeCrashReport","reportPath","error","content","VError","httpError","extractHttpError","getHttpErrorInfo","mkdirSync","dirname","appendFileSync","DebugLogContext","DebugLogProvider","filePath","children","writeToDebugLog","React","useDebugLog","context"]}
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{Fa as W,Ka as q,a as g,b as A,d as u,f as T,ha as L,hb as k,x as V}from"./chunk-5JYQ2Z7Y.js";import{L as z,N as $,V as H,a as _,b as F,d as h,e as S,l as d,m as O,x as J,z as j}from"./chunk-2JOP4YNL.js";import{e as f,h as a}from"./chunk-V4TR6DCM.js";a();a();var ce={},de={},le={},ue={};var fe={},he={},ve={},ge={};function I(t){var e={"api._api_base_domain_":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"bo._base_domain_":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"wixbo.ai":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"www._base_domain_":[{srcPath:"/apps-release-manager-service-web/artifacts-release-manager/app-releases",destPath:"/artifacts-release-manager/app-releases"},{srcPath:"/_api/apps-release-manager-service-web/artifacts-release-manager/app-releases",destPath:"/artifacts-release-manager/app-releases"},{srcPath:"/apps-release-manager-service-web/apps/create",destPath:"/apps/create"},{srcPath:"/apps-release-manager-service-web/apps/promote",destPath:"/apps/promote"},{srcPath:"/apps-release-manager-service-web/apps/tags",destPath:"/apps/tags"},{srcPath:"/apps-release-manager-service-web/apps/create-components",destPath:"/apps/create-components"}],"manage._base_domain_":[{srcPath:"/apps-release-manager-service-web/apps/promote",destPath:"/apps/promote"},{srcPath:"/apps-release-manager-service-web/apps/create",destPath:"/apps/create"},{srcPath:"/apps-release-manager-service-web/apps/tags",destPath:"/apps/tags"},{srcPath:"/apps-release-manager-service-web/apps/create-components",destPath:"/apps/create-components"}]};return A(Object.assign(t,{domainToMappings:e}))}function Q(t){var e=u(ce,{}),r=e.toJSON,s=e.fromJSON,i=u(de,{}).fromJSON;function o(p){var l=p.host,c=r(t),v={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.CreateAppRelease",url:I({protoPath:"/apps/create/{appId}",data:c,host:l}),data:c,transformResponse:i};return v}return o.fromReq=s,o.__isAmbassador=!0,o}function G(t){var e=u(ve,{}),r=e.toJSON,s=e.fromJSON,i=u(ge,{}).fromJSON;function o(p){var l=p.host,c=r(t),v={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"PUT",methodFqn:"com.wix.ctp.AppsReleaseManagerService.UpdateAppRelease",url:I({protoPath:"/apps/tags/{tag}",data:c,host:l}),data:c,transformResponse:i};return v}return o.fromReq=s,o.__isAmbassador=!0,o}function B(t){var e=u(le,{}),r=e.toJSON,s=e.fromJSON,i=u(ue,{}).fromJSON;function o(p){var l=p.host,c=r(t),v={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.CreateComponents",url:I({protoPath:"/apps/create-components/{appId}",data:c,host:l}),data:c,transformResponse:i};return v}return o.fromReq=s,o.__isAmbassador=!0,o}function K(t){var e=u(fe,{}),r=e.toJSON,s=e.fromJSON,i=u(he,{}).fromJSON;function o(p){var l=p.host,c=r(t),v={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.PromoteAppReleaseToDevCenter",url:I({protoPath:"/apps/promote/{appId}/{tag}",data:c,host:l}),data:c,transformResponse:i};return v}return o.fromReq=s,o.__isAmbassador=!0,o}var N=f(F(),1);a();var X=d.object({newVersion:d.string()}),Y=d.object({tag:d.string()});var{AppPermissionDenied:U}=S,Z=(0,N.variant)({TagUpdated:{},TagNotFound:(0,N.fields)()}),x=class{constructor(e){this.httpClient=e;let{minRetryTimeout:r}=O();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;createComponents=async(e,r,s)=>{try{await g(()=>this.httpClient.request(B({appId:e,componentConfigs:r,projectId:s})),this.retryOptions)}catch(i){throw T(i)&&i.response?.status===403?new h({code:U({appId:e}),cause:i}):new h({code:S.FailedToCreateComponents(),cause:i})}};createAppRelease=async(e,r)=>{try{let{data:s}=await g(()=>this.httpClient.request(Q({appId:e.appId,componentConfigs:e.components,projectId:r})),this.retryOptions);return Y.parse(s).tag}catch(s){throw T(s)&&s.response?.status===403?new h({code:U({appId:e.appId}),cause:s}):new h({code:S.FailedToCreateAppRelease(),cause:s})}};updateAppRelease=async(e,r)=>{try{return await g(()=>this.httpClient.request(G({appId:e.appId,componentConfigs:e.components,tag:r})),this.retryOptions),Z.TagUpdated()}catch(s){if(T(s)){if(s.response?.status===404)return Z.TagNotFound({cause:s});if(s.response?.status===403)throw new h({code:U({appId:e.appId}),cause:s})}throw new h({code:S.FailedToUpdateAppRelease(),cause:s})}};promoteToDevCenter=async(e,r,s)=>{let{data:i}=await g(()=>this.httpClient.request(K({appId:e,tag:r,versionType:s})),this.retryOptions);return X.parse(i)}};a();var ee=f(_(),1);function Se(){let t=q({type:"backoffice"});return(0,ee.useMemo)(()=>new x(t),[t])}a();a();var w=f(_(),1),te=(0,w.createContext)(null),Be=({children:t,armTag:e})=>w.default.createElement(te.Provider,{value:{armTag:e}},t),re=()=>{let t=(0,w.useContext)(te);if(t===null)throw new Error("useArmTag() cannot be used without an <ArmTagProvider>");return t};a();var oe=f(_(),1);a();var se=f(_(),1),ae=(0,se.createContext)(null);function ie(){let t=(0,oe.useContext)(ae);if(t===null)throw new Error("useSiteId() cannot be used without an <SiteIdProvider>");return t}a();var y=f(_(),1),pe=(0,y.createContext)(null),st=({children:t,siteOverrideId:e})=>y.default.createElement(pe.Provider,{value:{siteOverrideId:e}},t),ne=()=>{let t=(0,y.useContext)(pe);if(t===null)throw new Error("useSiteOverrideId() cannot be used without an <SiteOverrideProvider>");return t};a();a();var _e={},Re={sites:"_site"},we={createdDate:"google.protobuf.Timestamp",updatedDate:"google.protobuf.Timestamp",trashedDate:"google.protobuf.Timestamp"};function ye(t){var e={"www._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"},{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"feedback._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"}],"manage._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"},{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"},{srcPath:"/_api/sites-list-data",destPath:"/api/sites-list-data"}],"www.wixapis.com":[{srcPath:"/site-list/v2/sites",destPath:"/v2/sites"}],"api._api_base_domain_":[{srcPath:"/sites-list",destPath:""}],"bo._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"wixbo.ai":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"dev._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"editor._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"blocks._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"create.editorx":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}]};return A(Object.assign(t,{domainToMappings:e}))}function M(t){var e=u(_e,{}),r=e.toJSON,s=e.fromJSON,i=u(Re,{_site:we}).fromJSON;function o(p){var l=p.host,c=r(t),v={entityFqdn:"wix.site_list.v2.site",method:"POST",methodFqn:"com.wixpress.sitelist.api.SiteListServiceV2.QuerySites",url:ye({protoPath:"/v2/sites/query",data:c,host:l}),data:c,transformResponse:i};return v}return o.fromReq=s,o.__isAmbassador=!0,o}a();var Ce=d.object({id:d.string(),displayName:d.string(),viewUrl:d.union([d.string().url(),d.literal("")]).optional()}),E=d.object({sites:d.array(Ce)});var P=class{constructor(e){this.httpClient=e;let{minRetryTimeout:r}=O();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;querySites=async(e={})=>{try{let{data:r}=await g(()=>this.httpClient.request(M(e)),this.retryOptions);return E.parse(r).sites}catch(r){throw new h({code:S.FailedToQuerySites(),cause:r,info:{...e}})}};getSite=async e=>{try{let{data:r}=await g(()=>this.httpClient.request(M({query:{filter:{id:{$in:[e]}}}})),this.retryOptions),{sites:s}=E.parse(r);return s.at(0)??null}catch(r){throw new h({code:S.FailedToGetSite(),cause:r,info:{id:e}})}}};a();var me=f(_(),1);function xe(){let t=q({type:"backoffice"});return(0,me.useMemo)(()=>new P(t),[t])}a();a();var b=f(F(),1),D=(0,b.variant)({NotConfigured:{},NotFound:(0,b.fields)(),Resolved:(0,b.fields)()});a();async function Nt({projectFolder:t,siteListClient:{getSite:e},siteId:r,writeDebugLog:s}){let i=r||(await W(t,s))?.siteId;if(!i)return D.NotConfigured();let o=await e(i);return o?D.Resolved({site:o}):D.NotFound({id:i})}a();var C=f(_(),1);var R=f(F(),1);function Ht(){let{model:t}=k(),{site:e}=ie(),{armTag:r}=re(),{siteOverrideId:s}=ne();return{appId:t.config.appId,site:e,tag:r,siteOverrideId:s}}var Pe=(t,e)=>{let r=["specs.UseAppsRuntimeCache","specs.ApplyQueryParamsOverrides"],s=o=>{let p=new URL("https://apps.wix.com/elgar-server/redirect");return r.forEach(l=>{p.searchParams.append("experiments",`${l}#true`)}),p.searchParams.append("redirectToUrl",o.toString()),p.searchParams.append("staticsVersions","{}"),p},i=o=>{let p=new URL(o.toString());return p.searchParams.append("petri_ovr",r.map(l=>`${l}:true`).join(";")),p};return(0,R.isType)(e,L.Editor)?s(t):(0,R.isType)(e,L.Site)?i(t):t};function Vt({envConfig:t,platformType:e}){let{site:r,tag:s,siteOverrideId:i}=t,o=(0,R.match)(e,{Dashboard:()=>new URL(`dashboard/${r.id}`,"https://manage.wix.com/"),Editor:()=>new URL(`https://wix.com/editor/${r.id}`),Site:()=>{let p=new URL(r.viewUrl);return i&&p.searchParams.append("site-override",i),p}});return o.searchParams.append("apps-override",s),Pe(o,e).toString()}function Wt({envConfig:t,extension:e}){let{appId:r,site:s,tag:i}=t,o=(0,R.matcher)(e).with({DashboardPage:()=>new URL(`dashboard/${s.id}/app/${r}${e.route}`,"https://manage.wix.com/")}).when(["DashboardMenuPlugin","DashboardPlugin","DashboardModal"],()=>new URL(`dashboard/${s.id}${e.route}`,"https://manage.wix.com/")).complete();return o.searchParams.append("apps-override",i),o.toString()}var kt=async({url:t,title:e},r)=>{try{await V(t)}catch{r({type:"error",prefix:"app",msg:C.default.createElement(z,{type:"error"},C.default.createElement(H,{i18nKey:"general.open_page_error",components:[C.default.createElement(j,{bold:!0})],values:{title:e}}),C.default.createElement(J,null),C.default.createElement($,{url:t}))})}};export{P as a,xe as b,ae as c,D as d,Nt as e,x as f,Se as g,Be as h,ie as i,st as j,Ht as k,Pe as l,Vt as m,Wt as n,kt as o};
4
- //# sourceMappingURL=chunk-J2KSZ5LE.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../arm-client/src/client.ts","../../../node_modules/@wix/ambassador-ctp-gradual-rollout-v1-app-config/http.impl.ts","../../arm-client/src/schemas.ts","../../arm-client/src/useARMClient.ts","../../arm-client/src/index.ts","../src/context/armTag.tsx","../src/site-id/useSiteId.ts","../src/site-id/context.ts","../src/context/siteOverride.tsx","../../site-list-client/src/site-list-client.ts","../../../node_modules/@wix/ambassador-site-list-v2-site/http.impl.ts","../../site-list-client/src/schemas.ts","../../site-list-client/src/useSiteListClient.ts","../../site-list-client/src/index.ts","../src/site-id/site-id-state.ts","../src/site-id/resolve-configured-site.ts","../src/components/extensions/utils.tsx"],"sourcesContent":["import type { HttpClient, HttpError } from '@wix/cli-http-client';\nimport type { AppManifest } from '@wix/cli-app-manifest';\nimport type { Options } from 'p-retry';\nimport type {\n VersionType,\n ComponentConfig,\n} from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\nimport {\n createAppRelease,\n promoteAppReleaseToDevCenter,\n updateAppRelease,\n createComponents,\n} from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/http';\nimport pRetry from 'p-retry';\nimport { fields, variant } from 'variant';\nimport { isHttpError } from '@wix/cli-http-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { createAppReleaseSchema, promoteAppReleaseSchema } from './schemas.js';\n\nconst { AppPermissionDenied } = CliErrorCode;\n\nexport const UpdateAppReleaseData = variant({\n TagUpdated: {},\n TagNotFound: fields<{ cause: HttpError }>(),\n});\n\nexport class ARMClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n createComponents = async (\n appId: string,\n componentConfigs: ComponentConfig[],\n projectId: string\n ) => {\n try {\n await pRetry(\n () =>\n this.httpClient.request(\n createComponents({\n appId,\n componentConfigs,\n projectId,\n })\n ),\n this.retryOptions\n );\n } catch (e) {\n if (isHttpError(e) && e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId }),\n cause: e,\n });\n }\n throw new CliError({\n code: CliErrorCode.FailedToCreateComponents(),\n cause: e,\n });\n }\n };\n\n createAppRelease = async (manifest: AppManifest, projectId: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createAppRelease({\n appId: manifest.appId,\n componentConfigs: manifest.components,\n projectId,\n })\n ),\n this.retryOptions\n );\n\n return createAppReleaseSchema.parse(data).tag;\n } catch (e) {\n if (isHttpError(e) && e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId: manifest.appId }),\n cause: e,\n });\n }\n throw new CliError({\n code: CliErrorCode.FailedToCreateAppRelease(),\n cause: e,\n });\n }\n };\n\n updateAppRelease = async (manifest: AppManifest, tag: string) => {\n try {\n await pRetry(\n () =>\n this.httpClient.request(\n updateAppRelease({\n appId: manifest.appId,\n componentConfigs: manifest.components,\n tag,\n })\n ),\n this.retryOptions\n );\n\n return UpdateAppReleaseData.TagUpdated();\n } catch (e) {\n if (isHttpError(e)) {\n if (e.response?.status === 404) {\n return UpdateAppReleaseData.TagNotFound({ cause: e });\n }\n if (e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId: manifest.appId }),\n cause: e,\n });\n }\n }\n throw new CliError({\n code: CliErrorCode.FailedToUpdateAppRelease(),\n cause: e,\n });\n }\n };\n\n promoteToDevCenter = async (\n appId: string,\n tag: string,\n versionType: VersionType\n ) => {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n promoteAppReleaseToDevCenter({ appId, tag, versionType })\n ),\n this.retryOptions\n );\n\n return promoteAppReleaseSchema.parse(data);\n };\n}\n",null,"import { z } from 'zod';\n\nexport const promoteAppReleaseSchema = z.object({\n newVersion: z.string(),\n});\n\nexport const createAppReleaseSchema = z.object({\n tag: z.string(),\n});\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { ARMClient } from './client.js';\n\nexport function useARMClient(): ARMClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new ARMClient(httpClient), [httpClient]);\n}\n","export { ARMClient } from './client.js';\nexport { useARMClient } from './useARMClient.js';\n","import React, {\n useContext,\n createContext,\n type FC,\n type ReactNode,\n} from 'react';\n\ninterface ArmTag {\n armTag: string;\n}\n\nexport const ArmTagContext = createContext<ArmTag | null>(null);\n\nexport const ArmTagProvider: FC<{ children: ReactNode; armTag: string }> = ({\n children,\n armTag,\n}) => {\n return (\n <ArmTagContext.Provider value={{ armTag }}>\n {children}\n </ArmTagContext.Provider>\n );\n};\n\nexport const useArmTag = () => {\n const context = useContext(ArmTagContext);\n\n if (context === null) {\n throw new Error('useArmTag() cannot be used without an <ArmTagProvider>');\n }\n\n return context;\n};\n","import { useContext } from 'react';\nimport { SiteIdContext, type SiteIdState } from './context.js';\n\nexport function useSiteId(): SiteIdState {\n const context = useContext(SiteIdContext);\n if (context === null) {\n throw new Error('useSiteId() cannot be used without an <SiteIdProvider>');\n }\n return context;\n}\n","import { createContext } from 'react';\nimport type { Site } from '@wix/site-list-client';\n\nexport interface SiteIdState {\n site: Site;\n setSite: (site: Site) => Promise<void>;\n}\n\nexport const SiteIdContext = createContext<SiteIdState | null>(null);\n","import React, {\n useContext,\n createContext,\n type FC,\n type ReactNode,\n} from 'react';\n\ninterface SiteOverride {\n siteOverrideId?: string;\n}\n\nexport const SiteOverrideContext = createContext<SiteOverride | null>(null);\n\nexport const SiteOverrideProvider: FC<{\n children: ReactNode;\n siteOverrideId?: string;\n}> = ({ children, siteOverrideId }) => {\n return (\n <SiteOverrideContext.Provider value={{ siteOverrideId }}>\n {children}\n </SiteOverrideContext.Provider>\n );\n};\n\nexport const useSiteOverrideId = () => {\n const context = useContext(SiteOverrideContext);\n\n if (context === null) {\n throw new Error(\n 'useSiteOverrideId() cannot be used without an <SiteOverrideProvider>'\n );\n }\n\n return context;\n};\n","import pRetry from 'p-retry';\nimport type { Options } from 'p-retry';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { QuerySitesRequest } from '@wix/ambassador-site-list-v2-site/types';\nimport { querySites } from '@wix/ambassador-site-list-v2-site/http';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { querySitesSchema } from './schemas.js';\n\nexport class SiteListClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n querySites = async (opts: QuerySitesRequest = {}) => {\n try {\n const { data } = await pRetry(\n () => this.httpClient.request(querySites(opts)),\n this.retryOptions\n );\n\n return querySitesSchema.parse(data).sites;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToQuerySites(),\n cause: e,\n info: { ...opts },\n });\n }\n };\n\n getSite = async (id: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n querySites({ query: { filter: { id: { $in: [id] } } } })\n ),\n this.retryOptions\n );\n\n const { sites } = querySitesSchema.parse(data);\n return sites.at(0) ?? null;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSite(),\n cause: e,\n info: { id },\n });\n }\n };\n}\n",null,"import { z } from 'zod';\n\nexport const siteSchema = z.object({\n id: z.string(),\n displayName: z.string(),\n viewUrl: z.union([z.string().url(), z.literal('')]).optional(),\n});\n\nexport const querySitesSchema = z.object({\n sites: z.array(siteSchema),\n});\n\nexport type Site = z.TypeOf<typeof siteSchema>;\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { SiteListClient } from './site-list-client.js';\n\nexport function useSiteListClient(): SiteListClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new SiteListClient(httpClient), [httpClient]);\n}\n","export { SiteListClient } from './site-list-client.js';\nexport type { Site } from './schemas.js';\nexport { useSiteListClient } from './useSiteListClient.js';\n","import { variant, fields, type VariantOf, type TypeNames } from 'variant';\nimport { type Site } from '@wix/site-list-client';\n\nexport const SiteIdState = variant({\n NotConfigured: {},\n NotFound: fields<{ id: string }>(),\n Resolved: fields<{ site: Site }>(),\n});\n\nexport type SiteIdState<T extends TypeNames<typeof SiteIdState> = undefined> =\n VariantOf<typeof SiteIdState, T>;\n","import type { SiteListClient } from '@wix/site-list-client';\nimport type { WriteDebugLogFn } from '@wix/cli-debug-log';\nimport { readAppConfig } from '../files/app.config.js';\nimport { SiteIdState } from './site-id-state.js';\n\nexport async function resolveConfiguredSite({\n projectFolder,\n siteListClient: { getSite },\n siteId,\n writeDebugLog,\n}: {\n projectFolder: string;\n siteListClient: SiteListClient;\n siteId?: string;\n writeDebugLog?: WriteDebugLogFn;\n}) {\n const resolvedSiteId = !siteId\n ? (await readAppConfig(projectFolder, writeDebugLog))?.siteId\n : siteId;\n\n if (!resolvedSiteId) {\n return SiteIdState.NotConfigured();\n }\n\n const site = await getSite(resolvedSiteId);\n\n if (!site) {\n return SiteIdState.NotFound({ id: resolvedSiteId });\n }\n\n return SiteIdState.Resolved({ site });\n}\n","import React from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { matcher, match, isType } from 'variant';\nimport { openBrowser } from '@wix/user-browser';\nimport type { Site } from '@wix/site-list-client';\nimport { Alert, Link, Text, Newline } from '@wix/cli-ui-kit';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport type { WriteLogFn } from '../DevCommand/devEnvLogs/useDevEnvLogs.js';\nimport { useProjectModel } from '../../model.js';\nimport { useSiteId } from '../../site-id/useSiteId.js';\nimport { useArmTag } from '../../context/armTag.js';\nimport type { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\nimport type { DashboardExtension } from './useExtensions.js';\nimport { useSiteOverrideId } from '../../context/siteOverride.js';\n\nexport interface EnvConfig {\n site: Site;\n appId: string;\n tag: string;\n siteOverrideId?: string;\n}\n\nexport function useEnvConfig(): EnvConfig {\n const { model } = useProjectModel();\n const { site } = useSiteId();\n const { armTag } = useArmTag();\n const { siteOverrideId } = useSiteOverrideId();\n\n return {\n appId: model.config.appId,\n site,\n tag: armTag,\n siteOverrideId,\n };\n}\n\n/*\nThis function is a workaround to open the new CSM v2 experience to external users before the experiment is open to external users.\n\nIn the *editor* we are using elgar to redirect the user to the editor with the overrides in his cookie - since there is no support for query params overrides in a few flows in the editor.\n\nIn the *viewer* we use the query params since elgar is blocking the redirect in cases the domain is not in a white list of domains (so dev sites with custom domains won't work)\n*/\nexport const CSMv2Workaround = (url: URL, platformType: PlatformType): URL => {\n const petriOvr = [\n 'specs.UseAppsRuntimeCache',\n 'specs.ApplyQueryParamsOverrides',\n ];\n\n const redirectWithCSMv2FTs = (url: URL) => {\n const elgarRedirectUrl = new URL(\n 'https://apps.wix.com/elgar-server/redirect'\n );\n\n petriOvr.forEach((spec) => {\n elgarRedirectUrl.searchParams.append('experiments', `${spec}#true`);\n });\n elgarRedirectUrl.searchParams.append('redirectToUrl', url.toString());\n elgarRedirectUrl.searchParams.append('staticsVersions', '{}');\n\n return elgarRedirectUrl;\n };\n\n const addCSMv2FTs = (url: URL) => {\n const clonedUrl = new URL(url.toString());\n clonedUrl.searchParams.append(\n 'petri_ovr',\n petriOvr.map((spec) => `${spec}:true`).join(';')\n );\n return clonedUrl;\n };\n\n return isType(platformType, PlatformType.Editor)\n ? redirectWithCSMv2FTs(url)\n : isType(platformType, PlatformType.Site)\n ? addCSMv2FTs(url)\n : url;\n};\n\nexport function resolvePlatformUrl({\n envConfig,\n platformType,\n}: {\n envConfig: EnvConfig;\n platformType: PlatformType;\n}) {\n const { site, tag, siteOverrideId } = envConfig;\n\n const url = match(platformType, {\n Dashboard: () => new URL(`dashboard/${site.id}`, 'https://manage.wix.com/'),\n Editor: () => new URL(`https://wix.com/editor/${site.id}`),\n Site: () => {\n const siteUrl = new URL(site.viewUrl!);\n if (siteOverrideId) {\n siteUrl.searchParams.append('site-override', siteOverrideId);\n }\n return siteUrl;\n },\n });\n\n url.searchParams.append('apps-override', tag);\n\n return CSMv2Workaround(url, platformType).toString();\n}\n\nexport function resolveDashboardExtensionUrl({\n envConfig,\n extension,\n}: {\n envConfig: EnvConfig;\n extension: DevCenterComponent<DashboardExtension>;\n}) {\n const { appId, site, tag } = envConfig;\n\n const url = matcher(extension)\n .with({\n DashboardPage: () =>\n new URL(\n `dashboard/${site.id}/app/${appId}${extension.route}`,\n 'https://manage.wix.com/'\n ),\n })\n .when(\n ['DashboardMenuPlugin', 'DashboardPlugin', 'DashboardModal'],\n () =>\n new URL(\n `dashboard/${site.id}${extension.route}`,\n 'https://manage.wix.com/'\n )\n )\n .complete();\n\n url.searchParams.append('apps-override', tag);\n\n return url.toString();\n}\n\nexport const openPage = async (\n { url, title }: { url: string; title: string },\n writeLog: WriteLogFn\n) => {\n try {\n await openBrowser(url);\n } catch {\n writeLog({\n type: 'error',\n prefix: 'app',\n msg: (\n <Alert type=\"error\">\n <Trans\n i18nKey=\"general.open_page_error\"\n components={[<Text bold />]}\n values={{ title }}\n />\n <Newline />\n <Link url={url} />\n </Alert>\n ),\n });\n }\n};\n"],"mappings":"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","names":["init_esm_shims","init_esm_shims","_createAppReleaseRequest","_createAppReleaseResponse","_createComponentsRequest","_createComponentsResponse","_promoteAppReleaseToDevCenterRequest","_promoteAppReleaseToDevCenterResponse","_updateAppReleaseRequest","_updateAppReleaseResponse","resolveComWixCtpAppsReleaseManagerServiceUrl","opts","domainToMappings","resolveUrl","createAppRelease","payload","_a","serializer","_createAppReleaseRequest","toReq","fromReq","fromRes","_createAppReleaseResponse","__createAppRelease","host","serializedData","metadata","updateAppRelease","__updateAppRelease","createComponents","_createComponentsRequest","_createComponentsResponse","__createComponents","promoteAppReleaseToDevCenter","payload","_a","serializer","_promoteAppReleaseToDevCenterRequest","toReq","fromReq","fromRes","_promoteAppReleaseToDevCenterResponse","__promoteAppReleaseToDevCenter","host","serializedData","metadata","resolveComWixCtpAppsReleaseManagerServiceUrl","import_variant","init_esm_shims","promoteAppReleaseSchema","z","createAppReleaseSchema","AppPermissionDenied","CliErrorCode","UpdateAppReleaseData","ARMClient","httpClient","minRetryTimeout","getTestOverrides","appId","componentConfigs","projectId","pRetry","createComponents","e","isHttpError","CliError","manifest","data","createAppRelease","createAppReleaseSchema","tag","updateAppRelease","versionType","promoteAppReleaseToDevCenter","promoteAppReleaseSchema","init_esm_shims","import_react","useARMClient","httpClient","useHttpClient","ARMClient","init_esm_shims","init_esm_shims","import_react","ArmTagContext","ArmTagProvider","children","armTag","React","useArmTag","context","init_esm_shims","import_react","init_esm_shims","import_react","SiteIdContext","useSiteId","context","SiteIdContext","init_esm_shims","import_react","SiteOverrideContext","SiteOverrideProvider","children","siteOverrideId","React","useSiteOverrideId","context","init_esm_shims","init_esm_shims","_querySitesRequest","_querySitesResponse","_site","resolveComWixpressSitelistApiSiteListServiceV2Url","opts","domainToMappings","resolveUrl","querySites","payload","_a","serializer","toReq","fromReq","fromRes","__querySites","host","serializedData","metadata","init_esm_shims","siteSchema","z","querySitesSchema","SiteListClient","httpClient","minRetryTimeout","getTestOverrides","opts","data","pRetry","querySites","querySitesSchema","e","CliError","CliErrorCode","id","sites","init_esm_shims","import_react","useSiteListClient","httpClient","useHttpClient","SiteListClient","init_esm_shims","init_esm_shims","import_variant","SiteIdState","init_esm_shims","resolveConfiguredSite","projectFolder","getSite","siteId","writeDebugLog","resolvedSiteId","readAppConfig","SiteIdState","site","init_esm_shims","import_react","import_variant","useEnvConfig","model","useProjectModel","site","useSiteId","armTag","useArmTag","siteOverrideId","useSiteOverrideId","CSMv2Workaround","url","platformType","petriOvr","redirectWithCSMv2FTs","elgarRedirectUrl","spec","addCSMv2FTs","clonedUrl","PlatformType","resolvePlatformUrl","envConfig","tag","siteUrl","resolveDashboardExtensionUrl","extension","appId","openPage","title","writeLog","openBrowser","React","Alert","Trans","Text","Newline","Link"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/PreviewCommand/index.ts","../src/components/PreviewCommand/PreviewCommand.tsx","../src/components/PreviewCommand/Preview.tsx","../src/components/PreviewCommand/ActionStatus.tsx"],"sourcesContent":["export { PreviewCommand } from './PreviewCommand.js';\n","import React, { type FC } from 'react';\nimport { SiteIdProvider } from '../../site-id/index.js';\nimport { Preview } from './Preview.js';\n\nexport const PreviewCommand: FC<{\n baseUrl?: string;\n siteIdOverride?: string;\n onPreviewCreated?: (tag: string) => void;\n}> = ({ baseUrl, siteIdOverride, onPreviewCreated }) => {\n return (\n <SiteIdProvider siteId={siteIdOverride}>\n <Preview baseUrl={baseUrl} onPreviewCreated={onPreviewCreated} />\n </SiteIdProvider>\n );\n};\n","import React, { type FC } from 'react';\nimport { match } from 'variant';\nimport { useARMClient } from '@wix/arm-client';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport {\n Text,\n Box,\n PointerIcon,\n useAsync,\n useAsyncCallback,\n} from '@wix/cli-ui-kit';\nimport {\n useDevCenterClient,\n ComponentType,\n type TopologyComponent,\n} from '@wix/dev-center-client';\nimport type { ComponentsForSiteOverride } from '@wix/site-override-client';\nimport { useSiteOverrideClient } from '@wix/site-override-client';\nimport { useProjectModel } from '../../model.js';\nimport { useSiteId } from '../../site-id/index.js';\nimport { ArmTagProvider } from '../../context/armTag.js';\nimport { createPreviewTag } from '../../preview/create-preview-tag.js';\nimport { uploadApplication } from '../../hosting/upload-application.js';\nimport { assertBuildOutputExists } from '../../files/assert-build-output-exists.js';\nimport { ActionStatus } from './ActionStatus.js';\nimport { PlatformViewer } from '../Platform/PlatformViewer.js';\nimport { saveAppConfig } from '../../files/app.config.js';\nimport { useBackendComponents } from '../../backend/useBackendComponents.js';\nimport { createSiteOverrides } from '../../site-override/createSiteOverrides.js';\nimport { SiteOverrideProvider } from '../../context/siteOverride.js';\n\nexport const Preview: FC<{\n baseUrl?: string;\n onPreviewCreated?: (tag: string, backendServerUrl?: string) => void;\n}> = ({ baseUrl, onPreviewCreated }) => {\n const { site } = useSiteId();\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const { backendComponents } = useBackendComponents();\n const arm = useARMClient();\n const biLogger = useBiLogger();\n const { getAppSnapshot } = useDevCenterClient();\n const { createOverride } = useSiteOverrideClient();\n const httpClient = useHttpClient({ type: 'backoffice' });\n\n const uploadApplicationAction = useAsyncCallback(() =>\n uploadApplication(\n model.config.appId,\n model.projectFolder,\n biLogger,\n httpClient,\n backendComponents.length > 0\n )\n );\n\n const createSiteOverrideIdAction = useAsyncCallback(\n (_, overrides: ComponentsForSiteOverride) =>\n createOverride({\n appId: model.config.appId,\n siteId: site.id,\n overrides,\n })\n );\n\n const createPreviewTagAction = useAsyncCallback(\n (\n _,\n serveUrl: string,\n topologyComponentId?: string,\n backendServerUrl?: string\n ) =>\n createPreviewTag({\n model,\n arm,\n serveUrl,\n backendServerUrl,\n topologyComponentId,\n })\n );\n\n const { status: createPreviewStatus } = useAsync(async () => {\n await assertBuildOutputExists(model.projectFolder);\n const { serveUrl, backendServerUrl } = baseUrl\n ? { serveUrl: baseUrl, backendServerUrl: undefined }\n : await uploadApplicationAction.execute();\n const appSnapshot = await getAppSnapshot({\n appId: model.config.appId,\n });\n const topologyComponent = appSnapshot.components.find(\n (component): component is TopologyComponent => {\n return component.compType === ComponentType.TOPOLOGY;\n }\n );\n const overrides = createSiteOverrides(model);\n const { id: siteOverrideId } = overrides\n ? await createSiteOverrideIdAction.execute(overrides)\n : await Promise.resolve({ id: undefined });\n const armTag = await createPreviewTagAction.execute(\n serveUrl,\n topologyComponent?.compId,\n backendServerUrl\n );\n\n if (topologyComponent) {\n // Once there is topology in production I want to use the same id for dev as well,\n // to reduce confusion during debug.\n saveAppConfig(model.projectFolder, {\n topologyComponentId: topologyComponent.compId,\n });\n }\n\n onPreviewCreated?.(armTag, backendServerUrl);\n\n return { armTag, siteOverrideId };\n }, []);\n\n return (\n <>\n <ActionStatus\n status={uploadApplicationAction.status}\n loadingText={t('preview_command.uploading_files')}\n successText={t('preview_command.uploading_files_success')}\n />\n <ActionStatus\n status={createPreviewTagAction.status}\n loadingText={t('preview_command.creating_preview')}\n successText={t('preview_command.creating_preview_success')}\n />\n {match(createPreviewStatus, {\n Error: () => null,\n Loading: () => null,\n Success: ({ result: { armTag, siteOverrideId } }) => (\n <SiteOverrideProvider siteOverrideId={siteOverrideId}>\n <ArmTagProvider armTag={armTag}>\n <Box rowGap={1} marginY={1} flexDirection=\"column\">\n <Box gap={1}>\n <PointerIcon />\n <Trans\n i18nKey=\"general.dev_site.current\"\n values={{ name: site.displayName }}\n />\n </Box>\n <Box rowGap={1}>\n <PlatformViewer />\n </Box>\n <Text skin=\"info\">\n {t('preview_command.note_about_temporary_backend')}\n </Text>\n </Box>\n </ArmTagProvider>\n </SiteOverrideProvider>\n ),\n })}\n </>\n );\n};\n","import type { AsyncCallbackStatus } from '@wix/cli-ui-kit';\nimport { Alert, Spinner } from '@wix/cli-ui-kit';\nimport type { FC } from 'react';\nimport React from 'react';\nimport { match } from 'variant';\n\nexport const ActionStatus: FC<{\n status: AsyncCallbackStatus<unknown>;\n loadingText: string;\n successText: string;\n}> = ({ status, loadingText, successText }) =>\n match(status, {\n NotRequested: () => null,\n Loading: () => <Spinner text={loadingText} />,\n Error: () => null,\n Success: () => <Alert type=\"success\">{successText}</Alert>,\n });\n"],"mappings":"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","names":["init_esm_shims","init_esm_shims","import_react","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","ActionStatus","status","loadingText","successText","React","Spinner","Alert","Preview","baseUrl","onPreviewCreated","site","useSiteId","t","useTranslation","model","useProjectModel","backendComponents","useBackendComponents","arm","useARMClient","biLogger","useBiLogger","getAppSnapshot","useDevCenterClient","createOverride","useSiteOverrideClient","httpClient","useHttpClient","uploadApplicationAction","useAsyncCallback","uploadApplication","createSiteOverrideIdAction","_","overrides","createPreviewTagAction","serveUrl","topologyComponentId","backendServerUrl","createPreviewTag","createPreviewStatus","useAsync","assertBuildOutputExists","topologyComponent","component","ComponentType","createSiteOverrides","siteOverrideId","armTag","saveAppConfig","React","ActionStatus","SiteOverrideProvider","ArmTagProvider","Box_default","PointerIcon","Trans","PlatformViewer","Text","PreviewCommand","baseUrl","siteIdOverride","onPreviewCreated","React","SiteIdProvider","Preview"]}
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{E as M,I as c,J as A,K as N,O as S,P as O,Q as U,R as k,Ya as W,_a as j,ea as _,ka as fe,la as he,ma as R,na as Ce,qa as F,ra as P,sa as E,ta as q,va as L}from"./chunk-5JYQ2Z7Y.js";import{b,d as f,e as h}from"./chunk-2JOP4YNL.js";import{c as g,e as D,h as u}from"./chunk-V4TR6DCM.js";var V=g((ct,H)=>{"use strict";u();function Se(e,r,n,i){for(var d=e.length,o=n+(i?1:-1);i?o--:++o<d;)if(r(e[o],o,e))return o;return-1}H.exports=Se});var $=g((mt,K)=>{"use strict";u();function Ee(e){return e!==e}K.exports=Ee});var X=g((ft,Y)=>{"use strict";u();function ye(e,r,n){for(var i=n-1,d=e.length;++i<d;)if(e[i]===r)return i;return-1}Y.exports=ye});var Z=g((Ct,z)=>{"use strict";u();var De=V(),Pe=$(),be=X();function Ie(e,r,n){return r===r?be(e,r,n):De(e,Pe,n)}z.exports=Ie});var Q=g((St,J)=>{"use strict";u();var we=Z();function Te(e,r){var n=e==null?0:e.length;return!!n&&we(e,r,0)>-1}J.exports=Te});var te=g((yt,ee)=>{"use strict";u();function Be(e,r,n){for(var i=-1,d=e==null?0:e.length;++i<d;)if(n(r,e[i]))return!0;return!1}ee.exports=Be});var ie=g((Pt,re)=>{"use strict";u();function xe(){}re.exports=xe});var oe=g((It,ne)=>{"use strict";u();var I=Ce(),Me=ie(),Ae=R(),Ne=1/0,Oe=I&&1/Ae(new I([,-0]))[1]==Ne?function(e){return new I(e)}:Me;ne.exports=Oe});var ae=g((Tt,se)=>{"use strict";u();var Ue=fe(),ke=Q(),_e=te(),Re=he(),Fe=oe(),qe=R(),Le=200;function We(e,r,n){var i=-1,d=ke,o=e.length,t=!0,l=[],s=l;if(n)t=!1,d=_e;else if(o>=Le){var a=r?null:Fe(e);if(a)return qe(a);t=!1,d=Re,s=new Ue}else s=r?[]:l;e:for(;++i<o;){var C=e[i],v=r?r(C):C;if(C=n||C!==0?C:0,t&&v===v){for(var x=s.length;x--;)if(s[x]===v)continue e;r&&s.push(v),l.push(C)}else d(s,v,n)||(s!==l&&s.push(v),l.push(C))}return l}se.exports=We});var ue=g((xt,de)=>{"use strict";u();var je=ae();function Ge(e,r){return r=typeof r=="function"?r:void 0,e&&e.length?je(e,void 0,r):[]}de.exports=Ge});u();var y=D(b(),1);import{randomUUID as ve}from"node:crypto";var G=e=>{let r=new Map;[...e.filter(o=>!(0,y.isType)(o,P.Api)&&!(0,y.isType)(o,P.Event)&&!(0,y.isType)(o,P.ServicePlugin))].sort((o,t)=>o.id.localeCompare(t.id)).forEach(o=>{let t=r.get(o.id)??[];t.push(o),r.set(o.id,t)});let d=new Map;if(r.forEach((o,t)=>{o.length>1&&d.set(t,o)}),d.size)throw new f({code:h.DuplicateComponentIdsError({issues:Array.from(d.entries()).map(([o,t])=>({id:o,components:t.map(l=>(0,y.match)(l,{DashboardPage:({title:s,relativePath:a})=>({name:s,type:"page",path:E(a,"json")}),DashboardPlugin:({title:s,relativePath:a})=>({name:s,type:"plugin",path:E(a,"json")}),DashboardMenuPlugin:({title:s,relativePath:a})=>({name:s,type:"menu-plugin",path:a}),DashboardModal:({title:s,relativePath:a})=>({name:s,type:"modal",path:E(a,"json")}),DashboardSidebarCategory:({label:s})=>({name:s,type:"sidebar-category",path:M}),EmbeddedScript:({relativePath:s})=>({name:s,type:"embedded-script",path:E(s,"json")}),CustomElement:({name:s,relativePath:a})=>({name:s,type:"custom-element",path:E(a,"json")}),Topology:({name:s})=>({name:s,type:"topology",path:""})})).sort((l,s)=>l.name.localeCompare(s.name)),suggestedId:ve()}))})})};u();var w=D(b(),1),le=D(ue(),1);import{randomUUID as He}from"node:crypto";function Ve(e){return e!=null&&e!==!1}var Ke=(e,r)=>{if(e.experiments)return{appId:r,componentId:e.id,spec:e.experiments.enabledBy,variantValue:"true"}},$e=e=>({compId:e.id,compType:c.CUSTOM_ELEMENT_WIDGET,compName:e.name,compData:{customElementWidget:{base:{name:e.name},widgetData:{tagName:e.tagName,scriptType:U.ES_MODULE,scriptUrl:""},size:{width:{defaultWidth:e.width.defaultWidth,allowStretch:e.width.allowStretch,stretchByDefault:e.width.stretchByDefault},height:{defaultHeight:e.height.defaultHeight,heightMode:k.FIXED}},installation:{base:{autoAdd:e.installation?.autoAddToSite,essential:e.installation?.essential,maxInstances:e.installation?.essential?1:0},widget:{region:A.BODY}},behaviors:{},dependencies:e.dependencies}}});async function kt({appId:e,components:r,sentryDSN:n,componentSourceBuilder:i}){G(r);let d=(await Promise.all(r.map((0,w.match)({DashboardPage:async t=>{let l=t.sentryDSN??n;return{compId:t.id,compType:c.BACK_OFFICE_PAGE,compData:{backOfficePage:{hostingPlatform:S.BUSINESS_MANAGER,fullPage:t.sidebar?.whenActive?.hideSidebar,hideInSidebar:t.sidebar?.disabled,priority:t.sidebar?.priority,routePath:t.route.slice(1),title:t.title,pageCategoryId:t.sidebar?.categoryId,activeSidebarPageId:t.sidebar?.whenActive?.selectedPageId,requiredPermission:t.requiredPermission,previousRoutePaths:t.additionalRoutes,...l?{errorReporting:{url:l}}:void 0,...await i(t)}},compName:t.title,experiment:Ke(t,e)}},DashboardPlugin:async t=>({compId:t.id,compType:c.BACK_OFFICE_EXTENSION_WIDGET,compData:{backOfficeExtensionWidget:{hostingPlatform:S.BUSINESS_MANAGER,extends:t.extends,title:t.title,requiredPermission:t.requiredPermission,width:t.width,height:t.height,...await i(t),...t.sentryDSN?{errorReporting:{url:t.sentryDSN}}:void 0}},compName:t.title}),DashboardMenuPlugin:async t=>({compId:t.id,compType:c.BACK_OFFICE_EXTENSION_MENU_ITEM,compData:{backOfficeExtensionMenuItem:{hostingPlatform:S.BUSINESS_MANAGER,id:t.id,title:t.title,subtitle:t.subtitle,iconKey:t.iconKey,extends:t.extends,action:t.action,requiredPermission:t.requiredPermission,...t.sentryDSN?{errorReporting:{url:t.sentryDSN}}:void 0}},compName:t.title}),DashboardModal:async t=>({compId:t.id,compType:c.BACK_OFFICE_MODAL,compData:{backOfficeModal:{hostingPlatform:S.BUSINESS_MANAGER,title:t.title,requiredPermission:t.requiredPermission,width:t.width,height:t.height,...await i(t),...t.sentryDSN?{errorReporting:{url:t.sentryDSN}}:void 0}},compName:t.title}),DashboardSidebarCategory:async t=>({compId:t.id,compType:c.BACK_OFFICE_SIDEBAR_CATEGORY,compData:{backOfficeSidebarCategory:{hostingPlatform:S.BUSINESS_MANAGER,title:t.label,priority:t.priority}},compName:t.label}),EmbeddedScript:async t=>({compId:t.id,compType:c.EMBEDDED_SCRIPT,compName:t.name,compData:{embeddedScriptComponentData:{name:t.name,pages:N.NONE_PAGES,placement:t.placement,connectArticleUrl:"",embedCategory:t.scriptType,dependencies:t.dependencies,loadOnce:!0,allowedForFreeSite:!0,...await i(t)}}}),CustomElement:async t=>{let{scriptUrl:l,settingsUrl:s}=await i(t),a=$e(t);return{...a,compData:{customElementWidget:{...a.compData.customElementWidget,widgetData:{...a.compData.customElementWidget.widgetData,scriptUrl:l},behaviors:{...a.compData.customElementWidget.behaviors,...t.relativePanelPath?{settings:{settingsUrl:s}}:{}}}}}},Topology:async t=>({compId:t.id,compType:c.TOPOLOGY,compName:t.name,compData:{topology:{topology:{backendApiUrl:t.backendApiUrl}}}}),Api:()=>null,Event:async t=>(await i(t)).map(({webhookSlug:s})=>({compName:s,compId:He(),compType:c.WEBHOOK,compData:{webhook:{callbackUrl:"__WEBHOOKS_URL_PLACEHOLDER__",webhookSlug:s}}})),ServicePlugin:async t=>{let l=(0,w.match)(t.servicePlugin,{EcomShippingRates:a=>({compName:a.name,compId:a.id,compType:c.ECOM_SHIPPING_RATES,compData:{ecomShippingRates:{name:a.name,deploymentUri:"__SERVICE_PLUGIN_URL_PLACEHOLDER__",description:a.description,learnMoreUrl:a.learnMoreUrl,dashboardUrl:a.dashboardUrl,fallbackDefinitionMandatory:a.fallbackDefinitionMandatory,thumbnailUrl:a.thumbnailUrl}}}),EcomAdditionalFees:a=>({compName:a.name,compId:a.id,compType:c.ECOM_ADDITIONAL_FEES,compData:{ecomAdditionalFees:{deploymentUri:"__SERVICE_PLUGIN_URL_PLACEHOLDER__"}}})}),{servicePluginType:s}=await i(t);if(l.compType!==s)throw new f({code:h.InvalidServicePluginImplementation({configuredImplementation:l.compType})});return l}})))).filter(Ve).flat(),o=(0,le.default)(d,(t,l)=>t.compType===c.WEBHOOK&&l.compType===c.WEBHOOK&&t.compData.webhook.webhookSlug===l.compData.webhook.webhookSlug);return{appId:e,components:o}}u();var me=D(b(),1);import{join as Ye}from"node:path";u();function ce(e){if(!("output"in e||Array.isArray(e)))throw new f({code:h.InvalidViteBuildOutput()});return Array.isArray(e)?e.flatMap(i=>i.output):e.output}function T(e,r){let i=ce(e).find(d=>d.type==="chunk"&&d.facadeModuleId===r);if(!i)throw new f({code:h.ViteModuleBundleNotFound()});return i.fileName}function pe(e,r){let i=ce(e).find(d=>d.fileName===r);if(!i||!("source"in i))throw new f({code:h.ViteFileNotFoundInOutput({fileName:r})});return i.source.toString()}async function Xe(e,r){let n=new URL(e.relativePath,r).href;return await fetch(n).then(d=>d.text())}async function ze(e,r){let n=new URL("__get-registered-events",r).href,i=await fetch(n);return i.ok?(await i.json())[`/${e.relativePath}`]??[]:[]}async function ge(e){let r=_(e.projectFolder);return import(Ye(r,"getRegisteredExtensions.mjs"))}async function Ze(e,r){let{getRegisteredEvents:n}=await ge(r);return(await n())[`/${e.relativePath}`]}async function Je(e,r){let n=new URL("__get-registered-service-plugins",r).href,i=await fetch(n);return i.ok?(await i.json())[`/${e.relativePath}`]:null}async function Qe(e,r){let{getRegisteredServicePlugins:n}=await ge(r);return(await n())[`/${e.relativePath}`]}var B=(e,r,n)=>{if(!r.config.trusted)return{iframeUrl:q(e.id)};let i=L(e.id),d=n.clientBuildOutput?T(n.clientBuildOutput,i):`/@id/${i}?import`;return{scriptAsset:{exportedName:e.id,containerId:r.config.appId,url:d,scriptType:O.MODULE}}},et=async(e,{clientBuildOutput:r,clientDevServerUrl:n})=>({template:r?pe(r,e.relativePath):await Xe(e,n)}),tt=async(e,r,n)=>{let i=n.backendDevServerUrl?await ze(e,n.backendDevServerUrl):await Ze(e,r);return(i?await Promise.all(i.map(F)):[]).map(o=>({webhookSlug:o}))},rt=async(e,r,n)=>{let i=n.backendDevServerUrl?await Je(e,n.backendDevServerUrl):await Qe(e,r);if(!i)throw new Error("could not find service plugin definition");return{servicePluginType:i}},it=(e,r)=>{let n=j(e.id);return{scriptUrl:r.clientBuildOutput?T(r.clientBuildOutput,n):`/@id/${n}?import`,settingsUrl:W(e.id)}};function Yt(e,r,n){return async i=>(0,me.match)(i,{EmbeddedScript:o=>et(o,r),DashboardSidebarCategory:()=>{},CustomElement:o=>it(o,r),DashboardPage:o=>B(o,e,r),DashboardPlugin:o=>B(o,e,r),DashboardModal:o=>B(o,e,r),DashboardMenuPlugin:()=>{},Topology:()=>{},Api:()=>{},Event:o=>tt(o,e,n),ServicePlugin:o=>rt(o,e,n)})}export{G as a,$e as b,kt as c,Yt as d};
4
- //# sourceMappingURL=chunk-MI2F3EIB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/lodash/_baseFindIndex.js","../../../node_modules/lodash/_baseIsNaN.js","../../../node_modules/lodash/_strictIndexOf.js","../../../node_modules/lodash/_baseIndexOf.js","../../../node_modules/lodash/_arrayIncludes.js","../../../node_modules/lodash/_arrayIncludesWith.js","../../../node_modules/lodash/noop.js","../../../node_modules/lodash/_createSet.js","../../../node_modules/lodash/_baseUniq.js","../../../node_modules/lodash/uniqWith.js","../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":["/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","var baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\nfunction uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n}\n\nmodule.exports = uniqWith;\n","import { randomUUID } from 'node:crypto';\nimport { isType, 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 { BackendComponent } from '../dev-center/components/dev-center-component.js';\nimport { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\n\ntype NonBackendComponent = Exclude<DevCenterComponent, BackendComponent>;\n\nexport const validateComponents = (components: DevCenterComponent[]) => {\n const devCenterComponentsToIdMap = new Map<string, NonBackendComponent[]>();\n\n const componentsWithConfig = components.filter(\n (component): component is NonBackendComponent =>\n !isType(component, DevCenterComponent.Api) &&\n !isType(component, DevCenterComponent.Event) &&\n !isType(component, DevCenterComponent.ServicePlugin)\n );\n\n const sortedComponentsById = [...componentsWithConfig].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 = new Map<\n string,\n NonBackendComponent[]\n >();\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 uniqWith from 'lodash/uniqWith.js';\nimport type {\n AppManifest,\n ComponentExperiment,\n BackofficePage,\n BackofficeExtensionWidget,\n BackofficeExtensionMenuItem,\n BackofficeSideCategory,\n BackofficeModal,\n EmbeddedScript,\n CustomElement,\n Webhook,\n ServicePlugin,\n Topology,\n EcomShippingRates,\n EcomAdditionalFees,\n} from '@wix/cli-app-manifest';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { validateComponents } from './validate.js';\nimport type { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\nimport type { ComponentSourceBuilder } from './component-source.js';\n\ninterface CreateAppManifestParams {\n appId: string;\n backendServerUrl?: string;\n components: DevCenterComponent[];\n sentryDSN?: string;\n componentSourceBuilder: ComponentSourceBuilder;\n}\n\nfunction isTruthy<T>(x: T | undefined | null | false): x is T {\n return x !== undefined && x !== null && x !== false;\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\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: '',\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?.essential ? 1 : 0,\n },\n widget: { region: RegionType.BODY },\n },\n behaviors: {},\n dependencies: component.dependencies,\n },\n },\n };\n};\n\nexport async function createAppManifest({\n appId,\n components,\n sentryDSN,\n componentSourceBuilder,\n}: CreateAppManifestParams): Promise<AppManifest> {\n validateComponents(components);\n\n const appManifestComponents = (\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: 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 const basicConfig = createCustomElementConfig(component);\n\n return {\n ...basicConfig,\n compData: {\n customElementWidget: {\n ...basicConfig.compData.customElementWidget,\n widgetData: {\n ...basicConfig.compData.customElementWidget.widgetData,\n scriptUrl,\n },\n behaviors: {\n ...basicConfig.compData.customElementWidget.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 Api: () => null,\n Event: async (component): Promise<Webhook[]> => {\n const webhookSlugs = await componentSourceBuilder(component);\n\n return webhookSlugs.map(({ webhookSlug }) => ({\n compName: webhookSlug,\n compId: randomUUID(),\n compType: ComponentType.WEBHOOK,\n compData: {\n webhook: {\n callbackUrl: '__WEBHOOKS_URL_PLACEHOLDER__',\n webhookSlug,\n },\n },\n }));\n },\n ServicePlugin: async (component): Promise<ServicePlugin> => {\n const servicePlugin = match(component.servicePlugin, {\n EcomShippingRates: (component): EcomShippingRates => ({\n compName: component.name,\n compId: component.id,\n compType: ComponentType.ECOM_SHIPPING_RATES,\n compData: {\n ecomShippingRates: {\n name: component.name,\n deploymentUri: '__SERVICE_PLUGIN_URL_PLACEHOLDER__',\n description: component.description,\n learnMoreUrl: component.learnMoreUrl,\n dashboardUrl: component.dashboardUrl,\n fallbackDefinitionMandatory:\n component.fallbackDefinitionMandatory,\n thumbnailUrl: component.thumbnailUrl,\n },\n },\n }),\n EcomAdditionalFees: (component): EcomAdditionalFees => ({\n compName: component.name,\n compId: component.id,\n compType: ComponentType.ECOM_ADDITIONAL_FEES,\n compData: {\n ecomAdditionalFees: {\n deploymentUri: '__SERVICE_PLUGIN_URL_PLACEHOLDER__',\n },\n },\n }),\n });\n\n const { servicePluginType } = await componentSourceBuilder(\n component\n );\n\n if (servicePlugin.compType !== servicePluginType) {\n throw new CliError({\n code: CliErrorCode.InvalidServicePluginImplementation({\n configuredImplementation: servicePlugin.compType,\n }),\n });\n }\n\n return servicePlugin;\n },\n })\n )\n )\n )\n .filter(isTruthy)\n .flat();\n\n const uniqueComponents = uniqWith(appManifestComponents, (one, two) => {\n return (\n one.compType === ComponentType.WEBHOOK &&\n two.compType === ComponentType.WEBHOOK &&\n one.compData.webhook.webhookSlug === two.compData.webhook.webhookSlug\n );\n });\n\n return {\n appId,\n components: uniqueComponents,\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 { join } from 'node:path';\nimport type { SupportedServicePlugin } from '@wix/cli-app-definitions';\nimport { getAppBackendBuildFolder } from '@wix/cli-app-definitions';\nimport type * as GetRegisteredExtensions from '@wix/cli-cloudflare-runtime/getRegisteredExtensions';\nimport { getBackendEventSlug } from '@wix/extensions-data-client';\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 BackendSource =\n | {\n backendBuildOutput: ViteBuildOutput | undefined;\n backendDevServerUrl?: never;\n }\n | { backendDevServerUrl: string | undefined; backendBuildOutput?: never };\n\ntype ClientSource =\n | { clientBuildOutput: ViteBuildOutput; clientDevServerUrl?: never }\n | { clientDevServerUrl: string; clientBuildOutput?: never };\n\ntype DashboardSource =\n | {\n iframeUrl: string;\n scriptAsset?: never;\n }\n | {\n scriptAsset: ComponentSource['scriptAsset'];\n iframeUrl?: never;\n };\n\ninterface EmbeddedScriptSource {\n template: string;\n}\n\ninterface CustomElementSource {\n scriptUrl: string;\n settingsUrl: string;\n}\n\ninterface EventSource {\n webhookSlug: string;\n}\n\ninterface ServicePluginSource {\n servicePluginType: SupportedServicePlugin;\n}\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 : T extends DevCenterComponent<'Event'>\n ? EventSource[]\n : T extends DevCenterComponent<'ServicePlugin'>\n ? ServicePluginSource\n : undefined\n>;\n\nasync function getEmbeddedScriptDevTemplate(\n component: DevCenterComponent<'EmbeddedScript'>,\n backendDevServerUrl: string\n) {\n const url = new URL(component.relativePath, backendDevServerUrl).href;\n const devTemplate = await fetch(url).then((res) => res.text());\n\n return devTemplate;\n}\n\nasync function getEventDevSlugs(\n component: DevCenterComponent<'Event'>,\n backendDevServerUrl: string\n) {\n const url = new URL(`__get-registered-events`, backendDevServerUrl).href;\n const response = await fetch(url);\n\n if (!response.ok) {\n return [];\n }\n\n const eventTypes = await response.json();\n const devSlugs = eventTypes[`/${component.relativePath}`] ?? [];\n\n return devSlugs as string[];\n}\n\nasync function getRegisteredExtensions(model: ProjectModel) {\n const backendBuildFolder = getAppBackendBuildFolder(model.projectFolder);\n const outputFilepath = join(\n backendBuildFolder,\n 'getRegisteredExtensions.mjs'\n );\n\n return import(outputFilepath) as Promise<typeof GetRegisteredExtensions>;\n}\n\nasync function getEventProdSlugs(\n component: DevCenterComponent<'Event'>,\n model: ProjectModel\n) {\n const { getRegisteredEvents } = await getRegisteredExtensions(model);\n\n const eventsMap = await getRegisteredEvents();\n\n return eventsMap[`/${component.relativePath}`];\n}\n\nasync function getServicePluginDevType(\n component: DevCenterComponent<'ServicePlugin'>,\n backendDevServerUrl: string\n) {\n const url = new URL(`__get-registered-service-plugins`, backendDevServerUrl)\n .href;\n const response = await fetch(url);\n\n if (!response.ok) {\n return null;\n }\n\n const servicePluginTypes = await response.json();\n const servicePluginType = servicePluginTypes[`/${component.relativePath}`];\n\n return servicePluginType as string;\n}\n\nasync function getServicePluginProdType(\n component: DevCenterComponent<'ServicePlugin'>,\n model: ProjectModel\n) {\n const { getRegisteredServicePlugins } = await getRegisteredExtensions(model);\n\n const servicePluginsMap = await getRegisteredServicePlugins();\n\n return servicePluginsMap[`/${component.relativePath}`];\n}\n\nconst dashboardSourceBuilder = (\n component:\n | DevCenterComponent<'DashboardPage'>\n | DevCenterComponent<'DashboardPlugin'>\n | DevCenterComponent<'DashboardModal'>,\n model: ProjectModel,\n clientSource: ClientSource\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 = clientSource.clientBuildOutput\n ? extractModuleBundleName(clientSource.clientBuildOutput, 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 { clientBuildOutput, clientDevServerUrl }: ClientSource\n): Promise<EmbeddedScriptSource> => {\n return {\n template: clientBuildOutput\n ? extractModuleBundleContent(clientBuildOutput, component.relativePath)\n : await getEmbeddedScriptDevTemplate(component, clientDevServerUrl),\n };\n};\n\nconst eventSourceBuilder = async (\n component: DevCenterComponent<'Event'>,\n model: ProjectModel,\n backendSource: BackendSource\n): Promise<EventSource[]> => {\n const fullSlugNames = backendSource.backendDevServerUrl\n ? await getEventDevSlugs(component, backendSource.backendDevServerUrl)\n : await getEventProdSlugs(component, model);\n\n const webhookSlugs = fullSlugNames\n ? await Promise.all(fullSlugNames.map(getBackendEventSlug))\n : [];\n\n return webhookSlugs.map((webhookSlug) => ({\n webhookSlug,\n }));\n};\n\nconst servicePluginSourceBuilder = async (\n component: DevCenterComponent<'ServicePlugin'>,\n model: ProjectModel,\n backendSource: BackendSource\n): Promise<ServicePluginSource> => {\n const servicePluginType = backendSource.backendDevServerUrl\n ? await getServicePluginDevType(\n component,\n backendSource.backendDevServerUrl\n )\n : await getServicePluginProdType(component, model);\n\n if (!servicePluginType) {\n throw new Error('could not find service plugin definition');\n }\n\n return {\n servicePluginType,\n } as ServicePluginSource;\n};\n\nconst customElementBuilder = (\n component: DevCenterComponent<'CustomElement'>,\n clientSource: ClientSource\n): CustomElementSource => {\n const moduleId = virtualModuleIdForCustomElementScriptAsset(component.id);\n const componentUrl = clientSource.clientBuildOutput\n ? extractModuleBundleName(clientSource.clientBuildOutput, moduleId)\n : `/@id/${moduleId}?import`;\n\n return {\n scriptUrl: componentUrl,\n settingsUrl: virtualPathForCustomElementPanelHTMLAsset(component.id),\n };\n};\n\nexport function getComponentSourceBuilder(\n model: ProjectModel,\n clientSource: ClientSource,\n backendSource: BackendSource\n) {\n return (async (component: DevCenterComponent) => {\n const source = match(component, {\n EmbeddedScript: (embeddedScriptComponent) =>\n embeddedScriptBuilder(embeddedScriptComponent, clientSource),\n DashboardSidebarCategory: () => {},\n CustomElement: (customElementComponent) =>\n customElementBuilder(customElementComponent, clientSource),\n DashboardPage: (dashboardPageComponent) =>\n dashboardSourceBuilder(dashboardPageComponent, model, clientSource),\n DashboardPlugin: (dashboardPluginComponent) =>\n dashboardSourceBuilder(dashboardPluginComponent, model, clientSource),\n DashboardModal: (dashboardModalComponent) =>\n dashboardSourceBuilder(dashboardModalComponent, model, clientSource),\n DashboardMenuPlugin: () => {},\n Topology: () => {},\n Api: () => {},\n Event: (component) => eventSourceBuilder(component, model, backendSource),\n ServicePlugin: (component) =>\n servicePluginSourceBuilder(component, model, backendSource),\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":";;mSAAA,IAAAA,EAAAC,EAAA,CAAAC,GAAAC,IAAA,cAAAC,IAWA,SAASC,GAAcC,EAAOC,EAAWC,EAAWC,EAAW,CAI7D,QAHIC,EAASJ,EAAM,OACfK,EAAQH,GAAaC,EAAY,EAAI,IAEjCA,EAAYE,IAAU,EAAEA,EAAQD,GACtC,GAAIH,EAAUD,EAAMK,CAAK,EAAGA,EAAOL,CAAK,EACtC,OAAOK,EAGX,MAAO,EACT,CAEAR,EAAO,QAAUE,KCvBjB,IAAAO,EAAAC,EAAA,CAAAC,GAAAC,IAAA,cAAAC,IAOA,SAASC,GAAUC,EAAO,CACxB,OAAOA,IAAUA,CACnB,CAEAH,EAAO,QAAUE,KCXjB,IAAAE,EAAAC,EAAA,CAAAC,GAAAC,IAAA,cAAAC,IAUA,SAASC,GAAcC,EAAOC,EAAOC,EAAW,CAI9C,QAHIC,EAAQD,EAAY,EACpBE,EAASJ,EAAM,OAEZ,EAAEG,EAAQC,GACf,GAAIJ,EAAMG,CAAK,IAAMF,EACnB,OAAOE,EAGX,MAAO,EACT,CAEAN,EAAO,QAAUE,KCtBjB,IAAAM,EAAAC,EAAA,CAAAC,GAAAC,IAAA,cAAAC,IAAA,IAAIC,GAAgB,IAChBC,GAAY,IACZC,GAAgB,IAWpB,SAASC,GAAYC,EAAOC,EAAOC,EAAW,CAC5C,OAAOD,IAAUA,EACbH,GAAcE,EAAOC,EAAOC,CAAS,EACrCN,GAAcI,EAAOH,GAAWK,CAAS,CAC/C,CAEAR,EAAO,QAAUK,KCnBjB,IAAAI,EAAAC,EAAA,CAAAC,GAAAC,IAAA,cAAAC,IAAA,IAAIC,GAAc,IAWlB,SAASC,GAAcC,EAAOC,EAAO,CACnC,IAAIC,EAASF,GAAS,KAAO,EAAIA,EAAM,OACvC,MAAO,CAAC,CAACE,GAAUJ,GAAYE,EAAOC,EAAO,CAAC,EAAI,EACpD,CAEAL,EAAO,QAAUG,KChBjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAAAC,IASA,SAASC,GAAkBC,EAAOC,EAAOC,EAAY,CAInD,QAHIC,EAAQ,GACRC,EAASJ,GAAS,KAAO,EAAIA,EAAM,OAEhC,EAAEG,EAAQC,GACf,GAAIF,EAAWD,EAAOD,EAAMG,CAAK,CAAC,EAChC,MAAO,GAGX,MAAO,EACT,CAEAN,GAAO,QAAUE,KCrBjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAAAC,IAYA,SAASC,IAAO,CAEhB,CAEAF,GAAO,QAAUE,KChBjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAAAC,IAAA,IAAIC,EAAM,KACNC,GAAO,KACPC,GAAa,IAGbC,GAAW,IASXC,GAAcJ,GAAQ,EAAIE,GAAW,IAAIF,EAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAMG,GAAmB,SAASE,EAAQ,CAClG,OAAO,IAAIL,EAAIK,CAAM,CACvB,EAF4EJ,GAI5EH,GAAO,QAAUM,KClBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAAAC,IAAA,IAAIC,GAAW,KACXC,GAAgB,IAChBC,GAAoB,KACpBC,GAAW,KACXC,GAAY,KACZC,GAAa,IAGbC,GAAmB,IAWvB,SAASC,GAASC,EAAOC,EAAUC,EAAY,CAC7C,IAAIC,EAAQ,GACRC,EAAWX,GACXY,EAASL,EAAM,OACfM,EAAW,GACXC,EAAS,CAAC,EACVC,EAAOD,EAEX,GAAIL,EACFI,EAAW,GACXF,EAAWV,WAEJW,GAAUP,GAAkB,CACnC,IAAIW,EAAMR,EAAW,KAAOL,GAAUI,CAAK,EAC3C,GAAIS,EACF,OAAOZ,GAAWY,CAAG,EAEvBH,EAAW,GACXF,EAAWT,GACXa,EAAO,IAAIhB,EACb,MAEEgB,EAAOP,EAAW,CAAC,EAAIM,EAEzBG,EACA,KAAO,EAAEP,EAAQE,GAAQ,CACvB,IAAIM,EAAQX,EAAMG,CAAK,EACnBS,EAAWX,EAAWA,EAASU,CAAK,EAAIA,EAG5C,GADAA,EAAST,GAAcS,IAAU,EAAKA,EAAQ,EAC1CL,GAAYM,IAAaA,EAAU,CAErC,QADIC,EAAYL,EAAK,OACdK,KACL,GAAIL,EAAKK,CAAS,IAAMD,EACtB,SAASF,EAGTT,GACFO,EAAK,KAAKI,CAAQ,EAEpBL,EAAO,KAAKI,CAAK,CACnB,MACUP,EAASI,EAAMI,EAAUV,CAAU,IACvCM,IAASD,GACXC,EAAK,KAAKI,CAAQ,EAEpBL,EAAO,KAAKI,CAAK,EAErB,CACA,OAAOJ,CACT,CAEAjB,GAAO,QAAUS,KCvEjB,IAAAe,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAAAC,IAAA,IAAIC,GAAW,KAsBf,SAASC,GAASC,EAAOC,EAAY,CACnC,OAAAA,EAAa,OAAOA,GAAc,WAAaA,EAAa,OACpDD,GAASA,EAAM,OAAUF,GAASE,EAAO,OAAWC,CAAU,EAAI,CAAC,CAC7E,CAEAL,GAAO,QAAUG,KC3BjBG,IACA,IAAAC,EAA8B,SAD9B,OAAS,cAAAC,OAAkB,cAUpB,IAAMC,EAAsBC,GAAqC,CACtE,IAAMC,EAA6B,IAAI,IASV,CAAC,GAPDD,EAAW,OACrCE,GACC,IAAC,UAAOA,EAAWC,EAAmB,GAAG,GACzC,IAAC,UAAOD,EAAWC,EAAmB,KAAK,GAC3C,IAAC,UAAOD,EAAWC,EAAmB,aAAa,CACvD,CAEqD,EAAE,KAAK,CAACC,EAAGC,IAC9DD,EAAE,GAAG,cAAcC,EAAE,EAAE,CACzB,EACqB,QAASH,GAAc,CAC1C,IAAMI,EAAgBL,EAA2B,IAAIC,EAAU,EAAE,GAAK,CAAC,EACvEI,EAAc,KAAKJ,CAAS,EAC5BD,EAA2B,IAAIC,EAAU,GAAII,CAAa,CAC5D,CAAC,EAED,IAAMC,EAAmC,IAAI,IAW7C,GANAN,EAA2B,QAAQ,CAACO,EAAqBC,IAAQ,CAC3DD,EAAoB,OAAS,GAC/BD,EAAiC,IAAIE,EAAKD,CAAmB,CAEjE,CAAC,EAEGD,EAAiC,KACnC,MAAM,IAAIG,EAAS,CACjB,KAAMC,EAAa,2BAA2B,CAC5C,OAAQ,MAAM,KAAKJ,EAAiC,QAAQ,CAAC,EAAE,IAC7D,CAAC,CAACK,EAAIJ,CAAmB,KAChB,CACL,GAAAI,EACA,WAAYJ,EACT,IAAKN,MACJ,SAAMA,EAAW,CACf,cAAe,CAAC,CAAE,MAAAW,EAAO,aAAAC,CAAa,KAAO,CAC3C,KAAMD,EACN,KAAM,OACN,KAAME,EAAiBD,EAAc,MAAM,CAC7C,GACA,gBAAiB,CAAC,CAAE,MAAAD,EAAO,aAAAC,CAAa,KAAO,CAC7C,KAAMD,EACN,KAAM,SACN,KAAME,EAAiBD,EAAc,MAAM,CAC7C,GACA,oBAAqB,CAAC,CAAE,MAAAD,EAAO,aAAAC,CAAa,KAAO,CACjD,KAAMD,EACN,KAAM,cAEN,KAAMC,CACR,GACA,eAAgB,CAAC,CAAE,MAAAD,EAAO,aAAAC,CAAa,KAAO,CAC5C,KAAMD,EACN,KAAM,QACN,KAAME,EAAiBD,EAAc,MAAM,CAC7C,GACA,yBAA0B,CAAC,CAAE,MAAAE,CAAM,KAAO,CACxC,KAAMA,EACN,KAAM,mBACN,KAAMC,CACR,GACA,eAAgB,CAAC,CAAE,aAAAH,CAAa,KAAO,CACrC,KAAMA,EACN,KAAM,kBACN,KAAMC,EAAiBD,EAAc,MAAM,CAC7C,GACA,cAAe,CAAC,CAAE,KAAAI,EAAM,aAAAJ,CAAa,KAAO,CAC1C,KAAAI,EACA,KAAM,iBACN,KAAMH,EAAiBD,EAAc,MAAM,CAC7C,GACA,SAAU,CAAC,CAAE,KAAAI,CAAK,KAAO,CACvB,KAAAA,EACA,KAAM,WAEN,KAAM,EACR,EACF,CAAC,CACH,EACC,KAAK,CAACd,EAAGC,IAAMD,EAAE,KAAK,cAAcC,EAAE,IAAI,CAAC,EAC9C,YAAac,GAAW,CAC1B,EAEJ,CACF,CAAC,CACH,CAAC,CAEL,ECtGAC,IAQA,IAAAC,EAAsB,SAEtBC,GAAqB,UADrB,OAAS,cAAAC,OAAkB,cA+B3B,SAASC,GAAYC,EAAyC,CAC5D,OAA0BA,GAAM,MAAQA,IAAM,EAChD,CAEA,IAAMC,GAAgB,CACpBC,EACAC,IACwB,CACxB,GAAID,EAAU,YACZ,MAAO,CACL,MAAAC,EACA,YAAaD,EAAU,GACvB,KAAMA,EAAU,YAAY,UAC5B,aAAc,MAChB,CAGJ,EAEaE,GACXF,IAEO,CACL,OAAQA,EAAU,GAClB,SAAUG,EAAc,sBACxB,SAAUH,EAAU,KACpB,SAAU,CACR,oBAAqB,CACnB,KAAM,CACJ,KAAMA,EAAU,IAClB,EACA,WAAY,CACV,QAASA,EAAU,QACnB,WAAYI,EAAwB,UACpC,UAAW,EACb,EACA,KAAM,CACJ,MAAO,CACL,aAAcJ,EAAU,MAAM,aAC9B,aAAcA,EAAU,MAAM,aAC9B,iBAAkBA,EAAU,MAAM,gBACpC,EACA,OAAQ,CACN,cAAeA,EAAU,OAAO,cAChC,WAAYK,EAAW,KACzB,CACF,EACA,aAAc,CACZ,KAAM,CACJ,QAASL,EAAU,cAAc,cACjC,UAAWA,EAAU,cAAc,UACnC,aAAcA,EAAU,cAAc,UAAY,EAAI,CACxD,EACA,OAAQ,CAAE,OAAQM,EAAW,IAAK,CACpC,EACA,UAAW,CAAC,EACZ,aAAcN,EAAU,YAC1B,CACF,CACF,GAGF,eAAsBO,GAAkB,CACtC,MAAAN,EACA,WAAAO,EACA,UAAAC,EACA,uBAAAC,CACF,EAAkD,CAChDC,EAAmBH,CAAU,EAE7B,IAAMI,GACJ,MAAM,QAAQ,IACZJ,EAAW,OACT,SAAM,CACJ,cAAe,MAAOR,GAAuC,CAC3D,IAAMa,EAAqBb,EAAU,WAAaS,EAClD,MAAO,CACL,OAAQT,EAAU,GAClB,SAAUG,EAAc,iBACxB,SAAU,CACR,eAAgB,CACd,gBAAiBW,EAA2B,iBAC5C,SAAUd,EAAU,SAAS,YAAY,YACzC,cAAeA,EAAU,SAAS,SAClC,SAAUA,EAAU,SAAS,SAC7B,UAAWA,EAAU,MAAM,MAAM,CAAC,EAClC,MAAOA,EAAU,MACjB,eAAgBA,EAAU,SAAS,WACnC,oBACEA,EAAU,SAAS,YAAY,eACjC,mBAAoBA,EAAU,mBAC9B,mBAAoBA,EAAU,iBAC9B,GAAIa,EACA,CAAE,eAAgB,CAAE,IAAKA,CAAmB,CAAE,EAC9C,OACJ,GAAI,MAAMH,EAAuBV,CAAS,CAC5C,CACF,EACA,SAAUA,EAAU,MACpB,WAAYD,GAAcC,EAAWC,CAAK,CAC5C,CACF,EACA,gBAAiB,MACfD,IACwC,CACxC,OAAQA,EAAU,GAClB,SAAUG,EAAc,6BACxB,SAAU,CACR,0BAA2B,CACzB,gBAAiBW,EAA2B,iBAC5C,QAASd,EAAU,QACnB,MAAOA,EAAU,MACjB,mBAAoBA,EAAU,mBAC9B,MAAOA,EAAU,MACjB,OAAQA,EAAU,OAClB,GAAI,MAAMU,EAAuBV,CAAS,EAC1C,GAAIA,EAAU,UACV,CAAE,eAAgB,CAAE,IAAKA,EAAU,SAAU,CAAE,EAC/C,MACN,CACF,EACA,SAAUA,EAAU,KACtB,GACA,oBAAqB,MACnBA,IAC0C,CAC1C,OAAQA,EAAU,GAClB,SAAUG,EAAc,gCACxB,SAAU,CACR,4BAA6B,CAC3B,gBAAiBW,EAA2B,iBAC5C,GAAId,EAAU,GACd,MAAOA,EAAU,MACjB,SAAUA,EAAU,SACpB,QAASA,EAAU,QACnB,QAASA,EAAU,QACnB,OAAQA,EAAU,OAClB,mBAAoBA,EAAU,mBAC9B,GAAIA,EAAU,UACV,CAAE,eAAgB,CAAE,IAAKA,EAAU,SAAU,CAAE,EAC/C,MACN,CACF,EACA,SAAUA,EAAU,KACtB,GACA,eAAgB,MAAOA,IAAyC,CAC9D,OAAQA,EAAU,GAClB,SAAUG,EAAc,kBACxB,SAAU,CACR,gBAAiB,CACf,gBAAiBW,EAA2B,iBAC5C,MAAOd,EAAU,MACjB,mBAAoBA,EAAU,mBAC9B,MAAOA,EAAU,MACjB,OAAQA,EAAU,OAClB,GAAI,MAAMU,EAAuBV,CAAS,EAC1C,GAAIA,EAAU,UACV,CAAE,eAAgB,CAAE,IAAKA,EAAU,SAAU,CAAE,EAC/C,MACN,CACF,EACA,SAAUA,EAAU,KACtB,GACA,yBAA0B,MACxBA,IACqC,CACrC,OAAQA,EAAU,GAClB,SAAUG,EAAc,6BACxB,SAAU,CACR,0BAA2B,CACzB,gBAAiBW,EAA2B,iBAC5C,MAAOd,EAAU,MACjB,SAAUA,EAAU,QACtB,CACF,EACA,SAAUA,EAAU,KACtB,GACA,eAAgB,MAAOA,IAAwC,CAC7D,OAAQA,EAAU,GAClB,SAAUG,EAAc,gBACxB,SAAUH,EAAU,KACpB,SAAU,CACR,4BAA6B,CAC3B,KAAMA,EAAU,KAChB,MAAOe,EAAoB,WAC3B,UAAWf,EAAU,UACrB,kBAAmB,GACnB,cAAeA,EAAU,WACzB,aAAcA,EAAU,aACxB,SAAU,GACV,mBAAoB,GACpB,GAAI,MAAMU,EAAuBV,CAAS,CAC5C,CACF,CACF,GACA,cAAe,MAAOA,GAAsC,CAC1D,GAAM,CAAE,UAAAgB,EAAW,YAAAC,CAAY,EAAI,MAAMP,EACvCV,CACF,EAEMkB,EAAchB,GAA0BF,CAAS,EAEvD,MAAO,CACL,GAAGkB,EACH,SAAU,CACR,oBAAqB,CACnB,GAAGA,EAAY,SAAS,oBACxB,WAAY,CACV,GAAGA,EAAY,SAAS,oBAAoB,WAC5C,UAAAF,CACF,EACA,UAAW,CACT,GAAGE,EAAY,SAAS,oBAAoB,UAC5C,GAAIlB,EAAU,kBACV,CAAE,SAAU,CAAE,YAAAiB,CAAY,CAAE,EAC5B,CAAC,CACP,CACF,CACF,CACF,CACF,EACA,SAAU,MAAOjB,IACR,CACL,OAAQA,EAAU,GAClB,SAAUG,EAAc,SACxB,SAAUH,EAAU,KACpB,SAAU,CACR,SAAU,CACR,SAAU,CACR,cAAeA,EAAU,aAC3B,CACF,CACF,CACF,GAEF,IAAK,IAAM,KACX,MAAO,MAAOA,IACS,MAAMU,EAAuBV,CAAS,GAEvC,IAAI,CAAC,CAAE,YAAAmB,CAAY,KAAO,CAC5C,SAAUA,EACV,OAAQC,GAAW,EACnB,SAAUjB,EAAc,QACxB,SAAU,CACR,QAAS,CACP,YAAa,+BACb,YAAAgB,CACF,CACF,CACF,EAAE,EAEJ,cAAe,MAAOnB,GAAsC,CAC1D,IAAMqB,KAAgB,SAAMrB,EAAU,cAAe,CACnD,kBAAoBA,IAAkC,CACpD,SAAUA,EAAU,KACpB,OAAQA,EAAU,GAClB,SAAUG,EAAc,oBACxB,SAAU,CACR,kBAAmB,CACjB,KAAMH,EAAU,KAChB,cAAe,qCACf,YAAaA,EAAU,YACvB,aAAcA,EAAU,aACxB,aAAcA,EAAU,aACxB,4BACEA,EAAU,4BACZ,aAAcA,EAAU,YAC1B,CACF,CACF,GACA,mBAAqBA,IAAmC,CACtD,SAAUA,EAAU,KACpB,OAAQA,EAAU,GAClB,SAAUG,EAAc,qBACxB,SAAU,CACR,mBAAoB,CAClB,cAAe,oCACjB,CACF,CACF,EACF,CAAC,EAEK,CAAE,kBAAAmB,CAAkB,EAAI,MAAMZ,EAClCV,CACF,EAEA,GAAIqB,EAAc,WAAaC,EAC7B,MAAM,IAAIC,EAAS,CACjB,KAAMC,EAAa,mCAAmC,CACpD,yBAA0BH,EAAc,QAC1C,CAAC,CACH,CAAC,EAGH,OAAOA,CACT,CACF,CAAC,CACH,CACF,GAEC,OAAOxB,EAAQ,EACf,KAAK,EAEF4B,KAAmB,GAAAC,SAASd,EAAuB,CAACe,EAAKC,IAE3DD,EAAI,WAAaxB,EAAc,SAC/ByB,EAAI,WAAazB,EAAc,SAC/BwB,EAAI,SAAS,QAAQ,cAAgBC,EAAI,SAAS,QAAQ,WAE7D,EAED,MAAO,CACL,MAAA3B,EACA,WAAYwB,CACd,CACF,CCnWAI,IAEA,IAAAC,GAAsB,SACtB,OAAS,QAAAC,OAAY,YCHrBC,IAKA,SAASC,GAAoBC,EAA8B,CAIzD,GAAI,EAFF,WAAYA,GAAe,MAAM,QAAQA,CAAW,GAGpD,MAAM,IAAIC,EAAS,CAAE,KAAMC,EAAa,uBAAuB,CAAE,CAAC,EAOpE,OAJgB,MAAM,QAAQF,CAAW,EACrCA,EAAY,QAASG,GAAWA,EAAO,MAAM,EAC7CH,EAAY,MAGlB,CAEO,SAASI,EACdJ,EACAK,EACA,CAGA,IAAMF,EAFUJ,GAAoBC,CAAW,EAExB,KACpBG,GAAWA,EAAO,OAAS,SAAWA,EAAO,iBAAmBE,CACnE,EAEA,GAAI,CAACF,EACH,MAAM,IAAIF,EAAS,CAAE,KAAMC,EAAa,yBAAyB,CAAE,CAAC,EAGtE,OAAOC,EAAO,QAChB,CAEO,SAASG,GACdN,EACAO,EACA,CAGA,IAAMJ,EAFUJ,GAAoBC,CAAW,EAExB,KAAMG,GAAWA,EAAO,WAAaI,CAAQ,EAEpE,GAAI,CAACJ,GAAU,EAAE,WAAYA,GAC3B,MAAM,IAAIF,EAAS,CACjB,KAAMC,EAAa,yBAAyB,CAAE,SAAAK,CAAS,CAAC,CAC1D,CAAC,EAGH,OAAOJ,EAAO,OAAO,SAAS,CAChC,CD8BA,eAAeK,GACbC,EACAC,EACA,CACA,IAAMC,EAAM,IAAI,IAAIF,EAAU,aAAcC,CAAmB,EAAE,KAGjE,OAFoB,MAAM,MAAMC,CAAG,EAAE,KAAMC,GAAQA,EAAI,KAAK,CAAC,CAG/D,CAEA,eAAeC,GACbJ,EACAC,EACA,CACA,IAAMC,EAAM,IAAI,IAAI,0BAA2BD,CAAmB,EAAE,KAC9DI,EAAW,MAAM,MAAMH,CAAG,EAEhC,OAAKG,EAAS,IAIK,MAAMA,EAAS,KAAK,GACX,IAAIL,EAAU,YAAY,EAAE,GAAK,CAAC,EAJrD,CAAC,CAOZ,CAEA,eAAeM,GAAwBC,EAAqB,CAC1D,IAAMC,EAAqBC,EAAyBF,EAAM,aAAa,EAMvE,OAAO,OALgBG,GACrBF,EACA,6BACF,EAGF,CAEA,eAAeG,GACbX,EACAO,EACA,CACA,GAAM,CAAE,oBAAAK,CAAoB,EAAI,MAAMN,GAAwBC,CAAK,EAInE,OAFkB,MAAMK,EAAoB,GAE3B,IAAIZ,EAAU,YAAY,EAAE,CAC/C,CAEA,eAAea,GACbb,EACAC,EACA,CACA,IAAMC,EAAM,IAAI,IAAI,mCAAoCD,CAAmB,EACxE,KACGI,EAAW,MAAM,MAAMH,CAAG,EAEhC,OAAKG,EAAS,IAIa,MAAMA,EAAS,KAAK,GACF,IAAIL,EAAU,YAAY,EAAE,EAJhE,IAOX,CAEA,eAAec,GACbd,EACAO,EACA,CACA,GAAM,CAAE,4BAAAQ,CAA4B,EAAI,MAAMT,GAAwBC,CAAK,EAI3E,OAF0B,MAAMQ,EAA4B,GAEnC,IAAIf,EAAU,YAAY,EAAE,CACvD,CAEA,IAAMgB,EAAyB,CAC7BhB,EAIAO,EACAU,IACoB,CACpB,GAAI,CAACV,EAAM,OAAO,QAChB,MAAO,CACL,UAAWW,EAAwBlB,EAAU,EAAE,CACjD,EAEF,IAAMmB,EAAWC,EAA8BpB,EAAU,EAAE,EACrDqB,EAAeJ,EAAa,kBAC9BK,EAAwBL,EAAa,kBAAmBE,CAAQ,EAChE,QAAQA,CAAQ,UAEpB,MAAO,CACL,YAAa,CACX,aAAcnB,EAAU,GACxB,YAAaO,EAAM,OAAO,MAC1B,IAAKc,EACL,WAAYE,EAA0B,MACxC,CACF,CACF,EAEMC,GAAwB,MAC5BxB,EACA,CAAE,kBAAAyB,EAAmB,mBAAAC,CAAmB,KAEjC,CACL,SAAUD,EACNE,GAA2BF,EAAmBzB,EAAU,YAAY,EACpE,MAAMD,GAA6BC,EAAW0B,CAAkB,CACtE,GAGIE,GAAqB,MACzB5B,EACAO,EACAsB,IAC2B,CAC3B,IAAMC,EAAgBD,EAAc,oBAChC,MAAMzB,GAAiBJ,EAAW6B,EAAc,mBAAmB,EACnE,MAAMlB,GAAkBX,EAAWO,CAAK,EAM5C,OAJqBuB,EACjB,MAAM,QAAQ,IAAIA,EAAc,IAAIC,CAAmB,CAAC,EACxD,CAAC,GAEe,IAAKC,IAAiB,CACxC,YAAAA,CACF,EAAE,CACJ,EAEMC,GAA6B,MACjCjC,EACAO,EACAsB,IACiC,CACjC,IAAMK,EAAoBL,EAAc,oBACpC,MAAMhB,GACJb,EACA6B,EAAc,mBAChB,EACA,MAAMf,GAAyBd,EAAWO,CAAK,EAEnD,GAAI,CAAC2B,EACH,MAAM,IAAI,MAAM,0CAA0C,EAG5D,MAAO,CACL,kBAAAA,CACF,CACF,EAEMC,GAAuB,CAC3BnC,EACAiB,IACwB,CACxB,IAAME,EAAWiB,EAA2CpC,EAAU,EAAE,EAKxE,MAAO,CACL,UALmBiB,EAAa,kBAC9BK,EAAwBL,EAAa,kBAAmBE,CAAQ,EAChE,QAAQA,CAAQ,UAIlB,YAAakB,EAA0CrC,EAAU,EAAE,CACrE,CACF,EAEO,SAASsC,GACd/B,EACAU,EACAY,EACA,CACA,MAAQ,OAAO7B,MACE,UAAMA,EAAW,CAC9B,eAAiBuC,GACff,GAAsBe,EAAyBtB,CAAY,EAC7D,yBAA0B,IAAM,CAAC,EACjC,cAAgBuB,GACdL,GAAqBK,EAAwBvB,CAAY,EAC3D,cAAgBwB,GACdzB,EAAuByB,EAAwBlC,EAAOU,CAAY,EACpE,gBAAkByB,GAChB1B,EAAuB0B,EAA0BnC,EAAOU,CAAY,EACtE,eAAiB0B,GACf3B,EAAuB2B,EAAyBpC,EAAOU,CAAY,EACrE,oBAAqB,IAAM,CAAC,EAC5B,SAAU,IAAM,CAAC,EACjB,IAAK,IAAM,CAAC,EACZ,MAAQjB,GAAc4B,GAAmB5B,EAAWO,EAAOsB,CAAa,EACxE,cAAgB7B,GACdiC,GAA2BjC,EAAWO,EAAOsB,CAAa,CAC9D,CAAC,CAIL","names":["require_baseFindIndex","__commonJSMin","exports","module","init_esm_shims","baseFindIndex","array","predicate","fromIndex","fromRight","length","index","require_baseIsNaN","__commonJSMin","exports","module","init_esm_shims","baseIsNaN","value","require_strictIndexOf","__commonJSMin","exports","module","init_esm_shims","strictIndexOf","array","value","fromIndex","index","length","require_baseIndexOf","__commonJSMin","exports","module","init_esm_shims","baseFindIndex","baseIsNaN","strictIndexOf","baseIndexOf","array","value","fromIndex","require_arrayIncludes","__commonJSMin","exports","module","init_esm_shims","baseIndexOf","arrayIncludes","array","value","length","require_arrayIncludesWith","__commonJSMin","exports","module","init_esm_shims","arrayIncludesWith","array","value","comparator","index","length","require_noop","__commonJSMin","exports","module","init_esm_shims","noop","require_createSet","__commonJSMin","exports","module","init_esm_shims","Set","noop","setToArray","INFINITY","createSet","values","require_baseUniq","__commonJSMin","exports","module","init_esm_shims","SetCache","arrayIncludes","arrayIncludesWith","cacheHas","createSet","setToArray","LARGE_ARRAY_SIZE","baseUniq","array","iteratee","comparator","index","includes","length","isCommon","result","seen","set","outer","value","computed","seenIndex","require_uniqWith","__commonJSMin","exports","module","init_esm_shims","baseUniq","uniqWith","array","comparator","init_esm_shims","import_variant","randomUUID","validateComponents","components","devCenterComponentsToIdMap","component","DevCenterComponent","a","b","componentList","devCenterComponentsWithSameIDMap","devCenterComponents","key","CliError","CliErrorCode","id","title","relativePath","replaceExtension","label","CONFIG_FILENAME","name","randomUUID","init_esm_shims","import_variant","import_uniqWith","randomUUID","isTruthy","x","getExperiment","component","appId","createCustomElementConfig","ComponentType","CustomElementScriptType","HeightMode","RegionType","createAppManifest","components","sentryDSN","componentSourceBuilder","validateComponents","appManifestComponents","componentSentryDSN","BackOfficeHostingPlatforms","EmbeddedScriptPages","scriptUrl","settingsUrl","basicConfig","webhookSlug","randomUUID","servicePlugin","servicePluginType","CliError","CliErrorCode","uniqueComponents","uniqWith","one","two","init_esm_shims","import_variant","join","init_esm_shims","extractBuildOutputs","buildOutput","CliError","CliErrorCode","output","extractModuleBundleName","moduleId","extractModuleBundleContent","fileName","getEmbeddedScriptDevTemplate","component","backendDevServerUrl","url","res","getEventDevSlugs","response","getRegisteredExtensions","model","backendBuildFolder","getAppBackendBuildFolder","join","getEventProdSlugs","getRegisteredEvents","getServicePluginDevType","getServicePluginProdType","getRegisteredServicePlugins","dashboardSourceBuilder","clientSource","virtualPathForHTMLAsset","moduleId","virtualModuleIdForScriptAsset","componentUrl","extractModuleBundleName","BackOfficeScriptAssetType","embeddedScriptBuilder","clientBuildOutput","clientDevServerUrl","extractModuleBundleContent","eventSourceBuilder","backendSource","fullSlugNames","getBackendEventSlug","webhookSlug","servicePluginSourceBuilder","servicePluginType","customElementBuilder","virtualModuleIdForCustomElementScriptAsset","virtualPathForCustomElementPanelHTMLAsset","getComponentSourceBuilder","embeddedScriptComponent","customElementComponent","dashboardPageComponent","dashboardPluginComponent","dashboardModalComponent"]}
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{e as y}from"./chunk-CBDNKNAV.js";import{a as C}from"./chunk-VRNTLFVH.js";import{k as L,m as v,n as u}from"./chunk-J2KSZ5LE.js";import{da as w,ga as E,ha as t,m}from"./chunk-5JYQ2Z7Y.js";import{C as f,N as b,V as p,W as B,a as T,d as g,e as P,w as i,z as h}from"./chunk-2JOP4YNL.js";import{e as D,h as s}from"./chunk-V4TR6DCM.js";s();async function K(o){let e=w(o),n=E(o);if(!await m(e)||!await m(n))throw new g({code:P.BuiltProjectNeeded()})}s();var r=D(T(),1);var a=({url:o,label:e,withPointer:n=!0})=>r.default.createElement(i,null,r.default.createElement(i,{marginRight:1},n&&r.default.createElement(f,null),r.default.createElement(i,{marginLeft:1},r.default.createElement(b,{url:o},e)))),z=()=>{let{t:o}=B(),{isPlatformExists:e,hasSinglePlatform:n}=y(),{dashboardExtensions:d}=C(),l=L(),x=k=>v({envConfig:l,platformType:k});return r.default.createElement(r.default.Fragment,null,n(t.Dashboard())?r.default.createElement(i,{flexDirection:"row"},r.default.createElement(p,{i18nKey:"general.open_preview.title_single"}),r.default.createElement(a,{withPointer:!1,url:u({envConfig:l,extension:d[0]}),label:o("general.platform.dashboard")})):r.default.createElement(i,{flexDirection:"column"},r.default.createElement(p,{i18nKey:"general.open_preview.title_multiple"}),r.default.createElement(i,{paddingLeft:2,flexDirection:"column"},e(t.Site())&&(l.site.viewUrl?r.default.createElement(a,{url:x(t.Site()),label:o("general.platform.site")}):r.default.createElement(i,{marginRight:1},r.default.createElement(f,null),r.default.createElement(i,{marginLeft:1},r.default.createElement(h,{skin:"secondary",underline:!0},o("general.platform.unpublished_site"))))),e(t.Editor())&&r.default.createElement(a,{url:x(t.Editor()),label:o("general.platform.editor")}),e(t.Dashboard())&&r.default.createElement(a,{url:u({envConfig:l,extension:d[0]}),label:o("general.platform.dashboard")}))))};export{K as a,z as b};
4
- //# sourceMappingURL=chunk-NNF6JCN7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/files/assert-build-output-exists.ts","../src/components/Platform/PlatformViewer.tsx"],"sourcesContent":["import { pathExists } from '@wix/cli-fs';\nimport {\n getAppBuildFolder,\n getAppManifestPath,\n} from '@wix/cli-app-definitions';\nimport { CliErrorCode, CliError } from '@wix/cli-error';\n\nexport async function assertBuildOutputExists(projectFolder: string) {\n const buildFolder = getAppBuildFolder(projectFolder);\n const manifestPath = getAppManifestPath(projectFolder);\n\n if (!(await pathExists(buildFolder)) || !(await pathExists(manifestPath))) {\n throw new CliError({\n code: CliErrorCode.BuiltProjectNeeded(),\n });\n }\n}\n","import React, { type FC } from 'react';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { Box, Link, PointerSmallIcon, Text } from '@wix/cli-ui-kit';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { useExtensions } from '../extensions/useExtensions.js';\nimport {\n resolveDashboardExtensionUrl,\n resolvePlatformUrl,\n useEnvConfig,\n} from '../extensions/utils.js';\nimport { usePlatform } from './usePlatform.js';\n\ninterface PlatformLinkProps {\n url: string;\n label: string;\n withPointer?: boolean;\n}\n\nexport const PlatformLink: FC<PlatformLinkProps> = ({\n url,\n label,\n withPointer = true,\n}) => {\n return (\n <Box>\n <Box marginRight={1}>\n {withPointer && <PointerSmallIcon />}\n <Box marginLeft={1}>\n <Link url={url}>{label}</Link>\n </Box>\n </Box>\n </Box>\n );\n};\n\nexport const PlatformViewer: FC = () => {\n const { t } = useTranslation();\n const { isPlatformExists, hasSinglePlatform } = usePlatform();\n const { dashboardExtensions } = useExtensions();\n const envConfig = useEnvConfig();\n\n const getPlatformUrl = (platformType: PlatformType) =>\n resolvePlatformUrl({\n envConfig,\n platformType,\n });\n\n return (\n <>\n {hasSinglePlatform(PlatformType.Dashboard()) ? (\n <Box flexDirection=\"row\">\n <Trans i18nKey=\"general.open_preview.title_single\" />\n <PlatformLink\n withPointer={false}\n url={resolveDashboardExtensionUrl({\n envConfig,\n extension: dashboardExtensions[0]!,\n })}\n label={t('general.platform.dashboard')}\n />\n </Box>\n ) : (\n <Box flexDirection=\"column\">\n <Trans i18nKey=\"general.open_preview.title_multiple\" />\n <Box paddingLeft={2} flexDirection=\"column\">\n {isPlatformExists(PlatformType.Site()) &&\n (envConfig.site.viewUrl ? (\n <PlatformLink\n url={getPlatformUrl(PlatformType.Site())}\n label={t('general.platform.site')}\n />\n ) : (\n <Box marginRight={1}>\n <PointerSmallIcon />\n <Box marginLeft={1}>\n <Text skin=\"secondary\" underline>\n {t('general.platform.unpublished_site')}\n </Text>\n </Box>\n </Box>\n ))}\n {isPlatformExists(PlatformType.Editor()) && (\n <PlatformLink\n url={getPlatformUrl(PlatformType.Editor())}\n label={t('general.platform.editor')}\n />\n )}\n {isPlatformExists(PlatformType.Dashboard()) && (\n <PlatformLink\n url={resolveDashboardExtensionUrl({\n envConfig,\n extension: dashboardExtensions[0]!,\n })}\n label={t('general.platform.dashboard')}\n />\n )}\n </Box>\n </Box>\n )}\n </>\n );\n};\n"],"mappings":";;gVAAAA,IAOA,eAAsBC,EAAwBC,EAAuB,CACnE,IAAMC,EAAcC,EAAkBF,CAAa,EAC7CG,EAAeC,EAAmBJ,CAAa,EAErD,GAAI,CAAE,MAAMK,EAAWJ,CAAW,GAAM,CAAE,MAAMI,EAAWF,CAAY,EACrE,MAAM,IAAIG,EAAS,CACjB,KAAMC,EAAa,mBAAmB,CACxC,CAAC,CAEL,CChBAC,IAAA,IAAAC,EAA+B,SAkBxB,IAAMC,EAAsC,CAAC,CAClD,IAAAC,EACA,MAAAC,EACA,YAAAC,EAAc,EAChB,IAEI,EAAAC,QAAA,cAACC,EAAA,KACC,EAAAD,QAAA,cAACC,EAAA,CAAI,YAAa,GACfF,GAAe,EAAAC,QAAA,cAACE,EAAA,IAAiB,EAClC,EAAAF,QAAA,cAACC,EAAA,CAAI,WAAY,GACf,EAAAD,QAAA,cAACG,EAAA,CAAK,IAAKN,GAAMC,CAAM,CACzB,CACF,CACF,EAISM,EAAqB,IAAM,CACtC,GAAM,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvB,CAAE,iBAAAC,EAAkB,kBAAAC,CAAkB,EAAIC,EAAY,EACtD,CAAE,oBAAAC,CAAoB,EAAIC,EAAc,EACxCC,EAAYC,EAAa,EAEzBC,EAAkBC,GACtBC,EAAmB,CACjB,UAAAJ,EACA,aAAAG,CACF,CAAC,EAEH,OACE,EAAAf,QAAA,gBAAAA,QAAA,cACGQ,EAAkBS,EAAa,UAAU,CAAC,EACzC,EAAAjB,QAAA,cAACC,EAAA,CAAI,cAAc,OACjB,EAAAD,QAAA,cAACkB,EAAA,CAAM,QAAQ,oCAAoC,EACnD,EAAAlB,QAAA,cAACJ,EAAA,CACC,YAAa,GACb,IAAKuB,EAA6B,CAChC,UAAAP,EACA,UAAWF,EAAoB,CAAC,CAClC,CAAC,EACD,MAAOL,EAAE,4BAA4B,EACvC,CACF,EAEA,EAAAL,QAAA,cAACC,EAAA,CAAI,cAAc,UACjB,EAAAD,QAAA,cAACkB,EAAA,CAAM,QAAQ,sCAAsC,EACrD,EAAAlB,QAAA,cAACC,EAAA,CAAI,YAAa,EAAG,cAAc,UAChCM,EAAiBU,EAAa,KAAK,CAAC,IAClCL,EAAU,KAAK,QACd,EAAAZ,QAAA,cAACJ,EAAA,CACC,IAAKkB,EAAeG,EAAa,KAAK,CAAC,EACvC,MAAOZ,EAAE,uBAAuB,EAClC,EAEA,EAAAL,QAAA,cAACC,EAAA,CAAI,YAAa,GAChB,EAAAD,QAAA,cAACE,EAAA,IAAiB,EAClB,EAAAF,QAAA,cAACC,EAAA,CAAI,WAAY,GACf,EAAAD,QAAA,cAACoB,EAAA,CAAK,KAAK,YAAY,UAAS,IAC7Bf,EAAE,mCAAmC,CACxC,CACF,CACF,GAEHE,EAAiBU,EAAa,OAAO,CAAC,GACrC,EAAAjB,QAAA,cAACJ,EAAA,CACC,IAAKkB,EAAeG,EAAa,OAAO,CAAC,EACzC,MAAOZ,EAAE,yBAAyB,EACpC,EAEDE,EAAiBU,EAAa,UAAU,CAAC,GACxC,EAAAjB,QAAA,cAACJ,EAAA,CACC,IAAKuB,EAA6B,CAChC,UAAAP,EACA,UAAWF,EAAoB,CAAC,CAClC,CAAC,EACD,MAAOL,EAAE,4BAA4B,EACvC,CAEJ,CACF,CAEJ,CAEJ","names":["init_esm_shims","assertBuildOutputExists","projectFolder","buildFolder","getAppBuildFolder","manifestPath","getAppManifestPath","pathExists","CliError","CliErrorCode","init_esm_shims","import_react","PlatformLink","url","label","withPointer","React","Box_default","PointerSmallIcon","Link","PlatformViewer","t","useTranslation","isPlatformExists","hasSinglePlatform","usePlatform","dashboardExtensions","useExtensions","envConfig","useEnvConfig","getPlatformUrl","platformType","resolvePlatformUrl","PlatformType","Trans","resolveDashboardExtensionUrl","Text"]}