@wix/cli
Version:
CLI tool for building Wix sites and applications
165 lines (159 loc) • 5.42 kB
JavaScript
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