Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 0 additions & 102 deletions .circleci/config.yml

This file was deleted.

21 changes: 0 additions & 21 deletions .circleci/merge-to-reference.sh

This file was deleted.

19 changes: 19 additions & 0 deletions .ddev/addon-metadata/ddev-drupal-contrib/manifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: ddev-drupal-contrib
repository: ddev/ddev-drupal-contrib
version: 1.1.5
install_date: "2026-07-04T17:00:13+10:00"
project_files:
- commands/host/core-version
- commands/web/eslint
- commands/web/expand-composer-json
- commands/web/nightwatch
- commands/web/phpcbf
- commands/web/phpcs
- commands/web/phpstan
- commands/web/phpunit
- commands/web/poser
- commands/web/stylelint
- commands/web/symlink-project
- config.contrib.yaml
global_files: []
removal_actions: []
19 changes: 19 additions & 0 deletions .ddev/addon-metadata/ddev-selenium-standalone-chrome/manifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: ddev-selenium-standalone-chrome
repository: ddev/ddev-selenium-standalone-chrome
version: 2.1.0
install_date: "2026-07-04T17:51:19+10:00"
project_files:
- docker-compose.selenium-chrome.yaml
- config.selenium-standalone-chrome.yaml
global_files: []
removal_actions:
- |
#ddev-nodisplay
#ddev-description:Remove docker-compose.selenium-chrome_extras.yaml file
if [ -f docker-compose.selenium-chrome_extras.yaml ]; then
if grep -q '#ddev-generated' docker-compose.selenium-chrome_extras.yaml; then
rm -f docker-compose.selenium-chrome_extras.yaml
else
echo "Unwilling to remove '$DDEV_APPROOT/.ddev/docker-compose.selenium-chrome_extras.yaml' because it does not have #ddev-generated in it; you can manually delete it if it is safe to delete."
fi
fi
9 changes: 9 additions & 0 deletions .ddev/addon-metadata/elasticsearch/manifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: elasticsearch
repository: ddev/ddev-elasticsearch
version: v0.3.3
install_date: "2026-07-04T17:40:21+10:00"
project_files:
- elasticsearch/
- docker-compose.elasticsearch.yaml
global_files: []
removal_actions: []
20 changes: 20 additions & 0 deletions .ddev/commands/host/build
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env bash

## Description: Full rebuild from scratch: wipe web/ and vendor/, then start, poser, symlink-project and install-site.
## Usage: build
## Example: "ddev build"

set -eu -o pipefail

cd "${DDEV_APPROOT}"

# Drupal locks sites/default read-only after install; unlock it so rm can succeed.
if [ -d web/sites/default ]; then
chmod -R u+w web/sites/default
fi
rm -rf web vendor

ddev start
ddev poser
ddev symlink-project
ddev install-site
22 changes: 22 additions & 0 deletions .ddev/commands/host/core-version
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/usr/bin/env bash

#ddev-generated
## Command provided by https://github.com/ddev/ddev-drupal-contrib
## Description: Switch the core version and rebuild.
## Usage: core-version [version]
## Example: "ddev core-version ^11" or "ddev core-version ~11.1.0"

set -eu -o pipefail

# Handle default values.
DRUPAL_CORE=${1:-default}
if [ "$DRUPAL_CORE" == "default" ]; then
DRUPAL_CORE=""
fi

# Set/clear the env.
ddev dotenv set .ddev/.env.web --drupal-core "${DRUPAL_CORE}"

# Restart and rebuild.
ddev restart
ddev poser
22 changes: 22 additions & 0 deletions .ddev/commands/web/eslint
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/usr/bin/env bash

#ddev-generated
## Command provided by https://github.com/ddev/ddev-drupal-contrib
## Description: Run eslint inside the web container
## Usage: eslint [flags] [args]
## Example: "ddev eslint"
## ExecRaw: true

set -eu -o pipefail

if "$DDEV_DOCROOT/core/node_modules/.bin/eslint" --version >/dev/null ; then
# Configure prettier
test -e .prettierrc.json || ln -s $DDEV_DOCROOT/core/.prettierrc.json .
test -e .prettierignore || echo '*.yml' > .prettierignore
# Change directory to the project root folder
cd "$DDEV_DOCROOT/$DRUPAL_PROJECTS_PATH/${DDEV_SITENAME//-/_}" || exit
"$DDEV_COMPOSER_ROOT/$DDEV_DOCROOT/core/node_modules/.bin/eslint" --config="../../../core/.eslintrc.passing.json" --no-error-on-unmatched-pattern --ignore-pattern="*.es6.js" --resolve-plugins-relative-to=$DDEV_COMPOSER_ROOT/$DDEV_DOCROOT/core --ext=.js,.yml . "$@"
else
echo "eslint is not available. You may need to 'ddev exec \"cd $DDEV_DOCROOT/core && yarn install\"'"
exit 1
fi
28 changes: 28 additions & 0 deletions .ddev/commands/web/expand-composer-json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/usr/bin/env bash

#ddev-generated
## Command provided by https://github.com/ddev/ddev-drupal-contrib
## Description: Add Drupal core and other needed dependencies.
## Usage: expand-composer-json [flags] [PROJECT_NAME]
## Example: "ddev expand-composer-json ctools"
## ExecRaw: true
## MutagenSync: true

set -eu -o pipefail

# Set the default core version.
export DRUPAL_CORE=${DRUPAL_CORE:-^11}

