Local composer package development
A new feature on composer which I really appreciate is the “Path” repository type.
Imagine you are working on your super-cool-project, and one task requires new functionality where there is no composer package existing yet - yeah, this probably is a bit hard to imagine. Now you want to create your own super-awesome-package, because we all like it nice and separated and such.
So far, I would have developed the super-awesome-package directly inside the vendor folder of my super-cool-project - which somehow did not feel right. Obviously others felt the same, so now we can use the “path” resource type for packages which you develop right at the moment!
{ "require": { "my-namespace/shoppingcart": "\*@dev" }, "repositories": \[ { "type": "path", "url": "../shoppingcart" } \] }
Instead of using VCS as package source, you simply specify the directory (relative or absolute path both work) where your super-cool-package is located on your machine. In my case, I just refer to the shoppingcart folder, where the package is currently developed.
Composer will then add a symlink in the vendor folder upon running composer update, so all your changes on that package can immediately be used in your super-cool-project.
Now that’s what I call convenient!