This library provides tools for an opinionated composer workflow with Drupal.
When invoked, it creates a Drupal root that can respond to requests routed to it from a web server.
The algorithm is something like this:
- copy drupal/drupal out of vendor and into the given drupal path (default: www)
- link modules and themese installed with composer from vendor into the drupal root
- link directories from the modules directory into sites/all/modules
- link directories from the themes directory into sites/all/themes
- link files that look like module files into a directory in sites/all/modules
- link cnf/settings.php into sites/default
- link vendor into sites/default
- link cnf/files into sites/default
Use composer.
You have the choice of using a small commandline application or a script handler.
vendor/bin/drupal_tangle -h
Usage:
drupal:tangle [project] [drupal]
Arguments:
project path to project to tangle
drupal path to drupal in which to tangle (default: "www")
You can automate the use of the tangler in response to composer events like so:
{
...
"scripts": {
"post-install-cmd": [
"Drupal\\Tangler\\ScriptHandler::postUpdate",
],
"post-update-cmd": [
"Drupal\\Tangler\\ScriptHandler::postUpdate"
]
},
...
}