Asset PackagistでフロントエンドJSライブラリを管理

bower, npm の代わりにcomposer 経由でjsライブラリを管理する拡張。これはただのパッケージマネージャとして捉えるべきで、npm, yarn のようにビルドはスコープ外。

Drupalで言えば、モジュールレベルで必要だったjsライブラリの追加がcomposer 経由でAsset Packagist を利用することで簡単に追加できるようになった。

これを導入しない場合は、手作業でダウンロード・配置するか以下のサンプルのようにcomposer.json を書く必要がある。

{
        ...
    "require": {
        "drupal/chosen": "^2.3",
        "harvesthq/chosen": "^1.7"
    },
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "harvesthq/chosen",
                "version": "1.7.0",
                "type": "drupal-library",
                "dist": {
                    "url": "https://github.com/harvesthq/chosen/releases/download/v1.7.0/chosen_v1.7.0.zip",
                    "type": "zip"
                }
            }
        }
    ],
    "extra": {
                ...
        "installer-paths": {
            "docroot/core": ["type:drupal-core"],
                        ...
            "docroot/libraries/{$name}": ["type:drupal-library"],
        },
    }
}

Comments