Skip to content

ElenaManukyan/Difference-Calculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” Difference Calculator (gendiff)

License: MIT Actions Status example workflow

A CLI tool for comparing files (JSON/YAML) and displaying differences in multiple formats.

🌟 Features

  • Supports JSON and YAML input formats
  • Three output formats:
    • Stylish (default) - colored tree-like output
    • Plain - clean textual description
    • JSON - machine-readable format

βš™οΈ Installation

# Clone repository
git clone https://github.com/ElenaManukyan/Difference-Calculator.git
cd Difference-Calculator

# Install dependencies
npm install

# Install globally (optional)
npm install -g .

πŸ›  Development and Testing

# Run linter
npx eslint .
make lint

# Run tests
npm test
make test

# Run formatter
npx prettier --write .

πŸš€ Usage

gendiff -h
Usage: gendiff [options] <filepath1> <filepath2>

Compares two configuration files and shows a difference.

Options:
  -V, --version          output the version number
  -f, --format <format>  output format (default: "stylish")
  -h, --help             display help for command

πŸ“‹ Examples

Compare flat files

# JSON files
gendiff file1.json file2.json

# YAML files
gendiff file1.yml file2.yml

Compare nested structures

# With plain format
gendiff --format plain nested1.json nested2.json

# Get JSON output
gendiff --format json nested1.yml nested2.yml

πŸŽ₯ Demo:

Creating difference between 2 flat .json files:

Creating difference between 2 flat .yml files:

Creating difference between 2 nested .json files:

Creating difference between 2 nested .yml files:

Creating difference between 2 nested .json files with '--format plain' parameter:

Creating difference between 2 nested .yml files with '--format plain' parameter:

Creating difference between 2 nested .json files with '--format json' parameter:

Creating difference between 2 nested .yml files with '--format json' parameter:

About

πŸ“¦ A console utility that can compare and calculate the differences between two JSON or YAML files.

Resources

License

Stars

Watchers

Forks

Packages

No packages published