@wix/cli-app 1.1.74 → 1.1.75
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-6PXETRX5.js → CreateVersionCommand-RQXPDP24.js} +14 -16
- package/build/{CreateVersionCommand-6PXETRX5.js.map → CreateVersionCommand-RQXPDP24.js.map} +1 -1
- package/build/{DevCommand-575K76BZ.js → DevCommand-S4Z3WJGP.js} +14 -16
- package/build/{DevCommand-575K76BZ.js.map → DevCommand-S4Z3WJGP.js.map} +1 -1
- package/build/{GenerateCommand-NKJI6L6F.js → GenerateCommand-KJFVXKF6.js} +575 -476
- package/build/GenerateCommand-KJFVXKF6.js.map +1 -0
- package/build/{LogsCommand-LDVXIJRM.js → LogsCommand-BIVRFRK5.js} +4 -4
- package/build/PreviewCommand-LVAVWK5X.js +21 -0
- package/build/{ReleaseCommand-3KMQAZC2.js → ReleaseCommand-D44TLKQN.js} +17 -19
- package/build/{ReleaseCommand-3KMQAZC2.js.map → ReleaseCommand-D44TLKQN.js.map} +1 -1
- package/build/{ServeCommand-JVEHGEQJ.js → ServeCommand-7CZUCKDQ.js} +15 -17
- package/build/{ServeCommand-JVEHGEQJ.js.map → ServeCommand-7CZUCKDQ.js.map} +1 -1
- package/build/{build-LGA2RNYK.js → build-QQOQLG6Q.js} +7 -7
- package/build/{chunk-UR2P6KAA.js → chunk-3R3L4Z4K.js} +3 -3
- package/build/{chunk-A2RC7C33.js → chunk-3T6MWKGJ.js} +3 -3
- package/build/{chunk-7DBU2MOT.js → chunk-3TGCMRM2.js} +3 -2
- package/build/chunk-3TGCMRM2.js.map +1 -0
- package/build/{chunk-KFXL2D65.js → chunk-5MJT77SF.js} +4 -4
- package/build/{chunk-KFXL2D65.js.map → chunk-5MJT77SF.js.map} +1 -1
- package/build/{chunk-2I5H2XRH.js → chunk-5V425DYH.js} +2 -2
- package/build/{chunk-5CXN5MQU.js → chunk-ABAJ2G2M.js} +3 -3
- package/build/{chunk-C2J6X76S.js → chunk-ADIVS46Y.js} +4 -4
- package/build/{chunk-OBKGCJPS.js → chunk-C64MJGM6.js} +3 -3
- package/build/{chunk-YX3VV7BD.js → chunk-FSYOQVCS.js} +54 -11
- package/build/chunk-FSYOQVCS.js.map +1 -0
- package/build/{chunk-4AUIUNWR.js → chunk-GB3SH2IE.js} +3 -3
- package/build/{chunk-HBC2QGBW.js → chunk-I3NQFKY6.js} +33 -14
- package/build/{chunk-HBC2QGBW.js.map → chunk-I3NQFKY6.js.map} +1 -1
- package/build/{chunk-UEWHA4N4.js → chunk-O6IB7IRT.js} +33 -11
- package/build/chunk-O6IB7IRT.js.map +1 -0
- package/build/{chunk-MGWDHTIY.js → chunk-S7FXCJ5N.js} +3 -3
- package/build/{chunk-D4K6HLR5.js → chunk-TSZ32MNC.js} +629 -97
- package/build/chunk-TSZ32MNC.js.map +1 -0
- package/build/{chunk-ETZUKD7Z.js → chunk-YEO2M3TJ.js} +5 -7
- package/build/{chunk-ETZUKD7Z.js.map → chunk-YEO2M3TJ.js.map} +1 -1
- package/build/{chunk-XL6K6NL2.js → chunk-ZILFZBV3.js} +3 -3
- package/build/index.js +38 -30
- package/build/index.js.map +1 -1
- package/build/preview-Q2SJBMOD.js +101 -0
- package/build/preview-Q2SJBMOD.js.map +1 -0
- package/build/{render-command-RYGIULDT.js → render-command-LPGQHYQY.js} +8 -8
- package/package.json +4 -4
- package/build/GenerateCommand-NKJI6L6F.js.map +0 -1
- package/build/PreviewCommand-PMZTMXBO.js +0 -23
- package/build/chunk-7DBU2MOT.js.map +0 -1
- package/build/chunk-D4K6HLR5.js.map +0 -1
- package/build/chunk-UEWHA4N4.js.map +0 -1
- package/build/chunk-YJ5YN5VN.js +0 -579
- package/build/chunk-YJ5YN5VN.js.map +0 -1
- package/build/chunk-YLAUVJYG.js +0 -60
- package/build/chunk-YLAUVJYG.js.map +0 -1
- package/build/chunk-YX3VV7BD.js.map +0 -1
- package/build/preview-S2TF6RDS.js +0 -138
- package/build/preview-S2TF6RDS.js.map +0 -1
- /package/build/{LogsCommand-LDVXIJRM.js.map → LogsCommand-BIVRFRK5.js.map} +0 -0
- /package/build/{PreviewCommand-PMZTMXBO.js.map → PreviewCommand-LVAVWK5X.js.map} +0 -0
- /package/build/{build-LGA2RNYK.js.map → build-QQOQLG6Q.js.map} +0 -0
- /package/build/{chunk-UR2P6KAA.js.map → chunk-3R3L4Z4K.js.map} +0 -0
- /package/build/{chunk-A2RC7C33.js.map → chunk-3T6MWKGJ.js.map} +0 -0
- /package/build/{chunk-2I5H2XRH.js.map → chunk-5V425DYH.js.map} +0 -0
- /package/build/{chunk-5CXN5MQU.js.map → chunk-ABAJ2G2M.js.map} +0 -0
- /package/build/{chunk-C2J6X76S.js.map → chunk-ADIVS46Y.js.map} +0 -0
- /package/build/{chunk-OBKGCJPS.js.map → chunk-C64MJGM6.js.map} +0 -0
- /package/build/{chunk-4AUIUNWR.js.map → chunk-GB3SH2IE.js.map} +0 -0
- /package/build/{chunk-MGWDHTIY.js.map → chunk-S7FXCJ5N.js.map} +0 -0
- /package/build/{chunk-XL6K6NL2.js.map → chunk-ZILFZBV3.js.map} +0 -0
- /package/build/{render-command-RYGIULDT.js.map → render-command-LPGQHYQY.js.map} +0 -0
package/build/chunk-YJ5YN5VN.js
DELETED
|
@@ -1,579 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import {
|
|
4
|
-
SiteContext,
|
|
5
|
-
SiteState,
|
|
6
|
-
resolveConfiguredSite,
|
|
7
|
-
useSiteListClient
|
|
8
|
-
} from "./chunk-D4K6HLR5.js";
|
|
9
|
-
import {
|
|
10
|
-
useDebugLog
|
|
11
|
-
} from "./chunk-XL6K6NL2.js";
|
|
12
|
-
import {
|
|
13
|
-
APP_CONFIG_PATH,
|
|
14
|
-
BiProvider,
|
|
15
|
-
SiteAuthProvider,
|
|
16
|
-
TimeoutError,
|
|
17
|
-
openBrowser,
|
|
18
|
-
pWaitFor,
|
|
19
|
-
saveAppConfig,
|
|
20
|
-
useBiLogger,
|
|
21
|
-
useDevCenterClient,
|
|
22
|
-
useProjectModel,
|
|
23
|
-
wixCliAction,
|
|
24
|
-
wixCliAppFlowStepsAnswers
|
|
25
|
-
} from "./chunk-KFXL2D65.js";
|
|
26
|
-
import {
|
|
27
|
-
Alert,
|
|
28
|
-
Badge,
|
|
29
|
-
CliError,
|
|
30
|
-
CliErrorCode,
|
|
31
|
-
I18nProvider,
|
|
32
|
-
Key,
|
|
33
|
-
SelectInput,
|
|
34
|
-
SelectOptionAvailability,
|
|
35
|
-
Spinner,
|
|
36
|
-
Text,
|
|
37
|
-
Trans,
|
|
38
|
-
getTestOverrides,
|
|
39
|
-
require_lib,
|
|
40
|
-
require_react,
|
|
41
|
-
useAsync,
|
|
42
|
-
useAsyncCallback,
|
|
43
|
-
useExit,
|
|
44
|
-
useTranslation,
|
|
45
|
-
use_input_default
|
|
46
|
-
} from "./chunk-UEWHA4N4.js";
|
|
47
|
-
import {
|
|
48
|
-
__toESM,
|
|
49
|
-
init_esm_shims
|
|
50
|
-
} from "./chunk-PYIAC2GK.js";
|
|
51
|
-
|
|
52
|
-
// src/site/SiteProvider.tsx
|
|
53
|
-
init_esm_shims();
|
|
54
|
-
var import_react10 = __toESM(require_react(), 1);
|
|
55
|
-
var import_variant7 = __toESM(require_lib(), 1);
|
|
56
|
-
|
|
57
|
-
// src/site/ResolveSite.tsx
|
|
58
|
-
init_esm_shims();
|
|
59
|
-
var import_react9 = __toESM(require_react(), 1);
|
|
60
|
-
var import_variant6 = __toESM(require_lib(), 1);
|
|
61
|
-
|
|
62
|
-
// ../cli-site-selector/src/index.ts
|
|
63
|
-
init_esm_shims();
|
|
64
|
-
|
|
65
|
-
// ../cli-site-selector/src/SiteSelector.tsx
|
|
66
|
-
init_esm_shims();
|
|
67
|
-
var import_react8 = __toESM(require_react(), 1);
|
|
68
|
-
var import_variant5 = __toESM(require_lib(), 1);
|
|
69
|
-
|
|
70
|
-
// ../cli-site-selector/src/SiteTypeSelect.tsx
|
|
71
|
-
init_esm_shims();
|
|
72
|
-
var import_react2 = __toESM(require_react(), 1);
|
|
73
|
-
var import_variant = __toESM(require_lib(), 1);
|
|
74
|
-
|
|
75
|
-
// ../cli-site-selector/src/bi.ts
|
|
76
|
-
init_esm_shims();
|
|
77
|
-
var import_react = __toESM(require_react(), 1);
|
|
78
|
-
function siteSelectorBiEvents(biLogger) {
|
|
79
|
-
return {
|
|
80
|
-
cliAction: ({
|
|
81
|
-
question,
|
|
82
|
-
action,
|
|
83
|
-
key,
|
|
84
|
-
additionalInfo
|
|
85
|
-
}) => {
|
|
86
|
-
void biLogger.report(
|
|
87
|
-
wixCliAction({
|
|
88
|
-
question,
|
|
89
|
-
action,
|
|
90
|
-
key,
|
|
91
|
-
additionalInfo: JSON.stringify(additionalInfo)
|
|
92
|
-
})
|
|
93
|
-
);
|
|
94
|
-
},
|
|
95
|
-
cliFlowStepAnswered: ({
|
|
96
|
-
question,
|
|
97
|
-
answer,
|
|
98
|
-
additionalInfo
|
|
99
|
-
}) => {
|
|
100
|
-
void biLogger.report(
|
|
101
|
-
wixCliAppFlowStepsAnswers({
|
|
102
|
-
question,
|
|
103
|
-
answer,
|
|
104
|
-
additionalInfo: JSON.stringify(additionalInfo)
|
|
105
|
-
})
|
|
106
|
-
);
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
function useSiteSelectorBi() {
|
|
111
|
-
const biLogger = useBiLogger();
|
|
112
|
-
return (0, import_react.useMemo)(() => siteSelectorBiEvents(biLogger), [biLogger]);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// ../cli-site-selector/src/SiteTypeSelect.tsx
|
|
116
|
-
var SiteTypeSelect = ({ onSubmit, onError, sites }) => {
|
|
117
|
-
const bi = useSiteSelectorBi();
|
|
118
|
-
const { t } = useTranslation();
|
|
119
|
-
const { getDevSitesCount, getDevSitesLimit } = useDevCenterClient();
|
|
120
|
-
const { status } = useAsync(
|
|
121
|
-
() => Promise.all([getDevSitesCount(), getDevSitesLimit()]),
|
|
122
|
-
[],
|
|
123
|
-
{ onError }
|
|
124
|
-
);
|
|
125
|
-
const handleSubmit = (option) => {
|
|
126
|
-
void bi.cliFlowStepAnswered({
|
|
127
|
-
question: t("site_type_select.label"),
|
|
128
|
-
answer: option.title
|
|
129
|
-
});
|
|
130
|
-
onSubmit(option.value);
|
|
131
|
-
};
|
|
132
|
-
return (0, import_variant.match)(status, {
|
|
133
|
-
Error: () => null,
|
|
134
|
-
Loading: () => /* @__PURE__ */ import_react2.default.createElement(Spinner, { text: t("general.loading") }),
|
|
135
|
-
Success: ({ result: [devSitesCount, devSitesLimit] }) => {
|
|
136
|
-
const isDevSitesLimitReached = devSitesCount >= devSitesLimit;
|
|
137
|
-
const userHasNoSites = sites.length === 0;
|
|
138
|
-
return /* @__PURE__ */ import_react2.default.createElement(
|
|
139
|
-
SelectInput,
|
|
140
|
-
{
|
|
141
|
-
label: t("site_type_select.label"),
|
|
142
|
-
options: [
|
|
143
|
-
{
|
|
144
|
-
availability: userHasNoSites ? SelectOptionAvailability.Disabled({
|
|
145
|
-
reason: t("site_type_select.no_sites")
|
|
146
|
-
}) : SelectOptionAvailability.Enabled(),
|
|
147
|
-
title: t("site_type_select.pick_existing_site"),
|
|
148
|
-
value: "select-existing-site"
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
title: t("site_type_select.create_new_dev_site"),
|
|
152
|
-
value: "create-dev-site",
|
|
153
|
-
availability: isDevSitesLimitReached ? SelectOptionAvailability.Disabled({
|
|
154
|
-
reason: t("site_type_select.create_new_dev_site.disabled", {
|
|
155
|
-
limit: devSitesLimit
|
|
156
|
-
})
|
|
157
|
-
}) : SelectOptionAvailability.Enabled()
|
|
158
|
-
}
|
|
159
|
-
],
|
|
160
|
-
onSubmit: handleSubmit
|
|
161
|
-
}
|
|
162
|
-
);
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
// ../cli-site-selector/src/CreateDevSite.tsx
|
|
168
|
-
init_esm_shims();
|
|
169
|
-
var import_react5 = __toESM(require_react(), 1);
|
|
170
|
-
var import_variant3 = __toESM(require_lib(), 1);
|
|
171
|
-
|
|
172
|
-
// ../cli-site-selector/src/WaitForAppToBeInstalled.tsx
|
|
173
|
-
init_esm_shims();
|
|
174
|
-
var import_react4 = __toESM(require_react(), 1);
|
|
175
|
-
var import_variant2 = __toESM(require_lib(), 1);
|
|
176
|
-
|
|
177
|
-
// ../cli-site-selector/src/OpenBrowser.tsx
|
|
178
|
-
init_esm_shims();
|
|
179
|
-
var import_react3 = __toESM(require_react(), 1);
|
|
180
|
-
var OpenBrowser = ({ siteId, appId }) => {
|
|
181
|
-
const { t } = useTranslation();
|
|
182
|
-
const bi = useSiteSelectorBi();
|
|
183
|
-
use_input_default(async (input, key) => {
|
|
184
|
-
if (key.return) {
|
|
185
|
-
bi.cliAction({
|
|
186
|
-
question: t("install_app_on_site.warning.instructions"),
|
|
187
|
-
key: "enter",
|
|
188
|
-
action: "install_app_on_site"
|
|
189
|
-
});
|
|
190
|
-
await openBrowser(
|
|
191
|
-
`https://manage.wix.com/installer/install?metaSiteId=${siteId}&appId=${appId}&platform=cli&version=latest`
|
|
192
|
-
);
|
|
193
|
-
}
|
|
194
|
-
});
|
|
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(
|
|
196
|
-
Trans,
|
|
197
|
-
{
|
|
198
|
-
i18nKey: "install_app_on_site.warning.instructions",
|
|
199
|
-
components: [/* @__PURE__ */ import_react3.default.createElement(Key, { value: "Enter" })]
|
|
200
|
-
}
|
|
201
|
-
));
|
|
202
|
-
};
|
|
203
|
-
|
|
204
|
-
// ../cli-site-selector/src/WaitForAppToBeInstalled.tsx
|
|
205
|
-
var AppInstallData = (0, import_variant2.variant)({
|
|
206
|
-
Success: {},
|
|
207
|
-
Canceled: {}
|
|
208
|
-
});
|
|
209
|
-
function isAbortError(error) {
|
|
210
|
-
return error && typeof error === "object" && "name" in error && error.name === "AbortError";
|
|
211
|
-
}
|
|
212
|
-
var WaitForAppToBeInstalled = ({
|
|
213
|
-
appId,
|
|
214
|
-
site,
|
|
215
|
-
onSubmit,
|
|
216
|
-
onError
|
|
217
|
-
}) => {
|
|
218
|
-
const { isAppInstalled } = useDevCenterClient();
|
|
219
|
-
const { status } = useAsync(
|
|
220
|
-
async ({ signal }) => {
|
|
221
|
-
const { pollInterval } = getTestOverrides();
|
|
222
|
-
try {
|
|
223
|
-
await pWaitFor(() => isAppInstalled(appId), {
|
|
224
|
-
// Polling interval is set to 6.5 seconds to avoid rate limiting (429)
|
|
225
|
-
interval: pollInterval ?? 6500,
|
|
226
|
-
timeout: {
|
|
227
|
-
milliseconds: 60 * 1e3 * 2,
|
|
228
|
-
signal
|
|
229
|
-
}
|
|
230
|
-
});
|
|
231
|
-
return AppInstallData.Success();
|
|
232
|
-
} catch (error) {
|
|
233
|
-
if (error instanceof TimeoutError) {
|
|
234
|
-
throw new CliError({
|
|
235
|
-
code: CliErrorCode.SiteSelectorTimedout(),
|
|
236
|
-
cause: error
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
if (isAbortError(error)) {
|
|
240
|
-
return AppInstallData.Canceled();
|
|
241
|
-
}
|
|
242
|
-
throw error;
|
|
243
|
-
}
|
|
244
|
-
},
|
|
245
|
-
[],
|
|
246
|
-
{
|
|
247
|
-
onError,
|
|
248
|
-
onSuccess: (result) => {
|
|
249
|
-
if ((0, import_variant2.isType)(result, AppInstallData.Success)) {
|
|
250
|
-
onSubmit();
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
);
|
|
255
|
-
return (0, import_variant2.match)(status, {
|
|
256
|
-
Error: () => null,
|
|
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" }))
|
|
259
|
-
});
|
|
260
|
-
};
|
|
261
|
-
|
|
262
|
-
// ../cli-site-selector/src/CreateDevSite.tsx
|
|
263
|
-
var CreateDevSite = ({
|
|
264
|
-
status,
|
|
265
|
-
appId,
|
|
266
|
-
onSubmit,
|
|
267
|
-
onError
|
|
268
|
-
}) => {
|
|
269
|
-
const { t } = useTranslation();
|
|
270
|
-
return (0, import_variant3.match)(status, {
|
|
271
|
-
NotRequested: () => null,
|
|
272
|
-
Error: () => null,
|
|
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(
|
|
275
|
-
Trans,
|
|
276
|
-
{
|
|
277
|
-
i18nKey: "create_dev_site.success",
|
|
278
|
-
components: [/* @__PURE__ */ import_react5.default.createElement(Text, { skin: "success", bold: true })],
|
|
279
|
-
values: { name: result.displayName }
|
|
280
|
-
}
|
|
281
|
-
), /* @__PURE__ */ import_react5.default.createElement(SiteAuthProvider, { siteId: result.id }, /* @__PURE__ */ import_react5.default.createElement(
|
|
282
|
-
WaitForAppToBeInstalled,
|
|
283
|
-
{
|
|
284
|
-
appId,
|
|
285
|
-
site: result,
|
|
286
|
-
onSubmit: () => onSubmit(result),
|
|
287
|
-
onError
|
|
288
|
-
}
|
|
289
|
-
)))
|
|
290
|
-
});
|
|
291
|
-
};
|
|
292
|
-
|
|
293
|
-
// ../cli-site-selector/src/SelectExistingSite.tsx
|
|
294
|
-
init_esm_shims();
|
|
295
|
-
var import_react7 = __toESM(require_react(), 1);
|
|
296
|
-
var import_variant4 = __toESM(require_lib(), 1);
|
|
297
|
-
|
|
298
|
-
// ../cli-site-selector/src/SiteListSelect.tsx
|
|
299
|
-
init_esm_shims();
|
|
300
|
-
var import_react6 = __toESM(require_react(), 1);
|
|
301
|
-
var SiteListSelect = ({ onSubmit, sites }) => {
|
|
302
|
-
const { t } = useTranslation();
|
|
303
|
-
const bi = useSiteSelectorBi();
|
|
304
|
-
const handleSubmit = (0, import_react6.useCallback)(
|
|
305
|
-
(option) => {
|
|
306
|
-
bi.cliFlowStepAnswered({
|
|
307
|
-
question: t("site_list_select.label"),
|
|
308
|
-
answer: option.title
|
|
309
|
-
});
|
|
310
|
-
onSubmit(option.value);
|
|
311
|
-
},
|
|
312
|
-
[bi, onSubmit, t]
|
|
313
|
-
);
|
|
314
|
-
return /* @__PURE__ */ import_react6.default.createElement(
|
|
315
|
-
SelectInput,
|
|
316
|
-
{
|
|
317
|
-
label: t("site_list_select.label"),
|
|
318
|
-
options: sites.map((site) => ({
|
|
319
|
-
key: site.id,
|
|
320
|
-
title: site.displayName,
|
|
321
|
-
description: site.viewUrl,
|
|
322
|
-
value: site
|
|
323
|
-
})),
|
|
324
|
-
onSubmit: handleSubmit
|
|
325
|
-
}
|
|
326
|
-
);
|
|
327
|
-
};
|
|
328
|
-
|
|
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
|
-
};
|
|
360
|
-
var SelectExistingSite = ({
|
|
361
|
-
sites,
|
|
362
|
-
appId,
|
|
363
|
-
onSubmit,
|
|
364
|
-
onError
|
|
365
|
-
}) => {
|
|
366
|
-
const [siteToInstallAppOn, setSiteToInstallAppOn] = (0, import_react7.useState)(
|
|
367
|
-
null
|
|
368
|
-
);
|
|
369
|
-
return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement(
|
|
370
|
-
SiteListSelect,
|
|
371
|
-
{
|
|
372
|
-
onSubmit: (site) => setSiteToInstallAppOn(site),
|
|
373
|
-
sites
|
|
374
|
-
}
|
|
375
|
-
), siteToInstallAppOn && /* @__PURE__ */ import_react7.default.createElement(SiteAuthProvider, { siteId: siteToInstallAppOn.id }, /* @__PURE__ */ import_react7.default.createElement(
|
|
376
|
-
CheckAppInstalledOnSite,
|
|
377
|
-
{
|
|
378
|
-
appId,
|
|
379
|
-
site: siteToInstallAppOn,
|
|
380
|
-
onSubmit: () => onSubmit(siteToInstallAppOn),
|
|
381
|
-
onError
|
|
382
|
-
}
|
|
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."
|
|
401
|
-
};
|
|
402
|
-
|
|
403
|
-
// ../cli-site-selector/src/SiteSelector.tsx
|
|
404
|
-
var SiteSelector = ({
|
|
405
|
-
appId,
|
|
406
|
-
biLogger,
|
|
407
|
-
onSubmit,
|
|
408
|
-
onError
|
|
409
|
-
}) => {
|
|
410
|
-
const [siteType, setSiteType] = (0, import_react8.useState)(null);
|
|
411
|
-
const { createDevSite } = useDevCenterClient();
|
|
412
|
-
const siteListClient = useSiteListClient();
|
|
413
|
-
const { status } = useAsync(
|
|
414
|
-
() => siteListClient.querySites({
|
|
415
|
-
query: {
|
|
416
|
-
cursorPaging: {
|
|
417
|
-
limit: 100
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
}),
|
|
421
|
-
[],
|
|
422
|
-
{
|
|
423
|
-
onError
|
|
424
|
-
}
|
|
425
|
-
);
|
|
426
|
-
const createSite = useAsyncCallback(() => createDevSite(), {
|
|
427
|
-
onError
|
|
428
|
-
});
|
|
429
|
-
function handleSelectSiteType(siteType2) {
|
|
430
|
-
setSiteType(siteType2);
|
|
431
|
-
if (siteType2 === "create-dev-site") {
|
|
432
|
-
void createSite.execute();
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
return /* @__PURE__ */ import_react8.default.createElement(BiProvider, { value: biLogger }, /* @__PURE__ */ import_react8.default.createElement(I18nProvider, { messages: messages_default }, (0, import_variant5.match)(status, {
|
|
436
|
-
Error: () => null,
|
|
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(
|
|
439
|
-
SiteTypeSelect,
|
|
440
|
-
{
|
|
441
|
-
onSubmit: handleSelectSiteType,
|
|
442
|
-
onError,
|
|
443
|
-
sites
|
|
444
|
-
}
|
|
445
|
-
), siteType === "create-dev-site" && /* @__PURE__ */ import_react8.default.createElement(
|
|
446
|
-
CreateDevSite,
|
|
447
|
-
{
|
|
448
|
-
status: createSite.status,
|
|
449
|
-
appId,
|
|
450
|
-
onSubmit,
|
|
451
|
-
onError
|
|
452
|
-
}
|
|
453
|
-
), siteType === "select-existing-site" && /* @__PURE__ */ import_react8.default.createElement(
|
|
454
|
-
SelectExistingSite,
|
|
455
|
-
{
|
|
456
|
-
sites,
|
|
457
|
-
appId,
|
|
458
|
-
onSubmit,
|
|
459
|
-
onError
|
|
460
|
-
}
|
|
461
|
-
))
|
|
462
|
-
})));
|
|
463
|
-
};
|
|
464
|
-
|
|
465
|
-
// src/site/ResolveSite.tsx
|
|
466
|
-
var ResolveSite = ({ state, onSubmit }) => {
|
|
467
|
-
const exit = useExit();
|
|
468
|
-
const { t } = useTranslation();
|
|
469
|
-
const { model } = useProjectModel();
|
|
470
|
-
const biLogger = useBiLogger();
|
|
471
|
-
return /* @__PURE__ */ import_react9.default.createElement(import_react9.default.Fragment, null, (0, import_variant6.match)(state, {
|
|
472
|
-
NotConfigured: (0, import_variant6.constant)(
|
|
473
|
-
/* @__PURE__ */ import_react9.default.createElement(Alert, { type: "insight" }, t("general.no_site_id_configured"))
|
|
474
|
-
),
|
|
475
|
-
NotFound: ({ id }) => /* @__PURE__ */ import_react9.default.createElement(Alert, { type: "error" }, t("general.site_id_not_found", { id }))
|
|
476
|
-
}), /* @__PURE__ */ import_react9.default.createElement(
|
|
477
|
-
SiteSelector,
|
|
478
|
-
{
|
|
479
|
-
appId: model.config.appId,
|
|
480
|
-
biLogger,
|
|
481
|
-
onSubmit,
|
|
482
|
-
onError: exit
|
|
483
|
-
}
|
|
484
|
-
));
|
|
485
|
-
};
|
|
486
|
-
|
|
487
|
-
// src/site/SiteProvider.tsx
|
|
488
|
-
var SiteProvider = ({ children, siteId }) => {
|
|
489
|
-
const exit = useExit();
|
|
490
|
-
const {
|
|
491
|
-
model: { projectFolder }
|
|
492
|
-
} = useProjectModel();
|
|
493
|
-
const writeDebugLog = useDebugLog();
|
|
494
|
-
const siteListClient = useSiteListClient();
|
|
495
|
-
const { t } = useTranslation();
|
|
496
|
-
const { status, merge } = useAsync(
|
|
497
|
-
async () => resolveConfiguredSite({
|
|
498
|
-
projectFolder,
|
|
499
|
-
siteListClient,
|
|
500
|
-
siteId,
|
|
501
|
-
writeDebugLog
|
|
502
|
-
}),
|
|
503
|
-
[]
|
|
504
|
-
);
|
|
505
|
-
const setSite = (0, import_react10.useCallback)(
|
|
506
|
-
async (site) => {
|
|
507
|
-
try {
|
|
508
|
-
await saveAppConfig(projectFolder, { siteId: site.id });
|
|
509
|
-
merge({ result: SiteState.Resolved({ site }) });
|
|
510
|
-
} catch (e) {
|
|
511
|
-
throw new CliError({
|
|
512
|
-
code: CliErrorCode.FailedToSaveDevelopmentSite({
|
|
513
|
-
path: APP_CONFIG_PATH
|
|
514
|
-
}),
|
|
515
|
-
cause: e
|
|
516
|
-
});
|
|
517
|
-
}
|
|
518
|
-
},
|
|
519
|
-
[merge, projectFolder]
|
|
520
|
-
);
|
|
521
|
-
const handleResolveSite = (0, import_react10.useCallback)(
|
|
522
|
-
(site) => setSite(site).catch(exit),
|
|
523
|
-
[exit, setSite]
|
|
524
|
-
);
|
|
525
|
-
return (0, import_variant7.match)(status, {
|
|
526
|
-
Error: () => null,
|
|
527
|
-
Loading: () => /* @__PURE__ */ import_react10.default.createElement(Spinner, { text: t("dev_command.site_provider.loading") }),
|
|
528
|
-
Success: ({ result: state }) => {
|
|
529
|
-
return (0, import_variant7.match)(state, {
|
|
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(
|
|
533
|
-
SiteContext.Provider,
|
|
534
|
-
{
|
|
535
|
-
value: {
|
|
536
|
-
site,
|
|
537
|
-
setSite
|
|
538
|
-
}
|
|
539
|
-
},
|
|
540
|
-
typeof children === "function" ? children(site) : children
|
|
541
|
-
)
|
|
542
|
-
});
|
|
543
|
-
}
|
|
544
|
-
});
|
|
545
|
-
};
|
|
546
|
-
|
|
547
|
-
// src/site/index.ts
|
|
548
|
-
init_esm_shims();
|
|
549
|
-
|
|
550
|
-
// src/components/Platform/usePlatform.tsx
|
|
551
|
-
init_esm_shims();
|
|
552
|
-
var import_react11 = __toESM(require_react(), 1);
|
|
553
|
-
var import_variant8 = __toESM(require_lib(), 1);
|
|
554
|
-
function usePlatform() {
|
|
555
|
-
const { model } = useProjectModel();
|
|
556
|
-
const isPlatformExists = (0, import_react11.useCallback)(
|
|
557
|
-
(platformType) => model.components.some(
|
|
558
|
-
(component) => component.platforms.some((0, import_variant8.isType)(platformType.type))
|
|
559
|
-
),
|
|
560
|
-
[model.components]
|
|
561
|
-
);
|
|
562
|
-
const hasSinglePlatform = (0, import_react11.useCallback)(
|
|
563
|
-
(platformType) => model.components.every(
|
|
564
|
-
(component) => component.platforms.some((0, import_variant8.isType)(platformType.type)) || component.platforms.length === 0
|
|
565
|
-
),
|
|
566
|
-
[model.components]
|
|
567
|
-
);
|
|
568
|
-
return {
|
|
569
|
-
isPlatformExists,
|
|
570
|
-
hasSinglePlatform
|
|
571
|
-
};
|
|
572
|
-
}
|
|
573
|
-
|
|
574
|
-
export {
|
|
575
|
-
SiteSelector,
|
|
576
|
-
SiteProvider,
|
|
577
|
-
usePlatform
|
|
578
|
-
};
|
|
579
|
-
//# sourceMappingURL=chunk-YJ5YN5VN.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"]}
|