@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.
Files changed (140) hide show
  1. package/README.md +45 -0
  2. package/build/CreateVersionCommand-LU6LUBNT.js +269 -0
  3. package/build/{CreateVersionCommand-2W37YQW4.js.map → CreateVersionCommand-LU6LUBNT.js.map} +1 -1
  4. package/build/DevCommand-G2BIT4FY.js +1168 -0
  5. package/build/DevCommand-G2BIT4FY.js.map +1 -0
  6. package/build/GenerateCommand-XKWJ2FEG.js +12392 -0
  7. package/build/GenerateCommand-XKWJ2FEG.js.map +1 -0
  8. package/build/LogsCommand-HYGDI5KW.js +284 -0
  9. package/build/LogsCommand-HYGDI5KW.js.map +1 -0
  10. package/build/PreviewCommand-6EMIKGQN.js +23 -0
  11. package/build/ServeCommand-YJ5RHQZ4.js +165 -0
  12. package/build/ServeCommand-YJ5RHQZ4.js.map +1 -0
  13. package/build/build-EC7LZLAY.js +3596 -0
  14. package/build/{build-D3GVJS75.js.map → build-EC7LZLAY.js.map} +1 -1
  15. package/build/build-Q5P6MZLW.js +97 -0
  16. package/build/build-Q5P6MZLW.js.map +1 -0
  17. package/build/chunk-3KMSVIRS.js +1323 -0
  18. package/build/chunk-3KMSVIRS.js.map +1 -0
  19. package/build/chunk-FH6U3Y37.js +19 -0
  20. package/build/chunk-FH6U3Y37.js.map +1 -0
  21. package/build/chunk-GIUEJUXG.js +151 -0
  22. package/build/{chunk-PSQ4AQFG.js.map → chunk-GIUEJUXG.js.map} +1 -1
  23. package/build/chunk-IJVKSYIY.js +222 -0
  24. package/build/chunk-IJVKSYIY.js.map +1 -0
  25. package/build/chunk-IMNXLCE5.js +51 -0
  26. package/build/{chunk-SZ5JWJ4Q.js.map → chunk-IMNXLCE5.js.map} +1 -1
  27. package/build/chunk-IWDISZ2R.js +96 -0
  28. package/build/chunk-IWDISZ2R.js.map +1 -0
  29. package/build/chunk-JKI4MP27.js +32 -0
  30. package/build/{chunk-AXAJ7DJ4.js.map → chunk-JKI4MP27.js.map} +1 -1
  31. package/build/chunk-JOVPQ7BW.js +183 -0
  32. package/build/chunk-JOVPQ7BW.js.map +1 -0
  33. package/build/chunk-KCMEJP7H.js +897 -0
  34. package/build/{chunk-QXIKCJLU.js.map → chunk-KCMEJP7H.js.map} +1 -1
  35. package/build/chunk-NDFUPX6I.js +635 -0
  36. package/build/chunk-NDFUPX6I.js.map +1 -0
  37. package/build/chunk-NUUM6HPA.js +195 -0
  38. package/build/{chunk-DLQYJEV6.js.map → chunk-NUUM6HPA.js.map} +1 -1
  39. package/build/chunk-PYIAC2GK.js +66 -0
  40. package/build/{chunk-V4TR6DCM.js.map → chunk-PYIAC2GK.js.map} +1 -1
  41. package/build/chunk-QICLTOEP.js +46 -0
  42. package/build/{chunk-TSAKYUDG.js.map → chunk-QICLTOEP.js.map} +1 -1
  43. package/build/chunk-QLZPVGJV.js +29 -0
  44. package/build/{chunk-C3O7WWDR.js.map → chunk-QLZPVGJV.js.map} +1 -1
  45. package/build/chunk-QZOQAFHK.js +2197 -0
  46. package/build/chunk-QZOQAFHK.js.map +1 -0
  47. package/build/chunk-SP37PQ3I.js +38035 -0
  48. package/build/chunk-SP37PQ3I.js.map +1 -0
  49. package/build/chunk-TSFNDZPX.js +39101 -0
  50. package/build/chunk-TSFNDZPX.js.map +1 -0
  51. package/build/chunk-TTW4MEC3.js +104 -0
  52. package/build/chunk-TTW4MEC3.js.map +1 -0
  53. package/build/chunk-U4QPSXJP.js +45 -0
  54. package/build/{chunk-WXOIL7LC.js.map → chunk-U4QPSXJP.js.map} +1 -1
  55. package/build/chunk-WG365AHZ.js +23 -0
  56. package/build/{chunk-FVG3T57Z.js.map → chunk-WG365AHZ.js.map} +1 -1
  57. package/build/chunk-XU5JBKO6.js +29230 -0
  58. package/build/chunk-XU5JBKO6.js.map +1 -0
  59. package/build/cloudflare-runtime/entry.js +299 -47
  60. package/build/cloudflare-runtime/getRegisteredExtensions.js +298 -46
  61. package/build/devtools-YPSDP32D.js +3702 -0
  62. package/build/{devtools-4JFNYU2B.js.map → devtools-YPSDP32D.js.map} +1 -1
  63. package/build/esm-YQVNLOAI.js +22083 -0
  64. package/build/{esm-HBMYQBEO.js.map → esm-YQVNLOAI.js.map} +1 -1
  65. package/build/index.js +3252 -21
  66. package/build/index.js.map +1 -1
  67. package/build/platform-sdk/chunk-TN6HYRXL.js +2 -0
  68. package/build/platform-sdk/chunk-TN6HYRXL.js.map +1 -0
  69. package/build/platform-sdk/dashboard.js +1 -1
  70. package/build/platform-sdk/dashboard.js.map +1 -1
  71. package/build/platform-sdk/editor.js +5 -5
  72. package/build/platform-sdk/editor.js.map +1 -1
  73. package/build/platform-sdk/site.js +1 -1
  74. package/build/platform-sdk/site.js.map +1 -1
  75. package/build/preview-HPJCC5SU.js +138 -0
  76. package/build/preview-HPJCC5SU.js.map +1 -0
  77. package/build/render-command-BJTVLIM5.js +117 -0
  78. package/build/render-command-BJTVLIM5.js.map +1 -0
  79. package/build/types.impl-CD4WWRUK.js +10 -0
  80. package/package.json +15 -9
  81. package/templates/custom-element/dependencies.json +1 -1
  82. package/templates/dashboard-modal/dependencies.json +1 -1
  83. package/templates/dashboard-plugin/files/plugin.tsx.ejs +8 -18
  84. package/templates/site-plugin/dependencies.json +1 -1
  85. package/build/CreateVersionCommand-2W37YQW4.js +0 -4
  86. package/build/DevCommand-JDHE7RQB.js +0 -4
  87. package/build/DevCommand-JDHE7RQB.js.map +0 -1
  88. package/build/GenerateCommand-3PPXF4B6.js +0 -128
  89. package/build/GenerateCommand-3PPXF4B6.js.map +0 -1
  90. package/build/LogsCommand-LQKTBY6D.js +0 -4
  91. package/build/LogsCommand-LQKTBY6D.js.map +0 -1
  92. package/build/PreviewCommand-H3HVD7DH.js +0 -4
  93. package/build/ServeCommand-RHONEHTF.js +0 -4
  94. package/build/ServeCommand-RHONEHTF.js.map +0 -1
  95. package/build/build-D3GVJS75.js +0 -5
  96. package/build/build-QN6TGE3Q.js +0 -4
  97. package/build/build-QN6TGE3Q.js.map +0 -1
  98. package/build/chunk-2W2YJZP5.js +0 -100
  99. package/build/chunk-2W2YJZP5.js.map +0 -1
  100. package/build/chunk-4CCKO52Z.js +0 -11
  101. package/build/chunk-4CCKO52Z.js.map +0 -1
  102. package/build/chunk-5OZZ7R6I.js +0 -11
  103. package/build/chunk-5OZZ7R6I.js.map +0 -1
  104. package/build/chunk-AXAJ7DJ4.js +0 -4
  105. package/build/chunk-B5P4JHUW.js +0 -278
  106. package/build/chunk-B5P4JHUW.js.map +0 -1
  107. package/build/chunk-C3O7WWDR.js +0 -4
  108. package/build/chunk-DLQYJEV6.js +0 -4
  109. package/build/chunk-F6MVNSX2.js +0 -4
  110. package/build/chunk-F6MVNSX2.js.map +0 -1
  111. package/build/chunk-FVG3T57Z.js +0 -4
  112. package/build/chunk-HILXNAWZ.js +0 -4
  113. package/build/chunk-HILXNAWZ.js.map +0 -1
  114. package/build/chunk-LDGXTJLC.js +0 -4
  115. package/build/chunk-LDGXTJLC.js.map +0 -1
  116. package/build/chunk-PCBMS46R.js +0 -4
  117. package/build/chunk-PCBMS46R.js.map +0 -1
  118. package/build/chunk-PSQ4AQFG.js +0 -4
  119. package/build/chunk-QXIKCJLU.js +0 -5
  120. package/build/chunk-SZ5JWJ4Q.js +0 -4
  121. package/build/chunk-TSAKYUDG.js +0 -4
  122. package/build/chunk-V4TR6DCM.js +0 -4
  123. package/build/chunk-WJTPY35F.js +0 -9
  124. package/build/chunk-WJTPY35F.js.map +0 -1
  125. package/build/chunk-WXOIL7LC.js +0 -4
  126. package/build/chunk-YIGHU6O6.js +0 -4
  127. package/build/chunk-YIGHU6O6.js.map +0 -1
  128. package/build/chunk-YMRYABCG.js +0 -115
  129. package/build/chunk-YMRYABCG.js.map +0 -1
  130. package/build/devtools-4JFNYU2B.js +0 -10
  131. package/build/esm-HBMYQBEO.js +0 -466
  132. package/build/platform-sdk/chunk-32RIHE6N.js +0 -2
  133. package/build/platform-sdk/chunk-32RIHE6N.js.map +0 -1
  134. package/build/preview-457BTAHF.js +0 -4
  135. package/build/preview-457BTAHF.js.map +0 -1
  136. package/build/render-command-W6CY3R4Q.js +0 -4
  137. package/build/render-command-W6CY3R4Q.js.map +0 -1
  138. package/build/types.impl-L2DPGJ77.js +0 -4
  139. /package/build/{PreviewCommand-H3HVD7DH.js.map → PreviewCommand-6EMIKGQN.js.map} +0 -0
  140. /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"]}