@wix/cli 1.1.56 → 1.1.57
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/{DevCommand-UW724BPF.js → DevCommand-K3JZ4XZC.js} +13 -14
- package/build/{DevCommand-UW724BPF.js.map → DevCommand-K3JZ4XZC.js.map} +1 -1
- package/build/{DevCommand-KMBUXAPT.js → DevCommand-NPU6T4GA.js} +76 -68
- package/build/DevCommand-NPU6T4GA.js.map +1 -0
- package/build/{LoginCommand-O4FKLPWK.js → LoginCommand-BP3RQHUM.js} +11 -11
- package/build/{LogoutCommand-KMWHOQSC.js → LogoutCommand-VT4QE44U.js} +7 -7
- package/build/{WhoamiCommand-VV6U2M2K.js → WhoamiCommand-KJFFYPZX.js} +4 -4
- package/build/{chunk-VO6LL5ZT.js → chunk-24HYCAK2.js} +2 -2
- package/build/{chunk-GH2E2TEQ.js → chunk-2AGM62L5.js} +54 -7
- package/build/chunk-2AGM62L5.js.map +1 -0
- package/build/{chunk-GOTVWNXA.js → chunk-3KIPOGXI.js} +4 -4
- package/build/{chunk-7M5ZGODY.js → chunk-3R4OZ46Z.js} +2 -2
- package/build/{chunk-NEB7POM3.js → chunk-53UCEZFU.js} +2 -1
- package/build/chunk-53UCEZFU.js.map +1 -0
- package/build/{chunk-ZS2473DH.js → chunk-6F2RSXHN.js} +9 -314
- package/build/chunk-6F2RSXHN.js.map +1 -0
- package/build/{chunk-XKFU2BID.js → chunk-BBGPRSAS.js} +6 -6
- package/build/{chunk-3UYDT5ZT.js → chunk-BHINMCY7.js} +324 -23
- package/build/chunk-BHINMCY7.js.map +1 -0
- package/build/{chunk-CPDU7PKL.js → chunk-E745NXJR.js} +5 -5
- package/build/{chunk-DYIK4YH5.js → chunk-FYXV3TNQ.js} +4 -4
- package/build/{chunk-JH6KT73W.js → chunk-H5EUIUDE.js} +5 -5
- package/build/chunk-IFQQVSBK.js +916 -0
- package/build/chunk-IFQQVSBK.js.map +1 -0
- package/build/{chunk-5PNAZQGU.js → chunk-IRLLAFTL.js} +4 -4
- package/build/{chunk-ZPPKJBJT.js → chunk-KOCJZPLK.js} +2 -2
- package/build/{chunk-GXCSUYZU.js → chunk-KTJ6X6GE.js} +3 -4
- package/build/chunk-KTJ6X6GE.js.map +1 -0
- package/build/{chunk-GPZPN63O.js → chunk-LC4NM6RL.js} +2 -2
- package/build/{chunk-M4NGCYAG.js → chunk-LOJ4G3VD.js} +2 -2
- package/build/{chunk-7LHODQ3J.js → chunk-MCPHB25P.js} +6 -6
- package/build/{chunk-DJCIQS36.js → chunk-MPSJ2YGQ.js} +3 -3
- package/build/{chunk-AMEYK6DR.js → chunk-NX7IBYFX.js} +2 -2
- package/build/{chunk-66PG2F54.js → chunk-QCM5RGPT.js} +3 -3
- package/build/{chunk-5EDABLPV.js → chunk-QZW5GTQF.js} +12 -17
- package/build/chunk-QZW5GTQF.js.map +1 -0
- package/build/{chunk-3TWSKTSG.js → chunk-U2IUPRKN.js} +6 -6
- package/build/{chunk-5LKWJCKW.js → chunk-U67ULUPY.js} +5 -5
- package/build/{chunk-7IO7SVY6.js → chunk-VIUQV2TZ.js} +5 -5
- package/build/{chunk-VDSGAA3D.js → chunk-WYEQRRT2.js} +24 -3
- package/build/chunk-WYEQRRT2.js.map +1 -0
- package/build/{chunk-7DJVGV7H.js → chunk-XTLJ4CAJ.js} +2 -2
- package/build/{chunk-VEDYEGSD.js → chunk-ZOWPPCOU.js} +3 -3
- package/build/{dev-SOVLJFOU.js → dev-P57SGFAA.js} +24 -86
- package/build/dev-P57SGFAA.js.map +1 -0
- package/build/index.js +376 -27
- package/build/index.js.map +1 -1
- package/build/{install-YBL67KU7.js → install-FKVCCLFF.js} +17 -19
- package/build/{install-YBL67KU7.js.map → install-FKVCCLFF.js.map} +1 -1
- package/build/{preview-H3FKN7RS.js → preview-7P7VNEUO.js} +18 -20
- package/build/{preview-H3FKN7RS.js.map → preview-7P7VNEUO.js.map} +1 -1
- package/build/{publish-3Q3XWGUY.js → publish-FA4OUDWG.js} +18 -20
- package/build/{publish-3Q3XWGUY.js.map → publish-FA4OUDWG.js.map} +1 -1
- package/build/{render-command-GEZFKQLP.js → render-command-NM3HNCRF.js} +10 -10
- package/build/{render-command-3PQMENAU.js → render-command-REKF5DLG.js} +11 -11
- package/build/{render-command-BCSOTFBB.js → render-command-VA3HCBMQ.js} +11 -11
- package/build/{run-command-YNCZR65O.js → run-command-ZLQ3PKCS.js} +8 -8
- package/build/{src-DMDBLATB.js → src-BMV74WCO.js} +3 -5
- package/build/{src-NRGIGSNZ.js → src-FSILLQWK.js} +7 -7
- package/build/{src-ZB5ULVF6.js → src-KDZNNJHV.js} +6 -6
- package/build/{src-QML4K6HI.js → src-Q3X5WF65.js} +5 -5
- package/build/{src-QC4COOON.js → src-SWWZQIWT.js} +6 -6
- package/build/{src-MLQVMO4G.js → src-YDZK3SDZ.js} +17 -17
- package/build/{sync-types-2Z3FKMXE.js → sync-types-GLTTFJMA.js} +13 -14
- package/build/{uninstall-PUGTRDQA.js → uninstall-HA7CE6JB.js} +16 -18
- package/build/{uninstall-PUGTRDQA.js.map → uninstall-HA7CE6JB.js.map} +1 -1
- package/package.json +2 -3
- package/build/DevCommand-KMBUXAPT.js.map +0 -1
- package/build/chunk-3UYDT5ZT.js.map +0 -1
- package/build/chunk-5EDABLPV.js.map +0 -1
- package/build/chunk-7AAFANVT.js +0 -3525
- package/build/chunk-7AAFANVT.js.map +0 -1
- package/build/chunk-CVEC37T5.js +0 -62
- package/build/chunk-CVEC37T5.js.map +0 -1
- package/build/chunk-GH2E2TEQ.js.map +0 -1
- package/build/chunk-GXCSUYZU.js.map +0 -1
- package/build/chunk-NEB7POM3.js.map +0 -1
- package/build/chunk-QLGRZABP.js +0 -363
- package/build/chunk-QLGRZABP.js.map +0 -1
- package/build/chunk-VDSGAA3D.js.map +0 -1
- package/build/chunk-ZS2473DH.js.map +0 -1
- package/build/dev-SOVLJFOU.js.map +0 -1
- /package/build/{LoginCommand-O4FKLPWK.js.map → LoginCommand-BP3RQHUM.js.map} +0 -0
- /package/build/{LogoutCommand-KMWHOQSC.js.map → LogoutCommand-VT4QE44U.js.map} +0 -0
- /package/build/{WhoamiCommand-VV6U2M2K.js.map → WhoamiCommand-KJFFYPZX.js.map} +0 -0
- /package/build/{chunk-VO6LL5ZT.js.map → chunk-24HYCAK2.js.map} +0 -0
- /package/build/{chunk-GOTVWNXA.js.map → chunk-3KIPOGXI.js.map} +0 -0
- /package/build/{chunk-7M5ZGODY.js.map → chunk-3R4OZ46Z.js.map} +0 -0
- /package/build/{chunk-XKFU2BID.js.map → chunk-BBGPRSAS.js.map} +0 -0
- /package/build/{chunk-CPDU7PKL.js.map → chunk-E745NXJR.js.map} +0 -0
- /package/build/{chunk-DYIK4YH5.js.map → chunk-FYXV3TNQ.js.map} +0 -0
- /package/build/{chunk-JH6KT73W.js.map → chunk-H5EUIUDE.js.map} +0 -0
- /package/build/{chunk-5PNAZQGU.js.map → chunk-IRLLAFTL.js.map} +0 -0
- /package/build/{chunk-ZPPKJBJT.js.map → chunk-KOCJZPLK.js.map} +0 -0
- /package/build/{chunk-GPZPN63O.js.map → chunk-LC4NM6RL.js.map} +0 -0
- /package/build/{chunk-M4NGCYAG.js.map → chunk-LOJ4G3VD.js.map} +0 -0
- /package/build/{chunk-7LHODQ3J.js.map → chunk-MCPHB25P.js.map} +0 -0
- /package/build/{chunk-DJCIQS36.js.map → chunk-MPSJ2YGQ.js.map} +0 -0
- /package/build/{chunk-AMEYK6DR.js.map → chunk-NX7IBYFX.js.map} +0 -0
- /package/build/{chunk-66PG2F54.js.map → chunk-QCM5RGPT.js.map} +0 -0
- /package/build/{chunk-3TWSKTSG.js.map → chunk-U2IUPRKN.js.map} +0 -0
- /package/build/{chunk-5LKWJCKW.js.map → chunk-U67ULUPY.js.map} +0 -0
- /package/build/{chunk-7IO7SVY6.js.map → chunk-VIUQV2TZ.js.map} +0 -0
- /package/build/{chunk-7DJVGV7H.js.map → chunk-XTLJ4CAJ.js.map} +0 -0
- /package/build/{chunk-VEDYEGSD.js.map → chunk-ZOWPPCOU.js.map} +0 -0
- /package/build/{render-command-GEZFKQLP.js.map → render-command-NM3HNCRF.js.map} +0 -0
- /package/build/{render-command-3PQMENAU.js.map → render-command-REKF5DLG.js.map} +0 -0
- /package/build/{render-command-BCSOTFBB.js.map → render-command-VA3HCBMQ.js.map} +0 -0
- /package/build/{run-command-YNCZR65O.js.map → run-command-ZLQ3PKCS.js.map} +0 -0
- /package/build/{src-DMDBLATB.js.map → src-BMV74WCO.js.map} +0 -0
- /package/build/{src-NRGIGSNZ.js.map → src-FSILLQWK.js.map} +0 -0
- /package/build/{src-ZB5ULVF6.js.map → src-KDZNNJHV.js.map} +0 -0
- /package/build/{src-QML4K6HI.js.map → src-Q3X5WF65.js.map} +0 -0
- /package/build/{src-QC4COOON.js.map → src-SWWZQIWT.js.map} +0 -0
- /package/build/{src-MLQVMO4G.js.map → src-YDZK3SDZ.js.map} +0 -0
- /package/build/{sync-types-2Z3FKMXE.js.map → sync-types-GLTTFJMA.js.map} +0 -0
|
@@ -2,44 +2,43 @@ import { createRequire as _createRequire } from 'node:module';
|
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
useVeloClient
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-MCPHB25P.js";
|
|
6
|
+
import "./chunk-LC4NM6RL.js";
|
|
7
|
+
import "./chunk-NX7IBYFX.js";
|
|
8
8
|
import {
|
|
9
9
|
syncLatestTypes
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-2AGM62L5.js";
|
|
11
11
|
import "./chunk-OJHDGJWP.js";
|
|
12
12
|
import "./chunk-OUBPZBBH.js";
|
|
13
|
-
import "./chunk-CVEC37T5.js";
|
|
14
13
|
import "./chunk-YXFEXGAH.js";
|
|
15
14
|
import {
|
|
16
15
|
useProjectModel
|
|
17
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-E745NXJR.js";
|
|
18
17
|
import {
|
|
19
18
|
pRetry,
|
|
20
19
|
useAuth
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
20
|
+
} from "./chunk-H5EUIUDE.js";
|
|
21
|
+
import "./chunk-IRLLAFTL.js";
|
|
23
22
|
import {
|
|
24
23
|
Spinner,
|
|
25
24
|
Trans,
|
|
26
25
|
require_react,
|
|
27
26
|
useAsync,
|
|
28
27
|
useTranslation
|
|
29
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-BHINMCY7.js";
|
|
30
29
|
import "./chunk-W32TRG4E.js";
|
|
31
30
|
import "./chunk-W423UTD3.js";
|
|
32
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-6F2RSXHN.js";
|
|
33
32
|
import "./chunk-YU54OBFT.js";
|
|
34
33
|
import "./chunk-XMTHMR2B.js";
|
|
35
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-LOJ4G3VD.js";
|
|
36
35
|
import {
|
|
37
36
|
outputDir,
|
|
38
37
|
outputFile
|
|
39
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-24HYCAK2.js";
|
|
40
39
|
import {
|
|
41
40
|
getTestOverrides
|
|
42
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-53UCEZFU.js";
|
|
43
42
|
import {
|
|
44
43
|
CliError,
|
|
45
44
|
CliErrorCode,
|
|
@@ -170,4 +169,4 @@ var DevCommand = () => {
|
|
|
170
169
|
export {
|
|
171
170
|
DevCommand
|
|
172
171
|
};
|
|
173
|
-
//# sourceMappingURL=DevCommand-
|
|
172
|
+
//# sourceMappingURL=DevCommand-K3JZ4XZC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../cli-site-live/src/components/DevCommand/DevCommand.tsx","../../cli-site-live/src/components/DevCommand/InitializingState.tsx","../../cli-site-live/src/velo-types-sync-client/useVeloTypesSyncClient.ts","../../cli-site-live/src/velo-types-sync-client/velo-types-sync-client.ts","../../cli-site-live/src/project-files-service/useProjectFilesService.ts","../../cli-site-live/src/project-files-service/project-files-service.ts","../../cli-site-live/src/components/DevCommand/ReadyState.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { InitializingState } from './InitializingState.js';\nimport { ReadyState } from './ReadyState.js';\n\nexport const DevCommand: FC = () => {\n return (\n <InitializingState>\n <ReadyState />\n </InitializingState>\n );\n};\n","import type { FC, PropsWithChildren } from 'react';\nimport React from 'react';\nimport { match } from 'variant';\nimport { Spinner, useAsync } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { useVeloClient } from '@wix/velo-client';\nimport { useVeloTypesSyncClient } from '../../velo-types-sync-client/useVeloTypesSyncClient.js';\nimport { useProjectFilesService } from '../../project-files-service/useProjectFilesService.js';\nimport { useProjectModel } from '../../model.js';\n\nexport const InitializingState: FC<PropsWithChildren> = ({ children }) => {\n const { t } = useTranslation();\n const veloClient = useVeloClient();\n const projectFilesService = useProjectFilesService();\n const { veloAppId, projectFolder } = useProjectModel();\n const veloTypeSyncer = useVeloTypesSyncClient(projectFolder);\n\n const { status } = useAsync(async () => {\n async function initProjectFiles() {\n const { files, directories } = await veloClient.listAppFiles(veloAppId);\n await Promise.all([\n ...directories.map(projectFilesService.addDir),\n ...files.map(projectFilesService.saveFile),\n ]);\n }\n await Promise.all([initProjectFiles(), veloTypeSyncer.syncLatestTypes()]);\n }, []);\n\n return match(status, {\n Success: () => children,\n Error: () => null,\n Loading: () => <Spinner text={t('dev_command.init.fetching_files')} />,\n });\n};\n","import { useAuth } from '@wix/cli-auth';\nimport { useMemo } from 'react';\nimport { VeloTypesSyncClient } from './velo-types-sync-client.js';\n\nexport function useVeloTypesSyncClient(projectFolder: string) {\n const { getAccessToken } = useAuth();\n\n return useMemo(\n () => new VeloTypesSyncClient(projectFolder, getAccessToken),\n [projectFolder, getAccessToken]\n );\n}\n","import pRetry from 'p-retry';\nimport type { Options } from 'p-retry';\nimport { syncLatestTypes } from '@wix/velo-site-types-syncer';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\n\nexport class VeloTypesSyncClient {\n private readonly retryOptions: Options;\n\n constructor(\n private projectFolder: string,\n private getToken: () => Promise<string>\n ) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n syncLatestTypes = async () => {\n const token = await this.getToken();\n\n try {\n await pRetry(\n () =>\n syncLatestTypes(this.projectFolder, {\n getAppToken: () => token,\n }),\n this.retryOptions\n );\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToSyncPagesTypes(),\n cause: e,\n });\n }\n };\n}\n","import { useMemo } from 'react';\nimport { useProjectModel } from '../model.js';\nimport { ProjectFilesService } from './project-files-service.js';\n\nexport const useProjectFilesService = () => {\n const { projectFolder } = useProjectModel();\n\n return useMemo(() => new ProjectFilesService(projectFolder), [projectFolder]);\n};\n","import { join } from 'node:path';\nimport type { Directory, File } from '@wix/velo-client';\nimport { outputFile, outputDir } from '@wix/cli-fs';\n\nexport class ProjectFilesService {\n constructor(private projectFolder: string) {}\n\n addDir = async (file: Directory): Promise<void> => {\n const filePath = this.getFullPath(file);\n await outputDir(filePath);\n };\n\n saveFile = async (file: File): Promise<void> => {\n const filePath = this.getFullPath(file);\n await outputFile(filePath, file.content);\n };\n\n private getFullPath = (file: File | Directory) =>\n join(this.projectFolder, file.path);\n}\n","import React from 'react';\nimport { Trans } from '@wix/cli-i18n';\n\nexport const ReadyState = () => {\n return <Trans i18nKey=\"dev_command.welcome\" />;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../cli-site-live/src/components/DevCommand/DevCommand.tsx","../../cli-site-live/src/components/DevCommand/InitializingState.tsx","../../cli-site-live/src/velo-types-sync-client/useVeloTypesSyncClient.ts","../../cli-site-live/src/velo-types-sync-client/velo-types-sync-client.ts","../../cli-site-live/src/project-files-service/useProjectFilesService.ts","../../cli-site-live/src/project-files-service/project-files-service.ts","../../cli-site-live/src/components/DevCommand/ReadyState.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { InitializingState } from './InitializingState.js';\nimport { ReadyState } from './ReadyState.js';\n\nexport const DevCommand: FC = () => {\n return (\n <InitializingState>\n <ReadyState />\n </InitializingState>\n );\n};\n","import type { FC, PropsWithChildren } from 'react';\nimport React from 'react';\nimport { match } from 'variant';\nimport { Spinner, useAsync } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { useVeloClient } from '@wix/velo-client';\nimport { useVeloTypesSyncClient } from '../../velo-types-sync-client/useVeloTypesSyncClient.js';\nimport { useProjectFilesService } from '../../project-files-service/useProjectFilesService.js';\nimport { useProjectModel } from '../../model.js';\n\nexport const InitializingState: FC<PropsWithChildren> = ({ children }) => {\n const { t } = useTranslation();\n const veloClient = useVeloClient();\n const projectFilesService = useProjectFilesService();\n const { veloAppId, projectFolder } = useProjectModel();\n const veloTypeSyncer = useVeloTypesSyncClient(projectFolder);\n\n const { status } = useAsync(async () => {\n async function initProjectFiles() {\n const { files, directories } = await veloClient.listAppFiles(veloAppId);\n await Promise.all([\n ...directories.map(projectFilesService.addDir),\n ...files.map(projectFilesService.saveFile),\n ]);\n }\n await Promise.all([initProjectFiles(), veloTypeSyncer.syncLatestTypes()]);\n }, []);\n\n return match(status, {\n Success: () => children,\n Error: () => null,\n Loading: () => <Spinner text={t('dev_command.init.fetching_files')} />,\n });\n};\n","import { useAuth } from '@wix/cli-auth';\nimport { useMemo } from 'react';\nimport { VeloTypesSyncClient } from './velo-types-sync-client.js';\n\nexport function useVeloTypesSyncClient(projectFolder: string) {\n const { getAccessToken } = useAuth();\n\n return useMemo(\n () => new VeloTypesSyncClient(projectFolder, getAccessToken),\n [projectFolder, getAccessToken]\n );\n}\n","import pRetry from 'p-retry';\nimport type { Options } from 'p-retry';\nimport { syncLatestTypes } from '@wix/velo-site-types-syncer';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\n\nexport class VeloTypesSyncClient {\n private readonly retryOptions: Options;\n\n constructor(\n private projectFolder: string,\n private getToken: () => Promise<string>\n ) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n syncLatestTypes = async () => {\n const token = await this.getToken();\n\n try {\n await pRetry(\n () =>\n syncLatestTypes(this.projectFolder, {\n getAppToken: () => token,\n }),\n this.retryOptions\n );\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToSyncPagesTypes(),\n cause: e,\n });\n }\n };\n}\n","import { useMemo } from 'react';\nimport { useProjectModel } from '../model.js';\nimport { ProjectFilesService } from './project-files-service.js';\n\nexport const useProjectFilesService = () => {\n const { projectFolder } = useProjectModel();\n\n return useMemo(() => new ProjectFilesService(projectFolder), [projectFolder]);\n};\n","import { join } from 'node:path';\nimport type { Directory, File } from '@wix/velo-client';\nimport { outputFile, outputDir } from '@wix/cli-fs';\n\nexport class ProjectFilesService {\n constructor(private projectFolder: string) {}\n\n addDir = async (file: Directory): Promise<void> => {\n const filePath = this.getFullPath(file);\n await outputDir(filePath);\n };\n\n saveFile = async (file: File): Promise<void> => {\n const filePath = this.getFullPath(file);\n await outputFile(filePath, file.content);\n };\n\n private getFullPath = (file: File | Directory) =>\n join(this.projectFolder, file.path);\n}\n","import React from 'react';\nimport { Trans } from '@wix/cli-i18n';\n\nexport const ReadyState = () => {\n return <Trans i18nKey=\"dev_command.welcome\" />;\n};\n"],"mappings":"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","names":["import_react","import_react","import_react","React","import_react","React","React"]}
|
|
@@ -2,24 +2,26 @@ import { createRequire as _createRequire } from 'node:module';
|
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
createVeloCLIServer,
|
|
5
|
+
debounceQueue,
|
|
5
6
|
require_chokidar
|
|
6
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-WYEQRRT2.js";
|
|
7
8
|
import "./chunk-EDFOB3LN.js";
|
|
8
9
|
import {
|
|
9
10
|
useVeloClient
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-MCPHB25P.js";
|
|
12
|
+
import "./chunk-LC4NM6RL.js";
|
|
13
|
+
import "./chunk-NX7IBYFX.js";
|
|
13
14
|
import {
|
|
14
15
|
useProjectModel
|
|
15
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-VIUQV2TZ.js";
|
|
16
17
|
import "./chunk-OUBPZBBH.js";
|
|
17
18
|
import {
|
|
18
|
-
openBrowser
|
|
19
|
-
|
|
19
|
+
openBrowser,
|
|
20
|
+
pLimit
|
|
21
|
+
} from "./chunk-H5EUIUDE.js";
|
|
20
22
|
import {
|
|
21
23
|
useErrorReporter
|
|
22
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-IRLLAFTL.js";
|
|
23
25
|
import {
|
|
24
26
|
Alert,
|
|
25
27
|
Badge,
|
|
@@ -32,19 +34,19 @@ import {
|
|
|
32
34
|
useAsyncCallback,
|
|
33
35
|
useExit,
|
|
34
36
|
use_input_default
|
|
35
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-BHINMCY7.js";
|
|
36
38
|
import "./chunk-W32TRG4E.js";
|
|
37
39
|
import "./chunk-W423UTD3.js";
|
|
38
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-6F2RSXHN.js";
|
|
39
41
|
import "./chunk-YU54OBFT.js";
|
|
40
42
|
import "./chunk-XMTHMR2B.js";
|
|
41
43
|
import {
|
|
42
44
|
getSourceFolder
|
|
43
|
-
} from "./chunk-
|
|
44
|
-
import "./chunk-
|
|
45
|
+
} from "./chunk-LOJ4G3VD.js";
|
|
46
|
+
import "./chunk-24HYCAK2.js";
|
|
45
47
|
import {
|
|
46
48
|
getTestOverrides
|
|
47
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-53UCEZFU.js";
|
|
48
50
|
import {
|
|
49
51
|
CliError,
|
|
50
52
|
CliErrorCode,
|
|
@@ -57,15 +59,15 @@ import {
|
|
|
57
59
|
|
|
58
60
|
// ../cli-site/src/components/DevCommand/DevCommand.tsx
|
|
59
61
|
init_esm_shims();
|
|
60
|
-
var
|
|
62
|
+
var import_react6 = __toESM(require_react(), 1);
|
|
61
63
|
|
|
62
64
|
// ../cli-site/src/components/DevCommand/DevCommandScreen.tsx
|
|
63
65
|
init_esm_shims();
|
|
64
|
-
var
|
|
66
|
+
var import_react5 = __toESM(require_react(), 1);
|
|
65
67
|
|
|
66
68
|
// ../cli-site/src/components/DevCommand/DevEnvironment.tsx
|
|
67
69
|
init_esm_shims();
|
|
68
|
-
var
|
|
70
|
+
var import_react4 = __toESM(require_react(), 1);
|
|
69
71
|
var import_variant = __toESM(require_lib(), 1);
|
|
70
72
|
|
|
71
73
|
// ../cli-site/src/site-fs-manager.ts
|
|
@@ -843,27 +845,13 @@ function useSrcFolder() {
|
|
|
843
845
|
return getSourceFolder(model.projectFolder);
|
|
844
846
|
}
|
|
845
847
|
|
|
846
|
-
// ../cli-site/src/components/DevCommand/useIsSyncing.ts
|
|
847
|
-
init_esm_shims();
|
|
848
|
-
var import_react = __toESM(require_react(), 1);
|
|
849
|
-
function useIsSyncing() {
|
|
850
|
-
const [syncHandlersCount, setSyncHandlersCount] = (0, import_react.useState)(0);
|
|
851
|
-
const startSync = (0, import_react.useCallback)(() => {
|
|
852
|
-
setSyncHandlersCount((count) => count + 1);
|
|
853
|
-
}, []);
|
|
854
|
-
const finishSync = (0, import_react.useCallback)(() => {
|
|
855
|
-
setSyncHandlersCount((count) => count - 1);
|
|
856
|
-
}, []);
|
|
857
|
-
return { isSyncing: syncHandlersCount > 0, startSync, finishSync };
|
|
858
|
-
}
|
|
859
|
-
|
|
860
848
|
// ../cli-site/src/components/DevCommand/useFsWatcher.ts
|
|
861
849
|
init_esm_shims();
|
|
862
|
-
var
|
|
850
|
+
var import_react = __toESM(require_react(), 1);
|
|
863
851
|
var import_chokidar = __toESM(require_chokidar(), 1);
|
|
864
852
|
function useFsWatcher(cwd) {
|
|
865
853
|
const { reportError } = useErrorReporter();
|
|
866
|
-
const [{ watcher, ...publicApi }] = (0,
|
|
854
|
+
const [{ watcher, ...publicApi }] = (0, import_react.useState)(() => {
|
|
867
855
|
const watcher2 = (0, import_chokidar.watch)(".", {
|
|
868
856
|
cwd,
|
|
869
857
|
ignoreInitial: true,
|
|
@@ -871,14 +859,25 @@ function useFsWatcher(cwd) {
|
|
|
871
859
|
});
|
|
872
860
|
return {
|
|
873
861
|
watcher: watcher2,
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
862
|
+
onBatchChange: (eventHandler) => {
|
|
863
|
+
const debouncedHandler = debounceQueue(
|
|
864
|
+
(events) => {
|
|
865
|
+
const uniqEvents = new Map(events);
|
|
866
|
+
const update = [];
|
|
867
|
+
for (const [path6, action] of uniqEvents) {
|
|
868
|
+
update.push({ path: path6, action });
|
|
869
|
+
}
|
|
870
|
+
eventHandler(update);
|
|
871
|
+
},
|
|
872
|
+
400
|
|
873
|
+
);
|
|
874
|
+
watcher2.on("change", (path6) => debouncedHandler(path6, "UPDATE"));
|
|
875
|
+
watcher2.on("add", (path6) => debouncedHandler(path6, "UPDATE"));
|
|
876
|
+
watcher2.on("unlink", (path6) => debouncedHandler(path6, "DELETE"));
|
|
878
877
|
}
|
|
879
878
|
};
|
|
880
879
|
});
|
|
881
|
-
(0,
|
|
880
|
+
(0, import_react.useEffect)(() => {
|
|
882
881
|
return () => {
|
|
883
882
|
watcher.close().catch(reportError);
|
|
884
883
|
};
|
|
@@ -888,10 +887,10 @@ function useFsWatcher(cwd) {
|
|
|
888
887
|
|
|
889
888
|
// ../cli-site/src/components/DevCommand/useDevEditorUrl.ts
|
|
890
889
|
init_esm_shims();
|
|
891
|
-
var
|
|
890
|
+
var import_react2 = __toESM(require_react(), 1);
|
|
892
891
|
function useDevEditorUrl() {
|
|
893
892
|
const { model } = useProjectModel();
|
|
894
|
-
return (0,
|
|
893
|
+
return (0, import_react2.useCallback)(
|
|
895
894
|
(serverPort) => {
|
|
896
895
|
const { devEditorBaseUrl } = getTestOverrides();
|
|
897
896
|
const url = new URL(
|
|
@@ -908,11 +907,11 @@ function useDevEditorUrl() {
|
|
|
908
907
|
|
|
909
908
|
// ../cli-site/src/components/DevCommand/useWebSocketServer.ts
|
|
910
909
|
init_esm_shims();
|
|
911
|
-
var
|
|
910
|
+
var import_react3 = __toESM(require_react(), 1);
|
|
912
911
|
function useWebSocketServer() {
|
|
913
912
|
const { reportError } = useErrorReporter();
|
|
914
|
-
const [server] = (0,
|
|
915
|
-
(0,
|
|
913
|
+
const [server] = (0, import_react3.useState)(() => createVeloCLIServer());
|
|
914
|
+
(0, import_react3.useEffect)(() => {
|
|
916
915
|
return () => {
|
|
917
916
|
server.close().catch(reportError);
|
|
918
917
|
};
|
|
@@ -921,19 +920,20 @@ function useWebSocketServer() {
|
|
|
921
920
|
}
|
|
922
921
|
|
|
923
922
|
// ../cli-site/src/components/DevCommand/DevEnvironment.tsx
|
|
924
|
-
var DevEnvironmentContext = (0,
|
|
923
|
+
var DevEnvironmentContext = (0, import_react4.createContext)(null);
|
|
925
924
|
var DevEnvironmentProvider = ({
|
|
926
925
|
children
|
|
927
926
|
}) => {
|
|
928
927
|
const exit = useExit();
|
|
929
928
|
const srcFolder = useSrcFolder();
|
|
930
|
-
const { isSyncing, startSync, finishSync } = useIsSyncing();
|
|
931
929
|
const { createMutableApp, updateAppFiles } = useVeloClient();
|
|
932
930
|
const getDevEditorUrl = useDevEditorUrl();
|
|
933
931
|
const wsServer = useWebSocketServer();
|
|
934
932
|
const fsWatcher = useFsWatcher(srcFolder);
|
|
935
|
-
const [
|
|
933
|
+
const [isSyncing, setIsSyncing] = (0, import_react4.useState)(false);
|
|
934
|
+
const [isDevEditorConnected, setIsDevEditorConnected] = (0, import_react4.useState)(false);
|
|
936
935
|
const { status } = useAsync(async () => {
|
|
936
|
+
const limiter = pLimit(1);
|
|
937
937
|
const siteFsManager = await createSiteFsManager(srcFolder);
|
|
938
938
|
const code = await siteFsManager.getCode();
|
|
939
939
|
const { id: appId } = await createMutableApp(code);
|
|
@@ -944,27 +944,35 @@ var DevEnvironmentProvider = ({
|
|
|
944
944
|
setIsDevEditorConnected(false);
|
|
945
945
|
});
|
|
946
946
|
wsServer.on("documentUpdate", async (document) => {
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
947
|
+
try {
|
|
948
|
+
await limiter(async () => {
|
|
949
|
+
setIsSyncing(true);
|
|
950
|
+
await siteFsManager.applyExternalUpdates({ document });
|
|
951
|
+
});
|
|
952
|
+
} catch (error) {
|
|
953
|
+
exit(error);
|
|
954
|
+
} finally {
|
|
955
|
+
setIsSyncing(false);
|
|
956
|
+
}
|
|
950
957
|
});
|
|
951
958
|
const { port } = await wsServer.serve(appId, getDevEditorUrl, {
|
|
952
959
|
getDocument: siteFsManager.getDocument,
|
|
953
960
|
onConnectionError: exit
|
|
954
961
|
});
|
|
955
|
-
fsWatcher.
|
|
962
|
+
fsWatcher.onBatchChange(async (update) => {
|
|
956
963
|
try {
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
{
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
finishSync();
|
|
964
|
+
await limiter(async () => {
|
|
965
|
+
setIsSyncing(true);
|
|
966
|
+
const { document, code: code2 } = await siteFsManager.applyFsUpdates(update);
|
|
967
|
+
await Promise.all([
|
|
968
|
+
document && wsServer.syncDocumentUpdate(document),
|
|
969
|
+
code2 && updateAppFiles(appId, code2)
|
|
970
|
+
]);
|
|
971
|
+
});
|
|
966
972
|
} catch (error) {
|
|
967
973
|
exit(error);
|
|
974
|
+
} finally {
|
|
975
|
+
setIsSyncing(false);
|
|
968
976
|
}
|
|
969
977
|
});
|
|
970
978
|
const devEditorUrl = getDevEditorUrl(port);
|
|
@@ -973,8 +981,8 @@ var DevEnvironmentProvider = ({
|
|
|
973
981
|
}, []);
|
|
974
982
|
return (0, import_variant.match)(status, {
|
|
975
983
|
Error: () => null,
|
|
976
|
-
Loading: () => /* @__PURE__ */
|
|
977
|
-
Success: ({ result: { devEditorUrl } }) => /* @__PURE__ */
|
|
984
|
+
Loading: () => /* @__PURE__ */ import_react4.default.createElement(Spinner, { text: /* @__PURE__ */ import_react4.default.createElement(Trans, { i18nKey: "dev_command.dev_environment.loading" }) }),
|
|
985
|
+
Success: ({ result: { devEditorUrl } }) => /* @__PURE__ */ import_react4.default.createElement(
|
|
978
986
|
DevEnvironmentContext.Provider,
|
|
979
987
|
{
|
|
980
988
|
value: {
|
|
@@ -988,7 +996,7 @@ var DevEnvironmentProvider = ({
|
|
|
988
996
|
});
|
|
989
997
|
};
|
|
990
998
|
function useDevEnvironment() {
|
|
991
|
-
const context = (0,
|
|
999
|
+
const context = (0, import_react4.useContext)(DevEnvironmentContext);
|
|
992
1000
|
if (context == null) {
|
|
993
1001
|
throw new Error(
|
|
994
1002
|
"useDevEnvironment() cannot be used without an <DevEnvironmentProvider>"
|
|
@@ -1008,25 +1016,25 @@ var DevCommandScreen = () => {
|
|
|
1008
1016
|
void openDevEditor();
|
|
1009
1017
|
}
|
|
1010
1018
|
});
|
|
1011
|
-
return /* @__PURE__ */
|
|
1019
|
+
return /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, /* @__PURE__ */ import_react5.default.createElement(Alert, { type: "success" }, /* @__PURE__ */ import_react5.default.createElement(Badge, { skin: "success" }, /* @__PURE__ */ import_react5.default.createElement(Trans, { i18nKey: "general.success" })), " ", /* @__PURE__ */ import_react5.default.createElement(Trans, { i18nKey: "dev_command.dev_environment.success" })), /* @__PURE__ */ import_react5.default.createElement(Box_default, { marginTop: 1, marginLeft: 1 }, !isDevEditorConnected && /* @__PURE__ */ import_react5.default.createElement(Alert, { type: "warning" }, /* @__PURE__ */ import_react5.default.createElement(
|
|
1012
1020
|
Trans,
|
|
1013
1021
|
{
|
|
1014
1022
|
i18nKey: "dev_command.no_open_editor",
|
|
1015
|
-
components: [/* @__PURE__ */
|
|
1023
|
+
components: [/* @__PURE__ */ import_react5.default.createElement(Key, { value: "E" })]
|
|
1016
1024
|
}
|
|
1017
|
-
)), isDevEditorConnected && /* @__PURE__ */
|
|
1025
|
+
)), isDevEditorConnected && /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, isSyncingChanges ? /* @__PURE__ */ import_react5.default.createElement(
|
|
1018
1026
|
Spinner,
|
|
1019
1027
|
{
|
|
1020
|
-
text: /* @__PURE__ */
|
|
1028
|
+
text: /* @__PURE__ */ import_react5.default.createElement(Trans, { i18nKey: "dev_command.sync_changes.loading" })
|
|
1021
1029
|
}
|
|
1022
|
-
) : /* @__PURE__ */
|
|
1030
|
+
) : /* @__PURE__ */ import_react5.default.createElement(Alert, { type: "success" }, /* @__PURE__ */ import_react5.default.createElement(Trans, { i18nKey: "dev_command.sync_changes.success" })))));
|
|
1023
1031
|
};
|
|
1024
1032
|
|
|
1025
1033
|
// ../cli-site/src/components/DevCommand/DevCommand.tsx
|
|
1026
1034
|
var DevCommand = () => {
|
|
1027
|
-
return /* @__PURE__ */
|
|
1035
|
+
return /* @__PURE__ */ import_react6.default.createElement(DevEnvironmentProvider, null, /* @__PURE__ */ import_react6.default.createElement(DevCommandScreen, null));
|
|
1028
1036
|
};
|
|
1029
1037
|
export {
|
|
1030
1038
|
DevCommand
|
|
1031
1039
|
};
|
|
1032
|
-
//# sourceMappingURL=DevCommand-
|
|
1040
|
+
//# sourceMappingURL=DevCommand-NPU6T4GA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../cli-site/src/components/DevCommand/DevCommand.tsx","../../cli-site/src/components/DevCommand/DevCommandScreen.tsx","../../cli-site/src/components/DevCommand/DevEnvironment.tsx","../../cli-site/src/site-fs-manager.ts","../../../node_modules/@wix/anyide-cli-file-structure/dist/index.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/wixSiteFSManager.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/code/index.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/code/code.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/code/utils/veloUtils.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/code/utils/constants.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/document/index.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/document/document.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/document/utils/wmlUtils.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/document/externalUpdates.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/page/utils.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/state/state.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/state/siteFileStructure.js","../../../node_modules/@wix/anyide-template-layout/dist/index.js","../../../node_modules/@wix/anyide-template-layout/dist/code.js","../../../node_modules/@wix/anyide-template-layout/dist/configs/index.js","../../../node_modules/@wix/anyide-template-layout/dist/configs/blocksConfig.js","../../../node_modules/@wix/anyide-template-layout/dist/configs/editorConfig.js","../../../node_modules/@wix/anyide-template-layout/dist/page.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/state/siteFileSystem.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/state/stateBuilder.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/state/sitePagesState.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/applyFsUpdates.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/code/fsUpdates.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/page/fsUpdates.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/document/fsUpdates.js","../../cli-site/src/components/DevCommand/useSrcFolder.ts","../../cli-site/src/components/DevCommand/useFsWatcher.ts","../../cli-site/src/components/DevCommand/useDevEditorUrl.ts","../../cli-site/src/components/DevCommand/useWebSocketServer.ts"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { DevCommandScreen } from './DevCommandScreen.js';\nimport { DevEnvironmentProvider } from './DevEnvironment.js';\n\nexport const DevCommand: FC = () => {\n return (\n <DevEnvironmentProvider>\n <DevCommandScreen />\n </DevEnvironmentProvider>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport {\n Box,\n Key,\n Alert,\n Badge,\n Spinner,\n useInput,\n useAsyncCallback,\n} from '@wix/cli-ui-kit';\nimport { openBrowser } from '@wix/user-browser';\nimport { useDevEnvironment } from './DevEnvironment.js';\n\nexport const DevCommandScreen: FC = () => {\n const { devEditorUrl, isDevEditorConnected, isSyncingChanges } =\n useDevEnvironment();\n const { execute: openDevEditor } = useAsyncCallback(() =>\n openBrowser(devEditorUrl)\n );\n\n useInput((input) => {\n if (input === 'e' && !isDevEditorConnected) {\n void openDevEditor();\n }\n });\n\n return (\n <>\n <Alert type=\"success\">\n <Badge skin=\"success\">\n <Trans i18nKey=\"general.success\" />\n </Badge>{' '}\n <Trans i18nKey=\"dev_command.dev_environment.success\" />\n </Alert>\n <Box marginTop={1} marginLeft={1}>\n {!isDevEditorConnected && (\n <Alert type=\"warning\">\n <Trans\n i18nKey=\"dev_command.no_open_editor\"\n components={[<Key value=\"E\" />]}\n />\n </Alert>\n )}\n {isDevEditorConnected && (\n <>\n {isSyncingChanges ? (\n <Spinner\n text={<Trans i18nKey=\"dev_command.sync_changes.loading\" />}\n />\n ) : (\n <Alert type=\"success\">\n <Trans i18nKey=\"dev_command.sync_changes.success\" />\n </Alert>\n )}\n </>\n )}\n </Box>\n </>\n );\n};\n","import React, { createContext, useContext, useState } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport pLimit from 'p-limit';\nimport { match } from 'variant';\nimport { Trans } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\nimport { useVeloClient } from '@wix/velo-client';\nimport { Spinner, useAsync, useExit } from '@wix/cli-ui-kit';\nimport { createSiteFsManager } from '../../site-fs-manager.js';\nimport { useSrcFolder } from './useSrcFolder.js';\nimport { useFsWatcher } from './useFsWatcher.js';\nimport { useDevEditorUrl } from './useDevEditorUrl.js';\nimport { useWebSocketServer } from './useWebSocketServer.js';\n\ninterface DevEnvironment {\n devEditorUrl: string;\n isSyncingChanges: boolean;\n isDevEditorConnected: boolean;\n}\n\nconst DevEnvironmentContext = createContext<DevEnvironment | null>(null);\n\nexport const DevEnvironmentProvider: FC<{ children: ReactNode }> = ({\n children,\n}) => {\n const exit = useExit();\n const srcFolder = useSrcFolder();\n const { createMutableApp, updateAppFiles } = useVeloClient();\n const getDevEditorUrl = useDevEditorUrl();\n const wsServer = useWebSocketServer();\n const fsWatcher = useFsWatcher(srcFolder);\n\n const [isSyncing, setIsSyncing] = useState(false);\n const [isDevEditorConnected, setIsDevEditorConnected] = useState(false);\n\n const { status } = useAsync(async () => {\n const limiter = pLimit(1);\n const siteFsManager = await createSiteFsManager(srcFolder);\n const code = await siteFsManager.getCode();\n const { id: appId } = await createMutableApp(code);\n\n wsServer.on('connected', () => {\n setIsDevEditorConnected(true);\n });\n wsServer.on('disconnected', () => {\n setIsDevEditorConnected(false);\n });\n wsServer.on('documentUpdate', async (document) => {\n try {\n await limiter(async () => {\n setIsSyncing(true);\n await siteFsManager.applyExternalUpdates({ document });\n });\n } catch (error) {\n exit(error);\n } finally {\n setIsSyncing(false);\n }\n });\n\n const { port } = await wsServer.serve(appId, getDevEditorUrl, {\n getDocument: siteFsManager.getDocument,\n onConnectionError: exit,\n });\n\n fsWatcher.onBatchChange(async (update) => {\n try {\n await limiter(async () => {\n setIsSyncing(true);\n\n const { document, code } = await siteFsManager.applyFsUpdates(update);\n\n await Promise.all([\n document && wsServer.syncDocumentUpdate(document),\n code && updateAppFiles(appId, code),\n ]);\n });\n } catch (error) {\n exit(error);\n } finally {\n setIsSyncing(false);\n }\n });\n\n const devEditorUrl = getDevEditorUrl(port);\n await openBrowser(devEditorUrl);\n\n return { devEditorUrl };\n }, []);\n\n return match(status, {\n Error: () => null,\n Loading: () => (\n <Spinner text={<Trans i18nKey=\"dev_command.dev_environment.loading\" />} />\n ),\n Success: ({ result: { devEditorUrl } }) => (\n <DevEnvironmentContext.Provider\n value={{\n devEditorUrl,\n isDevEditorConnected,\n isSyncingChanges: isSyncing,\n }}\n >\n {children}\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 { WixSiteFSManager } from '@wix/anyide-cli-file-structure';\nimport type {\n FSUpdate,\n WixSiteExternalUpdate,\n} from '@wix/anyide-cli-file-structure';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\n\nexport async function createSiteFsManager(cwd: string) {\n const fsManager = await WixSiteFSManager.create(cwd, 'Editor').catch(\n (error: unknown) => {\n throw new CliError({\n code: CliErrorCode.FailedToInitializeSiteFsManager(),\n cause: error,\n });\n }\n );\n\n return {\n async getCode() {\n try {\n return await fsManager.getCode();\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSiteFsManagerCode(),\n cause: error,\n });\n }\n },\n async getDocument() {\n try {\n return await fsManager.getDocument();\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSiteFsManagerDocument(),\n cause: error,\n });\n }\n },\n async applyFsUpdates(updates: FSUpdate[]) {\n try {\n return await fsManager.applyFsUpdates(updates);\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToApplySiteFsManagerFsUpdates(),\n cause: error,\n });\n }\n },\n async applyExternalUpdates(update: WixSiteExternalUpdate) {\n try {\n await fsManager.applyExternalUpdates(update);\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToApplySiteFsManagerExternalUpdates(),\n cause: error,\n });\n }\n },\n };\n}\n","export * from './wixSiteFSManager.js';\n","import { getSiteCode } from './code/index.js';\nimport { applyDocumentExternalUpdates, getSiteDocument } from './document/index.js';\nimport { buildState } from './state/state.js';\nimport { applyFsUpdates } from './applyFsUpdates.js';\nexport class WixSiteFSManager {\n state;\n constructor(state) {\n this.state = state;\n }\n static async create(rootFolderPath, fileStructureType) {\n const state = await buildState(rootFolderPath, fileStructureType);\n return new WixSiteFSManager(state);\n }\n async getCode() {\n return getSiteCode(this.state);\n }\n async getDocument() {\n return getSiteDocument(this.state);\n }\n async applyFsUpdates(updates) {\n return applyFsUpdates(this.state, updates);\n }\n async applyExternalUpdates({ code, document }) {\n if (code) {\n throw new Error('external code updates are not supported');\n }\n if (document) {\n await applyDocumentExternalUpdates(this.state, document);\n }\n }\n}\n","export { getSiteCode } from './code.js';\n","import path from 'path';\nimport { getPageCodeFilePath, readVeloFile } from './utils/veloUtils.js';\nconst readAllFilesInDir = async (fileSystem, dir) => {\n const entries = await fileSystem.readFolder(dir);\n const filePromises = entries.map((entry) => {\n const entryPath = path.join(dir, entry.name);\n if (entry.isFile()) {\n return readVeloFile(fileSystem, entryPath);\n }\n return readAllFilesInDir(fileSystem, entryPath);\n });\n return (await Promise.all(filePromises)).flat();\n};\nconst readBackendFiles = async (state) => readAllFilesInDir(state.fileSystem, state.fileStructure.getBackendFolderPath());\nconst readPublicFiles = async (state) => readAllFilesInDir(state.fileSystem, state.fileStructure.getPublicFolderPath());\nconst readPageCodeFiles = async (state) => {\n const codeFiles = [];\n const pages = state.pages.getAll();\n for (const { pageId, pagePath } of pages) {\n const page = state.fileStructure.getPageFilesPaths(pagePath);\n const content = await state.fileSystem.readFile(page.code);\n codeFiles.push({ path: getPageCodeFilePath(pageId), content });\n }\n return codeFiles;\n};\nexport const getSiteCode = async (state) => {\n const allFiles = await Promise.all([\n readBackendFiles(state),\n readPublicFiles(state),\n readPageCodeFiles(state)\n ]);\n return {\n files: allFiles.flat(),\n layout: 'ONLINE',\n ignoreForbiddenPaths: true\n };\n};\n","import { PAGE_CODE_TEMPLATE } from './constants.js';\nexport const readVeloFile = async (siteFileSystem, filePath) => {\n const content = await siteFileSystem.readFile(filePath);\n return { path: filePath, content };\n};\nexport const createDefaultPageCodeFile = async (siteFileSystem, filePath) => siteFileSystem.writeFile(filePath, PAGE_CODE_TEMPLATE);\nexport const getPageCodeFilePath = (pageId) => `public/pages/${pageId}.js`;\n","export const PAGE_CODE_TEMPLATE = `// API Reference: https://www.wix.com/velo/reference/api-overview/introduction\n// “Hello, World!” Example: https://learn-code.wix.com/en/article/hello-world\n\n$w.onReady(function () {\n // Write your JavaScript here\n\n // To select an element by ID use: $w('#elementID')\n\n // Click 'Preview' to run your code\n});\n`;\n","export { getSiteDocument } from './document.js';\nexport { applyDocumentExternalUpdates } from './externalUpdates.js';\n","import { readWml } from './utils/wmlUtils.js';\nconst getDocumentPages = async (state) => {\n const documentPages = {};\n const pages = state.pages.getAll();\n for (const { pageId, pagePath } of pages) {\n const page = state.fileStructure.getPageFilesPaths(pagePath);\n const wml = await readWml(state.fileSystem, page.document);\n documentPages[pageId] = wml;\n }\n return documentPages;\n};\nexport const getSiteDocument = async (state) => {\n const documentPages = await getDocumentPages(state);\n const { masterPage, ...otherPages } = documentPages;\n if (!masterPage) {\n throw new Error('Missing master page');\n }\n return {\n pages: {\n masterPage,\n ...otherPages\n }\n };\n};\n","const pageIdRegex = /<(?:Master)?Page\\s[^>]*?(?<=\\s)id=\"(.+?)\".*?>/;\nexport const getPageId = async (siteFileSystem, { structure }) => {\n const structureXmlContent = await siteFileSystem.readFile(structure);\n const [match, pageId] = structureXmlContent.match(pageIdRegex) ?? [];\n if (!match) {\n throw new Error('pageId not found in wml');\n }\n return pageId;\n};\nconst mapWmlFiles = async (documentStructure, callbackFn) => {\n const [structure, data, style] = await Promise.all([\n callbackFn(documentStructure.structure, 'structure'),\n callbackFn(documentStructure.data, 'data'),\n callbackFn(documentStructure.style, 'style')\n ]);\n return { structure, data, style };\n};\nconst writeWmlFiles = async (siteFileSystem, documentStructure, wml) => {\n const filesContent = convertWmlExportToFiles(wml);\n await mapWmlFiles(documentStructure, (filePath, fileName) => siteFileSystem.writeFile(filePath, filesContent[fileName]));\n};\nconst removeWmlFiles = async (siteFileSystem, documentStructure) => {\n await mapWmlFiles(documentStructure, (filePath) => siteFileSystem.removeFile(filePath));\n};\nexport const writeWml = async (siteFileSystem, documentStructure, pageData) => {\n if (pageData === null) {\n return removeWmlFiles(siteFileSystem, documentStructure);\n }\n return writeWmlFiles(siteFileSystem, documentStructure, pageData.data);\n};\nexport const readWml = async (siteFileSystem, documentStructure) => {\n const filesContent = await mapWmlFiles(documentStructure, async (filePath) => await siteFileSystem.readFile(filePath));\n return convertFilesToWmlExport(filesContent);\n};\nconst indentedStringify = (data) => JSON.stringify(data, undefined, 2);\nexport const convertWmlExportToFiles = (wmlExport) => {\n const dataWithoutVersion = JSON.parse(wmlExport.data.content);\n const dataWithVersion = indentedStringify({ ...dataWithoutVersion, version: wmlExport.version });\n return {\n structure: wmlExport.structure.content,\n style: wmlExport.style.content,\n data: dataWithVersion\n };\n};\nexport const convertFilesToWmlExport = (filesContent) => {\n const { version, ...dataWithoutVersion } = JSON.parse(filesContent.data);\n return {\n structure: { type: 'xml', content: filesContent.structure },\n data: { type: 'json', content: indentedStringify(dataWithoutVersion) },\n style: { type: 'css', content: filesContent.style },\n version\n };\n};\n","import { createPage, removePage, updatePage } from '../page/utils.js';\nconst applyPageUpdate = async (state, pageId, pageData) => {\n if (pageData === null) {\n return removePage(state, pageId);\n }\n const existingPageFolder = state.pages.getFolderPath(pageId);\n if (existingPageFolder) {\n return updatePage(state, pageId, existingPageFolder, pageData);\n }\n return createPage(state, pageId, pageData);\n};\nexport const applyDocumentExternalUpdates = async (state, { pages }) => {\n for (const [pageId, pageData] of Object.entries(pages)) {\n await applyPageUpdate(state, pageId, pageData);\n }\n};\n","import { writeWml } from '../document/utils/wmlUtils.js';\nimport path from 'path';\nimport { createDefaultPageCodeFile } from '../code/utils/veloUtils.js';\nconst generatePageFolderPathByInfo = (state, pageInfo) => {\n const pagePath = state.fileStructure.getPagesPathsForType(pageInfo.type);\n return path.join(...pagePath.map(entry => entry.type === 'Folder' ? entry.name : pageInfo[entry.variableName]));\n};\nconst escapeRegexSpecialChars = (str) => str.replace(/[.*+?^=!:${}()|[\\]/\\\\]/g, '\\\\$&');\nconst isPathFormatMatching = (fullPath, basePath) => new RegExp(`^${escapeRegexSpecialChars(basePath)}(?: \\\\((\\\\d*)\\\\))?$`).test(fullPath);\nconst generateNewPagePath = (state, pageInfo, existingPageFolderPath) => {\n let pageFolderPath = generatePageFolderPathByInfo(state, pageInfo);\n if (existingPageFolderPath && isPathFormatMatching(existingPageFolderPath, pageFolderPath)) {\n return existingPageFolderPath;\n }\n while (state.pages.getPageId(pageFolderPath)) {\n pageFolderPath = incrementPathSuffix(pageFolderPath);\n }\n return pageFolderPath;\n};\nconst createPageFiles = async (state, folderPath, pageData) => {\n const pageStructure = state.fileStructure.getPageFilesPaths(folderPath);\n await Promise.all([\n writeWml(state.fileSystem, pageStructure.document, pageData),\n createDefaultPageCodeFile(state.fileSystem, pageStructure.code)\n ]);\n};\nexport const createPage = async (state, pageId, pageData) => {\n const newPageFolder = generateNewPagePath(state, pageData.info);\n await state.fileSystem.createFolder(newPageFolder);\n await createPageFiles(state, newPageFolder, pageData);\n state.pages.addPage(pageId, newPageFolder);\n};\nexport const removePage = async (state, pageId) => {\n const folderPath = state.pages.getFolderPath(pageId);\n if (!folderPath)\n return;\n await state.fileSystem.removeFolder(folderPath);\n state.pages.removePageById(pageId);\n};\nexport const updatePage = async (state, pageId, existingPageFolderPath, pageData) => {\n const expectedFolderPath = generateNewPagePath(state, pageData.info, existingPageFolderPath);\n if (existingPageFolderPath !== expectedFolderPath) {\n await removePage(state, pageId);\n await createPage(state, pageId, pageData);\n return;\n }\n const pageStructure = state.fileStructure.getPageFilesPaths(existingPageFolderPath);\n await writeWml(state.fileSystem, pageStructure.document, pageData);\n};\nexport const incrementPathSuffix = (path) => {\n const [, origPath, suffix = 1] = path.match(/^(.*?)(?: \\((\\d+)\\))?$/) ?? [];\n return `${origPath} (${Number(suffix) + 1})`;\n};\n","import { SiteFileStructure } from './siteFileStructure.js';\nimport { SiteFileSystem } from './siteFileSystem.js';\nimport { buildPagesState } from './stateBuilder.js';\nexport const buildState = async (rootFolderPath, fileStructureType) => {\n const fileSystem = new SiteFileSystem(rootFolderPath);\n const fileStructure = new SiteFileStructure(fileStructureType);\n const pages = await buildPagesState(fileStructure, fileSystem);\n return {\n fileSystem,\n fileStructure,\n pages\n };\n};\n","import { getBackendPath, getPageFilesPaths, getPageFilesNames, getPagesPaths, getPublicPath } from '@wix/anyide-template-layout';\nexport class SiteFileStructure {\n fileStructureType;\n constructor(fileStructureType) {\n this.fileStructureType = fileStructureType;\n }\n getBackendFolderPath() {\n return getBackendPath(this.fileStructureType);\n }\n getPublicFolderPath() {\n return getPublicPath(this.fileStructureType);\n }\n getPagesPaths() {\n return getPagesPaths(this.fileStructureType);\n }\n getPagesPathsForType(type) {\n const paths = this.getPagesPaths();\n const pathForType = paths[type];\n if (!pathForType) {\n throw new Error(`page type \"${type}\" is invalid for structureType \"${this.fileStructureType}\"`);\n }\n return pathForType;\n }\n getPageFilesPaths(pageFolderPath) {\n return getPageFilesPaths(this.fileStructureType, pageFolderPath);\n }\n matchPagePath(filePath) {\n const pageFilesPath = this.getPagesPaths();\n const sortedPageFilesPath = Object.entries(pageFilesPath).sort((a, b) => b[1].length - a[1].length);\n for (const [type, pagePath] of sortedPageFilesPath) {\n const typeRegex = new RegExp(`^(${pagePath.map(entry => (entry.type === 'Folder' ? entry.name : '.+?')).join('/')})/(.+)`);\n const path = typeRegex.exec(filePath);\n if (path) {\n return {\n type,\n pagePath: path[1],\n fileName: path[2]\n };\n }\n }\n return null;\n }\n getStructureInfoByFilePath(filePath) {\n const backendPath = `${this.getBackendFolderPath()}/`;\n const publicPath = `${this.getPublicFolderPath()}/`;\n if (filePath.startsWith(backendPath) || filePath.startsWith(publicPath)) {\n return { type: 'code', isPageFile: false };\n }\n const pageMatch = this.matchPagePath(filePath);\n if (pageMatch) {\n const { pagePath, fileName } = pageMatch;\n const codeFiles = getPageFilesNames(this.fileStructureType, 'code');\n if (codeFiles.has(fileName)) {\n return { type: 'code', isPageFile: true, pagePath };\n }\n const documentFiles = getPageFilesNames(this.fileStructureType, 'document');\n if (documentFiles.has(fileName)) {\n return { type: 'document', isPageFile: true, pagePath };\n }\n }\n return null;\n }\n}\n","export * from './code.js';\nexport * from './page.js';\n","import { getConfig } from './configs/index.js';\nexport const getBackendPath = (structureType) => getConfig(structureType).backend;\nexport const getPublicPath = (structureType) => getConfig(structureType).public;\n","import { blocksConfig } from './blocksConfig.js';\nimport { editorConfig } from './editorConfig.js';\nconst configs = {\n Editor: editorConfig,\n Blocks: blocksConfig\n};\nexport const getConfig = (structureType) => {\n const config = configs[structureType];\n if (!config) {\n throw new Error('Unknown file structure type: ' + structureType);\n }\n return config;\n};\n","export const blocksConfig = {\n backend: 'backend',\n public: 'public',\n pages: {\n structure: {\n code: 'index.js',\n document: {\n structure: 'structure.xml',\n data: 'data.json',\n style: 'style.css'\n }\n },\n folders: {\n Widget: [\n { name: 'widgets', type: 'Folder' },\n { variableName: 'widgetName', type: 'DynamicFolder' }\n ],\n Panel: [\n { name: 'widgets', type: 'Folder' },\n { variableName: 'widgetName', type: 'DynamicFolder' },\n { name: 'panels', type: 'Folder' },\n { variableName: 'panelName', type: 'DynamicFolder' }\n ]\n }\n }\n};\n","export const editorConfig = {\n backend: 'backend',\n public: 'public',\n pages: {\n structure: {\n code: 'index.js',\n document: {\n structure: 'structure.xml',\n data: 'data.json',\n style: 'style.css'\n }\n },\n folders: {\n Page: [\n { name: 'pages', type: 'Folder' },\n { variableName: 'title', type: 'DynamicFolder' }\n ]\n }\n }\n};\n","import { getConfig } from './configs/index.js';\nimport path from 'path';\nexport const getPagesPaths = (structureType) => getConfig(structureType).pages.folders;\nexport const getPageFilesPaths = (structureType, folderPath) => {\n const { pages } = getConfig(structureType);\n const { structure } = pages;\n return {\n code: path.join(folderPath, structure.code),\n document: {\n structure: path.join(folderPath, structure.document.structure),\n style: path.join(folderPath, structure.document.style),\n data: path.join(folderPath, structure.document.data)\n }\n };\n};\nexport const getPageFilesNames = (structureType, pageStructureType) => {\n const { pages } = getConfig(structureType);\n const { structure } = pages;\n if (pageStructureType === 'document') {\n return new Set([\n structure[pageStructureType].structure,\n structure[pageStructureType].data,\n structure[pageStructureType].style\n ]);\n }\n return new Set([structure[pageStructureType]]);\n};\n","import fs from 'fs/promises';\nimport path from 'path';\nexport class SiteFileSystem {\n rootFolderPath;\n constructor(rootFolderPath) {\n this.rootFolderPath = rootFolderPath;\n }\n getFullPath(relativePath) {\n return path.join(this.rootFolderPath, relativePath);\n }\n async readFile(filePath) {\n return fs.readFile(this.getFullPath(filePath), 'utf-8');\n }\n async writeFile(filePath, content) {\n return fs.writeFile(this.getFullPath(filePath), content);\n }\n async removeFile(filePath) {\n return fs.rm(this.getFullPath(filePath));\n }\n async readFolder(folderPath) {\n return fs.readdir(this.getFullPath(folderPath), { withFileTypes: true });\n }\n async createFolder(folderPath) {\n await fs.mkdir(this.getFullPath(folderPath), { recursive: true });\n }\n async removeFolder(folderPath) {\n return fs.rm(this.getFullPath(folderPath), { recursive: true });\n }\n}\n","import { SitePagesState } from './sitePagesState.js';\nimport path from 'path';\nimport { getPageId } from '../document/utils/wmlUtils.js';\nconst getFoldersInPath = async (siteFileSystem, dirPath) => {\n const entries = await siteFileSystem.readFolder(dirPath);\n return entries.filter(entry => entry.isDirectory()).map(({ name }) => name);\n};\nconst getMatchingPaths = (folderName, paths) => paths.filter(([first]) => first?.type === 'DynamicFolder' || first.name === folderName);\nconst getPages = async (siteFileSystem, paths, rootPath = '') => {\n if (paths.length === 0)\n return [];\n const result = [];\n const rootFolders = await getFoldersInPath(siteFileSystem, rootPath);\n for (const folderName of rootFolders) {\n const matchingPaths = getMatchingPaths(folderName, paths);\n if (matchingPaths.length > 0) {\n const finalPaths = matchingPaths\n .filter(p => p.length === 1)\n .map(() => path.join(rootPath, folderName));\n const nonFinalPaths = matchingPaths.filter(p => p.length > 1).map(([, ...rest]) => rest);\n const nestedPages = await getPages(siteFileSystem, nonFinalPaths, path.join(rootPath, folderName));\n result.push(...finalPaths, ...nestedPages);\n }\n }\n return result;\n};\nconst getAllPageFolders = async (siteFileStructure, siteFileSystem) => {\n const paths = siteFileStructure.getPagesPaths();\n return await getPages(siteFileSystem, Object.values(paths));\n};\nexport const buildPagesState = async (siteFileStructure, siteFileSystem) => {\n const state = new SitePagesState();\n const pagesFolders = await getAllPageFolders(siteFileStructure, siteFileSystem);\n await Promise.all(pagesFolders.map(async (folderPath) => {\n const filePaths = siteFileStructure.getPageFilesPaths(folderPath);\n const pageId = await getPageId(siteFileSystem, filePaths.document);\n state.addPage(pageId, folderPath);\n }));\n return state;\n};\n","class CaseInsensitiveMap {\n map = new Map();\n normalizeKey(key) {\n return key.toLowerCase();\n }\n get(key) {\n return this.map.get(this.normalizeKey(key));\n }\n set(key, value) {\n this.map.set(this.normalizeKey(key), value);\n }\n delete(key) {\n this.map.delete(this.normalizeKey(key));\n }\n entries() {\n return this.map.entries();\n }\n}\nexport class SitePagesState {\n pageIdToFolderPath = new Map();\n folderPathToPageId = new CaseInsensitiveMap();\n getAll() {\n const allPages = [];\n for (const [pageId, pagePath] of this.pageIdToFolderPath.entries()) {\n allPages.push({ pageId, pagePath });\n }\n return allPages;\n }\n addPage(pageId, folderPath) {\n this.pageIdToFolderPath.set(pageId, folderPath);\n this.folderPathToPageId.set(folderPath, pageId);\n }\n removePageById(pageId) {\n const folderPath = this.pageIdToFolderPath.get(pageId);\n if (folderPath === undefined) {\n return;\n }\n this.pageIdToFolderPath.delete(pageId);\n this.folderPathToPageId.delete(folderPath);\n }\n removePageByPath(path) {\n const pageId = this.folderPathToPageId.get(path);\n if (pageId === undefined) {\n return;\n }\n this.pageIdToFolderPath.delete(pageId);\n this.folderPathToPageId.delete(path);\n }\n getFolderPath(pageId) {\n return this.pageIdToFolderPath.get(pageId);\n }\n getPageId(folderPath) {\n return this.folderPathToPageId.get(folderPath);\n }\n}\n","import { accumulateFsUpdateToVeloCodeUpdate } from './code/fsUpdates.js';\nimport { accumulatePageFsUpdateToWixSiteFSUpdate } from './page/fsUpdates.js';\nexport const applyFsUpdates = async (state, updates) => {\n const result = {};\n for (const { path, action } of updates) {\n const structureInfo = state.fileStructure.getStructureInfoByFilePath(path);\n if (structureInfo === null)\n continue;\n if (structureInfo.isPageFile) {\n const { document, code } = await accumulatePageFsUpdateToWixSiteFSUpdate(state, result, structureInfo, {\n path,\n action\n });\n result.code = code;\n result.document = document;\n }\n else if (structureInfo.type === 'code') {\n result.code = await accumulateFsUpdateToVeloCodeUpdate(state, result.code, { path, action });\n }\n }\n return result;\n};\n","import { readVeloFile } from './utils/veloUtils.js';\nconst initVeloCodeUpdate = () => {\n return {\n layout: 'ONLINE',\n ignoreForbiddenPaths: true\n };\n};\nexport const applyDeleteCode = (codeUpdate, path) => {\n if (!codeUpdate) {\n codeUpdate = initVeloCodeUpdate();\n }\n codeUpdate.pathsToDelete ??= [];\n codeUpdate.pathsToDelete.push(path);\n return codeUpdate;\n};\nexport const applyUpdateCode = (codeUpdate, veloFile) => {\n if (!codeUpdate) {\n codeUpdate = initVeloCodeUpdate();\n }\n codeUpdate.filesToUpdate ??= [];\n codeUpdate.filesToUpdate.push(veloFile);\n return codeUpdate;\n};\nexport const accumulateFsUpdateToVeloCodeUpdate = async (state, veloCodeUpdate, { path, action }) => {\n let result = veloCodeUpdate;\n if (action === 'DELETE') {\n result = applyDeleteCode(result, path);\n }\n else if (action === 'UPDATE') {\n const veloFile = await readVeloFile(state.fileSystem, path);\n result = applyUpdateCode(result, veloFile);\n }\n return result;\n};\n","import { readVeloFile, getPageCodeFilePath } from '../code/utils/veloUtils.js';\nimport { readWml, getPageId } from '../document/utils/wmlUtils.js';\nimport { applyDeleteCode, applyUpdateCode } from '../code/fsUpdates.js';\nimport { applyDocumentUpdate } from '../document/fsUpdates.js';\nconst applyDeletePage = (siteFsUpdate, pageId) => {\n siteFsUpdate.document = applyDocumentUpdate(siteFsUpdate.document, pageId, null);\n const veloPath = getPageCodeFilePath(pageId);\n siteFsUpdate.code = applyDeleteCode(siteFsUpdate.code, veloPath);\n return siteFsUpdate;\n};\nconst applyCodeUpdateInPage = async (state, siteFsUpdate, pageId, path) => {\n const veloFile = await readVeloFile(state.fileSystem, path);\n siteFsUpdate.code = applyUpdateCode(siteFsUpdate.code, {\n path: getPageCodeFilePath(pageId),\n content: veloFile.content\n });\n return siteFsUpdate;\n};\nexport const accumulatePageFsUpdateToWixSiteFSUpdate = async (state, siteFsUpdate, structureInfo, { action, path }) => {\n const result = siteFsUpdate;\n const pageId = state.pages.getPageId(structureInfo.pagePath);\n if (action === 'DELETE') {\n if (!pageId) {\n // page already removed\n return result;\n }\n const { document, code } = applyDeletePage(result, pageId);\n result.document = document;\n result.code = code;\n state.pages.removePageById(pageId);\n }\n else if (action === 'UPDATE') {\n const page = state.fileStructure.getPageFilesPaths(structureInfo.pagePath);\n if (structureInfo.type === 'document') {\n const wml = await readWml(state.fileSystem, page.document);\n const pageIdInDocument = await getPageId(state.fileSystem, page.document);\n const folderPathForPageIdInDocument = state.pages.getFolderPath(pageIdInDocument);\n // pageIdInDocument is reffering to existing page, which is not equal to the current one\n if (folderPathForPageIdInDocument && folderPathForPageIdInDocument !== structureInfo.pagePath) {\n throw new Error(`Duplicated pageId found in structure.xml files: ${pageIdInDocument}`);\n }\n // if pageId not equal, then we or add new page or change id in structure\n if (pageId !== pageIdInDocument) {\n if (pageId) {\n const { document, code } = applyDeletePage(result, pageId);\n result.document = document;\n result.code = code;\n await applyCodeUpdateInPage(state, result, pageIdInDocument, page.code);\n state.pages.removePageById(pageId);\n }\n state.pages.addPage(pageIdInDocument, structureInfo.pagePath);\n }\n result.document = applyDocumentUpdate(result.document, pageIdInDocument, wml);\n }\n else if (structureInfo.type === 'code') {\n if (!pageId) {\n // no pageId for this code file, so just skip it\n return result;\n }\n await applyCodeUpdateInPage(state, result, pageId, path);\n }\n }\n return result;\n};\n","export const applyDocumentUpdate = (documentUpdate, pageId, value) => {\n documentUpdate ??= { pages: {} };\n documentUpdate.pages[pageId] = value;\n return documentUpdate;\n};\n","import { getSourceFolder } from '@wix/velo-github-layout-definitions';\nimport { useProjectModel } from '../../model.js';\n\nexport function useSrcFolder() {\n const { model } = useProjectModel();\n\n return getSourceFolder(model.projectFolder);\n}\n","import { useState, useEffect } from 'react';\nimport { watch } from 'chokidar';\nimport { debounceQueue } from '@wix/debounce-queue';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\nimport type { FSUpdate } from '@wix/anyide-cli-file-structure';\n\nexport function useFsWatcher(cwd: string) {\n const { reportError } = useErrorReporter();\n\n const [{ watcher, ...publicApi }] = useState(() => {\n const watcher = watch('.', {\n cwd,\n ignoreInitial: true,\n disableGlobbing: true,\n });\n\n return {\n watcher,\n onBatchChange: (eventHandler: (update: FSUpdate[]) => void) => {\n const debouncedHandler = debounceQueue(\n (events: Array<[path: string, action: 'UPDATE' | 'DELETE']>) => {\n const uniqEvents = new Map(events);\n const update: FSUpdate[] = [];\n\n for (const [path, action] of uniqEvents) {\n update.push({ path, action });\n }\n\n eventHandler(update);\n },\n 400\n );\n\n watcher.on('change', (path) => debouncedHandler(path, 'UPDATE'));\n watcher.on('add', (path) => debouncedHandler(path, 'UPDATE'));\n watcher.on('unlink', (path) => debouncedHandler(path, 'DELETE'));\n },\n };\n });\n\n useEffect(() => {\n return () => {\n watcher.close().catch(reportError);\n };\n }, [watcher, reportError]);\n\n return publicApi;\n}\n","import { useCallback } from 'react';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { useProjectModel } from '../../model.js';\n\nexport function useDevEditorUrl() {\n const { model } = useProjectModel();\n\n return useCallback(\n (serverPort: number) => {\n const { devEditorBaseUrl } = getTestOverrides();\n const url = new URL(\n model.metaSiteId,\n devEditorBaseUrl ?? 'https://wix.com/editor/'\n );\n\n url.searchParams.set('localPort', String(serverPort));\n url.searchParams.set('github2', 'true');\n\n return url.toString();\n },\n [model.metaSiteId]\n );\n}\n","import { useState, useEffect } from 'react';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\nimport { createVeloCLIServer } from '@wix/editor-velo-cli-comm-api';\n\nexport function useWebSocketServer() {\n const { reportError } = useErrorReporter();\n const [server] = useState(() => createVeloCLIServer());\n\n useEffect(() => {\n return () => {\n server.close().catch(reportError);\n };\n }, [server, reportError]);\n\n return server;\n}\n"],"mappings":"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","names":["import_react","import_react","import_react","match","path","path","path","path","path","path","path","path","path","path","path","watcher","path","import_react","import_react","code","React","React","React"]}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { createRequire as _createRequire } from 'node:module';
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
|
-
import "./chunk-
|
|
3
|
+
import "./chunk-KTJ6X6GE.js";
|
|
4
4
|
import {
|
|
5
5
|
addUserFields
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ZOWPPCOU.js";
|
|
7
7
|
import {
|
|
8
8
|
ApiKeyLogin,
|
|
9
9
|
LoginWithI18n
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-H5EUIUDE.js";
|
|
11
11
|
import {
|
|
12
12
|
useBiLogger,
|
|
13
13
|
useErrorReporter
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-IRLLAFTL.js";
|
|
15
15
|
import {
|
|
16
16
|
ConfirmInput,
|
|
17
17
|
Text,
|
|
@@ -19,16 +19,16 @@ import {
|
|
|
19
19
|
require_react,
|
|
20
20
|
useExit,
|
|
21
21
|
useTranslation
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-BHINMCY7.js";
|
|
23
23
|
import "./chunk-W32TRG4E.js";
|
|
24
24
|
import "./chunk-W423UTD3.js";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-6F2RSXHN.js";
|
|
26
26
|
import "./chunk-YU54OBFT.js";
|
|
27
27
|
import "./chunk-XMTHMR2B.js";
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-MPSJ2YGQ.js";
|
|
29
|
+
import "./chunk-LOJ4G3VD.js";
|
|
30
|
+
import "./chunk-24HYCAK2.js";
|
|
31
|
+
import "./chunk-53UCEZFU.js";
|
|
32
32
|
import {
|
|
33
33
|
require_lib
|
|
34
34
|
} from "./chunk-XU2RG4HE.js";
|
|
@@ -120,4 +120,4 @@ var LoginCommand = ({
|
|
|
120
120
|
export {
|
|
121
121
|
LoginCommand
|
|
122
122
|
};
|
|
123
|
-
//# sourceMappingURL=LoginCommand-
|
|
123
|
+
//# sourceMappingURL=LoginCommand-BP3RQHUM.js.map
|
|
@@ -2,8 +2,8 @@ import { createRequire as _createRequire } from 'node:module';
|
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
logout
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-H5EUIUDE.js";
|
|
6
|
+
import "./chunk-IRLLAFTL.js";
|
|
7
7
|
import {
|
|
8
8
|
Box_default,
|
|
9
9
|
ConfirmInput,
|
|
@@ -13,14 +13,14 @@ import {
|
|
|
13
13
|
require_react,
|
|
14
14
|
useAsyncCallback,
|
|
15
15
|
useTranslation
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-BHINMCY7.js";
|
|
17
17
|
import "./chunk-W32TRG4E.js";
|
|
18
18
|
import "./chunk-W423UTD3.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-6F2RSXHN.js";
|
|
20
20
|
import "./chunk-YU54OBFT.js";
|
|
21
21
|
import "./chunk-XMTHMR2B.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-24HYCAK2.js";
|
|
23
|
+
import "./chunk-53UCEZFU.js";
|
|
24
24
|
import {
|
|
25
25
|
require_lib
|
|
26
26
|
} from "./chunk-XU2RG4HE.js";
|
|
@@ -63,4 +63,4 @@ var LogoutCommand = ({ userInfo }) => {
|
|
|
63
63
|
export {
|
|
64
64
|
LogoutCommand
|
|
65
65
|
};
|
|
66
|
-
//# sourceMappingURL=LogoutCommand-
|
|
66
|
+
//# sourceMappingURL=LogoutCommand-VT4QE44U.js.map
|