@wix/cli-app 1.1.53 → 1.1.56
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/README.md +45 -0
- package/build/CreateVersionCommand-LU6LUBNT.js +269 -0
- package/build/{CreateVersionCommand-2W37YQW4.js.map → CreateVersionCommand-LU6LUBNT.js.map} +1 -1
- package/build/DevCommand-G2BIT4FY.js +1168 -0
- package/build/DevCommand-G2BIT4FY.js.map +1 -0
- package/build/GenerateCommand-XKWJ2FEG.js +12392 -0
- package/build/GenerateCommand-XKWJ2FEG.js.map +1 -0
- package/build/LogsCommand-HYGDI5KW.js +284 -0
- package/build/LogsCommand-HYGDI5KW.js.map +1 -0
- package/build/PreviewCommand-6EMIKGQN.js +23 -0
- package/build/ServeCommand-YJ5RHQZ4.js +165 -0
- package/build/ServeCommand-YJ5RHQZ4.js.map +1 -0
- package/build/build-EC7LZLAY.js +3596 -0
- package/build/{build-D3GVJS75.js.map → build-EC7LZLAY.js.map} +1 -1
- package/build/build-Q5P6MZLW.js +97 -0
- package/build/build-Q5P6MZLW.js.map +1 -0
- package/build/chunk-3KMSVIRS.js +1323 -0
- package/build/chunk-3KMSVIRS.js.map +1 -0
- package/build/chunk-FH6U3Y37.js +19 -0
- package/build/chunk-FH6U3Y37.js.map +1 -0
- package/build/chunk-GIUEJUXG.js +151 -0
- package/build/{chunk-PSQ4AQFG.js.map → chunk-GIUEJUXG.js.map} +1 -1
- package/build/chunk-IJVKSYIY.js +222 -0
- package/build/chunk-IJVKSYIY.js.map +1 -0
- package/build/chunk-IMNXLCE5.js +51 -0
- package/build/{chunk-SZ5JWJ4Q.js.map → chunk-IMNXLCE5.js.map} +1 -1
- package/build/chunk-IWDISZ2R.js +96 -0
- package/build/chunk-IWDISZ2R.js.map +1 -0
- package/build/chunk-JKI4MP27.js +32 -0
- package/build/{chunk-AXAJ7DJ4.js.map → chunk-JKI4MP27.js.map} +1 -1
- package/build/chunk-JOVPQ7BW.js +183 -0
- package/build/chunk-JOVPQ7BW.js.map +1 -0
- package/build/chunk-KCMEJP7H.js +897 -0
- package/build/{chunk-QXIKCJLU.js.map → chunk-KCMEJP7H.js.map} +1 -1
- package/build/chunk-NDFUPX6I.js +635 -0
- package/build/chunk-NDFUPX6I.js.map +1 -0
- package/build/chunk-NUUM6HPA.js +195 -0
- package/build/{chunk-DLQYJEV6.js.map → chunk-NUUM6HPA.js.map} +1 -1
- package/build/chunk-PYIAC2GK.js +66 -0
- package/build/{chunk-V4TR6DCM.js.map → chunk-PYIAC2GK.js.map} +1 -1
- package/build/chunk-QICLTOEP.js +46 -0
- package/build/{chunk-TSAKYUDG.js.map → chunk-QICLTOEP.js.map} +1 -1
- package/build/chunk-QLZPVGJV.js +29 -0
- package/build/{chunk-C3O7WWDR.js.map → chunk-QLZPVGJV.js.map} +1 -1
- package/build/chunk-QZOQAFHK.js +2197 -0
- package/build/chunk-QZOQAFHK.js.map +1 -0
- package/build/chunk-SP37PQ3I.js +38035 -0
- package/build/chunk-SP37PQ3I.js.map +1 -0
- package/build/chunk-TSFNDZPX.js +39101 -0
- package/build/chunk-TSFNDZPX.js.map +1 -0
- package/build/chunk-TTW4MEC3.js +104 -0
- package/build/chunk-TTW4MEC3.js.map +1 -0
- package/build/chunk-U4QPSXJP.js +45 -0
- package/build/{chunk-WXOIL7LC.js.map → chunk-U4QPSXJP.js.map} +1 -1
- package/build/chunk-WG365AHZ.js +23 -0
- package/build/{chunk-FVG3T57Z.js.map → chunk-WG365AHZ.js.map} +1 -1
- package/build/chunk-XU5JBKO6.js +29230 -0
- package/build/chunk-XU5JBKO6.js.map +1 -0
- package/build/cloudflare-runtime/entry.js +299 -47
- package/build/cloudflare-runtime/getRegisteredExtensions.js +298 -46
- package/build/devtools-YPSDP32D.js +3702 -0
- package/build/{devtools-4JFNYU2B.js.map → devtools-YPSDP32D.js.map} +1 -1
- package/build/esm-YQVNLOAI.js +22083 -0
- package/build/{esm-HBMYQBEO.js.map → esm-YQVNLOAI.js.map} +1 -1
- package/build/index.js +3252 -21
- package/build/index.js.map +1 -1
- package/build/platform-sdk/chunk-TN6HYRXL.js +2 -0
- package/build/platform-sdk/chunk-TN6HYRXL.js.map +1 -0
- package/build/platform-sdk/dashboard.js +1 -1
- package/build/platform-sdk/dashboard.js.map +1 -1
- package/build/platform-sdk/editor.js +5 -5
- package/build/platform-sdk/editor.js.map +1 -1
- package/build/platform-sdk/site.js +1 -1
- package/build/platform-sdk/site.js.map +1 -1
- package/build/preview-HPJCC5SU.js +138 -0
- package/build/preview-HPJCC5SU.js.map +1 -0
- package/build/render-command-BJTVLIM5.js +117 -0
- package/build/render-command-BJTVLIM5.js.map +1 -0
- package/build/types.impl-CD4WWRUK.js +10 -0
- package/package.json +15 -9
- package/templates/custom-element/dependencies.json +1 -1
- package/templates/dashboard-modal/dependencies.json +1 -1
- package/templates/dashboard-plugin/files/plugin.tsx.ejs +8 -18
- package/templates/site-plugin/dependencies.json +1 -1
- package/build/CreateVersionCommand-2W37YQW4.js +0 -4
- package/build/DevCommand-JDHE7RQB.js +0 -4
- package/build/DevCommand-JDHE7RQB.js.map +0 -1
- package/build/GenerateCommand-3PPXF4B6.js +0 -128
- package/build/GenerateCommand-3PPXF4B6.js.map +0 -1
- package/build/LogsCommand-LQKTBY6D.js +0 -4
- package/build/LogsCommand-LQKTBY6D.js.map +0 -1
- package/build/PreviewCommand-H3HVD7DH.js +0 -4
- package/build/ServeCommand-RHONEHTF.js +0 -4
- package/build/ServeCommand-RHONEHTF.js.map +0 -1
- package/build/build-D3GVJS75.js +0 -5
- package/build/build-QN6TGE3Q.js +0 -4
- package/build/build-QN6TGE3Q.js.map +0 -1
- package/build/chunk-2W2YJZP5.js +0 -100
- package/build/chunk-2W2YJZP5.js.map +0 -1
- package/build/chunk-4CCKO52Z.js +0 -11
- package/build/chunk-4CCKO52Z.js.map +0 -1
- package/build/chunk-5OZZ7R6I.js +0 -11
- package/build/chunk-5OZZ7R6I.js.map +0 -1
- package/build/chunk-AXAJ7DJ4.js +0 -4
- package/build/chunk-B5P4JHUW.js +0 -278
- package/build/chunk-B5P4JHUW.js.map +0 -1
- package/build/chunk-C3O7WWDR.js +0 -4
- package/build/chunk-DLQYJEV6.js +0 -4
- package/build/chunk-F6MVNSX2.js +0 -4
- package/build/chunk-F6MVNSX2.js.map +0 -1
- package/build/chunk-FVG3T57Z.js +0 -4
- package/build/chunk-HILXNAWZ.js +0 -4
- package/build/chunk-HILXNAWZ.js.map +0 -1
- package/build/chunk-LDGXTJLC.js +0 -4
- package/build/chunk-LDGXTJLC.js.map +0 -1
- package/build/chunk-PCBMS46R.js +0 -4
- package/build/chunk-PCBMS46R.js.map +0 -1
- package/build/chunk-PSQ4AQFG.js +0 -4
- package/build/chunk-QXIKCJLU.js +0 -5
- package/build/chunk-SZ5JWJ4Q.js +0 -4
- package/build/chunk-TSAKYUDG.js +0 -4
- package/build/chunk-V4TR6DCM.js +0 -4
- package/build/chunk-WJTPY35F.js +0 -9
- package/build/chunk-WJTPY35F.js.map +0 -1
- package/build/chunk-WXOIL7LC.js +0 -4
- package/build/chunk-YIGHU6O6.js +0 -4
- package/build/chunk-YIGHU6O6.js.map +0 -1
- package/build/chunk-YMRYABCG.js +0 -115
- package/build/chunk-YMRYABCG.js.map +0 -1
- package/build/devtools-4JFNYU2B.js +0 -10
- package/build/esm-HBMYQBEO.js +0 -466
- package/build/platform-sdk/chunk-32RIHE6N.js +0 -2
- package/build/platform-sdk/chunk-32RIHE6N.js.map +0 -1
- package/build/preview-457BTAHF.js +0 -4
- package/build/preview-457BTAHF.js.map +0 -1
- package/build/render-command-W6CY3R4Q.js +0 -4
- package/build/render-command-W6CY3R4Q.js.map +0 -1
- package/build/types.impl-L2DPGJ77.js +0 -4
- /package/build/{PreviewCommand-H3HVD7DH.js.map → PreviewCommand-6EMIKGQN.js.map} +0 -0
- /package/build/{types.impl-L2DPGJ77.js.map → types.impl-CD4WWRUK.js.map} +0 -0
package/README.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# **Wix CLI for Apps**
|
|
2
|
+
|
|
3
|
+
The **Wix CLI for Apps** is a command-line tool and framework that enables developers to quickly build, test, and deploy apps for the Wix platform. Designed to simplify the development process, it provides templates, a local development environment, hosting, and a seamless deployment experience.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## **Features 🚀**
|
|
8
|
+
|
|
9
|
+
- **Streamlined development**: Focus on your business logic using industry-standard tools.
|
|
10
|
+
- **Quick start templates**: Get up and running quickly with prebuilt app templates.
|
|
11
|
+
- **Local development environment**: Preview and test your app on your sites with hot module replacement.
|
|
12
|
+
- **Wix API integration**: Use JavaScript SDKs to call Wix APIs, simplifying backend interactions.
|
|
13
|
+
- **Hosting**: Host your app’s frontend and backend code on Wix's infrastructure.
|
|
14
|
+
- **Deploy previews:** Share and test your app with your team and collaborators.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## **Getting started 📖**
|
|
19
|
+
|
|
20
|
+
Run the following command to create a new app:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
npm create @wix/app@latest
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
[Check out our app templates](https://dev.wix.com/apps-templates?filter=cli) or follow our [Quick Start guide](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/wix-cli/get-started/quick-start) for help getting up and running fast.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## **Documentation 📚**
|
|
31
|
+
|
|
32
|
+
Dive deeper into the Wix CLI:
|
|
33
|
+
|
|
34
|
+
- [About the Wix CLI for Apps](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/wix-cli/about-the-wix-cli-for-apps)
|
|
35
|
+
- [Example app walkthrough](https://dev.wix.com/docs/build-apps/get-started/tutorials/tutorial-set-up-an-app-with-the-cli)
|
|
36
|
+
- [Wix CLI app templates](https://dev.wix.com/apps-templates?filter=cli)
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## **Feedback and support 🧑💻**
|
|
41
|
+
|
|
42
|
+
Help us improve the Wix CLI\!
|
|
43
|
+
|
|
44
|
+
- Join our developer community on [Discord](https://discord.gg/wixstudio) in the **\#apps-with-cli** channel.
|
|
45
|
+
- Schedule a feedback session with us at [wix-cli-feedback.com](https://www.wix-cli-feedback.com).
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
+
const require = _createRequire(import.meta.url);
|
|
3
|
+
import {
|
|
4
|
+
PreviewCommand
|
|
5
|
+
} from "./chunk-JOVPQ7BW.js";
|
|
6
|
+
import {
|
|
7
|
+
VersionType
|
|
8
|
+
} from "./chunk-FH6U3Y37.js";
|
|
9
|
+
import {
|
|
10
|
+
assertBuildOutputExists
|
|
11
|
+
} from "./chunk-IWDISZ2R.js";
|
|
12
|
+
import "./chunk-NDFUPX6I.js";
|
|
13
|
+
import "./chunk-QICLTOEP.js";
|
|
14
|
+
import "./chunk-JKI4MP27.js";
|
|
15
|
+
import {
|
|
16
|
+
useARMClient
|
|
17
|
+
} from "./chunk-3KMSVIRS.js";
|
|
18
|
+
import {
|
|
19
|
+
useBackendComponents
|
|
20
|
+
} from "./chunk-U4QPSXJP.js";
|
|
21
|
+
import "./chunk-KCMEJP7H.js";
|
|
22
|
+
import "./chunk-QZOQAFHK.js";
|
|
23
|
+
import "./chunk-TTW4MEC3.js";
|
|
24
|
+
import "./chunk-SP37PQ3I.js";
|
|
25
|
+
import "./chunk-NUUM6HPA.js";
|
|
26
|
+
import {
|
|
27
|
+
BackendDeploymentClient,
|
|
28
|
+
isHttpError,
|
|
29
|
+
require_semver,
|
|
30
|
+
useBiLogger,
|
|
31
|
+
useDevCenterClient,
|
|
32
|
+
useHttpClient,
|
|
33
|
+
useProjectModel
|
|
34
|
+
} from "./chunk-TSFNDZPX.js";
|
|
35
|
+
import {
|
|
36
|
+
Alert,
|
|
37
|
+
Box_default,
|
|
38
|
+
CliError,
|
|
39
|
+
CliErrorCode,
|
|
40
|
+
ConfirmInput,
|
|
41
|
+
Link,
|
|
42
|
+
SelectInput,
|
|
43
|
+
Spinner,
|
|
44
|
+
Text,
|
|
45
|
+
Trans,
|
|
46
|
+
require_lib,
|
|
47
|
+
require_react,
|
|
48
|
+
useAsync,
|
|
49
|
+
useAsyncCallback,
|
|
50
|
+
useTranslation
|
|
51
|
+
} from "./chunk-XU5JBKO6.js";
|
|
52
|
+
import {
|
|
53
|
+
__toESM,
|
|
54
|
+
init_esm_shims
|
|
55
|
+
} from "./chunk-PYIAC2GK.js";
|
|
56
|
+
|
|
57
|
+
// src/components/CreateVersionCommand/index.ts
|
|
58
|
+
init_esm_shims();
|
|
59
|
+
|
|
60
|
+
// src/components/CreateVersionCommand/CreateVersionCommand.tsx
|
|
61
|
+
init_esm_shims();
|
|
62
|
+
var import_react4 = __toESM(require_react(), 1);
|
|
63
|
+
var import_variant2 = __toESM(require_lib(), 1);
|
|
64
|
+
|
|
65
|
+
// src/components/CreateVersionCommand/ConfirmVersionCreation.tsx
|
|
66
|
+
init_esm_shims();
|
|
67
|
+
var import_react = __toESM(require_react(), 1);
|
|
68
|
+
var ConfirmVersionCreation = ({ onSubmit }) => {
|
|
69
|
+
const { t } = useTranslation();
|
|
70
|
+
const [cancelled, setCancelled] = (0, import_react.useState)(false);
|
|
71
|
+
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
|
|
72
|
+
ConfirmInput,
|
|
73
|
+
{
|
|
74
|
+
label: t("create_version_command.confirm_version_creation"),
|
|
75
|
+
initialValue: true,
|
|
76
|
+
onSubmit: (confirmation) => {
|
|
77
|
+
if (confirmation) {
|
|
78
|
+
onSubmit(true);
|
|
79
|
+
} else {
|
|
80
|
+
setCancelled(true);
|
|
81
|
+
onSubmit(false);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
), cancelled && /* @__PURE__ */ import_react.default.createElement(Text, null, t("create_version_command.confirm_version_creation_aborted")));
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
// src/components/CreateVersionCommand/SelectVersionType.tsx
|
|
89
|
+
init_esm_shims();
|
|
90
|
+
var import_react2 = __toESM(require_react(), 1);
|
|
91
|
+
var import_semver = __toESM(require_semver(), 1);
|
|
92
|
+
var SelectVersionType = ({ version, onSubmit }) => {
|
|
93
|
+
const { t } = useTranslation();
|
|
94
|
+
return /* @__PURE__ */ import_react2.default.createElement(
|
|
95
|
+
SelectInput,
|
|
96
|
+
{
|
|
97
|
+
label: t("create_version_command.version_type_question"),
|
|
98
|
+
options: [
|
|
99
|
+
{
|
|
100
|
+
title: t("create_version_command.version_type_question_minor", {
|
|
101
|
+
version: (0, import_semver.inc)(version, "minor")
|
|
102
|
+
}),
|
|
103
|
+
value: VersionType.MINOR
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
title: t("create_version_command.version_type_question_major", {
|
|
107
|
+
version: (0, import_semver.inc)(version, "major")
|
|
108
|
+
}),
|
|
109
|
+
value: VersionType.MAJOR
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
onSubmit: ({ value }) => onSubmit(value)
|
|
113
|
+
}
|
|
114
|
+
);
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
// src/components/CreateVersionCommand/promoteVersion.ts
|
|
118
|
+
init_esm_shims();
|
|
119
|
+
var promoteVersion = async ({
|
|
120
|
+
appId,
|
|
121
|
+
tag,
|
|
122
|
+
versionType,
|
|
123
|
+
arm,
|
|
124
|
+
biLogger,
|
|
125
|
+
httpClient,
|
|
126
|
+
backendServerUrl
|
|
127
|
+
}) => {
|
|
128
|
+
try {
|
|
129
|
+
const { newVersion } = await arm.promoteToDevCenter(
|
|
130
|
+
appId,
|
|
131
|
+
tag,
|
|
132
|
+
versionType
|
|
133
|
+
);
|
|
134
|
+
if (backendServerUrl) {
|
|
135
|
+
const deployment = new BackendDeploymentClient(biLogger, httpClient);
|
|
136
|
+
await deployment.makrDeploymentAsPermanent(
|
|
137
|
+
appId,
|
|
138
|
+
BackendDeploymentClient.DeploymentUrToDeploymentId(backendServerUrl)
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
return newVersion;
|
|
142
|
+
} catch (e) {
|
|
143
|
+
if (isHttpError(e) && e.response?.status === 428) {
|
|
144
|
+
throw new CliError({
|
|
145
|
+
code: CliErrorCode.FailedToCreateVersionForSubmittedApp(),
|
|
146
|
+
cause: e
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
throw new CliError({
|
|
150
|
+
code: CliErrorCode.FailedToCreateVersion(),
|
|
151
|
+
cause: e
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
// src/components/CreateVersionCommand/VersionValidationStatus.tsx
|
|
157
|
+
init_esm_shims();
|
|
158
|
+
var import_react3 = __toESM(require_react(), 1);
|
|
159
|
+
var import_variant = __toESM(require_lib(), 1);
|
|
160
|
+
var VersionValidationStatus = ({ appId, version }) => {
|
|
161
|
+
const { t } = useTranslation();
|
|
162
|
+
const { getAppValidationFailuresCount } = useDevCenterClient();
|
|
163
|
+
const { status } = useAsync(async () => {
|
|
164
|
+
return getAppValidationFailuresCount(appId, version);
|
|
165
|
+
}, []);
|
|
166
|
+
return (0, import_variant.match)(status, {
|
|
167
|
+
NotRequested: () => null,
|
|
168
|
+
Error: () => null,
|
|
169
|
+
Loading: () => /* @__PURE__ */ import_react3.default.createElement(Spinner, { text: t("create_version_command.checking_validation_status") }),
|
|
170
|
+
Success: ({ result: validationFailuresCount }) => /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, validationFailuresCount === 0 ? /* @__PURE__ */ import_react3.default.createElement(
|
|
171
|
+
Trans,
|
|
172
|
+
{
|
|
173
|
+
i18nKey: "create_version_command.version_validation_ok",
|
|
174
|
+
components: [
|
|
175
|
+
/* @__PURE__ */ import_react3.default.createElement(Link, { url: `https://dev.wix.com/apps/${appId}/versions` })
|
|
176
|
+
]
|
|
177
|
+
}
|
|
178
|
+
) : /* @__PURE__ */ import_react3.default.createElement(Alert, { type: "warning" }, /* @__PURE__ */ import_react3.default.createElement(
|
|
179
|
+
Trans,
|
|
180
|
+
{
|
|
181
|
+
i18nKey: "create_version_command.version_validation_has_failures",
|
|
182
|
+
components: [
|
|
183
|
+
/* @__PURE__ */ import_react3.default.createElement(
|
|
184
|
+
Link,
|
|
185
|
+
{
|
|
186
|
+
url: `https://dev.wix.com/apps/${appId}/home?open-blockers-panel`
|
|
187
|
+
}
|
|
188
|
+
)
|
|
189
|
+
]
|
|
190
|
+
}
|
|
191
|
+
)))
|
|
192
|
+
});
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
// src/components/CreateVersionCommand/CreateVersionCommand.tsx
|
|
196
|
+
var CreateVersionCommand = ({ baseUrl, siteIdOverride, preApprovePreview, versionType }) => {
|
|
197
|
+
const { t } = useTranslation();
|
|
198
|
+
const { model } = useProjectModel();
|
|
199
|
+
const { backendComponentsByType } = useBackendComponents();
|
|
200
|
+
const arm = useARMClient();
|
|
201
|
+
const { getAppByVersion } = useDevCenterClient();
|
|
202
|
+
const [tag, setTag] = (0, import_react4.useState)();
|
|
203
|
+
const [versionCreationApproved, setVersionCreationApproved] = (0, import_react4.useState)(preApprovePreview);
|
|
204
|
+
const httpClient = useHttpClient({ type: "backoffice" });
|
|
205
|
+
const biLogger = useBiLogger();
|
|
206
|
+
const { status } = useAsync(async () => {
|
|
207
|
+
await assertBuildOutputExists(model.projectFolder);
|
|
208
|
+
const { latestVersion } = await getAppByVersion({
|
|
209
|
+
appId: model.config.appId
|
|
210
|
+
});
|
|
211
|
+
return latestVersion;
|
|
212
|
+
}, []);
|
|
213
|
+
const promoteVersionAction = useAsyncCallback(
|
|
214
|
+
(_, versionType2, tag2, backendServerUrl) => {
|
|
215
|
+
return promoteVersion({
|
|
216
|
+
appId: model.config.appId,
|
|
217
|
+
tag: tag2,
|
|
218
|
+
versionType: versionType2,
|
|
219
|
+
arm,
|
|
220
|
+
biLogger,
|
|
221
|
+
httpClient,
|
|
222
|
+
backendServerUrl
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
);
|
|
226
|
+
function setTagAndMaybePromote(tag2, backendServerUrl) {
|
|
227
|
+
setTag(tag2);
|
|
228
|
+
if (versionCreationApproved && versionType) {
|
|
229
|
+
void promoteVersionAction.execute(versionType, tag2, backendServerUrl);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
return (0, import_variant2.match)(status, {
|
|
233
|
+
Loading: () => /* @__PURE__ */ import_react4.default.createElement(Spinner, null),
|
|
234
|
+
Error: () => null,
|
|
235
|
+
Success: ({ result: latestVersion }) => /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement(Text, null, t("create_version_command.check_preview_before_version_release")), /* @__PURE__ */ import_react4.default.createElement(
|
|
236
|
+
PreviewCommand,
|
|
237
|
+
{
|
|
238
|
+
baseUrl,
|
|
239
|
+
siteIdOverride,
|
|
240
|
+
onPreviewCreated: setTagAndMaybePromote
|
|
241
|
+
}
|
|
242
|
+
), tag && backendComponentsByType.Event.length > 0 && /* @__PURE__ */ import_react4.default.createElement(Box_default, { marginBottom: 1 }, /* @__PURE__ */ import_react4.default.createElement(Alert, { type: "warning" }, /* @__PURE__ */ import_react4.default.createElement(Text, null, t("create_version_command.confirm_version_events_warning")))), tag && !preApprovePreview && /* @__PURE__ */ import_react4.default.createElement(Box_default, { marginBottom: 1 }, /* @__PURE__ */ import_react4.default.createElement(ConfirmVersionCreation, { onSubmit: setVersionCreationApproved })), tag && versionCreationApproved && /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement(Box_default, { marginBottom: 1 }, /* @__PURE__ */ import_react4.default.createElement(Text, null, t("create_version_command.current_version", {
|
|
243
|
+
version: latestVersion
|
|
244
|
+
}))), !versionType && /* @__PURE__ */ import_react4.default.createElement(
|
|
245
|
+
SelectVersionType,
|
|
246
|
+
{
|
|
247
|
+
version: latestVersion,
|
|
248
|
+
onSubmit: (versionType2) => promoteVersionAction.execute(versionType2, tag)
|
|
249
|
+
}
|
|
250
|
+
), (0, import_variant2.match)(promoteVersionAction.status, {
|
|
251
|
+
NotRequested: () => null,
|
|
252
|
+
Error: () => null,
|
|
253
|
+
Loading: () => /* @__PURE__ */ import_react4.default.createElement(Spinner, { text: t("create_version_command.creating_version") }),
|
|
254
|
+
Success: ({ result: version }) => /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement(Alert, { type: "success" }, t("create_version_command.creating_version_success", {
|
|
255
|
+
version
|
|
256
|
+
})), /* @__PURE__ */ import_react4.default.createElement(
|
|
257
|
+
VersionValidationStatus,
|
|
258
|
+
{
|
|
259
|
+
appId: model.config.appId,
|
|
260
|
+
version
|
|
261
|
+
}
|
|
262
|
+
))
|
|
263
|
+
})))
|
|
264
|
+
});
|
|
265
|
+
};
|
|
266
|
+
export {
|
|
267
|
+
CreateVersionCommand
|
|
268
|
+
};
|
|
269
|
+
//# sourceMappingURL=CreateVersionCommand-LU6LUBNT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/CreateVersionCommand/index.ts","../src/components/CreateVersionCommand/CreateVersionCommand.tsx","../src/components/CreateVersionCommand/ConfirmVersionCreation.tsx","../src/components/CreateVersionCommand/SelectVersionType.tsx","../src/components/CreateVersionCommand/promoteVersion.ts","../src/components/CreateVersionCommand/VersionValidationStatus.tsx"],"sourcesContent":["export { CreateVersionCommand } from './CreateVersionCommand.js';\n","import type { FC } from 'react';\nimport React, { useState } from 'react';\nimport { useARMClient } from '@wix/arm-client';\nimport {\n Alert,\n Box,\n Spinner,\n useAsync,\n useAsyncCallback,\n Text,\n} from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { VersionType } from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport { useProjectModel } from '../../model.js';\nimport { PreviewCommand } from '../PreviewCommand/index.js';\nimport { assertBuildOutputExists } from '../../files/assert-build-output-exists.js';\nimport { ConfirmVersionCreation } from './ConfirmVersionCreation.js';\nimport { SelectVersionType } from './SelectVersionType.js';\nimport { promoteVersion } from './promoteVersion.js';\nimport { VersionValidationStatus } from './VersionValidationStatus.js';\nimport { useBackendComponents } from '../../backend/useBackendComponents.js';\n\nexport const CreateVersionCommand: FC<{\n baseUrl?: string;\n siteIdOverride?: string;\n preApprovePreview: boolean;\n versionType?: VersionType;\n}> = ({ baseUrl, siteIdOverride, preApprovePreview, versionType }) => {\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const { backendComponentsByType } = useBackendComponents();\n const arm = useARMClient();\n const { getAppByVersion } = useDevCenterClient();\n const [tag, setTag] = useState<string>();\n const [versionCreationApproved, setVersionCreationApproved] =\n useState(preApprovePreview);\n const httpClient = useHttpClient({ type: 'backoffice' });\n const biLogger = useBiLogger();\n\n const { status } = useAsync(async () => {\n await assertBuildOutputExists(model.projectFolder);\n const { latestVersion } = await getAppByVersion({\n appId: model.config.appId,\n });\n\n return latestVersion;\n }, []);\n\n const promoteVersionAction = useAsyncCallback(\n (_, versionType: VersionType, tag: string, backendServerUrl?: string) => {\n return promoteVersion({\n appId: model.config.appId,\n tag,\n versionType,\n arm,\n biLogger,\n httpClient,\n backendServerUrl,\n });\n }\n );\n\n function setTagAndMaybePromote(tag: string, backendServerUrl?: string) {\n setTag(tag);\n if (versionCreationApproved && versionType) {\n void promoteVersionAction.execute(versionType, tag, backendServerUrl);\n }\n }\n\n return match(status, {\n Loading: () => <Spinner />,\n Error: () => null,\n Success: ({ result: latestVersion }) => (\n <>\n <Text>\n {t('create_version_command.check_preview_before_version_release')}\n </Text>\n <PreviewCommand\n baseUrl={baseUrl}\n siteIdOverride={siteIdOverride}\n onPreviewCreated={setTagAndMaybePromote}\n />\n {tag && backendComponentsByType.Event.length > 0 && (\n <Box marginBottom={1}>\n <Alert type=\"warning\">\n <Text>\n {t('create_version_command.confirm_version_events_warning')}\n </Text>\n </Alert>\n </Box>\n )}\n {tag && !preApprovePreview && (\n <Box marginBottom={1}>\n <ConfirmVersionCreation onSubmit={setVersionCreationApproved} />\n </Box>\n )}\n\n {tag && versionCreationApproved && (\n <>\n <Box marginBottom={1}>\n <Text>\n {t('create_version_command.current_version', {\n version: latestVersion,\n })}\n </Text>\n </Box>\n\n {!versionType && (\n <SelectVersionType\n version={latestVersion}\n onSubmit={(versionType) =>\n promoteVersionAction.execute(versionType, tag)\n }\n />\n )}\n\n {match(promoteVersionAction.status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => (\n <Spinner text={t('create_version_command.creating_version')} />\n ),\n Success: ({ result: version }) => (\n <>\n <Alert type=\"success\">\n {t('create_version_command.creating_version_success', {\n version,\n })}\n </Alert>\n <VersionValidationStatus\n appId={model.config.appId}\n version={version}\n />\n </>\n ),\n })}\n </>\n )}\n </>\n ),\n });\n};\n","import type { FC } from 'react';\nimport React, { useState } from 'react';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { ConfirmInput, Text } from '@wix/cli-ui-kit';\n\nexport const ConfirmVersionCreation: FC<{\n onSubmit: (value: boolean) => void;\n}> = ({ onSubmit }) => {\n const { t } = useTranslation();\n const [cancelled, setCancelled] = useState<boolean>(false);\n\n return (\n <>\n <ConfirmInput\n label={t('create_version_command.confirm_version_creation')}\n initialValue={true}\n onSubmit={(confirmation) => {\n if (confirmation) {\n onSubmit(true);\n } else {\n setCancelled(true);\n onSubmit(false);\n }\n }}\n />\n {cancelled && (\n <Text>\n {t('create_version_command.confirm_version_creation_aborted')}\n </Text>\n )}\n </>\n );\n};\n","import type { FC } from 'react';\nimport React from 'react';\nimport { inc } from 'semver';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { SelectInput } from '@wix/cli-ui-kit';\nimport { VersionType } from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\n\nexport const SelectVersionType: FC<{\n version: string;\n onSubmit: (versionType: VersionType) => void;\n}> = ({ version, onSubmit }) => {\n const { t } = useTranslation();\n\n return (\n <SelectInput\n label={t('create_version_command.version_type_question')}\n options={[\n {\n title: t('create_version_command.version_type_question_minor', {\n version: inc(version, 'minor'),\n }),\n value: VersionType.MINOR,\n },\n {\n title: t('create_version_command.version_type_question_major', {\n version: inc(version, 'major'),\n }),\n value: VersionType.MAJOR,\n },\n ]}\n onSubmit={({ value }) => onSubmit(value)}\n />\n );\n};\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { ARMClient } from '@wix/arm-client';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport { isHttpError } from '@wix/cli-http-client';\nimport type { VersionType } from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport { BackendDeploymentClient } from '../../backend-deployment/client.js';\n\nexport const promoteVersion = async ({\n appId,\n tag,\n versionType,\n arm,\n biLogger,\n httpClient,\n backendServerUrl,\n}: {\n appId: string;\n tag: string;\n versionType: VersionType;\n arm: ARMClient;\n biLogger: BiLogger;\n httpClient: HttpClient;\n backendServerUrl?: string;\n}) => {\n try {\n const { newVersion } = await arm.promoteToDevCenter(\n appId,\n tag,\n versionType\n );\n\n if (backendServerUrl) {\n const deployment = new BackendDeploymentClient(biLogger, httpClient);\n await deployment.makrDeploymentAsPermanent(\n appId,\n BackendDeploymentClient.DeploymentUrToDeploymentId(backendServerUrl)\n );\n }\n\n return newVersion;\n } catch (e) {\n if (isHttpError(e) && e.response?.status === 428) {\n throw new CliError({\n code: CliErrorCode.FailedToCreateVersionForSubmittedApp(),\n cause: e,\n });\n }\n\n throw new CliError({\n code: CliErrorCode.FailedToCreateVersion(),\n cause: e,\n });\n }\n};\n","import { useDevCenterClient } from '@wix/dev-center-client';\nimport { Alert, Link, Spinner, useAsync } from '@wix/cli-ui-kit';\nimport React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\n\nconst VersionValidationStatus: FC<{\n appId: string;\n version: string;\n}> = ({ appId, version }) => {\n const { t } = useTranslation();\n const { getAppValidationFailuresCount } = useDevCenterClient();\n\n const { status } = useAsync(async () => {\n return getAppValidationFailuresCount(appId, version);\n }, []);\n\n return match(status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => (\n <Spinner text={t('create_version_command.checking_validation_status')} />\n ),\n Success: ({ result: validationFailuresCount }) => (\n <>\n {validationFailuresCount === 0 ? (\n <Trans\n i18nKey=\"create_version_command.version_validation_ok\"\n components={[\n <Link url={`https://dev.wix.com/apps/${appId}/versions`} />,\n ]}\n />\n ) : (\n <Alert type=\"warning\">\n <Trans\n i18nKey={'create_version_command.version_validation_has_failures'}\n components={[\n <Link\n url={`https://dev.wix.com/apps/${appId}/home?open-blockers-panel`}\n />,\n ]}\n ></Trans>\n </Alert>\n )}\n </>\n ),\n });\n};\n\nexport { VersionValidationStatus };\n"],"mappings":"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","names":["init_esm_shims","init_esm_shims","import_react","import_variant","init_esm_shims","import_react","ConfirmVersionCreation","onSubmit","t","useTranslation","cancelled","setCancelled","React","ConfirmInput","confirmation","Text","init_esm_shims","import_react","import_semver","SelectVersionType","version","onSubmit","t","useTranslation","React","SelectInput","VersionType","value","init_esm_shims","promoteVersion","appId","tag","versionType","arm","biLogger","httpClient","backendServerUrl","newVersion","BackendDeploymentClient","e","isHttpError","CliError","CliErrorCode","init_esm_shims","import_react","import_variant","VersionValidationStatus","appId","version","t","useTranslation","getAppValidationFailuresCount","useDevCenterClient","status","useAsync","React","Spinner","validationFailuresCount","Trans","Link","Alert","CreateVersionCommand","baseUrl","siteIdOverride","preApprovePreview","versionType","t","useTranslation","model","useProjectModel","backendComponentsByType","useBackendComponents","arm","useARMClient","getAppByVersion","useDevCenterClient","tag","setTag","versionCreationApproved","setVersionCreationApproved","httpClient","useHttpClient","biLogger","useBiLogger","status","useAsync","assertBuildOutputExists","latestVersion","promoteVersionAction","useAsyncCallback","_","backendServerUrl","promoteVersion","setTagAndMaybePromote","React","Spinner","Text","PreviewCommand","Box_default","Alert","ConfirmVersionCreation","SelectVersionType","version","VersionValidationStatus"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/CreateVersionCommand/index.ts","../src/components/CreateVersionCommand/CreateVersionCommand.tsx","../src/components/CreateVersionCommand/ConfirmVersionCreation.tsx","../src/components/CreateVersionCommand/SelectVersionType.tsx","../src/components/CreateVersionCommand/promoteVersion.ts","../src/components/CreateVersionCommand/VersionValidationStatus.tsx"],"sourcesContent":["export { CreateVersionCommand } from './CreateVersionCommand.js';\n","import type { FC } from 'react';\nimport React, { useState } from 'react';\nimport { useARMClient } from '@wix/arm-client';\nimport {\n Alert,\n Box,\n Spinner,\n useAsync,\n useAsyncCallback,\n Text,\n} from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport type { VersionType } from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport { useProjectModel } from '../../model.js';\nimport { PreviewCommand } from '../PreviewCommand/index.js';\nimport { assertBuildOutputExists } from '../../files/assert-build-output-exists.js';\nimport { ConfirmVersionCreation } from './ConfirmVersionCreation.js';\nimport { SelectVersionType } from './SelectVersionType.js';\nimport { promoteVersion } from './promoteVersion.js';\nimport { VersionValidationStatus } from './VersionValidationStatus.js';\nimport { useBackendComponents } from '../../backend/useBackendComponents.js';\n\nexport const CreateVersionCommand: FC<{\n baseUrl?: string;\n siteIdOverride?: string;\n preApprovePreview: boolean;\n versionType?: VersionType;\n}> = ({ baseUrl, siteIdOverride, preApprovePreview, versionType }) => {\n const { t } = useTranslation();\n const { model } = useProjectModel();\n const { backendComponentsByType } = useBackendComponents();\n const arm = useARMClient();\n const { getAppByVersion } = useDevCenterClient();\n const [tag, setTag] = useState<string>();\n const [versionCreationApproved, setVersionCreationApproved] =\n useState(preApprovePreview);\n const httpClient = useHttpClient({ type: 'backoffice' });\n const biLogger = useBiLogger();\n\n const { status } = useAsync(async () => {\n await assertBuildOutputExists(model.projectFolder);\n const { latestVersion } = await getAppByVersion({\n appId: model.config.appId,\n });\n\n return latestVersion;\n }, []);\n\n const promoteVersionAction = useAsyncCallback(\n (_, versionType: VersionType, tag: string, backendServerUrl?: string) => {\n return promoteVersion({\n appId: model.config.appId,\n tag,\n versionType,\n arm,\n biLogger,\n httpClient,\n backendServerUrl,\n });\n }\n );\n\n function setTagAndMaybePromote(tag: string, backendServerUrl?: string) {\n setTag(tag);\n if (versionCreationApproved && versionType) {\n void promoteVersionAction.execute(versionType, tag, backendServerUrl);\n }\n }\n\n return match(status, {\n Loading: () => <Spinner />,\n Error: () => null,\n Success: ({ result: latestVersion }) => (\n <>\n <Text>\n {t('create_version_command.check_preview_before_version_release')}\n </Text>\n <PreviewCommand\n baseUrl={baseUrl}\n siteIdOverride={siteIdOverride}\n onPreviewCreated={setTagAndMaybePromote}\n />\n {tag && backendComponentsByType.Event.length > 0 && (\n <Box marginBottom={1}>\n <Alert type=\"warning\">\n <Text>\n {t('create_version_command.confirm_version_events_warning')}\n </Text>\n </Alert>\n </Box>\n )}\n {tag && !preApprovePreview && (\n <Box marginBottom={1}>\n <ConfirmVersionCreation onSubmit={setVersionCreationApproved} />\n </Box>\n )}\n\n {tag && versionCreationApproved && (\n <>\n <Box marginBottom={1}>\n <Text>\n {t('create_version_command.current_version', {\n version: latestVersion,\n })}\n </Text>\n </Box>\n\n {!versionType && (\n <SelectVersionType\n version={latestVersion}\n onSubmit={(versionType) =>\n promoteVersionAction.execute(versionType, tag)\n }\n />\n )}\n\n {match(promoteVersionAction.status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => (\n <Spinner text={t('create_version_command.creating_version')} />\n ),\n Success: ({ result: version }) => (\n <>\n <Alert type=\"success\">\n {t('create_version_command.creating_version_success', {\n version,\n })}\n </Alert>\n <VersionValidationStatus\n appId={model.config.appId}\n version={version}\n />\n </>\n ),\n })}\n </>\n )}\n </>\n ),\n });\n};\n","import type { FC } from 'react';\nimport React, { useState } from 'react';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { ConfirmInput, Text } from '@wix/cli-ui-kit';\n\nexport const ConfirmVersionCreation: FC<{\n onSubmit: (value: boolean) => void;\n}> = ({ onSubmit }) => {\n const { t } = useTranslation();\n const [cancelled, setCancelled] = useState<boolean>(false);\n\n return (\n <>\n <ConfirmInput\n label={t('create_version_command.confirm_version_creation')}\n initialValue={true}\n onSubmit={(confirmation) => {\n if (confirmation) {\n onSubmit(true);\n } else {\n setCancelled(true);\n onSubmit(false);\n }\n }}\n />\n {cancelled && (\n <Text>\n {t('create_version_command.confirm_version_creation_aborted')}\n </Text>\n )}\n </>\n );\n};\n","import type { FC } from 'react';\nimport React from 'react';\nimport { inc } from 'semver';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { SelectInput } from '@wix/cli-ui-kit';\nimport { VersionType } from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\n\nexport const SelectVersionType: FC<{\n version: string;\n onSubmit: (versionType: VersionType) => void;\n}> = ({ version, onSubmit }) => {\n const { t } = useTranslation();\n\n return (\n <SelectInput\n label={t('create_version_command.version_type_question')}\n options={[\n {\n title: t('create_version_command.version_type_question_minor', {\n version: inc(version, 'minor'),\n }),\n value: VersionType.MINOR,\n },\n {\n title: t('create_version_command.version_type_question_major', {\n version: inc(version, 'major'),\n }),\n value: VersionType.MAJOR,\n },\n ]}\n onSubmit={({ value }) => onSubmit(value)}\n />\n );\n};\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { ARMClient } from '@wix/arm-client';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport { isHttpError } from '@wix/cli-http-client';\nimport type { VersionType } from '@wix/ambassador-ctp-gradual-rollout-v1-app-config/types';\nimport type { BiLogger } from '@wix/cli-telemetry';\nimport { BackendDeploymentClient } from '../../backend-deployment/client.js';\n\nexport const promoteVersion = async ({\n appId,\n tag,\n versionType,\n arm,\n biLogger,\n httpClient,\n backendServerUrl,\n}: {\n appId: string;\n tag: string;\n versionType: VersionType;\n arm: ARMClient;\n biLogger: BiLogger;\n httpClient: HttpClient;\n backendServerUrl?: string;\n}) => {\n try {\n const { newVersion } = await arm.promoteToDevCenter(\n appId,\n tag,\n versionType\n );\n\n if (backendServerUrl) {\n const deployment = new BackendDeploymentClient(biLogger, httpClient);\n await deployment.makrDeploymentAsPermanent(\n appId,\n BackendDeploymentClient.DeploymentUrToDeploymentId(backendServerUrl)\n );\n }\n\n return newVersion;\n } catch (e) {\n if (isHttpError(e) && e.response?.status === 428) {\n throw new CliError({\n code: CliErrorCode.FailedToCreateVersionForSubmittedApp(),\n cause: e,\n });\n }\n\n throw new CliError({\n code: CliErrorCode.FailedToCreateVersion(),\n cause: e,\n });\n }\n};\n","import { useDevCenterClient } from '@wix/dev-center-client';\nimport { Alert, Link, Spinner, useAsync } from '@wix/cli-ui-kit';\nimport React from 'react';\nimport type { FC } from 'react';\nimport { match } from 'variant';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\n\nconst VersionValidationStatus: FC<{\n appId: string;\n version: string;\n}> = ({ appId, version }) => {\n const { t } = useTranslation();\n const { getAppValidationFailuresCount } = useDevCenterClient();\n\n const { status } = useAsync(async () => {\n return getAppValidationFailuresCount(appId, version);\n }, []);\n\n return match(status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => (\n <Spinner text={t('create_version_command.checking_validation_status')} />\n ),\n Success: ({ result: validationFailuresCount }) => (\n <>\n {validationFailuresCount === 0 ? (\n <Trans\n i18nKey=\"create_version_command.version_validation_ok\"\n components={[\n <Link url={`https://dev.wix.com/apps/${appId}/versions`} />,\n ]}\n />\n ) : (\n <Alert type=\"warning\">\n <Trans\n i18nKey={'create_version_command.version_validation_has_failures'}\n components={[\n <Link\n url={`https://dev.wix.com/apps/${appId}/home?open-blockers-panel`}\n />,\n ]}\n ></Trans>\n </Alert>\n )}\n </>\n ),\n });\n};\n\nexport { VersionValidationStatus };\n"],"mappings":"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","names":["import_react","import_variant","React","import_react","React","import_react","React","versionType","tag","React"]}
|