@wix/cli 1.1.169 → 1.1.170

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/build/{ConnectWixVibeCommand-HPHN2ABB.js → ConnectWixVibeCommand-Q6HKX3QQ.js} +5 -5
  2. package/build/{chunk-A4TMXK2F.js → DevCommand-CPE5YZ3A.js} +1326 -1178
  3. package/build/DevCommand-CPE5YZ3A.js.map +1 -0
  4. package/build/{EnvPullCommand-B45GH674.js → EnvPullCommand-2CEYL4OE.js} +3 -3
  5. package/build/{EnvRemoveCommand-WAAFZXEM.js → EnvRemoveCommand-CISQNNQ6.js} +2 -2
  6. package/build/{EnvSetCommand-DGULE6YD.js → EnvSetCommand-ZJOIW426.js} +2 -2
  7. package/build/{GenerateCommand-JS7SZSLT.js → GenerateCommand-NXA6EG5K.js} +3 -3
  8. package/build/{LoginCommand-PP5WHQSE.js → LoginCommand-ZNGSWUC4.js} +2 -2
  9. package/build/{PreviewCommand-BBUW3L7G.js → PreviewCommand-2FAXJTIC.js} +4 -5
  10. package/build/{PromoteCommand-4NZE6NOD.js → PromoteCommand-OOBVTIQG.js} +5 -6
  11. package/build/PromoteCommand-OOBVTIQG.js.map +1 -0
  12. package/build/{ReleaseCommand-45W4CMHG.js → ReleaseCommand-VAO5I7ND.js} +29 -41
  13. package/build/ReleaseCommand-VAO5I7ND.js.map +1 -0
  14. package/build/{TranslationPullCommand-GVBRFVDY.js → TranslationPullCommand-I5R5CQX6.js} +3 -3
  15. package/build/{TranslationPushCommand-C2ZH4EYL.js → TranslationPushCommand-FF636U6C.js} +3 -3
  16. package/build/{chunk-QSWUV64A.js → chunk-GJR445ET.js} +2 -2
  17. package/build/{chunk-RHOCGIP7.js → chunk-GWIV2MUG.js} +2 -2
  18. package/build/{chunk-RHOCGIP7.js.map → chunk-GWIV2MUG.js.map} +1 -1
  19. package/build/{chunk-ESAVWXDC.js → chunk-HNBL2TIV.js} +1 -4
  20. package/build/chunk-HNBL2TIV.js.map +1 -0
  21. package/build/{chunk-G442ZP7D.js → chunk-KP4B6J6V.js} +2 -2
  22. package/build/{chunk-MBDDT26N.js → chunk-NKFKI5QG.js} +45 -51
  23. package/build/chunk-NKFKI5QG.js.map +1 -0
  24. package/build/{chunk-BDI4FLJH.js → chunk-OUSNXB4Y.js} +2 -2
  25. package/build/{chunk-CK4W2NGR.js → chunk-PEWZZDIF.js} +14 -3
  26. package/build/chunk-PEWZZDIF.js.map +1 -0
  27. package/build/chunk-Q2PALYEZ.js +810 -0
  28. package/build/chunk-Q2PALYEZ.js.map +1 -0
  29. package/build/{chunk-P4U4LOOZ.js → chunk-VFMUVMEB.js} +2 -2
  30. package/build/{chunk-KLGRQOMU.js → chunk-XPLEOWFP.js} +2 -2
  31. package/build/{chunk-4KQAGG4P.js → chunk-YZ4UFXM6.js} +2 -2
  32. package/build/{env-pull-PDCCV73E.js → env-pull-BZWGRQQO.js} +4 -4
  33. package/build/index.js +6 -6
  34. package/build/{preview-BUIC246I.js → preview-TLNTYO7B.js} +5 -6
  35. package/build/{preview-BUIC246I.js.map → preview-TLNTYO7B.js.map} +1 -1
  36. package/build/{render-command-X4K74KRL.js → render-command-KQ4IDPLN.js} +2 -2
  37. package/build/{render-command-MIPK6YG6.js → render-command-PV4UUGJI.js} +3 -3
  38. package/build/{src-454K4NAI.js → src-ZBR6LJQI.js} +27 -27
  39. package/build/{translation-pull-4XGXVQRG.js → translation-pull-UY4GMO2F.js} +4 -4
  40. package/build/{translation-push-TXHUNGP2.js → translation-push-YPS3CBGN.js} +4 -4
  41. package/package.json +2 -2
  42. package/templates/astro/service-plugin/staff-sorting-provider/files/plugin.ts.ejs +1 -1
  43. package/build/DevCommand-OMP45WN2.js +0 -946
  44. package/build/DevCommand-OMP45WN2.js.map +0 -1
  45. package/build/PromoteCommand-4NZE6NOD.js.map +0 -1
  46. package/build/ReleaseCommand-45W4CMHG.js.map +0 -1
  47. package/build/chunk-A4TMXK2F.js.map +0 -1
  48. package/build/chunk-CK4W2NGR.js.map +0 -1
  49. package/build/chunk-ESAVWXDC.js.map +0 -1
  50. package/build/chunk-MBDDT26N.js.map +0 -1
  51. /package/build/{ConnectWixVibeCommand-HPHN2ABB.js.map → ConnectWixVibeCommand-Q6HKX3QQ.js.map} +0 -0
  52. /package/build/{EnvPullCommand-B45GH674.js.map → EnvPullCommand-2CEYL4OE.js.map} +0 -0
  53. /package/build/{EnvRemoveCommand-WAAFZXEM.js.map → EnvRemoveCommand-CISQNNQ6.js.map} +0 -0
  54. /package/build/{EnvSetCommand-DGULE6YD.js.map → EnvSetCommand-ZJOIW426.js.map} +0 -0
  55. /package/build/{GenerateCommand-JS7SZSLT.js.map → GenerateCommand-NXA6EG5K.js.map} +0 -0
  56. /package/build/{LoginCommand-PP5WHQSE.js.map → LoginCommand-ZNGSWUC4.js.map} +0 -0
  57. /package/build/{PreviewCommand-BBUW3L7G.js.map → PreviewCommand-2FAXJTIC.js.map} +0 -0
  58. /package/build/{TranslationPullCommand-GVBRFVDY.js.map → TranslationPullCommand-I5R5CQX6.js.map} +0 -0
  59. /package/build/{TranslationPushCommand-C2ZH4EYL.js.map → TranslationPushCommand-FF636U6C.js.map} +0 -0
  60. /package/build/{chunk-QSWUV64A.js.map → chunk-GJR445ET.js.map} +0 -0
  61. /package/build/{chunk-G442ZP7D.js.map → chunk-KP4B6J6V.js.map} +0 -0
  62. /package/build/{chunk-BDI4FLJH.js.map → chunk-OUSNXB4Y.js.map} +0 -0
  63. /package/build/{chunk-P4U4LOOZ.js.map → chunk-VFMUVMEB.js.map} +0 -0
  64. /package/build/{chunk-KLGRQOMU.js.map → chunk-XPLEOWFP.js.map} +0 -0
  65. /package/build/{chunk-4KQAGG4P.js.map → chunk-YZ4UFXM6.js.map} +0 -0
  66. /package/build/{env-pull-PDCCV73E.js.map → env-pull-BZWGRQQO.js.map} +0 -0
  67. /package/build/{render-command-X4K74KRL.js.map → render-command-KQ4IDPLN.js.map} +0 -0
  68. /package/build/{render-command-MIPK6YG6.js.map → render-command-PV4UUGJI.js.map} +0 -0
  69. /package/build/{src-454K4NAI.js.map → src-ZBR6LJQI.js.map} +0 -0
  70. /package/build/{translation-pull-4XGXVQRG.js.map → translation-pull-UY4GMO2F.js.map} +0 -0
  71. /package/build/{translation-push-TXHUNGP2.js.map → translation-push-YPS3CBGN.js.map} +0 -0
