t4web/composer-lock-parser

OOP reader of composer.lock file.

1.2.0 2022-02-23 14:59 UTC

This package is auto-updated.

Last update: 2024-03-27 10:10:26 UTC


README

OOP reader of composer.lock file

Introduction

Parse composer.lock file and return full information about installed packages in OOP style.

Requirements

Features / Goals

  • Create Composer Entity with full general information from composer.lock [DONE]
  • Create Package Entity with full information about packges [DONE]

Installation

Main Setup

"require": {
    "t4web/composer-lock-parser": "1.1.*"
}

Usage

Creating ComposerInfo object and getting all of the packages

$composerInfo = new \ComposerLockParser\ComposerInfo('/path/to/composer.lock');
// default all packages
$packages = $composerInfo->getPackages();
// or explicitly get all packages
$packages = $composerInfo->getPackages($composerInfo::ALL);

echo $packages[0]->getName();
echo $packages[0]->getVersion();
echo $packages[0]->getNamespace();

Getting just production packages.

$composerInfo = new \ComposerLockParser\ComposerInfo('/path/to/composer.lock');
$packages = $composerInfo->getPackages($composerInfo::PRODUCTION);

Getting just development packages.

$composerInfo = new \ComposerLockParser\ComposerInfo('/path/to/composer.lock');
$packages = $composerInfo->getPackages($composerInfo::DEVELOPMENT);

Testing

Tests runs with Codeception

$ codeception run