diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..327d24b7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,103 @@
+###
+### GitHub repository .gitignore section
+###
+
+# Ignore directories generated by Composer
+/vendor/
+
+# Webroot #
+###########
+!web/
+web/*
+!web/index.php
+!web/wp-cli.yml
+!web/wp-config.php
+!web/wp-content/
+web/wp-content/*
+!web/wp-content/mu-plugins/
+web/wp-content/mu-plugins/*
+!web/wp-content/mu-plugins/alter_wpcfm_config_path.php
+!web/wp-content/plugins/
+web/wp-content/plugins/*
+!web/wp-content/themes
+web/wp-content/themes/*
+!web/wp-content/themes/twentyseventeen-child/
+!web/wp-content/config/
+!web/private/
+web/private/*
+!web/private/config/
+!web/private/scripts/
+
+# Add directories containing build assets below.
+# Keep all additions above the "cut" line.
+
+# This distinction is only important when using this
+# repository as a custom upstream. The .gitignore file
+# is not modified in the GitHub PR workflow.
+
+
+# :::::::::::::::::::::: cut ::::::::::::::::::::::
+
+###
+### Pantheon site .gitignore section
+###
+### Items below the "cut" line are still ignored on
+### the Pantheon site. Items above the "cut" line
+### are ignored in the GitHub repository, but committed
+### to the Pantheon repository.
+###
+
+# Ignore Drupal's file directory
+/web/sites/*/files/
+
+# Ignore Drupal's file directory
+web/sites/default/files
+
+# Pantheon commits a settings.php for environment-specific settings.
+# Place local settings in settings.local.php
+web/sites/*/settings.local.php
+web/sites/*/services*.yml
+
+# Ignore SimpleTest multi-site environment.
+web/sites/simpletest
+
+# Ignore files generated by PhpStorm
+.idea
+
+# Packages #
+############
+*.7z
+*.dmg
+*.gz
+*.bz2
+*.iso
+*.jar
+*.rar
+*.tar
+*.zip
+*.tgz
+
+# Logs and databases #
+######################
+*.log
+*.sql
+
+# OS generated files #
+######################
+.DS_Store*
+ehthumbs.db
+Icon
+
+Thumbs.db
+._*
+
+# Vim generated files #
+######################
+*.un~
+
+# SASS #
+##########
+.sass-cache
+
+# Things in the core directory that Drupal 8 commits in the repository.
+!web/core/**/*.gz
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 00000000..dfb4dbd2
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2014 Reload!
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..a610f002
--- /dev/null
+++ b/README.md
@@ -0,0 +1,63 @@
+# Example WordPress Composer
+
+
+This repository is a start state for a Composer-based WordPress workflow with Pantheon. It is meant to be copied by the the [Terminus Build Tools Plugin](https://github.com/pantheon-systems/terminus-build-tools-plugin) which will set up for you a brand new
+
+* GitHub repo
+* Free Pantheon sandbox site
+* A CircleCI configuration to run tests and push from the source repo (GitHub) to Pantheon.
+
+For more background information on this style of workflow, see the [Pantheon documentation](https://pantheon.io/docs/guides/github-pull-requests/).
+
+
+## Installation
+
+#### Prerequisites
+
+Before running the `terminus build:project:create` command, make sure you have all of the prerequisites:
+
+* [A Pantheon account](https://dashboard.pantheon.io/register)
+* [Terminus, the Pantheon command line tool](https://pantheon.io/docs/terminus/install/)
+* [The Terminus Build Tools Plugin](https://github.com/pantheon-systems/terminus-build-tools-plugin)
+* An account with GitHub and an authentication token capable of creating new repos.
+* An account with CircleCI and an authentication token.
+
+You may find it easier to export the GitHub and CircleCI tokens as variables on your command line where the Build Tools Plugin can detect them automatically:
+
+```
+export GITHUB_TOKEN=[REDACTED]
+export CIRCLE_TOKEN=[REDACTED]
+```
+
+#### One command setup:
+
+Once you have all of the prerequisites in place, you can create your copy of this repo with one command:
+
+```
+terminus build:project:create pantheon-systems/example-wordpress-composer my-new-site --team="Agency Org Name"
+```
+
+The parameters shown here are:
+
+* The name of the source repo, `pantheon-systems/example-wordpress-composer`. If you are interest in other source repos like Drupal 8, see the [Terminus Build Tools Plugin](https://github.com/pantheon-systems/terminus-build-tools-plugin).
+* The machine name to be used by both the soon-to-be-created Pantheon site and GitHub repo. Change `my-new-site` to something meaningful for you.
+* The `--team` flag is optional and refers to a Pantheon organization. Pantheon organizations are often web development agencies or Universities. Setting this parameter causes the newly created site to go within the given organization. Run the Terminus command `terminus org:list` to see the organizations you are a member of. There might not be any.
+
+
+## Important files and directories
+
+#### `/web`
+
+Pantheon will serve the site from the `/web` subdirectory due to the configuration in `pantheon.yml`, facilitating a Composer based workflow. Having your website in this subdirectory also allows for tests, scripts, and other files related to your project to be stored in your repo without polluting your web document root.
+
+#### `/web/wp`
+
+Even within the `/web` directory you may notice that other directories and files are in different places [compared to a default WordPress installation](https://codex.wordpress.org/Giving_WordPress_Its_Own_Directory). See `/web/wp-config.php` for key settings like `WP_SITEURL` which allows WordPress core to be relocated to `/web/wp`. The overall layout of directories in the repo is inspired by [Bedrock](https://github.com/roots/bedrock).
+
+#### `composer.json`
+
+If you are just browsing this repository on GitHub, you may not see some of the directories mentioned above like `wp-admin`. That is because WordPress core and its plugins are installed via Composer and ignored in the `.gitignore` file. Specific plugins are added to the project via `composer.json` and `composer.lock` keeps track of the exact version of each plugin (or other dependency). Generic Composer dependencies (not WordPress plugins or themes) are downloaded to the `/vendor` folder.
+
+## Behat tests
+
+So that CircleCI will have some test to run, this repository includes a configuration of [WordHat](https://wordhat.info/), A WordPress Behat extension. You can add your own `.feature` files within `/tests/behat/features`. [A fuller guide on WordPress testing with Behat is forthcoming.](https://github.com/pantheon-systems/documentation/issues/2469)
diff --git a/circle.yml b/circle.yml
new file mode 100644
index 00000000..0ab51713
--- /dev/null
+++ b/circle.yml
@@ -0,0 +1,83 @@
+# https://circleci.com/docs/configuration#machine
+machine:
+ timezone:
+ America/Chicago
+ php:
+ # https://circleci.com/docs/build-image-trusty/#php
+ version: 7.1.0
+ environment:
+ # In addition to the environment variables defined in this file, also
+ # add the following variables in the Circle CI UI.
+ #
+ # See: https://circleci.com/docs/1.0/environment-variables/
+ #
+ # TERMINUS_SITE: Name of the Pantheon site to run tests on, e.g. my_site
+ # TERMINUS_TOKEN: The Pantheon machine token
+ # GITHUB_TOKEN: The GitHub personal access token
+ # GIT_EMAIL: The email address to use when making commits
+ #
+ # TEST_SITE_NAME: The name of the test site to provide when installing.
+ # ADMIN_PASSWORD: The admin password to use when installing.
+ # ADMIN_EMAIL: The email address to give the admin when installing.
+ #
+ # The variables below usually do not need to be modified.
+ BRANCH: $(echo $CIRCLE_BRANCH | grep -v '^\(master\|[0-9]\+.x\)$')
+ PR_ENV: ${BRANCH:+pr-$BRANCH}
+ CIRCLE_ENV: ci-$CIRCLE_BUILD_NUM
+ DEFAULT_ENV: $(echo ${PR_ENV:-$CIRCLE_ENV} | tr '[:upper:]' '[:lower:]' | sed 's/[^0-9a-z-]//g' | cut -c -11 | sed 's/-$//')
+ TERMINUS_ENV: ${TERMINUS_ENV:-$DEFAULT_ENV}
+ NOTIFY: 'scripts/github/add-commit-comment {project} {sha} "Created multidev environment [{site}#{env}]({dashboard-url})." {site-url}'
+ PATH: $PATH:~/bin:tests/scripts
+ WORDPRESS_ADMIN_USERNAME: admin
+ # There is a mismatch in variable names used by
+ # the terminus build plugin and the Behat tests.
+ # So the variable ADMIN_PASSWORD needs to be
+ # reassigned to WORDPRESS_ADMIN_PASSWORD.
+ # And because CircleCI does not allow for simple
+ # setting of a private variable to a public
+ # variable, this workaround of writing to a file is
+ # used.
+ WORDPRESS_ADMIN_PASSWORD: $(cat ~/WORDPRESS_ADMIN_PASSWORD)
+
+dependencies:
+ cache_directories:
+ - ~/.composer/cache
+ pre:
+ - echo "Begin build for $CIRCLE_ENV${PR_ENV:+ for }$PR_ENV. Pantheon test environment is $TERMINUS_SITE.$TERMINUS_ENV"
+ - |
+ if [ -n "$GITHUB_TOKEN" ] ; then
+ composer config --global github-oauth.github.com $GITHUB_TOKEN
+ fi
+ - git config --global user.email "$GIT_EMAIL"
+ - git config --global user.name "Circle CI"
+ override:
+ - echo $ADMIN_PASSWORD > ~/WORDPRESS_ADMIN_PASSWORD
+ - composer global require -n "hirak/prestissimo:^0.3"
+ - composer global require -n "consolidation/cgr"
+ - cgr "pantheon-systems/terminus:^1"
+ - terminus --version
+ - mkdir -p ~/.terminus/plugins
+ - composer create-project -n -d ~/.terminus/plugins pantheon-systems/terminus-build-tools-plugin:^1
+ - composer create-project -n -d ~/.terminus/plugins pantheon-systems/terminus-secrets-plugin:^1
+ post:
+ - terminus auth:login -n --machine-token="$TERMINUS_TOKEN"
+ - terminus build:env:delete:ci -n "$TERMINUS_SITE" --keep=2 --yes
+ - composer -n build-assets
+ - terminus env:wake -n "$TERMINUS_SITE.dev"
+ - terminus build:env:create -n "$TERMINUS_SITE.dev" "$TERMINUS_ENV" --yes --notify="$NOTIFY"
+ # This line will re-copy the database to the multidev environment to account
+ # for multiple CI builds running on the same multidev.
+ - terminus env:clone-content "$TERMINUS_SITE.dev" "$TERMINUS_ENV" --yes
+
+test:
+ override:
+ - run-behat
+ post:
+ - terminus secrets:set -n "$TERMINUS_SITE.$TERMINUS_ENV" token "$GITHUB_TOKEN" --file='github-secrets.json' --clear --skip-if-empty
+
+deployment:
+ build-assets:
+ branch: master
+ commands:
+ - terminus build-env:merge -n "$TERMINUS_SITE.$TERMINUS_ENV" --yes
+ - terminus build-env:delete:pr -n "$TERMINUS_SITE" --yes
diff --git a/composer.json b/composer.json
new file mode 100644
index 00000000..8fabc71a
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,96 @@
+{
+ "name": "stevector/example-wordpress-composer",
+ "description": "",
+ "version": "0.1.0",
+ "type": "project",
+ "keywords": [],
+ "minimum-stability": "dev",
+ "repositories": [
+ {
+ "type": "composer",
+ "url": "https://wpackagist.org"
+ },
+ {
+ "type": "package",
+ "package": {
+ "name": "pantheon-systems/wordpress",
+ "version": "4.8",
+ "dist": {
+ "url": "https://github.com/pantheon-systems/WordPress/archive/4.8.zip",
+ "type": "zip"
+ },
+ "source": {
+ "url": "git@github.com:pantheon-systems/WordPress.git",
+ "type": "git",
+ "reference": "4.8"
+ },
+ "type": "wordpress-core",
+ "require": {
+ "johnpbloch/wordpress-core-installer": "~0.1"
+ },
+ "extra": {
+ "wordpress-install-dir": "web/wp"
+ }
+ }
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/ataylorme/behat-wordpress-extension"
+ }
+ ],
+ "require": {
+ "composer/installers": "~1.0",
+ "vlucas/phpdotenv": "^2.4.0",
+ "wpackagist-plugin/wp-native-php-sessions": "^0.6.0",
+ "wpackagist-plugin/pantheon-advanced-page-cache": "^0.1.4",
+ "wpackagist-plugin/wp-cfm": "^1.4.5",
+ "wpackagist-theme/twentyseventeen": "^1.1",
+ "pantheon-systems/wordpress": "^4.8",
+ "roots/wp-password-bcrypt": "^1.0.0"
+ },
+ "require-dev": {
+ "ataylorme/behat-wordpress-extension": "dev-pantheon-fixes",
+ "behat/mink-goutte-driver": "^1.2",
+ "behat/mink-selenium2-driver": "^1.3",
+ "roave/security-advisories": "dev-master"
+ },
+ "config": {
+ "vendor-dir": "vendor",
+ "preferred-install": "dist",
+ "secure-http": false
+ },
+ "extra": {
+ "build-env": {
+ "install-cms": [
+ "wp core install --title={site-name} --url={site-url} --admin_user={account-name} --admin_email={account-mail} --admin_password={account-pass}",
+ "wp option update permalink_structure '/%postname%/'"
+ ]
+ },
+ "installer-paths": {
+ "web/wp-content/plugins/{$name}/": [
+ "type:wordpress-plugin"
+ ],
+ "web/wp-content/themes/{$name}/": [
+ "type:wordpress-theme"
+ ]
+ }
+ },
+ "scripts": {
+ "build-assets": [
+ "composer install --optimize-autoloader"
+ ],
+ "cleanup": [
+ "./scripts/composer/cleanup-composer"
+ ],
+ "post-install-cmd": [
+ "@cleanup"
+ ],
+ "post-update-cmd": [
+ "@cleanup"
+ ],
+ "post-create-project-cmd": [
+ "@cleanup"
+ ]
+ },
+ "prefer-stable": true
+}
diff --git a/composer.lock b/composer.lock
new file mode 100644
index 00000000..2d54d0d5
--- /dev/null
+++ b/composer.lock
@@ -0,0 +1,2593 @@
+{
+ "_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#composer-lock-the-lock-file",
+ "This file is @generated automatically"
+ ],
+ "content-hash": "1a1e939169a92b4a94b2c2dbc82fe231",
+ "packages": [
+ {
+ "name": "composer/installers",
+ "version": "v1.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/installers.git",
+ "reference": "79ad876c7498c0bbfe7eed065b8651c93bfd6045"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/installers/zipball/79ad876c7498c0bbfe7eed065b8651c93bfd6045",
+ "reference": "79ad876c7498c0bbfe7eed065b8651c93bfd6045",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "^1.0"
+ },
+ "replace": {
+ "roundcube/plugin-installer": "*",
+ "shama/baton": "*"
+ },
+ "require-dev": {
+ "composer/composer": "1.0.*@dev",
+ "phpunit/phpunit": "4.1.*"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "Composer\\Installers\\Plugin",
+ "branch-alias": {
+ "dev-master": "1.0-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",
+ "MODX Evo",
+ "Mautic",
+ "Maya",
+ "OXID",
+ "Plentymarkets",
+ "Porto",
+ "RadPHP",
+ "SMF",
+ "Thelia",
+ "WolfCMS",
+ "agl",
+ "aimeos",
+ "annotatecms",
+ "attogram",
+ "bitrix",
+ "cakephp",
+ "chef",
+ "cockpit",
+ "codeigniter",
+ "concrete5",
+ "croogo",
+ "dokuwiki",
+ "drupal",
+ "elgg",
+ "expressionengine",
+ "fuelphp",
+ "grav",
+ "installer",
+ "itop",
+ "joomla",
+ "kohana",
+ "laravel",
+ "lavalite",
+ "lithium",
+ "magento",
+ "mako",
+ "mediawiki",
+ "modulework",
+ "moodle",
+ "phpbb",
+ "piwik",
+ "ppi",
+ "puppet",
+ "reindex",
+ "roundcube",
+ "shopware",
+ "silverstripe",
+ "sydes",
+ "symfony",
+ "typo3",
+ "wordpress",
+ "yawik",
+ "zend",
+ "zikula"
+ ],
+ "time": "2017-04-24T06:37:16+00:00"
+ },
+ {
+ "name": "johnpbloch/wordpress-core-installer",
+ "version": "0.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/johnpbloch/wordpress-core-installer.git",
+ "reference": "a04c2c383ef13aae077f36799ed2eafdebd618d2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/johnpbloch/wordpress-core-installer/zipball/a04c2c383ef13aae077f36799ed2eafdebd618d2",
+ "reference": "a04c2c383ef13aae077f36799ed2eafdebd618d2",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "^1.0"
+ },
+ "conflict": {
+ "composer/installers": "<1.0.6"
+ },
+ "require-dev": {
+ "composer/composer": "1.0.*@dev"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "johnpbloch\\Composer\\WordPressCorePlugin"
+ },
+ "autoload": {
+ "psr-0": {
+ "johnpbloch\\Composer\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0+"
+ ],
+ "authors": [
+ {
+ "name": "John P. Bloch",
+ "email": "me@johnpbloch.com"
+ }
+ ],
+ "description": "A custom installer to handle deploying WordPress with composer",
+ "keywords": [
+ "wordpress"
+ ],
+ "time": "2015-06-11T15:15:30+00:00"
+ },
+ {
+ "name": "pantheon-systems/wordpress",
+ "version": "4.8",
+ "source": {
+ "type": "git",
+ "url": "git@github.com:pantheon-systems/WordPress.git",
+ "reference": "4.8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://github.com/pantheon-systems/WordPress/archive/4.8.zip",
+ "reference": "4.8",
+ "shasum": null
+ },
+ "require": {
+ "johnpbloch/wordpress-core-installer": "~0.1"
+ },
+ "type": "wordpress-core",
+ "extra": {
+ "wordpress-install-dir": "web/wp"
+ }
+ },
+ {
+ "name": "roots/wp-password-bcrypt",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/roots/wp-password-bcrypt.git",
+ "reference": "5cecd2e98ccc3193443cc5c5db9b3bc7abed5ffa"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/roots/wp-password-bcrypt/zipball/5cecd2e98ccc3193443cc5c5db9b3bc7abed5ffa",
+ "reference": "5cecd2e98ccc3193443cc5c5db9b3bc7abed5ffa",
+ "shasum": ""
+ },
+ "require": {
+ "composer/installers": "~1.0",
+ "php": ">=5.5.0"
+ },
+ "require-dev": {
+ "brain/monkey": "^1.3.1",
+ "mockery/mockery": "^0.9.4",
+ "phpunit/phpunit": "^4.8.23|^5.2.9",
+ "squizlabs/php_codesniffer": "^2.5.1"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "wp-password-bcrypt.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Scott Walkinshaw",
+ "email": "scott.walkinshaw@gmail.com",
+ "homepage": "https://github.com/swalkinshaw"
+ },
+ {
+ "name": "qwp6t",
+ "homepage": "https://github.com/qwp6t"
+ },
+ {
+ "name": "Jan Pingel",
+ "email": "jpingel@bitpiston.com",
+ "homepage": "http://janpingel.com"
+ }
+ ],
+ "description": "WordPress plugin which replaces wp_hash_password and wp_check_password's phpass hasher with PHP 5.5's password_hash and password_verify using bcrypt.",
+ "homepage": "https://roots.io/plugins/wp-password-bcrypt",
+ "keywords": [
+ "wordpress wp bcrypt password"
+ ],
+ "time": "2016-03-01T16:27:06+00:00"
+ },
+ {
+ "name": "vlucas/phpdotenv",
+ "version": "v2.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/vlucas/phpdotenv.git",
+ "reference": "3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c",
+ "reference": "3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.9"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8 || ^5.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Dotenv\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause-Attribution"
+ ],
+ "authors": [
+ {
+ "name": "Vance Lucas",
+ "email": "vance@vancelucas.com",
+ "homepage": "http://www.vancelucas.com"
+ }
+ ],
+ "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
+ "keywords": [
+ "dotenv",
+ "env",
+ "environment"
+ ],
+ "time": "2016-09-01T10:05:43+00:00"
+ },
+ {
+ "name": "wpackagist-plugin/pantheon-advanced-page-cache",
+ "version": "0.1.5",
+ "source": {
+ "type": "svn",
+ "url": "https://plugins.svn.wordpress.org/pantheon-advanced-page-cache/",
+ "reference": "tags/0.1.5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://downloads.wordpress.org/plugin/pantheon-advanced-page-cache.0.1.5.zip",
+ "reference": null,
+ "shasum": null
+ },
+ "require": {
+ "composer/installers": "~1.0"
+ },
+ "type": "wordpress-plugin",
+ "homepage": "https://wordpress.org/plugins/pantheon-advanced-page-cache/"
+ },
+ {
+ "name": "wpackagist-plugin/wp-cfm",
+ "version": "1.4.5",
+ "source": {
+ "type": "svn",
+ "url": "https://plugins.svn.wordpress.org/wp-cfm/",
+ "reference": "trunk"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://downloads.wordpress.org/plugin/wp-cfm.zip?timestamp=1467943964",
+ "reference": null,
+ "shasum": null
+ },
+ "require": {
+ "composer/installers": "~1.0"
+ },
+ "type": "wordpress-plugin",
+ "homepage": "https://wordpress.org/plugins/wp-cfm/"
+ },
+ {
+ "name": "wpackagist-plugin/wp-native-php-sessions",
+ "version": "0.6.2",
+ "source": {
+ "type": "svn",
+ "url": "https://plugins.svn.wordpress.org/wp-native-php-sessions/",
+ "reference": "tags/0.6.2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://downloads.wordpress.org/plugin/wp-native-php-sessions.0.6.2.zip",
+ "reference": null,
+ "shasum": null
+ },
+ "require": {
+ "composer/installers": "~1.0"
+ },
+ "type": "wordpress-plugin",
+ "homepage": "https://wordpress.org/plugins/wp-native-php-sessions/"
+ },
+ {
+ "name": "wpackagist-theme/twentyseventeen",
+ "version": "1.3",
+ "source": {
+ "type": "svn",
+ "url": "https://themes.svn.wordpress.org/twentyseventeen/",
+ "reference": "1.3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://downloads.wordpress.org/theme/twentyseventeen.1.3.zip",
+ "reference": null,
+ "shasum": null
+ },
+ "require": {
+ "composer/installers": "~1.0"
+ },
+ "type": "wordpress-theme",
+ "homepage": "https://wordpress.org/themes/twentyseventeen/"
+ }
+ ],
+ "packages-dev": [
+ {
+ "name": "ataylorme/behat-wordpress-extension",
+ "version": "dev-pantheon-fixes",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ataylorme/behat-wordpress-extension.git",
+ "reference": "6da988ecc23633388d7b5f5d13b571977b60f60a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ataylorme/behat-wordpress-extension/zipball/6da988ecc23633388d7b5f5d13b571977b60f60a",
+ "reference": "6da988ecc23633388d7b5f5d13b571977b60f60a",
+ "shasum": ""
+ },
+ "require": {
+ "behat/behat": "~3.1",
+ "behat/mink-goutte-driver": "~1.2",
+ "behat/mink-selenium2-driver": "~1.3",
+ "php": ">=5.6.0",
+ "roave/security-advisories": "dev-master",
+ "sensiolabs/behat-page-object-extension": "~2.1"
+ },
+ "require-dev": {
+ "squizlabs/php_codesniffer": "~3.0",
+ "wp-cli/wp-cli": "~1.0"
+ },
+ "suggest": {
+ "behat/mink-selenium2-driver": "JS-enabled Mink driver (requires Selenium2)"
+ },
+ "type": "behat-extension",
+ "autoload": {
+ "psr-4": {
+ "PaulGibbs\\WordpressBehatExtension\\": "src"
+ },
+ "files": [
+ "src/Util/functions.php"
+ ]
+ },
+ "license": [
+ "GPL-3.0"
+ ],
+ "authors": [
+ {
+ "name": "Paul Gibbs",
+ "email": "djpaul@gmail.com",
+ "homepage": "http://byotos.com"
+ }
+ ],
+ "description": "WordHat is a Behat extension, integrating Behat, Mink, and WordPress. It provides WordPress-specific functionality for common testing scenarios specific to WordPress sites.",
+ "homepage": "https://wordhat.info",
+ "keywords": [
+ "WordPress",
+ "bdd",
+ "behat",
+ "extension",
+ "mink"
+ ],
+ "support": {
+ "source": "https://github.com/ataylorme/behat-wordpress-extension/tree/pantheon-fixes"
+ },
+ "time": "2017-07-13T22:44:51+00:00"
+ },
+ {
+ "name": "behat/behat",
+ "version": "v3.3.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Behat/Behat.git",
+ "reference": "44a58c1480d6144b2dc2c2bf02b9cef73c83840d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Behat/Behat/zipball/44a58c1480d6144b2dc2c2bf02b9cef73c83840d",
+ "reference": "44a58c1480d6144b2dc2c2bf02b9cef73c83840d",
+ "shasum": ""
+ },
+ "require": {
+ "behat/gherkin": "^4.4.4",
+ "behat/transliterator": "^1.2",
+ "container-interop/container-interop": "^1.1",
+ "ext-mbstring": "*",
+ "php": ">=5.3.3",
+ "symfony/class-loader": "~2.1||~3.0",
+ "symfony/config": "~2.3||~3.0",
+ "symfony/console": "~2.5||~3.0",
+ "symfony/dependency-injection": "~2.1||~3.0",
+ "symfony/event-dispatcher": "~2.1||~3.0",
+ "symfony/translation": "~2.3||~3.0",
+ "symfony/yaml": "~2.1||~3.0"
+ },
+ "require-dev": {
+ "herrera-io/box": "~1.6.1",
+ "phpunit/phpunit": "~4.5",
+ "symfony/process": "~2.5|~3.0"
+ },
+ "suggest": {
+ "behat/mink-extension": "for integration with Mink testing framework",
+ "behat/symfony2-extension": "for integration with Symfony2 web framework",
+ "behat/yii-extension": "for integration with Yii web framework"
+ },
+ "bin": [
+ "bin/behat"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Behat\\Behat": "src/",
+ "Behat\\Testwork": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Konstantin Kudryashov",
+ "email": "ever.zet@gmail.com",
+ "homepage": "http://everzet.com"
+ }
+ ],
+ "description": "Scenario-oriented BDD framework for PHP 5.3",
+ "homepage": "http://behat.org/",
+ "keywords": [
+ "Agile",
+ "BDD",
+ "ScenarioBDD",
+ "Scrum",
+ "StoryBDD",
+ "User story",
+ "business",
+ "development",
+ "documentation",
+ "examples",
+ "symfony",
+ "testing"
+ ],
+ "time": "2017-05-15T16:49:16+00:00"
+ },
+ {
+ "name": "behat/gherkin",
+ "version": "v4.4.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Behat/Gherkin.git",
+ "reference": "5c14cff4f955b17d20d088dec1bde61c0539ec74"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Behat/Gherkin/zipball/5c14cff4f955b17d20d088dec1bde61c0539ec74",
+ "reference": "5c14cff4f955b17d20d088dec1bde61c0539ec74",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.5|~5",
+ "symfony/phpunit-bridge": "~2.7|~3",
+ "symfony/yaml": "~2.3|~3"
+ },
+ "suggest": {
+ "symfony/yaml": "If you want to parse features, represented in YAML files"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Behat\\Gherkin": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Konstantin Kudryashov",
+ "email": "ever.zet@gmail.com",
+ "homepage": "http://everzet.com"
+ }
+ ],
+ "description": "Gherkin DSL parser for PHP 5.3",
+ "homepage": "http://behat.org/",
+ "keywords": [
+ "BDD",
+ "Behat",
+ "Cucumber",
+ "DSL",
+ "gherkin",
+ "parser"
+ ],
+ "time": "2016-10-30T11:50:56+00:00"
+ },
+ {
+ "name": "behat/mink",
+ "version": "v1.7.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/minkphp/Mink.git",
+ "reference": "e6930b9c74693dff7f4e58577e1b1743399f3ff9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/minkphp/Mink/zipball/e6930b9c74693dff7f4e58577e1b1743399f3ff9",
+ "reference": "e6930b9c74693dff7f4e58577e1b1743399f3ff9",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.1",
+ "symfony/css-selector": "~2.1|~3.0"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "~2.7|~3.0"
+ },
+ "suggest": {
+ "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)",
+ "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation",
+ "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)",
+ "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.7.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Behat\\Mink\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Konstantin Kudryashov",
+ "email": "ever.zet@gmail.com",
+ "homepage": "http://everzet.com"
+ }
+ ],
+ "description": "Browser controller/emulator abstraction for PHP",
+ "homepage": "http://mink.behat.org/",
+ "keywords": [
+ "browser",
+ "testing",
+ "web"
+ ],
+ "time": "2016-03-05T08:26:18+00:00"
+ },
+ {
+ "name": "behat/mink-browserkit-driver",
+ "version": "v1.3.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/minkphp/MinkBrowserKitDriver.git",
+ "reference": "10e67fb4a295efcd62ea0bf16025a85ea19534fb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/10e67fb4a295efcd62ea0bf16025a85ea19534fb",
+ "reference": "10e67fb4a295efcd62ea0bf16025a85ea19534fb",
+ "shasum": ""
+ },
+ "require": {
+ "behat/mink": "^1.7.1@dev",
+ "php": ">=5.3.6",
+ "symfony/browser-kit": "~2.3|~3.0",
+ "symfony/dom-crawler": "~2.3|~3.0"
+ },
+ "require-dev": {
+ "silex/silex": "~1.2",
+ "symfony/phpunit-bridge": "~2.7|~3.0"
+ },
+ "type": "mink-driver",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Behat\\Mink\\Driver\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Konstantin Kudryashov",
+ "email": "ever.zet@gmail.com",
+ "homepage": "http://everzet.com"
+ }
+ ],
+ "description": "Symfony2 BrowserKit driver for Mink framework",
+ "homepage": "http://mink.behat.org/",
+ "keywords": [
+ "Mink",
+ "Symfony2",
+ "browser",
+ "testing"
+ ],
+ "time": "2016-03-05T08:59:47+00:00"
+ },
+ {
+ "name": "behat/mink-extension",
+ "version": "v2.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Behat/MinkExtension.git",
+ "reference": "5b4bda64ff456104564317e212c823e45cad9d59"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Behat/MinkExtension/zipball/5b4bda64ff456104564317e212c823e45cad9d59",
+ "reference": "5b4bda64ff456104564317e212c823e45cad9d59",
+ "shasum": ""
+ },
+ "require": {
+ "behat/behat": "~3.0,>=3.0.5",
+ "behat/mink": "~1.5",
+ "php": ">=5.3.2",
+ "symfony/config": "~2.2|~3.0"
+ },
+ "require-dev": {
+ "behat/mink-goutte-driver": "~1.1",
+ "phpspec/phpspec": "~2.0"
+ },
+ "type": "behat-extension",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Behat\\MinkExtension": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Christophe Coevoet",
+ "email": "stof@notk.org"
+ },
+ {
+ "name": "Konstantin Kudryashov",
+ "email": "ever.zet@gmail.com"
+ }
+ ],
+ "description": "Mink extension for Behat",
+ "homepage": "http://extensions.behat.org/mink",
+ "keywords": [
+ "browser",
+ "gui",
+ "test",
+ "web"
+ ],
+ "time": "2016-02-15T07:55:18+00:00"
+ },
+ {
+ "name": "behat/mink-goutte-driver",
+ "version": "v1.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/minkphp/MinkGoutteDriver.git",
+ "reference": "8b9ad6d2d95bc70b840d15323365f52fcdaea6ca"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/8b9ad6d2d95bc70b840d15323365f52fcdaea6ca",
+ "reference": "8b9ad6d2d95bc70b840d15323365f52fcdaea6ca",
+ "shasum": ""
+ },
+ "require": {
+ "behat/mink": "~1.6@dev",
+ "behat/mink-browserkit-driver": "~1.2@dev",
+ "fabpot/goutte": "~1.0.4|~2.0|~3.1",
+ "php": ">=5.3.1"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "~2.7|~3.0"
+ },
+ "type": "mink-driver",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Behat\\Mink\\Driver\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Konstantin Kudryashov",
+ "email": "ever.zet@gmail.com",
+ "homepage": "http://everzet.com"
+ }
+ ],
+ "description": "Goutte driver for Mink framework",
+ "homepage": "http://mink.behat.org/",
+ "keywords": [
+ "browser",
+ "goutte",
+ "headless",
+ "testing"
+ ],
+ "time": "2016-03-05T09:04:22+00:00"
+ },
+ {
+ "name": "behat/mink-selenium2-driver",
+ "version": "v1.3.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/minkphp/MinkSelenium2Driver.git",
+ "reference": "473a9f3ebe0c134ee1e623ce8a9c852832020288"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/minkphp/MinkSelenium2Driver/zipball/473a9f3ebe0c134ee1e623ce8a9c852832020288",
+ "reference": "473a9f3ebe0c134ee1e623ce8a9c852832020288",
+ "shasum": ""
+ },
+ "require": {
+ "behat/mink": "~1.7@dev",
+ "instaclick/php-webdriver": "~1.1",
+ "php": ">=5.3.1"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "~2.7"
+ },
+ "type": "mink-driver",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Behat\\Mink\\Driver\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Konstantin Kudryashov",
+ "email": "ever.zet@gmail.com",
+ "homepage": "http://everzet.com"
+ },
+ {
+ "name": "Pete Otaqui",
+ "email": "pete@otaqui.com",
+ "homepage": "https://github.com/pete-otaqui"
+ }
+ ],
+ "description": "Selenium2 (WebDriver) driver for Mink framework",
+ "homepage": "http://mink.behat.org/",
+ "keywords": [
+ "ajax",
+ "browser",
+ "javascript",
+ "selenium",
+ "testing",
+ "webdriver"
+ ],
+ "time": "2016-03-05T09:10:18+00:00"
+ },
+ {
+ "name": "behat/transliterator",
+ "version": "v1.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Behat/Transliterator.git",
+ "reference": "826ce7e9c2a6664c0d1f381cbb38b1fb80a7ee2c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Behat/Transliterator/zipball/826ce7e9c2a6664c0d1f381cbb38b1fb80a7ee2c",
+ "reference": "826ce7e9c2a6664c0d1f381cbb38b1fb80a7ee2c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "chuyskywalker/rolling-curl": "^3.1",
+ "php-yaoi/php-yaoi": "^1.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.2-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Behat\\Transliterator": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "Artistic-1.0"
+ ],
+ "description": "String transliterator",
+ "keywords": [
+ "i18n",
+ "slug",
+ "transliterator"
+ ],
+ "time": "2017-04-04T11:38:05+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",
+ "time": "2017-02-14T19:40:03+00:00"
+ },
+ {
+ "name": "fabpot/goutte",
+ "version": "v3.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/FriendsOfPHP/Goutte.git",
+ "reference": "db5c28f4a010b4161d507d5304e28a7ebf211638"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/db5c28f4a010b4161d507d5304e28a7ebf211638",
+ "reference": "db5c28f4a010b4161d507d5304e28a7ebf211638",
+ "shasum": ""
+ },
+ "require": {
+ "guzzlehttp/guzzle": "^6.0",
+ "php": ">=5.5.0",
+ "symfony/browser-kit": "~2.1|~3.0",
+ "symfony/css-selector": "~2.1|~3.0",
+ "symfony/dom-crawler": "~2.1|~3.0"
+ },
+ "type": "application",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.2-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Goutte\\": "Goutte"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ }
+ ],
+ "description": "A simple PHP Web Scraper",
+ "homepage": "https://github.com/FriendsOfPHP/Goutte",
+ "keywords": [
+ "scraper"
+ ],
+ "time": "2017-01-03T13:21:43+00:00"
+ },
+ {
+ "name": "guzzlehttp/guzzle",
+ "version": "6.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/guzzle.git",
+ "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699",
+ "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699",
+ "shasum": ""
+ },
+ "require": {
+ "guzzlehttp/promises": "^1.0",
+ "guzzlehttp/psr7": "^1.4",
+ "php": ">=5.5"
+ },
+ "require-dev": {
+ "ext-curl": "*",
+ "phpunit/phpunit": "^4.0 || ^5.0",
+ "psr/log": "^1.0"
+ },
+ "suggest": {
+ "psr/log": "Required for using the Log middleware"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "6.2-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/functions_include.php"
+ ],
+ "psr-4": {
+ "GuzzleHttp\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ }
+ ],
+ "description": "Guzzle is a PHP HTTP client library",
+ "homepage": "http://guzzlephp.org/",
+ "keywords": [
+ "client",
+ "curl",
+ "framework",
+ "http",
+ "http client",
+ "rest",
+ "web service"
+ ],
+ "time": "2017-06-22T18:50:49+00:00"
+ },
+ {
+ "name": "guzzlehttp/promises",
+ "version": "v1.3.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/promises.git",
+ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646",
+ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "GuzzleHttp\\Promise\\": "src/"
+ },
+ "files": [
+ "src/functions_include.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ }
+ ],
+ "description": "Guzzle promises library",
+ "keywords": [
+ "promise"
+ ],
+ "time": "2016-12-20T10:07:11+00:00"
+ },
+ {
+ "name": "guzzlehttp/psr7",
+ "version": "1.4.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/psr7.git",
+ "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
+ "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.4.0",
+ "psr/http-message": "~1.0"
+ },
+ "provide": {
+ "psr/http-message-implementation": "1.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "GuzzleHttp\\Psr7\\": "src/"
+ },
+ "files": [
+ "src/functions_include.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "Tobias Schultze",
+ "homepage": "https://github.com/Tobion"
+ }
+ ],
+ "description": "PSR-7 message implementation that also provides common utility methods",
+ "keywords": [
+ "http",
+ "message",
+ "request",
+ "response",
+ "stream",
+ "uri",
+ "url"
+ ],
+ "time": "2017-03-20T17:10:46+00:00"
+ },
+ {
+ "name": "instaclick/php-webdriver",
+ "version": "1.4.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/instaclick/php-webdriver.git",
+ "reference": "6fa959452e774dcaed543faad3a9d1a37d803327"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/6fa959452e774dcaed543faad3a9d1a37d803327",
+ "reference": "6fa959452e774dcaed543faad3a9d1a37d803327",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "php": ">=5.3.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8",
+ "satooshi/php-coveralls": "^1.0||^2.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.4.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "WebDriver": "lib/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "Apache-2.0"
+ ],
+ "authors": [
+ {
+ "name": "Justin Bishop",
+ "email": "jubishop@gmail.com",
+ "role": "Developer"
+ },
+ {
+ "name": "Anthon Pang",
+ "email": "apang@softwaredevelopment.ca",
+ "role": "Fork Maintainer"
+ }
+ ],
+ "description": "PHP WebDriver for Selenium 2",
+ "homepage": "http://instaclick.com/",
+ "keywords": [
+ "browser",
+ "selenium",
+ "webdriver",
+ "webtest"
+ ],
+ "time": "2017-06-30T04:02:48+00:00"
+ },
+ {
+ "name": "ocramius/package-versions",
+ "version": "1.1.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Ocramius/PackageVersions.git",
+ "reference": "51e867c70f0799790b3e82276875414ce13daaca"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/51e867c70f0799790b3e82276875414ce13daaca",
+ "reference": "51e867c70f0799790b3e82276875414ce13daaca",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "^1.0",
+ "php": "~7.0"
+ },
+ "require-dev": {
+ "composer/composer": "^1.3",
+ "ext-zip": "*",
+ "phpunit/phpunit": "^5.4.7"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "PackageVersions\\Installer",
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PackageVersions\\": "src/PackageVersions"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com"
+ }
+ ],
+ "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
+ "time": "2016-12-30T09:49:15+00:00"
+ },
+ {
+ "name": "ocramius/proxy-manager",
+ "version": "2.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Ocramius/ProxyManager.git",
+ "reference": "e18ac876b2e4819c76349de8f78ccc8ef1554cd7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Ocramius/ProxyManager/zipball/e18ac876b2e4819c76349de8f78ccc8ef1554cd7",
+ "reference": "e18ac876b2e4819c76349de8f78ccc8ef1554cd7",
+ "shasum": ""
+ },
+ "require": {
+ "ocramius/package-versions": "^1.1.1",
+ "php": "^7.1.0",
+ "zendframework/zend-code": "^3.1.0"
+ },
+ "require-dev": {
+ "couscous/couscous": "^1.5.2",
+ "ext-phar": "*",
+ "humbug/humbug": "dev-master@DEV",
+ "nikic/php-parser": "^3.0.4",
+ "phpbench/phpbench": "^0.12.2",
+ "phpstan/phpstan": "^0.6.4",
+ "phpunit/phpunit": "^5.6.4",
+ "phpunit/phpunit-mock-objects": "^3.4.1",
+ "squizlabs/php_codesniffer": "^2.7.0"
+ },
+ "suggest": {
+ "ocramius/generated-hydrator": "To have very fast object to array to object conversion for ghost objects",
+ "zendframework/zend-json": "To have the JsonRpc adapter (Remote Object feature)",
+ "zendframework/zend-soap": "To have the Soap adapter (Remote Object feature)",
+ "zendframework/zend-xmlrpc": "To have the XmlRpc adapter (Remote Object feature)"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "ProxyManager\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com",
+ "homepage": "http://ocramius.github.io/"
+ }
+ ],
+ "description": "A library providing utilities to generate, instantiate and generally operate with Object Proxies",
+ "homepage": "https://github.com/Ocramius/ProxyManager",
+ "keywords": [
+ "aop",
+ "lazy loading",
+ "proxy",
+ "proxy pattern",
+ "service proxies"
+ ],
+ "time": "2017-05-04T11:12:50+00:00"
+ },
+ {
+ "name": "psr/container",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
+ "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Container\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common Container Interface (PHP FIG PSR-11)",
+ "homepage": "https://github.com/php-fig/container",
+ "keywords": [
+ "PSR-11",
+ "container",
+ "container-interface",
+ "container-interop",
+ "psr"
+ ],
+ "time": "2017-02-14T16:28:37+00:00"
+ },
+ {
+ "name": "psr/http-message",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/http-message.git",
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Http\\Message\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for HTTP messages",
+ "homepage": "https://github.com/php-fig/http-message",
+ "keywords": [
+ "http",
+ "http-message",
+ "psr",
+ "psr-7",
+ "request",
+ "response"
+ ],
+ "time": "2016-08-06T14:39:51+00:00"
+ },
+ {
+ "name": "psr/log",
+ "version": "1.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
+ "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Log\\": "Psr/Log/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for logging libraries",
+ "homepage": "https://github.com/php-fig/log",
+ "keywords": [
+ "log",
+ "psr",
+ "psr-3"
+ ],
+ "time": "2016-10-10T12:19:37+00:00"
+ },
+ {
+ "name": "roave/security-advisories",
+ "version": "dev-master",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Roave/SecurityAdvisories.git",
+ "reference": "c1bdf69b424087447dc8e12d95b373c2b1cc77f2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/c1bdf69b424087447dc8e12d95b373c2b1cc77f2",
+ "reference": "c1bdf69b424087447dc8e12d95b373c2b1cc77f2",
+ "shasum": ""
+ },
+ "conflict": {
+ "adodb/adodb-php": "<5.20.6",
+ "amphp/artax": ">=2,<2.0.6|<1.0.6",
+ "aws/aws-sdk-php": ">=3,<3.2.1",
+ "bugsnag/bugsnag-laravel": ">=2,<2.0.2",
+ "cakephp/cakephp": ">=3,<3.0.15|>=2,<2.4.99|>=2.5,<2.5.99|>=2.6,<2.6.12|>=1.3,<1.3.18|>=2.7,<2.7.6|>=3.1,<3.1.4",
+ "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4",
+ "cartalyst/sentry": "<2.1",
+ "codeigniter/framework": "<=3.0.6",
+ "composer/composer": "<=1.0.0-alpha11",
+ "contao-components/mediaelement": ">=2.14.2,<2.21.1",
+ "contao/core": ">=2,<3.5.28",
+ "contao/core-bundle": ">=4,<4.4.1",
+ "doctrine/annotations": ">=1,<1.2.7",
+ "doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2",
+ "doctrine/common": ">=2,<2.4.3|>=2.5,<2.5.1",
+ "doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2",
+ "doctrine/doctrine-bundle": "<1.5.2",
+ "doctrine/doctrine-module": "<=0.7.1",
+ "doctrine/mongodb-odm": ">=1,<1.0.2",
+ "doctrine/mongodb-odm-bundle": ">=2,<3.0.1",
+ "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1",
+ "dompdf/dompdf": ">=0.6,<0.6.2",
+ "drupal/core": ">=8,<8.3.4",
+ "drupal/drupal": ">=8,<8.3.4",
+ "firebase/php-jwt": "<2",
+ "friendsofsymfony/rest-bundle": ">=1.2,<1.2.2",
+ "friendsofsymfony/user-bundle": ">=1.2,<1.3.5",
+ "gregwar/rst": "<1.0.3",
+ "guzzlehttp/guzzle": ">=6,<6.2.1|>=4.0.0-rc2,<4.2.4|>=5,<5.3.1",
+ "illuminate/auth": ">=4,<4.0.99|>=4.1,<4.1.26",
+ "illuminate/database": ">=4,<4.0.99|>=4.1,<4.1.29",
+ "joomla/session": "<1.3.1",
+ "laravel/framework": ">=4,<4.0.99|>=4.1,<4.1.29",
+ "laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10",
+ "magento/magento1ce": ">=1.5.0.1,<1.9.3.2",
+ "magento/magento1ee": ">=1.9,<1.14.3.2",
+ "magento/magento2ce": ">=2,<2.2",
+ "monolog/monolog": ">=1.8,<1.12",
+ "namshi/jose": "<2.2",
+ "onelogin/php-saml": "<2.10.4",
+ "oro/crm": ">=1.7,<1.7.4",
+ "oro/platform": ">=1.7,<1.7.4",
+ "phpmailer/phpmailer": ">=5,<5.2.22",
+ "pusher/pusher-php-server": "<2.2.1",
+ "sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9",
+ "shopware/shopware": "<4.4|>=5,<5.2.16",
+ "silverstripe/cms": ">=3.1,<3.1.11|>=3,<=3.0.11",
+ "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3",
+ "silverstripe/framework": ">=3,<3.3",
+ "silverstripe/userforms": "<3",
+ "simplesamlphp/saml2": "<1.8.1|>=1.9,<1.9.1|>=1.10,<1.10.3|>=2,<2.3.3",
+ "simplesamlphp/simplesamlphp": "<1.14.12",
+ "simplesamlphp/simplesamlphp-module-infocard": "<1.0.1",
+ "socalnick/scn-social-auth": "<1.15.2",
+ "squizlabs/php_codesniffer": ">=1,<2.8.1",
+ "swiftmailer/swiftmailer": ">=4,<5.4.5",
+ "symfony/dependency-injection": ">=2,<2.0.17",
+ "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.7",
+ "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2",
+ "symfony/http-foundation": ">=2,<2.3.27|>=2.4,<2.5.11|>=2.6,<2.6.6",
+ "symfony/http-kernel": ">=2,<2.3.29|>=2.4,<2.5.12|>=2.6,<2.6.8",
+ "symfony/routing": ">=2,<2.0.19",
+ "symfony/security": ">=2.3,<2.3.37|>=2.4,<2.6.13|>=2.7,<2.7.9|>=2,<2.0.25|>=2.1,<2.1.13|>=2.2,<2.2.9",
+ "symfony/security-core": ">=2.8,<2.8.6|>=3,<3.0.6|>=2.4,<2.6.13|>=2.7,<2.7.9",
+ "symfony/security-http": ">=2.4,<2.7.13|>=2.3,<2.3.41|>=2.8,<2.8.6|>=3,<3.0.6",
+ "symfony/serializer": ">=2,<2.0.11",
+ "symfony/symfony": ">=2,<2.3.41|>=2.4,<2.7.13|>=2.8,<2.8.6|>=3,<3.0.6",
+ "symfony/translation": ">=2,<2.0.17",
+ "symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3",
+ "symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4",
+ "symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7",
+ "thelia/backoffice-default-template": ">=2.1,<2.1.2",
+ "thelia/thelia": ">=2.1.0-beta1,<2.1.3|>=2.1,<2.1.2",
+ "twig/twig": "<1.20",
+ "typo3/cms": ">=6.2,<6.2.30|>=8,<8.6.1|>=7,<7.6.16",
+ "typo3/flow": ">=2.3,<2.3.16|>=3,<3.0.10|>=3.1,<3.1.7|>=3.2,<3.2.7|>=3.3,<3.3.5|>=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1",
+ "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4",
+ "willdurand/js-translation-bundle": "<2.1.1",
+ "yiisoft/yii": ">=1.1.14,<1.1.15",
+ "yiisoft/yii2": "<2.0.5",
+ "yiisoft/yii2-bootstrap": "<2.0.4",
+ "yiisoft/yii2-dev": "<2.0.4",
+ "yiisoft/yii2-gii": "<2.0.4",
+ "yiisoft/yii2-jui": "<2.0.4",
+ "zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3",
+ "zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2",
+ "zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2",
+ "zendframework/zend-db": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.10|>=2.3,<2.3.5",
+ "zendframework/zend-diactoros": ">=1,<1.0.4",
+ "zendframework/zend-form": ">=2,<2.2.7|>=2.3,<2.3.1",
+ "zendframework/zend-http": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.3,<2.3.8|>=2.4,<2.4.1",
+ "zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6",
+ "zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3",
+ "zendframework/zend-mail": ">=2,<2.4.11|>=2.5,<2.7.2",
+ "zendframework/zend-navigation": ">=2,<2.2.7|>=2.3,<2.3.1",
+ "zendframework/zend-session": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.9|>=2.3,<2.3.4",
+ "zendframework/zend-validator": ">=2.3,<2.3.6",
+ "zendframework/zend-view": ">=2,<2.2.7|>=2.3,<2.3.1",
+ "zendframework/zend-xmlrpc": ">=2.1,<2.1.6|>=2.2,<2.2.6",
+ "zendframework/zendframework": ">=2,<2.4.11|>=2.5,<2.5.1",
+ "zendframework/zendframework1": "<1.12.20",
+ "zendframework/zendopenid": ">=2,<2.0.2",
+ "zendframework/zendxml": ">=1,<1.0.1",
+ "zf-commons/zfc-user": "<1.2.2",
+ "zfcampus/zf-apigility-doctrine": ">=1,<1.0.3",
+ "zfr/zfr-oauth2-server-module": "<0.1.2"
+ },
+ "type": "metapackage",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com",
+ "role": "maintainer"
+ }
+ ],
+ "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it",
+ "time": "2017-07-12T12:45:47+00:00"
+ },
+ {
+ "name": "sensiolabs/behat-page-object-extension",
+ "version": "v2.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sensiolabs/BehatPageObjectExtension.git",
+ "reference": "bd2a34221ba65ea8c86d8e693992d718de03dbae"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sensiolabs/BehatPageObjectExtension/zipball/bd2a34221ba65ea8c86d8e693992d718de03dbae",
+ "reference": "bd2a34221ba65ea8c86d8e693992d718de03dbae",
+ "shasum": ""
+ },
+ "require": {
+ "behat/behat": "^3.0.6",
+ "behat/mink": "^1.6",
+ "behat/mink-extension": "^2.0",
+ "ocramius/proxy-manager": "^1.0||^2.0",
+ "php": ">=5.3.0"
+ },
+ "require-dev": {
+ "behat/mink-goutte-driver": "^1.0",
+ "bossa/phpspec2-expect": "^1.0.3||^2.0",
+ "fabpot/goutte": "^1.0.4||^2.0||^3.0",
+ "phpspec/phpspec": "^2.5||^3.0",
+ "symfony/filesystem": "^2.8||^3.0",
+ "symfony/process": "^2.8||^3.0",
+ "symfony/yaml": "^2.8||^3.0"
+ },
+ "suggest": {
+ "bossa/phpspec2-expect": "Allows to use PHPSpec2 matchers in Behat context files"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "SensioLabs\\Behat\\PageObjectExtension\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marcello Duarte",
+ "email": "mduarte@inviqa.com"
+ },
+ {
+ "name": "Jakub Zalas",
+ "email": "jakub@zalas.pl"
+ }
+ ],
+ "description": "Page object extension for Behat",
+ "homepage": "https://github.com/sensiolabs/BehatPageObjectExtension",
+ "keywords": [
+ "BDD",
+ "Behat",
+ "page"
+ ],
+ "time": "2017-05-22T14:16:06+00:00"
+ },
+ {
+ "name": "symfony/browser-kit",
+ "version": "v3.3.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/browser-kit.git",
+ "reference": "3a4435e79a8401746e8525e98039199d0924b4e5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/3a4435e79a8401746e8525e98039199d0924b4e5",
+ "reference": "3a4435e79a8401746e8525e98039199d0924b4e5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.9",
+ "symfony/dom-crawler": "~2.8|~3.0"
+ },
+ "require-dev": {
+ "symfony/css-selector": "~2.8|~3.0",
+ "symfony/process": "~2.8|~3.0"
+ },
+ "suggest": {
+ "symfony/process": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\BrowserKit\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony BrowserKit Component",
+ "homepage": "https://symfony.com",
+ "time": "2017-06-24T09:29:48+00:00"
+ },
+ {
+ "name": "symfony/class-loader",
+ "version": "v3.3.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/class-loader.git",
+ "reference": "386a294d621576302e7cc36965d6ed53b8c73c4f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/class-loader/zipball/386a294d621576302e7cc36965d6ed53b8c73c4f",
+ "reference": "386a294d621576302e7cc36965d6ed53b8c73c4f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.9"
+ },
+ "require-dev": {
+ "symfony/finder": "~2.8|~3.0",
+ "symfony/polyfill-apcu": "~1.1"
+ },
+ "suggest": {
+ "symfony/polyfill-apcu": "For using ApcClassLoader on HHVM"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\ClassLoader\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony ClassLoader Component",
+ "homepage": "https://symfony.com",
+ "time": "2017-06-02T09:51:43+00:00"
+ },
+ {
+ "name": "symfony/config",
+ "version": "v3.3.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/config.git",
+ "reference": "a094618deb9a3fe1c3cf500a796e167d0495a274"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/config/zipball/a094618deb9a3fe1c3cf500a796e167d0495a274",
+ "reference": "a094618deb9a3fe1c3cf500a796e167d0495a274",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.9",
+ "symfony/filesystem": "~2.8|~3.0"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<3.3",
+ "symfony/finder": "<3.3"
+ },
+ "require-dev": {
+ "symfony/dependency-injection": "~3.3",
+ "symfony/finder": "~3.3",
+ "symfony/yaml": "~3.0"
+ },
+ "suggest": {
+ "symfony/yaml": "To use the yaml reference dumper"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Config\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Config Component",
+ "homepage": "https://symfony.com",
+ "time": "2017-06-16T12:40:34+00:00"
+ },
+ {
+ "name": "symfony/console",
+ "version": "v3.3.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/console.git",
+ "reference": "a97e45d98c59510f085fa05225a1acb74dfe0546"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/console/zipball/a97e45d98c59510f085fa05225a1acb74dfe0546",
+ "reference": "a97e45d98c59510f085fa05225a1acb74dfe0546",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.9",
+ "symfony/debug": "~2.8|~3.0",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<3.3"
+ },
+ "require-dev": {
+ "psr/log": "~1.0",
+ "symfony/config": "~3.3",
+ "symfony/dependency-injection": "~3.3",
+ "symfony/event-dispatcher": "~2.8|~3.0",
+ "symfony/filesystem": "~2.8|~3.0",
+ "symfony/http-kernel": "~2.8|~3.0",
+ "symfony/process": "~2.8|~3.0"
+ },
+ "suggest": {
+ "psr/log": "For using the console logger",
+ "symfony/event-dispatcher": "",
+ "symfony/filesystem": "",
+ "symfony/process": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Console\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Console Component",
+ "homepage": "https://symfony.com",
+ "time": "2017-07-03T13:19:36+00:00"
+ },
+ {
+ "name": "symfony/css-selector",
+ "version": "v3.3.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/css-selector.git",
+ "reference": "4d882dced7b995d5274293039370148e291808f2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/4d882dced7b995d5274293039370148e291808f2",
+ "reference": "4d882dced7b995d5274293039370148e291808f2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.9"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\CssSelector\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jean-François Simon",
+ "email": "jeanfrancois.simon@sensiolabs.com"
+ },
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony CssSelector Component",
+ "homepage": "https://symfony.com",
+ "time": "2017-05-01T15:01:29+00:00"
+ },
+ {
+ "name": "symfony/debug",
+ "version": "v3.3.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/debug.git",
+ "reference": "63b85a968486d95ff9542228dc2e4247f16f9743"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/debug/zipball/63b85a968486d95ff9542228dc2e4247f16f9743",
+ "reference": "63b85a968486d95ff9542228dc2e4247f16f9743",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.9",
+ "psr/log": "~1.0"
+ },
+ "conflict": {
+ "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
+ },
+ "require-dev": {
+ "symfony/http-kernel": "~2.8|~3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Debug\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Debug Component",
+ "homepage": "https://symfony.com",
+ "time": "2017-07-05T13:02:37+00:00"
+ },
+ {
+ "name": "symfony/dependency-injection",
+ "version": "v3.3.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/dependency-injection.git",
+ "reference": "986a633c92220ecb22ad06820a1df126c7a4f9eb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/986a633c92220ecb22ad06820a1df126c7a4f9eb",
+ "reference": "986a633c92220ecb22ad06820a1df126c7a4f9eb",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.9",
+ "psr/container": "^1.0"
+ },
+ "conflict": {
+ "symfony/config": "<3.3.1",
+ "symfony/finder": "<3.3",
+ "symfony/yaml": "<3.3"
+ },
+ "provide": {
+ "psr/container-implementation": "1.0"
+ },
+ "require-dev": {
+ "symfony/config": "~3.3",
+ "symfony/expression-language": "~2.8|~3.0",
+ "symfony/yaml": "~3.3"
+ },
+ "suggest": {
+ "symfony/config": "",
+ "symfony/expression-language": "For using expressions in service container configuration",
+ "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
+ "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
+ "symfony/yaml": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\DependencyInjection\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony DependencyInjection Component",
+ "homepage": "https://symfony.com",
+ "time": "2017-06-20T14:01:46+00:00"
+ },
+ {
+ "name": "symfony/dom-crawler",
+ "version": "v3.3.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/dom-crawler.git",
+ "reference": "fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1",
+ "reference": "fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.9",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "require-dev": {
+ "symfony/css-selector": "~2.8|~3.0"
+ },
+ "suggest": {
+ "symfony/css-selector": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\DomCrawler\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony DomCrawler Component",
+ "homepage": "https://symfony.com",
+ "time": "2017-05-25T23:10:31+00:00"
+ },
+ {
+ "name": "symfony/event-dispatcher",
+ "version": "v3.3.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/event-dispatcher.git",
+ "reference": "67535f1e3fd662bdc68d7ba317c93eecd973617e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/67535f1e3fd662bdc68d7ba317c93eecd973617e",
+ "reference": "67535f1e3fd662bdc68d7ba317c93eecd973617e",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.9"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<3.3"
+ },
+ "require-dev": {
+ "psr/log": "~1.0",
+ "symfony/config": "~2.8|~3.0",
+ "symfony/dependency-injection": "~3.3",
+ "symfony/expression-language": "~2.8|~3.0",
+ "symfony/stopwatch": "~2.8|~3.0"
+ },
+ "suggest": {
+ "symfony/dependency-injection": "",
+ "symfony/http-kernel": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\EventDispatcher\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony EventDispatcher Component",
+ "homepage": "https://symfony.com",
+ "time": "2017-06-09T14:53:08+00:00"
+ },
+ {
+ "name": "symfony/filesystem",
+ "version": "v3.3.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/filesystem.git",
+ "reference": "311fa718389efbd8b627c272b9324a62437018cc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/311fa718389efbd8b627c272b9324a62437018cc",
+ "reference": "311fa718389efbd8b627c272b9324a62437018cc",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.9"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Filesystem\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Filesystem Component",
+ "homepage": "https://symfony.com",
+ "time": "2017-06-24T09:29:48+00:00"
+ },
+ {
+ "name": "symfony/polyfill-mbstring",
+ "version": "v1.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
+ "reference": "f29dca382a6485c3cbe6379f0c61230167681937"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f29dca382a6485c3cbe6379f0c61230167681937",
+ "reference": "f29dca382a6485c3cbe6379f0c61230167681937",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "suggest": {
+ "ext-mbstring": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for the Mbstring extension",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "mbstring",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "time": "2017-06-09T14:24:12+00:00"
+ },
+ {
+ "name": "symfony/translation",
+ "version": "v3.3.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/translation.git",
+ "reference": "35dd5fb003c90e8bd4d8cabdf94bf9c96d06fdc3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/35dd5fb003c90e8bd4d8cabdf94bf9c96d06fdc3",
+ "reference": "35dd5fb003c90e8bd4d8cabdf94bf9c96d06fdc3",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.9",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "conflict": {
+ "symfony/config": "<2.8",
+ "symfony/yaml": "<3.3"
+ },
+ "require-dev": {
+ "psr/log": "~1.0",
+ "symfony/config": "~2.8|~3.0",
+ "symfony/intl": "^2.8.18|^3.2.5",
+ "symfony/yaml": "~3.3"
+ },
+ "suggest": {
+ "psr/log": "To use logging capability in translator",
+ "symfony/config": "",
+ "symfony/yaml": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Translation\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Translation Component",
+ "homepage": "https://symfony.com",
+ "time": "2017-06-24T16:45:30+00:00"
+ },
+ {
+ "name": "symfony/yaml",
+ "version": "v3.3.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/yaml.git",
+ "reference": "1f93a8d19b8241617f5074a123e282575b821df8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/1f93a8d19b8241617f5074a123e282575b821df8",
+ "reference": "1f93a8d19b8241617f5074a123e282575b821df8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.9"
+ },
+ "require-dev": {
+ "symfony/console": "~2.8|~3.0"
+ },
+ "suggest": {
+ "symfony/console": "For validating YAML files using the lint command"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Yaml\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Yaml Component",
+ "homepage": "https://symfony.com",
+ "time": "2017-06-15T12:58:50+00:00"
+ },
+ {
+ "name": "zendframework/zend-code",
+ "version": "3.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/zendframework/zend-code.git",
+ "reference": "2899c17f83a7207f2d7f53ec2f421204d3beea27"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/zendframework/zend-code/zipball/2899c17f83a7207f2d7f53ec2f421204d3beea27",
+ "reference": "2899c17f83a7207f2d7f53ec2f421204d3beea27",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || 7.0.0 - 7.0.4 || ^7.0.6",
+ "zendframework/zend-eventmanager": "^2.6 || ^3.0"
+ },
+ "require-dev": {
+ "doctrine/annotations": "~1.0",
+ "ext-phar": "*",
+ "phpunit/phpunit": "^4.8.21",
+ "squizlabs/php_codesniffer": "^2.5",
+ "zendframework/zend-stdlib": "^2.7 || ^3.0"
+ },
+ "suggest": {
+ "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features",
+ "zendframework/zend-stdlib": "Zend\\Stdlib component"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1-dev",
+ "dev-develop": "3.2-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Zend\\Code\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "provides facilities to generate arbitrary code using an object oriented interface",
+ "homepage": "https://github.com/zendframework/zend-code",
+ "keywords": [
+ "code",
+ "zf2"
+ ],
+ "time": "2016-10-24T13:23:32+00:00"
+ },
+ {
+ "name": "zendframework/zend-eventmanager",
+ "version": "3.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/zendframework/zend-eventmanager.git",
+ "reference": "9d72db10ceb6e42fb92350c0cb54460da61bd79c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/9d72db10ceb6e42fb92350c0cb54460da61bd79c",
+ "reference": "9d72db10ceb6e42fb92350c0cb54460da61bd79c",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "require-dev": {
+ "athletic/athletic": "^0.1",
+ "container-interop/container-interop": "^1.1.0",
+ "phpunit/phpunit": "^6.0.7 || ^5.7.14",
+ "zendframework/zend-coding-standard": "~1.0.0",
+ "zendframework/zend-stdlib": "^2.7.3 || ^3.0"
+ },
+ "suggest": {
+ "container-interop/container-interop": "^1.1.0, to use the lazy listeners feature",
+ "zendframework/zend-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.2-dev",
+ "dev-develop": "3.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Zend\\EventManager\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Trigger and listen to events within a PHP application",
+ "homepage": "https://github.com/zendframework/zend-eventmanager",
+ "keywords": [
+ "event",
+ "eventmanager",
+ "events",
+ "zf2"
+ ],
+ "time": "2017-07-11T19:17:22+00:00"
+ }
+ ],
+ "aliases": [],
+ "minimum-stability": "dev",
+ "stability-flags": {
+ "ataylorme/behat-wordpress-extension": 20,
+ "roave/security-advisories": 20
+ },
+ "prefer-stable": true,
+ "prefer-lowest": false,
+ "platform": [],
+ "platform-dev": []
+}
diff --git a/pantheon.yml b/pantheon.yml
new file mode 100644
index 00000000..47318f29
--- /dev/null
+++ b/pantheon.yml
@@ -0,0 +1,19 @@
+api_version: 1
+web_docroot: true
+php_version: 7.0
+workflows:
+ deploy_product:
+ after:
+ -
+ type: webphp
+ description: 'Run composer prepare-for-pantheon'
+ script: private/scripts/deploy_product/prepare-for-pantheon.php
+ -
+ type: webphp
+ description: 'Run composer install & drupal-scaffold'
+ script: private/scripts/deploy_product/composer-install.php
+ sync_code:
+ after:
+ - type: webphp
+ description: Push changes back to GitHub if needed
+ script: private/scripts/quicksilver/quicksilver-pushback/push-back-to-github.php
diff --git a/scripts/composer/cleanup-composer b/scripts/composer/cleanup-composer
new file mode 100755
index 00000000..8301f109
--- /dev/null
+++ b/scripts/composer/cleanup-composer
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+# Exit immediately on errors, and echo commands as they are executed.
+set -ex
+
+if [ -d "web/wp/wp-content/mu-plugins/" ]; then
+ rsync -a web/wp/wp-content/mu-plugins/* web/wp-content/mu-plugins/
+fi
+
+if [ -f "web/wp/wp-config.php" ]; then
+ rm web/wp/wp-config.php
+fi
+
+if [ -d "web/wp/wp-content" ]; then
+ rm -rf web/wp/wp-content
+fi
diff --git a/scripts/github/add-commit-comment b/scripts/github/add-commit-comment
new file mode 100755
index 00000000..4d3d2f37
--- /dev/null
+++ b/scripts/github/add-commit-comment
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+project="$1"
+sha="$2"
+comment="$3"
+site_url="$4"
+
+token="$(composer config --global github-oauth.github.com)"
+
+# Exit immediately on errors
+set -e
+
+if [ -n "$site_url" ] ; then
+ visit_site="[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)]($site_url)"
+fi
+
+if [ -n "$token" ] ; then
+ curl -d '{ "body": "'"$comment\\n\\n$visit_site"'" }' -X POST https://api.github.com/repos/$project/commits/$sha/comments?access_token=$token
+
+ echo $comment
+ echo
+ echo $visit_site
+fi
diff --git a/tests/behat-pantheon.yml b/tests/behat-pantheon.yml
new file mode 100644
index 00000000..571f8c69
--- /dev/null
+++ b/tests/behat-pantheon.yml
@@ -0,0 +1,34 @@
+# behat.yml
+default:
+ suites:
+ default:
+ paths:
+ - ./behat/
+ contexts:
+ - Behat\MinkExtension\Context\MinkContext
+ - PaulGibbs\WordpressBehatExtension\Context\ContentContext
+ - PaulGibbs\WordpressBehatExtension\Context\DashboardContext
+ - PaulGibbs\WordpressBehatExtension\Context\SiteContext
+ - PaulGibbs\WordpressBehatExtension\Context\UserContext
+ - PaulGibbs\WordpressBehatExtension\Context\WordpressContext
+ - PaulGibbs\WordpressBehatExtension\Context\EditPostContext
+ - PaulGibbs\WordpressBehatExtension\Context\WidgetContext
+
+ extensions:
+ Behat\MinkExtension:
+ # base_url set by ENV
+ browser_name: chrome
+ default_session: default
+ javascript_session: selenium2
+ sessions:
+ default:
+ goutte:
+ guzzle_parameters:
+ verify: false # Allow self-signed SSL certificates
+ selenium2:
+ selenium2: ~
+
+ PaulGibbs\WordpressBehatExtension:
+ # WordPress username/password and site_url set by ENV
+ default_driver: wpcli
+ path: web/wp
diff --git a/tests/behat/features/README.md b/tests/behat/features/README.md
new file mode 100644
index 00000000..0e631bc9
--- /dev/null
+++ b/tests/behat/features/README.md
@@ -0,0 +1,7 @@
+# Sample feature files
+
+The .feature files in this are meant to be a starting point for writing your own site-specific .feature files.
+
+Feel free to delete the .feature files that come with this repo. They are present only as a reference and so that the first continuous integration builds have an automated test to run.
+
+[A fuller guide on WordPress testing with Behat is forthcoming.](https://github.com/pantheon-systems/documentation/issues/2469)
\ No newline at end of file
diff --git a/tests/behat/features/admin-login.feature b/tests/behat/features/admin-login.feature
new file mode 100644
index 00000000..479053f8
--- /dev/null
+++ b/tests/behat/features/admin-login.feature
@@ -0,0 +1,10 @@
+Feature: Login as an administrator (no-js)
+ As a maintainer of the site
+ I want basic login behavior to work
+ So that I can administer the site
+
+ Scenario: Confirm access to create users
+ Given I am logged in as an admin
+ When I am on the Dashboard
+ And I go to menu item "Users > Add New"
+ Then I should see "Add New User"
\ No newline at end of file
diff --git a/tests/behat/features/blogname.feature b/tests/behat/features/blogname.feature
new file mode 100644
index 00000000..04f847a2
--- /dev/null
+++ b/tests/behat/features/blogname.feature
@@ -0,0 +1,25 @@
+Feature: Change blogname and blogdescription (no-js)
+ As a maintainer of the site
+ I want to be able to change basic settings
+ So that I have control over my site
+
+ Background:
+ Given I am logged in as an admin
+ Given I am on the Dashboard
+
+
+ Scenario: Saving blogname
+ Given I go to menu item "Settings > General"
+ When I fill in "blogname" with "Awesome WordHat Test Site"
+ And I press "submit"
+ And I should see "Settings saved."
+ And I am on the homepage
+ Then I should see "Awesome WordHat Test Site" in the "h1 a" element
+
+ Scenario: Saving blogdescription
+ Given I go to menu item "Settings > General"
+ When I fill in "blogdescription" with "GitHub + Composer + CircleCi + Pantheon = Win!"
+ And I press "submit"
+ And I should see "Settings saved."
+ And I am on the homepage
+ Then I should see "GitHub + Composer + CircleCi + Pantheon = Win!" in the ".site-description" element
\ No newline at end of file
diff --git a/tests/scripts/run-behat b/tests/scripts/run-behat
new file mode 100755
index 00000000..87153964
--- /dev/null
+++ b/tests/scripts/run-behat
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+if [ -z "$TERMINUS_SITE" ] || [ -z "$TERMINUS_ENV" ]
+then
+ echo 'No test site specified. Set TERMINUS_SITE and TERMINUS_ENV.'
+ exit 1
+fi
+
+echo "::::::::::::::::::::::::::::::::::::::::::::::::"
+echo "Behat test site: $TERMINUS_SITE.$TERMINUS_ENV"
+echo "::::::::::::::::::::::::::::::::::::::::::::::::"
+echo
+
+
+# Exit immediately on errors, and echo commands as they are executed.
+set -ex
+
+export BEHAT_PARAMS='{"extensions":{"Behat\\MinkExtension":{"base_url":"https://'$TERMINUS_ENV'-'$TERMINUS_SITE'.pantheonsite.io"},"PaulGibbs\\WordpressBehatExtension":{"site_url":"https://'$TERMINUS_ENV'-'$TERMINUS_SITE'.pantheonsite.io/wp","users":{"admin":{"username":"'$WORDPRESS_ADMIN_USERNAME'","password":"'$WORDPRESS_ADMIN_PASSWORD'"}},"wpcli":{"binary":"terminus -n wp '$TERMINUS_SITE'.'$TERMINUS_ENV' --"}}}}'
+export RELOCATED_WP_ADMIN=TRUE
+
+# Wake the multidev environment before running tests
+terminus -n env:wake $TERMINUS_SITE.$TERMINUS_ENV
+# Ping wp-cli to start ssh with the app server
+terminus -n wp $TERMINUS_SITE.$TERMINUS_ENV -- cli version
+
+cd tests && ../vendor/bin/behat --config=behat-pantheon.yml --strict "$@"
diff --git a/web/index.php b/web/index.php
new file mode 100644
index 00000000..6ec03e13
--- /dev/null
+++ b/web/index.php
@@ -0,0 +1,6 @@
+load();
+ $dotenv->required( array(
+ 'DB_NAME',
+ 'DB_USER',
+ 'DB_HOST',
+ ) )->notEmpty();
+}
+
+/**
+ * Disallow on server file edits
+ */
+define( 'DISALLOW_FILE_EDIT', true );
+define( 'DISALLOW_FILE_MODS', true );
+
+/**
+ * Force SSL
+ */
+define( 'FORCE_SSL_ADMIN', true );
+
+/**
+ * Limit post revisions
+ */
+define( 'WP_POST_REVISIONS', 3 );
+
+/*
+ * If NOT on Pantheon
+ */
+if ( ! isset( $_ENV['PANTHEON_ENVIRONMENT'] ) ):
+ /**
+ * Define site and home URLs
+ */
+ // HTTP is still the default scheme for now.
+ $scheme = 'http';
+ // If we have detected that the end use is HTTPS, make sure we pass that
+ // through here, so tags and the like don't generate mixed-mode
+ // content warnings.
+ if ( isset( $_SERVER['HTTP_USER_AGENT_HTTPS'] ) && $_SERVER['HTTP_USER_AGENT_HTTPS'] == 'ON' ) {
+ $scheme = 'https';
+ }
+ $site_url = getenv( 'WP_HOME' ) !== false ? getenv( 'WP_HOME' ) : $scheme . '://' . $_SERVER['HTTP_HOST'] . '/';
+ define( 'WP_HOME', $site_url );
+ define( 'WP_SITEURL', $site_url . 'wp/' );
+
+ /**
+ * Set Database Details
+ */
+ define( 'DB_NAME', getenv( 'DB_NAME' ) );
+ define( 'DB_USER', getenv( 'DB_USER' ) );
+ define( 'DB_PASSWORD', getenv( 'DB_PASSWORD' ) !== false ? getenv( 'DB_PASSWORD' ) : '' );
+ define( 'DB_HOST', getenv( 'DB_HOST' ) );
+
+ /**
+ * Set debug modes
+ */
+ define( 'WP_DEBUG', getenv( 'WP_DEBUG' ) === 'true' ? true : false );
+ define( 'IS_LOCAL', getenv( 'IS_LOCAL' ) !== false ? true : false );
+
+ /**#@+
+ * Authentication Unique Keys and Salts.
+ *
+ * Change these to different unique phrases!
+ * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
+ * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
+ *
+ * @since 2.6.0
+ */
+ define( 'AUTH_KEY', '^J/U[^{cOJxhcmmCq2MX%nUs}i_^7nm[w+VsetLZ[JXW9Un/IiyWVEXk;s}X=?u$' );
+ define( 'SECURE_AUTH_KEY', 'dT,wlW20L5V3ChmTEHFGVtUE-r&A)y+G%Pnql&eKdVAWvdIr9FO4lh_Gc9ZVn!1|' );
+ define( 'LOGGED_IN_KEY', '{0E{}k_e7!XRt*}h}nuMP[sKn$gb(O@|[>?bUs}B{>:|+|lL%czE/!Tlc Uk53#:' );
+ define( 'NONCE_KEY', '|M9$H1t9D@AR6>JM[]?9RoA^dmOCHt6ldAE%x|0 Iqpi+m32>1>?0*_?*#|6f7|W' );
+ define( 'AUTH_SALT', 'CA-BmAsS|o_P|!I8Wfu%a=qXC;!3p[8]W_:N2{oI]HhpLP(%2]zWLH+aHTHDw9>%' );
+ define( 'SECURE_AUTH_SALT', 'pi-EA,AOXk*U[VZ|t]R;@Kk* ;8+hKX:A|$.Z@HL@0`SE?W0:-?-IRd!' );
+ define( 'LOGGED_IN_SALT', 'e+6%u)u@RZn-$}_Q[N;Na<|A-[Am_$#nhD~}ci:%R&B*oiq tags and the like don't generate mixed-mode
+ // content warnings.
+ if ( isset( $_SERVER['HTTP_USER_AGENT_HTTPS'] ) && $_SERVER['HTTP_USER_AGENT_HTTPS'] == 'ON' ) {
+ $scheme = 'https';
+ }
+ define( 'WP_HOME', $scheme . '://' . $_SERVER['HTTP_HOST'] );
+ define( 'WP_SITEURL', $scheme . '://' . $_SERVER['HTTP_HOST'] . '/wp' );
+
+ }
+ // Don't show deprecations; useful under PHP 5.5
+ error_reporting( E_ALL ^ E_DEPRECATED );
+ // Force the use of a safe temp directory when in a container
+ if ( defined( 'PANTHEON_BINDING' ) ):
+ define( 'WP_TEMP_DIR', sprintf( '/srv/bindings/%s/tmp', PANTHEON_BINDING ) );
+ endif;
+
+ // FS writes aren't permitted in test or live, so we should let WordPress know to disable relevant UI
+ if ( in_array( $_ENV['PANTHEON_ENVIRONMENT'], array( 'test', 'live' ) ) && ! defined( 'DISALLOW_FILE_MODS' ) ) :
+ define( 'DISALLOW_FILE_MODS', true );
+ endif;
+
+endif;
+
+/*
+* Define wp-content directory outside of WordPress core directory
+*/
+define( 'WP_CONTENT_DIR', dirname( __FILE__ ) . '/wp-content' );
+define( 'WP_CONTENT_URL', WP_HOME . '/wp-content' );
+
+/**
+ * WordPress Database Table prefix.
+ *
+ * You can have multiple installations in one database if you give each
+ * a unique prefix. Only numbers, letters, and underscores please!
+ */
+$table_prefix = getenv( 'DB_PREFIX' ) !== false ? getenv( 'DB_PREFIX' ) : 'wp_';
+
+/* That's all, stop editing! Happy blogging. */
+
+/** Absolute path to the WordPress directory. */
+if ( ! defined( 'ABSPATH' ) ) {
+ define( 'ABSPATH', dirname( __FILE__ ) . '/' );
+}
+/** Sets up WordPress vars and included files. */
+require_once( ABSPATH . 'wp-settings.php' );
\ No newline at end of file
diff --git a/wp-cli.yml b/wp-cli.yml
new file mode 100644
index 00000000..398a5efe
--- /dev/null
+++ b/wp-cli.yml
@@ -0,0 +1 @@
+path: web/wp