For development, it is best to reference your in-progress work as path
type. In the main application, set up a package in repositories
like this:
"repositories": [
{
"type": "path",
"version": "dev-master",
"url": "/home/user/log-viewer"
}
],
Then require your plugin
composer require louisitvn/log-viewer:dev-master
They key here is to require your package as dev-master
. The output may look like this:
$ composer require louisitvn/log-viewer:dev-master
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing louisitvn/log-viewer (dev-master)
Symlinked from /home/user/log-viewer
As you can see, Composer makes a symlink in vendor/
for the plugin rather than cloning it and you are always on top of the latest changes in your working directory.