@beaverusiv I thought it was just me. I posted a long discovery breakdown of the problem https://laracasts.com/discuss/channels/general-discussion/upgrading-to-l5-and-getting-class-not-found-on-composer-update/?page=3 . For some weird reason if the app writes the services.json file vs. artisan it all works fine. It is screwing up the sequence of writes in services.
btw, it fails silently so the only way you know is class not found. In my case it is my view composer.
If I run artisan optimize this is what it writes to services.json. This fails silently so that my translator decorator and view composer are not bound to the IoC
"deferred": {
...
// note this is my own SP that extends the Laravel Translator SP
"translator": "App\\Administrate\\Providers\\TranslatorServiceProvider",
"translation.loader": "App\\Administrate\\Providers\\TranslatorServiceProvider",
...
}
"when": {
...
//
"App\\Administrate\\Providers\\TranslatorServiceProvider": [],
...
}
However, if I let the provider touch the services.json this is how it writes it. This works and the app runs fine. As you cane see it is now eager loading my SP and deferred the Laravel SP that I'm extending.
"eager"{
...
"App\\Administrate\\Providers\\TranslatorServiceProvider",
...
}
"deferred": {
...
// notice these are the Laravel Translators.
"translator": "Illuminate\\Translation\\TranslationServiceProvider",
"translation.loader": "Illuminate\\Translation\\TranslationServiceProvider",
}