An open API service indexing awesome lists of open source software.

https://github.com/ilyamur/difference_analyzer

The CLI utility that finds and prints the difference between two configuration files
https://github.com/ilyamur/difference_analyzer

cli-application configuration-files json yaml

Last synced: 9 months ago
JSON representation

The CLI utility that finds and prints the difference between two configuration files

Awesome Lists containing this project

README

          

# Difference Analyzer

![CodeSniffer PSR-12](https://github.com/IlyaMur/php-project-lvl2/workflows/CodeSniffer-PSR-12/badge.svg)
![PHPUnit-Tests](https://github.com/IlyaMur/php-project-lvl2/workflows/PHPUnit-Tests/badge.svg)
[![Maintainability](https://api.codeclimate.com/v1/badges/6edf6b009909fff44632/maintainability)](https://codeclimate.com/github/IlyaMur/php-project-lvl2/maintainability)
[![Test Coverage](https://api.codeclimate.com/v1/badges/6edf6b009909fff44632/test_coverage)](https://codeclimate.com/github/IlyaMur/php-project-lvl2/test_coverage)

**[πŸ‡¬πŸ‡§ English readme](https://github.com/IlyaMur/difference_analyzer/blob/master/README_en.md)**

**Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅**
- [О ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ](#ΠΎ-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ)
- [ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ](#особСнности)
- [Установка](#установка)
- [Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ](#ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ)
- [Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ](#ΠΊΠ°ΠΊ-ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ)
- [ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹](#ΠΏΡ€ΠΈΠΌΠ΅Ρ€-Ρ€Π°Π±ΠΎΡ‚Ρ‹)

### О ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
CLI-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° (stylish, json, plain text).
ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ написано Π½Π° PHP.

#### ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ

```
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹: json, yaml
Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ²: json, plain, stylish
```
### Установка

- PHP >= 8.0
- Composer

Для установки зависимостСй:

$ make install

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π»ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠΌ:

$ make lint

Π’Ρ‹Π²ΠΎΠ΄ тСстов с ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ:

$ make test-coverage

#### Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

- docopt/docopt
- symfony/yaml
- funct/funct

### Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎ различиям:

$ ./gendiff [--format ]

Π’Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠΌΠΎΡ‰ΠΈ:

$ gendiff -h
$ gendiff --help

### ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… json-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…: stylish, plain ΠΈ json.

[![asciicast](https://asciinema.org/a/Ca2ALuRhfVDVPO2AklPH3Wuwd.svg)](https://asciinema.org/a/Ca2ALuRhfVDVPO2AklPH3Wuwd)

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… yaml/yml-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…: stylish, plain ΠΈ json.

[![asciicast](https://asciinema.org/a/3hcI9bVJgJEubTg36md5AsEnE.svg)](https://asciinema.org/a/3hcI9bVJgJEubTg36md5AsEnE)