all files / src/helpers/ dir-analyzer.js

100% Statements 16/16
100% Branches 6/6
100% Functions 0/0
100% Lines 16/16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26   151× 150× 150× 150× 307× 137×   170×     150×            
import _ from 'lodash'
import fs from 'fs'
import path from 'path'
 
const walkDirSync = (dir, filelist, baseDir) => {
    const files = fs.readdirSync(dir)
    filelist = filelist || []
    baseDir = baseDir || dir
    files.forEach(file => {
        if (fs.statSync(dir + '/' + file).isDirectory()) {
            filelist = walkDirSync(dir + '/' + file, filelist, baseDir)
        } else {
            filelist.push(path.join(dir.replace(baseDir, ''), file))
        }
    })
    return filelist
}
 
const isDirFilesInDir = (aDir, bDir) => {
    const aFiles = walkDirSync(aDir)
    const bFiles = walkDirSync(bDir)
    return (_.intersection(aFiles, bFiles).length === aFiles.length)
}
 
export { walkDirSync, isDirFilesInDir }