49 lines
1.9 KiB
JavaScript
49 lines
1.9 KiB
JavaScript
import path from "path";
|
|
import { mkdirSync, readdirSync, rmSync, statSync, writeFileSync } from "fs";
|
|
import grabDirNames from "../utils/grab-dir-names";
|
|
import grabConstants from "../utils/grab-constants";
|
|
import { AppData } from "../data/app-data";
|
|
const { BUNX_LOGS_DIR } = grabDirNames();
|
|
export default function cleanupLogsDirs() {
|
|
const logs_dirs = readdirSync(BUNX_LOGS_DIR);
|
|
const { config } = grabConstants();
|
|
const MAX_LOGS = config.max_logs || AppData["DefaultMaxLogs"];
|
|
for (let i = 0; i < logs_dirs.length; i++) {
|
|
const dir = logs_dirs[i];
|
|
const full_path = path.join(BUNX_LOGS_DIR, dir);
|
|
const path_stats = statSync(full_path);
|
|
if (!path_stats.isDirectory()) {
|
|
continue;
|
|
}
|
|
const sub_dir_files = readdirSync(full_path).sort((a, b) => {
|
|
const timestamp_a = Number(a.split(".")[0]);
|
|
const timestamp_b = Number(b.split(".")[0]);
|
|
if (timestamp_a > timestamp_b)
|
|
return 1;
|
|
return -1;
|
|
});
|
|
for (let j = 0; j < sub_dir_files.length; j++) {
|
|
const sub_dir_file = sub_dir_files[j];
|
|
const sub_dir_file_full_path = path.join(full_path, sub_dir_file);
|
|
const sub_dir_file_Stats = statSync(sub_dir_file_full_path);
|
|
if (!sub_dir_file_Stats.isFile()) {
|
|
rmSync(sub_dir_file_full_path, {
|
|
force: true,
|
|
recursive: true,
|
|
});
|
|
continue;
|
|
}
|
|
if (j > MAX_LOGS - 1) {
|
|
rmSync(sub_dir_file_full_path, { force: true });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// log.info("Running development server ...");
|
|
// try {
|
|
// rmSync(HYDRATION_DST_DIR, { recursive: true });
|
|
// rmSync(BUNX_CWD_PAGES_REWRITE_DIR, { recursive: true });
|
|
// } catch (error) {}
|
|
// await bunextInit();
|
|
// await startServer();
|