diff options
Diffstat (limited to 'hooks/size.js')
-rw-r--r-- | hooks/size.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/hooks/size.js b/hooks/size.js new file mode 100644 index 0000000..1068e11 --- /dev/null +++ b/hooks/size.js @@ -0,0 +1,31 @@ +const getAllFiles = function(dirPath, arrayOfFiles) { + files = fs.readdirSync(dirPath) + + arrayOfFiles = arrayOfFiles || [] + + files.forEach(function(file) { + if (file !== ".git") { + if (fs.statSync(dirPath + "/" + file).isDirectory()) { + arrayOfFiles = getAllFiles(dirPath + "/" + file, arrayOfFiles) + } else { + arrayOfFiles.push(dirPath + "/" + file) + } + } + }) + + return arrayOfFiles +} + +module.exports = (pkg) => { + asize = getAllFiles((home + "/packages/" + pkg).replaceAll("\\", "/")).map(i => i.replaceAll("\\", "/").replaceAll((home + "/packages/" + pkg).replaceAll("\\", "/") + "/", "")).map(i => fs.readFileSync(home + "/packages/" + pkg + "/" + i).length).reduce((a, b) => a + b); + + if (asize > 1024) { + if (asize > 1048576) { + return (asize / 1048576).toFixed(1) + "M"; + } else { + return (asize / 1024).toFixed(1) + "K"; + } + } else { + return asize + "B"; + } +}
\ No newline at end of file |