bunext/dist/functions/init.js

36 lines
1.2 KiB
JavaScript

import { existsSync, mkdirSync, writeFileSync } from "fs";
import grabDirNames from "../utils/grab-dir-names";
import { execSync } from "child_process";
import path from "path";
import grabConfig from "./grab-config";
export default async function () {
const dirNames = grabDirNames();
execSync(`rm -rf ${dirNames.BUNEXT_CACHE_DIR}`);
execSync(`rm -rf ${dirNames.BUNX_CWD_MODULE_CACHE_DIR}`);
try {
const current_version = (await Bun.file(path.resolve(__dirname, "../../package.json")).json()).version;
global.CURRENT_VERSION = current_version;
}
catch (error) { }
const keys = Object.keys(dirNames);
for (let i = 0; i < keys.length; i++) {
const key = keys[i];
const dir = dirNames[key];
if (!existsSync(dir) && !dir.match(/\.\w+$/)) {
mkdirSync(dir, { recursive: true });
continue;
}
if (key == "CONFIG_FILE" && !existsSync(dir)) {
let basicConfig = ``;
basicConfig += `const config = {};\n`;
basicConfig += `export default config;\n`;
writeFileSync(dir, basicConfig);
}
}
const config = (await grabConfig()) || {};
global.CONFIG = {
...config,
development: true,
};
}