UNPKG

vite-plugin-clean-build

Version:

A vite plugin for remove/clean files after build.

42 lines (39 loc) 1.19 kB
import path from 'node:path'; import del from 'del'; const cleanBuildPlugin = (_opt = {}) => { const options = { outputDir: "dist", patterns: [], verbose: false, ..._opt }; return { name: "vite-plugin-clean-build", enforce: "post", apply: "build", closeBundle: async () => { try { const outputDir = path.resolve(options.outputDir); const deletedPaths = await del(options.patterns, { cwd: outputDir, dot: true, ignore: [], dryRun: false, force: false }); if (options.verbose) { if (deletedPaths.length === 0) { console.log("\u2713 Cleanup completed: No files were deleted"); } else { console.log(`\u2713 Cleanup completed: Successfully deleted ${deletedPaths.length} files:`); deletedPaths.forEach((filePath) => console.log(` - ${filePath}`)); } } } catch (error) { const errorMessage = error instanceof Error ? error.message : String(error); console.error(`\u274C Failed to delete files: ${errorMessage}`); } } }; }; export { cleanBuildPlugin as default };