Socket
Socket
Sign inDemoInstall

md5-file

Package Overview
Dependencies
0
Maintainers
2
Versions
29
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.0.4 to 2.0.5

41

index.js

@@ -6,23 +6,26 @@ 'use strict'

module.exports = function (filename, callback) {
function md5FileSync (filename) {
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)
}
})
fileStream.on('end', function () {
return callback(null, sum.digest('hex'))
})
} else {
sum.update(fs.readFileSync(filename))
return sum.digest('hex')
var data = fs.readFileSync(filename)
return sum.update(data).digest('hex')
}
module.exports = function (filename, cb) {
if (typeof cb !== 'function') {
return md5FileSync(filename)
}
var output = crypto.createHash('md5')
var input = fs.createReadStream(filename)
input.on('error', function (err) {
cb(err)
})
output.on('readable', function () {
cb(null, output.read().toString('hex'))
})
input.pipe(output)
}
{
"name": "md5-file",
"main": "index.js",
"repository": "roryrjb/md5-file",
"files": [

@@ -10,3 +11,3 @@ "index.js",

],
"version": "2.0.4",
"version": "2.0.5",
"description": "return an md5sum of a given file",

@@ -18,3 +19,2 @@ "keywords": [

],
"homepage": "https://github.com/roryrjb/md5-file",
"author": {

@@ -25,17 +25,10 @@ "name": "Rory Bradford",

},
"repository": {
"type": "git",
"url": "https://github.com/roryrjb/md5-file.git"
},
"license": "MIT",
"bugs": {
"url": "http://github.com/roryrjb/md5-file/issues",
"email": "roryrjb@gmail.com"
},
"scripts": {
"test": "standard && node test"
"test": "standard && mocha"
},
"devDependencies": {
"standard": "^3.8.0"
"mocha": "^2.4.5",
"standard": "^7.1.0"
}
}

@@ -0,26 +1,35 @@

/* eslint-env mocha */
'use strict'
var md5File = require('./index')
var md5File = require('./')
var assert = require('assert')
var filename = 'LICENSE.md'
var preCheckedSum = '687d0001c49a6315989af72c0325dff3'
md5File(filename, function (error, sum) {
console.log('sum = ' + sum)
assert(error === null)
assert(sum === preCheckedSum)
console.log('Pass 2/2')
})
describe('md5File', function () {
it('works asynchronously', function (done) {
md5File(filename, function (err, hash) {
assert.ifError(err)
assert.equal(hash, preCheckedSum)
var syncSum = md5File(filename)
done()
})
})
assert(syncSum === preCheckedSum)
console.log('sum = ' + syncSum)
console.log('Pass 1/2')
it('works synchronously', function () {
var actual = md5File(filename)
// errors
assert.equal(actual, preCheckedSum)
})
md5File('does not exist', function (error, sum) {
assert(error)
assert(!sum)
it('has proper error handling', function (done) {
md5File('does not exist', function (err) {
assert.ok(err)
assert.equal(err.code, 'ENOENT')
done()
})
})
})
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