PHPackages                             avram/composer-caffeinated-module-installer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. avram/composer-caffeinated-module-installer

ActiveComposer-plugin

avram/composer-caffeinated-module-installer
===========================================

Extend the composer/installers plugin to accept caffeinated modules.

v0.2.1(4y ago)09MITPHP

Since Dec 20Pushed 4y ago1 watchersCompare

[ Source](https://github.com/avramovic/composer-caffeinated-module-installer)[ Packagist](https://packagist.org/packages/avram/composer-caffeinated-module-installer)[ RSS](/packages/avram-composer-caffeinated-module-installer/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (4)Used By (0)

Composer Caffeinated Module Installer
=====================================

[](#composer-caffeinated-module-installer)

The `composer-caffeinated-module-installer` is a plugin for [Composer](https://getcomposer.org/) that allows caffeinated/modules module to be installed to a directory other than the default `vendor/` directory within the repo on a package type basis. This plugin extends the [`composer/installers`](https://github.com/composer/installers)plugin to allow any arbitrary package type to be handled by their custom installer and specified explicitly in the `"installer-paths"` mapping in the `"extra"` data property.

`composer/installers` has a finite set of supported package types and we recognize the need for any arbitrary package type to be installed to a specific directory other than `vendor/`. This plugin allows additional package types to be handled by `composer/installers`, benefiting from their explicit install path mapping and token replacement of package properties.

How to Use
----------

[](#how-to-use)

Add `avram/composer-caffeinated-module-installer` as a dependency of your project.

```
composer require avram/composer-caffeinated-module-installer
```

`composer/installers` is a dependency of this plugin and will be automatically required as well.

To support additional package types, add an array of these types in the `"extra"` property in your `composer.json`:

```
	"extra": {
		"installer-types": ["module"]
	}

```

Then, you can add mappings for packages of these types in the same way that you would add package types that are supported by [`composer/installers`](https://github.com/composer/installers#custom-install-paths):

```
  "extra": {
    "installer-types": ["module"],
    "installer-paths": {
      "app/Modules/{$name}/": ["type:module"]
    }
  }

```

By default, packages that do not specify a `type` will be considered type `library`. Adding support for this type allows any of these packages to be placed in a different install path. In other words, your modules should have type `module`.

If a type has been added to `"installer-types"`, the plugin will attempt to find an explicit installer path in the mapping. If there is no match either by name or by type, the default installer path for all packages will be used instead. This package will call ucwords on name after replacing all underscores and dashes with space (and then remove the space), so for `your-awesome-package` the folder will be `your/install/path/YourAwesomePackage`, because caffeinated/modules like studly case :)

Please see the README for [`composer/installers`](https://github.com/composer/installers) to see the supported syntax for package and type matching as well as the supported replacement tokens in the path (e.g. `{$name}`).

###  Health Score

22

—

LowBetter than 23% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~317 days

Total

3

Last Release

1698d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e0ef463d30d92c30e72d2e27f7b27c277af584c09325cb50eb7728dcfaa73021?d=identicon)[Avram](/maintainers/Avram)

---

Top Contributors

[![avramovic](https://avatars.githubusercontent.com/u/1845969?v=4)](https://github.com/avramovic "avramovic (13 commits)")

### Embed Badge

![Health badge](/badges/avram-composer-caffeinated-module-installer/health.svg)

```
[![Health](https://phpackages.com/badges/avram-composer-caffeinated-module-installer/health.svg)](https://phpackages.com/packages/avram-composer-caffeinated-module-installer)
```

###  Alternatives

[elgg/elgg

Elgg is an award-winning social networking engine, delivering the building blocks that enable businesses, schools, universities and associations to create their own fully-featured social networks and applications.

1.7k15.7k3](/packages/elgg-elgg)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

44643.1k1](/packages/pressbooks-pressbooks)[altis/core

Core module for Altis

19213.6k2](/packages/altis-core)[johnbillion/user-switching

Instant switching between user accounts in WordPress and WooCommerce.

19768.3k2](/packages/johnbillion-user-switching)[rainlab/blog-plugin

Blog plugin for October CMS

17257.7k](/packages/rainlab-blog-plugin)[php-composter/php-composter

Git Hooks Management through Composer.

10525.1k11](/packages/php-composter-php-composter)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
