An binary diff and patch library based on bsdiff algorithm for NodeJS (Windows, Mac, Linux).
npm install mt-bsdiff-nodejs!NpmLicense


If you find this package useful, please don't forget to star ⭐️ the repo, as this will help to promote the project.
Install as a dependency for your project (need python 2.x):
``bash`
npm install --save bsdiff-nodejs
`javascript
const bsdiff = require('bsdiff-nodejs');
bsdiff.diff(oldFile, newFile, patchFile, function(result, err) {}); // Async
bsdiff.patch(oldfile, newfile, patchfile, function(result, err) {}); // Async
bsdiff.diffSync(oldFile, newFile, patchFile); // Sync
bsdiff.patchSync(oldfile, newfile, patchfile); // Sync
`
For example:
`javascript
const fs = require('fs');
const path = require('path');
const oldFile = path.join(__dirname, 'resources/react-0.3-stable.zip');
const newFile = path.join(__dirname, 'resources/react-0.4-stable.zip');
const patchFile = path.join(__dirname, 'resources/react.patch');
const generatedFile = path.join(__dirname, 'resources/react-generated.zip');
async function asyncCall() {
await bsdiff.diff(oldFile, newFile, patchFile, function (result) {
console.log('diff:' + String(result).padStart(4) + '%');
});
await bsdiff.patch(oldFile, generatedFile, patchFile, function (result) {
console.log('patch:' + String(result).padStart(4) + '%');
});
}
asyncCall();
``
Copyright 2003-2005 Colin Percival
MIT © Exoway