PHP Classes

PHP Composer Recovery: Recover lost composer dependency list

Recommend this page to a friend!
  Info   View files Documentation   View files View files (14)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
Not yet rated by the usersTotal: 56 All time: 10,509 This week: 358Up
Version License PHP version Categories
composer-recovery 1.0.0MIT/X Consortium ...7Tools, Console, PHP 7
Description 

Author

This package can be used to recover lost composer dependency list.

It can scan the directory of a project that uses the composer tool to find the dependency file list in case it was missed.

Currently it can recover the dependencies from either the composer.lock file or from the vendor/composer/installed.json file.

Innovation Award
PHP Programming Innovation award nominee
October 2019
Number 9
Sometimes developers that use composer to install packages in their projects lose the composer.json file accidentally.

In that case, this package can help by providing alternative methods to rebuild the composer.json file.

Manuel Lemos
Picture of Insolita
  Performance   Level  
Name: Insolita <contact>
Classes: 20 packages by
Country: Russian Federation Russian Federation
Age: 38
All time rank: 335492 in Russian Federation Russian Federation
Week rank: 312 Up13 in Russian Federation Russian Federation Up
Innovation award
Innovation award
Nominee: 14x

Documentation

Composer-recovery

Helper for recovery composer dependency list (if you lost composer.json) from composer.lock or vendor/composer/installed .json

Build Status

NOTE: It is not file-recovery tool, and it can`t recover composer.json data same as it was in original. It just extracts package list and concrete versions (and also hash for dev-master dependecies) from composer.lock, or, if it absent too, from vendor/composer/installed.json

If recover maked from installed.json - there are no way to separate default and dev dependencies

See tests/stub/app1_expected.json as an example of result file

NOTE2: If your project under vcs control, you don't need this package. You can easy restore composer.json from previous commit or another branch

Installation:

composer global require insolita/composer-recovery

Ensure that your ~/.composer/vendor/bin directory declared in $PATH

echo $PATH

if not - you should add it in ~/.bashrc or ~/.profile

Basic Usage:

cd /var/www/myproject && composer-recovery

Supported options:

-p : path to project directory (by default - active directory where script was called)

-o : path to directory where recovered_composer.json will be written (by default - same as project directory)

-f : custom file name - (by default - recovered_dependecies.json)

Examples with options:

composer-recovery -p /var/www/myproject/ -o /some/place/for/result/ -f mycomposer.json

composer-recovery -p . -o ../output/


  Files folder image Files  
File Role Description
Files folder imagebin (1 file)
Files folder imagesrc (1 file)
Files folder imagetests (2 files, 1 directory)
Accessible without login Plain text file .travis.yml Data Auxiliary data
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file issue_template.md Data Auxiliary data
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file phpunit.xml Data Auxiliary data
Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files  /  bin  
File Role Description
  Accessible without login Plain text file composer-recovery Example Example script

  Files folder image Files  /  src  
File Role Description
  Plain text file Runner.php Class Class source

  Files folder image Files  /  tests  
File Role Description
Files folder imagestub (2 files, 2 directories)
  Accessible without login Plain text file bootstrap.php Aux. Auxiliary script
  Plain text file RunnerTest.php Class Class source

  Files folder image Files  /  tests  /  stub  
File Role Description
Files folder imageapp1 (1 file)
Files folder imageapp2 (1 directory)
  Accessible without login Plain text file app1_expected.json Data Auxiliary data
  Accessible without login Plain text file app2_expected.json Data Auxiliary data

  Files folder image Files  /  tests  /  stub  /  app1  
File Role Description
  Accessible without login Plain text file composer.lock Data Auxiliary data

  Files folder image Files  /  tests  /  stub  /  app2  
File Role Description
Files folder imagevendor (1 directory)

  Files folder image Files  /  tests  /  stub  /  app2  /  vendor  
File Role Description
Files folder imagecomposer (1 file)

  Files folder image Files  /  tests  /  stub  /  app2  /  vendor  /  composer  
File Role Description
  Accessible without login Plain text file installed.json Data Auxiliary data

 Version Control Unique User Downloads Download Rankings  
 100%
Total:56
This week:0
All time:10,509
This week:358Up