@wix/cli-app 1.1.18 → 1.1.19

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 (119) hide show
  1. package/build/CreateVersionCommand-3UL6NYDF.js +4 -0
  2. package/build/{CreateVersionCommand-CHX2UWME.js.map → CreateVersionCommand-3UL6NYDF.js.map} +1 -1
  3. package/build/DevCommand-GD7XT72H.js +4 -0
  4. package/build/DevCommand-GD7XT72H.js.map +1 -0
  5. package/build/GenerateCommand-YW37BTUB.js +99 -0
  6. package/build/GenerateCommand-YW37BTUB.js.map +1 -0
  7. package/build/PreviewCommand-HDEZ6LT3.js +4 -0
  8. package/build/{ServeCommand-XTHWLUDT.js → ServeCommand-YRMZVHZN.js} +2 -2
  9. package/build/ServeCommand-YRMZVHZN.js.map +1 -0
  10. package/build/build-FJMITZHU.js +4 -0
  11. package/build/build-FJMITZHU.js.map +1 -0
  12. package/build/chunk-4VOJ4MBF.js +4 -0
  13. package/build/chunk-4VOJ4MBF.js.map +1 -0
  14. package/build/{chunk-PE3RXVKE.js → chunk-56GO226U.js} +2 -2
  15. package/build/chunk-56GO226U.js.map +1 -0
  16. package/build/chunk-6U7WFIFR.js +87 -0
  17. package/build/chunk-6U7WFIFR.js.map +1 -0
  18. package/build/chunk-CXTD4ANR.js +4 -0
  19. package/build/{chunk-S7NF452E.js → chunk-EL4LLNE3.js} +2 -2
  20. package/build/chunk-EVTSTCPY.js +4 -0
  21. package/build/chunk-EVTSTCPY.js.map +1 -0
  22. package/build/chunk-FMEEFVFZ.js +4 -0
  23. package/build/chunk-FMEEFVFZ.js.map +1 -0
  24. package/build/chunk-I4ARVL5S.js +6 -0
  25. package/build/chunk-I4ARVL5S.js.map +1 -0
  26. package/build/chunk-KF76KJSL.js +4 -0
  27. package/build/chunk-KF76KJSL.js.map +1 -0
  28. package/build/chunk-L47BPWKS.js +23 -0
  29. package/build/chunk-L47BPWKS.js.map +1 -0
  30. package/build/chunk-LINHFSVS.js +4 -0
  31. package/build/{chunk-BGSKNKJF.js.map → chunk-LINHFSVS.js.map} +1 -1
  32. package/build/chunk-LKXDY7ME.js +27 -0
  33. package/build/chunk-LKXDY7ME.js.map +1 -0
  34. package/build/chunk-MNS7PUKJ.js +11 -0
  35. package/build/chunk-MNS7PUKJ.js.map +1 -0
  36. package/build/{chunk-RCDIKBVN.js → chunk-POJEX3XJ.js} +12 -12
  37. package/build/chunk-POJEX3XJ.js.map +1 -0
  38. package/build/chunk-PWKG7UKK.js +4 -0
  39. package/build/{chunk-O4DV7EH5.js.map → chunk-PWKG7UKK.js.map} +1 -1
  40. package/build/{chunk-BKNV2B7T.js → chunk-QLWXUOAT.js} +2 -2
  41. package/build/{chunk-QBIV5U5A.js → chunk-QOQRQIMF.js} +2 -2
  42. package/build/chunk-QZS4ARDD.js +4 -0
  43. package/build/chunk-QZS4ARDD.js.map +1 -0
  44. package/build/chunk-RJKCVYVO.js +73 -0
  45. package/build/chunk-RJKCVYVO.js.map +1 -0
  46. package/build/{chunk-PYBYLDJB.js → chunk-TPV6MPZ4.js} +2 -2
  47. package/build/{chunk-5XZSJPLU.js → chunk-V35F6N6Y.js} +2 -2
  48. package/build/{chunk-HFDLXX7R.js → chunk-V4TR6DCM.js} +1 -1
  49. package/build/{chunk-HLCGKBPK.js → chunk-YE7MFP76.js} +2 -2
  50. package/build/chunk-YE7MFP76.js.map +1 -0
  51. package/build/{devtools-WFBFD7GB.js → devtools-WDPQJNQZ.js} +2 -2
  52. package/build/{devtools-WFBFD7GB.js.map → devtools-WDPQJNQZ.js.map} +1 -1
  53. package/build/{esm-QEHFRL6L.js → esm-MUZJUC5Q.js} +2 -2
  54. package/build/index.js +14 -14
  55. package/build/index.js.map +1 -1
  56. package/build/preview-3ZAXKZ4E.js +4 -0
  57. package/build/preview-3ZAXKZ4E.js.map +1 -0
  58. package/build/{render-command-PDPDZKND.js → render-command-SBXRR4MG.js} +2 -2
  59. package/build/{types.impl-HD4UTKFC.js → types.impl-V4PI7Z6L.js} +2 -2
  60. package/build/types.impl-V4PI7Z6L.js.map +1 -0
  61. package/package.json +7 -6
  62. package/schemas/custom-element.json +1 -1
  63. package/schemas/dashboard-menu-plugin.json +1 -1
  64. package/schemas/dashboard-modal.json +1 -1
  65. package/schemas/dashboard-page.json +1 -1
  66. package/schemas/dashboard-plugin.json +1 -1
  67. package/schemas/embedded-script.json +1 -1
  68. package/schemas/wix-config.json +1 -1
  69. package/templates/custom-element/element.tsx.ejs +27 -4
  70. package/templates/custom-element/panel.tsx.ejs +45 -6
  71. package/build/CreateVersionCommand-CHX2UWME.js +0 -4
  72. package/build/DevCommand-TKHJTH22.js +0 -4
  73. package/build/DevCommand-TKHJTH22.js.map +0 -1
  74. package/build/GenerateCommand-PIRMS3PT.js +0 -99
  75. package/build/GenerateCommand-PIRMS3PT.js.map +0 -1
  76. package/build/PreviewCommand-2DQ252RA.js +0 -4
  77. package/build/PreviewCommand-2DQ252RA.js.map +0 -1
  78. package/build/ServeCommand-XTHWLUDT.js.map +0 -1
  79. package/build/build-QLE4H4H2.js +0 -4
  80. package/build/build-QLE4H4H2.js.map +0 -1
  81. package/build/chunk-3L5LQKB7.js +0 -4
  82. package/build/chunk-3L5LQKB7.js.map +0 -1
  83. package/build/chunk-6OPLPT2G.js +0 -87
  84. package/build/chunk-6OPLPT2G.js.map +0 -1
  85. package/build/chunk-6R3ZFQVO.js +0 -27
  86. package/build/chunk-6R3ZFQVO.js.map +0 -1
  87. package/build/chunk-7JJKVPKL.js +0 -6
  88. package/build/chunk-7JJKVPKL.js.map +0 -1
  89. package/build/chunk-BGSKNKJF.js +0 -4
  90. package/build/chunk-HLCGKBPK.js.map +0 -1
  91. package/build/chunk-LZ4SXWLW.js +0 -11
  92. package/build/chunk-LZ4SXWLW.js.map +0 -1
  93. package/build/chunk-O4DV7EH5.js +0 -4
  94. package/build/chunk-PE3RXVKE.js.map +0 -1
  95. package/build/chunk-RCDIKBVN.js.map +0 -1
  96. package/build/chunk-RDIPEKL2.js +0 -23
  97. package/build/chunk-RDIPEKL2.js.map +0 -1
  98. package/build/chunk-SIP7BHV7.js +0 -4
  99. package/build/chunk-TBT2V5T7.js +0 -4
  100. package/build/chunk-TBT2V5T7.js.map +0 -1
  101. package/build/chunk-UQ7NP6NA.js +0 -4
  102. package/build/chunk-UQ7NP6NA.js.map +0 -1
  103. package/build/chunk-XHPVJXDY.js +0 -73
  104. package/build/chunk-XHPVJXDY.js.map +0 -1
  105. package/build/chunk-XYNUUMC2.js +0 -4
  106. package/build/chunk-XYNUUMC2.js.map +0 -1
  107. package/build/preview-LQ6YX5QD.js +0 -4
  108. package/build/preview-LQ6YX5QD.js.map +0 -1
  109. package/schemas/dashboard-sidebar-category.json +0 -1
  110. /package/build/{types.impl-HD4UTKFC.js.map → PreviewCommand-HDEZ6LT3.js.map} +0 -0
  111. /package/build/{chunk-SIP7BHV7.js.map → chunk-CXTD4ANR.js.map} +0 -0
  112. /package/build/{chunk-S7NF452E.js.map → chunk-EL4LLNE3.js.map} +0 -0
  113. /package/build/{chunk-BKNV2B7T.js.map → chunk-QLWXUOAT.js.map} +0 -0
  114. /package/build/{chunk-QBIV5U5A.js.map → chunk-QOQRQIMF.js.map} +0 -0
  115. /package/build/{chunk-PYBYLDJB.js.map → chunk-TPV6MPZ4.js.map} +0 -0
  116. /package/build/{chunk-5XZSJPLU.js.map → chunk-V35F6N6Y.js.map} +0 -0
  117. /package/build/{chunk-HFDLXX7R.js.map → chunk-V4TR6DCM.js.map} +0 -0
  118. /package/build/{esm-QEHFRL6L.js.map → esm-MUZJUC5Q.js.map} +0 -0
  119. /package/build/{render-command-PDPDZKND.js.map → render-command-SBXRR4MG.js.map} +0 -0
