@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.
- package/build/{CreateVersionCommand-Z6F5IKH5.js → CreateVersionCommand-IEF6U34E.js} +15 -15
- package/build/{DevCommand-YFEZ4QV5.js → DevCommand-SOODXUEP.js} +438 -299
- package/build/DevCommand-SOODXUEP.js.map +1 -0
- package/build/{GenerateCommand-KCV4YDNN.js → GenerateCommand-ARNW73TM.js} +108 -43
- package/build/{GenerateCommand-KCV4YDNN.js.map → GenerateCommand-ARNW73TM.js.map} +1 -1
- package/build/{LogsCommand-VBMGVYNU.js → LogsCommand-7TW36YZX.js} +5 -5
- package/build/PreviewCommand-ZZKRP2GF.js +23 -0
- package/build/{ReleaseCommand-5F3FPBXT.js → ReleaseCommand-SB2WWSVP.js} +15 -15
- package/build/{ServeCommand-G4FF4PT3.js → ServeCommand-GZKF6AN3.js} +14 -14
- package/build/{build-XZI3USNB.js → build-LHCSCFBM.js} +38 -9
- package/build/build-LHCSCFBM.js.map +1 -0
- package/build/{chunk-QVGYU6D4.js → chunk-2DRVDGHR.js} +5 -5
- package/build/chunk-2DRVDGHR.js.map +1 -0
- package/build/{chunk-USAOCISL.js → chunk-4WKSS3PU.js} +4 -4
- package/build/{chunk-CNZ3Q5PF.js → chunk-5R5H3Y2D.js} +105 -161
- package/build/chunk-5R5H3Y2D.js.map +1 -0
- package/build/chunk-6IX6CDWB.js +27644 -0
- package/build/chunk-6IX6CDWB.js.map +1 -0
- package/build/{chunk-VZJZSWRE.js → chunk-6US7335E.js} +3 -3
- package/build/{chunk-WRWNJYKZ.js → chunk-A3FHJ4EK.js} +3 -3
- package/build/{chunk-PKSGXFYA.js → chunk-HKX5ODUN.js} +3 -3
- package/build/{chunk-HUWYF2ET.js → chunk-KCNEUOW2.js} +8 -8
- package/build/{chunk-O42QDBJU.js → chunk-KJR4P55M.js} +3 -3
- package/build/{chunk-5QZS3HT7.js → chunk-KVM6MGID.js} +3 -3
- package/build/{chunk-VXE3IWKR.js → chunk-LMFNRK6X.js} +2 -2
- package/build/{chunk-DGTJGIY2.js → chunk-LULKQBSP.js} +5125 -2917
- package/build/chunk-LULKQBSP.js.map +1 -0
- package/build/{chunk-IG6IV6VM.js → chunk-MTEB33GR.js} +3 -3
- package/build/{chunk-36W5H7IG.js → chunk-PM4M3SGC.js} +195 -177
- package/build/chunk-PM4M3SGC.js.map +1 -0
- package/build/{chunk-4VTDNX5T.js → chunk-UE7LDQKD.js} +2 -2
- package/build/{chunk-2PTCXTKF.js → chunk-UZXKDHQZ.js} +5 -5
- package/build/{chunk-WRPV7SLY.js → chunk-V75TFIXI.js} +193 -20
- package/build/chunk-V75TFIXI.js.map +1 -0
- package/build/{chunk-7CGRTCDC.js → chunk-YW2RBPPY.js} +3 -3
- package/build/{chunk-QZOQAFHK.js → chunk-ZR3N5INU.js} +8 -8
- package/build/chunk-ZR3N5INU.js.map +1 -0
- package/build/cloudflare-runtime/entry.js +7157 -52
- package/build/cloudflare-runtime/getRegisteredExtensions.js +7095 -15
- package/build/index.js +20 -20
- package/build/platform-sdk/chunk-3U6QUCP3.js +2 -0
- package/build/platform-sdk/chunk-3U6QUCP3.js.map +1 -0
- package/build/platform-sdk/{chunk-QV4VBCJB.js → chunk-FLUCZ5U6.js} +2 -2
- package/build/platform-sdk/chunk-VXQAZIAE.js +2 -0
- package/build/platform-sdk/{chunk-EERHWVVD.js.map → chunk-VXQAZIAE.js.map} +1 -1
- package/build/platform-sdk/chunk-ZM5O3GFB.js +2 -0
- package/build/platform-sdk/chunk-ZM5O3GFB.js.map +1 -0
- package/build/platform-sdk/dashboard.js +1 -1
- package/build/platform-sdk/dashboard.js.map +1 -1
- package/build/platform-sdk/editor.js +2 -2
- package/build/platform-sdk/editor.js.map +1 -1
- package/build/platform-sdk/sdk-context.js +1 -1
- package/build/platform-sdk/sdk-context.js.map +1 -1
- package/build/platform-sdk/site.js +1 -1
- package/build/platform-sdk/site.js.map +1 -1
- package/build/platform-sdk/web-methods.js +1 -1
- package/build/platform-sdk/web-methods.js.map +1 -1
- package/build/{preview-VAHHFTRZ.js → preview-ZAKEXAJH.js} +13 -13
- package/build/{render-command-3AYSQXHN.js → render-command-XMQH723O.js} +6 -6
- package/package.json +8 -6
- package/schemas/custom-element.json +1 -1
- package/templates/custom-element/files/element.module.css.ejs +18 -5
- package/templates/custom-element/files/element.tsx.ejs +8 -5
- package/templates/custom-element/files/panel.tsx.ejs +25 -12
- package/templates/web-method/dependencies.json +5 -0
- package/templates/web-method/files/placeholder.ts.ejs +9 -2
- package/build/DevCommand-YFEZ4QV5.js.map +0 -1
- package/build/PreviewCommand-3OMHWDW6.js +0 -23
- package/build/build-XZI3USNB.js.map +0 -1
- package/build/chunk-36W5H7IG.js.map +0 -1
- package/build/chunk-CNZ3Q5PF.js.map +0 -1
- package/build/chunk-DGTJGIY2.js.map +0 -1
- package/build/chunk-FTC5AK3Y.js +0 -1367
- package/build/chunk-FTC5AK3Y.js.map +0 -1
- package/build/chunk-QVGYU6D4.js.map +0 -1
- package/build/chunk-QZOQAFHK.js.map +0 -1
- package/build/chunk-WRPV7SLY.js.map +0 -1
- package/build/platform-sdk/chunk-42XIZ4MH.js +0 -2
- package/build/platform-sdk/chunk-42XIZ4MH.js.map +0 -1
- package/build/platform-sdk/chunk-7EYXEF6M.js +0 -2
- package/build/platform-sdk/chunk-7EYXEF6M.js.map +0 -1
- package/build/platform-sdk/chunk-EERHWVVD.js +0 -2
- /package/build/{CreateVersionCommand-Z6F5IKH5.js.map → CreateVersionCommand-IEF6U34E.js.map} +0 -0
- /package/build/{LogsCommand-VBMGVYNU.js.map → LogsCommand-7TW36YZX.js.map} +0 -0
- /package/build/{PreviewCommand-3OMHWDW6.js.map → PreviewCommand-ZZKRP2GF.js.map} +0 -0
- /package/build/{ReleaseCommand-5F3FPBXT.js.map → ReleaseCommand-SB2WWSVP.js.map} +0 -0
- /package/build/{ServeCommand-G4FF4PT3.js.map → ServeCommand-GZKF6AN3.js.map} +0 -0
- /package/build/{chunk-USAOCISL.js.map → chunk-4WKSS3PU.js.map} +0 -0
- /package/build/{chunk-VZJZSWRE.js.map → chunk-6US7335E.js.map} +0 -0
- /package/build/{chunk-WRWNJYKZ.js.map → chunk-A3FHJ4EK.js.map} +0 -0
- /package/build/{chunk-PKSGXFYA.js.map → chunk-HKX5ODUN.js.map} +0 -0
- /package/build/{chunk-HUWYF2ET.js.map → chunk-KCNEUOW2.js.map} +0 -0
- /package/build/{chunk-O42QDBJU.js.map → chunk-KJR4P55M.js.map} +0 -0
- /package/build/{chunk-5QZS3HT7.js.map → chunk-KVM6MGID.js.map} +0 -0
- /package/build/{chunk-VXE3IWKR.js.map → chunk-LMFNRK6X.js.map} +0 -0
- /package/build/{chunk-IG6IV6VM.js.map → chunk-MTEB33GR.js.map} +0 -0
- /package/build/{chunk-4VTDNX5T.js.map → chunk-UE7LDQKD.js.map} +0 -0
- /package/build/{chunk-2PTCXTKF.js.map → chunk-UZXKDHQZ.js.map} +0 -0
- /package/build/{chunk-7CGRTCDC.js.map → chunk-YW2RBPPY.js.map} +0 -0
- /package/build/platform-sdk/{chunk-QV4VBCJB.js.map → chunk-FLUCZ5U6.js.map} +0 -0
- /package/build/{preview-VAHHFTRZ.js.map → preview-ZAKEXAJH.js.map} +0 -0
- /package/build/{render-command-3AYSQXHN.js.map → render-command-XMQH723O.js.map} +0 -0
|
@@ -5,24 +5,24 @@ import {
|
|
|
5
5
|
SiteState,
|
|
6
6
|
resolveConfiguredSite,
|
|
7
7
|
useSiteListClient
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-6IX6CDWB.js";
|
|
9
9
|
import {
|
|
10
10
|
useDebugLog
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-KVM6MGID.js";
|
|
12
12
|
import {
|
|
13
13
|
APP_CONFIG_PATH,
|
|
14
14
|
BiProvider,
|
|
15
|
+
SiteAuthProvider,
|
|
15
16
|
TimeoutError,
|
|
16
17
|
openBrowser,
|
|
17
18
|
pWaitFor,
|
|
18
19
|
saveAppConfig,
|
|
19
20
|
useBiLogger,
|
|
20
21
|
useDevCenterClient,
|
|
21
|
-
useHttpClient,
|
|
22
22
|
useProjectModel,
|
|
23
23
|
wixCliAction,
|
|
24
24
|
wixCliAppFlowStepsAnswers
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-LULKQBSP.js";
|
|
26
26
|
import {
|
|
27
27
|
Alert,
|
|
28
28
|
Badge,
|
|
@@ -42,9 +42,8 @@ import {
|
|
|
42
42
|
useAsyncCallback,
|
|
43
43
|
useExit,
|
|
44
44
|
useTranslation,
|
|
45
|
-
use_input_default
|
|
46
|
-
|
|
47
|
-
} from "./chunk-36W5H7IG.js";
|
|
45
|
+
use_input_default
|
|
46
|
+
} from "./chunk-PM4M3SGC.js";
|
|
48
47
|
import {
|
|
49
48
|
__toESM,
|
|
50
49
|
init_esm_shims
|
|
@@ -52,12 +51,12 @@ import {
|
|
|
52
51
|
|
|
53
52
|
// src/site/SiteProvider.tsx
|
|
54
53
|
init_esm_shims();
|
|
55
|
-
var
|
|
54
|
+
var import_react10 = __toESM(require_react(), 1);
|
|
56
55
|
var import_variant7 = __toESM(require_lib(), 1);
|
|
57
56
|
|
|
58
57
|
// src/site/ResolveSite.tsx
|
|
59
58
|
init_esm_shims();
|
|
60
|
-
var
|
|
59
|
+
var import_react9 = __toESM(require_react(), 1);
|
|
61
60
|
var import_variant6 = __toESM(require_lib(), 1);
|
|
62
61
|
|
|
63
62
|
// ../cli-site-selector/src/index.ts
|
|
@@ -65,7 +64,7 @@ init_esm_shims();
|
|
|
65
64
|
|
|
66
65
|
// ../cli-site-selector/src/SiteSelector.tsx
|
|
67
66
|
init_esm_shims();
|
|
68
|
-
var
|
|
67
|
+
var import_react8 = __toESM(require_react(), 1);
|
|
69
68
|
var import_variant5 = __toESM(require_lib(), 1);
|
|
70
69
|
|
|
71
70
|
// ../cli-site-selector/src/SiteTypeSelect.tsx
|
|
@@ -167,92 +166,17 @@ var SiteTypeSelect = ({ onSubmit, onError, sites }) => {
|
|
|
167
166
|
|
|
168
167
|
// ../cli-site-selector/src/CreateDevSite.tsx
|
|
169
168
|
init_esm_shims();
|
|
170
|
-
var
|
|
169
|
+
var import_react5 = __toESM(require_react(), 1);
|
|
171
170
|
var import_variant3 = __toESM(require_lib(), 1);
|
|
172
171
|
|
|
173
172
|
// ../cli-site-selector/src/WaitForAppToBeInstalled.tsx
|
|
174
173
|
init_esm_shims();
|
|
175
|
-
var
|
|
176
|
-
|
|
177
|
-
// ../metasite-manager-client/src/index.ts
|
|
178
|
-
init_esm_shims();
|
|
179
|
-
|
|
180
|
-
// ../metasite-manager-client/src/useMetasiteManagerClient.ts
|
|
181
|
-
init_esm_shims();
|
|
182
|
-
var import_react3 = __toESM(require_react(), 1);
|
|
183
|
-
|
|
184
|
-
// ../metasite-manager-client/src/metasite-manager-client.ts
|
|
185
|
-
init_esm_shims();
|
|
186
|
-
|
|
187
|
-
// ../metasite-manager-client/src/schemas.ts
|
|
188
|
-
init_esm_shims();
|
|
189
|
-
var clientSpecMapSchema = z.record(
|
|
190
|
-
z.object({
|
|
191
|
-
appDefinitionId: z.string().optional(),
|
|
192
|
-
permissions: z.object({ revoked: z.boolean() }).optional()
|
|
193
|
-
})
|
|
194
|
-
);
|
|
195
|
-
|
|
196
|
-
// ../metasite-manager-client/src/metasite-manager-client.ts
|
|
197
|
-
var MetasiteManagerClient = class {
|
|
198
|
-
constructor(httpClient) {
|
|
199
|
-
this.httpClient = httpClient;
|
|
200
|
-
}
|
|
201
|
-
getClientSpecMap = async (metaSiteId) => {
|
|
202
|
-
try {
|
|
203
|
-
const { data } = await this.httpClient.request({
|
|
204
|
-
url: `/_api/msm/v1/meta-site/editor-client-spec-map/${metaSiteId}`
|
|
205
|
-
});
|
|
206
|
-
return clientSpecMapSchema.parse(data);
|
|
207
|
-
} catch (e) {
|
|
208
|
-
throw new CliError({
|
|
209
|
-
code: CliErrorCode.FailedToGetClientSpecMap(),
|
|
210
|
-
cause: e
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
};
|
|
214
|
-
getSiteInstalledApps = async (metaSiteId) => {
|
|
215
|
-
try {
|
|
216
|
-
const clientSpecMap = await this.getClientSpecMap(metaSiteId);
|
|
217
|
-
return Object.values(clientSpecMap).filter((spec) => spec.appDefinitionId && !spec.permissions?.revoked).map((spec) => spec.appDefinitionId);
|
|
218
|
-
} catch (e) {
|
|
219
|
-
throw new CliError({
|
|
220
|
-
code: CliErrorCode.FailedToGetSiteInstalledApps(),
|
|
221
|
-
cause: e
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
};
|
|
225
|
-
isAppInstalled = async ({
|
|
226
|
-
metaSiteId,
|
|
227
|
-
appId
|
|
228
|
-
}) => {
|
|
229
|
-
try {
|
|
230
|
-
const clientSpecMap = await this.getClientSpecMap(metaSiteId);
|
|
231
|
-
const isInstalled = Object.values(clientSpecMap).some(
|
|
232
|
-
(spec) => spec.appDefinitionId === appId && !spec.permissions?.revoked
|
|
233
|
-
);
|
|
234
|
-
return isInstalled;
|
|
235
|
-
} catch (e) {
|
|
236
|
-
throw new CliError({
|
|
237
|
-
code: CliErrorCode.FailedToCheckIfAppInstalled(),
|
|
238
|
-
cause: e
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
};
|
|
242
|
-
};
|
|
243
|
-
|
|
244
|
-
// ../metasite-manager-client/src/useMetasiteManagerClient.ts
|
|
245
|
-
function useMetasiteManagerClient() {
|
|
246
|
-
const httpClient = useHttpClient({ type: "general" });
|
|
247
|
-
return (0, import_react3.useMemo)(() => new MetasiteManagerClient(httpClient), [httpClient]);
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
// ../cli-site-selector/src/WaitForAppToBeInstalled.tsx
|
|
174
|
+
var import_react4 = __toESM(require_react(), 1);
|
|
251
175
|
var import_variant2 = __toESM(require_lib(), 1);
|
|
252
176
|
|
|
253
177
|
// ../cli-site-selector/src/OpenBrowser.tsx
|
|
254
178
|
init_esm_shims();
|
|
255
|
-
var
|
|
179
|
+
var import_react3 = __toESM(require_react(), 1);
|
|
256
180
|
var OpenBrowser = ({ siteId, appId }) => {
|
|
257
181
|
const { t } = useTranslation();
|
|
258
182
|
const bi = useSiteSelectorBi();
|
|
@@ -268,11 +192,11 @@ var OpenBrowser = ({ siteId, appId }) => {
|
|
|
268
192
|
);
|
|
269
193
|
}
|
|
270
194
|
});
|
|
271
|
-
return /* @__PURE__ */
|
|
195
|
+
return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(Trans, { i18nKey: "install_app_on_site.warning" }), /* @__PURE__ */ import_react3.default.createElement(
|
|
272
196
|
Trans,
|
|
273
197
|
{
|
|
274
198
|
i18nKey: "install_app_on_site.warning.instructions",
|
|
275
|
-
components: [/* @__PURE__ */
|
|
199
|
+
components: [/* @__PURE__ */ import_react3.default.createElement(Key, { value: "Enter" })]
|
|
276
200
|
}
|
|
277
201
|
));
|
|
278
202
|
};
|
|
@@ -291,13 +215,14 @@ var WaitForAppToBeInstalled = ({
|
|
|
291
215
|
onSubmit,
|
|
292
216
|
onError
|
|
293
217
|
}) => {
|
|
294
|
-
const { isAppInstalled } =
|
|
218
|
+
const { isAppInstalled } = useDevCenterClient();
|
|
295
219
|
const { status } = useAsync(
|
|
296
220
|
async ({ signal }) => {
|
|
297
|
-
const {
|
|
221
|
+
const { pollInterval } = getTestOverrides();
|
|
298
222
|
try {
|
|
299
|
-
await pWaitFor(() => isAppInstalled(
|
|
300
|
-
interval
|
|
223
|
+
await pWaitFor(() => isAppInstalled(appId), {
|
|
224
|
+
// Polling interval is set to 6.5 seconds to avoid rate limiting (429)
|
|
225
|
+
interval: pollInterval ?? 6500,
|
|
301
226
|
timeout: {
|
|
302
227
|
milliseconds: 60 * 1e3 * 2,
|
|
303
228
|
signal
|
|
@@ -329,8 +254,8 @@ var WaitForAppToBeInstalled = ({
|
|
|
329
254
|
);
|
|
330
255
|
return (0, import_variant2.match)(status, {
|
|
331
256
|
Error: () => null,
|
|
332
|
-
Loading: () => /* @__PURE__ */
|
|
333
|
-
Success: () => /* @__PURE__ */
|
|
257
|
+
Loading: () => /* @__PURE__ */ import_react4.default.createElement(OpenBrowser, { siteId: site.id, appId }),
|
|
258
|
+
Success: () => /* @__PURE__ */ import_react4.default.createElement(Alert, { type: "success" }, /* @__PURE__ */ import_react4.default.createElement(Badge, { skin: "success" }, /* @__PURE__ */ import_react4.default.createElement(Trans, { i18nKey: "general.success" })), " ", /* @__PURE__ */ import_react4.default.createElement(Trans, { i18nKey: "install_app_on_site.finished_successfully" }))
|
|
334
259
|
});
|
|
335
260
|
};
|
|
336
261
|
|
|
@@ -345,15 +270,15 @@ var CreateDevSite = ({
|
|
|
345
270
|
return (0, import_variant3.match)(status, {
|
|
346
271
|
NotRequested: () => null,
|
|
347
272
|
Error: () => null,
|
|
348
|
-
Loading: () => /* @__PURE__ */
|
|
349
|
-
Success: ({ result }) => /* @__PURE__ */
|
|
273
|
+
Loading: () => /* @__PURE__ */ import_react5.default.createElement(Spinner, { text: t("create_dev_site.loading") }),
|
|
274
|
+
Success: ({ result }) => /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, /* @__PURE__ */ import_react5.default.createElement(
|
|
350
275
|
Trans,
|
|
351
276
|
{
|
|
352
277
|
i18nKey: "create_dev_site.success",
|
|
353
|
-
components: [/* @__PURE__ */
|
|
278
|
+
components: [/* @__PURE__ */ import_react5.default.createElement(Text, { skin: "success", bold: true })],
|
|
354
279
|
values: { name: result.displayName }
|
|
355
280
|
}
|
|
356
|
-
), /* @__PURE__ */
|
|
281
|
+
), /* @__PURE__ */ import_react5.default.createElement(SiteAuthProvider, { siteId: result.id }, /* @__PURE__ */ import_react5.default.createElement(
|
|
357
282
|
WaitForAppToBeInstalled,
|
|
358
283
|
{
|
|
359
284
|
appId,
|
|
@@ -361,39 +286,22 @@ var CreateDevSite = ({
|
|
|
361
286
|
onSubmit: () => onSubmit(result),
|
|
362
287
|
onError
|
|
363
288
|
}
|
|
364
|
-
))
|
|
289
|
+
)))
|
|
365
290
|
});
|
|
366
291
|
};
|
|
367
292
|
|
|
368
|
-
// ../cli-site-selector/src/messages.json
|
|
369
|
-
var messages_default = {
|
|
370
|
-
"general.loading": "Loading...",
|
|
371
|
-
"general.success": "Success",
|
|
372
|
-
"site_type_select.label": "Select Development Site",
|
|
373
|
-
"site_type_select.create_new_dev_site": "Create a new Development Site",
|
|
374
|
-
"site_type_select.create_new_dev_site.disabled": "You have reached the maximum number of {limit} Development Sites",
|
|
375
|
-
"site_type_select.pick_existing_site": "Pick an existing site",
|
|
376
|
-
"site_type_select.no_sites": "No sites found",
|
|
377
|
-
"create_dev_site.loading": "Creating your new Development Site...",
|
|
378
|
-
"create_dev_site.success": "Development Site <0>{name}</0> created successfully! \u{1F680}",
|
|
379
|
-
"site_list_select.label": "Select Site",
|
|
380
|
-
"install_app_on_site.warning": "Your new application needs to be installed on the selected Development Site",
|
|
381
|
-
"install_app_on_site.warning.instructions": "Press <0/> to install the application in your browser",
|
|
382
|
-
"install_app_on_site.finished_successfully": "App installed on Development Site."
|
|
383
|
-
};
|
|
384
|
-
|
|
385
293
|
// ../cli-site-selector/src/SelectExistingSite.tsx
|
|
386
294
|
init_esm_shims();
|
|
387
|
-
var
|
|
295
|
+
var import_react7 = __toESM(require_react(), 1);
|
|
388
296
|
var import_variant4 = __toESM(require_lib(), 1);
|
|
389
297
|
|
|
390
298
|
// ../cli-site-selector/src/SiteListSelect.tsx
|
|
391
299
|
init_esm_shims();
|
|
392
|
-
var
|
|
300
|
+
var import_react6 = __toESM(require_react(), 1);
|
|
393
301
|
var SiteListSelect = ({ onSubmit, sites }) => {
|
|
394
302
|
const { t } = useTranslation();
|
|
395
303
|
const bi = useSiteSelectorBi();
|
|
396
|
-
const handleSubmit = (0,
|
|
304
|
+
const handleSubmit = (0, import_react6.useCallback)(
|
|
397
305
|
(option) => {
|
|
398
306
|
bi.cliFlowStepAnswered({
|
|
399
307
|
question: t("site_list_select.label"),
|
|
@@ -403,7 +311,7 @@ var SiteListSelect = ({ onSubmit, sites }) => {
|
|
|
403
311
|
},
|
|
404
312
|
[bi, onSubmit, t]
|
|
405
313
|
);
|
|
406
|
-
return /* @__PURE__ */
|
|
314
|
+
return /* @__PURE__ */ import_react6.default.createElement(
|
|
407
315
|
SelectInput,
|
|
408
316
|
{
|
|
409
317
|
label: t("site_list_select.label"),
|
|
@@ -419,40 +327,77 @@ var SiteListSelect = ({ onSubmit, sites }) => {
|
|
|
419
327
|
};
|
|
420
328
|
|
|
421
329
|
// ../cli-site-selector/src/SelectExistingSite.tsx
|
|
330
|
+
var CheckAppInstalledOnSite = ({ appId, site, onSubmit, onError }) => {
|
|
331
|
+
const { t } = useTranslation();
|
|
332
|
+
const { isAppInstalled } = useDevCenterClient();
|
|
333
|
+
const { status } = useAsync(async () => isAppInstalled(appId), [], {
|
|
334
|
+
onError,
|
|
335
|
+
onSuccess: (isInstalled) => {
|
|
336
|
+
if (isInstalled) {
|
|
337
|
+
onSubmit(site);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
});
|
|
341
|
+
return (0, import_variant4.match)(status, {
|
|
342
|
+
Error: () => null,
|
|
343
|
+
Loading: () => /* @__PURE__ */ import_react7.default.createElement(Spinner, { text: t("general.loading") }),
|
|
344
|
+
Success: ({ result: isInstalled }) => {
|
|
345
|
+
if (isInstalled) {
|
|
346
|
+
return null;
|
|
347
|
+
}
|
|
348
|
+
return /* @__PURE__ */ import_react7.default.createElement(
|
|
349
|
+
WaitForAppToBeInstalled,
|
|
350
|
+
{
|
|
351
|
+
appId,
|
|
352
|
+
site,
|
|
353
|
+
onSubmit: () => onSubmit(site),
|
|
354
|
+
onError
|
|
355
|
+
}
|
|
356
|
+
);
|
|
357
|
+
}
|
|
358
|
+
});
|
|
359
|
+
};
|
|
422
360
|
var SelectExistingSite = ({
|
|
423
361
|
sites,
|
|
424
362
|
appId,
|
|
425
363
|
onSubmit,
|
|
426
364
|
onError
|
|
427
365
|
}) => {
|
|
428
|
-
const
|
|
429
|
-
const { isAppInstalled } = useMetasiteManagerClient();
|
|
430
|
-
const [siteToInstallAppOn, setSiteToInstallAppOn] = (0, import_react8.useState)(
|
|
366
|
+
const [siteToInstallAppOn, setSiteToInstallAppOn] = (0, import_react7.useState)(
|
|
431
367
|
null
|
|
432
368
|
);
|
|
433
|
-
|
|
434
|
-
|
|
369
|
+
return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement(
|
|
370
|
+
SiteListSelect,
|
|
435
371
|
{
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
);
|
|
439
|
-
async function handleSelectSite(site) {
|
|
440
|
-
const isInstalled = await checkAppInstalled.execute(site);
|
|
441
|
-
if (isInstalled) {
|
|
442
|
-
onSubmit(site);
|
|
443
|
-
} else {
|
|
444
|
-
setSiteToInstallAppOn(site);
|
|
372
|
+
onSubmit: (site) => setSiteToInstallAppOn(site),
|
|
373
|
+
sites
|
|
445
374
|
}
|
|
446
|
-
}
|
|
447
|
-
|
|
448
|
-
WaitForAppToBeInstalled,
|
|
375
|
+
), siteToInstallAppOn && /* @__PURE__ */ import_react7.default.createElement(SiteAuthProvider, { siteId: siteToInstallAppOn.id }, /* @__PURE__ */ import_react7.default.createElement(
|
|
376
|
+
CheckAppInstalledOnSite,
|
|
449
377
|
{
|
|
450
378
|
appId,
|
|
451
379
|
site: siteToInstallAppOn,
|
|
452
380
|
onSubmit: () => onSubmit(siteToInstallAppOn),
|
|
453
381
|
onError
|
|
454
382
|
}
|
|
455
|
-
));
|
|
383
|
+
)));
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
// ../cli-site-selector/src/messages.json
|
|
387
|
+
var messages_default = {
|
|
388
|
+
"general.loading": "Loading...",
|
|
389
|
+
"general.success": "Success",
|
|
390
|
+
"site_type_select.label": "Select Development Site",
|
|
391
|
+
"site_type_select.create_new_dev_site": "Create a new Development Site",
|
|
392
|
+
"site_type_select.create_new_dev_site.disabled": "You have reached the maximum number of {limit} Development Sites",
|
|
393
|
+
"site_type_select.pick_existing_site": "Pick an existing site",
|
|
394
|
+
"site_type_select.no_sites": "No sites found",
|
|
395
|
+
"create_dev_site.loading": "Creating your new Development Site...",
|
|
396
|
+
"create_dev_site.success": "Development Site <0>{name}</0> created successfully! \u{1F680}",
|
|
397
|
+
"site_list_select.label": "Select Site",
|
|
398
|
+
"install_app_on_site.warning": "Your new application needs to be installed on the selected Development Site",
|
|
399
|
+
"install_app_on_site.warning.instructions": "Press <0/> to install the application in your browser",
|
|
400
|
+
"install_app_on_site.finished_successfully": "App installed on Development Site."
|
|
456
401
|
};
|
|
457
402
|
|
|
458
403
|
// ../cli-site-selector/src/SiteSelector.tsx
|
|
@@ -462,7 +407,7 @@ var SiteSelector = ({
|
|
|
462
407
|
onSubmit,
|
|
463
408
|
onError
|
|
464
409
|
}) => {
|
|
465
|
-
const [siteType, setSiteType] = (0,
|
|
410
|
+
const [siteType, setSiteType] = (0, import_react8.useState)(null);
|
|
466
411
|
const { createDevSite } = useDevCenterClient();
|
|
467
412
|
const siteListClient = useSiteListClient();
|
|
468
413
|
const { status } = useAsync(
|
|
@@ -487,17 +432,17 @@ var SiteSelector = ({
|
|
|
487
432
|
void createSite.execute();
|
|
488
433
|
}
|
|
489
434
|
}
|
|
490
|
-
return /* @__PURE__ */
|
|
435
|
+
return /* @__PURE__ */ import_react8.default.createElement(BiProvider, { value: biLogger }, /* @__PURE__ */ import_react8.default.createElement(I18nProvider, { messages: messages_default }, (0, import_variant5.match)(status, {
|
|
491
436
|
Error: () => null,
|
|
492
|
-
Loading: () => /* @__PURE__ */
|
|
493
|
-
Success: ({ result: sites }) => /* @__PURE__ */
|
|
437
|
+
Loading: () => /* @__PURE__ */ import_react8.default.createElement(Spinner, { text: /* @__PURE__ */ import_react8.default.createElement(Trans, { i18nKey: "general.loading" }) }),
|
|
438
|
+
Success: ({ result: sites }) => /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, /* @__PURE__ */ import_react8.default.createElement(
|
|
494
439
|
SiteTypeSelect,
|
|
495
440
|
{
|
|
496
441
|
onSubmit: handleSelectSiteType,
|
|
497
442
|
onError,
|
|
498
443
|
sites
|
|
499
444
|
}
|
|
500
|
-
), siteType === "create-dev-site" && /* @__PURE__ */
|
|
445
|
+
), siteType === "create-dev-site" && /* @__PURE__ */ import_react8.default.createElement(
|
|
501
446
|
CreateDevSite,
|
|
502
447
|
{
|
|
503
448
|
status: createSite.status,
|
|
@@ -505,7 +450,7 @@ var SiteSelector = ({
|
|
|
505
450
|
onSubmit,
|
|
506
451
|
onError
|
|
507
452
|
}
|
|
508
|
-
), siteType === "select-existing-site" && /* @__PURE__ */
|
|
453
|
+
), siteType === "select-existing-site" && /* @__PURE__ */ import_react8.default.createElement(
|
|
509
454
|
SelectExistingSite,
|
|
510
455
|
{
|
|
511
456
|
sites,
|
|
@@ -523,12 +468,12 @@ var ResolveSite = ({ state, onSubmit }) => {
|
|
|
523
468
|
const { t } = useTranslation();
|
|
524
469
|
const { model } = useProjectModel();
|
|
525
470
|
const biLogger = useBiLogger();
|
|
526
|
-
return /* @__PURE__ */
|
|
471
|
+
return /* @__PURE__ */ import_react9.default.createElement(import_react9.default.Fragment, null, (0, import_variant6.match)(state, {
|
|
527
472
|
NotConfigured: (0, import_variant6.constant)(
|
|
528
|
-
/* @__PURE__ */
|
|
473
|
+
/* @__PURE__ */ import_react9.default.createElement(Alert, { type: "insight" }, t("general.no_site_id_configured"))
|
|
529
474
|
),
|
|
530
|
-
NotFound: ({ id }) => /* @__PURE__ */
|
|
531
|
-
}), /* @__PURE__ */
|
|
475
|
+
NotFound: ({ id }) => /* @__PURE__ */ import_react9.default.createElement(Alert, { type: "error" }, t("general.site_id_not_found", { id }))
|
|
476
|
+
}), /* @__PURE__ */ import_react9.default.createElement(
|
|
532
477
|
SiteSelector,
|
|
533
478
|
{
|
|
534
479
|
appId: model.config.appId,
|
|
@@ -557,7 +502,7 @@ var SiteProvider = ({ children, siteId }) => {
|
|
|
557
502
|
}),
|
|
558
503
|
[]
|
|
559
504
|
);
|
|
560
|
-
const setSite = (0,
|
|
505
|
+
const setSite = (0, import_react10.useCallback)(
|
|
561
506
|
async (site) => {
|
|
562
507
|
try {
|
|
563
508
|
await saveAppConfig(projectFolder, { siteId: site.id });
|
|
@@ -573,18 +518,18 @@ var SiteProvider = ({ children, siteId }) => {
|
|
|
573
518
|
},
|
|
574
519
|
[merge, projectFolder]
|
|
575
520
|
);
|
|
576
|
-
const handleResolveSite = (0,
|
|
521
|
+
const handleResolveSite = (0, import_react10.useCallback)(
|
|
577
522
|
(site) => setSite(site).catch(exit),
|
|
578
523
|
[exit, setSite]
|
|
579
524
|
);
|
|
580
525
|
return (0, import_variant7.match)(status, {
|
|
581
526
|
Error: () => null,
|
|
582
|
-
Loading: () => /* @__PURE__ */
|
|
527
|
+
Loading: () => /* @__PURE__ */ import_react10.default.createElement(Spinner, { text: t("dev_command.site_provider.loading") }),
|
|
583
528
|
Success: ({ result: state }) => {
|
|
584
529
|
return (0, import_variant7.match)(state, {
|
|
585
|
-
NotConfigured: (variant2) => /* @__PURE__ */
|
|
586
|
-
NotFound: (variant2) => /* @__PURE__ */
|
|
587
|
-
Resolved: ({ site }) => /* @__PURE__ */
|
|
530
|
+
NotConfigured: (variant2) => /* @__PURE__ */ import_react10.default.createElement(ResolveSite, { state: variant2, onSubmit: handleResolveSite }),
|
|
531
|
+
NotFound: (variant2) => /* @__PURE__ */ import_react10.default.createElement(ResolveSite, { state: variant2, onSubmit: handleResolveSite }),
|
|
532
|
+
Resolved: ({ site }) => /* @__PURE__ */ import_react10.default.createElement(
|
|
588
533
|
SiteContext.Provider,
|
|
589
534
|
{
|
|
590
535
|
value: {
|
|
@@ -604,17 +549,17 @@ init_esm_shims();
|
|
|
604
549
|
|
|
605
550
|
// src/components/Platform/usePlatform.tsx
|
|
606
551
|
init_esm_shims();
|
|
607
|
-
var
|
|
552
|
+
var import_react11 = __toESM(require_react(), 1);
|
|
608
553
|
var import_variant8 = __toESM(require_lib(), 1);
|
|
609
554
|
function usePlatform() {
|
|
610
555
|
const { model } = useProjectModel();
|
|
611
|
-
const isPlatformExists = (0,
|
|
556
|
+
const isPlatformExists = (0, import_react11.useCallback)(
|
|
612
557
|
(platformType) => model.components.some(
|
|
613
558
|
(component) => component.platforms.some((0, import_variant8.isType)(platformType.type))
|
|
614
559
|
),
|
|
615
560
|
[model.components]
|
|
616
561
|
);
|
|
617
|
-
const hasSinglePlatform = (0,
|
|
562
|
+
const hasSinglePlatform = (0, import_react11.useCallback)(
|
|
618
563
|
(platformType) => model.components.every(
|
|
619
564
|
(component) => component.platforms.some((0, import_variant8.isType)(platformType.type)) || component.platforms.length === 0
|
|
620
565
|
),
|
|
@@ -627,9 +572,8 @@ function usePlatform() {
|
|
|
627
572
|
}
|
|
628
573
|
|
|
629
574
|
export {
|
|
630
|
-
useMetasiteManagerClient,
|
|
631
575
|
SiteSelector,
|
|
632
576
|
SiteProvider,
|
|
633
577
|
usePlatform
|
|
634
578
|
};
|
|
635
|
-
//# sourceMappingURL=chunk-
|
|
579
|
+
//# sourceMappingURL=chunk-5R5H3Y2D.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/site/SiteProvider.tsx","../src/site/ResolveSite.tsx","../../cli-site-selector/src/index.ts","../../cli-site-selector/src/SiteSelector.tsx","../../cli-site-selector/src/SiteTypeSelect.tsx","../../cli-site-selector/src/bi.ts","../../cli-site-selector/src/CreateDevSite.tsx","../../cli-site-selector/src/WaitForAppToBeInstalled.tsx","../../cli-site-selector/src/OpenBrowser.tsx","../../cli-site-selector/src/SelectExistingSite.tsx","../../cli-site-selector/src/SiteListSelect.tsx","../../cli-site-selector/src/messages.json","../src/site/index.ts","../src/components/Platform/usePlatform.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport { match } from 'variant';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { APP_CONFIG_PATH } from '@wix/cli-app-definitions';\nimport { useAsync, useExit, Spinner } from '@wix/cli-ui-kit';\nimport { useSiteListClient } from '@wix/site-list-client';\nimport type { Site } from '@wix/site-list-client';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { saveAppConfig } from '../files/app.config.js';\nimport { useProjectModel } from '../model.js';\nimport { ResolveSite } from './ResolveSite.js';\nimport { SiteContext } from './context.js';\nimport { SiteState } from './site-state.js';\nimport { resolveConfiguredSite } from './resolve-configured-site.js';\n\nexport const SiteProvider: FC<{\n siteId?: string;\n children: ReactNode | ((site: Site) => ReactNode);\n}> = ({ children, siteId }) => {\n const exit = useExit();\n const {\n model: { projectFolder },\n } = useProjectModel();\n const writeDebugLog = useDebugLog();\n const siteListClient = useSiteListClient();\n const { t } = useTranslation();\n\n const { status, merge } = useAsync(\n async () =>\n resolveConfiguredSite({\n projectFolder,\n siteListClient,\n siteId,\n writeDebugLog,\n }),\n []\n );\n\n const setSite = useCallback(\n async (site: Site) => {\n try {\n await saveAppConfig(projectFolder, { siteId: site.id });\n merge({ result: SiteState.Resolved({ site }) });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToSaveDevelopmentSite({\n path: APP_CONFIG_PATH,\n }),\n cause: e,\n });\n }\n },\n [merge, projectFolder]\n );\n\n const handleResolveSite = useCallback(\n (site: Site) => setSite(site).catch(exit),\n [exit, setSite]\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('dev_command.site_provider.loading')} />,\n Success: ({ result: state }) => {\n return match(state, {\n NotConfigured: (variant) => (\n <ResolveSite state={variant} onSubmit={handleResolveSite} />\n ),\n NotFound: (variant) => (\n <ResolveSite state={variant} onSubmit={handleResolveSite} />\n ),\n Resolved: ({ site }) => (\n <SiteContext.Provider\n value={{\n site,\n setSite,\n }}\n >\n {typeof children === 'function' ? children(site) : children}\n </SiteContext.Provider>\n ),\n });\n },\n });\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match, constant } from 'variant';\nimport type { Site } from '@wix/site-list-client';\nimport { Alert, useExit } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { SiteSelector } from '@wix/cli-site-selector';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport { useProjectModel } from '../model.js';\nimport type { SiteState } from './site-state.js';\n\ninterface Props {\n state: SiteState<'NotConfigured' | 'NotFound'>;\n onSubmit: (site: Site) => void;\n}\n\nexport const ResolveSite: FC<Props> = ({ state, onSubmit }) => {\n const exit = useExit();\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const biLogger = useBiLogger();\n\n return (\n <>\n {match(state, {\n NotConfigured: constant(\n <Alert type=\"insight\">{t('general.no_site_id_configured')}</Alert>\n ),\n NotFound: ({ id }) => (\n <Alert type=\"error\">{t('general.site_id_not_found', { id })}</Alert>\n ),\n })}\n <SiteSelector\n appId={model.config.appId}\n biLogger={biLogger}\n onSubmit={onSubmit}\n onError={exit}\n />\n </>\n );\n};\n","export { SiteSelector } from './SiteSelector.js';\n","import React, { useState } from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { I18nProvider, Trans } from '@wix/cli-i18n';\nimport type { Site } from '@wix/site-list-client';\nimport { Spinner, useAsync, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { useSiteListClient } from '@wix/site-list-client';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport { BiProvider } from '@wix/cli-telemetry-react';\nimport { SiteTypeSelect } from './SiteTypeSelect.js';\nimport type { SiteType } from './SiteTypeSelect.js';\nimport { CreateDevSite } from './CreateDevSite.js';\nimport { SelectExistingSite } from './SelectExistingSite.js';\nimport messages from './messages.json';\n\ninterface Props {\n appId: string;\n biLogger: BiLogger;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SiteSelector: FC<Props> = ({\n appId,\n biLogger,\n onSubmit,\n onError,\n}) => {\n const [siteType, setSiteType] = useState<SiteType | null>(null);\n const { createDevSite } = useDevCenterClient();\n const siteListClient = useSiteListClient();\n\n const { status } = useAsync(\n () =>\n siteListClient.querySites({\n query: {\n cursorPaging: {\n limit: 100,\n },\n },\n }),\n [],\n {\n onError,\n }\n );\n\n const createSite = useAsyncCallback(() => createDevSite(), {\n onError,\n });\n\n function handleSelectSiteType(siteType: SiteType) {\n setSiteType(siteType);\n if (siteType === 'create-dev-site') {\n void createSite.execute();\n }\n }\n\n return (\n <BiProvider value={biLogger}>\n <I18nProvider messages={messages}>\n {match(status, {\n Error: () => null,\n Loading: () => <Spinner text={<Trans i18nKey=\"general.loading\" />} />,\n Success: ({ result: sites }) => (\n <>\n <SiteTypeSelect\n onSubmit={handleSelectSiteType}\n onError={onError}\n sites={sites}\n />\n {siteType === 'create-dev-site' && (\n <CreateDevSite\n status={createSite.status}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n {siteType === 'select-existing-site' && (\n <SelectExistingSite\n sites={sites}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n </>\n ),\n })}\n </I18nProvider>\n </BiProvider>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport {\n Spinner,\n SelectInput,\n useAsync,\n SelectOptionAvailability,\n} from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport type { Site } from '@wix/site-list-client';\nimport { useSiteSelectorBi } from './bi.js';\n\nexport type SiteType = 'create-dev-site' | 'select-existing-site';\ninterface Props {\n onSubmit: (siteType: SiteType) => void;\n onError: (error: unknown) => void;\n sites: Site[];\n}\n\nexport const SiteTypeSelect: FC<Props> = ({ onSubmit, onError, sites }) => {\n const bi = useSiteSelectorBi();\n const { t } = useTranslation();\n const { getDevSitesCount, getDevSitesLimit } = useDevCenterClient();\n const { status } = useAsync(\n () => Promise.all([getDevSitesCount(), getDevSitesLimit()]),\n [],\n { onError }\n );\n\n const handleSubmit = (option: SelectOption<SiteType>) => {\n void bi.cliFlowStepAnswered({\n question: t('site_type_select.label'),\n answer: option.title,\n });\n onSubmit(option.value);\n };\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('general.loading')} />,\n Success: ({ result: [devSitesCount, devSitesLimit] }) => {\n const isDevSitesLimitReached = devSitesCount >= devSitesLimit;\n const userHasNoSites = sites.length === 0;\n\n return (\n <SelectInput<SiteType>\n label={t('site_type_select.label')}\n options={[\n {\n availability: userHasNoSites\n ? SelectOptionAvailability.Disabled({\n reason: t('site_type_select.no_sites'),\n })\n : SelectOptionAvailability.Enabled(),\n title: t('site_type_select.pick_existing_site'),\n value: 'select-existing-site',\n },\n {\n title: t('site_type_select.create_new_dev_site'),\n value: 'create-dev-site',\n availability: isDevSitesLimitReached\n ? SelectOptionAvailability.Disabled({\n reason: t('site_type_select.create_new_dev_site.disabled', {\n limit: devSitesLimit,\n }),\n })\n : SelectOptionAvailability.Enabled(),\n },\n ]}\n onSubmit={handleSubmit}\n />\n );\n },\n });\n};\n","import { useMemo } from 'react';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport {\n wixCliAction,\n wixCliAppFlowStepsAnswers,\n} from '@wix/bi-logger-dev-tools-data/v2';\n\nfunction siteSelectorBiEvents(biLogger: BiLogger) {\n return {\n cliAction: ({\n question,\n action,\n key,\n additionalInfo,\n }: {\n question: string;\n action: string;\n key: string;\n additionalInfo?: Record<string, unknown>;\n }) => {\n void biLogger.report(\n wixCliAction({\n question,\n action,\n key,\n additionalInfo: JSON.stringify(additionalInfo),\n })\n );\n },\n cliFlowStepAnswered: ({\n question,\n answer,\n additionalInfo,\n }: {\n question: string;\n answer: string;\n additionalInfo?: Record<string, unknown>;\n }) => {\n void biLogger.report(\n wixCliAppFlowStepsAnswers({\n question,\n answer,\n additionalInfo: JSON.stringify(additionalInfo),\n })\n );\n },\n };\n}\n\nexport function useSiteSelectorBi() {\n const biLogger = useBiLogger();\n return useMemo(() => siteSelectorBiEvents(biLogger), [biLogger]);\n}\n","import React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport type { AsyncCallbackStatus } from '@wix/cli-ui-kit';\nimport { Text, Spinner } from '@wix/cli-ui-kit';\nimport type { Site } from '@wix/site-list-client';\nimport { SiteAuthProvider } from '@wix/cli-auth';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\n\ninterface Props {\n status: AsyncCallbackStatus<Site>;\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const CreateDevSite: FC<Props> = ({\n status,\n appId,\n onSubmit,\n onError,\n}) => {\n const { t } = useTranslation();\n\n return match(status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => <Spinner text={t('create_dev_site.loading')} />,\n Success: ({ result }) => (\n <>\n <Trans\n i18nKey=\"create_dev_site.success\"\n components={[<Text skin=\"success\" bold />]}\n values={{ name: result.displayName }}\n />\n <SiteAuthProvider siteId={result.id}>\n <WaitForAppToBeInstalled\n appId={appId}\n site={result}\n onSubmit={() => onSubmit(result)}\n onError={onError}\n />\n </SiteAuthProvider>\n </>\n ),\n });\n};\n","import pWaitFor, { TimeoutError } from 'p-wait-for';\nimport React from 'react';\nimport type { FC } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { Alert, Badge, useAsync } from '@wix/cli-ui-kit';\nimport { isType, match, variant } from 'variant';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { Site } from '@wix/site-list-client';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { OpenBrowser } from './OpenBrowser.js';\n\ninterface Props {\n site: Site;\n appId: string;\n onSubmit: () => void;\n onError: (error: unknown) => void;\n}\n\nconst AppInstallData = variant({\n Success: {},\n Canceled: {},\n});\n\nfunction isAbortError(error: unknown) {\n return (\n error &&\n typeof error === 'object' &&\n 'name' in error &&\n error.name === 'AbortError'\n );\n}\n\nexport const WaitForAppToBeInstalled: FC<Props> = ({\n appId,\n site,\n onSubmit,\n onError,\n}) => {\n const { isAppInstalled } = useDevCenterClient();\n\n const { status } = useAsync(\n async ({ signal }) => {\n const { pollInterval } = getTestOverrides();\n\n try {\n await pWaitFor(() => isAppInstalled(appId), {\n // Polling interval is set to 6.5 seconds to avoid rate limiting (429)\n interval: pollInterval ?? 6500,\n timeout: {\n milliseconds: 60 * 1000 * 2,\n signal,\n },\n });\n\n return AppInstallData.Success();\n } catch (error) {\n if (error instanceof TimeoutError) {\n throw new CliError({\n code: CliErrorCode.SiteSelectorTimedout(),\n cause: error,\n });\n }\n\n if (isAbortError(error)) {\n return AppInstallData.Canceled();\n }\n\n throw error;\n }\n },\n [],\n {\n onError,\n onSuccess: (result) => {\n if (isType(result, AppInstallData.Success)) {\n onSubmit();\n }\n },\n }\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <OpenBrowser siteId={site.id} appId={appId} />,\n Success: () => (\n <Alert type=\"success\">\n <Badge skin=\"success\">\n <Trans i18nKey=\"general.success\" />\n </Badge>{' '}\n <Trans i18nKey=\"install_app_on_site.finished_successfully\" />\n </Alert>\n ),\n });\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Key, useInput } from '@wix/cli-ui-kit';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\nimport { useSiteSelectorBi } from './bi.js';\n\ninterface Props {\n siteId: string;\n appId: string;\n}\n\nexport const OpenBrowser: FC<Props> = ({ siteId, appId }) => {\n const { t } = useTranslation();\n const bi = useSiteSelectorBi();\n\n useInput(async (input, key) => {\n if (key.return) {\n bi.cliAction({\n question: t('install_app_on_site.warning.instructions'),\n key: 'enter',\n action: 'install_app_on_site',\n });\n await openBrowser(\n `https://manage.wix.com/installer/install?metaSiteId=${siteId}&appId=${appId}&platform=cli&version=latest`\n );\n }\n });\n\n return (\n <>\n <Trans i18nKey=\"install_app_on_site.warning\" />\n <Trans\n i18nKey=\"install_app_on_site.warning.instructions\"\n components={[<Key value=\"Enter\" />]}\n />\n </>\n );\n};\n","import React, { useState } from 'react';\nimport type { FC } from 'react';\nimport { Spinner, useAsync } from '@wix/cli-ui-kit';\nimport type { Site } from '@wix/site-list-client';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { SiteAuthProvider } from '@wix/cli-auth';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\nimport { SiteListSelect } from './SiteListSelect.js';\n\nconst CheckAppInstalledOnSite: FC<{\n site: Site;\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}> = ({ appId, site, onSubmit, onError }) => {\n const { t } = useTranslation();\n const { isAppInstalled } = useDevCenterClient();\n\n const { status } = useAsync(async () => isAppInstalled(appId), [], {\n onError,\n onSuccess: (isInstalled) => {\n if (isInstalled) {\n onSubmit(site);\n }\n },\n });\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('general.loading')} />,\n Success: ({ result: isInstalled }) => {\n if (isInstalled) {\n return null;\n }\n\n return (\n <WaitForAppToBeInstalled\n appId={appId}\n site={site}\n onSubmit={() => onSubmit(site)}\n onError={onError}\n />\n );\n },\n });\n};\n\ninterface Props {\n sites: Site[];\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SelectExistingSite = ({\n sites,\n appId,\n onSubmit,\n onError,\n}: Props) => {\n const [siteToInstallAppOn, setSiteToInstallAppOn] = useState<Site | null>(\n null\n );\n\n return (\n <>\n <SiteListSelect\n onSubmit={(site) => setSiteToInstallAppOn(site)}\n sites={sites}\n />\n {siteToInstallAppOn && (\n <SiteAuthProvider siteId={siteToInstallAppOn.id}>\n <CheckAppInstalledOnSite\n appId={appId}\n site={siteToInstallAppOn}\n onSubmit={() => onSubmit(siteToInstallAppOn)}\n onError={onError}\n />\n </SiteAuthProvider>\n )}\n </>\n );\n};\n","import React, { useCallback } from 'react';\nimport type { FC } from 'react';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { SelectOption } from '@wix/cli-ui-kit';\nimport { SelectInput } from '@wix/cli-ui-kit';\nimport type { Site } from '@wix/site-list-client';\nimport { useSiteSelectorBi } from './bi.js';\n\ninterface Props {\n onSubmit: (site: Site) => void;\n sites: Site[];\n}\n\nexport const SiteListSelect: FC<Props> = ({ onSubmit, sites }) => {\n const { t } = useTranslation();\n const bi = useSiteSelectorBi();\n\n const handleSubmit = useCallback(\n (option: SelectOption<Site>) => {\n bi.cliFlowStepAnswered({\n question: t('site_list_select.label'),\n answer: option.title,\n });\n onSubmit(option.value);\n },\n [bi, onSubmit, t]\n );\n\n return (\n <SelectInput<Site>\n label={t('site_list_select.label')}\n options={sites.map((site) => ({\n key: site.id,\n title: site.displayName,\n description: site.viewUrl,\n value: site,\n }))}\n onSubmit={handleSubmit}\n />\n );\n};\n","{\n \"general.loading\": \"Loading...\",\n \"general.success\": \"Success\",\n \"site_type_select.label\": \"Select Development Site\",\n \"site_type_select.create_new_dev_site\": \"Create a new Development Site\",\n \"site_type_select.create_new_dev_site.disabled\": \"You have reached the maximum number of {limit} Development Sites\",\n \"site_type_select.pick_existing_site\": \"Pick an existing site\",\n \"site_type_select.no_sites\": \"No sites found\",\n \"create_dev_site.loading\": \"Creating your new Development Site...\",\n \"create_dev_site.success\": \"Development Site <0>{name}</0> created successfully! 🚀\",\n \"site_list_select.label\": \"Select Site\",\n \"install_app_on_site.warning\": \"Your new application needs to be installed on the selected Development Site\",\n \"install_app_on_site.warning.instructions\": \"Press <0/> to install the application in your browser\",\n \"install_app_on_site.finished_successfully\": \"App installed on Development Site.\"\n}\n","export { SiteProvider } from './SiteProvider.js';\nexport { useSite } from './useSite.js';\n","import { useCallback } from 'react';\nimport { isType } from 'variant';\nimport type { PlatformType } from '@wix/cli-app-definitions';\nimport { useProjectModel } from '../../model.js';\n\nexport function usePlatform() {\n const { model } = useProjectModel();\n\n const isPlatformExists = useCallback(\n (platformType: PlatformType) =>\n model.components.some((component) =>\n component.platforms.some(isType(platformType.type))\n ),\n [model.components]\n );\n\n const hasSinglePlatform = useCallback(\n (platformType: PlatformType) =>\n model.components.every(\n (component) =>\n component.platforms.some(isType(platformType.type)) ||\n component.platforms.length === 0\n ),\n [model.components]\n );\n\n return {\n isPlatformExists,\n hasSinglePlatform,\n };\n}\n"],"mappings":"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","names":["import_react","import_variant","import_react","import_variant","import_react","import_variant","import_react","React","import_react","import_variant","import_react","import_variant","import_react","React","React","React","import_react","import_variant","import_react","React","React","siteType","React","React","React","variant","import_react","import_variant"]}
|