edelmandigital / drupal-project
Project template for Drupal 8 project
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Type:project
pkg:composer/edelmandigital/drupal-project
Requires
- php: >=7.2.0
 - composer/installers: ^1.2
 - cweagans/composer-patches: ^1.6.5
 - drupal/console: ^1.0.2
 - drupal/core: ~8
 - drupal/core-composer-scaffold: ~8
 - drush/drush: ^9.7.1 | ^10.0.0
 - vlucas/phpdotenv: ^4.0
 - webflo/drupal-finder: ^1.0.0
 - zaporylie/composer-drupal-optimizations: ^1.0
 
Requires (Dev)
- drupal/core-dev: ~8
 
Conflicts
This package is auto-updated.
Last update: 2025-10-06 04:14:24 UTC
README
Usage
First you need to install composer.
Note: The instructions below refer to the global composer installation. You might need to replace
composerwithphp composer.phar(or similar) for your setup.
After that you can create the project:
composer create-project drupal-composer/drupal-project:8.x-dev some-dir --no-interaction
With composer require ... you can download new dependencies to your
installation.
cd some-dir
composer require drupal/devel:~1.0
The composer create-project command passes ownership of all files to the
project that is created. You should create a new git repository, and commit
all files not excluded by the .gitignore file.
What does the template do?
When installing the given composer.json some tasks are taken care of:
- Drupal will be installed in the 
web-directory. - Autoloader is implemented to use the generated composer autoloader in 
vendor/autoload.php, instead of the one provided by Drupal (web/vendor/autoload.php). - Modules (packages of type 
drupal-module) will be placed inweb/modules/contrib/ - Theme (packages of type 
drupal-theme) will be placed inweb/themes/contrib/ - Profiles (packages of type 
drupal-profile) will be placed inweb/profiles/contrib/ - Creates default writable versions of 
settings.phpandservices.yml. - Creates 
web/sites/default/files-directory. - Latest version of drush is installed locally for use at 
vendor/bin/drush. - Latest version of DrupalConsole is installed locally for use at 
vendor/bin/drupal. - Creates environment variables based on your .env file. See .env.example.
 
Updating Drupal Core
This project will attempt to keep all of your Drupal Core files up-to-date; the project drupal/core-composer-scaffold is used to ensure that your scaffold files are updated every time drupal/core is updated. If you customize any of the "scaffolding" files (commonly .htaccess), you may need to merge conflicts if any of your modified files are updated in a new release of Drupal core.
Follow the steps below to update your core files.
- Run 
composer update drupal/core drupal/core-dev --with-dependenciesto update Drupal Core and its dependencies. - Run 
git diffto determine if any of the scaffolding files have changed. Review the files for any changes and restore any customizations to.htaccessorrobots.txt. - Commit everything all together in a single commit, so 
webwill remain in sync with thecorewhen checking out branches or runninggit bisect. - In the event that there are non-trivial conflicts in step 2, you may wish
to perform these steps on a branch, and use 
git mergeto combine the updated core files with your customized files. This facilitates the use of a three-way merge tool such as kdiff3. This setup is not necessary if your changes are simple; keeping all of your modifications at the beginning or end of the file is a good strategy to keep merges easy.