@wix/cli-app 1.1.52 → 1.1.55
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/README.md +45 -0
- package/build/{CreateVersionCommand-HVC5JTAL.js → CreateVersionCommand-XTZT5DED.js} +2 -2
- package/build/{DevCommand-RTZ66W3P.js → DevCommand-Q5XLAGMG.js} +2 -2
- package/build/DevCommand-Q5XLAGMG.js.map +1 -0
- package/build/GenerateCommand-HNFICZJA.js +128 -0
- package/build/{GenerateCommand-J4FYPLSB.js.map → GenerateCommand-HNFICZJA.js.map} +1 -1
- package/build/LogsCommand-XJHE75L2.js +4 -0
- package/build/LogsCommand-XJHE75L2.js.map +1 -0
- package/build/PreviewCommand-JKPFMGWV.js +4 -0
- package/build/ServeCommand-CPZOI7DC.js +4 -0
- package/build/ServeCommand-CPZOI7DC.js.map +1 -0
- package/build/build-3RXHADZD.js +4 -0
- package/build/build-3RXHADZD.js.map +1 -0
- package/build/chunk-2FB5F5QF.js +4 -0
- package/build/{chunk-2R6WOCA4.js → chunk-4BHNJVL2.js} +2 -2
- package/build/{chunk-KNH7RNAZ.js → chunk-5OZZ7R6I.js} +2 -2
- package/build/chunk-5OZZ7R6I.js.map +1 -0
- package/build/{chunk-6ZJVIMV7.js → chunk-6HSUK2A2.js} +2 -2
- package/build/{chunk-EWA6OFAF.js → chunk-7VOKCPZP.js} +3 -3
- package/build/{chunk-EWA6OFAF.js.map → chunk-7VOKCPZP.js.map} +1 -1
- package/build/{chunk-2LPICRGU.js → chunk-B4SDDVMV.js} +2 -2
- package/build/{chunk-UKELYG5A.js → chunk-C4SXZWXS.js} +2 -2
- package/build/{chunk-NEWE3FX5.js → chunk-FKBCPMYK.js} +3 -3
- package/build/chunk-FKBCPMYK.js.map +1 -0
- package/build/chunk-FMIXY6J5.js +115 -0
- package/build/chunk-FMIXY6J5.js.map +1 -0
- package/build/chunk-GWU77DPO.js +4 -0
- package/build/chunk-GWU77DPO.js.map +1 -0
- package/build/{chunk-CMBEPCWL.js → chunk-HDXLQ34N.js} +2 -2
- package/build/chunk-JXE3LQ2S.js +100 -0
- package/build/chunk-JXE3LQ2S.js.map +1 -0
- package/build/chunk-K2A77MMN.js +4 -0
- package/build/chunk-K2A77MMN.js.map +1 -0
- package/build/{chunk-WRYRVOZP.js → chunk-KG7BHEJG.js} +2 -2
- package/build/chunk-LJEYXY4V.js +4 -0
- package/build/chunk-LJEYXY4V.js.map +1 -0
- package/build/{chunk-ATQCL6AZ.js → chunk-N5D4TFKX.js} +177 -126
- package/build/chunk-N5D4TFKX.js.map +1 -0
- package/build/{chunk-2YXY5Y3Z.js → chunk-QOUZ6J7N.js} +2 -2
- package/build/{chunk-FMTROGFZ.js → chunk-X4BLMM2K.js} +2 -2
- package/build/chunk-X4BLMM2K.js.map +1 -0
- package/build/cloudflare-runtime/entry.js +308 -49
- package/build/cloudflare-runtime/getRegisteredExtensions.js +307 -48
- package/build/index.js +2 -2
- package/build/index.js.map +1 -1
- package/build/platform-sdk/{chunk-RE2R2PA6.js → chunk-GZP4Z76C.js} +2 -2
- package/build/platform-sdk/chunk-KGLNBMRO.js +2 -0
- package/build/platform-sdk/chunk-KGLNBMRO.js.map +1 -0
- package/build/platform-sdk/dashboard.js +1 -1
- package/build/platform-sdk/editor.js +2 -2
- package/build/platform-sdk/editor.js.map +1 -1
- package/build/platform-sdk/site.js +1 -1
- package/build/platform-sdk/site.js.map +1 -1
- package/build/preview-TM7JAWFS.js +4 -0
- package/build/preview-TM7JAWFS.js.map +1 -0
- package/build/render-command-QEQ3L7OX.js +4 -0
- package/build/render-command-QEQ3L7OX.js.map +1 -0
- package/internal/component-hmr-wrapper.tsx +9 -9
- package/package.json +8 -7
- package/templates/dashboard-plugin/files/plugin.tsx.ejs +8 -18
- package/templates/site-plugin/files/plugin.tsx.ejs +1 -1
- package/build/DevCommand-RTZ66W3P.js.map +0 -1
- package/build/GenerateCommand-J4FYPLSB.js +0 -128
- package/build/LogsCommand-J3PHRUGE.js +0 -4
- package/build/LogsCommand-J3PHRUGE.js.map +0 -1
- package/build/PreviewCommand-JYIGS25E.js +0 -4
- package/build/ServeCommand-LEJRJ2CR.js +0 -4
- package/build/ServeCommand-LEJRJ2CR.js.map +0 -1
- package/build/build-YPC7VLOB.js +0 -4
- package/build/build-YPC7VLOB.js.map +0 -1
- package/build/chunk-522ULCVX.js +0 -100
- package/build/chunk-522ULCVX.js.map +0 -1
- package/build/chunk-ATQCL6AZ.js.map +0 -1
- package/build/chunk-FMTROGFZ.js.map +0 -1
- package/build/chunk-KNH7RNAZ.js.map +0 -1
- package/build/chunk-MXLCRTVZ.js +0 -4
- package/build/chunk-NEWE3FX5.js.map +0 -1
- package/build/chunk-RWTMPGYF.js +0 -4
- package/build/chunk-RWTMPGYF.js.map +0 -1
- package/build/chunk-WLHVYK7Z.js +0 -4
- package/build/chunk-WLHVYK7Z.js.map +0 -1
- package/build/chunk-X3ZYER2U.js +0 -115
- package/build/chunk-X3ZYER2U.js.map +0 -1
- package/build/chunk-ZCIEKIRM.js +0 -4
- package/build/chunk-ZCIEKIRM.js.map +0 -1
- package/build/platform-sdk/chunk-3TJ2D6DS.js +0 -2
- package/build/platform-sdk/chunk-3TJ2D6DS.js.map +0 -1
- package/build/preview-VAP5AF4W.js +0 -4
- package/build/preview-VAP5AF4W.js.map +0 -1
- package/build/render-command-NE2QILSS.js +0 -4
- package/build/render-command-NE2QILSS.js.map +0 -1
- /package/build/{CreateVersionCommand-HVC5JTAL.js.map → CreateVersionCommand-XTZT5DED.js.map} +0 -0
- /package/build/{PreviewCommand-JYIGS25E.js.map → PreviewCommand-JKPFMGWV.js.map} +0 -0
- /package/build/{chunk-MXLCRTVZ.js.map → chunk-2FB5F5QF.js.map} +0 -0
- /package/build/{chunk-2R6WOCA4.js.map → chunk-4BHNJVL2.js.map} +0 -0
- /package/build/{chunk-6ZJVIMV7.js.map → chunk-6HSUK2A2.js.map} +0 -0
- /package/build/{chunk-2LPICRGU.js.map → chunk-B4SDDVMV.js.map} +0 -0
- /package/build/{chunk-UKELYG5A.js.map → chunk-C4SXZWXS.js.map} +0 -0
- /package/build/{chunk-CMBEPCWL.js.map → chunk-HDXLQ34N.js.map} +0 -0
- /package/build/{chunk-WRYRVOZP.js.map → chunk-KG7BHEJG.js.map} +0 -0
- /package/build/{chunk-2YXY5Y3Z.js.map → chunk-QOUZ6J7N.js.map} +0 -0
- /package/build/platform-sdk/{chunk-RE2R2PA6.js.map → chunk-GZP4Z76C.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/PreviewCommand/index.ts","../src/components/PreviewCommand/PreviewCommand.tsx","../src/components/PreviewCommand/Preview.tsx","../src/components/PreviewCommand/ActionStatus.tsx"],"sourcesContent":["export { PreviewCommand } from './PreviewCommand.js';\n","import React from 'react';\nimport type { FC } from 'react';\nimport { SiteIdProvider } from '../../site-id/index.js';\nimport { Preview } from './Preview.js';\n\nexport const PreviewCommand: FC<{\n baseUrl?: string;\n siteIdOverride?: string;\n onPreviewCreated?: (tag: string) => void;\n}> = ({ baseUrl, siteIdOverride, onPreviewCreated }) => {\n return (\n <SiteIdProvider siteId={siteIdOverride}>\n <Preview baseUrl={baseUrl} onPreviewCreated={onPreviewCreated} />\n </SiteIdProvider>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { useARMClient } from '@wix/arm-client';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport type { Monitoring } from '@wix/cli-app-manifest';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport {\n Text,\n Box,\n PointerIcon,\n useAsync,\n useAsyncCallback,\n} from '@wix/cli-ui-kit';\nimport { useDevCenterClient, ComponentType } from '@wix/dev-center-client';\nimport type {\n TopologyComponent,\n MonitoringComponent,\n} from '@wix/dev-center-client';\nimport type { ComponentsForSiteOverride } from '@wix/site-override-client';\nimport { useSiteOverrideClient } from '@wix/site-override-client';\nimport { useProjectModel } from '../../model.js';\nimport { useSiteId } from '../../site-id/index.js';\nimport { ArmTagProvider } from '../../context/armTag.js';\nimport { createPreviewTag } from '../../preview/create-preview-tag.js';\nimport { uploadApplication } from '../../hosting/upload-application.js';\nimport { assertBuildOutputExists } from '../../files/assert-build-output-exists.js';\nimport { ActionStatus } from './ActionStatus.js';\nimport { PlatformViewer } from '../Platform/PlatformViewer.js';\nimport { saveAppConfig } from '../../files/app.config.js';\nimport { useBackendComponents } from '../../backend/useBackendComponents.js';\nimport { createSiteOverrides } from '../../site-override/createSiteOverrides.js';\nimport { SiteOverrideProvider } from '../../context/siteOverride.js';\n\nexport const Preview: FC<{\n baseUrl?: string;\n onPreviewCreated?: (tag: string, backendServerUrl?: string) => void;\n}> = ({ baseUrl, onPreviewCreated }) => {\n const { site } = useSiteId();\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const { backendComponents } = useBackendComponents();\n const arm = useARMClient();\n const biLogger = useBiLogger();\n const { getAppByVersion } = useDevCenterClient();\n const { createOverride } = useSiteOverrideClient();\n const httpClient = useHttpClient({ type: 'backoffice' });\n\n const uploadApplicationAction = useAsyncCallback(() =>\n uploadApplication(\n model.config.appId,\n model.projectFolder,\n biLogger,\n httpClient,\n backendComponents.length > 0\n )\n );\n\n const createSiteOverrideIdAction = useAsyncCallback(\n (_, overrides: ComponentsForSiteOverride) =>\n createOverride({\n appId: model.config.appId,\n siteId: site.id,\n overrides,\n })\n );\n\n const createPreviewTagAction = useAsyncCallback(\n (\n _,\n serveUrl: string,\n topologyComponentId?: string,\n backendServerUrl?: string,\n monitoringData?: Monitoring['compData']['monitoring'],\n monitoringComponentId?: string\n ) =>\n createPreviewTag({\n model,\n arm,\n serveUrl,\n backendServerUrl,\n topologyComponentId,\n monitoringData,\n monitoringComponentId,\n })\n );\n\n const { status: createPreviewStatus } = useAsync(async () => {\n await assertBuildOutputExists(model.projectFolder);\n const { serveUrl, backendServerUrl } = baseUrl\n ? { serveUrl: baseUrl, backendServerUrl: undefined }\n : await uploadApplicationAction.execute();\n const {\n data: { components },\n } = await getAppByVersion({\n appId: model.config.appId,\n });\n const topologyComponent = components.find(\n (component): component is TopologyComponent => {\n return component.compType === ComponentType.TOPOLOGY;\n }\n );\n const monitoringComponent = components.find(\n (component): component is MonitoringComponent => {\n return component.compType === ComponentType.MONITORING;\n }\n );\n const overrides = createSiteOverrides(model);\n const { id: siteOverrideId } = overrides\n ? await createSiteOverrideIdAction.execute(overrides)\n : await Promise.resolve({ id: undefined });\n const armTag = await createPreviewTagAction.execute(\n serveUrl,\n topologyComponent?.compId,\n backendServerUrl,\n monitoringComponent?.compData.monitoring,\n monitoringComponent?.compId\n );\n\n if (topologyComponent || monitoringComponent) {\n // Once there is topology/monitoring in production I want to use the same id for dev as well,\n // to reduce confusion during debug.\n await saveAppConfig(model.projectFolder, {\n ...(topologyComponent\n ? { topologyComponentId: topologyComponent.compId }\n : {}),\n ...(monitoringComponent\n ? { monitoringComponentId: monitoringComponent.compId }\n : {}),\n });\n }\n\n onPreviewCreated?.(armTag, backendServerUrl);\n\n return { armTag, siteOverrideId };\n }, []);\n\n return (\n <>\n <ActionStatus\n status={uploadApplicationAction.status}\n loadingText={t('preview_command.uploading_files')}\n successText={t('preview_command.uploading_files_success')}\n />\n <ActionStatus\n status={createPreviewTagAction.status}\n loadingText={t('preview_command.creating_preview')}\n successText={t('preview_command.creating_preview_success')}\n />\n {match(createPreviewStatus, {\n Error: () => null,\n Loading: () => null,\n Success: ({ result: { armTag, siteOverrideId } }) => (\n <SiteOverrideProvider siteOverrideId={siteOverrideId}>\n <ArmTagProvider armTag={armTag}>\n <Box rowGap={1} marginY={1} flexDirection=\"column\">\n <Box gap={1}>\n <PointerIcon />\n <Trans\n i18nKey=\"general.dev_site.current\"\n values={{ name: site.displayName }}\n />\n </Box>\n <Box rowGap={1}>\n <PlatformViewer />\n </Box>\n <Text skin=\"info\">\n {t('preview_command.note_about_temporary_backend')}\n </Text>\n </Box>\n </ArmTagProvider>\n </SiteOverrideProvider>\n ),\n })}\n </>\n );\n};\n","import type { AsyncCallbackStatus } from '@wix/cli-ui-kit';\nimport { Alert, Spinner } from '@wix/cli-ui-kit';\nimport type { FC } from 'react';\nimport React from 'react';\nimport { match } from 'variant';\n\nexport const ActionStatus: FC<{\n status: AsyncCallbackStatus<unknown>;\n loadingText: string;\n successText: string;\n}> = ({ status, loadingText, successText }) =>\n match(status, {\n NotRequested: () => null,\n Loading: () => <Spinner text={loadingText} />,\n Error: () => null,\n Success: () => <Alert type=\"success\">{successText}</Alert>,\n });\n"],"mappings":";;ueAAAA,ICAAC,IAAA,IAAAC,EAAkB,SCAlBC,IAAA,IAAAC,EAAkB,SAElBC,EAAsB,SCFtBC,IAGA,IAAAC,EAAkB,SAClBC,EAAsB,SAETC,EAIR,CAAC,CAAE,OAAAC,EAAQ,YAAAC,EAAa,YAAAC,CAAY,OACvC,SAAMF,EAAQ,CACZ,aAAc,IAAM,KACpB,QAAS,IAAM,EAAAG,QAAA,cAACC,EAAA,CAAQ,KAAMH,EAAa,EAC3C,MAAO,IAAM,KACb,QAAS,IAAM,EAAAE,QAAA,cAACE,EAAA,CAAM,KAAK,WAAWH,CAAY,CACpD,CAAC,EDmBI,IAAMI,GAGR,CAAC,CAAE,QAAAC,EAAS,iBAAAC,CAAiB,IAAM,CACtC,GAAM,CAAE,KAAAC,CAAK,EAAIC,EAAU,EACrB,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvB,CAAE,MAAAC,CAAM,EAAIC,EAAgB,EAC5B,CAAE,kBAAAC,EAAkB,EAAIC,EAAqB,EAC7CC,GAAMC,EAAa,EACnBC,GAAWC,EAAY,EACvB,CAAE,gBAAAC,EAAgB,EAAIC,EAAmB,EACzC,CAAE,eAAAC,EAAe,EAAIC,EAAsB,EAC3CC,GAAaC,EAAc,CAAE,KAAM,YAAa,CAAC,EAEjDC,EAA0BC,EAAiB,IAC/CC,EACEhB,EAAM,OAAO,MACbA,EAAM,cACNM,GACAM,GACAV,GAAkB,OAAS,CAC7B,CACF,EAEMe,GAA6BF,EACjC,CAACG,EAAGC,IACFT,GAAe,CACb,MAAOV,EAAM,OAAO,MACpB,OAAQJ,EAAK,GACb,UAAAuB,CACF,CAAC,CACL,EAEMC,EAAyBL,EAC7B,CACEG,EACAG,EACAC,EACAC,EACAC,EACAC,IAEAC,EAAiB,CACf,MAAA1B,EACA,IAAAI,GACA,SAAAiB,EACA,iBAAAE,EACA,oBAAAD,EACA,eAAAE,EACA,sBAAAC,CACF,CAAC,CACL,EAEM,CAAE,OAAQE,EAAoB,EAAIC,EAAS,SAAY,CAC3D,MAAMC,EAAwB7B,EAAM,aAAa,EACjD,GAAM,CAAE,SAAAqB,EAAU,iBAAAE,CAAiB,EAAI7B,EACnC,CAAE,SAAUA,EAAS,iBAAkB,MAAU,EACjD,MAAMoB,EAAwB,QAAQ,EACpC,CACJ,KAAM,CAAE,WAAAgB,CAAW,CACrB,EAAI,MAAMtB,GAAgB,CACxB,MAAOR,EAAM,OAAO,KACtB,CAAC,EACK+B,EAAoBD,EAAW,KAClCE,GACQA,EAAU,WAAaC,EAAc,QAEhD,EACMC,EAAsBJ,EAAW,KACpCE,GACQA,EAAU,WAAaC,EAAc,UAEhD,EACMd,EAAYgB,EAAoBnC,CAAK,EACrC,CAAE,GAAIoC,EAAe,EAAIjB,EAC3B,MAAMF,GAA2B,QAAQE,CAAS,EAClD,MAAM,QAAQ,QAAQ,CAAE,GAAI,MAAU,CAAC,EACrCkB,EAAS,MAAMjB,EAAuB,QAC1CC,EACAU,GAAmB,OACnBR,EACAW,GAAqB,SAAS,WAC9BA,GAAqB,MACvB,EAEA,OAAIH,GAAqBG,IAGvB,MAAMI,EAActC,EAAM,cAAe,CACvC,GAAI+B,EACA,CAAE,oBAAqBA,EAAkB,MAAO,EAChD,CAAC,EACL,GAAIG,EACA,CAAE,sBAAuBA,EAAoB,MAAO,EACpD,CAAC,CACP,CAAC,EAGHvC,IAAmB0C,EAAQd,CAAgB,EAEpC,CAAE,OAAAc,EAAQ,eAAAD,EAAe,CAClC,EAAG,CAAC,CAAC,EAEL,OACE,EAAAG,QAAA,gBAAAA,QAAA,cACE,EAAAA,QAAA,cAACC,EAAA,CACC,OAAQ1B,EAAwB,OAChC,YAAahB,EAAE,iCAAiC,EAChD,YAAaA,EAAE,yCAAyC,EAC1D,EACA,EAAAyC,QAAA,cAACC,EAAA,CACC,OAAQpB,EAAuB,OAC/B,YAAatB,EAAE,kCAAkC,EACjD,YAAaA,EAAE,0CAA0C,EAC3D,KACC,SAAM6B,GAAqB,CAC1B,MAAO,IAAM,KACb,QAAS,IAAM,KACf,QAAS,CAAC,CAAE,OAAQ,CAAE,OAAAU,EAAQ,eAAAD,CAAe,CAAE,IAC7C,EAAAG,QAAA,cAACE,EAAA,CAAqB,eAAgBL,GACpC,EAAAG,QAAA,cAACG,EAAA,CAAe,OAAQL,GACtB,EAAAE,QAAA,cAACI,EAAA,CAAI,OAAQ,EAAG,QAAS,EAAG,cAAc,UACxC,EAAAJ,QAAA,cAACI,EAAA,CAAI,IAAK,GACR,EAAAJ,QAAA,cAACK,EAAA,IAAY,EACb,EAAAL,QAAA,cAACM,EAAA,CACC,QAAQ,2BACR,OAAQ,CAAE,KAAMjD,EAAK,WAAY,EACnC,CACF,EACA,EAAA2C,QAAA,cAACI,EAAA,CAAI,OAAQ,GACX,EAAAJ,QAAA,cAACO,EAAA,IAAe,CAClB,EACA,EAAAP,QAAA,cAACQ,EAAA,CAAK,KAAK,QACRjD,EAAE,8CAA8C,CACnD,CACF,CACF,CACF,CAEJ,CAAC,CACH,CAEJ,ED5KO,IAAMkD,GAIR,CAAC,CAAE,QAAAC,EAAS,eAAAC,EAAgB,iBAAAC,CAAiB,IAE9C,EAAAC,QAAA,cAACC,EAAA,CAAe,OAAQH,GACtB,EAAAE,QAAA,cAACE,GAAA,CAAQ,QAASL,EAAS,iBAAkBE,EAAkB,CACjE","names":["init_esm_shims","init_esm_shims","import_react","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","ActionStatus","status","loadingText","successText","React","Spinner","Alert","Preview","baseUrl","onPreviewCreated","site","useSiteId","t","useTranslation","model","useProjectModel","backendComponents","useBackendComponents","arm","useARMClient","biLogger","useBiLogger","getAppByVersion","useDevCenterClient","createOverride","useSiteOverrideClient","httpClient","useHttpClient","uploadApplicationAction","useAsyncCallback","uploadApplication","createSiteOverrideIdAction","_","overrides","createPreviewTagAction","serveUrl","topologyComponentId","backendServerUrl","monitoringData","monitoringComponentId","createPreviewTag","createPreviewStatus","useAsync","assertBuildOutputExists","components","topologyComponent","component","ComponentType","monitoringComponent","createSiteOverrides","siteOverrideId","armTag","saveAppConfig","React","ActionStatus","SiteOverrideProvider","ArmTagProvider","Box_default","PointerIcon","Trans","PlatformViewer","Text","PreviewCommand","baseUrl","siteIdOverride","onPreviewCreated","React","SiteIdProvider","Preview"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/messages.json"],"sourcesContent":["{\n \"create_version_command_def.option.version_type\": \"The type of version you would like to create\",\n \"create_version_command_def.option.approve_preview\": \"Approve preview automatically\",\n \"create_version_command_def.option.base_url\": \"The base url for when static files have been uploaded to an external cdn\",\n \"create_version_command_def.option.site\": \"The site id to use for Application Preview urls, defaults to the current selected development site\",\n \"dev_command_def.option.https\": \"Start local dev server on https\",\n \"app_preview_command_def.option.site\": \"The site id to use for Application Preview urls, defaults to the current selected development site\",\n \"app_preview_command_def.option.base_url\": \"The base url for when static files have been uploaded to an external cdn\",\n \"app_preview_command_def.option.no_input\": \"Disable command interactivity\",\n \"general.loading\": \"Loading...\",\n \"general.no_site_id_configured\": \"You don't have a Development Site currently configured\",\n \"general.site_id_not_found\": \"Your currently configured Development Site was not found ({id})\\nThis may happen because the site was deleted or your access has been revoked.\\n\\nPlease select another Development Site to continue\",\n \"general.dashboard_page_text\": \"<0>Click here</0> to open your application in the Wix Dashboard\",\n \"general.dashboard_page_click_here\": \"Click here\",\n \"general.close_screen\": \"Press <0/> to close\",\n \"logs.backend.clear\": \"Press <0/> to clear\",\n \"general.open_page_error\": \"Failed to open the browser for <0>{title}</0>, use the following URL to open it in your browser:\",\n \"general.dashboard_pages_viewer.title\": \"Press a number key to open a dashboard page:\",\n \"general.dashboard_plugins_viewer.title\": \"Press a number key to open a dashboard plugin:\",\n \"general.dashboard_menu_plugins_viewer.title\": \"Press a number key to open a dashboard menu plugin:\",\n \"general.backend_api_viewer.title\": \"Press a number key to trigger an api:\",\n \"general.backend_plugin_viewer.title\": \"Press a number key to trigger an plugin:\",\n \"general.backend_events_viewer.title\": \"Press a number key to trigger an event:\",\n \"general.numeric_viewer.show_more\": \"View more...\",\n \"general.platform.site\": \"Site\",\n \"general.platform.unpublished_site\": \"Site (publish the site to enable site preview)\",\n \"general.platform.editor\": \"Editor\",\n \"general.platform.dashboard\": \"Dashboard\",\n \"general.platform.backend\": \"Backend\",\n \"general.platform.none\": \"Your project doesn't seem to have any extensions.\\n\\nExtensions are the building blocks of your app.\\nMake sure it is configured properly, or read our <0>documentation</0> to start developing your first extension.\",\n \"general.dev_site.current\": \"Current Development Site: {name}\",\n \"general.view_changes\": \"View your local changes: <0>(Press a key to open)</0>\",\n \"general.open_preview.title_single\": \"Open the preview on the\",\n \"general.open_preview.title_multiple\": \"Open the preview on:\",\n \"preview_command.creating_preview\": \"Creating a preview...\",\n \"preview_command.creating_preview_success\": \"Preview created successfully!\",\n \"preview_command.uploading_files\": \"Uploading your application files...\",\n \"preview_command.uploading_files_success\": \"Uploaded successfully!\",\n \"dev_command.site_provider.loading\": \"Resolving development site...\",\n \"dev_command.custom_elements_migration.loading\": \"Checking site widgets installation...\",\n \"preview_command.note_about_temporary_backend\": \"This preview URL will be available for three days. Afterward, you can create a new preview if you need to.\",\n \"dev_command.dev_environment.loading\": \"Starting dev environment...\",\n \"dev_command.dev_environment.started\": \"Development environment ready\",\n \"dev_command.dev_site.change\": \"(Press <0/> to switch)\",\n \"dev_command.dev_site.current\": \"Current Dev Site: <0>{siteName}</0>\",\n \"dev_command.site_selector.error\": \"Failed to change Development Site!\",\n \"dev_command.dashboard_pages_screen.select_label\": \"Select a dashboard page to open\",\n \"dev_command.dashboard_menu_plugin_screen.select_label\": \"Select a dashboard menu plugin to open\",\n \"dev_command.dashboard_page_plugin_screen.select_label\": \"Select a dashboard plugin to open\",\n \"dev_command.dashboard_modal_screen.select_label\": \"Select a dashboard modal to open\",\n \"dev_command.backend_apis_screen.select_label\": \"Select api to trigger\",\n \"dev_command.backend_events_screen.select_label\": \"Select event to trigger\",\n \"dev_command.backend_plugins_screen.select_label\": \"Select plugin to trigger\",\n \"dev_command.required_apps.loading\": \"Checking required apps...\",\n \"dev_command.required_apps.warning\": \"Make sure you have {requiredAppNames} installed on your site\",\n \"dev_command.config_change\": \"Loading App Manifest changes...\",\n \"dev_command.config_update\": \"App Manifest updated. Refresh existing browser tabs to view the latest changes.\",\n \"dev_command.config_didnt_update\": \"No App Manifest update occurred\",\n \"dev_command.tunneling.confirm\": \"To proceed, we'll set up a secure tunnel from your machine for development purposes\",\n \"dev_command.tunneling.abort_dev\": \"Operation aborted. Tunneling is necessary to run your application.\",\n \"dev_command.new_custom_element.warning\": \"New site widget detected. Press <0/> to open the Site Editor and complete the installation.\",\n \"dev_command.new_custom_element.confirm_reinstall\": \"Press <0/> when you reinstalled app on your dev site\",\n \"dev_command.new_custom_element.reinstall_error\": \"We had troubles with adding your new site widget. You can try to do it by yourself. Press <0/> to continue\",\n \"serve_command.starting_serve_environment\": \"Starting serve environment...\",\n \"serve_command.starting_serve_environment_success\": \"Serve environment started! <0/>\",\n \"serve_command.production_build\": \"Application is using a production build\",\n \"create_version_command.creating_version\": \"Creating a version...\",\n \"create_version_command.creating_version_success\": \"Successfully created v{version}\",\n \"create_version_command.current_version\": \"Your current version is: v{version}\",\n \"create_version_command.confirm_version_events_warning\": \"Any configured events will be deployed to production and take effect once a new version of your app is created.\",\n \"create_version_command.confirm_version_creation\": \"Continue with creating the new version?\",\n \"create_version_command.confirm_version_creation_aborted\": \"Version creation aborted\",\n \"create_version_command.version_type_question\": \"What type of version would you like to create?\",\n \"create_version_command.version_type_question_minor\": \"Minor (v{version})\",\n \"create_version_command.version_type_question_major\": \"Major (v{version})\",\n \"create_version_command.check_preview_before_version_release\": \"Before creating a new version, let's create a preview of your app\",\n \"create_version_command.checking_validation_status\": \"Checking if this version can be submitted…\",\n \"create_version_command.version_validation_ok\": \"This version can be submitted for review in the <0>App Dashboard</0>\",\n \"create_version_command.version_validation_has_failures\": \"This version has blockers preventing it from being submitted for review.\\nPlease fix them and submit your app in the <0>App Dashboard</0>.\",\n \"embedded_script.type.essential\": \"Essential\",\n \"embedded_script.type.essential.description\": \"Must load regardless of policy\",\n \"embedded_script.type.functional\": \"Functional\",\n \"embedded_script.type.functional.description\": \"Adds optional functionality to the site\",\n \"embedded_script.type.analytics\": \"Analytics\",\n \"embedded_script.type.analytics.description\": \"Adds analytics abilities to the site\",\n \"embedded_script.type.advertising\": \"Advertising\",\n \"embedded_script.type.advertising.description\": \"Adds advertising content or advertising tracking to the site\",\n \"embedded_script.placement.head\": \"Head\",\n \"embedded_script.placement.head.description\": \"In the document head\",\n \"embedded_script.placement.body_start\": \"Body Start\",\n \"embedded_script.placement.body_start.description\": \"Prepended in the body\",\n \"embedded_script.placement.body_end\": \"Body End\",\n \"embedded_script.placement.body_end.description\": \"Appended in the body\",\n \"generate_command.description\": \"Add new extensions to your application\",\n \"generate_command.flow.dashboard_category\": \"Dashboard\",\n \"generate_command.flow.site_category\": \"Site\",\n \"generate_command.flow.backend_category\": \"Backend\",\n \"generate_command.flow.dashboard_page\": \"Dashboard Page\",\n \"generate_command.flow.sidebar_category\": \"Sidebar Category\",\n \"generate_command.flow.dashboard_plugin\": \"Dashboard Plugin\",\n \"generate_command.flow.dashboard_menu_plugin\": \"Dashboard Menu Plugin\",\n \"generate_command.flow.embedded_script\": \"Embedded Script\",\n \"generate_command.flow.site_plugin\": \"Site Plugin\",\n \"generate_command.flow.event\": \"Event\",\n \"generate_command.flow.api.title\": \"API\",\n \"generate_command.flow.dashboard_modal\": \"Dashboard Modal\",\n \"generate_command.flow.custom_element\": \"Site Widget\",\n \"generate_command.flow.service_plugin\": \"Service Plugin\",\n \"generate_command.flow.choose_flow\": \"What kind of extension would you like to generate?\",\n \"generate_command.generation.loading\": \"Generating {subject}...\",\n \"generate_command.generation.done\": \"🚀 The new {extensionType} has been generated successfully.\",\n \"generate_command.generation.learn_more\": \"📚 Learn more about {extensionType}: <0/>\",\n \"generate_command.generation.install_dependencies_question\": \"Would you like to install dependencies now?\",\n \"generate_command.generation.new_dependencies\": \"⚠️ New app dependencies have been added. Please run <0>{pkgManagerName} install</0> before continuing to work.\",\n \"generate_command.generation.dependencies_installed\": \"✅ Dependencies installed\",\n \"generate_command.dashboard_page.choose_route\": \"Enter the route for the new page:\",\n \"generate_command.dashboard_page.route_placeholder\": \"my-page\",\n \"generate_command.dashboard_page.choose_title\": \"Page title:\",\n \"generate_command.dashboard_page.title_placeholder\": \"My Page\",\n \"generate_command.dashboard_page.add_to_category\": \"Add to a sidebar category?\",\n \"generate_command.dashboard_page.choose_category\": \"Sidebar category:\",\n \"generate_command.sidebar_category.choose_label\": \"Enter the label for the new category:\",\n \"generate_command.sidebar_category.label_placeholder\": \"My App\",\n \"generate_command.custom_element.validation.element_exists\": \"The custom element folders must be unique, please choose a name that has not been used yet in your application.\",\n \"generate_command.custom_element.validation.element_invalid\": \"The custom element folder must be a valid path ([a-z-/]+) and must not start with a dot.\",\n \"generate_command.custom_element.choose_folder\": \"Widget folder (relative to src/site/widgets/custom-elements):\",\n \"generate_command.custom_element.folder_placeholder\": \"my-widget\",\n \"generate_command.custom_element.choose_name\": \"Widget name:\",\n \"generate_command.custom_element.choose_name.error\": \"Enter a name that is shorter than 30 characters.\",\n \"generate_command.custom_element.name_placeholder\": \"My Widget\",\n \"generate_command.site_plugin.choose_folder\": \"Site plugin folder (relative to src/site/plugins/custom-elements):\",\n \"generate_command.site_plugin.folder_placeholder\": \"my-site-plugin\",\n \"generate_command.site_plugin.choose_name\": \"Site plugin name:\",\n \"generate_command.site_plugin.name_placeholder\": \"My Site Plugin\",\n \"generate_command.site_plugin.plugin_app\": \"Select a Wix app to view its plugin slots\",\n \"generate_command.site_plugin.plugin_app.description\": \"(<0>read more</0>)\",\n \"generate_command.site_plugin.choose_placement\": \"Select the slot in which you’d like to place your plugin\",\n \"generate_command.site_plugin.widget_docs\": \"<0>read more</0>\",\n \"generate_command.embedded_script.validation.script_exists\": \"The script folder must be unique, please choose a name that has not been used yet in your application.\",\n \"generate_command.embedded_script.validation.script_invalid\": \"The script folder must be a valid path ([a-z0-9-/]+) and must not start with a dot.\",\n \"generate_command.embedded_script.choose_folder\": \"Script folder (relative to src/site/embedded-scripts):\",\n \"generate_command.embedded_script.folder_placeholder\": \"my-script\",\n \"generate_command.embedded_script.choose_name\": \"Script name:\",\n \"generate_command.embedded_script.name_placeholder\": \"My Script\",\n \"generate_command.embedded_script.choose_type\": \"Script type:\",\n \"generate_command.embedded_script.type_info\": \"Determine if site visitors' consent is needed to run the script, <0>read more</0>\",\n \"generate_command.embedded_script.choose_placement\": \"Placement:\",\n \"generate_command.embedded_script.placement_info\": \"Will determine where the script is embedded\",\n \"generate_command.dashboard_modal.validation.folder_exists\": \"The modal folder must be unique, please choose a folder name that has not been used yet in your application.\",\n \"generate_command.dashboard_modal.validation.folder_invalid\": \"The modal folder must be a valid path ([a-z0-9-/]+) and must not start with a dot.\",\n \"generate_command.dashboard_modal.choose_folder\": \"Enter the folder name for the new modal:\",\n \"generate_command.dashboard_modal.folder_placeholder\": \"my-modal\",\n \"generate_command.dashboard_modal.choose_title\": \"Modal title:\",\n \"generate_command.dashboard_modal.title_placeholder\": \"My Modal\",\n \"generate_command.dashboard_plugin.what_to_extend\": \"What would you like to extend?\",\n \"generate_command.dashboard_plugin.what_to_extend.description\": \"Plugins let you extend Wix apps by embedding your UI inside dedicated slots within a dashboard page (<0>read more</0>)\",\n \"generate_command.dashboard_plugin.what_to_extend.item_description\": \"<0>read more</0>\",\n \"generate_command.dashboard_plugin.choose_folder\": \"Plugin folder (relative to src/dashboard/plugins)\",\n \"generate_command.dashboard_plugin.folder_placeholder\": \"my-plugin\",\n \"generate_command.dashboard_plugin.choose_title\": \"Plugin title\",\n \"generate_command.dashboard_plugin.title_placeholder\": \"My Plugin\",\n \"generate_command.required_app\": \"Would you like to set {appsNames} as a requirement for your app?\",\n \"generate_command.required_app.description\": \"This means sites must have {appsNames} installed before installing your app (<0>read more</0>)\",\n \"generate_command.dashboard_menu_plugin.what_to_extend\": \"What would you like to extend?\",\n \"generate_command.dashboard_menu_plugin.what_to_extend.description\": \"Menu Plugins let you extend Wix apps by adding a menu item in a pre-defined slot in a menu on a dashboard page (<0>read more</0>)\",\n \"generate_command.dashboard_menu_plugin.what_to_extend.item_description\": \"<0>read more</0>\",\n \"generate_command.dashboard_menu_plugin.what_to_do\": \"What action will happen after clicking on the menu item?\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page\": \"Navigate to a page\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal\": \"Open a modal\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page\": \"Choose a page the menu item will navigate to:\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.info\": \"Choose from a list of available pages in your project or manually add a page from a different app\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.other\": \"Use a page from a different app\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.other.choose_page_id\": \"What is the unique id of the page?\",\n \"generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page.other.page_id_invalid\": \"Page id has to be in the format of a uuid\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component\": \"Choose the modal to open:\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.info\": \"Choose from a list of available modals in your project or manually add a modal from a different app\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.other\": \"Use a modal from a different app\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.other.choose_component_id\": \"What is the unique id of the modal?\",\n \"generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component.other.component_id_invalid\": \"Modal id has to be in the format of a uuid\",\n \"generate_command.dashboard_menu_plugin.choose_folder\": \"Menu Plugin folder (relative to src/dashboard/menu-plugins)\",\n \"generate_command.dashboard_menu_plugin.folder_placeholder\": \"my-plugin\",\n \"generate_command.dashboard_menu_plugin.choose_title\": \"Menu Plugin title\",\n \"generate_command.dashboard_menu_plugin.title_placeholder\": \"My Plugin\",\n \"generate_command.api.api_placeholder\": \"my-api\",\n \"generate_command.api.choose_api_name\": \"How would you like to name your API?\",\n \"generate_command.api.choose_folder\": \"API folder (relative to src/backend/api):\",\n \"generate_command.api.choose_api_name.error\": \"API name must be unique, can not include special characters or spaces, and must be shorter than 20 characters\",\n \"generate_command.api.choose_method\": \"Choose an API method\",\n \"generate_command.event.choose_folder\": \"Event folder (relative to src/backend/events):\",\n \"generate_command.event.folder_placeholder\": \"my-event\",\n \"generate_command.event.choose_folder.error\": \"Event name must be unique, can not include special characters or spaces, and must be shorter than 20 characters\",\n \"generate_command.service_plugin.choose_type\": \"Which service plugin do you want to create\",\n \"generate_command.service_plugin.choose_name\": \"How would you like to name your service plugin\",\n \"generate_command.service_plugin.name_placeholder\": \"my-service-plugin\",\n \"generate_command.service_plugin.groups.stores\": \"Stores\",\n \"generate_command.service_plugin.ecom_additional_fees\": \"Ecom Additional Fees\",\n \"generate_command.service_plugin.ecom_shipping_rates\": \"Ecom Shipping Rates\",\n \"generate_command.service_plugin.ecom_discount_triggers\": \"Ecom Discount Triggers\",\n \"generate_command.service_plugin.ecom_validations\": \"Ecom Validations\",\n \"generate_command.service_plugin.ecom_payment_settings\": \"Ecom Payment Settings\",\n \"generate_command.service_plugin.ecom_gift_cards_provider\": \"Ecom Gift Cards Provider\",\n \"logs_command_def.option.version\": \"Specify the app version to fetch production logs from\",\n \"logs_command.connecting\": \"Connecting to the log server...\",\n \"logs_command.listening_to_logs\": \"Listening to logs from the server.\",\n \"logs_command.prod_env_logs\": \"Prod Environment logs for the version: {version}\"\n}\n"],"mappings":"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","names":["messages_default"]}
|
package/build/chunk-MXLCRTVZ.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a as n}from"./chunk-KNH7RNAZ.js";import{X as t}from"./chunk-522ULCVX.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-MXLCRTVZ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../cli-debug-log/src/index.tsx","../../cli-http-client/src/extract-error.ts","../../cli-http-client/src/error-info.ts"],"sourcesContent":["import { dirname } from 'node:path';\nimport { appendFileSync, mkdirSync } from 'node:fs';\nimport React, { createContext, useContext, useCallback } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport VError from 'verror';\nimport { extractHttpError, getHttpErrorInfo } from '@wix/cli-http-client';\n\nexport function writeCrashReport(reportPath: string, error: unknown) {\n try {\n let content = `----- CLI crash report at ${new Date().toISOString()}\\n`;\n if (error instanceof Error) {\n content += `Error Trace\\n`;\n content += `${VError.fullStack(error)}\\n`;\n content += `Error Info\\n`;\n content += `${JSON.stringify(VError.info(error), null, 2)}\\n`;\n\n const httpError = extractHttpError(error);\n if (httpError) {\n content += `Request Info\\n`;\n content += `${JSON.stringify(getHttpErrorInfo(httpError), null, 2)}\\n`;\n }\n }\n mkdirSync(dirname(reportPath), { recursive: true });\n appendFileSync(reportPath, content);\n } catch {\n // well there is so much we can do...\n }\n}\n\nexport type WriteDebugLogFn = (error: unknown) => void;\n\nconst DebugLogContext = createContext<WriteDebugLogFn | null>(null);\n\ninterface Props {\n filePath: string;\n children: ReactNode;\n}\n\nexport const DebugLogProvider: FC<Props> = ({ filePath, children }) => {\n const writeToDebugLog = useCallback<WriteDebugLogFn>(\n (error) => writeCrashReport(filePath, error),\n [filePath]\n );\n\n return (\n <DebugLogContext.Provider value={writeToDebugLog}>\n {children}\n </DebugLogContext.Provider>\n );\n};\n\nexport const useDebugLog = (): WriteDebugLogFn => {\n const context = useContext(DebugLogContext);\n if (context === null) {\n throw new Error(\n 'useDebugLog() cannot be used without an <DebugLogProvider>'\n );\n }\n return context;\n};\n","import type { IHttpError } from '@wix/http-client';\nimport { HttpClient } from '@wix/http-client';\nimport VError from 'verror';\n\nexport function extractHttpError(error: unknown): IHttpError | null {\n if (HttpClient.isHttpError(error)) {\n return error;\n }\n\n const nestedError = error instanceof Error ? VError.cause(error) : null;\n return nestedError ? extractHttpError(nestedError) : null;\n}\n","import type { IHttpError } from '@wix/http-client';\n\nexport function getHttpErrorInfo(httpError: IHttpError) {\n return {\n request: {\n baseURL: httpError.config.baseURL,\n url: httpError.config.url,\n method: httpError.config.method,\n headers: httpError.config.headers,\n data: httpError.config.data,\n },\n response: {\n code: httpError.code,\n message: httpError.message,\n status: httpError.response?.status,\n headers: httpError.response?.headers,\n data: httpError.response?.data,\n },\n } as const;\n}\n"],"mappings":";;iIAAAA,IAEA,IAAAC,EAA8D,SAE9DC,EAAmB,SAJnB,OAAS,WAAAC,MAAe,YACxB,OAAS,kBAAAC,EAAgB,aAAAC,MAAiB,UCD1CC,IACA,IAAAC,EAA2B,SAC3BC,EAAmB,SAEZ,SAASC,EAAiBC,EAAmC,CAClE,GAAI,aAAW,YAAYA,CAAK,EAC9B,OAAOA,EAGT,IAAMC,EAAcD,aAAiB,MAAQ,EAAAE,QAAO,MAAMF,CAAK,EAAI,KACnE,OAAOC,EAAcF,EAAiBE,CAAW,EAAI,IACvD,CCXAE,IAEO,SAASC,EAAiBC,EAAuB,CACtD,MAAO,CACL,QAAS,CACP,QAASA,EAAU,OAAO,QAC1B,IAAKA,EAAU,OAAO,IACtB,OAAQA,EAAU,OAAO,OACzB,QAASA,EAAU,OAAO,QAC1B,KAAMA,EAAU,OAAO,IACzB,EACA,SAAU,CACR,KAAMA,EAAU,KAChB,QAASA,EAAU,QACnB,OAAQA,EAAU,UAAU,OAC5B,QAASA,EAAU,UAAU,QAC7B,KAAMA,EAAU,UAAU,IAC5B,CACF,CACF,CFZO,SAASC,EAAiBC,EAAoBC,EAAgB,CACnE,GAAI,CACF,IAAIC,EAAU,6BAA6B,IAAI,KAAK,EAAE,YAAY,CAAC;AAAA,EACnE,GAAID,aAAiB,MAAO,CAC1BC,GAAW;AAAA,EACXA,GAAW,GAAG,EAAAC,QAAO,UAAUF,CAAK,CAAC;AAAA,EACrCC,GAAW;AAAA,EACXA,GAAW,GAAG,KAAK,UAAU,EAAAC,QAAO,KAAKF,CAAK,EAAG,KAAM,CAAC,CAAC;AAAA,EAEzD,IAAMG,EAAYC,EAAiBJ,CAAK,EACpCG,IACFF,GAAW;AAAA,EACXA,GAAW,GAAG,KAAK,UAAUI,EAAiBF,CAAS,EAAG,KAAM,CAAC,CAAC;AAAA,EAEtE,CACAG,EAAUC,EAAQR,CAAU,EAAG,CAAE,UAAW,EAAK,CAAC,EAClDS,EAAeT,EAAYE,CAAO,CACpC,MAAQ,CAER,CACF,CAIA,IAAMQ,KAAkB,iBAAsC,IAAI,EAOrDC,EAA8B,CAAC,CAAE,SAAAC,EAAU,SAAAC,CAAS,IAAM,CACrE,IAAMC,KAAkB,eACrBb,GAAUF,EAAiBa,EAAUX,CAAK,EAC3C,CAACW,CAAQ,CACX,EAEA,OACE,EAAAG,QAAA,cAACL,EAAgB,SAAhB,CAAyB,MAAOI,GAC9BD,CACH,CAEJ,EAEaG,EAAc,IAAuB,CAChD,IAAMC,KAAU,cAAWP,CAAe,EAC1C,GAAIO,IAAY,KACd,MAAM,IAAI,MACR,4DACF,EAEF,OAAOA,CACT","names":["init_esm_shims","import_react","import_verror","dirname","appendFileSync","mkdirSync","init_esm_shims","import_http_client","import_verror","extractHttpError","error","nestedError","VError","init_esm_shims","getHttpErrorInfo","httpError","writeCrashReport","reportPath","error","content","VError","httpError","extractHttpError","getHttpErrorInfo","mkdirSync","dirname","appendFileSync","DebugLogContext","DebugLogProvider","filePath","children","writeToDebugLog","React","useDebugLog","context"]}
|
package/build/chunk-RWTMPGYF.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{a as Ne}from"./chunk-2LPICRGU.js";import{a as qe}from"./chunk-EWA6OFAF.js";import{b as K}from"./chunk-NEWE3FX5.js";import{a as Te,b as Ae,c as De,e as Ie,j as Ue,k as Ee}from"./chunk-ATQCL6AZ.js";import{Aa as xe,C as Q,Qa as U,Ra as Y,Ta as L,Ua as be,a as x,b as M,d as g,f as j,na as G,rb as X,ub as w,x as ye,z as Re}from"./chunk-X3ZYER2U.js";import{A as ge,L as $,N as Se,O as _e,P as Ce,R as we,V as Oe,W as Pe,b as C,c as N,e as h,f as S,m as f,n as F,y as he}from"./chunk-522ULCVX.js";import{e as u,h as a}from"./chunk-V4TR6DCM.js";a();var y=u(C(),1),le=u(N(),1);a();var ze=u(C(),1),He=u(N(),1);a();a();a();var ft={},ht={},gt={},St={};var _t={},Ct={},wt={},Ot={};function Z(e){var t={"api._api_base_domain_":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"bo._base_domain_":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"wixbo.ai":[{srcPath:"/apps-release-manager-service-web",destPath:""}],"www._base_domain_":[{srcPath:"/apps-release-manager-service-web/artifacts-release-manager/app-releases",destPath:"/artifacts-release-manager/app-releases"},{srcPath:"/_api/apps-release-manager-service-web/artifacts-release-manager/app-releases",destPath:"/artifacts-release-manager/app-releases"},{srcPath:"/apps-release-manager-service-web/apps/create",destPath:"/apps/create"},{srcPath:"/apps-release-manager-service-web/apps/promote",destPath:"/apps/promote"},{srcPath:"/apps-release-manager-service-web/apps/tags",destPath:"/apps/tags"},{srcPath:"/apps-release-manager-service-web/apps/create-components",destPath:"/apps/create-components"}],"manage._base_domain_":[{srcPath:"/apps-release-manager-service-web/apps/promote",destPath:"/apps/promote"},{srcPath:"/apps-release-manager-service-web/apps/create",destPath:"/apps/create"},{srcPath:"/apps-release-manager-service-web/apps/tags",destPath:"/apps/tags"},{srcPath:"/apps-release-manager-service-web/apps/create-components",destPath:"/apps/create-components"}]};return M(Object.assign(e,{domainToMappings:t}))}function Me(e){var t=g(ft,{}),r=t.toJSON,o=t.fromJSON,s=g(ht,{}).fromJSON;function i(c){var l=c.host,m=r(e),d={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.CreateAppRelease",url:Z({protoPath:"/apps/create/{appId}",data:m,host:l}),data:m,transformResponse:s};return d}return i.fromReq=o,i.__isAmbassador=!0,i}function je(e){var t=g(wt,{}),r=t.toJSON,o=t.fromJSON,s=g(Ot,{}).fromJSON;function i(c){var l=c.host,m=r(e),d={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"PUT",methodFqn:"com.wix.ctp.AppsReleaseManagerService.UpdateAppRelease",url:Z({protoPath:"/apps/tags/{tag}",data:m,host:l}),data:m,transformResponse:s};return d}return i.fromReq=o,i.__isAmbassador=!0,i}function Fe(e){var t=g(gt,{}),r=t.toJSON,o=t.fromJSON,s=g(St,{}).fromJSON;function i(c){var l=c.host,m=r(e),d={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.CreateComponents",url:Z({protoPath:"/apps/create-components/{appId}",data:m,host:l}),data:m,transformResponse:s};return d}return i.fromReq=o,i.__isAmbassador=!0,i}function Le(e){var t=g(_t,{}),r=t.toJSON,o=t.fromJSON,s=g(Ct,{}).fromJSON;function i(c){var l=c.host,m=r(e),d={entityFqdn:"wix.ctp.gradual_rollout.v1.app_config",method:"POST",methodFqn:"com.wix.ctp.AppsReleaseManagerService.PromoteAppReleaseToDevCenter",url:Z({protoPath:"/apps/promote/{appId}/{tag}",data:m,host:l}),data:m,transformResponse:s};return d}return i.fromReq=o,i.__isAmbassador=!0,i}var ee=u(N(),1);a();var Je=f.object({newVersion:f.string()}),ke=f.object({tag:f.string()});var{AppPermissionDenied:ne}=S,Be=(0,ee.variant)({TagUpdated:{},TagNotFound:(0,ee.fields)()}),V=class{constructor(t){this.httpClient=t;let{minRetryTimeout:r}=F();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;createComponents=async(t,r,o)=>{try{await x(()=>this.httpClient.request(Fe({appId:t,componentConfigs:r,projectId:o})),this.retryOptions)}catch(s){throw j(s)&&s.response?.status===403?new h({code:ne({appId:t}),cause:s}):new h({code:S.FailedToCreateComponents(),cause:s})}};createAppRelease=async(t,r)=>{try{let{data:o}=await x(()=>this.httpClient.request(Me({appId:t.appId,componentConfigs:t.components,projectId:r})),this.retryOptions);return ke.parse(o).tag}catch(o){throw j(o)&&o.response?.status===403?new h({code:ne({appId:t.appId}),cause:o}):new h({code:S.FailedToCreateAppRelease(),cause:o})}};updateAppRelease=async(t,r)=>{try{return await x(()=>this.httpClient.request(je({appId:t.appId,componentConfigs:t.components,tag:r})),this.retryOptions),Be.TagUpdated()}catch(o){if(j(o)){if(o.response?.status===404)return Be.TagNotFound({cause:o});if(o.response?.status===403)throw new h({code:ne({appId:t.appId}),cause:o})}throw new h({code:S.FailedToUpdateAppRelease(),cause:o})}};promoteToDevCenter=async(t,r,o)=>{let{data:s}=await x(()=>this.httpClient.request(Le({appId:t,tag:r,versionType:o})),this.retryOptions);return Je.parse(s)}};a();var Ve=u(C(),1);function pe(){let e=L({type:"backoffice"});return(0,Ve.useMemo)(()=>new V(e),[e])}var We=async(e,t,r)=>{let o=await Ue({appId:e.config.appId,components:e.components,componentSourceBuilder:Ee(e,{clientDevServerUrl:t},{backendDevServerUrl:r?.localUrl})});return Ie(o,t,r?.tunnelUrl)};function $e(){let{model:e}=w(),t=K(),{createAppRelease:r,updateAppRelease:o}=pe();return(0,ze.useCallback)(async({backendServerUrl:s,devServerUrl:i,projectModelWatcher:c,onChange:l,onError:m})=>{let{projectId:d}=e.config,P=await We(e,i,s),_=await U(e.projectFolder,t),D=await(async v=>{if(v){let A=await o(P,v);return(0,He.match)(A,{TagUpdated:()=>v,TagNotFound:({cause:R})=>(t(R),r(P,d))})}return r(P,d)})(_?.devArmTag);return D!==_?.devArmTag&&await Y(e.projectFolder,{devArmTag:D}).catch(v=>t(v)),c.onChange(async(v,A)=>{try{if(A==="model-updated"){if(v.components.length===0)return;let R=await We(v,i,s);X(P,R)||await o(R,D)}l(A)}catch(R){m(R)}}).onError(m),D},[r,e,o,t])}a();var J=u(C(),1);import{createServer as Pt}from"vite";function Ke({createConfig:e}){let{reportError:t}=Q(),r=(0,J.useRef)();return(0,J.useEffect)(()=>()=>{r.current?.close().catch(t)},[t]),(0,J.useCallback)(async o=>{let s=await e(o),i=await Pt(s);return r.current=i,await i.listen(),{devServerUrl:Te(i),devServer:i}},[e])}function Qe({https:e}){let{model:t}=w();return Ke({createConfig:({projectModelWatcher:o,baseBackendUrl:s,customLogger:i})=>Ae(t,{type:"dev",https:e,projectModelWatcher:o,customLogger:i},{baseBackendUrl:s})})}function Ge({https:e}){let{model:t}=w(),{getAppSecret:r}=be();return Ke({createConfig:async({projectModelWatcher:s,customLogger:i})=>{let c=await r({appId:t.config.appId});return De(t,{type:"dev",https:e,customLogger:i,projectModelWatcher:s},c)}})}a();var k=u(C(),1),Ye=(0,k.createContext)(null),Xe=({children:e,armTag:t})=>k.default.createElement(Ye.Provider,{value:{armTag:t}},e),me=()=>{let e=(0,k.useContext)(Ye);if(e===null)throw new Error("useArmTag() cannot be used without an <ArmTagProvider>");return e};a();var E=u(C(),1);a();a();a();var yt={},Rt={};function xt(e){var t={"bo._base_domain_":[{srcPath:"/_serverless/site-override",destPath:""}],"wixbo.ai":[{srcPath:"/_serverless/site-override",destPath:""}],"wix-bo.com":[{srcPath:"/_serverless/site-override",destPath:""}],"manage._base_domain_":[{srcPath:"/_serverless/site-override",destPath:""}]};return M(Object.assign(e,{domainToMappings:t}))}function Ze(e){var t=g(yt,{}),r=t.toJSON,o=t.fromJSON,s=g(Rt,{}).fromJSON;function i(c){var l=c.host,m=r(e),d={entityFqdn:"wix.cli.site_override_service.v1.site_override",method:"POST",methodFqn:"wix.cli.v1.SiteOverrideService.CreateOverride",url:xt({protoPath:"/v1/site-overrides",data:m,host:l}),data:m,transformResponse:s};return d}return i.fromReq=o,i.__isAmbassador=!0,i}a();var et=f.object({siteOverride:f.object({id:f.string()})});var te=class{constructor(t){this.httpClient=t;let{minRetryTimeout:r}=F();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;createOverride=async({appId:t,siteId:r,overrides:o,siteOverrideId:s})=>{try{let{data:i}=await x(()=>this.httpClient.request(Ze({siteOverride:{id:s,appId:t,siteId:r,overrides:o}})),this.retryOptions);return et.parse(i).siteOverride}catch(i){throw j(i)&&i.response?.status===403?i.response.data?.details?.applicationError?.code==="PERMISSION_DENIED_FOR_SITE"?new h({code:S.SitePermissionDenied({siteId:r}),cause:i}):new h({code:S.AppPermissionDenied({appId:t}),cause:i}):new h({code:S.FailedToCreateSiteOverride(),cause:i})}}};a();var tt=u(C(),1);function ce(){let e=L({type:"backoffice"});return(0,tt.useMemo)(()=>new te(e),[e])}a();var ot=u(N(),1);a();var re;(function(e){e.UNKNOWN_TYPE="UNKNOWN_TYPE",e.EMBEDDED_SCRIPT="EMBEDDED_SCRIPT"})(re||(re={}));var rt;(function(e){e.UNKNOWN="UNKNOWN",e.ANONYMOUS_VISITOR="ANONYMOUS_VISITOR",e.MEMBER="MEMBER",e.WIX_USER="WIX_USER",e.APP="APP"})(rt||(rt={}));function oe(e){let t=e.components.filter((0,ot.isType)(xe.EmbeddedScript));return t.length===0?null:t.reduce((r,o)=>{let s=o.paramsOverride??{};return{...r,[o.id]:{type:re.EMBEDDED_SCRIPT,componentId:o.id,embeddedScriptOptions:{parameters:s}}}},{})}a();var at=u(C(),1);a();var it=u(C(),1),st=(0,it.createContext)(null);function W(){let e=(0,at.useContext)(st);if(e===null)throw new Error("useSiteId() cannot be used without an <SiteIdProvider>");return e}function nt(){let{model:e}=w(),{site:t}=W(),r=Ce(),o=K(),{createOverride:s}=ce(),{appId:i}=e.config,c=(0,E.useRef)(t),l=(0,E.useRef)(!1);return(0,E.useEffect)(()=>{c.current=t;let m=async()=>{let d=oe(e)??{},_=(await U(e.projectFolder,o))?.devSiteOverrideId;if(!_)throw new h({code:S.InvalidSiteOverrideID()});await s({appId:i,siteId:t.id,overrides:d,siteOverrideId:_})};l.current&&m().catch(r)},[t]),(0,E.useCallback)(async({projectModelWatcher:m})=>{let d=await U(e.projectFolder,o),P=oe(e)??{},{id:_}=await s({appId:i,siteId:t.id,overrides:P,siteOverrideId:d?.devSiteOverrideId});return m.onChange(async(T,D)=>{if(D==="model-updated"){let v=oe(T)??{};X(P,v)||(await s({appId:i,siteId:c.current.id,overrides:v,siteOverrideId:_}),P=v)}}),_!==d?.devSiteOverrideId&&await Y(e.projectFolder,{devSiteOverrideId:_}).catch(T=>o(T)),l.current=!0,_},[e,o,s,i,t])}a();var B=u(C(),1),pt=(0,B.createContext)(null),mt=({children:e,siteOverrideId:t})=>B.default.createElement(pt.Provider,{value:{siteOverrideId:t}},e),de=()=>{let e=(0,B.useContext)(pt);if(e===null)throw new Error("useSiteOverrideId() cannot be used without an <SiteOverrideProvider>");return e};var ct=(0,y.createContext)(null),Eo=({https:e,logger:t,children:r})=>{let{t:o}=Pe(),{reportError:s}=Q(),{backendComponents:i,backendComponentsByType:c}=Ne(),l=Qe({https:e}),m=Ge({https:e}),d=qe(),P=$e(),_=nt(),{watcher:T}=w(),{status:D}=we(async()=>{let v;i.length>0&&(v=await m({projectModelWatcher:T,customLogger:t}).then(async({devServerUrl:I})=>{let fe;if(c.Event.length>0||c.ServicePlugin.length>0){let{url:ut}=await d(Number(new URL(I).port));fe=ut}return{localUrl:I,tunnelUrl:fe}}));let{devServerUrl:A,devServer:R}=await l({baseBackendUrl:v?.localUrl,projectModelWatcher:T,customLogger:t}),ae=await P({backendServerUrl:v,devServerUrl:A,projectModelWatcher:T,onChange(I){(0,le.match)(I,{"change-received":()=>{t.info(o("dev_command.config_change"))},"model-did-not-change":()=>{t.info(o("dev_command.config_didnt_update"))},"model-updated":()=>{R.ws.send({type:"full-reload"}),t.info(o("dev_command.config_update"))}})},onError(I){s(I),t.error(y.default.createElement(Re,{error:I})),t.info(o("dev_command.config_didnt_update"))}}),vt=await _({projectModelWatcher:T});return t.info(y.default.createElement($,{type:"success"},o("dev_command.dev_environment.started"))),{clientDevServerUrl:A,armTag:ae,siteOverrideId:vt,https:e}},[]);return(0,le.match)(D,{Error:()=>null,Loading:()=>y.default.createElement(_e,{text:o("dev_command.dev_environment.loading")}),Success:({result:{clientDevServerUrl:v,https:A,armTag:R,siteOverrideId:ae}})=>y.default.createElement(ct.Provider,{value:{clientDevServerUrl:v,https:A,logger:t}},y.default.createElement(mt,{siteOverrideId:ae},y.default.createElement(Xe,{armTag:R},r)))})};function ie(){let e=(0,y.useContext)(ct);if(e===null)throw new Error("useDevEnvironment() cannot be used without an <DevEnvironmentProvider>");return e}a();a();var bt={},Tt={sites:"_site"},At={createdDate:"google.protobuf.Timestamp",updatedDate:"google.protobuf.Timestamp",trashedDate:"google.protobuf.Timestamp"};function Dt(e){var t={"www._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"},{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"feedback._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"}],"manage._base_domain_":[{srcPath:"/_api/sites-list",destPath:"/api"},{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"},{srcPath:"/_api/sites-list-data",destPath:"/api/sites-list-data"}],"www.wixapis.com":[{srcPath:"/site-list/v2/sites",destPath:"/v2/sites"}],"api._api_base_domain_":[{srcPath:"/sites-list",destPath:""}],"bo._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"wixbo.ai":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"dev._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"editor._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"blocks._base_domain_":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}],"create.editorx":[{srcPath:"/_api/sites-list/v2/sites",destPath:"/v2/sites"}]};return M(Object.assign(e,{domainToMappings:t}))}function ve(e){var t=g(bt,{}),r=t.toJSON,o=t.fromJSON,s=g(Tt,{_site:At}).fromJSON;function i(c){var l=c.host,m=r(e),d={entityFqdn:"wix.site_list.v2.site",method:"POST",methodFqn:"com.wixpress.sitelist.api.SiteListServiceV2.QuerySites",url:Dt({protoPath:"/v2/sites/query",data:m,host:l}),data:m,transformResponse:s};return d}return i.fromReq=o,i.__isAmbassador=!0,i}a();var It=f.object({id:f.string(),displayName:f.string(),viewUrl:f.union([f.string().url(),f.literal("")]).optional()}),ue=f.object({sites:f.array(It)});var z=class{constructor(t){this.httpClient=t;let{minRetryTimeout:r}=F();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;querySites=async(t={})=>{try{let{data:r}=await x(()=>this.httpClient.request(ve(t)),this.retryOptions);return ue.parse(r).sites}catch(r){throw new h({code:S.FailedToQuerySites(),cause:r,info:{...t}})}};getSite=async t=>{try{let{data:r}=await x(()=>this.httpClient.request(ve({query:{filter:{id:{$in:[t]}}}})),this.retryOptions),{sites:o}=ue.parse(r);return o.at(0)??null}catch(r){throw new h({code:S.FailedToGetSite(),cause:r,info:{id:t}})}}};a();var dt=u(C(),1);function Ut(){let e=L({type:"backoffice"});return(0,dt.useMemo)(()=>new z(e),[e])}a();a();var H=u(N(),1),se=(0,H.variant)({NotConfigured:{},NotFound:(0,H.fields)(),Resolved:(0,H.fields)()});a();async function pi({projectFolder:e,siteListClient:{getSite:t},siteId:r,writeDebugLog:o}){let s=r||(await U(e,o))?.siteId;if(!s)return se.NotConfigured();let i=await t(s);return i?se.Resolved({site:i}):se.NotFound({id:s})}a();var O=u(C(),1);var b=u(N(),1);import{URL as q}from"node:url";var Et=(e,t)=>{let r=(0,b.isType)(t,G.Site)?`${e.origin}/_api`:"https://apps.wix.com",o=new q(`${r}/elgar-server/redirect`);return["specs.UseAppsRuntimeCache","specs.ApplyQueryParamsOverrides"].forEach(i=>{o.searchParams.append("experiments",`${i}#true`)}),o.searchParams.append("redirectToUrl",e.toString()),o.searchParams.append("staticsVersions","{}"),o};function lt({url:e,clientDevServerUrl:t}){let r=new q("/redirect",t);return r.searchParams.append("url",e),r.href}function qt(){let{model:e}=w(),{site:t}=W(),{armTag:r}=me(),{siteOverrideId:o}=de();return(0,O.useCallback)(s=>Nt(s,{site:t,appId:e.config.appId,tag:r,siteOverrideId:o}),[t,e.config.appId,r,o])}function wi(){let e=qt(),{https:t,clientDevServerUrl:r}=ie();return(0,O.useCallback)(o=>{let s=e(o);return t&&(s=lt({url:s,clientDevServerUrl:r})),s},[e,t,r])}function Nt(e,t){let{site:r,tag:o,siteOverrideId:s}=t,i=(0,b.match)(e,{Dashboard:()=>new q(`dashboard/${r.id}`,"https://manage.wix.com/"),Editor:()=>new q(`https://wix.com/editor/${r.id}`),Site:()=>{let c=new q(r.viewUrl);return s&&c.searchParams.append("site-override",s),c}});return i.searchParams.append("apps-override",o),(0,b.isOfVariant)(e,(0,b.variantList)([G.Editor,G.Site]))?Et(i,e).toString():i.toString()}function Mt(){let{model:e}=w(),{site:t}=W(),{armTag:r}=me(),{siteOverrideId:o}=de();return(0,O.useCallback)(s=>jt(s,{site:t,appId:e.config.appId,tag:r,siteOverrideId:o}),[t,e.config.appId,r,o])}function Oi(){let e=Mt(),{https:t,clientDevServerUrl:r}=ie();return(0,O.useCallback)(o=>{let s=e(o);return t&&(s=lt({url:s,clientDevServerUrl:r})),s},[e,t,r])}function jt(e,t){let{appId:r,site:o,tag:s}=t,i=(0,b.matcher)(e).with({DashboardPage:()=>new q(`dashboard/${o.id}/app/${r}${e.route}`,"https://manage.wix.com/")}).when(["DashboardMenuPlugin","DashboardPlugin","DashboardModal"],()=>new q(`dashboard/${o.id}${e.route}`,"https://manage.wix.com/")).complete();return i.searchParams.append("apps-override",s),i.toString()}var Pi=()=>{let{logger:e}=ie();return(0,O.useCallback)(async({url:t,title:r})=>{try{await ye(t)}catch{e.error(O.default.createElement($,{type:"error"},O.default.createElement(Oe,{i18nKey:"general.open_page_error",components:[O.default.createElement(ge,{bold:!0})],values:{title:r}}),O.default.createElement(he,null),O.default.createElement(Se,{url:t})))}},[e])};export{z as a,Ut as b,st as c,se as d,pi as e,V as f,pe as g,Xe as h,me as i,ce as j,oe as k,W as l,mt as m,Eo as n,ie as o,Et as p,qt as q,wi as r,Nt as s,Mt as t,Oi as u,jt as v,Pi as w};
|
|
4
|
-
//# sourceMappingURL=chunk-RWTMPGYF.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/DevCommand/DevEnvironment.tsx","../src/components/DevCommand/useArmUpdater.ts","../../arm-client/src/index.ts","../../arm-client/src/client.ts","../../../node_modules/@wix/ambassador-ctp-gradual-rollout-v1-app-config/http.impl.ts","../../arm-client/src/schemas.ts","../../arm-client/src/useARMClient.ts","../src/components/DevCommand/useDevServer.ts","../src/context/armTag.tsx","../src/components/DevCommand/useSiteOverrideUpdater.ts","../../site-override-client/src/index.ts","../../site-override-client/src/client.ts","../../../node_modules/@wix/ambassador-cli-site-override-service-v1-site-override/http.impl.ts","../../site-override-client/src/schemas.ts","../../site-override-client/src/useSiteOverrideClient.ts","../src/site-override/createSiteOverrides.ts","../../../node_modules/@wix/ambassador-cli-site-override-service-v1-site-override/types.impl.ts","../src/site-id/useSiteId.ts","../src/site-id/context.ts","../src/context/siteOverride.tsx","../../site-list-client/src/site-list-client.ts","../../../node_modules/@wix/ambassador-site-list-v2-site/http.impl.ts","../../site-list-client/src/schemas.ts","../../site-list-client/src/useSiteListClient.ts","../../site-list-client/src/index.ts","../src/site-id/site-id-state.ts","../src/site-id/resolve-configured-site.ts","../src/components/extensions/utils.tsx"],"sourcesContent":["import React, { createContext, useContext } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { Spinner, useAsync, Alert } from '@wix/cli-ui-kit';\nimport { ErrorViewer, useErrorReporter } from '@wix/cli-error-reporting';\nimport { useTunnel } from '@wix/cli-tunnel';\nimport { useProjectModel } from '../../model.js';\nimport { useArmUpdater } from './useArmUpdater.js';\nimport type { BackendUrls } from './useArmUpdater.js';\nimport { useClientDevServer, useBackendDevServer } from './useDevServer.js';\nimport { ArmTagProvider } from '../../context/armTag.js';\nimport { useSiteOverrideUpdater } from './useSiteOverrideUpdater.js';\nimport { useBackendComponents } from '../../backend/useBackendComponents.js';\nimport { SiteOverrideProvider } from '../../context/siteOverride.js';\nimport type { Logger } from '../../vite/logger.js';\n\ninterface DevEnvironment {\n https: boolean;\n logger: Logger;\n clientDevServerUrl: string;\n backendDevServerUrl?: string;\n}\n\nconst DevEnvironmentContext = createContext<DevEnvironment | null>(null);\n\nexport const DevEnvironmentProvider: FC<{\n https: boolean;\n logger: Logger;\n children: ReactNode;\n}> = ({ https, logger, children }) => {\n const { t } = useTranslation();\n const { reportError } = useErrorReporter();\n const { backendComponents, backendComponentsByType } = useBackendComponents();\n const createClientDevServer = useClientDevServer({ https });\n const createBackendDevServer = useBackendDevServer({ https });\n const startTunnel = useTunnel();\n const createArmUpdater = useArmUpdater();\n const createSiteOverrideUpdater = useSiteOverrideUpdater();\n const { watcher: projectModelWatcher } = useProjectModel();\n\n const { status } = useAsync(async () => {\n let backendDevServerUrl: BackendUrls | undefined;\n\n if (backendComponents.length > 0) {\n backendDevServerUrl = await createBackendDevServer({\n projectModelWatcher,\n customLogger: logger,\n }).then(async ({ devServerUrl }) => {\n let tunnelUrl: string | undefined;\n if (\n backendComponentsByType.Event.length > 0 ||\n backendComponentsByType.ServicePlugin.length > 0\n ) {\n const { url } = await startTunnel(Number(new URL(devServerUrl).port));\n tunnelUrl = url;\n }\n return { localUrl: devServerUrl, tunnelUrl };\n });\n }\n\n const { devServerUrl: clientDevServerUrl, devServer: clientDevServer } =\n await createClientDevServer({\n baseBackendUrl: backendDevServerUrl?.localUrl,\n projectModelWatcher,\n customLogger: logger,\n });\n\n const armTag = await createArmUpdater({\n backendServerUrl: backendDevServerUrl,\n devServerUrl: clientDevServerUrl,\n projectModelWatcher,\n onChange(changeType) {\n match(changeType, {\n 'change-received': () => {\n logger.info(t('dev_command.config_change'));\n },\n 'model-did-not-change': () => {\n logger.info(t('dev_command.config_didnt_update'));\n },\n 'model-updated': () => {\n clientDevServer.ws.send({ type: 'full-reload' });\n logger.info(t('dev_command.config_update'));\n },\n });\n },\n onError(error) {\n reportError(error);\n\n logger.error(<ErrorViewer error={error} />);\n logger.info(t('dev_command.config_didnt_update'));\n },\n });\n\n const siteOverrideId = await createSiteOverrideUpdater({\n projectModelWatcher,\n });\n\n logger.info(\n <Alert type=\"success\">{t('dev_command.dev_environment.started')}</Alert>\n );\n\n return {\n clientDevServerUrl,\n armTag,\n siteOverrideId,\n https,\n };\n }, []);\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('dev_command.dev_environment.loading')} />,\n Success: ({\n result: { clientDevServerUrl, https, armTag, siteOverrideId },\n }) => (\n <DevEnvironmentContext.Provider\n value={{ clientDevServerUrl, https, logger }}\n >\n <SiteOverrideProvider siteOverrideId={siteOverrideId}>\n <ArmTagProvider armTag={armTag}>{children}</ArmTagProvider>\n </SiteOverrideProvider>\n </DevEnvironmentContext.Provider>\n ),\n });\n};\n\nexport function useDevEnvironment(): DevEnvironment {\n const context = useContext(DevEnvironmentContext);\n if (context === null) {\n throw new Error(\n 'useDevEnvironment() cannot be used without an <DevEnvironmentProvider>'\n );\n }\n return context;\n}\n","import { useCallback } from 'react';\nimport { match } from 'variant';\nimport { deepEqual } from 'fast-equals';\nimport { updateAppManifestWithBaseUrl } from '@wix/cli-app-manifest';\nimport { useARMClient } from '@wix/arm-client';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { createAppManifest } from '../../app-manifest/create.js';\nimport { getComponentSourceBuilder } from '../../app-manifest/component-source.js';\nimport type {\n ChangeType,\n ProjectModelWatcher,\n} from '../../app-manifest/project-model-watcher.js';\nimport { readAppConfig, saveAppConfig } from '../../files/app.config.js';\nimport { useProjectModel } from '../../model.js';\nimport type { ProjectModel } from '../../model.js';\n\nexport interface BackendUrls {\n tunnelUrl?: string;\n localUrl: string;\n}\n\nconst createAppManifestWithBaseUrl = async (\n model: ProjectModel,\n clientDevServerUrl: string,\n backendServerUrl?: BackendUrls\n) => {\n const manifest = await createAppManifest({\n appId: model.config.appId,\n components: model.components,\n componentSourceBuilder: getComponentSourceBuilder(\n model,\n { clientDevServerUrl },\n { backendDevServerUrl: backendServerUrl?.localUrl }\n ),\n });\n\n return updateAppManifestWithBaseUrl(\n manifest,\n clientDevServerUrl,\n backendServerUrl?.tunnelUrl\n );\n};\n\ninterface CreateOptions {\n devServerUrl: string;\n backendServerUrl?: BackendUrls;\n projectModelWatcher: ProjectModelWatcher;\n onChange: (changeType: ChangeType) => void;\n onError: (e: unknown) => void;\n}\n\nexport function useArmUpdater() {\n const { model } = useProjectModel();\n const writeDebugLog = useDebugLog();\n const { createAppRelease, updateAppRelease } = useARMClient();\n\n return useCallback(\n async ({\n backendServerUrl,\n devServerUrl,\n projectModelWatcher,\n onChange,\n onError,\n }: CreateOptions) => {\n const { projectId } = model.config;\n\n const appManifest = await createAppManifestWithBaseUrl(\n model,\n devServerUrl,\n backendServerUrl\n );\n\n const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);\n\n const createOrUpdateAppRelease = async (tag?: string) => {\n if (tag) {\n const updateState = await updateAppRelease(appManifest, tag);\n return match(updateState, {\n TagUpdated: () => tag,\n TagNotFound: ({ cause }) => {\n writeDebugLog(cause);\n return createAppRelease(appManifest, projectId);\n },\n });\n }\n return createAppRelease(appManifest, projectId);\n };\n\n const armTag = await createOrUpdateAppRelease(appConfig?.devArmTag);\n\n if (armTag !== appConfig?.devArmTag) {\n await saveAppConfig(model.projectFolder, { devArmTag: armTag }).catch(\n (error: unknown) => writeDebugLog(error)\n );\n }\n\n projectModelWatcher\n .onChange(async (newModel, changeType) => {\n try {\n if (changeType === 'model-updated') {\n if (newModel.components.length === 0) {\n return;\n }\n\n const updatedAppManifest = await createAppManifestWithBaseUrl(\n newModel,\n devServerUrl,\n backendServerUrl\n );\n\n if (!deepEqual(appManifest, updatedAppManifest)) {\n await updateAppRelease(updatedAppManifest, armTag);\n }\n }\n onChange(changeType);\n } catch (e) {\n onError(e);\n }\n })\n .onError(onError);\n\n return armTag;\n },\n [createAppRelease, model, updateAppRelease, writeDebugLog]\n );\n}\n","export { ARMClient } from './client.js';\nexport { useARMClient } from './useARMClient.js';\n","import type { HttpClient, HttpError } from '@wix/cli-http-client';\nimport type { AppManifest } from '@wix/cli-app-manifest';\nimport type { Options } from 'p-retry';\nimport type {\n VersionType,\n ComponentConfig,\n} from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\nimport {\n createAppRelease,\n promoteAppReleaseToDevCenter,\n updateAppRelease,\n createComponents,\n} from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/http';\nimport pRetry from 'p-retry';\nimport { fields, variant } from 'variant';\nimport { isHttpError } from '@wix/cli-http-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { createAppReleaseSchema, promoteAppReleaseSchema } from './schemas.js';\n\nconst { AppPermissionDenied } = CliErrorCode;\n\nconst UpdateAppReleaseData = variant({\n TagUpdated: {},\n TagNotFound: fields<{ cause: HttpError }>(),\n});\n\nexport class ARMClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n createComponents = async (\n appId: string,\n componentConfigs: ComponentConfig[],\n projectId: string\n ) => {\n try {\n await pRetry(\n () =>\n this.httpClient.request(\n createComponents({\n appId,\n componentConfigs,\n projectId,\n })\n ),\n this.retryOptions\n );\n } catch (e) {\n if (isHttpError(e) && e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId }),\n cause: e,\n });\n }\n throw new CliError({\n code: CliErrorCode.FailedToCreateComponents(),\n cause: e,\n });\n }\n };\n\n createAppRelease = async (manifest: AppManifest, projectId: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createAppRelease({\n appId: manifest.appId,\n componentConfigs: manifest.components,\n projectId,\n })\n ),\n this.retryOptions\n );\n\n return createAppReleaseSchema.parse(data).tag;\n } catch (e) {\n if (isHttpError(e) && e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId: manifest.appId }),\n cause: e,\n });\n }\n throw new CliError({\n code: CliErrorCode.FailedToCreateAppRelease(),\n cause: e,\n });\n }\n };\n\n updateAppRelease = async (manifest: AppManifest, tag: string) => {\n try {\n await pRetry(\n () =>\n this.httpClient.request(\n updateAppRelease({\n appId: manifest.appId,\n componentConfigs: manifest.components,\n tag,\n })\n ),\n this.retryOptions\n );\n\n return UpdateAppReleaseData.TagUpdated();\n } catch (e) {\n if (isHttpError(e)) {\n if (e.response?.status === 404) {\n return UpdateAppReleaseData.TagNotFound({ cause: e });\n }\n if (e.response?.status === 403) {\n throw new CliError({\n code: AppPermissionDenied({ appId: manifest.appId }),\n cause: e,\n });\n }\n }\n throw new CliError({\n code: CliErrorCode.FailedToUpdateAppRelease(),\n cause: e,\n });\n }\n };\n\n promoteToDevCenter = async (\n appId: string,\n tag: string,\n versionType: VersionType\n ) => {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n promoteAppReleaseToDevCenter({ appId, tag, versionType })\n ),\n this.retryOptions\n );\n\n return promoteAppReleaseSchema.parse(data);\n };\n}\n",null,"import { z } from 'zod';\n\nexport const promoteAppReleaseSchema = z.object({\n newVersion: z.string(),\n});\n\nexport const createAppReleaseSchema = z.object({\n tag: z.string(),\n});\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { ARMClient } from './client.js';\n\nexport function useARMClient(): ARMClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new ARMClient(httpClient), [httpClient]);\n}\n","import { useRef, useCallback, useEffect } from 'react';\nimport { createServer } from 'vite';\nimport type { InlineConfig, ViteDevServer } from 'vite';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\nimport type { ClientViteConfigOptions } from '../../vite/index.js';\nimport { getClientViteConfig, getBackendViteConfig } from '../../vite/index.js';\nimport { getViteServerUrl } from '../../vite/vite-server-url.js';\nimport type { ProjectModelWatcher } from '../../app-manifest/project-model-watcher.js';\nimport { useProjectModel } from '../../model.js';\nimport { ConfigType } from '../../vite/vite-config-options.js';\nimport type { Logger } from '../../vite/logger.js';\n\ninterface Options {\n projectModelWatcher: ProjectModelWatcher;\n customLogger: Logger;\n}\n\nfunction useViteDevServer<T>({\n createConfig,\n}: {\n createConfig: (options: T) => Promise<InlineConfig>;\n}) {\n const { reportError } = useErrorReporter();\n const devServerRef = useRef<ViteDevServer>();\n\n useEffect(() => {\n return () => {\n devServerRef.current?.close().catch(reportError);\n };\n }, [reportError]);\n\n return useCallback(\n async (options: T) => {\n const config = await createConfig(options);\n const devServer = await createServer(config);\n\n devServerRef.current = devServer;\n\n await devServer.listen();\n\n return { devServerUrl: getViteServerUrl(devServer), devServer };\n },\n [createConfig]\n );\n}\n\nexport function useClientDevServer({ https }: { https: boolean }) {\n const { model } = useProjectModel();\n\n const createDevServer = useViteDevServer<Options & ClientViteConfigOptions>({\n createConfig: ({ projectModelWatcher, baseBackendUrl, customLogger }) => {\n return getClientViteConfig(\n model,\n {\n type: ConfigType.dev,\n https,\n projectModelWatcher,\n customLogger,\n },\n { baseBackendUrl }\n );\n },\n });\n\n return createDevServer;\n}\n\nexport function useBackendDevServer({ https }: { https: boolean }) {\n const { model } = useProjectModel();\n const { getAppSecret } = useDevCenterClient();\n\n const createDevServer = useViteDevServer<Options>({\n createConfig: async ({ projectModelWatcher, customLogger }) => {\n const appSecret = await getAppSecret({\n appId: model.config.appId,\n });\n\n return getBackendViteConfig(\n model,\n {\n type: ConfigType.dev,\n https,\n customLogger,\n projectModelWatcher,\n },\n appSecret\n );\n },\n });\n\n return createDevServer;\n}\n","import React, { useContext, createContext } from 'react';\nimport type { FC, ReactNode } from 'react';\n\ninterface ArmTag {\n armTag: string;\n}\n\nconst ArmTagContext = createContext<ArmTag | null>(null);\n\nexport const ArmTagProvider: FC<{ children: ReactNode; armTag: string }> = ({\n children,\n armTag,\n}) => {\n return (\n <ArmTagContext.Provider value={{ armTag }}>\n {children}\n </ArmTagContext.Provider>\n );\n};\n\nexport const useArmTag = () => {\n const context = useContext(ArmTagContext);\n\n if (context === null) {\n throw new Error('useArmTag() cannot be used without an <ArmTagProvider>');\n }\n\n return context;\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport { deepEqual } from 'fast-equals';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { useSiteOverrideClient } from '@wix/site-override-client';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { useExit } from '@wix/cli-ui-kit';\nimport type { ProjectModelWatcher } from '../../app-manifest/project-model-watcher.js';\nimport { useProjectModel } from '../../model.js';\nimport { createSiteOverrides } from '../../site-override/createSiteOverrides.js';\nimport { useSiteId } from '../../site-id/useSiteId.js';\nimport { readAppConfig, saveAppConfig } from '../../files/app.config.js';\n\nexport function useSiteOverrideUpdater() {\n const { model } = useProjectModel();\n const { site } = useSiteId();\n const exit = useExit();\n const writeDebugLog = useDebugLog();\n const { createOverride } = useSiteOverrideClient();\n const { appId } = model.config;\n\n const siteRef = useRef(site);\n const isUpdaterInitialized = useRef(false);\n\n useEffect(() => {\n siteRef.current = site;\n\n const updateSiteOverrides = async () => {\n const overrides = createSiteOverrides(model) ?? {};\n const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);\n const siteOverrideId = appConfig?.devSiteOverrideId;\n\n if (!siteOverrideId) {\n throw new CliError({\n code: CliErrorCode.InvalidSiteOverrideID(),\n });\n }\n\n await createOverride({\n appId,\n siteId: site.id,\n overrides,\n siteOverrideId,\n });\n };\n\n if (isUpdaterInitialized.current) {\n updateSiteOverrides().catch(exit);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [site]);\n\n return useCallback(\n async ({\n projectModelWatcher,\n }: {\n projectModelWatcher: ProjectModelWatcher;\n }) => {\n const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);\n let overrides = createSiteOverrides(model) ?? {};\n\n const { id: siteOverrideId } = await createOverride({\n appId,\n siteId: site.id,\n overrides,\n siteOverrideId: appConfig?.devSiteOverrideId,\n });\n\n projectModelWatcher.onChange(async (newModel, changeType) => {\n if (changeType === 'model-updated') {\n const updatedOverrides = createSiteOverrides(newModel) ?? {};\n\n if (!deepEqual(overrides, updatedOverrides)) {\n await createOverride({\n appId,\n siteId: siteRef.current.id,\n overrides: updatedOverrides,\n siteOverrideId,\n });\n\n overrides = updatedOverrides;\n }\n }\n });\n\n if (siteOverrideId !== appConfig?.devSiteOverrideId) {\n await saveAppConfig(model.projectFolder, {\n devSiteOverrideId: siteOverrideId,\n }).catch((error: unknown) => writeDebugLog(error));\n }\n\n isUpdaterInitialized.current = true;\n\n return siteOverrideId;\n },\n [model, writeDebugLog, createOverride, appId, site]\n );\n}\n","export { SiteOverrideClient } from './client.js';\nexport type { ComponentsForSiteOverride } from './client.js';\nexport { useSiteOverrideClient } from './useSiteOverrideClient.js';\n","import type { HttpClient } from '@wix/cli-http-client';\nimport type { Options } from 'p-retry';\nimport pRetry from 'p-retry';\nimport { createOverride } from '@wix/ambassador-cli-site-override-service-v1-site-override/http';\nimport { isHttpError } from '@wix/cli-http-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport type { ComponentOverride } from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport { createOverrideSchema } from './schemas.js';\n\nexport type ComponentsForSiteOverride = Record<string, ComponentOverride>;\n\nexport class SiteOverrideClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n public createOverride = async ({\n appId,\n siteId,\n overrides,\n siteOverrideId,\n }: {\n appId: string;\n siteId: string;\n overrides: ComponentsForSiteOverride;\n siteOverrideId?: string;\n }) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createOverride({\n siteOverride: {\n id: siteOverrideId,\n appId,\n siteId,\n overrides,\n },\n })\n ),\n this.retryOptions\n );\n\n return createOverrideSchema.parse(data).siteOverride;\n } catch (error) {\n if (isHttpError(error) && error.response?.status === 403) {\n if (\n error.response.data?.details?.applicationError?.code ===\n 'PERMISSION_DENIED_FOR_SITE'\n ) {\n throw new CliError({\n code: CliErrorCode.SitePermissionDenied({ siteId }),\n cause: error,\n });\n }\n\n throw new CliError({\n code: CliErrorCode.AppPermissionDenied({ appId }),\n cause: error,\n });\n }\n\n throw new CliError({\n code: CliErrorCode.FailedToCreateSiteOverride(),\n cause: error,\n });\n }\n };\n}\n",null,"import { z } from 'zod';\n\nexport const createOverrideSchema = z.object({\n siteOverride: z.object({\n id: z.string(),\n }),\n});\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { SiteOverrideClient } from './client.js';\n\nexport function useSiteOverrideClient() {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new SiteOverrideClient(httpClient), [httpClient]);\n}\n","import { isType } from 'variant';\nimport { Type } from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport type { ComponentOverride } from '@wix/ambassador-cli-site-override-service-v1-site-override/types';\nimport type { ProjectModel } from '../model.js';\nimport { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\n\nexport function createSiteOverrides(model: ProjectModel) {\n const componentsToOverride = model.components.filter(\n isType(DevCenterComponent.EmbeddedScript)\n );\n\n if (componentsToOverride.length === 0) {\n return null;\n }\n\n return componentsToOverride.reduce<Record<string, ComponentOverride>>(\n (acc, component) => {\n const paramsOverride = component.paramsOverride ?? {};\n\n return {\n ...acc,\n [component.id]: {\n type: Type.EMBEDDED_SCRIPT,\n componentId: component.id,\n embeddedScriptOptions: { parameters: paramsOverride },\n },\n };\n },\n {}\n );\n}\n",null,"import { useContext } from 'react';\nimport { SiteIdContext } from './context.js';\nimport type { SiteIdState } from './context.js';\n\nexport function useSiteId(): SiteIdState {\n const context = useContext(SiteIdContext);\n if (context === null) {\n throw new Error('useSiteId() cannot be used without an <SiteIdProvider>');\n }\n return context;\n}\n","import { createContext } from 'react';\nimport type { Site } from '@wix/site-list-client';\n\nexport interface SiteIdState {\n site: Site;\n setSite: (site: Site) => Promise<void>;\n}\n\nexport const SiteIdContext = createContext<SiteIdState | null>(null);\n","import React, { useContext, createContext } from 'react';\nimport type { FC, ReactNode } from 'react';\n\ninterface SiteOverride {\n siteOverrideId?: string;\n}\n\nconst SiteOverrideContext = createContext<SiteOverride | null>(null);\n\nexport const SiteOverrideProvider: FC<{\n children: ReactNode;\n siteOverrideId?: string;\n}> = ({ children, siteOverrideId }) => {\n return (\n <SiteOverrideContext.Provider value={{ siteOverrideId }}>\n {children}\n </SiteOverrideContext.Provider>\n );\n};\n\nexport const useSiteOverrideId = () => {\n const context = useContext(SiteOverrideContext);\n\n if (context === null) {\n throw new Error(\n 'useSiteOverrideId() cannot be used without an <SiteOverrideProvider>'\n );\n }\n\n return context;\n};\n","import pRetry from 'p-retry';\nimport type { Options } from 'p-retry';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { QuerySitesRequest } from '@wix/ambassador-site-list-v2-site/types';\nimport { querySites } from '@wix/ambassador-site-list-v2-site/http';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { querySitesSchema } from './schemas.js';\n\nexport class SiteListClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n querySites = async (opts: QuerySitesRequest = {}) => {\n try {\n const { data } = await pRetry(\n () => this.httpClient.request(querySites(opts)),\n this.retryOptions\n );\n\n return querySitesSchema.parse(data).sites;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToQuerySites(),\n cause: e,\n info: { ...opts },\n });\n }\n };\n\n getSite = async (id: string) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n querySites({ query: { filter: { id: { $in: [id] } } } })\n ),\n this.retryOptions\n );\n\n const { sites } = querySitesSchema.parse(data);\n return sites.at(0) ?? null;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSite(),\n cause: e,\n info: { id },\n });\n }\n };\n}\n",null,"import { z } from 'zod';\n\nconst siteSchema = z.object({\n id: z.string(),\n displayName: z.string(),\n viewUrl: z.union([z.string().url(), z.literal('')]).optional(),\n});\n\nexport const querySitesSchema = z.object({\n sites: z.array(siteSchema),\n});\n\nexport type Site = z.TypeOf<typeof siteSchema>;\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { SiteListClient } from './site-list-client.js';\n\nexport function useSiteListClient(): SiteListClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new SiteListClient(httpClient), [httpClient]);\n}\n","export { SiteListClient } from './site-list-client.js';\nexport type { Site } from './schemas.js';\nexport { useSiteListClient } from './useSiteListClient.js';\n","import { variant, fields } from 'variant';\nimport type { VariantOf, TypeNames } from 'variant';\nimport type { Site } from '@wix/site-list-client';\n\nexport const SiteIdState = variant({\n NotConfigured: {},\n NotFound: fields<{ id: string }>(),\n Resolved: fields<{ site: Site }>(),\n});\n\nexport type SiteIdState<T extends TypeNames<typeof SiteIdState> = undefined> =\n VariantOf<typeof SiteIdState, T>;\n","import type { SiteListClient } from '@wix/site-list-client';\nimport type { WriteDebugLogFn } from '@wix/cli-debug-log';\nimport { readAppConfig } from '../files/app.config.js';\nimport { SiteIdState } from './site-id-state.js';\n\nexport async function resolveConfiguredSite({\n projectFolder,\n siteListClient: { getSite },\n siteId,\n writeDebugLog,\n}: {\n projectFolder: string;\n siteListClient: SiteListClient;\n siteId?: string;\n writeDebugLog?: WriteDebugLogFn;\n}) {\n const resolvedSiteId = !siteId\n ? (await readAppConfig(projectFolder, writeDebugLog))?.siteId\n : siteId;\n\n if (!resolvedSiteId) {\n return SiteIdState.NotConfigured();\n }\n\n const site = await getSite(resolvedSiteId);\n\n if (!site) {\n return SiteIdState.NotFound({ id: resolvedSiteId });\n }\n\n return SiteIdState.Resolved({ site });\n}\n","import React, { useCallback } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { matcher, match, isOfVariant, variantList, isType } from 'variant';\nimport { openBrowser } from '@wix/user-browser';\nimport type { Site } from '@wix/site-list-client';\nimport { Alert, Link, Text, Newline } from '@wix/cli-ui-kit';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { URL } from 'node:url';\nimport { useProjectModel } from '../../model.js';\nimport { useSiteId } from '../../site-id/useSiteId.js';\nimport { useArmTag } from '../../context/armTag.js';\nimport type { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\nimport type { DashboardExtension } from './useExtensions.js';\nimport { useSiteOverrideId } from '../../context/siteOverride.js';\nimport { useDevEnvironment } from '../DevCommand/DevEnvironment.js';\n\n/*\nThis function is a workaround to open the new CSM v2 experience to external users before the experiment is open to external users.\n\nIn the *editor and viewer* we are using elgar to redirect the user to the editor with the overrides in his cookie - since there is no support for query params overrides in certain flows.\n*/\nexport const redirectWithCSMv2FTs = (\n url: URL,\n platformType: PlatformType\n): URL => {\n const elgarBaseURL = isType(platformType, PlatformType.Site)\n ? `${url.origin}/_api`\n : 'https://apps.wix.com';\n const elgarRedirectUrl = new URL(`${elgarBaseURL}/elgar-server/redirect`);\n\n const petriOvr = [\n 'specs.UseAppsRuntimeCache',\n 'specs.ApplyQueryParamsOverrides',\n ];\n\n petriOvr.forEach((spec) => {\n elgarRedirectUrl.searchParams.append('experiments', `${spec}#true`);\n });\n elgarRedirectUrl.searchParams.append('redirectToUrl', url.toString());\n elgarRedirectUrl.searchParams.append('staticsVersions', '{}');\n\n return elgarRedirectUrl;\n};\n\nfunction wrapWithRedirectUrl({\n url,\n clientDevServerUrl,\n}: {\n url: string;\n clientDevServerUrl: string;\n}) {\n const redirectUrl = new URL('/redirect', clientDevServerUrl);\n redirectUrl.searchParams.append('url', url);\n\n return redirectUrl.href;\n}\n\nexport function useResolvePlatformUrl() {\n const { model } = useProjectModel();\n const { site } = useSiteId();\n const { armTag } = useArmTag();\n const { siteOverrideId } = useSiteOverrideId();\n\n return useCallback(\n (platformType: PlatformType) => {\n return resolvePlatformUrl(platformType, {\n site,\n appId: model.config.appId,\n tag: armTag,\n siteOverrideId,\n });\n },\n [site, model.config.appId, armTag, siteOverrideId]\n );\n}\n\nexport function useResolvePlatformDevUrl() {\n const resolvePlatformUrl = useResolvePlatformUrl();\n const { https, clientDevServerUrl } = useDevEnvironment();\n\n return useCallback(\n (platformType: PlatformType) => {\n let url = resolvePlatformUrl(platformType);\n\n if (https) {\n url = wrapWithRedirectUrl({ url, clientDevServerUrl });\n }\n\n return url;\n },\n [resolvePlatformUrl, https, clientDevServerUrl]\n );\n}\n\nexport function resolvePlatformUrl(\n platformType: PlatformType,\n options: {\n site: Site;\n appId: string;\n tag: string;\n siteOverrideId?: string;\n }\n) {\n const { site, tag, siteOverrideId } = options;\n\n const url = match(platformType, {\n Dashboard: () => new URL(`dashboard/${site.id}`, 'https://manage.wix.com/'),\n Editor: () => new URL(`https://wix.com/editor/${site.id}`),\n Site: () => {\n const siteUrl = new URL(site.viewUrl!);\n if (siteOverrideId) {\n siteUrl.searchParams.append('site-override', siteOverrideId);\n }\n return siteUrl;\n },\n });\n\n url.searchParams.append('apps-override', tag);\n\n return isOfVariant(\n platformType,\n variantList([PlatformType.Editor, PlatformType.Site])\n )\n ? redirectWithCSMv2FTs(url, platformType).toString()\n : url.toString();\n}\n\nexport function useResolveDashboardExtensionUrl() {\n const { model } = useProjectModel();\n const { site } = useSiteId();\n const { armTag } = useArmTag();\n const { siteOverrideId } = useSiteOverrideId();\n\n return useCallback(\n (extension: DevCenterComponent<DashboardExtension>) => {\n return resolveDashboardExtensionUrl(extension, {\n site,\n appId: model.config.appId,\n tag: armTag,\n siteOverrideId,\n });\n },\n [site, model.config.appId, armTag, siteOverrideId]\n );\n}\n\nexport function useResolveDashboardExtensionDevUrl() {\n const resolveDashboardExtensionUrl = useResolveDashboardExtensionUrl();\n const { https, clientDevServerUrl } = useDevEnvironment();\n\n return useCallback(\n (extension: DevCenterComponent<DashboardExtension>) => {\n let url = resolveDashboardExtensionUrl(extension);\n\n if (https) {\n url = wrapWithRedirectUrl({ url, clientDevServerUrl });\n }\n\n return url;\n },\n [resolveDashboardExtensionUrl, https, clientDevServerUrl]\n );\n}\n\nexport function resolveDashboardExtensionUrl(\n extension: DevCenterComponent<DashboardExtension>,\n options: {\n site: Site;\n appId: string;\n tag: string;\n siteOverrideId?: string;\n }\n) {\n const { appId, site, tag } = options;\n\n const url = matcher(extension)\n .with({\n DashboardPage: () =>\n new URL(\n `dashboard/${site.id}/app/${appId}${extension.route}`,\n 'https://manage.wix.com/'\n ),\n })\n .when(\n ['DashboardMenuPlugin', 'DashboardPlugin', 'DashboardModal'],\n () =>\n new URL(\n `dashboard/${site.id}${extension.route}`,\n 'https://manage.wix.com/'\n )\n )\n .complete();\n\n url.searchParams.append('apps-override', tag);\n\n return url.toString();\n}\n\nexport const useOpenPage = () => {\n const { logger } = useDevEnvironment();\n\n return useCallback(\n async ({ url, title }: { url: string; title: string }) => {\n try {\n await openBrowser(url);\n } catch {\n logger.error(\n <Alert type=\"error\">\n <Trans\n i18nKey=\"general.open_page_error\"\n components={[<Text bold />]}\n values={{ title }}\n />\n <Newline />\n <Link url={url} />\n </Alert>\n );\n }\n },\n [logger]\n );\n};\n"],"mappings":"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","names":["init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","init_esm_shims","init_esm_shims","_createAppReleaseRequest","_createAppReleaseResponse","_createComponentsRequest","_createComponentsResponse","_promoteAppReleaseToDevCenterRequest","_promoteAppReleaseToDevCenterResponse","_updateAppReleaseRequest","_updateAppReleaseResponse","resolveComWixCtpAppsReleaseManagerServiceUrl","opts","domainToMappings","resolveUrl","createAppRelease","payload","_a","serializer","_createAppReleaseRequest","toReq","fromReq","fromRes","_createAppReleaseResponse","__createAppRelease","host","serializedData","metadata","updateAppRelease","__updateAppRelease","createComponents","_createComponentsRequest","_createComponentsResponse","__createComponents","promoteAppReleaseToDevCenter","payload","_a","serializer","_promoteAppReleaseToDevCenterRequest","toReq","fromReq","fromRes","_promoteAppReleaseToDevCenterResponse","__promoteAppReleaseToDevCenter","host","serializedData","metadata","resolveComWixCtpAppsReleaseManagerServiceUrl","import_variant","init_esm_shims","promoteAppReleaseSchema","z","createAppReleaseSchema","AppPermissionDenied","CliErrorCode","UpdateAppReleaseData","ARMClient","httpClient","minRetryTimeout","getTestOverrides","appId","componentConfigs","projectId","pRetry","createComponents","e","isHttpError","CliError","manifest","data","createAppRelease","createAppReleaseSchema","tag","updateAppRelease","versionType","promoteAppReleaseToDevCenter","promoteAppReleaseSchema","init_esm_shims","import_react","useARMClient","httpClient","useHttpClient","ARMClient","createAppManifestWithBaseUrl","model","clientDevServerUrl","backendServerUrl","manifest","createAppManifest","getComponentSourceBuilder","updateAppManifestWithBaseUrl","useArmUpdater","useProjectModel","writeDebugLog","useDebugLog","createAppRelease","updateAppRelease","useARMClient","devServerUrl","projectModelWatcher","onChange","onError","projectId","appManifest","appConfig","readAppConfig","armTag","tag","updateState","cause","saveAppConfig","error","newModel","changeType","updatedAppManifest","deepEqual","e","init_esm_shims","import_react","createServer","useViteDevServer","createConfig","reportError","useErrorReporter","devServerRef","options","config","devServer","createServer","getViteServerUrl","useClientDevServer","https","model","useProjectModel","projectModelWatcher","baseBackendUrl","customLogger","getViteConfig","useBackendDevServer","getAppSecret","useDevCenterClient","appSecret","init_esm_shims","import_react","ArmTagContext","ArmTagProvider","children","armTag","React","useArmTag","context","init_esm_shims","import_react","init_esm_shims","init_esm_shims","init_esm_shims","_createOverrideRequest","_createOverrideResponse","resolveWixCliV1SiteOverrideServiceUrl","opts","domainToMappings","resolveUrl","createOverride","payload","_a","serializer","_createOverrideRequest","toReq","fromReq","fromRes","_createOverrideResponse","__createOverride","host","serializedData","metadata","resolveWixCliV1SiteOverrideServiceUrl","init_esm_shims","createOverrideSchema","z","SiteOverrideClient","httpClient","minRetryTimeout","getTestOverrides","appId","siteId","overrides","siteOverrideId","data","pRetry","createOverride","createOverrideSchema","error","isHttpError","CliError","CliErrorCode","init_esm_shims","import_react","useSiteOverrideClient","httpClient","useHttpClient","SiteOverrideClient","init_esm_shims","import_variant","init_esm_shims","Type","WebhookIdentityType","createSiteOverrides","model","componentsToOverride","DevCenterComponent","acc","component","paramsOverride","Type","init_esm_shims","import_react","init_esm_shims","import_react","SiteIdContext","useSiteId","context","SiteIdContext","useSiteOverrideUpdater","model","useProjectModel","site","useSiteId","exit","useExit","writeDebugLog","useDebugLog","createOverride","useSiteOverrideClient","appId","siteRef","isUpdaterInitialized","updateSiteOverrides","overrides","createSiteOverrides","siteOverrideId","readAppConfig","CliError","CliErrorCode","projectModelWatcher","appConfig","newModel","changeType","updatedOverrides","deepEqual","saveAppConfig","error","init_esm_shims","import_react","SiteOverrideContext","SiteOverrideProvider","children","siteOverrideId","React","useSiteOverrideId","context","DevEnvironmentContext","DevEnvironmentProvider","https","logger","children","t","useTranslation","reportError","useErrorReporter","backendComponents","backendComponentsByType","useBackendComponents","createClientDevServer","useClientDevServer","createBackendDevServer","useBackendDevServer","startTunnel","useTunnel","createArmUpdater","useArmUpdater","createSiteOverrideUpdater","useSiteOverrideUpdater","projectModelWatcher","useProjectModel","status","useAsync","backendDevServerUrl","devServerUrl","tunnelUrl","url","clientDevServerUrl","clientDevServer","armTag","changeType","error","React","ErrorViewer","siteOverrideId","Alert","Spinner","SiteOverrideProvider","ArmTagProvider","useDevEnvironment","context","init_esm_shims","init_esm_shims","_querySitesRequest","_querySitesResponse","_site","resolveComWixpressSitelistApiSiteListServiceV2Url","opts","domainToMappings","resolveUrl","querySites","payload","_a","serializer","toReq","fromReq","fromRes","__querySites","host","serializedData","metadata","init_esm_shims","siteSchema","z","querySitesSchema","SiteListClient","httpClient","minRetryTimeout","getTestOverrides","opts","data","pRetry","querySites","querySitesSchema","e","CliError","CliErrorCode","id","sites","init_esm_shims","import_react","useSiteListClient","httpClient","useHttpClient","SiteListClient","init_esm_shims","init_esm_shims","import_variant","SiteIdState","init_esm_shims","resolveConfiguredSite","projectFolder","getSite","siteId","writeDebugLog","resolvedSiteId","readAppConfig","SiteIdState","site","init_esm_shims","import_react","import_variant","URL","redirectWithCSMv2FTs","url","platformType","elgarBaseURL","PlatformType","elgarRedirectUrl","URL","spec","wrapWithRedirectUrl","clientDevServerUrl","redirectUrl","useResolvePlatformUrl","model","useProjectModel","site","useSiteId","armTag","useArmTag","siteOverrideId","useSiteOverrideId","resolvePlatformUrl","useResolvePlatformDevUrl","https","useDevEnvironment","options","tag","siteUrl","useResolveDashboardExtensionUrl","extension","resolveDashboardExtensionUrl","useResolveDashboardExtensionDevUrl","appId","useOpenPage","logger","title","openBrowser","React","Alert","Trans","Text","Newline","Link"]}
|
package/build/chunk-WLHVYK7Z.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import{b as $,c as ve,d as we,e as Ce}from"./chunk-RWTMPGYF.js";import{b as de}from"./chunk-NEWE3FX5.js";import{Ra as fe,Ta as ye,U as Se,Ua as G,Va as ge,Wa as _e,r as re,s as se,t as me,u as W,ub as E,x as ue}from"./chunk-X3ZYER2U.js";import{A as N,E as le,H as O,I as q,L as Q,M as ae,O as _,P as K,R as h,S as H,V as v,W as d,Y as ce,b as y,c as x,e as I,f as b,m as k,n as oe,x as ne,z as pe}from"./chunk-522ULCVX.js";import{e as p,h as o}from"./chunk-V4TR6DCM.js";o();var A=p(y(),1),ee=p(x(),1);o();var B=p(y(),1),U=p(x(),1);o();o();var g=p(y(),1),Me=p(x(),1);o();var V=p(y(),1),Ie=p(x(),1);o();var xe=p(y(),1);function Be(t){return{cliAction:({question:r,action:i,key:e,additionalInfo:s})=>{t.report(_e({question:r,action:i,key:e,additionalInfo:JSON.stringify(s)}))},cliFlowStepAnswered:({question:r,answer:i,additionalInfo:e})=>{t.report(ge({question:r,answer:i,additionalInfo:JSON.stringify(e)}))}}}function L(){let t=W();return(0,xe.useMemo)(()=>Be(t),[t])}var be=({onSubmit:t,onError:r,sites:i})=>{let e=L(),{t:s}=d(),{getDevSitesCount:n,getDevSitesLimit:c}=G(),{status:w}=h(()=>Promise.all([n(),c()]),[],{onError:r}),u=S=>{e.cliFlowStepAnswered({question:s("site_type_select.label"),answer:S.title}),t(S.value)};return(0,Ie.match)(w,{Error:()=>null,Loading:()=>V.default.createElement(_,{text:s("general.loading")}),Success:({result:[S,f]})=>{let l=S>=f,C=i.length===0;return V.default.createElement(q,{label:s("site_type_select.label"),options:[{availability:C?O.Disabled({reason:s("site_type_select.no_sites")}):O.Enabled(),title:s("site_type_select.pick_existing_site"),value:"select-existing-site"},{title:s("site_type_select.create_new_dev_site"),value:"create-dev-site",availability:l?O.Disabled({reason:s("site_type_select.create_new_dev_site.disabled",{limit:f})}):O.Enabled()}],onSubmit:u})}})};o();var F=p(y(),1),Ae=p(x(),1);o();var T=p(y(),1);o();o();var Te=p(y(),1);o();o();var he=k.record(k.object({appDefinitionId:k.string().optional(),permissions:k.object({revoked:k.boolean()}).optional()}));var z=class{constructor(r){this.httpClient=r}getClientSpecMap=async r=>{try{let{data:i}=await this.httpClient.request({url:`/_api/msm/v1/meta-site/editor-client-spec-map/${r}`});return he.parse(i)}catch(i){throw new I({code:b.FailedToGetClientSpecMap(),cause:i})}};getSiteInstalledApps=async r=>{try{let i=await this.getClientSpecMap(r);return Object.values(i).filter(e=>e.appDefinitionId&&!e.permissions?.revoked).map(e=>e.appDefinitionId)}catch(i){throw new I({code:b.FailedToGetSiteInstalledApps(),cause:i})}};isAppInstalled=async({metaSiteId:r,appId:i})=>{try{let e=await this.getClientSpecMap(r);return Object.values(e).some(n=>n.appDefinitionId===i&&!n.permissions?.revoked)}catch(e){throw new I({code:b.FailedToCheckIfAppInstalled(),cause:e})}}};function j(){let t=ye({type:"general"});return(0,Te.useMemo)(()=>new z(t),[t])}var M=p(x(),1);o();var D=p(y(),1);var Pe=({siteId:t,appId:r})=>{let{t:i}=d(),e=L();return pe(async(s,n)=>{n.return&&(e.cliAction({question:i("install_app_on_site.warning.instructions"),key:"enter",action:"install_app_on_site"}),await ue(`https://manage.wix.com/installer/install?metaSiteId=${t}&appId=${r}&platform=cli&version=latest`))}),D.default.createElement(D.default.Fragment,null,D.default.createElement(v,{i18nKey:"install_app_on_site.warning"}),D.default.createElement(v,{i18nKey:"install_app_on_site.warning.instructions",components:[D.default.createElement(ae,{value:"Enter"})]}))};var X=(0,M.variant)({Success:{},Canceled:{}});function Ne(t){return t&&typeof t=="object"&&"name"in t&&t.name==="AbortError"}var J=({appId:t,site:r,onSubmit:i,onError:e})=>{let{isAppInstalled:s}=j(),{status:n}=h(async({signal:c})=>{let{appInstallationPollInterval:w}=oe();try{return await se(()=>s({metaSiteId:r.id,appId:t}),{interval:w??2e3,timeout:{milliseconds:60*1e3*2,signal:c}}),X.Success()}catch(u){if(u instanceof re)throw new I({code:b.SiteSelectorTimedout(),cause:u});if(Ne(u))return X.Canceled();throw u}},[],{onError:e,onSuccess:c=>{(0,M.isType)(c,X.Success)&&i()}});return(0,M.match)(n,{Error:()=>null,Loading:()=>T.default.createElement(Pe,{siteId:r.id,appId:t}),Success:()=>T.default.createElement(ne,{marginBottom:1,marginLeft:-2},T.default.createElement(N,null,T.default.createElement(le,null)," ",T.default.createElement(N,{skin:"successEmphasized"}," ",T.default.createElement(v,{i18nKey:"general.success"})," ")," ",T.default.createElement(v,{i18nKey:"install_app_on_site.finished_successfully"})))})};var Fe=({status:t,appId:r,onSubmit:i,onError:e})=>{let{t:s}=d();return(0,Ae.match)(t,{NotRequested:()=>null,Error:()=>null,Loading:()=>F.default.createElement(_,{text:s("create_dev_site.loading")}),Success:({result:n})=>F.default.createElement(F.default.Fragment,null,F.default.createElement(v,{i18nKey:"create_dev_site.success",components:[F.default.createElement(N,{skin:"success",bold:!0})],values:{name:n.displayName}}),F.default.createElement(J,{appId:r,site:n,onSubmit:()=>i(n),onError:e}))})};var ke={"general.loading":"Loading...","general.success":"Success","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."};o();var P=p(y(),1);var Le=p(x(),1);o();var Y=p(y(),1);var Ee=({onSubmit:t,sites:r})=>{let{t:i}=d(),e=L(),s=(0,Y.useCallback)(n=>{e.cliFlowStepAnswered({question:i("site_list_select.label"),answer:n.title}),t(n.value)},[e,t,i]);return Y.default.createElement(q,{label:i("site_list_select.label"),options:r.map(n=>({key:n.id,title:n.displayName,description:n.viewUrl,value:n})),onSubmit:s})};var De=({sites:t,appId:r,onSubmit:i,onError:e})=>{let{t:s}=d(),{isAppInstalled:n}=j(),[c,w]=(0,P.useState)(null),u=H((f,l)=>n({metaSiteId:l.id,appId:r}),{onError:e});async function S(f){await u.execute(f)?i(f):w(f)}return P.default.createElement(P.default.Fragment,null,P.default.createElement(Ee,{onSubmit:S,sites:t}),(0,Le.isType)(u.status,"Loading")&&P.default.createElement(_,{text:s("general.loading")}),c&&P.default.createElement(J,{appId:r,site:c,onSubmit:()=>i(c),onError:e}))};var Z=({appId:t,biLogger:r,onSubmit:i,onError:e})=>{let[s,n]=(0,g.useState)(null),{createDevSite:c}=G(),w=$(),{status:u}=h(()=>w.querySites({query:{cursorPaging:{limit:100}}}),[],{onError:e}),S=H(()=>c(),{onError:e});function f(l){n(l),l==="create-dev-site"&&S.execute()}return g.default.createElement(me,{value:r},g.default.createElement(ce,{messages:ke},(0,Me.match)(u,{Error:()=>null,Loading:()=>g.default.createElement(_,{text:g.default.createElement(v,{i18nKey:"general.loading"})}),Success:({result:l})=>g.default.createElement(g.default.Fragment,null,g.default.createElement(be,{onSubmit:f,onError:e,sites:l}),s==="create-dev-site"&&g.default.createElement(Fe,{status:S.status,appId:t,onSubmit:i,onError:e}),s==="select-existing-site"&&g.default.createElement(De,{sites:l,appId:t,onSubmit:i,onError:e}))})))};var R=({state:t,onSubmit:r})=>{let i=K(),{t:e}=d(),{model:s}=E(),n=W();return B.default.createElement(B.default.Fragment,null,(0,U.match)(t,{NotConfigured:(0,U.constant)(B.default.createElement(Q,{type:"insight"},e("general.no_site_id_configured"))),NotFound:({id:c})=>B.default.createElement(Q,{type:"error"},e("general.site_id_not_found",{id:c}))}),B.default.createElement(Z,{appId:s.config.appId,biLogger:n,onSubmit:r,onError:i}))};var je=({children:t,siteId:r})=>{let i=K(),{model:{projectFolder:e}}=E(),s=de(),n=$(),{t:c}=d(),{status:w,merge:u}=h(async()=>Ce({projectFolder:e,siteListClient:n,siteId:r,writeDebugLog:s}),[]),S=(0,A.useCallback)(async l=>{try{await fe(e,{siteId:l.id}),u({result:we.Resolved({site:l})})}catch{throw new I({code:b.FailedToSaveDevelopmentSite({path:Se})})}},[u,e]),f=(0,A.useCallback)(l=>S(l).catch(i),[i,S]);return(0,ee.match)(w,{Error:()=>null,Loading:()=>A.default.createElement(_,{text:c("dev_command.site_provider.loading")}),Success:({result:l})=>(0,ee.match)(l,{NotConfigured:C=>A.default.createElement(R,{state:C,onSubmit:f}),NotFound:C=>A.default.createElement(R,{state:C,onSubmit:f}),Resolved:({site:C})=>A.default.createElement(ve.Provider,{value:{site:C,setSite:S}},typeof t=="function"?t(C):t)})})};o();o();var te=p(y(),1),ie=p(x(),1);function Fi(){let{model:t}=E(),r=(0,te.useCallback)(e=>t.components.some(s=>s.platforms.some((0,ie.isType)(e.type))),[t.components]),i=(0,te.useCallback)(e=>t.components.every(s=>s.platforms.some((0,ie.isType)(e.type))||s.platforms.length===0),[t.components]);return{isPlatformExists:r,hasSinglePlatform:i}}export{j as a,Z as b,je as c,Fi as d};
|
|
4
|
-
//# sourceMappingURL=chunk-WLHVYK7Z.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/site-id/SiteIdProvider.tsx","../src/site-id/ResolveSiteId.tsx","../../cli-site-selector/src/index.ts","../../cli-site-selector/src/SiteSelector.tsx","../../cli-site-selector/src/SiteTypeSelect.tsx","../../cli-site-selector/src/bi.ts","../../cli-site-selector/src/CreateDevSite.tsx","../../cli-site-selector/src/WaitForAppToBeInstalled.tsx","../../metasite-manager-client/src/index.ts","../../metasite-manager-client/src/useMetasiteManagerClient.ts","../../metasite-manager-client/src/metasite-manager-client.ts","../../metasite-manager-client/src/schemas.ts","../../cli-site-selector/src/OpenBrowser.tsx","../../cli-site-selector/src/messages.json","../../cli-site-selector/src/SelectExistingSite.tsx","../../cli-site-selector/src/SiteListSelect.tsx","../src/site-id/index.ts","../src/components/Platform/usePlatform.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport type { FC, ReactNode } 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 { useSiteListClient } from '@wix/site-list-client';\nimport type { Site } from '@wix/site-list-client';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { saveAppConfig } from '../files/app.config.js';\nimport { useProjectModel } from '../model.js';\nimport { ResolveSiteId } from './ResolveSiteId.js';\nimport { SiteIdContext } from './context.js';\nimport { SiteIdState } from './site-id-state.js';\nimport { resolveConfiguredSite } from './resolve-configured-site.js';\n\nexport const SiteIdProvider: FC<{\n siteId?: string;\n children: ReactNode | ((site: Site) => ReactNode);\n}> = ({ children, siteId }) => {\n const exit = useExit();\n const {\n model: { projectFolder },\n } = useProjectModel();\n const writeDebugLog = useDebugLog();\n const siteListClient = useSiteListClient();\n const { t } = useTranslation();\n\n const { status, merge } = useAsync(\n async () =>\n resolveConfiguredSite({\n projectFolder,\n siteListClient,\n siteId,\n writeDebugLog,\n }),\n []\n );\n\n const setSite = useCallback(\n async (site: Site) => {\n try {\n await saveAppConfig(projectFolder, { siteId: site.id });\n merge({ result: SiteIdState.Resolved({ site }) });\n } catch {\n throw new CliError({\n code: CliErrorCode.FailedToSaveDevelopmentSite({\n path: APP_CONFIG_PATH,\n }),\n });\n }\n },\n [merge, projectFolder]\n );\n\n const handleResolveSiteId = useCallback(\n (site: Site) => setSite(site).catch(exit),\n [exit, setSite]\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('dev_command.site_provider.loading')} />,\n Success: ({ result: state }) => {\n return match(state, {\n NotConfigured: (variant) => (\n <ResolveSiteId state={variant} onSubmit={handleResolveSiteId} />\n ),\n NotFound: (variant) => (\n <ResolveSiteId state={variant} onSubmit={handleResolveSiteId} />\n ),\n Resolved: ({ site }) => (\n <SiteIdContext.Provider\n value={{\n site,\n setSite,\n }}\n >\n {typeof children === 'function' ? children(site) : children}\n </SiteIdContext.Provider>\n ),\n });\n },\n });\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match, constant } from 'variant';\nimport type { Site } from '@wix/site-list-client';\nimport { Alert, useExit } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { SiteSelector } from '@wix/cli-site-selector';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport { useProjectModel } from '../model.js';\nimport type { SiteIdState } from './site-id-state.js';\n\ninterface Props {\n state: SiteIdState<'NotConfigured' | 'NotFound'>;\n onSubmit: (site: Site) => void;\n}\n\nexport const ResolveSiteId: FC<Props> = ({ state, onSubmit }) => {\n const exit = useExit();\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const biLogger = useBiLogger();\n\n return (\n <>\n {match(state, {\n NotConfigured: constant(\n <Alert type=\"insight\">{t('general.no_site_id_configured')}</Alert>\n ),\n NotFound: ({ id }) => (\n <Alert type=\"error\">{t('general.site_id_not_found', { id })}</Alert>\n ),\n })}\n <SiteSelector\n appId={model.config.appId}\n biLogger={biLogger}\n onSubmit={onSubmit}\n onError={exit}\n />\n </>\n );\n};\n","export { SiteSelector } from './SiteSelector.js';\n","import React, { useState } from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { I18nProvider, Trans } from '@wix/cli-i18n';\nimport type { Site } from '@wix/site-list-client';\nimport { Spinner, useAsync, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { useSiteListClient } from '@wix/site-list-client';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport { BiProvider } from '@wix/cli-telemetry-react';\nimport { SiteTypeSelect } from './SiteTypeSelect.js';\nimport type { SiteType } from './SiteTypeSelect.js';\nimport { CreateDevSite } from './CreateDevSite.js';\nimport messages from './messages.json';\nimport { SelectExistingSite } from './SelectExistingSite.js';\n\ninterface Props {\n appId: string;\n biLogger: BiLogger;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SiteSelector: FC<Props> = ({\n appId,\n biLogger,\n onSubmit,\n onError,\n}) => {\n const [siteType, setSiteType] = useState<SiteType | null>(null);\n const { createDevSite } = useDevCenterClient();\n const siteListClient = useSiteListClient();\n\n const { status } = useAsync(\n () =>\n siteListClient.querySites({\n query: {\n cursorPaging: {\n limit: 100,\n },\n },\n }),\n [],\n {\n onError,\n }\n );\n\n const createSite = useAsyncCallback(() => createDevSite(), {\n onError,\n });\n\n function handleSelectSiteType(siteType: SiteType) {\n setSiteType(siteType);\n if (siteType === 'create-dev-site') {\n void createSite.execute();\n }\n }\n\n return (\n <BiProvider value={biLogger}>\n <I18nProvider messages={messages}>\n {match(status, {\n Error: () => null,\n Loading: () => <Spinner text={<Trans i18nKey=\"general.loading\" />} />,\n Success: ({ result: sites }) => (\n <>\n <SiteTypeSelect\n onSubmit={handleSelectSiteType}\n onError={onError}\n sites={sites}\n />\n {siteType === 'create-dev-site' && (\n <CreateDevSite\n status={createSite.status}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n {siteType === 'select-existing-site' && (\n <SelectExistingSite\n sites={sites}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n </>\n ),\n })}\n </I18nProvider>\n </BiProvider>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport {\n Spinner,\n SelectInput,\n useAsync,\n SelectOptionAvailability,\n} from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport type { Site } from '@wix/site-list-client';\nimport { useSiteSelectorBi } from './bi.js';\n\nexport type SiteType = 'create-dev-site' | 'select-existing-site';\ninterface Props {\n onSubmit: (siteType: SiteType) => void;\n onError: (error: unknown) => void;\n sites: Site[];\n}\n\nexport const SiteTypeSelect: FC<Props> = ({ onSubmit, onError, sites }) => {\n const bi = useSiteSelectorBi();\n const { t } = useTranslation();\n const { getDevSitesCount, getDevSitesLimit } = useDevCenterClient();\n const { status } = useAsync(\n () => Promise.all([getDevSitesCount(), getDevSitesLimit()]),\n [],\n { onError }\n );\n\n const handleSubmit = (option: SelectOption<SiteType>) => {\n void bi.cliFlowStepAnswered({\n question: t('site_type_select.label'),\n answer: option.title,\n });\n onSubmit(option.value);\n };\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('general.loading')} />,\n Success: ({ result: [devSitesCount, devSitesLimit] }) => {\n const isDevSitesLimitReached = devSitesCount >= devSitesLimit;\n const userHasNoSites = sites.length === 0;\n\n return (\n <SelectInput<SiteType>\n label={t('site_type_select.label')}\n options={[\n {\n availability: userHasNoSites\n ? SelectOptionAvailability.Disabled({\n reason: t('site_type_select.no_sites'),\n })\n : SelectOptionAvailability.Enabled(),\n title: t('site_type_select.pick_existing_site'),\n value: 'select-existing-site',\n },\n {\n title: t('site_type_select.create_new_dev_site'),\n value: 'create-dev-site',\n availability: isDevSitesLimitReached\n ? SelectOptionAvailability.Disabled({\n reason: t('site_type_select.create_new_dev_site.disabled', {\n limit: devSitesLimit,\n }),\n })\n : SelectOptionAvailability.Enabled(),\n },\n ]}\n onSubmit={handleSubmit}\n />\n );\n },\n });\n};\n","import { useMemo } from 'react';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport {\n wixCliAction,\n wixCliAppFlowStepsAnswers,\n} from '@wix/bi-logger-dev-tools-data/v2';\n\nfunction siteSelectorBiEvents(biLogger: BiLogger) {\n return {\n cliAction: ({\n question,\n action,\n key,\n additionalInfo,\n }: {\n question: string;\n action: string;\n key: string;\n additionalInfo?: Record<string, unknown>;\n }) => {\n void biLogger.report(\n wixCliAction({\n question,\n action,\n key,\n additionalInfo: JSON.stringify(additionalInfo),\n })\n );\n },\n cliFlowStepAnswered: ({\n question,\n answer,\n additionalInfo,\n }: {\n question: string;\n answer: string;\n additionalInfo?: Record<string, unknown>;\n }) => {\n void biLogger.report(\n wixCliAppFlowStepsAnswers({\n question,\n answer,\n additionalInfo: JSON.stringify(additionalInfo),\n })\n );\n },\n };\n}\n\nexport function useSiteSelectorBi() {\n const biLogger = useBiLogger();\n return useMemo(() => siteSelectorBiEvents(biLogger), [biLogger]);\n}\n","import React from 'react';\nimport 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 from 'react';\nimport type { FC } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { Box, SuccessIcon, Text, 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\nconst 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 <Box marginBottom={1} marginLeft={-2}>\n <Text>\n <SuccessIcon />{' '}\n <Text skin=\"successEmphasized\">\n {' '}\n <Trans i18nKey=\"general.success\" />{' '}\n </Text>{' '}\n <Trans i18nKey=\"install_app_on_site.finished_successfully\" />\n </Text>\n </Box>\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 private getClientSpecMap = async (metaSiteId: string) => {\n try {\n const { data } = await this.httpClient.request({\n url: `/_api/msm/v1/meta-site/editor-client-spec-map/${metaSiteId}`,\n });\n\n return clientSpecMapSchema.parse(data);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetClientSpecMap(),\n cause: e,\n });\n }\n };\n\n public getSiteInstalledApps = async (metaSiteId: string) => {\n try {\n const clientSpecMap = await this.getClientSpecMap(metaSiteId);\n\n return Object.values(clientSpecMap)\n .filter((spec) => spec.appDefinitionId && !spec.permissions?.revoked)\n .map((spec) => spec.appDefinitionId!);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSiteInstalledApps(),\n cause: e,\n });\n }\n };\n\n public isAppInstalled = async ({\n metaSiteId,\n appId,\n }: {\n metaSiteId: string;\n appId: string;\n }) => {\n try {\n const clientSpecMap = await this.getClientSpecMap(metaSiteId);\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","import React from 'react';\nimport type { FC } from 'react';\nimport { Key, useInput } from '@wix/cli-ui-kit';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\nimport { useSiteSelectorBi } from './bi.js';\n\ninterface Props {\n siteId: string;\n appId: string;\n}\n\nexport const OpenBrowser: FC<Props> = ({ siteId, appId }) => {\n const { t } = useTranslation();\n const bi = useSiteSelectorBi();\n\n useInput(async (input, key) => {\n if (key.return) {\n bi.cliAction({\n question: t('install_app_on_site.warning.instructions'),\n key: 'enter',\n action: 'install_app_on_site',\n });\n await openBrowser(\n `https://manage.wix.com/installer/install?metaSiteId=${siteId}&appId=${appId}&platform=cli&version=latest`\n );\n }\n });\n\n return (\n <>\n <Trans i18nKey=\"install_app_on_site.warning\" />\n <Trans\n i18nKey=\"install_app_on_site.warning.instructions\"\n components={[<Key value=\"Enter\" />]}\n />\n </>\n );\n};\n","{\n \"general.loading\": \"Loading...\",\n \"general.success\": \"Success\",\n \"site_type_select.label\": \"Select Development Site\",\n \"site_type_select.create_new_dev_site\": \"Create a new Development Site\",\n \"site_type_select.create_new_dev_site.disabled\": \"You have reached the maximum number of {limit} Development Sites\",\n \"site_type_select.pick_existing_site\": \"Pick an existing site\",\n \"site_type_select.no_sites\": \"No sites found\",\n \"create_dev_site.loading\": \"Creating your new Development Site...\",\n \"create_dev_site.success\": \"Development Site <0>{name}</0> created successfully! 🚀\",\n \"site_list_select.label\": \"Select Site\",\n \"install_app_on_site.warning\": \"Your new application needs to be installed on the selected Development Site\",\n \"install_app_on_site.warning.instructions\": \"Press <0/> to install the application in your browser\",\n \"install_app_on_site.finished_successfully\": \"App installed on Development Site.\"\n}\n","import React, { useState } from 'react';\nimport { Spinner, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useMetasiteManagerClient } from '@wix/metasite-manager-client';\nimport type { Site } from '@wix/site-list-client';\nimport { isType } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\nimport { SiteListSelect } from './SiteListSelect.js';\n\ninterface Props {\n sites: Site[];\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SelectExistingSite = ({\n sites,\n appId,\n onSubmit,\n onError,\n}: Props) => {\n const { t } = useTranslation();\n const { isAppInstalled } = useMetasiteManagerClient();\n const [siteToInstallAppOn, setSiteToInstallAppOn] = useState<Site | null>(\n null\n );\n const checkAppInstalled = useAsyncCallback(\n (_, site: Site) => isAppInstalled({ metaSiteId: site.id, appId }),\n {\n onError,\n }\n );\n\n async function handleSelectSite(site: Site) {\n const isInstalled = await checkAppInstalled.execute(site);\n if (isInstalled) {\n onSubmit(site);\n } else {\n setSiteToInstallAppOn(site);\n }\n }\n\n return (\n <>\n <SiteListSelect onSubmit={handleSelectSite} sites={sites} />\n {isType(checkAppInstalled.status, 'Loading') && (\n <Spinner text={t('general.loading')} />\n )}\n {siteToInstallAppOn && (\n <WaitForAppToBeInstalled\n appId={appId}\n site={siteToInstallAppOn}\n onSubmit={() => onSubmit(siteToInstallAppOn)}\n onError={onError}\n />\n )}\n </>\n );\n};\n","import React, { useCallback } from 'react';\nimport type { FC } from 'react';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport { SelectInput } from '@wix/cli-ui-kit';\nimport type { Site } from '@wix/site-list-client';\nimport { useSiteSelectorBi } from './bi.js';\n\ninterface Props {\n onSubmit: (site: Site) => void;\n sites: Site[];\n}\n\nexport const SiteListSelect: FC<Props> = ({ onSubmit, sites }) => {\n const { t } = useTranslation();\n const bi = useSiteSelectorBi();\n\n const handleSubmit = useCallback(\n (option: SelectOption<Site>) => {\n bi.cliFlowStepAnswered({\n question: t('site_list_select.label'),\n answer: option.title,\n });\n onSubmit(option.value);\n },\n [bi, onSubmit, t]\n );\n\n return (\n <SelectInput<Site>\n label={t('site_list_select.label')}\n options={sites.map((site) => ({\n key: site.id,\n title: site.displayName,\n description: site.viewUrl,\n value: site,\n }))}\n onSubmit={handleSubmit}\n />\n );\n};\n","export { SiteIdProvider } from './SiteIdProvider.js';\nexport { useSiteId } from './useSiteId.js';\n","import { useCallback } from 'react';\nimport { isType } from 'variant';\nimport type { PlatformType } from '@wix/cli-app-definitions';\nimport { useProjectModel } from '../../model.js';\n\nexport function usePlatform() {\n const { model } = useProjectModel();\n\n const isPlatformExists = useCallback(\n (platformType: PlatformType) =>\n model.components.some((component) =>\n component.platforms.some(isType(platformType.type))\n ),\n [model.components]\n );\n\n const hasSinglePlatform = useCallback(\n (platformType: PlatformType) =>\n model.components.every(\n (component) =>\n component.platforms.some(isType(platformType.type)) ||\n component.platforms.length === 0\n ),\n [model.components]\n );\n\n return {\n isPlatformExists,\n hasSinglePlatform,\n };\n}\n"],"mappings":"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","names":["init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","siteSelectorBiEvents","biLogger","question","action","key","additionalInfo","wixCliAction","answer","wixCliAppFlowStepsAnswers","useSiteSelectorBi","useBiLogger","SiteTypeSelect","onSubmit","onError","sites","bi","useSiteSelectorBi","t","useTranslation","getDevSitesCount","getDevSitesLimit","useDevCenterClient","status","useAsync","handleSubmit","option","React","Spinner","devSitesCount","devSitesLimit","isDevSitesLimitReached","userHasNoSites","SelectInput","SelectOptionAvailability","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","init_esm_shims","init_esm_shims","import_react","init_esm_shims","init_esm_shims","clientSpecMapSchema","z","MetasiteManagerClient","httpClient","metaSiteId","data","clientSpecMapSchema","e","CliError","CliErrorCode","clientSpecMap","spec","appId","useMetasiteManagerClient","httpClient","useHttpClient","MetasiteManagerClient","import_variant","init_esm_shims","import_react","OpenBrowser","siteId","appId","t","useTranslation","bi","useSiteSelectorBi","use_input_default","input","key","openBrowser","React","Trans","Key","AppInstallData","isAbortError","error","WaitForAppToBeInstalled","appId","site","onSubmit","onError","isAppInstalled","useMetasiteManagerClient","status","useAsync","signal","appInstallationPollInterval","getTestOverrides","pWaitFor","TimeoutError","CliError","CliErrorCode","result","React","OpenBrowser","Box_default","Text","SuccessIcon","Trans","CreateDevSite","status","appId","onSubmit","onError","t","useTranslation","React","Spinner","result","Trans","Text","WaitForAppToBeInstalled","messages_default","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","SiteListSelect","onSubmit","sites","t","useTranslation","bi","useSiteSelectorBi","handleSubmit","option","React","SelectInput","site","SelectExistingSite","sites","appId","onSubmit","onError","t","useTranslation","isAppInstalled","useMetasiteManagerClient","siteToInstallAppOn","setSiteToInstallAppOn","checkAppInstalled","useAsyncCallback","_","site","handleSelectSite","React","SiteListSelect","Spinner","WaitForAppToBeInstalled","SiteSelector","appId","biLogger","onSubmit","onError","siteType","setSiteType","createDevSite","useDevCenterClient","siteListClient","useSiteListClient","status","useAsync","createSite","useAsyncCallback","handleSelectSiteType","React","BiProvider","I18nProvider","messages_default","Spinner","Trans","sites","SiteTypeSelect","CreateDevSite","SelectExistingSite","ResolveSiteId","state","onSubmit","exit","useExit","t","useTranslation","model","useProjectModel","biLogger","useBiLogger","React","Alert","id","SiteSelector","SiteIdProvider","children","siteId","exit","useExit","projectFolder","useProjectModel","writeDebugLog","useDebugLog","siteListClient","useSiteListClient","t","useTranslation","status","merge","useAsync","resolveConfiguredSite","setSite","site","saveAppConfig","SiteIdState","CliError","CliErrorCode","APP_CONFIG_PATH","handleResolveSiteId","React","Spinner","state","variant","ResolveSiteId","SiteIdContext","init_esm_shims","init_esm_shims","import_react","import_variant","usePlatform","model","useProjectModel","isPlatformExists","platformType","component","hasSinglePlatform"]}
|