@@ -0,0 +1,4 @@
1
+ import { createRequire as _createRequire } from 'node:module';
2
+ const require = _createRequire(import.meta.url);
3
+ import{a}from"./chunk-EVTSTCPY.js";import"./chunk-4VOJ4MBF.js";import"./chunk-QZS4ARDD.js";import"./chunk-FMEEFVFZ.js";import"./chunk-KF76KJSL.js";import"./chunk-TPV6MPZ4.js";import"./chunk-L47BPWKS.js";import"./chunk-QOQRQIMF.js";import"./chunk-56GO226U.js";import"./chunk-QLWXUOAT.js";import"./chunk-LKXDY7ME.js";import"./chunk-6U7WFIFR.js";import"./chunk-PWKG7UKK.js";import"./chunk-RJKCVYVO.js";import"./chunk-I4ARVL5S.js";import"./chunk-V4TR6DCM.js";export{a as PreviewCommand};
4
+ //# sourceMappingURL=PreviewCommand-HDEZ6LT3.js.map
@@ -1,4 +1,4 @@
1
1
  import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
- import{a as T,b as B}from"./chunk-RCDIKBVN.js";import{a as j,b as U}from"./chunk-3L5LQKB7.js";import{b as A}from"./chunk-UQ7NP6NA.js";import"./chunk-TBT2V5T7.js";import"./chunk-PYBYLDJB.js";import{b as I}from"./chunk-QBIV5U5A.js";import{i as F,j as h,k as M}from"./chunk-PE3RXVKE.js";import"./chunk-BKNV2B7T.js";import"./chunk-6R3ZFQVO.js";import{A as s,B as y,d as t,g as S,h as x,i as g,k as P,s as w,t as E,w as C}from"./chunk-6OPLPT2G.js";import{b as _}from"./chunk-O4DV7EH5.js";import{pa as v}from"./chunk-XHPVJXDY.js";import{a as q}from"./chunk-7JJKVPKL.js";import{e as W,h as r}from"./chunk-HFDLXX7R.js";r();r();import l from"react";r();var k=W(q(),1);import c,{createContext as Q,useContext as X}from"react";r();import{preview as z}from"vite";import{useCallback as G,useEffect as H,useRef as J}from"react";function b(){let o=J(),{model:n}=v();return H(()=>()=>{o.current?.httpServer.close()},[]),G(async()=>{let i=await z(await B(n,{type:"build"}));return o.current=i,T(i)},[n])}var K=Q(null),d=({children:o})=>{let{model:n}=v(),{t:i}=y(),V=F(),D=b(),{status:L}=C(async()=>{await U(n.projectFolder);let m=await D(),a=await I(n.projectFolder),O=_(a,m);return{armTag:await V.createAppRelease(O,n.config.projectId),serverUrl:m}},[]);return(0,k.match)(L,{Error:()=>null,Loading:()=>c.createElement(E,{text:i("serve_command.starting_serve_environment")}),Success:({result:{armTag:m,serverUrl:a}})=>c.createElement(K.Provider,{value:{serverUrl:a}},c.createElement(h,{armTag:m},o))})};function f(){let o=X(K);if(o===null)throw new Error("useServeEnvironment() cannot be used without an <ServeEnvironmentProvider>");return o}r();import e from"react";function N(){let{site:o}=M(),{serverUrl:n}=f();return e.createElement(t,{flexDirection:"column"},e.createElement(t,{gap:1},e.createElement(S,{skin:"success"},e.createElement(P,null)),e.createElement(s,{i18nKey:"serve_command.starting_serve_environment_success",components:[e.createElement(w,{url:n})]})),e.createElement(t,{gap:1},e.createElement(x,null),e.createElement(s,{i18nKey:"serve_command.production_build"})),e.createElement(t,{gap:1,paddingTop:1,paddingBottom:1},e.createElement(g,null),e.createElement(s,{i18nKey:"general.dev_site.current",values:{name:o.displayName}})),e.createElement(t,{paddingBottom:1,flexDirection:"column"},e.createElement(j,null)))}var Y=()=>l.createElement(A,null,l.createElement(d,null,l.createElement(N,null)));export{Y as ServeCommand,d as ServeEnvironmentProvider,f as useServeEnvironment};
4
- //# sourceMappingURL=ServeCommand-XTHWLUDT.js.map
3
+ import{a as T,b as B}from"./chunk-POJEX3XJ.js";import{a as j,b as U}from"./chunk-4VOJ4MBF.js";import{b as A}from"./chunk-FMEEFVFZ.js";import"./chunk-KF76KJSL.js";import"./chunk-TPV6MPZ4.js";import{b as I}from"./chunk-QOQRQIMF.js";import{i as F,j as h,k as M}from"./chunk-56GO226U.js";import"./chunk-QLWXUOAT.js";import"./chunk-LKXDY7ME.js";import{B as s,C as y,d as t,g as S,h as x,i as g,k as P,t as w,u as E,x as C}from"./chunk-6U7WFIFR.js";import{b as _}from"./chunk-PWKG7UKK.js";import{sa as v}from"./chunk-RJKCVYVO.js";import{a as q}from"./chunk-I4ARVL5S.js";import{e as W,h as r}from"./chunk-V4TR6DCM.js";r();r();import l from"react";r();var k=W(q(),1);import c,{createContext as Q,useContext as X}from"react";r();import{preview as z}from"vite";import{useCallback as G,useEffect as H,useRef as J}from"react";function b(){let o=J(),{model:n}=v();return H(()=>()=>{o.current?.httpServer.close()},[]),G(async()=>{let i=await z(await B(n,{type:"build"}));return o.current=i,T(i)},[n])}var K=Q(null),d=({children:o})=>{let{model:n}=v(),{t:i}=y(),V=F(),D=b(),{status:L}=C(async()=>{await j(n.projectFolder);let m=await D(),a=await I(n.projectFolder),O=_(a,m);return{armTag:await V.createAppRelease(O,n.config.projectId),serverUrl:m}},[]);return(0,k.match)(L,{Error:()=>null,Loading:()=>c.createElement(E,{text:i("serve_command.starting_serve_environment")}),Success:({result:{armTag:m,serverUrl:a}})=>c.createElement(K.Provider,{value:{serverUrl:a}},c.createElement(h,{armTag:m},o))})};function f(){let o=X(K);if(o===null)throw new Error("useServeEnvironment() cannot be used without an <ServeEnvironmentProvider>");return o}r();import e from"react";function N(){let{site:o}=M(),{serverUrl:n}=f();return e.createElement(t,{flexDirection:"column"},e.createElement(t,{gap:1},e.createElement(S,{skin:"success"},e.createElement(P,null)),e.createElement(s,{i18nKey:"serve_command.starting_serve_environment_success",components:[e.createElement(w,{url:n})]})),e.createElement(t,{gap:1},e.createElement(x,null),e.createElement(s,{i18nKey:"serve_command.production_build"})),e.createElement(t,{gap:1,paddingTop:1,paddingBottom:1},e.createElement(g,null),e.createElement(s,{i18nKey:"general.dev_site.current",values:{name:o.displayName}})),e.createElement(t,{paddingBottom:1,flexDirection:"column"},e.createElement(U,null)))}var Y=()=>l.createElement(A,null,l.createElement(d,null,l.createElement(N,null)));export{Y as ServeCommand,d as ServeEnvironmentProvider,f as useServeEnvironment};
4
+ //# sourceMappingURL=ServeCommand-YRMZVHZN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ServeCommand/index.ts","../src/components/ServeCommand/ServeCommand.tsx","../src/components/ServeCommand/ServeEnvironment.tsx","../src/components/ServeCommand/hooks/usePreviewServer.ts","../src/components/ServeCommand/ServeCommandScreen.tsx"],"sourcesContent":["export { ServeCommand } from './ServeCommand.js';\nexport {\n ServeEnvironmentProvider,\n useServeEnvironment,\n} from './ServeEnvironment.js';\n","import React, { type FC } from 'react';\nimport { SiteIdProvider } from '../../site-id/SiteIdProvider.js';\nimport { ServeEnvironmentProvider } from './ServeEnvironment.js';\nimport { ServeCommandScreen } from './ServeCommandScreen.js';\n\nexport const ServeCommand: FC = () => {\n return (\n <SiteIdProvider>\n <ServeEnvironmentProvider>\n <ServeCommandScreen />\n </ServeEnvironmentProvider>\n </SiteIdProvider>\n );\n};\n","import React, {\n type FC,\n type ReactNode,\n createContext,\n useContext,\n} from 'react';\nimport { match } from 'variant';\nimport { updateAppManifestWithBaseUrl } from '@wix/cli-app-manifest';\nimport { useARMClient } from '@wix/arm-client';\nimport { Spinner, useAsync } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { ArmTagProvider } from '../../context/armTag.js';\nimport { readAppManifestFile } from '../../app-manifest/file.js';\nimport { assertBuildOutputExists } from '../../files/assert-build-output-exists.js';\nimport { usePreviewServer } from './hooks/usePreviewServer.js';\nimport { useProjectModel } from '../../model.js';\n\ntype ServeEnvironment = {\n serverUrl: string;\n};\n\nconst ServeEnvironmentContext = createContext<ServeEnvironment | null>(null);\n\nexport const ServeEnvironmentProvider: FC<{\n children: ReactNode;\n}> = ({ children }) => {\n const { model } = useProjectModel();\n const { t } = useTranslation();\n const arm = useARMClient();\n const createPreviewServer = usePreviewServer();\n\n const { status } = useAsync(async () => {\n await assertBuildOutputExists(model.projectFolder);\n const serverUrl = await createPreviewServer();\n\n const manifest = await readAppManifestFile(model.projectFolder);\n const updatedManifest = updateAppManifestWithBaseUrl(manifest, serverUrl);\n\n const armTag = await arm.createAppRelease(\n updatedManifest,\n model.config.projectId\n );\n\n return { armTag, serverUrl };\n }, []);\n\n return match(status, {\n Error: () => null,\n Loading: () => (\n <Spinner text={t('serve_command.starting_serve_environment')}></Spinner>\n ),\n Success: ({ result: { armTag, serverUrl } }) => (\n <ServeEnvironmentContext.Provider value={{ serverUrl }}>\n <ArmTagProvider armTag={armTag}>{children}</ArmTagProvider>\n </ServeEnvironmentContext.Provider>\n ),\n });\n};\n\nexport function useServeEnvironment(): ServeEnvironment {\n const context = useContext(ServeEnvironmentContext);\n if (context === null) {\n throw new Error(\n 'useServeEnvironment() cannot be used without an <ServeEnvironmentProvider>'\n );\n }\n return context;\n}\n","import { preview, type PreviewServer } from 'vite';\nimport { useCallback, useEffect, useRef } from 'react';\nimport { useProjectModel } from '../../../model.js';\nimport { getClientViteConfig } from '../../../vite/index.js';\nimport { getViteServerUrl } from '../../../vite/vite-server-url.js';\nimport { ConfigType } from '../../../vite/vite-config-options.js';\n\nexport function usePreviewServer() {\n const previewServerRef = useRef<PreviewServer>();\n const { model } = useProjectModel();\n\n useEffect(() => {\n return () => {\n previewServerRef.current?.httpServer.close();\n };\n }, []);\n\n return useCallback(async () => {\n const previewServer = await preview(\n await getClientViteConfig(model, { type: ConfigType.build })\n );\n\n previewServerRef.current = previewServer;\n\n return getViteServerUrl(previewServer);\n }, [model]);\n}\n","import {\n Box,\n InfoIcon,\n Link,\n PointerIcon,\n SuccessIcon,\n Text,\n} from '@wix/cli-ui-kit';\nimport React from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { useSiteId } from '../../site-id/useSiteId.js';\nimport { useServeEnvironment } from './ServeEnvironment.js';\nimport { PlatformViewer } from '../Platform/PlatformViewer.js';\n\nexport function ServeCommandScreen() {\n const { site } = useSiteId();\n const { serverUrl } = useServeEnvironment();\n\n return (\n <Box flexDirection=\"column\">\n <Box gap={1}>\n <Text skin=\"success\">\n <SuccessIcon />\n </Text>\n <Trans\n i18nKey=\"serve_command.starting_serve_environment_success\"\n components={[<Link url={serverUrl} />]}\n />\n </Box>\n <Box gap={1}>\n <InfoIcon />\n <Trans i18nKey=\"serve_command.production_build\" />\n </Box>\n <Box gap={1} paddingTop={1} paddingBottom={1}>\n <PointerIcon />\n <Trans\n i18nKey=\"general.dev_site.current\"\n values={{ name: site.displayName }}\n />\n </Box>\n <Box paddingBottom={1} flexDirection=\"column\">\n <PlatformViewer />\n </Box>\n </Box>\n );\n}\n"],"mappings":"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","names":["init_esm_shims","init_esm_shims","React","init_esm_shims","import_variant","React","createContext","useContext","init_esm_shims","preview","useCallback","useEffect","useRef","usePreviewServer","previewServerRef","useRef","model","useProjectModel","useEffect","useCallback","previewServer","preview","getViteConfig","getViteServerUrl","ServeEnvironmentContext","createContext","ServeEnvironmentProvider","children","model","useProjectModel","t","useTranslation","arm","useARMClient","createPreviewServer","usePreviewServer","status","useAsync","assertBuildOutputExists","serverUrl","manifest","readAppManifestFile","updatedManifest","updateAppManifestWithBaseUrl","React","Spinner","armTag","ArmTagProvider","useServeEnvironment","context","useContext","init_esm_shims","React","ServeCommandScreen","site","useSiteId","serverUrl","useServeEnvironment","React","Box_default","Text","SuccessIcon","Trans","Link","InfoIcon","PointerIcon","PlatformViewer","ServeCommand","React","SiteIdProvider","ServeEnvironmentProvider","ServeCommandScreen"]}
@@ -0,0 +1,4 @@
1
+ import { createRequire as _createRequire } from 'node:module';
2
+ const require = _createRequire(import.meta.url);
3
+ import{a as c,b as a,c as d}from"./chunk-LINHFSVS.js";import{b as p}from"./chunk-POJEX3XJ.js";import{a as m}from"./chunk-QOQRQIMF.js";import"./chunk-PWKG7UKK.js";import{qa as n}from"./chunk-RJKCVYVO.js";import{c as t,d as e}from"./chunk-I4ARVL5S.js";import{h as r}from"./chunk-V4TR6DCM.js";r();import{cwd as s}from"node:process";import{build as u}from"vite";async function A(){let o=await n(s());if(o.components.length===0)throw new t({code:e.NoExtensionsFound()});c(o.components);let l=await u(await p(o,{type:"build"})).catch(i=>{throw new t({code:e.FailedToBuildApp({cause:i}),cause:i})}),f=await a({appId:o.config.appId,components:o.components,sentryDSN:o.config.sentryDSN,componentSourceBuilder:d({model:o,buildOutput:l})});await m({projectFolder:o.projectFolder,manifest:f})}export{A as build};
4
+ //# sourceMappingURL=build-FJMITZHU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/build.ts"],"sourcesContent":["import { cwd } from 'node:process';\nimport { build as viteBuild } from 'vite';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { loadProjectModel } from './model.js';\nimport { getClientViteConfig } from './vite/index.js';\nimport { writeAppManifestFile } from './app-manifest/file.js';\nimport { createAppManifest } from './app-manifest/create.js';\nimport { getComponentSourceBuilder } from './app-manifest/component-source.js';\nimport { ConfigType } from './vite/vite-config-options.js';\nimport { validateComponents } from './app-manifest/validate.js';\n\nexport async function build() {\n const projectModel = await loadProjectModel(cwd());\n\n // Validate before building the project, to fail fast in case of a validation issue\n if (projectModel.components.length === 0) {\n throw new CliError({\n code: CliErrorCode.NoExtensionsFound(),\n });\n }\n validateComponents(projectModel.components);\n const clientBuildOutput = await viteBuild(\n await getClientViteConfig(projectModel, { type: ConfigType.build })\n ).catch((e) => {\n throw new CliError({\n code: CliErrorCode.FailedToBuildApp({ cause: e }),\n cause: e,\n });\n });\n\n const manifest = await createAppManifest({\n appId: projectModel.config.appId,\n components: projectModel.components,\n sentryDSN: projectModel.config.sentryDSN,\n componentSourceBuilder: getComponentSourceBuilder({\n model: projectModel,\n buildOutput: clientBuildOutput,\n }),\n });\n\n await writeAppManifestFile({\n projectFolder: projectModel.projectFolder,\n manifest,\n });\n}\n"],"mappings":";;kSAAAA,IAAA,OAAS,OAAAC,MAAW,eACpB,OAAS,SAASC,MAAiB,OAUnC,eAAsBC,GAAQ,CAC5B,IAAMC,EAAe,MAAMC,EAAiBC,EAAI,CAAC,EAGjD,GAAIF,EAAa,WAAW,SAAW,EACrC,MAAM,IAAIG,EAAS,CACjB,KAAMC,EAAa,kBAAkB,CACvC,CAAC,EAEHC,EAAmBL,EAAa,UAAU,EAC1C,IAAMM,EAAoB,MAAMC,EAC9B,MAAMC,EAAoBR,EAAc,CAAE,YAAuB,CAAC,CACpE,EAAE,MAAOS,GAAM,CACb,MAAM,IAAIN,EAAS,CACjB,KAAMC,EAAa,iBAAiB,CAAE,MAAOK,CAAE,CAAC,EAChD,MAAOA,CACT,CAAC,CACH,CAAC,EAEKC,EAAW,MAAMC,EAAkB,CACvC,MAAOX,EAAa,OAAO,MAC3B,WAAYA,EAAa,WACzB,UAAWA,EAAa,OAAO,UAC/B,uBAAwBY,EAA0B,CAChD,MAAOZ,EACP,YAAaM,CACf,CAAC,CACH,CAAC,EAED,MAAMO,EAAqB,CACzB,cAAeb,EAAa,cAC5B,SAAAU,CACF,CAAC,CACH","names":["init_esm_shims","cwd","viteBuild","build","projectModel","loadProjectModel","cwd","CliError","CliErrorCode","validateComponents","clientBuildOutput","viteBuild","getViteConfig","e","manifest","createAppManifest","getComponentSourceBuilder","writeAppManifestFile"]}
@@ -0,0 +1,4 @@
1
+ import { createRequire as _createRequire } from 'node:module';
2
+ const require = _createRequire(import.meta.url);
3
+ import{c as v}from"./chunk-FMEEFVFZ.js";import{b as y}from"./chunk-KF76KJSL.js";import{l as C,m as L,n as u}from"./chunk-56GO226U.js";import{B as p,C as B,d as i,g as h,j as f,t as b}from"./chunk-6U7WFIFR.js";import{H as w,K as E,M as t,f as m}from"./chunk-RJKCVYVO.js";import{c as g,d as P}from"./chunk-I4ARVL5S.js";import{h as s}from"./chunk-V4TR6DCM.js";s();async function U(o){let e=w(o),n=E(o);if(!await m(e)||!await m(n))throw new g({code:P.BuiltProjectNeeded()})}s();import r from"react";var a=({url:o,label:e,withPointer:n=!0})=>r.createElement(i,null,r.createElement(i,{marginRight:1},n&&r.createElement(f,null),r.createElement(i,{marginLeft:1},r.createElement(b,{url:o},e)))),q=()=>{let{t:o}=B(),{isPlatformExists:e,hasSinglePlatform:n}=v(),{dashboardExtensions:d}=y(),l=C(),x=k=>L({envConfig:l,platformType:k});return r.createElement(r.Fragment,null,n(t.Dashboard())?r.createElement(i,{flexDirection:"row"},r.createElement(p,{i18nKey:"general.open_preview.title_single"}),r.createElement(a,{withPointer:!1,url:u({envConfig:l,extension:d[0]}),label:o("general.platform.dashboard")})):r.createElement(i,{flexDirection:"column"},r.createElement(p,{i18nKey:"general.open_preview.title_multiple"}),r.createElement(i,{paddingLeft:2,flexDirection:"column"},e(t.Site())&&(l.site.viewUrl?r.createElement(a,{url:x(t.Site()),label:o("general.platform.site")}):r.createElement(i,{marginRight:1},r.createElement(f,null),r.createElement(i,{marginLeft:1},r.createElement(h,{skin:"secondary",underline:!0},o("general.platform.unpublished_site"))))),e(t.Editor())&&r.createElement(a,{url:x(t.Editor()),label:o("general.platform.editor")}),e(t.Dashboard())&&r.createElement(a,{url:u({envConfig:l,extension:d[0]}),label:o("general.platform.dashboard")}))))};export{U as a,q as b};
4
+ //# sourceMappingURL=chunk-4VOJ4MBF.js.map
@@ -0,0 +1 @@
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\ntype 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":";;qWAAAA,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,OAAOC,MAAwB,QAkBxB,IAAMC,EAAsC,CAAC,CAClD,IAAAC,EACA,MAAAC,EACA,YAAAC,EAAc,EAChB,IAEIC,EAAA,cAACC,EAAA,KACCD,EAAA,cAACC,EAAA,CAAI,YAAa,GACfF,GAAeC,EAAA,cAACE,EAAA,IAAiB,EAClCF,EAAA,cAACC,EAAA,CAAI,WAAY,GACfD,EAAA,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,OACEf,EAAA,cAAAA,EAAA,cACGQ,EAAkBS,EAAa,UAAU,CAAC,EACzCjB,EAAA,cAACC,EAAA,CAAI,cAAc,OACjBD,EAAA,cAACkB,EAAA,CAAM,QAAQ,oCAAoC,EACnDlB,EAAA,cAACJ,EAAA,CACC,YAAa,GACb,IAAKuB,EAA6B,CAChC,UAAAP,EACA,UAAWF,EAAoB,CAAC,CAClC,CAAC,EACD,MAAOL,EAAE,4BAA4B,EACvC,CACF,EAEAL,EAAA,cAACC,EAAA,CAAI,cAAc,UACjBD,EAAA,cAACkB,EAAA,CAAM,QAAQ,sCAAsC,EACrDlB,EAAA,cAACC,EAAA,CAAI,YAAa,EAAG,cAAc,UAChCM,EAAiBU,EAAa,KAAK,CAAC,IAClCL,EAAU,KAAK,QACdZ,EAAA,cAACJ,EAAA,CACC,IAAKkB,EAAeG,EAAa,KAAK,CAAC,EACvC,MAAOZ,EAAE,uBAAuB,EAClC,EAEAL,EAAA,cAACC,EAAA,CAAI,YAAa,GAChBD,EAAA,cAACE,EAAA,IAAiB,EAClBF,EAAA,cAACC,EAAA,CAAI,WAAY,GACfD,EAAA,cAACoB,EAAA,CAAK,KAAK,YAAY,UAAS,IAC7Bf,EAAE,mCAAmC,CACxC,CACF,CACF,GAEHE,EAAiBU,EAAa,OAAO,CAAC,GACrCjB,EAAA,cAACJ,EAAA,CACC,IAAKkB,EAAeG,EAAa,OAAO,CAAC,EACzC,MAAOZ,EAAE,yBAAyB,EACpC,EAEDE,EAAiBU,EAAa,UAAU,CAAC,GACxCjB,EAAA,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","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"]}
@@ -1,4 +1,4 @@
1
1
  import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
