diff --git a/scripts/clean.ts b/scripts/clean.ts index 3b59413..f32b5d7 100644 --- a/scripts/clean.ts +++ b/scripts/clean.ts @@ -9,4 +9,21 @@ import * as path from "path"; const ROOT_DIR = path.resolve(__dirname, ".."); const DIST_DIR = path.join(ROOT_DIR, "dist"); -fs.rmdirSync(DIST_DIR, { recursive: true }); +const rmdirRecursive = (dirPath: string): void => { + if (!fs.existsSync(dirPath)) { + return; + } + const entryNames = fs.readdirSync(dirPath); + for (const entryName of entryNames) { + const entryPath = path.join(dirPath, entryName); + const dirent = fs.lstatSync(entryPath); + if (dirent.isDirectory()) { + rmdirRecursive(entryPath); + } else { + fs.unlinkSync(entryPath); + } + } + fs.rmdirSync(dirPath); +}; + +rmdirRecursive(DIST_DIR);