PHPackages                             pamald/pamald - 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. pamald/pamald

ActiveLibrary

pamald/pamald
=============

Generates a report about the diff between two package manager lock file content.

1.x-dev(7mo ago)00[3 issues](https://github.com/pamald/pamald/issues)7LGPL-2.0-or-laterPHPPHP &gt;=8.3

Since Oct 12Pushed 7mo ago1 watchersCompare

[ Source](https://github.com/pamald/pamald)[ Packagist](https://packagist.org/packages/pamald/pamald)[ Docs](https://github.com/pamald/pamald)[ RSS](/packages/pamald-pamald/feed)WikiDiscussions 1.x Synced 1mo ago

READMEChangelogDependencies (17)Versions (1)Used By (7)

pamald
======

[](#pamald)

[![CircleCI](https://camo.githubusercontent.com/ddaad369d46e47ea728184a80b44cb191d4517f749330b4049baf6205cc595fb/68747470733a2f2f636972636c6563692e636f6d2f67682f70616d616c642f70616d616c642f747265652f312e782e7376673f7374796c653d737667)](https://circleci.com/gh/pamald/pamald/?branch=1.x)[![codecov](https://camo.githubusercontent.com/7427f58a8557b24bf3703cb2d9b814135b6c8e056cee0283fc25400529d9155f/68747470733a2f2f636f6465636f762e696f2f67682f70616d616c642f70616d616c642f6272616e63682f312e782f67726170682f62616467652e7376673f746f6b656e3d48534631364f47507972)](https://app.codecov.io/gh/pamald/pamald/branch/1.x)

**Pa**ckage **Ma**nager **L**ock **D**iff = pamald
Generates a report about the diff between two package manager lock file content.

Features
--------

[](#features)

- Compare dependencies between two lock files
- Detect version changes, additions, and removals
- Identify direct vs. transitive dependency changes
- Generate reports in multiple formats
    - Symfony Console Table
    - Markdown Table
    - JIRA Table
    - JSON
    - custom reporters can be added easily
- Every reporter has its own options to customize the output
    - Show/hide columns
    - Group by (Your responsibility to group the entries)
    - Filter by (Your responsibility to filter the entries)
    - Sort by (Your responsibility to sort the entries)

Report Examples
---------------

[](#report-examples)

Pamald can generate reports in various formats to help you understand what changed between two lock files.

### Report Examples - Markdown Table

[](#report-examples---markdown-table)

```
| Name | L Version | R Version | L Type   | R Type   | L Link   | R Link   | L Env      | R Env      | L Depth | R Depth |
|------|-----------|-----------|----------|----------|----------|----------|------------|------------|---------|---------|
| php  | 8.3.0     | 8.4.0     | platform | platform | required | required | production | production | direct  | direct  |
| a/b  | 2.2.3     | 2.2.4     | package  | package  | required | required | production | production | child   | direct  |
```

### Report Examples - JSON

[](#report-examples---json)

```
{
    "php": {
        "name": "php",
        "isTypeChanged": false,
        "isLinkChanged": false,
        "isEnvironmentChanged": false,
        "relationshipAction": "none",
        "isDirectDependencyChanged": false,
        "versionAction": "upgrade",
        "isVersionChanged": true,
        "versionPartChanged": "minor",
        "isVersionMajorChanged": false,
        "isVersionMinorChanged": true,
        "isVersionPatchChanged": true,
        "isVersionPreReleaseChanged": true,
        "isVersionMetadataChanged": true,
        "left": {
            "name": "php",
            "type": "platform",
            "link": "required",
            "environment": "production",
            "versionString": "8.3.0",
            "isDirectDependency": true
        },
        "right": {
            "name": "php",
            "type": "platform",
            "link": "required",
            "environment": "production",
            "versionString": "8.4.0",
            "isDirectDependency": true
        }
    }
}
```

Usage
-----

[](#usage)

This example code generates the same report in three different formats.

```
