@wix/cli-app 1.1.60 → 1.1.62

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 (102) hide show
  1. package/build/{CreateVersionCommand-Z6F5IKH5.js → CreateVersionCommand-IEF6U34E.js} +15 -15
  2. package/build/{DevCommand-YFEZ4QV5.js → DevCommand-SOODXUEP.js} +438 -299
  3. package/build/DevCommand-SOODXUEP.js.map +1 -0
  4. package/build/{GenerateCommand-KCV4YDNN.js → GenerateCommand-ARNW73TM.js} +108 -43
  5. package/build/{GenerateCommand-KCV4YDNN.js.map → GenerateCommand-ARNW73TM.js.map} +1 -1
  6. package/build/{LogsCommand-VBMGVYNU.js → LogsCommand-7TW36YZX.js} +5 -5
  7. package/build/PreviewCommand-ZZKRP2GF.js +23 -0
  8. package/build/{ReleaseCommand-5F3FPBXT.js → ReleaseCommand-SB2WWSVP.js} +15 -15
  9. package/build/{ServeCommand-G4FF4PT3.js → ServeCommand-GZKF6AN3.js} +14 -14
  10. package/build/{build-XZI3USNB.js → build-LHCSCFBM.js} +38 -9
  11. package/build/build-LHCSCFBM.js.map +1 -0
  12. package/build/{chunk-QVGYU6D4.js → chunk-2DRVDGHR.js} +5 -5
  13. package/build/chunk-2DRVDGHR.js.map +1 -0
  14. package/build/{chunk-USAOCISL.js → chunk-4WKSS3PU.js} +4 -4
  15. package/build/{chunk-CNZ3Q5PF.js → chunk-5R5H3Y2D.js} +105 -161
  16. package/build/chunk-5R5H3Y2D.js.map +1 -0
  17. package/build/chunk-6IX6CDWB.js +27644 -0
  18. package/build/chunk-6IX6CDWB.js.map +1 -0
  19. package/build/{chunk-VZJZSWRE.js → chunk-6US7335E.js} +3 -3
  20. package/build/{chunk-WRWNJYKZ.js → chunk-A3FHJ4EK.js} +3 -3
  21. package/build/{chunk-PKSGXFYA.js → chunk-HKX5ODUN.js} +3 -3
  22. package/build/{chunk-HUWYF2ET.js → chunk-KCNEUOW2.js} +8 -8
  23. package/build/{chunk-O42QDBJU.js → chunk-KJR4P55M.js} +3 -3
  24. package/build/{chunk-5QZS3HT7.js → chunk-KVM6MGID.js} +3 -3
  25. package/build/{chunk-VXE3IWKR.js → chunk-LMFNRK6X.js} +2 -2
  26. package/build/{chunk-DGTJGIY2.js → chunk-LULKQBSP.js} +5125 -2917
  27. package/build/chunk-LULKQBSP.js.map +1 -0
  28. package/build/{chunk-IG6IV6VM.js → chunk-MTEB33GR.js} +3 -3
  29. package/build/{chunk-36W5H7IG.js → chunk-PM4M3SGC.js} +195 -177
  30. package/build/chunk-PM4M3SGC.js.map +1 -0
  31. package/build/{chunk-4VTDNX5T.js → chunk-UE7LDQKD.js} +2 -2
  32. package/build/{chunk-2PTCXTKF.js → chunk-UZXKDHQZ.js} +5 -5
  33. package/build/{chunk-WRPV7SLY.js → chunk-V75TFIXI.js} +193 -20
  34. package/build/chunk-V75TFIXI.js.map +1 -0
  35. package/build/{chunk-7CGRTCDC.js → chunk-YW2RBPPY.js} +3 -3
  36. package/build/{chunk-QZOQAFHK.js → chunk-ZR3N5INU.js} +8 -8
  37. package/build/chunk-ZR3N5INU.js.map +1 -0
  38. package/build/cloudflare-runtime/entry.js +7157 -52
  39. package/build/cloudflare-runtime/getRegisteredExtensions.js +7095 -15
  40. package/build/index.js +20 -20
  41. package/build/platform-sdk/chunk-3U6QUCP3.js +2 -0
  42. package/build/platform-sdk/chunk-3U6QUCP3.js.map +1 -0
  43. package/build/platform-sdk/{chunk-QV4VBCJB.js → chunk-FLUCZ5U6.js} +2 -2
  44. package/build/platform-sdk/chunk-VXQAZIAE.js +2 -0
  45. package/build/platform-sdk/{chunk-EERHWVVD.js.map → chunk-VXQAZIAE.js.map} +1 -1
  46. package/build/platform-sdk/chunk-ZM5O3GFB.js +2 -0
  47. package/build/platform-sdk/chunk-ZM5O3GFB.js.map +1 -0
  48. package/build/platform-sdk/dashboard.js +1 -1
  49. package/build/platform-sdk/dashboard.js.map +1 -1
  50. package/build/platform-sdk/editor.js +2 -2
  51. package/build/platform-sdk/editor.js.map +1 -1
  52. package/build/platform-sdk/sdk-context.js +1 -1
  53. package/build/platform-sdk/sdk-context.js.map +1 -1
  54. package/build/platform-sdk/site.js +1 -1
  55. package/build/platform-sdk/site.js.map +1 -1
  56. package/build/platform-sdk/web-methods.js +1 -1
  57. package/build/platform-sdk/web-methods.js.map +1 -1
  58. package/build/{preview-VAHHFTRZ.js → preview-ZAKEXAJH.js} +13 -13
  59. package/build/{render-command-3AYSQXHN.js → render-command-XMQH723O.js} +6 -6
  60. package/package.json +8 -6
  61. package/schemas/custom-element.json +1 -1
  62. package/templates/custom-element/files/element.module.css.ejs +18 -5
  63. package/templates/custom-element/files/element.tsx.ejs +8 -5
  64. package/templates/custom-element/files/panel.tsx.ejs +25 -12
  65. package/templates/web-method/dependencies.json +5 -0
  66. package/templates/web-method/files/placeholder.ts.ejs +9 -2
  67. package/build/DevCommand-YFEZ4QV5.js.map +0 -1
  68. package/build/PreviewCommand-3OMHWDW6.js +0 -23
  69. package/build/build-XZI3USNB.js.map +0 -1
  70. package/build/chunk-36W5H7IG.js.map +0 -1
  71. package/build/chunk-CNZ3Q5PF.js.map +0 -1
  72. package/build/chunk-DGTJGIY2.js.map +0 -1
  73. package/build/chunk-FTC5AK3Y.js +0 -1367
  74. package/build/chunk-FTC5AK3Y.js.map +0 -1
  75. package/build/chunk-QVGYU6D4.js.map +0 -1
  76. package/build/chunk-QZOQAFHK.js.map +0 -1
  77. package/build/chunk-WRPV7SLY.js.map +0 -1
  78. package/build/platform-sdk/chunk-42XIZ4MH.js +0 -2
  79. package/build/platform-sdk/chunk-42XIZ4MH.js.map +0 -1
  80. package/build/platform-sdk/chunk-7EYXEF6M.js +0 -2
  81. package/build/platform-sdk/chunk-7EYXEF6M.js.map +0 -1
  82. package/build/platform-sdk/chunk-EERHWVVD.js +0 -2
  83. /package/build/{CreateVersionCommand-Z6F5IKH5.js.map → CreateVersionCommand-IEF6U34E.js.map} +0 -0
  84. /package/build/{LogsCommand-VBMGVYNU.js.map → LogsCommand-7TW36YZX.js.map} +0 -0
  85. /package/build/{PreviewCommand-3OMHWDW6.js.map → PreviewCommand-ZZKRP2GF.js.map} +0 -0
  86. /package/build/{ReleaseCommand-5F3FPBXT.js.map → ReleaseCommand-SB2WWSVP.js.map} +0 -0
  87. /package/build/{ServeCommand-G4FF4PT3.js.map → ServeCommand-GZKF6AN3.js.map} +0 -0
  88. /package/build/{chunk-USAOCISL.js.map → chunk-4WKSS3PU.js.map} +0 -0
  89. /package/build/{chunk-VZJZSWRE.js.map → chunk-6US7335E.js.map} +0 -0
  90. /package/build/{chunk-WRWNJYKZ.js.map → chunk-A3FHJ4EK.js.map} +0 -0
  91. /package/build/{chunk-PKSGXFYA.js.map → chunk-HKX5ODUN.js.map} +0 -0
  92. /package/build/{chunk-HUWYF2ET.js.map → chunk-KCNEUOW2.js.map} +0 -0
  93. /package/build/{chunk-O42QDBJU.js.map → chunk-KJR4P55M.js.map} +0 -0
  94. /package/build/{chunk-5QZS3HT7.js.map → chunk-KVM6MGID.js.map} +0 -0
  95. /package/build/{chunk-VXE3IWKR.js.map → chunk-LMFNRK6X.js.map} +0 -0
  96. /package/build/{chunk-IG6IV6VM.js.map → chunk-MTEB33GR.js.map} +0 -0
  97. /package/build/{chunk-4VTDNX5T.js.map → chunk-UE7LDQKD.js.map} +0 -0
  98. /package/build/{chunk-2PTCXTKF.js.map → chunk-UZXKDHQZ.js.map} +0 -0
  99. /package/build/{chunk-7CGRTCDC.js.map → chunk-YW2RBPPY.js.map} +0 -0
  100. /package/build/platform-sdk/{chunk-QV4VBCJB.js.map → chunk-FLUCZ5U6.js.map} +0 -0
  101. /package/build/{preview-VAHHFTRZ.js.map → preview-ZAKEXAJH.js.map} +0 -0
  102. /package/build/{render-command-3AYSQXHN.js.map → render-command-XMQH723O.js.map} +0 -0
