This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Composer

    We highly recommend using our Composer Project Template to build and maintain your WxT derived project’s codebase.

    Getting Started

    The following command is all you need to get started:

    composer create-project drupalwxt/wxt-project:5.1.1 <site-name>
    

    Note: For development you may also specify a branch using drupalwxt/wxt-project:5.1.x-dev.

    You can see a working example of a fully generated Composer Project Template over at:

    Where the following is the command that was used for the initial generation:

    composer create-project drupalwxt/wxt-project:5.1.1 site-wxt
    

    Note: Remember to keep the composer.json and composer.lock files that exist above docroot in source control as they are controlling your dependencies.

    Maintenance

    List of common commands are as follows:

    TaskComposer
    Installing a contrib project (latest version)composer require drupal/PROJECT
    Installing a contrib project (specific version)composer require drupal/PROJECT:1.0.0-beta5
    Updating all projects including Drupal Corecomposer update
    Updating a single contrib projectcomposer update drupal/PROJECT_NAME
    Updating Drupal Corecomposer update drupal/core

    Note: Composer is a dependency manager and helps us keep track of what code and at what version our application relies on so that it always get installed the right way on every copy of that application.

    Specifying a version

    A specific version can be specified from the cli:

    composer require drupal/<modulename>:<version>
    

    However please note if you specify a branch, such as 1.x you must add -dev to the end of the version:

    composer require drupal/token:1.x-dev
    

    Source Control

    Taking a look at the .gitignore file, you will discover that certain directories, including all those directories containing contributed projects, are excluded from source control which is by design.

    Note: Unlike Drush in a Composer derived project you should never commit your install dependencies to source control.

    Composer will create composer.lock file, which is a list of dependencies that were installed, and in which versions.

    Note: In general you should always commit your composer.lock file to source control so that others via a quick composer install can have everything installed along with the correct versions specified in the composer.lock file.

    How to update Drupal Core?

    Please don’t add drupal/core to your project’s composer.json since WxT manages Drupal Core for you along with the series of patches on top of it.

    For example:

    • drupalwxt/wxt:~5.2.0 will require Drupal Core 10.2.x
    • drupalwxt/wxt:~5.1.0 will require Drupal Core 10.1.x

    When you need to update Drupal Core as an example from 10.1.x to 10.2.x, all you would do is change your requirement for drupalwxt/wxt in your composer.json file:

    composer require --no-update drupalwxt/wxt:~5.2.0
    composer update
    

    Compatibility table

    WxT versionDrupal Core versionDrush versionPHP version
    5.2.x10.2.x>=12.48.2
    5.1.x10.1.x>=12.18.1