@wix/cli-app 1.1.70 → 1.1.72
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-SP5IPVGU.js → CreateVersionCommand-I6EHK2T2.js} +14 -14
- package/build/{DevCommand-TCV5QWXG.js → DevCommand-DLODMFKI.js} +12 -12
- package/build/{GenerateCommand-54ISTYYO.js → GenerateCommand-5KR6GRHW.js} +832 -574
- package/build/GenerateCommand-5KR6GRHW.js.map +1 -0
- package/build/{LogsCommand-H7TEJMU7.js → LogsCommand-EAOVZZG6.js} +4 -4
- package/build/PreviewCommand-B6XM6FQV.js +23 -0
- package/build/{ReleaseCommand-6TNACMTW.js → ReleaseCommand-W36AG2IN.js} +15 -15
- package/build/{ServeCommand-R7DZRKEJ.js → ServeCommand-BEXBK5ZA.js} +14 -14
- package/build/ServeCommand-BEXBK5ZA.js.map +1 -0
- package/build/{build-GAYTNX3U.js → build-KITE7EW3.js} +33 -14
- package/build/build-KITE7EW3.js.map +1 -0
- package/build/{chunk-ZWTX6NE6.js → chunk-4JQ75QTB.js} +3 -3
- package/build/{chunk-H27IPZI4.js → chunk-5KBGN6AI.js} +161 -65
- package/build/{chunk-H27IPZI4.js.map → chunk-5KBGN6AI.js.map} +1 -1
- package/build/{chunk-ZEKT3LRI.js → chunk-AKMZVY3B.js} +3 -3
- package/build/{chunk-G6UZ5AZ6.js → chunk-AU6RLQTX.js} +3 -3
- package/build/{chunk-OHC3CHII.js → chunk-DN2W5I6V.js} +7 -3
- package/build/chunk-DN2W5I6V.js.map +1 -0
- package/build/{chunk-BCLAONW5.js → chunk-EK4R4AAZ.js} +3 -3
- package/build/{chunk-DHGAE3R5.js → chunk-EQX4ZNQY.js} +28 -30
- package/build/{chunk-DHGAE3R5.js.map → chunk-EQX4ZNQY.js.map} +1 -1
- package/build/{chunk-UY2MROJE.js → chunk-EZYYTB4A.js} +16 -8
- package/build/chunk-EZYYTB4A.js.map +1 -0
- package/build/{chunk-MMYH4YFU.js → chunk-F6K4Z645.js} +5 -5
- package/build/{chunk-HY44AJBX.js → chunk-FUJL6MQF.js} +10 -2
- package/build/chunk-FUJL6MQF.js.map +1 -0
- package/build/{chunk-RTHHQIW6.js → chunk-JHRMWYBU.js} +3 -3
- package/build/{chunk-WSC7O536.js → chunk-JVG7ATK2.js} +3 -3
- package/build/{chunk-7V3AXMMP.js → chunk-M7NEF3JI.js} +5 -5
- package/build/{chunk-GZNYJNVI.js → chunk-MXNYBCOX.js} +8975 -8690
- package/build/chunk-MXNYBCOX.js.map +1 -0
- package/build/{chunk-MX6MY676.js → chunk-OU2SCVZ4.js} +4 -3
- package/build/{chunk-TFBVDCPM.js → chunk-P7Z3QMUB.js} +3 -3
- package/build/{chunk-JTGROBAJ.js → chunk-U7NOLQSJ.js} +2 -2
- package/build/{chunk-KG6JXI3B.js → chunk-VYH54DVP.js} +8 -8
- package/build/index.js +20 -20
- package/build/{preview-MYNAHHYE.js → preview-MYW7A4XF.js} +12 -12
- package/build/{render-command-NFMTZDGL.js → render-command-5UQ5JPA6.js} +6 -6
- package/package.json +7 -6
- package/templates/blocks-support/dependencies.json +6 -0
- package/templates/blocks-widget/files/api.ts.ejs +1 -1
- package/templates/blocks-widget/files/widget.ts.ejs +8 -1
- package/templates/blocks-widget-panel/files/panel.ts.ejs +8 -0
- package/build/GenerateCommand-54ISTYYO.js.map +0 -1
- package/build/PreviewCommand-CTYKGXWG.js +0 -23
- package/build/ServeCommand-R7DZRKEJ.js.map +0 -1
- package/build/build-GAYTNX3U.js.map +0 -1
- package/build/chunk-GZNYJNVI.js.map +0 -1
- package/build/chunk-HY44AJBX.js.map +0 -1
- package/build/chunk-OHC3CHII.js.map +0 -1
- package/build/chunk-UY2MROJE.js.map +0 -1
- /package/build/{CreateVersionCommand-SP5IPVGU.js.map → CreateVersionCommand-I6EHK2T2.js.map} +0 -0
- /package/build/{DevCommand-TCV5QWXG.js.map → DevCommand-DLODMFKI.js.map} +0 -0
- /package/build/{LogsCommand-H7TEJMU7.js.map → LogsCommand-EAOVZZG6.js.map} +0 -0
- /package/build/{PreviewCommand-CTYKGXWG.js.map → PreviewCommand-B6XM6FQV.js.map} +0 -0
- /package/build/{ReleaseCommand-6TNACMTW.js.map → ReleaseCommand-W36AG2IN.js.map} +0 -0
- /package/build/{chunk-ZWTX6NE6.js.map → chunk-4JQ75QTB.js.map} +0 -0
- /package/build/{chunk-ZEKT3LRI.js.map → chunk-AKMZVY3B.js.map} +0 -0
- /package/build/{chunk-G6UZ5AZ6.js.map → chunk-AU6RLQTX.js.map} +0 -0
- /package/build/{chunk-BCLAONW5.js.map → chunk-EK4R4AAZ.js.map} +0 -0
- /package/build/{chunk-MMYH4YFU.js.map → chunk-F6K4Z645.js.map} +0 -0
- /package/build/{chunk-RTHHQIW6.js.map → chunk-JHRMWYBU.js.map} +0 -0
- /package/build/{chunk-WSC7O536.js.map → chunk-JVG7ATK2.js.map} +0 -0
- /package/build/{chunk-7V3AXMMP.js.map → chunk-M7NEF3JI.js.map} +0 -0
- /package/build/{chunk-MX6MY676.js.map → chunk-OU2SCVZ4.js.map} +0 -0
- /package/build/{chunk-TFBVDCPM.js.map → chunk-P7Z3QMUB.js.map} +0 -0
- /package/build/{chunk-JTGROBAJ.js.map → chunk-U7NOLQSJ.js.map} +0 -0
- /package/build/{chunk-KG6JXI3B.js.map → chunk-VYH54DVP.js.map} +0 -0
- /package/build/{preview-MYNAHHYE.js.map → preview-MYW7A4XF.js.map} +0 -0
- /package/build/{render-command-NFMTZDGL.js.map → render-command-5UQ5JPA6.js.map} +0 -0
|
@@ -2,23 +2,25 @@ import { createRequire as _createRequire } from 'node:module';
|
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
createI18nT
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-4JQ75QTB.js";
|
|
6
|
+
import "./chunk-FUJL6MQF.js";
|
|
7
7
|
import {
|
|
8
8
|
useWixCliAppBi
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-AKMZVY3B.js";
|
|
10
10
|
import {
|
|
11
11
|
componentGenerator,
|
|
12
|
+
dependenciesUpdater,
|
|
12
13
|
require_lodash,
|
|
13
14
|
useBackendComponents
|
|
14
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-OU2SCVZ4.js";
|
|
15
16
|
import {
|
|
16
17
|
execaCommand
|
|
17
18
|
} from "./chunk-ZR3N5INU.js";
|
|
18
19
|
import {
|
|
19
20
|
require_baseUniq
|
|
20
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-U7NOLQSJ.js";
|
|
21
22
|
import {
|
|
23
|
+
BLOCKS_TYPES_PATH,
|
|
22
24
|
ComponentType,
|
|
23
25
|
DASHBOARD_MENU_PLUGINS_DIR,
|
|
24
26
|
DASHBOARD_PAGES_DIR,
|
|
@@ -30,6 +32,7 @@ import {
|
|
|
30
32
|
SITE_PLUGINS_DIR,
|
|
31
33
|
SITE_WIDGETS_DIR,
|
|
32
34
|
ServicePluginTypeToFolderName,
|
|
35
|
+
TS_CONFIG_FILENAME,
|
|
33
36
|
WEB_METHOD_DIR,
|
|
34
37
|
composeValidations,
|
|
35
38
|
createDashboardRouteValidation,
|
|
@@ -46,6 +49,7 @@ import {
|
|
|
46
49
|
getServicePluginsFolder,
|
|
47
50
|
getSitePluginsDir,
|
|
48
51
|
getSiteWidgetsDir,
|
|
52
|
+
getTSConfigFilePath,
|
|
49
53
|
pRetry,
|
|
50
54
|
pathExists,
|
|
51
55
|
pathValidation,
|
|
@@ -55,6 +59,7 @@ import {
|
|
|
55
59
|
require_memoize,
|
|
56
60
|
saveWixConfig,
|
|
57
61
|
toJsonString,
|
|
62
|
+
tsConfigSchema,
|
|
58
63
|
useCustomElementDirectoryValidation,
|
|
59
64
|
useCustomElementNameValidation,
|
|
60
65
|
useDevCenterClient,
|
|
@@ -65,7 +70,7 @@ import {
|
|
|
65
70
|
useValidation,
|
|
66
71
|
uuidValidation,
|
|
67
72
|
writeJson
|
|
68
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-5KBGN6AI.js";
|
|
69
74
|
import {
|
|
70
75
|
AsyncCallbackStatus,
|
|
71
76
|
Box_default,
|
|
@@ -90,7 +95,7 @@ import {
|
|
|
90
95
|
useAsyncCallback,
|
|
91
96
|
useTranslation,
|
|
92
97
|
z
|
|
93
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-DN2W5I6V.js";
|
|
94
99
|
import {
|
|
95
100
|
__commonJS,
|
|
96
101
|
__dirname,
|
|
@@ -117,8 +122,8 @@ init_esm_shims();
|
|
|
117
122
|
|
|
118
123
|
// src/components/GenerateCommand/GenerateCommand.tsx
|
|
119
124
|
init_esm_shims();
|
|
120
|
-
var
|
|
121
|
-
var
|
|
125
|
+
var import_react27 = __toESM(require_react(), 1);
|
|
126
|
+
var import_variant28 = __toESM(require_lib(), 1);
|
|
122
127
|
|
|
123
128
|
// src/components/GenerateCommand/dashboad-page/DashboardPage.tsx
|
|
124
129
|
init_esm_shims();
|
|
@@ -194,7 +199,7 @@ function createServicePluginValidation(servicePlugins, servicePluginType) {
|
|
|
194
199
|
"Plugin name must be unique"
|
|
195
200
|
],
|
|
196
201
|
[
|
|
197
|
-
(
|
|
202
|
+
(path15) => path15.length < 20,
|
|
198
203
|
"Plugin name must be shorter than 20 characters"
|
|
199
204
|
],
|
|
200
205
|
[
|
|
@@ -355,14 +360,6 @@ async function isUsingWorkspaces(rootDir) {
|
|
|
355
360
|
var NPM = class {
|
|
356
361
|
constructor(repoType) {
|
|
357
362
|
this.repoType = repoType;
|
|
358
|
-
if ((0, import_variant3.isType)(repoType, RepoType.Monorepo)) {
|
|
359
|
-
throw new CliError({
|
|
360
|
-
code: CliErrorCode.UnsupportedPackageManagerWorkspaces({
|
|
361
|
-
packageManagerName: this.name
|
|
362
|
-
}),
|
|
363
|
-
cause: null
|
|
364
|
-
});
|
|
365
|
-
}
|
|
366
363
|
}
|
|
367
364
|
name = "npm";
|
|
368
365
|
getUsage(name) {
|
|
@@ -375,9 +372,47 @@ var NPM = class {
|
|
|
375
372
|
return "npm run";
|
|
376
373
|
}
|
|
377
374
|
async setup(_cwd) {
|
|
375
|
+
if ((0, import_variant3.isType)(this.repoType, RepoType.Monorepo)) {
|
|
376
|
+
throw new CliError({
|
|
377
|
+
code: CliErrorCode.UnsupportedPackageManagerWorkspaces({
|
|
378
|
+
packageManagerName: this.name
|
|
379
|
+
}),
|
|
380
|
+
cause: null
|
|
381
|
+
});
|
|
382
|
+
}
|
|
378
383
|
}
|
|
379
384
|
async runInstall(cwd) {
|
|
380
|
-
|
|
385
|
+
try {
|
|
386
|
+
await runCommand(this.getInstallCmd(), { cwd });
|
|
387
|
+
} catch (e) {
|
|
388
|
+
throw new CliError({
|
|
389
|
+
code: CliErrorCode.FailedToInstallPackages(),
|
|
390
|
+
info: { packageManager: this.name },
|
|
391
|
+
cause: e
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
async runInstallPackage(cwd, packageName) {
|
|
396
|
+
try {
|
|
397
|
+
await runCommand(`npm install ${packageName}`, { cwd });
|
|
398
|
+
} catch (e) {
|
|
399
|
+
throw new CliError({
|
|
400
|
+
code: CliErrorCode.FailedToInstallPackage({ packageName }),
|
|
401
|
+
info: { packageManager: this.name },
|
|
402
|
+
cause: e
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
async runUninstallPackage(cwd, packageName) {
|
|
407
|
+
try {
|
|
408
|
+
await runCommand(`npm uninstall ${packageName}`, { cwd });
|
|
409
|
+
} catch (e) {
|
|
410
|
+
throw new CliError({
|
|
411
|
+
code: CliErrorCode.FailedToUninstallPackage({ packageName }),
|
|
412
|
+
info: { packageManager: this.name },
|
|
413
|
+
cause: e
|
|
414
|
+
});
|
|
415
|
+
}
|
|
381
416
|
}
|
|
382
417
|
};
|
|
383
418
|
|
|
@@ -426,7 +461,37 @@ var Yarn = class {
|
|
|
426
461
|
}).complete();
|
|
427
462
|
}
|
|
428
463
|
async runInstall(cwd) {
|
|
429
|
-
|
|
464
|
+
try {
|
|
465
|
+
await runCommand(this.getInstallCmd(), { cwd });
|
|
466
|
+
} catch (e) {
|
|
467
|
+
throw new CliError({
|
|
468
|
+
code: CliErrorCode.FailedToInstallPackages(),
|
|
469
|
+
info: { packageManager: this.name },
|
|
470
|
+
cause: e
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
async runInstallPackage(cwd, packageName) {
|
|
475
|
+
try {
|
|
476
|
+
await runCommand(`yarn add ${packageName}`, { cwd });
|
|
477
|
+
} catch (e) {
|
|
478
|
+
throw new CliError({
|
|
479
|
+
code: CliErrorCode.FailedToInstallPackage({ packageName }),
|
|
480
|
+
info: { packageManager: this.name },
|
|
481
|
+
cause: e
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
async runUninstallPackage(cwd, packageName) {
|
|
486
|
+
try {
|
|
487
|
+
await runCommand(`yarn remove ${packageName}`, { cwd });
|
|
488
|
+
} catch (e) {
|
|
489
|
+
throw new CliError({
|
|
490
|
+
code: CliErrorCode.FailedToUninstallPackage({ packageName }),
|
|
491
|
+
info: { packageManager: this.name },
|
|
492
|
+
cause: e
|
|
493
|
+
});
|
|
494
|
+
}
|
|
430
495
|
}
|
|
431
496
|
};
|
|
432
497
|
async function getPackagesRelativePaths(rootDir, yarnVersion) {
|
|
@@ -1053,189 +1118,113 @@ var GenerateSidebarCategory = () => {
|
|
|
1053
1118
|
)));
|
|
1054
1119
|
};
|
|
1055
1120
|
|
|
1056
|
-
// src/components/GenerateCommand/
|
|
1121
|
+
// src/components/GenerateCommand/dashboard-modal/DashboardModal.tsx
|
|
1057
1122
|
init_esm_shims();
|
|
1058
1123
|
var import_react6 = __toESM(require_react(), 1);
|
|
1059
1124
|
var import_variant10 = __toESM(require_lib(), 1);
|
|
1060
1125
|
var import_lodash3 = __toESM(require_lodash(), 1);
|
|
1061
1126
|
|
|
1062
|
-
// src/components/GenerateCommand/
|
|
1127
|
+
// src/components/GenerateCommand/dashboard-modal/generate.ts
|
|
1063
1128
|
init_esm_shims();
|
|
1064
1129
|
import path5 from "node:path";
|
|
1065
1130
|
import { randomUUID as randomUUID4 } from "node:crypto";
|
|
1066
|
-
var
|
|
1131
|
+
var DASHBOARD_MODAL_TEMPLATE = path5.resolve(
|
|
1067
1132
|
__dirname,
|
|
1068
|
-
"../templates/
|
|
1133
|
+
"../templates/dashboard-modal"
|
|
1069
1134
|
);
|
|
1070
|
-
async function
|
|
1071
|
-
const
|
|
1072
|
-
const
|
|
1073
|
-
|
|
1074
|
-
dashboard: {
|
|
1075
|
-
dashboardPageComponentId: dashboardPageId
|
|
1076
|
-
}
|
|
1077
|
-
} : void 0;
|
|
1078
|
-
const defaultThumbnailPath = path5.join(
|
|
1079
|
-
projectFolder,
|
|
1080
|
-
"src/assets",
|
|
1081
|
-
folder,
|
|
1082
|
-
"thumbnail.png"
|
|
1083
|
-
);
|
|
1084
|
-
const customElementConfig = {
|
|
1085
|
-
$schema: "https://dev.wix.com/wix-cli/schemas/custom-element.json",
|
|
1135
|
+
async function generateDashboardModal(projectFolder, route, title) {
|
|
1136
|
+
const cwd = path5.join(getDashboardModalsDir(projectFolder), route);
|
|
1137
|
+
const modalConfig = {
|
|
1138
|
+
$schema: "https://dev.wix.com/wix-cli/schemas/dashboard-modal.json",
|
|
1086
1139
|
id: randomUUID4(),
|
|
1087
|
-
|
|
1088
|
-
width:
|
|
1089
|
-
|
|
1090
|
-
allowStretch: true
|
|
1091
|
-
},
|
|
1092
|
-
height: {
|
|
1093
|
-
defaultHeight: 250
|
|
1094
|
-
},
|
|
1095
|
-
installation: {
|
|
1096
|
-
autoAddToSite: true
|
|
1097
|
-
},
|
|
1098
|
-
behaviors: behaviorsConfig,
|
|
1099
|
-
presets: [
|
|
1100
|
-
{
|
|
1101
|
-
id: randomUUID4(),
|
|
1102
|
-
thumbnailUrl: path5.relative(cwd, defaultThumbnailPath)
|
|
1103
|
-
}
|
|
1104
|
-
]
|
|
1140
|
+
title,
|
|
1141
|
+
width: 550,
|
|
1142
|
+
height: 600
|
|
1105
1143
|
};
|
|
1106
|
-
const
|
|
1107
|
-
spaces: 2
|
|
1108
|
-
});
|
|
1144
|
+
const modalConfigJSON = toJsonString(modalConfig, { spaces: 2 });
|
|
1109
1145
|
return await componentGenerator({
|
|
1110
|
-
template:
|
|
1146
|
+
template: DASHBOARD_MODAL_TEMPLATE,
|
|
1111
1147
|
projectFolder,
|
|
1112
1148
|
cwd,
|
|
1113
|
-
assetsOutputPath: folder,
|
|
1114
1149
|
data: {
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1150
|
+
modalId: modalConfig.id,
|
|
1151
|
+
route,
|
|
1152
|
+
title,
|
|
1153
|
+
modalConfigJSON
|
|
1118
1154
|
}
|
|
1119
1155
|
});
|
|
1120
1156
|
}
|
|
1121
1157
|
|
|
1122
|
-
// src/components/GenerateCommand/
|
|
1123
|
-
var
|
|
1158
|
+
// src/components/GenerateCommand/dashboard-modal/DashboardModal.tsx
|
|
1159
|
+
var GenerateDashboardModal = () => {
|
|
1124
1160
|
const bi = useWixCliAppBi();
|
|
1125
1161
|
const { t: t2 } = useTranslation();
|
|
1126
1162
|
const { model } = useProjectModel();
|
|
1127
|
-
const [elementName, setElementName] = (0, import_react6.useState)();
|
|
1128
|
-
const [elementFolder, setElementFolder] = (0, import_react6.useState)();
|
|
1129
|
-
const [linkDashboardPage, setLinkDashboardPage] = (0, import_react6.useState)();
|
|
1130
|
-
const [generationData, setGenerationData] = (0, import_react6.useState)();
|
|
1131
|
-
const validateFolderName = useCustomElementDirectoryValidation("Site widget");
|
|
1132
|
-
const validateName = useCustomElementNameValidation();
|
|
1133
1163
|
const { getExtensions } = useExtensions();
|
|
1164
|
+
const extensionType = t2(
|
|
1165
|
+
"generate_command.flow.dashboard_modal"
|
|
1166
|
+
).toLowerCase();
|
|
1167
|
+
const dashboardModals = getExtensions("DashboardModal");
|
|
1168
|
+
const [modalFolder, setModalFolder] = (0, import_react6.useState)();
|
|
1169
|
+
const [modalTitle, setModalTitle] = (0, import_react6.useState)();
|
|
1134
1170
|
const [finishedInstallation, setFinishedInstallation] = (0, import_react6.useState)(false);
|
|
1135
|
-
const
|
|
1136
|
-
const
|
|
1137
|
-
const
|
|
1138
|
-
(
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1171
|
+
const defaultModalFolder = (0, import_lodash3.kebabCase)(modalTitle);
|
|
1172
|
+
const modalQuestionsAnswered = modalFolder && modalTitle;
|
|
1173
|
+
const validateDashboardFolder = useValidation(
|
|
1174
|
+
composeValidations([
|
|
1175
|
+
[
|
|
1176
|
+
(folder) => {
|
|
1177
|
+
return dashboardModals.every(
|
|
1178
|
+
(modal) => relativeFolderName(
|
|
1179
|
+
getDashboardModalsDir(model.projectFolder),
|
|
1180
|
+
modal.relativePath
|
|
1181
|
+
) !== folder
|
|
1182
|
+
);
|
|
1183
|
+
},
|
|
1184
|
+
t2("generate_command.dashboard_modal.validation.folder_exists")
|
|
1185
|
+
],
|
|
1186
|
+
[
|
|
1187
|
+
pathValidation,
|
|
1188
|
+
t2("generate_command.dashboard_modal.validation.folder_invalid")
|
|
1189
|
+
]
|
|
1190
|
+
])
|
|
1142
1191
|
);
|
|
1143
|
-
const dashboardPagesExist = Boolean(dashboardPages.length);
|
|
1144
|
-
const extensionType = t2("generate_command.flow.custom_element").toLowerCase();
|
|
1145
1192
|
const generationTask = useGenerationTask(async () => {
|
|
1146
|
-
if (
|
|
1147
|
-
return
|
|
1148
|
-
model.projectFolder,
|
|
1149
|
-
generationData.folder,
|
|
1150
|
-
generationData.name,
|
|
1151
|
-
generationData.dashboardPageId
|
|
1152
|
-
);
|
|
1193
|
+
if (!modalQuestionsAnswered) {
|
|
1194
|
+
return;
|
|
1153
1195
|
}
|
|
1154
|
-
|
|
1196
|
+
return generateDashboardModal(model.projectFolder, modalFolder, modalTitle);
|
|
1197
|
+
}, [modalQuestionsAnswered]);
|
|
1155
1198
|
return /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, null, /* @__PURE__ */ import_react6.default.createElement(
|
|
1156
1199
|
TextInput,
|
|
1157
1200
|
{
|
|
1158
|
-
label: t2("generate_command.
|
|
1159
|
-
placeholder: t2("generate_command.
|
|
1160
|
-
onSubmit: (
|
|
1201
|
+
label: t2("generate_command.dashboard_modal.choose_title"),
|
|
1202
|
+
placeholder: t2("generate_command.dashboard_modal.title_placeholder"),
|
|
1203
|
+
onSubmit: (modalTitle2) => {
|
|
1161
1204
|
bi.cliFlowStepAnswered({
|
|
1162
|
-
question: t2("generate_command.
|
|
1163
|
-
questionKey: "generate_command.
|
|
1164
|
-
answer:
|
|
1165
|
-
additionalInfo: {
|
|
1166
|
-
extensionType
|
|
1167
|
-
}
|
|
1205
|
+
question: t2("generate_command.dashboard_modal.choose_title"),
|
|
1206
|
+
questionKey: "generate_command.dashboard_modal.choose_title",
|
|
1207
|
+
answer: modalTitle2,
|
|
1208
|
+
additionalInfo: { extensionType }
|
|
1168
1209
|
});
|
|
1169
|
-
|
|
1170
|
-
}
|
|
1171
|
-
validate: validateName
|
|
1210
|
+
setModalTitle(modalTitle2);
|
|
1211
|
+
}
|
|
1172
1212
|
}
|
|
1173
|
-
),
|
|
1213
|
+
), modalTitle && /* @__PURE__ */ import_react6.default.createElement(
|
|
1174
1214
|
TextInput,
|
|
1175
1215
|
{
|
|
1176
|
-
label: t2("generate_command.
|
|
1177
|
-
placeholder:
|
|
1216
|
+
label: t2("generate_command.dashboard_modal.choose_folder"),
|
|
1217
|
+
placeholder: defaultModalFolder,
|
|
1178
1218
|
onSubmit: (value) => {
|
|
1179
1219
|
bi.cliFlowStepAnswered({
|
|
1180
|
-
question: t2("generate_command.
|
|
1181
|
-
questionKey: "generate_command.
|
|
1220
|
+
question: t2("generate_command.dashboard_modal.choose_folder"),
|
|
1221
|
+
questionKey: "generate_command.dashboard_modal.choose_folder",
|
|
1182
1222
|
answer: value,
|
|
1183
|
-
additionalInfo: {
|
|
1184
|
-
extensionType
|
|
1185
|
-
}
|
|
1186
|
-
});
|
|
1187
|
-
setElementFolder(value);
|
|
1188
|
-
if (!dashboardPagesExist) {
|
|
1189
|
-
setGenerationData({
|
|
1190
|
-
name: elementName,
|
|
1191
|
-
folder: value
|
|
1192
|
-
});
|
|
1193
|
-
}
|
|
1194
|
-
},
|
|
1195
|
-
validate: validateFolderName
|
|
1196
|
-
}
|
|
1197
|
-
), elementName && elementFolder && dashboardPagesExist && /* @__PURE__ */ import_react6.default.createElement(
|
|
1198
|
-
ConfirmInput,
|
|
1199
|
-
{
|
|
1200
|
-
label: t2("generate_command.custom_element.link_dashboard_page"),
|
|
1201
|
-
onSubmit: (shouldLinkDashboardPage) => {
|
|
1202
|
-
bi.cliFlowStepAnswered({
|
|
1203
|
-
question: t2(
|
|
1204
|
-
"generate_command.custom_element.link_dashboard_page"
|
|
1205
|
-
),
|
|
1206
|
-
questionKey: "generate_command.custom_element.link_dashboard_page",
|
|
1207
|
-
answer: String(shouldLinkDashboardPage),
|
|
1208
|
-
additionalInfo: { extensionType }
|
|
1209
|
-
});
|
|
1210
|
-
setLinkDashboardPage(shouldLinkDashboardPage);
|
|
1211
|
-
if (!shouldLinkDashboardPage) {
|
|
1212
|
-
setGenerationData({
|
|
1213
|
-
name: elementName,
|
|
1214
|
-
folder: elementFolder
|
|
1215
|
-
});
|
|
1216
|
-
}
|
|
1217
|
-
}
|
|
1218
|
-
}
|
|
1219
|
-
), elementName && elementFolder && dashboardPagesExist && linkDashboardPage && /* @__PURE__ */ import_react6.default.createElement(
|
|
1220
|
-
SelectInput,
|
|
1221
|
-
{
|
|
1222
|
-
label: t2("generate_command.custom_element.choose_dashboard_page"),
|
|
1223
|
-
options: dashboardPagesOptions,
|
|
1224
|
-
onSubmit: (option) => {
|
|
1225
|
-
bi.cliFlowStepAnswered({
|
|
1226
|
-
question: t2(
|
|
1227
|
-
"generate_command.custom_element.choose_dashboard_page"
|
|
1228
|
-
),
|
|
1229
|
-
questionKey: "generate_command.custom_element.choose_dashboard_page",
|
|
1230
|
-
answer: option.title,
|
|
1231
1223
|
additionalInfo: { extensionType }
|
|
1232
1224
|
});
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
dashboardPageId: option.value
|
|
1237
|
-
});
|
|
1238
|
-
}
|
|
1225
|
+
setModalFolder(value);
|
|
1226
|
+
},
|
|
1227
|
+
validate: validateDashboardFolder
|
|
1239
1228
|
}
|
|
1240
1229
|
), (0, import_react6.useMemo)(
|
|
1241
1230
|
() => (0, import_variant10.match)(generationTask, {
|
|
@@ -1255,14 +1244,14 @@ var GenerateCustomElement = () => {
|
|
|
1255
1244
|
Spinner,
|
|
1256
1245
|
{
|
|
1257
1246
|
text: t2("generate_command.generation.loading", {
|
|
1258
|
-
subject: extensionType
|
|
1247
|
+
subject: `${extensionType} ${modalFolder}`
|
|
1259
1248
|
})
|
|
1260
1249
|
}
|
|
1261
1250
|
),
|
|
1262
|
-
|
|
1263
|
-
|
|
1251
|
+
Error: () => null,
|
|
1252
|
+
NotRequested: () => null
|
|
1264
1253
|
}),
|
|
1265
|
-
[generationTask, setFinishedInstallation, t2, extensionType]
|
|
1254
|
+
[generationTask, setFinishedInstallation, t2, extensionType, modalFolder]
|
|
1266
1255
|
), finishedInstallation && /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, null, /* @__PURE__ */ import_react6.default.createElement(Text, null, t2("generate_command.generation.done", {
|
|
1267
1256
|
extensionType
|
|
1268
1257
|
})), /* @__PURE__ */ import_react6.default.createElement(
|
|
@@ -1270,187 +1259,41 @@ var GenerateCustomElement = () => {
|
|
|
1270
1259
|
{
|
|
1271
1260
|
i18nKey: "generate_command.generation.learn_more",
|
|
1272
1261
|
values: { extensionType },
|
|
1273
|
-
components: [/* @__PURE__ */ import_react6.default.createElement(Learn, null), /* @__PURE__ */ import_react6.default.createElement(Link, { url: "https://wix.to/
|
|
1262
|
+
components: [/* @__PURE__ */ import_react6.default.createElement(Learn, null), /* @__PURE__ */ import_react6.default.createElement(Link, { url: "https://wix.to/zh5ZfMK" })]
|
|
1274
1263
|
}
|
|
1275
1264
|
)));
|
|
1276
1265
|
};
|
|
1277
1266
|
|
|
1278
|
-
// src/components/GenerateCommand/
|
|
1267
|
+
// src/components/GenerateCommand/service-plugin/index.ts
|
|
1279
1268
|
init_esm_shims();
|
|
1280
|
-
var import_react7 = __toESM(require_react(), 1);
|
|
1281
|
-
var import_variant11 = __toESM(require_lib(), 1);
|
|
1282
|
-
var import_lodash4 = __toESM(require_lodash(), 1);
|
|
1283
1269
|
|
|
1284
|
-
// src/components/GenerateCommand/
|
|
1270
|
+
// src/components/GenerateCommand/service-plugin/ServicePlugin.tsx
|
|
1285
1271
|
init_esm_shims();
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
var DASHBOARD_MODAL_TEMPLATE = path6.resolve(
|
|
1289
|
-
__dirname,
|
|
1290
|
-
"../templates/dashboard-modal"
|
|
1291
|
-
);
|
|
1292
|
-
async function generateDashboardModal(projectFolder, route, title) {
|
|
1293
|
-
const cwd = path6.join(getDashboardModalsDir(projectFolder), route);
|
|
1294
|
-
const modalConfig = {
|
|
1295
|
-
$schema: "https://dev.wix.com/wix-cli/schemas/dashboard-modal.json",
|
|
1296
|
-
id: randomUUID5(),
|
|
1297
|
-
title,
|
|
1298
|
-
width: 550,
|
|
1299
|
-
height: 600
|
|
1300
|
-
};
|
|
1301
|
-
const modalConfigJSON = toJsonString(modalConfig, { spaces: 2 });
|
|
1302
|
-
return await componentGenerator({
|
|
1303
|
-
template: DASHBOARD_MODAL_TEMPLATE,
|
|
1304
|
-
projectFolder,
|
|
1305
|
-
cwd,
|
|
1306
|
-
data: {
|
|
1307
|
-
modalId: modalConfig.id,
|
|
1308
|
-
route,
|
|
1309
|
-
title,
|
|
1310
|
-
modalConfigJSON
|
|
1311
|
-
}
|
|
1312
|
-
});
|
|
1313
|
-
}
|
|
1314
|
-
|
|
1315
|
-
// src/components/GenerateCommand/dashboard-modal/DashboardModal.tsx
|
|
1316
|
-
var GenerateDashboardModal = () => {
|
|
1317
|
-
const bi = useWixCliAppBi();
|
|
1318
|
-
const { t: t2 } = useTranslation();
|
|
1319
|
-
const { model } = useProjectModel();
|
|
1320
|
-
const { getExtensions } = useExtensions();
|
|
1321
|
-
const extensionType = t2(
|
|
1322
|
-
"generate_command.flow.dashboard_modal"
|
|
1323
|
-
).toLowerCase();
|
|
1324
|
-
const dashboardModals = getExtensions("DashboardModal");
|
|
1325
|
-
const [modalFolder, setModalFolder] = (0, import_react7.useState)();
|
|
1326
|
-
const [modalTitle, setModalTitle] = (0, import_react7.useState)();
|
|
1327
|
-
const [finishedInstallation, setFinishedInstallation] = (0, import_react7.useState)(false);
|
|
1328
|
-
const defaultModalFolder = (0, import_lodash4.kebabCase)(modalTitle);
|
|
1329
|
-
const modalQuestionsAnswered = modalFolder && modalTitle;
|
|
1330
|
-
const validateDashboardFolder = useValidation(
|
|
1331
|
-
composeValidations([
|
|
1332
|
-
[
|
|
1333
|
-
(folder) => {
|
|
1334
|
-
return dashboardModals.every(
|
|
1335
|
-
(modal) => relativeFolderName(
|
|
1336
|
-
getDashboardModalsDir(model.projectFolder),
|
|
1337
|
-
modal.relativePath
|
|
1338
|
-
) !== folder
|
|
1339
|
-
);
|
|
1340
|
-
},
|
|
1341
|
-
t2("generate_command.dashboard_modal.validation.folder_exists")
|
|
1342
|
-
],
|
|
1343
|
-
[
|
|
1344
|
-
pathValidation,
|
|
1345
|
-
t2("generate_command.dashboard_modal.validation.folder_invalid")
|
|
1346
|
-
]
|
|
1347
|
-
])
|
|
1348
|
-
);
|
|
1349
|
-
const generationTask = useGenerationTask(async () => {
|
|
1350
|
-
if (!modalQuestionsAnswered) {
|
|
1351
|
-
return;
|
|
1352
|
-
}
|
|
1353
|
-
return generateDashboardModal(model.projectFolder, modalFolder, modalTitle);
|
|
1354
|
-
}, [modalQuestionsAnswered]);
|
|
1355
|
-
return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement(
|
|
1356
|
-
TextInput,
|
|
1357
|
-
{
|
|
1358
|
-
label: t2("generate_command.dashboard_modal.choose_title"),
|
|
1359
|
-
placeholder: t2("generate_command.dashboard_modal.title_placeholder"),
|
|
1360
|
-
onSubmit: (modalTitle2) => {
|
|
1361
|
-
bi.cliFlowStepAnswered({
|
|
1362
|
-
question: t2("generate_command.dashboard_modal.choose_title"),
|
|
1363
|
-
questionKey: "generate_command.dashboard_modal.choose_title",
|
|
1364
|
-
answer: modalTitle2,
|
|
1365
|
-
additionalInfo: { extensionType }
|
|
1366
|
-
});
|
|
1367
|
-
setModalTitle(modalTitle2);
|
|
1368
|
-
}
|
|
1369
|
-
}
|
|
1370
|
-
), modalTitle && /* @__PURE__ */ import_react7.default.createElement(
|
|
1371
|
-
TextInput,
|
|
1372
|
-
{
|
|
1373
|
-
label: t2("generate_command.dashboard_modal.choose_folder"),
|
|
1374
|
-
placeholder: defaultModalFolder,
|
|
1375
|
-
onSubmit: (value) => {
|
|
1376
|
-
bi.cliFlowStepAnswered({
|
|
1377
|
-
question: t2("generate_command.dashboard_modal.choose_folder"),
|
|
1378
|
-
questionKey: "generate_command.dashboard_modal.choose_folder",
|
|
1379
|
-
answer: value,
|
|
1380
|
-
additionalInfo: { extensionType }
|
|
1381
|
-
});
|
|
1382
|
-
setModalFolder(value);
|
|
1383
|
-
},
|
|
1384
|
-
validate: validateDashboardFolder
|
|
1385
|
-
}
|
|
1386
|
-
), (0, import_react7.useMemo)(
|
|
1387
|
-
() => (0, import_variant11.match)(generationTask, {
|
|
1388
|
-
Success: ({ hasUpdatedDependencies }) => {
|
|
1389
|
-
if (hasUpdatedDependencies) {
|
|
1390
|
-
return /* @__PURE__ */ import_react7.default.createElement(
|
|
1391
|
-
InstallDependencies,
|
|
1392
|
-
{
|
|
1393
|
-
onFinish: () => setFinishedInstallation(true)
|
|
1394
|
-
}
|
|
1395
|
-
);
|
|
1396
|
-
}
|
|
1397
|
-
setFinishedInstallation(true);
|
|
1398
|
-
return null;
|
|
1399
|
-
},
|
|
1400
|
-
Loading: () => /* @__PURE__ */ import_react7.default.createElement(
|
|
1401
|
-
Spinner,
|
|
1402
|
-
{
|
|
1403
|
-
text: t2("generate_command.generation.loading", {
|
|
1404
|
-
subject: `${extensionType} ${modalFolder}`
|
|
1405
|
-
})
|
|
1406
|
-
}
|
|
1407
|
-
),
|
|
1408
|
-
Error: () => null,
|
|
1409
|
-
NotRequested: () => null
|
|
1410
|
-
}),
|
|
1411
|
-
[generationTask, setFinishedInstallation, t2, extensionType, modalFolder]
|
|
1412
|
-
), finishedInstallation && /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement(Text, null, t2("generate_command.generation.done", {
|
|
1413
|
-
extensionType
|
|
1414
|
-
})), /* @__PURE__ */ import_react7.default.createElement(
|
|
1415
|
-
Trans,
|
|
1416
|
-
{
|
|
1417
|
-
i18nKey: "generate_command.generation.learn_more",
|
|
1418
|
-
values: { extensionType },
|
|
1419
|
-
components: [/* @__PURE__ */ import_react7.default.createElement(Learn, null), /* @__PURE__ */ import_react7.default.createElement(Link, { url: "https://wix.to/zh5ZfMK" })]
|
|
1420
|
-
}
|
|
1421
|
-
)));
|
|
1422
|
-
};
|
|
1423
|
-
|
|
1424
|
-
// src/components/GenerateCommand/service-plugin/index.ts
|
|
1425
|
-
init_esm_shims();
|
|
1426
|
-
|
|
1427
|
-
// src/components/GenerateCommand/service-plugin/ServicePlugin.tsx
|
|
1428
|
-
init_esm_shims();
|
|
1429
|
-
var import_react8 = __toESM(require_react(), 1);
|
|
1430
|
-
var import_variant13 = __toESM(require_lib(), 1);
|
|
1272
|
+
var import_react7 = __toESM(require_react(), 1);
|
|
1273
|
+
var import_variant12 = __toESM(require_lib(), 1);
|
|
1431
1274
|
|
|
1432
1275
|
// src/components/GenerateCommand/service-plugin/generate.ts
|
|
1433
1276
|
init_esm_shims();
|
|
1434
|
-
import
|
|
1435
|
-
import { randomUUID as
|
|
1436
|
-
var
|
|
1437
|
-
var SERVICE_PLUGIN_TEMPLATE =
|
|
1277
|
+
import path6 from "node:path";
|
|
1278
|
+
import { randomUUID as randomUUID5 } from "node:crypto";
|
|
1279
|
+
var import_variant11 = __toESM(require_lib(), 1);
|
|
1280
|
+
var SERVICE_PLUGIN_TEMPLATE = path6.resolve(
|
|
1438
1281
|
__dirname,
|
|
1439
1282
|
"../templates/service-plugin"
|
|
1440
1283
|
);
|
|
1441
1284
|
async function generateServicePlugin(projectFolder, servicePluginType, name) {
|
|
1442
1285
|
const servicePluginTypeLower = ServicePluginTypeToFolderName(servicePluginType);
|
|
1443
|
-
const cwd =
|
|
1286
|
+
const cwd = path6.join(
|
|
1444
1287
|
getServicePluginsFolder(projectFolder),
|
|
1445
1288
|
servicePluginTypeLower,
|
|
1446
1289
|
name
|
|
1447
1290
|
);
|
|
1448
1291
|
const servicePluginConfigBase = {
|
|
1449
1292
|
$schema: `https://dev.wix.com/wix-cli/schemas/${servicePluginTypeLower}.json`,
|
|
1450
|
-
id:
|
|
1293
|
+
id: randomUUID5(),
|
|
1451
1294
|
name
|
|
1452
1295
|
};
|
|
1453
|
-
const servicePluginConfig = (0,
|
|
1296
|
+
const servicePluginConfig = (0, import_variant11.match)(servicePluginType, {
|
|
1454
1297
|
ECOM_ADDITIONAL_FEES: () => ({}),
|
|
1455
1298
|
ECOM_SHIPPING_RATES: () => ({
|
|
1456
1299
|
name: "Shipping Rates Provider",
|
|
@@ -1473,7 +1316,7 @@ async function generateServicePlugin(projectFolder, servicePluginType, name) {
|
|
|
1473
1316
|
}
|
|
1474
1317
|
);
|
|
1475
1318
|
return await componentGenerator({
|
|
1476
|
-
template:
|
|
1319
|
+
template: path6.join(SERVICE_PLUGIN_TEMPLATE, servicePluginTypeLower),
|
|
1477
1320
|
projectFolder,
|
|
1478
1321
|
cwd,
|
|
1479
1322
|
data: {
|
|
@@ -1488,10 +1331,10 @@ var GenerateServicePlugin = () => {
|
|
|
1488
1331
|
const { t: t2 } = useTranslation();
|
|
1489
1332
|
const { model } = useProjectModel();
|
|
1490
1333
|
const { getExtensions } = useExtensions();
|
|
1491
|
-
const [type, setType] = (0,
|
|
1492
|
-
const [name, setName] = (0,
|
|
1493
|
-
const [finishedInstallation, setFinishedInstallation] = (0,
|
|
1494
|
-
const generateServicePluginOptions = (0,
|
|
1334
|
+
const [type, setType] = (0, import_react7.useState)();
|
|
1335
|
+
const [name, setName] = (0, import_react7.useState)();
|
|
1336
|
+
const [finishedInstallation, setFinishedInstallation] = (0, import_react7.useState)(false);
|
|
1337
|
+
const generateServicePluginOptions = (0, import_react7.useMemo)(
|
|
1495
1338
|
() => [
|
|
1496
1339
|
{
|
|
1497
1340
|
title: t2("generate_command.service_plugin.groups.stores"),
|
|
@@ -1528,7 +1371,7 @@ var GenerateServicePlugin = () => {
|
|
|
1528
1371
|
[t2]
|
|
1529
1372
|
);
|
|
1530
1373
|
const extensionType = t2("generate_command.flow.service_plugin").toLowerCase();
|
|
1531
|
-
const selectSupportedServicePlugin = (0,
|
|
1374
|
+
const selectSupportedServicePlugin = (0, import_react7.useCallback)(
|
|
1532
1375
|
(supportedServicePlugin) => {
|
|
1533
1376
|
bi.cliFlowStepAnswered({
|
|
1534
1377
|
question: t2("generate_command.service_plugin.choose_type"),
|
|
@@ -1552,7 +1395,7 @@ var GenerateServicePlugin = () => {
|
|
|
1552
1395
|
return result;
|
|
1553
1396
|
}
|
|
1554
1397
|
}, [name, type]);
|
|
1555
|
-
return /* @__PURE__ */
|
|
1398
|
+
return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement(
|
|
1556
1399
|
SelectGroupsInput,
|
|
1557
1400
|
{
|
|
1558
1401
|
label: t2("generate_command.service_plugin.choose_type"),
|
|
@@ -1560,7 +1403,7 @@ var GenerateServicePlugin = () => {
|
|
|
1560
1403
|
onSubmit: selectSupportedServicePlugin,
|
|
1561
1404
|
maxHeight: 14
|
|
1562
1405
|
}
|
|
1563
|
-
), type && /* @__PURE__ */
|
|
1406
|
+
), type && /* @__PURE__ */ import_react7.default.createElement(
|
|
1564
1407
|
TextInput,
|
|
1565
1408
|
{
|
|
1566
1409
|
label: t2("generate_command.service_plugin.choose_name"),
|
|
@@ -1576,11 +1419,11 @@ var GenerateServicePlugin = () => {
|
|
|
1576
1419
|
},
|
|
1577
1420
|
validate: validateServicePluginFolder
|
|
1578
1421
|
}
|
|
1579
|
-
), (0,
|
|
1580
|
-
() => (0,
|
|
1422
|
+
), (0, import_react7.useMemo)(
|
|
1423
|
+
() => (0, import_variant12.match)(generationTask, {
|
|
1581
1424
|
Success: ({ hasUpdatedDependencies }) => {
|
|
1582
1425
|
if (hasUpdatedDependencies) {
|
|
1583
|
-
return /* @__PURE__ */
|
|
1426
|
+
return /* @__PURE__ */ import_react7.default.createElement(
|
|
1584
1427
|
InstallDependencies,
|
|
1585
1428
|
{
|
|
1586
1429
|
onFinish: () => setFinishedInstallation(true)
|
|
@@ -1590,7 +1433,7 @@ var GenerateServicePlugin = () => {
|
|
|
1590
1433
|
setFinishedInstallation(true);
|
|
1591
1434
|
return null;
|
|
1592
1435
|
},
|
|
1593
|
-
Loading: () => /* @__PURE__ */
|
|
1436
|
+
Loading: () => /* @__PURE__ */ import_react7.default.createElement(
|
|
1594
1437
|
Spinner,
|
|
1595
1438
|
{
|
|
1596
1439
|
text: t2("generate_command.generation.loading", {
|
|
@@ -1602,42 +1445,42 @@ var GenerateServicePlugin = () => {
|
|
|
1602
1445
|
NotRequested: () => null
|
|
1603
1446
|
}),
|
|
1604
1447
|
[generationTask, setFinishedInstallation, extensionType, t2]
|
|
1605
|
-
), finishedInstallation && /* @__PURE__ */
|
|
1448
|
+
), finishedInstallation && /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement(Text, null, t2("generate_command.generation.done", {
|
|
1606
1449
|
extensionType
|
|
1607
|
-
})), /* @__PURE__ */
|
|
1450
|
+
})), /* @__PURE__ */ import_react7.default.createElement(
|
|
1608
1451
|
Trans,
|
|
1609
1452
|
{
|
|
1610
1453
|
i18nKey: "generate_command.generation.learn_more",
|
|
1611
1454
|
values: { extensionType },
|
|
1612
|
-
components: [/* @__PURE__ */
|
|
1455
|
+
components: [/* @__PURE__ */ import_react7.default.createElement(Learn, null), /* @__PURE__ */ import_react7.default.createElement(Link, { url: "https://wix.to/YWyluDf" })]
|
|
1613
1456
|
}
|
|
1614
1457
|
)));
|
|
1615
1458
|
};
|
|
1616
1459
|
|
|
1617
1460
|
// src/components/GenerateCommand/dashboard-plugin/DashboardPlugin.tsx
|
|
1618
1461
|
init_esm_shims();
|
|
1619
|
-
var
|
|
1620
|
-
var
|
|
1462
|
+
var import_react12 = __toESM(require_react(), 1);
|
|
1463
|
+
var import_variant16 = __toESM(require_lib(), 1);
|
|
1621
1464
|
|
|
1622
1465
|
// src/components/GenerateCommand/dashboard-plugin/DashboardPluginWizard.tsx
|
|
1623
1466
|
init_esm_shims();
|
|
1624
|
-
var
|
|
1625
|
-
var
|
|
1626
|
-
var
|
|
1467
|
+
var import_react11 = __toESM(require_react(), 1);
|
|
1468
|
+
var import_variant15 = __toESM(require_lib(), 1);
|
|
1469
|
+
var import_lodash4 = __toESM(require_lodash(), 1);
|
|
1627
1470
|
|
|
1628
1471
|
// src/components/GenerateCommand/dashboard-plugin/generate.ts
|
|
1629
1472
|
init_esm_shims();
|
|
1630
|
-
import
|
|
1631
|
-
import { randomUUID as
|
|
1632
|
-
var DASHBOARD_PLUGIN_TEMPLATE =
|
|
1473
|
+
import path7 from "node:path";
|
|
1474
|
+
import { randomUUID as randomUUID6 } from "node:crypto";
|
|
1475
|
+
var DASHBOARD_PLUGIN_TEMPLATE = path7.resolve(
|
|
1633
1476
|
__dirname,
|
|
1634
1477
|
"../templates/dashboard-plugin"
|
|
1635
1478
|
);
|
|
1636
1479
|
async function generateDashboardPlugin(projectFolder, extended, folder, title, params) {
|
|
1637
|
-
const cwd =
|
|
1480
|
+
const cwd = path7.join(getDashboardPluginsDir(projectFolder), folder);
|
|
1638
1481
|
const pluginConfig = {
|
|
1639
1482
|
$schema: "https://dev.wix.com/wix-cli/schemas/dashboard-plugin.json",
|
|
1640
|
-
id:
|
|
1483
|
+
id: randomUUID6(),
|
|
1641
1484
|
title,
|
|
1642
1485
|
extends: extended
|
|
1643
1486
|
};
|
|
@@ -1655,8 +1498,8 @@ async function generateDashboardPlugin(projectFolder, extended, folder, title, p
|
|
|
1655
1498
|
|
|
1656
1499
|
// src/components/GenerateCommand/AppRequirement.tsx
|
|
1657
1500
|
init_esm_shims();
|
|
1658
|
-
var
|
|
1659
|
-
var
|
|
1501
|
+
var import_react8 = __toESM(require_react(), 1);
|
|
1502
|
+
var import_variant13 = __toESM(require_lib(), 1);
|
|
1660
1503
|
var AppRequirement = ({
|
|
1661
1504
|
appId,
|
|
1662
1505
|
requiredApps,
|
|
@@ -1683,9 +1526,9 @@ var AppRequirement = ({
|
|
|
1683
1526
|
}
|
|
1684
1527
|
return appsToRequire;
|
|
1685
1528
|
}, []);
|
|
1686
|
-
const handleSubmit = (0,
|
|
1529
|
+
const handleSubmit = (0, import_react8.useCallback)(
|
|
1687
1530
|
(shouldRequire) => {
|
|
1688
|
-
if ((0,
|
|
1531
|
+
if ((0, import_variant13.isType)(status, "Success")) {
|
|
1689
1532
|
bi.cliFlowStepAnswered({
|
|
1690
1533
|
question: t2("generate_command.required_app", {
|
|
1691
1534
|
appsNames: status.result.map((requiredApp) => requiredApp.name).join(", ")
|
|
@@ -1705,37 +1548,37 @@ var AppRequirement = ({
|
|
|
1705
1548
|
},
|
|
1706
1549
|
[bi, onSubmit, t2, status]
|
|
1707
1550
|
);
|
|
1708
|
-
return /* @__PURE__ */
|
|
1709
|
-
Success: ({ result: appsToRequire }) => appsToRequire.length > 0 && /* @__PURE__ */
|
|
1551
|
+
return /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, (0, import_variant13.match)(status, {
|
|
1552
|
+
Success: ({ result: appsToRequire }) => appsToRequire.length > 0 && /* @__PURE__ */ import_react8.default.createElement(Box_default, { marginBottom: 1 }, /* @__PURE__ */ import_react8.default.createElement(
|
|
1710
1553
|
ConfirmInput,
|
|
1711
1554
|
{
|
|
1712
1555
|
label: t2("generate_command.required_app", {
|
|
1713
1556
|
appsNames: appsToRequire.map((requiredApp) => requiredApp.name).join(", ")
|
|
1714
1557
|
}),
|
|
1715
|
-
info: /* @__PURE__ */
|
|
1558
|
+
info: /* @__PURE__ */ import_react8.default.createElement(
|
|
1716
1559
|
Trans,
|
|
1717
1560
|
{
|
|
1718
1561
|
i18nKey: "generate_command.required_app.description",
|
|
1719
1562
|
values: {
|
|
1720
1563
|
appsNames: appsToRequire.map((requiredApp) => requiredApp.name).join(", ")
|
|
1721
1564
|
},
|
|
1722
|
-
components: [/* @__PURE__ */
|
|
1565
|
+
components: [/* @__PURE__ */ import_react8.default.createElement(Link, { url: "https://wix.to/YAydHiJ" })]
|
|
1723
1566
|
}
|
|
1724
1567
|
),
|
|
1725
1568
|
onSubmit: handleSubmit
|
|
1726
1569
|
}
|
|
1727
1570
|
)),
|
|
1728
|
-
Loading: () => /* @__PURE__ */
|
|
1571
|
+
Loading: () => /* @__PURE__ */ import_react8.default.createElement(Spinner, null),
|
|
1729
1572
|
Error: () => null
|
|
1730
1573
|
}));
|
|
1731
1574
|
};
|
|
1732
1575
|
|
|
1733
1576
|
// src/components/GenerateCommand/MultipleAppRequirement.tsx
|
|
1734
1577
|
init_esm_shims();
|
|
1735
|
-
var
|
|
1736
|
-
var
|
|
1737
|
-
var RequiredAppOptions = (0,
|
|
1738
|
-
Available: (0,
|
|
1578
|
+
var import_react9 = __toESM(require_react(), 1);
|
|
1579
|
+
var import_variant14 = __toESM(require_lib(), 1);
|
|
1580
|
+
var RequiredAppOptions = (0, import_variant14.variant)({
|
|
1581
|
+
Available: (0, import_variant14.fields)(),
|
|
1739
1582
|
FailedToGetRequiredApps: {}
|
|
1740
1583
|
});
|
|
1741
1584
|
var MultipleAppRequirement = ({
|
|
@@ -1747,7 +1590,7 @@ var MultipleAppRequirement = ({
|
|
|
1747
1590
|
const { t: t2 } = useTranslation();
|
|
1748
1591
|
const { getRequiredApps } = useDevCenterClient();
|
|
1749
1592
|
const { reportError } = useErrorReporter();
|
|
1750
|
-
const handleSubmit = (0,
|
|
1593
|
+
const handleSubmit = (0, import_react9.useCallback)(
|
|
1751
1594
|
(option) => {
|
|
1752
1595
|
bi.cliFlowStepAnswered({
|
|
1753
1596
|
question: t2("generate_command.required_business_solution"),
|
|
@@ -1781,12 +1624,12 @@ var MultipleAppRequirement = ({
|
|
|
1781
1624
|
value: ""
|
|
1782
1625
|
});
|
|
1783
1626
|
const initialIndex = options.findIndex(
|
|
1784
|
-
(_) => !(0,
|
|
1627
|
+
(_) => !(0, import_variant14.isType)(_.availability, SelectOptionAvailability.Disabled)
|
|
1785
1628
|
);
|
|
1786
1629
|
return RequiredAppOptions.Available({ options, initialIndex });
|
|
1787
1630
|
}, [getRequiredApps, appId]);
|
|
1788
|
-
return /* @__PURE__ */
|
|
1789
|
-
Loading: () => /* @__PURE__ */
|
|
1631
|
+
return /* @__PURE__ */ import_react9.default.createElement(import_react9.default.Fragment, null, (0, import_variant14.match)(status, {
|
|
1632
|
+
Loading: () => /* @__PURE__ */ import_react9.default.createElement(
|
|
1790
1633
|
Spinner,
|
|
1791
1634
|
{
|
|
1792
1635
|
text: t2("generate_command.required_business_solution.loading")
|
|
@@ -1794,8 +1637,8 @@ var MultipleAppRequirement = ({
|
|
|
1794
1637
|
),
|
|
1795
1638
|
Error: () => null,
|
|
1796
1639
|
Success: ({ result }) => {
|
|
1797
|
-
return (0,
|
|
1798
|
-
Available: ({ options, initialIndex }) => /* @__PURE__ */
|
|
1640
|
+
return (0, import_variant14.match)(result, {
|
|
1641
|
+
Available: ({ options, initialIndex }) => /* @__PURE__ */ import_react9.default.createElement(
|
|
1799
1642
|
SelectInput,
|
|
1800
1643
|
{
|
|
1801
1644
|
label: t2("generate_command.required_business_solution"),
|
|
@@ -1807,18 +1650,18 @@ var MultipleAppRequirement = ({
|
|
|
1807
1650
|
onSubmit: handleSubmit
|
|
1808
1651
|
}
|
|
1809
1652
|
),
|
|
1810
|
-
FailedToGetRequiredApps: () => /* @__PURE__ */
|
|
1653
|
+
FailedToGetRequiredApps: () => /* @__PURE__ */ import_react9.default.createElement(Box_default, { marginBottom: 1, gap: 1, flexDirection: "column" }, /* @__PURE__ */ import_react9.default.createElement(InputLabel, null, t2("generate_command.required_business_solution")), /* @__PURE__ */ import_react9.default.createElement(
|
|
1811
1654
|
ErrorDetails,
|
|
1812
1655
|
{
|
|
1813
1656
|
message: t2(
|
|
1814
1657
|
"generate_command.required_business_solution.error"
|
|
1815
1658
|
),
|
|
1816
|
-
hint: /* @__PURE__ */
|
|
1659
|
+
hint: /* @__PURE__ */ import_react9.default.createElement(
|
|
1817
1660
|
Trans,
|
|
1818
1661
|
{
|
|
1819
1662
|
i18nKey: "generate_command.required_business_solution.error.hint",
|
|
1820
1663
|
components: [
|
|
1821
|
-
/* @__PURE__ */
|
|
1664
|
+
/* @__PURE__ */ import_react9.default.createElement(
|
|
1822
1665
|
Link,
|
|
1823
1666
|
{
|
|
1824
1667
|
url: `https://manage.wix.com/apps/${appId}/dev-center-giza-market-listing/app-audience?referralInfo=wix-cli`
|
|
@@ -1836,7 +1679,7 @@ var MultipleAppRequirement = ({
|
|
|
1836
1679
|
|
|
1837
1680
|
// src/components/GenerateCommand/dashboard-plugin/DashboardPluginGeneratedNote.tsx
|
|
1838
1681
|
init_esm_shims();
|
|
1839
|
-
var
|
|
1682
|
+
var import_react10 = __toESM(require_react(), 1);
|
|
1840
1683
|
var customGroupMessages = /* @__PURE__ */ new Map([
|
|
1841
1684
|
["Wix eCommerce", "generate_command.generation.ecommerce_notification"]
|
|
1842
1685
|
]);
|
|
@@ -1846,12 +1689,12 @@ var DashboardPluginGeneratedNote = ({ backofficeExtensionWidget }) => {
|
|
|
1846
1689
|
"generate_command.flow.dashboard_plugin"
|
|
1847
1690
|
).toLowerCase();
|
|
1848
1691
|
const customKey = customGroupMessages.get(backofficeExtensionWidget.category);
|
|
1849
|
-
return /* @__PURE__ */
|
|
1692
|
+
return /* @__PURE__ */ import_react10.default.createElement(import_react10.default.Fragment, null, /* @__PURE__ */ import_react10.default.createElement(Text, null, t2("generate_command.generation.done", { extensionType })), customKey ? /* @__PURE__ */ import_react10.default.createElement(Text, null, t2(customKey)) : null, /* @__PURE__ */ import_react10.default.createElement(
|
|
1850
1693
|
Trans,
|
|
1851
1694
|
{
|
|
1852
1695
|
i18nKey: "generate_command.generation.learn_more",
|
|
1853
1696
|
values: { extensionType },
|
|
1854
|
-
components: [/* @__PURE__ */
|
|
1697
|
+
components: [/* @__PURE__ */ import_react10.default.createElement(Learn, null), /* @__PURE__ */ import_react10.default.createElement(Link, { url: "https://wix.to/dFFuEki" })]
|
|
1855
1698
|
}
|
|
1856
1699
|
));
|
|
1857
1700
|
};
|
|
@@ -1860,7 +1703,7 @@ var DashboardPluginGeneratedNote = ({ backofficeExtensionWidget }) => {
|
|
|
1860
1703
|
var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
|
|
1861
1704
|
const bi = useWixCliAppBi();
|
|
1862
1705
|
const { t: t2 } = useTranslation();
|
|
1863
|
-
const [backofficeExtensionWidget, setBackofficeExtensionWidget] = (0,
|
|
1706
|
+
const [backofficeExtensionWidget, setBackofficeExtensionWidget] = (0, import_react11.useState)();
|
|
1864
1707
|
const { addRequiredApp } = useDevCenterClient();
|
|
1865
1708
|
const { model } = useProjectModel();
|
|
1866
1709
|
const { getExtensions } = useExtensions();
|
|
@@ -1868,11 +1711,11 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
|
|
|
1868
1711
|
"generate_command.flow.dashboard_plugin"
|
|
1869
1712
|
).toLowerCase();
|
|
1870
1713
|
const dashboardPlugins = getExtensions("DashboardPlugin");
|
|
1871
|
-
const [folder, setFolder] = (0,
|
|
1872
|
-
const [title, setTitle] = (0,
|
|
1873
|
-
const [requireAppsIds, setRequireAppsIds] = (0,
|
|
1874
|
-
const [finishedInstallation, setFinishedInstallation] = (0,
|
|
1875
|
-
const defaultFolderName = (0,
|
|
1714
|
+
const [folder, setFolder] = (0, import_react11.useState)();
|
|
1715
|
+
const [title, setTitle] = (0, import_react11.useState)();
|
|
1716
|
+
const [requireAppsIds, setRequireAppsIds] = (0, import_react11.useState)();
|
|
1717
|
+
const [finishedInstallation, setFinishedInstallation] = (0, import_react11.useState)(false);
|
|
1718
|
+
const defaultFolderName = (0, import_lodash4.kebabCase)(title);
|
|
1876
1719
|
const validatePluginFolder = useValidation(
|
|
1877
1720
|
createDashboardPluginValidation(dashboardPlugins)
|
|
1878
1721
|
);
|
|
@@ -1894,7 +1737,7 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
|
|
|
1894
1737
|
);
|
|
1895
1738
|
}
|
|
1896
1739
|
}, [backofficeExtensionWidget?.id, folder, title, requireAppsIds]);
|
|
1897
|
-
const extensionGroups = (0,
|
|
1740
|
+
const extensionGroups = (0, import_react11.useMemo)(
|
|
1898
1741
|
() => Object.values(
|
|
1899
1742
|
backofficeExtensionWidgets.reduce((extensionsByApps, extension) => {
|
|
1900
1743
|
const [requiredApp] = extension.requiredApps;
|
|
@@ -1903,11 +1746,11 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
|
|
|
1903
1746
|
extensionsByApps[groupBy].items.push({
|
|
1904
1747
|
title: extension.name,
|
|
1905
1748
|
key: extension.id,
|
|
1906
|
-
description: /* @__PURE__ */
|
|
1749
|
+
description: /* @__PURE__ */ import_react11.default.createElement(
|
|
1907
1750
|
Trans,
|
|
1908
1751
|
{
|
|
1909
1752
|
i18nKey: "generate_command.dashboard_plugin.what_to_extend.item_description",
|
|
1910
|
-
components: [/* @__PURE__ */
|
|
1753
|
+
components: [/* @__PURE__ */ import_react11.default.createElement(Link, { url: requiredApp.docsUrl })]
|
|
1911
1754
|
}
|
|
1912
1755
|
),
|
|
1913
1756
|
value: extension
|
|
@@ -1917,15 +1760,15 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
|
|
|
1917
1760
|
),
|
|
1918
1761
|
[backofficeExtensionWidgets]
|
|
1919
1762
|
);
|
|
1920
|
-
return /* @__PURE__ */
|
|
1763
|
+
return /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement(
|
|
1921
1764
|
SelectGroupsInput,
|
|
1922
1765
|
{
|
|
1923
1766
|
label: t2("generate_command.dashboard_plugin.what_to_extend"),
|
|
1924
|
-
info: /* @__PURE__ */
|
|
1767
|
+
info: /* @__PURE__ */ import_react11.default.createElement(
|
|
1925
1768
|
Trans,
|
|
1926
1769
|
{
|
|
1927
1770
|
i18nKey: "generate_command.dashboard_plugin.what_to_extend.description",
|
|
1928
|
-
components: [/* @__PURE__ */
|
|
1771
|
+
components: [/* @__PURE__ */ import_react11.default.createElement(Link, { url: "https://wix.to/ZeCt07g" })]
|
|
1929
1772
|
}
|
|
1930
1773
|
),
|
|
1931
1774
|
hideScroll: true,
|
|
@@ -1940,7 +1783,7 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
|
|
|
1940
1783
|
setBackofficeExtensionWidget(option.value);
|
|
1941
1784
|
}
|
|
1942
1785
|
}
|
|
1943
|
-
), backofficeExtensionWidget && (backofficeExtensionWidget.requiredApps.length === 1 ? /* @__PURE__ */
|
|
1786
|
+
), backofficeExtensionWidget && (backofficeExtensionWidget.requiredApps.length === 1 ? /* @__PURE__ */ import_react11.default.createElement(
|
|
1944
1787
|
AppRequirement,
|
|
1945
1788
|
{
|
|
1946
1789
|
appId: model.config.appId,
|
|
@@ -1952,7 +1795,7 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
|
|
|
1952
1795
|
],
|
|
1953
1796
|
onSubmit: setRequireAppsIds
|
|
1954
1797
|
}
|
|
1955
|
-
) : /* @__PURE__ */
|
|
1798
|
+
) : /* @__PURE__ */ import_react11.default.createElement(
|
|
1956
1799
|
MultipleAppRequirement,
|
|
1957
1800
|
{
|
|
1958
1801
|
appId: model.config.appId,
|
|
@@ -1964,7 +1807,7 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
|
|
|
1964
1807
|
),
|
|
1965
1808
|
onSubmit: setRequireAppsIds
|
|
1966
1809
|
}
|
|
1967
|
-
)), requireAppsIds && /* @__PURE__ */
|
|
1810
|
+
)), requireAppsIds && /* @__PURE__ */ import_react11.default.createElement(
|
|
1968
1811
|
TextInput,
|
|
1969
1812
|
{
|
|
1970
1813
|
label: t2("generate_command.dashboard_plugin.choose_title"),
|
|
@@ -1979,7 +1822,7 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
|
|
|
1979
1822
|
setTitle(value);
|
|
1980
1823
|
}
|
|
1981
1824
|
}
|
|
1982
|
-
), title && /* @__PURE__ */
|
|
1825
|
+
), title && /* @__PURE__ */ import_react11.default.createElement(
|
|
1983
1826
|
TextInput,
|
|
1984
1827
|
{
|
|
1985
1828
|
label: t2("generate_command.dashboard_plugin.choose_folder"),
|
|
@@ -1995,11 +1838,11 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
|
|
|
1995
1838
|
},
|
|
1996
1839
|
validate: validatePluginFolder
|
|
1997
1840
|
}
|
|
1998
|
-
), (0,
|
|
1999
|
-
() => (0,
|
|
1841
|
+
), (0, import_react11.useMemo)(
|
|
1842
|
+
() => (0, import_variant15.match)(generationTask, {
|
|
2000
1843
|
Success: ({ hasUpdatedDependencies }) => {
|
|
2001
1844
|
if (hasUpdatedDependencies) {
|
|
2002
|
-
return /* @__PURE__ */
|
|
1845
|
+
return /* @__PURE__ */ import_react11.default.createElement(
|
|
2003
1846
|
InstallDependencies,
|
|
2004
1847
|
{
|
|
2005
1848
|
onFinish: () => setFinishedInstallation(true)
|
|
@@ -2009,7 +1852,7 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
|
|
|
2009
1852
|
setFinishedInstallation(true);
|
|
2010
1853
|
return null;
|
|
2011
1854
|
},
|
|
2012
|
-
Loading: () => /* @__PURE__ */
|
|
1855
|
+
Loading: () => /* @__PURE__ */ import_react11.default.createElement(
|
|
2013
1856
|
Spinner,
|
|
2014
1857
|
{
|
|
2015
1858
|
text: t2("generate_command.generation.loading", {
|
|
@@ -2021,7 +1864,7 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
|
|
|
2021
1864
|
NotRequested: () => null
|
|
2022
1865
|
}),
|
|
2023
1866
|
[generationTask, setFinishedInstallation, t2, extensionType]
|
|
2024
|
-
), finishedInstallation && backofficeExtensionWidget ? /* @__PURE__ */
|
|
1867
|
+
), finishedInstallation && backofficeExtensionWidget ? /* @__PURE__ */ import_react11.default.createElement(
|
|
2025
1868
|
DashboardPluginGeneratedNote,
|
|
2026
1869
|
{
|
|
2027
1870
|
backofficeExtensionWidget
|
|
@@ -2033,10 +1876,10 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
|
|
|
2033
1876
|
var DashboardPlugin = () => {
|
|
2034
1877
|
const { t: t2 } = useTranslation();
|
|
2035
1878
|
const { status } = useAsync(getBackofficeExtensionWidgets, []);
|
|
2036
|
-
return (0,
|
|
1879
|
+
return (0, import_variant16.match)(status, {
|
|
2037
1880
|
Error: () => null,
|
|
2038
|
-
Loading: () => /* @__PURE__ */
|
|
2039
|
-
Success: ({ result: backofficeExtensionWidgets }) => /* @__PURE__ */
|
|
1881
|
+
Loading: () => /* @__PURE__ */ import_react12.default.createElement(Spinner, { text: t2("general.loading") }),
|
|
1882
|
+
Success: ({ result: backofficeExtensionWidgets }) => /* @__PURE__ */ import_react12.default.createElement(
|
|
2040
1883
|
DashboardPluginWizard,
|
|
2041
1884
|
{
|
|
2042
1885
|
backofficeExtensionWidgets
|
|
@@ -2047,28 +1890,28 @@ var DashboardPlugin = () => {
|
|
|
2047
1890
|
|
|
2048
1891
|
// src/components/GenerateCommand/dashboad-menu-plugin/DashboardMenuPlugin.tsx
|
|
2049
1892
|
init_esm_shims();
|
|
2050
|
-
var
|
|
2051
|
-
var
|
|
1893
|
+
var import_react17 = __toESM(require_react(), 1);
|
|
1894
|
+
var import_variant20 = __toESM(require_lib(), 1);
|
|
2052
1895
|
|
|
2053
1896
|
// src/components/GenerateCommand/dashboad-menu-plugin/DashboardMenuPluginWizard.tsx
|
|
2054
1897
|
init_esm_shims();
|
|
2055
|
-
var
|
|
2056
|
-
var
|
|
2057
|
-
var
|
|
1898
|
+
var import_react16 = __toESM(require_react(), 1);
|
|
1899
|
+
var import_variant19 = __toESM(require_lib(), 1);
|
|
1900
|
+
var import_lodash5 = __toESM(require_lodash(), 1);
|
|
2058
1901
|
|
|
2059
1902
|
// src/components/GenerateCommand/dashboad-menu-plugin/generate.ts
|
|
2060
1903
|
init_esm_shims();
|
|
2061
|
-
import
|
|
2062
|
-
import { randomUUID as
|
|
2063
|
-
var DASHBOARD_MENU_PLUGIN_TEMPLATE =
|
|
1904
|
+
import path8 from "node:path";
|
|
1905
|
+
import { randomUUID as randomUUID7 } from "node:crypto";
|
|
1906
|
+
var DASHBOARD_MENU_PLUGIN_TEMPLATE = path8.resolve(
|
|
2064
1907
|
__dirname,
|
|
2065
1908
|
"../templates/dashboard-menu-plugin"
|
|
2066
1909
|
);
|
|
2067
1910
|
async function generateDashboardMenuPlugin(projectFolder, extended, action, folder, title) {
|
|
2068
|
-
const cwd =
|
|
1911
|
+
const cwd = path8.join(getDashboardMenuPluginsDir(projectFolder), folder);
|
|
2069
1912
|
const menuPluginConfig = {
|
|
2070
1913
|
$schema: "https://dev.wix.com/wix-cli/schemas/dashboard-menu-plugin.json",
|
|
2071
|
-
id:
|
|
1914
|
+
id: randomUUID7(),
|
|
2072
1915
|
title,
|
|
2073
1916
|
iconKey: "Sparkles",
|
|
2074
1917
|
extends: extended,
|
|
@@ -2087,20 +1930,20 @@ async function generateDashboardMenuPlugin(projectFolder, extended, action, fold
|
|
|
2087
1930
|
|
|
2088
1931
|
// src/components/GenerateCommand/dashboad-menu-plugin/NavigateToPage.tsx
|
|
2089
1932
|
init_esm_shims();
|
|
2090
|
-
var
|
|
2091
|
-
var
|
|
2092
|
-
var NavigateToPageOption = (0,
|
|
2093
|
-
Page: (0,
|
|
1933
|
+
var import_react13 = __toESM(require_react(), 1);
|
|
1934
|
+
var import_variant17 = __toESM(require_lib(), 1);
|
|
1935
|
+
var NavigateToPageOption = (0, import_variant17.variant)({
|
|
1936
|
+
Page: (0, import_variant17.fields)(),
|
|
2094
1937
|
Other: {}
|
|
2095
1938
|
});
|
|
2096
1939
|
var NavigateToPage = ({ onActionSelected }) => {
|
|
2097
1940
|
const bi = useWixCliAppBi();
|
|
2098
1941
|
const { model } = useProjectModel();
|
|
2099
1942
|
const { t: t2 } = useTranslation();
|
|
2100
|
-
const [pageId, setPageId] = (0,
|
|
2101
|
-
const [shouldUseCustomPageId, setShouldUseCustomPageId] = (0,
|
|
2102
|
-
const dashboardPages = (0,
|
|
2103
|
-
() => model.components.filter((0,
|
|
1943
|
+
const [pageId, setPageId] = (0, import_react13.useState)();
|
|
1944
|
+
const [shouldUseCustomPageId, setShouldUseCustomPageId] = (0, import_react13.useState)(false);
|
|
1945
|
+
const dashboardPages = (0, import_react13.useMemo)(
|
|
1946
|
+
() => model.components.filter((0, import_variant17.isType)(DevCenterComponent.DashboardPage)),
|
|
2104
1947
|
[model.components]
|
|
2105
1948
|
);
|
|
2106
1949
|
const validatePageId = useValidation(
|
|
@@ -2113,7 +1956,7 @@ var NavigateToPage = ({ onActionSelected }) => {
|
|
|
2113
1956
|
]
|
|
2114
1957
|
])
|
|
2115
1958
|
);
|
|
2116
|
-
(0,
|
|
1959
|
+
(0, import_react13.useEffect)(() => {
|
|
2117
1960
|
if (pageId) {
|
|
2118
1961
|
onActionSelected({
|
|
2119
1962
|
navigateToPage: {
|
|
@@ -2122,7 +1965,7 @@ var NavigateToPage = ({ onActionSelected }) => {
|
|
|
2122
1965
|
});
|
|
2123
1966
|
}
|
|
2124
1967
|
}, [pageId, onActionSelected]);
|
|
2125
|
-
return /* @__PURE__ */
|
|
1968
|
+
return /* @__PURE__ */ import_react13.default.createElement(import_react13.default.Fragment, null, /* @__PURE__ */ import_react13.default.createElement(
|
|
2126
1969
|
SelectInput,
|
|
2127
1970
|
{
|
|
2128
1971
|
label: t2(
|
|
@@ -2153,13 +1996,13 @@ var NavigateToPage = ({ onActionSelected }) => {
|
|
|
2153
1996
|
questionKey: "generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page",
|
|
2154
1997
|
answer: option.title
|
|
2155
1998
|
});
|
|
2156
|
-
return (0,
|
|
1999
|
+
return (0, import_variant17.match)(option.value, {
|
|
2157
2000
|
Page: ({ pageId: pageId2 }) => setPageId(pageId2),
|
|
2158
2001
|
Other: () => setShouldUseCustomPageId(true)
|
|
2159
2002
|
});
|
|
2160
2003
|
}
|
|
2161
2004
|
}
|
|
2162
|
-
), shouldUseCustomPageId && /* @__PURE__ */
|
|
2005
|
+
), shouldUseCustomPageId && /* @__PURE__ */ import_react13.default.createElement(
|
|
2163
2006
|
TextInput,
|
|
2164
2007
|
{
|
|
2165
2008
|
label: t2(
|
|
@@ -2182,20 +2025,20 @@ var NavigateToPage = ({ onActionSelected }) => {
|
|
|
2182
2025
|
|
|
2183
2026
|
// src/components/GenerateCommand/dashboad-menu-plugin/OpenModal.tsx
|
|
2184
2027
|
init_esm_shims();
|
|
2185
|
-
var
|
|
2186
|
-
var
|
|
2187
|
-
var OpenModalOption = (0,
|
|
2188
|
-
Component: (0,
|
|
2028
|
+
var import_react14 = __toESM(require_react(), 1);
|
|
2029
|
+
var import_variant18 = __toESM(require_lib(), 1);
|
|
2030
|
+
var OpenModalOption = (0, import_variant18.variant)({
|
|
2031
|
+
Component: (0, import_variant18.fields)(),
|
|
2189
2032
|
Other: {}
|
|
2190
2033
|
});
|
|
2191
2034
|
var OpenModal = ({ onActionSelected }) => {
|
|
2192
2035
|
const bi = useWixCliAppBi();
|
|
2193
2036
|
const { model } = useProjectModel();
|
|
2194
2037
|
const { t: t2 } = useTranslation();
|
|
2195
|
-
const [componentId, setComponentId] = (0,
|
|
2196
|
-
const [shouldUseCustomComponentId, setShouldUseCustomComponentId] = (0,
|
|
2197
|
-
const dashboardModals = (0,
|
|
2198
|
-
() => model.components.filter((0,
|
|
2038
|
+
const [componentId, setComponentId] = (0, import_react14.useState)();
|
|
2039
|
+
const [shouldUseCustomComponentId, setShouldUseCustomComponentId] = (0, import_react14.useState)(false);
|
|
2040
|
+
const dashboardModals = (0, import_react14.useMemo)(
|
|
2041
|
+
() => model.components.filter((0, import_variant18.isType)(DevCenterComponent.DashboardModal)),
|
|
2199
2042
|
[model.components]
|
|
2200
2043
|
);
|
|
2201
2044
|
const validateComponentId = useValidation(
|
|
@@ -2208,7 +2051,7 @@ var OpenModal = ({ onActionSelected }) => {
|
|
|
2208
2051
|
]
|
|
2209
2052
|
])
|
|
2210
2053
|
);
|
|
2211
|
-
(0,
|
|
2054
|
+
(0, import_react14.useEffect)(() => {
|
|
2212
2055
|
if (componentId) {
|
|
2213
2056
|
onActionSelected({
|
|
2214
2057
|
openModal: {
|
|
@@ -2217,7 +2060,7 @@ var OpenModal = ({ onActionSelected }) => {
|
|
|
2217
2060
|
});
|
|
2218
2061
|
}
|
|
2219
2062
|
}, [componentId, onActionSelected]);
|
|
2220
|
-
return /* @__PURE__ */
|
|
2063
|
+
return /* @__PURE__ */ import_react14.default.createElement(import_react14.default.Fragment, null, /* @__PURE__ */ import_react14.default.createElement(
|
|
2221
2064
|
SelectInput,
|
|
2222
2065
|
{
|
|
2223
2066
|
label: t2(
|
|
@@ -2246,13 +2089,13 @@ var OpenModal = ({ onActionSelected }) => {
|
|
|
2246
2089
|
questionKey: "generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component",
|
|
2247
2090
|
answer: option.title
|
|
2248
2091
|
});
|
|
2249
|
-
return (0,
|
|
2092
|
+
return (0, import_variant18.match)(option.value, {
|
|
2250
2093
|
Component: ({ componentId: componentId2 }) => setComponentId(componentId2),
|
|
2251
2094
|
Other: () => setShouldUseCustomComponentId(true)
|
|
2252
2095
|
});
|
|
2253
2096
|
}
|
|
2254
2097
|
}
|
|
2255
|
-
), shouldUseCustomComponentId && /* @__PURE__ */
|
|
2098
|
+
), shouldUseCustomComponentId && /* @__PURE__ */ import_react14.default.createElement(
|
|
2256
2099
|
TextInput,
|
|
2257
2100
|
{
|
|
2258
2101
|
label: t2(
|
|
@@ -2275,7 +2118,7 @@ var OpenModal = ({ onActionSelected }) => {
|
|
|
2275
2118
|
|
|
2276
2119
|
// src/components/GenerateCommand/dashboad-menu-plugin/DashboardMenuPluginGeneratedNote.tsx
|
|
2277
2120
|
init_esm_shims();
|
|
2278
|
-
var
|
|
2121
|
+
var import_react15 = __toESM(require_react(), 1);
|
|
2279
2122
|
var customGroupMessages2 = /* @__PURE__ */ new Map([
|
|
2280
2123
|
["Wix eCommerce", "generate_command.generation.ecommerce_notification"]
|
|
2281
2124
|
]);
|
|
@@ -2285,18 +2128,18 @@ var DashboardMenuPluginGeneratedNote = ({ backofficeMenuItem }) => {
|
|
|
2285
2128
|
"generate_command.flow.dashboard_menu_plugin"
|
|
2286
2129
|
).toLowerCase();
|
|
2287
2130
|
const customKey = customGroupMessages2.get(backofficeMenuItem.category);
|
|
2288
|
-
return /* @__PURE__ */
|
|
2131
|
+
return /* @__PURE__ */ import_react15.default.createElement(Box_default, { flexDirection: "column" }, /* @__PURE__ */ import_react15.default.createElement(Text, null, t2("generate_command.generation.done", { extensionType })), customKey ? /* @__PURE__ */ import_react15.default.createElement(Text, null, t2(customKey)) : null, /* @__PURE__ */ import_react15.default.createElement(
|
|
2289
2132
|
Trans,
|
|
2290
2133
|
{
|
|
2291
2134
|
i18nKey: "generate_command.generation.learn_more",
|
|
2292
2135
|
values: { extensionType },
|
|
2293
|
-
components: [/* @__PURE__ */
|
|
2136
|
+
components: [/* @__PURE__ */ import_react15.default.createElement(Learn, null), /* @__PURE__ */ import_react15.default.createElement(Link, { url: "https://wix.to/YwaogfU" })]
|
|
2294
2137
|
}
|
|
2295
2138
|
));
|
|
2296
2139
|
};
|
|
2297
2140
|
|
|
2298
2141
|
// src/components/GenerateCommand/dashboad-menu-plugin/DashboardMenuPluginWizard.tsx
|
|
2299
|
-
var DashboardMenuPluginAction = (0,
|
|
2142
|
+
var DashboardMenuPluginAction = (0, import_variant19.variant)({
|
|
2300
2143
|
NavigateToPage: {},
|
|
2301
2144
|
OpenModal: {}
|
|
2302
2145
|
});
|
|
@@ -2310,15 +2153,15 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
|
|
|
2310
2153
|
"generate_command.flow.dashboard_menu_plugin"
|
|
2311
2154
|
).toLowerCase();
|
|
2312
2155
|
const dashboardMenuPlugins = getExtensions("DashboardMenuPlugin");
|
|
2313
|
-
const [backofficeMenuItem, setBackofficeMenuItem] = (0,
|
|
2314
|
-
const [actionType, setActionType] = (0,
|
|
2315
|
-
const [requireAppsIds, setRequireAppsIds] = (0,
|
|
2316
|
-
const [action, setAction] = (0,
|
|
2317
|
-
const [folder, setFolder] = (0,
|
|
2318
|
-
const [title, setTitle] = (0,
|
|
2319
|
-
const [finishedInstallation, setFinishedInstallation] = (0,
|
|
2320
|
-
const defaultFolderName = (0,
|
|
2321
|
-
const [additionalInfo, setAdditionalInfo] = (0,
|
|
2156
|
+
const [backofficeMenuItem, setBackofficeMenuItem] = (0, import_react16.useState)();
|
|
2157
|
+
const [actionType, setActionType] = (0, import_react16.useState)();
|
|
2158
|
+
const [requireAppsIds, setRequireAppsIds] = (0, import_react16.useState)();
|
|
2159
|
+
const [action, setAction] = (0, import_react16.useState)();
|
|
2160
|
+
const [folder, setFolder] = (0, import_react16.useState)();
|
|
2161
|
+
const [title, setTitle] = (0, import_react16.useState)();
|
|
2162
|
+
const [finishedInstallation, setFinishedInstallation] = (0, import_react16.useState)(false);
|
|
2163
|
+
const defaultFolderName = (0, import_lodash5.kebabCase)(title);
|
|
2164
|
+
const [additionalInfo, setAdditionalInfo] = (0, import_react16.useState)();
|
|
2322
2165
|
const validateMenuPluginFolder = useValidation(
|
|
2323
2166
|
createDashboardMenuPluginValidation(dashboardMenuPlugins)
|
|
2324
2167
|
);
|
|
@@ -2340,11 +2183,11 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
|
|
|
2340
2183
|
);
|
|
2341
2184
|
}
|
|
2342
2185
|
}, [backofficeMenuItem, action, folder, title]);
|
|
2343
|
-
const handleActionSelected = (0,
|
|
2186
|
+
const handleActionSelected = (0, import_react16.useCallback)(
|
|
2344
2187
|
(action2) => setAction(action2),
|
|
2345
2188
|
[]
|
|
2346
2189
|
);
|
|
2347
|
-
const menuItemsGroups = (0,
|
|
2190
|
+
const menuItemsGroups = (0, import_react16.useMemo)(
|
|
2348
2191
|
() => Object.values(
|
|
2349
2192
|
backofficeMenuItems.reduce((menuItemsByApps, menuItem) => {
|
|
2350
2193
|
const [requiredApp] = menuItem.requiredApps;
|
|
@@ -2353,11 +2196,11 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
|
|
|
2353
2196
|
menuItemsByApps[groupBy].items.push({
|
|
2354
2197
|
title: menuItem.name,
|
|
2355
2198
|
key: menuItem.id,
|
|
2356
|
-
description: /* @__PURE__ */
|
|
2199
|
+
description: /* @__PURE__ */ import_react16.default.createElement(
|
|
2357
2200
|
Trans,
|
|
2358
2201
|
{
|
|
2359
2202
|
i18nKey: "generate_command.dashboard_menu_plugin.what_to_extend.item_description",
|
|
2360
|
-
components: [/* @__PURE__ */
|
|
2203
|
+
components: [/* @__PURE__ */ import_react16.default.createElement(Link, { url: requiredApp.docsUrl })]
|
|
2361
2204
|
}
|
|
2362
2205
|
),
|
|
2363
2206
|
value: menuItem
|
|
@@ -2367,16 +2210,16 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
|
|
|
2367
2210
|
),
|
|
2368
2211
|
[backofficeMenuItems]
|
|
2369
2212
|
);
|
|
2370
|
-
return /* @__PURE__ */
|
|
2213
|
+
return /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(
|
|
2371
2214
|
SelectGroupsInput,
|
|
2372
2215
|
{
|
|
2373
2216
|
label: t2("generate_command.dashboard_menu_plugin.what_to_extend"),
|
|
2374
2217
|
hideScroll: true,
|
|
2375
|
-
info: /* @__PURE__ */
|
|
2218
|
+
info: /* @__PURE__ */ import_react16.default.createElement(
|
|
2376
2219
|
Trans,
|
|
2377
2220
|
{
|
|
2378
2221
|
i18nKey: "generate_command.dashboard_menu_plugin.what_to_extend.description",
|
|
2379
|
-
components: [/* @__PURE__ */
|
|
2222
|
+
components: [/* @__PURE__ */ import_react16.default.createElement(Link, { url: "https://wix.to/h8AJ7f5" })]
|
|
2380
2223
|
}
|
|
2381
2224
|
),
|
|
2382
2225
|
groups: menuItemsGroups,
|
|
@@ -2398,7 +2241,7 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
|
|
|
2398
2241
|
setBackofficeMenuItem(item.value);
|
|
2399
2242
|
}
|
|
2400
2243
|
}
|
|
2401
|
-
), backofficeMenuItem && (backofficeMenuItem.requiredApps.length === 1 ? /* @__PURE__ */
|
|
2244
|
+
), backofficeMenuItem && (backofficeMenuItem.requiredApps.length === 1 ? /* @__PURE__ */ import_react16.default.createElement(
|
|
2402
2245
|
AppRequirement,
|
|
2403
2246
|
{
|
|
2404
2247
|
appId: model.config.appId,
|
|
@@ -2410,7 +2253,7 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
|
|
|
2410
2253
|
],
|
|
2411
2254
|
onSubmit: setRequireAppsIds
|
|
2412
2255
|
}
|
|
2413
|
-
) : /* @__PURE__ */
|
|
2256
|
+
) : /* @__PURE__ */ import_react16.default.createElement(
|
|
2414
2257
|
MultipleAppRequirement,
|
|
2415
2258
|
{
|
|
2416
2259
|
appId: model.config.appId,
|
|
@@ -2422,7 +2265,7 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
|
|
|
2422
2265
|
),
|
|
2423
2266
|
onSubmit: setRequireAppsIds
|
|
2424
2267
|
}
|
|
2425
|
-
)), requireAppsIds && /* @__PURE__ */
|
|
2268
|
+
)), requireAppsIds && /* @__PURE__ */ import_react16.default.createElement(
|
|
2426
2269
|
SelectInput,
|
|
2427
2270
|
{
|
|
2428
2271
|
label: t2("generate_command.dashboard_menu_plugin.what_to_do"),
|
|
@@ -2452,10 +2295,10 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
|
|
|
2452
2295
|
setActionType(action2.value);
|
|
2453
2296
|
}
|
|
2454
2297
|
}
|
|
2455
|
-
), actionType && (0,
|
|
2456
|
-
NavigateToPage: () => /* @__PURE__ */
|
|
2457
|
-
OpenModal: () => /* @__PURE__ */
|
|
2458
|
-
}), action && /* @__PURE__ */
|
|
2298
|
+
), actionType && (0, import_variant19.match)(actionType, {
|
|
2299
|
+
NavigateToPage: () => /* @__PURE__ */ import_react16.default.createElement(NavigateToPage, { onActionSelected: handleActionSelected }),
|
|
2300
|
+
OpenModal: () => /* @__PURE__ */ import_react16.default.createElement(OpenModal, { onActionSelected: handleActionSelected })
|
|
2301
|
+
}), action && /* @__PURE__ */ import_react16.default.createElement(
|
|
2459
2302
|
TextInput,
|
|
2460
2303
|
{
|
|
2461
2304
|
label: t2("generate_command.dashboard_menu_plugin.choose_title"),
|
|
@@ -2474,7 +2317,7 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
|
|
|
2474
2317
|
setTitle(value);
|
|
2475
2318
|
}
|
|
2476
2319
|
}
|
|
2477
|
-
), title && /* @__PURE__ */
|
|
2320
|
+
), title && /* @__PURE__ */ import_react16.default.createElement(
|
|
2478
2321
|
TextInput,
|
|
2479
2322
|
{
|
|
2480
2323
|
label: t2("generate_command.dashboard_menu_plugin.choose_folder"),
|
|
@@ -2492,11 +2335,11 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
|
|
|
2492
2335
|
},
|
|
2493
2336
|
validate: validateMenuPluginFolder
|
|
2494
2337
|
}
|
|
2495
|
-
), (0,
|
|
2496
|
-
() => (0,
|
|
2338
|
+
), (0, import_react16.useMemo)(
|
|
2339
|
+
() => (0, import_variant19.match)(generationTask, {
|
|
2497
2340
|
Success: ({ hasUpdatedDependencies }) => {
|
|
2498
2341
|
if (hasUpdatedDependencies) {
|
|
2499
|
-
return /* @__PURE__ */
|
|
2342
|
+
return /* @__PURE__ */ import_react16.default.createElement(
|
|
2500
2343
|
InstallDependencies,
|
|
2501
2344
|
{
|
|
2502
2345
|
onFinish: () => setFinishedInstallation(true)
|
|
@@ -2506,7 +2349,7 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
|
|
|
2506
2349
|
setFinishedInstallation(true);
|
|
2507
2350
|
return null;
|
|
2508
2351
|
},
|
|
2509
|
-
Loading: () => /* @__PURE__ */
|
|
2352
|
+
Loading: () => /* @__PURE__ */ import_react16.default.createElement(
|
|
2510
2353
|
Spinner,
|
|
2511
2354
|
{
|
|
2512
2355
|
text: t2("generate_command.generation.loading", {
|
|
@@ -2518,7 +2361,7 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
|
|
|
2518
2361
|
NotRequested: () => null
|
|
2519
2362
|
}),
|
|
2520
2363
|
[generationTask, setFinishedInstallation, t2, extensionType]
|
|
2521
|
-
), finishedInstallation && backofficeMenuItem ? /* @__PURE__ */
|
|
2364
|
+
), finishedInstallation && backofficeMenuItem ? /* @__PURE__ */ import_react16.default.createElement(
|
|
2522
2365
|
DashboardMenuPluginGeneratedNote,
|
|
2523
2366
|
{
|
|
2524
2367
|
backofficeMenuItem
|
|
@@ -2530,17 +2373,17 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
|
|
|
2530
2373
|
var DashboardMenuPlugin = () => {
|
|
2531
2374
|
const { t: t2 } = useTranslation();
|
|
2532
2375
|
const { status } = useAsync(getBackofficeMenuItems, []);
|
|
2533
|
-
return (0,
|
|
2376
|
+
return (0, import_variant20.match)(status, {
|
|
2534
2377
|
Error: () => null,
|
|
2535
|
-
Loading: () => /* @__PURE__ */
|
|
2536
|
-
Success: ({ result: backofficeMenuItems }) => /* @__PURE__ */
|
|
2378
|
+
Loading: () => /* @__PURE__ */ import_react17.default.createElement(Spinner, { text: t2("general.loading") }),
|
|
2379
|
+
Success: ({ result: backofficeMenuItems }) => /* @__PURE__ */ import_react17.default.createElement(DashboardMenuPluginWizard, { backofficeMenuItems })
|
|
2537
2380
|
});
|
|
2538
2381
|
};
|
|
2539
2382
|
|
|
2540
2383
|
// src/components/GenerateCommand/site-plugin/SitePlugin.tsx
|
|
2541
2384
|
init_esm_shims();
|
|
2542
|
-
var
|
|
2543
|
-
var
|
|
2385
|
+
var import_react20 = __toESM(require_react(), 1);
|
|
2386
|
+
var import_variant22 = __toESM(require_lib(), 1);
|
|
2544
2387
|
|
|
2545
2388
|
// ../site-plugin-client/src/index.ts
|
|
2546
2389
|
init_esm_shims();
|
|
@@ -2608,31 +2451,31 @@ var SitePluginClient = class {
|
|
|
2608
2451
|
|
|
2609
2452
|
// ../site-plugin-client/src/useSitePluginClient.ts
|
|
2610
2453
|
init_esm_shims();
|
|
2611
|
-
var
|
|
2454
|
+
var import_react18 = __toESM(require_react(), 1);
|
|
2612
2455
|
function useSitePluginClient() {
|
|
2613
2456
|
const httpClient = useHttpClient({ type: "general" });
|
|
2614
|
-
return (0,
|
|
2457
|
+
return (0, import_react18.useMemo)(() => new SitePluginClient(httpClient), [httpClient]);
|
|
2615
2458
|
}
|
|
2616
2459
|
|
|
2617
2460
|
// src/components/GenerateCommand/site-plugin/SitePluginWizard.tsx
|
|
2618
2461
|
init_esm_shims();
|
|
2619
|
-
var
|
|
2620
|
-
var
|
|
2621
|
-
var
|
|
2462
|
+
var import_react19 = __toESM(require_react(), 1);
|
|
2463
|
+
var import_variant21 = __toESM(require_lib(), 1);
|
|
2464
|
+
var import_lodash6 = __toESM(require_lodash(), 1);
|
|
2622
2465
|
var import_uniqBy = __toESM(require_uniqBy(), 1);
|
|
2623
2466
|
|
|
2624
2467
|
// src/components/GenerateCommand/site-plugin/generate.tsx
|
|
2625
2468
|
init_esm_shims();
|
|
2626
|
-
import
|
|
2627
|
-
import { randomUUID as
|
|
2628
|
-
var SITE_PLUGIN_TEMPLATE =
|
|
2469
|
+
import path9 from "node:path";
|
|
2470
|
+
import { randomUUID as randomUUID8 } from "node:crypto";
|
|
2471
|
+
var SITE_PLUGIN_TEMPLATE = path9.resolve(
|
|
2629
2472
|
__dirname,
|
|
2630
2473
|
"../templates/site-plugin"
|
|
2631
2474
|
);
|
|
2632
2475
|
async function generateSitePlugin(projectFolder, placements, folder, name, widgetName, widgetDocsLink) {
|
|
2633
|
-
const readablePath =
|
|
2634
|
-
const cwd =
|
|
2635
|
-
const defaultLogoPath =
|
|
2476
|
+
const readablePath = path9.join(SITE_PLUGINS_DIR, folder);
|
|
2477
|
+
const cwd = path9.join(getSitePluginsDir(projectFolder), folder);
|
|
2478
|
+
const defaultLogoPath = path9.join(
|
|
2636
2479
|
projectFolder,
|
|
2637
2480
|
"src/assets",
|
|
2638
2481
|
folder,
|
|
@@ -2640,11 +2483,11 @@ async function generateSitePlugin(projectFolder, placements, folder, name, widge
|
|
|
2640
2483
|
);
|
|
2641
2484
|
const sitePluginConfig = {
|
|
2642
2485
|
$schema: "https://dev.wix.com/wix-cli/schemas/site-plugin.json",
|
|
2643
|
-
id:
|
|
2644
|
-
referenceComponentId:
|
|
2486
|
+
id: randomUUID8(),
|
|
2487
|
+
referenceComponentId: randomUUID8(),
|
|
2645
2488
|
marketData: {
|
|
2646
2489
|
name,
|
|
2647
|
-
logoUrl:
|
|
2490
|
+
logoUrl: path9.relative(cwd, defaultLogoPath)
|
|
2648
2491
|
},
|
|
2649
2492
|
placements,
|
|
2650
2493
|
installation: {
|
|
@@ -2676,7 +2519,7 @@ var SitePluginWizard = ({ placements }) => {
|
|
|
2676
2519
|
const { model } = useProjectModel();
|
|
2677
2520
|
const { addRequiredApp } = useDevCenterClient();
|
|
2678
2521
|
const { getWidgetDocsUrl } = useSitePluginClient();
|
|
2679
|
-
const pluginApplications = (0,
|
|
2522
|
+
const pluginApplications = (0, import_react19.useMemo)(
|
|
2680
2523
|
() => (0, import_uniqBy.default)(placements, "appName").map((pluginPlacement) => ({
|
|
2681
2524
|
value: pluginPlacement.appName,
|
|
2682
2525
|
title: pluginPlacement.appName
|
|
@@ -2686,23 +2529,23 @@ var SitePluginWizard = ({ placements }) => {
|
|
|
2686
2529
|
const extensionType = t2("generate_command.flow.site_plugin").toLowerCase();
|
|
2687
2530
|
const validateFolderName = useCustomElementDirectoryValidation("Site plugin");
|
|
2688
2531
|
const validateName = useCustomElementNameValidation();
|
|
2689
|
-
const [appsToRequire, setAppsToRequire] = (0,
|
|
2690
|
-
const [placement, setPlacement] = (0,
|
|
2691
|
-
const [placementApp, setPlacementApp] = (0,
|
|
2692
|
-
const [pluginFolder, setPluginFolder] = (0,
|
|
2693
|
-
const [pluginName, setPluginName] = (0,
|
|
2694
|
-
const [finishedInstallation, setFinishedInstallation] = (0,
|
|
2695
|
-
const defaultPluginFolder = (0,
|
|
2696
|
-
const widgetSlots = (0,
|
|
2532
|
+
const [appsToRequire, setAppsToRequire] = (0, import_react19.useState)();
|
|
2533
|
+
const [placement, setPlacement] = (0, import_react19.useState)();
|
|
2534
|
+
const [placementApp, setPlacementApp] = (0, import_react19.useState)();
|
|
2535
|
+
const [pluginFolder, setPluginFolder] = (0, import_react19.useState)();
|
|
2536
|
+
const [pluginName, setPluginName] = (0, import_react19.useState)();
|
|
2537
|
+
const [finishedInstallation, setFinishedInstallation] = (0, import_react19.useState)(false);
|
|
2538
|
+
const defaultPluginFolder = (0, import_lodash6.kebabCase)(pluginName);
|
|
2539
|
+
const widgetSlots = (0, import_react19.useMemo)(
|
|
2697
2540
|
() => placementApp ? Object.values(
|
|
2698
2541
|
placements.filter((placement2) => placement2.appName === placementApp).reduce(
|
|
2699
2542
|
(_widgetSlots, placement2) => {
|
|
2700
2543
|
const widgetDocsUrl = getWidgetDocsUrl(placement2.widgetId);
|
|
2701
|
-
const description = widgetDocsUrl && /* @__PURE__ */
|
|
2544
|
+
const description = widgetDocsUrl && /* @__PURE__ */ import_react19.default.createElement(Text, { skin: "secondary" }, /* @__PURE__ */ import_react19.default.createElement(
|
|
2702
2545
|
Trans,
|
|
2703
2546
|
{
|
|
2704
2547
|
i18nKey: "generate_command.site_plugin.widget_docs",
|
|
2705
|
-
components: [/* @__PURE__ */
|
|
2548
|
+
components: [/* @__PURE__ */ import_react19.default.createElement(Link, { url: widgetDocsUrl })]
|
|
2706
2549
|
}
|
|
2707
2550
|
));
|
|
2708
2551
|
_widgetSlots[placement2.widgetId] ??= {
|
|
@@ -2742,15 +2585,15 @@ var SitePluginWizard = ({ placements }) => {
|
|
|
2742
2585
|
);
|
|
2743
2586
|
}
|
|
2744
2587
|
}, [pluginFolder, pluginName, placement, appsToRequire]);
|
|
2745
|
-
return /* @__PURE__ */
|
|
2588
|
+
return /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement(
|
|
2746
2589
|
SelectInput,
|
|
2747
2590
|
{
|
|
2748
2591
|
label: t2("generate_command.site_plugin.plugin_app"),
|
|
2749
|
-
info: /* @__PURE__ */
|
|
2592
|
+
info: /* @__PURE__ */ import_react19.default.createElement(
|
|
2750
2593
|
Trans,
|
|
2751
2594
|
{
|
|
2752
2595
|
i18nKey: "generate_command.site_plugin.plugin_app.description",
|
|
2753
|
-
components: [/* @__PURE__ */
|
|
2596
|
+
components: [/* @__PURE__ */ import_react19.default.createElement(Link, { url: "https://wix.to/Onfe4XJ" })]
|
|
2754
2597
|
}
|
|
2755
2598
|
),
|
|
2756
2599
|
options: pluginApplications,
|
|
@@ -2764,7 +2607,7 @@ var SitePluginWizard = ({ placements }) => {
|
|
|
2764
2607
|
setPlacementApp(option.value);
|
|
2765
2608
|
}
|
|
2766
2609
|
}
|
|
2767
|
-
), placementApp && /* @__PURE__ */
|
|
2610
|
+
), placementApp && /* @__PURE__ */ import_react19.default.createElement(
|
|
2768
2611
|
SelectGroupsInput,
|
|
2769
2612
|
{
|
|
2770
2613
|
label: t2("generate_command.site_plugin.choose_placement"),
|
|
@@ -2779,7 +2622,7 @@ var SitePluginWizard = ({ placements }) => {
|
|
|
2779
2622
|
setPlacement(option.value);
|
|
2780
2623
|
}
|
|
2781
2624
|
}
|
|
2782
|
-
), placement && /* @__PURE__ */
|
|
2625
|
+
), placement && /* @__PURE__ */ import_react19.default.createElement(
|
|
2783
2626
|
AppRequirement,
|
|
2784
2627
|
{
|
|
2785
2628
|
appId: model.config.appId,
|
|
@@ -2791,7 +2634,7 @@ var SitePluginWizard = ({ placements }) => {
|
|
|
2791
2634
|
],
|
|
2792
2635
|
onSubmit: setAppsToRequire
|
|
2793
2636
|
}
|
|
2794
|
-
), appsToRequire && /* @__PURE__ */
|
|
2637
|
+
), appsToRequire && /* @__PURE__ */ import_react19.default.createElement(
|
|
2795
2638
|
TextInput,
|
|
2796
2639
|
{
|
|
2797
2640
|
label: t2("generate_command.site_plugin.choose_name"),
|
|
@@ -2809,7 +2652,7 @@ var SitePluginWizard = ({ placements }) => {
|
|
|
2809
2652
|
},
|
|
2810
2653
|
validate: validateName
|
|
2811
2654
|
}
|
|
2812
|
-
), pluginName && /* @__PURE__ */
|
|
2655
|
+
), pluginName && /* @__PURE__ */ import_react19.default.createElement(
|
|
2813
2656
|
TextInput,
|
|
2814
2657
|
{
|
|
2815
2658
|
label: t2("generate_command.site_plugin.choose_folder"),
|
|
@@ -2827,11 +2670,11 @@ var SitePluginWizard = ({ placements }) => {
|
|
|
2827
2670
|
},
|
|
2828
2671
|
validate: validateFolderName
|
|
2829
2672
|
}
|
|
2830
|
-
), (0,
|
|
2831
|
-
() => (0,
|
|
2673
|
+
), (0, import_react19.useMemo)(
|
|
2674
|
+
() => (0, import_variant21.match)(generationTask, {
|
|
2832
2675
|
Success: ({ hasUpdatedDependencies }) => {
|
|
2833
2676
|
if (hasUpdatedDependencies) {
|
|
2834
|
-
return /* @__PURE__ */
|
|
2677
|
+
return /* @__PURE__ */ import_react19.default.createElement(
|
|
2835
2678
|
InstallDependencies,
|
|
2836
2679
|
{
|
|
2837
2680
|
onFinish: () => setFinishedInstallation(true)
|
|
@@ -2841,7 +2684,7 @@ var SitePluginWizard = ({ placements }) => {
|
|
|
2841
2684
|
setFinishedInstallation(true);
|
|
2842
2685
|
return null;
|
|
2843
2686
|
},
|
|
2844
|
-
Loading: () => /* @__PURE__ */
|
|
2687
|
+
Loading: () => /* @__PURE__ */ import_react19.default.createElement(
|
|
2845
2688
|
Spinner,
|
|
2846
2689
|
{
|
|
2847
2690
|
text: t2("generate_command.generation.loading", {
|
|
@@ -2853,14 +2696,14 @@ var SitePluginWizard = ({ placements }) => {
|
|
|
2853
2696
|
NotRequested: () => null
|
|
2854
2697
|
}),
|
|
2855
2698
|
[generationTask, setFinishedInstallation, t2, extensionType]
|
|
2856
|
-
), finishedInstallation && /* @__PURE__ */
|
|
2699
|
+
), finishedInstallation && /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement(Text, null, t2("generate_command.generation.done", {
|
|
2857
2700
|
extensionType
|
|
2858
|
-
})), /* @__PURE__ */
|
|
2701
|
+
})), /* @__PURE__ */ import_react19.default.createElement(
|
|
2859
2702
|
Trans,
|
|
2860
2703
|
{
|
|
2861
2704
|
i18nKey: "generate_command.generation.learn_more",
|
|
2862
2705
|
values: { extensionType },
|
|
2863
|
-
components: [/* @__PURE__ */
|
|
2706
|
+
components: [/* @__PURE__ */ import_react19.default.createElement(Learn, null), /* @__PURE__ */ import_react19.default.createElement(Link, { url: "https://wix.to/rEfCfbY" })]
|
|
2864
2707
|
}
|
|
2865
2708
|
)));
|
|
2866
2709
|
};
|
|
@@ -2870,24 +2713,24 @@ var GenerateSitePlugin = () => {
|
|
|
2870
2713
|
const { t: t2 } = useTranslation();
|
|
2871
2714
|
const { getPlacements } = useSitePluginClient();
|
|
2872
2715
|
const { status } = useAsync(getPlacements, []);
|
|
2873
|
-
return (0,
|
|
2716
|
+
return (0, import_variant22.match)(status, {
|
|
2874
2717
|
Error: () => null,
|
|
2875
|
-
Loading: () => /* @__PURE__ */
|
|
2876
|
-
Success: ({ result }) => /* @__PURE__ */
|
|
2718
|
+
Loading: () => /* @__PURE__ */ import_react20.default.createElement(Spinner, { text: t2("general.loading") }),
|
|
2719
|
+
Success: ({ result }) => /* @__PURE__ */ import_react20.default.createElement(SitePluginWizard, { placements: result.placements })
|
|
2877
2720
|
});
|
|
2878
2721
|
};
|
|
2879
2722
|
|
|
2880
2723
|
// src/components/GenerateCommand/api/Api.tsx
|
|
2881
2724
|
init_esm_shims();
|
|
2882
|
-
var
|
|
2883
|
-
var
|
|
2725
|
+
var import_react21 = __toESM(require_react(), 1);
|
|
2726
|
+
var import_variant23 = __toESM(require_lib(), 1);
|
|
2884
2727
|
|
|
2885
2728
|
// src/components/GenerateCommand/api/generate.ts
|
|
2886
2729
|
init_esm_shims();
|
|
2887
|
-
import
|
|
2888
|
-
var API_TEMPLATE =
|
|
2730
|
+
import path10 from "node:path";
|
|
2731
|
+
var API_TEMPLATE = path10.resolve(__dirname, "../templates/api");
|
|
2889
2732
|
async function generateApi(projectFolder, folderName) {
|
|
2890
|
-
const cwd =
|
|
2733
|
+
const cwd = path10.join(getApiFolder(projectFolder), folderName);
|
|
2891
2734
|
await componentGenerator({
|
|
2892
2735
|
template: API_TEMPLATE,
|
|
2893
2736
|
cwd,
|
|
@@ -2903,9 +2746,9 @@ var GenerateApi = () => {
|
|
|
2903
2746
|
const { t: t2 } = useTranslation();
|
|
2904
2747
|
const { model } = useProjectModel();
|
|
2905
2748
|
const { cliFlowStepAnswered } = useWixCliAppBi();
|
|
2906
|
-
const [apiFolder, setApiFolder] = (0,
|
|
2749
|
+
const [apiFolder, setApiFolder] = (0, import_react21.useState)();
|
|
2907
2750
|
const { backendComponentsByType } = useBackendComponents();
|
|
2908
|
-
const [finishedInstallation, setFinishedInstallation] = (0,
|
|
2751
|
+
const [finishedInstallation, setFinishedInstallation] = (0, import_react21.useState)(false);
|
|
2909
2752
|
const apis = backendComponentsByType.Api;
|
|
2910
2753
|
const extensionType = t2("generate_command.flow.api.title").toLowerCase();
|
|
2911
2754
|
const validateApiFolder = useValidation(
|
|
@@ -2921,7 +2764,7 @@ var GenerateApi = () => {
|
|
|
2921
2764
|
return generateApi(model.projectFolder, apiFolder);
|
|
2922
2765
|
}
|
|
2923
2766
|
}, [model.projectFolder, apiFolder]);
|
|
2924
|
-
return /* @__PURE__ */
|
|
2767
|
+
return /* @__PURE__ */ import_react21.default.createElement(import_react21.default.Fragment, null, /* @__PURE__ */ import_react21.default.createElement(
|
|
2925
2768
|
TextInput,
|
|
2926
2769
|
{
|
|
2927
2770
|
label: t2("generate_command.api.choose_api_name"),
|
|
@@ -2936,11 +2779,11 @@ var GenerateApi = () => {
|
|
|
2936
2779
|
},
|
|
2937
2780
|
validate: validateApiFolder
|
|
2938
2781
|
}
|
|
2939
|
-
), (0,
|
|
2940
|
-
() => (0,
|
|
2782
|
+
), (0, import_react21.useMemo)(
|
|
2783
|
+
() => (0, import_variant23.match)(generationTask, {
|
|
2941
2784
|
Success: ({ hasUpdatedDependencies }) => {
|
|
2942
2785
|
if (hasUpdatedDependencies) {
|
|
2943
|
-
return /* @__PURE__ */
|
|
2786
|
+
return /* @__PURE__ */ import_react21.default.createElement(
|
|
2944
2787
|
InstallDependencies,
|
|
2945
2788
|
{
|
|
2946
2789
|
onFinish: () => setFinishedInstallation(true)
|
|
@@ -2950,7 +2793,7 @@ var GenerateApi = () => {
|
|
|
2950
2793
|
setFinishedInstallation(true);
|
|
2951
2794
|
return null;
|
|
2952
2795
|
},
|
|
2953
|
-
Loading: () => /* @__PURE__ */
|
|
2796
|
+
Loading: () => /* @__PURE__ */ import_react21.default.createElement(
|
|
2954
2797
|
Spinner,
|
|
2955
2798
|
{
|
|
2956
2799
|
text: t2("generate_command.generation.loading", {
|
|
@@ -2962,29 +2805,29 @@ var GenerateApi = () => {
|
|
|
2962
2805
|
NotRequested: () => null
|
|
2963
2806
|
}),
|
|
2964
2807
|
[generationTask, setFinishedInstallation, t2, extensionType]
|
|
2965
|
-
), finishedInstallation && /* @__PURE__ */
|
|
2808
|
+
), finishedInstallation && /* @__PURE__ */ import_react21.default.createElement(Box_default, { flexDirection: "column" }, /* @__PURE__ */ import_react21.default.createElement(Text, null, t2("generate_command.generation.done", {
|
|
2966
2809
|
extensionType
|
|
2967
|
-
})), /* @__PURE__ */
|
|
2810
|
+
})), /* @__PURE__ */ import_react21.default.createElement(
|
|
2968
2811
|
Trans,
|
|
2969
2812
|
{
|
|
2970
2813
|
i18nKey: "generate_command.generation.learn_more",
|
|
2971
2814
|
values: { extensionType },
|
|
2972
|
-
components: [/* @__PURE__ */
|
|
2815
|
+
components: [/* @__PURE__ */ import_react21.default.createElement(Learn, null), /* @__PURE__ */ import_react21.default.createElement(Link, { url: "https://wix.to/BEkD5a1" })]
|
|
2973
2816
|
}
|
|
2974
2817
|
)));
|
|
2975
2818
|
};
|
|
2976
2819
|
|
|
2977
2820
|
// src/components/GenerateCommand/event/Event.tsx
|
|
2978
2821
|
init_esm_shims();
|
|
2979
|
-
var
|
|
2980
|
-
var
|
|
2822
|
+
var import_react22 = __toESM(require_react(), 1);
|
|
2823
|
+
var import_variant24 = __toESM(require_lib(), 1);
|
|
2981
2824
|
|
|
2982
2825
|
// src/components/GenerateCommand/event/generate.ts
|
|
2983
2826
|
init_esm_shims();
|
|
2984
|
-
import
|
|
2985
|
-
var EVENT_TEMPLATE =
|
|
2827
|
+
import path11 from "node:path";
|
|
2828
|
+
var EVENT_TEMPLATE = path11.resolve(__dirname, "../templates/event");
|
|
2986
2829
|
async function generateEvent(projectFolder, folderName) {
|
|
2987
|
-
const cwd =
|
|
2830
|
+
const cwd = path11.join(getEventsFolder(projectFolder), folderName);
|
|
2988
2831
|
return await componentGenerator({
|
|
2989
2832
|
template: EVENT_TEMPLATE,
|
|
2990
2833
|
cwd,
|
|
@@ -2998,8 +2841,8 @@ var GenerateEvent = () => {
|
|
|
2998
2841
|
const { model } = useProjectModel();
|
|
2999
2842
|
const { backendComponentsByType } = useBackendComponents();
|
|
3000
2843
|
const { cliFlowStepAnswered } = useWixCliAppBi();
|
|
3001
|
-
const [eventFolder, setEventFolder] = (0,
|
|
3002
|
-
const [finishedInstallation, setFinishedInstallation] = (0,
|
|
2844
|
+
const [eventFolder, setEventFolder] = (0, import_react22.useState)();
|
|
2845
|
+
const [finishedInstallation, setFinishedInstallation] = (0, import_react22.useState)(false);
|
|
3003
2846
|
const events = backendComponentsByType.Event;
|
|
3004
2847
|
const extensionType = t2("generate_command.flow.event").toLowerCase();
|
|
3005
2848
|
const validateEventFolder = useValidation(
|
|
@@ -3015,7 +2858,7 @@ var GenerateEvent = () => {
|
|
|
3015
2858
|
return generateEvent(model.projectFolder, eventFolder);
|
|
3016
2859
|
}
|
|
3017
2860
|
}, [model.projectFolder, eventFolder]);
|
|
3018
|
-
return /* @__PURE__ */
|
|
2861
|
+
return /* @__PURE__ */ import_react22.default.createElement(import_react22.default.Fragment, null, /* @__PURE__ */ import_react22.default.createElement(
|
|
3019
2862
|
TextInput,
|
|
3020
2863
|
{
|
|
3021
2864
|
label: t2("generate_command.event.choose_folder"),
|
|
@@ -3030,11 +2873,11 @@ var GenerateEvent = () => {
|
|
|
3030
2873
|
},
|
|
3031
2874
|
validate: validateEventFolder
|
|
3032
2875
|
}
|
|
3033
|
-
), (0,
|
|
3034
|
-
() => (0,
|
|
2876
|
+
), (0, import_react22.useMemo)(
|
|
2877
|
+
() => (0, import_variant24.match)(generationTask, {
|
|
3035
2878
|
Success: ({ hasUpdatedDependencies }) => {
|
|
3036
2879
|
if (hasUpdatedDependencies) {
|
|
3037
|
-
return /* @__PURE__ */
|
|
2880
|
+
return /* @__PURE__ */ import_react22.default.createElement(
|
|
3038
2881
|
InstallDependencies,
|
|
3039
2882
|
{
|
|
3040
2883
|
onFinish: () => setFinishedInstallation(true)
|
|
@@ -3044,7 +2887,7 @@ var GenerateEvent = () => {
|
|
|
3044
2887
|
setFinishedInstallation(true);
|
|
3045
2888
|
return null;
|
|
3046
2889
|
},
|
|
3047
|
-
Loading: () => /* @__PURE__ */
|
|
2890
|
+
Loading: () => /* @__PURE__ */ import_react22.default.createElement(
|
|
3048
2891
|
Spinner,
|
|
3049
2892
|
{
|
|
3050
2893
|
text: t2("generate_command.generation.loading", {
|
|
@@ -3056,28 +2899,28 @@ var GenerateEvent = () => {
|
|
|
3056
2899
|
NotRequested: () => null
|
|
3057
2900
|
}),
|
|
3058
2901
|
[generationTask, setFinishedInstallation, t2, extensionType]
|
|
3059
|
-
), finishedInstallation && /* @__PURE__ */
|
|
2902
|
+
), finishedInstallation && /* @__PURE__ */ import_react22.default.createElement(import_react22.default.Fragment, null, /* @__PURE__ */ import_react22.default.createElement(Text, null, t2("generate_command.generation.done", {
|
|
3060
2903
|
extensionType
|
|
3061
|
-
})), /* @__PURE__ */
|
|
2904
|
+
})), /* @__PURE__ */ import_react22.default.createElement(
|
|
3062
2905
|
Trans,
|
|
3063
2906
|
{
|
|
3064
2907
|
i18nKey: "generate_command.generation.learn_more",
|
|
3065
2908
|
values: { extensionType },
|
|
3066
|
-
components: [/* @__PURE__ */
|
|
2909
|
+
components: [/* @__PURE__ */ import_react22.default.createElement(Learn, null), /* @__PURE__ */ import_react22.default.createElement(Link, { url: "https://wix.to/BEkD5a1" })]
|
|
3067
2910
|
}
|
|
3068
2911
|
)));
|
|
3069
2912
|
};
|
|
3070
2913
|
|
|
3071
2914
|
// src/components/GenerateCommand/web-method-module/WebMethod.tsx
|
|
3072
2915
|
init_esm_shims();
|
|
3073
|
-
var
|
|
3074
|
-
var
|
|
2916
|
+
var import_react23 = __toESM(require_react(), 1);
|
|
2917
|
+
var import_variant25 = __toESM(require_lib(), 1);
|
|
3075
2918
|
import { join as join5 } from "node:path";
|
|
3076
2919
|
|
|
3077
2920
|
// src/components/GenerateCommand/web-method-module/generate.ts
|
|
3078
2921
|
init_esm_shims();
|
|
3079
|
-
import
|
|
3080
|
-
var WEB_METHOD_TEMPLATE =
|
|
2922
|
+
import path12, { join as join4 } from "node:path";
|
|
2923
|
+
var WEB_METHOD_TEMPLATE = path12.resolve(__dirname, "../templates/web-method");
|
|
3081
2924
|
async function generateWebMethod(projectFolder, folderPath) {
|
|
3082
2925
|
const filePath = join4(WEB_METHOD_DIR, folderPath);
|
|
3083
2926
|
await componentGenerator({
|
|
@@ -3086,7 +2929,7 @@ async function generateWebMethod(projectFolder, folderPath) {
|
|
|
3086
2929
|
projectFolder,
|
|
3087
2930
|
data: {
|
|
3088
2931
|
filePath,
|
|
3089
|
-
fileName:
|
|
2932
|
+
fileName: path12.basename(filePath)
|
|
3090
2933
|
}
|
|
3091
2934
|
});
|
|
3092
2935
|
}
|
|
@@ -3096,9 +2939,9 @@ var GenerateWebMethod = () => {
|
|
|
3096
2939
|
const { t: t2 } = useTranslation();
|
|
3097
2940
|
const { model } = useProjectModel();
|
|
3098
2941
|
const { cliFlowStepAnswered } = useWixCliAppBi();
|
|
3099
|
-
const [webMethodFolder, setWebMethodFolder] = (0,
|
|
2942
|
+
const [webMethodFolder, setWebMethodFolder] = (0, import_react23.useState)();
|
|
3100
2943
|
const { backendComponentsByType } = useBackendComponents();
|
|
3101
|
-
const [finishedInstallation, setFinishedInstallation] = (0,
|
|
2944
|
+
const [finishedInstallation, setFinishedInstallation] = (0, import_react23.useState)(false);
|
|
3102
2945
|
const webMethods = backendComponentsByType.WebMethod;
|
|
3103
2946
|
const extensionType = t2(
|
|
3104
2947
|
"generate_command.flow.web_method.title"
|
|
@@ -3121,7 +2964,7 @@ var GenerateWebMethod = () => {
|
|
|
3121
2964
|
return generateWebMethod(model.projectFolder, webMethodFolder);
|
|
3122
2965
|
}
|
|
3123
2966
|
}, [model.projectFolder, webMethodFolder]);
|
|
3124
|
-
return /* @__PURE__ */
|
|
2967
|
+
return /* @__PURE__ */ import_react23.default.createElement(import_react23.default.Fragment, null, /* @__PURE__ */ import_react23.default.createElement(
|
|
3125
2968
|
TextInput,
|
|
3126
2969
|
{
|
|
3127
2970
|
label: t2("generate_command.web_method.choose_filename"),
|
|
@@ -3138,6 +2981,235 @@ var GenerateWebMethod = () => {
|
|
|
3138
2981
|
},
|
|
3139
2982
|
validate: validateWebMethodFolder
|
|
3140
2983
|
}
|
|
2984
|
+
), (0, import_react23.useMemo)(
|
|
2985
|
+
() => (0, import_variant25.match)(generationTask, {
|
|
2986
|
+
Success: ({ hasUpdatedDependencies }) => {
|
|
2987
|
+
if (hasUpdatedDependencies) {
|
|
2988
|
+
return /* @__PURE__ */ import_react23.default.createElement(
|
|
2989
|
+
InstallDependencies,
|
|
2990
|
+
{
|
|
2991
|
+
onFinish: () => setFinishedInstallation(true)
|
|
2992
|
+
}
|
|
2993
|
+
);
|
|
2994
|
+
}
|
|
2995
|
+
setFinishedInstallation(true);
|
|
2996
|
+
return null;
|
|
2997
|
+
},
|
|
2998
|
+
Loading: () => /* @__PURE__ */ import_react23.default.createElement(
|
|
2999
|
+
Spinner,
|
|
3000
|
+
{
|
|
3001
|
+
text: t2("generate_command.generation.loading", {
|
|
3002
|
+
subject: extensionType
|
|
3003
|
+
})
|
|
3004
|
+
}
|
|
3005
|
+
),
|
|
3006
|
+
Error: () => null,
|
|
3007
|
+
NotRequested: () => null
|
|
3008
|
+
}),
|
|
3009
|
+
[generationTask, setFinishedInstallation, t2, extensionType]
|
|
3010
|
+
), finishedInstallation && /* @__PURE__ */ import_react23.default.createElement(Box_default, { flexDirection: "column" }, /* @__PURE__ */ import_react23.default.createElement(Text, null, t2("generate_command.generation.done", {
|
|
3011
|
+
extensionType
|
|
3012
|
+
})), /* @__PURE__ */ import_react23.default.createElement(
|
|
3013
|
+
Trans,
|
|
3014
|
+
{
|
|
3015
|
+
i18nKey: "generate_command.generation.learn_more",
|
|
3016
|
+
values: { extensionType },
|
|
3017
|
+
components: [/* @__PURE__ */ import_react23.default.createElement(Learn, null), /* @__PURE__ */ import_react23.default.createElement(Link, { url: "https://wix.to/BEkD5a1" })]
|
|
3018
|
+
}
|
|
3019
|
+
)));
|
|
3020
|
+
};
|
|
3021
|
+
|
|
3022
|
+
// src/components/GenerateCommand/site-widget/index.ts
|
|
3023
|
+
init_esm_shims();
|
|
3024
|
+
|
|
3025
|
+
// src/components/GenerateCommand/site-widget/SiteWidgetWizard.tsx
|
|
3026
|
+
init_esm_shims();
|
|
3027
|
+
var import_react26 = __toESM(require_react(), 1);
|
|
3028
|
+
|
|
3029
|
+
// src/components/GenerateCommand/site-widget/custom-element/CustomElement.tsx
|
|
3030
|
+
init_esm_shims();
|
|
3031
|
+
var import_react24 = __toESM(require_react(), 1);
|
|
3032
|
+
var import_variant26 = __toESM(require_lib(), 1);
|
|
3033
|
+
var import_lodash7 = __toESM(require_lodash(), 1);
|
|
3034
|
+
|
|
3035
|
+
// src/components/GenerateCommand/site-widget/custom-element/generate.ts
|
|
3036
|
+
init_esm_shims();
|
|
3037
|
+
import path13 from "node:path";
|
|
3038
|
+
import { randomUUID as randomUUID9 } from "node:crypto";
|
|
3039
|
+
var CUSTOM_ELEMENT_TEMPLATE = path13.resolve(
|
|
3040
|
+
__dirname,
|
|
3041
|
+
"../templates/custom-element"
|
|
3042
|
+
);
|
|
3043
|
+
async function generateCustomElement(projectFolder, folder, name, dashboardPageId) {
|
|
3044
|
+
const readablePath = path13.join(SITE_WIDGETS_DIR, folder);
|
|
3045
|
+
const cwd = path13.join(getSiteWidgetsDir(projectFolder), folder);
|
|
3046
|
+
const behaviorsConfig = dashboardPageId ? {
|
|
3047
|
+
dashboard: {
|
|
3048
|
+
dashboardPageComponentId: dashboardPageId
|
|
3049
|
+
}
|
|
3050
|
+
} : void 0;
|
|
3051
|
+
const defaultThumbnailPath = path13.join(
|
|
3052
|
+
projectFolder,
|
|
3053
|
+
"src/assets",
|
|
3054
|
+
folder,
|
|
3055
|
+
"thumbnail.png"
|
|
3056
|
+
);
|
|
3057
|
+
const customElementConfig = {
|
|
3058
|
+
$schema: "https://dev.wix.com/wix-cli/schemas/custom-element.json",
|
|
3059
|
+
id: randomUUID9(),
|
|
3060
|
+
name,
|
|
3061
|
+
width: {
|
|
3062
|
+
defaultWidth: 450,
|
|
3063
|
+
allowStretch: true
|
|
3064
|
+
},
|
|
3065
|
+
height: {
|
|
3066
|
+
defaultHeight: 250
|
|
3067
|
+
},
|
|
3068
|
+
installation: {
|
|
3069
|
+
autoAddToSite: true
|
|
3070
|
+
},
|
|
3071
|
+
behaviors: behaviorsConfig,
|
|
3072
|
+
presets: [
|
|
3073
|
+
{
|
|
3074
|
+
id: randomUUID9(),
|
|
3075
|
+
thumbnailUrl: path13.relative(cwd, defaultThumbnailPath)
|
|
3076
|
+
}
|
|
3077
|
+
]
|
|
3078
|
+
};
|
|
3079
|
+
const customElementConfigJSON = toJsonString(customElementConfig, {
|
|
3080
|
+
spaces: 2
|
|
3081
|
+
});
|
|
3082
|
+
return await componentGenerator({
|
|
3083
|
+
template: CUSTOM_ELEMENT_TEMPLATE,
|
|
3084
|
+
projectFolder,
|
|
3085
|
+
cwd,
|
|
3086
|
+
assetsOutputPath: folder,
|
|
3087
|
+
data: {
|
|
3088
|
+
customElementConfigJSON,
|
|
3089
|
+
readablePath,
|
|
3090
|
+
name
|
|
3091
|
+
}
|
|
3092
|
+
});
|
|
3093
|
+
}
|
|
3094
|
+
|
|
3095
|
+
// src/components/GenerateCommand/site-widget/custom-element/CustomElement.tsx
|
|
3096
|
+
var GenerateCustomElement = () => {
|
|
3097
|
+
const bi = useWixCliAppBi();
|
|
3098
|
+
const { t: t2 } = useTranslation();
|
|
3099
|
+
const { model } = useProjectModel();
|
|
3100
|
+
const [elementName, setElementName] = (0, import_react24.useState)();
|
|
3101
|
+
const [elementFolder, setElementFolder] = (0, import_react24.useState)();
|
|
3102
|
+
const [linkDashboardPage, setLinkDashboardPage] = (0, import_react24.useState)();
|
|
3103
|
+
const [generationData, setGenerationData] = (0, import_react24.useState)();
|
|
3104
|
+
const validateFolderName = useCustomElementDirectoryValidation("Site widget");
|
|
3105
|
+
const validateName = useCustomElementNameValidation();
|
|
3106
|
+
const { getExtensions } = useExtensions();
|
|
3107
|
+
const [finishedInstallation, setFinishedInstallation] = (0, import_react24.useState)(false);
|
|
3108
|
+
const defaultElementFolder = (0, import_lodash7.kebabCase)(elementName);
|
|
3109
|
+
const dashboardPages = getExtensions("DashboardPage");
|
|
3110
|
+
const dashboardPagesOptions = dashboardPages.map(
|
|
3111
|
+
({ id, title }) => ({
|
|
3112
|
+
value: id,
|
|
3113
|
+
title
|
|
3114
|
+
})
|
|
3115
|
+
);
|
|
3116
|
+
const dashboardPagesExist = Boolean(dashboardPages.length);
|
|
3117
|
+
const extensionType = t2("generate_command.flow.custom_element").toLowerCase();
|
|
3118
|
+
const generationTask = useGenerationTask(async () => {
|
|
3119
|
+
if (generationData) {
|
|
3120
|
+
return generateCustomElement(
|
|
3121
|
+
model.projectFolder,
|
|
3122
|
+
generationData.folder,
|
|
3123
|
+
generationData.name,
|
|
3124
|
+
generationData.dashboardPageId
|
|
3125
|
+
);
|
|
3126
|
+
}
|
|
3127
|
+
}, [generationData]);
|
|
3128
|
+
return /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, /* @__PURE__ */ import_react24.default.createElement(
|
|
3129
|
+
TextInput,
|
|
3130
|
+
{
|
|
3131
|
+
label: t2("generate_command.custom_element.choose_name"),
|
|
3132
|
+
placeholder: t2("generate_command.custom_element.name_placeholder"),
|
|
3133
|
+
onSubmit: (value) => {
|
|
3134
|
+
bi.cliFlowStepAnswered({
|
|
3135
|
+
question: t2("generate_command.custom_element.choose_name"),
|
|
3136
|
+
questionKey: "generate_command.custom_element.choose_name",
|
|
3137
|
+
answer: value,
|
|
3138
|
+
additionalInfo: {
|
|
3139
|
+
extensionType
|
|
3140
|
+
}
|
|
3141
|
+
});
|
|
3142
|
+
setElementName(value);
|
|
3143
|
+
},
|
|
3144
|
+
validate: validateName
|
|
3145
|
+
}
|
|
3146
|
+
), elementName && /* @__PURE__ */ import_react24.default.createElement(
|
|
3147
|
+
TextInput,
|
|
3148
|
+
{
|
|
3149
|
+
label: t2("generate_command.custom_element.choose_folder"),
|
|
3150
|
+
placeholder: defaultElementFolder,
|
|
3151
|
+
onSubmit: (value) => {
|
|
3152
|
+
bi.cliFlowStepAnswered({
|
|
3153
|
+
question: t2("generate_command.custom_element.choose_folder"),
|
|
3154
|
+
questionKey: "generate_command.custom_element.choose_folder",
|
|
3155
|
+
answer: value,
|
|
3156
|
+
additionalInfo: {
|
|
3157
|
+
extensionType
|
|
3158
|
+
}
|
|
3159
|
+
});
|
|
3160
|
+
setElementFolder(value);
|
|
3161
|
+
if (!dashboardPagesExist) {
|
|
3162
|
+
setGenerationData({
|
|
3163
|
+
name: elementName,
|
|
3164
|
+
folder: value
|
|
3165
|
+
});
|
|
3166
|
+
}
|
|
3167
|
+
},
|
|
3168
|
+
validate: validateFolderName
|
|
3169
|
+
}
|
|
3170
|
+
), elementName && elementFolder && dashboardPagesExist && /* @__PURE__ */ import_react24.default.createElement(
|
|
3171
|
+
ConfirmInput,
|
|
3172
|
+
{
|
|
3173
|
+
label: t2("generate_command.custom_element.link_dashboard_page"),
|
|
3174
|
+
onSubmit: (shouldLinkDashboardPage) => {
|
|
3175
|
+
bi.cliFlowStepAnswered({
|
|
3176
|
+
question: t2(
|
|
3177
|
+
"generate_command.custom_element.link_dashboard_page"
|
|
3178
|
+
),
|
|
3179
|
+
questionKey: "generate_command.custom_element.link_dashboard_page",
|
|
3180
|
+
answer: String(shouldLinkDashboardPage),
|
|
3181
|
+
additionalInfo: { extensionType }
|
|
3182
|
+
});
|
|
3183
|
+
setLinkDashboardPage(shouldLinkDashboardPage);
|
|
3184
|
+
if (!shouldLinkDashboardPage) {
|
|
3185
|
+
setGenerationData({
|
|
3186
|
+
name: elementName,
|
|
3187
|
+
folder: elementFolder
|
|
3188
|
+
});
|
|
3189
|
+
}
|
|
3190
|
+
}
|
|
3191
|
+
}
|
|
3192
|
+
), elementName && elementFolder && dashboardPagesExist && linkDashboardPage && /* @__PURE__ */ import_react24.default.createElement(
|
|
3193
|
+
SelectInput,
|
|
3194
|
+
{
|
|
3195
|
+
label: t2("generate_command.custom_element.choose_dashboard_page"),
|
|
3196
|
+
options: dashboardPagesOptions,
|
|
3197
|
+
onSubmit: (option) => {
|
|
3198
|
+
bi.cliFlowStepAnswered({
|
|
3199
|
+
question: t2(
|
|
3200
|
+
"generate_command.custom_element.choose_dashboard_page"
|
|
3201
|
+
),
|
|
3202
|
+
questionKey: "generate_command.custom_element.choose_dashboard_page",
|
|
3203
|
+
answer: option.title,
|
|
3204
|
+
additionalInfo: { extensionType }
|
|
3205
|
+
});
|
|
3206
|
+
setGenerationData({
|
|
3207
|
+
name: elementName,
|
|
3208
|
+
folder: elementFolder,
|
|
3209
|
+
dashboardPageId: option.value
|
|
3210
|
+
});
|
|
3211
|
+
}
|
|
3212
|
+
}
|
|
3141
3213
|
), (0, import_react24.useMemo)(
|
|
3142
3214
|
() => (0, import_variant26.match)(generationTask, {
|
|
3143
3215
|
Success: ({ hasUpdatedDependencies }) => {
|
|
@@ -3160,29 +3232,215 @@ var GenerateWebMethod = () => {
|
|
|
3160
3232
|
})
|
|
3161
3233
|
}
|
|
3162
3234
|
),
|
|
3163
|
-
|
|
3164
|
-
|
|
3235
|
+
NotRequested: () => null,
|
|
3236
|
+
Error: () => null
|
|
3165
3237
|
}),
|
|
3166
3238
|
[generationTask, setFinishedInstallation, t2, extensionType]
|
|
3167
|
-
), finishedInstallation && /* @__PURE__ */ import_react24.default.createElement(
|
|
3239
|
+
), finishedInstallation && /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, /* @__PURE__ */ import_react24.default.createElement(Text, null, t2("generate_command.generation.done", {
|
|
3168
3240
|
extensionType
|
|
3169
3241
|
})), /* @__PURE__ */ import_react24.default.createElement(
|
|
3170
3242
|
Trans,
|
|
3171
3243
|
{
|
|
3172
3244
|
i18nKey: "generate_command.generation.learn_more",
|
|
3173
3245
|
values: { extensionType },
|
|
3174
|
-
components: [/* @__PURE__ */ import_react24.default.createElement(Learn, null), /* @__PURE__ */ import_react24.default.createElement(Link, { url: "https://wix.to/
|
|
3246
|
+
components: [/* @__PURE__ */ import_react24.default.createElement(Learn, null), /* @__PURE__ */ import_react24.default.createElement(Link, { url: "https://wix.to/rEfCfbY" })]
|
|
3247
|
+
}
|
|
3248
|
+
)));
|
|
3249
|
+
};
|
|
3250
|
+
|
|
3251
|
+
// src/components/GenerateCommand/site-widget/blocks/Blocks.tsx
|
|
3252
|
+
init_esm_shims();
|
|
3253
|
+
var import_react25 = __toESM(require_react(), 1);
|
|
3254
|
+
var import_variant27 = __toESM(require_lib(), 1);
|
|
3255
|
+
|
|
3256
|
+
// src/components/GenerateCommand/site-widget/blocks/generate.ts
|
|
3257
|
+
init_esm_shims();
|
|
3258
|
+
import path14 from "node:path";
|
|
3259
|
+
|
|
3260
|
+
// src/files/tsconfig.ts
|
|
3261
|
+
init_esm_shims();
|
|
3262
|
+
import {
|
|
3263
|
+
DiagnosticCategory,
|
|
3264
|
+
readConfigFile,
|
|
3265
|
+
sys as typescriptSys
|
|
3266
|
+
} from "typescript";
|
|
3267
|
+
function readTSConfig(projectFolder) {
|
|
3268
|
+
const tsConfigResult = readConfigFile(
|
|
3269
|
+
getTSConfigFilePath(projectFolder),
|
|
3270
|
+
typescriptSys.readFile
|
|
3271
|
+
);
|
|
3272
|
+
if (tsConfigResult.error?.category === DiagnosticCategory.Error) {
|
|
3273
|
+
if (tsConfigResult.error.code === 5083) {
|
|
3274
|
+
throw new CliError({
|
|
3275
|
+
code: CliErrorCode.TSConfigNotFound({
|
|
3276
|
+
configPath: TS_CONFIG_FILENAME
|
|
3277
|
+
}),
|
|
3278
|
+
cause: tsConfigResult.error.messageText
|
|
3279
|
+
});
|
|
3280
|
+
}
|
|
3281
|
+
throw new CliError({
|
|
3282
|
+
code: CliErrorCode.InvalidTSConfigError({
|
|
3283
|
+
configPath: TS_CONFIG_FILENAME
|
|
3284
|
+
}),
|
|
3285
|
+
cause: tsConfigResult.error.messageText
|
|
3286
|
+
});
|
|
3287
|
+
}
|
|
3288
|
+
const config = tsConfigSchema.safeParse(tsConfigResult.config);
|
|
3289
|
+
if (config.success) {
|
|
3290
|
+
return config.data;
|
|
3291
|
+
}
|
|
3292
|
+
throw new CliError({
|
|
3293
|
+
code: CliErrorCode.InvalidConfigSchemaError({
|
|
3294
|
+
configPath: TS_CONFIG_FILENAME,
|
|
3295
|
+
zodError: config.error
|
|
3296
|
+
}),
|
|
3297
|
+
cause: config.error
|
|
3298
|
+
});
|
|
3299
|
+
}
|
|
3300
|
+
async function saveTSConfig(projectFolder, config) {
|
|
3301
|
+
await writeJson(getTSConfigFilePath(projectFolder), config, { spaces: 2 });
|
|
3302
|
+
}
|
|
3303
|
+
|
|
3304
|
+
// src/components/GenerateCommand/site-widget/blocks/generate.ts
|
|
3305
|
+
var BLOCKS_SUPPORT_TEMPLATE = path14.resolve(
|
|
3306
|
+
__dirname,
|
|
3307
|
+
"../templates/blocks-support"
|
|
3308
|
+
);
|
|
3309
|
+
async function enableBlocksInProject(projectFolder, config) {
|
|
3310
|
+
await saveWixConfig(projectFolder, {
|
|
3311
|
+
...config,
|
|
3312
|
+
blocks: {
|
|
3313
|
+
uiRevision: ""
|
|
3314
|
+
}
|
|
3315
|
+
});
|
|
3316
|
+
const tsconfig = readTSConfig(projectFolder);
|
|
3317
|
+
if (!tsconfig.include?.includes(BLOCKS_TYPES_PATH)) {
|
|
3318
|
+
await saveTSConfig(projectFolder, {
|
|
3319
|
+
...tsconfig,
|
|
3320
|
+
include: [...tsconfig.include ?? [], BLOCKS_TYPES_PATH]
|
|
3321
|
+
});
|
|
3322
|
+
}
|
|
3323
|
+
const newDependencies = await dependenciesUpdater({
|
|
3324
|
+
projectFolder,
|
|
3325
|
+
dependenciesJsonPath: path14.join(
|
|
3326
|
+
BLOCKS_SUPPORT_TEMPLATE,
|
|
3327
|
+
"dependencies.json"
|
|
3328
|
+
)
|
|
3329
|
+
});
|
|
3330
|
+
return { newDependencies };
|
|
3331
|
+
}
|
|
3332
|
+
|
|
3333
|
+
// src/components/GenerateCommand/site-widget/blocks/Blocks.tsx
|
|
3334
|
+
var AddBlocksSupportToProject = () => {
|
|
3335
|
+
const { t: t2 } = useTranslation();
|
|
3336
|
+
const { model } = useProjectModel();
|
|
3337
|
+
const [finishedInstallation, setFinishedInstallation] = (0, import_react25.useState)(false);
|
|
3338
|
+
const extensionType = t2(
|
|
3339
|
+
"generate_command.site_widget_wizard.blocks.title"
|
|
3340
|
+
).toLowerCase();
|
|
3341
|
+
const supportBlocksTask = useGenerationTask(async () => {
|
|
3342
|
+
if (model.config.blocks) {
|
|
3343
|
+
return;
|
|
3344
|
+
}
|
|
3345
|
+
return enableBlocksInProject(model.projectFolder, model.config);
|
|
3346
|
+
}, []);
|
|
3347
|
+
return /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, (0, import_react25.useMemo)(
|
|
3348
|
+
() => (0, import_variant27.match)(supportBlocksTask, {
|
|
3349
|
+
Success: ({ hasUpdatedDependencies }) => {
|
|
3350
|
+
if (hasUpdatedDependencies) {
|
|
3351
|
+
return /* @__PURE__ */ import_react25.default.createElement(
|
|
3352
|
+
InstallDependencies,
|
|
3353
|
+
{
|
|
3354
|
+
onFinish: () => setFinishedInstallation(true)
|
|
3355
|
+
}
|
|
3356
|
+
);
|
|
3357
|
+
}
|
|
3358
|
+
setFinishedInstallation(true);
|
|
3359
|
+
},
|
|
3360
|
+
Loading: () => /* @__PURE__ */ import_react25.default.createElement(
|
|
3361
|
+
Spinner,
|
|
3362
|
+
{
|
|
3363
|
+
text: t2("generate_command.generation.loading", {
|
|
3364
|
+
subject: extensionType
|
|
3365
|
+
})
|
|
3366
|
+
}
|
|
3367
|
+
),
|
|
3368
|
+
NotRequested: () => null,
|
|
3369
|
+
Error: () => null
|
|
3370
|
+
}),
|
|
3371
|
+
[supportBlocksTask, t2, extensionType]
|
|
3372
|
+
), finishedInstallation && /* @__PURE__ */ import_react25.default.createElement(Box_default, { marginTop: 1 }, /* @__PURE__ */ import_react25.default.createElement(
|
|
3373
|
+
Trans,
|
|
3374
|
+
{
|
|
3375
|
+
i18nKey: "generate_command.blocks.success",
|
|
3376
|
+
components: [
|
|
3377
|
+
/* @__PURE__ */ import_react25.default.createElement(Link, { url: "https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/wix-cli/supported-extensions/site-extensions/blocks-site-widgets/add-a-blocks-site-widget-extension-in-the-cli" })
|
|
3378
|
+
]
|
|
3175
3379
|
}
|
|
3176
3380
|
)));
|
|
3177
3381
|
};
|
|
3178
3382
|
|
|
3383
|
+
// src/components/GenerateCommand/site-widget/SiteWidgetWizard.tsx
|
|
3384
|
+
var GenerateSiteWidgetWizard = () => {
|
|
3385
|
+
const bi = useWixCliAppBi();
|
|
3386
|
+
const { t: t2 } = useTranslation();
|
|
3387
|
+
const [selectedSiteWidgetType, setSelectedSiteWidgetType] = (0, import_react26.useState)();
|
|
3388
|
+
return /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, /* @__PURE__ */ import_react26.default.createElement(
|
|
3389
|
+
SelectInput,
|
|
3390
|
+
{
|
|
3391
|
+
label: t2("generate_command.site_widget_wizard.choose_extention.title"),
|
|
3392
|
+
info: t2("generate_command.site_widget_wizard.choose_extention.info"),
|
|
3393
|
+
options: [
|
|
3394
|
+
{
|
|
3395
|
+
title: t2(
|
|
3396
|
+
"generate_command.site_widget_wizard.custom_element_option.title"
|
|
3397
|
+
),
|
|
3398
|
+
description: /* @__PURE__ */ import_react26.default.createElement(
|
|
3399
|
+
Trans,
|
|
3400
|
+
{
|
|
3401
|
+
i18nKey: "generate_command.site_widget_wizard.custom_element_option.description",
|
|
3402
|
+
components: [
|
|
3403
|
+
/* @__PURE__ */ import_react26.default.createElement(Link, { url: "https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/wix-cli/supported-extensions/site-extensions/site-widgets/add-a-site-widget-extension-in-the-cli" })
|
|
3404
|
+
]
|
|
3405
|
+
}
|
|
3406
|
+
),
|
|
3407
|
+
value: "customElement"
|
|
3408
|
+
},
|
|
3409
|
+
{
|
|
3410
|
+
title: t2("generate_command.site_widget_wizard.blocks.title"),
|
|
3411
|
+
description: /* @__PURE__ */ import_react26.default.createElement(
|
|
3412
|
+
Trans,
|
|
3413
|
+
{
|
|
3414
|
+
i18nKey: "generate_command.site_widget_wizard.blocks.description",
|
|
3415
|
+
components: [
|
|
3416
|
+
/* @__PURE__ */ import_react26.default.createElement(Link, { url: "https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/wix-cli/supported-extensions/site-extensions/blocks-site-widgets/add-a-blocks-site-widget-extension-in-the-cli" })
|
|
3417
|
+
]
|
|
3418
|
+
}
|
|
3419
|
+
),
|
|
3420
|
+
value: "blocks"
|
|
3421
|
+
}
|
|
3422
|
+
],
|
|
3423
|
+
onSubmit: (option) => {
|
|
3424
|
+
bi.cliFlowStepAnswered({
|
|
3425
|
+
question: t2(
|
|
3426
|
+
"generate_command.site_widget_wizard.choose_extention.title"
|
|
3427
|
+
),
|
|
3428
|
+
questionKey: "generate_command.site_widget_wizard.choose_extention.title",
|
|
3429
|
+
answer: option.title
|
|
3430
|
+
});
|
|
3431
|
+
setSelectedSiteWidgetType(option.value);
|
|
3432
|
+
}
|
|
3433
|
+
}
|
|
3434
|
+
), selectedSiteWidgetType === "customElement" && /* @__PURE__ */ import_react26.default.createElement(GenerateCustomElement, null), selectedSiteWidgetType === "blocks" && /* @__PURE__ */ import_react26.default.createElement(AddBlocksSupportToProject, null));
|
|
3435
|
+
};
|
|
3436
|
+
|
|
3179
3437
|
// src/components/GenerateCommand/GenerateCommand.tsx
|
|
3180
|
-
var DevCenterGenerateFlow = (0,
|
|
3438
|
+
var DevCenterGenerateFlow = (0, import_variant28.variant)((0, import_variant28.types)(DevCenterComponent));
|
|
3181
3439
|
var GenerateCommand = () => {
|
|
3182
3440
|
const { t: t2 } = useTranslation();
|
|
3183
3441
|
const bi = useWixCliAppBi();
|
|
3184
|
-
const [generateFlow, setGenerateFlow] = (0,
|
|
3185
|
-
const generateFlows = (0,
|
|
3442
|
+
const [generateFlow, setGenerateFlow] = (0, import_react27.useState)();
|
|
3443
|
+
const generateFlows = (0, import_react27.useMemo)(
|
|
3186
3444
|
() => [
|
|
3187
3445
|
{
|
|
3188
3446
|
title: t2("generate_command.flow.dashboard_category"),
|
|
@@ -3263,7 +3521,7 @@ var GenerateCommand = () => {
|
|
|
3263
3521
|
],
|
|
3264
3522
|
[t2]
|
|
3265
3523
|
);
|
|
3266
|
-
const selectFlow = (0,
|
|
3524
|
+
const selectFlow = (0, import_react27.useCallback)(
|
|
3267
3525
|
(selectedType) => {
|
|
3268
3526
|
bi.cliFlowStepAnswered({
|
|
3269
3527
|
question: t2("generate_command.flow.choose_flow"),
|
|
@@ -3274,7 +3532,7 @@ var GenerateCommand = () => {
|
|
|
3274
3532
|
},
|
|
3275
3533
|
[bi, t2]
|
|
3276
3534
|
);
|
|
3277
|
-
return /* @__PURE__ */
|
|
3535
|
+
return /* @__PURE__ */ import_react27.default.createElement(Box_default, { flexDirection: "column", paddingTop: 1 }, /* @__PURE__ */ import_react27.default.createElement(
|
|
3278
3536
|
SelectGroupsInput,
|
|
3279
3537
|
{
|
|
3280
3538
|
label: t2("generate_command.flow.choose_flow"),
|
|
@@ -3282,21 +3540,21 @@ var GenerateCommand = () => {
|
|
|
3282
3540
|
onSubmit: selectFlow,
|
|
3283
3541
|
maxHeight: 14
|
|
3284
3542
|
}
|
|
3285
|
-
), generateFlow && (0,
|
|
3543
|
+
), generateFlow && (0, import_variant28.match)(
|
|
3286
3544
|
generateFlow,
|
|
3287
|
-
(0,
|
|
3288
|
-
DashboardPage: () => /* @__PURE__ */
|
|
3289
|
-
DashboardSidebarCategory: () => /* @__PURE__ */
|
|
3290
|
-
EmbeddedScript: () => /* @__PURE__ */
|
|
3291
|
-
CustomElement: () => /* @__PURE__ */
|
|
3292
|
-
SitePlugin: () => /* @__PURE__ */
|
|
3293
|
-
DashboardModal: () => /* @__PURE__ */
|
|
3294
|
-
DashboardPlugin: () => /* @__PURE__ */
|
|
3295
|
-
DashboardMenuPlugin: () => /* @__PURE__ */
|
|
3296
|
-
ServicePlugin: () => /* @__PURE__ */
|
|
3297
|
-
Api: () => /* @__PURE__ */
|
|
3298
|
-
WebMethod: () => /* @__PURE__ */
|
|
3299
|
-
Event: () => /* @__PURE__ */
|
|
3545
|
+
(0, import_variant28.partial)({
|
|
3546
|
+
DashboardPage: () => /* @__PURE__ */ import_react27.default.createElement(GenerateDashboardPage, null),
|
|
3547
|
+
DashboardSidebarCategory: () => /* @__PURE__ */ import_react27.default.createElement(GenerateSidebarCategory, null),
|
|
3548
|
+
EmbeddedScript: () => /* @__PURE__ */ import_react27.default.createElement(GenerateEmbeddedScript, null),
|
|
3549
|
+
CustomElement: () => /* @__PURE__ */ import_react27.default.createElement(GenerateSiteWidgetWizard, null),
|
|
3550
|
+
SitePlugin: () => /* @__PURE__ */ import_react27.default.createElement(GenerateSitePlugin, null),
|
|
3551
|
+
DashboardModal: () => /* @__PURE__ */ import_react27.default.createElement(GenerateDashboardModal, null),
|
|
3552
|
+
DashboardPlugin: () => /* @__PURE__ */ import_react27.default.createElement(DashboardPlugin, null),
|
|
3553
|
+
DashboardMenuPlugin: () => /* @__PURE__ */ import_react27.default.createElement(DashboardMenuPlugin, null),
|
|
3554
|
+
ServicePlugin: () => /* @__PURE__ */ import_react27.default.createElement(GenerateServicePlugin, null),
|
|
3555
|
+
Api: () => /* @__PURE__ */ import_react27.default.createElement(GenerateApi, null),
|
|
3556
|
+
WebMethod: () => /* @__PURE__ */ import_react27.default.createElement(GenerateWebMethod, null),
|
|
3557
|
+
Event: () => /* @__PURE__ */ import_react27.default.createElement(GenerateEvent, null),
|
|
3300
3558
|
default: () => null
|
|
3301
3559
|
})
|
|
3302
3560
|
));
|
|
@@ -3304,4 +3562,4 @@ var GenerateCommand = () => {
|
|
|
3304
3562
|
export {
|
|
3305
3563
|
GenerateCommand
|
|
3306
3564
|
};
|
|
3307
|
-
//# sourceMappingURL=GenerateCommand-
|
|
3565
|
+
//# sourceMappingURL=GenerateCommand-5KR6GRHW.js.map
|