選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 
 

38 行
794 B

  1. /* eslint-disable no-console */
  2. const path = require("path");
  3. const fs = require("fs");
  4. const glob = require("fast-glob");
  5. module.exports = {
  6. name: 'build_cleanup',
  7. setup(build) {
  8. build.onEnd(result => {
  9. if (result.errors.length) return;
  10. clean_dist_files(Object.keys(result.metafile.outputs));
  11. });
  12. },
  13. };
  14. function clean_dist_files(new_files) {
  15. new_files.forEach(
  16. file => {
  17. if (file.endsWith(".map")) return;
  18. const pattern = file.split(".").slice(0, -2).join(".") + "*";
  19. glob.sync(pattern).forEach(
  20. file_to_delete => {
  21. if (file_to_delete.startsWith(file)) return;
  22. fs.unlink(path.resolve(file_to_delete), err => {
  23. if (!err) return;
  24. console.error(
  25. `Error deleting ${file.split(path.sep).pop()}`
  26. );
  27. });
  28. }
  29. );
  30. }
  31. );
  32. }