@@ -1,1367 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import {
4
- useBackendComponents
5
- } from "./chunk-WRWNJYKZ.js";
6
- import {
7
- useTunnel
8
- } from "./chunk-USAOCISL.js";
9
- import {
10
- useDebugLog
11
- } from "./chunk-5QZS3HT7.js";
12
- import {
13
- createAppManifest,
14
- getComponentSourceBuilder,
15
- getViteConfig,
16
- getViteConfig2,
17
- getViteServerUrl,
18
- updateAppManifestWithBaseUrl
19
- } from "./chunk-WRPV7SLY.js";
20
- import {
21
- DevCenterComponent,
22
- ErrorViewer,
23
- PlatformType,
24
- deepEqual,
25
- isHttpError,
26
- openBrowser,
27
- pRetry,
28
- readAppConfig,
29
- resolveUrl,
30
- saveAppConfig,
31
- serializer,
32
- useDevCenterClient,
33
- useErrorReporter,
34
- useHttpClient,
35
- useProjectModel
36
- } from "./chunk-DGTJGIY2.js";
37
- import {
38
- Alert,
39
- CliError,
40
- CliErrorCode,
41
- Link,
42
- Newline,
43
- Spinner,
44
- Text,
45
- Trans,
46
- getTestOverrides,
47
- require_lib,
48
- require_react,
49
- useAsync,
50
- useExit,
51
- useTranslation,
52
- z
53
- } from "./chunk-36W5H7IG.js";
54
- import {
55
- __toESM,
56
- init_esm_shims
57
- } from "./chunk-PYIAC2GK.js";
58
-
59
- // src/components/DevCommand/DevEnvironment.tsx
60
- init_esm_shims();
61
- var import_react10 = __toESM(require_react(), 1);
62
- var import_variant4 = __toESM(require_lib(), 1);
63
-
64
- // src/components/DevCommand/useArmUpdater.ts
65
- init_esm_shims();
66
- var import_react2 = __toESM(require_react(), 1);
67
- var import_variant2 = __toESM(require_lib(), 1);
68
-
69
- // ../arm-client/src/index.ts
70
- init_esm_shims();
71
-
72
- // ../arm-client/src/client.ts
73
- init_esm_shims();
74
-
75
- // ../../node_modules/@wix/ambassador-ctp-gradual-rollout-v1-app-config/build/es/http.impl.js
76
- init_esm_shims();
77
- var _createAppReleaseRequest = {};
78
- var _createAppReleaseResponse = {};
79
- var _createComponentsRequest = {};
80
- var _createComponentsResponse = {};
81
- var _promoteAppReleaseToDevCenterRequest = {};
82
- var _promoteAppReleaseToDevCenterResponse = {};
83
- var _updateAppReleaseRequest = {};
84
- var _updateAppReleaseResponse = {};
85
- function resolveComWixCtpAppsReleaseManagerServiceUrl(opts) {
86
- var domainToMappings = {
87
- "api._api_base_domain_": [
88
- {
89
- srcPath: "/apps-release-manager-service-web",
90
- destPath: ""
91
- }
92
- ],
93
- "bo._base_domain_": [
94
- {
95
- srcPath: "/apps-release-manager-service-web",
96
- destPath: ""
97
- }
98
- ],
99
- "wixbo.ai": [
100
- {
101
- srcPath: "/apps-release-manager-service-web",
102
- destPath: ""
103
- }
104
- ],
105
- "wix-bo.com": [
106
- {
107
- srcPath: "/apps-release-manager-service-web",
108
- destPath: ""
109
- }
110
- ],
111
- "www._base_domain_": [
112
- {
113
- srcPath: "/apps-release-manager-service-web/artifacts-release-manager/app-releases",
114
- destPath: "/artifacts-release-manager/app-releases"
115
- },
116
- {
117
- srcPath: "/_api/apps-release-manager-service-web/artifacts-release-manager/app-releases",
118
- destPath: "/artifacts-release-manager/app-releases"
119
- },
120
- {
121
- srcPath: "/apps-release-manager-service-web/apps/create",
122
- destPath: "/apps/create"
123
- },
124
- {
125
- srcPath: "/apps-release-manager-service-web/apps/promote",
126
- destPath: "/apps/promote"
127
- },
128
- {
129
- srcPath: "/apps-release-manager-service-web/apps/tags",
130
- destPath: "/apps/tags"
131
- },
132
- {
133
- srcPath: "/apps-release-manager-service-web/apps/create-components",
134
- destPath: "/apps/create-components"
135
- }
136
- ],
137
- "manage._base_domain_": [
138
- {
139
- srcPath: "/apps-release-manager-service-web/apps/promote",
140
- destPath: "/apps/promote"
141
- },
142
- {
143
- srcPath: "/apps-release-manager-service-web/apps/create",
144
- destPath: "/apps/create"
145
- },
146
- {
147
- srcPath: "/apps-release-manager-service-web/apps/tags",
148
- destPath: "/apps/tags"
149
- },
150
- {
151
- srcPath: "/apps-release-manager-service-web/apps/create-components",
152
- destPath: "/apps/create-components"
153
- }
154
- ]
155
- };
156
- return resolveUrl(Object.assign(opts, { domainToMappings }));
157
- }
158
- function createAppRelease(payload) {
159
- var _a = serializer(_createAppReleaseRequest, {}), toReq = _a.toJSON, fromReq = _a.fromJSON;
160
- var fromRes = serializer(_createAppReleaseResponse, {}).fromJSON;
161
- function __createAppRelease(_a2) {
162
- var host = _a2.host;
163
- var serializedData = toReq(payload);
164
- var metadata = {
165
- entityFqdn: "wix.ctp.gradual_rollout.v1.app_config",
166
- method: "POST",
167
- methodFqn: "com.wix.ctp.AppsReleaseManagerService.CreateAppRelease",
168
- url: resolveComWixCtpAppsReleaseManagerServiceUrl({
169
- protoPath: "/apps/create/{appId}",
170
- data: serializedData,
171
- host
172
- }),
173
- data: serializedData,
174
- transformResponse: fromRes
175
- };
176
- return metadata;
177
- }
178
- __createAppRelease.fromReq = fromReq;
179
- __createAppRelease.__isAmbassador = true;
180
- return __createAppRelease;
181
- }
182
- function updateAppRelease(payload) {
183
- var _a = serializer(_updateAppReleaseRequest, {}), toReq = _a.toJSON, fromReq = _a.fromJSON;
184
- var fromRes = serializer(_updateAppReleaseResponse, {}).fromJSON;
185
- function __updateAppRelease(_a2) {
186
- var host = _a2.host;
187
- var serializedData = toReq(payload);
188
- var metadata = {
189
- entityFqdn: "wix.ctp.gradual_rollout.v1.app_config",
190
- method: "PUT",
191
- methodFqn: "com.wix.ctp.AppsReleaseManagerService.UpdateAppRelease",
192
- url: resolveComWixCtpAppsReleaseManagerServiceUrl({
193
- protoPath: "/apps/tags/{tag}",
194
- data: serializedData,
195
- host
196
- }),
197
- data: serializedData,
198
- transformResponse: fromRes
199
- };
200
- return metadata;
201
- }
202
- __updateAppRelease.fromReq = fromReq;
203
- __updateAppRelease.__isAmbassador = true;
204
- return __updateAppRelease;
205
- }
206
- function createComponents(payload) {
207
- var _a = serializer(_createComponentsRequest, {}), toReq = _a.toJSON, fromReq = _a.fromJSON;
208
- var fromRes = serializer(_createComponentsResponse, {}).fromJSON;
209
- function __createComponents(_a2) {
210
- var host = _a2.host;
211
- var serializedData = toReq(payload);
212
- var metadata = {
213
- entityFqdn: "wix.ctp.gradual_rollout.v1.app_config",
214
- method: "POST",
215
- methodFqn: "com.wix.ctp.AppsReleaseManagerService.CreateComponents",
216
- url: resolveComWixCtpAppsReleaseManagerServiceUrl({
217
- protoPath: "/apps/create-components/{appId}",
218
- data: serializedData,
219
- host
220
- }),
221
- data: serializedData,
222
- transformResponse: fromRes
223
- };
224
- return metadata;
225
- }
226
- __createComponents.fromReq = fromReq;
227
- __createComponents.__isAmbassador = true;
228
- return __createComponents;
229
- }
230
- function promoteAppReleaseToDevCenter(payload) {
231
- var _a = serializer(_promoteAppReleaseToDevCenterRequest, {}), toReq = _a.toJSON, fromReq = _a.fromJSON;
232
- var fromRes = serializer(_promoteAppReleaseToDevCenterResponse, {}).fromJSON;
233
- function __promoteAppReleaseToDevCenter(_a2) {
234
- var host = _a2.host;
235
- var serializedData = toReq(payload);
236
- var metadata = {
237
- entityFqdn: "wix.ctp.gradual_rollout.v1.app_config",
238
- method: "POST",
239
- methodFqn: "com.wix.ctp.AppsReleaseManagerService.PromoteAppReleaseToDevCenter",
240
- url: resolveComWixCtpAppsReleaseManagerServiceUrl({
241
- protoPath: "/apps/promote/{appId}/{tag}",
242
- data: serializedData,
243
- host
244
- }),
245
- data: serializedData,
246
- transformResponse: fromRes
247
- };
248
- return metadata;
249
- }
250
- __promoteAppReleaseToDevCenter.fromReq = fromReq;
251
- __promoteAppReleaseToDevCenter.__isAmbassador = true;
252
- return __promoteAppReleaseToDevCenter;
253
- }
254
-
255
- // ../arm-client/src/client.ts
256
- var import_variant = __toESM(require_lib(), 1);
257
-
258
- // ../arm-client/src/fieldValidations.ts
259
- init_esm_shims();
260
-
261
- // ../arm-client/src/schemas.ts
262
- init_esm_shims();
263
- var promoteAppReleaseSchema = z.object({
264
- newVersion: z.string()
265
- });
266
- var createAppReleaseSchema = z.object({
267
- tag: z.string()
268
- });
269
- var fieldValidationsSchema = z.array(
270
- z.object({
271
- data: z.object({
272
- type: z.string()
273
- }),
274
- description: z.string(),
275
- field: z.string(),
276
- violatedRule: z.string()
277
- })
278
- );
279
-
280
- // ../arm-client/src/fieldValidations.ts
281
- var parseFieldValidationError = (err) => {
282
- if (isHttpError(err)) {
283
- const fieldViolations = err.response?.data?.details?.validationError?.fieldViolations;
284
- if (fieldViolations) {
285
- return fieldValidationsSchema.parse(fieldViolations);
286
- }
287
- }
288
- return [];
289
- };
290
-
291
- // ../arm-client/src/client.ts
292
- var { AppPermissionDenied } = CliErrorCode;
293
- var UpdateAppReleaseData = (0, import_variant.variant)({
294
- TagNotFound: (0, import_variant.fields)(),
295
- TagUpdated: {}
296
- });
297
- var ARMClient = class {
298
- constructor(httpClient) {
299
- this.httpClient = httpClient;
300
- const { minRetryTimeout } = getTestOverrides();
301
- this.retryOptions = {
302
- maxTimeout: 3 * 1e3,
303
- minTimeout: minRetryTimeout,
304
- retries: 3
305
- };
306
- }
307
- retryOptions;
308
- createComponents = async (appId, componentConfigs, projectId) => {
309
- try {
310
- await pRetry(
311
- () => this.httpClient.request(
312
- createComponents({
313
- appId,
314
- componentConfigs,
315
- projectId
316
- })
317
- ),
318
- this.retryOptions
319
- );
320
- } catch (e) {
321
- if (isHttpError(e) && e.response?.status === 403) {
322
- throw new CliError({
323
- cause: e,
324
- code: AppPermissionDenied({ appId })
325
- });
326
- }
327
- throw new CliError({
328
- cause: e,
329
- code: CliErrorCode.FailedToCreateComponents()
330
- });
331
- }
332
- };
333
- createAppRelease = async (manifest, projectId) => {
334
- try {
335
- const { data } = await pRetry(
336
- () => this.httpClient.request(
337
- createAppRelease({
338
- appId: manifest.appId,
339
- componentConfigs: manifest.components,
340
- projectId
341
- })
342
- ),
343
- this.retryOptions
344
- );
345
- return createAppReleaseSchema.parse(data).tag;
346
- } catch (e) {
347
- if (isHttpError(e) && e.response?.status === 403) {
348
- throw new CliError({
349
- cause: e,
350
- code: AppPermissionDenied({ appId: manifest.appId })
351
- });
352
- }
353
- const violations = parseFieldValidationError(e);
354
- if (violations.length > 0) {
355
- throw new CliError({
356
- cause: e,
357
- code: CliErrorCode.AppReleaseConfigViolations({
358
- violations
359
- })
360
- });
361
- }
362
- throw new CliError({
363
- cause: e,
364
- code: CliErrorCode.FailedToCreateAppRelease()
365
- });
366
- }
367
- };
368
- updateAppRelease = async (manifest, tag) => {
369
- try {
370
- await pRetry(
371
- () => this.httpClient.request(
372
- updateAppRelease({
373
- appId: manifest.appId,
374
- componentConfigs: manifest.components,
375
- tag
376
- })
377
- ),
378
- this.retryOptions
379
- );
380
- return UpdateAppReleaseData.TagUpdated();
381
- } catch (e) {
382
- if (isHttpError(e)) {
383
- if (e.response?.status === 404) {
384
- return UpdateAppReleaseData.TagNotFound({ cause: e });
385
- }
386
- if (e.response?.status === 403) {
387
- throw new CliError({
388
- cause: e,
389
- code: AppPermissionDenied({ appId: manifest.appId })
390
- });
391
- }
392
- }
393
- throw new CliError({
394
- cause: e,
395
- code: CliErrorCode.FailedToUpdateAppRelease()
396
- });
397
- }
398
- };
399
- promoteToDevCenter = async (appId, tag, versionType) => {
400
- const { data } = await pRetry(
401
- () => this.httpClient.request(
402
- promoteAppReleaseToDevCenter({ appId, tag, versionType })
403
- ),
404
- this.retryOptions
405
- );
406
- return promoteAppReleaseSchema.parse(data);
407
- };
408
- };
409
-
410
- // ../arm-client/src/useARMClient.ts
411
- init_esm_shims();
412
- var import_react = __toESM(require_react(), 1);
413
- function useARMClient() {
414
- const httpClient = useHttpClient({ type: "backoffice" });
415
- return (0, import_react.useMemo)(() => new ARMClient(httpClient), [httpClient]);
416
- }
417
-
418
- // src/components/DevCommand/useArmUpdater.ts
419
- var createAppManifestWithBaseUrl = async (model, clientDevServerUrl, backendServerUrl, blocksData) => {
420
- const manifest = await createAppManifest({
421
- appId: model.config.appId,
422
- components: model.components,
423
- componentSourceBuilder: getComponentSourceBuilder(
424
- model,
425
- { clientDevServerUrl },
426
- { backendDevServerUrl: backendServerUrl?.localUrl },
427
- blocksData ?? []
428
- )
429
- });
430
- return updateAppManifestWithBaseUrl(
431
- manifest,
432
- clientDevServerUrl,
433
- backendServerUrl?.tunnelUrl
434
- );
435
- };
436
- function useArmUpdater() {
437
- const { model } = useProjectModel();
438
- const writeDebugLog = useDebugLog();
439
- const { createAppRelease: createAppRelease2, updateAppRelease: updateAppRelease2 } = useARMClient();
440
- return (0, import_react2.useCallback)(
441
- async ({
442
- backendServerUrl,
443
- devServerUrl,
444
- blocksData,
445
- projectModelWatcher,
446
- onChange,
447
- onError
448
- }) => {
449
- const { projectId } = model.config;
450
- const appManifest = await createAppManifestWithBaseUrl(
451
- model,
452
- devServerUrl,
453
- backendServerUrl,
454
- blocksData
455
- );
456
- const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);
457
- const createOrUpdateAppRelease = async (tag) => {
458
- if (tag) {
459
- const updateState = await updateAppRelease2(appManifest, tag);
460
- return (0, import_variant2.match)(updateState, {
461
- TagUpdated: () => tag,
462
- TagNotFound: ({ cause }) => {
463
- writeDebugLog(cause);
464
- return createAppRelease2(appManifest, projectId);
465
- }
466
- });
467
- }
468
- return createAppRelease2(appManifest, projectId);
469
- };
470
- const armTag = await createOrUpdateAppRelease(appConfig?.devArmTag);
471
- if (armTag !== appConfig?.devArmTag) {
472
- await saveAppConfig(model.projectFolder, { devArmTag: armTag }).catch(
473
- (error) => writeDebugLog(error)
474
- );
475
- }
476
- projectModelWatcher.onChange(async (newModel, changeType) => {
477
- try {
478
- if (changeType === "model-updated") {
479
- if (newModel.components.length === 0) {
480
- return;
481
- }
482
- const updatedAppManifest = await createAppManifestWithBaseUrl(
483
- newModel,
484
- devServerUrl,
485
- backendServerUrl,
486
- blocksData
487
- );
488
- if (!deepEqual(appManifest, updatedAppManifest)) {
489
- await updateAppRelease2(updatedAppManifest, armTag);
490
- }
491
- }
492
- onChange(changeType);
493
- } catch (e) {
494
- onError(e);
495
- }
496
- }).onError(onError);
497
- return armTag;
498
- },
499
- [createAppRelease2, model, updateAppRelease2, writeDebugLog]
500
- );
501
- }
502
-
503
- // src/components/DevCommand/useDevServer.ts
504
- init_esm_shims();
505
- var import_react3 = __toESM(require_react(), 1);
506
- import { createServer } from "vite";
507
- function useViteDevServer({
508
- createConfig
509
- }) {
510
- const { reportError } = useErrorReporter();
511
- const devServerRef = (0, import_react3.useRef)();
512
- (0, import_react3.useEffect)(() => {
513
- return () => {
514
- devServerRef.current?.close().catch(reportError);
515
- };
516
- }, [reportError]);
517
- return (0, import_react3.useCallback)(
518
- async (options) => {
519
- const config = await createConfig(options);
520
- const devServer = await createServer(config);
521
- devServerRef.current = devServer;
522
- await devServer.listen();
523
- return { devServerUrl: getViteServerUrl(devServer), devServer };
524
- },
525
- [createConfig]
526
- );
527
- }
528
- function useClientDevServer({ https }) {
529
- const { model } = useProjectModel();
530
- const createDevServer = useViteDevServer({
531
- createConfig: ({ projectModelWatcher, baseBackendUrl, customLogger }) => {
532
- return getViteConfig(
533
- model,
534
- {
535
- type: "dev" /* dev */,
536
- https,
537
- projectModelWatcher,
538
- customLogger
539
- },
540
- { baseBackendUrl }
541
- );
542
- }
543
- });
544
- return createDevServer;
545
- }
546
- function useBackendDevServer({ https }) {
547
- const { model } = useProjectModel();
548
- const { getAppSecret } = useDevCenterClient();
549
- const createDevServer = useViteDevServer({
550
- createConfig: async ({ projectModelWatcher, customLogger }) => {
551
- const appSecret = await getAppSecret({
552
- appId: model.config.appId
553
- });
554
- return getViteConfig2(
555
- model,
556
- {
557
- type: "dev" /* dev */,
558
- https,
559
- customLogger,
560
- projectModelWatcher
561
- },
562
- appSecret
563
- );
564
- }
565
- });
566
- return createDevServer;
567
- }
568
-
569
- // src/context/armTag.tsx
570
- init_esm_shims();
571
- var import_react4 = __toESM(require_react(), 1);
572
- var ArmTagContext = (0, import_react4.createContext)(null);
573
- var ArmTagProvider = ({
574
- children,
575
- armTag
576
- }) => {
577
- return /* @__PURE__ */ import_react4.default.createElement(ArmTagContext.Provider, { value: { armTag } }, children);
578
- };
579
- var useArmTag = () => {
580
- const context = (0, import_react4.useContext)(ArmTagContext);
581
- if (context == null) {
582
- throw new Error("useArmTag() cannot be used without an <ArmTagProvider>");
583
- }
584
- return context;
585
- };
586
-
587
- // src/components/DevCommand/useSiteOverrideUpdater.ts
588
- init_esm_shims();
589
- var import_react8 = __toESM(require_react(), 1);
590
-
591
- // ../site-override-client/src/index.ts
592
- init_esm_shims();
593
-
594
- // ../site-override-client/src/client.ts
595
- init_esm_shims();
596
-
597
- // ../../node_modules/@wix/ambassador-cli-site-override-service-v1-site-override/build/es/http.impl.js
598
- init_esm_shims();
599
- var _createOverrideRequest = {};
600
- var _createOverrideResponse = {};
601
- function resolveWixCliV1SiteOverrideServiceUrl(opts) {
602
- var domainToMappings = {
603
- "bo._base_domain_": [
604
- {
605
- srcPath: "/_serverless/site-override",
606
- destPath: ""
607
- }
608
- ],
609
- "wixbo.ai": [
610
- {
611
- srcPath: "/_serverless/site-override",
612
- destPath: ""
613
- }
614
- ],
615
- "wix-bo.com": [
616
- {
617
- srcPath: "/_serverless/site-override",
618
- destPath: ""
619
- }
620
- ],
621
- "manage._base_domain_": [
622
- {
623
- srcPath: "/_serverless/site-override",
624
- destPath: ""
625
- }
626
- ]
627
- };
628
- return resolveUrl(Object.assign(opts, { domainToMappings }));
629
- }
630
- function createOverride(payload) {
631
- var _a = serializer(_createOverrideRequest, {}), toReq = _a.toJSON, fromReq = _a.fromJSON;
632
- var fromRes = serializer(_createOverrideResponse, {}).fromJSON;
633
- function __createOverride(_a2) {
634
- var host = _a2.host;
635
- var serializedData = toReq(payload);
636
- var metadata = {
637
- entityFqdn: "wix.cli.site_override_service.v1.site_override",
638
- method: "POST",
639
- methodFqn: "wix.cli.v1.SiteOverrideService.CreateOverride",
640
- url: resolveWixCliV1SiteOverrideServiceUrl({
641
- protoPath: "/v1/site-overrides",
642
- data: serializedData,
643
- host
644
- }),
645
- data: serializedData,
646
- transformResponse: fromRes
647
- };
648
- return metadata;
649
- }
650
- __createOverride.fromReq = fromReq;
651
- __createOverride.__isAmbassador = true;
652
- return __createOverride;
653
- }
654
-
655
- // ../site-override-client/src/schemas.ts
656
- init_esm_shims();
657
- var createOverrideSchema = z.object({
658
- siteOverride: z.object({
659
- id: z.string()
660
- })
661
- });
662
-
663
- // ../site-override-client/src/client.ts
664
- var SiteOverrideClient = class {
665
- constructor(httpClient) {
666
- this.httpClient = httpClient;
667
- const { minRetryTimeout } = getTestOverrides();
668
- this.retryOptions = {
669
- retries: 3,
670
- minTimeout: minRetryTimeout,
671
- maxTimeout: 3 * 1e3
672
- };
673
- }
674
- retryOptions;
675
- createOverride = async ({
676
- appId,
677
- siteId,
678
- overrides,
679
- siteOverrideId
680
- }) => {
681
- try {
682
- const { data } = await pRetry(
683
- () => this.httpClient.request(
684
- createOverride({
685
- siteOverride: {
686
- id: siteOverrideId,
687
- appId,
688
- siteId,
689
- overrides
690
- }
691
- })
692
- ),
693
- this.retryOptions
694
- );
695
- return createOverrideSchema.parse(data).siteOverride;
696
- } catch (error) {
697
- if (isHttpError(error) && error.response?.status === 403) {
698
- if (error.response.data?.details?.applicationError?.code === "PERMISSION_DENIED_FOR_SITE") {
699
- throw new CliError({
700
- code: CliErrorCode.SitePermissionDenied({ siteId }),
701
- cause: error
702
- });
703
- }
704
- throw new CliError({
705
- code: CliErrorCode.AppPermissionDenied({ appId }),
706
- cause: error
707
- });
708
- }
709
- throw new CliError({
710
- code: CliErrorCode.FailedToCreateSiteOverride(),
711
- cause: error
712
- });
713
- }
714
- };
715
- };
716
-
717
- // ../site-override-client/src/useSiteOverrideClient.ts
718
- init_esm_shims();
719
- var import_react5 = __toESM(require_react(), 1);
720
- function useSiteOverrideClient() {
721
- const httpClient = useHttpClient({ type: "backoffice" });
722
- return (0, import_react5.useMemo)(() => new SiteOverrideClient(httpClient), [httpClient]);
723
- }
724
-
725
- // src/site-override/createSiteOverrides.ts
726
- init_esm_shims();
727
- var import_variant3 = __toESM(require_lib(), 1);
728
-
729
- // ../../node_modules/@wix/ambassador-cli-site-override-service-v1-site-override/build/es/types.impl.js
730
- init_esm_shims();
731
- var Type;
732
- (function(Type2) {
733
- Type2["UNKNOWN_TYPE"] = "UNKNOWN_TYPE";
734
- Type2["EMBEDDED_SCRIPT"] = "EMBEDDED_SCRIPT";
735
- })(Type || (Type = {}));
736
- var WebhookIdentityType;
737
- (function(WebhookIdentityType2) {
738
- WebhookIdentityType2["UNKNOWN"] = "UNKNOWN";
739
- WebhookIdentityType2["ANONYMOUS_VISITOR"] = "ANONYMOUS_VISITOR";
740
- WebhookIdentityType2["MEMBER"] = "MEMBER";
741
- WebhookIdentityType2["WIX_USER"] = "WIX_USER";
742
- WebhookIdentityType2["APP"] = "APP";
743
- })(WebhookIdentityType || (WebhookIdentityType = {}));
744
-
745
- // src/site-override/createSiteOverrides.ts
746
- function createSiteOverrides(model) {
747
- const componentsToOverride = model.components.filter(
748
- (0, import_variant3.isType)(DevCenterComponent.EmbeddedScript)
749
- );
750
- if (componentsToOverride.length === 0) {
751
- return null;
752
- }
753
- return componentsToOverride.reduce(
754
- (acc, component) => {
755
- const paramsOverride = component.paramsOverride ?? {};
756
- return {
757
- ...acc,
758
- [component.id]: {
759
- type: Type.EMBEDDED_SCRIPT,
760
- componentId: component.id,
761
- embeddedScriptOptions: { parameters: paramsOverride }
762
- }
763
- };
764
- },
765
- {}
766
- );
767
- }
768
-
769
- // src/site/useSite.ts
770
- init_esm_shims();
771
- var import_react7 = __toESM(require_react(), 1);
772
-
773
- // src/site/context.ts
774
- init_esm_shims();
775
- var import_react6 = __toESM(require_react(), 1);
776
- var SiteContext = (0, import_react6.createContext)(null);
777
-
778
- // src/site/useSite.ts
779
- function useSite() {
780
- const context = (0, import_react7.useContext)(SiteContext);
781
- if (context == null) {
782
- throw new Error("useSite() cannot be used without an <SiteProvider>");
783
- }
784
- return context;
785
- }
786
-
787
- // src/components/DevCommand/useSiteOverrideUpdater.ts
788
- function useSiteOverrideUpdater() {
789
- const { model } = useProjectModel();
790
- const { site } = useSite();
791
- const exit = useExit();
792
- const writeDebugLog = useDebugLog();
793
- const { createOverride: createOverride2 } = useSiteOverrideClient();
794
- const { appId } = model.config;
795
- const siteRef = (0, import_react8.useRef)(site);
796
- const isUpdaterInitialized = (0, import_react8.useRef)(false);
797
- (0, import_react8.useEffect)(() => {
798
- siteRef.current = site;
799
- const updateSiteOverrides = async () => {
800
- const overrides = createSiteOverrides(model) ?? {};
801
- const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);
802
- const siteOverrideId = appConfig?.devSiteOverrideId;
803
- if (!siteOverrideId) {
804
- throw new CliError({
805
- code: CliErrorCode.InvalidSiteOverrideID(),
806
- cause: null
807
- });
808
- }
809
- await createOverride2({
810
- appId,
811
- siteId: site.id,
812
- overrides,
813
- siteOverrideId
814
- });
815
- };
816
- if (isUpdaterInitialized.current) {
817
- updateSiteOverrides().catch(exit);
818
- }
819
- }, [site]);
820
- return (0, import_react8.useCallback)(
821
- async ({
822
- projectModelWatcher
823
- }) => {
824
- const appConfig = await readAppConfig(model.projectFolder, writeDebugLog);
825
- let overrides = createSiteOverrides(model) ?? {};
826
- const { id: siteOverrideId } = await createOverride2({
827
- appId,
828
- siteId: site.id,
829
- overrides,
830
- siteOverrideId: appConfig?.devSiteOverrideId
831
- });
832
- projectModelWatcher.onChange(async (newModel, changeType) => {
833
- if (changeType === "model-updated") {
834
- const updatedOverrides = createSiteOverrides(newModel) ?? {};
835
- if (!deepEqual(overrides, updatedOverrides)) {
836
- await createOverride2({
837
- appId,
838
- siteId: siteRef.current.id,
839
- overrides: updatedOverrides,
840
- siteOverrideId
841
- });
842
- overrides = updatedOverrides;
843
- }
844
- }
845
- });
846
- if (siteOverrideId !== appConfig?.devSiteOverrideId) {
847
- await saveAppConfig(model.projectFolder, {
848
- devSiteOverrideId: siteOverrideId
849
- }).catch((error) => writeDebugLog(error));
850
- }
851
- isUpdaterInitialized.current = true;
852
- return siteOverrideId;
853
- },
854
- [model, writeDebugLog, createOverride2, appId, site]
855
- );
856
- }
857
-
858
- // src/context/siteOverride.tsx
859
- init_esm_shims();
860
- var import_react9 = __toESM(require_react(), 1);
861
- var SiteOverrideContext = (0, import_react9.createContext)(null);
862
- var SiteOverrideProvider = ({ children, siteOverrideId }) => {
863
- return /* @__PURE__ */ import_react9.default.createElement(SiteOverrideContext.Provider, { value: { siteOverrideId } }, children);
864
- };
865
- var useSiteOverrideId = () => {
866
- const context = (0, import_react9.useContext)(SiteOverrideContext);
867
- if (context == null) {
868
- throw new Error(
869
- "useSiteOverrideId() cannot be used without an <SiteOverrideProvider>"
870
- );
871
- }
872
- return context;
873
- };
874
-
875
- // src/components/DevCommand/DevEnvironment.tsx
876
- var DevEnvironmentContext = (0, import_react10.createContext)(null);
877
- var DevEnvironmentProvider = ({ https, logger, children }) => {
878
- const { t } = useTranslation();
879
- const { reportError } = useErrorReporter();
880
- const { backendComponents, backendComponentsByType } = useBackendComponents();
881
- const createClientDevServer = useClientDevServer({ https });
882
- const createBackendDevServer = useBackendDevServer({ https });
883
- const { getAppByVersion } = useDevCenterClient();
884
- const startTunnel = useTunnel();
885
- const createArmUpdater = useArmUpdater();
886
- const createSiteOverrideUpdater = useSiteOverrideUpdater();
887
- const { watcher: projectModelWatcher, model } = useProjectModel();
888
- const { status } = useAsync(async () => {
889
- let backendDevServerUrl;
890
- if (backendComponents.length > 0) {
891
- backendDevServerUrl = await createBackendDevServer({
892
- projectModelWatcher,
893
- customLogger: logger
894
- }).then(async ({ devServerUrl }) => {
895
- let tunnelUrl;
896
- if (backendComponentsByType.Event.length > 0 || backendComponentsByType.ServicePlugin.length > 0) {
897
- const { url } = await startTunnel(Number(new URL(devServerUrl).port));
898
- tunnelUrl = url;
899
- }
900
- return { localUrl: devServerUrl, tunnelUrl };
901
- });
902
- }
903
- const { devServerUrl: clientDevServerUrl, devServer: clientDevServer } = await createClientDevServer({
904
- baseBackendUrl: backendDevServerUrl?.localUrl,
905
- projectModelWatcher,
906
- customLogger: logger
907
- });
908
- const blocksData = model.components.some(
909
- (component) => (0, import_variant4.isType)(component, DevCenterComponent.BlocksWidget)
910
- ) ? (await getAppByVersion({
911
- appId: model.config.appId
912
- })).data.components : [];
913
- const armTag = await createArmUpdater({
914
- backendServerUrl: backendDevServerUrl,
915
- devServerUrl: clientDevServerUrl,
916
- blocksData,
917
- projectModelWatcher,
918
- onChange(changeType) {
919
- (0, import_variant4.match)(changeType, {
920
- "change-received": () => {
921
- logger.info(t("dev_command.config_change"));
922
- },
923
- "model-did-not-change": () => {
924
- logger.info(t("dev_command.config_didnt_update"));
925
- },
926
- "model-updated": () => {
927
- clientDevServer.ws.send({ type: "full-reload" });
928
- logger.info(t("dev_command.config_update"));
929
- }
930
- });
931
- },
932
- onError(error) {
933
- reportError(error);
934
- logger.error(/* @__PURE__ */ import_react10.default.createElement(ErrorViewer, { error }));
935
- logger.info(t("dev_command.config_didnt_update"));
936
- }
937
- });
938
- const siteOverrideId = await createSiteOverrideUpdater({
939
- projectModelWatcher
940
- });
941
- logger.info(
942
- /* @__PURE__ */ import_react10.default.createElement(Alert, { type: "success" }, t("dev_command.dev_environment.started"))
943
- );
944
- return {
945
- clientDevServerUrl,
946
- armTag,
947
- siteOverrideId,
948
- https
949
- };
950
- }, []);
951
- return (0, import_variant4.match)(status, {
952
- Error: () => null,
953
- Loading: () => /* @__PURE__ */ import_react10.default.createElement(Spinner, { text: t("dev_command.dev_environment.loading") }),
954
- Success: ({
955
- result: { clientDevServerUrl, https: https2, armTag, siteOverrideId }
956
- }) => /* @__PURE__ */ import_react10.default.createElement(
957
- DevEnvironmentContext.Provider,
958
- {
959
- value: { clientDevServerUrl, https: https2, logger }
960
- },
961
- /* @__PURE__ */ import_react10.default.createElement(SiteOverrideProvider, { siteOverrideId }, /* @__PURE__ */ import_react10.default.createElement(ArmTagProvider, { armTag }, children))
962
- )
963
- });
964
- };
965
- function useDevEnvironment() {
966
- const context = (0, import_react10.useContext)(DevEnvironmentContext);
967
- if (context == null) {
968
- throw new Error(
969
- "useDevEnvironment() cannot be used without an <DevEnvironmentProvider>"
970
- );
971
- }
972
- return context;
973
- }
974
-
975
- // ../site-list-client/src/site-list-client.ts
976
- init_esm_shims();
977
-
978
- // ../../node_modules/@wix/ambassador-site-list-v2-site/build/es/http.impl.js
979
- init_esm_shims();
980
- var _querySitesRequest = {};
981
- var _querySitesResponse = { sites: "_site" };
982
- var _site = {
983
- createdDate: "google.protobuf.Timestamp",
984
- updatedDate: "google.protobuf.Timestamp",
985
- trashedDate: "google.protobuf.Timestamp"
986
- };
987
- function resolveComWixpressSitelistApiSiteListServiceV2Url(opts) {
988
- var domainToMappings = {
989
- "www._base_domain_": [
990
- {
991
- srcPath: "/_api/sites-list",
992
- destPath: "/api"
993
- },
994
- {
995
- srcPath: "/_api/sites-list/v2/sites",
996
- destPath: "/v2/sites"
997
- }
998
- ],
999
- "feedback._base_domain_": [
1000
- {
1001
- srcPath: "/_api/sites-list",
1002
- destPath: "/api"
1003
- }
1004
- ],
1005
- "manage._base_domain_": [
1006
- {
1007
- srcPath: "/_api/sites-list",
1008
- destPath: "/api"
1009
- },
1010
- {
1011
- srcPath: "/_api/sites-list/v2/sites",
1012
- destPath: "/v2/sites"
1013
- },
1014
- {
1015
- srcPath: "/_api/sites-list-data",
1016
- destPath: "/api/sites-list-data"
1017
- }
1018
- ],
1019
- "www.wixapis.com": [
1020
- {
1021
- srcPath: "/site-list/v2/sites",
1022
- destPath: "/v2/sites"
1023
- }
1024
- ],
1025
- "api._api_base_domain_": [
1026
- {
1027
- srcPath: "/sites-list",
1028
- destPath: ""
1029
- }
1030
- ],
1031
- "bo._base_domain_": [
1032
- {
1033
- srcPath: "/_api/sites-list/v2/sites",
1034
- destPath: "/v2/sites"
1035
- }
1036
- ],
1037
- "wixbo.ai": [
1038
- {
1039
- srcPath: "/_api/sites-list/v2/sites",
1040
- destPath: "/v2/sites"
1041
- }
1042
- ],
1043
- "dev._base_domain_": [
1044
- {
1045
- srcPath: "/_api/sites-list/v2/sites",
1046
- destPath: "/v2/sites"
1047
- }
1048
- ],
1049
- "editor._base_domain_": [
1050
- {
1051
- srcPath: "/_api/sites-list/v2/sites",
1052
- destPath: "/v2/sites"
1053
- }
1054
- ],
1055
- "blocks._base_domain_": [
1056
- {
1057
- srcPath: "/_api/sites-list/v2/sites",
1058
- destPath: "/v2/sites"
1059
- }
1060
- ],
1061
- "create.editorx": [
1062
- {
1063
- srcPath: "/_api/sites-list/v2/sites",
1064
- destPath: "/v2/sites"
1065
- }
1066
- ]
1067
- };
1068
- return resolveUrl(Object.assign(opts, { domainToMappings }));
1069
- }
1070
- function querySites(payload) {
1071
- var _a = serializer(_querySitesRequest, {}), toReq = _a.toJSON, fromReq = _a.fromJSON;
1072
- var fromRes = serializer(_querySitesResponse, { _site }).fromJSON;
1073
- function __querySites(_a2) {
1074
- var host = _a2.host;
1075
- var serializedData = toReq(payload);
1076
- var metadata = {
1077
- entityFqdn: "wix.site_list.v2.site",
1078
- method: "POST",
1079
- methodFqn: "com.wixpress.sitelist.api.SiteListServiceV2.QuerySites",
1080
- url: resolveComWixpressSitelistApiSiteListServiceV2Url({
1081
- protoPath: "/v2/sites/query",
1082
- data: serializedData,
1083
- host
1084
- }),
1085
- data: serializedData,
1086
- transformResponse: fromRes
1087
- };
1088
- return metadata;
1089
- }
1090
- __querySites.fromReq = fromReq;
1091
- __querySites.__isAmbassador = true;
1092
- return __querySites;
1093
- }
1094
-
1095
- // ../site-list-client/src/schemas.ts
1096
- init_esm_shims();
1097
- var siteSchema = z.object({
1098
- id: z.string(),
1099
- displayName: z.string(),
1100
- viewUrl: z.union([z.string().url(), z.literal("")]).optional()
1101
- });
1102
- var querySitesSchema = z.object({
1103
- sites: z.array(siteSchema)
1104
- });
1105
-
1106
- // ../site-list-client/src/site-list-client.ts
1107
- var SiteListClient = class {
1108
- constructor(httpClient) {
1109
- this.httpClient = httpClient;
1110
- const { minRetryTimeout } = getTestOverrides();
1111
- this.retryOptions = {
1112
- retries: 3,
1113
- minTimeout: minRetryTimeout,
1114
- maxTimeout: 3 * 1e3
1115
- };
1116
- }
1117
- retryOptions;
1118
- querySites = async (opts = {}) => {
1119
- try {
1120
- const { data } = await pRetry(
1121
- () => this.httpClient.request(querySites(opts)),
1122
- this.retryOptions
1123
- );
1124
- return querySitesSchema.parse(data).sites;
1125
- } catch (e) {
1126
- throw new CliError({
1127
- code: CliErrorCode.FailedToQuerySites(),
1128
- cause: e,
1129
- info: { ...opts }
1130
- });
1131
- }
1132
- };
1133
- getSite = async (id) => {
1134
- try {
1135
- const { data } = await pRetry(
1136
- () => this.httpClient.request(
1137
- querySites({ query: { filter: { id: { $in: [id] } } } })
1138
- ),
1139
- this.retryOptions
1140
- );
1141
- const { sites } = querySitesSchema.parse(data);
1142
- return sites.at(0) ?? null;
1143
- } catch (e) {
1144
- throw new CliError({
1145
- code: CliErrorCode.FailedToGetSite(),
1146
- cause: e,
1147
- info: { id }
1148
- });
1149
- }
1150
- };
1151
- };
1152
-
1153
- // ../site-list-client/src/useSiteListClient.ts
1154
- init_esm_shims();
1155
- var import_react11 = __toESM(require_react(), 1);
1156
- function useSiteListClient() {
1157
- const httpClient = useHttpClient({ type: "backoffice" });
1158
- return (0, import_react11.useMemo)(() => new SiteListClient(httpClient), [httpClient]);
1159
- }
1160
-
1161
- // ../site-list-client/src/index.ts
1162
- init_esm_shims();
1163
-
1164
- // src/site/site-state.ts
1165
- init_esm_shims();
1166
- var import_variant5 = __toESM(require_lib(), 1);
1167
- var SiteState = (0, import_variant5.variant)({
1168
- NotConfigured: {},
1169
- NotFound: (0, import_variant5.fields)(),
1170
- Resolved: (0, import_variant5.fields)()
1171
- });
1172
-
1173
- // src/site/resolve-configured-site.ts
1174
- init_esm_shims();
1175
- async function resolveConfiguredSite({
1176
- projectFolder,
1177
- siteListClient: { getSite },
1178
- siteId,
1179
- writeDebugLog
1180
- }) {
1181
- const resolvedSiteId = !siteId ? (await readAppConfig(projectFolder, writeDebugLog))?.siteId : siteId;
1182
- if (!resolvedSiteId) {
1183
- return SiteState.NotConfigured();
1184
- }
1185
- const site = await getSite(resolvedSiteId);
1186
- if (!site) {
1187
- return SiteState.NotFound({ id: resolvedSiteId });
1188
- }
1189
- return SiteState.Resolved({ site });
1190
- }
1191
-
1192
- // src/components/extensions/utils.tsx
1193
- init_esm_shims();
1194
- var import_react12 = __toESM(require_react(), 1);
1195
- var import_variant6 = __toESM(require_lib(), 1);
1196
- import { URL as URL2 } from "node:url";
1197
- var redirectWithCSMv2FTs = (url, platformType) => {
1198
- const elgarBaseURL = (0, import_variant6.isType)(platformType, PlatformType.Site) ? `${url.origin}/_api` : "https://apps.wix.com";
1199
- const elgarRedirectUrl = new URL2(`${elgarBaseURL}/elgar-server/redirect`);
1200
- const petriOvr = [
1201
- "specs.UseAppsRuntimeCache",
1202
- "specs.ApplyQueryParamsOverrides",
1203
- "specs.thunderbolt.passWidgetBundleUrls",
1204
- "specs.blocks-client.useBundledWidgetCode"
1205
- ];
1206
- for (const spec of petriOvr) {
1207
- elgarRedirectUrl.searchParams.append("experiments", `${spec}#true`);
1208
- }
1209
- elgarRedirectUrl.searchParams.append("redirectToUrl", url.toString());
1210
- elgarRedirectUrl.searchParams.append("staticsVersions", "{}");
1211
- return elgarRedirectUrl;
1212
- };
1213
- function wrapWithRedirectUrl({
1214
- url,
1215
- clientDevServerUrl
1216
- }) {
1217
- const redirectUrl = new URL2("/redirect", clientDevServerUrl);
1218
- redirectUrl.searchParams.append("url", url);
1219
- return redirectUrl.href;
1220
- }
1221
- function useResolvePlatformUrl() {
1222
- const { model } = useProjectModel();
1223
- const { site } = useSite();
1224
- const { armTag } = useArmTag();
1225
- const { siteOverrideId } = useSiteOverrideId();
1226
- return (0, import_react12.useCallback)(
1227
- (platformType) => {
1228
- return resolvePlatformUrl(platformType, {
1229
- site,
1230
- appId: model.config.appId,
1231
- tag: armTag,
1232
- siteOverrideId
1233
- });
1234
- },
1235
- [site, model.config.appId, armTag, siteOverrideId]
1236
- );
1237
- }
1238
- function useResolvePlatformDevUrl() {
1239
- const resolvePlatformUrl2 = useResolvePlatformUrl();
1240
- const { https, clientDevServerUrl } = useDevEnvironment();
1241
- return (0, import_react12.useCallback)(
1242
- (platformType) => {
1243
- let url = resolvePlatformUrl2(platformType);
1244
- if (https) {
1245
- url = wrapWithRedirectUrl({ url, clientDevServerUrl });
1246
- }
1247
- return url;
1248
- },
1249
- [resolvePlatformUrl2, https, clientDevServerUrl]
1250
- );
1251
- }
1252
- function resolvePlatformUrl(platformType, options) {
1253
- const { site, tag, siteOverrideId } = options;
1254
- const url = (0, import_variant6.match)(platformType, {
1255
- Dashboard: () => new URL2(`dashboard/${site.id}`, "https://manage.wix.com/"),
1256
- Editor: () => new URL2(`https://wix.com/editor/${site.id}`),
1257
- Site: () => {
1258
- const siteUrl = new URL2(site.viewUrl);
1259
- if (siteOverrideId) {
1260
- siteUrl.searchParams.append("site-override", siteOverrideId);
1261
- }
1262
- return siteUrl;
1263
- }
1264
- });
1265
- url.searchParams.append("apps-override", tag);
1266
- return (0, import_variant6.isOfVariant)(
1267
- platformType,
1268
- (0, import_variant6.variantList)([PlatformType.Editor, PlatformType.Site])
1269
- ) ? redirectWithCSMv2FTs(url, platformType).toString() : url.toString();
1270
- }
1271
- function useResolveDashboardExtensionUrl() {
1272
- const { model } = useProjectModel();
1273
- const { site } = useSite();
1274
- const { armTag } = useArmTag();
1275
- const { siteOverrideId } = useSiteOverrideId();
1276
- return (0, import_react12.useCallback)(
1277
- (extension) => {
1278
- return resolveDashboardExtensionUrl(extension, {
1279
- site,
1280
- appId: model.config.appId,
1281
- tag: armTag,
1282
- siteOverrideId
1283
- });
1284
- },
1285
- [site, model.config.appId, armTag, siteOverrideId]
1286
- );
1287
- }
1288
- function useResolveDashboardExtensionDevUrl() {
1289
- const resolveDashboardExtensionUrl2 = useResolveDashboardExtensionUrl();
1290
- const { https, clientDevServerUrl } = useDevEnvironment();
1291
- return (0, import_react12.useCallback)(
1292
- (extension) => {
1293
- let url = resolveDashboardExtensionUrl2(extension);
1294
- if (https) {
1295
- url = wrapWithRedirectUrl({ url, clientDevServerUrl });
1296
- }
1297
- return url;
1298
- },
1299
- [resolveDashboardExtensionUrl2, https, clientDevServerUrl]
1300
- );
1301
- }
1302
- function resolveDashboardExtensionUrl(extension, options) {
1303
- const { appId, site, tag } = options;
1304
- const url = (0, import_variant6.matcher)(extension).with({
1305
- DashboardPage: () => new URL2(
1306
- `dashboard/${site.id}/app/${appId}${extension.route}`,
1307
- "https://manage.wix.com/"
1308
- )
1309
- }).when(
1310
- ["DashboardMenuPlugin", "DashboardPlugin", "DashboardModal"],
1311
- () => new URL2(
1312
- `dashboard/${site.id}${extension.route}`,
1313
- "https://manage.wix.com/"
1314
- )
1315
- ).complete();
1316
- url.searchParams.append("apps-override", tag);
1317
- return url.toString();
1318
- }
1319
- var useOpenPage = () => {
1320
- const { logger } = useDevEnvironment();
1321
- return (0, import_react12.useCallback)(
1322
- async ({ url, title }) => {
1323
- try {
1324
- await openBrowser(url);
1325
- } catch {
1326
- logger.error(
1327
- /* @__PURE__ */ import_react12.default.createElement(Alert, { type: "error" }, /* @__PURE__ */ import_react12.default.createElement(
1328
- Trans,
1329
- {
1330
- i18nKey: "general.open_page_error",
1331
- components: [/* @__PURE__ */ import_react12.default.createElement(Text, { bold: true })],
1332
- values: { title }
1333
- }
1334
- ), /* @__PURE__ */ import_react12.default.createElement(Newline, null), /* @__PURE__ */ import_react12.default.createElement(Link, { url }))
1335
- );
1336
- }
1337
- },
1338
- [logger]
1339
- );
1340
- };
1341
-
1342
- export {
1343
- SiteListClient,
1344
- useSiteListClient,
1345
- SiteContext,
1346
- SiteState,
1347
- resolveConfiguredSite,
1348
- ARMClient,
1349
- useARMClient,
1350
- ArmTagProvider,
1351
- useArmTag,
1352
- useSiteOverrideClient,
1353
- createSiteOverrides,
1354
- useSite,
1355
- SiteOverrideProvider,
1356
- DevEnvironmentProvider,
1357
- useDevEnvironment,
1358
- redirectWithCSMv2FTs,
1359
- useResolvePlatformUrl,
1360
- useResolvePlatformDevUrl,
1361
- resolvePlatformUrl,
1362
- useResolveDashboardExtensionUrl,
1363
- useResolveDashboardExtensionDevUrl,
1364
- resolveDashboardExtensionUrl,
1365
- useOpenPage
1366
- };
1367
- //# sourceMappingURL=chunk-FTC5AK3Y.js.map