Composer Require Aliased Packages: define aliases for your favorite Composer packages.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github
bin Double quotes > single quotes Jul 24, 2017
src
tests
.coveralls.yml
.editorconfig
.gitattributes
.gitignore
.scrutinizer.yml
.styleci.yml
.travis.yml
CHANGELOG.md
CONDUCT.md
CONTRIBUTING.md
LICENSE.md
README.md
composer.json
example.gif
phpcs.xml
phpunit.xml.dist

README.md

crap: Composer Require Aliased Packages

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Define aliases for your favorite packages, making usage as simple as crap require monolog.

Install

PHP 5.6+ or 7.0+ required.

Because using multiple global Composer packages can create dependency conflicts, I recommend using consolidation/cgr over composer global require:

cgr geekish/crap

If you don't mind descending into global dependency hell:

composer global require geekish/crap

Usage

To define your aliases (version constraints are optional):

crap alias monolog monolog/monolog:^1.21

To use your aliases:

crap require monolog
crap update monolog
crap remove monolog

To remove an alias:

crap unalias monolog

View a list of defined alias:

crap list

These commands simply find your aliases, and call the Composer commands with the real package names. If you provided a version constraint when defining your alias, crap will use this by default. You may provide a version constraint on the require and update commands; this will override any default.

The commands project, require, update, and remove all accept the same options/flags as the Composer commands that they call. For reference, see Composer's Commands documentation.

Why?

I'm lazy. I tried to create global shell aliases for packages that I used often. It worked, but if I typed out the full package name, I would get monolog/monolog/monolog/monolog. I also tried to write a Composer plugin, but there was no way to override the incoming package argument. So, I wrote crap.

Oh, the name? I was going to call it cra, and call the main class Crapp. Then I thought of the acronym, and it was just too good not to use.

Yes, it is totally inspired by Spongebob's POOP.

Change log

Please see CHANGELOG for more information what has changed recently.

Testing

After a composer install, to run the unit tests via phpunit:

composer test

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Security

If you discover any security related issues, please email hannahwarmbier@gmail.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.