@wix/cli-app 1.1.18 → 1.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/CreateVersionCommand-SW4ZOQ6N.js +4 -0
- package/build/{CreateVersionCommand-CHX2UWME.js.map → CreateVersionCommand-SW4ZOQ6N.js.map} +1 -1
- package/build/DevCommand-5ZXJQCYA.js +4 -0
- package/build/DevCommand-5ZXJQCYA.js.map +1 -0
- package/build/GenerateCommand-IJSMXTIA.js +99 -0
- package/build/GenerateCommand-IJSMXTIA.js.map +1 -0
- package/build/PreviewCommand-2MM4267L.js +4 -0
- package/build/{ServeCommand-XTHWLUDT.js → ServeCommand-QOKAYFJP.js} +2 -2
- package/build/ServeCommand-QOKAYFJP.js.map +1 -0
- package/build/build-FJY4BC54.js +4 -0
- package/build/build-FJY4BC54.js.map +1 -0
- package/build/chunk-3VQX7LRS.js +4 -0
- package/build/chunk-3VQX7LRS.js.map +1 -0
- package/build/chunk-423K4EW3.js +4 -0
- package/build/chunk-5OTJBADY.js +4 -0
- package/build/chunk-5OTJBADY.js.map +1 -0
- package/build/chunk-ALZJFJ23.js +4 -0
- package/build/chunk-ALZJFJ23.js.map +1 -0
- package/build/chunk-BMK5ZXHB.js +4 -0
- package/build/chunk-BMK5ZXHB.js.map +1 -0
- package/build/chunk-C632XAQG.js +23 -0
- package/build/chunk-C632XAQG.js.map +1 -0
- package/build/{chunk-RCDIKBVN.js → chunk-CTWRW76F.js} +36 -36
- package/build/chunk-CTWRW76F.js.map +1 -0
- package/build/{chunk-PYBYLDJB.js → chunk-ESE4L44D.js} +2 -2
- package/build/chunk-F2ZEWDAK.js +73 -0
- package/build/chunk-F2ZEWDAK.js.map +1 -0
- package/build/chunk-INHSYB3J.js +4 -0
- package/build/chunk-INHSYB3J.js.map +1 -0
- package/build/chunk-LNZPUJZM.js +11 -0
- package/build/chunk-LNZPUJZM.js.map +1 -0
- package/build/{chunk-HLCGKBPK.js → chunk-MZN364Q6.js} +2 -2
- package/build/{chunk-HLCGKBPK.js.map → chunk-MZN364Q6.js.map} +1 -1
- package/build/chunk-N5OCWMLI.js +4 -0
- package/build/chunk-N5OCWMLI.js.map +1 -0
- package/build/{chunk-S7NF452E.js → chunk-PCBMS46R.js} +2 -2
- package/build/{chunk-S7NF452E.js.map → chunk-PCBMS46R.js.map} +1 -1
- package/build/chunk-PYEFXRM2.js +87 -0
- package/build/chunk-PYEFXRM2.js.map +1 -0
- package/build/chunk-QZS4ARDD.js +4 -0
- package/build/chunk-QZS4ARDD.js.map +1 -0
- package/build/{chunk-QBIV5U5A.js → chunk-R2DHQREZ.js} +2 -2
- package/build/chunk-RIDNK3X3.js +4 -0
- package/build/chunk-RIDNK3X3.js.map +1 -0
- package/build/{chunk-BKNV2B7T.js → chunk-RPZCQEPB.js} +2 -2
- package/build/chunk-SARV44FW.js +6 -0
- package/build/chunk-SARV44FW.js.map +1 -0
- package/build/chunk-TTTQ7SZK.js +4 -0
- package/build/chunk-TTTQ7SZK.js.map +1 -0
- package/build/{chunk-HFDLXX7R.js → chunk-V4TR6DCM.js} +1 -1
- package/build/{chunk-5XZSJPLU.js → chunk-XTLXT6QW.js} +2 -2
- package/build/chunk-YKE3BZS3.js +27 -0
- package/build/chunk-YKE3BZS3.js.map +1 -0
- package/build/{devtools-WFBFD7GB.js → devtools-FITZMLEV.js} +2 -2
- package/build/devtools-FITZMLEV.js.map +1 -0
- package/build/{esm-QEHFRL6L.js → esm-IHGGGJ6T.js} +3 -3
- package/build/{esm-QEHFRL6L.js.map → esm-IHGGGJ6T.js.map} +1 -1
- package/build/index.js +14 -14
- package/build/index.js.map +1 -1
- package/build/preview-4GL6ALWD.js +4 -0
- package/build/preview-4GL6ALWD.js.map +1 -0
- package/build/{render-command-PDPDZKND.js → render-command-32GXLYY2.js} +2 -2
- package/build/{types.impl-HD4UTKFC.js → types.impl-L2DPGJ77.js} +2 -2
- package/build/types.impl-L2DPGJ77.js.map +1 -0
- package/package.json +13 -9
- package/schemas/custom-element.json +1 -1
- package/schemas/dashboard-menu-plugin.json +1 -1
- package/schemas/dashboard-modal.json +1 -1
- package/schemas/dashboard-page.json +1 -1
- package/schemas/dashboard-plugin.json +1 -1
- package/schemas/embedded-script.json +1 -1
- package/schemas/wix-config.json +1 -1
- package/templates/custom-element/element.tsx.ejs +27 -4
- package/templates/custom-element/panel.tsx.ejs +43 -6
- package/build/CreateVersionCommand-CHX2UWME.js +0 -4
- package/build/DevCommand-TKHJTH22.js +0 -4
- package/build/DevCommand-TKHJTH22.js.map +0 -1
- package/build/GenerateCommand-PIRMS3PT.js +0 -99
- package/build/GenerateCommand-PIRMS3PT.js.map +0 -1
- package/build/PreviewCommand-2DQ252RA.js +0 -4
- package/build/PreviewCommand-2DQ252RA.js.map +0 -1
- package/build/ServeCommand-XTHWLUDT.js.map +0 -1
- package/build/build-QLE4H4H2.js +0 -4
- package/build/build-QLE4H4H2.js.map +0 -1
- package/build/chunk-3L5LQKB7.js +0 -4
- package/build/chunk-3L5LQKB7.js.map +0 -1
- package/build/chunk-6OPLPT2G.js +0 -87
- package/build/chunk-6OPLPT2G.js.map +0 -1
- package/build/chunk-6R3ZFQVO.js +0 -27
- package/build/chunk-6R3ZFQVO.js.map +0 -1
- package/build/chunk-7JJKVPKL.js +0 -6
- package/build/chunk-7JJKVPKL.js.map +0 -1
- package/build/chunk-BGSKNKJF.js +0 -4
- package/build/chunk-BGSKNKJF.js.map +0 -1
- package/build/chunk-LZ4SXWLW.js +0 -11
- package/build/chunk-LZ4SXWLW.js.map +0 -1
- package/build/chunk-O4DV7EH5.js +0 -4
- package/build/chunk-O4DV7EH5.js.map +0 -1
- package/build/chunk-PE3RXVKE.js +0 -4
- package/build/chunk-PE3RXVKE.js.map +0 -1
- package/build/chunk-RCDIKBVN.js.map +0 -1
- package/build/chunk-RDIPEKL2.js +0 -23
- package/build/chunk-RDIPEKL2.js.map +0 -1
- package/build/chunk-SIP7BHV7.js +0 -4
- package/build/chunk-TBT2V5T7.js +0 -4
- package/build/chunk-TBT2V5T7.js.map +0 -1
- package/build/chunk-UQ7NP6NA.js +0 -4
- package/build/chunk-UQ7NP6NA.js.map +0 -1
- package/build/chunk-XHPVJXDY.js +0 -73
- package/build/chunk-XHPVJXDY.js.map +0 -1
- package/build/chunk-XYNUUMC2.js +0 -4
- package/build/chunk-XYNUUMC2.js.map +0 -1
- package/build/devtools-WFBFD7GB.js.map +0 -1
- package/build/preview-LQ6YX5QD.js +0 -4
- package/build/preview-LQ6YX5QD.js.map +0 -1
- package/schemas/dashboard-sidebar-category.json +0 -1
- /package/build/{types.impl-HD4UTKFC.js.map → PreviewCommand-2MM4267L.js.map} +0 -0
- /package/build/{chunk-SIP7BHV7.js.map → chunk-423K4EW3.js.map} +0 -0
- /package/build/{chunk-PYBYLDJB.js.map → chunk-ESE4L44D.js.map} +0 -0
- /package/build/{chunk-QBIV5U5A.js.map → chunk-R2DHQREZ.js.map} +0 -0
- /package/build/{chunk-BKNV2B7T.js.map → chunk-RPZCQEPB.js.map} +0 -0
- /package/build/{chunk-HFDLXX7R.js.map → chunk-V4TR6DCM.js.map} +0 -0
- /package/build/{chunk-5XZSJPLU.js.map → chunk-XTLXT6QW.js.map} +0 -0
- /package/build/{render-command-PDPDZKND.js.map → render-command-32GXLYY2.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-N5OCWMLI.js";import"./chunk-BMK5ZXHB.js";import"./chunk-QZS4ARDD.js";import"./chunk-5OTJBADY.js";import"./chunk-INHSYB3J.js";import"./chunk-ESE4L44D.js";import"./chunk-C632XAQG.js";import"./chunk-R2DHQREZ.js";import"./chunk-TTTQ7SZK.js";import"./chunk-RIDNK3X3.js";import"./chunk-RPZCQEPB.js";import"./chunk-YKE3BZS3.js";import"./chunk-PYEFXRM2.js";import"./chunk-ALZJFJ23.js";import"./chunk-F2ZEWDAK.js";import"./chunk-SARV44FW.js";import"./chunk-V4TR6DCM.js";export{a as PreviewCommand};
|
|
4
|
+
//# sourceMappingURL=PreviewCommand-2MM4267L.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-
|
|
4
|
-
//# sourceMappingURL=ServeCommand-
|
|
3
|
+
import{a as T,b as B}from"./chunk-CTWRW76F.js";import{a as j,b as U}from"./chunk-BMK5ZXHB.js";import{b as A}from"./chunk-5OTJBADY.js";import"./chunk-INHSYB3J.js";import"./chunk-ESE4L44D.js";import{b as I}from"./chunk-R2DHQREZ.js";import{i as F,j as h,k as M}from"./chunk-RIDNK3X3.js";import"./chunk-RPZCQEPB.js";import"./chunk-YKE3BZS3.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-PYEFXRM2.js";import{b as _}from"./chunk-ALZJFJ23.js";import{ta as v}from"./chunk-F2ZEWDAK.js";import{a as q}from"./chunk-SARV44FW.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-QOKAYFJP.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 d,c as m,d as l}from"./chunk-3VQX7LRS.js";import{b as p,c as a}from"./chunk-CTWRW76F.js";import{a as c}from"./chunk-R2DHQREZ.js";import"./chunk-ALZJFJ23.js";import{ra as r}from"./chunk-F2ZEWDAK.js";import{c as e,d as i}from"./chunk-SARV44FW.js";import{h as n}from"./chunk-V4TR6DCM.js";n();import{cwd as w}from"node:process";import{build as u}from"vite";async function E(){let o=await r(w());if(o.components.length===0)throw new e({code:i.NoExtensionsFound()});d(o.components),o.backendComponents.length>0&&await u(await a(o,{type:"build"})).catch(t=>{throw new e({code:i.FailedToBuildApp({cause:t}),cause:t})});let s=await u(await p(o,{type:"build"})).catch(t=>{throw new e({code:i.FailedToBuildApp({cause:t}),cause:t})}),f=await m({appId:o.config.appId,components:o.components,sentryDSN:o.config.sentryDSN,componentSourceBuilder:l({model:o,buildOutput:s})});await c({projectFolder:o.projectFolder,manifest:f})}export{E as build};
|
|
4
|
+
//# sourceMappingURL=build-FJY4BC54.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 { getBackendViteConfig, getClientViteConfig } from './vite/index.js';\nimport { writeAppManifestFile } from './app-manifest/file.js';\nimport { createAppManifest } from './app-manifest/create.js';\nimport { getComponentSourceBuilder } from './app-manifest/component-source.js';\nimport { ConfigType } from './vite/vite-config-options.js';\nimport { validateComponents } from './app-manifest/validate.js';\n\nexport async function build() {\n const projectModel = await loadProjectModel(cwd());\n\n // Validate before building the project, to fail fast in case of a validation issue\n if (projectModel.components.length === 0) {\n throw new CliError({\n code: CliErrorCode.NoExtensionsFound(),\n });\n }\n\n validateComponents(projectModel.components);\n\n if (projectModel.backendComponents.length > 0) {\n await viteBuild(\n await getBackendViteConfig(projectModel, { type: ConfigType.build })\n ).catch((e) => {\n throw new CliError({\n code: CliErrorCode.FailedToBuildApp({ cause: e }),\n cause: e,\n });\n });\n }\n\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":";;ySAAAA,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,EAGHC,EAAmBL,EAAa,UAAU,EAEtCA,EAAa,kBAAkB,OAAS,GAC1C,MAAMM,EACJ,MAAMC,EAAqBP,EAAc,CAAE,YAAuB,CAAC,CACrE,EAAE,MAAOQ,GAAM,CACb,MAAM,IAAIL,EAAS,CACjB,KAAMC,EAAa,iBAAiB,CAAE,MAAOI,CAAE,CAAC,EAChD,MAAOA,CACT,CAAC,CACH,CAAC,EAGH,IAAMC,EAAoB,MAAMH,EAC9B,MAAMC,EAAoBP,EAAc,CAAE,YAAuB,CAAC,CACpE,EAAE,MAAOQ,GAAM,CACb,MAAM,IAAIL,EAAS,CACjB,KAAMC,EAAa,iBAAiB,CAAE,MAAOI,CAAE,CAAC,EAChD,MAAOA,CACT,CAAC,CACH,CAAC,EAEKE,EAAW,MAAMC,EAAkB,CACvC,MAAOX,EAAa,OAAO,MAC3B,WAAYA,EAAa,WACzB,UAAWA,EAAa,OAAO,UAC/B,uBAAwBY,EAA0B,CAChD,MAAOZ,EACP,YAAaS,CACf,CAAC,CACH,CAAC,EAED,MAAMI,EAAqB,CACzB,cAAeb,EAAa,cAC5B,SAAAU,CACF,CAAC,CACH","names":["init_esm_shims","cwd","viteBuild","build","projectModel","loadProjectModel","cwd","CliError","CliErrorCode","validateComponents","viteBuild","getViteConfig","e","clientBuildOutput","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{S as l,U as B,W as A,ha as N,i as S,ja as x,m,n as b,o as P,s as c,t as M,u as v,v as I}from"./chunk-F2ZEWDAK.js";import{a as g,c as p,d as u}from"./chunk-SARV44FW.js";import{e as C,h as d}from"./chunk-V4TR6DCM.js";d();var w=C(g(),1);import{randomUUID as R}from"node:crypto";var T=t=>{let r=new Map;[...t].sort((e,a)=>e.id.localeCompare(a.id)).forEach(e=>{let a=r.get(e.id)??[];a.push(e),r.set(e.id,a)});let i=new Map;if(r.forEach((e,a)=>{e.length>1&&i.set(a,e)}),i.size)throw new p({code:u.DuplicateComponentIdsError({issues:Array.from(i.entries()).map(([e,a])=>({id:e,components:a.map(f=>(0,w.match)(f,{DashboardPage:({title:o,relativePath:n})=>({name:o,type:"page",path:l(n,"json")}),DashboardPlugin:({title:o,relativePath:n})=>({name:o,type:"plugin",path:l(n,"json")}),DashboardMenuPlugin:({title:o,relativePath:n})=>({name:o,type:"menu-plugin",path:n}),DashboardModal:({title:o,relativePath:n})=>({name:o,type:"modal",path:l(n,"json")}),DashboardSidebarCategory:({label:o})=>({name:o,type:"sidebar-category",path:S}),EmbeddedScript:({relativePath:o})=>({name:o,type:"embedded-script",path:l(o,"json")}),CustomElement:({name:o,relativePath:n})=>({name:o,type:"custom-element",path:l(n,"json")})})).sort((f,o)=>f.name.localeCompare(o.name)),suggestedId:R()}))})})};d();var O=C(g(),1);var k=(t,r)=>{if(t.experiments)return{appId:r,componentId:t.id,spec:t.experiments.enabledBy,variantValue:"true"}},V=t=>({compId:t.id,compType:m.CUSTOM_ELEMENT_WIDGET,compName:t.name,compData:{customElementWidget:{base:{name:t.name},widgetData:{tagName:t.tagName,scriptType:v.ES_MODULE,scriptUrl:"https://dummy.web.com"},size:{width:{defaultWidth:t.width.defaultWidth,allowStretch:t.width.allowStretch,stretchByDefault:t.width.stretchByDefault},height:{defaultHeight:t.height.defaultHeight,heightMode:I.FIXED}},installation:{base:{autoAdd:t.installation?.autoAddToSite,essential:t.installation?.essential,maxInstances:t.installation?.maxInstances},widget:{region:b.BODY}},behaviors:{}}}});async function J({appId:t,components:r,sentryDSN:s,componentSourceBuilder:i}){return T(r),{appId:t,components:await Promise.all(r.map((0,O.match)({DashboardPage:async e=>{let a=e.sentryDSN??s;return{compId:e.id,compType:m.BACK_OFFICE_PAGE,compData:{backOfficePage:{hostingPlatform:c.BUSINESS_MANAGER,fullPage:e.sidebar?.whenActive?.hideSidebar,hideInSidebar:e.sidebar?.disabled,priority:e.sidebar?.priority,routePath:e.route.slice(1),title:e.title,pageCategoryId:e.sidebar?.categoryId,activeSidebarPageId:e.sidebar?.whenActive?.selectedPageId,requiredPermission:e.requiredPermission,previousRoutePaths:e.additionalRoutes,...a?{errorReporting:{url:a}}:void 0,...await i(e)}},compName:e.title,experiment:k(e,t)}},DashboardPlugin:async e=>({compId:e.id,compType:m.BACK_OFFICE_EXTENSION_WIDGET,compData:{backOfficeExtensionWidget:{hostingPlatform:c.BUSINESS_MANAGER,extends:e.extends,title:e.title,requiredPermission:e.requiredPermission,width:e.width,height:e.height,...await i(e),...e.sentryDSN?{errorReporting:{url:e.sentryDSN}}:void 0}},compName:e.title}),DashboardMenuPlugin:async e=>({compId:e.id,compType:m.BACK_OFFICE_EXTENSION_MENU_ITEM,compData:{backOfficeExtensionMenuItem:{hostingPlatform:c.BUSINESS_MANAGER,id:e.id,title:e.title,subtitle:e.subtitle,iconKey:e.iconKey,extends:e.extends,action:e.action,requiredPermission:e.requiredPermission,...e.sentryDSN?{errorReporting:{url:e.sentryDSN}}:void 0}},compName:e.title}),DashboardModal:async e=>({compId:e.id,compType:m.BACK_OFFICE_MODAL,compData:{backOfficeModal:{hostingPlatform:c.BUSINESS_MANAGER,title:e.title,requiredPermission:e.requiredPermission,width:e.width,height:e.height,...await i(e),...e.sentryDSN?{errorReporting:{url:e.sentryDSN}}:void 0}},compName:e.title}),DashboardSidebarCategory:async e=>({compId:e.id,compType:m.BACK_OFFICE_SIDEBAR_CATEGORY,compData:{backOfficeSidebarCategory:{hostingPlatform:c.BUSINESS_MANAGER,title:e.label,priority:e.priority}},compName:e.label}),EmbeddedScript:async e=>({compId:e.id,compType:m.EMBEDDED_SCRIPT,compName:e.name,compData:{embeddedScriptComponentData:{name:e.name,pages:P.NONE_PAGES,placement:e.placement,connectArticleUrl:"",embedCategory:e.scriptType,loadOnce:!0,allowedForFreeSite:!0,...await i(e)}}}),CustomElement:async e=>{let{scriptUrl:a,settingsUrl:f}=await i(e),o=V(e);return{...o,compData:{customElementWidget:{...o.compData.customElementWidget,widgetData:{...o.compData.customElementWidget.widgetData,scriptUrl:a},behaviors:{...o.compData.customElementWidget.behaviors,...e.relativePanelPath?{settings:{settingsUrl:f}}:{}}}}}}})))}}d();var F=C(g(),1);d();function U(t){if(!("output"in t||Array.isArray(t)))throw new p({code:u.InvalidViteBuildOutput()});return Array.isArray(t)?t.flatMap(i=>i.output):t.output}function D(t,r){let i=U(t).find(e=>e.type==="chunk"&&e.facadeModuleId===r);if(!i)throw new p({code:u.ViteModuleBundleNotFound()});return i.fileName}function _(t,r){let i=U(t).find(e=>e.fileName===r);if(!i||!("source"in i))throw new p({code:u.ViteFileNotFoundInOutput({fileName:r})});return i.source.toString()}async function j(t,r){let s=new URL(t.relativePath,r).href;return await fetch(s).then(e=>e.text())}var y=(t,r,s)=>{if(!r.config.trusted)return{iframeUrl:B(t.id)};let i=A(t.id),e=s?D(s,i):`/@id/${i}?import`;return{scriptAsset:{exportedName:t.id,containerId:r.config.appId,url:e,scriptType:M.MODULE}}},W=async(t,r,s)=>({template:r?_(r,t.relativePath):await j(t,s)}),G=(t,r)=>{let s=x(t.id);return{scriptUrl:r?D(r,s):`/@id/${s}?import`,settingsUrl:N(t.id)}};function ne({model:t,buildOutput:r,devServerUrl:s}){return async i=>(0,F.match)(i,{EmbeddedScript:a=>W(a,r,s),DashboardSidebarCategory:()=>{},CustomElement:a=>G(a,r),DashboardPage:a=>y(a,t,r),DashboardPlugin:a=>y(a,t,r),DashboardModal:a=>y(a,t,r),DashboardMenuPlugin:()=>{}})}export{T as a,V as b,J as c,ne as d};
|
|
4
|
+
//# sourceMappingURL=chunk-3VQX7LRS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/app-manifest/validate.ts","../src/app-manifest/create.ts","../src/app-manifest/component-source.ts","../src/app-manifest/build-output-data-extractor.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport { match } from 'variant';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { CONFIG_FILENAME } from '@wix/cli-core-definitions';\nimport { replaceExtension } from '../dev-center/components/path.js';\nimport type { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\n\nexport const validateComponents = (components: DevCenterComponent[]) => {\n const devCenterComponentsToIdMap: Map<string, DevCenterComponent[]> =\n new Map();\n const sortedComponentsById = [...components].sort((a, b) =>\n a.id.localeCompare(b.id)\n );\n sortedComponentsById.forEach((component) => {\n const componentList = devCenterComponentsToIdMap.get(component.id) ?? [];\n componentList.push(component);\n devCenterComponentsToIdMap.set(component.id, componentList);\n });\n\n const devCenterComponentsWithSameIDMap: Map<string, DevCenterComponent[]> =\n new Map();\n\n devCenterComponentsToIdMap.forEach((devCenterComponents, key) => {\n if (devCenterComponents.length > 1) {\n devCenterComponentsWithSameIDMap.set(key, devCenterComponents);\n }\n });\n\n if (devCenterComponentsWithSameIDMap.size) {\n throw new CliError({\n code: CliErrorCode.DuplicateComponentIdsError({\n issues: Array.from(devCenterComponentsWithSameIDMap.entries()).map(\n ([id, devCenterComponents]) => {\n return {\n id,\n components: devCenterComponents\n .map((component) =>\n match(component, {\n DashboardPage: ({ title, relativePath }) => ({\n name: title,\n type: 'page' as const,\n path: replaceExtension(relativePath, 'json'),\n }),\n DashboardPlugin: ({ title, relativePath }) => ({\n name: title,\n type: 'plugin' as const,\n path: replaceExtension(relativePath, 'json'),\n }),\n DashboardMenuPlugin: ({ title, relativePath }) => ({\n name: title,\n type: 'menu-plugin' as const,\n // We can use the relative path since the path already points to the menu config json\n path: relativePath,\n }),\n DashboardModal: ({ title, relativePath }) => ({\n name: title,\n type: 'modal' as const,\n path: replaceExtension(relativePath, 'json'),\n }),\n DashboardSidebarCategory: ({ label }) => ({\n name: label,\n type: 'sidebar-category' as const,\n path: CONFIG_FILENAME,\n }),\n EmbeddedScript: ({ relativePath }) => ({\n name: relativePath,\n type: 'embedded-script' as const,\n path: replaceExtension(relativePath, 'json'),\n }),\n CustomElement: ({ name, relativePath }) => ({\n name,\n type: 'custom-element' as const,\n path: replaceExtension(relativePath, 'json'),\n }),\n })\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 type {\n AppManifest,\n ComponentExperiment,\n BackofficePage,\n BackofficeExtensionWidget,\n BackofficeExtensionMenuItem,\n BackofficeSideCategory,\n BackofficeModal,\n EmbeddedScript,\n CustomElement,\n} from '@wix/cli-app-manifest';\nimport { validateComponents } from './validate.js';\nimport type { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\nimport type { ComponentSourceBuilder } from './component-source.js';\n\ntype CreateAppManifestParams = {\n appId: string;\n components: DevCenterComponent[];\n sentryDSN?: string;\n componentSourceBuilder: ComponentSourceBuilder;\n};\n\nconst getExperiment = (\n component: DevCenterComponent<'DashboardPage'>,\n appId: string\n): ComponentExperiment => {\n if (component.experiments) {\n return {\n appId,\n componentId: component.id,\n spec: component.experiments.enabledBy,\n variantValue: 'true',\n };\n }\n return undefined;\n};\n\nexport const createCustomElementConfig = (\n component: DevCenterComponent<'CustomElement'>\n): CustomElement => {\n return {\n compId: component.id,\n compType: ComponentType.CUSTOM_ELEMENT_WIDGET as const,\n compName: component.name,\n compData: {\n customElementWidget: {\n base: {\n name: component.name,\n },\n widgetData: {\n tagName: component.tagName,\n scriptType: CustomElementScriptType.ES_MODULE,\n scriptUrl: 'https://dummy.web.com',\n },\n size: {\n width: {\n defaultWidth: component.width.defaultWidth,\n allowStretch: component.width.allowStretch,\n stretchByDefault: component.width.stretchByDefault,\n },\n height: {\n defaultHeight: component.height.defaultHeight,\n heightMode: HeightMode.FIXED,\n },\n },\n installation: {\n base: {\n autoAdd: component.installation?.autoAddToSite,\n essential: component.installation?.essential,\n maxInstances: component.installation?.maxInstances,\n },\n widget: { region: RegionType.BODY },\n },\n behaviors: {},\n },\n },\n };\n};\n\nexport async function createAppManifest({\n appId,\n components,\n sentryDSN,\n componentSourceBuilder,\n}: CreateAppManifestParams): Promise<AppManifest> {\n validateComponents(components);\n\n return {\n appId,\n components: 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 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 })\n )\n ),\n };\n}\n","import { BackOfficeScriptAssetType } from '@wix/ambassador-devcenter-components-v1-component/types';\nimport type { ComponentSource } from '@wix/cli-app-manifest';\nimport { match } from 'variant';\nimport {\n virtualModuleIdForScriptAsset,\n virtualPathForHTMLAsset,\n} from '../dev-center/components/dashboard/config.js';\nimport {\n virtualModuleIdForCustomElementScriptAsset,\n virtualPathForCustomElementPanelHTMLAsset,\n} from '../dev-center/components/site/config.js';\nimport type { ProjectModel } from '../model.js';\nimport type { ViteBuildOutput } from './build-output-data-extractor.js';\nimport {\n extractModuleBundleContent,\n extractModuleBundleName,\n} from './build-output-data-extractor.js';\nimport type { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\n\ntype DashboardSource =\n | {\n iframeUrl: string;\n scriptAsset?: never;\n }\n | {\n scriptAsset: ComponentSource['scriptAsset'];\n iframeUrl?: never;\n };\ntype EmbeddedScriptSource = {\n template: string;\n};\ntype CustomElementSource = { scriptUrl: string; settingsUrl: string };\n\nexport type ComponentSourceBuilder = <T extends DevCenterComponent>(\n component: T\n) => Promise<\n T extends DevCenterComponent<'EmbeddedScript'>\n ? EmbeddedScriptSource\n : T extends DevCenterComponent<'CustomElement'>\n ? CustomElementSource\n : T extends DevCenterComponent<'DashboardPage'>\n ? DashboardSource\n : T extends DevCenterComponent<'DashboardPlugin'>\n ? DashboardSource\n : T extends DevCenterComponent<'DashboardModal'>\n ? DashboardSource\n : undefined\n>;\n\nasync function getEmbeddedScriptDevTemplate(\n component: DevCenterComponent<'EmbeddedScript'>,\n devServerUrl?: string\n) {\n const url = new URL(component.relativePath, devServerUrl).href;\n const devTemplate = await fetch(url).then((res) => res.text());\n\n return devTemplate;\n}\n\nconst dashboardSourceBuilder = (\n component:\n | DevCenterComponent<'DashboardPage'>\n | DevCenterComponent<'DashboardPlugin'>\n | DevCenterComponent<'DashboardModal'>,\n model: ProjectModel,\n buildOutput?: ViteBuildOutput\n): DashboardSource => {\n if (!model.config.trusted) {\n return {\n iframeUrl: virtualPathForHTMLAsset(component.id),\n };\n }\n const moduleId = virtualModuleIdForScriptAsset(component.id);\n const componentUrl = buildOutput\n ? extractModuleBundleName(buildOutput, moduleId)\n : `/@id/${moduleId}?import`;\n\n return {\n scriptAsset: {\n exportedName: component.id,\n containerId: model.config.appId,\n url: componentUrl,\n scriptType: BackOfficeScriptAssetType.MODULE,\n },\n };\n};\n\nconst embeddedScriptBuilder = async (\n component: DevCenterComponent<'EmbeddedScript'>,\n buildOutput?: ViteBuildOutput,\n devServerUrl?: string\n): Promise<EmbeddedScriptSource> => {\n return {\n template: buildOutput\n ? extractModuleBundleContent(buildOutput, component.relativePath)\n : await getEmbeddedScriptDevTemplate(component, devServerUrl),\n };\n};\n\nconst customElementBuilder = (\n component: DevCenterComponent<'CustomElement'>,\n buildOutput?: ViteBuildOutput\n): CustomElementSource => {\n const moduleId = virtualModuleIdForCustomElementScriptAsset(component.id);\n const componentUrl = buildOutput\n ? extractModuleBundleName(buildOutput, moduleId)\n : `/@id/${moduleId}?import`;\n\n return {\n scriptUrl: componentUrl,\n settingsUrl: virtualPathForCustomElementPanelHTMLAsset(component.id),\n };\n};\n\nexport function getComponentSourceBuilder({\n model,\n buildOutput,\n devServerUrl,\n}: {\n model: ProjectModel;\n buildOutput?: ViteBuildOutput;\n devServerUrl?: string;\n}) {\n return (async (component: DevCenterComponent) => {\n const source = match(component, {\n EmbeddedScript: (embeddedScriptComponent) =>\n embeddedScriptBuilder(\n embeddedScriptComponent,\n buildOutput,\n devServerUrl\n ),\n DashboardSidebarCategory: () => {},\n CustomElement: (customElementComponent) =>\n customElementBuilder(customElementComponent, buildOutput),\n DashboardPage: (dashboardPageComponent) =>\n dashboardSourceBuilder(dashboardPageComponent, model, buildOutput),\n DashboardPlugin: (dashboardPluginComponent) =>\n dashboardSourceBuilder(dashboardPluginComponent, model, buildOutput),\n DashboardModal: (dashboardModalComponent) =>\n dashboardSourceBuilder(dashboardModalComponent, model, buildOutput),\n DashboardMenuPlugin: () => {},\n });\n\n return source;\n }) as ComponentSourceBuilder;\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { build } from 'vite';\n\nexport type ViteBuildOutput = Awaited<ReturnType<typeof build>>;\n\nfunction extractBuildOutputs(buildOutput: ViteBuildOutput) {\n const isValidRollupOutput =\n 'output' in buildOutput || Array.isArray(buildOutput);\n\n if (!isValidRollupOutput) {\n throw new CliError({ code: CliErrorCode.InvalidViteBuildOutput() });\n }\n\n const outputs = Array.isArray(buildOutput)\n ? buildOutput.flatMap((output) => output.output)\n : buildOutput.output;\n\n return outputs;\n}\n\nexport function extractModuleBundleName(\n buildOutput: ViteBuildOutput,\n moduleId: string\n) {\n const outputs = extractBuildOutputs(buildOutput);\n\n const output = outputs.find(\n (output) => output.type === 'chunk' && output.facadeModuleId === moduleId\n );\n\n if (!output) {\n throw new CliError({ code: CliErrorCode.ViteModuleBundleNotFound() });\n }\n\n return output.fileName;\n}\n\nexport function extractModuleBundleContent(\n buildOutput: ViteBuildOutput,\n fileName: string\n) {\n const outputs = extractBuildOutputs(buildOutput);\n\n const output = outputs.find((output) => output.fileName === fileName);\n\n if (!output || !('source' in output)) {\n throw new CliError({\n code: CliErrorCode.ViteFileNotFoundInOutput({ fileName }),\n });\n }\n\n return output.source.toString();\n}\n"],"mappings":"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","names":["init_esm_shims","import_variant","randomUUID","validateComponents","components","devCenterComponentsToIdMap","a","b","component","componentList","devCenterComponentsWithSameIDMap","devCenterComponents","key","CliError","CliErrorCode","id","title","relativePath","replaceExtension","label","CONFIG_FILENAME","name","randomUUID","init_esm_shims","import_variant","getExperiment","component","appId","createCustomElementConfig","ComponentType","CustomElementScriptType","HeightMode","RegionType","createAppManifest","components","sentryDSN","componentSourceBuilder","validateComponents","componentSentryDSN","BackOfficeHostingPlatforms","EmbeddedScriptPages","scriptUrl","settingsUrl","basicConfig","init_esm_shims","import_variant","init_esm_shims","extractBuildOutputs","buildOutput","CliError","CliErrorCode","output","extractModuleBundleName","moduleId","extractModuleBundleContent","fileName","getEmbeddedScriptDevTemplate","component","devServerUrl","url","res","dashboardSourceBuilder","model","buildOutput","virtualPathForHTMLAsset","moduleId","virtualModuleIdForScriptAsset","componentUrl","extractModuleBundleName","BackOfficeScriptAssetType","embeddedScriptBuilder","extractModuleBundleContent","customElementBuilder","virtualModuleIdForCustomElementScriptAsset","virtualPathForCustomElementPanelHTMLAsset","getComponentSourceBuilder","embeddedScriptComponent","customElementComponent","dashboardPageComponent","dashboardPluginComponent","dashboardModalComponent"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{a as n}from"./chunk-LNZPUJZM.js";import{D as t}from"./chunk-PYEFXRM2.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-423K4EW3.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{a as B}from"./chunk-INHSYB3J.js";import{b as oe}from"./chunk-ESE4L44D.js";import{b as O,d as ne,e as pe,f as le,g as ae}from"./chunk-RIDNK3X3.js";import{a as se}from"./chunk-RPZCQEPB.js";import{h as V,i as X,o as ie}from"./chunk-YKE3BZS3.js";import{B as y,C as f,E as te,f as Z,g as R,n as A,o as L,r as E,s as ee,u as S,v as N,x as C,y as j}from"./chunk-PYEFXRM2.js";import{ta as h,w as re}from"./chunk-F2ZEWDAK.js";import{a as g,c as b,d as x,h as w,i as Q}from"./chunk-SARV44FW.js";import{e as v,h as i}from"./chunk-V4TR6DCM.js";i();var U=v(g(),1);import W,{useCallback as be}from"react";i();var q=v(g(),1);import M from"react";i();i();var Ie=v(g(),1);import I,{useState as Ee}from"react";i();var ce=v(g(),1);import me from"react";var ue=({onSubmit:t,onError:r,sites:o})=>{let{t:e}=f(),{getDevSitesCount:s,getDevSitesLimit:l}=B(),{status:a}=C(()=>Promise.all([s(),l()]),[],{onError:r});return(0,ce.match)(a,{Error:()=>null,Loading:()=>me.createElement(S,{text:e("general.loading")}),Success:({result:[d,p]})=>{let _=d>=p,n=o.length===0;return me.createElement(L,{label:e("site_type_select.label"),options:[{availability:n?A.Disabled({reason:e("site_type_select.no_sites")}):A.Enabled(),title:e("site_type_select.pick_existing_site"),value:"select-existing-site"},{title:e("site_type_select.create_new_dev_site"),value:"create-dev-site",availability:_?A.Disabled({reason:e("site_type_select.create_new_dev_site.disabled",{limit:p})}):A.Enabled()}],onSubmit:({value:u})=>t(u)})}})};i();var fe=v(g(),1);import P from"react";i();import $ from"react";i();i();import{useMemo as we}from"react";i();i();var de=w.record(w.object({appDefinitionId:w.string().optional(),permissions:w.object({revoked:w.boolean()}).optional()}));var K=class{constructor(r){this.httpClient=r}isAppInstalled=async({metaSiteId:r,appId:o})=>{try{let{data:e}=await this.httpClient.request({url:`/_api/msm/v1/meta-site/editor-client-spec-map/${r}`}),s=de.parse(e);return Object.values(s).some(a=>a.appDefinitionId===o&&!a.permissions?.revoked)}catch(e){throw new b({code:x.FailedToCheckIfAppInstalled(),cause:e})}}};function F(){let t=se({type:"general"});return we(()=>new K(t),[t])}var T=v(g(),1);i();import D from"react";var Se=({siteId:t,appId:r})=>(Z(async(o,e)=>{e.return&&await ie(`https://manage.wix.com/installer/install?metaSiteId=${t}&appId=${r}&platform=cli&version=latest`)}),D.createElement(D.Fragment,null,D.createElement(y,{i18nKey:"install_app_on_site.warning"}),D.createElement(y,{i18nKey:"install_app_on_site.warning.instructions",components:[D.createElement(ee,{value:"enter"})]})));var z=(0,T.variant)({Success:{},Canceled:{}});function he(t){return t&&typeof t=="object"&&"name"in t&&t.name==="AbortError"}var H=({appId:t,site:r,onSubmit:o,onError:e})=>{let{isAppInstalled:s}=F(),{status:l}=C(async({signal:a})=>{let{appInstallationPollInterval:d}=Q();try{return await X(()=>s({metaSiteId:r.id,appId:t}),{interval:d??2e3,timeout:{milliseconds:60*1e3*2,signal:a}}),z.Success()}catch(p){if(p instanceof V)throw new b({code:x.SiteSelectorTimedout(),cause:p});if(he(p))return z.Canceled();throw p}},[],{onError:e,onSuccess:a=>{(0,T.isType)(a,z.Success)&&o()}});return(0,T.match)(l,{Error:()=>null,Loading:()=>$.createElement(Se,{siteId:r.id,appId:t}),Success:()=>$.createElement(E,{type:"success"},$.createElement(y,{i18nKey:"install_app_on_site.finished_successfully"}))})};var ye=({status:t,appId:r,onSubmit:o,onError:e})=>{let{t:s}=f();return(0,fe.match)(t,{NotRequested:()=>null,Error:()=>null,Loading:()=>P.createElement(S,{text:s("create_dev_site.loading")}),Success:({result:l})=>P.createElement(P.Fragment,null,P.createElement(y,{i18nKey:"create_dev_site.success",components:[P.createElement(R,{skin:"success",bold:!0})],values:{name:l.displayName}}),P.createElement(H,{appId:r,site:l,onSubmit:()=>o(l),onError:e}))})};var _e={"general.loading":"Loading...","site_type_select.label":"Select Development Site","site_type_select.create_new_dev_site":"Create a new Development Site","site_type_select.create_new_dev_site.disabled":"You have reached the maximum number of {limit} Development Sites","site_type_select.pick_existing_site":"Pick an existing site","site_type_select.no_sites":"No sites found","create_dev_site.loading":"Creating your new Development Site...","create_dev_site.success":"Development Site <0>{name}</0> created successfully! \u{1F680}","site_list_select.label":"Select Site","install_app_on_site.warning":"Your new application needs to be installed on the selected Development Site","install_app_on_site.warning.instructions":"Press <0/> to install the application in your browser","install_app_on_site.finished_successfully":"App installed on Development Site."};i();import k,{useState as Ae}from"react";var ge=v(g(),1);i();import Pe from"react";var ve=({onSubmit:t,sites:r})=>{let{t:o}=f();return Pe.createElement(L,{label:o("site_list_select.label"),options:r.map(e=>({key:e.id,title:e.displayName,description:e.viewUrl,value:e})),onSubmit:({value:e})=>t(e)})};var Ce=({sites:t,appId:r,onSubmit:o,onError:e})=>{let{t:s}=f(),{isAppInstalled:l}=F(),[a,d]=Ae(null),p=j((n,u)=>l({metaSiteId:u.id,appId:r}),{onError:e});async function _(n){await p.execute(n)?o(n):d(n)}return k.createElement(k.Fragment,null,k.createElement(ve,{onSubmit:_,sites:t}),(0,ge.isType)(p.status,"Loading")&&k.createElement(S,{text:s("general.loading")}),a&&k.createElement(H,{appId:r,site:a,onSubmit:()=>o(a),onError:e}))};var Y=({appId:t,onSubmit:r,onError:o})=>{let[e,s]=Ee(null),{createDevSite:l}=B(),a=O(),{status:d}=C(()=>a.querySites({query:{cursorPaging:{limit:100}}}),[],{onError:o}),p=j(()=>l(),{onError:o});function _(n){s(n),n==="create-dev-site"&&p.execute()}return I.createElement(te,{messages:_e},(0,Ie.match)(d,{Error:()=>null,Loading:()=>I.createElement(S,{text:I.createElement(y,{i18nKey:"general.loading"})}),Success:({result:n})=>I.createElement(I.Fragment,null,I.createElement(ue,{onSubmit:_,onError:o,sites:n}),e==="create-dev-site"&&I.createElement(ye,{status:p.status,appId:t,onSubmit:r,onError:o}),e==="select-existing-site"&&I.createElement(Ce,{sites:n,appId:t,onSubmit:r,onError:o}))}))};var G=({state:t,onSubmit:r})=>{let o=N(),{t:e}=f(),{model:s}=h();return M.createElement(M.Fragment,null,(0,q.match)(t,{NotConfigured:(0,q.constant)(M.createElement(E,{type:"insight"},e("general.no_site_id_configured"))),NotFound:({id:l})=>M.createElement(E,{type:"error"},e("general.site_id_not_found",{id:l}))}),M.createElement(Y,{appId:s.config.appId,onSubmit:r,onError:o}))};var ui=({children:t,siteId:r})=>{let o=N(),{model:{projectFolder:e}}=h(),s=oe(),l=O(),{status:a,merge:d}=C(async()=>ae({projectFolder:e,siteListClient:l,siteId:r,writeDebugLog:s}),[]),p=be(async n=>{try{await ne(e,{siteId:n.id}),d({result:le.Resolved({site:n})})}catch{throw new b({code:x.FailedToSaveDevelopmentSite({path:re})})}},[d,e]),_=be(n=>p(n).catch(o),[o,p]);return(0,U.match)(a,{Error:()=>null,Loading:()=>W.createElement(S,null),Success:({result:n})=>(0,U.match)(n,{NotConfigured:u=>W.createElement(G,{state:u,onSubmit:_}),NotFound:u=>W.createElement(G,{state:u,onSubmit:_}),Resolved:({site:u})=>W.createElement(pe.Provider,{value:{site:u,setSite:p}},typeof t=="function"?t(u):t)})})};i();var J=v(g(),1);import{useCallback as xe}from"react";function _i(){let{model:t}=h(),r=xe(e=>t.components.some(s=>s.platforms.some((0,J.isType)(e.type))),[t.components]),o=xe(e=>t.components.every(s=>s.platforms.some((0,J.isType)(e.type))||s.platforms.length===0),[t.components]);return{isPlatformExists:r,hasSinglePlatform:o}}export{Y as a,ui as b,_i as c};
|
|
4
|
+
//# sourceMappingURL=chunk-5OTJBADY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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/CreateDevSite.tsx","../../cli-site-selector/src/WaitForAppToBeInstalled.tsx","../../metasite-manager-client/src/index.ts","../../metasite-manager-client/src/useMetasiteManagerClient.ts","../../metasite-manager-client/src/metasite-manager-client.ts","../../metasite-manager-client/src/schemas.ts","../../cli-site-selector/src/OpenBrowser.tsx","../../cli-site-selector/src/messages.json","../../cli-site-selector/src/SelectExistingSite.tsx","../../cli-site-selector/src/SiteListSelect.tsx","../src/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 { 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\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 (e) {\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 />,\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 { 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\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 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 { 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 onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SiteSelector: FC<Props> = ({ appId, onSubmit, onError }) => {\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 <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 );\n};\n","import React, { type FC } from 'react';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\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';\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 { t } = useTranslation();\n const { getDevSitesCount, getDevSitesLimit } = useDevCenterClient();\n const { status } = useAsync(\n () => Promise.all([getDevSitesCount(), getDevSitesLimit()]),\n [],\n { onError }\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={({ value }) => onSubmit(value)}\n />\n );\n },\n });\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 } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\n\ninterface Props {\n siteId: string;\n appId: string;\n}\n\nexport const OpenBrowser: FC<Props> = ({ siteId, appId }) => {\n useInput(async (input, key) => {\n if (key.return) {\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, { type FC } from 'react';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { SelectInput } from '@wix/cli-ui-kit';\nimport { type Site } from '@wix/site-list-client';\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\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={({ value }) => onSubmit(value)}\n />\n );\n};\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_variant","React","useCallback","init_esm_shims","import_variant","React","init_esm_shims","init_esm_shims","import_variant","React","useState","init_esm_shims","import_variant","React","SiteTypeSelect","onSubmit","onError","sites","t","useTranslation","getDevSitesCount","getDevSitesLimit","useDevCenterClient","status","useAsync","React","Spinner","devSitesCount","devSitesLimit","isDevSitesLimitReached","userHasNoSites","SelectInput","SelectOptionAvailability","value","init_esm_shims","import_variant","React","init_esm_shims","React","init_esm_shims","init_esm_shims","useMemo","init_esm_shims","init_esm_shims","clientSpecMapSchema","z","MetasiteManagerClient","httpClient","metaSiteId","appId","data","clientSpecMap","clientSpecMapSchema","spec","CliError","CliErrorCode","useMetasiteManagerClient","httpClient","useHttpClient","useMemo","MetasiteManagerClient","import_variant","init_esm_shims","React","OpenBrowser","siteId","appId","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","React","useState","import_variant","init_esm_shims","React","SiteListSelect","onSubmit","sites","t","useTranslation","React","SelectInput","site","value","SelectExistingSite","sites","appId","onSubmit","onError","t","useTranslation","isAppInstalled","useMetasiteManagerClient","siteToInstallAppOn","setSiteToInstallAppOn","useState","checkAppInstalled","useAsyncCallback","_","site","handleSelectSite","React","SiteListSelect","Spinner","WaitForAppToBeInstalled","SiteSelector","appId","onSubmit","onError","siteType","setSiteType","useState","createDevSite","useDevCenterClient","siteListClient","useSiteListClient","status","useAsync","createSite","useAsyncCallback","handleSelectSiteType","React","I18nProvider","messages_default","Spinner","Trans","sites","SiteTypeSelect","CreateDevSite","SelectExistingSite","ResolveSiteId","state","onSubmit","exit","useExit","t","useTranslation","model","useProjectModel","React","Alert","id","SiteSelector","SiteIdProvider","children","siteId","exit","useExit","projectFolder","useProjectModel","writeDebugLog","useDebugLog","siteListClient","useSiteListClient","status","merge","useAsync","resolveConfiguredSite","setSite","useCallback","site","saveAppConfig","SiteIdState","CliError","CliErrorCode","APP_CONFIG_PATH","handleResolveSiteId","React","Spinner","state","variant","ResolveSiteId","SiteIdContext","init_esm_shims","import_variant","useCallback","usePlatform","model","useProjectModel","isPlatformExists","useCallback","platformType","component","hasSinglePlatform"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import{m as o,n as d,o as u,p,q as c,r as I,u as b,v as h}from"./chunk-F2ZEWDAK.js";import{h as e}from"./chunk-SARV44FW.js";import{h as O}from"./chunk-V4TR6DCM.js";O();import C from"node:fs/promises";var l=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()}),m=e.object({iframeUrl:e.string().optional(),scriptAsset:e.object({exportedName:e.string(),containerId:e.string(),url:e.string(),scriptType:e.string().optional()}).optional()}),N=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(l).merge(m).passthrough(),T=e.object({width:e.number().nullish(),height:e.number().nullish()}).merge(m).passthrough(),g=e.object({appId:e.string(),componentId:e.string().uuid(),spec:e.string().min(1),variantValue:e.string()}).passthrough().optional(),_=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_PAGE),compData:e.object({backOfficePage:N}),compName:e.string().optional(),experiment:g}).passthrough(),j=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(I.BACK_OFFICE_EXTENSION_WIDGET),requiredPermission:e.string().nullish(),widget:T}).merge(l).passthrough()}),compName:e.string().optional(),experiment:g}).passthrough(),A=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_EXTENSION_WIDGET),compData:e.object({backOfficeExtensionWidget:e.object({hostingPlatform:e.string(),extends:e.string(),title:e.string().nullish(),description:e.string().optional(),requiredPermission:e.string().nullish(),width:e.number().nullish(),height:e.number().nullish()}).merge(m).merge(l).passthrough()}),compName:e.string().optional(),experiment:g}).passthrough(),D=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_EXTENSION_MENU_ITEM),compData:e.object({backOfficeExtensionMenuItem:e.object({id:e.string().uuid(),title:e.string().min(1),subtitle:e.string().max(200).optional(),iconKey:e.string().min(3).max(50).optional(),extends:e.string().uuid(),action:e.object({navigateToPage:e.object({pageId:e.string().uuid(),relativeUrl:e.string().optional()}),openModal:e.object({componentId:e.string().uuid(),componentParams:e.record(e.string().min(1),e.string().min(1)).optional()})}).partial().superRefine((r,i)=>{!r.navigateToPage&&!r.openModal&&i.addIssue({code:e.ZodIssueCode.custom,message:"action must have either navigateToPage or openModal"})}),sentryDSN:e.string().optional(),requiredPermission:e.string().optional()}).merge(m).merge(l).passthrough()}),compName:e.string().optional(),experiment:g}).passthrough(),v=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_MODAL),compData:e.object({backOfficeModal:e.object({hostingPlatform:e.string(),title:e.string().nullish(),requiredPermission:e.string().nullish(),width:e.number().nullish(),height:e.number().nullish()}).merge(m).merge(l).passthrough()}),compName:e.string().optional(),experiment:g}).passthrough(),y=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_SIDEBAR_CATEGORY),compData:e.object({backOfficeSidebarCategory:e.object({hostingPlatform:e.string(),title:e.string(),priority:e.number().nullish()})}),compName:e.string().optional()}).passthrough(),P=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_WIDGET),compName:e.string().optional()}).passthrough(),F=e.object({compId:e.string(),compType:e.literal(o.BACK_OFFICE_EXTENSION_CONTAINER),compName:e.string().optional()}).passthrough(),M=e.object({template:e.string(),name:e.string(),pages:e.enum([u.NONE_PAGES,u.ONCE,u.SPECIFIC_PAGES]),placement:e.enum([p.HEAD,p.BODY_START,p.BODY_END,p.NONE_PLACEMENT]),connectArticleUrl:e.string(),embedCategory:e.enum([c.UNKNOWN,c.FUNCTIONAL,c.ESSENTIAL,c.ANALYTICS,c.ADVERTISING]),loadOnce:e.boolean(),allowedForFreeSite:e.boolean()}),x=e.object({compId:e.string(),compType:e.literal(o.EMBEDDED_SCRIPT),compName:e.string().optional(),compData:e.object({embeddedScriptComponentData:M})}).passthrough(),k=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([d.BODY,d.FOOTER,d.HEADER])}).optional()}).optional(),widgetData:e.object({tagName:e.string(),scriptUrl:e.string(),scriptType:e.enum([b.NONE,b.COMMON_JS,b.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([h.AUTO,h.FIXED,h.UNKNOWN]).optional()})})}),W=e.object({compId:e.string(),compType:e.literal(o.CUSTOM_ELEMENT_WIDGET),compName:e.string().optional(),compData:e.object({customElementWidget:k})}).passthrough(),U=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(),B=e.object({appId:e.string(),components:e.array(e.discriminatedUnion("compType",[_,j,A,D,v,y,P,F,x,W,U]))});async function J(r){try{let i=await C.readFile(r,"utf-8");return B.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 ${r}: ${a}`)}}var f=(r,i)=>new URL(r,i).href,E=(r,i)=>{let{scriptAsset:a,iframeUrl:n}=r;return a?{scriptAsset:{...a,url:f(a.url,i)}}:n?{iframeUrl:f(n,i)}:r},R=(r,i)=>({template:r.template.replaceAll("__STATICS_BASE_URL_PLACEHOLDER__",i)}),q=(r,i)=>{let a=JSON.parse(JSON.stringify(r)),n=i.endsWith("/")?i:`${i}/`;return a.components.forEach(S=>{let{compData:t,compType:s}=S;s===o.BACK_OFFICE_PAGE&&(t.backOfficePage={...t.backOfficePage,...E(t.backOfficePage,n)}),s===o.BACK_OFFICE_EXTENSION&&(t.backOfficeExtension.widget={...t.backOfficeExtension.widget,...E(t.backOfficeExtension.widget,n)}),s===o.BACK_OFFICE_EXTENSION_WIDGET&&(t.backOfficeExtensionWidget={...t.backOfficeExtensionWidget,...E(t.backOfficeExtensionWidget,n)}),s===o.BACK_OFFICE_MODAL&&(t.backOfficeModal={...t.backOfficeModal,...E(t.backOfficeModal,n)}),s===o.EMBEDDED_SCRIPT&&(t.embeddedScriptComponentData={...t.embeddedScriptComponentData,...R(t.embeddedScriptComponentData,n)}),s===o.CUSTOM_ELEMENT_WIDGET&&(t.customElementWidget={...t.customElementWidget,widgetData:{...t.customElementWidget.widgetData,scriptUrl:f(t.customElementWidget.widgetData.scriptUrl,n)},behaviors:{...t.customElementWidget.behaviors,...t.customElementWidget.behaviors.settings?{settings:{settingsUrl:f(t.customElementWidget.behaviors.settings.settingsUrl,n)}}:{}}})}),a};export{J as a,q as b};
|
|
4
|
+
//# sourceMappingURL=chunk-ALZJFJ23.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../cli-app-manifest/build/index.js"],"sourcesContent":["// src/read.ts\nimport fs from \"node:fs/promises\";\n\n// src/types.ts\nimport {\n ComponentType,\n CustomElementScriptType,\n EmbedCategory,\n EmbeddedScriptPages,\n EmbeddedScriptPlacement,\n ExtendingComponentType,\n HeightMode,\n RegionType\n} from \"@wix/ambassador-devcenter-components-v1-component/types\";\nimport { z } from \"zod\";\nvar errorReportingSchema = z.object({\n errorReporting: z.object({\n url: z.string().optional(),\n // optional because of yoshi\n artifact: z.object({\n fullArtifactId: z.string().max(255).min(1),\n version: z.string().max(255).min(1)\n }).optional()\n }).optional()\n});\nvar componentSourceSchema = z.object({\n iframeUrl: z.string().optional(),\n scriptAsset: z.object({\n exportedName: z.string(),\n containerId: z.string(),\n url: z.string(),\n scriptType: z.string().optional()\n }).optional()\n});\nvar backofficePageCompDataSchema = z.object({\n hostingPlatform: z.string(),\n fullPage: z.boolean().nullish(),\n hideInSidebar: z.boolean().nullish(),\n priority: z.number().nullish(),\n routePath: z.string().nullish(),\n title: z.string(),\n pageCategoryId: z.string().uuid().nullish(),\n activeSidebarPageId: z.string().nullish(),\n requiredPermission: z.string().nullish(),\n previousRoutePaths: z.array(z.string()).nullish()\n}).merge(errorReportingSchema).merge(componentSourceSchema).passthrough();\nvar widgetCompDataSchema = z.object({\n width: z.number().nullish(),\n height: z.number().nullish()\n}).merge(componentSourceSchema).passthrough();\nvar componentExperimentSchema = z.object({\n appId: z.string(),\n componentId: z.string().uuid(),\n spec: z.string().min(1),\n variantValue: z.string()\n}).passthrough().optional();\nvar backofficePageSchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.BACK_OFFICE_PAGE),\n compData: z.object({\n backOfficePage: backofficePageCompDataSchema\n }),\n compName: z.string().optional(),\n experiment: componentExperimentSchema\n}).passthrough();\nvar backofficeExtensionSchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.BACK_OFFICE_EXTENSION),\n compData: z.object({\n backOfficeExtension: z.object({\n hostingPlatform: z.string(),\n extends: z.string(),\n title: z.string().nullish(),\n extensionType: z.literal(\n ExtendingComponentType.BACK_OFFICE_EXTENSION_WIDGET\n ),\n requiredPermission: z.string().nullish(),\n widget: widgetCompDataSchema\n }).merge(errorReportingSchema).passthrough()\n }),\n compName: z.string().optional(),\n experiment: componentExperimentSchema\n}).passthrough();\nvar backofficeExtensionWidgetSchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.BACK_OFFICE_EXTENSION_WIDGET),\n compData: z.object({\n backOfficeExtensionWidget: z.object({\n hostingPlatform: z.string(),\n extends: z.string(),\n title: z.string().nullish(),\n description: z.string().optional(),\n requiredPermission: z.string().nullish(),\n width: z.number().nullish(),\n height: z.number().nullish()\n }).merge(componentSourceSchema).merge(errorReportingSchema).passthrough()\n }),\n compName: z.string().optional(),\n experiment: componentExperimentSchema\n}).passthrough();\nvar backofficeExtensionMenuPluginSchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.BACK_OFFICE_EXTENSION_MENU_ITEM),\n compData: z.object({\n backOfficeExtensionMenuItem: z.object({\n id: z.string().uuid(),\n title: z.string().min(1),\n subtitle: z.string().max(200).optional(),\n iconKey: z.string().min(3).max(50).optional(),\n extends: z.string().uuid(),\n action: z.object({\n navigateToPage: z.object({\n pageId: z.string().uuid(),\n relativeUrl: z.string().optional()\n }),\n openModal: z.object({\n componentId: z.string().uuid(),\n componentParams: z.record(z.string().min(1), z.string().min(1)).optional()\n })\n }).partial().superRefine((data, ctx) => {\n if (!data.navigateToPage && !data.openModal) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"action must have either navigateToPage or openModal\"\n });\n }\n }),\n sentryDSN: z.string().optional(),\n requiredPermission: z.string().optional()\n }).merge(componentSourceSchema).merge(errorReportingSchema).passthrough()\n }),\n compName: z.string().optional(),\n experiment: componentExperimentSchema\n}).passthrough();\nvar backofficeModalSchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.BACK_OFFICE_MODAL),\n compData: z.object({\n backOfficeModal: z.object({\n hostingPlatform: z.string(),\n title: z.string().nullish(),\n requiredPermission: z.string().nullish(),\n width: z.number().nullish(),\n height: z.number().nullish()\n }).merge(componentSourceSchema).merge(errorReportingSchema).passthrough()\n }),\n compName: z.string().optional(),\n experiment: componentExperimentSchema\n}).passthrough();\nvar backofficeSideCategorySchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.BACK_OFFICE_SIDEBAR_CATEGORY),\n compData: z.object({\n backOfficeSidebarCategory: z.object({\n hostingPlatform: z.string(),\n title: z.string(),\n priority: z.number().nullish()\n })\n }),\n compName: z.string().optional()\n}).passthrough();\nvar backofficeWidgetSchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.BACK_OFFICE_WIDGET),\n compName: z.string().optional()\n}).passthrough();\nvar backofficeExtensionContainer = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.BACK_OFFICE_EXTENSION_CONTAINER),\n compName: z.string().optional()\n}).passthrough();\nvar 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});\nvar embeddedScriptSchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.EMBEDDED_SCRIPT),\n compName: z.string().optional(),\n compData: z.object({\n embeddedScriptComponentData\n })\n}).passthrough();\nvar customElementWidget = z.object({\n base: z.object({\n id: z.string().optional(),\n name: z.string()\n }),\n installation: z.object({\n base: z.object({\n autoAdd: z.boolean().optional(),\n essential: z.boolean().optional(),\n maxInstances: z.number().optional()\n }).optional(),\n widget: z.object({\n default_preset: z.object({\n desktop_preset_id: z.string().optional(),\n tablet_preset_id: z.string().optional(),\n mobile_preset_id: z.string().optional()\n }).optional(),\n region: z.enum([\n RegionType.BODY,\n RegionType.FOOTER,\n RegionType.HEADER\n ])\n }).optional()\n }).optional(),\n widgetData: z.object({\n tagName: z.string(),\n scriptUrl: z.string(),\n scriptType: z.enum([\n CustomElementScriptType.NONE,\n CustomElementScriptType.COMMON_JS,\n CustomElementScriptType.ES_MODULE\n ])\n }),\n behaviors: z.object({\n settings: z.object({\n settingsUrl: z.string()\n }).optional(),\n dashboard: z.object({\n dashboardPageComponentId: z.string()\n }).optional()\n }),\n size: z.object({\n width: z.object({\n allowStretch: z.boolean().optional(),\n defaultWidth: z.number().optional(),\n stretchByDefault: z.boolean().optional()\n }),\n height: z.object({\n defaultHeight: z.number(),\n heightMode: z.enum([HeightMode.AUTO, HeightMode.FIXED, HeightMode.UNKNOWN]).optional()\n })\n })\n /** The runtime dependencies array to declare the widget packages. */\n // dependencies?: WixDependency[];\n});\nvar customElementSchema = z.object({\n compId: z.string(),\n compType: z.literal(ComponentType.CUSTOM_ELEMENT_WIDGET),\n compName: z.string().optional(),\n compData: z.object({\n customElementWidget\n })\n}).passthrough();\nvar 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 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) => {\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 });\n return clonedManifest;\n};\nexport {\n appManifestSchema,\n readAppManifest,\n updateAppManifestWithBaseUrl,\n updateErrorReportingWithArtifact\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","embeddedScriptComponentData","EmbeddedScriptPages","EmbeddedScriptPlacement","EmbedCategory","embeddedScriptSchema","customElementWidget","RegionType","CustomElementScriptType","HeightMode","customElementSchema","topologySchema","appManifestSchema","readAppManifest","filePath","configData","fs","e","causeMessage","normalizeUrl","url","baseUrl","overrideComponentSourceWithNormalizedUrls","componentSource","normalizedBaseUrl","scriptAsset","iframeUrl","overrideComponentTemplateWithNormalizedUrls","updateAppManifestWithBaseUrl","appManifest","clonedManifest","component","compData","compType","ComponentType"]}
|
|
@@ -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-5OTJBADY.js";import{b as y}from"./chunk-INHSYB3J.js";import{l as C,n as L,o as u}from"./chunk-RIDNK3X3.js";import{B as p,C as B,d as i,g as h,j as f,t as b}from"./chunk-PYEFXRM2.js";import{H as w,L as E,N as t,f as m}from"./chunk-F2ZEWDAK.js";import{c as g,d as P}from"./chunk-SARV44FW.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-BMK5ZXHB.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"]}
|