@wix/cli 1.1.92 → 1.1.94
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/{chunk-W7CODLJZ.js → DevCommand-2Z74PQ26.js} +669 -257
- package/build/DevCommand-2Z74PQ26.js.map +1 -0
- package/build/{DevCommand-PWVR7KPG.js → DevCommand-3VTVFAPC.js} +18 -18
- package/build/{DevCommand-DEUDOCGK.js → DevCommand-YA5YZGH4.js} +16 -16
- package/build/{EnvPullCommand-IYWK5KBC.js → EnvPullCommand-RCCSTWOJ.js} +10 -10
- package/build/EnvRemoveCommand-DOD4IKNQ.js +84 -0
- package/build/EnvRemoveCommand-DOD4IKNQ.js.map +1 -0
- package/build/{EnvSetCommand-SSNEWXCX.js → EnvSetCommand-7ZXAJJXY.js} +10 -10
- package/build/{GenerateCommand-PW2OA55C.js → GenerateCommand-NN35PMBQ.js} +230 -391
- package/build/GenerateCommand-NN35PMBQ.js.map +1 -0
- package/build/{InstallCommand-EUIXWKR2.js → InstallCommand-6HILIMZ4.js} +16 -16
- package/build/{LoginCommand-N7VGSH5Y.js → LoginCommand-Q6PHFCSX.js} +10 -10
- package/build/{LogoutCommand-NXTHVFG5.js → LogoutCommand-K34YBMCM.js} +7 -7
- package/build/{PreviewCommand-BZTD3F7Z.js → PreviewCommand-7JGGKUNA.js} +12 -12
- package/build/{PreviewCommand-LPWUUZQG.js → PreviewCommand-G2JIJG5L.js} +18 -18
- package/build/{PreviewCommand-JDV4BZ32.js → PreviewCommand-Z5GX6ZNV.js} +20 -20
- package/build/{PublishCommand-WF2ZNXFD.js → PublishCommand-VLI7PDXQ.js} +18 -18
- package/build/{ReleaseCommand-KYSWC62Q.js → ReleaseCommand-ND3DAKOU.js} +13 -13
- package/build/{UninstallCommand-BABBSOQX.js → UninstallCommand-FSM6ACGS.js} +16 -16
- package/build/{WhoamiCommand-JVMX7IEJ.js → WhoamiCommand-HCHXCS52.js} +3 -3
- package/build/{chunk-GIEJ7SOR.js → chunk-2WHCRVUO.js} +3 -3
- package/build/{chunk-YFBUO3EP.js → chunk-2YWQMCYL.js} +6 -8
- package/build/chunk-2YWQMCYL.js.map +1 -0
- package/build/{chunk-4O4G7HN2.js → chunk-4L4VX3K6.js} +4 -4
- package/build/{chunk-4O4G7HN2.js.map → chunk-4L4VX3K6.js.map} +1 -1
- package/build/{chunk-I4LXL264.js → chunk-4MLVTFYI.js} +3 -3
- package/build/{chunk-CMCIM2FR.js → chunk-6F3HZWHI.js} +3 -3
- package/build/{chunk-6ZIRLJMJ.js → chunk-6OCBAMM6.js} +3 -3
- package/build/{chunk-RJG6WEKO.js → chunk-7X6XM5XU.js} +2 -2
- package/build/{chunk-XLGJQZZA.js → chunk-7XY5GJUN.js} +3 -3
- package/build/{chunk-5L3ZCEVU.js → chunk-7ZSRRYB6.js} +19 -13
- package/build/chunk-7ZSRRYB6.js.map +1 -0
- package/build/{chunk-3BDYAFJY.js → chunk-AE3MOKSJ.js} +2 -2
- package/build/{chunk-Y3ZAEZF4.js → chunk-AN752YLU.js} +4 -4
- package/build/{chunk-Q7E6CZ3C.js → chunk-AO4BFW7M.js} +8 -8
- package/build/{chunk-GXTU3764.js → chunk-BADJ5PEM.js} +2 -2
- package/build/{chunk-GXTU3764.js.map → chunk-BADJ5PEM.js.map} +1 -1
- package/build/{chunk-DUYQZPRH.js → chunk-BGGTVIDX.js} +2 -2
- package/build/{chunk-CXFPYQVY.js → chunk-DDIB3H7O.js} +5 -5
- package/build/{chunk-M2VJGFDS.js → chunk-DQGJG7WL.js} +2 -2
- package/build/{chunk-4B4DIFAD.js → chunk-EMEJMFDS.js} +6 -6
- package/build/{chunk-3PSJY5IQ.js → chunk-ENAENA4J.js} +6 -6
- package/build/{chunk-45WBL5VF.js → chunk-EWC22ION.js} +5 -5
- package/build/{chunk-F6AKDZEI.js → chunk-FHR2PDDD.js} +60 -6
- package/build/chunk-FHR2PDDD.js.map +1 -0
- package/build/{chunk-ISBULSWD.js → chunk-G2JIGUJ7.js} +7 -7
- package/build/{chunk-I3MNONAI.js → chunk-GDBFT3UX.js} +2 -2
- package/build/{chunk-6MH74EYT.js → chunk-H6EWS6IF.js} +3 -3
- package/build/{chunk-JHYR5NET.js → chunk-I4IC4BN2.js} +7 -7
- package/build/{chunk-NVW5X3UB.js → chunk-J7LF3I3O.js} +3 -3
- package/build/{chunk-JSW5O26R.js → chunk-KLTEP7AZ.js} +10 -11
- package/build/chunk-KLTEP7AZ.js.map +1 -0
- package/build/{chunk-VNWDO45Y.js → chunk-NSL46MKB.js} +4 -2
- package/build/{chunk-VNWDO45Y.js.map → chunk-NSL46MKB.js.map} +1 -1
- package/build/{chunk-PKZ6J2PV.js → chunk-O6ZDAZFZ.js} +2 -2
- package/build/{chunk-ZCKZMMPY.js → chunk-PAM7FLMM.js} +2 -2
- package/build/{chunk-3PAHQ4M3.js → chunk-PEYNHLTD.js} +3 -3
- package/build/{chunk-6PQJVCVI.js → chunk-PIQXSDTQ.js} +2 -2
- package/build/{chunk-KEX4DNHZ.js → chunk-QGNDWQQD.js} +3 -3
- package/build/{chunk-YVQDNTNO.js → chunk-SH5WVHLQ.js} +2 -4
- package/build/{chunk-W3FB2GVG.js → chunk-TDO7IFO6.js} +6 -3
- package/build/chunk-TDO7IFO6.js.map +1 -0
- package/build/{chunk-AA5HURS5.js → chunk-UTTRVHIB.js} +3 -3
- package/build/{chunk-DXCSR2HI.js → chunk-WPI6K6AK.js} +5 -5
- package/build/{chunk-MOBNZ5R6.js → chunk-X73KRU2U.js} +13 -13
- package/build/{chunk-RIDZNJ65.js → chunk-XI75OO7W.js} +11 -5
- package/build/{chunk-RIDZNJ65.js.map → chunk-XI75OO7W.js.map} +1 -1
- package/build/{chunk-VWHAW4FC.js → chunk-ZQD2MXRV.js} +6 -6
- package/build/{chunk-TJTGMIZV.js → chunk-ZVMU6EMR.js} +2 -2
- package/build/{chunk-EJEDZZSK.js → chunk-ZWJZS7BK.js} +4 -3
- package/build/{chunk-EJEDZZSK.js.map → chunk-ZWJZS7BK.js.map} +1 -1
- package/build/{chunk-RYKJWCW2.js → chunk-ZZXI3UI4.js} +2 -2
- package/build/{dev-T5EAJRHG.js → dev-L7RT7UZD.js} +27 -27
- package/build/index.js +24 -24
- package/build/{install-EG5K5ISY.js → install-HHYTVORP.js} +16 -16
- package/build/{preview-HGI3D6BP.js → preview-BFD2GALD.js} +14 -14
- package/build/{publish-GAJZYSXP.js → publish-KJZ5VY4N.js} +17 -17
- package/build/{render-command-AJ4JXBZD.js → render-command-2XRAAJF6.js} +11 -11
- package/build/{render-command-UUPZCQR5.js → render-command-KNT6R4TM.js} +9 -9
- package/build/{render-command-I2UZ4C56.js → render-command-P4VD5BQ2.js} +10 -10
- package/build/{render-command-SFFANX7U.js → render-command-Y5LAZOIK.js} +10 -10
- package/build/{render-command-7VCI6YSZ.js → render-command-ZX5HGLIL.js} +13 -13
- package/build/{run-command-YOFPOYKR.js → run-command-OJIGR5M3.js} +7 -7
- package/build/{src-G4VTAB7N.js → src-36YD7FKI.js} +6 -6
- package/build/{src-WOCAZXWW.js → src-3CROJOB6.js} +4 -4
- package/build/{src-FQXVNQBP.js → src-3YCY3A6N.js} +14 -14
- package/build/{src-TCOQJWS6.js → src-7LR3GVQF.js} +4 -4
- package/build/{src-LGPI7BEK.js → src-7PXYBA4T.js} +52 -35
- package/build/src-7PXYBA4T.js.map +1 -0
- package/build/{src-TNYBYQC2.js → src-NHIOKHGM.js} +17 -17
- package/build/{src-36YXA45Z.js → src-R7UXENTL.js} +7 -7
- package/build/{src-SJLIJTME.js → src-X7RRT6HX.js} +2 -2
- package/build/{sync-types-IQMRAUS5.js → sync-types-VMUQUXYA.js} +12 -12
- package/build/{uninstall-L6EBLGL3.js → uninstall-FZQD6AV5.js} +16 -16
- package/package.json +2 -2
- package/build/DevCommand-V4NLJPXS.js +0 -438
- package/build/DevCommand-V4NLJPXS.js.map +0 -1
- package/build/GenerateCommand-PW2OA55C.js.map +0 -1
- package/build/chunk-5L3ZCEVU.js.map +0 -1
- package/build/chunk-F6AKDZEI.js.map +0 -1
- package/build/chunk-JSW5O26R.js.map +0 -1
- package/build/chunk-W3FB2GVG.js.map +0 -1
- package/build/chunk-W7CODLJZ.js.map +0 -1
- package/build/chunk-YFBUO3EP.js.map +0 -1
- package/build/src-LGPI7BEK.js.map +0 -1
- /package/build/{DevCommand-PWVR7KPG.js.map → DevCommand-3VTVFAPC.js.map} +0 -0
- /package/build/{DevCommand-DEUDOCGK.js.map → DevCommand-YA5YZGH4.js.map} +0 -0
- /package/build/{EnvPullCommand-IYWK5KBC.js.map → EnvPullCommand-RCCSTWOJ.js.map} +0 -0
- /package/build/{EnvSetCommand-SSNEWXCX.js.map → EnvSetCommand-7ZXAJJXY.js.map} +0 -0
- /package/build/{InstallCommand-EUIXWKR2.js.map → InstallCommand-6HILIMZ4.js.map} +0 -0
- /package/build/{LoginCommand-N7VGSH5Y.js.map → LoginCommand-Q6PHFCSX.js.map} +0 -0
- /package/build/{LogoutCommand-NXTHVFG5.js.map → LogoutCommand-K34YBMCM.js.map} +0 -0
- /package/build/{PreviewCommand-BZTD3F7Z.js.map → PreviewCommand-7JGGKUNA.js.map} +0 -0
- /package/build/{PreviewCommand-LPWUUZQG.js.map → PreviewCommand-G2JIJG5L.js.map} +0 -0
- /package/build/{PreviewCommand-JDV4BZ32.js.map → PreviewCommand-Z5GX6ZNV.js.map} +0 -0
- /package/build/{PublishCommand-WF2ZNXFD.js.map → PublishCommand-VLI7PDXQ.js.map} +0 -0
- /package/build/{ReleaseCommand-KYSWC62Q.js.map → ReleaseCommand-ND3DAKOU.js.map} +0 -0
- /package/build/{UninstallCommand-BABBSOQX.js.map → UninstallCommand-FSM6ACGS.js.map} +0 -0
- /package/build/{WhoamiCommand-JVMX7IEJ.js.map → WhoamiCommand-HCHXCS52.js.map} +0 -0
- /package/build/{chunk-GIEJ7SOR.js.map → chunk-2WHCRVUO.js.map} +0 -0
- /package/build/{chunk-I4LXL264.js.map → chunk-4MLVTFYI.js.map} +0 -0
- /package/build/{chunk-CMCIM2FR.js.map → chunk-6F3HZWHI.js.map} +0 -0
- /package/build/{chunk-6ZIRLJMJ.js.map → chunk-6OCBAMM6.js.map} +0 -0
- /package/build/{chunk-RJG6WEKO.js.map → chunk-7X6XM5XU.js.map} +0 -0
- /package/build/{chunk-XLGJQZZA.js.map → chunk-7XY5GJUN.js.map} +0 -0
- /package/build/{chunk-3BDYAFJY.js.map → chunk-AE3MOKSJ.js.map} +0 -0
- /package/build/{chunk-Y3ZAEZF4.js.map → chunk-AN752YLU.js.map} +0 -0
- /package/build/{chunk-Q7E6CZ3C.js.map → chunk-AO4BFW7M.js.map} +0 -0
- /package/build/{chunk-DUYQZPRH.js.map → chunk-BGGTVIDX.js.map} +0 -0
- /package/build/{chunk-CXFPYQVY.js.map → chunk-DDIB3H7O.js.map} +0 -0
- /package/build/{chunk-M2VJGFDS.js.map → chunk-DQGJG7WL.js.map} +0 -0
- /package/build/{chunk-4B4DIFAD.js.map → chunk-EMEJMFDS.js.map} +0 -0
- /package/build/{chunk-3PSJY5IQ.js.map → chunk-ENAENA4J.js.map} +0 -0
- /package/build/{chunk-45WBL5VF.js.map → chunk-EWC22ION.js.map} +0 -0
- /package/build/{chunk-ISBULSWD.js.map → chunk-G2JIGUJ7.js.map} +0 -0
- /package/build/{chunk-I3MNONAI.js.map → chunk-GDBFT3UX.js.map} +0 -0
- /package/build/{chunk-6MH74EYT.js.map → chunk-H6EWS6IF.js.map} +0 -0
- /package/build/{chunk-JHYR5NET.js.map → chunk-I4IC4BN2.js.map} +0 -0
- /package/build/{chunk-NVW5X3UB.js.map → chunk-J7LF3I3O.js.map} +0 -0
- /package/build/{chunk-PKZ6J2PV.js.map → chunk-O6ZDAZFZ.js.map} +0 -0
- /package/build/{chunk-ZCKZMMPY.js.map → chunk-PAM7FLMM.js.map} +0 -0
- /package/build/{chunk-3PAHQ4M3.js.map → chunk-PEYNHLTD.js.map} +0 -0
- /package/build/{chunk-6PQJVCVI.js.map → chunk-PIQXSDTQ.js.map} +0 -0
- /package/build/{chunk-KEX4DNHZ.js.map → chunk-QGNDWQQD.js.map} +0 -0
- /package/build/{chunk-YVQDNTNO.js.map → chunk-SH5WVHLQ.js.map} +0 -0
- /package/build/{chunk-AA5HURS5.js.map → chunk-UTTRVHIB.js.map} +0 -0
- /package/build/{chunk-DXCSR2HI.js.map → chunk-WPI6K6AK.js.map} +0 -0
- /package/build/{chunk-MOBNZ5R6.js.map → chunk-X73KRU2U.js.map} +0 -0
- /package/build/{chunk-VWHAW4FC.js.map → chunk-ZQD2MXRV.js.map} +0 -0
- /package/build/{chunk-TJTGMIZV.js.map → chunk-ZVMU6EMR.js.map} +0 -0
- /package/build/{chunk-RYKJWCW2.js.map → chunk-ZZXI3UI4.js.map} +0 -0
- /package/build/{dev-T5EAJRHG.js.map → dev-L7RT7UZD.js.map} +0 -0
- /package/build/{install-EG5K5ISY.js.map → install-HHYTVORP.js.map} +0 -0
- /package/build/{preview-HGI3D6BP.js.map → preview-BFD2GALD.js.map} +0 -0
- /package/build/{publish-GAJZYSXP.js.map → publish-KJZ5VY4N.js.map} +0 -0
- /package/build/{render-command-AJ4JXBZD.js.map → render-command-2XRAAJF6.js.map} +0 -0
- /package/build/{render-command-UUPZCQR5.js.map → render-command-KNT6R4TM.js.map} +0 -0
- /package/build/{render-command-I2UZ4C56.js.map → render-command-P4VD5BQ2.js.map} +0 -0
- /package/build/{render-command-SFFANX7U.js.map → render-command-Y5LAZOIK.js.map} +0 -0
- /package/build/{render-command-7VCI6YSZ.js.map → render-command-ZX5HGLIL.js.map} +0 -0
- /package/build/{run-command-YOFPOYKR.js.map → run-command-OJIGR5M3.js.map} +0 -0
- /package/build/{src-G4VTAB7N.js.map → src-36YD7FKI.js.map} +0 -0
- /package/build/{src-36YXA45Z.js.map → src-3CROJOB6.js.map} +0 -0
- /package/build/{src-FQXVNQBP.js.map → src-3YCY3A6N.js.map} +0 -0
- /package/build/{src-SJLIJTME.js.map → src-7LR3GVQF.js.map} +0 -0
- /package/build/{src-TNYBYQC2.js.map → src-NHIOKHGM.js.map} +0 -0
- /package/build/{src-TCOQJWS6.js.map → src-R7UXENTL.js.map} +0 -0
- /package/build/{src-WOCAZXWW.js.map → src-X7RRT6HX.js.map} +0 -0
- /package/build/{sync-types-IQMRAUS5.js.map → sync-types-VMUQUXYA.js.map} +0 -0
- /package/build/{uninstall-L6EBLGL3.js.map → uninstall-FZQD6AV5.js.map} +0 -0
|
@@ -1,438 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import {
|
|
4
|
-
useTunnel
|
|
5
|
-
} from "./chunk-3PSJY5IQ.js";
|
|
6
|
-
import {
|
|
7
|
-
PlatformLink,
|
|
8
|
-
useARMClient,
|
|
9
|
-
useUpdateDeploymentTopology,
|
|
10
|
-
useUpdateManifest
|
|
11
|
-
} from "./chunk-5L3ZCEVU.js";
|
|
12
|
-
import {
|
|
13
|
-
appConfigSchema,
|
|
14
|
-
getAppConfigPath
|
|
15
|
-
} from "./chunk-W7CODLJZ.js";
|
|
16
|
-
import "./chunk-P7ANNBCZ.js";
|
|
17
|
-
import {
|
|
18
|
-
createPackageManager,
|
|
19
|
-
getRepoType
|
|
20
|
-
} from "./chunk-CMCIM2FR.js";
|
|
21
|
-
import {
|
|
22
|
-
execa
|
|
23
|
-
} from "./chunk-3OG3PDAA.js";
|
|
24
|
-
import "./chunk-OJHDGJWP.js";
|
|
25
|
-
import {
|
|
26
|
-
useHttpClient
|
|
27
|
-
} from "./chunk-DUYQZPRH.js";
|
|
28
|
-
import {
|
|
29
|
-
ComponentType,
|
|
30
|
-
looseAppManifestSchema,
|
|
31
|
-
looseComponentSchema,
|
|
32
|
-
useProjectModel
|
|
33
|
-
} from "./chunk-W3FB2GVG.js";
|
|
34
|
-
import {
|
|
35
|
-
SiteAuthProvider
|
|
36
|
-
} from "./chunk-VWHAW4FC.js";
|
|
37
|
-
import "./chunk-RIDZNJ65.js";
|
|
38
|
-
import "./chunk-NPVP6ZBL.js";
|
|
39
|
-
import "./chunk-I3MNONAI.js";
|
|
40
|
-
import "./chunk-GPEPI5XF.js";
|
|
41
|
-
import {
|
|
42
|
-
Box_default,
|
|
43
|
-
ConfirmInput,
|
|
44
|
-
Spinner,
|
|
45
|
-
Text,
|
|
46
|
-
createRendererToString,
|
|
47
|
-
useAsync,
|
|
48
|
-
useExit
|
|
49
|
-
} from "./chunk-YVQDNTNO.js";
|
|
50
|
-
import {
|
|
51
|
-
require_react
|
|
52
|
-
} from "./chunk-SO6EZMEL.js";
|
|
53
|
-
import {
|
|
54
|
-
stripAnsi
|
|
55
|
-
} from "./chunk-2K5KKUL3.js";
|
|
56
|
-
import "./chunk-YU54OBFT.js";
|
|
57
|
-
import "./chunk-XMTHMR2B.js";
|
|
58
|
-
import {
|
|
59
|
-
readUserConfig,
|
|
60
|
-
updateUserConfig
|
|
61
|
-
} from "./chunk-ZCKZMMPY.js";
|
|
62
|
-
import "./chunk-7ZP5YH44.js";
|
|
63
|
-
import "./chunk-COXRYL76.js";
|
|
64
|
-
import "./chunk-MWHZITF4.js";
|
|
65
|
-
import {
|
|
66
|
-
pathExists,
|
|
67
|
-
readJson,
|
|
68
|
-
writeJson
|
|
69
|
-
} from "./chunk-EJEDZZSK.js";
|
|
70
|
-
import "./chunk-SF2XPDVG.js";
|
|
71
|
-
import {
|
|
72
|
-
require_lib
|
|
73
|
-
} from "./chunk-VNWDO45Y.js";
|
|
74
|
-
import {
|
|
75
|
-
__toESM,
|
|
76
|
-
init_esm_shims
|
|
77
|
-
} from "./chunk-PYIAC2GK.js";
|
|
78
|
-
|
|
79
|
-
// ../cli-astro-commands/src/components/DevCommand/index.ts
|
|
80
|
-
init_esm_shims();
|
|
81
|
-
|
|
82
|
-
// ../cli-astro-commands/src/components/DevCommand/DevCommand.tsx
|
|
83
|
-
init_esm_shims();
|
|
84
|
-
var import_react5 = __toESM(require_react(), 1);
|
|
85
|
-
|
|
86
|
-
// ../cli-astro-commands/src/components/DevCommand/DevScreenBorder.tsx
|
|
87
|
-
init_esm_shims();
|
|
88
|
-
var import_react = __toESM(require_react(), 1);
|
|
89
|
-
var DevScreenBorder = ({ children }) => {
|
|
90
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
91
|
-
Box_default,
|
|
92
|
-
{
|
|
93
|
-
flexDirection: "column",
|
|
94
|
-
borderTop: true,
|
|
95
|
-
borderLeft: false,
|
|
96
|
-
borderBottom: false,
|
|
97
|
-
borderRight: false,
|
|
98
|
-
borderStyle: "round",
|
|
99
|
-
borderColor: "blueBright",
|
|
100
|
-
width: "95%"
|
|
101
|
-
},
|
|
102
|
-
children
|
|
103
|
-
);
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
// ../cli-astro-commands/src/components/DevCommand/utils/runAstroDev.ts
|
|
107
|
-
init_esm_shims();
|
|
108
|
-
var EVENT_LINE = "line";
|
|
109
|
-
var EVENT_SERVER_ADDRESS = "server_address";
|
|
110
|
-
function runAstroDev({
|
|
111
|
-
packageManager,
|
|
112
|
-
projectFolder,
|
|
113
|
-
port,
|
|
114
|
-
allowedHosts
|
|
115
|
-
}) {
|
|
116
|
-
const binaryArgs = ["astro", "dev"];
|
|
117
|
-
if (port) {
|
|
118
|
-
binaryArgs.push("--port", `${port}`);
|
|
119
|
-
}
|
|
120
|
-
if (allowedHosts) {
|
|
121
|
-
binaryArgs.push("--allowed-hosts", allowedHosts);
|
|
122
|
-
}
|
|
123
|
-
const { file, args } = packageManager.getRunBinaryCmd(binaryArgs);
|
|
124
|
-
const result = execa(file, args, {
|
|
125
|
-
cwd: projectFolder,
|
|
126
|
-
stdio: "pipe",
|
|
127
|
-
env: { FORCE_COLOR: "1" },
|
|
128
|
-
cleanup: true,
|
|
129
|
-
detached: true
|
|
130
|
-
});
|
|
131
|
-
let stdoutBuffer = "";
|
|
132
|
-
result.stdout?.on("data", (chunk) => {
|
|
133
|
-
stdoutBuffer += chunk.toString();
|
|
134
|
-
const lines = stdoutBuffer.split("\n");
|
|
135
|
-
stdoutBuffer = lines.pop() ?? "";
|
|
136
|
-
for (const line of lines) {
|
|
137
|
-
result.stdout?.emit(EVENT_LINE, line);
|
|
138
|
-
if (line.includes("http://")) {
|
|
139
|
-
const match2 = /(http:\/\/[^\s]+)/.exec(line);
|
|
140
|
-
if (match2?.[1]) {
|
|
141
|
-
const address = stripAnsi(match2[1]).trim();
|
|
142
|
-
result.stdout?.emit(EVENT_SERVER_ADDRESS, address);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
let stdErrBuffer = "";
|
|
148
|
-
result.stderr?.on("data", (chunk) => {
|
|
149
|
-
stdErrBuffer += chunk.toString();
|
|
150
|
-
const lines = stdErrBuffer.split("\n");
|
|
151
|
-
stdErrBuffer = lines.pop() ?? "";
|
|
152
|
-
for (const line of lines) {
|
|
153
|
-
result.stderr?.emit(EVENT_LINE, line);
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
return result;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
// ../cli-astro-commands/src/components/DevCommand/utils/createAstroLogger.tsx
|
|
160
|
-
init_esm_shims();
|
|
161
|
-
var import_react2 = __toESM(require_react(), 1);
|
|
162
|
-
var dateTimeFormat = new Intl.DateTimeFormat([], {
|
|
163
|
-
hour: "2-digit",
|
|
164
|
-
minute: "2-digit",
|
|
165
|
-
second: "2-digit",
|
|
166
|
-
hour12: false
|
|
167
|
-
});
|
|
168
|
-
function createAstroLogger(isPrefixed = true) {
|
|
169
|
-
const renderer = createRendererToString({ stripAnsi: false });
|
|
170
|
-
const log = (msg) => {
|
|
171
|
-
if (typeof msg === "string") {
|
|
172
|
-
setTimeout(() => console.log(msg), 0);
|
|
173
|
-
} else {
|
|
174
|
-
setTimeout(() => console.log(renderer.render(msg)), 0);
|
|
175
|
-
}
|
|
176
|
-
};
|
|
177
|
-
const prefixedLog = (msg) => {
|
|
178
|
-
const timestamp = dateTimeFormat.format(/* @__PURE__ */ new Date());
|
|
179
|
-
const log2 = /* @__PURE__ */ import_react2.default.createElement(Text, null, /* @__PURE__ */ import_react2.default.createElement(Text, null, timestamp, " "), /* @__PURE__ */ import_react2.default.createElement(Text, { skin: "info" }, "[wix] "), /* @__PURE__ */ import_react2.default.createElement(Text, null, msg));
|
|
180
|
-
console.log(renderer.render(log2));
|
|
181
|
-
};
|
|
182
|
-
return isPrefixed ? { log: prefixedLog } : { log };
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
// ../cli-astro-commands/src/components/DevCommand/DevCenterUpdater.tsx
|
|
186
|
-
init_esm_shims();
|
|
187
|
-
var import_react4 = __toESM(require_react(), 1);
|
|
188
|
-
import { isDeepStrictEqual } from "node:util";
|
|
189
|
-
var import_variant2 = __toESM(require_lib(), 1);
|
|
190
|
-
|
|
191
|
-
// ../cli-astro-commands/src/files/app.config.ts
|
|
192
|
-
init_esm_shims();
|
|
193
|
-
async function readAppConfig(projectFolder, writeDebugLog) {
|
|
194
|
-
const configPath = getAppConfigPath(projectFolder);
|
|
195
|
-
const isConfigExist = await pathExists(configPath);
|
|
196
|
-
if (!isConfigExist) {
|
|
197
|
-
return null;
|
|
198
|
-
}
|
|
199
|
-
try {
|
|
200
|
-
const json = await readJson(configPath);
|
|
201
|
-
const appConfig = await appConfigSchema.safeParseAsync(json);
|
|
202
|
-
if (!appConfig.success) {
|
|
203
|
-
return null;
|
|
204
|
-
}
|
|
205
|
-
return appConfig.data;
|
|
206
|
-
} catch (e) {
|
|
207
|
-
writeDebugLog?.(e);
|
|
208
|
-
return null;
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
async function saveAppConfig(projectFolder, config) {
|
|
212
|
-
const currentConfig = await readAppConfig(projectFolder) ?? {};
|
|
213
|
-
const newConfig = {
|
|
214
|
-
...currentConfig,
|
|
215
|
-
...config
|
|
216
|
-
};
|
|
217
|
-
await writeJson(getAppConfigPath(projectFolder), newConfig);
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
// ../cli-astro-commands/src/components/DevCommand/utils/isTunnelRequired.ts
|
|
221
|
-
init_esm_shims();
|
|
222
|
-
function isTunnelRequired(appManifest) {
|
|
223
|
-
for (const extension of appManifest.components) {
|
|
224
|
-
const knownAppManifest = parseKnownExtensionManifest(extension);
|
|
225
|
-
if (knownAppManifest != null && knownAppManifest.compType === ComponentType.WEBHOOK) {
|
|
226
|
-
return !URL.canParse(knownAppManifest.compData.webhook.callbackUrl);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
return false;
|
|
230
|
-
}
|
|
231
|
-
function parseKnownExtensionManifest(extensionManifest) {
|
|
232
|
-
const appManifestResult = looseComponentSchema.safeParse(extensionManifest);
|
|
233
|
-
if (appManifestResult.error) {
|
|
234
|
-
return null;
|
|
235
|
-
}
|
|
236
|
-
return appManifestResult.data;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
// ../cli-astro-commands/src/components/DevCommand/TunnelingConsent.tsx
|
|
240
|
-
init_esm_shims();
|
|
241
|
-
var import_react3 = __toESM(require_react(), 1);
|
|
242
|
-
var import_variant = __toESM(require_lib(), 1);
|
|
243
|
-
var TunnelingConsent = ({ required, children }) => {
|
|
244
|
-
const exit = useExit();
|
|
245
|
-
const [approved, setApproved] = (0, import_react3.useState)();
|
|
246
|
-
const { status } = useAsync(async () => {
|
|
247
|
-
const config = await readUserConfig();
|
|
248
|
-
if (config.tunneling) {
|
|
249
|
-
setApproved(true);
|
|
250
|
-
}
|
|
251
|
-
return config;
|
|
252
|
-
}, []);
|
|
253
|
-
if (!required || approved) {
|
|
254
|
-
return children;
|
|
255
|
-
}
|
|
256
|
-
return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, (0, import_variant.match)(status, {
|
|
257
|
-
Success: () => /* @__PURE__ */ import_react3.default.createElement(
|
|
258
|
-
ConfirmInput,
|
|
259
|
-
{
|
|
260
|
-
label: "To proceed, we'll set up a secure tunnel from your machine for development purposes",
|
|
261
|
-
initialValue: true,
|
|
262
|
-
onSubmit: async (approved2) => {
|
|
263
|
-
setApproved(approved2);
|
|
264
|
-
await updateUserConfig({ tunneling: approved2 });
|
|
265
|
-
if (!approved2) {
|
|
266
|
-
exit();
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
),
|
|
271
|
-
Error: () => null,
|
|
272
|
-
Loading: () => null
|
|
273
|
-
}), approved === false && /* @__PURE__ */ import_react3.default.createElement(Text, { skin: "error" }, "Operation aborted. Tunneling is necessary to run your application."));
|
|
274
|
-
};
|
|
275
|
-
|
|
276
|
-
// ../cli-astro-commands/src/components/DevCommand/DevCenterUpdater.tsx
|
|
277
|
-
var DevCenterUpdateResult = (0, import_variant2.variant)({
|
|
278
|
-
Changed: (0, import_variant2.fields)(),
|
|
279
|
-
Unchanged: {}
|
|
280
|
-
});
|
|
281
|
-
var DevCenterUpdater = ({ serverLocalUrl, serverExposedUrl }) => {
|
|
282
|
-
const [devArmTag, setDevArmTag] = (0, import_react4.useState)("");
|
|
283
|
-
const [manifest, setManifest] = (0, import_react4.useState)(null);
|
|
284
|
-
const {
|
|
285
|
-
model: {
|
|
286
|
-
config: { siteId, appId },
|
|
287
|
-
projectFolder
|
|
288
|
-
}
|
|
289
|
-
} = useProjectModel();
|
|
290
|
-
const logger = (0, import_react4.useMemo)(() => createAstroLogger(), []);
|
|
291
|
-
const http = useHttpClient({ type: "standalone" });
|
|
292
|
-
const { updateManifest } = useUpdateManifest();
|
|
293
|
-
const arm = useARMClient();
|
|
294
|
-
const updateDeploymentTopology = useUpdateDeploymentTopology();
|
|
295
|
-
const openTunnel = useTunnel();
|
|
296
|
-
const tunnelUrl = (0, import_react4.useRef)();
|
|
297
|
-
const [tunnelRequired, setTunnelRequired] = (0, import_react4.useState)(false);
|
|
298
|
-
const updateDevCenter = (0, import_react4.useCallback)(async () => {
|
|
299
|
-
const url = new URL("/_wix/app-manifest.json", serverLocalUrl).href;
|
|
300
|
-
const { data: responseFromDevServer } = await http.get(url);
|
|
301
|
-
const latestManifest = looseAppManifestSchema.parse(responseFromDevServer);
|
|
302
|
-
if (isDeepStrictEqual(manifest, latestManifest)) {
|
|
303
|
-
return DevCenterUpdateResult.Unchanged();
|
|
304
|
-
}
|
|
305
|
-
if (!serverExposedUrl && !tunnelUrl.current && isTunnelRequired(latestManifest)) {
|
|
306
|
-
const config = await readUserConfig();
|
|
307
|
-
if (!config.tunneling) {
|
|
308
|
-
setTunnelRequired(true);
|
|
309
|
-
return DevCenterUpdateResult.Unchanged();
|
|
310
|
-
}
|
|
311
|
-
const serverLocalPort = parseInt(new URL(serverLocalUrl).port, 10);
|
|
312
|
-
const tunnel = await openTunnel(serverLocalPort);
|
|
313
|
-
tunnelUrl.current = tunnel.url;
|
|
314
|
-
}
|
|
315
|
-
const baseUrl = serverExposedUrl ?? serverLocalUrl;
|
|
316
|
-
const appConfig = await readAppConfig(projectFolder);
|
|
317
|
-
let updatedDevArmTag = appConfig?.devArmTag;
|
|
318
|
-
if (!updatedDevArmTag) {
|
|
319
|
-
updatedDevArmTag = await arm.createLooseAppRelease(
|
|
320
|
-
updateManifest(latestManifest, baseUrl, tunnelUrl.current),
|
|
321
|
-
appId
|
|
322
|
-
);
|
|
323
|
-
} else {
|
|
324
|
-
const updateState = await arm.updateLooseAppRelease(
|
|
325
|
-
updateManifest(latestManifest, baseUrl, tunnelUrl.current),
|
|
326
|
-
updatedDevArmTag
|
|
327
|
-
);
|
|
328
|
-
if (!(0, import_variant2.isType)(updateState, "TagUpdated")) {
|
|
329
|
-
updatedDevArmTag = await arm.createLooseAppRelease(
|
|
330
|
-
updateManifest(latestManifest, baseUrl, tunnelUrl.current),
|
|
331
|
-
appId
|
|
332
|
-
);
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
if (updatedDevArmTag !== appConfig?.devArmTag) {
|
|
336
|
-
await saveAppConfig(projectFolder, { devArmTag: updatedDevArmTag });
|
|
337
|
-
}
|
|
338
|
-
setManifest(latestManifest);
|
|
339
|
-
setDevArmTag(updatedDevArmTag);
|
|
340
|
-
await updateDeploymentTopology.execute({
|
|
341
|
-
serverUrl: baseUrl,
|
|
342
|
-
armTag: updatedDevArmTag,
|
|
343
|
-
environment: "development"
|
|
344
|
-
});
|
|
345
|
-
const armTagChanged = !!appConfig?.devArmTag && updatedDevArmTag !== appConfig.devArmTag;
|
|
346
|
-
return DevCenterUpdateResult.Changed({ armTagChanged });
|
|
347
|
-
}, [
|
|
348
|
-
http,
|
|
349
|
-
updateManifest,
|
|
350
|
-
serverLocalUrl,
|
|
351
|
-
serverExposedUrl,
|
|
352
|
-
arm,
|
|
353
|
-
manifest,
|
|
354
|
-
projectFolder,
|
|
355
|
-
appId,
|
|
356
|
-
updateDeploymentTopology,
|
|
357
|
-
openTunnel
|
|
358
|
-
]);
|
|
359
|
-
const [timer, setTimer] = (0, import_react4.useState)(Date.now());
|
|
360
|
-
(0, import_react4.useEffect)(() => {
|
|
361
|
-
let disposed = false;
|
|
362
|
-
void updateDevCenter().then((result) => {
|
|
363
|
-
if ((0, import_variant2.isType)(result, "Changed")) {
|
|
364
|
-
logger.log(
|
|
365
|
-
"App Manifest updated. Refresh existing browser tabs to view the latest changes."
|
|
366
|
-
);
|
|
367
|
-
}
|
|
368
|
-
}).catch((error) => {
|
|
369
|
-
logger.log("Failed to update App Manifest");
|
|
370
|
-
logger.log(`${error}`);
|
|
371
|
-
}).then(() => {
|
|
372
|
-
if (!disposed) {
|
|
373
|
-
setTimeout(() => setTimer(Date.now()), 1e3);
|
|
374
|
-
}
|
|
375
|
-
});
|
|
376
|
-
return () => {
|
|
377
|
-
disposed = true;
|
|
378
|
-
};
|
|
379
|
-
}, [timer]);
|
|
380
|
-
return /* @__PURE__ */ import_react4.default.createElement(Box_default, { rowGap: 1, marginY: 1, flexDirection: "column" }, /* @__PURE__ */ import_react4.default.createElement(TunnelingConsent, { required: tunnelRequired }, /* @__PURE__ */ import_react4.default.createElement(Text, null, "Open the preview on:"), /* @__PURE__ */ import_react4.default.createElement(Box_default, { paddingLeft: 2, flexDirection: "column" }, /* @__PURE__ */ import_react4.default.createElement(PlatformLink, { url: serverLocalUrl, label: "Site" }), devArmTag ? /* @__PURE__ */ import_react4.default.createElement(
|
|
381
|
-
PlatformLink,
|
|
382
|
-
{
|
|
383
|
-
url: `https://manage.wix.com/dashboard/${siteId}?apps-override=${devArmTag}`,
|
|
384
|
-
label: "Dashboard"
|
|
385
|
-
}
|
|
386
|
-
) : /* @__PURE__ */ import_react4.default.createElement(Spinner, { text: "Preparing your dashboard..." }))));
|
|
387
|
-
};
|
|
388
|
-
|
|
389
|
-
// ../cli-astro-commands/src/components/DevCommand/DevCommand.tsx
|
|
390
|
-
var DevCommand = ({
|
|
391
|
-
port,
|
|
392
|
-
allowedHosts,
|
|
393
|
-
serverExposedUrl
|
|
394
|
-
}) => {
|
|
395
|
-
const [serverLocalUrl, setServerLocalUrl] = (0, import_react5.useState)("");
|
|
396
|
-
const {
|
|
397
|
-
model: {
|
|
398
|
-
config: { siteId },
|
|
399
|
-
projectFolder
|
|
400
|
-
}
|
|
401
|
-
} = useProjectModel();
|
|
402
|
-
const logger = (0, import_react5.useMemo)(() => createAstroLogger(false), []);
|
|
403
|
-
const astroProcess = (0, import_react5.useRef)();
|
|
404
|
-
useAsync(async () => {
|
|
405
|
-
const repoType = await getRepoType(projectFolder);
|
|
406
|
-
const packageManager = await createPackageManager(repoType);
|
|
407
|
-
const astro = runAstroDev({
|
|
408
|
-
packageManager,
|
|
409
|
-
projectFolder,
|
|
410
|
-
port,
|
|
411
|
-
allowedHosts
|
|
412
|
-
});
|
|
413
|
-
astroProcess.current = astro;
|
|
414
|
-
astro.stdout?.once(EVENT_SERVER_ADDRESS, (address) => {
|
|
415
|
-
setServerLocalUrl(address);
|
|
416
|
-
});
|
|
417
|
-
astro.stdout?.on(EVENT_LINE, (line) => logger.log(line));
|
|
418
|
-
astro.stderr?.on(EVENT_LINE, (line) => logger.log(line));
|
|
419
|
-
}, []);
|
|
420
|
-
(0, import_react5.useEffect)(() => {
|
|
421
|
-
return () => {
|
|
422
|
-
if (astroProcess.current?.pid) {
|
|
423
|
-
process.kill(-astroProcess.current.pid, "SIGTERM");
|
|
424
|
-
}
|
|
425
|
-
};
|
|
426
|
-
}, []);
|
|
427
|
-
return /* @__PURE__ */ import_react5.default.createElement(SiteAuthProvider, { siteId }, serverLocalUrl ? /* @__PURE__ */ import_react5.default.createElement(DevScreenBorder, null, /* @__PURE__ */ import_react5.default.createElement(Text, null, "Development environment ready"), /* @__PURE__ */ import_react5.default.createElement(
|
|
428
|
-
DevCenterUpdater,
|
|
429
|
-
{
|
|
430
|
-
serverLocalUrl,
|
|
431
|
-
serverExposedUrl
|
|
432
|
-
}
|
|
433
|
-
)) : /* @__PURE__ */ import_react5.default.createElement(Spinner, { text: "Starting dev environment..." }));
|
|
434
|
-
};
|
|
435
|
-
export {
|
|
436
|
-
DevCommand
|
|
437
|
-
};
|
|
438
|
-
//# sourceMappingURL=DevCommand-V4NLJPXS.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../cli-astro-commands/src/components/DevCommand/index.ts","../../cli-astro-commands/src/components/DevCommand/DevCommand.tsx","../../cli-astro-commands/src/components/DevCommand/DevScreenBorder.tsx","../../cli-astro-commands/src/components/DevCommand/utils/runAstroDev.ts","../../cli-astro-commands/src/components/DevCommand/utils/createAstroLogger.tsx","../../cli-astro-commands/src/components/DevCommand/DevCenterUpdater.tsx","../../cli-astro-commands/src/files/app.config.ts","../../cli-astro-commands/src/components/DevCommand/utils/isTunnelRequired.ts","../../cli-astro-commands/src/components/DevCommand/TunnelingConsent.tsx"],"sourcesContent":["export { DevCommand } from './DevCommand.js';\n","import React, { useEffect, useMemo, useRef, useState } from 'react';\nimport type { FC } from 'react';\nimport { SiteAuthProvider } from '@wix/cli-auth';\nimport { Spinner, Text, useAsync } from '@wix/cli-ui-kit';\nimport { createPackageManager, getRepoType } from '@wix/package-manager';\nimport { useProjectModel } from '../../model.js';\nimport { DevScreenBorder } from './DevScreenBorder.js';\nimport {\n runAstroDev,\n EVENT_LINE,\n EVENT_SERVER_ADDRESS,\n} from './utils/runAstroDev.js';\nimport { createAstroLogger } from './utils/createAstroLogger.js';\nimport { DevCenterUpdater } from './DevCenterUpdater.js';\n\ninterface DevCommandProps {\n port?: number;\n allowedHosts?: string;\n serverExposedUrl?: string;\n}\n\nexport const DevCommand: FC<DevCommandProps> = ({\n port,\n allowedHosts,\n serverExposedUrl,\n}) => {\n const [serverLocalUrl, setServerLocalUrl] = useState('');\n\n const {\n model: {\n config: { siteId },\n projectFolder,\n },\n } = useProjectModel();\n\n const logger = useMemo(() => createAstroLogger(false), []);\n\n const astroProcess = useRef<ReturnType<typeof runAstroDev>>();\n\n useAsync(async () => {\n const repoType = await getRepoType(projectFolder);\n const packageManager = await createPackageManager(repoType);\n\n const astro = runAstroDev({\n packageManager,\n projectFolder,\n port,\n allowedHosts,\n });\n\n astroProcess.current = astro;\n\n astro.stdout?.once(EVENT_SERVER_ADDRESS, (address: string) => {\n setServerLocalUrl(address);\n });\n\n astro.stdout?.on(EVENT_LINE, (line: string) => logger.log(line));\n astro.stderr?.on(EVENT_LINE, (line: string) => logger.log(line));\n }, []);\n\n useEffect(() => {\n return () => {\n if (astroProcess.current?.pid) {\n process.kill(-astroProcess.current.pid, 'SIGTERM');\n }\n };\n }, []);\n\n return (\n <SiteAuthProvider siteId={siteId}>\n {serverLocalUrl ? (\n <DevScreenBorder>\n <Text>Development environment ready</Text>\n <DevCenterUpdater\n serverLocalUrl={serverLocalUrl}\n serverExposedUrl={serverExposedUrl}\n />\n </DevScreenBorder>\n ) : (\n <Spinner text={'Starting dev environment...'} />\n )}\n </SiteAuthProvider>\n );\n};\n","import React from 'react';\nimport { Box } from '@wix/cli-ui-kit';\nimport type { FC, ReactNode } from 'react';\n\nexport const DevScreenBorder: FC<{ children: ReactNode }> = ({ children }) => {\n return (\n <Box\n flexDirection=\"column\"\n borderTop\n borderLeft={false}\n borderBottom={false}\n borderRight={false}\n borderStyle=\"round\"\n borderColor=\"blueBright\"\n width=\"95%\"\n >\n {children}\n </Box>\n );\n};\n","import { execa } from 'execa';\nimport type { IPackageManager } from '@wix/package-manager';\nimport stripAnsi from 'strip-ansi';\n\nexport const EVENT_LINE = 'line';\nexport const EVENT_SERVER_ADDRESS = 'server_address';\n\nexport function runAstroDev({\n packageManager,\n projectFolder,\n port,\n allowedHosts,\n}: {\n packageManager: IPackageManager;\n projectFolder: string;\n port?: number;\n allowedHosts?: string;\n}) {\n const binaryArgs = ['astro', 'dev'];\n\n if (port) {\n binaryArgs.push('--port', `${port}`);\n }\n\n if (allowedHosts) {\n binaryArgs.push('--allowed-hosts', allowedHosts);\n }\n\n const { file, args } = packageManager.getRunBinaryCmd(binaryArgs);\n\n const result = execa(file, args, {\n cwd: projectFolder,\n stdio: 'pipe',\n env: { FORCE_COLOR: '1' },\n cleanup: true,\n detached: true,\n });\n\n let stdoutBuffer = '';\n\n result.stdout?.on('data', (chunk) => {\n stdoutBuffer += chunk.toString();\n const lines = stdoutBuffer.split('\\n');\n\n stdoutBuffer = lines.pop() ?? '';\n for (const line of lines) {\n result.stdout?.emit(EVENT_LINE, line);\n if (line.includes('http://')) {\n const match = /(http:\\/\\/[^\\s]+)/.exec(line);\n if (match?.[1]) {\n const address = stripAnsi(match[1]).trim();\n result.stdout?.emit(EVENT_SERVER_ADDRESS, address);\n }\n }\n }\n });\n\n let stdErrBuffer = '';\n\n result.stderr?.on('data', (chunk) => {\n stdErrBuffer += chunk.toString();\n const lines = stdErrBuffer.split('\\n');\n\n stdErrBuffer = lines.pop() ?? '';\n for (const line of lines) {\n result.stderr?.emit(EVENT_LINE, line);\n }\n });\n\n return result;\n}\n","import React from 'react';\nimport type { ReactElement } from 'react';\nimport { createRendererToString, Text } from '@wix/cli-ui-kit';\n\ninterface Logger {\n log: (msg: string | ReactElement) => void;\n}\n\nconst dateTimeFormat = new Intl.DateTimeFormat([], {\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hour12: false,\n});\n\nexport function createAstroLogger(isPrefixed = true): Logger {\n const renderer = createRendererToString({ stripAnsi: false });\n const log = (msg: string | ReactElement) => {\n if (typeof msg === 'string') {\n // eslint-disable-next-line no-console\n setTimeout(() => console.log(msg), 0);\n } else {\n // eslint-disable-next-line no-console\n setTimeout(() => console.log(renderer.render(msg)), 0);\n }\n };\n\n const prefixedLog = (msg: string | ReactElement) => {\n const timestamp = dateTimeFormat.format(new Date());\n const log = (\n <Text>\n <Text>{timestamp} </Text>\n <Text skin=\"info\">[wix] </Text>\n <Text>{msg}</Text>\n </Text>\n );\n\n // eslint-disable-next-line no-console\n console.log(renderer.render(log));\n };\n\n return isPrefixed ? { log: prefixedLog } : { log };\n}\n","import { isDeepStrictEqual } from 'node:util';\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport type { FC } from 'react';\nimport { Box, Spinner, Text } from '@wix/cli-ui-kit';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { looseAppManifestSchema } from '@wix/cli-app-manifest';\nimport type { LooseAppManifest } from '@wix/cli-app-manifest';\nimport { useARMClient } from '@wix/arm-client';\nimport { useTunnel } from '@wix/cli-tunnel';\nimport { readUserConfig } from '@wix/cli-user-config';\nimport { isType, variant, fields } from 'variant';\nimport { useProjectModel } from '../../model.js';\nimport { createAstroLogger } from './utils/createAstroLogger.js';\nimport { PlatformLink } from '../PlatformLink/PlatformLink.js';\nimport { useUpdateManifest } from '../PreviewCommand/hooks/useUpdateManifest.js';\nimport { readAppConfig, saveAppConfig } from '../../files/app.config.js';\nimport { useUpdateDeploymentTopology } from '../../hooks/useUpdateDeploymentTopology.js';\nimport { isTunnelRequired } from './utils/isTunnelRequired.js';\nimport { TunnelingConsent } from './TunnelingConsent.js';\n\nconst DevCenterUpdateResult = variant({\n Changed: fields<{ armTagChanged: boolean }>(),\n Unchanged: {},\n});\n\nexport const DevCenterUpdater: FC<{\n serverLocalUrl: string;\n serverExposedUrl?: string;\n}> = ({ serverLocalUrl, serverExposedUrl }) => {\n const [devArmTag, setDevArmTag] = useState('');\n const [manifest, setManifest] = useState<LooseAppManifest | null>(null);\n\n const {\n model: {\n config: { siteId, appId },\n projectFolder,\n },\n } = useProjectModel();\n\n const logger = useMemo(() => createAstroLogger(), []);\n const http = useHttpClient({ type: 'standalone' });\n const { updateManifest } = useUpdateManifest();\n const arm = useARMClient();\n const updateDeploymentTopology = useUpdateDeploymentTopology();\n\n const openTunnel = useTunnel();\n const tunnelUrl = useRef<string>();\n const [tunnelRequired, setTunnelRequired] = useState(false);\n\n const updateDevCenter = useCallback(async () => {\n // TODO: read url from build manifest ?\n const url = new URL('/_wix/app-manifest.json', serverLocalUrl).href;\n const { data: responseFromDevServer } = await http.get(url);\n const latestManifest = looseAppManifestSchema.parse(responseFromDevServer);\n\n if (isDeepStrictEqual(manifest, latestManifest)) {\n return DevCenterUpdateResult.Unchanged();\n }\n\n if (\n !serverExposedUrl &&\n !tunnelUrl.current &&\n isTunnelRequired(latestManifest)\n ) {\n const config = await readUserConfig();\n if (!config.tunneling) {\n setTunnelRequired(true);\n return DevCenterUpdateResult.Unchanged();\n }\n\n const serverLocalPort = parseInt(new URL(serverLocalUrl).port, 10);\n const tunnel = await openTunnel(serverLocalPort);\n tunnelUrl.current = tunnel.url;\n }\n\n const baseUrl = serverExposedUrl ?? serverLocalUrl;\n const appConfig = await readAppConfig(projectFolder);\n\n let updatedDevArmTag = appConfig?.devArmTag;\n if (!updatedDevArmTag) {\n updatedDevArmTag = await arm.createLooseAppRelease(\n updateManifest(latestManifest, baseUrl, tunnelUrl.current),\n appId\n );\n } else {\n const updateState = await arm.updateLooseAppRelease(\n updateManifest(latestManifest, baseUrl, tunnelUrl.current),\n updatedDevArmTag\n );\n if (!isType(updateState, 'TagUpdated')) {\n updatedDevArmTag = await arm.createLooseAppRelease(\n updateManifest(latestManifest, baseUrl, tunnelUrl.current),\n appId\n );\n }\n }\n\n if (updatedDevArmTag !== appConfig?.devArmTag) {\n await saveAppConfig(projectFolder, { devArmTag: updatedDevArmTag });\n }\n\n setManifest(latestManifest);\n setDevArmTag(updatedDevArmTag);\n\n await updateDeploymentTopology.execute({\n serverUrl: baseUrl,\n armTag: updatedDevArmTag,\n environment: 'development',\n });\n\n const armTagChanged =\n !!appConfig?.devArmTag && updatedDevArmTag !== appConfig.devArmTag;\n return DevCenterUpdateResult.Changed({ armTagChanged });\n }, [\n http,\n updateManifest,\n serverLocalUrl,\n serverExposedUrl,\n arm,\n manifest,\n projectFolder,\n appId,\n updateDeploymentTopology,\n openTunnel,\n ]);\n\n const [timer, setTimer] = useState(Date.now());\n\n useEffect(() => {\n let disposed = false;\n\n void updateDevCenter()\n .then((result) => {\n if (isType(result, 'Changed')) {\n logger.log(\n 'App Manifest updated. Refresh existing browser tabs to view the latest changes.'\n );\n }\n })\n .catch((error: unknown) => {\n // TODO: need product decision on how to format/color the output\n logger.log('Failed to update App Manifest');\n logger.log(`${error}`);\n })\n .then(() => {\n if (!disposed) {\n setTimeout(() => setTimer(Date.now()), 1_000);\n }\n });\n return () => {\n disposed = true;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [timer]);\n\n return (\n <Box rowGap={1} marginY={1} flexDirection=\"column\">\n <TunnelingConsent required={tunnelRequired}>\n <Text>Open the preview on:</Text>\n <Box paddingLeft={2} flexDirection=\"column\">\n <PlatformLink url={serverLocalUrl} label={'Site'} />\n {devArmTag ? (\n <PlatformLink\n url={`https://manage.wix.com/dashboard/${siteId}?apps-override=${devArmTag}`}\n label={'Dashboard'}\n />\n ) : (\n <Spinner text={'Preparing your dashboard...'} />\n )}\n </Box>\n </TunnelingConsent>\n </Box>\n );\n};\n","import type { WriteDebugLogFn } from '@wix/cli-debug-log';\nimport { pathExists, readJson, writeJson } from '@wix/cli-fs';\nimport { getAppConfigPath, appConfigSchema } from '@wix/cli-app-definitions';\nimport type { AppConfig } from '@wix/cli-app-definitions';\n\nexport async function readAppConfig(\n projectFolder: string,\n writeDebugLog?: WriteDebugLogFn\n) {\n const configPath = getAppConfigPath(projectFolder);\n const isConfigExist = await pathExists(configPath);\n\n if (!isConfigExist) {\n return null;\n }\n\n try {\n const json = await readJson(configPath);\n const appConfig = await appConfigSchema.safeParseAsync(json);\n\n if (!appConfig.success) {\n return null;\n }\n\n return appConfig.data;\n } catch (e) {\n writeDebugLog?.(e);\n return null;\n }\n}\n\nexport async function saveAppConfig(projectFolder: string, config: AppConfig) {\n const currentConfig = (await readAppConfig(projectFolder)) ?? {};\n const newConfig = {\n ...currentConfig,\n ...config,\n };\n\n await writeJson(getAppConfigPath(projectFolder), newConfig);\n}\n","import { looseComponentSchema } from '@wix/cli-app-manifest';\nimport type {\n LooseAppManifest,\n LooseBaseComponent,\n} from '@wix/cli-app-manifest';\nimport { ComponentType } from '@wix/ambassador-devcenter-apps-v1-app-old/types';\n\nexport function isTunnelRequired(appManifest: LooseAppManifest) {\n for (const extension of appManifest.components) {\n const knownAppManifest = parseKnownExtensionManifest(extension);\n\n if (\n knownAppManifest != null &&\n knownAppManifest.compType === ComponentType.WEBHOOK\n ) {\n // User can specify his own callback URL.\n // In such cases tunnel is not required even if webhook exists.\n // CLI always creates a relative URL which is not parsable.\n return !URL.canParse(knownAppManifest.compData.webhook.callbackUrl);\n }\n }\n\n return false;\n}\n\nfunction parseKnownExtensionManifest(extensionManifest: LooseBaseComponent) {\n const appManifestResult = looseComponentSchema.safeParse(extensionManifest);\n\n if (appManifestResult.error) {\n return null;\n }\n\n return appManifestResult.data;\n}\n","import React, { useState } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport { match } from 'variant';\nimport { ConfirmInput, Text, useAsync, useExit } from '@wix/cli-ui-kit';\nimport { readUserConfig, updateUserConfig } from '@wix/cli-user-config';\n\ninterface Props {\n children: ReactNode;\n required: boolean;\n}\n\nexport const TunnelingConsent: FC<Props> = ({ required, children }) => {\n const exit = useExit();\n const [approved, setApproved] = useState<boolean>();\n\n const { status } = useAsync(async () => {\n const config = await readUserConfig();\n\n if (config.tunneling) {\n setApproved(true);\n }\n\n return config;\n }, []);\n\n if (!required || approved) {\n return children;\n }\n\n return (\n <>\n {match(status, {\n Success: () => (\n <ConfirmInput\n label={\n \"To proceed, we'll set up a secure tunnel from your machine for development purposes\"\n }\n initialValue={true}\n onSubmit={async (approved) => {\n setApproved(approved);\n await updateUserConfig({ tunneling: approved });\n if (!approved) {\n exit();\n }\n }}\n />\n ),\n Error: () => null,\n Loading: () => null,\n })}\n {approved === false && (\n <Text skin=\"error\">\n Operation aborted. Tunneling is necessary to run your application.\n </Text>\n )}\n </>\n );\n};\n"],"mappings":"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","names":["import_react","React","match","import_react","log","React","import_react","import_variant","import_react","React","approved","React","React"]}
|