mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
Use readFile for hashing instead of stream
This commit is contained in:
committed by
Sashko Stubailo
parent
e1bfc9e7f5
commit
f947457edf
@@ -10,6 +10,8 @@ var os = require('os');
|
||||
var util = require('util');
|
||||
var _ = require('underscore');
|
||||
var Fiber = require('fibers');
|
||||
var crypto = require('crypto');
|
||||
|
||||
var rimraf = require('./rimraf');
|
||||
var Future = require('fibers/future');
|
||||
var sourcemap = require('source-map');
|
||||
@@ -279,19 +281,14 @@ var makeTreeReadOnly = function (p) {
|
||||
}
|
||||
};
|
||||
|
||||
var stringHash = function (str) {
|
||||
return crypto.createHash('sha256').update(str, 'utf8').digest('base64');
|
||||
};
|
||||
|
||||
// Returns the base64 SHA256 of the given file.
|
||||
files.fileHash = function (filename) {
|
||||
var crypto = require('crypto');
|
||||
var hash = crypto.createHash('sha256');
|
||||
hash.setEncoding('base64');
|
||||
var rs = files.createReadStream(filename);
|
||||
var fut = new Future();
|
||||
rs.on('end', function () {
|
||||
rs.close();
|
||||
fut.return(hash.digest('base64'));
|
||||
});
|
||||
rs.pipe(hash, { end: false });
|
||||
return fut.wait();
|
||||
var contents = files.readFile(filename, "utf-8");
|
||||
return stringHash(contents);
|
||||
};
|
||||
|
||||
// This is the result of running fileHash on a blank file.
|
||||
|
||||
Reference in New Issue
Block a user