UNPKG

@wix/cli

Version:

CLI tool for building Wix sites and applications

87 lines (83 loc) 2.21 kB
import { createRequire as _createRequire } from 'node:module'; const require = _createRequire(import.meta.url); import { veloConfigSchema } from "./chunk-4BLGYECY.js"; import { require_react } from "./chunk-QNHANFRW.js"; import { WIX_CONFIG_FILENAME, getWixConfigFilePath } from "./chunk-4UTFAKA5.js"; import { readJson, writeJson } from "./chunk-TLLAD5LU.js"; import { CliError, CliErrorCode } from "./chunk-CO5A7CZG.js"; import { __toESM, init_esm_shims } from "./chunk-EXLZF52D.js"; // ../cli-site-old/src/model.tsx init_esm_shims(); var import_react = __toESM(require_react(), 1); // ../cli-site-old/src/files/velo.config.ts init_esm_shims(); async function saveVeloConfig(projectFolder, config) { await writeJson(getWixConfigFilePath(projectFolder), config, { spaces: 2 }); } async function loadVeloConfig(projectFolder) { const configFile = await readJson(getWixConfigFilePath(projectFolder)); try { return veloConfigSchema.parse(configFile); } catch (e) { throw new CliError({ code: CliErrorCode.InvalidVeloConfigJson({ configFilename: WIX_CONFIG_FILENAME }), cause: e }); } } // ../cli-site-old/src/model.tsx async function loadProjectModel(projectFolder) { const config = await loadVeloConfig(projectFolder); return { projectFolder, metaSiteId: config.siteId, revision: config.uiVersion }; } async function saveProjectModel(model) { const config = { siteId: model.metaSiteId, uiVersion: model.revision }; await saveVeloConfig(model.projectFolder, config); } var ProjectModelContext = (0, import_react.createContext)(null); var ProjectModelProvider = ({ value: model, children }) => { return /* @__PURE__ */ import_react.default.createElement(ProjectModelContext.Provider, { value: { model } }, children); }; function useProjectModel() { const context = (0, import_react.useContext)(ProjectModelContext); if (context == null) { throw new Error( "useProjectModel() cannot be used without an <ProjectModelProvider>" ); } return context; } export { loadProjectModel, saveProjectModel, ProjectModelProvider, useProjectModel }; //# sourceMappingURL=chunk-P7YKQHOD.js.map