rinvex/composer

This package is abandoned and no longer maintained. The author suggests using the rinvex/laravel-composer package instead.

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: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Type:composer-plugin

v0.0.3 2018-09-29 02:23 UTC

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+

Packagist Scrutinizer Code Quality Code Climate 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/composer
  2. Optionally you can publish config files by running the following commands:

    php artisan vendor:publish --tag="rinvex-composer-config"
  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/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.