This is utility that determines the difference between two data structures. A similiar mechanism is used when outputting tests or when automatically tracking changes in configuration files.
Utility features:
- Support for different input formats:
yaml
,json
,ini
- Generation a report in the form of
plain text
,stylish
,json
# plain format
gendiff --format plain path/to/file.yml another/path/file.json
Property 'common.follow' was added with value: false
Property 'group1.baz' was updated. From 'bas' to 'bars'
Property 'group2' was removed
# stylish format
gendiff filepath1.json filepath2.json
{
+ follow: false
setting1: Value 1
- setting2: 200
- setting3: true
+ setting3: {
key: value
}
+ setting4: blah blah
+ setting5: {
key5: value5
}
}
Node 14.x version at least
#clone this repository on your machine
$git clone git@github.com:Rema04Dev/cli-gendiff.git
#go to directory where you downloaded it
$cd cli-gendiff
# run the one of these command to install all necessary dependencies
$make install
or
$npm ci
# this command is responsible for linking commands from package.json to "./bin" directory
$npm link
#run utility
$ gendiff <filepath1> <filepath2>