import { rm } from "node:fs/promises"; import { resolve } from "node:path"; const root = resolve(import.meta.dir, ".."); const dirs: Array<{ desc: string; path: string }> = [ { desc: "构建产物", path: "dist" }, { desc: "Bun 构建缓存", path: ".build" }, { desc: "Playwright 测试报告", path: "playwright-report" }, { desc: "测试结果", path: "test-results" }, ]; const filePatterns: Array<{ desc: string; glob: string }> = [{ desc: "Bun 构建临时文件", glob: ".*.bun-build" }]; for (const { desc, path } of dirs) { const full = resolve(root, path); await rm(full, { force: true, recursive: true }); console.log(`已清理 ${desc}: ${path}`); } for (const { desc, glob } of filePatterns) { const entries = await Array.fromAsync(new Bun.Glob(glob).scan({ cwd: root, dot: true })); if (entries.length === 0) continue; for (const entry of entries) { const full = resolve(root, entry); await rm(full, { force: true, recursive: true }); console.log(`已清理 ${desc}: ${entry}`); } }