@wix/cli
Version:
CLI tool for building Wix sites and applications
71 lines (67 loc) • 1.99 kB
JavaScript
import { createRequire as _createRequire } from 'node:module';
const require = _createRequire(import.meta.url);
import {
envSchema,
getEnvFilePath
} from "./chunk-KCDAY54L.js";
import {
require_react
} from "./chunk-QNHANFRW.js";
import {
readEnvFile
} from "./chunk-TLLAD5LU.js";
import {
__toESM,
init_esm_shims
} from "./chunk-EXLZF52D.js";
// ../cli-astro-commands/src/model.tsx
init_esm_shims();
var import_react = __toESM(require_react(), 1);
import { ok } from "node:assert/strict";
// ../cli-astro-commands/src/files/env.ts
init_esm_shims();
async function readEnv(projectFolder) {
const raw = await readEnvFile(getEnvFilePath(projectFolder));
const result = envSchema.safeParse(raw);
return result.success ? result.data : {};
}
// ../cli-astro-commands/src/model.tsx
async function loadProjectModel(projectFolder, definedWixConfig) {
const env = await readEnv(projectFolder);
const { config, pluginsInterface } = definedWixConfig;
return {
projectFolder,
config,
env,
releaseAppId: config.projectType === "App" && config.projectId ? config.projectId : config.appId,
pluginsInterface
};
}
var ProjectModelContext = (0, import_react.createContext)(null);
var ProjectModelProvider = (props) => {
const [model] = (0, import_react.useState)(props.value);
return /* @__PURE__ */ import_react.default.createElement(ProjectModelContext.Provider, { value: { model } }, props.children);
};
function useProjectModel() {
const context = (0, import_react.useContext)(ProjectModelContext);
if (context == null) {
throw new Error(
"useProjectModel() cannot be used without a <ProjectModelProvider>"
);
}
return context;
}
function useSiteConfig() {
const {
model: { config }
} = useProjectModel();
ok(config.projectType === "Site", "Project is not a Site");
return config;
}
export {
loadProjectModel,
ProjectModelProvider,
useProjectModel,
useSiteConfig
};
//# sourceMappingURL=chunk-OQJA5FSX.js.map