I'm using Webform with the composer-merge plugin to bring in its libraries:
Relevant parts of my composer.json file:
"extra": {
"installer-paths": {
"public_html/core": ["type:drupal-core"],
"public_html/libraries/{$name}": ["type:drupal-library"],
"public_html/modules/contrib/{$name}": ["type:drupal-module"]
},
"merge-plugin": {
"include": [
"public_html/modules/contrib/webform/composer.libraries.json"
]
}
}
I can define my own version of the same library successfully, by using the same code as Webform's composer.libraries.json
does but changing the version— successful in that it is recognized:
"repositories": {
"drupal": {
"type": "composer",
"url": "https://packages.drupal.org/8"
},
"jquery.inputmask": {
"type": "package",
"package": {
"name": "jquery/inputmask",
"version": "5.0.6-beta.45",
"type": "drupal-library",
"extra": {
"installer-name": "jquery.inputmask"
},
"dist": {
"url": "https://github.com/RobinHerbots/jquery.inputmask/archive/5.0.5.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
}
},
But unsuccessful in that it does not have priority over the one defined in webform:
- Root composer.json requires jquery/inputmask 5.0.6-beta.45, it is satisfiable by jquery/inputmask[5.0.6-beta.45] from package repo (defining 1 package) but jquery/inputmask[5.0.5] from package repo (defining 1 package) has higher repository priority. The packages with higher priority do not match your constraint and are therefore not installable. See https://getcomposer.org/repoprio for details and assistance.
But i don't know how to take priority.