@wix/cli
Version:
CLI tool for building Wix sites and applications
179 lines (168 loc) • 5.32 kB
JavaScript
import { createRequire as _createRequire } from 'node:module';
const require = _createRequire(import.meta.url);
import {
useProjectModel
} from "./chunk-V5SXQDM7.js";
import {
syncLatestTypes
} from "./chunk-GQE6PKJU.js";
import {
useVeloClient
} from "./chunk-N3R4KOEH.js";
import "./chunk-IZ7XSGRJ.js";
import "./chunk-WYTLYOOV.js";
import "./chunk-6RDHKDZ4.js";
import "./chunk-3TTSPNEN.js";
import "./chunk-W54PG6O5.js";
import "./chunk-NPIBHDAX.js";
import {
pRetry,
useAuth
} from "./chunk-PLPLA7N3.js";
import "./chunk-EH3J5VW4.js";
import "./chunk-CCOOZLEQ.js";
import {
Trans,
useTranslation
} from "./chunk-75K4NCRA.js";
import "./chunk-KJ37XZQA.js";
import {
Spinner,
useAsync
} 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 {
getTestOverrides
} from "./chunk-WYHHEOWO.js";
import {
outputDir,
outputFile
} from "./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-site-live/src/components/DevCommand/DevCommand.tsx
init_esm_shims();
var import_react5 = __toESM(require_react(), 1);
// ../cli-site-live/src/components/DevCommand/InitializingState.tsx
init_esm_shims();
var import_react3 = __toESM(require_react(), 1);
var import_variant = __toESM(require_lib(), 1);
// ../cli-site-live/src/velo-types-sync-client/useVeloTypesSyncClient.ts
init_esm_shims();
var import_react = __toESM(require_react(), 1);
// ../cli-site-live/src/velo-types-sync-client/velo-types-sync-client.ts
init_esm_shims();
var VeloTypesSyncClient = class {
constructor(projectFolder, getToken) {
this.projectFolder = projectFolder;
this.getToken = getToken;
const { minRetryTimeout } = getTestOverrides();
this.retryOptions = {
retries: 3,
minTimeout: minRetryTimeout,
maxTimeout: 3 * 1e3
};
}
retryOptions;
syncLatestTypes = async () => {
const token = await this.getToken();
try {
await pRetry(
() => syncLatestTypes(this.projectFolder, {
getAppToken: () => token
}),
this.retryOptions
);
} catch (e) {
throw new CliError({
code: CliErrorCode.FailedToSyncPagesTypes(),
cause: e
});
}
};
};
// ../cli-site-live/src/velo-types-sync-client/useVeloTypesSyncClient.ts
function useVeloTypesSyncClient(projectFolder) {
const { getAccessToken } = useAuth();
return (0, import_react.useMemo)(
() => new VeloTypesSyncClient(projectFolder, getAccessToken),
[projectFolder, getAccessToken]
);
}
// ../cli-site-live/src/project-files-service/useProjectFilesService.ts
init_esm_shims();
var import_react2 = __toESM(require_react(), 1);
// ../cli-site-live/src/project-files-service/project-files-service.ts
init_esm_shims();
import { join } from "node:path";
var ProjectFilesService = class {
constructor(projectFolder) {
this.projectFolder = projectFolder;
}
addDir = async (file) => {
const filePath = this.getFullPath(file);
await outputDir(filePath);
};
saveFile = async (file) => {
const filePath = this.getFullPath(file);
await outputFile(filePath, file.content);
};
getFullPath = (file) => join(this.projectFolder, file.path);
};
// ../cli-site-live/src/project-files-service/useProjectFilesService.ts
var useProjectFilesService = () => {
const { projectFolder } = useProjectModel();
return (0, import_react2.useMemo)(() => new ProjectFilesService(projectFolder), [projectFolder]);
};
// ../cli-site-live/src/components/DevCommand/InitializingState.tsx
var InitializingState = ({ children }) => {
const { t } = useTranslation();
const veloClient = useVeloClient();
const projectFilesService = useProjectFilesService();
const { veloAppId, projectFolder } = useProjectModel();
const veloTypeSyncer = useVeloTypesSyncClient(projectFolder);
const { status } = useAsync(async () => {
async function initProjectFiles() {
const { files, directories } = await veloClient.listAppFiles(veloAppId);
await Promise.all([
...directories.map(projectFilesService.addDir),
...files.map(projectFilesService.saveFile)
]);
}
await Promise.all([initProjectFiles(), veloTypeSyncer.syncLatestTypes()]);
}, []);
return (0, import_variant.match)(status, {
Success: () => children,
Error: () => null,
Loading: () => /* @__PURE__ */ import_react3.default.createElement(Spinner, { text: t("dev_command.init.fetching_files") })
});
};
// ../cli-site-live/src/components/DevCommand/ReadyState.tsx
init_esm_shims();
var import_react4 = __toESM(require_react(), 1);
var ReadyState = () => {
return /* @__PURE__ */ import_react4.default.createElement(Trans, { i18nKey: "dev_command.welcome" });
};
// ../cli-site-live/src/components/DevCommand/DevCommand.tsx
var DevCommand = () => {
return /* @__PURE__ */ import_react5.default.createElement(InitializingState, null, /* @__PURE__ */ import_react5.default.createElement(ReadyState, null));
};
export {
DevCommand
};
//# sourceMappingURL=DevCommand-QLBINRRO.js.map