From e75a5e0482cada6f3bff2bbbdb2911fb66a656b9 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Sat, 22 May 2021 03:15:00 +0300 Subject: [PATCH] add delete-bin-obj.folders script --- delete-bin-obj-folders.js | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 delete-bin-obj-folders.js diff --git a/delete-bin-obj-folders.js b/delete-bin-obj-folders.js new file mode 100644 index 0000000000..040ffecb5e --- /dev/null +++ b/delete-bin-obj-folders.js @@ -0,0 +1,37 @@ +const { resolve } = require("path"); +const { readdir, rmdir } = require("fs").promises; + +async function* removeFolder(dir) { + await rmdir(dir, { recursive: true }); + yield dir; +} + +async function* getBinObj(dir) { + const dirents = await readdir(dir, { withFileTypes: true }); + + for (const dirent of dirents) { + if (!dirent.isDirectory()) continue; + const name = dirent.name; + + if (name === "node_modules") continue; + + const res = resolve(dir, dirent.name); + + if (name === "bin" || name === "obj") { + yield* removeFolder(res); + continue; + } + + yield* getBinObj(res); + } +} + +(async () => { + console.log("\x1b[36m%s\x1b[0m", "Deleting all BIN and OBJ folders..."); + + for await (const dir of getBinObj(".")) { + console.log("\x1b[33m%s\x1b[0m", `Removed: ${dir}`); + } + + console.log("\x1b[36m%s\x1b[0m", "All BIN and OBJ folders are deleted."); +})();