@wix/cli
Version:
CLI tool for building Wix sites and applications
110 lines (107 loc) • 2.97 kB
JavaScript
import { createRequire as _createRequire } from 'node:module';
const require = _createRequire(import.meta.url);
import {
require_normalize_path
} from "./chunk-V23RKBE2.js";
import {
GridAppLayout
} from "./chunk-WYTLYOOV.js";
import {
extractHttpError
} from "./chunk-EH3J5VW4.js";
import {
WIX_LOCK_FILENAME,
getSourceFolder
} from "./chunk-TKDDSH55.js";
import {
pathExists
} from "./chunk-P4ZPHTFX.js";
import {
CliError,
CliErrorCode
} from "./chunk-D5VYILRO.js";
import {
__toESM,
init_esm_shims
} from "./chunk-4EFJZ3GQ.js";
// ../cli-site-old/src/utils.ts
init_esm_shims();
import { readdir, readFile, stat } from "node:fs/promises";
import { join } from "node:path";
async function readFiles(dir, subPath = "") {
return (await Promise.all(
(await readdir(join(dir, subPath))).map(async (file) => {
const path = join(subPath, file);
if ((await stat(join(dir, path))).isDirectory()) {
return readFiles(dir, path);
}
return {
path,
content: await readFile(join(dir, path), "utf-8")
};
})
)).flat();
}
function isSiteNotPublishedError(err) {
if (err instanceof Error) {
const httpError = extractHttpError(err);
const errorCode = httpError?.response?.data?.details?.applicationError?.code;
if (errorCode === "SITE_NOT_PUBLISHED") {
return true;
}
}
return false;
}
// ../cli-site-old/src/gridapp/loadProjectGridAppContent.ts
init_esm_shims();
import { join as join2 } from "node:path";
import { readFile as readFile2 } from "node:fs/promises";
var import_normalize_path = __toESM(require_normalize_path(), 1);
async function readFileOrThrow(path) {
try {
return await readFile2(path, "utf-8");
} catch (e) {
throw new CliError({
code: CliErrorCode.FailedToReadProjectFiles(),
cause: e
});
}
}
async function readFilesOrThrow(root) {
try {
return await readFiles(root);
} catch (e) {
throw new CliError({
code: CliErrorCode.FailedToReadProjectFiles(),
cause: e
});
}
}
async function loadProjectRootFiles(projectFolder) {
if (await pathExists(join2(projectFolder, WIX_LOCK_FILENAME))) {
return Promise.all(
["package.json", WIX_LOCK_FILENAME].map(async (path) => {
const content = await readFileOrThrow(join2(projectFolder, path));
return { path, content };
})
);
}
return [];
}
async function loadProjectGridAppContent(projectFolder) {
const sourceFiles = (await readFilesOrThrow(getSourceFolder(projectFolder))).map((file) => ({
content: file.content,
path: (0, import_normalize_path.default)(join2(getSourceFolder(""), file.path))
}));
const rootFiles = await loadProjectRootFiles(projectFolder);
return {
ignoreForbiddenPaths: true,
layout: GridAppLayout.GITHUB,
files: sourceFiles.concat(rootFiles)
};
}
export {
isSiteNotPublishedError,
loadProjectGridAppContent
};
//# sourceMappingURL=chunk-P2RXCVYQ.js.map