You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CLI Utility that compares two configuration files (YAML / JSON) and shows a difference in comfortable formates. The main goal was to learn how to work with tree data structures and recursive algorithms.
Working with the file system with Node.js
Working with trees and tree recursion
Connection and working with third-party libraries: Commander, lodash
Automated testing (TDD): Jest
Working with command line parameters
Reading files, parsing incoming data
HELP
$ gendiff -h
Usage: gendiff [options] <filepath1> <filepath2>
Compares two configuration files and shows difference.
Options:
-V, --version output the version number
-f, --format [type] output format (default: "stylish")
-h, --help display help for command
$ gendiff --format plain filepath1.json filepath2.json
Property 'common.follow' was added with value: false
Property 'common.setting2' was removed
Property 'common.setting3' was updated. From true to null
Property 'common.setting4' was added with value: 'blah blah'
Property 'common.setting5' was added with value: [complex value]
Property 'common.setting6.doge.wow' was updated. From '' to 'so much'
Property 'common.setting6.ops' was added with value: 'vops'
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 value: [complex value]
Supported formats: JSON, YML
Formatters : stylish (default) , plain, json
EXAMPLES :
Simple .json file example
Simple .yaml file example
Nested .json and .yaml files example
Nested .json and .yaml files with plain format example
Nested .json and .yaml files with json format example