PHPackages                             bmcclure/drupal-library-mapping - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. bmcclure/drupal-library-mapping

ActiveComposer-plugin[Utility &amp; Helpers](/categories/utility)

bmcclure/drupal-library-mapping
===============================

A helper for installing library assets for Drupal.

1.0.0(4y ago)220.8k1[1 issues](https://github.com/bmcclure/drupal-library-mapping/issues)[1 PRs](https://github.com/bmcclure/drupal-library-mapping/pulls)MITPHPPHP &gt;=5.5

Since May 4Pushed 4y ago1 watchersCompare

[ Source](https://github.com/bmcclure/drupal-library-mapping)[ Packagist](https://packagist.org/packages/bmcclure/drupal-library-mapping)[ RSS](/packages/bmcclure-drupal-library-mapping/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (1)Dependencies (2)Versions (5)Used By (0)

drupal-library-mapping
======================

[](#drupal-library-mapping)

A helper for installing library assets for Drupal.

By using Asset Packagist, you can already install Drupal assets into the right location.

But, what about packages that aren't named the way a Drupal module is expecting?

This package both includes common name mappings already, and allows you to specify your own in composer.json.

Then, it will symlink, copy, or move the mapped assets to the right location whenever they are installed or updated.

How to use the plugin
---------------------

[](#how-to-use-the-plugin)

First, require "bmcclure/drupal-library-mapping".

Enable Asset Packagist support following their instructions.

Configure the following in extra:

```
"installer-types": ["library", "drupal-library", "bower-asset", "npm-asset"],
"installer-paths": {
    "libraries/{$name}": [
        "type:drupal-library",
        "type:bower-asset",
        "type:npm-asset"
    ]
}

```

Now simply require assets from Asset Packagist, and they'll be mapped appropriately.

Customizing the copy type
-------------------------

[](#customizing-the-copy-type)

By default, the mapped plugins are copied.

Add the following to extras to customize the method used for mapping:

```
"drupal-library-mapping-type": "symlink"

```

Accepted values are "copy" (the default), "symlink", and "move".

Note that a side effect of using "move" is that composer will reinstall the package every time it runs.

Customizing the package name map
--------------------------------

[](#customizing-the-package-name-map)

You may wish to map other library names to common ones.

You can add new mappings to the "drupal-library-mapping" key in extras.

Example:

```
"drupal-library-mapping": {
    "jquery-easing-original": "easing"
}

```

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance10

Infrequent updates — may be unmaintained

Popularity29

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 73.3% 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 ~552 days

Total

4

Last Release

1689d ago

Major Versions

0.1.2 → 1.0.02021-11-17

### Community

Maintainers

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

---

Top Contributors

[![ReplicaObscura](https://avatars.githubusercontent.com/u/277977?v=4)](https://github.com/ReplicaObscura "ReplicaObscura (11 commits)")[![amklose](https://avatars.githubusercontent.com/u/756265?v=4)](https://github.com/amklose "amklose (4 commits)")

### Embed Badge

![Health badge](/badges/bmcclure-drupal-library-mapping/health.svg)

```
[![Health](https://phpackages.com/badges/bmcclure-drupal-library-mapping/health.svg)](https://phpackages.com/packages/bmcclure-drupal-library-mapping)
```

###  Alternatives

[symfony/runtime

Enables decoupling PHP applications from global state

74798.8M1.0k](/packages/symfony-runtime)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5344.1M564](/packages/drupal-core-composer-scaffold)[drupal/core-project-message

Adds a message after Composer installation.

2124.7M203](/packages/drupal-core-project-message)[vaimo/composer-patches

Applies a patch from a local or remote file to any package that is part of a given composer project. Patches can be defined both on project and on package level. Optional support for patch versioning, sequencing, custom patch applier configuration and patch command for testing/troubleshooting added patches.

3014.6M26](/packages/vaimo-composer-patches)[sandersander/composer-link

Adds ability to link local packages for development with composer

98457.9k](/packages/sandersander-composer-link)[phpro/grumphp-shim

GrumPHP Phar distribution

294.7M340](/packages/phpro-grumphp-shim)

PHPackages © 2026

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