UNPKG

@wix/cli

Version:

CLI tool for building Wix sites and applications

165 lines (159 loc) 5.42 kB
import { createRequire as _createRequire } from 'node:module'; const require = _createRequire(import.meta.url); import { PreviewCommand, assertBuildOutputExists } from "./chunk-RKQHSN3A.js"; import { useARMClient } from "./chunk-C4EZJBTU.js"; import { useDevCenterClient } from "./chunk-SBWS2IWP.js"; import "./chunk-K6SIDI2C.js"; import "./chunk-RWTQFIPN.js"; import "./chunk-W54PG6O5.js"; import "./chunk-FY52VUHM.js"; import "./chunk-J5YVHTPQ.js"; import "./chunk-NPIBHDAX.js"; import { useProjectModel } from "./chunk-BUXKC4SM.js"; import "./chunk-PIXNEJ52.js"; import "./chunk-HWVLWVTF.js"; import "./chunk-PLPLA7N3.js"; import { require_parse } from "./chunk-EH3J5VW4.js"; import "./chunk-CCOOZLEQ.js"; import "./chunk-75K4NCRA.js"; import "./chunk-KJ37XZQA.js"; import { Alert, Box_default, Spinner, Text, useAsync, useAsyncCallback } from "./chunk-OAVLQEAG.js"; import { require_react } from "./chunk-5A5B2WR4.js"; import "./chunk-SQ3KPTIH.js"; import "./chunk-Z4MHKCET.js"; import "./chunk-C4SUTB4O.js"; import "./chunk-TKDDSH55.js"; import "./chunk-62BYZXT7.js"; import "./chunk-WYHHEOWO.js"; import "./chunk-P4ZPHTFX.js"; import "./chunk-ZXYGJZOO.js"; import { CliError, CliErrorCode, require_lib } from "./chunk-D5VYILRO.js"; import { __toESM, init_esm_shims } from "./chunk-4EFJZ3GQ.js"; // ../cli-astro-commands/src/components/ReleaseCommand/index.ts init_esm_shims(); // ../cli-astro-commands/src/components/ReleaseCommand/ReleaseCommand.tsx init_esm_shims(); var import_react3 = __toESM(require_react(), 1); var import_variant2 = __toESM(require_lib(), 1); var import_parse = __toESM(require_parse(), 1); // ../cli-astro-commands/src/components/ReleaseCommand/Release.tsx init_esm_shims(); var import_react2 = __toESM(require_react(), 1); var import_variant = __toESM(require_lib(), 1); // ../cli-astro-commands/src/components/ReleaseCommand/Steps/CreatePreview.tsx init_esm_shims(); var import_react = __toESM(require_react(), 1); var CreatePreview = (props) => { const { baseUrl, label, onCreated } = props; return /* @__PURE__ */ import_react.default.createElement(Box_default, { flexDirection: "column", gap: 1 }, /* @__PURE__ */ import_react.default.createElement(Text, null, "Before creating a new version, let's create a preview of your app"), /* @__PURE__ */ import_react.default.createElement(Box_default, { flexDirection: "column" }, /* @__PURE__ */ import_react.default.createElement( PreviewCommand, { baseUrl, label, onPreviewCreated: onCreated, environment: "production" } ))); }; // ../cli-astro-commands/src/components/ReleaseCommand/Release.tsx var Release = ({ baseUrl, label }) => { const { model: { config: { appId } } } = useProjectModel(); const { release } = useARMClient(); const releaseAction = useAsyncCallback(async (_, tag) => { const baseUrl2 = await release(appId, tag); return { baseUrl: baseUrl2 }; }); function onPreviewCreated({ tag }) { return releaseAction.execute(tag); } return /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement( CreatePreview, { baseUrl, label, onCreated: ({ armTag }) => onPreviewCreated({ tag: armTag }) } ), (0, import_variant.match)(releaseAction.status, { NotRequested: () => null, Error: () => null, Loading: () => /* @__PURE__ */ import_react2.default.createElement(Spinner, { text: /* @__PURE__ */ import_react2.default.createElement(Text, null, "Releasing...") }), Success: ({ result: { baseUrl: baseUrl2 } }) => /* @__PURE__ */ import_react2.default.createElement(Box_default, { flexDirection: "column", gap: 1 }, /* @__PURE__ */ import_react2.default.createElement(Alert, { type: "success" }, /* @__PURE__ */ import_react2.default.createElement(Text, { bold: true }, "Site published on ", baseUrl2))) })); }; // ../cli-astro-commands/src/components/ReleaseCommand/ReleaseCommand.tsx var ReleaseCommand = (props) => { const { model: { projectFolder, config: { appId } } } = useProjectModel(); const { queryAppVersion } = useDevCenterClient(); const { status } = useAsync(async () => { await assertBuildOutputExists(projectFolder); const { isLocked, isPublished, latestVersion } = await queryAppVersion({ appId }); if (isLocked) { throw new CliError({ code: CliErrorCode.CannotReleaseLockedApplication(), cause: void 0 }); } const parsedLatestVersion = (0, import_parse.default)(latestVersion); if (!parsedLatestVersion) { throw new CliError({ code: CliErrorCode.FailedToParseLatestVersion({ version: latestVersion }), cause: void 0, info: { latestVersion } }); } return { isPublished, latestVersion: parsedLatestVersion }; }, []); return (0, import_variant2.match)(status, { Error: () => null, Loading: () => /* @__PURE__ */ import_react3.default.createElement(Spinner, { text: /* @__PURE__ */ import_react3.default.createElement(Text, null, "Loading application details...") }), Success: ({ result }) => /* @__PURE__ */ import_react3.default.createElement(Release, { ...props, ...result }) }); }; export { ReleaseCommand }; //# sourceMappingURL=ReleaseCommand-Y3QUKPDX.js.map