@wix/cli-app 1.1.90 → 1.1.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/build/{AddPermissionCommand-XY4GGAKI.js → AddPermissionCommand-UGME2QWS.js} +2 -2
  2. package/build/{CreateVersionCommand-AFO6QZ3K.js → CreateVersionCommand-6NNLCV4G.js} +3 -3
  3. package/build/{DevCommand-LMH2ZEYS.js → DevCommand-T2CCTVH5.js} +10 -10
  4. package/build/{GenerateCommand-3CK2O4L6.js → GenerateCommand-BQWKR77V.js} +15 -7
  5. package/build/GenerateCommand-BQWKR77V.js.map +1 -0
  6. package/build/{LogsCommand-T2OR2ZNI.js → LogsCommand-FAMABFXV.js} +3 -3
  7. package/build/PreviewCommand-U4FLX7BV.js +19 -0
  8. package/build/ReleaseCommand-ZVGT3DJ4.js +28 -0
  9. package/build/{ServeCommand-RPXEURIC.js → ServeCommand-ENJQ7W3M.js} +3 -3
  10. package/build/{build-R24UOFVB.js → build-5TJBO2Z6.js} +6 -6
  11. package/build/{chunk-G2EJCOG4.js → chunk-326IZ7ZX.js} +2 -2
  12. package/build/{chunk-EYJO2C25.js → chunk-42YZEZRJ.js} +4 -4
  13. package/build/{chunk-M7GDC5QO.js → chunk-6GIUS5EN.js} +117 -3
  14. package/build/{chunk-M7GDC5QO.js.map → chunk-6GIUS5EN.js.map} +1 -1
  15. package/build/{chunk-YBZ4LUI2.js → chunk-74LWGNWZ.js} +13 -9
  16. package/build/{chunk-YBZ4LUI2.js.map → chunk-74LWGNWZ.js.map} +1 -1
  17. package/build/{chunk-3C7IDKDV.js → chunk-CJN3OVTP.js} +2 -2
  18. package/build/{chunk-BFYHGTJS.js → chunk-CU537PKO.js} +3 -3
  19. package/build/{chunk-DT5SDTRI.js → chunk-GJD3WPIB.js} +4 -4
  20. package/build/{chunk-ZZSRD3XC.js → chunk-IALJBOMX.js} +2 -2
  21. package/build/{chunk-S3RIMPQQ.js → chunk-MJCYVUFE.js} +4667 -162
  22. package/build/{chunk-S3RIMPQQ.js.map → chunk-MJCYVUFE.js.map} +1 -1
  23. package/build/{chunk-AGCEJPNC.js → chunk-NNPPCKE7.js} +2 -2
  24. package/build/{chunk-AWOS3TAC.js → chunk-PWAKLRIM.js} +174 -65
  25. package/build/chunk-PWAKLRIM.js.map +1 -0
  26. package/build/{chunk-YB5ZT6ZJ.js → chunk-UALJ6Q7E.js} +2 -2
  27. package/build/{chunk-K3B5VWLJ.js → chunk-UDU2TW4J.js} +2 -2
  28. package/build/{chunk-MAYXQQ44.js → chunk-WH2Z3XYZ.js} +14 -21
  29. package/build/chunk-WH2Z3XYZ.js.map +1 -0
  30. package/build/{chunk-CNLLDB7V.js → chunk-WZXEMPD4.js} +6 -6
  31. package/build/{chunk-CNLLDB7V.js.map → chunk-WZXEMPD4.js.map} +1 -1
  32. package/build/{chunk-UUZAWTTZ.js → chunk-XT37ORXG.js} +2 -2
  33. package/build/{chunk-HUQZJ7BP.js → chunk-YBKG7R66.js} +2 -2
  34. package/build/cloudflare-runtime/entry.js +6 -4
  35. package/build/cloudflare-runtime/getRegisteredExtensions.js +6 -4
  36. package/build/index.js +25 -25
  37. package/build/platform-sdk/chunk-25LMXVNI.js +2 -0
  38. package/build/platform-sdk/chunk-25LMXVNI.js.map +1 -0
  39. package/build/platform-sdk/dashboard.js +1 -1
  40. package/build/platform-sdk/editor.js +2 -2
  41. package/build/platform-sdk/editor.js.map +1 -1
  42. package/build/platform-sdk/site.js +1 -1
  43. package/build/{preview-MQRVT6F3.js → preview-4WAJE5MZ.js} +12 -12
  44. package/build/{release-BVT34U5G.js → release-UNNP3L64.js} +14 -14
  45. package/build/{render-command-I7TJW3BF.js → render-command-7M54GGXG.js} +5 -5
  46. package/package.json +9 -9
  47. package/build/GenerateCommand-3CK2O4L6.js.map +0 -1
  48. package/build/PreviewCommand-GKWGXWGO.js +0 -19
  49. package/build/ReleaseCommand-VRSGVCA5.js +0 -28
  50. package/build/chunk-AWOS3TAC.js.map +0 -1
  51. package/build/chunk-MAYXQQ44.js.map +0 -1
  52. package/build/platform-sdk/chunk-MM2KVUBI.js +0 -2
  53. package/build/platform-sdk/chunk-MM2KVUBI.js.map +0 -1
  54. /package/build/{AddPermissionCommand-XY4GGAKI.js.map → AddPermissionCommand-UGME2QWS.js.map} +0 -0
  55. /package/build/{CreateVersionCommand-AFO6QZ3K.js.map → CreateVersionCommand-6NNLCV4G.js.map} +0 -0
  56. /package/build/{DevCommand-LMH2ZEYS.js.map → DevCommand-T2CCTVH5.js.map} +0 -0
  57. /package/build/{LogsCommand-T2OR2ZNI.js.map → LogsCommand-FAMABFXV.js.map} +0 -0
  58. /package/build/{PreviewCommand-GKWGXWGO.js.map → PreviewCommand-U4FLX7BV.js.map} +0 -0
  59. /package/build/{ReleaseCommand-VRSGVCA5.js.map → ReleaseCommand-ZVGT3DJ4.js.map} +0 -0
  60. /package/build/{ServeCommand-RPXEURIC.js.map → ServeCommand-ENJQ7W3M.js.map} +0 -0
  61. /package/build/{build-R24UOFVB.js.map → build-5TJBO2Z6.js.map} +0 -0
  62. /package/build/{chunk-G2EJCOG4.js.map → chunk-326IZ7ZX.js.map} +0 -0
  63. /package/build/{chunk-EYJO2C25.js.map → chunk-42YZEZRJ.js.map} +0 -0
  64. /package/build/{chunk-3C7IDKDV.js.map → chunk-CJN3OVTP.js.map} +0 -0
  65. /package/build/{chunk-BFYHGTJS.js.map → chunk-CU537PKO.js.map} +0 -0
  66. /package/build/{chunk-DT5SDTRI.js.map → chunk-GJD3WPIB.js.map} +0 -0
  67. /package/build/{chunk-ZZSRD3XC.js.map → chunk-IALJBOMX.js.map} +0 -0
  68. /package/build/{chunk-AGCEJPNC.js.map → chunk-NNPPCKE7.js.map} +0 -0
  69. /package/build/{chunk-YB5ZT6ZJ.js.map → chunk-UALJ6Q7E.js.map} +0 -0
  70. /package/build/{chunk-K3B5VWLJ.js.map → chunk-UDU2TW4J.js.map} +0 -0
  71. /package/build/{chunk-UUZAWTTZ.js.map → chunk-XT37ORXG.js.map} +0 -0
  72. /package/build/{chunk-HUQZJ7BP.js.map → chunk-YBKG7R66.js.map} +0 -0
  73. /package/build/{preview-MQRVT6F3.js.map → preview-4WAJE5MZ.js.map} +0 -0
  74. /package/build/{release-BVT34U5G.js.map → release-UNNP3L64.js.map} +0 -0
  75. /package/build/{render-command-I7TJW3BF.js.map → render-command-7M54GGXG.js.map} +0 -0
