Skip to content
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.
PHP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
src
tests
.codeclimate.yml
.editorconfig
.gitattributes
.gitignore
.scrutinizer.yml
.styleci.yml
.travis.yml
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
README.md
composer.json
phpstan.neon.dist
phpunit.xml.dist

README.md

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.

Packagist Scrutinizer Code Quality Travis StyleCI License

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

  1. Install the package via composer:

    composer require rinvex/laravel-composer
  2. Optional if you want to change the configurations:

    php artisan rinvex:publish:composer
  3. 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/laravel-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-2020 Rinvex LLC, Some rights reserved.

You can’t perform that action at this time.