1 | [![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/)
|
2 | [![Build Status](https://travis-ci.org/sergeyt/parse-diff.svg?branch=master)](https://travis-ci.org/sergeyt/parse-diff)
|
3 | [![DevDeps Status](https://david-dm.org/sergeyt/parse-diff/dev-status.png)](https://david-dm.org/sergeyt/parse-diff#info=devDependencies)
|
4 | [![Total downloads](https://img.shields.io/npm/dt/parse-diff.svg)](https://www.npmjs.com/package/parse-diff)
|
5 |
|
6 | [![NPM](https://nodei.co/npm/parse-diff.png?downloads=true&stars=true)](https://nodei.co/npm/parse-diff/)
|
7 |
|
8 | # parse-diff
|
9 |
|
10 | Simple unified diff parser for nodejs
|
11 |
|
12 | ## JavaScript Usage Example
|
13 |
|
14 | ```javascript
|
15 | var parse = require('parse-diff');
|
16 | var diff = ''; // input diff string
|
17 | var files = parse(diff);
|
18 | console.log(files.length); // number of patched files
|
19 | files.forEach(function(file) {
|
20 | console.log(file.chunks.length); // number of hunks
|
21 | console.log(file.chunks[0].changes.length) // hunk added/deleted/context lines
|
22 | // each item in changes is a string
|
23 | console.log(file.deletions); // number of deletions in the patch
|
24 | console.log(file.additions); // number of additions in the patch
|
25 | });
|
26 | ```
|