@@ -5,7 +5,7 @@ import {
5
5
  createRendererToString,
6
6
  isCliError,
7
7
  require_react
8
- } from "./chunk-S3RIMPQQ.js";
8
+ } from "./chunk-MJCYVUFE.js";
9
9
  import {
10
10
  __toESM,
11
11
  init_esm_shims
@@ -58,4 +58,4 @@ function createLogger({
58
58
  export {
59
59
  createLogger
60
60
  };
61
- //# sourceMappingURL=chunk-YB5ZT6ZJ.js.map
61
+ //# sourceMappingURL=chunk-UALJ6Q7E.js.map
@@ -17,7 +17,7 @@ import {
17
17
  useHttpClient,
18
18
  wixCliAppsFlowTunnelCreationStatusSrc11Evid5233,
19
19
  z
20
- } from "./chunk-S3RIMPQQ.js";
20
+ } from "./chunk-MJCYVUFE.js";
21
21
  import {
22
22
  __commonJS,
23
23
  __dirname,
@@ -892,4 +892,4 @@ init_esm_shims();
892
892
  export {
893
893
  useTunnel
894
894
  };
895
- //# sourceMappingURL=chunk-K3B5VWLJ.js.map
895
+ //# sourceMappingURL=chunk-UDU2TW4J.js.map
@@ -2,7 +2,7 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  readAppManifestFile
5
- } from "./chunk-BFYHGTJS.js";
5
+ } from "./chunk-CU537PKO.js";
6
6
  import {
7
7
  ArmTagProvider,
8
8
  ExtensionDataProvider,
@@ -16,15 +16,16 @@ import {
16
16
  useResolvePlatformUrl,
17
17
  useSite,
18
18
  useSiteOverrideClient
19
- } from "./chunk-YBZ4LUI2.js";
19
+ } from "./chunk-74LWGNWZ.js";
20
20
  import {
21
21
  useBackendComponents
22
- } from "./chunk-ZZSRD3XC.js";
22
+ } from "./chunk-IALJBOMX.js";
23
23
  import {
24
+ getMonitoringProvider,
24
25
  updateAppManifestComponents,
25
26
  updateMonitoring,
26
27
  updateTopology
27
- } from "./chunk-AWOS3TAC.js";
28
+ } from "./chunk-PWAKLRIM.js";
28
29
  import {
29
30
  Alert,
30
31
  BROWSER_STATICS_FOLDER,
@@ -33,7 +34,6 @@ import {
33
34
  CliErrorCode,
34
35
  ComponentType,
35
36
  Link,
36
- MonitoringType,
37
37
  PlatformType,
38
38
  PointerIcon,
39
39
  PointerSmallIcon,
@@ -57,7 +57,7 @@ import {
57
57
  useHttpClient,
58
58
  useProjectModel,
59
59
  useTranslation
60
- } from "./chunk-S3RIMPQQ.js";
60
+ } from "./chunk-MJCYVUFE.js";
61
61
  import {
62
62
  __toESM,
63
63
  init_esm_shims
@@ -231,23 +231,16 @@ var Preview = ({ baseUrl, onPreviewCreated }) => {
231
231
  } = await getAppByVersion({
232
232
  appId: model.config.appId
233
233
  });
234
- const topologyComponent = components.find(
235
- (component) => {
236
- return component.compType === ComponentType.TOPOLOGY;
237
- }
238
- );
239
- const monitoringComponent = components.find(
240
- (component) => {
241
- return component.compType === ComponentType.MONITORING;
242
- }
243
- );
234
+ const topologyComponent = components.find((component) => {
235
+ return component.compType === ComponentType.TOPOLOGY;
236
+ });
237
+ const monitoringComponent = components.find((component) => {
238
+ return component.compType === ComponentType.MONITORING;
239
+ });
244
240
  const overrides = createSiteOverrides(model);
245
241
  const { id: siteOverrideId } = overrides ? await createSiteOverrideIdAction.execute(overrides) : await Promise.resolve({ id: void 0 });
246
242
  const blocksComponentsData = await blocksServicesClient.prepareBlocksComponentsData(model);
247
- const monitoringComponentData = model.config.monitoring?.sentry && {
248
- type: MonitoringType.SENTRY,
249
- sentryOptions: model.config.monitoring.sentry
250
- };
243
+ const monitoringComponentData = model.config.monitoring && getMonitoringProvider(model.config.monitoring);
251
244
  const armTag = await createPreviewTagAction.execute(
252
245
  serveUrl,
253
246
  topologyComponent?.compId,
@@ -301,4 +294,4 @@ export {
301
294
  assertBuildOutputExists,
302
295
  PreviewCommand
303
296
  };
304
- //# sourceMappingURL=chunk-MAYXQQ44.js.map
297
+ //# sourceMappingURL=chunk-WH2Z3XYZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/PreviewCommand/index.ts","../src/components/PreviewCommand/PreviewCommand.tsx","../src/components/PreviewCommand/Preview.tsx","../src/preview/create-preview-tag.ts","../src/files/assert-build-output-exists.ts","../src/components/PreviewCommand/ActionStatus.tsx","../src/components/Platform/PlatformViewer.tsx"],"sourcesContent":["export { PreviewCommand } from './PreviewCommand.js';\n","import React from 'react';\nimport type { FC } from 'react';\nimport { SiteProvider } from '../../site/index.js';\nimport { Preview } from './Preview.js';\nimport { ExtensionDataProvider } from '../../context/extensionData.js';\n\nexport const PreviewCommand: FC<{\n baseUrl?: string;\n siteIdOverride?: string;\n onPreviewCreated?: (tag: string) => void;\n}> = ({ baseUrl, siteIdOverride, onPreviewCreated }) => {\n return (\n <SiteProvider siteId={siteIdOverride}>\n <ExtensionDataProvider>\n <Preview baseUrl={baseUrl} onPreviewCreated={onPreviewCreated} />\n </ExtensionDataProvider>\n </SiteProvider>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { useARMClient } from '@wix/arm-client';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport type { Monitoring } from '@wix/cli-app-manifest';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport {\n Text,\n Box,\n PointerIcon,\n useAsync,\n useAsyncCallback,\n} from '@wix/cli-ui-kit';\nimport { useDevCenterClient, ComponentType } from '@wix/dev-center-client';\nimport type { ComponentsForSiteOverride } from '@wix/site-override-client';\nimport { useSiteOverrideClient } from '@wix/site-override-client';\nimport { useProjectModel } from '../../model.js';\nimport { useSite } from '../../site/index.js';\nimport { ArmTagProvider } from '../../context/armTag.js';\nimport { createPreviewTag } from '../../preview/create-preview-tag.js';\nimport { uploadApplication } from '../../hosting/upload-application.js';\nimport { assertBuildOutputExists } from '../../files/assert-build-output-exists.js';\nimport { ActionStatus } from './ActionStatus.js';\nimport { PlatformViewer } from '../Platform/PlatformViewer.js';\nimport { saveAppConfig } from '../../files/app.config.js';\nimport { useBackendComponents } from '../../backend/useBackendComponents.js';\nimport { createSiteOverrides } from '../../site-override/createSiteOverrides.js';\nimport { SiteOverrideProvider } from '../../context/siteOverride.js';\nimport type { BlocksComponentsData } from '../../blocks/blocks-services-client.js';\nimport { useBlocksServicesClient } from '../../blocks/useBlocksServicesClient.js';\nimport { getMonitoringProvider } from '../../app-manifest/monitoring.js';\n\nexport const Preview: FC<{\n baseUrl?: string;\n onPreviewCreated?: (tag: string, backendServerUrl?: string) => void;\n}> = ({ baseUrl, onPreviewCreated }) => {\n const { site } = useSite();\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const { backendComponents } = useBackendComponents();\n const arm = useARMClient();\n const biLogger = useBiLogger();\n const { getAppByVersion } = useDevCenterClient();\n const { createOverride } = useSiteOverrideClient();\n const httpClient = useHttpClient({ type: 'backoffice' });\n const blocksServicesClient = useBlocksServicesClient();\n\n const uploadApplicationAction = useAsyncCallback(() =>\n uploadApplication(\n model.config.appId,\n model.projectFolder,\n biLogger,\n httpClient,\n backendComponents.length > 0\n )\n );\n\n const createSiteOverrideIdAction = useAsyncCallback(\n (_, overrides: ComponentsForSiteOverride) =>\n createOverride({\n appId: model.config.appId,\n siteId: site.id,\n overrides,\n })\n );\n\n const createPreviewTagAction = useAsyncCallback(\n (\n _,\n serveUrl: string,\n topologyComponentId?: string,\n backendServerUrl?: string,\n blocksComponents?: BlocksComponentsData,\n monitoringData?: Monitoring['compData']['monitoring'],\n monitoringComponentId?: string\n ) =>\n createPreviewTag({\n model,\n arm,\n serveUrl,\n backendServerUrl,\n blocksComponents,\n topologyComponentId,\n monitoringData,\n monitoringComponentId,\n })\n );\n\n const { status: createPreviewStatus } = useAsync(async () => {\n await assertBuildOutputExists(model.projectFolder);\n const { serveUrl, backendServerUrl } = baseUrl\n ? { serveUrl: baseUrl, backendServerUrl: undefined }\n : await uploadApplicationAction.execute();\n const {\n data: { components },\n } = await getAppByVersion({\n appId: model.config.appId,\n });\n const topologyComponent = components.find((component) => {\n return component.compType === ComponentType.TOPOLOGY;\n });\n const monitoringComponent = components.find((component) => {\n return component.compType === ComponentType.MONITORING;\n });\n const overrides = createSiteOverrides(model);\n const { id: siteOverrideId } = overrides\n ? await createSiteOverrideIdAction.execute(overrides)\n : await Promise.resolve({ id: undefined });\n\n const blocksComponentsData =\n await blocksServicesClient.prepareBlocksComponentsData(model);\n\n const monitoringComponentData =\n model.config.monitoring && getMonitoringProvider(model.config.monitoring);\n\n const armTag = await createPreviewTagAction.execute(\n serveUrl,\n topologyComponent?.compId,\n backendServerUrl,\n blocksComponentsData,\n monitoringComponentData,\n monitoringComponent?.compId\n );\n\n if (topologyComponent || monitoringComponent) {\n // Once there is topology/monitoring in production I want to use the same id for dev as well,\n // to reduce confusion during debug.\n await saveAppConfig(model.projectFolder, {\n ...(topologyComponent\n ? { topologyComponentId: topologyComponent.compId }\n : {}),\n ...(monitoringComponent\n ? { monitoringComponentId: monitoringComponent.compId }\n : {}),\n });\n }\n\n onPreviewCreated?.(armTag, backendServerUrl);\n\n return { armTag, siteOverrideId };\n }, []);\n\n return (\n <>\n <ActionStatus\n status={uploadApplicationAction.status}\n loadingText={t('preview_command.uploading_files')}\n successText={t('preview_command.uploading_files_success')}\n />\n <ActionStatus\n status={createPreviewTagAction.status}\n loadingText={t('preview_command.creating_preview')}\n successText={t('preview_command.creating_preview_success')}\n />\n {match(createPreviewStatus, {\n Error: () => null,\n Loading: () => null,\n Success: ({ result: { armTag, siteOverrideId } }) => (\n <SiteOverrideProvider siteOverrideId={siteOverrideId}>\n <ArmTagProvider armTag={armTag}>\n <Box rowGap={1} marginY={1} flexDirection=\"column\">\n <Box gap={1}>\n <PointerIcon />\n <Trans\n i18nKey=\"general.dev_site.current\"\n values={{ name: site.displayName }}\n />\n </Box>\n <Box rowGap={1}>\n <PlatformViewer />\n </Box>\n <Text skin=\"info\">\n {t('preview_command.note_about_temporary_backend')}\n </Text>\n </Box>\n </ArmTagProvider>\n </SiteOverrideProvider>\n ),\n })}\n </>\n );\n};\n","import {\n updateAppManifestComponents,\n updateMonitoring,\n updateTopology,\n} from '@wix/cli-app-manifest';\nimport type { Monitoring } from '@wix/cli-app-manifest';\nimport {\n WORKER_STATICS_FOLDER,\n BROWSER_STATICS_FOLDER,\n SSR_STATICS_FOLDER,\n} from '@wix/cli-app-definitions';\nimport type { ARMClient } from '@wix/arm-client';\nimport type { ProjectModel } from '../model.js';\nimport { readAppManifestFile } from '../app-manifest/file.js';\nimport type { BlocksComponentsData } from '../blocks/blocks-services-client.js';\n\nexport const createPreviewTag = async ({\n model,\n arm,\n serveUrl,\n backendServerUrl,\n blocksComponents,\n topologyComponentId,\n monitoringData,\n monitoringComponentId,\n}: {\n model: ProjectModel;\n arm: ARMClient;\n serveUrl: string;\n backendServerUrl?: string;\n blocksComponents?: BlocksComponentsData;\n topologyComponentId?: string;\n monitoringData?: Monitoring['compData']['monitoring'];\n monitoringComponentId?: string;\n}) => {\n const manifest = await readAppManifestFile(model.projectFolder);\n\n const workerBaseUrl = new URL(WORKER_STATICS_FOLDER, serveUrl).toString();\n const browserBaseUrl = new URL(BROWSER_STATICS_FOLDER, serveUrl).toString();\n const ssrBaseUrl = new URL(SSR_STATICS_FOLDER, serveUrl).toString();\n\n const updatedManifest = updateMonitoring(\n updateTopology(\n updateAppManifestComponents({\n manifest,\n blocksComponents,\n backendServerUrl,\n browserBaseUrl,\n workerBaseUrl,\n ssrBaseUrl,\n }),\n {\n id: topologyComponentId,\n baseApiUrl: backendServerUrl,\n }\n ),\n {\n id: monitoringComponentId,\n monitoring: monitoringData,\n }\n );\n\n return arm.createAppRelease(updatedManifest, model.config.projectId);\n};\n","import { pathExists } from '@wix/cli-fs';\nimport {\n getAppBuildFolder,\n getAppManifestPath,\n} from '@wix/cli-app-definitions';\nimport { CliErrorCode, CliError } from '@wix/cli-error';\n\nexport async function assertBuildOutputExists(projectFolder: string) {\n const buildFolder = getAppBuildFolder(projectFolder);\n const manifestPath = getAppManifestPath(projectFolder);\n\n if (!(await pathExists(buildFolder)) || !(await pathExists(manifestPath))) {\n throw new CliError({\n code: CliErrorCode.BuiltProjectNeeded(),\n cause: null,\n });\n }\n}\n","import type { AsyncCallbackStatus } from '@wix/cli-ui-kit';\nimport { Alert, Spinner } from '@wix/cli-ui-kit';\nimport type { FC } from 'react';\nimport React from 'react';\nimport { match } from 'variant';\n\nexport const ActionStatus: FC<{\n status: AsyncCallbackStatus<unknown>;\n loadingText: string;\n successText: string;\n}> = ({ status, loadingText, successText }) =>\n match(status, {\n NotRequested: () => null,\n Loading: () => <Spinner text={loadingText} />,\n Error: () => null,\n Success: () => <Alert type=\"success\">{successText}</Alert>,\n });\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { Box, Link, PointerSmallIcon, Text } from '@wix/cli-ui-kit';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { useExtensions } from '../extensions/useExtensions.js';\nimport {\n useResolveDashboardExtensionUrl,\n useResolvePlatformUrl,\n} from '../extensions/utils.js';\nimport { usePlatform } from './usePlatform.js';\nimport { useSite } from '../../site/useSite.js';\n\ninterface PlatformLinkProps {\n url: string;\n label: string;\n withPointer?: boolean;\n}\n\nconst PlatformLink: FC<PlatformLinkProps> = ({\n url,\n label,\n withPointer = true,\n}) => {\n return (\n <Box>\n <Box marginRight={1}>\n {withPointer && <PointerSmallIcon />}\n <Box marginLeft={1}>\n <Link url={url}>{label}</Link>\n </Box>\n </Box>\n </Box>\n );\n};\n\nexport const PlatformViewer: FC = () => {\n const { t } = useTranslation();\n const { isPlatformExists, hasSinglePlatform } = usePlatform();\n const { dashboardExtensions } = useExtensions();\n const { site } = useSite();\n const resolvePlatformUrl = useResolvePlatformUrl();\n const resolveDashboardExtensionUrl = useResolveDashboardExtensionUrl();\n\n return (\n <>\n {hasSinglePlatform(PlatformType.Dashboard()) ? (\n dashboardExtensions[0] && (\n <Box flexDirection=\"row\">\n <Trans i18nKey=\"general.open_preview.title_single\" />\n <PlatformLink\n withPointer={false}\n url={resolveDashboardExtensionUrl(dashboardExtensions[0])}\n label={t('general.platform.dashboard')}\n />\n </Box>\n )\n ) : (\n <Box flexDirection=\"column\">\n <Trans i18nKey=\"general.open_preview.title_multiple\" />\n <Box paddingLeft={2} flexDirection=\"column\">\n {isPlatformExists(PlatformType.Site()) &&\n (site.viewUrl ? (\n <PlatformLink\n url={resolvePlatformUrl(PlatformType.Site())}\n label={t('general.platform.site')}\n />\n ) : (\n <Box marginRight={1}>\n <PointerSmallIcon />\n <Box marginLeft={1}>\n <Text skin=\"secondary\" underline>\n {t('general.platform.unpublished_site')}\n </Text>\n </Box>\n </Box>\n ))}\n {isPlatformExists(PlatformType.Editor()) && (\n <PlatformLink\n url={resolvePlatformUrl(PlatformType.Editor())}\n label={t('general.platform.editor')}\n />\n )}\n {isPlatformExists(PlatformType.Dashboard()) && (\n <PlatformLink\n url={resolveDashboardExtensionUrl(dashboardExtensions[0]!)}\n label={t('general.platform.dashboard')}\n />\n )}\n </Box>\n </Box>\n )}\n </>\n );\n};\n"],"mappings":"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","names":["import_react","import_react","import_variant","React","import_react","React","React","React"]}
@@ -3,16 +3,16 @@ const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  PreviewCommand,
5
5
  assertBuildOutputExists
6
- } from "./chunk-MAYXQQ44.js";
6
+ } from "./chunk-WH2Z3XYZ.js";
7
7
  import {
8
8
  useARMClient
9
- } from "./chunk-YBZ4LUI2.js";
9
+ } from "./chunk-74LWGNWZ.js";
10
10
  import {
11
11
  useWixCliAppBi
12
- } from "./chunk-HUQZJ7BP.js";
12
+ } from "./chunk-YBKG7R66.js";
13
13
  import {
14
14
  useBackendComponents
15
- } from "./chunk-ZZSRD3XC.js";
15
+ } from "./chunk-IALJBOMX.js";
16
16
  import {
17
17
  Alert,
18
18
  Box_default,
@@ -38,7 +38,7 @@ import {
38
38
  useDevCenterClient,
39
39
  useProjectModel,
40
40
  useTranslation
41
- } from "./chunk-S3RIMPQQ.js";
41
+ } from "./chunk-MJCYVUFE.js";
42
42
  import {
43
43
  __toESM,
44
44
  init_esm_shims
@@ -418,4 +418,4 @@ export {
418
418
  ReleaseVersionType,
419
419
  ReleaseCommand
420
420
  };
421
- //# sourceMappingURL=chunk-CNLLDB7V.js.map
421
+ //# sourceMappingURL=chunk-WZXEMPD4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ReleaseCommand/types.ts","../../../node_modules/@wix/ambassador-ctp-gradual-rollout-v1-app-config/types.impl.ts","../src/components/ReleaseCommand/ReleaseCommand.tsx","../src/components/ReleaseCommand/Release.tsx","../src/components/ReleaseCommand/Steps/CreatePreview.tsx","../src/components/ReleaseCommand/Steps/Warnings.tsx","../src/components/ReleaseCommand/Steps/ReleaseComment.tsx","../src/components/ReleaseCommand/Steps/ChooseVersion.tsx","../src/components/ReleaseCommand/Steps/ConfirmMinorVersion.tsx","../src/components/ReleaseCommand/Steps/NextSteps.tsx"],"sourcesContent":["import { VersionType } from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\n\nexport enum ReleaseVersionType {\n MINOR = VersionType.MINOR,\n MAJOR = VersionType.MAJOR,\n}\n",null,"import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { useAsync, Spinner } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport parse from 'semver/functions/parse.js';\nimport { useProjectModel } from '../../model.js';\nimport { assertBuildOutputExists } from '../../files/assert-build-output-exists.js';\nimport { Release } from './Release.js';\nimport type { ReleaseVersionType } from './types.js';\n\nexport interface ReleaseCommandProps {\n baseUrl?: string;\n siteIdOverride?: string;\n preEnteredComment?: string;\n preSelectedVersionType?: ReleaseVersionType;\n onReleaseDraftCreated?: (version: string) => void;\n}\n\nexport const ReleaseCommand: FC<ReleaseCommandProps> = (props) => {\n const {\n model: {\n projectFolder,\n config: { appId },\n },\n } = useProjectModel();\n\n const { queryAppVersion } = useDevCenterClient();\n\n const { status } = useAsync(async () => {\n await assertBuildOutputExists(projectFolder);\n const { isLocked, isPublished, latestVersion } = await queryAppVersion({\n appId,\n });\n\n if (isLocked) {\n throw new CliError({\n code: CliErrorCode.CannotReleaseLockedApplication(),\n cause: undefined,\n });\n }\n\n const parsedLatestVersion = parse(latestVersion);\n if (!parsedLatestVersion) {\n throw new CliError({\n code: CliErrorCode.FailedToParseLatestVersion({\n version: latestVersion,\n }),\n cause: undefined,\n info: {\n latestVersion,\n },\n });\n }\n\n return { isPublished, latestVersion: parsedLatestVersion };\n }, []);\n\n return match(status, {\n Error: () => null,\n Loading: () => (\n <Spinner text={<Trans i18nKey=\"release_command.loading_app_details\" />} />\n ),\n Success: ({ result }) => <Release {...props} {...result} />,\n });\n};\n","import React, { useState } from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { Box, Text, Alert, Spinner, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { useARMClient } from '@wix/arm-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { SemVer } from 'semver';\nimport { useProjectModel } from '../../model.js';\nimport { CreatePreview } from './Steps/CreatePreview.js';\nimport { Warnings } from './Steps/Warnings.js';\nimport { ReleaseComment } from './Steps/ReleaseComment.js';\nimport { ChooseVersion } from './Steps/ChooseVersion.js';\nimport { ConfirmMinorVersion } from './Steps/ConfirmMinorVersion.js';\nimport { NextSteps } from './Steps/NextSteps.js';\nimport { ReleaseVersionType } from './types.js';\n\ninterface ReleaseProps {\n baseUrl?: string;\n siteIdOverride?: string;\n preEnteredComment?: string;\n preSelectedVersionType?: ReleaseVersionType;\n isPublished: boolean;\n latestVersion: SemVer;\n onReleaseDraftCreated?: (version: string) => void;\n}\n\nexport const Release: FC<ReleaseProps> = ({\n baseUrl,\n siteIdOverride,\n preEnteredComment,\n preSelectedVersionType,\n isPublished,\n latestVersion,\n onReleaseDraftCreated,\n}) => {\n const {\n model: {\n config: { appId },\n },\n } = useProjectModel();\n\n const { createDraftVersion, releaseDraftVersion } = useARMClient();\n\n const [tag, setTag] = useState<string>();\n const [comment, setComment] = useState<string | undefined>();\n const [versionType, setVersionType] = useState<ReleaseVersionType>();\n const [userShouldSelectVersion, setUserShouldSelectVersion] = useState(false);\n\n const createDraftAction = useAsyncCallback(async (_, tag: string) => {\n const { nextMajor, nextMinor } = await createDraftVersion(appId, tag);\n\n const appWasNeverReleased =\n latestVersion.major === 0 && latestVersion.minor === 0;\n\n return {\n nextMinor,\n nextMajor,\n appWasNeverReleased,\n };\n });\n\n const releaseDraftAction = useAsyncCallback(\n async (_, versionType: ReleaseVersionType, comment: string) => {\n const result = await releaseDraftVersion(appId, {\n createNewMajor: versionType === ReleaseVersionType.MAJOR,\n notes: comment,\n latestMajor: latestVersion.major,\n });\n\n onReleaseDraftCreated?.(result.releasedVersion);\n\n return result;\n }\n );\n\n function onPreviewCreated({ tag }: { tag: string }) {\n setTag(tag);\n\n if (isString(preEnteredComment)) {\n void onReleaseCommentEntered({ tag, comment: preEnteredComment });\n }\n }\n\n async function onReleaseCommentEntered({\n tag,\n comment,\n }: {\n tag: string;\n comment: string;\n }) {\n setComment(comment);\n\n const result = await createDraftAction.execute(tag).catch(() => null);\n if (!result) {\n return;\n }\n\n const { appWasNeverReleased, nextMinor } = result;\n\n const chosenVersion = appWasNeverReleased\n ? ReleaseVersionType.MAJOR\n : preSelectedVersionType;\n\n if (\n preSelectedVersionType === ReleaseVersionType.MINOR &&\n (appWasNeverReleased || !nextMinor)\n ) {\n throw new CliError({\n cause: null,\n code: CliErrorCode.CannotReleaseMinorInNoninteractive(),\n });\n }\n\n if (chosenVersion) {\n void releaseDraftAction.execute(chosenVersion, comment);\n } else {\n setUserShouldSelectVersion(true);\n }\n }\n\n return (\n <>\n <CreatePreview\n baseUrl={baseUrl}\n siteIdOverride={siteIdOverride}\n onCreated={(tag) => onPreviewCreated({ tag })}\n />\n {tag && <Warnings />}\n {tag && !isString(preEnteredComment) && (\n <ReleaseComment\n onEntered={(comment) => onReleaseCommentEntered({ tag, comment })}\n />\n )}\n {isString(comment) &&\n match(createDraftAction.status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => (\n <Spinner\n text={<Trans i18nKey=\"release_command.creating_draft\" />}\n />\n ),\n Success: ({ result: { nextMajor, nextMinor } }) => (\n <>\n {userShouldSelectVersion && (\n <ChooseVersion\n nextMinor={nextMinor}\n nextMajor={nextMajor}\n onChosen={(selectedVersionType) => {\n setVersionType(selectedVersionType);\n if (selectedVersionType === ReleaseVersionType.MAJOR) {\n void releaseDraftAction.execute(\n selectedVersionType,\n comment\n );\n }\n }}\n />\n )}\n {versionType === ReleaseVersionType.MINOR && (\n <ConfirmMinorVersion\n onConfirmed={() =>\n releaseDraftAction.execute(versionType, comment)\n }\n />\n )}\n </>\n ),\n })}\n {match(releaseDraftAction.status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => (\n <Spinner text={<Trans i18nKey=\"release_command.releasing\" />} />\n ),\n Success: ({ result: { releasedVersion } }) => (\n <Box flexDirection=\"column\" gap={1}>\n <Alert type=\"success\">\n <Text bold>\n <Trans\n i18nKey=\"release_command.released\"\n values={{ version: releasedVersion }}\n />\n </Text>\n </Alert>\n <NextSteps isPublished={isPublished} />\n </Box>\n ),\n })}\n </>\n );\n};\n\nfunction isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Box } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { PreviewCommand } from '../../PreviewCommand/index.js';\n\ninterface CreatePreviewProps {\n baseUrl?: string;\n siteIdOverride?: string;\n onCreated: (tag: string) => void;\n}\n\nexport const CreatePreview: FC<CreatePreviewProps> = (props) => {\n const { baseUrl, siteIdOverride, onCreated } = props;\n\n return (\n <Box flexDirection=\"column\" gap={1}>\n <Trans i18nKey=\"release_command.check_preview_before_version_release\" />\n <Box flexDirection=\"column\">\n <PreviewCommand\n baseUrl={baseUrl}\n siteIdOverride={siteIdOverride}\n onPreviewCreated={onCreated}\n />\n </Box>\n </Box>\n );\n};\n","import React from 'react';\nimport { Alert, Box, Notification } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { useBackendComponents } from '../../../backend/useBackendComponents.js';\n\nexport const Warnings = () => {\n const { backendComponentsByType } = useBackendComponents();\n\n if (backendComponentsByType.Event.length === 0) {\n return null;\n }\n\n return (\n <Box flexDirection=\"column\" paddingBottom={1}>\n <Notification>\n <Alert type=\"warning\">\n <Trans i18nKey=\"release_command.confirm_version_events_warning\" />\n </Alert>\n </Notification>\n </Box>\n );\n};\n","import React, { useCallback } from 'react';\nimport type { FC } from 'react';\nimport { TextInput } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { useWixCliAppBi } from '../../../bi/index.js';\n\ninterface ReleaseCommentProps {\n onEntered: (comment: string) => void;\n}\n\nexport const ReleaseComment: FC<ReleaseCommentProps> = (props) => {\n const { onEntered } = props;\n\n const { t } = useTranslation();\n const bi = useWixCliAppBi();\n\n const validate = useCallback(\n (value: string) => {\n if (value && value.length > 250) {\n return t('release_command.release_comment_requirement');\n }\n return true;\n },\n [t]\n );\n\n return (\n <TextInput\n label={t('release_command.enter_release_comment')}\n onSubmit={(answer) => {\n bi.cliFlowStepAnswered({\n question: t('release_command.enter_release_comment'),\n questionKey: 'release_command.enter_release_comment',\n answer,\n });\n onEntered(answer);\n }}\n validate={validate}\n />\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport { Link, SelectInput, SelectOptionAvailability } from '@wix/cli-ui-kit';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { useWixCliAppBi } from '../../../bi/index.js';\nimport { ReleaseVersionType } from '../types.js';\n\ninterface ChooseVersionProps {\n nextMinor?: string;\n nextMajor: string;\n onChosen: (props: ReleaseVersionType) => void;\n}\n\nexport const ChooseVersion: FC<ChooseVersionProps> = (props) => {\n const { nextMinor, nextMajor, onChosen } = props;\n\n const bi = useWixCliAppBi();\n const { t } = useTranslation();\n\n const options: Array<SelectOption<ReleaseVersionType>> = [\n {\n title: nextMinor\n ? t('release_command.version.minor', {\n version: nextMinor,\n })\n : t('release_command.version.minor_disabled'),\n description: t('release_command.version.minor.description'),\n value: ReleaseVersionType.MINOR,\n availability: nextMinor\n ? SelectOptionAvailability.Enabled()\n : SelectOptionAvailability.Disabled({\n reason: (\n <Trans\n i18nKey=\"release_command.version.minor.disabled\"\n components={[\n // https://dev.wix.com/docs/build-apps/manage-your-app/versioning/about-app-versioning\n <Link url=\"https://wix.to/ZR80Y7p\" />,\n ]}\n />\n ),\n }),\n },\n {\n title: t('release_command.version.major', {\n version: nextMajor,\n }),\n description: t('release_command.version.major.description'),\n value: ReleaseVersionType.MAJOR,\n },\n ];\n\n return (\n <SelectInput<ReleaseVersionType>\n label={t('release_command.version_type_question')}\n options={options}\n initialIndex={nextMinor ? 0 : 1}\n onSubmit={({ value }) => {\n bi.cliFlowStepAnswered({\n question: t('release_command.version_type_question'),\n questionKey: 'release_command.version_type_question',\n answer: value,\n });\n onChosen(value);\n }}\n />\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Box, ConfirmInput } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { useWixCliAppBi } from '../../../bi/index.js';\n\ninterface ConfirmMinorVersionProps {\n onConfirmed: () => void;\n}\n\nexport const ConfirmMinorVersion: FC<ConfirmMinorVersionProps> = (props) => {\n const { onConfirmed } = props;\n\n const bi = useWixCliAppBi();\n const { t } = useTranslation();\n\n return (\n <Box flexDirection=\"column\" paddingBottom={1}>\n <ConfirmInput\n label={t('release_command.confirm_version_creation')}\n initialValue={true}\n onSubmit={(confirm) => {\n bi.cliFlowStepAnswered({\n question: t('release_command.confirm_version_creation'),\n questionKey: 'release_command.confirm_version_creation',\n answer: String(confirm),\n });\n\n if (confirm) {\n onConfirmed();\n }\n }}\n />\n </Box>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Box, Text, Link, Learn, Cart, Statistics } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { useProjectModel } from '../../../model.js';\n\ninterface NextStepsProps {\n isPublished: boolean;\n}\n\nexport const NextSteps: FC<NextStepsProps> = (props) => {\n const { isPublished } = props;\n\n const {\n model: {\n config: { appId },\n },\n } = useProjectModel();\n\n const homeUrl = `https://dev.wix.com/apps/${appId}/home?referralInfo=wix-cli`;\n const statisticsUrl = `https://dev.wix.com/apps/${appId}/statistics?referralInfo=wix-cli`;\n\n return (\n <Box flexDirection=\"column\" gap={1}>\n <Text bold>\n <Trans i18nKey=\"release_command.next_steps\" />\n </Text>\n {isPublished && (\n <Trans\n i18nKey=\"release_command.open_stats\"\n components={[<Statistics />, <Link url={statisticsUrl} />]}\n />\n )}\n {isPublished && (\n <Trans\n i18nKey={'release_command.distribute_other'}\n components={[<Learn />, <Link url={homeUrl} />]}\n />\n )}\n {!isPublished && (\n <Trans\n i18nKey={'release_command.distribute'}\n components={[<Cart />, <Link url={homeUrl} />]}\n />\n )}\n </Box>\n );\n};\n"],"mappings":"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","names":["VersionType","ReleaseVersionType","import_react","import_variant","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","tag","versionType","comment","React","parse","React"]}
1
+ {"version":3,"sources":["../src/components/ReleaseCommand/types.ts","../../../node_modules/@wix/ambassador-ctp-gradual-rollout-v1-app-config/types.impl.ts","../src/components/ReleaseCommand/ReleaseCommand.tsx","../src/components/ReleaseCommand/Release.tsx","../src/components/ReleaseCommand/Steps/CreatePreview.tsx","../src/components/ReleaseCommand/Steps/Warnings.tsx","../src/components/ReleaseCommand/Steps/ReleaseComment.tsx","../src/components/ReleaseCommand/Steps/ChooseVersion.tsx","../src/components/ReleaseCommand/Steps/ConfirmMinorVersion.tsx","../src/components/ReleaseCommand/Steps/NextSteps.tsx"],"sourcesContent":["import { VersionType } from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\n\nexport enum ReleaseVersionType {\n MINOR = VersionType.MINOR,\n MAJOR = VersionType.MAJOR,\n}\n",null,"import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { useAsync, Spinner } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport parse from 'semver/functions/parse.js';\nimport { useProjectModel } from '../../model.js';\nimport { assertBuildOutputExists } from '../../files/assert-build-output-exists.js';\nimport { Release } from './Release.js';\nimport type { ReleaseVersionType } from './types.js';\n\nexport interface ReleaseCommandProps {\n baseUrl?: string;\n siteIdOverride?: string;\n preEnteredComment?: string;\n preSelectedVersionType?: ReleaseVersionType;\n onReleaseDraftCreated?: (version: string) => void;\n}\n\nexport const ReleaseCommand: FC<ReleaseCommandProps> = (props) => {\n const {\n model: {\n projectFolder,\n config: { appId },\n },\n } = useProjectModel();\n\n const { queryAppVersion } = useDevCenterClient();\n\n const { status } = useAsync(async () => {\n await assertBuildOutputExists(projectFolder);\n const { isLocked, isPublished, latestVersion } = await queryAppVersion({\n appId,\n });\n\n if (isLocked) {\n throw new CliError({\n code: CliErrorCode.CannotReleaseLockedApplication(),\n cause: undefined,\n });\n }\n\n const parsedLatestVersion = parse(latestVersion);\n if (!parsedLatestVersion) {\n throw new CliError({\n code: CliErrorCode.FailedToParseLatestVersion({\n version: latestVersion,\n }),\n cause: undefined,\n info: {\n latestVersion,\n },\n });\n }\n\n return { isPublished, latestVersion: parsedLatestVersion };\n }, []);\n\n return match(status, {\n Error: () => null,\n Loading: () => (\n <Spinner text={<Trans i18nKey=\"release_command.loading_app_details\" />} />\n ),\n Success: ({ result }) => <Release {...props} {...result} />,\n });\n};\n","import React, { useState } from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { Box, Text, Alert, Spinner, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { useARMClient } from '@wix/arm-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { SemVer } from 'semver';\nimport { useProjectModel } from '../../model.js';\nimport { CreatePreview } from './Steps/CreatePreview.js';\nimport { Warnings } from './Steps/Warnings.js';\nimport { ReleaseComment } from './Steps/ReleaseComment.js';\nimport { ChooseVersion } from './Steps/ChooseVersion.js';\nimport { ConfirmMinorVersion } from './Steps/ConfirmMinorVersion.js';\nimport { NextSteps } from './Steps/NextSteps.js';\nimport { ReleaseVersionType } from './types.js';\n\ninterface ReleaseProps {\n baseUrl?: string;\n siteIdOverride?: string;\n preEnteredComment?: string;\n preSelectedVersionType?: ReleaseVersionType;\n isPublished: boolean;\n latestVersion: SemVer;\n onReleaseDraftCreated?: (version: string) => void;\n}\n\nexport const Release: FC<ReleaseProps> = ({\n baseUrl,\n siteIdOverride,\n preEnteredComment,\n preSelectedVersionType,\n isPublished,\n latestVersion,\n onReleaseDraftCreated,\n}) => {\n const {\n model: {\n config: { appId },\n },\n } = useProjectModel();\n\n const { createDraftVersion, releaseDraftVersion } = useARMClient();\n\n const [tag, setTag] = useState<string>();\n const [comment, setComment] = useState<string | undefined>();\n const [versionType, setVersionType] = useState<ReleaseVersionType>();\n const [userShouldSelectVersion, setUserShouldSelectVersion] = useState(false);\n\n const createDraftAction = useAsyncCallback(async (_, tag: string) => {\n const { nextMajor, nextMinor } = await createDraftVersion(appId, tag);\n\n const appWasNeverReleased =\n latestVersion.major === 0 && latestVersion.minor === 0;\n\n return {\n nextMinor,\n nextMajor,\n appWasNeverReleased,\n };\n });\n\n const releaseDraftAction = useAsyncCallback(\n async (_, versionType: ReleaseVersionType, comment: string) => {\n const result = await releaseDraftVersion(appId, {\n createNewMajor: versionType === ReleaseVersionType.MAJOR,\n notes: comment,\n latestMajor: latestVersion.major,\n });\n\n onReleaseDraftCreated?.(result.releasedVersion);\n\n return result;\n }\n );\n\n function onPreviewCreated({ tag }: { tag: string }) {\n setTag(tag);\n\n if (isString(preEnteredComment)) {\n void onReleaseCommentEntered({ tag, comment: preEnteredComment });\n }\n }\n\n async function onReleaseCommentEntered({\n tag,\n comment,\n }: {\n tag: string;\n comment: string;\n }) {\n setComment(comment);\n\n const result = await createDraftAction.execute(tag).catch(() => null);\n if (!result) {\n return;\n }\n\n const { appWasNeverReleased, nextMinor } = result;\n\n const chosenVersion = appWasNeverReleased\n ? ReleaseVersionType.MAJOR\n : preSelectedVersionType;\n\n if (\n preSelectedVersionType === ReleaseVersionType.MINOR &&\n (appWasNeverReleased || !nextMinor)\n ) {\n throw new CliError({\n cause: null,\n code: CliErrorCode.CannotReleaseMinorInNoninteractive(),\n });\n }\n\n if (chosenVersion) {\n void releaseDraftAction.execute(chosenVersion, comment);\n } else {\n setUserShouldSelectVersion(true);\n }\n }\n\n return (\n <>\n <CreatePreview\n baseUrl={baseUrl}\n siteIdOverride={siteIdOverride}\n onCreated={(tag) => onPreviewCreated({ tag })}\n />\n {tag && <Warnings />}\n {tag && !isString(preEnteredComment) && (\n <ReleaseComment\n onEntered={(comment) => onReleaseCommentEntered({ tag, comment })}\n />\n )}\n {isString(comment) &&\n match(createDraftAction.status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => (\n <Spinner\n text={<Trans i18nKey=\"release_command.creating_draft\" />}\n />\n ),\n Success: ({ result: { nextMajor, nextMinor } }) => (\n <>\n {userShouldSelectVersion && (\n <ChooseVersion\n nextMinor={nextMinor}\n nextMajor={nextMajor}\n onChosen={(selectedVersionType) => {\n setVersionType(selectedVersionType);\n if (selectedVersionType === ReleaseVersionType.MAJOR) {\n void releaseDraftAction.execute(\n selectedVersionType,\n comment\n );\n }\n }}\n />\n )}\n {versionType === ReleaseVersionType.MINOR && (\n <ConfirmMinorVersion\n onConfirmed={() =>\n releaseDraftAction.execute(versionType, comment)\n }\n />\n )}\n </>\n ),\n })}\n {match(releaseDraftAction.status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => (\n <Spinner text={<Trans i18nKey=\"release_command.releasing\" />} />\n ),\n Success: ({ result: { releasedVersion } }) => (\n <Box flexDirection=\"column\" gap={1}>\n <Alert type=\"success\">\n <Text bold>\n <Trans\n i18nKey=\"release_command.released\"\n values={{ version: releasedVersion }}\n />\n </Text>\n </Alert>\n <NextSteps isPublished={isPublished} />\n </Box>\n ),\n })}\n </>\n );\n};\n\nfunction isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Box } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { PreviewCommand } from '../../PreviewCommand/index.js';\n\ninterface CreatePreviewProps {\n baseUrl?: string;\n siteIdOverride?: string;\n onCreated: (tag: string) => void;\n}\n\nexport const CreatePreview: FC<CreatePreviewProps> = (props) => {\n const { baseUrl, siteIdOverride, onCreated } = props;\n\n return (\n <Box flexDirection=\"column\" gap={1}>\n <Trans i18nKey=\"release_command.check_preview_before_version_release\" />\n <Box flexDirection=\"column\">\n <PreviewCommand\n baseUrl={baseUrl}\n siteIdOverride={siteIdOverride}\n onPreviewCreated={onCreated}\n />\n </Box>\n </Box>\n );\n};\n","import React from 'react';\nimport { Alert, Box, Notification } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { useBackendComponents } from '../../../backend/useBackendComponents.js';\n\nexport const Warnings = () => {\n const { backendComponentsByType } = useBackendComponents();\n\n if (backendComponentsByType.Event.length === 0) {\n return null;\n }\n\n return (\n <Box flexDirection=\"column\" paddingBottom={1}>\n <Notification>\n <Alert type=\"warning\">\n <Trans i18nKey=\"release_command.confirm_version_events_warning\" />\n </Alert>\n </Notification>\n </Box>\n );\n};\n","import React, { useCallback } from 'react';\nimport type { FC } from 'react';\nimport { TextInput } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { useWixCliAppBi } from '../../../bi/index.js';\n\ninterface ReleaseCommentProps {\n onEntered: (comment: string) => void;\n}\n\nexport const ReleaseComment: FC<ReleaseCommentProps> = (props) => {\n const { onEntered } = props;\n\n const { t } = useTranslation();\n const bi = useWixCliAppBi();\n\n const validate = useCallback(\n (value: string) => {\n if (value && value.length > 250) {\n return t('release_command.release_comment_requirement');\n }\n return true;\n },\n [t]\n );\n\n return (\n <TextInput\n label={t('release_command.enter_release_comment')}\n onSubmit={(answer) => {\n bi.cliFlowStepAnswered({\n question: t('release_command.enter_release_comment'),\n questionKey: 'release_command.enter_release_comment',\n answer,\n });\n onEntered(answer);\n }}\n validate={validate}\n />\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport { Link, SelectInput, SelectOptionAvailability } from '@wix/cli-ui-kit';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { useWixCliAppBi } from '../../../bi/index.js';\nimport { ReleaseVersionType } from '../types.js';\n\ninterface ChooseVersionProps {\n nextMinor?: string;\n nextMajor: string;\n onChosen: (props: ReleaseVersionType) => void;\n}\n\nexport const ChooseVersion: FC<ChooseVersionProps> = (props) => {\n const { nextMinor, nextMajor, onChosen } = props;\n\n const bi = useWixCliAppBi();\n const { t } = useTranslation();\n\n const options: Array<SelectOption<ReleaseVersionType>> = [\n {\n title: nextMinor\n ? t('release_command.version.minor', {\n version: nextMinor,\n })\n : t('release_command.version.minor_disabled'),\n description: t('release_command.version.minor.description'),\n value: ReleaseVersionType.MINOR,\n availability: nextMinor\n ? SelectOptionAvailability.Enabled()\n : SelectOptionAvailability.Disabled({\n reason: (\n <Trans\n i18nKey=\"release_command.version.minor.disabled\"\n components={[\n // https://dev.wix.com/docs/build-apps/manage-your-app/versioning/about-app-versioning\n <Link url=\"https://wix.to/ZR80Y7p\" />,\n ]}\n />\n ),\n }),\n },\n {\n title: t('release_command.version.major', {\n version: nextMajor,\n }),\n description: t('release_command.version.major.description'),\n value: ReleaseVersionType.MAJOR,\n },\n ];\n\n return (\n <SelectInput<ReleaseVersionType>\n label={t('release_command.version_type_question')}\n options={options}\n initialIndex={nextMinor ? 0 : 1}\n onSubmit={({ value }) => {\n bi.cliFlowStepAnswered({\n question: t('release_command.version_type_question'),\n questionKey: 'release_command.version_type_question',\n answer: value,\n });\n onChosen(value);\n }}\n />\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Box, ConfirmInput } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { useWixCliAppBi } from '../../../bi/index.js';\n\ninterface ConfirmMinorVersionProps {\n onConfirmed: () => void;\n}\n\nexport const ConfirmMinorVersion: FC<ConfirmMinorVersionProps> = (props) => {\n const { onConfirmed } = props;\n\n const bi = useWixCliAppBi();\n const { t } = useTranslation();\n\n return (\n <Box flexDirection=\"column\" paddingBottom={1}>\n <ConfirmInput\n label={t('release_command.confirm_version_creation')}\n initialValue={true}\n onSubmit={(confirm) => {\n bi.cliFlowStepAnswered({\n question: t('release_command.confirm_version_creation'),\n questionKey: 'release_command.confirm_version_creation',\n answer: String(confirm),\n });\n\n if (confirm) {\n onConfirmed();\n }\n }}\n />\n </Box>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Box, Text, Link, Learn, Cart, Statistics } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { useProjectModel } from '../../../model.js';\n\ninterface NextStepsProps {\n isPublished: boolean;\n}\n\nexport const NextSteps: FC<NextStepsProps> = (props) => {\n const { isPublished } = props;\n\n const {\n model: {\n config: { appId },\n },\n } = useProjectModel();\n\n const homeUrl = `https://dev.wix.com/apps/${appId}/home?referralInfo=wix-cli`;\n const statisticsUrl = `https://dev.wix.com/apps/${appId}/statistics?referralInfo=wix-cli`;\n\n return (\n <Box flexDirection=\"column\" gap={1}>\n <Text bold>\n <Trans i18nKey=\"release_command.next_steps\" />\n </Text>\n {isPublished && (\n <Trans\n i18nKey=\"release_command.open_stats\"\n components={[<Statistics />, <Link url={statisticsUrl} />]}\n />\n )}\n {isPublished && (\n <Trans\n i18nKey={'release_command.distribute_other'}\n components={[<Learn />, <Link url={homeUrl} />]}\n />\n )}\n {!isPublished && (\n <Trans\n i18nKey={'release_command.distribute'}\n components={[<Cart />, <Link url={homeUrl} />]}\n />\n )}\n </Box>\n );\n};\n"],"mappings":"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","names":["VersionType","ReleaseVersionType","import_react","import_variant","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","tag","versionType","comment","React","parse","React"]}
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-6BTLX252.js";
6
6
  import {
7
7
  createI18n
8
- } from "./chunk-S3RIMPQQ.js";
8
+ } from "./chunk-MJCYVUFE.js";
9
9
  import {
10
10
  init_esm_shims
11
11
  } from "./chunk-PYIAC2GK.js";
