Skip to content

57Viktor57/hexlet-gendiff

Repository files navigation

gendiff

Build Status Maintainability Test Coverage NPM Version

Setup

clone git and make installation

$ make install

or install binaries from npm

$ npm install -g second_v_k_project

Usage

  • program supports four input file types: .yml .yaml .ini .json
  • $ gendiff before.json after.json get diff with default output
  • $ gendiff before.yml after.yml --format json get full diff tree with JSON output
  • -f | --format [type] formating output to tree, json or plain, default is tree
  • -h | --help help page
  • -V | --version program version

Tree output

$ gendiff before.json after.json

{
    group1: {
      - baz: bas
      + baz: bars
        foo: bar
      - nest: {
            key: value
        }
      + nest: str
    }
  - group2: {
        abc: 12345
    }
  + group3: {
        fee: 100500
    }
}

Plain output

$ gendiff before.json after.json -f plain

Property 'group1.baz' was updated. From 'bas' to 'bars'
Property 'group1.nest' was updated. From complex value to 'str'
Property 'group2' was removed
Property 'group3' was added with complex value

JSON output

$ gendiff before.json after.json -f json

[
  {
    "key": "group1",
    "type": "nest",
    "children": [
      {
        "key": "baz",
        "type": "changed",
        "oldValue": "bas",
        "newValue": "bars"
      },
      {
        "key": "foo",
        "type": "unchanged",
        "value": "bar"
      },
      {
        "key": "nest",
        "type": "changed",
        "oldValue": {
          "key": "value"
        },
        "newValue": "str"
      }
    ]
  },
  {
    "key": "group2",
    "type": "deleted",
    "value": {
      "abc": "12345"
    }
  },
  {
    "key": "group3",
    "type": "added",
    "value": {
      "fee": "100500"
    }
  }
]

asciicast

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages