PHP Composer Recovery: Recover lost composer dependency list

Recommend this page to a friend!
  Info   Documentation   View files (14)   Download .zip   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2019-10-23 (9 months ago) Not yet rated by the usersTotal: 45 All time: 9,859 This week: 242
Version License PHP version Categories
composer-recovery 1.0.0MIT/X Consortium ...7Utilities and Tools, 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: 5 packages by
Country: Russian Federation Russian Federation
Age: 34
All time rank: 3916112 in Russian Federation Russian Federation
Week rank: 246 12 in Russian Federation Russian Federation
Innovation award
Innovation award
Nominee: 4x



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


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/

File Role Description
bin (1 file)
src (1 file)
tests (2 files, 1 directory)
.travis.yml Data Auxiliary data
composer.json Data Auxiliary data Data Auxiliary data
LICENSE Lic. License text
phpunit.xml Data Auxiliary data Doc. Documentation

  Files  /  bin  
File Role Description
   composer-recovery Example Example script

  Files  /  src  
File Role Description
   Runner.php Class Class source

  Files  /  tests  
File Role Description
stub (2 files, 2 directories)
   bootstrap.php Aux. Auxiliary script
   RunnerTest.php Class Class source

  Files  /  tests  /  stub  
File Role Description
app1 (1 file)
app2 (1 directory)
   app1_expected.json Data Auxiliary data
   app2_expected.json Data Auxiliary data

  Files  /  tests  /  stub  /  app1  
File Role Description
   composer.lock Data Auxiliary data

  Files  /  tests  /  stub  /  app2  
File Role Description
vendor (1 directory)

  Files  /  tests  /  stub  /  app2  /  vendor  
File Role Description
composer (1 file)

  Files  /  tests  /  stub  /  app2  /  vendor  /  composer  
File Role Description
   installed.json Data Auxiliary data

 Version Control Unique User Downloads Download Rankings  
This week:0
All time:9,859
This week:242

For more information send a message to info at phpclasses dot org.