scanclient/br.js

26 lines
673 B
JavaScript

const glob = require('glob');
const fs = require('fs');
const compress = require('brotli/compress');
const skipSizeUnderBytes = 10000;
const dir = './dist/**';
const brotliSettings = {
extension: 'br',
skipLarger: true,
mode: 1, // 0 = generic, 1 = text, 2 = font (WOFF2)
quality: 10, // 0 - 11,
lgwin: 12 // default
};
glob(dir, function(er, files) {
files.forEach((file) => {
if (file.endsWith('.js') || file.endsWith('.css') || file.endsWith('.html')) {
const stat = fs.statSync(file).size;
if (stat > skipSizeUnderBytes) {
const result = compress(fs.readFileSync(file), brotliSettings);
fs.writeFileSync(file + '.br', result);
}
}
});
});