tmdk / composer-workspaces-plugin
Workspaces plugin for Composer
Installs: 104
Dependents: 0
Suggesters: 0
Security: 0
Stars: 9
Watchers: 2
Forks: 5
Open Issues: 2
Type:composer-plugin
Requires
- php: >=7.1
- composer-plugin-api: ^2.0
- ext-json: *
- symfony/filesystem: ^4.2
- symfony/finder: ^4.2
Requires (Dev)
- composer/composer: ^2.0
README
This composer plugin enables you to work with a monorepo containing multiple composer packages in a way similar to Yarn Workspaces.
Requirements
- PHP 7.1 or above
- Composer 2
Composer v1 support
Starting from version 2.x of this plugin, composer v1 is no longer supported. If you do need composer 1 support, please use the 1.x version of the plugin. Please note that version 1 will not receive any updates except for security fixes.
Installation
Add tmdk/composer-workspaces-plugin
to your project:
composer require --dev tmdk/composer-workspaces-plugin=^2.0.0
Usage
The workspaces:init
command will prompt you to configure your workspace paths:
composer workspaces:init
The plugin scans all configured paths for composer packages. To bootstrap all found workspace packages, run workspaces:bootstrap
. You can rerun this command any time you add another workspace package.
composer workspaces:bootstrap
After bootstrapping your packages, you can run composer commands in the context of a specific package with the workspace
command.
For example, if you have two workspace packages, acme/foo
and acme/bar
, and you want to add acme/bar
as a dependency of acme/foo
:
composer workspace acme/foo require acme/bar
Use workspaces:list
to list all available workspace packages:
composer workspaces:list
Todo
- Add tests.
- Add feature to centralize dependency version management.