Comments (8)
Some other likely candidates would be:
drupal-drush
--------> ~/.drush/{name}
drupal-profile
--------> profiles/{name}
from installers.
~/.drush/{name} is good for dev environments but not as nice for servers.
If trying to bridge Drupal 6/Drupal 7 to the Composer world, the convention for third-party libraries? Seems painful to use Drupal-specific manifests...
drupal-library
----> sites/all/libraries
from installers.
Not sure about drupal-library as that's just a depending package (normal "library").
from installers.
I'm not against liberally adding types if they are useful. I imagine the likeliness of a conflict is low.
from installers.
drupal-drush
--------> ~/.drush/{name}
Not sure how I feel about this one either. Seems to be mixing and matching philosophies. If Composer is following the lead of rubygems
and npm
, it would seem that it's aiming to put all dependencies (even development deps for tools) isolated into the project directory. (I realize that many sysadmins hate this approach, as it puts them out of the loop in vetting what are traditionally system-level tools. But I think it's an inevitable culture shift.)
For example, while they've been system-wide installs traditionally, Composer packaging philosophy puts PHPunit and PHP_CodeSniffer into the project directory itself. Shouldn't drush follow the same examples, leaving behind the idea of installing a single version of drush extensions (or even drush itself) for the whole system?
Tangent for Drupal peeps
Personally, I'm moving in the direction of keeping all build/test/deploy scripts and requirements in the repo with the code, and while I'm a fringe case, I think there's merit in this approach -- a build script at a given point in time (a given SHA1 commit hash) is only guaranteed to build the corresponding version of the site from that same point in time (hash), and will only be guaranteed to run correctly with a specific version of drush (as in, the drush version from composer.json
at that hash). So to have a self-contained and totally version-controlled drupal site/project, the drush and dev tools versions should be project specific.
Am I talking crazy-talk here?
//cc @sdboyer (cause I know he's interested in this stuff)
from installers.
unfortunately, with the crappy typing we still have on drupal.org, it's tough to go much beyond module/theme. a special case could certainly be written for drush, and i think that makes sense, but there's no real way to do libraries that well, short of a simple whitelist.
generally speaking though, yeah, follow the drush make conventions.
from installers.
Not sure about drupal-library as that's just a depending package (normal "library").
Absolutely right. Which makes the broader form of my question "How can I get a D6 or D7 site to play nice with Composer and not manage external libraries in multiple ways."
drupal-drush
-------->~/.drush/{name}
Good location for a development environment, but not necessarily good for a server environment. We're headed towards having our own /etc/drush/drushrc.php file and pointing it to some other server location for commands and the like.
it would seem that it's aiming to put all dependencies (even development deps for tools) isolated into the project directory
This does seem like the standard that makes sense, but drush (at least) would need some different usage in mind. A "project context" lookup for a drush installation might do the trick. Take to the drush queue.
Personally, I'm moving in the direction of keeping all build/test/deploy scripts and requirements in the repo with the code [...]
We have done that (sans Drush itself) and are moving toward "paired" repo's, a "product" repo, a "tools" repo, and more general purpose "deploy/devops" repo. All three are tagged before a release. For us, the release cycle has various points of freeze which prevent us rolling out tools that would otherwise be useful and compatible.
from installers.
Hey guys! Just following up. Is there consensus on supporting any new Drupal types?
from installers.
Related Issues (20)
- When target location change, data must be moved (not duplicated) HOT 3
- Path issue shows with composer installing via MAMP on macOS HOT 1
- Your app key is missing message issue
- Want to write a custom path for plug-in package? I don't know how to debug
- composer 2.3.5 breaks composer/installers HOT 3
- Disabling installer in my package will still trigger the installer path when it's pulled in a project HOT 4
- Add license to the package HOT 1
- Add version to installer-path variables HOT 1
- Add Support for "Generic" Library HOT 2
- Support https://asset-packagist.org/ types? HOT 3
- Using vcs repo without composer.json
- Add a installer for Laminas project
- Renaming vendor breaks composer install HOT 2
- mediawiki-skin should install in CamelCase name directory
- Could we add support of wordpress-core type?
- Why are dependencies still present in the installer path after removal?
- Add support for Moodle "tiny" plugins HOT 1
- Extend documentation regarding disabling of installers
- Add partial support for the generic "library" and "project" types
- Composer Install Installs Modules in "vendor" Instead of Specified "modules" Directory
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from installers.