UNPKG

unused-assets-webpack-plugin

Version:
2 lines (1 loc) 1.25 kB
var e=require("node:fs"),r=e.writeFile,i=e.readdirSync,t=e.existsSync,s=e.statSync,o=e.readFileSync,a=require("node:path"),n=a.resolve,c=a.join,p=a.extname,l=require("picocolors"),u=require("crypto").createHash,d={imagePath:"src",imageType:[".jpg",".jpeg",".png",".gif",".bmp",".svg",".webp"],isAbsolutePath:!1},g=function(e){var r,a,d=e.imagePath,g=e.imageType,f=e.isAbsolutePath,h=n(process.cwd()),y=n(process.cwd(),d),m=new Map,_=function(e){if(s(e).isDirectory())i(e).forEach((function(r){_(c(e,r))}));else if(g.includes(p(e).toLowerCase())){var r=o(e),t=u("md5").update(r).digest("hex"),a=e.replaceAll("\\","/");f||(a=e.replace(h,"").replaceAll("\\","/")),m.has(t)?m.set(t,__spreadArray(__spreadArray([],m.get(t),!0),[a],!1)):m.set(t,[a])}};return t(y)||(r="文件夹不存在:",a=y,console.log("".concat(l.bold(l.red(r))," ").concat(a)),process.exit(0)),i(y).forEach((function(e){var r=c(y,e);_(r)})),m},f=function(){function e(e){this.options=e}return e.prototype.apply=function(){var e,i=__assign(__assign({},d),this.options),t=g(i),s=[];t.forEach((function(e){e.length>1&&s.push({"相同图片":e})})),e=s,r("./image-duplicates.json",JSON.stringify(e),(function(e){e&&l.red("image-duplicates.json 文件写入失败")}))},e}();module.exports=f;