UNPKG

@dailymotion/vast-client

Version:
33 lines (28 loc) 922 B
const fs = require('fs'); const newDistPath = './dist'; const oldDistPath = './dist_old'; const getFileSizes = (folderPath) => { return fs.readdirSync(folderPath).reduce((res, fileName) => { const stats = fs.statSync(`${folderPath}/${fileName}`); if (stats.isFile()) { res[fileName] = stats.size; } return res; }, {}); }; const oldValues = getFileSizes(oldDistPath); const newValues = getFileSizes(newDistPath); Object.entries(oldValues).forEach(([name, size]) => { const newSize = newValues[name]; const delta = newSize - size; const sizeColorFg = delta <= 0 ? '\x1b[32m' : '\x1b[31m'; const resetColorFg = '\x1b[0m'; const nameColorFg = '\x1b[36m'; // eslint-disable-next-line no-console console.log( `${nameColorFg}%s${resetColorFg}%s${sizeColorFg}%s${resetColorFg}`, `${name}:`, ` ${size} B -> ${newSize} B `, `(${delta >= 0 ? '+' : ''}${delta} B)` ); });