@mischback/buster
Version:
buster is a tool to support cache busting for static assets of a website.
29 lines • 982 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.hashFileContent = exports.BusterHashError = void 0;
const crypto_1 = require("crypto");
const fs_1 = require("fs");
const errors_1 = require("../errors");
class BusterHashError extends errors_1.BusterError {
constructor(message) {
super(message);
}
}
exports.BusterHashError = BusterHashError;
function hashFileContent(filename) {
return new Promise((resolve, reject) => {
const hash = (0, crypto_1.createHash)("md5");
const stream = (0, fs_1.createReadStream)(filename);
stream.on("error", () => {
return reject(new BusterHashError("Error during hash calculation"));
});
stream.on("end", () => {
return resolve(hash.digest("hex"));
});
stream.on("data", (chunk) => {
hash.update(chunk);
});
});
}
exports.hashFileContent = hashFileContent;
//# sourceMappingURL=hash.js.map