@@ -1,946 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import {
4
- useTunnel
5
- } from "./chunk-R3BR7GCO.js";
6
- import {
7
- useMetasiteManagerClient,
8
- useWixCliAppBi
9
- } from "./chunk-ESAVWXDC.js";
10
- import {
11
- RedirectLink,
12
- SiteProvider,
13
- SiteSelector,
14
- createRedirectLink,
15
- readAppConfig,
16
- saveAppConfig,
17
- useARMClient,
18
- useSite,
19
- useUpdateDeploymentTopology
20
- } from "./chunk-A4TMXK2F.js";
21
- import {
22
- PlatformLink
23
- } from "./chunk-J6S3EQQP.js";
24
- import {
25
- OnboardingState,
26
- useVeloClient
27
- } from "./chunk-WK2TZLIJ.js";
28
- import "./chunk-DCYBYMTU.js";
29
- import "./chunk-MVBGFP6D.js";
30
- import "./chunk-KA7B5CAK.js";
31
- import "./chunk-X7A3443W.js";
32
- import "./chunk-4KQAGG4P.js";
33
- import {
34
- createPackageManager,
35
- getRepoType
36
- } from "./chunk-JDIZDTXS.js";
37
- import {
38
- execa
39
- } from "./chunk-2R5BII2J.js";
40
- import "./chunk-W54PG6O5.js";
41
- import "./chunk-YLWTNITT.js";
42
- import {
43
- ComponentType,
44
- devMetadataSchema,
45
- getDevLogPath,
46
- looseComponentSchema,
47
- parseLooseAppManifest,
48
- useProjectModel
49
- } from "./chunk-CK4W2NGR.js";
50
- import {
51
- useHttpClient
52
- } from "./chunk-4B4USTTE.js";
53
- import "./chunk-K7CPZ76V.js";
54
- import {
55
- ErrorViewer,
56
- SiteAuthProvider,
57
- useBiLogger,
58
- useDebugLog,
59
- useErrorReporter
60
- } from "./chunk-EC2JRUEW.js";
61
- import "./chunk-NDPNW3G7.js";
62
- import "./chunk-NDLMWKGS.js";
63
- import "./chunk-KJ37XZQA.js";
64
- import {
65
- Alert,
66
- Box_default,
67
- ConfirmInput,
68
- Key,
69
- PointerIcon,
70
- Spinner,
71
- Text,
72
- createRendererToString,
73
- useAsync,
74
- useAsyncCallback,
75
- useExit,
76
- use_input_default
77
- } from "./chunk-FIOP5PUA.js";
78
- import {
79
- require_react
80
- } from "./chunk-YAIN7HW3.js";
81
- import {
82
- stripAnsi
83
- } from "./chunk-SQ3KPTIH.js";
84
- import "./chunk-Z4MHKCET.js";
85
- import "./chunk-C4SUTB4O.js";
86
- import {
87
- readUserConfig,
88
- updateUserConfig
89
- } from "./chunk-5CKH3OMW.js";
90
- import "./chunk-Q5T35E2T.js";
91
- import {
92
- getTestOverrides
93
- } from "./chunk-SYNCBTVP.js";
94
- import {
95
- outputDir
96
- } from "./chunk-ZSN2UURP.js";
97
- import "./chunk-F43XHKVL.js";
98
- import {
99
- CliError,
100
- CliErrorCode,
101
- require_lib
102
- } from "./chunk-NOAYWPSU.js";
103
- import {
104
- __toESM,
105
- init_esm_shims
106
- } from "./chunk-4EFJZ3GQ.js";
107
-
108
- // ../cli-astro-commands/src/components/DevCommand/index.ts
109
- init_esm_shims();
110
-
111
- // ../cli-astro-commands/src/components/DevCommand/DevCommand.tsx
112
- init_esm_shims();
113
- var import_react15 = __toESM(require_react(), 1);
114
-
115
- // ../cli-astro-commands/src/components/DevCommand/utils/runAstroDev.ts
116
- init_esm_shims();
117
- var EVENT_LINE = "line";
118
- var EVENT_SERVER_ADDRESS = "server_address";
119
- function runAstroDev({
120
- packageManager,
121
- projectFolder,
122
- port,
123
- allowedHosts
124
- }) {
125
- const binaryArgs = ["astro", "dev"];
126
- if (port) {
127
- binaryArgs.push("--port", `${port}`);
128
- }
129
- if (allowedHosts) {
130
- binaryArgs.push("--allowed-hosts", allowedHosts);
131
- }
132
- const { file, args } = packageManager.getRunBinaryCmd(binaryArgs);
133
- const result = execa(file, args, {
134
- cwd: projectFolder,
135
- stdio: "pipe",
136
- env: { FORCE_COLOR: "1" },
137
- cleanup: true,
138
- windowsHide: false
139
- });
140
- let stdoutBuffer = "";
141
- result.stdout?.on("data", (chunk) => {
142
- stdoutBuffer += chunk.toString();
143
- const lines = stdoutBuffer.split("\n");
144
- stdoutBuffer = lines.pop() ?? "";
145
- for (const line of lines) {
146
- result.stdout?.emit(EVENT_LINE, line);
147
- if (line.includes("http://")) {
148
- const match6 = /(http:\/\/[^\s]+)/.exec(line);
149
- if (match6?.[1]) {
150
- const address = stripAnsi(match6[1]).trim();
151
- result.stdout?.emit(EVENT_SERVER_ADDRESS, address);
152
- }
153
- }
154
- }
155
- });
156
- let stdErrBuffer = "";
157
- result.stderr?.on("data", (chunk) => {
158
- stdErrBuffer += chunk.toString();
159
- const lines = stdErrBuffer.split("\n");
160
- stdErrBuffer = lines.pop() ?? "";
161
- for (const line of lines) {
162
- result.stderr?.emit(EVENT_LINE, line);
163
- }
164
- });
165
- return result;
166
- }
167
-
168
- // ../cli-astro-commands/src/components/DevCommand/utils/useAstroLogger.tsx
169
- init_esm_shims();
170
- var import_react2 = __toESM(require_react(), 1);
171
-
172
- // ../cli-astro-commands/src/components/DevCommand/utils/createAstroLogger.tsx
173
- init_esm_shims();
174
- var import_react = __toESM(require_react(), 1);
175
- var dateTimeFormat = new Intl.DateTimeFormat([], {
176
- hour: "2-digit",
177
- minute: "2-digit",
178
- second: "2-digit",
179
- hour12: false
180
- });
181
- function createAstroLogger(options) {
182
- const { isPrefixed, onLog } = options;
183
- const renderer = createRendererToString({ stripAnsi: false });
184
- const formatMessage = (prefixed, msg) => {
185
- return prefixed ? /* @__PURE__ */ import_react.default.createElement(Text, null, /* @__PURE__ */ import_react.default.createElement(Text, null, dateTimeFormat.format(/* @__PURE__ */ new Date()), " "), /* @__PURE__ */ import_react.default.createElement(Text, { skin: "info" }, "[wix] "), /* @__PURE__ */ import_react.default.createElement(Text, null, msg)) : msg;
186
- };
187
- const log = (msg) => {
188
- const formatedMessage = formatMessage(isPrefixed, msg);
189
- const stringToLog = typeof formatedMessage === "string" ? formatedMessage : renderer.render(formatedMessage);
190
- onLog?.(stringToLog);
191
- setTimeout(() => console.log(stringToLog), 0);
192
- };
193
- return { log };
194
- }
195
-
196
- // ../cli-astro-commands/src/components/DevCommand/utils/devLogStream.tsx
197
- init_esm_shims();
198
- import { EOL } from "node:os";
199
- import { createWriteStream } from "node:fs";
200
- import { PassThrough } from "node:stream";
201
- import { pipeline } from "node:stream/promises";
202
- import { dirname } from "node:path";
203
- var streamCache = /* @__PURE__ */ new Map();
204
- var createNoopStream = () => ({
205
- write: () => {
206
- },
207
- close: () => {
208
- },
209
- isClosed: () => true
210
- });
211
- var getDevLogStream = async (options) => {
212
- const { filePath } = options;
213
- const entry = streamCache.get(filePath);
214
- if (entry && !entry.stream.isClosed()) {
215
- entry.refCount++;
216
- return {
217
- write: (msg) => entry.stream.write(msg),
218
- release: () => {
219
- entry.refCount--;
220
- if (entry.refCount === 0) {
221
- entry.stream.close();
222
- streamCache.delete(filePath);
223
- }
224
- }
225
- };
226
- }
227
- let stream;
228
- try {
229
- stream = await createDevLogStream(options);
230
- } catch {
231
- stream = createNoopStream();
232
- }
233
- const newEntry = { stream, refCount: 1 };
234
- streamCache.set(filePath, newEntry);
235
- return {
236
- write: (msg) => newEntry.stream.write(msg),
237
- release: () => {
238
- newEntry.refCount--;
239
- if (newEntry.refCount === 0) {
240
- newEntry.stream.close();
241
- streamCache.delete(filePath);
242
- }
243
- }
244
- };
245
- };
246
- var createDevLogStream = async ({ filePath }) => {
247
- await outputDir(dirname(filePath));
248
- const source = new PassThrough();
249
- const fileStream = createWriteStream(filePath, { flags: "w" });
250
- let closed = false;
251
- const isClosed = () => closed;
252
- pipeline(source, fileStream).catch(() => {
253
- if (!closed) {
254
- closed = true;
255
- }
256
- });
257
- const write = (msg) => {
258
- if (closed) {
259
- return;
260
- }
261
- source.write(stripAnsi(msg).concat(EOL));
262
- };
263
- const close = () => {
264
- if (closed) {
265
- return;
266
- }
267
- closed = true;
268
- source.end();
269
- };
270
- return {
271
- write,
272
- close,
273
- isClosed
274
- };
275
- };
276
-
277
- // ../cli-astro-commands/src/components/DevCommand/utils/useAstroLogger.tsx
278
- var useAstroLogger = ({
279
- isPrefixed = true
280
- } = {}) => {
281
- const {
282
- model: { projectFolder }
283
- } = useProjectModel();
284
- const streamRef = (0, import_react2.useRef)();
285
- const logger = (0, import_react2.useMemo)(
286
- () => createAstroLogger({
287
- isPrefixed,
288
- onLog: (msg) => {
289
- streamRef.current?.write(msg);
290
- }
291
- }),
292
- [isPrefixed]
293
- );
294
- (0, import_react2.useEffect)(() => {
295
- let shouldCleanStream = false;
296
- void getDevLogStream({
297
- filePath: getDevLogPath(projectFolder)
298
- }).then((devLogStream) => {
299
- if (shouldCleanStream) {
300
- devLogStream.release();
301
- return;
302
- }
303
- streamRef.current = devLogStream;
304
- });
305
- return () => {
306
- shouldCleanStream = true;
307
- streamRef.current?.release();
308
- };
309
- }, [projectFolder]);
310
- return logger;
311
- };
312
-
313
- // ../cli-astro-commands/src/components/DevCommand/hooks/useFetchDevMetadata.ts
314
- init_esm_shims();
315
- function useFetchDevMetadata() {
316
- const http = useHttpClient({ type: "standalone" });
317
- return useAsyncCallback(async (_, serverLocalUrl) => {
318
- const url = new URL("/_wix/dev-metadata.json", serverLocalUrl);
319
- try {
320
- const { data } = await http.get(url.toString());
321
- return {
322
- devMetadata: devMetadataSchema.parse(data),
323
- serverLocalUrl
324
- };
325
- } catch {
326
- return {
327
- devMetadata: null,
328
- serverLocalUrl
329
- };
330
- }
331
- });
332
- }
333
-
334
- // ../cli-astro-commands/src/components/DevCommand/SiteDevFlow.tsx
335
- init_esm_shims();
336
- var import_react8 = __toESM(require_react(), 1);
337
- var import_variant5 = __toESM(require_lib(), 1);
338
-
339
- // ../cli-astro-commands/src/components/DevCommand/DevScreenBorder.tsx
340
- init_esm_shims();
341
- var import_react3 = __toESM(require_react(), 1);
342
- var DevScreenBorder = ({ children }) => {
343
- return /* @__PURE__ */ import_react3.default.createElement(
344
- Box_default,
345
- {
346
- flexDirection: "column",
347
- borderTop: true,
348
- borderLeft: false,
349
- borderBottom: false,
350
- borderRight: false,
351
- borderStyle: "round",
352
- borderColor: "blueBright",
353
- width: "95%"
354
- },
355
- children
356
- );
357
- };
358
-
359
- // ../cli-astro-commands/src/components/DevCommand/SiteDev.tsx
360
- init_esm_shims();
361
- var import_react7 = __toESM(require_react(), 1);
362
- var import_variant4 = __toESM(require_lib(), 1);
363
-
364
- // ../cli-astro-commands/src/components/DevCommand/hooks/useDevCenterUpdater.ts
365
- init_esm_shims();
366
- var import_react5 = __toESM(require_react(), 1);
367
- var import_variant2 = __toESM(require_lib(), 1);
368
-
369
- // ../cli-astro-commands/src/components/DevCommand/hooks/useFetchAppManifest.ts
370
- init_esm_shims();
371
- var import_react4 = __toESM(require_react(), 1);
372
-
373
- // ../cli-astro-commands/src/components/DevCommand/utils/isTunnelRequired.ts
374
- init_esm_shims();
375
- function isTunnelRequired(appManifest) {
376
- for (const extension of appManifest.components) {
377
- const knownAppManifest = parseKnownExtensionManifest(extension);
378
- if (knownAppManifest != null && knownAppManifest.compType === ComponentType.WEBHOOK) {
379
- return !URL.canParse(knownAppManifest.compData.webhook.callbackUrl);
380
- }
381
- }
382
- return false;
383
- }
384
- function parseKnownExtensionManifest(extensionManifest) {
385
- const appManifestResult = looseComponentSchema.safeParse(extensionManifest);
386
- if (appManifestResult.error) {
387
- return null;
388
- }
389
- return appManifestResult.data;
390
- }
391
-
392
- // ../cli-astro-commands/src/components/DevCommand/hooks/useFetchAppManifest.ts
393
- function useFetchAppManifest() {
394
- const http = useHttpClient({ type: "standalone" });
395
- return (0, import_react4.useCallback)(
396
- async (serverLocalUrl, devMetadata, baseUrl, tunnelUrl) => {
397
- const url = new URL("/_wix/app-manifest.json", serverLocalUrl);
398
- const { data: text } = await http.get(url.toString(), {
399
- responseType: "text",
400
- transitional: {
401
- silentJSONParsing: true,
402
- forcedJSONParsing: false,
403
- clarifyTimeoutError: false
404
- },
405
- disableWixHeaders: true
406
- });
407
- if (devMetadata != null) {
408
- const placeholders = /* @__PURE__ */ new Map();
409
- placeholders.set(devMetadata.staticsUrlPlaceholder, baseUrl);
410
- placeholders.set(devMetadata.serverUrlPlaceholder, tunnelUrl);
411
- return {
412
- manifest: parseLooseAppManifest(text, placeholders),
413
- isTunnelRequired: text.includes(devMetadata.serverUrlPlaceholder)
414
- };
415
- }
416
- const manifestV1 = parseLooseAppManifest(text);
417
- return {
418
- manifest: manifestV1,
419
- isTunnelRequired: isTunnelRequired(manifestV1)
420
- };
421
- },
422
- [http]
423
- );
424
- }
425
-
426
- // ../cli-astro-commands/src/components/DevCommand/hooks/checkManifestForChanges.ts
427
- init_esm_shims();
428
- var import_variant = __toESM(require_lib(), 1);
429
- import { isDeepStrictEqual } from "node:util";
430
- var ManifestUpdateResult = (0, import_variant.variant)({
431
- Changed: (0, import_variant.fields)(),
432
- Unchanged: {}
433
- });
434
- function checkManifestForChanges(previous, latest) {
435
- if (previous == null) {
436
- return ManifestUpdateResult.Changed({
437
- shouldDistributeClientUpdate: false
438
- });
439
- }
440
- if (isDeepStrictEqual(previous, latest)) {
441
- return ManifestUpdateResult.Unchanged();
442
- }
443
- const oldComponentsMap = new Map(
444
- previous.components.map((comp) => [comp.compId, comp])
445
- );
446
- const changedComponents = latest.components.filter((newComp) => {
447
- const oldComp = oldComponentsMap.get(newComp.compId);
448
- return !isDeepStrictEqual(newComp, oldComp);
449
- });
450
- const editorComponentsChanged = changedComponents.filter(
451
- (comp) => comp.compType === ComponentType.PANEL || comp.compType === ComponentType.EDITOR_REACT_COMPONENT
452
- );
453
- return ManifestUpdateResult.Changed({
454
- shouldDistributeClientUpdate: editorComponentsChanged.length > 0
455
- });
456
- }
457
-
458
- // ../cli-astro-commands/src/components/DevCommand/hooks/useDevCenterUpdater.ts
459
- var { pollInterval } = getTestOverrides();
460
- var useDevCenterUpdater = ({
461
- serverLocalUrl,
462
- serverExposedUrl,
463
- devMetadata
464
- }) => {
465
- const [devArmTag, setDevArmTag] = (0, import_react5.useState)();
466
- const [manifest, setManifest] = (0, import_react5.useState)(null);
467
- const writeToDebugLog = useDebugLog();
468
- const { siteId } = useSite();
469
- const exit = useExit();
470
- const metasiteManagerClient = useMetasiteManagerClient({ siteId });
471
- const {
472
- model: { config, projectFolder, releaseAppId }
473
- } = useProjectModel();
474
- const { appId, projectType } = config;
475
- const logger = useAstroLogger({ isPrefixed: true });
476
- const arm = useARMClient();
477
- const updateDeploymentTopology = useUpdateDeploymentTopology(siteId);
478
- const openTunnel = useTunnel();
479
- const tunnelUrl = (0, import_react5.useRef)();
480
- const [tunnelRequired, setTunnelRequired] = (0, import_react5.useState)(false);
481
- const fetchAppManifest = useFetchAppManifest();
482
- const updateDevCenter = (0, import_react5.useCallback)(
483
- async (latestManifest, isTunnelRequired2) => {
484
- const baseUrl = serverExposedUrl ?? serverLocalUrl;
485
- const manifestUpdateResult = checkManifestForChanges(
486
- manifest,
487
- latestManifest
488
- );
489
- if ((0, import_variant2.isType)(manifestUpdateResult, "Unchanged")) {
490
- return manifestUpdateResult;
491
- }
492
- if (!serverExposedUrl && !tunnelUrl.current && isTunnelRequired2) {
493
- const config2 = await readUserConfig();
494
- if (!config2.tunneling) {
495
- setTunnelRequired(true);
496
- return ManifestUpdateResult.Unchanged();
497
- }
498
- const serverLocalPort = parseInt(new URL(serverLocalUrl).port, 10);
499
- const tunnel = await openTunnel(serverLocalPort);
500
- tunnelUrl.current = tunnel.url;
501
- return ManifestUpdateResult.Unchanged();
502
- }
503
- const appConfig = await readAppConfig(projectFolder);
504
- let updatedDevArmTag = appConfig?.devArmTag;
505
- if (!updatedDevArmTag) {
506
- updatedDevArmTag = await arm.createLooseAppRelease(
507
- latestManifest,
508
- releaseAppId
509
- );
510
- } else {
511
- const updateState = await arm.updateLooseAppRelease(
512
- latestManifest,
513
- updatedDevArmTag
514
- );
515
- if (!(0, import_variant2.isType)(updateState, "TagUpdated")) {
516
- updatedDevArmTag = await arm.createLooseAppRelease(
517
- latestManifest,
518
- releaseAppId
519
- );
520
- }
521
- }
522
- if (updatedDevArmTag !== appConfig?.devArmTag) {
523
- await saveAppConfig(projectFolder, { devArmTag: updatedDevArmTag });
524
- }
525
- if ((0, import_variant2.isType)(manifestUpdateResult, "Changed") && manifestUpdateResult.shouldDistributeClientUpdate) {
526
- await metasiteManagerClient.distributeClientUpdate(appId);
527
- }
528
- setManifest(latestManifest);
529
- setDevArmTag(updatedDevArmTag);
530
- await updateDeploymentTopology.execute({
531
- siteUrl: projectType === "Site" ? baseUrl : createRedirectLink({
532
- platform: "site",
533
- appId,
534
- tenantId: siteId,
535
- versionOverrideId: updatedDevArmTag
536
- }),
537
- armTag: updatedDevArmTag,
538
- environment: "development"
539
- });
540
- return manifestUpdateResult;
541
- },
542
- [
543
- releaseAppId,
544
- siteId,
545
- manifest,
546
- metasiteManagerClient,
547
- serverLocalUrl,
548
- serverExposedUrl,
549
- arm,
550
- projectFolder,
551
- appId,
552
- updateDeploymentTopology,
553
- openTunnel,
554
- projectType
555
- ]
556
- );
557
- const [timer, setTimer] = (0, import_react5.useState)(Date.now());
558
- (0, import_react5.useEffect)(() => {
559
- let disposed = false;
560
- async function fetchAndUpdate() {
561
- const baseUrl = serverExposedUrl ?? serverLocalUrl;
562
- const { manifest: manifest2, isTunnelRequired: isTunnelRequired2 } = await fetchAppManifest(
563
- serverLocalUrl,
564
- devMetadata,
565
- baseUrl,
566
- tunnelUrl.current ?? baseUrl
567
- );
568
- try {
569
- const result = await updateDevCenter(manifest2, isTunnelRequired2);
570
- if ((0, import_variant2.isType)(result, "Changed")) {
571
- logger.log(
572
- "App Manifest updated. Refresh existing browser tabs to view the latest changes."
573
- );
574
- }
575
- } catch (error) {
576
- setManifest(manifest2);
577
- logger.log("Failed to update App Manifest");
578
- logger.log(`${error}`);
579
- writeToDebugLog(error);
580
- throw error;
581
- }
582
- }
583
- void fetchAndUpdate().catch((error) => {
584
- if (error instanceof Error && error.name === "TrustedAppIsNotMarkedAsInternal") {
585
- exit(error);
586
- }
587
- }).finally(() => {
588
- if (!disposed) {
589
- setTimeout(() => setTimer(Date.now()), pollInterval ?? 1e3);
590
- }
591
- });
592
- return () => {
593
- disposed = true;
594
- };
595
- }, [timer]);
596
- return { tunnelRequired, devArmTag };
597
- };
598
-
599
- // ../cli-astro-commands/src/components/DevCommand/TunnelingConsent.tsx
600
- init_esm_shims();
601
- var import_react6 = __toESM(require_react(), 1);
602
- var import_variant3 = __toESM(require_lib(), 1);
603
- var TunnelingConsent = ({ required, children }) => {
604
- const exit = useExit();
605
- const [approved, setApproved] = (0, import_react6.useState)();
606
- const { status } = useAsync(async () => {
607
- const config = await readUserConfig();
608
- if (config.tunneling) {
609
- setApproved(true);
610
- }
611
- return config;
612
- }, []);
613
- if (!required || approved) {
614
- return children;
615
- }
616
- return /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, null, (0, import_variant3.match)(status, {
617
- Success: () => /* @__PURE__ */ import_react6.default.createElement(
618
- ConfirmInput,
619
- {
620
- label: "To proceed, we'll set up a secure tunnel from your machine for development purposes",
621
- initialValue: true,
622
- onSubmit: async (approved2) => {
623
- setApproved(approved2);
624
- await updateUserConfig({ tunneling: approved2 });
625
- if (!approved2) {
626
- exit();
627
- }
628
- }
629
- }
630
- ),
631
- Error: () => null,
632
- Loading: () => null
633
- }), approved === false && /* @__PURE__ */ import_react6.default.createElement(Text, { skin: "error" }, "Operation aborted. Tunneling is necessary to run your application."));
634
- };
635
-
636
- // ../cli-astro-commands/src/components/DevCommand/SiteDev.tsx
637
- var SiteDev = ({
638
- serverLocalUrl,
639
- serverExposedUrl,
640
- devMetadata
641
- }) => {
642
- const { siteId } = useSite();
643
- const {
644
- model: {
645
- config: { appId }
646
- }
647
- } = useProjectModel();
648
- const { tunnelRequired, devArmTag } = useDevCenterUpdater({
649
- serverLocalUrl,
650
- serverExposedUrl,
651
- devMetadata
652
- });
653
- const veloClient = useVeloClient();
654
- const { status: gitHubOnboardingStatus } = useAsync(
655
- () => veloClient.getGitHubOnboardingStatus(appId),
656
- [appId]
657
- );
658
- return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement(Text, null, "Development environment ready"), /* @__PURE__ */ import_react7.default.createElement(Box_default, { rowGap: 1, marginY: 1, flexDirection: "column" }, /* @__PURE__ */ import_react7.default.createElement(TunnelingConsent, { required: tunnelRequired }, /* @__PURE__ */ import_react7.default.createElement(Text, null, "Open the preview on:"), /* @__PURE__ */ import_react7.default.createElement(Box_default, { paddingLeft: 2, flexDirection: "column" }, /* @__PURE__ */ import_react7.default.createElement(PlatformLink, { url: serverLocalUrl, label: "Site" }), devArmTag ? /* @__PURE__ */ import_react7.default.createElement(
659
- PlatformLink,
660
- {
661
- url: `https://manage.wix.com/dashboard/${siteId}?apps-override=${devArmTag}`,
662
- label: "Dashboard"
663
- }
664
- ) : /* @__PURE__ */ import_react7.default.createElement(Spinner, { text: "Preparing your dashboard..." }), (0, import_variant4.match)(gitHubOnboardingStatus, {
665
- Success: ({ result }) => result?.status === OnboardingState.GITHUB_ENABLED && /* @__PURE__ */ import_react7.default.createElement(
666
- PlatformLink,
667
- {
668
- url: `https://vibe.wix.com/projects/${siteId}`,
669
- label: "Editor"
670
- }
671
- ),
672
- Error: () => null,
673
- Loading: () => null
674
- })))));
675
- };
676
-
677
- // ../cli-astro-commands/src/components/DevCommand/SiteDevFlow.tsx
678
- var SiteDevFlow = ({
679
- devMetadataStatus,
680
- serverExposedUrl
681
- }) => {
682
- const { siteId } = useSite();
683
- return /* @__PURE__ */ import_react8.default.createElement(SiteAuthProvider, { siteId }, (0, import_variant5.match)(devMetadataStatus, {
684
- NotRequested: () => /* @__PURE__ */ import_react8.default.createElement(Spinner, { text: "Starting dev environment..." }),
685
- Error: () => null,
686
- Loading: () => /* @__PURE__ */ import_react8.default.createElement(Spinner, { text: "Checking dev environment settings..." }),
687
- Success: ({ result: { devMetadata, serverLocalUrl } }) => /* @__PURE__ */ import_react8.default.createElement(DevScreenBorder, null, /* @__PURE__ */ import_react8.default.createElement(
688
- SiteDev,
689
- {
690
- devMetadata,
691
- serverLocalUrl,
692
- serverExposedUrl
693
- }
694
- ))
695
- }));
696
- };
697
-
698
- // ../cli-astro-commands/src/components/DevCommand/AppDevFlow.tsx
699
- init_esm_shims();
700
- var import_react14 = __toESM(require_react(), 1);
701
- var import_variant8 = __toESM(require_lib(), 1);
702
-
703
- // ../cli-astro-commands/src/components/DevCommand/app-flow/AppDev.tsx
704
- init_esm_shims();
705
- var import_react13 = __toESM(require_react(), 1);
706
- var import_variant7 = __toESM(require_lib(), 1);
707
-
708
- // ../cli-astro-commands/src/components/DevCommand/app-flow/screen-state.ts
709
- init_esm_shims();
710
- var import_variant6 = __toESM(require_lib(), 1);
711
- var ScreenState = (0, import_variant6.variant)({
712
- Home: {},
713
- SiteSelector: {}
714
- });
715
-
716
- // ../cli-astro-commands/src/components/DevCommand/app-flow/SiteSelectorScreen.tsx
717
- init_esm_shims();
718
- var import_react10 = __toESM(require_react(), 1);
719
-
720
- // ../cli-astro-commands/src/components/CloseScreen/index.tsx
721
- init_esm_shims();
722
-
723
- // ../cli-astro-commands/src/components/CloseScreen/CloseScreen.tsx
724
- init_esm_shims();
725
- var import_react9 = __toESM(require_react(), 1);
726
- var CloseScreen = ({ onClose }) => {
727
- const bi = useWixCliAppBi();
728
- use_input_default((_, key) => {
729
- if (key.escape) {
730
- bi.cliAction({
731
- question: "Press to close",
732
- questionKey: "general.close_screen",
733
- action: "close",
734
- key: "esc"
735
- });
736
- onClose();
737
- }
738
- });
739
- return /* @__PURE__ */ import_react9.default.createElement(Text, { skin: "secondary" }, "Press", /* @__PURE__ */ import_react9.default.createElement(Key, { value: "esc", skin: "secondary" }), "to close");
740
- };
741
-
742
- // ../cli-astro-commands/src/components/DevCommand/app-flow/SiteSelectorScreen.tsx
743
- var SiteSelectorScreen = ({ onScreenChange }) => {
744
- const { model } = useProjectModel();
745
- const biLogger = useBiLogger();
746
- const { siteId, setSite } = useSite();
747
- const { reportError } = useErrorReporter();
748
- const [error, setError] = (0, import_react10.useState)(null);
749
- const handleError = (0, import_react10.useCallback)(
750
- (error2) => {
751
- reportError(error2);
752
- setError(error2);
753
- },
754
- [reportError, setError]
755
- );
756
- const handleSubmit = (0, import_react10.useCallback)(
757
- async (site) => {
758
- try {
759
- await setSite(site.id);
760
- onScreenChange(ScreenState.Home());
761
- } catch (e) {
762
- handleError(e);
763
- }
764
- },
765
- [setSite, onScreenChange, handleError]
766
- );
767
- return /* @__PURE__ */ import_react10.default.createElement(Box_default, { flexDirection: "column", gap: 1 }, /* @__PURE__ */ import_react10.default.createElement(Box_default, { gap: 1 }, /* @__PURE__ */ import_react10.default.createElement(PointerIcon, null), /* @__PURE__ */ import_react10.default.createElement(Text, null, "Current Development Site: ", siteId)), /* @__PURE__ */ import_react10.default.createElement(Box_default, { flexDirection: "column" }, /* @__PURE__ */ import_react10.default.createElement(
768
- SiteSelector,
769
- {
770
- appId: model.config.appId,
771
- biLogger,
772
- onSubmit: handleSubmit,
773
- onError: handleError
774
- }
775
- ), error ? /* @__PURE__ */ import_react10.default.createElement(
776
- ErrorViewer,
777
- {
778
- error,
779
- systemErrorOverride: /* @__PURE__ */ import_react10.default.createElement(Alert, { type: "error" }, "Failed to change Development Site!")
780
- }
781
- ) : null), /* @__PURE__ */ import_react10.default.createElement(CloseScreen, { onClose: () => onScreenChange(ScreenState.Home()) }));
782
- };
783
-
784
- // ../cli-astro-commands/src/components/DevCommand/app-flow/HomeScreen.tsx
785
- init_esm_shims();
786
- var import_react12 = __toESM(require_react(), 1);
787
- import process from "node:process";
788
-
789
- // ../cli-astro-commands/src/components/DevCommand/app-flow/SwitchSite.tsx
790
- init_esm_shims();
791
- var import_react11 = __toESM(require_react(), 1);
792
- var SwitchSite = ({ onScreenChange }) => {
793
- const bi = useWixCliAppBi();
794
- use_input_default(async (input) => {
795
- if (input === "c") {
796
- bi.cliAction({
797
- question: "Switch Dev Site",
798
- questionKey: "dev_command.dev_site.change",
799
- action: "change_site",
800
- key: input
801
- });
802
- onScreenChange(ScreenState.SiteSelector());
803
- }
804
- });
805
- return /* @__PURE__ */ import_react11.default.createElement(Text, { skin: "secondary" }, "(Press ", /* @__PURE__ */ import_react11.default.createElement(Key, { value: "C", skin: "secondary" }), " to switch)");
806
- };
807
-
808
- // ../cli-astro-commands/src/components/DevCommand/app-flow/HomeScreen.tsx
809
- var HomeScreen = ({
810
- onScreenChange,
811
- devArmTag
812
- }) => {
813
- const { siteId } = useSite();
814
- return /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null, /* @__PURE__ */ import_react12.default.createElement(Box_default, { gap: 1 }, /* @__PURE__ */ import_react12.default.createElement(Text, null, "Current Dev Site:"), /* @__PURE__ */ import_react12.default.createElement(Text, { bold: true, skin: "info" }, siteId), process.stdin.isTTY && /* @__PURE__ */ import_react12.default.createElement(SwitchSite, { onScreenChange })), /* @__PURE__ */ import_react12.default.createElement(Box_default, { paddingTop: 1, paddingBottom: 1, flexDirection: "column" }, /* @__PURE__ */ import_react12.default.createElement(Text, null, "Open the preview on:"), /* @__PURE__ */ import_react12.default.createElement(Box_default, { paddingLeft: 2, flexDirection: "column" }, devArmTag ? /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null, /* @__PURE__ */ import_react12.default.createElement(
815
- RedirectLink,
816
- {
817
- platform: "site",
818
- armTag: devArmTag,
819
- tenantId: siteId
820
- }
821
- ), /* @__PURE__ */ import_react12.default.createElement(
822
- RedirectLink,
823
- {
824
- platform: "editor",
825
- armTag: devArmTag,
826
- tenantId: siteId
827
- }
828
- ), /* @__PURE__ */ import_react12.default.createElement(
829
- RedirectLink,
830
- {
831
- platform: "dashboard",
832
- armTag: devArmTag,
833
- tenantId: siteId
834
- }
835
- )) : /* @__PURE__ */ import_react12.default.createElement(Spinner, { text: "Preparing your dashboard..." }))));
836
- };
837
-
838
- // ../cli-astro-commands/src/components/DevCommand/app-flow/AppDev.tsx
839
- var AppDev = ({
840
- serverLocalUrl,
841
- serverExposedUrl,
842
- devMetadata
843
- }) => {
844
- const [screen, setScreen] = (0, import_react13.useState)(ScreenState.Home());
845
- const { tunnelRequired, devArmTag } = useDevCenterUpdater({
846
- serverLocalUrl,
847
- serverExposedUrl,
848
- devMetadata
849
- });
850
- return /* @__PURE__ */ import_react13.default.createElement(TunnelingConsent, { required: tunnelRequired }, (0, import_variant7.match)(screen, {
851
- Home: () => /* @__PURE__ */ import_react13.default.createElement(HomeScreen, { onScreenChange: setScreen, devArmTag }),
852
- SiteSelector: () => /* @__PURE__ */ import_react13.default.createElement(SiteSelectorScreen, { onScreenChange: setScreen })
853
- }));
854
- };
855
-
856
- // ../cli-astro-commands/src/components/DevCommand/AppDevFlow.tsx
857
- var AppDevFlow = ({
858
- devMetadataStatus,
859
- serverExposedUrl
860
- }) => {
861
- return (0, import_variant8.match)(devMetadataStatus, {
862
- NotRequested: () => /* @__PURE__ */ import_react14.default.createElement(Spinner, { text: "Starting dev environment..." }),
863
- Error: () => null,
864
- Loading: () => /* @__PURE__ */ import_react14.default.createElement(Spinner, { text: "Checking dev environment settings..." }),
865
- Success: ({ result: { devMetadata, serverLocalUrl } }) => {
866
- return /* @__PURE__ */ import_react14.default.createElement(DevScreenBorder, null, /* @__PURE__ */ import_react14.default.createElement(
867
- AppDev,
868
- {
869
- serverLocalUrl,
870
- serverExposedUrl,
871
- devMetadata
872
- }
873
- ));
874
- }
875
- });
876
- };
877
-
878
- // ../cli-astro-commands/src/components/DevCommand/DevCommand.tsx
879
- var DevCommand = ({
880
- port,
881
- allowedHosts,
882
- serverExposedUrl
883
- }) => {
884
- const {
885
- model: { config, projectFolder }
886
- } = useProjectModel();
887
- const exit = useExit();
888
- const logger = useAstroLogger({ isPrefixed: false });
889
- const astroProcess = (0, import_react15.useRef)();
890
- const fetchDevMetadataAction = useFetchDevMetadata();
891
- useAsync(async () => {
892
- const repoType = await getRepoType(projectFolder);
893
- const packageManager = await createPackageManager(repoType);
894
- const astro = runAstroDev({
895
- packageManager,
896
- projectFolder,
897
- port,
898
- allowedHosts
899
- });
900
- astroProcess.current = astro;
901
- astro.stdout?.once(EVENT_SERVER_ADDRESS, (address) => {
902
- void fetchDevMetadataAction.execute(address);
903
- });
904
- astro.stdout?.on(EVENT_LINE, (line) => logger.log(line));
905
- astro.stderr?.on(EVENT_LINE, (line) => logger.log(line));
906
- void astro.on("exit", () => {
907
- astroProcess.current?.stdout?.destroy();
908
- astroProcess.current?.stderr?.destroy();
909
- astroProcess.current?.stdin?.end();
910
- astroProcess.current = void 0;
911
- exit(
912
- new CliError({
913
- cause: void 0,
914
- code: CliErrorCode.DevCommandFailed()
915
- })
916
- );
917
- });
918
- }, []);
919
- (0, import_react15.useEffect)(() => {
920
- return () => {
921
- if (astroProcess.current?.pid) {
922
- try {
923
- astroProcess.current.kill("SIGTERM");
924
- } catch {
925
- }
926
- }
927
- };
928
- }, []);
929
- return /* @__PURE__ */ import_react15.default.createElement(SiteProvider, null, config.projectType === "Site" ? /* @__PURE__ */ import_react15.default.createElement(
930
- SiteDevFlow,
931
- {
932
- devMetadataStatus: fetchDevMetadataAction.status,
933
- serverExposedUrl
934
- }
935
- ) : /* @__PURE__ */ import_react15.default.createElement(
936
- AppDevFlow,
937
- {
938
- devMetadataStatus: fetchDevMetadataAction.status,
939
- serverExposedUrl
940
- }
941
- ));
942
- };
943
- export {
944
- DevCommand
945
- };
946
- //# sourceMappingURL=DevCommand-OMP45WN2.js.map