@wix/cli
Version:
CLI tool for building Wix sites and applications
187 lines (176 loc) • 5.55 kB
JavaScript
import { createRequire as _createRequire } from 'node:module';
const require = _createRequire(import.meta.url);
import {
syncLatestTypes
} from "./chunk-ZNLMJ43G.js";
import {
useProjectModel
} from "./chunk-KWMRMKAV.js";
import "./chunk-SR7TTQEG.js";
import {
useVeloClient
} from "./chunk-ZJ4HTMFG.js";
import "./chunk-DGC6KEUB.js";
import "./chunk-QRGKMYDD.js";
import "./chunk-CKNI3TGO.js";
import "./chunk-YLCFL3QA.js";
import "./chunk-MHV22UIU.js";
import "./chunk-FYLO6WOU.js";
import {
usePanoramaMethodLogger
} from "./chunk-3B6VL2WO.js";
import "./chunk-7QTVQZAE.js";
import {
pRetry,
useAuth
} from "./chunk-CCWE4DS6.js";
import "./chunk-U5H3SP3I.js";
import {
Trans,
useTranslation
} from "./chunk-TIVTYCB2.js";
import "./chunk-RPTAJN5Y.js";
import {
Spinner,
useAsync
} from "./chunk-UC5LTXTA.js";
import "./chunk-5VIJC5EU.js";
import "./chunk-MZDJNQLB.js";
import {
require_react
} from "./chunk-QNHANFRW.js";
import "./chunk-AFPDHQYI.js";
import "./chunk-HYKBBZLS.js";
import "./chunk-C5RTKQVL.js";
import "./chunk-4EJ5VQTT.js";
import "./chunk-4UTFAKA5.js";
import "./chunk-LU3R3EBR.js";
import {
getTestOverrides
} from "./chunk-XZUGLEBK.js";
import {
outputDir,
outputFile
} from "./chunk-TLLAD5LU.js";
import "./chunk-SDLCFZRL.js";
import {
CliError,
CliErrorCode,
require_lib
} from "./chunk-CO5A7CZG.js";
import {
__toESM,
init_esm_shims
} from "./chunk-EXLZF52D.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();
const client = (0, import_react.useMemo)(
() => new VeloTypesSyncClient(projectFolder, getAccessToken),
[projectFolder, getAccessToken]
);
return usePanoramaMethodLogger(client);
}
// ../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-HSKUL4OP.js.map