UNPKG

vite-plugin-clean-build

Version:

A vite plugin for remove/clean files after build.

49 lines (43 loc) 1.47 kB
'use strict'; const path = require('node:path'); const del = require('del'); function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; } const path__default = /*#__PURE__*/_interopDefaultCompat(path); const del__default = /*#__PURE__*/_interopDefaultCompat(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__default.resolve(options.outputDir); const deletedPaths = await del__default(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}`); } } }; }; module.exports = cleanBuildPlugin;