Socket
Socket
Sign inDemoInstall

md5-file

Package Overview
Dependencies
0
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.1.10 to 2.0.0

LICENSE.md

46

index.js

@@ -1,25 +0,27 @@

'use strict';
'use strict'
var crypto = require('crypto');
var fs = require('fs');
var crypto = require('crypto')
var fs = require('fs')
module.exports = function (filename) {
var sum = crypto.createHash('md5');
sum.update(fs.readFileSync(filename));
return sum.digest('hex');
};
// if `strict` then throw error otherwise pass error through
module.exports.async = function (filename, callback, strict) {
fs.readFile(filename, function (error, data) {
if (error) {
if (strict) {
throw new Error(error);
module.exports = function (filename, callback) {
var sum = crypto.createHash('md5')
if (callback && typeof callback === 'function') {
var fileStream = fs.createReadStream(filename)
fileStream.on('error', function (err) {
return callback(err, null)
})
fileStream.on('data', function (chunk) {
try {
sum.update(chunk)
} catch (ex) {
return callback(ex, null)
}
return callback(error);
}
var sum = crypto.createHash('md5');
sum.update(data);
return callback(sum.digest('hex'));
});
};
})
fileStream.on('end', function () {
return callback(null, sum.digest('hex'))
})
} else {
sum.update(fs.readFileSync(filename))
return sum.digest('hex')
}
}

@@ -8,3 +8,3 @@ {

],
"version": "1.1.10",
"version": "2.0.0",
"description": "return an md5sum of a given file",

@@ -32,4 +32,7 @@ "keywords": [

"scripts": {
"test": "node test"
"test": "standard && node test"
},
"devDependencies": {
"standard": "^3.8.0"
}
}

@@ -1,4 +0,4 @@

# md5-file [![Build Status](https://travis-ci.org/roryrjb/md5-file.svg?branch=master)](https://travis-ci.org/roryrjb/md5-file)
# md5-file [![Build Status](https://travis-ci.org/roryrjb/md5-file.svg?branch=master)](https://travis-ci.org/roryrjb/md5-file) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](https://github.com/feross/standard)
> Simply return an `md5` sum of a given file.
> Simply return an `md5` sum of a given file. If using async version (by including callback), it will stream; successfully tested on files 4 GB+.

@@ -19,38 +19,17 @@ ### Installation

_Sync:_
__md5File(path)__
```javascript
var md5File = require('md5-file');
var md5File = require('md5-file')
md5File('path/to/a_file'); // '18e904aae79b5642ed7975c0a0074936'
```
// sync (no callback)
_Async:_
md5File('./path/to/a_file') // '18e904aae79b5642ed7975c0a0074936'
__md5File(path, callback, [strict])__
// async/streamed (if using callback)
If _strict_ is `true` and there is an error it will `throw` it, otherwise it will pass an error string through the callback.
```javascript
md5File.async('./README.md', function (data) {
console.log(data);
});
md5File.async('./README.md', function (data) {
console.log(data);
}, true);
// errors
// non-strict: will pass through an error to `data`
md5File.async('./null', function (data) {
console.log(data);
});
// strict: will throw an error
md5File.async('./null', function (data) {
console.log(data);
}, true);
md5File('./path/to/a_file', function (error, sum) {
if (error) return console.log(error)
console.log(sum) // '18e904aae79b5642ed7975c0a0074936'
})
```

@@ -57,0 +36,0 @@

@@ -1,21 +0,19 @@

'use strict';
'use strict'
var md5 = require('./index');
var assert = require('assert');
var md5File = require('./index')
var assert = require('assert')
var filename = 'LICENSE.md'
var preCheckedSum = '79069e31e6722533f772a4ca5de984e4'
assert.equal(md5('./LICENSE.md'), '79069e31e6722533f772a4ca5de984e4');
md5File(filename, function (error, sum) {
console.log('sum = ' + sum)
assert(error === null)
assert(sum === preCheckedSum)
console.log('Pass 2/2')
})
md5.async('./LICENSE.md', function (data) {
assert.equal(data, '79069e31e6722533f772a4ca5de984e4');
});
var syncSum = md5File(filename)
md5.async('./LICENSE.md', function (data) {
assert.equal(data, '79069e31e6722533f772a4ca5de984e4');
}, true);
// errors
// non-strict: will pass through an error to `data`
md5.async('./null', function (data) {
assert.equal(data.code, 'ENOENT');
});
assert(syncSum === preCheckedSum)
console.log('sum = ' + syncSum)
console.log('Pass 1/2')
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc