mirror of https://github.com/thumbsup/thumbsup
Fix #33: new --cleanup option to remove unused generated thumbnails/media
parent
9dcebe6280
commit
fb77791c80
@ -0,0 +1,24 @@
|
||||
const _ = require('lodash')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const readdir = require('fs-readdir-recursive')
|
||||
const progress = require('../utils/progress')
|
||||
|
||||
exports.run = function (fileCollection, outputRoot, callback) {
|
||||
const mediaRoot = path.join(outputRoot, 'media')
|
||||
const diskFiles = readdir(mediaRoot).map(f => path.join(mediaRoot, f))
|
||||
const requiredFiles = []
|
||||
fileCollection.forEach(f => {
|
||||
Object.keys(f.output).forEach(out => {
|
||||
var dest = path.join(outputRoot, f.output[out].path)
|
||||
requiredFiles.push(dest)
|
||||
})
|
||||
})
|
||||
const useless = _.difference(diskFiles, requiredFiles)
|
||||
if (useless.length) {
|
||||
const bar = progress.create('Cleaning up', useless.length)
|
||||
useless.forEach(f => fs.unlinkSync(f))
|
||||
bar.tick(useless.length)
|
||||
}
|
||||
callback()
|
||||
}
|
Loading…
Reference in New Issue