rinvex / composer
Rinvex Composer is an intuitive package that utilizes Composer Plugin API to support additional actions during installation, such as installing packages outside of the default vendor library and running custom scripts during install, update, and uninstall processes.
Installs: 4 355
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Type:composer-plugin
Requires
- php: ^7.1.3
- composer-plugin-api: ^1.0.0
- illuminate/contracts: ~5.6.0
- illuminate/support: ~5.6.0
Requires (Dev)
- codedungeon/phpunit-result-printer: ^0.19.0
- illuminate/container: ~5.6.0
- phpunit/phpunit: ^6.0.0
This package is auto-updated.
Last update: 2022-02-01 13:04:08 UTC
README
Rinvex Composer is an intuitive package that utilizes Composer Plugin API to support additional actions during installation, such as installing packages outside of the default vendor library and running custom scripts during install, update, and uninstall processes.
⚠️ This package is renamed and now maintained at rinvex/laravel-composer, author suggests using the new package instead. Old package supportes up to Laravel v5.6, and the new one supports Laravel v5.7+
Rinvex Composer also handles any module specific install/uninstall logic, so if your custom cortext-module contains for example migrations and/or seeds, it will be automatically executed upon composer installation.
Installation
-
Install the package via composer:
composer require rinvex/composer
-
Optionally you can publish config files by running the following commands:
php artisan vendor:publish --tag="rinvex-composer-config"
-
Done!
Usage
As it should be clear, the main purpose of this package is to modify composer's behaviour so packages of custom types could be installed in directories other than the default vendor
.
Supported Package Types
- cortex-module
- cortex-custom
Note: Checkout Composer's Custom Installers
Basic Usage
All Rinvex Cortex modules are installed into the following paths accordingly:
cortex-module
-app
cortex-custom
-custom/path
So if you're building a new Rinvex Cortex module, you have to add the appropriate composer package type in your package's composer.json
, such as "type": "cortex-module"
for modules.
Note: Checkout Rinvex Module Package documentation for further details.
Custom Paths
This is a powerful feature available for more flexibility and control over package installation paths. To use custom paths, your package's composer.json
file must have the following attributes:
"type": "cortex-custom", "require": { "rinvex/composer": "^1.0.0" }, "extra": { "path": "custom/path/" }
Then you've to run composer install
or composer update
at your application root directory, and Rinvex Composer Installer will detect the custom package type and look for extra.path
. If it finds it; the package will be installed to that custom directory.
Overriding Custom Paths
It's nice to give packages the ability to set their own installation paths, but on some hosts where there's some restrictions it may be a problem; In such case you may have to take control and enforce these packages to be installed within certain directory.
You can override package-level paths at the application-level through extra.paths
attribute in your application composer.json
file:
"require": { "vendor/package": "^1.0.0" }, "extra": { "paths": { "vendor/package": "enforced/overriden/path/for/vendor/package/" } }
Accordingly, this application-level path override will take precedence over any package-level custom paths.
Resources
Changelog
Refer to the Changelog for a full history of the project.
Support
The following support channels are available at your fingertips:
Contributing & Protocols
Thank you for considering contributing to this project! The contribution guide can be found in CONTRIBUTING.md.
Bug reports, feature requests, and pull requests are very welcome.
Security Vulnerabilities
If you discover a security vulnerability within this project, please send an e-mail to help@rinvex.com. All security vulnerabilities will be promptly addressed.
About Rinvex
Rinvex is a software solutions startup, specialized in integrated enterprise solutions for SMEs established in Alexandria, Egypt since June 2016. We believe that our drive The Value, The Reach, and The Impact is what differentiates us and unleash the endless possibilities of our philosophy through the power of software. We like to call it Innovation At The Speed Of Life. That’s how we do our share of advancing humanity.
License
This software is released under The MIT License (MIT).
(c) 2016-2018 Rinvex LLC, Some rights reserved.