@wix/cli-app 1.1.55 → 1.1.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/CreateVersionCommand-LU6LUBNT.js +269 -0
- package/build/{CreateVersionCommand-XTZT5DED.js.map → CreateVersionCommand-LU6LUBNT.js.map} +1 -1
- package/build/DevCommand-G2BIT4FY.js +1168 -0
- package/build/{DevCommand-Q5XLAGMG.js.map → DevCommand-G2BIT4FY.js.map} +1 -1
- package/build/GenerateCommand-XKWJ2FEG.js +12392 -0
- package/build/GenerateCommand-XKWJ2FEG.js.map +1 -0
- package/build/LogsCommand-HYGDI5KW.js +284 -0
- package/build/{LogsCommand-XJHE75L2.js.map → LogsCommand-HYGDI5KW.js.map} +1 -1
- package/build/PreviewCommand-6EMIKGQN.js +23 -0
- package/build/ServeCommand-YJ5RHQZ4.js +165 -0
- package/build/{ServeCommand-CPZOI7DC.js.map → ServeCommand-YJ5RHQZ4.js.map} +1 -1
- package/build/build-EC7LZLAY.js +3596 -0
- package/build/{build-D3GVJS75.js.map → build-EC7LZLAY.js.map} +1 -1
- package/build/build-Q5P6MZLW.js +97 -0
- package/build/{build-3RXHADZD.js.map → build-Q5P6MZLW.js.map} +1 -1
- package/build/chunk-3KMSVIRS.js +1323 -0
- package/build/{chunk-LJEYXY4V.js.map → chunk-3KMSVIRS.js.map} +1 -1
- package/build/chunk-FH6U3Y37.js +19 -0
- package/build/chunk-FH6U3Y37.js.map +1 -0
- package/build/chunk-GIUEJUXG.js +151 -0
- package/build/{chunk-6HSUK2A2.js.map → chunk-GIUEJUXG.js.map} +1 -1
- package/build/chunk-IJVKSYIY.js +222 -0
- package/build/chunk-IJVKSYIY.js.map +1 -0
- package/build/chunk-IMNXLCE5.js +51 -0
- package/build/{chunk-HDXLQ34N.js.map → chunk-IMNXLCE5.js.map} +1 -1
- package/build/chunk-IWDISZ2R.js +96 -0
- package/build/{chunk-K2A77MMN.js.map → chunk-IWDISZ2R.js.map} +1 -1
- package/build/chunk-JKI4MP27.js +32 -0
- package/build/{chunk-QOUZ6J7N.js.map → chunk-JKI4MP27.js.map} +1 -1
- package/build/chunk-JOVPQ7BW.js +183 -0
- package/build/{chunk-X4BLMM2K.js.map → chunk-JOVPQ7BW.js.map} +1 -1
- package/build/chunk-KCMEJP7H.js +897 -0
- package/build/{chunk-7VOKCPZP.js.map → chunk-KCMEJP7H.js.map} +1 -1
- package/build/chunk-NDFUPX6I.js +635 -0
- package/build/{chunk-GWU77DPO.js.map → chunk-NDFUPX6I.js.map} +1 -1
- package/build/chunk-NUUM6HPA.js +195 -0
- package/build/{chunk-C4SXZWXS.js.map → chunk-NUUM6HPA.js.map} +1 -1
- package/build/chunk-PYIAC2GK.js +66 -0
- package/build/{chunk-V4TR6DCM.js.map → chunk-PYIAC2GK.js.map} +1 -1
- package/build/chunk-QICLTOEP.js +46 -0
- package/build/{chunk-4BHNJVL2.js.map → chunk-QICLTOEP.js.map} +1 -1
- package/build/chunk-QLZPVGJV.js +29 -0
- package/build/{chunk-KG7BHEJG.js.map → chunk-QLZPVGJV.js.map} +1 -1
- package/build/chunk-QZOQAFHK.js +2197 -0
- package/build/chunk-QZOQAFHK.js.map +1 -0
- package/build/chunk-SP37PQ3I.js +38035 -0
- package/build/{chunk-N5D4TFKX.js.map → chunk-SP37PQ3I.js.map} +1 -1
- package/build/chunk-TSFNDZPX.js +39101 -0
- package/build/chunk-TSFNDZPX.js.map +1 -0
- package/build/chunk-TTW4MEC3.js +104 -0
- package/build/{chunk-FKBCPMYK.js.map → chunk-TTW4MEC3.js.map} +1 -1
- package/build/chunk-U4QPSXJP.js +45 -0
- package/build/{chunk-B4SDDVMV.js.map → chunk-U4QPSXJP.js.map} +1 -1
- package/build/chunk-WG365AHZ.js +23 -0
- package/build/{chunk-2FB5F5QF.js.map → chunk-WG365AHZ.js.map} +1 -1
- package/build/chunk-XU5JBKO6.js +29230 -0
- package/build/chunk-XU5JBKO6.js.map +1 -0
- package/build/cloudflare-runtime/entry.js +1 -1
- package/build/cloudflare-runtime/getRegisteredExtensions.js +1 -1
- package/build/devtools-YPSDP32D.js +3702 -0
- package/build/{devtools-4JFNYU2B.js.map → devtools-YPSDP32D.js.map} +1 -1
- package/build/esm-YQVNLOAI.js +22083 -0
- package/build/{esm-HBMYQBEO.js.map → esm-YQVNLOAI.js.map} +1 -1
- package/build/index.js +3252 -21
- package/build/index.js.map +1 -1
- package/build/platform-sdk/chunk-DGX4CFXG.js +2 -0
- package/build/platform-sdk/chunk-DGX4CFXG.js.map +1 -0
- package/build/platform-sdk/chunk-TN6HYRXL.js +2 -0
- package/build/platform-sdk/chunk-TN6HYRXL.js.map +1 -0
- package/build/platform-sdk/dashboard.js +1 -1
- package/build/platform-sdk/dashboard.js.map +1 -1
- package/build/platform-sdk/editor.js +5 -5
- package/build/platform-sdk/editor.js.map +1 -1
- package/build/platform-sdk/site.js +1 -1
- package/build/preview-HPJCC5SU.js +138 -0
- package/build/{preview-TM7JAWFS.js.map → preview-HPJCC5SU.js.map} +1 -1
- package/build/render-command-BJTVLIM5.js +117 -0
- package/build/{render-command-QEQ3L7OX.js.map → render-command-BJTVLIM5.js.map} +1 -1
- package/build/types.impl-CD4WWRUK.js +10 -0
- package/package.json +10 -5
- package/templates/custom-element/dependencies.json +1 -1
- package/templates/dashboard-modal/dependencies.json +1 -1
- package/templates/site-plugin/dependencies.json +1 -1
- package/build/CreateVersionCommand-XTZT5DED.js +0 -4
- package/build/DevCommand-Q5XLAGMG.js +0 -4
- package/build/GenerateCommand-HNFICZJA.js +0 -128
- package/build/GenerateCommand-HNFICZJA.js.map +0 -1
- package/build/LogsCommand-XJHE75L2.js +0 -4
- package/build/PreviewCommand-JKPFMGWV.js +0 -4
- package/build/ServeCommand-CPZOI7DC.js +0 -4
- package/build/build-3RXHADZD.js +0 -4
- package/build/build-D3GVJS75.js +0 -5
- package/build/chunk-2FB5F5QF.js +0 -4
- package/build/chunk-4BHNJVL2.js +0 -4
- package/build/chunk-5OZZ7R6I.js +0 -11
- package/build/chunk-5OZZ7R6I.js.map +0 -1
- package/build/chunk-6HSUK2A2.js +0 -4
- package/build/chunk-7VOKCPZP.js +0 -5
- package/build/chunk-B4SDDVMV.js +0 -4
- package/build/chunk-C4SXZWXS.js +0 -4
- package/build/chunk-FKBCPMYK.js +0 -11
- package/build/chunk-FMIXY6J5.js +0 -115
- package/build/chunk-FMIXY6J5.js.map +0 -1
- package/build/chunk-GWU77DPO.js +0 -4
- package/build/chunk-HDXLQ34N.js +0 -4
- package/build/chunk-JXE3LQ2S.js +0 -100
- package/build/chunk-JXE3LQ2S.js.map +0 -1
- package/build/chunk-K2A77MMN.js +0 -4
- package/build/chunk-KG7BHEJG.js +0 -4
- package/build/chunk-LJEYXY4V.js +0 -4
- package/build/chunk-N5D4TFKX.js +0 -280
- package/build/chunk-PCBMS46R.js +0 -4
- package/build/chunk-PCBMS46R.js.map +0 -1
- package/build/chunk-QOUZ6J7N.js +0 -4
- package/build/chunk-V4TR6DCM.js +0 -4
- package/build/chunk-WJTPY35F.js +0 -9
- package/build/chunk-WJTPY35F.js.map +0 -1
- package/build/chunk-X4BLMM2K.js +0 -4
- package/build/devtools-4JFNYU2B.js +0 -10
- package/build/esm-HBMYQBEO.js +0 -466
- package/build/platform-sdk/chunk-GZP4Z76C.js +0 -2
- package/build/platform-sdk/chunk-GZP4Z76C.js.map +0 -1
- package/build/platform-sdk/chunk-KGLNBMRO.js +0 -2
- package/build/platform-sdk/chunk-KGLNBMRO.js.map +0 -1
- package/build/preview-TM7JAWFS.js +0 -4
- package/build/render-command-QEQ3L7OX.js +0 -4
- package/build/types.impl-L2DPGJ77.js +0 -4
- /package/build/{PreviewCommand-JKPFMGWV.js.map → PreviewCommand-6EMIKGQN.js.map} +0 -0
- /package/build/{types.impl-L2DPGJ77.js.map → types.impl-CD4WWRUK.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
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/useSite.ts","../src/site/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/site-state.ts","../src/site/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 {\n ComponentConfig,\n VersionType,\n} from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\nimport type { AppManifest } from '@wix/cli-app-manifest';\nimport type { HttpClient, HttpError } from '@wix/cli-http-client';\nimport type { Options } from 'p-retry';\nimport {\n createAppRelease,\n createComponents,\n promoteAppReleaseToDevCenter,\n updateAppRelease,\n} from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/http';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { isHttpError } from '@wix/cli-http-client';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport pRetry from 'p-retry';\nimport { fields, variant } from 'variant';\nimport { createAppReleaseSchema, promoteAppReleaseSchema } from './schemas.js';\n\nconst { AppPermissionDenied } = CliErrorCode;\n\nconst UpdateAppReleaseData = variant({\n TagNotFound: fields<{ cause: HttpError }>(),\n TagUpdated: {},\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 maxTimeout: 3 * 1000,\n minTimeout: minRetryTimeout,\n retries: 3,\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 cause: e,\n code: AppPermissionDenied({ appId }),\n });\n }\n throw new CliError({\n cause: e,\n code: CliErrorCode.FailedToCreateComponents(),\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 cause: e,\n code: AppPermissionDenied({ appId: manifest.appId }),\n });\n }\n throw new CliError({\n cause: e,\n code: CliErrorCode.FailedToCreateAppRelease(),\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 cause: e,\n code: AppPermissionDenied({ appId: manifest.appId }),\n });\n }\n }\n throw new CliError({\n cause: e,\n code: CliErrorCode.FailedToUpdateAppRelease(),\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 { useSite } from '../../site/useSite.js';\nimport { readAppConfig, saveAppConfig } from '../../files/app.config.js';\n\nexport function useSiteOverrideUpdater() {\n const { model } = useProjectModel();\n const { site } = useSite();\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 cause: null,\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 { SiteContext } from './context.js';\nimport type { SiteState } from './context.js';\n\nexport function useSite(): SiteState {\n const context = useContext(SiteContext);\n if (context == null) {\n throw new Error('useSite() cannot be used without an <SiteProvider>');\n }\n return context;\n}\n","import { createContext } from 'react';\nimport type { Site } from '@wix/site-list-client';\n\nexport interface SiteState {\n site: Site;\n setSite: (site: Site) => Promise<void>;\n}\n\nexport const SiteContext = createContext<SiteState | 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 SiteState = variant({\n NotConfigured: {},\n NotFound: fields<{ id: string }>(),\n Resolved: fields<{ site: Site }>(),\n});\n\nexport type SiteState<T extends TypeNames<typeof SiteState> = undefined> =\n VariantOf<typeof SiteState, 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 { SiteState } from './site-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 SiteState.NotConfigured();\n }\n\n const site = await getSite(resolvedSiteId);\n\n if (!site) {\n return SiteState.NotFound({ id: resolvedSiteId });\n }\n\n return SiteState.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 { useSite } from '../../site/useSite.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 'specs.thunderbolt.passWidgetBundleUrls',\n 'specs.blocks-client.useBundledWidgetCode',\n ];\n\n for (const spec of petriOvr) {\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 } = useSite();\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 } = useSite();\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","SiteContext","useSite","context","SiteContext","useSiteOverrideUpdater","model","useProjectModel","site","useSite","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","SiteState","init_esm_shims","resolveConfiguredSite","projectFolder","getSite","siteId","writeDebugLog","resolvedSiteId","readAppConfig","SiteState","site","init_esm_shims","import_react","import_variant","URL","redirectWithCSMv2FTs","url","platformType","elgarBaseURL","PlatformType","elgarRedirectUrl","URL","petriOvr","spec","wrapWithRedirectUrl","clientDevServerUrl","redirectUrl","useResolvePlatformUrl","model","useProjectModel","site","useSite","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"]}
|
|
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/useSite.ts","../src/site/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/site-state.ts","../src/site/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 {\n ComponentConfig,\n VersionType,\n} from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\nimport type { AppManifest } from '@wix/cli-app-manifest';\nimport type { HttpClient, HttpError } from '@wix/cli-http-client';\nimport type { Options } from 'p-retry';\nimport {\n createAppRelease,\n createComponents,\n promoteAppReleaseToDevCenter,\n updateAppRelease,\n} from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/http';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { isHttpError } from '@wix/cli-http-client';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport pRetry from 'p-retry';\nimport { fields, variant } from 'variant';\nimport { createAppReleaseSchema, promoteAppReleaseSchema } from './schemas.js';\n\nconst { AppPermissionDenied } = CliErrorCode;\n\nconst UpdateAppReleaseData = variant({\n TagNotFound: fields<{ cause: HttpError }>(),\n TagUpdated: {},\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 maxTimeout: 3 * 1000,\n minTimeout: minRetryTimeout,\n retries: 3,\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 cause: e,\n code: AppPermissionDenied({ appId }),\n });\n }\n throw new CliError({\n cause: e,\n code: CliErrorCode.FailedToCreateComponents(),\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 cause: e,\n code: AppPermissionDenied({ appId: manifest.appId }),\n });\n }\n throw new CliError({\n cause: e,\n code: CliErrorCode.FailedToCreateAppRelease(),\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 cause: e,\n code: AppPermissionDenied({ appId: manifest.appId }),\n });\n }\n }\n throw new CliError({\n cause: e,\n code: CliErrorCode.FailedToUpdateAppRelease(),\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 { useSite } from '../../site/useSite.js';\nimport { readAppConfig, saveAppConfig } from '../../files/app.config.js';\n\nexport function useSiteOverrideUpdater() {\n const { model } = useProjectModel();\n const { site } = useSite();\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 cause: null,\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 { SiteContext } from './context.js';\nimport type { SiteState } from './context.js';\n\nexport function useSite(): SiteState {\n const context = useContext(SiteContext);\n if (context == null) {\n throw new Error('useSite() cannot be used without an <SiteProvider>');\n }\n return context;\n}\n","import { createContext } from 'react';\nimport type { Site } from '@wix/site-list-client';\n\nexport interface SiteState {\n site: Site;\n setSite: (site: Site) => Promise<void>;\n}\n\nexport const SiteContext = createContext<SiteState | 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 SiteState = variant({\n NotConfigured: {},\n NotFound: fields<{ id: string }>(),\n Resolved: fields<{ site: Site }>(),\n});\n\nexport type SiteState<T extends TypeNames<typeof SiteState> = undefined> =\n VariantOf<typeof SiteState, 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 { SiteState } from './site-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 SiteState.NotConfigured();\n }\n\n const site = await getSite(resolvedSiteId);\n\n if (!site) {\n return SiteState.NotFound({ id: resolvedSiteId });\n }\n\n return SiteState.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 { useSite } from '../../site/useSite.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 'specs.thunderbolt.passWidgetBundleUrls',\n 'specs.blocks-client.useBundledWidgetCode',\n ];\n\n for (const spec of petriOvr) {\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 } = useSite();\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 } = useSite();\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":["import_react","import_variant","import_react","import_variant","_a","_a","createAppRelease","updateAppRelease","import_react","getViteConfig","import_react","React","import_react","_a","import_react","import_variant","Type","WebhookIdentityType","import_react","import_react","createOverride","import_react","React","React","https","_a","import_react","import_variant","import_react","import_variant","URL","URL","resolvePlatformUrl","resolveDashboardExtensionUrl","React"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import {
|
|
4
|
+
init_esm_shims
|
|
5
|
+
} from "./chunk-PYIAC2GK.js";
|
|
6
|
+
|
|
7
|
+
// ../../node_modules/@wix/ambassador-ctp-gradual-rollout-v1-app-config/build/es/types.impl.js
|
|
8
|
+
init_esm_shims();
|
|
9
|
+
var VersionType;
|
|
10
|
+
(function(VersionType2) {
|
|
11
|
+
VersionType2["BUILD"] = "BUILD";
|
|
12
|
+
VersionType2["MINOR"] = "MINOR";
|
|
13
|
+
VersionType2["MAJOR"] = "MAJOR";
|
|
14
|
+
})(VersionType || (VersionType = {}));
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
VersionType
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=chunk-FH6U3Y37.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/@wix/ambassador-ctp-gradual-rollout-v1-app-config/types.impl.ts"],"sourcesContent":[null],"mappings":";;;;;;;AA8EA;AAMA,IAAY;CAAZ,SAAYA,cAAW;AACrB,EAAAA,aAAA,OAAA,IAAA;AACA,EAAAA,aAAA,OAAA,IAAA;AACA,EAAAA,aAAA,OAAA,IAAA;AACF,GAJY,gBAAA,cAAW,CAAA,EAAA;","names":["VersionType"]}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import {
|
|
4
|
+
wixCliCliCommand,
|
|
5
|
+
wixCliCliCommandStatus
|
|
6
|
+
} from "./chunk-TSFNDZPX.js";
|
|
7
|
+
import {
|
|
8
|
+
isCliError,
|
|
9
|
+
isCliSystemError,
|
|
10
|
+
require_is_ci
|
|
11
|
+
} from "./chunk-XU5JBKO6.js";
|
|
12
|
+
import {
|
|
13
|
+
__toESM,
|
|
14
|
+
init_esm_shims
|
|
15
|
+
} from "./chunk-PYIAC2GK.js";
|
|
16
|
+
|
|
17
|
+
// ../cli-telemetry/src/add-user-fields.ts
|
|
18
|
+
init_esm_shims();
|
|
19
|
+
import { randomUUID } from "node:crypto";
|
|
20
|
+
function addUserFields(logger, userId) {
|
|
21
|
+
logger.updateDefaults(resolveUserFields(userId));
|
|
22
|
+
}
|
|
23
|
+
function resolveUserFields(userId) {
|
|
24
|
+
if (!userId) {
|
|
25
|
+
return {
|
|
26
|
+
_client_id: randomUUID()
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
_client_id: userId,
|
|
31
|
+
_uuid: userId,
|
|
32
|
+
logged_user_id: userId,
|
|
33
|
+
logged_account_id: userId,
|
|
34
|
+
target_account_id: userId
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// ../cli-telemetry/src/command-bi-event.ts
|
|
39
|
+
init_esm_shims();
|
|
40
|
+
import { uptime } from "node:process";
|
|
41
|
+
|
|
42
|
+
// ../cli-telemetry/src/environment.ts
|
|
43
|
+
init_esm_shims();
|
|
44
|
+
var import_is_ci = __toESM(require_is_ci(), 1);
|
|
45
|
+
import os from "node:os";
|
|
46
|
+
import { platform, version as nodeVersion } from "node:process";
|
|
47
|
+
function getEnvironmentInfo({
|
|
48
|
+
cliVersion,
|
|
49
|
+
flow
|
|
50
|
+
}) {
|
|
51
|
+
return {
|
|
52
|
+
...flow ? { flow } : {},
|
|
53
|
+
cliVersion,
|
|
54
|
+
isCI: import_is_ci.default,
|
|
55
|
+
nodeVersion,
|
|
56
|
+
osName: getOsName(),
|
|
57
|
+
osVersion: os.release()
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function getOsName() {
|
|
61
|
+
switch (platform) {
|
|
62
|
+
case "darwin":
|
|
63
|
+
return "mac";
|
|
64
|
+
case "win32":
|
|
65
|
+
return "windows";
|
|
66
|
+
default:
|
|
67
|
+
return "linux";
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// ../cli-telemetry/src/command-bi-event.ts
|
|
72
|
+
var getDuration = () => Math.round(uptime() * 1e3);
|
|
73
|
+
function reportCommandStartEvent({
|
|
74
|
+
biLogger,
|
|
75
|
+
command,
|
|
76
|
+
flow,
|
|
77
|
+
cliVersion,
|
|
78
|
+
projectId,
|
|
79
|
+
extensions,
|
|
80
|
+
extraFields
|
|
81
|
+
}) {
|
|
82
|
+
const options = command.opts();
|
|
83
|
+
const args = command.args;
|
|
84
|
+
const privateOptions = /* @__PURE__ */ new Set(["apiKey"]);
|
|
85
|
+
const sanitizedOptions = Object.fromEntries(
|
|
86
|
+
Object.entries(options).map(([flagName, flagValue]) => {
|
|
87
|
+
const value = privateOptions.has(flagName) ? "<censored>" : flagValue;
|
|
88
|
+
return [flagName, value];
|
|
89
|
+
})
|
|
90
|
+
);
|
|
91
|
+
const commandFields = {
|
|
92
|
+
command: command.name(),
|
|
93
|
+
arguments: args.join(","),
|
|
94
|
+
flags: Object.keys(sanitizedOptions).length ? JSON.stringify(sanitizedOptions) : ""
|
|
95
|
+
};
|
|
96
|
+
void biLogger.report(
|
|
97
|
+
wixCliCliCommand({
|
|
98
|
+
...getEnvironmentInfo({ cliVersion, flow }),
|
|
99
|
+
...commandFields,
|
|
100
|
+
...projectId ? { projectId } : {},
|
|
101
|
+
...extraFields ? { extraFields: JSON.stringify(extraFields) } : {},
|
|
102
|
+
isValid: true
|
|
103
|
+
})
|
|
104
|
+
);
|
|
105
|
+
return {
|
|
106
|
+
succeed() {
|
|
107
|
+
void biLogger.report(
|
|
108
|
+
wixCliCliCommandStatus({
|
|
109
|
+
...commandFields,
|
|
110
|
+
...extensions ? { extensions: JSON.stringify(extensions) } : {},
|
|
111
|
+
duration: getDuration(),
|
|
112
|
+
isSuccess: true,
|
|
113
|
+
isValid: true
|
|
114
|
+
})
|
|
115
|
+
);
|
|
116
|
+
},
|
|
117
|
+
failed(error) {
|
|
118
|
+
const errorFields = isCliError(error) ? {
|
|
119
|
+
errorType: isCliSystemError(error) ? "SystemError" : "UserError",
|
|
120
|
+
errorName: error.name,
|
|
121
|
+
errorMessage: error.message
|
|
122
|
+
} : error instanceof Error ? {
|
|
123
|
+
errorType: "UnknownError",
|
|
124
|
+
errorName: error.name,
|
|
125
|
+
errorMessage: error.message
|
|
126
|
+
} : {
|
|
127
|
+
errorType: "UnknownError",
|
|
128
|
+
errorMessage: JSON.stringify(error)
|
|
129
|
+
};
|
|
130
|
+
void biLogger.report(
|
|
131
|
+
wixCliCliCommandStatus({
|
|
132
|
+
...commandFields,
|
|
133
|
+
...errorFields,
|
|
134
|
+
...extensions ? { extensions: JSON.stringify(extensions) } : {},
|
|
135
|
+
duration: getDuration(),
|
|
136
|
+
isSuccess: false,
|
|
137
|
+
isValid: true
|
|
138
|
+
})
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// ../cli-telemetry/src/index.ts
|
|
145
|
+
init_esm_shims();
|
|
146
|
+
|
|
147
|
+
export {
|
|
148
|
+
addUserFields,
|
|
149
|
+
reportCommandStartEvent
|
|
150
|
+
};
|
|
151
|
+
//# sourceMappingURL=chunk-GIUEJUXG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../cli-telemetry/src/add-user-fields.ts","../../cli-telemetry/src/command-bi-event.ts","../../cli-telemetry/src/environment.ts","../../cli-telemetry/src/index.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport type { BiLogger } from '@wix/wix-bi-logger-client';\n\nexport function addUserFields(logger: BiLogger, userId: string) {\n logger.updateDefaults(resolveUserFields(userId));\n}\n\nexport function resolveUserFields(userId?: string): Record<string, string> {\n if (!userId) {\n // anonymous users need to have an identifier for the bi platform to accept the event\n return {\n _client_id: randomUUID(),\n };\n }\n\n return {\n _client_id: userId,\n _uuid: userId,\n logged_user_id: userId,\n logged_account_id: userId,\n target_account_id: userId,\n };\n}\n","import type { BiLogger } from '@wix/wix-bi-logger-client';\nimport {\n wixCliCliCommand,\n wixCliCliCommandStatus,\n} from '@wix/bi-logger-wix-cli/v2';\nimport { isCliError, isCliSystemError } from '@wix/cli-error';\nimport { uptime } from 'node:process';\nimport { getEnvironmentInfo } from './environment.js';\nimport type { Flow } from './types.js';\n\ninterface CommandLike {\n name: () => string;\n args: string[];\n opts: () => Record<string, unknown>;\n}\n\nconst getDuration = () => Math.round(uptime() * 1000);\n\nexport function reportCommandStartEvent({\n biLogger,\n command,\n flow,\n cliVersion,\n projectId,\n extensions,\n extraFields,\n}: {\n biLogger: BiLogger;\n command: CommandLike;\n flow: Flow | null;\n cliVersion: string;\n projectId?: string;\n extensions?: Record<string, number>;\n extraFields?: Record<string, unknown>;\n}) {\n const options = command.opts();\n const args = command.args;\n\n const privateOptions = new Set(['apiKey']);\n const sanitizedOptions = Object.fromEntries(\n Object.entries(options).map(([flagName, flagValue]) => {\n const value = privateOptions.has(flagName) ? '<censored>' : flagValue;\n return [flagName, value];\n })\n );\n\n const commandFields = {\n command: command.name(),\n arguments: args.join(','),\n flags: Object.keys(sanitizedOptions).length\n ? JSON.stringify(sanitizedOptions)\n : '',\n };\n\n void biLogger.report(\n wixCliCliCommand({\n ...getEnvironmentInfo({ cliVersion, flow }),\n ...commandFields,\n ...(projectId ? { projectId } : {}),\n ...(extraFields ? { extraFields: JSON.stringify(extraFields) } : {}),\n isValid: true,\n })\n );\n\n return {\n succeed() {\n void biLogger.report(\n wixCliCliCommandStatus({\n ...commandFields,\n ...(extensions ? { extensions: JSON.stringify(extensions) } : {}),\n duration: getDuration(),\n isSuccess: true,\n isValid: true,\n })\n );\n },\n failed(error: unknown) {\n const errorFields = isCliError(error)\n ? {\n errorType: isCliSystemError(error) ? 'SystemError' : 'UserError',\n errorName: error.name,\n errorMessage: error.message,\n }\n : error instanceof Error\n ? {\n errorType: 'UnknownError',\n errorName: error.name,\n errorMessage: error.message,\n }\n : {\n errorType: 'UnknownError',\n errorMessage: JSON.stringify(error),\n };\n\n void biLogger.report(\n wixCliCliCommandStatus({\n ...commandFields,\n ...errorFields,\n ...(extensions ? { extensions: JSON.stringify(extensions) } : {}),\n duration: getDuration(),\n isSuccess: false,\n isValid: true,\n })\n );\n },\n };\n}\n","import os from 'node:os';\nimport { platform, version as nodeVersion } from 'node:process';\nimport isCI from 'is-ci';\nimport type { Flow } from './types.js';\n\nexport function getEnvironmentInfo({\n cliVersion,\n flow,\n}: {\n cliVersion: string;\n flow: Flow | null;\n}) {\n return {\n ...(flow ? { flow } : {}),\n cliVersion,\n isCI,\n nodeVersion,\n osName: getOsName(),\n osVersion: os.release(),\n };\n}\n\n// https://stackoverflow.com/a/8684009\nfunction getOsName() {\n switch (platform) {\n case 'darwin':\n return 'mac';\n case 'win32':\n return 'windows';\n default:\n return 'linux';\n }\n}\n","export type { BiLogger } from '@wix/wix-bi-logger-client';\nexport { createBiLogger } from './create-bi-logger.js';\nexport { reportCommandStartEvent } from './command-bi-event.js';\nexport { addUserFields } from './add-user-fields.js';\nexport type { Flow } from './types.js';\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../cli-telemetry/src/add-user-fields.ts","../../cli-telemetry/src/command-bi-event.ts","../../cli-telemetry/src/environment.ts","../../cli-telemetry/src/index.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport type { BiLogger } from '@wix/wix-bi-logger-client';\n\nexport function addUserFields(logger: BiLogger, userId: string) {\n logger.updateDefaults(resolveUserFields(userId));\n}\n\nexport function resolveUserFields(userId?: string): Record<string, string> {\n if (!userId) {\n // anonymous users need to have an identifier for the bi platform to accept the event\n return {\n _client_id: randomUUID(),\n };\n }\n\n return {\n _client_id: userId,\n _uuid: userId,\n logged_user_id: userId,\n logged_account_id: userId,\n target_account_id: userId,\n };\n}\n","import type { BiLogger } from '@wix/wix-bi-logger-client';\nimport {\n wixCliCliCommand,\n wixCliCliCommandStatus,\n} from '@wix/bi-logger-wix-cli/v2';\nimport { isCliError, isCliSystemError } from '@wix/cli-error';\nimport { uptime } from 'node:process';\nimport { getEnvironmentInfo } from './environment.js';\nimport type { Flow } from './types.js';\n\ninterface CommandLike {\n name: () => string;\n args: string[];\n opts: () => Record<string, unknown>;\n}\n\nconst getDuration = () => Math.round(uptime() * 1000);\n\nexport function reportCommandStartEvent({\n biLogger,\n command,\n flow,\n cliVersion,\n projectId,\n extensions,\n extraFields,\n}: {\n biLogger: BiLogger;\n command: CommandLike;\n flow: Flow | null;\n cliVersion: string;\n projectId?: string;\n extensions?: Record<string, number>;\n extraFields?: Record<string, unknown>;\n}) {\n const options = command.opts();\n const args = command.args;\n\n const privateOptions = new Set(['apiKey']);\n const sanitizedOptions = Object.fromEntries(\n Object.entries(options).map(([flagName, flagValue]) => {\n const value = privateOptions.has(flagName) ? '<censored>' : flagValue;\n return [flagName, value];\n })\n );\n\n const commandFields = {\n command: command.name(),\n arguments: args.join(','),\n flags: Object.keys(sanitizedOptions).length\n ? JSON.stringify(sanitizedOptions)\n : '',\n };\n\n void biLogger.report(\n wixCliCliCommand({\n ...getEnvironmentInfo({ cliVersion, flow }),\n ...commandFields,\n ...(projectId ? { projectId } : {}),\n ...(extraFields ? { extraFields: JSON.stringify(extraFields) } : {}),\n isValid: true,\n })\n );\n\n return {\n succeed() {\n void biLogger.report(\n wixCliCliCommandStatus({\n ...commandFields,\n ...(extensions ? { extensions: JSON.stringify(extensions) } : {}),\n duration: getDuration(),\n isSuccess: true,\n isValid: true,\n })\n );\n },\n failed(error: unknown) {\n const errorFields = isCliError(error)\n ? {\n errorType: isCliSystemError(error) ? 'SystemError' : 'UserError',\n errorName: error.name,\n errorMessage: error.message,\n }\n : error instanceof Error\n ? {\n errorType: 'UnknownError',\n errorName: error.name,\n errorMessage: error.message,\n }\n : {\n errorType: 'UnknownError',\n errorMessage: JSON.stringify(error),\n };\n\n void biLogger.report(\n wixCliCliCommandStatus({\n ...commandFields,\n ...errorFields,\n ...(extensions ? { extensions: JSON.stringify(extensions) } : {}),\n duration: getDuration(),\n isSuccess: false,\n isValid: true,\n })\n );\n },\n };\n}\n","import os from 'node:os';\nimport { platform, version as nodeVersion } from 'node:process';\nimport isCI from 'is-ci';\nimport type { Flow } from './types.js';\n\nexport function getEnvironmentInfo({\n cliVersion,\n flow,\n}: {\n cliVersion: string;\n flow: Flow | null;\n}) {\n return {\n ...(flow ? { flow } : {}),\n cliVersion,\n isCI,\n nodeVersion,\n osName: getOsName(),\n osVersion: os.release(),\n };\n}\n\n// https://stackoverflow.com/a/8684009\nfunction getOsName() {\n switch (platform) {\n case 'darwin':\n return 'mac';\n case 'win32':\n return 'windows';\n default:\n return 'linux';\n }\n}\n","export type { BiLogger } from '@wix/wix-bi-logger-client';\nexport { createBiLogger } from './create-bi-logger.js';\nexport { reportCommandStartEvent } from './command-bi-event.js';\nexport { addUserFields } from './add-user-fields.js';\nexport type { Flow } from './types.js';\n"],"mappings":"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","names":["isCI"]}
|