vite-plugin-clean-build
Version:
A vite plugin for remove/clean files after build.
49 lines (43 loc) • 1.47 kB
JavaScript
;
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;