export _WEB_ROOT=$DDEV_DOCROOT
cd "$DDEV_COMPOSER_ROOT" || exit
curl -OL https://git.drupalcode.org/project/gitlab_templates/-/raw/default-ref/scripts/expand_composer_json.php
_ddev_drupal_contrib_empty_composer=false
if [[ ! -f composer.json ]]; then
echo "{}" > composer.json
_ddev_drupal_contrib_empty_composer=true
fi
php expand_composer_json.php "$DDEV_SITENAME"
rm -f expand_composer_json.php
if [ "$_ddev_drupal_contrib_empty_composer" = true ]; then
rm -f composer.json
fi
28 changes: 28 additions & 0 deletions .ddev/commands/web/install-site
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/usr/bin/env bash

## Description: Install a fresh Drupal site using the Tide installation profile.
## Usage: install-site
## Example: "ddev install-site"
## ExecRaw: true

set -eu -o pipefail

DRUPAL_PROFILE=${DRUPAL_PROFILE:-tide}
DRUPAL_ADMIN_NAME=${DRUPAL_ADMIN_NAME:-admin}
DRUPAL_ADMIN_PASSWORD=${DRUPAL_ADMIN_PASSWORD:-admin}

drush site:install "${DRUPAL_PROFILE}" -y \
--account-name="${DRUPAL_ADMIN_NAME}" \
--account-pass="${DRUPAL_ADMIN_PASSWORD}" \
--site-name="Single Digital Presence Content Management System" \
install_configure_form.enable_update_status_module=NULL \
install_configure_form.enable_update_status_emails=NULL

drush user:unblock "${DRUPAL_ADMIN_NAME}"

echo "==> Pointing ClamAV at the local ddev service"
drush -y config:set clamav.settings mode_daemon_tcpip.hostname clamav
drush -y config:set clamav.settings mode_daemon_tcpip.port 3310

drush cache:rebuild
drush user:login --no-browser
12 changes: 12 additions & 0 deletions .ddev/commands/web/nightwatch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/usr/bin/env bash

#ddev-generated
## Command provided by https://github.com/ddev/ddev-drupal-contrib
## Description: Run nightwatch inside the web container
## Usage: nightwatch [flags] [args]
## Example: "ddev nightwatch"
## ExecRaw: true

set -eu -o pipefail

yarn --cwd "$DDEV_DOCROOT/core" test:nightwatch "$DDEV_APPROOT/$DDEV_DOCROOT/$DRUPAL_PROJECTS_PATH/" "$@"
17 changes: 17 additions & 0 deletions .ddev/commands/web/phpcbf
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/usr/bin/env bash

#ddev-generated
## Command provided by https://github.com/ddev/ddev-drupal-contrib
## Description: Run phpcbf inside the web container
## Usage: phpcbf [flags] [args]
## Example: "ddev phpcbf" or "ddev phpcbf -n"
## ExecRaw: true

set -eu -o pipefail

if ! command -v phpcbf >/dev/null; then
echo "phpcbf is not available. You may need to 'ddev composer install'"
exit 1
fi
test -e phpcs.xml.dist || curl -OL https://git.drupalcode.org/project/gitlab_templates/-/raw/default-ref/assets/phpcs.xml.dist
phpcbf -s --report-full --report-summary --report-source $DDEV_DOCROOT/$DRUPAL_PROJECTS_PATH "$@"
17 changes: 17 additions & 0 deletions .ddev/commands/web/phpcs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/usr/bin/env bash

#ddev-generated
## Command provided by https://github.com/ddev/ddev-drupal-contrib
## Description: Run phpcs inside the web container
## Usage: phpcs [flags] [args]
## Example: "ddev phpcs" or "ddev phpcs -n"
## ExecRaw: true

set -eu -o pipefail

if ! command -v phpcs >/dev/null; then
echo "phpcs is not available. You may need to 'ddev composer install'"
exit 1
fi
test -e phpcs.xml.dist || curl -OL https://git.drupalcode.org/project/gitlab_templates/-/raw/default-ref/assets/phpcs.xml.dist
phpcs -s --report-full --report-summary --report-source $DDEV_DOCROOT/$DRUPAL_PROJECTS_PATH --ignore=*/.ddev/* "$@"
28 changes: 28 additions & 0 deletions .ddev/commands/web/phpstan
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/usr/bin/env bash

#ddev-generated
## Command provided by https://github.com/ddev/ddev-drupal-contrib
## Description: Run phpstan inside the web container
## Usage: phpstan [flags] [args]
## Example: "ddev phpstan" or "ddev phpstan -n"
## ExecRaw: true
## MutagenSync: true

set -eu -o pipefail

if ! command -v phpstan >/dev/null; then
echo "phpstan is not available. You may need to 'ddev poser'"
exit 1
fi
test -e phpstan.neon || curl -OL https://git.drupalcode.org/project/gitlab_templates/-/raw/default-ref/assets/phpstan.neon
# See https://git.drupalcode.org/project/gitlab_templates/-/commit/a107b7f1f79af12e0b09f70be47b68e3f69b4504
sed -i 's/BASELINE_PLACEHOLDER/phpstan-baseline.neon/g' phpstan.neon
# Add an empty baseline file to ensure it exists.
test -e phpstan-baseline.neon || touch phpstan-baseline.neon

EXTENSION_DIRECTORY=$DDEV_DOCROOT/$DRUPAL_PROJECTS_PATH/${DDEV_SITENAME//-/_}
cd "$EXTENSION_DIRECTORY" || exit 1
# Ensure PHPStan configuration is symlinked from project root.
ln -s $DDEV_DOCROOT/phpstan.neon 2>/dev/null || true
ln -s $DDEV_DOCROOT/phpstan-baseline.neon 2>/dev/null || true
phpstan analyze . "$@"
Loading
Loading