- import{a as C}from"./chunk-BKNV2B7T.js";import{a as g,b as R,d as l,g as O,r as W}from"./chunk-6R3ZFQVO.js";import{A as V,e as U,g as j,q as z,s as H}from"./chunk-6OPLPT2G.js";import{G as D,J as $,d as E,e as M,f as J,pa as k}from"./chunk-XHPVJXDY.js";import{a as q,c as u,d as v,h as m,i as x}from"./chunk-7JJKVPKL.js";import{e as T,h as a}from"./chunk-HFDLXX7R.js";a();a();var ae={},oe={};var ie={},pe={},ne={},me={};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:""}],"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"}],"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"}]};return R(Object.assign(t,{domainToMappings:e}))}function Q(t){var e=l(ae,{}),r=e.toJSON,s=e.fromJSON,i=l(oe,{}).fromJSON;function o(d){var f=d.host,c=r(t),h={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:f}),data:c,transformResponse:i};return h}return o.fromReq=s,o.__isAmbassador=!0,o}function G(t){var e=l(ne,{}),r=e.toJSON,s=e.fromJSON,i=l(me,{}).fromJSON;function o(d){var f=d.host,c=r(t),h={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:f}),data:c,transformResponse:i};return h}return o.fromReq=s,o.__isAmbassador=!0,o}function B(t){var e=l(ie,{}),r=e.toJSON,s=e.fromJSON,i=l(pe,{}).fromJSON;function o(d){var f=d.host,c=r(t),h={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:f}),data:c,transformResponse:i};return h}return o.fromReq=s,o.__isAmbassador=!0,o}var P=T(q(),1);a();var K=m.object({newVersion:m.string()}),X=m.object({tag:m.string()});var{AppPermissionDenied:Y}=v,Z=(0,P.variant)({TagUpdated:{},TagNotFound:(0,P.fields)()}),S=class{constructor(e){this.httpClient=e;let{minRetryTimeout:r}=x();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;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 X.parse(s).tag}catch(s){throw O(s)&&s.response?.status===403?new u({code:Y({appId:e.appId}),cause:s}):new u({code:v.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(O(s)){if(s.response?.status===404)return Z.TagNotFound({cause:s});if(s.response?.status===403)throw new u({code:Y({appId:e.appId}),cause:s})}throw new u({code:v.FailedToUpdateAppRelease(),cause:s})}};promoteToDevCenter=async(e,r,s)=>{let{data:i}=await g(()=>this.httpClient.request(B({appId:e,tag:r,versionType:s})),this.retryOptions);return K.parse(i)}};a();import{useMemo as ce}from"react";function de(){let t=C({type:"backoffice"});return ce(()=>new S(t),[t])}a();a();import le,{useContext as ue,createContext as fe}from"react";var ee=fe(null),Be=({children:t,armTag:e})=>le.createElement(ee.Provider,{value:{armTag:e}},t),te=()=>{let t=ue(ee);if(t===null)throw new Error("useArmTag() cannot be used without an <ArmTagProvider>");return t};a();a();var he={},ge={sites:"_site"},ve={createdDate:"google.protobuf.Timestamp",updatedDate:"google.protobuf.Timestamp",trashedDate:"google.protobuf.Timestamp"};function Se(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 R(Object.assign(t,{domainToMappings:e}))}function N(t){var e=l(he,{}),r=e.toJSON,s=e.fromJSON,i=l(ge,{_site:ve}).fromJSON;function o(d){var f=d.host,c=r(t),h={entityFqdn:"wix.site_list.v2.site",method:"POST",methodFqn:"com.wixpress.sitelist.api.SiteListServiceV2.QuerySites",url:Se({protoPath:"/v2/sites/query",data:c,host:f}),data:c,transformResponse:i};return h}return o.fromReq=s,o.__isAmbassador=!0,o}a();var _e=m.object({id:m.string(),displayName:m.string(),viewUrl:m.union([m.string().url(),m.literal("")]).optional()}),F=m.object({sites:m.array(_e)});var _=class{constructor(e){this.httpClient=e;let{minRetryTimeout:r}=x();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;querySites=async(e={})=>{try{let{data:r}=await g(()=>this.httpClient.request(N(e)),this.retryOptions);return F.parse(r).sites}catch(r){throw new u({code:v.FailedToQuerySites(),cause:r,info:{...e}})}};getSite=async e=>{try{let{data:r}=await g(()=>this.httpClient.request(N({query:{filter:{id:{$in:[e]}}}})),this.retryOptions),{sites:s}=F.parse(r);return s.at(0)??null}catch(r){throw new u({code:v.FailedToGetSite(),cause:r,info:{id:e}})}}};a();import{useMemo as ye}from"react";function we(){let t=C({type:"backoffice"});return ye(()=>new _(t),[t])}a();a();async function L(t,e){let r=D(t);if(!await J(r))return null;try{let i=await M(r),o=await $.safeParseAsync(i);return o.success?o.data:null}catch(i){return e?.(i),null}}async function xt(t,e){let s={...await L(t)??{},...e};await E(D(t),s)}a();import{createContext as Re}from"react";var re=Re(null);a();var y=T(q(),1),A=(0,y.variant)({NotConfigured:{},NotFound:(0,y.fields)(),Resolved:(0,y.fields)()});a();async function Nt({projectFolder:t,siteListClient:{getSite:e},siteId:r,writeDebugLog:s}){let i=r||(await L(t,s))?.siteId;if(!i)return A.NotConfigured();let o=await e(i);return o?A.Resolved({site:o}):A.NotFound({id:i})}a();import{useContext as xe}from"react";function se(){let t=xe(re);if(t===null)throw new Error("useSiteId() cannot be used without an <SiteIdProvider>");return t}a();import w from"react";var b=T(q(),1);function Qt(){let{model:t}=k(),{site:e}=se(),{armTag:r}=te();return{appId:t.config.appId,site:e,tag:r}}function Gt({envConfig:t,platformType:e,siteOverrideId:r}){let{site:s,tag:i}=t,o=(0,b.match)(e,{Dashboard:()=>new URL(`dashboard/${s.id}`,"https://manage.wix.com/"),Editor:()=>new URL(`https://wix.com/editor/${s.id}`),Site:()=>{let d=new URL(s.viewUrl);return r&&d.searchParams.append("site-override",r),d}});return o.searchParams.append("apps-override",i),o.toString()}function Bt({envConfig:t,extension:e}){let{appId:r,site:s,tag:i}=t,o=(0,b.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 W(t)}catch{r({type:"error",prefix:"app",msg:w.createElement(z,{type:"error"},w.createElement(V,{i18nKey:"general.open_page_error",components:[w.createElement(j,{bold:!0})],values:{title:e}}),w.createElement(U,null),w.createElement(H,{url:t}))})}};export{_ as a,we as b,L as c,xt as d,re as e,A as f,Nt as g,S as h,de as i,Be as j,se as k,Qt as l,Gt as m,Bt as n,Kt as o};
4
- //# sourceMappingURL=chunk-PE3RXVKE.js.map
3
+ import{a as C}from"./chunk-QLWXUOAT.js";import{a as g,b as R,d as l,f as O,r as W}from"./chunk-LKXDY7ME.js";import{B as V,e as U,g as j,r as z,t as H}from"./chunk-6U7WFIFR.js";import{I as D,L as $,d as E,e as M,f as J,sa as k}from"./chunk-RJKCVYVO.js";import{a as q,c as u,d as v,h as m,i as x}from"./chunk-I4ARVL5S.js";import{e as T,h as a}from"./chunk-V4TR6DCM.js";a();a();var ae={},oe={};var ie={},pe={},ne={},me={};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:""}],"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"}],"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"}]};return R(Object.assign(t,{domainToMappings:e}))}function Q(t){var e=l(ae,{}),r=e.toJSON,s=e.fromJSON,i=l(oe,{}).fromJSON;function o(d){var f=d.host,c=r(t),h={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:f}),data:c,transformResponse:i};return h}return o.fromReq=s,o.__isAmbassador=!0,o}function G(t){var e=l(ne,{}),r=e.toJSON,s=e.fromJSON,i=l(me,{}).fromJSON;function o(d){var f=d.host,c=r(t),h={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:f}),data:c,transformResponse:i};return h}return o.fromReq=s,o.__isAmbassador=!0,o}function B(t){var e=l(ie,{}),r=e.toJSON,s=e.fromJSON,i=l(pe,{}).fromJSON;function o(d){var f=d.host,c=r(t),h={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:f}),data:c,transformResponse:i};return h}return o.fromReq=s,o.__isAmbassador=!0,o}var P=T(q(),1);a();var K=m.object({newVersion:m.string()}),X=m.object({tag:m.string()});var{AppPermissionDenied:Y}=v,Z=(0,P.variant)({TagUpdated:{},TagNotFound:(0,P.fields)()}),S=class{constructor(e){this.httpClient=e;let{minRetryTimeout:r}=x();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;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 X.parse(s).tag}catch(s){throw O(s)&&s.response?.status===403?new u({code:Y({appId:e.appId}),cause:s}):new u({code:v.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(O(s)){if(s.response?.status===404)return Z.TagNotFound({cause:s});if(s.response?.status===403)throw new u({code:Y({appId:e.appId}),cause:s})}throw new u({code:v.FailedToUpdateAppRelease(),cause:s})}};promoteToDevCenter=async(e,r,s)=>{let{data:i}=await g(()=>this.httpClient.request(B({appId:e,tag:r,versionType:s})),this.retryOptions);return K.parse(i)}};a();import{useMemo as ce}from"react";function de(){let t=C({type:"backoffice"});return ce(()=>new S(t),[t])}a();a();import le,{useContext as ue,createContext as fe}from"react";var ee=fe(null),Be=({children:t,armTag:e})=>le.createElement(ee.Provider,{value:{armTag:e}},t),te=()=>{let t=ue(ee);if(t===null)throw new Error("useArmTag() cannot be used without an <ArmTagProvider>");return t};a();a();var he={},ge={sites:"_site"},ve={createdDate:"google.protobuf.Timestamp",updatedDate:"google.protobuf.Timestamp",trashedDate:"google.protobuf.Timestamp"};function Se(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 R(Object.assign(t,{domainToMappings:e}))}function N(t){var e=l(he,{}),r=e.toJSON,s=e.fromJSON,i=l(ge,{_site:ve}).fromJSON;function o(d){var f=d.host,c=r(t),h={entityFqdn:"wix.site_list.v2.site",method:"POST",methodFqn:"com.wixpress.sitelist.api.SiteListServiceV2.QuerySites",url:Se({protoPath:"/v2/sites/query",data:c,host:f}),data:c,transformResponse:i};return h}return o.fromReq=s,o.__isAmbassador=!0,o}a();var _e=m.object({id:m.string(),displayName:m.string(),viewUrl:m.union([m.string().url(),m.literal("")]).optional()}),F=m.object({sites:m.array(_e)});var _=class{constructor(e){this.httpClient=e;let{minRetryTimeout:r}=x();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;querySites=async(e={})=>{try{let{data:r}=await g(()=>this.httpClient.request(N(e)),this.retryOptions);return F.parse(r).sites}catch(r){throw new u({code:v.FailedToQuerySites(),cause:r,info:{...e}})}};getSite=async e=>{try{let{data:r}=await g(()=>this.httpClient.request(N({query:{filter:{id:{$in:[e]}}}})),this.retryOptions),{sites:s}=F.parse(r);return s.at(0)??null}catch(r){throw new u({code:v.FailedToGetSite(),cause:r,info:{id:e}})}}};a();import{useMemo as ye}from"react";function we(){let t=C({type:"backoffice"});return ye(()=>new _(t),[t])}a();a();async function L(t,e){let r=D(t);if(!await J(r))return null;try{let i=await M(r),o=await $.safeParseAsync(i);return o.success?o.data:null}catch(i){return e?.(i),null}}async function xt(t,e){let s={...await L(t)??{},...e};await E(D(t),s)}a();import{createContext as Re}from"react";var re=Re(null);a();var y=T(q(),1),A=(0,y.variant)({NotConfigured:{},NotFound:(0,y.fields)(),Resolved:(0,y.fields)()});a();async function Nt({projectFolder:t,siteListClient:{getSite:e},siteId:r,writeDebugLog:s}){let i=r||(await L(t,s))?.siteId;if(!i)return A.NotConfigured();let o=await e(i);return o?A.Resolved({site:o}):A.NotFound({id:i})}a();import{useContext as xe}from"react";function se(){let t=xe(re);if(t===null)throw new Error("useSiteId() cannot be used without an <SiteIdProvider>");return t}a();import w from"react";var b=T(q(),1);function Qt(){let{model:t}=k(),{site:e}=se(),{armTag:r}=te();return{appId:t.config.appId,site:e,tag:r}}function Gt({envConfig:t,platformType:e,siteOverrideId:r}){let{site:s,tag:i}=t,o=(0,b.match)(e,{Dashboard:()=>new URL(`dashboard/${s.id}`,"https://manage.wix.com/"),Editor:()=>new URL(`https://wix.com/editor/${s.id}`),Site:()=>{let d=new URL(s.viewUrl);return r&&d.searchParams.append("site-override",r),d}});return o.searchParams.append("apps-override",i),o.toString()}function Bt({envConfig:t,extension:e}){let{appId:r,site:s,tag:i}=t,o=(0,b.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 W(t)}catch{r({type:"error",prefix:"app",msg:w.createElement(z,{type:"error"},w.createElement(V,{i18nKey:"general.open_page_error",components:[w.createElement(j,{bold:!0})],values:{title:e}}),w.createElement(U,null),w.createElement(H,{url:t}))})}};export{_ as a,we as b,L as c,xt as d,re as e,A as f,Nt as g,S as h,de as i,Be as j,se as k,Qt as l,Gt as m,Bt as n,Kt as o};
4
+ //# sourceMappingURL=chunk-56GO226U.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../arm-client/src/client.ts","../../../node_modules/@wix/ambassador-ctp-gradual-rollout-v1-app-config/http.impl.ts","../../arm-client/src/schemas.ts","../../arm-client/src/useARMClient.ts","../../arm-client/src/index.ts","../src/context/armTag.tsx","../../site-list-client/src/site-list-client.ts","../../../node_modules/@wix/ambassador-site-list-v2-site/http.impl.ts","../../site-list-client/src/schemas.ts","../../site-list-client/src/useSiteListClient.ts","../../site-list-client/src/index.ts","../src/files/app.config.ts","../src/site-id/context.ts","../src/site-id/site-id-state.ts","../src/site-id/resolve-configured-site.ts","../src/site-id/useSiteId.ts","../src/components/extensions/utils.tsx"],"sourcesContent":["import type { HttpClient, HttpError } from '@wix/cli-http-client';\nimport type { AppManifest } from '@wix/cli-app-manifest';\nimport type { Options } from 'p-retry';\nimport type { VersionType } from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\nimport {\n createAppRelease,\n promoteAppReleaseToDevCenter,\n updateAppRelease,\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 createAppRelease = async (manifest: AppManifest, projectId: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createAppRelease({\n appId: manifest.appId,\n componentConfigs: manifest.components,\n projectId,\n })\n ),\n this.retryOptions\n );\n\n return createAppReleaseSchema.parse(data).tag;\n } catch (e) {\n if (isHttpError(e) && e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId: manifest.appId }),\n cause: e,\n });\n }\n throw new CliError({\n code: CliErrorCode.FailedToCreateAppRelease(),\n cause: e,\n });\n }\n };\n\n updateAppRelease = async (manifest: AppManifest, tag: string) => {\n try {\n await pRetry(\n () =>\n this.httpClient.request(\n updateAppRelease({\n appId: manifest.appId,\n componentConfigs: manifest.components,\n tag,\n })\n ),\n this.retryOptions\n );\n\n return UpdateAppReleaseData.TagUpdated();\n } catch (e) {\n if (isHttpError(e)) {\n if (e.response?.status === 404) {\n return UpdateAppReleaseData.TagNotFound({ cause: e });\n }\n if (e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId: manifest.appId }),\n cause: e,\n });\n }\n }\n throw new CliError({\n code: CliErrorCode.FailedToUpdateAppRelease(),\n cause: e,\n });\n }\n };\n\n promoteToDevCenter = async (\n appId: string,\n tag: string,\n versionType: VersionType\n ) => {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n promoteAppReleaseToDevCenter({ appId, tag, versionType })\n ),\n this.retryOptions\n );\n\n return promoteAppReleaseSchema.parse(data);\n };\n}\n",null,"import { z } from 'zod';\n\nexport const promoteAppReleaseSchema = z.object({\n newVersion: z.string(),\n});\n\nexport const createAppReleaseSchema = z.object({\n tag: z.string(),\n});\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { ARMClient } from './client.js';\n\nexport function useARMClient(): ARMClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new ARMClient(httpClient), [httpClient]);\n}\n","export { ARMClient } from './client.js';\nexport { useARMClient } from './useARMClient.js';\n","import React, {\n useContext,\n createContext,\n type FC,\n type ReactNode,\n} from 'react';\n\ntype ArmTag = {\n armTag: string;\n};\n\nexport const ArmTagContext = createContext<ArmTag | null>(null);\n\nexport const ArmTagProvider: FC<{ children: ReactNode; armTag: string }> = ({\n children,\n armTag,\n}) => {\n return (\n <ArmTagContext.Provider value={{ armTag }}>\n {children}\n </ArmTagContext.Provider>\n );\n};\n\nexport const useArmTag = () => {\n const context = useContext(ArmTagContext);\n\n if (context === null) {\n throw new Error('useArmTag() cannot be used without an <ArmTagProvider>');\n }\n\n return context;\n};\n","import pRetry from 'p-retry';\nimport type { Options } from 'p-retry';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { QuerySitesRequest } from '@wix/ambassador-site-list-v2-site/types';\nimport { querySites } from '@wix/ambassador-site-list-v2-site/http';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { querySitesSchema } from './schemas.js';\n\nexport class SiteListClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n querySites = async (opts: QuerySitesRequest = {}) => {\n try {\n const { data } = await pRetry(\n () => this.httpClient.request(querySites(opts)),\n this.retryOptions\n );\n\n return querySitesSchema.parse(data).sites;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToQuerySites(),\n cause: e,\n info: { ...opts },\n });\n }\n };\n\n getSite = async (id: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n querySites({ query: { filter: { id: { $in: [id] } } } })\n ),\n this.retryOptions\n );\n\n const { sites } = querySitesSchema.parse(data);\n return sites.at(0) ?? null;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSite(),\n cause: e,\n info: { id },\n });\n }\n };\n}\n",null,"import { z } from 'zod';\n\nexport const siteSchema = z.object({\n id: z.string(),\n displayName: z.string(),\n viewUrl: z.union([z.string().url(), z.literal('')]).optional(),\n});\n\nexport const querySitesSchema = z.object({\n sites: z.array(siteSchema),\n});\n\nexport type Site = z.TypeOf<typeof siteSchema>;\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { SiteListClient } from './site-list-client.js';\n\nexport function useSiteListClient(): SiteListClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new SiteListClient(httpClient), [httpClient]);\n}\n","export { SiteListClient } from './site-list-client.js';\nexport type { Site } from './schemas.js';\nexport { useSiteListClient } from './useSiteListClient.js';\n","import type { WriteDebugLogFn } from '@wix/cli-debug-log';\nimport { pathExists, readJson, writeJson } from '@wix/cli-fs';\nimport {\n type AppConfig,\n getAppConfigPath,\n appConfigSchema,\n} from '@wix/cli-app-definitions';\n\nexport async function readAppConfig(\n projectFolder: string,\n writeDebugLog?: WriteDebugLogFn\n) {\n const configPath = getAppConfigPath(projectFolder);\n const isConfigExist = await pathExists(configPath);\n\n if (!isConfigExist) {\n return null;\n }\n\n try {\n const json = await readJson(configPath);\n const appConfig = await appConfigSchema.safeParseAsync(json);\n\n if (!appConfig.success) {\n return null;\n }\n\n return appConfig.data;\n } catch (e) {\n writeDebugLog?.(e);\n return null;\n }\n}\n\nexport async function saveAppConfig(projectFolder: string, config: AppConfig) {\n const currentConfig = (await readAppConfig(projectFolder)) ?? {};\n const newConfig = {\n ...currentConfig,\n ...config,\n };\n\n await writeJson(getAppConfigPath(projectFolder), newConfig);\n}\n","import { createContext } from 'react';\nimport type { Site } from '@wix/site-list-client';\n\nexport type SiteIdState = {\n site: Site;\n setSite: (site: Site) => Promise<void>;\n};\n\nexport const SiteIdContext = createContext<SiteIdState | null>(null);\n","import { variant, fields, type VariantOf, type TypeNames } from 'variant';\nimport { type Site } from '@wix/site-list-client';\n\nexport const SiteIdState = variant({\n NotConfigured: {},\n NotFound: fields<{ id: string }>(),\n Resolved: fields<{ site: Site }>(),\n});\n\nexport type SiteIdState<T extends TypeNames<typeof SiteIdState> = undefined> =\n VariantOf<typeof SiteIdState, T>;\n","import type { SiteListClient } from '@wix/site-list-client';\nimport type { WriteDebugLogFn } from '@wix/cli-debug-log';\nimport { readAppConfig } from '../files/app.config.js';\nimport { SiteIdState } from './site-id-state.js';\n\nexport async function resolveConfiguredSite({\n projectFolder,\n siteListClient: { getSite },\n siteId,\n writeDebugLog,\n}: {\n projectFolder: string;\n siteListClient: SiteListClient;\n siteId?: string;\n writeDebugLog?: WriteDebugLogFn;\n}) {\n const resolvedSiteId = !siteId\n ? (await readAppConfig(projectFolder, writeDebugLog))?.siteId\n : siteId;\n\n if (!resolvedSiteId) {\n return SiteIdState.NotConfigured();\n }\n\n const site = await getSite(resolvedSiteId);\n\n if (!site) {\n return SiteIdState.NotFound({ id: resolvedSiteId });\n }\n\n return SiteIdState.Resolved({ site });\n}\n","import { useContext } from 'react';\nimport { SiteIdContext, type SiteIdState } from './context.js';\n\nexport function useSiteId(): SiteIdState {\n const context = useContext(SiteIdContext);\n if (context === null) {\n throw new Error('useSiteId() cannot be used without an <SiteIdProvider>');\n }\n return context;\n}\n","import React from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { matcher, match } from 'variant';\nimport { openBrowser } from '@wix/user-browser';\nimport type { Site } from '@wix/site-list-client';\nimport { Alert, Link, Text, Newline } from '@wix/cli-ui-kit';\nimport type { PlatformType } from '@wix/cli-app-definitions';\nimport type { WriteLogFn } from '../DevCommand/devEnvLogs/useDevEnvLogs.js';\nimport { useProjectModel } from '../../model.js';\nimport { useSiteId } from '../../site-id/useSiteId.js';\nimport { useArmTag } from '../../context/armTag.js';\nimport type { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\nimport type { DashboardExtension } from './useExtensions.js';\n\nexport type EnvConfig = {\n site: Site;\n appId: string;\n tag: string;\n};\n\nexport function useEnvConfig(): EnvConfig {\n const { model } = useProjectModel();\n const { site } = useSiteId();\n const { armTag } = useArmTag();\n\n return {\n appId: model.config.appId,\n site,\n tag: armTag,\n };\n}\n\nexport function resolvePlatformUrl({\n envConfig,\n platformType,\n siteOverrideId,\n}: {\n envConfig: EnvConfig;\n platformType: PlatformType;\n siteOverrideId?: string;\n}) {\n const { site, tag } = envConfig;\n\n const url = match(platformType, {\n Dashboard: () => new URL(`dashboard/${site.id}`, 'https://manage.wix.com/'),\n Editor: () => 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 url.toString();\n}\n\nexport function resolveDashboardExtensionUrl({\n envConfig,\n extension,\n}: {\n envConfig: EnvConfig;\n extension: DevCenterComponent<DashboardExtension>;\n}) {\n const { appId, site, tag } = envConfig;\n\n const url = matcher(extension)\n .with({\n DashboardPage: () =>\n new URL(\n `dashboard/${site.id}/app/${appId}${extension.route}`,\n 'https://manage.wix.com/'\n ),\n })\n .when(\n ['DashboardMenuPlugin', 'DashboardPlugin', 'DashboardModal'],\n () =>\n new URL(\n `dashboard/${site.id}${extension.route}`,\n 'https://manage.wix.com/'\n )\n )\n .complete();\n\n url.searchParams.append('apps-override', tag);\n\n return url.toString();\n}\n\nexport const openPage = async (\n { url, title }: { url: string; title: string },\n writeLog: WriteLogFn\n) => {\n try {\n await openBrowser(url);\n } catch (error) {\n writeLog({\n type: 'error',\n prefix: 'app',\n msg: (\n <Alert type=\"error\">\n <Trans\n i18nKey=\"general.open_page_error\"\n components={[<Text bold />]}\n values={{ title }}\n />\n <Newline />\n <Link url={url} />\n </Alert>\n ),\n });\n }\n};\n"],"mappings":"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","names":["init_esm_shims","init_esm_shims","_createAppReleaseRequest","_createAppReleaseResponse","_promoteAppReleaseToDevCenterRequest","_promoteAppReleaseToDevCenterResponse","_updateAppReleaseRequest","_updateAppReleaseResponse","resolveComWixCtpAppsReleaseManagerServiceUrl","opts","domainToMappings","resolveUrl","createAppRelease","payload","_a","serializer","_createAppReleaseRequest","toReq","fromReq","fromRes","_createAppReleaseResponse","__createAppRelease","host","serializedData","metadata","updateAppRelease","__updateAppRelease","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","manifest","projectId","data","pRetry","createAppRelease","createAppReleaseSchema","e","isHttpError","CliError","tag","updateAppRelease","appId","versionType","promoteAppReleaseToDevCenter","promoteAppReleaseSchema","init_esm_shims","useMemo","useARMClient","httpClient","useHttpClient","useMemo","ARMClient","init_esm_shims","init_esm_shims","React","useContext","createContext","ArmTagContext","ArmTagProvider","children","armTag","useArmTag","context","init_esm_shims","init_esm_shims","_querySitesRequest","_querySitesResponse","_site","resolveComWixpressSitelistApiSiteListServiceV2Url","opts","domainToMappings","resolveUrl","querySites","payload","_a","serializer","toReq","fromReq","fromRes","__querySites","host","serializedData","metadata","init_esm_shims","siteSchema","z","querySitesSchema","SiteListClient","httpClient","minRetryTimeout","getTestOverrides","opts","data","pRetry","querySites","querySitesSchema","e","CliError","CliErrorCode","id","sites","init_esm_shims","useMemo","useSiteListClient","httpClient","useHttpClient","useMemo","SiteListClient","init_esm_shims","init_esm_shims","readAppConfig","projectFolder","writeDebugLog","configPath","getAppConfigPath","pathExists","json","readJson","appConfig","appConfigSchema","e","saveAppConfig","config","newConfig","writeJson","init_esm_shims","createContext","SiteIdContext","init_esm_shims","import_variant","SiteIdState","init_esm_shims","resolveConfiguredSite","projectFolder","getSite","siteId","writeDebugLog","resolvedSiteId","readAppConfig","SiteIdState","site","init_esm_shims","useContext","useSiteId","context","useContext","SiteIdContext","init_esm_shims","React","import_variant","useEnvConfig","model","useProjectModel","site","useSiteId","armTag","useArmTag","resolvePlatformUrl","envConfig","platformType","siteOverrideId","tag","url","siteUrl","resolveDashboardExtensionUrl","extension","appId","openPage","title","writeLog","openBrowser","React","Alert","Trans","Text","Newline","Link"]}