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)121.1k1[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 2w 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

28

—

LowBetter than 51% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity28

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

1734d 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

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

A flexible Composer project scaffold builder.

5346.5M600](/packages/drupal-core-composer-scaffold)[drupal/core-project-message

Adds a message after Composer installation.

2125.4M213](/packages/drupal-core-project-message)[phpro/grumphp-shim

GrumPHP Phar distribution

284.9M348](/packages/phpro-grumphp-shim)[automattic/jetpack-autoloader

Creates a custom autoloader for a plugin or theme.

566.3M167](/packages/automattic-jetpack-autoloader)[altis/core

Core module for Altis

19233.0k4](/packages/altis-core)

PHPackages © 2026

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