Nutritious Pumpkin Masses

    unfunk-diff

    0.0.2 • Public • Published

    unfunk-diff

    Build Status Dependency Status NPM version

    Object & String diff formatter for all displays

    What?

    The diff renderers on npm (either object diff or string diffs) are not usable on displays without colour support. Object diffs usually lack a string diff representation which makes it difficult to spot subtle changes in string values deep in the objects structure. Unfunk-diff aims to integrate both to allow debugging of object and string differences, optionally without colour support.

    • String-diff algorithm is jsDiff.
    • Object-diff algorithm is objectDiff with nested string-diff. May currently be even stricter then your assertions!
    • Style output abstracted by ministyle.

    Examples

    See the travis-ci build log for various examples (tests displayed with mocha-unfunk-reporter).

    Usage

    Install from npm:

    $ npm install unfunk-diff
    

    (it could work browser except I never got around to fix that)

    API

    Minimal:

    console.log(formatter.ansi(valueA, valueB));
    console.log(formatter.plain(valueA, valueB));

    Full version:

    // get the constructor
    var DiffFormatter = require('unfunk-diff').DiffFormatter;
     
    // get a ministyle
    var style = require('ministyle').css();
     
    // pass the ministyle and line wrapping width
    var formatter = new DiffFormatter(style, 80);
     
    // get the wrapped diff
    var str = formatter.getStyledDiff(valueA, valueB);
    console.log(str);

    Build

    Unfunk-diff is written in TypeScript and built with grunt using grunt-ts.

    Install development dependencies in your git checkout:

    $ npm install
    

    You need the global grunt command:

    $ npm install grunt-cli -g
    

    Build and run tests:

    $ grunt
    

    See the Gruntfile for additional commands, including many mocha runners.

    Versions

    Credit

    • String diff from jsDiff by Kevin Decker
    • Object diff from objectDiff by Nikita Vasilyev

    License

    Copyright (c) 2013 Bart van der Schoor

    Licensed under the MIT license.

    Keywords

    none

    Install

    npm i unfunk-diff

    DownloadsWeekly Downloads

    1,159

    Version

    0.0.2

    License

    none

    Last publish

    Collaborators

    • bartvds