PHPackages                             sabirivan/gendiff - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. sabirivan/gendiff

ActiveProject[Testing &amp; Quality](/categories/testing)

sabirivan/gendiff
=================

Generator of differences in config files

v1.6(6y ago)019MITPHPCI failing

Since Sep 26Pushed 3y ago1 watchersCompare

[ Source](https://github.com/SabirIvaN/php-project-lvl2)[ Packagist](https://packagist.org/packages/sabirivan/gendiff)[ RSS](/packages/sabirivan-gendiff/feed)WikiDiscussions master Synced yesterday

READMEChangelog (9)Dependencies (5)Versions (18)Used By (0)

Generator Differences
=====================

[](#generator-differences)

[![Maintainability](https://camo.githubusercontent.com/3d40ddf0a574a19d3cad760a2abc15bf32480a1b85fcbd3885bdde9ec9b1b94c/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f66613437313065653737313534303136663437322f6d61696e7461696e6162696c697479)](https://codeclimate.com/github/SabirIvaN/php-project-lvl2/maintainability)

PHP-package to find difference between two files.

Installation
------------

[](#installation)

With Composer: `composer global require sabirivan/gendiff:^1.6`

Input and output data
---------------------

[](#input-and-output-data)

Available data types:

- json
- yaml/yml

Render formats:

- pretty

Example of usage
----------------

[](#example-of-usage)

- Pretty format:

    - for *json* flat:

        [![asciicast](https://camo.githubusercontent.com/ddd89eea77d75d674736a7685b1f9138d69115d8ebcc86e3987248e3f04a07ba/68747470733a2f2f61736369696e656d612e6f72672f612f677267664854586838494c6b786b544e63476a327a6e5078532e737667)](https://asciinema.org/a/grgfHTXh8ILkxkTNcGj2znPxS)
    - for *yaml/yml* flat:

        [![asciicast](https://camo.githubusercontent.com/9221d3d81f7c8327d8e5eb968cfcbc8a650b65e1eeac1ecc89a9e4a441a1235e/68747470733a2f2f61736369696e656d612e6f72672f612f754b6d6c4d764f426c465372586138766a5342654d4c3673492e737667)](https://asciinema.org/a/uKmlMvOBlFSrXa8vjSBeML6sI)
    - for *json* nested:

        [![asciicast](https://camo.githubusercontent.com/d943f2e0f87b0305b1b073cd89381580430d2b4382b9fe72fb45a4d8e7c9a77e/68747470733a2f2f61736369696e656d612e6f72672f612f756d4b57585146635972487063576b3747666a4f6b727578732e737667)](https://asciinema.org/a/umKWXQFcYrHpcWk7GfjOkruxs)
    - for *yaml/yml* nested:

        [![asciicast](https://camo.githubusercontent.com/e9bb22dae3ab5c04f929a31e8a42ca71c6020506c9123c32f888d4805c9723af/68747470733a2f2f61736369696e656d612e6f72672f612f56314b4e3863716b73483336793343766b357a3141654c63732e737667)](https://asciinema.org/a/V1KN8cqksH36y3Cvk5z1AeLcs)
- Plain format:

    - for *json* flat:

        [![asciicast](https://camo.githubusercontent.com/b469af9744e4b2a481506b3b13f3193eb633226752bb971d0df21067b5042156/68747470733a2f2f61736369696e656d612e6f72672f612f73584f7346464851457968683967586f617a59377a754248542e737667)](https://asciinema.org/a/sXOsFFHQEyhh9gXoazY7zuBHT)
    - for *yaml/yml* flat:

        [![asciicast](https://camo.githubusercontent.com/dd41c91dbd1aa7bf1c79acb821fafc6c6529973dbbfe1efc2ea7c3b2c3ca5e7b/68747470733a2f2f61736369696e656d612e6f72672f612f64414630514d5871574a4f795277304b4c63587042647975612e737667)](https://asciinema.org/a/dAF0QMXqWJOyRw0KLcXpBdyua)
    - for *json* nested:

        [![asciicast](https://camo.githubusercontent.com/6d1dd9e7b91dd863f1943f9312614ae888a5885b76bc81b2aa2d31fc851bbf9e/68747470733a2f2f61736369696e656d612e6f72672f612f79615a614378455859626277597a5435346e6665666c7562362e737667)](https://asciinema.org/a/yaZaCxEXYbbwYzT54nfeflub6)
    - for *yaml/yml* nested:

        [![asciicast](https://camo.githubusercontent.com/580fa6317e65e9a40cf5fb683f8bb892a1c407f9c955f7d91ffe250f7ef80a77/68747470733a2f2f61736369696e656d612e6f72672f612f4b4f48514739464850316d5a4e4f43395035357538545835642e737667)](https://asciinema.org/a/KOHQG9FHP1mZNOC9P55u8TX5d)
- Json format:

    - for *json* flat:

        [![asciicast](https://camo.githubusercontent.com/ddc7b85e842b7e7221a35908a2cf90e05576097b70cff41617b940f5f91be3df/68747470733a2f2f61736369696e656d612e6f72672f612f483339776d4e575635724b7a756139304130627369685155372e737667)](https://asciinema.org/a/H39wmNWV5rKzua90A0bsihQU7)
    - for *yaml/yml* flat:

        [![asciicast](https://camo.githubusercontent.com/57c4585eb89f0b9d063d3475264febaf2228b64d360678907db6204cd11a32bb/68747470733a2f2f61736369696e656d612e6f72672f612f47375273516c475453586c4d6239754c586348796e587476352e737667)](https://asciinema.org/a/G7RsQlGTSXlMb9uLXcHynXtv5)
    - for *json* nested:

        [![asciicast](https://camo.githubusercontent.com/afdb2f2d3f9562a8f1aa0a3e408f58f8835a5be6afd1bfb1a27e38f428287d57/68747470733a2f2f61736369696e656d612e6f72672f612f546e6f32526231544c79566a37784748497a366c533270564a2e737667)](https://asciinema.org/a/Tno2Rb1TLyVj7xGHIz6lS2pVJ)
    - for *yaml/yml* nested:

        [![asciicast](https://camo.githubusercontent.com/40af5c7cf46c5bd89ea5b70c4139a8aaf849f5b99f0989751780938873012ff2/68747470733a2f2f61736369696e656d612e6f72672f612f39774f78457078374443373643376d6f7163684969386e664f2e737667)](https://asciinema.org/a/9wOxEpx7DC76C7moqchIi8nfO)

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

9

Last Release

2365d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3dbbff7c6b66e63d12b48f013f1e800a04837f8542b96ba666f186a598d8e7ca?d=identicon)[SabirIvaN](/maintainers/SabirIvaN)

---

Top Contributors

[![SabirIvaN](https://avatars.githubusercontent.com/u/42330946?v=4)](https://github.com/SabirIvaN "SabirIvaN (29 commits)")

---

Tags

jsonphp7phpcodesnifferphpcsphpunityamlymlphpprojecthexletgendifflevel2

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/sabirivan-gendiff/health.svg)

```
[![Health](https://phpackages.com/badges/sabirivan-gendiff/health.svg)](https://phpackages.com/packages/sabirivan-gendiff)
```

###  Alternatives

[dave-liddament/sarb

Provides tools for baselining static analysis results and comparing against that baseline

1651.4M](/packages/dave-liddament-sarb)[exakat/exakat

The smart static analyzer for PHP

457.7k](/packages/exakat-exakat)[nilportugues/php_forbidden

Looks into the code using a user-defined list of forbidden function in a given path.

108.1k](/packages/nilportugues-php-forbidden)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
