davidrjonas / composer-lock-diff

See what has changed after a composer update
MIT License
274 stars 18 forks source link

Fix notices when source not available for package #18

Closed ihor-sviziev closed 5 years ago

ihor-sviziev commented 5 years ago

During running this script I have following notices:

PHP   1. {main}() /home/ihor/.composer/vendor/davidrjonas/composer-lock-diff/composer-lock-diff:0
PHP   2. diff() /home/ihor/.composer/vendor/davidrjonas/composer-lock-diff/composer-lock-diff:6
PHP   3. makeCompareUrl() /home/ihor/.composer/vendor/davidrjonas/composer-lock-diff/composer-lock-diff:52
PHP Notice:  Undefined property: stdClass::$source in /home/ihor/.composer/vendor/davidrjonas/composer-lock-diff/composer-lock-diff on line 185
PHP Stack trace:
PHP   1. {main}() /home/ihor/.composer/vendor/davidrjonas/composer-lock-diff/composer-lock-diff:0
PHP   2. diff() /home/ihor/.composer/vendor/davidrjonas/composer-lock-diff/composer-lock-diff:6
PHP   3. makeCompareUrl() /home/ihor/.composer/vendor/davidrjonas/composer-lock-diff/composer-lock-diff:52
PHP Notice:  Trying to get property of non-object in /home/ihor/.composer/vendor/davidrjonas/composer-lock-diff/composer-lock-diff on line 185
PHP Stack trace:
PHP   1. {main}() /home/ihor/.composer/vendor/davidrjonas/composer-lock-diff/composer-lock-diff:0
PHP   2. diff() /home/ihor/.composer/vendor/davidrjonas/composer-lock-diff/composer-lock-diff:6
PHP   3. makeCompareUrl() /home/ihor/.composer/vendor/davidrjonas/composer-lock-diff/composer-lock-diff:52
PHP Notice:  Undefined property: stdClass::$source in /home/ihor/.composer/vendor/davidrjonas/composer-lock-diff/composer-lock-diff on line 186
PHP Stack trace:
PHP   1. {main}() /home/ihor/.composer/vendor/davidrjonas/composer-lock-diff/composer-lock-diff:0
PHP   2. diff() /home/ihor/.composer/vendor/davidrjonas/composer-lock-diff/composer-lock-diff:6
PHP   3. makeCompareUrl() /home/ihor/.composer/vendor/davidrjonas/composer-lock-diff/composer-lock-diff:52
PHP Notice:  Trying to get property of non-object in /home/ihor/.composer/vendor/davidrjonas/composer-lock-diff/composer-lock-diff on line 186

These issues caused by missing "source" section for some packages. For example when you install Magento 2.2.6 via composer - you'll have such packages: https://devdocs.magento.com/guides/v2.2/install-gde/composer.html

This PR fixing these notices

davidrjonas commented 5 years ago

Thanks, Ihor! I've change the implementation slightly but incorporated the idea.