|
@@ -11,7 +11,7 @@ var ProgressBar = require('progress');
|
|
|
|
|
|
|
|
|
program
|
|
|
-.option('-r, --removeOrigin', 'Auto remove origin image when jobs done')
|
|
|
+.option('-r, --removeOrigin', 'Auto remove origin file when jobs done')
|
|
|
.option('-s, --silence', 'Run in background')
|
|
|
.option('-q, --quality <quality>', 'Output image quality.Default is 85')
|
|
|
.option('-e, --ext <ext>', 'Output file extension.Support jpg,png,auto.Default is auto')
|
|
@@ -85,9 +85,9 @@ function analysisFolder(readPath){
|
|
|
let fileStat = fs.statSync(filePath);
|
|
|
if(fileStat.isFile()){
|
|
|
let ext = path.extname(fileName);
|
|
|
- if(ext.match(/jpg|jpeg|png|gif|bmp|raw/gi)){
|
|
|
- ImageList.push(filePath);
|
|
|
- }
|
|
|
+ // if(ext.match(/jpg|jpeg|png|gif|bmp|raw/gi)){
|
|
|
+ ImageList.push(filePath);
|
|
|
+ // }
|
|
|
}else{
|
|
|
if(exceptFolder[path.parse(filePath).name]) continue;
|
|
|
analysisFolder(filePath);
|
|
@@ -168,11 +168,11 @@ function minify(){
|
|
|
|
|
|
fs.mkdirpSync(outputDir);
|
|
|
|
|
|
- if(exceptExt[imgExt]){
|
|
|
- if(Config.removeOrigin){
|
|
|
- fs.moveSync(image,`${outputDir}/${fileName}.${imgExt}`);
|
|
|
+ if(exceptExt[imgExt] || !imgExt.match(/jpg|jpeg|png|gif|bmp|raw/gi)){
|
|
|
+ if(program.removeOrigin){
|
|
|
+ fs.moveSync(image,`${outputDir}/${fileName}.${imgExt}`,{overwrite:true});
|
|
|
}else{
|
|
|
- fs.copySync(image,`${outputDir}/${fileName}.${imgExt}`);
|
|
|
+ fs.copySync(image,`${outputDir}/${fileName}.${imgExt}`,{overwrite:true});
|
|
|
}
|
|
|
if(!program.silence) processBar.total--;
|
|
|
workerCount--;
|
|
@@ -185,7 +185,11 @@ function minify(){
|
|
|
// console.log(err,stdout,stderr)
|
|
|
failureList.push(image);
|
|
|
}else{
|
|
|
- if(program.removeOrigin) fs.removeSync(image);
|
|
|
+ if(program.removeOrigin){
|
|
|
+ try{
|
|
|
+ fs.removeSync(image);
|
|
|
+ }catch(e){}
|
|
|
+ }
|
|
|
}
|
|
|
if(!program.silence) processBar.tick(1,{'image':`${subDir}/${fileName}.${imgExt}`});
|
|
|
|