From bd715732e1143fea448ea8c687ac107cf950789a Mon Sep 17 00:00:00 2001 From: Konstantinos Kokkorogiannis Date: Fri, 15 Feb 2019 09:31:49 +0200 Subject: [PATCH] Change hostpath so that we can serve the site from its final urls --- .circleci/artifacts.yml | 8 +- .circleci/config.yml | 8 +- Makefile | 52 + README.md | 186 + codeception.dist.yml | 21 + composer-local.json | 2 +- composer.json | 119 + public/.user.ini | 3 + public/health_db.php | 16 + public/health_php.php | 3 + public/health_redis.php | 17 + public/wordfence-waf.php | 8 + tasks/post-deploy/01-flush_permalinks.sh | 2 + tasks/post-deploy/02-connect2es.sh | 4 + tasks/pre-deploy/01-demo.sh | 5 + tests/_data/.gitkeep | 0 tests/_output/.gitignore | 2 + tests/_support/AcceptanceTester.php | 97 + tests/_support/Helper/Acceptance.php | 66 + tests/_support/_generated/.gitignore | 2 + tests/acceptance.suite.yml | 49 + tests/acceptance/404PageCept.php | 13 + tests/acceptance/AboutUsPageCept.php | 18 + tests/acceptance/ActPageCept.php | 12 + tests/acceptance/AddCommentCept.php | 39 + tests/acceptance/ArticlesCept.php | 14 + tests/acceptance/CarouselCept.php | 20 + tests/acceptance/CarouselHeaderCept.php | 23 + tests/acceptance/ColumnsCept.php | 28 + tests/acceptance/CookiesBannerCept.php | 17 + tests/acceptance/CopyrightPageCept.php | 7 + tests/acceptance/ExplorePageCept.php | 26 + tests/acceptance/FooterCept.php | 30 + tests/acceptance/HeaderCept.php | 8 + tests/acceptance/HomePageCept.php | 14 + tests/acceptance/LoginCept.php | 7 + tests/acceptance/PHPWarningsCept.php | 8 + tests/acceptance/PrivacyAndCookiesCept.php | 27 + tests/acceptance/SearchCept.php | 18 + tests/acceptance/SitemapPageCept.php | 27 + tests/acceptance/TwoColumnsRenderCept.php | 33 + tests/acceptance/YouTubeRenderCept.php | 24 + tests/composer.json | 23 + tests/composer.lock | 6199 ++++++++++++++++++++ 44 files changed, 7296 insertions(+), 9 deletions(-) create mode 100644 Makefile create mode 100644 README.md create mode 100644 codeception.dist.yml create mode 100644 composer.json create mode 100644 public/.user.ini create mode 100644 public/health_db.php create mode 100644 public/health_php.php create mode 100644 public/health_redis.php create mode 100644 public/wordfence-waf.php create mode 100755 tasks/post-deploy/01-flush_permalinks.sh create mode 100755 tasks/post-deploy/02-connect2es.sh create mode 100644 tasks/pre-deploy/01-demo.sh create mode 100644 tests/_data/.gitkeep create mode 100644 tests/_output/.gitignore create mode 100644 tests/_support/AcceptanceTester.php create mode 100644 tests/_support/Helper/Acceptance.php create mode 100644 tests/_support/_generated/.gitignore create mode 100644 tests/acceptance.suite.yml create mode 100644 tests/acceptance/404PageCept.php create mode 100644 tests/acceptance/AboutUsPageCept.php create mode 100644 tests/acceptance/ActPageCept.php create mode 100644 tests/acceptance/AddCommentCept.php create mode 100644 tests/acceptance/ArticlesCept.php create mode 100644 tests/acceptance/CarouselCept.php create mode 100644 tests/acceptance/CarouselHeaderCept.php create mode 100644 tests/acceptance/ColumnsCept.php create mode 100644 tests/acceptance/CookiesBannerCept.php create mode 100644 tests/acceptance/CopyrightPageCept.php create mode 100644 tests/acceptance/ExplorePageCept.php create mode 100644 tests/acceptance/FooterCept.php create mode 100644 tests/acceptance/HeaderCept.php create mode 100644 tests/acceptance/HomePageCept.php create mode 100644 tests/acceptance/LoginCept.php create mode 100644 tests/acceptance/PHPWarningsCept.php create mode 100644 tests/acceptance/PrivacyAndCookiesCept.php create mode 100644 tests/acceptance/SearchCept.php create mode 100644 tests/acceptance/SitemapPageCept.php create mode 100644 tests/acceptance/TwoColumnsRenderCept.php create mode 100644 tests/acceptance/YouTubeRenderCept.php create mode 100644 tests/composer.json create mode 100644 tests/composer.lock diff --git a/.circleci/artifacts.yml b/.circleci/artifacts.yml index 1499035..f1c90c3 100644 --- a/.circleci/artifacts.yml +++ b/.circleci/artifacts.yml @@ -1,11 +1,11 @@ job_environments: common_environment: &common_environment CONTAINER_PREFIX: planet4-storytelling - APP_HOSTPATH: storytelling + APP_HOSTPATH: WP_DB_NAME_PREFIX: planet4-storytel_wordpress develop_environment: &develop_environment APP_ENVIRONMENT: development - APP_HOSTNAME: k8s.p4.greenpeace.org + APP_HOSTNAME: develop.storytelling.greenpeace.org CLOUDSQL_INSTANCE: p4-develop-k8s GOOGLE_PROJECT_ID: planet-4-151612 GCLOUD_CLUSTER: p4-development @@ -16,7 +16,7 @@ job_environments: WP_STATELESS_BUCKET: planet4-storytelling-stateless-develop release_environment: &release_environment APP_ENVIRONMENT: staging - APP_HOSTNAME: release.k8s.p4.greenpeace.org + APP_HOSTNAME: release.storytelling.greenpeace.org CLOUDSQL_INSTANCE: planet4-prod GCLOUD_CLUSTER: planet4-production GOOGLE_PROJECT_ID: planet4-production @@ -26,7 +26,7 @@ job_environments: WP_DB_NAME: planet4-storytel_wordpress_release WP_STATELESS_BUCKET: planet4-storytelling-stateless-release production_environment: &production_environment - APP_HOSTNAME: master.k8s.p4.greenpeace.org + APP_HOSTNAME: storytelling.greenpeace.org CLOUDSQL_INSTANCE: planet4-prod GCLOUD_CLUSTER: planet4-production GOOGLE_PROJECT_ID: planet4-production diff --git a/.circleci/config.yml b/.circleci/config.yml index 6705bb6..6c970f0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,11 +7,11 @@ defaults: &defaults job_environments: common_environment: &common_environment CONTAINER_PREFIX: planet4-storytelling - APP_HOSTPATH: storytelling + APP_HOSTPATH: WP_DB_NAME_PREFIX: planet4-storytel_wordpress develop_environment: &develop_environment APP_ENVIRONMENT: development - APP_HOSTNAME: k8s.p4.greenpeace.org + APP_HOSTNAME: develop.storytelling.greenpeace.org CLOUDSQL_INSTANCE: p4-develop-k8s GOOGLE_PROJECT_ID: planet-4-151612 GCLOUD_CLUSTER: p4-development @@ -22,7 +22,7 @@ job_environments: WP_STATELESS_BUCKET: planet4-storytelling-stateless-develop release_environment: &release_environment APP_ENVIRONMENT: staging - APP_HOSTNAME: release.k8s.p4.greenpeace.org + APP_HOSTNAME: release.storytelling.greenpeace.org CLOUDSQL_INSTANCE: planet4-prod GCLOUD_CLUSTER: planet4-production GOOGLE_PROJECT_ID: planet4-production @@ -32,7 +32,7 @@ job_environments: WP_DB_NAME: planet4-storytel_wordpress_release WP_STATELESS_BUCKET: planet4-storytelling-stateless-release production_environment: &production_environment - APP_HOSTNAME: master.k8s.p4.greenpeace.org + APP_HOSTNAME: storytelling.greenpeace.org CLOUDSQL_INSTANCE: planet4-prod GCLOUD_CLUSTER: planet4-production GOOGLE_PROJECT_ID: planet4-production diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1319914 --- /dev/null +++ b/Makefile @@ -0,0 +1,52 @@ + +# ============================================================================ + +# Check necessary commands exist + +CIRCLECI := $(shell command -v circleci 2> /dev/null) +COMPOSER := $(shell command -v composer 2> /dev/null) +JQ := $(shell command -v jq 2> /dev/null) +SHELLCHECK := $(shell command -v shellcheck 2> /dev/null) +YAMLLINT := $(shell command -v yamllint 2> /dev/null) + +# ============================================================================ + +lint: init + @$(MAKE) -kj lint-ci lint-sh lint-yaml lint-json lint-composer + +init: + @chmod 755 .githooks/* + @find .git/hooks -type l -exec rm {} \; + @find .githooks -type f -exec ln -sf ../../{} .git/hooks/ \; + +# ============================================================================ + +lint-sh: +ifndef SHELLCHECK +$(error "shellcheck is not installed: https://github.com/koalaman/shellcheck") +endif + @find . -type f -name '*.sh' ! -path './tests/vendor/*' | xargs shellcheck + +lint-yaml: +ifndef YAMLLINT +$(error "yamllint is not installed: https://github.com/adrienverge/yamllint") +endif + @find . -type f -name '*.yml' ! -path './tests/vendor/*' | xargs yamllint + +lint-json: +ifndef JQ +$(error "jq is not installed: https://stedolan.github.io/jq/download/") +endif + @find . -type f -name '*.json' ! -path './tests/vendor/*' | xargs jq type | grep -q '"object"' + +lint-composer: +ifndef COMPOSER +$(error "composer is not installed: https://getcomposer.org/doc/00-intro.md#installation-linux-unix-macos") +endif + @find . -type f -name 'composer*.json' ! -path './tests/vendor/*' -exec composer validate {} \; + +lint-ci: +ifndef CIRCLECI +$(error "circleci is not installed: https://circleci.com/docs/2.0/local-cli/#installation") +endif + @circleci config validate >/dev/null diff --git a/README.md b/README.md new file mode 100644 index 0000000..d9aa66c --- /dev/null +++ b/README.md @@ -0,0 +1,186 @@ +# Greenpeace Planet 4 + + [![CircleCI](https://circleci.com/gh/greenpeace/planet4-base-fork/tree/develop.svg?style=shield)](https://circleci.com/gh/greenpeace/planet4-base-fork/tree/develop) + +Testing. + +This project provides the base for all Planet 4 sites. + +To create a new project, that is powered by Planet 4, fork this repository. + +## Prerequisite + +- You will need to have PHP 7 (or higher) and composer available on your system. +- You will also need git installed +using svn). +- You will also need mysql or mariadb installed as well. + +## Installation +All dependencies should be managed by [Composer](http://getcomposer.org). + +The same repository handles all the different Planet4 sites. This happens by having +- everything common in the /composer.json file +- everything site specific in a subdirectory app/project/site/composer.json file +(where project is the name of the Google Cloud Project and "site" is one of "master", "staging") + +The composer plugin [composer merge](https://packagist.org/packages/wikimedia/composer-merge-plugin) handles the combining of the two composer.json files + +To tell composer which file to use, the first command you need to run is the following: +``` +composer config extra.merge-plugin.require "app/planet4-gp-greece/production/composer.json" + +``` +(replacing `planet4-gp-greece/production` with whatever is applicable for the site you are building) + +Then, install all required dependencies with one simple command: +``` +composer install +``` + +If you want to add more dependencies to this project, you should also always +add them to the composer file. No manual copying of plugins or themes should be +necessary and any time. + +## Configuration +You need to create a [Wordpress command line](http://wp-cli.org/) configuration file. +You can do that by copying the default one: +``` +cp wp-cli.yml.default wp-cli.local.yml +``` + +The base configuration file `wp-cli.yml` is part of the repository and contains minimal +configuration, all your local changes should go in `wp-cli.local.yml`. + +This file is not tracked by default since it contains the complete configuration of +your Wordpress instance such as your database user password. When you need to change +the database configuration, the title or the URL of this +installation, please edit `wp-cli.local.yml`. +``` +path: public + +core config: + dbuser: root + dbpass: root + dbname: wordpress + +core install: + title: Sample Planet 4 website + url: http://test.planet4.dev + admin_user: admin + admin_email: admin@example.com + +theme activate: + - planet4-master-theme +``` + +NOTE: your website will be installed on the subdirectory "public" of the current +directory. Make sure that the "url" in the above configuration points to the +directory "public" so that wordpress sets up its live_site configurations correctly. + +## Database setup +Before we can initialize the installation, make sure you did create the database +that is configured inside the configuration file. This can be easily done with this +command: +``` +echo "CREATE DATABASE wordpress;" | mysql +``` +It might be necessary to pass a username (`-u`) and a password (`-p`) to the +mysql command. +More information about this is available in the man page of `mysql` or +[online](https://dev.mysql.com/doc/refman/5.7/en/mysql-command-options.html). + + +## Install and active plugins and themes +After the database is created, the new Wordpress installation is installed with +one simple composer command: +``` +composer run-script site-install +``` + +This will perform multiple steps: +- Create a public directy and copy the Wordpress core in it +- Create a `wp-config.php` file with default values from the `wp-cli.yml`. +- Create the initial database structure and insert the default data +- Copy themes and plugins listed as dependencies in `composer.json`. +- Activate all the plugins listed as dependencies. +- Activate the theme that is configured inside the `wp-cli.yml` + +## Updating +In case a new version of the Wordpress core (a theme or plugin) is published and +you can update your base site by changing the version in `composer.json` and/or +running the update: +``` +composer update +composer run-script site-update +``` + +This will perform multiple steps: +- Fetch the new versions and dependencies +- Merge the new wordpress core in the public directory without deleting your added files +- Copy all the themes and plugins +- Run Wordpress core database udpates if any +- Deactivate and reactivate all the plugins + +## Installing an alternate theme +Themes should never be changed inside the web front-end. + +_Please note that only the themes that in greenpeace composer repository will be +available by default. You will need to add another repository if it is not a +supported theme_ + +This would make it impossible to have an automated installation that can be +re-applied whenever needed. To change the theme add the dependency to the +`composer.json` file. +``` +"require": { + ... + "greenpeace/planet4-another-theme": "4.7.2", + ... +} +``` + +Then you need to change the related line inside the `wp-cli.yml`. +``` +theme activate: + - planet4-another-theme +``` + +After that you can run this composer command to fetch and activate the theme: +``` +composer update +composer run-script theme:install +``` +The theme will be copied to the public folder and activated to use by the current +Wordpress installation. + +--- + +# Creating a new development deployment on Kubernetes + +- Fork the merge repo template (todo), adjust variables to suit +- Create CloudSQL database and user (see [https://github.com/greenpeace/planet4-cloudsql-docker-compose](https://github.com/greenpeace/planet4-cloudsql-docker-compose)). By default, the deployment process uses `` as the username and `_wordpress` as the database. See: [https://github.com/greenpeace/planet4-docker/blob/master/src/planet-4-151612/p4-builder/Makefile](https://github.com/greenpeace/planet4-docker/blob/master/src/planet-4-151612/p4-builder/Makefile) +- Create the necessary CircleCI project and contexts, and update `./circleci/config.yml` workflow contxt names to match +- Push your commit and watch [https://circleci.com/gh/greenpeace](https://circleci.com/gh/greenpeace) + + +## CircleCI context secrets: +- GCLOUD_SERVICE_KEY - the key the CircleCI uses to manipulate GCP resources +- NEWRELIC_LICENSE - displayed in the NewRelic Account settings page +- SQLPROXY_KEY - the service account key that CloudSQL proxy uses to connect to the database +- WP_AUTH_KEY +- WP_AUTH_SALT +- WP_DB_PASSWORD - the MySQL password +- WP_LOGGED_IN_KEY +- WP_LOGGED_IN_SALT +- WP_NONCE_KEY +- WP_NONCE_SALT +- WP_SECURE_AUTH_KEY +- WP_SECURE_AUTH_SALT +- WP_STATELESS_KEY - the service account key that WP-Stateless will use to connect to the GCS bucket + +Service account keys should be generated from command line via: +``` +cat service-account-key.json | base64 -w 0 | xargs +``` + +Wordpress keys and salts can be generated here: [https://api.wordpress.org/secret-key/1.1/salt](https://api.wordpress.org/secret-key/1.1/salt) \ No newline at end of file diff --git a/codeception.dist.yml b/codeception.dist.yml new file mode 100644 index 0000000..8b695b6 --- /dev/null +++ b/codeception.dist.yml @@ -0,0 +1,21 @@ +--- +paths: + tests: tests + output: tests/_output + data: tests/_data + support: tests/_support + envs: tests/_envs +actor_suffix: Tester +extensions: + enabled: + - Codeception\Extension\RunFailed + commands: + - Codeception\Command\GenerateWPUnit + - Codeception\Command\GenerateWPRestApi + - Codeception\Command\GenerateWPRestController + - Codeception\Command\GenerateWPRestPostTypeController + - Codeception\Command\GenerateWPAjax + - Codeception\Command\GenerateWPCanonical + - Codeception\Command\GenerateWPXMLRPC +params: + - .env.codeception diff --git a/composer-local.json b/composer-local.json index fc69a74..cc71b72 100644 --- a/composer-local.json +++ b/composer-local.json @@ -3,7 +3,7 @@ "description": "Greenpeace P4 Storytelling", "license": "MIT", "require": { - "greenpeace/planet4-child-theme-storytelling" : "dev-develop" + "greenpeace/planet4-child-theme-storytelling" : "0.6" }, "scripts": { "install:plugin-gravity-forms": "wp plugin install --activate https://raw.githubusercontent.com/greenpeace/planet4-3rdparty-plugins/master/https://raw.githubusercontent.com/greenpeace/planet4-3rdparty-plugins/master/gravityforms_2.4.4.zip", diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..edb2440 --- /dev/null +++ b/composer.json @@ -0,0 +1,119 @@ +{ + "name": "greenpeace/planet4-base", + "version": "1.46.0", + "description": "Core Greenpeace Planet4 application", + "license": "GPL-3.0-or-later", + "repositories": [ + { + "type": "composer", + "url": "https://wpackagist.org" + }, + { + "type": "composer", + "url": "https://packagist.org" + } + ], + + "require": { + "composer/installers": "~1.0", + "greenpeace/planet4-master-theme" : "1.36", + "greenpeace/planet4-plugin-blocks" : "1.36", + "greenpeace/planet4-plugin-engagingnetworks": "1.5", + "greenpeace/planet4-plugin-medialibrary" : "1.6", + "matthiasmullie/minify": "^1.3", + "cmb2/cmb2": "2.*", + "wikimedia/composer-merge-plugin": "1.4.1", + "wpackagist-plugin/akismet": "4.*", + "wpackagist-plugin/classic-editor":"1.*", + "wpackagist-plugin/elasticpress":"2.8.*", + "wpackagist-plugin/google-apps-login": "3.2", + "wpackagist-plugin/google-sitemap-generator": "4.*", + "wpackagist-plugin/nginx-helper": "2.*", + "wpackagist-plugin/redirection": "4.0", + "wpackagist-plugin/shortcode-ui": "0.*", + "wpackagist-plugin/wordfence": "7.*", + "wpackagist-plugin/wp-redis": "0.7.*", + "wpackagist-plugin/wp-stateless": "2.*" + }, + + "config": { + "secure-http": false, + "github-protocols": ["https"] + }, + + "extra": { + "installer-paths": { + "vendor/plugins/{$name}/": ["type:wordpress-plugin"], + "vendor/themes/{$name}/": ["type:wordpress-theme"] + }, + "merge-plugin": { + "require": "composer-local.json", + "recurse": true, + "replace": true, + "ignore-duplicates": false, + "merge-dev": true, + "merge-extra": false, + "merge-extra-deep": false, + "merge-scripts": true + } + }, + + "scripts": { + "site-install": [ + "@reset:public", "@download:wordpress", "@copy:health-check", + "@reset:themes", "@reset:plugins", "@copy:themes", "@copy:plugins", + "@core:config", "@core:install", "@plugin:activate", "@theme:activate", + "@core:add-author-capabilities", "@core:add-contributor-capabilities", "@redis:enable", + "@core:style-child", "@site:custom" + ], + + "site-update": [ + "@download:wordpress", "@copy:health-check", + "@reset:themes", "@reset:plugins", "@copy:themes", "@copy:plugins", + "@core:updatedb", "@plugin:activate", "@theme:activate", + "@core:add-contributor-capabilities", "@redis:enable", "@core:style-child", "@site:custom" + ], + + "docker-site-install": [ + "@download:wordpress", "@copy:health-check", + "@reset:themes", "@copy:themes", "@copy:plugins", + "@core:config", "@core:install", "@plugin:activate", "@theme:activate", + "@core:style-child", "@site:custom" + ], + + "site:global": [ + "@core:style-child", + "@site:custom" + ], + + "theme:install": ["@copy:theme", "@theme:activate"], + "plugin:install": ["@copy:plugin", "@plugin:activate"], + + "reset:public" : "rm -rf public; mkdir public", + "reset:themes" : "rm -rf public/wp-content/themes", + "reset:plugins" : "rm -rf public/wp-content/plugins", + + "download:wordpress": "wp core download --version=5.0.3 --path=public --force", + "copy:plugins" : "rsync -ar vendor/plugins public/wp-content", + "copy:themes" : "rsync -ar vendor/themes public/wp-content", + + "redis:enable" : "wp redis enable", + + "core:config": "wp core config --force", + "core:install": "wp core install", + "core:updatedb": "wp core update-db", + "core:add-author-capabilities": "wp cap add author edit_others_posts; wp cap add author delete_others_posts; wp cap add author delete_private_posts;wp cap add author edit_private_posts;wp cap add author read_private_posts;", + "core:add-contributor-capabilities": "wp cap add contributor upload_files", + + "core:style-child" : "cd public/wp-content/themes/; for i in planet4-child-theme*; do cd $i; minifycss style.css > style.min.css; cd ..; done", + + "plugin:deactivate": "wp plugin deactivate --all", + "plugin:activate": "wp plugin activate --all", + "plugin:activate-only-inactive": "inactive_plugins=$(wp plugin list --field=name --status=inactive --format=csv); wp plugin activate $inactive_plugins;", + "theme:activate": "wp theme activate", + + "server": "php -S 127.0.0.1:9191 -t public", + "site:custom" : "" + + } +} diff --git a/public/.user.ini b/public/.user.ini new file mode 100644 index 0000000..ce872e0 --- /dev/null +++ b/public/.user.ini @@ -0,0 +1,3 @@ +; Wordfence WAF +auto_prepend_file = '/app/source/public/wordfence-waf.php' +; END Wordfence WAF diff --git a/public/health_db.php b/public/health_db.php new file mode 100644 index 0000000..7f1e882 --- /dev/null +++ b/public/health_db.php @@ -0,0 +1,16 @@ +connect_error) { + http_response_code(503); + die("Connection failed: " . $conn->connect_error); +} + +http_response_code(200); +echo "ok"; +$conn->close(); \ No newline at end of file diff --git a/public/health_php.php b/public/health_php.php new file mode 100644 index 0000000..5112023 --- /dev/null +++ b/public/health_php.php @@ -0,0 +1,3 @@ +connect($redis_server['host'], $redis_port); + +if ( !$con ) { + http_response_code(500); + die("Redis not connected"); +} +$redis->close(); +echo "ok"; +http_response_code(200); + diff --git a/public/wordfence-waf.php b/public/wordfence-waf.php new file mode 100644 index 0000000..770e999 --- /dev/null +++ b/public/wordfence-waf.php @@ -0,0 +1,8 @@ + diff --git a/tasks/post-deploy/01-flush_permalinks.sh b/tasks/post-deploy/01-flush_permalinks.sh new file mode 100755 index 0000000..6f493e4 --- /dev/null +++ b/tasks/post-deploy/01-flush_permalinks.sh @@ -0,0 +1,2 @@ +#!/bin/sh +wp rewrite flush \ No newline at end of file diff --git a/tasks/post-deploy/02-connect2es.sh b/tasks/post-deploy/02-connect2es.sh new file mode 100755 index 0000000..39bede7 --- /dev/null +++ b/tasks/post-deploy/02-connect2es.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +ELASTICSEARCH_HOST=http://p4-es-elasticsearch-client.default.svc.cluster.local:9200/ +wp option update ep_host $ELASTICSEARCH_HOST diff --git a/tasks/pre-deploy/01-demo.sh b/tasks/pre-deploy/01-demo.sh new file mode 100644 index 0000000..150d4a9 --- /dev/null +++ b/tasks/pre-deploy/01-demo.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -e + +echo "Running a predeploy script" +cat > foo.txt diff --git a/tests/_data/.gitkeep b/tests/_data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/_output/.gitignore b/tests/_output/.gitignore new file mode 100644 index 0000000..c96a04f --- /dev/null +++ b/tests/_output/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/tests/_support/AcceptanceTester.php b/tests/_support/AcceptanceTester.php new file mode 100644 index 0000000..b690540 --- /dev/null +++ b/tests/_support/AcceptanceTester.php @@ -0,0 +1,97 @@ +fillField()` + * + * @param $data key/value pairs to fill the form with + */ + public function fillFields($data) + { + $I = $this; + foreach ($data as $key => $value) { + $I->fillField($key, $value); + } + } + + /** + * Login to WordPress as the admin user saving the session as snapshot to make + * subsequent admin logins reuse the session to save time. + */ + public function loginAsAdminCached() + { + $I = $this; + $I->amOnPage('/'); + //if ($I->loadSessionSnapshot('login/admin')) { + // return; + //} + $I->loginAsAdmin(); + //$I->saveSessionSnapshot('login/admin'); + } + + + /** + * Get the value of a planet4 option directly from the WordPress database + * + * @param $name option name to retrieve + * @return mixed + */ + public function getP4Option($name) + { + $I = $this; + $value = $I->grabFromDatabase('wp_options', 'option_value', ['option_name' => 'planet4_options']); + return unserialize($value)[$name]; + } + + /** + * Fetch a list of posts from the WordPress database + * + * @param array $criteria add database criteria to filter by + * @param array $columns overide which columns to return + * @return a list of posts + */ + public function grabPostsFromDatabase($criteria = [], $columns = ['ID', 'post_name', 'post_title', 'post_content']) + { + $I = $this; + return $I->grabAllFromDatabase('wp_posts', implode(',', $columns), array_merge([ + 'post_type' => 'post', + 'post_status' => 'publish' + ], $criteria)); + + } + + /** + * To auto approve new comments use this to first create an old comment + * Subsequent comments will be auto-approved (depending on WordPress discussion settings) + * + * @param $id post id to add the comment to + * @param $data comment data to merge into basic comment data + */ + public function haveAnOldApprovedComment($id, $data) + { + $I = $this; + $I->haveCommentInDatabase($id, array_merge([ + 'comment_content' => 'forautoapproval', + 'comment_date' => Date::fromString('February 4th, 2015'), + 'comment_date_gmt' => Date::fromString('February 4th, 2015'), + ], $data)); + } + + /** + * Remove all comments for a given email address + * + * @param $email + */ + public function cleanupComments($email) + { + $I = $this; + $I->dontHaveCommentInDatabase(['comment_author_email' => $email]); + } + +} diff --git a/tests/_support/Helper/Acceptance.php b/tests/_support/Helper/Acceptance.php new file mode 100644 index 0000000..e7f0912 --- /dev/null +++ b/tests/_support/Helper/Acceptance.php @@ -0,0 +1,66 @@ +generateRandomString($length, 'abcdefghijklmnopqrstuvwxyz'); + } + + /** + * Given a shortcode name as set of parameters, format it into WordPress shortcode syntax + * + * e.g. + * + * ``` + * $I->generateShortcode('myshortcode_name', ['with' => 'params', 'like' => 'this']); + * # will give you [myshortcode_name with="params" like="this" /] + * ``` + * + * @param $name + * @param $data + * @return string + */ + function generateShortcode($name, $data) + { + $result = '[' . $name . ''; + foreach ($data as $key => $value) { + $result .= ' ' . $key . '="' . $value . '"'; + } + $result .= ' /]'; + return $result; + } + +} diff --git a/tests/_support/_generated/.gitignore b/tests/_support/_generated/.gitignore new file mode 100644 index 0000000..c96a04f --- /dev/null +++ b/tests/_support/_generated/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/tests/acceptance.suite.yml b/tests/acceptance.suite.yml new file mode 100644 index 0000000..64a12f8 --- /dev/null +++ b/tests/acceptance.suite.yml @@ -0,0 +1,49 @@ +# Codeception Test Suite Configuration +# +# Suite for acceptance tests. +# Perform tests in browser using the WPWebDriver or WPBrowser. +# Use WPDb to set up your initial database fixture. +# If you need both WPWebDriver and WPBrowser tests - create a separate suite. +--- +actor: AcceptanceTester +modules: + enabled: + - Asserts + - WPDb + - WPWebDriver + - WPCLI + - \Helper\Acceptance + config: + WPDb: + dsn: 'mysql:host=%TEST_SITE_DB_HOST%;dbname=%TEST_SITE_DB_NAME%' + user: '%TEST_SITE_DB_USER%' + password: '%TEST_SITE_DB_PASSWORD%' + populate: false + cleanup: false + waitlock: 0 + url: '%TEST_SITE_WP_URL%' + # replace the hardcoded dump URL with the one above + urlReplacement: true + tablePrefix: '%TEST_SITE_TABLE_PREFIX%' + WPWebDriver: + url: '%TEST_SITE_WP_URL%' + host: selenium + browser: chrome + port: 4444 + restart: false + wait: 2 + window_size: 1920x1080 + adminUsername: '%TEST_SITE_ADMIN_USERNAME%' + adminPassword: '%TEST_SITE_ADMIN_PASSWORD%' + adminPath: '%TEST_SITE_WP_ADMIN_PATH%' + clear_cookies: true + WPCLI: + path: /app/source/public + throw: true +extensions: + enabled: + - Codeception\Extension\Recorder + config: + Codeception\Extension\Recorder: + delete_successful: false + module: WPWebDriver diff --git a/tests/acceptance/404PageCept.php b/tests/acceptance/404PageCept.php new file mode 100644 index 0000000..1337d3e --- /dev/null +++ b/tests/acceptance/404PageCept.php @@ -0,0 +1,13 @@ +wantTo('check the 404 page looks nice'); + +$html = $I->getP4Option('404_page_text'); +$backgroundImage = $I->getP4Option('404_page_bg_image'); + +$I->amOnPage('/thispagereallywillnotexist'); + +$I->seeInSource($html); +$I->seeElement('input', ['placeholder' => 'Search']); + +$I->seeElement('img', ['src' => $backgroundImage]); diff --git a/tests/acceptance/AboutUsPageCept.php b/tests/acceptance/AboutUsPageCept.php new file mode 100644 index 0000000..24fd6ef --- /dev/null +++ b/tests/acceptance/AboutUsPageCept.php @@ -0,0 +1,18 @@ +wantTo('check About Us page'); + +$I->amOnPage('/about-us-2'); + +$I->see('Who we are', 'h1'); + +$I->scrollTo('.split-three-column'); + +$I->see('Get to know our organisation', 'h2'); + +$I->scrollTo('.media-block'); + +$I->seeElement('.media-block iframe'); + +// TODO: Test happy point. +$I->scrollTo('#happy-point'); diff --git a/tests/acceptance/ActPageCept.php b/tests/acceptance/ActPageCept.php new file mode 100644 index 0000000..9e29771 --- /dev/null +++ b/tests/acceptance/ActPageCept.php @@ -0,0 +1,12 @@ +wantTo('check act page'); + +$I->amOnPage('/act'); + +$I->seeElement('.covers-block'); +$I->seeElement('.cover-card'); + +$I->see('#Consumption', '.cover-card-tag'); +$I->see('#renewables', '.cover-card-tag'); +$I->see('#Climate', '.cover-card-tag'); diff --git a/tests/acceptance/AddCommentCept.php b/tests/acceptance/AddCommentCept.php new file mode 100644 index 0000000..00d1e31 --- /dev/null +++ b/tests/acceptance/AddCommentCept.php @@ -0,0 +1,39 @@ +wantTo('add a comment'); + +$email = 'testuser@planet4.test'; +$author = 'test user'; +$comment = 'test comment ' . $I->generateRandomString(); + +$I->cleanupComments($email); + +$id = $I->havePostInDatabase([ + 'post_status' => 'publish', + 'terms' => [ + 'category' => ['Energy'], + 'p4-page-type' => ['press'] + ] +]); + +// we create a preapproved comment in the database, which means the one we create on the page will be auto approved +// this would change behaviour depending on the "Discussion Settings / Before a comment appears" options selected +// we create it in the past to avoid triggering the comment flood prevention +$I->haveAnOldApprovedComment($id, [ + 'comment_author_email' => $email, + 'comment_author' => $author +]); + +$I->amOnPage('/?p=' . $id); + +$I->submitForm('#commentform', [ + 'comment' => $comment, + 'author' => $author, + 'email' => $email +]); + +// we can now see the comment on the page +$I->see($comment, '.comments-section'); + +$I->cleanupComments($email); diff --git a/tests/acceptance/ArticlesCept.php b/tests/acceptance/ArticlesCept.php new file mode 100644 index 0000000..713a122 --- /dev/null +++ b/tests/acceptance/ArticlesCept.php @@ -0,0 +1,14 @@ +wantTo('check article listing on home page'); + +$I->amOnPage('/'); + +$I->see('In the news'); + +$I->seeNumberOfElements('.article-listing .article-list-item', 3); + +// should have the title of each article +foreach ($I->grabPostsFromDatabase() as $post) { + $I->see($post['post_title']); +} diff --git a/tests/acceptance/CarouselCept.php b/tests/acceptance/CarouselCept.php new file mode 100644 index 0000000..3b789f9 --- /dev/null +++ b/tests/acceptance/CarouselCept.php @@ -0,0 +1,20 @@ +wantTo('check carousel is rendered correctly'); + +// homepage has a shortcake_carousel +$I->amOnPage('/'); + +// we see the first image +$I->seeElement('img', [ + 'src' => 'http://www.planet4.test/wp-content/uploads/2018/05/ea8f1af6-gp0stq27a_web_size_with_credit_line.jpg'] +); + +// we can click the next icon +$I->click('.carousel-control-next-icon'); + +// Lets scroll down to the carousel, so that screenshots show what we have +$I->scrollTo('.carousel-wrap'); \ No newline at end of file diff --git a/tests/acceptance/CarouselHeaderCept.php b/tests/acceptance/CarouselHeaderCept.php new file mode 100644 index 0000000..2758347 --- /dev/null +++ b/tests/acceptance/CarouselHeaderCept.php @@ -0,0 +1,23 @@ +wantTo('check carousel header is rendered correctly'); + +// Start on the homepage +$I->amOnPage('/'); + +// Lets scroll to the top +$I->scrollTo('.page-template'); + +// Verify first slide +$I->see('Lorem Ipsum', 'h1'); + +// Click on the next icon and verify next slide +$I->click('.carousel-control-next-icon'); +$I->see('Cras faucibus', 'h1'); + +// Click on the first indicator and verify first slide +$I->click('.carousel-indicators > li:first-child'); +$I->see('Lorem Ipsum', 'h1'); diff --git a/tests/acceptance/ColumnsCept.php b/tests/acceptance/ColumnsCept.php new file mode 100644 index 0000000..5e469a5 --- /dev/null +++ b/tests/acceptance/ColumnsCept.php @@ -0,0 +1,28 @@ +wantTo('check all columns block styles'); + +// Start on the homepage +$I->amOnPage('/'); + +// Check the No Image style +$I->see('People Power', 'h3 > a'); +$I->see('Discover our stories', 'a.btn-secondary'); + +// Check the Icons style +$I->see('Get to know our organisation', 'h2'); +$I->see('History', 'h3'); +$I->seeElement('img', [ + 'src' => 'http://www.planet4.test/wp-content/uploads/2018/06/ebfa5ed4-organisation-2.png'] +); + +// Switch to an action page +$I->amOnPage('act/consectetur-adipiscing-elit/'); + +// Check the Tasks style +$I->see('1', '.step-number-inner'); +$I->see('Dance for the Congo', 'h5'); +$I->see('Share your video', 'a.btn-secondary'); diff --git a/tests/acceptance/CookiesBannerCept.php b/tests/acceptance/CookiesBannerCept.php new file mode 100644 index 0000000..4ad1099 --- /dev/null +++ b/tests/acceptance/CookiesBannerCept.php @@ -0,0 +1,17 @@ +wantTo('check cookie banner renders'); + +$cookieText = $I->getP4Option('cookies_field'); + +$I->amOnPage('/'); + +// We have the banner! +$I->see($cookieText, '#set-cookie'); + +// accept the cookies +$I->click('GOT IT!'); + +// and it's gone +$I->waitForElementNotVisible('#set-cookie', 5); diff --git a/tests/acceptance/CopyrightPageCept.php b/tests/acceptance/CopyrightPageCept.php new file mode 100644 index 0000000..36e31e0 --- /dev/null +++ b/tests/acceptance/CopyrightPageCept.php @@ -0,0 +1,7 @@ +wantTo('check Copyright page'); + +$I->amOnPage('/copyright'); + +$I->see('Copyright', 'h1'); diff --git a/tests/acceptance/ExplorePageCept.php b/tests/acceptance/ExplorePageCept.php new file mode 100644 index 0000000..83e89cb --- /dev/null +++ b/tests/acceptance/ExplorePageCept.php @@ -0,0 +1,26 @@ +wantTo('check Explore page'); + +$I->amOnPage('/explore'); + +$I->see('Justice for people and planet', 'h1'); + +$I->scrollTo('.split-two-column.block-wide'); + +$I->see('Energy', 'a'); +$I->see('#renewables', '.split-two-column-item-tag'); + +$I->scrollTo('.article-listing-intro'); + +$I->see('Duis posuere', 'a'); + +$I->scrollTo('#happy-point'); + +// TODO: Add happy-point test here. + +$I->click('#header .btn-donate'); + +$I->wait(.5); + +$I->see('Justice for people and planet', 'h1'); diff --git a/tests/acceptance/FooterCept.php b/tests/acceptance/FooterCept.php new file mode 100644 index 0000000..eb12684 --- /dev/null +++ b/tests/acceptance/FooterCept.php @@ -0,0 +1,30 @@ +wantTo('check footer'); + +$I->amOnPage('/'); + +$I->performOn('.site-footer', function ($I) { + $I->seeElement('.footer-social-media'); + $I->seeElement('.footer-links'); + $I->seeElement('.footer-links-secondary'); + + $I->seeLink('Facebook', 'https://www.facebook.com/greenpeace.international'); + $I->seeLink('Twitter', 'https://twitter.com/greenpeace'); + $I->seeLink('YouTube', 'https://www.youtube.com/greenpeace'); + $I->seeLink('Instagram', 'https://www.instagram.com/greenpeace/'); + + $I->seeLink('NEWS', 'https://k8s.p4.greenpeace.org/defaultcontent/?s=&orderby=relevant&f%5Bctype%5D%5BPost%5D=3'); + $I->seeLink('JOBS', 'https://www.linkedin.com/jobs/greenpeace-jobs/'); + $I->seeLink('PRESS CENTER', 'http://www.planet4.test/press-center/'); + $I->seeLink('SITEMAP', 'http://www.planet4.test/sitemap/'); + + $I->seeLink('PRIVACY AND COOKIES', 'http://www.planet4.test/privacy-and-cookies/'); + $I->seeLink('COMMUNITY POLICY', 'http://www.planet4.test/community-policy/'); + $I->seeLink('COPYRIGHT', 'http://www.planet4.test/copyright/'); + $I->seeLink('SEARCH THE ARCHIVE', 'http://www.greenpeace.org/international/en/System-templates/Search-results/?adv=true'); +}); + +// the copyright notice appears on the page +$I->seeInSource($I->getP4Option('copyright_line1')); +$I->seeInSource($I->getP4Option('copyright_line2')); diff --git a/tests/acceptance/HeaderCept.php b/tests/acceptance/HeaderCept.php new file mode 100644 index 0000000..4dc578f --- /dev/null +++ b/tests/acceptance/HeaderCept.php @@ -0,0 +1,8 @@ +wantTo('check header'); + +$I->amOnPage('/act'); + +$I->seeElement('.page-header'); +$I->seeElement('.page-header-title'); diff --git a/tests/acceptance/HomePageCept.php b/tests/acceptance/HomePageCept.php new file mode 100644 index 0000000..175cbd5 --- /dev/null +++ b/tests/acceptance/HomePageCept.php @@ -0,0 +1,14 @@ +wantTo('check home page'); + +$I->amOnPage('/'); + +$I->see('People Power', 'h3'); +$I->see('Change the world', 'h3'); + +// Ensure the country dropdown opens +$I->click('.country-dropdown-toggle'); + +$I->seeElement('.country-list.open'); + diff --git a/tests/acceptance/LoginCept.php b/tests/acceptance/LoginCept.php new file mode 100644 index 0000000..21dcdec --- /dev/null +++ b/tests/acceptance/LoginCept.php @@ -0,0 +1,7 @@ +wantTo('login to wordpress admin'); + +$I->loginAsAdminCached(); + +$I->see('Welcome to WordPress!'); diff --git a/tests/acceptance/PHPWarningsCept.php b/tests/acceptance/PHPWarningsCept.php new file mode 100644 index 0000000..7aaa83b --- /dev/null +++ b/tests/acceptance/PHPWarningsCept.php @@ -0,0 +1,8 @@ +wantTo('check there are no PHP warnings'); + +$I->amOnPage('/'); + +// check we have no php warnings on the page +$I->dontSeeInSource('Warning:'); diff --git a/tests/acceptance/PrivacyAndCookiesCept.php b/tests/acceptance/PrivacyAndCookiesCept.php new file mode 100644 index 0000000..450225a --- /dev/null +++ b/tests/acceptance/PrivacyAndCookiesCept.php @@ -0,0 +1,27 @@ +wantTo('check Privacy And Cookies page'); + +$I->amOnPage('/privacy-and-cookies'); + +// Ensure the submenu block is visible +$I->seeElement('.submenu-block'); + +// I see the cookie notice +$I->seeElement('.cookie-notice'); + +// Scroll down the page +$I->scrollTo('.cookies-block'); + +$I->wait(1); + +// Ensure back to top arrow is visible +$I->seeElement('.back-top'); + +// Click on a cookie block control to hide the cookie notice +$I->click('.cookies-block .custom-control'); + +$I->wait(1); + +// Ensure the submenu block is visible +$I->dontSeeElement('.cookie-notice'); diff --git a/tests/acceptance/SearchCept.php b/tests/acceptance/SearchCept.php new file mode 100644 index 0000000..8258d28 --- /dev/null +++ b/tests/acceptance/SearchCept.php @@ -0,0 +1,18 @@ +wantTo('check search works'); + +$I->amOnPage('/'); + +// Search for the term "climate" +$I->submitForm('#search_form', ['s' => 'climate']); + +// We get some results ... +$I->see('for \'climate\'', 'h2'); + +// ... and at least one #Climate tag to show up +$I->see('#Climate', '.search-result-item-tag'); + +// .. with a link to the #Climate tag page +$I->seeElement('.tag', ['href' => 'http://www.planet4.test/tag/climate/']); diff --git a/tests/acceptance/SitemapPageCept.php b/tests/acceptance/SitemapPageCept.php new file mode 100644 index 0000000..e39a395 --- /dev/null +++ b/tests/acceptance/SitemapPageCept.php @@ -0,0 +1,27 @@ +wantTo('check Sitemap page'); + +$I->amOnPage('/sitemap'); + +// Ensure the sitemap template is being used +$I->seeElement('.page-sitemap'); + +// Ensure all types of sitemap entries are there + +// Act +$I->see('Consectetur adipiscing elit', 'a'); + +// Explore +$I->see('Energy', 'a'); +$I->see('#Coal', 'a'); +$I->see('Nature', 'a'); +$I->see('#Forests', 'a'); + +// About +$I->see('Community Policy', 'a'); + +// Articles +$I->see('Press Release', 'a'); +$I->see('Publication', 'a'); +$I->see('Story', 'a'); diff --git a/tests/acceptance/TwoColumnsRenderCept.php b/tests/acceptance/TwoColumnsRenderCept.php new file mode 100644 index 0000000..f1034ba --- /dev/null +++ b/tests/acceptance/TwoColumnsRenderCept.php @@ -0,0 +1,33 @@ +wantTo('check two columns are rendered correctly'); + +$slug = $I->generateRandomSlug(); + +$I->havePageInDatabase([ + 'post_name' => $slug, + 'post_status' => 'publish', + 'post_content' => $I->generateShortcode('shortcake_two_columns', [ + 'title_1' => 'column one title', + 'description_1' => 'column one description', + 'button_text_1' => 'column one button', + 'button_link_1' => 'http://buttonone.com', + 'title_2' => 'column two title', + 'description_2' => 'column two description', + 'button_text_2' => 'column two button', + 'button_link_2' => 'http://buttontwo.com' + ]) +]); + +$I->amOnPage('/' . $slug); + +$I->see('column one title', '.col-lg-5 h2'); +$I->see('column one description', '.col-lg-5 p'); +$I->see('column one button', Locator::href('http://buttonone.com')); + +$I->see('column two title', '.col-lg-5 h2'); +$I->see('column two description', '.col-lg-5 p'); +$I->see('column two button', Locator::href('http://buttontwo.com')); diff --git a/tests/acceptance/YouTubeRenderCept.php b/tests/acceptance/YouTubeRenderCept.php new file mode 100644 index 0000000..2bc9536 --- /dev/null +++ b/tests/acceptance/YouTubeRenderCept.php @@ -0,0 +1,24 @@ +wantTo('check YouTube video renders'); + +$slug = $I->generateRandomSlug(); + +$videoTitle = 'Test Video'; +$videoId = 'wNN-Yl-SBTM'; + +$I->havePageInDatabase([ + 'post_name' => $slug, + 'post_status' => 'publish', + 'post_content' => $I->generateShortcode('shortcake_media_video', [ + 'video_title' => $videoTitle, + 'youtube_id' => $videoId + ]) +]); + +$I->amOnPage('/' . $slug); + +$I->see($videoTitle, '.media-block h2'); +$I->seeElement('.media-block .video-embed iframe', [ + 'src' => 'https://www.youtube.com/embed/' . $videoId . '?feature=oembed' +]); diff --git a/tests/composer.json b/tests/composer.json new file mode 100644 index 0000000..8244e51 --- /dev/null +++ b/tests/composer.json @@ -0,0 +1,23 @@ +{ + "name": "greenpeace/planet4-base-tests", + "description": "Tests for the Greenpeace Planet4 NRO application", + "license": "GPL-3.0-or-later", + "repositories": [ + { + "type": "composer", + "url": "https://packagist.org" + } + ], + "require": { + }, + "config": { + "secure-http": false, + "github-protocols": ["https"], + "platform": { + "php": "7.0.32" + } + }, + "require-dev": { + "lucatume/wp-browser": "^2.2" + } +} diff --git a/tests/composer.lock b/tests/composer.lock new file mode 100644 index 0000000..6a563b1 --- /dev/null +++ b/tests/composer.lock @@ -0,0 +1,6199 @@ +{ + "_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": "fc60c2eddb3f55bbc2c57c0651982eeb", + "packages": [], + "packages-dev": [ + { + "name": "antecedent/patchwork", + "version": "2.1.8", + "source": { + "type": "git", + "url": "https://github.com/antecedent/patchwork.git", + "reference": "3bb81ace3914c220aa273d1c0603d5e1b454c0d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/antecedent/patchwork/zipball/3bb81ace3914c220aa273d1c0603d5e1b454c0d7", + "reference": "3bb81ace3914c220aa273d1c0603d5e1b454c0d7", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignas Rudaitis", + "email": "ignas.rudaitis@gmail.com" + } + ], + "description": "Method redefinition (monkey-patching) functionality for PHP.", + "homepage": "http://patchwork2.org/", + "keywords": [ + "aop", + "aspect", + "interception", + "monkeypatching", + "redefinition", + "runkit", + "testing" + ], + "time": "2018-02-19T18:52:50+00:00" + }, + { + "name": "bacon/bacon-string-utils", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/Bacon/BaconStringUtils.git", + "reference": "3d7818aca25190149a9a2415a0928d4964d6007e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Bacon/BaconStringUtils/zipball/3d7818aca25190149a9a2415a0928d4964d6007e", + "reference": "3d7818aca25190149a9a2415a0928d4964d6007e", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~3.7", + "satooshi/php-coveralls": "~0.6", + "squizlabs/php_codesniffer": "~1.5", + "zendframework/zendframework": "~2.0" + }, + "suggest": { + "zendframework/zend-filter": "To use the Slugifier as a Zend\\Filter instance." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "BaconStringUtils": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Ben Scholzen 'DASPRiD'", + "email": "mail@dasprids.de", + "homepage": "http://www.dasprids.de", + "role": "Developer" + } + ], + "description": "BaconStringUtils contain utitilies to work with strings.", + "homepage": "https://github.com/Bacon/BaconStringUtils", + "time": "2014-10-11T16:58:02+00:00" + }, + { + "name": "behat/gherkin", + "version": "v4.6.0", + "source": { + "type": "git", + "url": "https://github.com/Behat/Gherkin.git", + "reference": "ab0a02ea14893860bca00f225f5621d351a3ad07" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/ab0a02ea14893860bca00f225f5621d351a3ad07", + "reference": "ab0a02ea14893860bca00f225f5621d351a3ad07", + "shasum": "" + }, + "require": { + "php": ">=5.3.1" + }, + "require-dev": { + "phpunit/phpunit": "~4.5|~5", + "symfony/phpunit-bridge": "~2.7|~3|~4", + "symfony/yaml": "~2.3|~3|~4" + }, + "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": "2019-01-16T14:22:17+00:00" + }, + { + "name": "codeception/codeception", + "version": "2.5.2", + "source": { + "type": "git", + "url": "https://github.com/Codeception/Codeception.git", + "reference": "4f89de32929fef53ca6d83b159fe329b6d484c1c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/4f89de32929fef53ca6d83b159fe329b6d484c1c", + "reference": "4f89de32929fef53ca6d83b159fe329b6d484c1c", + "shasum": "" + }, + "require": { + "behat/gherkin": "^4.4.0", + "codeception/phpunit-wrapper": "^6.0.9|^7.0.6", + "codeception/stub": "^2.0", + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "facebook/webdriver": ">=1.1.3 <2.0", + "guzzlehttp/guzzle": ">=4.1.4 <7.0", + "guzzlehttp/psr7": "~1.0", + "php": ">=5.6.0 <8.0", + "symfony/browser-kit": ">=2.7 <5.0", + "symfony/console": ">=2.7 <5.0", + "symfony/css-selector": ">=2.7 <5.0", + "symfony/dom-crawler": ">=2.7 <5.0", + "symfony/event-dispatcher": ">=2.7 <5.0", + "symfony/finder": ">=2.7 <5.0", + "symfony/yaml": ">=2.7 <5.0" + }, + "require-dev": { + "codeception/specify": "~0.3", + "facebook/graph-sdk": "~5.3", + "flow/jsonpath": "~0.2", + "monolog/monolog": "~1.8", + "pda/pheanstalk": "~3.0", + "php-amqplib/php-amqplib": "~2.4", + "predis/predis": "^1.0", + "squizlabs/php_codesniffer": "~2.0", + "symfony/process": ">=2.7 <5.0", + "vlucas/phpdotenv": "^2.4.0" + }, + "suggest": { + "aws/aws-sdk-php": "For using AWS Auth in REST module and Queue module", + "codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests", + "codeception/specify": "BDD-style code blocks", + "codeception/verify": "BDD-style assertions", + "flow/jsonpath": "For using JSONPath in REST module", + "league/factory-muffin": "For DataFactory module", + "league/factory-muffin-faker": "For Faker support in DataFactory module", + "phpseclib/phpseclib": "for SFTP option in FTP Module", + "stecman/symfony-console-completion": "For BASH autocompletion", + "symfony/phpunit-bridge": "For phpunit-bridge support" + }, + "bin": [ + "codecept" + ], + "type": "library", + "extra": { + "branch-alias": [] + }, + "autoload": { + "psr-4": { + "Codeception\\": "src/Codeception", + "Codeception\\Extension\\": "ext" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Bodnarchuk", + "email": "davert@mail.ua", + "homepage": "http://codegyre.com" + } + ], + "description": "BDD-style testing framework", + "homepage": "http://codeception.com/", + "keywords": [ + "BDD", + "TDD", + "acceptance testing", + "functional testing", + "unit testing" + ], + "time": "2019-01-02T10:28:51+00:00" + }, + { + "name": "codeception/phpunit-wrapper", + "version": "6.5.1", + "source": { + "type": "git", + "url": "https://github.com/Codeception/phpunit-wrapper.git", + "reference": "d78f9eb9c4300a5924cc27dee03e8c1a96fcf5f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/d78f9eb9c4300a5924cc27dee03e8c1a96fcf5f3", + "reference": "d78f9eb9c4300a5924cc27dee03e8c1a96fcf5f3", + "shasum": "" + }, + "require": { + "phpunit/php-code-coverage": ">=4.0.4 <6.0", + "phpunit/phpunit": ">=6.5.13 <7.0", + "sebastian/comparator": ">=1.2.4 <3.0", + "sebastian/diff": ">=1.4 <4.0" + }, + "replace": { + "codeception/phpunit-wrapper": "*" + }, + "require-dev": { + "codeception/specify": "*", + "vlucas/phpdotenv": "^2.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Codeception\\PHPUnit\\": "src\\" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Davert", + "email": "davert.php@resend.cc" + } + ], + "description": "PHPUnit classes used by Codeception", + "time": "2019-01-13T10:34:55+00:00" + }, + { + "name": "codeception/stub", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/Codeception/Stub.git", + "reference": "f50bc271f392a2836ff80690ce0c058efe1ae03e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/Stub/zipball/f50bc271f392a2836ff80690ce0c058efe1ae03e", + "reference": "f50bc271f392a2836ff80690ce0c058efe1ae03e", + "shasum": "" + }, + "require": { + "phpunit/phpunit": ">=4.8 <8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Codeception\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", + "time": "2018-07-26T11:55:37+00:00" + }, + { + "name": "composer/ca-bundle", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "8afa52cd417f4ec417b4bfe86b68106538a87660" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/8afa52cd417f4ec417b4bfe86b68106538a87660", + "reference": "8afa52cd417f4ec417b4bfe86b68106538a87660", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", + "psr/log": "^1.0", + "symfony/process": "^2.5 || ^3.0 || ^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "time": "2018-10-18T06:09:13+00:00" + }, + { + "name": "composer/composer", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://github.com/composer/composer.git", + "reference": "d8aef3af866b28786ce9b8647e52c42496436669" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/composer/zipball/d8aef3af866b28786ce9b8647e52c42496436669", + "reference": "d8aef3af866b28786ce9b8647e52c42496436669", + "shasum": "" + }, + "require": { + "composer/ca-bundle": "^1.0", + "composer/semver": "^1.0", + "composer/spdx-licenses": "^1.2", + "composer/xdebug-handler": "^1.1", + "justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0", + "php": "^5.3.2 || ^7.0", + "psr/log": "^1.0", + "seld/jsonlint": "^1.4", + "seld/phar-utils": "^1.0", + "symfony/console": "^2.7 || ^3.0 || ^4.0", + "symfony/filesystem": "^2.7 || ^3.0 || ^4.0", + "symfony/finder": "^2.7 || ^3.0 || ^4.0", + "symfony/process": "^2.7 || ^3.0 || ^4.0" + }, + "conflict": { + "symfony/console": "2.8.38" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7", + "phpunit/phpunit-mock-objects": "^2.3 || ^3.0" + }, + "suggest": { + "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", + "ext-zip": "Enabling the zip extension allows you to unzip archives", + "ext-zlib": "Allow gzip compression of HTTP requests" + }, + "bin": [ + "bin/composer" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\": "src/Composer" + } + }, + "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" + } + ], + "description": "Composer helps you declare, manage and install dependencies of PHP projects, ensuring you have the right stack everywhere.", + "homepage": "https://getcomposer.org/", + "keywords": [ + "autoload", + "dependency", + "package" + ], + "time": "2018-12-03T09:31:16+00:00" + }, + { + "name": "composer/semver", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/c7cb9a2095a074d131b65a8a0cd294479d785573", + "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.5 || ^5.0.5", + "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" + }, + "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" + ], + "time": "2016-08-30T16:08:34+00:00" + }, + { + "name": "composer/spdx-licenses", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/composer/spdx-licenses.git", + "reference": "7a9556b22bd9d4df7cad89876b00af58ef20d3a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/7a9556b22bd9d4df7cad89876b00af58ef20d3a2", + "reference": "7a9556b22bd9d4df7cad89876b00af58ef20d3a2", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", + "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Spdx\\": "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": "SPDX licenses list and validation library.", + "keywords": [ + "license", + "spdx", + "validator" + ], + "time": "2018-11-01T09:45:54+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "1.3.1", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "dc523135366eb68f22268d069ea7749486458562" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/dc523135366eb68f22268d069ea7749486458562", + "reference": "dc523135366eb68f22268d069ea7749486458562", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0", + "psr/log": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "time": "2018-11-29T10:59:02+00:00" + }, + { + "name": "dg/mysql-dump", + "version": "v1.5.0", + "source": { + "type": "git", + "url": "https://github.com/dg/MySQL-dump.git", + "reference": "6c9cf07092bcc4a140bef01c64d883ebfccfccfa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dg/MySQL-dump/zipball/6c9cf07092bcc4a140bef01c64d883ebfccfccfa", + "reference": "6c9cf07092bcc4a140bef01c64d883ebfccfccfa", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "http://davidgrudl.com" + } + ], + "description": "MySQL database dump.", + "homepage": "https://github.com/dg/MySQL-dump", + "keywords": [ + "mysql" + ], + "time": "2018-10-31T00:31:09+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" + ], + "time": "2017-07-22T12:18:28+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", + "shasum": "" + }, + "require": { + "php": ">=5.3,<8.0-DEV" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2015-06-14T21:17:01+00:00" + }, + { + "name": "facebook/webdriver", + "version": "1.6.0", + "source": { + "type": "git", + "url": "https://github.com/facebook/php-webdriver.git", + "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/bd8c740097eb9f2fc3735250fc1912bc811a954e", + "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-zip": "*", + "php": "^5.6 || ~7.0", + "symfony/process": "^2.8 || ^3.1 || ^4.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.0", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "php-coveralls/php-coveralls": "^2.0", + "php-mock/php-mock-phpunit": "^1.1", + "phpunit/phpunit": "^5.7", + "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0", + "squizlabs/php_codesniffer": "^2.6", + "symfony/var-dumper": "^3.3 || ^4.0" + }, + "suggest": { + "ext-SimpleXML": "For Firefox profile creation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-community": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "Facebook\\WebDriver\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "A PHP client for Selenium WebDriver", + "homepage": "https://github.com/facebook/php-webdriver", + "keywords": [ + "facebook", + "php", + "selenium", + "webdriver" + ], + "time": "2018-05-16T17:37:13+00:00" + }, + { + "name": "gumlet/php-image-resize", + "version": "1.9.2", + "source": { + "type": "git", + "url": "https://github.com/gumlet/php-image-resize.git", + "reference": "06339a9c1b167acd58173db226f57957a6617547" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/gumlet/php-image-resize/zipball/06339a9c1b167acd58173db226f57957a6617547", + "reference": "06339a9c1b167acd58173db226f57957a6617547", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "ext-gd": "*", + "php": ">=5.5.0" + }, + "require-dev": { + "apigen/apigen": "^4.1", + "ext-exif": "*", + "ext-gd": "*", + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^4.8" + }, + "suggest": { + "ext-exif": "Auto-rotate jpeg files" + }, + "type": "library", + "autoload": { + "psr-4": { + "Gumlet\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aditya Patadia", + "homepage": "http://aditya.patadia.org/" + } + ], + "description": "PHP class to re-size and scale images", + "homepage": "https://github.com/gumlet/php-image-resize", + "keywords": [ + "image", + "php", + "resize", + "scale" + ], + "time": "2019-01-01T13:53:00+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.3.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "shasum": "" + }, + "require": { + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "psr/log": "^1.0" + }, + "suggest": { + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.3-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": "2018-04-22T15:46:56+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.5.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "9f83dded91781a01c63574e387eaa769be769115" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/9f83dded91781a01c63574e387eaa769be769115", + "reference": "9f83dded91781a01c63574e387eaa769be769115", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5-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", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2018-12-04T20:46:45+00:00" + }, + { + "name": "hautelook/phpass", + "version": "0.3.5", + "source": { + "type": "git", + "url": "https://github.com/hautelook/phpass.git", + "reference": "b4cbd9b67ed3ef5672ec79d8e0c46d24bd844abd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hautelook/phpass/zipball/b4cbd9b67ed3ef5672ec79d8e0c46d24bd844abd", + "reference": "b4cbd9b67ed3ef5672ec79d8e0c46d24bd844abd", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "psr-0": { + "Hautelook": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Public Domain" + ], + "authors": [ + { + "name": "Solar Designer", + "email": "solar@openwall.com", + "homepage": "http://openwall.com/phpass/" + } + ], + "description": "Portable PHP password hashing framework", + "homepage": "http://github.com/hautelook/phpass/", + "keywords": [ + "blowfish", + "crypt", + "password", + "security" + ], + "time": "2012-08-31T00:00:00+00:00" + }, + { + "name": "illuminate/contracts", + "version": "v5.5.44", + "source": { + "type": "git", + "url": "https://github.com/illuminate/contracts.git", + "reference": "b2a62b4a85485fca9cf5fa61a933ad64006ff528" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/b2a62b4a85485fca9cf5fa61a933ad64006ff528", + "reference": "b2a62b4a85485fca9cf5fa61a933ad64006ff528", + "shasum": "" + }, + "require": { + "php": ">=7.0", + "psr/container": "~1.0", + "psr/simple-cache": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.5-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Contracts\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Contracts package.", + "homepage": "https://laravel.com", + "time": "2018-03-20T15:34:35+00:00" + }, + { + "name": "illuminate/support", + "version": "v5.5.44", + "source": { + "type": "git", + "url": "https://github.com/illuminate/support.git", + "reference": "5c405512d75dcaf5d37791badce02d86ed8e4bc4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/support/zipball/5c405512d75dcaf5d37791badce02d86ed8e4bc4", + "reference": "5c405512d75dcaf5d37791badce02d86ed8e4bc4", + "shasum": "" + }, + "require": { + "doctrine/inflector": "~1.1", + "ext-mbstring": "*", + "illuminate/contracts": "5.5.*", + "nesbot/carbon": "^1.24.1", + "php": ">=7.0" + }, + "replace": { + "tightenco/collect": "<5.5.33" + }, + "suggest": { + "illuminate/filesystem": "Required to use the composer class (5.5.*).", + "symfony/process": "Required to use the composer class (~3.3).", + "symfony/var-dumper": "Required to use the dd function (~3.3)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.5-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Support\\": "" + }, + "files": [ + "helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Support package.", + "homepage": "https://laravel.com", + "time": "2018-08-10T19:40:01+00:00" + }, + { + "name": "justinrainbow/json-schema", + "version": "5.2.8", + "source": { + "type": "git", + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "dcb6e1006bb5fd1e392b4daa68932880f37550d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/dcb6e1006bb5fd1e392b4daa68932880f37550d4", + "reference": "dcb6e1006bb5fd1e392b4daa68932880f37550d4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.2.20", + "json-schema/json-schema-test-suite": "1.2.0", + "phpunit/phpunit": "^4.8.35" + }, + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "time": "2019-01-14T23:55:14+00:00" + }, + { + "name": "lucatume/wp-browser", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/lucatume/wp-browser.git", + "reference": "b5da0c0eff915849faec11b23bbadc5052ed6925" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/lucatume/wp-browser/zipball/b5da0c0eff915849faec11b23bbadc5052ed6925", + "reference": "b5da0c0eff915849faec11b23bbadc5052ed6925", + "shasum": "" + }, + "require": { + "antecedent/patchwork": "^2.0", + "codeception/codeception": "~2.5.0", + "ext-pdo": "*", + "gumlet/php-image-resize": "^1.6", + "lucatume/wp-browser-commons": "^1.2.5", + "php": ">=5.6.0", + "symfony/process": ">=2.7 <5.0", + "vlucas/phpdotenv": "^2.4", + "wp-cli/wp-cli": "^1.1" + }, + "require-dev": { + "mikey179/vfsstream": "^1.6", + "ofbeaton/console-tester": "^1.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Codeception\\": "src/Codeception", + "tad\\": "src/tad" + }, + "files": [ + "src/tad/WPBrowser/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "theAverageDev (Luca Tumedei)", + "email": "luca@theaveragedev.com", + "homepage": "http://theaveragedev.com", + "role": "Developer" + } + ], + "description": "WordPress extension of the PhpBrowser class.", + "homepage": "http://github.com/lucatume/wp-browser", + "keywords": [ + "codeception", + "wordpress" + ], + "time": "2018-11-29T13:58:24+00:00" + }, + { + "name": "lucatume/wp-browser-commons", + "version": "1.2.9", + "source": { + "type": "git", + "url": "https://github.com/lucatume/wp-browser-commons.git", + "reference": "ab4f65a7e5c37322bdd9cdad1892821e630712fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/lucatume/wp-browser-commons/zipball/ab4f65a7e5c37322bdd9cdad1892821e630712fb", + "reference": "ab4f65a7e5c37322bdd9cdad1892821e630712fb", + "shasum": "" + }, + "require": { + "bacon/bacon-string-utils": "~1.0", + "codeception/codeception": "~2.1", + "dg/mysql-dump": "^1.3", + "mikemclin/laravel-wp-password": "~2.0.0", + "php": ">=5.4.0", + "symfony/filesystem": "^3.0", + "xamin/handlebars.php": "~0.10" + }, + "require-dev": { + "mikey179/vfsstream": "^1.6" + }, + "type": "library", + "autoload": { + "psr-4": { + "tad\\": "src\\tad" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0" + ], + "authors": [ + { + "name": "Luca Tumedei", + "email": "luca@theaveragedev.com" + } + ], + "description": "Common libraries of the WP-Browser package.", + "time": "2018-08-14T06:48:23+00:00" + }, + { + "name": "mikemclin/laravel-wp-password", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/mikemclin/laravel-wp-password.git", + "reference": "84ff1113ff6866cdb0350c176dc3c843383e4819" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mikemclin/laravel-wp-password/zipball/84ff1113ff6866cdb0350c176dc3c843383e4819", + "reference": "84ff1113ff6866cdb0350c176dc3c843383e4819", + "shasum": "" + }, + "require": { + "hautelook/phpass": "0.3.*", + "illuminate/support": ">=4.0.0", + "php": ">=5.3.0" + }, + "replace": { + "mikemclin/laravel-wp-password": "self.version" + }, + "require-dev": { + "mockery/mockery": "~0.9", + "phpunit/phpunit": "~4.0", + "satooshi/php-coveralls": "dev-master" + }, + "type": "laravel-package", + "extra": { + "laravel": { + "providers": [ + "MikeMcLin\\WpPassword\\WpPasswordProvider" + ], + "aliases": { + "WpPassword": "MikeMcLin\\WpPassword\\Facades\\WpPassword" + } + } + }, + "autoload": { + "psr-4": { + "MikeMcLin\\WpPassword\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike McLin", + "email": "mike@mikemclin.com", + "homepage": "http://mikemclin.net" + } + ], + "description": "Laravel package that checks and creates WordPress password hashes", + "homepage": "https://github.com/mikemclin/laravel-wp-password", + "keywords": [ + "hashing", + "laravel", + "password", + "wordpress" + ], + "time": "2018-01-11T14:12:02+00:00" + }, + { + "name": "mustache/mustache", + "version": "v2.12.0", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/mustache.php.git", + "reference": "fe8fe72e9d580591854de404cc59a1b83ca4d19e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/mustache.php/zipball/fe8fe72e9d580591854de404cc59a1b83ca4d19e", + "reference": "fe8fe72e9d580591854de404cc59a1b83ca4d19e", + "shasum": "" + }, + "require": { + "php": ">=5.2.4" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~1.11", + "phpunit/phpunit": "~3.7|~4.0|~5.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Mustache": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "A Mustache implementation in PHP.", + "homepage": "https://github.com/bobthecow/mustache.php", + "keywords": [ + "mustache", + "templating" + ], + "time": "2017-07-11T12:54:05+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", + "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^4.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "time": "2017-10-19T19:58:43+00:00" + }, + { + "name": "nb/oxymel", + "version": "v0.1.0", + "source": { + "type": "git", + "url": "https://github.com/nb/oxymel.git", + "reference": "cbe626ef55d5c4cc9b5e6e3904b395861ea76e3c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nb/oxymel/zipball/cbe626ef55d5c4cc9b5e6e3904b395861ea76e3c", + "reference": "cbe626ef55d5c4cc9b5e6e3904b395861ea76e3c", + "shasum": "" + }, + "require": { + "php": ">=5.2.4" + }, + "type": "library", + "autoload": { + "psr-0": { + "Oxymel": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nikolay Bachiyski", + "email": "nb@nikolay.bg", + "homepage": "http://extrapolate.me/" + } + ], + "description": "A sweet XML builder", + "homepage": "https://github.com/nb/oxymel", + "keywords": [ + "xml" + ], + "time": "2013-02-24T15:01:54+00:00" + }, + { + "name": "nesbot/carbon", + "version": "1.36.2", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "cd324b98bc30290f233dd0e75e6ce49f7ab2a6c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/cd324b98bc30290f233dd0e75e6ce49f7ab2a6c9", + "reference": "cd324b98bc30290f233dd0e75e6ce49f7ab2a6c9", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/translation": "~2.6 || ~3.0 || ~4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7" + }, + "suggest": { + "friendsofphp/php-cs-fixer": "Needed for the `composer phpcs` command. Allow to automatically fix code style.", + "phpstan/phpstan": "Needed for the `composer phpstan` command. Allow to detect potential errors." + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" + } + ], + "description": "A simple API extension for DateTime.", + "homepage": "http://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "time": "2018-12-28T10:07:33+00:00" + }, + { + "name": "phar-io/manifest", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "phar-io/version": "^1.0.1", + "php": "^5.6 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "time": "2017-03-05T18:14:27+00:00" + }, + { + "name": "phar-io/version", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "time": "2017-03-05T17:38:23+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2017-09-11T18:02:19+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "4.3.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08", + "shasum": "" + }, + "require": { + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0", + "phpdocumentor/type-resolver": "^0.4.0", + "webmozart/assert": "^1.0" + }, + "require-dev": { + "doctrine/instantiator": "~1.0.5", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2017-11-30T07:14:17+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "phpdocumentor/reflection-common": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "time": "2017-07-14T14:27:02+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "sebastian/comparator": "^1.1|^2.0|^3.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0" + }, + "require-dev": { + "phpspec/phpspec": "^2.5|^3.2", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8.x-dev" + } + }, + "autoload": { + "psr-0": { + "Prophecy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "time": "2018-08-05T17:53:17+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "5.3.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "c89677919c5dd6d3b3852f230a663118762218ac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c89677919c5dd6d3b3852f230a663118762218ac", + "reference": "c89677919c5dd6d3b3852f230a663118762218ac", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": "^7.0", + "phpunit/php-file-iterator": "^1.4.2", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-token-stream": "^2.0.1", + "sebastian/code-unit-reverse-lookup": "^1.0.1", + "sebastian/environment": "^3.0", + "sebastian/version": "^2.0.1", + "theseer/tokenizer": "^1.1" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "suggest": { + "ext-xdebug": "^2.5.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "time": "2018-04-06T15:36:58+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "1.4.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "time": "2017-11-27T13:52:08+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "time": "2015-06-21T13:50:34+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "1.0.9", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "time": "2017-02-26T11:10:40+00:00" + }, + { + "name": "phpunit/php-token-stream", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "791198a2c6254db10131eecfe8c06670700904db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db", + "reference": "791198a2c6254db10131eecfe8c06670700904db", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.2.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "time": "2017-11-27T05:48:46+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "6.5.13", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "0973426fb012359b2f18d3bd1e90ef1172839693" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0973426fb012359b2f18d3bd1e90ef1172839693", + "reference": "0973426fb012359b2f18d3bd1e90ef1172839693", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "myclabs/deep-copy": "^1.6.1", + "phar-io/manifest": "^1.0.1", + "phar-io/version": "^1.0", + "php": "^7.0", + "phpspec/prophecy": "^1.7", + "phpunit/php-code-coverage": "^5.3", + "phpunit/php-file-iterator": "^1.4.3", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-timer": "^1.0.9", + "phpunit/phpunit-mock-objects": "^5.0.9", + "sebastian/comparator": "^2.1", + "sebastian/diff": "^2.0", + "sebastian/environment": "^3.1", + "sebastian/exporter": "^3.1", + "sebastian/global-state": "^2.0", + "sebastian/object-enumerator": "^3.0.3", + "sebastian/resource-operations": "^1.0", + "sebastian/version": "^2.0.1" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "3.0.2", + "phpunit/dbunit": "<3.0" + }, + "require-dev": { + "ext-pdo": "*" + }, + "suggest": { + "ext-xdebug": "*", + "phpunit/php-invoker": "^1.1" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.5.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "time": "2018-09-08T15:10:43+00:00" + }, + { + "name": "phpunit/phpunit-mock-objects", + "version": "5.0.10", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/cd1cf05c553ecfec36b170070573e540b67d3f1f", + "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.5", + "php": "^7.0", + "phpunit/php-text-template": "^1.2.1", + "sebastian/exporter": "^3.1" + }, + "conflict": { + "phpunit/phpunit": "<6.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.5.11" + }, + "suggest": { + "ext-soap": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "keywords": [ + "mock", + "xunit" + ], + "abandoned": true, + "time": "2018-08-09T05:50:03+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.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "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": "2018-11-20T15:27:04+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "2.0.5", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "~3.7.0", + "satooshi/php-coveralls": ">=1.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "time": "2016-02-11T07:05:27+00:00" + }, + { + "name": "ramsey/array_column", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/ramsey/array_column.git", + "reference": "f8e52eb28e67eb50e613b451dd916abcf783c1db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/array_column/zipball/f8e52eb28e67eb50e613b451dd916abcf783c1db", + "reference": "f8e52eb28e67eb50e613b451dd916abcf783c1db", + "shasum": "" + }, + "require-dev": { + "jakub-onderka/php-parallel-lint": "0.8.*", + "phpunit/phpunit": "~4.5", + "satooshi/php-coveralls": "0.6.*", + "squizlabs/php_codesniffer": "~2.2" + }, + "type": "library", + "autoload": { + "files": [ + "src/array_column.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Ramsey", + "homepage": "http://benramsey.com" + } + ], + "description": "Provides functionality for array_column() to projects using PHP earlier than version 5.5.", + "homepage": "https://github.com/ramsey/array_column", + "keywords": [ + "array", + "array_column", + "column" + ], + "abandoned": true, + "time": "2015-03-20T22:07:39+00:00" + }, + { + "name": "rmccue/requests", + "version": "v1.7.0", + "source": { + "type": "git", + "url": "https://github.com/rmccue/Requests.git", + "reference": "87932f52ffad70504d93f04f15690cf16a089546" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rmccue/Requests/zipball/87932f52ffad70504d93f04f15690cf16a089546", + "reference": "87932f52ffad70504d93f04f15690cf16a089546", + "shasum": "" + }, + "require": { + "php": ">=5.2" + }, + "require-dev": { + "requests/test-server": "dev-master" + }, + "type": "library", + "autoload": { + "psr-0": { + "Requests": "library/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Ryan McCue", + "homepage": "http://ryanmccue.info" + } + ], + "description": "A HTTP library written in PHP, for human beings.", + "homepage": "http://github.com/rmccue/Requests", + "keywords": [ + "curl", + "fsockopen", + "http", + "idna", + "ipv6", + "iri", + "sockets" + ], + "time": "2016-10-13T00:11:37+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "time": "2017-03-04T06:30:41+00:00" + }, + { + "name": "sebastian/comparator", + "version": "2.1.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9", + "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9", + "shasum": "" + }, + "require": { + "php": "^7.0", + "sebastian/diff": "^2.0 || ^3.0", + "sebastian/exporter": "^3.1" + }, + "require-dev": { + "phpunit/phpunit": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "time": "2018-02-01T13:46:46+00:00" + }, + { + "name": "sebastian/diff", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", + "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff" + ], + "time": "2017-08-03T08:09:46+00:00" + }, + { + "name": "sebastian/environment", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "time": "2017-07-01T08:51:00+00:00" + }, + { + "name": "sebastian/exporter", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", + "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", + "shasum": "" + }, + "require": { + "php": "^7.0", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "time": "2017-04-03T13:19:02+00:00" + }, + { + "name": "sebastian/global-state", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "time": "2017-04-27T15:39:26+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "shasum": "" + }, + "require": { + "php": "^7.0", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "time": "2017-08-03T12:35:26+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "773f97c67f28de00d397be301821b06708fca0be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", + "reference": "773f97c67f28de00d397be301821b06708fca0be", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "time": "2017-03-29T09:07:27+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2017-03-03T06:23:57+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "shasum": "" + }, + "require": { + "php": ">=5.6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "time": "2015-07-28T20:34:47+00:00" + }, + { + "name": "sebastian/version", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2016-10-03T07:35:21+00:00" + }, + { + "name": "seld/jsonlint", + "version": "1.7.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/d15f59a67ff805a44c50ea0516d2341740f81a38", + "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "bin": [ + "bin/jsonlint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "time": "2018-01-24T12:46:19+00:00" + }, + { + "name": "seld/phar-utils", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/phar-utils.git", + "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/7009b5139491975ef6486545a39f3e6dad5ac30a", + "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\PharUtils\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "PHAR file format utilities, for when PHP phars you up", + "keywords": [ + "phra" + ], + "time": "2015-10-13T18:44:15+00:00" + }, + { + "name": "symfony/browser-kit", + "version": "v3.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/browser-kit.git", + "reference": "6d98fb221a263c66b1311203fe4eed154035f508" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/6d98fb221a263c66b1311203fe4eed154035f508", + "reference": "6d98fb221a263c66b1311203fe4eed154035f508", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/dom-crawler": "~2.8|~3.0|~4.0" + }, + "require-dev": { + "symfony/css-selector": "~2.8|~3.0|~4.0", + "symfony/process": "~2.8|~3.0|~4.0" + }, + "suggest": { + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2019-01-01T13:45:19+00:00" + }, + { + "name": "symfony/config", + "version": "v3.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "17c5d8941eb75a03d19bc76a43757738632d87b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/17c5d8941eb75a03d19bc76a43757738632d87b3", + "reference": "17c5d8941eb75a03d19bc76a43757738632d87b3", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/filesystem": "~2.8|~3.0|~4.0", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/dependency-injection": "<3.3", + "symfony/finder": "<3.3" + }, + "require-dev": { + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/event-dispatcher": "~3.3|~4.0", + "symfony/finder": "~3.3|~4.0", + "symfony/yaml": "~3.0|~4.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2019-01-01T13:45:19+00:00" + }, + { + "name": "symfony/console", + "version": "v3.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "a700b874d3692bc8342199adfb6d3b99f62cc61a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/a700b874d3692bc8342199adfb6d3b99f62cc61a", + "reference": "a700b874d3692bc8342199adfb6d3b99f62cc61a", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/debug": "~2.8|~3.0|~4.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/process": "<3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.3|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~2.8|~3.0|~4.0", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.3|~4.0" + }, + "suggest": { + "psr/log-implementation": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2019-01-04T04:42:43+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v3.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "12f86295c46c36af9896cf21db6b6b8a1465315d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/12f86295c46c36af9896cf21db6b6b8a1465315d", + "reference": "12f86295c46c36af9896cf21db6b6b8a1465315d", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2019-01-02T09:30:52+00:00" + }, + { + "name": "symfony/debug", + "version": "v3.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "26d7f23b9bd0b93bee5583e4d6ca5cb1ab31b186" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/26d7f23b9bd0b93bee5583e4d6ca5cb1ab31b186", + "reference": "26d7f23b9bd0b93bee5583e4d6ca5cb1ab31b186", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "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|~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2019-01-01T13:45:19+00:00" + }, + { + "name": "symfony/dependency-injection", + "version": "v3.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "928a38b18bd632d67acbca74d0b2eed09915e83e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/928a38b18bd632d67acbca74d0b2eed09915e83e", + "reference": "928a38b18bd632d67acbca74d0b2eed09915e83e", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "psr/container": "^1.0" + }, + "conflict": { + "symfony/config": "<3.3.7", + "symfony/finder": "<3.3", + "symfony/proxy-manager-bridge": "<3.4", + "symfony/yaml": "<3.4" + }, + "provide": { + "psr/container-implementation": "1.0" + }, + "require-dev": { + "symfony/config": "~3.3|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "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.4-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": "2019-01-05T12:26:58+00:00" + }, + { + "name": "symfony/dom-crawler", + "version": "v3.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "311f666d85d1075b0a294ba1f3de4ae9307d8180" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/311f666d85d1075b0a294ba1f3de4ae9307d8180", + "reference": "311f666d85d1075b0a294ba1f3de4ae9307d8180", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "symfony/css-selector": "~2.8|~3.0|~4.0" + }, + "suggest": { + "symfony/css-selector": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2019-01-01T13:45:19+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v3.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "d1cdd46c53c264a2bd42505bd0e8ce21423bd0e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d1cdd46c53c264a2bd42505bd0e8ce21423bd0e2", + "reference": "d1cdd46c53c264a2bd42505bd0e8ce21423bd0e2", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "conflict": { + "symfony/dependency-injection": "<3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/stopwatch": "~2.8|~3.0|~4.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2019-01-01T18:08:36+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v3.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "c24ce3d18ccc9bb9d7e1d6ce9330fcc6061cafde" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/c24ce3d18ccc9bb9d7e1d6ce9330fcc6061cafde", + "reference": "c24ce3d18ccc9bb9d7e1d6ce9330fcc6061cafde", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2019-01-01T13:45:19+00:00" + }, + { + "name": "symfony/finder", + "version": "v3.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "3f2a2ab6315dd7682d4c16dcae1e7b95c8b8555e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/3f2a2ab6315dd7682d4c16dcae1e7b95c8b8555e", + "reference": "3f2a2ab6315dd7682d4c16dcae1e7b95c8b8555e", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "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 Finder Component", + "homepage": "https://symfony.com", + "time": "2019-01-01T13:45:19+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.10.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + }, + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "time": "2018-08-06T14:22:27+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.10.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-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": "2018-09-21T13:07:52+00:00" + }, + { + "name": "symfony/process", + "version": "v3.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "0d41dd7d95ed179aed6a13393b0f4f97bfa2d25c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/0d41dd7d95ed179aed6a13393b0f4f97bfa2d25c", + "reference": "0d41dd7d95ed179aed6a13393b0f4f97bfa2d25c", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "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 Process Component", + "homepage": "https://symfony.com", + "time": "2019-01-02T21:24:08+00:00" + }, + { + "name": "symfony/translation", + "version": "v3.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "5f357063f4907cef47e5cf82fa3187fbfb700456" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/5f357063f4907cef47e5cf82fa3187fbfb700456", + "reference": "5f357063f4907cef47e5cf82fa3187fbfb700456", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<2.8", + "symfony/dependency-injection": "<3.4", + "symfony/yaml": "<3.4" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/finder": "~2.8|~3.0|~4.0", + "symfony/intl": "^2.8.18|^3.2.5|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2019-01-01T13:45:19+00:00" + }, + { + "name": "symfony/yaml", + "version": "v3.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "554a59a1ccbaac238a89b19c8e551a556fd0e2ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/554a59a1ccbaac238a89b19c8e551a556fd0e2ea", + "reference": "554a59a1ccbaac238a89b19c8e551a556fd0e2ea", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<3.4" + }, + "require-dev": { + "symfony/console": "~3.4|~4.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2019-01-01T13:45:19+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b", + "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "time": "2017-04-07T12:08:54+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v2.5.2", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "cfd5dc225767ca154853752abc93aeec040fcf36" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/cfd5dc225767ca154853752abc93aeec040fcf36", + "reference": "cfd5dc225767ca154853752abc93aeec040fcf36", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev" + } + }, + "autoload": { + "psr-4": { + "Dotenv\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "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": "2018-10-30T17:29:25+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9", + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2018-12-25T11:19:39+00:00" + }, + { + "name": "wp-cli/autoload-splitter", + "version": "v0.1.5", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/autoload-splitter.git", + "reference": "fb4302da26390811d2631c62b42b75976d224bb8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/autoload-splitter/zipball/fb4302da26390811d2631c62b42b75976d224bb8", + "reference": "fb4302da26390811d2631c62b42b75976d224bb8", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.1" + }, + "type": "composer-plugin", + "extra": { + "class": "WP_CLI\\AutoloadSplitter\\ComposerPlugin" + }, + "autoload": { + "psr-4": { + "WP_CLI\\AutoloadSplitter\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alain Schlesser", + "email": "alain.schlesser@gmail.com", + "homepage": "https://www.alainschlesser.com" + } + ], + "description": "Composer plugin for splitting a generated autoloader into two distinct parts.", + "homepage": "https://wp-cli.org", + "time": "2017-08-03T08:40:16+00:00" + }, + { + "name": "wp-cli/cache-command", + "version": "v1.0.6", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/cache-command.git", + "reference": "d82cba9effa198f17847dce5771c8fb20c443ffa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/cache-command/zipball/d82cba9effa198f17847dce5771c8fb20c443ffa", + "reference": "d82cba9effa198f17847dce5771c8fb20c443ffa", + "shasum": "" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "*" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "bundled": true, + "commands": [ + "cache", + "cache add", + "cache decr", + "cache delete", + "cache flush", + "cache get", + "cache incr", + "cache replace", + "cache set", + "cache type", + "transient", + "transient delete", + "transient get", + "transient set", + "transient type" + ] + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "cache-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Manages object and transient caches.", + "homepage": "https://github.com/wp-cli/cache-command", + "time": "2017-12-14T19:21:19+00:00" + }, + { + "name": "wp-cli/checksum-command", + "version": "v1.0.9", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/checksum-command.git", + "reference": "89a319440651f2867f282339c2223cfe5e9cc3fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/checksum-command/zipball/89a319440651f2867f282339c2223cfe5e9cc3fb", + "reference": "89a319440651f2867f282339c2223cfe5e9cc3fb", + "shasum": "" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "^1.5" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "bundled": true, + "commands": [ + "core verify-checksums", + "plugin verify-checksums" + ] + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "checksum-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Verifies file integrity by comparing to published checksums.", + "homepage": "https://github.com/wp-cli/checksum-command", + "time": "2018-04-20T07:47:27+00:00" + }, + { + "name": "wp-cli/config-command", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/config-command.git", + "reference": "7bec9b4685b4022ab511630422dd6acccadfca9b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/config-command/zipball/7bec9b4685b4022ab511630422dd6acccadfca9b", + "reference": "7bec9b4685b4022ab511630422dd6acccadfca9b", + "shasum": "" + }, + "require": { + "wp-cli/wp-config-transformer": "^1.2.1" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "*" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "bundled": true, + "commands": [ + "config", + "config edit", + "config delete", + "config create", + "config get", + "config has", + "config list", + "config path", + "config set" + ] + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "config-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + }, + { + "name": "Alain Schlesser", + "email": "alain.schlesser@gmail.com", + "homepage": "https://www.alainschlesser.com" + } + ], + "description": "Generates and reads the wp-config.php file.", + "homepage": "https://github.com/wp-cli/config-command", + "time": "2018-04-20T08:03:51+00:00" + }, + { + "name": "wp-cli/core-command", + "version": "v1.0.12", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/core-command.git", + "reference": "b41913707029c5147b38810700e424ed5f5fe8e0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/core-command/zipball/b41913707029c5147b38810700e424ed5f5fe8e0", + "reference": "b41913707029c5147b38810700e424ed5f5fe8e0", + "shasum": "" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "*" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "bundled": true, + "commands": [ + "core", + "core check-update", + "core download", + "core install", + "core is-installed", + "core multisite-convert", + "core multisite-install", + "core update", + "core update-db", + "core version" + ] + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "core-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Downloads, installs, updates, and manages a WordPress installation.", + "homepage": "https://github.com/wp-cli/core-command", + "time": "2018-07-25T15:55:02+00:00" + }, + { + "name": "wp-cli/cron-command", + "version": "v1.0.5", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/cron-command.git", + "reference": "9da7e36e8f9c14cb171a3c5204cba2865e0ed7ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/cron-command/zipball/9da7e36e8f9c14cb171a3c5204cba2865e0ed7ef", + "reference": "9da7e36e8f9c14cb171a3c5204cba2865e0ed7ef", + "shasum": "" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "*" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "bundled": true, + "commands": [ + "cron", + "cron test", + "cron event", + "cron event delete", + "cron event list", + "cron event run", + "cron event schedule", + "cron schedule", + "cron schedule list" + ] + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "cron-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Tests, runs, and deletes WP-Cron events; manages WP-Cron schedules.", + "homepage": "https://github.com/wp-cli/cron-command", + "time": "2017-12-08T15:09:54+00:00" + }, + { + "name": "wp-cli/db-command", + "version": "v1.3.5", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/db-command.git", + "reference": "c260be59d9ac4c0012b016405e17d0251137fb89" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/db-command/zipball/c260be59d9ac4c0012b016405e17d0251137fb89", + "reference": "c260be59d9ac4c0012b016405e17d0251137fb89", + "shasum": "" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "^1.5" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "bundled": true, + "commands": [ + "db", + "db create", + "db drop", + "db reset", + "db check", + "db optimize", + "db prefix", + "db repair", + "db cli", + "db query", + "db export", + "db import", + "db search", + "db tables", + "db size", + "db columns" + ] + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "db-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Performs basic database operations using credentials stored in wp-config.php.", + "homepage": "https://github.com/wp-cli/db-command", + "time": "2018-07-31T02:06:59+00:00" + }, + { + "name": "wp-cli/embed-command", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/embed-command.git", + "reference": "81319d4243a8dfe096389bf54cdc4fc3dec53497" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/embed-command/zipball/81319d4243a8dfe096389bf54cdc4fc3dec53497", + "reference": "81319d4243a8dfe096389bf54cdc4fc3dec53497", + "shasum": "" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "^1.5" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "bundled": true, + "commands": [ + "embed", + "embed fetch", + "embed provider list", + "embed provider match", + "embed handler list", + "embed cache clear", + "embed cache find", + "embed cache trigger" + ] + }, + "autoload": { + "psr-4": { + "WP_CLI\\Embeds\\": "src/" + }, + "files": [ + "embed-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Pascal Birchler", + "homepage": "https://pascalbirchler.com/" + } + ], + "description": "Inspects oEmbed providers, clears embed cache, and more.", + "homepage": "https://github.com/wp-cli/embed-command", + "time": "2018-01-22T21:26:48+00:00" + }, + { + "name": "wp-cli/entity-command", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/entity-command.git", + "reference": "7b000645684b6acbb1d55ab47b77eb08f35cd229" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/entity-command/zipball/7b000645684b6acbb1d55ab47b77eb08f35cd229", + "reference": "7b000645684b6acbb1d55ab47b77eb08f35cd229", + "shasum": "" + }, + "require-dev": { + "behat/behat": "~2.5", + "phpunit/phpunit": "^4.8", + "wp-cli/wp-cli": "^1.5" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "bundled": true, + "commands": [ + "comment", + "comment approve", + "comment count", + "comment create", + "comment delete", + "comment exists", + "comment generate", + "comment get", + "comment list", + "comment meta", + "comment meta add", + "comment meta delete", + "comment meta get", + "comment meta list", + "comment meta patch", + "comment meta pluck", + "comment meta update", + "comment recount", + "comment spam", + "comment status", + "comment trash", + "comment unapprove", + "comment unspam", + "comment untrash", + "comment update", + "menu", + "menu create", + "menu delete", + "menu item", + "menu item add-custom", + "menu item add-post", + "menu item add-term", + "menu item delete", + "menu item list", + "menu item update", + "menu list", + "menu location", + "menu location assign", + "menu location list", + "menu location remove", + "network meta", + "network meta add", + "network meta delete", + "network meta get", + "network meta list", + "network meta patch", + "network meta pluck", + "network meta update", + "option", + "option add", + "option delete", + "option get", + "option list", + "option patch", + "option pluck", + "option update", + "post", + "post create", + "post delete", + "post edit", + "post generate", + "post get", + "post list", + "post meta", + "post meta add", + "post meta delete", + "post meta get", + "post meta list", + "post meta patch", + "post meta pluck", + "post meta update", + "post term", + "post term add", + "post term list", + "post term remove", + "post term set", + "post update", + "post-type", + "post-type get", + "post-type list", + "site", + "site activate", + "site archive", + "site create", + "site deactivate", + "site delete", + "site empty", + "site list", + "site mature", + "site option", + "site private", + "site public", + "site spam", + "site unarchive", + "site unmature", + "site unspam", + "taxonomy", + "taxonomy get", + "taxonomy list", + "term", + "term create", + "term delete", + "term generate", + "term get", + "term list", + "term meta", + "term meta add", + "term meta delete", + "term meta get", + "term meta list", + "term meta patch", + "term meta pluck", + "term meta update", + "term recount", + "term update", + "user", + "user add-cap", + "user add-role", + "user create", + "user delete", + "user generate", + "user get", + "user import-csv", + "user list", + "user list-caps", + "user meta", + "user meta add", + "user meta delete", + "user meta get", + "user meta list", + "user meta patch", + "user meta pluck", + "user meta update", + "user remove-cap", + "user remove-role", + "user reset-password", + "user session", + "user session destroy", + "user session list", + "user set-role", + "user spam", + "user term", + "user term add", + "user term list", + "user term remove", + "user term set", + "user unspam", + "user update" + ] + }, + "autoload": { + "psr-4": { + "": "src/", + "WP_CLI\\": "src/WP_CLI" + }, + "files": [ + "entity-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Manage WordPress core entities.", + "homepage": "https://github.com/wp-cli/entity-command", + "time": "2018-07-13T12:21:06+00:00" + }, + { + "name": "wp-cli/eval-command", + "version": "v1.0.5", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/eval-command.git", + "reference": "9640d40ab28cd86590396f08f8c382e659f57321" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/eval-command/zipball/9640d40ab28cd86590396f08f8c382e659f57321", + "reference": "9640d40ab28cd86590396f08f8c382e659f57321", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "*" + }, + "require-dev": { + "behat/behat": "~2.5" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "bundled": true, + "commands": [ + "eval", + "eval-file" + ] + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "eval-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Executes arbitrary PHP code or files.", + "homepage": "https://github.com/wp-cli/eval-command", + "time": "2017-12-08T14:33:34+00:00" + }, + { + "name": "wp-cli/export-command", + "version": "v1.0.7", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/export-command.git", + "reference": "776d33ad6b2ac93c00fded27402ca8e188e7bff0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/export-command/zipball/776d33ad6b2ac93c00fded27402ca8e188e7bff0", + "reference": "776d33ad6b2ac93c00fded27402ca8e188e7bff0", + "shasum": "" + }, + "require": { + "nb/oxymel": "~0.1.0" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "^1.5" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "bundled": true, + "commands": [ + "export" + ] + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "export-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Exports WordPress content to a WXR file.", + "homepage": "https://github.com/wp-cli/export-command", + "time": "2018-04-20T08:10:47+00:00" + }, + { + "name": "wp-cli/extension-command", + "version": "v1.2.2", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/extension-command.git", + "reference": "18f1036bad42f481f178c2f4139039e9424b6e14" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/extension-command/zipball/18f1036bad42f481f178c2f4139039e9424b6e14", + "reference": "18f1036bad42f481f178c2f4139039e9424b6e14", + "shasum": "" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "*" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "bundled": true, + "commands": [ + "plugin", + "plugin activate", + "plugin deactivate", + "plugin delete", + "plugin get", + "plugin install", + "plugin is-installed", + "plugin list", + "plugin path", + "plugin search", + "plugin status", + "plugin toggle", + "plugin uninstall", + "plugin update", + "theme", + "theme activate", + "theme delete", + "theme disable", + "theme enable", + "theme get", + "theme install", + "theme is-installed", + "theme list", + "theme mod", + "theme mod get", + "theme mod set", + "theme mod remove", + "theme path", + "theme search", + "theme status", + "theme update", + "theme mod list" + ] + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "extension-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Manages plugins and themes, including installs, activations, and updates.", + "homepage": "https://github.com/wp-cli/extension-command", + "time": "2018-07-31T17:46:49+00:00" + }, + { + "name": "wp-cli/import-command", + "version": "v1.0.7", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/import-command.git", + "reference": "421fec5bd96671931f2119a89d28bae2f9edeb6b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/import-command/zipball/421fec5bd96671931f2119a89d28bae2f9edeb6b", + "reference": "421fec5bd96671931f2119a89d28bae2f9edeb6b", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "*" + }, + "require-dev": { + "behat/behat": "~2.5" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "bundled": true, + "commands": [ + "import" + ] + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "import-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Imports content from a given WXR file.", + "homepage": "https://github.com/wp-cli/import-command", + "time": "2018-04-20T08:07:05+00:00" + }, + { + "name": "wp-cli/language-command", + "version": "v1.0.6", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/language-command.git", + "reference": "2a3d1ce5a722a4d70809619a065087aa933f6209" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/language-command/zipball/2a3d1ce5a722a4d70809619a065087aa933f6209", + "reference": "2a3d1ce5a722a4d70809619a065087aa933f6209", + "shasum": "" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "*" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "commands": [ + "language", + "language core", + "language core activate", + "language core install", + "language core list", + "language core uninstall", + "language core update" + ], + "bundled": true + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "language-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Installs, activates, and manages language packs.", + "homepage": "https://github.com/wp-cli/language-command", + "time": "2017-12-08T17:50:26+00:00" + }, + { + "name": "wp-cli/media-command", + "version": "v1.1.4", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/media-command.git", + "reference": "7f8664ba722505446b3ef3dbc6717e8e7f20265c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/media-command/zipball/7f8664ba722505446b3ef3dbc6717e8e7f20265c", + "reference": "7f8664ba722505446b3ef3dbc6717e8e7f20265c", + "shasum": "" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "^1.5" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "bundled": true, + "commands": [ + "media", + "media import", + "media regenerate", + "media image-size" + ] + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "media-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Imports files as attachments, regenerates thumbnails, or lists registered image sizes.", + "homepage": "https://github.com/wp-cli/media-command", + "time": "2018-01-29T02:17:56+00:00" + }, + { + "name": "wp-cli/mustangostang-spyc", + "version": "0.6.3", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/spyc.git", + "reference": "6aa0b4da69ce9e9a2c8402dab8d43cf32c581cc7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/spyc/zipball/6aa0b4da69ce9e9a2c8402dab8d43cf32c581cc7", + "reference": "6aa0b4da69ce9e9a2c8402dab8d43cf32c581cc7", + "shasum": "" + }, + "require": { + "php": ">=5.3.1" + }, + "require-dev": { + "phpunit/phpunit": "4.3.*@dev" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "Mustangostang\\": "src/" + }, + "files": [ + "includes/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "mustangostang", + "email": "vlad.andersen@gmail.com" + } + ], + "description": "A simple YAML loader/dumper class for PHP (WP-CLI fork)", + "homepage": "https://github.com/mustangostang/spyc/", + "time": "2017-04-25T11:26:20+00:00" + }, + { + "name": "wp-cli/package-command", + "version": "v1.0.14", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/package-command.git", + "reference": "a7ce916de5e1d0c3d910d4fc8ca31928ee3775d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/package-command/zipball/a7ce916de5e1d0c3d910d4fc8ca31928ee3775d3", + "reference": "a7ce916de5e1d0c3d910d4fc8ca31928ee3775d3", + "shasum": "" + }, + "require": { + "composer/composer": "^1.2.0" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "^1.5" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "bundled": true, + "commands": [ + "package", + "package browse", + "package install", + "package list", + "package update", + "package uninstall" + ] + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "package-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Lists, installs, and removes WP-CLI packages.", + "homepage": "https://github.com/wp-cli/package-command", + "time": "2018-05-28T11:40:24+00:00" + }, + { + "name": "wp-cli/php-cli-tools", + "version": "v0.11.11", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/php-cli-tools.git", + "reference": "fe9c7c44a9e1bf2196ec51dc38da0593dbf2993f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/php-cli-tools/zipball/fe9c7c44a9e1bf2196ec51dc38da0593dbf2993f", + "reference": "fe9c7c44a9e1bf2196ec51dc38da0593dbf2993f", + "shasum": "" + }, + "require": { + "php": ">= 5.3.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "cli": "lib/" + }, + "files": [ + "lib/cli/cli.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "James Logsdon", + "email": "jlogsdon@php.net", + "role": "Developer" + }, + { + "name": "Daniel Bachhuber", + "email": "daniel@handbuilt.co", + "role": "Maintainer" + } + ], + "description": "Console utilities for PHP", + "homepage": "http://github.com/wp-cli/php-cli-tools", + "keywords": [ + "cli", + "console" + ], + "time": "2018-09-04T13:28:00+00:00" + }, + { + "name": "wp-cli/rewrite-command", + "version": "v1.0.5", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/rewrite-command.git", + "reference": "6b1695887e289ffad14c8f4ea86b5f1d92757408" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/rewrite-command/zipball/6b1695887e289ffad14c8f4ea86b5f1d92757408", + "reference": "6b1695887e289ffad14c8f4ea86b5f1d92757408", + "shasum": "" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "*" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "commands": [ + "rewrite", + "rewrite flush", + "rewrite list", + "rewrite structure" + ], + "bundled": true + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "rewrite-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Lists or flushes the site's rewrite rules, updates the permalink structure.", + "homepage": "https://github.com/wp-cli/rewrite-command", + "time": "2017-12-08T17:51:04+00:00" + }, + { + "name": "wp-cli/role-command", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/role-command.git", + "reference": "f50134ea9c27c108b1069cf044f7395c8f9bf716" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/role-command/zipball/f50134ea9c27c108b1069cf044f7395c8f9bf716", + "reference": "f50134ea9c27c108b1069cf044f7395c8f9bf716", + "shasum": "" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "*" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "commands": [ + "role", + "role create", + "role delete", + "role exists", + "role list", + "role reset", + "cap", + "cap add", + "cap list", + "cap remove" + ], + "bundled": true + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "role-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Adds, removes, lists, and resets roles and capabilities.", + "homepage": "https://github.com/wp-cli/role-command", + "time": "2018-04-20T08:05:51+00:00" + }, + { + "name": "wp-cli/scaffold-command", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/scaffold-command.git", + "reference": "a897a54ba0a8199743d90204ff773b302fc77572" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/scaffold-command/zipball/a897a54ba0a8199743d90204ff773b302fc77572", + "reference": "a897a54ba0a8199743d90204ff773b302fc77572", + "shasum": "" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "^1.5" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "bundled": true, + "commands": [ + "scaffold", + "scaffold _s", + "scaffold block", + "scaffold child-theme", + "scaffold plugin", + "scaffold plugin-tests", + "scaffold post-type", + "scaffold taxonomy", + "scaffold theme-tests" + ] + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "scaffold-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Generates code for post types, taxonomies, blocks, plugins, child themes, etc.", + "homepage": "https://github.com/wp-cli/scaffold-command", + "time": "2018-07-29T15:02:24+00:00" + }, + { + "name": "wp-cli/search-replace-command", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/search-replace-command.git", + "reference": "be21639dc530ad6506664baa813862d39b6d78ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/search-replace-command/zipball/be21639dc530ad6506664baa813862d39b6d78ba", + "reference": "be21639dc530ad6506664baa813862d39b6d78ba", + "shasum": "" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "^1.5" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "bundled": true, + "commands": [ + "search-replace" + ] + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "search-replace-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Searches/replaces strings in the database.", + "homepage": "https://github.com/wp-cli/search-replace-command", + "time": "2018-05-29T10:21:19+00:00" + }, + { + "name": "wp-cli/server-command", + "version": "v1.0.9", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/server-command.git", + "reference": "6192e6d7becd07e4c11a8f1560655c73a3b3526a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/server-command/zipball/6192e6d7becd07e4c11a8f1560655c73a3b3526a", + "reference": "6192e6d7becd07e4c11a8f1560655c73a3b3526a", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "*" + }, + "require-dev": { + "behat/behat": "~2.5" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "commands": [ + "server" + ], + "bundled": true + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "server-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Launches PHP's built-in web server for a specific WordPress installation.", + "homepage": "https://github.com/wp-cli/server-command", + "time": "2017-12-14T20:06:24+00:00" + }, + { + "name": "wp-cli/shell-command", + "version": "v1.0.5", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/shell-command.git", + "reference": "507603a8994d984b6c4d5bd26e31ede6d9cce37e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/shell-command/zipball/507603a8994d984b6c4d5bd26e31ede6d9cce37e", + "reference": "507603a8994d984b6c4d5bd26e31ede6d9cce37e", + "shasum": "" + }, + "require": { + "wp-cli/wp-cli": "*" + }, + "require-dev": { + "behat/behat": "~2.5" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "commands": [ + "shell" + ], + "bundled": true + }, + "autoload": { + "psr-4": { + "": "src/", + "WP_CLI\\": "src/WP_CLI" + }, + "files": [ + "shell-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Opens an interactive PHP console for running and testing PHP code.", + "homepage": "https://github.com/wp-cli/shell-command", + "time": "2017-12-08T16:03:53+00:00" + }, + { + "name": "wp-cli/super-admin-command", + "version": "v1.0.6", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/super-admin-command.git", + "reference": "2982d2e6514dbb318561d72d0577746a3a37181e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/super-admin-command/zipball/2982d2e6514dbb318561d72d0577746a3a37181e", + "reference": "2982d2e6514dbb318561d72d0577746a3a37181e", + "shasum": "" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "*" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "commands": [ + "super-admin", + "super-admin add", + "super-admin list", + "super-admin remove" + ], + "bundled": true + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "super-admin-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Lists, adds, or removes super admin users on a multisite installation.", + "homepage": "https://github.com/wp-cli/super-admin-command", + "time": "2017-12-08T17:43:53+00:00" + }, + { + "name": "wp-cli/widget-command", + "version": "v1.0.5", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/widget-command.git", + "reference": "657e0f77d80c892f8f72f90a3a25112c254386df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/widget-command/zipball/657e0f77d80c892f8f72f90a3a25112c254386df", + "reference": "657e0f77d80c892f8f72f90a3a25112c254386df", + "shasum": "" + }, + "require-dev": { + "behat/behat": "~2.5", + "wp-cli/wp-cli": "*" + }, + "type": "wp-cli-package", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "commands": [ + "widget", + "widget add", + "widget deactivate", + "widget delete", + "widget list", + "widget move", + "widget reset", + "widget update", + "sidebar", + "sidebar list" + ], + "bundled": true + }, + "autoload": { + "psr-4": { + "": "src/" + }, + "files": [ + "widget-command.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Bachhuber", + "email": "daniel@runcommand.io", + "homepage": "https://runcommand.io" + } + ], + "description": "Adds, moves, and removes widgets; lists sidebars.", + "homepage": "https://github.com/wp-cli/widget-command", + "time": "2017-12-08T17:45:57+00:00" + }, + { + "name": "wp-cli/wp-cli", + "version": "v1.5.1", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/wp-cli.git", + "reference": "3aac73bc4d629372531f3e15bbb67945d19b5d5a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/wp-cli/zipball/3aac73bc4d629372531f3e15bbb67945d19b5d5a", + "reference": "3aac73bc4d629372531f3e15bbb67945d19b5d5a", + "shasum": "" + }, + "require": { + "composer/composer": "^1.2.0", + "composer/semver": "~1.0", + "justinrainbow/json-schema": "~5.2.5", + "mustache/mustache": "~2.4", + "php": ">=5.3.29", + "ramsey/array_column": "~1.1", + "rmccue/requests": "~1.6", + "symfony/config": "^2.7|^3.0", + "symfony/console": "^2.7|^3.0", + "symfony/debug": "^2.7|^3.0", + "symfony/dependency-injection": "^2.7|^3.0", + "symfony/event-dispatcher": "^2.7|^3.0", + "symfony/filesystem": "^2.7|^3.0", + "symfony/finder": "^2.7|^3.0", + "symfony/process": "^2.1|^3.0", + "symfony/translation": "^2.7|^3.0", + "symfony/yaml": "^2.7|^3.0", + "wp-cli/autoload-splitter": "^0.1.5", + "wp-cli/cache-command": "^1.0", + "wp-cli/checksum-command": "^1.0", + "wp-cli/config-command": "^1.0", + "wp-cli/core-command": "^1.0", + "wp-cli/cron-command": "^1.0", + "wp-cli/db-command": "^1.0", + "wp-cli/embed-command": "^1.0", + "wp-cli/entity-command": "^1.0", + "wp-cli/eval-command": "^1.0", + "wp-cli/export-command": "^1.0", + "wp-cli/extension-command": "^1.0", + "wp-cli/import-command": "^1.0", + "wp-cli/language-command": "^1.0", + "wp-cli/media-command": "^1.0", + "wp-cli/mustangostang-spyc": "^0.6.3", + "wp-cli/package-command": "^1.0", + "wp-cli/php-cli-tools": "~0.11.2", + "wp-cli/rewrite-command": "^1.0", + "wp-cli/role-command": "^1.0", + "wp-cli/scaffold-command": "^1.0", + "wp-cli/search-replace-command": "^1.0", + "wp-cli/server-command": "^1.0", + "wp-cli/shell-command": "^1.0", + "wp-cli/super-admin-command": "^1.0", + "wp-cli/widget-command": "^1.0" + }, + "require-dev": { + "behat/behat": "2.5.*", + "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3", + "phpunit/phpunit": "3.7.*", + "roave/security-advisories": "dev-master", + "wimg/php-compatibility": "^8.0", + "wp-coding-standards/wpcs": "^0.13.1" + }, + "suggest": { + "psy/psysh": "Enhanced `wp shell` functionality" + }, + "bin": [ + "bin/wp.bat", + "bin/wp" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5.x-dev" + }, + "autoload-splitter": { + "splitter-logic": "WP_CLI\\AutoloadSplitter", + "splitter-location": "php/WP_CLI/AutoloadSplitter.php", + "split-target-prefix-true": "autoload_commands", + "split-target-prefix-false": "autoload_framework" + } + }, + "autoload": { + "psr-0": { + "WP_CLI": "php" + }, + "psr-4": { + "": "php/commands/src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "The command line interface for WordPress", + "homepage": "https://wp-cli.org", + "keywords": [ + "cli", + "wordpress" + ], + "time": "2018-05-31T11:04:05+00:00" + }, + { + "name": "wp-cli/wp-config-transformer", + "version": "v1.2.4", + "source": { + "type": "git", + "url": "https://github.com/wp-cli/wp-config-transformer.git", + "reference": "960ce687ac09a7c406087d0c6716be166ef32062" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-cli/wp-config-transformer/zipball/960ce687ac09a7c406087d0c6716be166ef32062", + "reference": "960ce687ac09a7c406087d0c6716be166ef32062", + "shasum": "" + }, + "require": { + "php": ">=5.3.29" + }, + "require-dev": { + "composer/composer": "^1.5.6", + "phpunit/phpunit": "^6.5.5", + "wp-coding-standards/wpcs": "^0.14.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/WPConfigTransformer.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frankie Jarrett", + "email": "fjarrett@gmail.com" + } + ], + "description": "Programmatically edit a wp-config.php file.", + "time": "2018-12-14T08:16:36+00:00" + }, + { + "name": "xamin/handlebars.php", + "version": "v0.10.4", + "source": { + "type": "git", + "url": "https://github.com/XaminProject/handlebars.php.git", + "reference": "b85cee07eae96db0e1eec224ca90f5ce1e4d857a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/XaminProject/handlebars.php/zipball/b85cee07eae96db0e1eec224ca90f5ce1e4d857a", + "reference": "b85cee07eae96db0e1eec224ca90f5ce1e4d857a", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "~4.4", + "squizlabs/php_codesniffer": "~1.5" + }, + "type": "library", + "autoload": { + "psr-0": { + "Handlebars": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "fzerorubigd", + "email": "fzerorubigd@gmail.com" + }, + { + "name": "Behrooz Shabani (everplays)", + "email": "everplays@gmail.com" + } + ], + "description": "Handlebars processor for php", + "homepage": "https://github.com/XaminProject/handlebars.php", + "time": "2016-12-12T13:51:02+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [], + "platform-overrides": { + "php": "7.0.32" + } +}