diff --git a/old/drupal/.docker.env.example b/old/drupal/.docker.env.example new file mode 100644 index 000000000..68125fcf5 --- /dev/null +++ b/old/drupal/.docker.env.example @@ -0,0 +1,10 @@ +MYSQL_DATABASE=drupal +MYSQL_PASSWORD=drupal +MYSQL_ROOT_PASSWORD=root +MYSQL_USER=drupal + +# DOCKER_MYSQL_VOLUME=./db-data:/var/lib/mysql +DOCKER_MYSQL_VOLUME=mysql_data:/var/lib/mysql + +# DOCKER_WEB_PORT=80 +DOCKER_WEB_PORT=127.0.0.1:80 diff --git a/old/drupal/.dockerignore b/old/drupal/.dockerignore new file mode 100644 index 000000000..ea3f4b4b4 --- /dev/null +++ b/old/drupal/.dockerignore @@ -0,0 +1,7 @@ +/**/*.{md,txt} +/.git-blame-ignore-revs +/.git/ +/.github/ +/.gitignore +/.idea/ +/.notes/ diff --git a/old/drupal/.env.example b/old/drupal/.env.example new file mode 100644 index 000000000..fb543f8d4 --- /dev/null +++ b/old/drupal/.env.example @@ -0,0 +1,10 @@ +IFTTT_WEBHOOK_URL= + +INTEGROMAT_WEBHOOK_URL= + +# Which environment is running? This should be "development" or "production". +# NODE_ENV=development +NODE_ENV=production + +# DOCKER_RESTART_POLICY=no +DOCKER_RESTART_POLICY=unless-stopped diff --git a/old/drupal/.environment b/old/drupal/.environment new file mode 100644 index 000000000..f55ecf981 --- /dev/null +++ b/old/drupal/.environment @@ -0,0 +1,4 @@ +unset NPM_CONFIG_PREFIX +export NO_UPDATE_NOTIFIER=1 +export NVM_DIR="$PLATFORM_APP_DIR/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" diff --git a/old/drupal/.github/dependabot.yml b/old/drupal/.github/dependabot.yml new file mode 100644 index 000000000..95a652a11 --- /dev/null +++ b/old/drupal/.github/dependabot.yml @@ -0,0 +1,14 @@ +version: 2 + +updates: + - package-ecosystem: composer + directory: / + schedule: + interval: daily + versioning-strategy: increase-if-necessary + + - package-ecosystem: npm + directory: web/themes/custom/opdavies + schedule: + interval: weekly + versioning-strategy: increase-if-necessary diff --git a/old/drupal/.github/workflows/ci.yml b/old/drupal/.github/workflows/ci.yml new file mode 100644 index 000000000..d723a1f9c --- /dev/null +++ b/old/drupal/.github/workflows/ci.yml @@ -0,0 +1,210 @@ +name: CI + +on: + pull_request: + branches: + - production + push: + branches: + - production + workflow_dispatch: + +env: + php_version: '7.4' + +jobs: + install: + runs-on: ubuntu-latest + name: Test Drupal site installation + steps: + - uses: actions/checkout@a81bbbf8298c0fa03ea29cdc473d45769f953675 + + - name: Cache dependencies + uses: actions/cache@d9747005de0f7240e5d35a68dca96b3f41b8b340 + with: + path: | + ~/.composer/cache/files + web/core + web/modules/contrib + web/themes/contrib + vendor + key: dependencies-composer-${{ hashFiles('composer.lock') }} + + - name: Setup PHP + uses: shivammathur/setup-php@5d27b8f90ea9479ac7af4fcaad6b411eb19d7170 + with: + php-version: ${{ env.php_version }} + extensions: mbstring + coverage: none + + - run: | + composer validate + composer install --prefer-dist --no-interaction --no-suggest + + - name: Install Drupal + run: > + bin/drush --root=$(pwd)/web + site:install -y + --existing-config + --db-url=sqlite://sites/default/files/.ht.sqlite + + - run: php -S localhost:8000 -t web 2>&1 & + + - name: Test loading the home page + run: curl http://localhost:8000 + + - name: Verify the home page has the site name in it + run: curl -s http://localhost:8000 | grep "Oliver Davies" + + theme: + name: Build the theme assets + runs-on: ubuntu-latest + strategy: + matrix: + theme-path: + - web/themes/custom/opdavies + steps: + - uses: actions/checkout@a81bbbf8298c0fa03ea29cdc473d45769f953675 + + - name: Setup node and npm + uses: actions/setup-node@56899e050abffc08c2b3b61f3ec6a79a9dc3223d + with: + node-version: 12 + + - name: Cache npm dependencies + uses: actions/cache@d9747005de0f7240e5d35a68dca96b3f41b8b340 + with: + path: node_modules + key: dependencies-npm-${{ hashFiles('package-lock.json') }} + + phpunit: + runs-on: ubuntu-latest + name: "Run ${{ matrix.test-types }} tests" + strategy: + matrix: + test-types: + - functional + - kernel + - unit + steps: + - uses: actions/checkout@a81bbbf8298c0fa03ea29cdc473d45769f953675 + + - name: Cache dependencies + uses: actions/cache@d9747005de0f7240e5d35a68dca96b3f41b8b340 + with: + path: | + ~/.composer/cache/files + web/core + web/modules/constrib + web/themes/contrib + vendor + key: dependencies-composer-${{ hashFiles('composer.lock') }} + + - name: Setup PHP + uses: shivammathur/setup-php@5d27b8f90ea9479ac7af4fcaad6b411eb19d7170 + with: + php-version: ${{ env.php_version }} + extensions: mbstring + coverage: none + + - run: composer install --prefer-dist --no-interaction --no-suggest + + - run: php -S localhost:8000 -t web 2>&1 & + if: matrix.test-types == 'functional' + + - run: bin/phpunit --testdox --colors=always --testsuite=${{ matrix.test-types }} + env: + SIMPLETEST_BASE_URL: http://localhost:8000 + + phpcs: + runs-on: ubuntu-latest + name: "Run coding standards checks" + steps: + - uses: actions/checkout@a81bbbf8298c0fa03ea29cdc473d45769f953675 + + - name: Cache dependencies + uses: actions/cache@d9747005de0f7240e5d35a68dca96b3f41b8b340 + with: + path: | + ~/.composer/cache/files + web/core + web/modules/constrib + web/themes/contrib + vendor + key: dependencies-composer-${{ hashFiles('composer.lock') }} + + - name: Setup PHP + uses: shivammathur/setup-php@5d27b8f90ea9479ac7af4fcaad6b411eb19d7170 + with: + php-version: ${{ env.php_version }} + + - run: composer install --prefer-dist --no-interaction --no-suggest + + - run: bin/phpcs -s --warning-severity=6 + + phpstan: + runs-on: ubuntu-latest + name: Static analysis with PHPStan + steps: + - uses: actions/checkout@a81bbbf8298c0fa03ea29cdc473d45769f953675 + + - name: Cache dependencies + uses: actions/cache@d9747005de0f7240e5d35a68dca96b3f41b8b340 + with: + path: | + ~/.composer/cache/files + web/core + web/modules/constrib + web/themes/contrib + vendor + key: dependencies-composer-${{ hashFiles('composer.lock') }} + + - name: Setup PHP + uses: shivammathur/setup-php@5d27b8f90ea9479ac7af4fcaad6b411eb19d7170 + with: + php-version: ${{ env.php_version }} + + - run: composer install --prefer-dist --no-interaction --no-suggest + + - run: bin/phpstan analyze + + # deploy: + # name: Deploy via Ansible + # runs-on: ubuntu-latest + # needs: + # - install + # - phpcs + # - phpstan + # - phpunit + # - theme + # if: github.event_name == 'push' + # env: + # ANSIBLE_FORCE_COLOR: 1 + # ANSIBLE_HOST_KEY_CHECKING: no + # steps: + # - name: Checkout the code + # uses: actions/checkout@a81bbbf8298c0fa03ea29cdc473d45769f953675 + # + # - name: Add the deployment SSH key + # uses: shimataro/ssh-key-action@6f350ca8484d8d55c2e361e74d17e638dabe713a # 2.1.0 + # with: + # key: ${{ secrets.SSH_PRIVATE_KEY }} + # name: id_rsa + # known_hosts: ${{ secrets.SSH_KNOWN_HOSTS }} + # + # - name: Cache dependencies + # uses: actions/cache@d9747005de0f7240e5d35a68dca96b3f41b8b340 + # with: + # path: tools/deployment/.roles + # key: dependencies-composer-${{ hashFiles('tools/deployment/requirements.yml') }} + # + # - name: Export the Ansible Vault password + # run: echo $ANSIBLE_VAULT_PASS > tools/deployment/.vault-pass.txt + # env: + # ANSIBLE_VAULT_PASS: ${{ secrets.ANSIBLE_VAULT_PASS }} + # + # - name: Deploy the code + # run: ./run ci:deploy + # + # - name: Remove the Ansible Vault password file + # run: rm tools/deployment/.vault-pass.txt diff --git a/old/drupal/.github/workflows/unlabel-closed-issues.yml b/old/drupal/.github/workflows/unlabel-closed-issues.yml new file mode 100644 index 000000000..0cce0d11a --- /dev/null +++ b/old/drupal/.github/workflows/unlabel-closed-issues.yml @@ -0,0 +1,17 @@ +--- +name: Remove labels from closed issues + +on: + issues: + types: [closed] + +jobs: + unlabel: + runs-on: ubuntu-latest + + steps: + - name: Unlabel the closed issue + uses: actions-ecosystem/action-remove-labels@556e306 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + labels: next diff --git a/old/drupal/.gitignore b/old/drupal/.gitignore new file mode 100644 index 000000000..60e037993 --- /dev/null +++ b/old/drupal/.gitignore @@ -0,0 +1,30 @@ +* +!*/ +!/.gitignore +!/**/.gitkeep +!/.docker.env.example +!/.dockerignore +!/.env.example +!/.environment +!/.github/** +!/assets/** +!/bin/ +!/config/** +!/Dockerfile +!/docker-compose.override.yaml.example +!/docker-compose.yaml +!/phpcs.xml.dist +!/phpstan*.neon +!/phpunit.xml.dist +!/run +!/scripts/ +!/tools/** +!/web/modules/custom/** +!/web/sites/default/environments/settings.*.php +!/web/sites/default/settings.php +!/web/sites/default/settings.docker.php +!/web/themes/custom/** +/.platform/local/ +/tools/deployment/.roles/ +/vendor/ +/web/themes/custom/*/body-field-values.txt diff --git a/old/drupal/Dockerfile b/old/drupal/Dockerfile new file mode 100644 index 000000000..430e57535 --- /dev/null +++ b/old/drupal/Dockerfile @@ -0,0 +1,78 @@ +FROM node:14-buster-slim AS assets + +ARG NODE_ENV=production +ENV NODE_ENV="${NODE_ENV:-production}" \ + PATH="${PATH}:/node_modules/.bin" + +WORKDIR /app + +RUN mkdir /node_modules \ + && chown node:node -R /node_modules /app + +USER node + +COPY --chown=node:node run . + +WORKDIR /app/web/themes/custom/opdavies + +COPY --chown=node:node web/themes/custom/opdavies/.yarnrc . +COPY --chown=node:node web/themes/custom/opdavies/package.json . +COPY --chown=node:node web/themes/custom/opdavies/yarn.lock . + +RUN yarn install && yarn cache clean + +COPY --chown=node:node config ../../../../config + +CMD ["bash"] + +### + +FROM nginx:1-alpine AS nginx +COPY tools/docker/images/nginx/configs/vhost.conf /etc/nginx/conf.d/default.conf +WORKDIR /app +COPY web web/ +WORKDIR /app/web/themes/custom/opdavies +COPY --from=assets /app/web/themes/custom/opdavies/build build + +### + +FROM php:7.4-fpm-buster AS base + +RUN apt-get update -yqq && \ + apt-get install -yqq --no-install-recommends \ + libpng-dev \ + mariadb-client \ + unzip \ + zlib1g-dev \ + && docker-php-ext-install \ + exif \ + gd \ + pdo_mysql \ + && rm -fr /var/lib/apt/lists/* + +### + +FROM base AS dev + +ARG xdebug_version=2.9.0 + +RUN apt-get update -yqq \ + && apt-get install -yqq --no-install-recommends \ + git \ + pv \ + vim \ + zip \ + && pecl install xdebug-${xdebug_version} \ + && docker-php-ext-enable xdebug \ + && rm -fr /var/lib/apt/lists/* + +COPY --from=composer:2 /usr/bin/composer /usr/bin/composer +COPY tools/docker/images/php/configs/php.ini /usr/local/etc/php/conf.d/php.ini + +WORKDIR /app +ENV PATH="$PATH:/app/bin" + +COPY composer.json composer.lock /app/ +COPY assets /app/assets +COPY tools/patches /app/tools/patches +RUN composer install diff --git a/old/drupal/README.md b/old/drupal/README.md new file mode 100644 index 000000000..2ac9d1935 --- /dev/null +++ b/old/drupal/README.md @@ -0,0 +1,67 @@ +# oliverdavies.uk + +## Hosting + +This site is hosted on a DigitalOcean droplet, which was created using [Ansible][] (see `tools/deployment/digitalocean.yml`). + +[Ansible]: https://www.ansible.com + +## Provisioning + +To re-provision the server: + +```bash +# Download the required roles +ansible-galaxy install -r tools/deployment/requirements.yml --force + +# Run the provision playbook +ansible-playbook tools/deployment/provision.yml +``` + +### Deploying + +Deployments for this site for managed with Ansible and [Ansistrano][]. +Ansible Vault is used to manage sensitive information like database passwords. + +Deployments are triggered automatically when changes are pushed to GitHub, and are performed automatically via GitHub Actions on each push to the `production` branch. + +To run a deployment manually, run `ansible-playbook tools/deployment/deploy.yml --ask-vault-pass`. +The Vault password is stored in LastPass. + +[Ansistrano]: https://ansistrano.com + +#### Generating settings files + +Production settings files are generated automatically during a deployment. This is done using the [opdavies.drupal_settings_files][drupal_settings_files] Ansible role, using variables from `tools/deployment/vars/deploy_vars.yml`, and performed during Ansistrano’s `After update code` build step. + +[drupal_settings_files]: https://galaxy.ansible.com/opdavies/drupal_settings_files + +## Local development + +### Migrating data into the website + +To view the status of all the migrations: + + ./run drush migrate:status + +To run all the migrations: + + ./run drush migrate:import --all + +To run all the migrations and update the existing migrated content: + + ./run drush migrate:import --all --update + +### Updating Drupal core + +Updating Drupal core (and anything else) can be done using Composer. As this project is built using the Drupal core recommended project, all of the dependencies need to be updated: + + ./run composer update drupal/core-* --with-all-dependencies + +Once this has completed, the updated `composer.lock` file can be committed and pushed. + +## Talks ordering + +In order to keep the talks page in the correct order, based on when the next time a talk is being given, the `created` date for the talk node is automatically updated on each save to match the date of the most future event for that talk. + +The view is then sorting the talk nodes based on their `created` date. diff --git a/old/drupal/assets/robots-additions.txt b/old/drupal/assets/robots-additions.txt new file mode 100644 index 000000000..58b94a5cb --- /dev/null +++ b/old/drupal/assets/robots-additions.txt @@ -0,0 +1,75 @@ +# Paths (clean URLs) +Disallow: /atNOQ/ +Disallow: /calendar/ +Disallow: /code-enigma-interview/ +Disallow: /drupal-core-live-stream/ +Disallow: /drupal-tailwindcss/ +Disallow: /drupalcamp-nyc-training/ +Disallow: /drupalorg/ +Disallow: /drupalorg/ +Disallow: /github/ +Disallow: /inviqa-tailwind-demo/ +Disallow: /inviqa-tailwind-notes/ +Disallow: /leeds-php-drupal-9/ +Disallow: /linkedin/ +Disallow: /rebuilding-bristol-js/ +Disallow: /rebuilding-pantheon/ +Disallow: /rebuilding-pantheon/ +Disallow: /rebuilding-symfony/ +Disallow: /slides-drupal-9/ +Disallow: /slides-upgrading-to-drupal-9/ +Disallow: /slides-working-with-workspace/ +Disallow: /symfony/ +Disallow: /twitter/ +Disallow: /webpack-encore-pcss-regex/ +Disallow: /workshop-drupal-testing/ +Disallow: /workspace-demo/ + +# Paths (clean URLs - no slash) +Disallow: /admin +Disallow: /atNOQ +Disallow: /calendar +Disallow: /code-enigma-interview +Disallow: /comment/reply +Disallow: /drupal-core-live-stream +Disallow: /drupal-tailwindcss +Disallow: /drupalcamp-nyc-training +Disallow: /drupalorg +Disallow: /drupalorg +Disallow: /filter/tips +Disallow: /github +Disallow: /inviqa-tailwind-demo +Disallow: /inviqa-tailwind-notes +Disallow: /leeds-php-drupal-9 +Disallow: /linkedin +Disallow: /node/add +Disallow: /rebuilding-bristol-js +Disallow: /rebuilding-pantheon +Disallow: /rebuilding-pantheon +Disallow: /rebuilding-symfony +Disallow: /slides-drupal-9 +Disallow: /slides-upgrading-to-drupal-9 +Disallow: /slides-working-with-workspace +Disallow: /symfony +Disallow: /twitter +Disallow: /user/login +Disallow: /user/logout +Disallow: /user/password +Disallow: /user/register +Disallow: /webpack-encore-pcss-regex +Disallow: /workshop-drupal-testing +Disallow: /workspace-demo + +# Paths (no clean URLs - no slash) +Disallow: /?q=admin +Disallow: /?q=comment/reply +Disallow: /?q=filter/tips +Disallow: /?q=node/add +Disallow: /?q=search +Disallow: /?q=user/password +Disallow: /?q=user/register +Disallow: /?q=user/login +Disallow: /?q=user/logout + +sitemap: https://www.oliverdavies.uk/sitemap.xml +sitemap: https://www.oliverdavies.uk/sitemap diff --git a/old/drupal/composer.json b/old/drupal/composer.json new file mode 100644 index 000000000..cccc27ad8 --- /dev/null +++ b/old/drupal/composer.json @@ -0,0 +1,128 @@ +{ + "name": "opdavies/oliverdavies-uk", + "description": "The source code for my personal website, oliverdavies.uk.", + "type": "project", + "license": "GPL-2.0-or-later", + "homepage": "https://www.drupal.org/project/drupal", + "repositories": [ + { + "type": "composer", + "url": "https://packages.drupal.org/8" + } + ], + "require": { + "beberlei/assert": "^3.2", + "composer/installers": "^1.2", + "cweagans/composer-patches": "^1.6", + "drupal/admin_toolbar": "^2.0", + "drupal/config_ignore": "^2.2", + "drupal/config_split": "^1.4", + "drupal/core-composer-scaffold": "^8.8", + "drupal/core-recommended": "^8.8", + "drupal/gin": "^3.0", + "drupal/gin_toolbar": "^1.0", + "drupal/honeypot": "^2.0", + "drupal/hook_event_dispatcher": "^2", + "drupal/hreflang": "^1.3", + "drupal/insert": "^2.0", + "drupal/markdown": "^3.0", + "drupal/menu_trail_by_path": "^1.3", + "drupal/metatag": "^1.11", + "drupal/migrate_plus": "^5.0", + "drupal/migrate_source_yaml": "^1.2", + "drupal/migrate_tools": "^4.5", + "drupal/paragraphs": "^1.10", + "drupal/pathauto": "^1.8", + "drupal/plausible": "^2", + "drupal/redirect": "^1.5", + "drupal/redis": "^1.5", + "drupal/scheduler": "^1.3", + "drupal/simple_sitemap": "^3.6", + "drupal/site_settings": "^1.19", + "drupal/sitemap": "^1.5", + "drupal/speakerdeck_field": "^2.0", + "drupal/stage_file_proxy": "^1.0", + "drush/drush": "^10", + "illuminate/collections": "^8.38", + "michelf/php-markdown": "^1.9", + "nesbot/carbon": "^2.33", + "platformsh/config-reader": "^2.4", + "symfony/config": "^3.4" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.7", + "drupal/coder": "^8.3", + "drupal/core-dev": "^8.8", + "mglaman/phpstan-drupal": "^0.12.3", + "phpstan/phpstan": "^0.12.19", + "phpstan/phpstan-deprecation-rules": "^0.12.2" + }, + "conflict": { + "drupal/drupal": "*" + }, + "minimum-stability": "dev", + "prefer-stable": true, + "scripts": { + "post-install-cmd": [ + "rm -fr web/modules/contrib/*/.git" + ], + "post-update-cmd": [ + "rm -fr web/modules/contrib/*/.git" + ] + }, + "config": { + "bin-dir": "bin", + "sort-packages": true + }, + "extra": { + "composer-exit-on-patch-failure": true, + "drupal-scaffold": { + "file-mapping": { + "[web-root]/.htaccess": false, + "[web-root]/.ht.router.php": false, + "[web-root]/sites/README.txt": false, + "[web-root]/modules/README.txt": false, + "[web-root]/profiles/README.txt": false, + "[web-root]/robots.txt": { + "append": "assets/robots-additions.txt" + }, + "[web-root]/themes/README.txt": false, + "[web-root]/web.config": false + }, + "locations": { + "web-root": "web/" + } + }, + "installer-paths": { + "web/core": [ + "type:drupal-core" + ], + "web/libraries/{$name}": [ + "type:drupal-library" + ], + "web/modules/contrib/{$name}": [ + "type:drupal-module" + ], + "web/profiles/contrib/{$name}": [ + "type:drupal-profile" + ], + "web/themes/contrib/{$name}": [ + "type:drupal-theme" + ], + "drush/Commands/contrib/{$name}": [ + "type:drupal-drush" + ], + "web/modules/custom/{$name}": [ + "type:drupal-custom-module" + ], + "web/themes/custom/{$name}": [ + "type:drupal-custom-theme" + ] + }, + "patches": { + "drupal/plausible": { + "Return early if user is not anonymous": "tools/patches/plausible/return-if-authenticated.patch" + } + } + } +} diff --git a/old/drupal/composer.lock b/old/drupal/composer.lock new file mode 100644 index 000000000..dde3d1ba5 --- /dev/null +++ b/old/drupal/composer.lock @@ -0,0 +1,12239 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "4e568994c7b2ae5c97f5df4a8253f536", + "packages": [ + { + "name": "asm89/stack-cors", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/asm89/stack-cors.git", + "reference": "b9c31def6a83f84b4d4a40d35996d375755f0e08" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/asm89/stack-cors/zipball/b9c31def6a83f84b4d4a40d35996d375755f0e08", + "reference": "b9c31def6a83f84b4d4a40d35996d375755f0e08", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/http-foundation": "~2.7|~3.0|~4.0|~5.0", + "symfony/http-kernel": "~2.7|~3.0|~4.0|~5.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.0 || ^4.8.10", + "squizlabs/php_codesniffer": "^2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Asm89\\Stack\\": "src/Asm89/Stack/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexander", + "email": "iam.asm89@gmail.com" + } + ], + "description": "Cross-origin resource sharing library and stack middleware", + "homepage": "https://github.com/asm89/stack-cors", + "keywords": [ + "cors", + "stack" + ], + "support": { + "issues": "https://github.com/asm89/stack-cors/issues", + "source": "https://github.com/asm89/stack-cors/tree/1.3.0" + }, + "time": "2019-12-24T22:41:47+00:00" + }, + { + "name": "beberlei/assert", + "version": "v3.2.7", + "source": { + "type": "git", + "url": "https://github.com/beberlei/assert.git", + "reference": "d63a6943fc4fd1a2aedb65994e3548715105abcf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/beberlei/assert/zipball/d63a6943fc4fd1a2aedb65994e3548715105abcf", + "reference": "d63a6943fc4fd1a2aedb65994e3548715105abcf", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-simplexml": "*", + "php": "^7" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "*", + "phpstan/phpstan-shim": "*", + "phpunit/phpunit": ">=6.0.0 <8" + }, + "suggest": { + "ext-intl": "Needed to allow Assertion::count(), Assertion::isCountable(), Assertion::minCount(), and Assertion::maxCount() to operate on ResourceBundles" + }, + "type": "library", + "autoload": { + "psr-4": { + "Assert\\": "lib/Assert" + }, + "files": [ + "lib/Assert/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de", + "role": "Lead Developer" + }, + { + "name": "Richard Quadling", + "email": "rquadling@gmail.com", + "role": "Collaborator" + } + ], + "description": "Thin assertion library for input validation in business models.", + "keywords": [ + "assert", + "assertion", + "validation" + ], + "support": { + "issues": "https://github.com/beberlei/assert/issues", + "source": "https://github.com/beberlei/assert/tree/v3" + }, + "time": "2019-12-19T17:51:41+00:00" + }, + { + "name": "chi-teck/drupal-code-generator", + "version": "1.33.1", + "source": { + "type": "git", + "url": "https://github.com/Chi-teck/drupal-code-generator.git", + "reference": "5f814e980b6f9cf1ca8c74cc9385c3d81090d388" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Chi-teck/drupal-code-generator/zipball/5f814e980b6f9cf1ca8c74cc9385c3d81090d388", + "reference": "5f814e980b6f9cf1ca8c74cc9385c3d81090d388", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=5.5.9", + "symfony/console": "^3.4 || ^4.0", + "symfony/filesystem": "^2.7 || ^3.4 || ^4.0", + "twig/twig": "^1.41 || ^2.12" + }, + "conflict": { + "drush/drush": "< 10.3.2" + }, + "bin": [ + "bin/dcg" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "files": [ + "src/bootstrap.php" + ], + "psr-4": { + "DrupalCodeGenerator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "description": "Drupal code generator", + "time": "2020-12-05T05:59:11+00:00" + }, + { + "name": "composer/installers", + "version": "v1.12.0", + "source": { + "type": "git", + "url": "https://github.com/composer/installers.git", + "reference": "d20a64ed3c94748397ff5973488761b22f6d3f19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/installers/zipball/d20a64ed3c94748397ff5973488761b22f6d3f19", + "reference": "d20a64ed3c94748397ff5973488761b22f6d3f19", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0 || ^2.0" + }, + "replace": { + "roundcube/plugin-installer": "*", + "shama/baton": "*" + }, + "require-dev": { + "composer/composer": "1.6.* || ^2.0", + "composer/semver": "^1 || ^3", + "phpstan/phpstan": "^0.12.55", + "phpstan/phpstan-phpunit": "^0.12.16", + "symfony/phpunit-bridge": "^4.2 || ^5", + "symfony/process": "^2.3" + }, + "type": "composer-plugin", + "extra": { + "class": "Composer\\Installers\\Plugin", + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Installers\\": "src/Composer/Installers" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kyle Robinson Young", + "email": "kyle@dontkry.com", + "homepage": "https://github.com/shama" + } + ], + "description": "A multi-framework Composer library installer", + "homepage": "https://composer.github.io/installers/", + "keywords": [ + "Craft", + "Dolibarr", + "Eliasis", + "Hurad", + "ImageCMS", + "Kanboard", + "Lan Management System", + "MODX Evo", + "MantisBT", + "Mautic", + "Maya", + "OXID", + "Plentymarkets", + "Porto", + "RadPHP", + "SMF", + "Starbug", + "Thelia", + "Whmcs", + "WolfCMS", + "agl", + "aimeos", + "annotatecms", + "attogram", + "bitrix", + "cakephp", + "chef", + "cockpit", + "codeigniter", + "concrete5", + "croogo", + "dokuwiki", + "drupal", + "eZ Platform", + "elgg", + "expressionengine", + "fuelphp", + "grav", + "installer", + "itop", + "joomla", + "known", + "kohana", + "laravel", + "lavalite", + "lithium", + "magento", + "majima", + "mako", + "mediawiki", + "miaoxing", + "modulework", + "modx", + "moodle", + "osclass", + "pantheon", + "phpbb", + "piwik", + "ppi", + "processwire", + "puppet", + "pxcms", + "reindex", + "roundcube", + "shopware", + "silverstripe", + "sydes", + "sylius", + "symfony", + "tastyigniter", + "typo3", + "wordpress", + "yawik", + "zend", + "zikula" + ], + "support": { + "issues": "https://github.com/composer/installers/issues", + "source": "https://github.com/composer/installers/tree/v1.12.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2021-09-13T08:19:44+00:00" + }, + { + "name": "composer/semver", + "version": "1.5.1", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "c6bea70230ef4dd483e6bbcab6005f682ed3a8de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/c6bea70230ef4dd483e6bbcab6005f682ed3a8de", + "reference": "c6bea70230ef4dd483e6bbcab6005f682ed3a8de", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.5 || ^5.0.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/1.5.1" + }, + "time": "2020-01-13T12:06:48+00:00" + }, + { + "name": "consolidation/annotated-command", + "version": "2.12.1", + "source": { + "type": "git", + "url": "https://github.com/consolidation/annotated-command.git", + "reference": "0ee361762df2274f360c085e3239784a53f850b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/0ee361762df2274f360c085e3239784a53f850b5", + "reference": "0ee361762df2274f360c085e3239784a53f850b5", + "shasum": "" + }, + "require": { + "consolidation/output-formatters": "^3.5.1", + "php": ">=5.4.5", + "psr/log": "^1", + "symfony/console": "^2.8|^3|^4", + "symfony/event-dispatcher": "^2.5|^3|^4", + "symfony/finder": "^2.5|^3|^4|^5" + }, + "require-dev": { + "g1a/composer-test-scenarios": "^3", + "php-coveralls/php-coveralls": "^1", + "phpunit/phpunit": "^6", + "squizlabs/php_codesniffer": "^2.7" + }, + "type": "library", + "extra": { + "scenarios": { + "finder5": { + "require": { + "symfony/finder": "^5" + }, + "config": { + "platform": { + "php": "7.2.5" + } + } + }, + "symfony4": { + "require": { + "symfony/console": "^4.0" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require": { + "symfony/console": "^2.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + }, + "scenario-options": { + "create-lockfile": "false" + } + }, + "phpunit4": { + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + } + } + }, + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\AnnotatedCommand\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Initialize Symfony Console commands from annotated command class methods.", + "time": "2020-10-11T04:30:03+00:00" + }, + { + "name": "consolidation/config", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/consolidation/config.git", + "reference": "cac1279bae7efb5c7fb2ca4c3ba4b8eb741a96c1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/config/zipball/cac1279bae7efb5c7fb2ca4c3ba4b8eb741a96c1", + "reference": "cac1279bae7efb5c7fb2ca4c3ba4b8eb741a96c1", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^1.1.0", + "grasmash/expander": "^1", + "php": ">=5.4.0" + }, + "require-dev": { + "g1a/composer-test-scenarios": "^3", + "php-coveralls/php-coveralls": "^1", + "phpunit/phpunit": "^5", + "squizlabs/php_codesniffer": "2.*", + "symfony/console": "^2.5|^3|^4", + "symfony/yaml": "^2.8.11|^3|^4" + }, + "suggest": { + "symfony/yaml": "Required to use Consolidation\\Config\\Loader\\YamlConfigLoader" + }, + "type": "library", + "extra": { + "scenarios": { + "symfony4": { + "require-dev": { + "symfony/console": "^4.0" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require-dev": { + "symfony/console": "^2.8", + "symfony/event-dispatcher": "^2.8", + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + } + } + }, + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Provide configuration services for a commandline tool.", + "support": { + "issues": "https://github.com/consolidation/config/issues", + "source": "https://github.com/consolidation/config/tree/master" + }, + "time": "2019-03-03T19:37:04+00:00" + }, + { + "name": "consolidation/filter-via-dot-access-data", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/consolidation/filter-via-dot-access-data.git", + "reference": "a53e96c6b9f7f042f5e085bf911f3493cea823c6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/filter-via-dot-access-data/zipball/a53e96c6b9f7f042f5e085bf911f3493cea823c6", + "reference": "a53e96c6b9f7f042f5e085bf911f3493cea823c6", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^1.1.0", + "php": ">=5.5.0" + }, + "require-dev": { + "consolidation/robo": "^1.2.3", + "g1a/composer-test-scenarios": "^3", + "knplabs/github-api": "^2.7", + "php-coveralls/php-coveralls": "^1", + "php-http/guzzle6-adapter": "^1.1", + "phpunit/phpunit": "^5", + "squizlabs/php_codesniffer": "^2.8", + "symfony/console": "^2.8|^3|^4" + }, + "type": "library", + "extra": { + "scenarios": { + "phpunit5": { + "require-dev": { + "phpunit/phpunit": "^5.7.27" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.6.33" + } + } + } + }, + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\Filter\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "This project uses dflydev/dot-access-data to provide simple output filtering for applications built with annotated-command / Robo.", + "support": { + "source": "https://github.com/consolidation/filter-via-dot-access-data/tree/1.0.0" + }, + "time": "2019-01-18T06:05:07+00:00" + }, + { + "name": "consolidation/log", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/consolidation/log.git", + "reference": "b2e887325ee90abc96b0a8b7b474cd9e7c896e3a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/log/zipball/b2e887325ee90abc96b0a8b7b474cd9e7c896e3a", + "reference": "b2e887325ee90abc96b0a8b7b474cd9e7c896e3a", + "shasum": "" + }, + "require": { + "php": ">=5.4.5", + "psr/log": "^1.0", + "symfony/console": "^2.8|^3|^4" + }, + "require-dev": { + "g1a/composer-test-scenarios": "^3", + "php-coveralls/php-coveralls": "^1", + "phpunit/phpunit": "^6", + "squizlabs/php_codesniffer": "^2" + }, + "type": "library", + "extra": { + "scenarios": { + "symfony4": { + "require": { + "symfony/console": "^4.0" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require": { + "symfony/console": "^2.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + } + }, + "phpunit4": { + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + } + } + }, + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Improved Psr-3 / Psr\\Log logger based on Symfony Console components.", + "support": { + "issues": "https://github.com/consolidation/log/issues", + "source": "https://github.com/consolidation/log/tree/master" + }, + "time": "2019-01-01T17:30:51+00:00" + }, + { + "name": "consolidation/output-formatters", + "version": "3.5.1", + "source": { + "type": "git", + "url": "https://github.com/consolidation/output-formatters.git", + "reference": "0d38f13051ef05c223a2bb8e962d668e24785196" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/0d38f13051ef05c223a2bb8e962d668e24785196", + "reference": "0d38f13051ef05c223a2bb8e962d668e24785196", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^1.1.0", + "php": ">=5.4.0", + "symfony/console": "^2.8|^3|^4", + "symfony/finder": "^2.5|^3|^4|^5" + }, + "require-dev": { + "g1a/composer-test-scenarios": "^3", + "php-coveralls/php-coveralls": "^1", + "phpunit/phpunit": "^5.7.27", + "squizlabs/php_codesniffer": "^2.7", + "symfony/var-dumper": "^2.8|^3|^4", + "victorjonsson/markdowndocs": "^1.3" + }, + "suggest": { + "symfony/var-dumper": "For using the var_dump formatter" + }, + "type": "library", + "extra": { + "scenarios": { + "finder5": { + "require": { + "symfony/finder": "^5" + }, + "config": { + "platform": { + "php": "7.2.5" + } + } + }, + "symfony4": { + "require": { + "symfony/console": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^6" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony3": { + "require": { + "symfony/console": "^3.4", + "symfony/finder": "^3.4", + "symfony/var-dumper": "^3.4" + }, + "config": { + "platform": { + "php": "5.6.32" + } + } + }, + "symfony2": { + "require": { + "symfony/console": "^2.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + }, + "scenario-options": { + "create-lockfile": "false" + } + } + }, + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\OutputFormatters\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Format text by applying transformations provided by plug-in formatters.", + "time": "2020-10-11T04:15:32+00:00" + }, + { + "name": "consolidation/robo", + "version": "1.4.13", + "source": { + "type": "git", + "url": "https://github.com/consolidation/Robo.git", + "reference": "fd28dcca1b935950ece26e63541fbdeeb09f7343" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/Robo/zipball/fd28dcca1b935950ece26e63541fbdeeb09f7343", + "reference": "fd28dcca1b935950ece26e63541fbdeeb09f7343", + "shasum": "" + }, + "require": { + "consolidation/annotated-command": "^2.12.1|^4.1", + "consolidation/config": "^1.2.1", + "consolidation/log": "^1.1.1|^2", + "consolidation/output-formatters": "^3.5.1|^4.1", + "consolidation/self-update": "^1.1.5", + "grasmash/yaml-expander": "^1.4", + "league/container": "^2.4.1", + "php": ">=5.5.0", + "symfony/console": "^2.8|^3|^4", + "symfony/event-dispatcher": "^2.5|^3|^4", + "symfony/filesystem": "^2.5|^3|^4", + "symfony/finder": "^2.5|^3|^4|^5", + "symfony/process": "^2.5|^3|^4" + }, + "replace": { + "codegyre/robo": "< 1.0" + }, + "require-dev": { + "g1a/composer-test-scenarios": "^3", + "natxet/cssmin": "3.0.4", + "patchwork/jsqueeze": "^2", + "pear/archive_tar": "^1.4.4", + "php-coveralls/php-coveralls": "^1", + "phpunit/phpunit": "^5.7.27", + "squizlabs/php_codesniffer": "^3" + }, + "suggest": { + "henrikbjorn/lurker": "For monitoring filesystem changes in taskWatch", + "natxet/CssMin": "For minifying CSS files in taskMinify", + "patchwork/jsqueeze": "For minifying JS files in taskMinify", + "pear/archive_tar": "Allows tar archives to be created and extracted in taskPack and taskExtract, respectively." + }, + "bin": [ + "robo" + ], + "type": "library", + "extra": { + "scenarios": { + "finder5": { + "require": { + "symfony/finder": "^5" + }, + "config": { + "platform": { + "php": "7.2.5" + } + } + }, + "symfony4": { + "require": { + "symfony/console": "^4" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require": { + "symfony/console": "^2.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.5.9" + } + }, + "scenario-options": { + "create-lockfile": "false" + } + } + }, + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Robo\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Davert", + "email": "davert.php@resend.cc" + } + ], + "description": "Modern task runner", + "time": "2020-10-11T04:51:34+00:00" + }, + { + "name": "consolidation/self-update", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/consolidation/self-update.git", + "reference": "dba6b2c0708f20fa3ba8008a2353b637578849b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/self-update/zipball/dba6b2c0708f20fa3ba8008a2353b637578849b4", + "reference": "dba6b2c0708f20fa3ba8008a2353b637578849b4", + "shasum": "" + }, + "require": { + "php": ">=5.5.0", + "symfony/console": "^2.8|^3|^4|^5", + "symfony/filesystem": "^2.5|^3|^4|^5" + }, + "bin": [ + "scripts/release" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "SelfUpdate\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexander Menk", + "email": "menk@mestrona.net" + }, + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Provides a self:update command for Symfony Console applications.", + "support": { + "issues": "https://github.com/consolidation/self-update/issues", + "source": "https://github.com/consolidation/self-update/tree/1.2.0" + }, + "time": "2020-04-13T02:49:20+00:00" + }, + { + "name": "consolidation/site-alias", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/consolidation/site-alias.git", + "reference": "9ed3c590be9fcf9fea69c73456c2fd4b27f5204c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/site-alias/zipball/9ed3c590be9fcf9fea69c73456c2fd4b27f5204c", + "reference": "9ed3c590be9fcf9fea69c73456c2fd4b27f5204c", + "shasum": "" + }, + "require": { + "consolidation/config": "^1.2.1|^2", + "php": ">=5.5.0", + "symfony/finder": "~2.3|^3|^4.4|^5" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.4.2", + "phpunit/phpunit": ">=7", + "squizlabs/php_codesniffer": "^3", + "symfony/var-dumper": "^4", + "yoast/phpunit-polyfills": "^0.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\SiteAlias\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + }, + { + "name": "Moshe Weitzman", + "email": "weitzman@tejasa.com" + } + ], + "description": "Manage alias records for local and remote sites.", + "time": "2021-02-20T20:03:10+00:00" + }, + { + "name": "consolidation/site-process", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/consolidation/site-process.git", + "reference": "f3211fa4c60671c6f068184221f06f932556e443" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/site-process/zipball/f3211fa4c60671c6f068184221f06f932556e443", + "reference": "f3211fa4c60671c6f068184221f06f932556e443", + "shasum": "" + }, + "require": { + "consolidation/config": "^1.2.1", + "consolidation/site-alias": "^3", + "php": ">=5.6.0", + "symfony/process": "^3.4" + }, + "require-dev": { + "consolidation/robo": "^1.3", + "g1a/composer-test-scenarios": "^3", + "knplabs/github-api": "^2.7", + "php-coveralls/php-coveralls": "^1", + "php-http/guzzle6-adapter": "^1.1", + "phpunit/phpunit": "^6", + "squizlabs/php_codesniffer": "^2.8" + }, + "type": "library", + "extra": { + "scenarios": { + "phpunit5": { + "require-dev": { + "phpunit/phpunit": "^5.7.27" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.6.33" + } + } + } + }, + "branch-alias": { + "dev-master": "0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\SiteProcess\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + }, + { + "name": "Moshe Weitzman", + "email": "weitzman@tejasa.com" + } + ], + "description": "A thin wrapper around the Symfony Process Component that allows applications to use the Site Alias library to specify the target for a remote call.", + "support": { + "issues": "https://github.com/consolidation/site-process/issues", + "source": "https://github.com/consolidation/site-process/tree/2.1.0" + }, + "time": "2019-09-10T17:56:24+00:00" + }, + { + "name": "container-interop/container-interop", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/container-interop/container-interop.git", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "shasum": "" + }, + "require": { + "psr/container": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Interop\\Container\\": "src/Interop/Container/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", + "homepage": "https://github.com/container-interop/container-interop", + "support": { + "issues": "https://github.com/container-interop/container-interop/issues", + "source": "https://github.com/container-interop/container-interop/tree/master" + }, + "abandoned": "psr/container", + "time": "2017-02-14T19:40:03+00:00" + }, + { + "name": "cweagans/composer-patches", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://github.com/cweagans/composer-patches.git", + "reference": "ae02121445ad75f4eaff800cc532b5e6233e2ddf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cweagans/composer-patches/zipball/ae02121445ad75f4eaff800cc532b5e6233e2ddf", + "reference": "ae02121445ad75f4eaff800cc532b5e6233e2ddf", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0 || ^2.0", + "php": ">=5.3.0" + }, + "require-dev": { + "composer/composer": "~1.0 || ~2.0", + "phpunit/phpunit": "~4.6" + }, + "type": "composer-plugin", + "extra": { + "class": "cweagans\\Composer\\Patches" + }, + "autoload": { + "psr-4": { + "cweagans\\Composer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Cameron Eagans", + "email": "me@cweagans.net" + } + ], + "description": "Provides a way to patch Composer packages.", + "support": { + "issues": "https://github.com/cweagans/composer-patches/issues", + "source": "https://github.com/cweagans/composer-patches/tree/1.7.0" + }, + "time": "2020-09-30T17:56:20+00:00" + }, + { + "name": "dflydev/dot-access-data", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "3fbd874921ab2c041e899d044585a2ab9795df8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/3fbd874921ab2c041e899d044585a2ab9795df8a", + "reference": "3fbd874921ab2c041e899d044585a2ab9795df8a", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "Dflydev\\DotAccessData": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/master" + }, + "time": "2017-01-20T21:14:22+00:00" + }, + { + "name": "dnoegel/php-xdg-base-dir", + "version": "v0.1.1", + "source": { + "type": "git", + "url": "https://github.com/dnoegel/php-xdg-base-dir.git", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" + }, + "type": "library", + "autoload": { + "psr-4": { + "XdgBaseDir\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "implementation of xdg base directory specification for php", + "support": { + "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues", + "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1" + }, + "time": "2019-12-04T15:06:13+00:00" + }, + { + "name": "doctrine/annotations", + "version": "v1.4.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "54cacc9b81758b14e3ce750f205a393d52339e97" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/54cacc9b81758b14e3ce750f205a393d52339e97", + "reference": "54cacc9b81758b14e3ce750f205a393d52339e97", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "doctrine/cache": "1.*", + "phpunit/phpunit": "^5.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "support": { + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/v1.4.0" + }, + "time": "2017-02-24T16:22:25+00:00" + }, + { + "name": "doctrine/cache", + "version": "v1.6.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/eb152c5100571c7a45470ff2a35095ab3f3b900b", + "reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b", + "shasum": "" + }, + "require": { + "php": "~5.5|~7.0" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.8|~5.0", + "predis/predis": "~1.0", + "satooshi/php-coveralls": "~0.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Caching library offering an object-oriented API for many cache backends", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "cache", + "caching" + ], + "support": { + "issues": "https://github.com/doctrine/cache/issues", + "source": "https://github.com/doctrine/cache/tree/1.6.x" + }, + "time": "2017-07-22T12:49:21+00:00" + }, + { + "name": "doctrine/collections", + "version": "v1.4.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "1a4fb7e902202c33cce8c55989b945612943c2ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/1a4fb7e902202c33cce8c55989b945612943c2ba", + "reference": "1a4fb7e902202c33cce8c55989b945612943c2ba", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "doctrine/coding-standard": "~0.1@dev", + "phpunit/phpunit": "^5.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Collections\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Collections Abstraction library", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "array", + "collections", + "iterator" + ], + "support": { + "issues": "https://github.com/doctrine/collections/issues", + "source": "https://github.com/doctrine/collections/tree/master" + }, + "time": "2017-01-03T10:49:41+00:00" + }, + { + "name": "doctrine/common", + "version": "v2.7.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/common.git", + "reference": "4acb8f89626baafede6ee5475bc5844096eba8a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/common/zipball/4acb8f89626baafede6ee5475bc5844096eba8a9", + "reference": "4acb8f89626baafede6ee5475bc5844096eba8a9", + "shasum": "" + }, + "require": { + "doctrine/annotations": "1.*", + "doctrine/cache": "1.*", + "doctrine/collections": "1.*", + "doctrine/inflector": "1.*", + "doctrine/lexer": "1.*", + "php": "~5.6|~7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common Library for Doctrine projects", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "collections", + "eventmanager", + "persistence", + "spl" + ], + "support": { + "issues": "https://github.com/doctrine/common/issues", + "source": "https://github.com/doctrine/common/tree/v2.7.3" + }, + "time": "2017-07-22T08:35:12+00:00" + }, + { + "name": "doctrine/inflector", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/e11d84c6e018beedd929cff5220969a3c6d1d462", + "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string" + ], + "support": { + "source": "https://github.com/doctrine/inflector/tree/master" + }, + "time": "2017-07-22T12:18:28+00:00" + }, + { + "name": "doctrine/lexer", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "1febd6c3ef84253d7c815bed85fc622ad207a9f8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/1febd6c3ef84253d7c815bed85fc622ad207a9f8", + "reference": "1febd6c3ef84253d7c815bed85fc622ad207a9f8", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "^4.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/1.0.2" + }, + "time": "2019-06-08T11:03:04+00:00" + }, + { + "name": "drupal/admin_toolbar", + "version": "2.5.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/admin_toolbar.git", + "reference": "8.x-2.5" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/admin_toolbar-8.x-2.5.zip", + "reference": "8.x-2.5", + "shasum": "c71e58051b8d6818272df96d14cb11407d5e5ceb" + }, + "require": { + "drupal/core": "^8.8.0 || ^9.0" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-2.5", + "datestamp": "1629907119", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Wilfrid Roze (eme)", + "homepage": "https://www.drupal.org/u/eme", + "role": "Maintainer" + }, + { + "name": "Romain Jarraud (romainj)", + "homepage": "https://www.drupal.org/u/romainj", + "role": "Maintainer" + }, + { + "name": "Adrian Cid Almaguer (adriancid)", + "homepage": "https://www.drupal.org/u/adriancid", + "email": "adriancid@gmail.com", + "role": "Maintainer" + }, + { + "name": "Mohamed Anis Taktak (matio89)", + "homepage": "https://www.drupal.org/u/matio89", + "role": "Maintainer" + }, + { + "name": "fethi.krout", + "homepage": "https://www.drupal.org/user/3206765" + }, + { + "name": "matio89", + "homepage": "https://www.drupal.org/user/2320090" + }, + { + "name": "romainj", + "homepage": "https://www.drupal.org/user/370706" + } + ], + "description": "Provides a drop-down menu interface to the core Drupal Toolbar.", + "homepage": "http://drupal.org/project/admin_toolbar", + "keywords": [ + "Drupal", + "Toolbar" + ], + "support": { + "source": "https://git.drupalcode.org/project/admin_toolbar", + "issues": "https://www.drupal.org/project/issues/admin_toolbar" + } + }, + { + "name": "drupal/config_filter", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/config_filter.git", + "reference": "8.x-1.8" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/config_filter-8.x-1.8.zip", + "reference": "8.x-1.8", + "shasum": "5def5f97e79d6f5af6bb7007f012443475c90bfe" + }, + "require": { + "drupal/core": "^8 || ^9" + }, + "suggest": { + "drupal/config_split": "Split site configuration for different environments." + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-1.8", + "datestamp": "1603870062", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Fabian Bircher", + "homepage": "https://www.drupal.org/u/bircher", + "email": "opensource@fabianbircher.com", + "role": "Maintainer" + }, + { + "name": "Nuvole Web", + "homepage": "http://nuvole.org", + "email": "info@nuvole.org", + "role": "Maintainer" + }, + { + "name": "pescetti", + "homepage": "https://www.drupal.org/user/436244" + } + ], + "description": "Config Filter allows other modules to interact with a ConfigStorage through filter plugins.", + "homepage": "https://www.drupal.org/project/config_filter", + "keywords": [ + "Drupal", + "configuration", + "configuration management" + ], + "support": { + "source": "https://git.drupalcode.org/project/config_filter", + "issues": "https://www.drupal.org/project/issues/config_filter", + "slack": "https://drupal.slack.com/archives/C45342CDD" + } + }, + { + "name": "drupal/config_ignore", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/config_ignore.git", + "reference": "8.x-2.2" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/config_ignore-8.x-2.2.zip", + "reference": "8.x-2.2", + "shasum": "18af5772087b90dd4b83c2c6e292d8ea2f8834e0" + }, + "require": { + "drupal/config_filter": "1.*", + "drupal/core": "~8.0" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-2.2", + "datestamp": "1576528386", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "Tommy Lynge Jørgensen", + "homepage": "https://www.drupal.org/u/tlyngej", + "email": "tlyngej@gmail.com", + "role": "Maintainer" + }, + { + "name": "Fabian Bircher", + "homepage": "https://www.drupal.org/u/bircher", + "role": "Maintainer" + }, + { + "name": "tlyngej", + "homepage": "https://www.drupal.org/user/413139" + } + ], + "description": "Ignore certain configuration during import.", + "homepage": "http://drupal.org/project/config_ignore", + "support": { + "source": "http://cgit.drupalcode.org/config_ignore", + "issues": "http://drupal.org/project/config_ignore", + "irc": "irc://irc.freenode.org/drupal-contribute" + } + }, + { + "name": "drupal/config_split", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/config_split.git", + "reference": "8.x-1.7" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/config_split-8.x-1.7.zip", + "reference": "8.x-1.7", + "shasum": "3cd524ebc0b52db31a6bef2c55693f4e62890b4f" + }, + "require": { + "drupal/config_filter": "^1", + "drupal/core": "^8.8 || ^9" + }, + "conflict": { + "drupal/console": "<1.3.2" + }, + "suggest": { + "drupal/chosen": "Chosen uses the Chosen jQuery plugin to make the