@wix/cli
Version:
CLI tool for building Wix sites and applications
81 lines (75 loc) • 2.02 kB
JavaScript
import { createRequire as _createRequire } from 'node:module';
const require = _createRequire(import.meta.url);
import {
require_react
} from "./chunk-5A5B2WR4.js";
import {
WIX_CONFIG_FILENAME,
getWixConfigFilePath
} from "./chunk-TKDDSH55.js";
import {
readJson
} from "./chunk-P4ZPHTFX.js";
import {
z
} from "./chunk-ZXYGJZOO.js";
import {
CliError,
CliErrorCode
} from "./chunk-D5VYILRO.js";
import {
__toESM,
init_esm_shims
} from "./chunk-4EFJZ3GQ.js";
// ../cli-site/src/model.tsx
init_esm_shims();
var import_react = __toESM(require_react(), 1);
// ../cli-site/src/files/wix.config.ts
init_esm_shims();
// ../cli-site-definitions/src/index.ts
init_esm_shims();
var wixConfigSchema = z.object({
siteId: z.string().uuid()
});
// ../cli-site/src/files/wix.config.ts
async function readWixConfig(projectFolder) {
const configFile = await readJson(getWixConfigFilePath(projectFolder));
const config = wixConfigSchema.safeParse(configFile);
if (config.success) {
return config.data;
}
throw new CliError({
code: CliErrorCode.InvalidConfigSchemaError({
configPath: WIX_CONFIG_FILENAME,
zodError: config.error
}),
cause: config.error
});
}
// ../cli-site/src/model.tsx
async function loadProjectModel(projectFolder) {
const config = await readWixConfig(projectFolder);
return {
projectFolder,
metaSiteId: config.siteId
};
}
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,
ProjectModelProvider,
useProjectModel
};
//# sourceMappingURL=chunk-VE4BKNQG.js.map