summaryrefslogtreecommitdiff
path: root/config/helpers/vendor_dll_hash.js
blob: 2df97e7b95d609b6eee217ee36af537075c171e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const fs = require('fs');
const path = require('path');
const crypto = require('crypto');

const CACHE_PATHS = [
  './config/webpack.config.js',
  './config/webpack.vendor.config.js',
  './package.json',
  './yarn.lock',
];

const resolvePath = (file) => path.resolve(__dirname, '../..', file);
const readFile = (file) => fs.readFileSync(file);
const fileHash = (buffer) => crypto.createHash('md5').update(buffer).digest('hex');

module.exports = () => {
  const fileBuffers = CACHE_PATHS.map(resolvePath).map(readFile);
  return fileHash(Buffer.concat(fileBuffers)).substr(0, 12);
};