s4s-packager / src /build /generate-scaffolding-build-id.js
soiz1's picture
Upload 225 files
7aec436 verified
const fs = require('fs');
const crypto = require('crypto');
const glob = require('glob');
const path = require('path');
const hash = crypto.createHash('sha256');
const getAllFiles = (g) => glob.sync(g, {
cwd: root
});
const root = path.join(__dirname, '..', '..');
const files = [
__filename,
...getAllFiles('./src/scaffolding/**/*'),
...getAllFiles('./src/addons/**/*'),
...getAllFiles('./src/common/**/*'),
path.join(root, 'webpack.config.js'),
path.join(root, 'package.json'),
path.join(root, 'package-lock.json')
];
for (const file of files) {
const stat = fs.statSync(file);
if (!stat.isDirectory()) {
hash.update(fs.readFileSync(file, 'utf-8'));
}
}
const hex = hash.digest('hex');
console.log('Scaffolding build ID: ' + hex);
module.exports = hex;