44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
import { dir } from "dir";
|
|
import { initFrontEnd } from "./parts/init/frontend";
|
|
import { initServer } from "./parts/init/server";
|
|
import { codeInternal } from "./parts/internal";
|
|
import { ensureFiles } from "./utlis/ensure-files";
|
|
import { ensureLib } from "./utlis/ensure-lib";
|
|
import { initTypings } from "./parts/init/typings";
|
|
import { $ } from "bun";
|
|
import { exists } from "fs-jetpack";
|
|
|
|
export const code = {
|
|
internal: codeInternal,
|
|
async init(id_site: string, note: string) {
|
|
try {
|
|
const root = `/code/${id_site}/site/src`;
|
|
|
|
await ensureLib(root, id_site);
|
|
await ensureFiles(root, id_site);
|
|
|
|
await initFrontEnd(root, id_site);
|
|
await initServer(root, id_site);
|
|
await initTypings(root, id_site);
|
|
if (exists(dir.data(`${root}`))) {
|
|
await $`chmod -R 777 ${dir.data(`${root}`)}`.nothrow();
|
|
}
|
|
} catch (e) {
|
|
console.error(`Failed to init site: ${id_site}`);
|
|
}
|
|
},
|
|
path(
|
|
id_site: string,
|
|
mode: "site" | "server",
|
|
type: "src" | "build" | "build_old" | "build_cache",
|
|
path?: string
|
|
) {
|
|
let file_path = "";
|
|
if (path) {
|
|
file_path = path[0] === "/" ? path : `/${path}`;
|
|
}
|
|
|
|
return dir.data(`/code/${id_site}/${mode}/${type}${file_path}`);
|
|
},
|
|
};
|