Closed elbojoloco closed 5 years ago
Great idea! It would be really neat to get some help/suggestions for dependencies. There is a similar idea listed here: https://trello.com/c/fsCCPlv8 (for custom commands)
A general approach would be to create a JSON/dependency-Pipe that manages composer.json / package.json or any JSON file basically. Will have to tinker with that.
I think this will be pushed back to next version though since its not critical. Keeping this suggestion in Trello and closing this issue for now, to keep it somewhat tidy here. But please feel free to continue discussion :)
Here are some more suggestions:
barryvdh/laravel-ide-helper laravel/tinker laravel/telescope laravel/socialite laravel/passport laravel/dusk laravel/scout jenssegers/agent rickselby/laravel-gate-cache
Note that laravel/envoy must be installed globally, so it's not as simple as just putting it inside composer.json, though taking into account only the packages that are easily writable to composer.json, it shouldn't be that big of a feature right?
Setting up a ComposerPipe is easy. By default it could have the top 100 packages selectable in a settings tab with sensible defaults. Though not sure how it will keep dependency versions compatible and up to date. Example (see the numbers!):
"beyondcode/laravel-dump-server": "^1.0",
"filp/whoops": "^2.0",
"fzaninotto/faker": "^1.4",
"mockery/mockery": "^1.0",
"nunomaduro/collision": "^3.0",
"phpunit/phpunit": "^7.5"
The alternative, running exec('composer require user/package')
or using system()
or similar can be really painful in my experience, a rabbit hole me myself wont enter right now :) But I would be happy to merge PRs.
Definitely go for JSON manipulation, I was thinking since this package is used for generating NEW projects, we can assume latest stable version for all composer packages (let composer decide compatibility among deps).
A lot of times after installing a new application the same recurring packages are installed that are just "essential" for every laravel development environment.
Examples: laravelbarryvdh/laravel-debugbar laravel/envoy laravel/horizon predis/predis guzzlehttp/guzzle
And this is just a simple list, but you get the idea, just check which packages you want installed and pipe-dream/laravel will do the rest!