@@ -20,4 +20,4 @@ function createI18nT() {
20
20
  export {
21
21
  createI18nT
22
22
  };
23
- //# sourceMappingURL=chunk-UUZAWTTZ.js.map
23
+ //# sourceMappingURL=chunk-XT37ORXG.js.map
@@ -4,7 +4,7 @@ import {
4
4
  require_react,
5
5
  useBiLogger,
6
6
  wixCliAppBiEvents
7
- } from "./chunk-S3RIMPQQ.js";
7
+ } from "./chunk-MJCYVUFE.js";
8
8
  import {
9
9
  __toESM,
10
10
  init_esm_shims
@@ -24,4 +24,4 @@ init_esm_shims();
24
24
  export {
25
25
  useWixCliAppBi
26
26
  };
27
- //# sourceMappingURL=chunk-HUQZJ7BP.js.map
27
+ //# sourceMappingURL=chunk-YBKG7R66.js.map
@@ -4521,6 +4521,7 @@ var isAmbassadorModule = (module) => {
4521
4521
  // ../../node_modules/@wix/sdk/build/common.js
4522
4522
  var PUBLIC_METADATA_KEY = "__metadata";
4523
4523
  var DEFAULT_API_URL = "www.wixapis.com";
4524
+ var DEFAULT_EDGE_API_URL = "edge.wixapis.com";
4524
4525
 
4525
4526
  // ../../node_modules/@wix/sdk/build/fetch-error.js
4526
4527
  var FetchErrorResponse = class extends Error {
@@ -4627,7 +4628,7 @@ function runWithoutContext(fn) {
4627
4628
  }
4628
4629
 
4629
4630
  // ../../node_modules/@wix/sdk/build/rest-modules.js
4630
- function buildRESTDescriptor(origFunc, publicMetadata, boundFetch, wixAPIFetch, getActiveToken, options, hostName) {
4631
+ function buildRESTDescriptor(origFunc, publicMetadata, boundFetch, wixAPIFetch, getActiveToken, options, hostName, useCDN) {
4631
4632
  return runWithoutContext(() => origFunc({
4632
4633
  request: async (factory) => {
4633
4634
  const requestOptions = factory({
@@ -4638,7 +4639,7 @@ function buildRESTDescriptor(origFunc, publicMetadata, boundFetch, wixAPIFetch,
4638
4639
  request = requestOptions.fallback[0];
4639
4640
  }
4640
4641
  const domain = options?.HTTPHost ?? DEFAULT_API_URL;
4641
- let url = `https://${domain}${request.url}`;
4642
+ let url = `https://${useCDN ? DEFAULT_EDGE_API_URL : domain}${request.url}`;
4642
4643
  if (request.params && request.params.toString()) {
4643
4644
  url += `?${request.params.toString()}`;
4644
4645
  }
@@ -4701,7 +4702,7 @@ var errorBuilder2 = (code, description, details, data) => {
4701
4702
  },
4702
4703
  status: code
4703
4704
  },
4704
- responseId: data?.requestId
4705
+ requestId: data?.requestId
4705
4706
  };
4706
4707
  };
4707
4708
 
@@ -5000,12 +5001,13 @@ function createClient(config) {
5000
5001
  return modules;
5001
5002
  }
5002
5003
  const apiBaseUrl = config.host?.apiBaseUrl ?? DEFAULT_API_URL;
5004
+ const shouldUseCDN = config.useCDN === void 0 ? config.auth?.shouldUseCDN : config.useCDN;
5003
5005
  return buildRESTDescriptor(runWithoutContext(() => isAmbassadorModule(modules)) ? toHTTPModule(modules) : modules, metadata ?? {}, boundFetch, (relativeUrl, fetchOptions) => {
5004
5006
  const finalUrl = new URL(relativeUrl, `https://${apiBaseUrl}`);
5005
5007
  finalUrl.host = apiBaseUrl;
5006
5008
  finalUrl.protocol = "https";
5007
5009
  return boundFetch(finalUrl.toString(), fetchOptions);
5008
- }, authStrategy.getActiveToken, { HTTPHost: apiBaseUrl }, config.host?.name);
5010
+ }, authStrategy.getActiveToken, { HTTPHost: apiBaseUrl }, config.host?.name, shouldUseCDN);
5009
5011
  } else if (isObject(modules)) {
5010
5012
  return Object.fromEntries(Object.entries(modules).map(([key, value]) => {
5011
5013
  return [key, use(value, modules[PUBLIC_METADATA_KEY])];
@@ -4364,6 +4364,7 @@ var isAmbassadorModule = (module) => {
4364
4364
  // ../../node_modules/@wix/sdk/build/common.js
4365
4365
  var PUBLIC_METADATA_KEY = "__metadata";
4366
4366
  var DEFAULT_API_URL = "www.wixapis.com";
4367
+ var DEFAULT_EDGE_API_URL = "edge.wixapis.com";
4367
4368
 
4368
4369
  // ../../node_modules/@wix/sdk/build/fetch-error.js
4369
4370
  var FetchErrorResponse = class extends Error {
@@ -4470,7 +4471,7 @@ function runWithoutContext(fn) {
4470
4471
  }
4471
4472
 
4472
4473
  // ../../node_modules/@wix/sdk/build/rest-modules.js
4473
- function buildRESTDescriptor(origFunc, publicMetadata, boundFetch, wixAPIFetch, getActiveToken, options, hostName) {
4474
+ function buildRESTDescriptor(origFunc, publicMetadata, boundFetch, wixAPIFetch, getActiveToken, options, hostName, useCDN) {
4474
4475
  return runWithoutContext(() => origFunc({
4475
4476
  request: async (factory) => {
4476
4477
  const requestOptions = factory({
@@ -4481,7 +4482,7 @@ function buildRESTDescriptor(origFunc, publicMetadata, boundFetch, wixAPIFetch,
4481
4482
  request = requestOptions.fallback[0];
4482
4483
  }
4483
4484
  const domain = options?.HTTPHost ?? DEFAULT_API_URL;
4484
- let url = `https://${domain}${request.url}`;
4485
+ let url = `https://${useCDN ? DEFAULT_EDGE_API_URL : domain}${request.url}`;
4485
4486
  if (request.params && request.params.toString()) {
4486
4487
  url += `?${request.params.toString()}`;
4487
4488
  }
@@ -4544,7 +4545,7 @@ var errorBuilder2 = (code, description, details, data) => {
4544
4545
  },
4545
4546
  status: code
4546
4547
  },
4547
- responseId: data?.requestId
4548
+ requestId: data?.requestId
4548
4549
  };
4549
4550
  };
4550
4551
 
@@ -4843,12 +4844,13 @@ function createClient(config) {
4843
4844
  return modules;
4844
4845
  }
4845
4846
  const apiBaseUrl = config.host?.apiBaseUrl ?? DEFAULT_API_URL;
4847
+ const shouldUseCDN = config.useCDN === void 0 ? config.auth?.shouldUseCDN : config.useCDN;
4846
4848
  return buildRESTDescriptor(runWithoutContext(() => isAmbassadorModule(modules)) ? toHTTPModule(modules) : modules, metadata ?? {}, boundFetch, (relativeUrl, fetchOptions) => {
4847
4849
  const finalUrl = new URL(relativeUrl, `https://${apiBaseUrl}`);
4848
4850
  finalUrl.host = apiBaseUrl;
4849
4851
  finalUrl.protocol = "https";
4850
4852
  return boundFetch(finalUrl.toString(), fetchOptions);
4851
- }, authStrategy.getActiveToken, { HTTPHost: apiBaseUrl }, config.host?.name);
4853
+ }, authStrategy.getActiveToken, { HTTPHost: apiBaseUrl }, config.host?.name, shouldUseCDN);
4852
4854
  } else if (isObject(modules)) {
4853
4855
  return Object.fromEntries(Object.entries(modules).map(([key, value]) => {
4854
4856
  return [key, use(value, modules[PUBLIC_METADATA_KEY])];
package/build/index.js CHANGED
@@ -2,18 +2,18 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  createI18nT
5
- } from "./chunk-UUZAWTTZ.js";
5
+ } from "./chunk-XT37ORXG.js";
6
6
  import {
7
7
  runCommand
8
- } from "./chunk-DT5SDTRI.js";
9
- import "./chunk-3C7IDKDV.js";
8
+ } from "./chunk-GJD3WPIB.js";
9
+ import "./chunk-CJN3OVTP.js";
10
10
  import "./chunk-6BTLX252.js";
11
- import "./chunk-AGCEJPNC.js";
11
+ import "./chunk-NNPPCKE7.js";
12
12
  import {
13
13
  package_default,
14
14
  require_react,
15
15
  z
16
- } from "./chunk-S3RIMPQQ.js";
16
+ } from "./chunk-MJCYVUFE.js";
17
17
  import {
18
18
  __commonJS,
19
19
  __require,
@@ -3376,8 +3376,8 @@ var {
3376
3376
  // src/commands/build.ts
3377
3377
  init_esm_shims();
3378
3378
  var buildCommand = (services) => createCommand("build").action(async (_, command) => {
3379
- const { runCommand: runCommand2 } = await import("./render-command-I7TJW3BF.js");
3380
- const { build } = await import("./build-R24UOFVB.js");
3379
+ const { runCommand: runCommand2 } = await import("./render-command-7M54GGXG.js");
3380
+ const { build } = await import("./build-5TJBO2Z6.js");
3381
3381
  await runCommand2(command, services, build);
3382
3382
  });
3383
3383
 
@@ -3387,8 +3387,8 @@ var import_react = __toESM(require_react(), 1);
3387
3387
  var devCommand = (services) => {
3388
3388
  const t = createI18nT();
3389
3389
  return createCommand("dev").option("-s, --https", t("dev_command_def.option.https")).action(async (options, command) => {
3390
- const { DevCommand } = await import("./DevCommand-LMH2ZEYS.js");
3391
- const { renderCommand } = await import("./render-command-I7TJW3BF.js");
3390
+ const { DevCommand } = await import("./DevCommand-T2CCTVH5.js");
3391
+ const { renderCommand } = await import("./render-command-7M54GGXG.js");
3392
3392
  const { https = false } = options;
3393
3393
  await renderCommand(command, services, /* @__PURE__ */ import_react.default.createElement(DevCommand, { https }), {
3394
3394
  watchForModelChanges: true
@@ -3457,17 +3457,17 @@ var previewCommand = (services) => {
3457
3457
  ).hideHelp()
3458
3458
  ).action(async (options, command) => {
3459
3459
  const { site, baseUrl, json } = options;
3460
- const { renderCommand, runCommand: runCommand2 } = await import("./render-command-I7TJW3BF.js");
3460
+ const { renderCommand, runCommand: runCommand2 } = await import("./render-command-7M54GGXG.js");
3461
3461
  if (json) {
3462
3462
  return runCommand2(command, services, async (model) => {
3463
- const { nonInteractivePreview } = await import("./preview-MQRVT6F3.js");
3463
+ const { nonInteractivePreview } = await import("./preview-4WAJE5MZ.js");
3464
3464
  return nonInteractivePreview(services, model, {
3465
3465
  baseUrl,
3466
3466
  siteId: site
3467
3467
  });
3468
3468
  });
3469
3469
  }
3470
- const { PreviewCommand } = await import("./PreviewCommand-GKWGXWGO.js");
3470
+ const { PreviewCommand } = await import("./PreviewCommand-U4FLX7BV.js");
3471
3471
  await renderCommand(
3472
3472
  command,
3473
3473
  services,
@@ -3498,8 +3498,8 @@ var createVersionCommand = (services) => {
3498
3498
  t("create_version_command_def.option.base_url"),
3499
3499
  validateBase
3500
3500
  ).action(async (options, command) => {
3501
- const { renderCommand } = await import("./render-command-I7TJW3BF.js");
3502
- const { CreateVersionCommandDeprecated } = await import("./CreateVersionCommand-AFO6QZ3K.js");
3501
+ const { renderCommand } = await import("./render-command-7M54GGXG.js");
3502
+ const { CreateVersionCommandDeprecated } = await import("./CreateVersionCommand-6NNLCV4G.js");
3503
3503
  await renderCommand(
3504
3504
  command,
3505
3505
  services,
@@ -3516,8 +3516,8 @@ var addPermissionCommand = (services) => {
3516
3516
  return createCommand("add-permission").description("adding a permission to the app").addOption(
3517
3517
  new Option("-p, --permission-id <id>", t("the permission id to add"))
3518
3518
  ).action(async (options, command) => {
3519
- const { renderCommand } = await import("./render-command-I7TJW3BF.js");
3520
- const { AddPermissionCommand } = await import("./AddPermissionCommand-XY4GGAKI.js");
3519
+ const { renderCommand } = await import("./render-command-7M54GGXG.js");
3520
+ const { AddPermissionCommand } = await import("./AddPermissionCommand-UGME2QWS.js");
3521
3521
  const { permissionId = "" } = options;
3522
3522
  await renderCommand(
3523
3523
  command,
@@ -3533,8 +3533,8 @@ var import_react5 = __toESM(require_react(), 1);
3533
3533
  var serveCommand = (services) => {
3534
3534
  const t = createI18nT();
3535
3535
  return createCommand("serve").description(t("serve_command_def.description")).action(async (_, command) => {
3536
- const { renderCommand } = await import("./render-command-I7TJW3BF.js");
3537
- const { ServeCommandDeprecated } = await import("./ServeCommand-RPXEURIC.js");
3536
+ const { renderCommand } = await import("./render-command-7M54GGXG.js");
3537
+ const { ServeCommandDeprecated } = await import("./ServeCommand-ENJQ7W3M.js");
3538
3538
  await renderCommand(command, services, /* @__PURE__ */ import_react5.default.createElement(ServeCommandDeprecated, null));
3539
3539
  });
3540
3540
  };
@@ -3545,8 +3545,8 @@ var import_react6 = __toESM(require_react(), 1);
3545
3545
  var generateCommand = (services) => {
3546
3546
  const t = createI18nT();
3547
3547
  return createCommand("generate").description(t("generate_command.description")).action(async (options, command) => {
3548
- const { GenerateCommand } = await import("./GenerateCommand-3CK2O4L6.js");
3549
- const { renderCommand } = await import("./render-command-I7TJW3BF.js");
3548
+ const { GenerateCommand } = await import("./GenerateCommand-BQWKR77V.js");
3549
+ const { renderCommand } = await import("./render-command-7M54GGXG.js");
3550
3550
  await renderCommand(command, services, /* @__PURE__ */ import_react6.default.createElement(GenerateCommand, null), {
3551
3551
  skipProjectValidation: true
3552
3552
  });
@@ -3564,8 +3564,8 @@ var logsCommand = (services) => {
3564
3564
  validateVersion
3565
3565
  ).action(async (options, command) => {
3566
3566
  const { version } = options;
3567
- const { renderCommand } = await import("./render-command-I7TJW3BF.js");
3568
- const { LogsCommand } = await import("./LogsCommand-T2OR2ZNI.js");
3567
+ const { renderCommand } = await import("./render-command-7M54GGXG.js");
3568
+ const { LogsCommand } = await import("./LogsCommand-FAMABFXV.js");
3569
3569
  await renderCommand(command, services, /* @__PURE__ */ import_react7.default.createElement(LogsCommand, { version }));
3570
3570
  });
3571
3571
  };
@@ -3598,8 +3598,8 @@ var releaseCommand = (services) => {
3598
3598
  t("app_preview_command_def.option.json")
3599
3599
  ).hideHelp()
3600
3600
  ).action(async (options, command) => {
3601
- const { renderCommand } = await import("./render-command-I7TJW3BF.js");
3602
- const { ReleaseCommand, ReleaseVersionType } = await import("./ReleaseCommand-VRSGVCA5.js");
3601
+ const { renderCommand } = await import("./render-command-7M54GGXG.js");
3602
+ const { ReleaseCommand, ReleaseVersionType } = await import("./ReleaseCommand-ZVGT3DJ4.js");
3603
3603
  const { baseUrl, site, comment, json } = options;
3604
3604
  const versionType = options.versionType ? {
3605
3605
  major: ReleaseVersionType.MAJOR,
@@ -3613,7 +3613,7 @@ var releaseCommand = (services) => {
3613
3613
  };
3614
3614
  if (json) {
3615
3615
  return runCommand(command, services, async (model) => {
3616
- const { nonInteractiveRelease } = await import("./release-BVT34U5G.js");
3616
+ const { nonInteractiveRelease } = await import("./release-UNNP3L64.js");
3617
3617
  return nonInteractiveRelease(services, model, props);
3618
3618
  });
3619
3619
  }
@@ -0,0 +1,2 @@
1
+ import{b as g}from"./chunk-BGTZ3RNN.js";import{a as A,b as U,d as R}from"./chunk-7EYXEF6M.js";import{f as H}from"./chunk-SBZEOPXX.js";R();import{wixContext as F}from"@wix/sdk-context";var X=e=>{switch(e){case"get":case"GET":return"GET";case"post":case"POST":return"POST";case"put":case"PUT":return"PUT";case"delete":case"DELETE":return"DELETE";case"patch":case"PATCH":return"PATCH";case"head":case"HEAD":return"HEAD";case"options":case"OPTIONS":return"OPTIONS";default:throw new Error(`Unknown method: ${e}`)}},I=e=>r=>async n=>{let d,s=t=>{if(d=e(n)(t),d.url===void 0)throw new Error("Url was not successfully created for this request, please reach out to support channels for assistance.");let{method:i,url:o,params:l}=d;return{...d,method:X(i),url:o,data:d.data,params:l}};try{let t=await r.request(s);if(d===void 0)throw new Error("Request options were not created for this request, please reach out to support channels for assistance.");let i=Array.isArray(d.transformResponse)?d.transformResponse:[d.transformResponse],o=t.data;return i.forEach(l=>{l&&(o=l(t.data,t.headers))}),o}catch(t){throw typeof t=="object"&&t!==null&&"response"in t&&typeof t.response=="object"&&t.response!==null&&"data"in t.response?t.response.data:t}},M=e=>e.__isAmbassador?!0:!!e().__isAmbassador;var j="__metadata",_="www.wixapis.com",S="edge.wixapis.com";var v=class extends Error{constructor(n,d){super(n);H(this,"message");H(this,"response");this.message=n,this.response=d}async details(){let n=await this.response.json();return V(this.response.status,n?.message,n?.details,{requestId:this.response.headers.get("X-Wix-Request-Id"),details:n})}},V=(e,r,n,d)=>({details:{...!n?.validationError&&{applicationError:{description:r,code:e,data:d}},...n},message:r,requestId:d?.requestId});var W=e=>e?.method&&["post","put","patch"].includes(e.method.toLocaleLowerCase())&&e.body?{"Content-Type":"application/json"}:{},L=e=>e&&typeof e=="object"&&!Array.isArray(e);var q=e=>e.__type==="host";function N(e,r){return e.create(r)}var Y="x-wix-bi-gateway";function $(e,r,n){return{[Y]:z({environment:`js-sdk${n?`-${n}`:""}`,"package-name":e.packageName??r?.PACKAGE_NAME,"method-fqn":e.methodFqn,entity:e.entityFqdn})}}function z(e){return Object.entries(e).filter(([r,n])=>!!n).map(([r,n])=>`${r}=${n}`).join(",")}function J(e,r,n,d,s,t,i,o){return g(()=>e({request:async l=>{let f=l({host:t?.HTTPHost||_}),c=f;c.method==="GET"&&c.fallback?.length&&c.params.toString().length>4e3&&(c=f.fallback[0]);let E=t?.HTTPHost??_,h=`https://${o?S:E}${c.url}`;c.params&&c.params.toString()&&(h+=`?${c.params.toString()}`);try{let a=$(f,r,i),p=await n(h,{method:c.method,...c.data&&{body:JSON.stringify(c.data)},headers:{...a}});if(p.status!==200){let u=null;try{u=await p.json()}catch{}throw K(p.status,u?.message,u?.details,{requestId:p.headers.get("X-Wix-Request-Id"),details:u})}return{data:await p.json(),headers:p.headers,status:p.status,statusText:p.statusText}}catch(a){throw a.message?.includes("fetch is not defined")&&console.error("Node.js v18+ is required"),a}},fetchWithAuth:n,wixAPIFetch:d,getActiveToken:s}))}var K=(e,r,n,d)=>({response:{data:{details:{...!n?.validationError&&{applicationError:{description:r,code:e,data:d}},...n},message:r},status:e},requestId:d?.requestId});R();function b(){return{emit(e,...r){for(let n=0,d=this.events[e]||[],s=d.length;n<s;n++)d[n](...r)},events:{},on(e,r){return(this.events[e]||=[]).push(r),()=>{this.events[e]=this.events[e]?.filter(n=>r!==n)}}}}var O=e=>e.__type==="event-definition";function D(e,r,n,d){let s;if(e.isDomainEvent){let i=n,{deletedEvent:o,actionEvent:l,createdEvent:f,updatedEvent:c,...E}=i,h={...d,...E};o?o?.deletedEntity?s={entity:o?.deletedEntity,metadata:h}:s={metadata:h}:l?s={data:l.body,metadata:h}:s={entity:f?.entity??c?.currentEntity,metadata:h}}else s={data:n,metadata:d};let t=e.transformations??(i=>i);return r(t(s))}function k(e){let r=new Map,n=b(),d={...n,getRegisteredEvents:()=>r,async process(s,t={expectedEvents:[]}){let{eventType:i,identity:o,instanceId:l,payload:f}=await this.parseJWT(s),c=[...t.expectedEvents,...Array.from(r.keys()).map(h=>({type:h}))];if(c.length>0&&!c.some(({type:h})=>h===i))throw new Error(`Unexpected event type: ${i}. Expected one of: ${c.map(h=>h.type).join(", ")}`);let E=r.get(i)??[];return await Promise.all(E.map(({eventDefinition:h,handler:a})=>D(h,a,f,{instanceId:l,identity:o}))),{instanceId:l,eventType:i,payload:f,identity:o}},async processRequest(s,t){let i=await s.text();return this.process(i,t)},async parseJWT(s){if(!e.decodeJWT)throw new Error("decodeJWT is not supported by the authentication strategy");let{decoded:t,valid:i}=await e.decodeJWT(s);if(!i)throw new Error("JWT is not valid");if(typeof t.data!="string")throw new Error(`Unexpected type of JWT data: expected string, got ${typeof t.data}`);let o=JSON.parse(t.data),l=o.eventType,f=o.instanceId,c=o.identity?JSON.parse(o.identity):void 0,E=JSON.parse(o.data);return{instanceId:f,eventType:l,payload:E,identity:c}},async parseRequest(s){let t=await s.text();return this.parseJWT(t)},async executeHandlers(s){let t=Array.from(r.keys()).map(o=>({type:o}));if(t.length>0&&!t.some(({type:o})=>o===s.eventType))throw new Error(`Unexpected event type: ${s.eventType}. Expected one of: ${t.map(o=>o.type).join(", ")}`);let i=r.get(s.eventType)??[];await Promise.all(i.map(({eventDefinition:o,handler:l})=>D(o,l,s.payload,{instanceId:s.instanceId,identity:s.identity})))},apps:{AppInstalled:A("AppInstalled")(),AppRemoved:A("AppRemoved")()}};return{initModule(s){return t=>{let i=r.get(s.type)??[];i.push({eventDefinition:s,handler:t}),r.set(s.type,i),n.emit("registered",s)}},client:d}}var B=e=>e.__type==="service-plugin-definition";function G(e){let r=new Map,n=b(),d={...n,getRegisteredServicePlugins:()=>r,async parseJWT(s){if(!e.decodeJWT)throw new Error("decodeJWT is not supported by the authentication strategy");let{decoded:t,valid:i}=await e.decodeJWT(s,!0);if(!i)throw new Error("JWT is not valid");if(typeof t.data!="object"||t.data===null||!("metadata"in t.data)||typeof t.data.metadata!="object"||t.data.metadata===null||!("appExtensionType"in t.data.metadata)||typeof t.data.metadata.appExtensionType!="string")throw new Error("Unexpected JWT data: expected object with metadata.appExtensionType string");return t.data},async process(s){let t=await this.parseJWT(s.body);return this.executeHandler(t,s.url)},async parseRequest(s){let t=await s.text();return this.parseJWT(t)},async processRequest(s){let t=s.url,i=await s.text();try{let o=await this.process({url:t,body:i});return Response.json(o)}catch(o){if(o.errorType==="SPI"&&o.applicationCode&&o.httpCode)return Response.json({applicationError:{code:o.applicationCode,data:o.data}},{status:o.httpCode});throw o}},async executeHandler(s,t){let i=s.metadata.appExtensionType.toLowerCase(),o=r.get(i)??[];if(o.length===0)throw new Error(`No service plugin implementations found for component type ${i}`);if(o.length>1)throw new Error(`Multiple service plugin implementations found for component type ${i}. This is currently not supported`);let{implementation:l,servicePluginDefinition:f}=o[0],c=f.methods.find(h=>t.endsWith(h.primaryHttpMappingPath));if(!c)throw new Error("Unexpect request: request url did not match any method: "+t);let E=l[c.name];if(!E)throw new Error(`Got request for service plugin method ${c.name} but no implementation was provided. Available methods: ${Object.keys(l).join(", ")}`);return c.transformations.toREST(await E(c.transformations.fromREST(s)))}};return{initModule(s){return t=>{let i=r.get(s.componentType.toLowerCase())??[];i.push({servicePluginDefinition:s,implementation:t}),r.set(s.componentType.toLowerCase(),i),n.emit("registered",s)}},client:d}}var T="X-Wix-Consistent";function Ae(e){let r=e.headers||{Authorization:""},n=e.auth||{getAuthHeaders:a=>Promise.resolve({headers:{}})},d=n.getAuthHeaders.bind(void 0,e.host);n.getAuthHeaders=d;let s=async(a,p)=>{let y=await d(),u={...p?.headers??{},...y.headers,...r[T]?{[T]:r[T]}:{}};if(typeof a=="string"||a instanceof URL){let m=await fetch(a,{...p,headers:u}),w=P(m);return w&&(r[T]=w),m}else{for(let[x,C]of Object.entries(u))typeof C=="string"&&a.headers.set(x,C);let m=await fetch(a,p),w=P(m);return w&&(r[T]=w),m}},{client:t,initModule:i}=G(n),{client:o,initModule:l}=k(n),f=async(a,p)=>{let y=await d(),u=W(p),m=await fetch(a,{...p,headers:{...u,...r,...y?.headers,...p?.headers,...e.host?.essentials?.passThroughHeaders}}),w=P(m);return w&&(r[T]=w),m},c=(a,p)=>{if(O(a))return l(a);if(B(a))return i(a);if(q(a)&&e.host)return N(a,e.host);if(typeof a=="function"){if("__type"in a&&a.__type===U)return a;let y=e.host?.apiBaseUrl??_,u=e.useCDN===void 0?e.auth?.shouldUseCDN:e.useCDN;return J(g(()=>M(a))?I(a):a,p??{},f,(m,w)=>{let x=new URL(m,`https://${y}`);return x.host=y,x.protocol="https",f(x.toString(),w)},n.getActiveToken,{HTTPHost:y},e.host?.name,u)}else return L(a)?Object.fromEntries(Object.entries(a).map(([y,u])=>[y,c(u,a[j])])):a},E=a=>{for(let p in a)r[p]=a[p]};return{...e.modules?c(e.modules):{},auth:n,setHeaders:E,use:c,enableContext(a,p={elevated:!1}){a==="global"?globalThis.__wix_context__!=null?p.elevated?globalThis.__wix_context__.elevatedClient=this:globalThis.__wix_context__.client=this:p.elevated?globalThis.__wix_context__={elevatedClient:this}:globalThis.__wix_context__={client:this}:p.elevated?F.elevatedClient=this:F.client=this},fetch:(a,p)=>{let y=e.host?.apiBaseUrl??_,u=new URL(a,`https://${y}`);return u.host=y,u.protocol="https",f(u.toString(),p)},fetchWithAuth:s,async graphql(a,p,y={apiVersion:"alpha"}){let u=e?.host?.apiBaseUrl??_,m=await f(`https://${u}/graphql/${y.apiVersion}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:a,variables:p})});if(m.status!==200)throw new v(`GraphQL request failed with status ${m.status}`,m);let{data:w,errors:x}=await m.json();return{data:w??{},errors:x}},webhooks:o,servicePlugins:t}}function P(e){return e.headers?.get(T)??e.headers?.get(T.toLowerCase())}export{Ae as a};
2
+ //# sourceMappingURL=chunk-25LMXVNI.js.map