From 8244e465c44058703dfe4c9302e2ce9d1c6361d4 Mon Sep 17 00:00:00 2001 From: gitlost Date: Sat, 13 Jan 2018 15:54:21 +0000 Subject: [PATCH 1/5] Extract all supported functions. --- features/makepot.feature | 180 ++++++++++++++++++++++++++++ src/WordPress_Code_Extractor.php | 45 +++---- src/WordPress_Functions_Scanner.php | 39 +++--- 3 files changed, 223 insertions(+), 41 deletions(-) diff --git a/features/makepot.feature b/features/makepot.feature index f11423f1..52f98363 100644 --- a/features/makepot.feature +++ b/features/makepot.feature @@ -197,3 +197,183 @@ Feature: Generate a POT file of a WordPress plugin """ And STDERR should be empty And the foo-plugin/languages/foo-plugin.pot file should exist + + Scenario: Extract all supported functions + Given an empty foo-plugin directory + And a foo-plugin/foo-plugin.php file: + """ + 'translators', 'constants' => [], 'functions' => [ - '_' => 'dgettext', - '__' => 'dgettext', - '_e' => 'dgettext', - '_c' => 'pgettext', - '_n' => 'ngettext', - '_n_noop' => 'noop', - '_nc' => 'dgettext', - '__ngettext' => 'dgettext', - '__ngettext_noop' => 'noop', - '_x' => 'pgettext', - '_ex' => 'pgettext', - '_nx' => 'dnpgettext', - '_nx_noop' => 'noop', - '_n_js' => 'ngettext', - '_nx_js' => 'npgettext', - 'esc_attr__' => 'dgettext', - 'esc_html__' => 'dgettext', - 'esc_attr_e' => 'dgettext', - 'esc_html_e' => 'dgettext', - 'esc_attr_x' => 'dgettext', - 'esc_html_x' => 'pgettext', - 'comments_number_link' => 'ngettext', + '__' => 'text_domain', + 'esc_attr__' => 'text_domain', + 'esc_html__' => 'text_domain', + '_e' => 'text_domain', + 'esc_attr_e' => 'text_domain', + 'esc_html_e' => 'text_domain', + '_x' => 'text_context_domain', + '_ex' => 'text_context_domain', + 'esc_attr_x' => 'text_context_domain', + 'esc_html_x' => 'text_context_domain', + '_n' => 'single_plural_number_domain', + '_nx' => 'single_plural_number_context_domain', + '_n_noop' => 'single_plural_domain', + '_nx_noop' => 'single_plural_context_domain', + + // Compat. + '_' => 'gettext', // Same as 'text_domain'. + + // Deprecated. + '_c' => 'text_domain', + '_nc' => 'single_plural_number_domain', + '__ngettext' => 'single_plural_number_domain', + '__ngettext_noop' => 'single_plural_domain', ], ]; diff --git a/src/WordPress_Functions_Scanner.php b/src/WordPress_Functions_Scanner.php index 47d33d87..229211a2 100644 --- a/src/WordPress_Functions_Scanner.php +++ b/src/WordPress_Functions_Scanner.php @@ -23,15 +23,8 @@ public function saveGettextFunctions( Translations $translations, array $options $domain = $context = $original = $plural = null; switch ( $functions[ $name ] ) { - case 'pgettext': - if ( ! isset( $args[1] ) ) { - continue 2; - } - - list( $original, $context ) = $args; - break; - - case 'dgettext': + case 'text_domain': + case 'gettext': if ( ! isset( $args[1] ) ) { continue 2; } @@ -39,7 +32,7 @@ public function saveGettextFunctions( Translations $translations, array $options list( $original, $domain ) = $args; break; - case 'dpgettext': + case 'text_context_domain': if ( ! isset( $args[2] ) ) { continue 2; } @@ -47,23 +40,23 @@ public function saveGettextFunctions( Translations $translations, array $options list( $original, $context, $domain ) = $args; break; - case 'npgettext': - if ( ! isset( $args[2] ) ) { + case 'single_plural_number_domain': + if ( ! isset( $args[3] ) ) { continue 2; } - list( $original, $plural, $context ) = $args; + list( $original, $plural, $number, $domain ) = $args; break; - case 'dnpgettext': - if ( ! isset( $args[3] ) ) { + case 'single_plural_number_context_domain': + if ( ! isset( $args[4] ) ) { continue 2; } - list( $original, $plural, $context, $domain ) = $args; + list( $original, $plural, $number, $context, $domain ) = $args; break; - case 'dngettext': + case 'single_plural_domain': if ( ! isset( $args[2] ) ) { continue 2; } @@ -71,9 +64,17 @@ public function saveGettextFunctions( Translations $translations, array $options list( $original, $plural, $domain ) = $args; break; + case 'single_plural_context_domain': + if ( ! isset( $args[3] ) ) { + continue 2; + } + + list( $original, $plural, $context, $domain ) = $args; + break; + default: - parent::saveGettextFunctions( $translations, $options ); - return; + // Should never happen. + \WP_CLI::error( sprintf( "Internal error: unknown function map '%s' for '%s'.", $functions[ $name ], $name ) ); } // Todo: Require a domain? From fa26b82ba70b52c567805f83064e3fc2c510e91d Mon Sep 17 00:00:00 2001 From: gitlost Date: Sat, 13 Jan 2018 16:29:54 +0000 Subject: [PATCH 2/5] Support legacy _n_js, _nx_js; error on comments_number_link; fix tests. --- features/makepot.feature | 52 ++++++++++++++++++++++++++++- src/WordPress_Code_Extractor.php | 5 +++ src/WordPress_Functions_Scanner.php | 10 ++++++ 3 files changed, 66 insertions(+), 1 deletion(-) diff --git a/features/makepot.feature b/features/makepot.feature index 52f98363..c7f550a8 100644 --- a/features/makepot.feature +++ b/features/makepot.feature @@ -230,6 +230,10 @@ Feature: Generate a POT file of a WordPress plugin __ngettext( '__ngettext_single', '__ngettext_plural', $number, 'foo-plugin' ); __ngettext_noop( '__ngettext_noop_single', '__ngettext_noop_plural', 'foo-plugin' ); + // For legacy compat with makepot. + _n_js( '_n_js_single', '_n_js_plural', 'foo-plugin' ); + _nx_js( '_nx_js_single', '_nx_js_plural', '_nx_js_context', 'foo-plugin' ); + __unsupported_func( '__unsupported_func', 'foo-plugin' ); __( 'wrong-domain', 'wrong-domain' ); """ @@ -323,7 +327,11 @@ Feature: Generate a POT file of a WordPress plugin """ And the foo-plugin/foo-plugin.pot file should contain: """ - msgid "_n_noop_single" + msgid_plural "_n_noop_plural" + """ + And the foo-plugin/foo-plugin.pot file should contain: + """ + msgid "_nx_noop_single" """ And the foo-plugin/foo-plugin.pot file should contain: """ @@ -369,6 +377,30 @@ Feature: Generate a POT file of a WordPress plugin """ msgid "__" """ + And the foo-plugin/foo-plugin.pot file should contain: + """ + msgid "__" + """ + And the foo-plugin/foo-plugin.pot file should contain: + """ + msgid "_n_js_single" + """ + And the foo-plugin/foo-plugin.pot file should contain: + """ + msgid_plural "_n_js_plural" + """ + And the foo-plugin/foo-plugin.pot file should contain: + """ + msgid "_nx_js_single" + """ + And the foo-plugin/foo-plugin.pot file should contain: + """ + msgid_plural "_nx_js_plural" + """ + And the foo-plugin/foo-plugin.pot file should contain: + """ + msgctxt "_nx_js_context" + """ And the foo-plugin/foo-plugin.pot file should not contain: """ msgid "__unsupported_func" @@ -377,3 +409,21 @@ Feature: Generate a POT file of a WordPress plugin """ msgid "wrong-domain" """ + + Scenario: Bail on unsupported legacy function + Given an empty foo-plugin directory + And a foo-plugin/foo-plugin.php file: + """ + 'single_plural_number_domain', '__ngettext' => 'single_plural_number_domain', '__ngettext_noop' => 'single_plural_domain', + + // For legacy compat with makepot. + '_n_js' => 'single_plural_domain', + '_nx_js' => 'single_plural_context_domain', + 'comments_number_link' => 'text_single_plural_domain', ], ]; diff --git a/src/WordPress_Functions_Scanner.php b/src/WordPress_Functions_Scanner.php index 229211a2..18722215 100644 --- a/src/WordPress_Functions_Scanner.php +++ b/src/WordPress_Functions_Scanner.php @@ -72,6 +72,16 @@ public function saveGettextFunctions( Translations $translations, array $options list( $original, $plural, $context, $domain ) = $args; break; + case 'text_single_plural_domain': + if ( ! isset( $args[3] ) ) { + continue 2; + } + + // TODO: support this. + \WP_CLI::error( sprintf( "Unsupported legacy function '%s'.", $name ) ); + break; + + default: // Should never happen. \WP_CLI::error( sprintf( "Internal error: unknown function map '%s' for '%s'.", $functions[ $name ], $name ) ); From 2f0432cebda11feb695a1ef30c7a0c99f11d721d Mon Sep 17 00:00:00 2001 From: gitlost Date: Sat, 13 Jan 2018 16:56:38 +0000 Subject: [PATCH 3/5] Remove composer.lock. --- composer.lock | 3091 ------------------------------------------------- 1 file changed, 3091 deletions(-) delete mode 100644 composer.lock diff --git a/composer.lock b/composer.lock deleted file mode 100644 index d033043a..00000000 --- a/composer.lock +++ /dev/null @@ -1,3091 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", - "This file is @generated automatically" - ], - "content-hash": "c6237d51ee2550c9de1d0c606c104734", - "packages": [ - { - "name": "composer/ca-bundle", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "36344aeffdc37711335563e6108cda86566432a6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/36344aeffdc37711335563e6108cda86566432a6", - "reference": "36344aeffdc37711335563e6108cda86566432a6", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.5", - "psr/log": "^1.0", - "symfony/process": "^2.5 || ^3.0" - }, - "suggest": { - "symfony/process": "This is necessary to reliably check whether openssl_x509_parse is vulnerable on older php versions, but can be ignored on PHP 5.5.6+" - }, - "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": "2017-11-13T15:51:25+00:00" - }, - { - "name": "composer/composer", - "version": "1.5.2", - "source": { - "type": "git", - "url": "https://github.com/composer/composer.git", - "reference": "c639623fa2178b404ed4bab80f0d1263853fa4ae" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/c639623fa2178b404ed4bab80f0d1263853fa4ae", - "reference": "c639623fa2178b404ed4bab80f0d1263853fa4ae", - "shasum": "" - }, - "require": { - "composer/ca-bundle": "^1.0", - "composer/semver": "^1.0", - "composer/spdx-licenses": "^1.0", - "justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0", - "php": "^5.3.2 || ^7.0", - "psr/log": "^1.0", - "seld/cli-prompt": "^1.0", - "seld/jsonlint": "^1.4", - "seld/phar-utils": "^1.0", - "symfony/console": "^2.7 || ^3.0", - "symfony/filesystem": "^2.7 || ^3.0", - "symfony/finder": "^2.7 || ^3.0", - "symfony/process": "^2.7 || ^3.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.5 || ^5.0.5", - "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.5-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": "2017-09-11T14:59:26+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.1.6", - "source": { - "type": "git", - "url": "https://github.com/composer/spdx-licenses.git", - "reference": "2603a0d7ddc00a015deb576fa5297ca43dee6b1c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/2603a0d7ddc00a015deb576fa5297ca43dee6b1c", - "reference": "2603a0d7ddc00a015deb576fa5297ca43dee6b1c", - "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\\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": "2017-04-03T19:08:52+00:00" - }, - { - "name": "gettext/gettext", - "version": "v4.4.3", - "source": { - "type": "git", - "url": "https://github.com/oscarotero/Gettext.git", - "reference": "4f57f004635cc6311a20815ebfdc0757cb337113" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/oscarotero/Gettext/zipball/4f57f004635cc6311a20815ebfdc0757cb337113", - "reference": "4f57f004635cc6311a20815ebfdc0757cb337113", - "shasum": "" - }, - "require": { - "gettext/languages": "^2.3", - "php": ">=5.4.0" - }, - "require-dev": { - "illuminate/view": "*", - "phpunit/phpunit": "^4.8|^5.7", - "squizlabs/php_codesniffer": "^3.0", - "symfony/yaml": "~2", - "twig/extensions": "*", - "twig/twig": "^1.31|^2.0" - }, - "suggest": { - "illuminate/view": "Is necessary if you want to use the Blade extractor", - "symfony/yaml": "Is necessary if you want to use the Yaml extractor/generator", - "twig/extensions": "Is necessary if you want to use the Twig extractor", - "twig/twig": "Is necessary if you want to use the Twig extractor" - }, - "type": "library", - "autoload": { - "psr-4": { - "Gettext\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Oscar Otero", - "email": "oom@oscarotero.com", - "homepage": "http://oscarotero.com", - "role": "Developer" - } - ], - "description": "PHP gettext manager", - "homepage": "https://github.com/oscarotero/Gettext", - "keywords": [ - "JS", - "gettext", - "i18n", - "mo", - "po", - "translation" - ], - "time": "2017-08-09T16:59:46+00:00" - }, - { - "name": "gettext/languages", - "version": "2.3.0", - "source": { - "type": "git", - "url": "https://github.com/mlocati/cldr-to-gettext-plural-rules.git", - "reference": "49c39e51569963cc917a924b489e7025bfb9d8c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mlocati/cldr-to-gettext-plural-rules/zipball/49c39e51569963cc917a924b489e7025bfb9d8c7", - "reference": "49c39e51569963cc917a924b489e7025bfb9d8c7", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "require-dev": { - "phpunit/phpunit": "^4" - }, - "bin": [ - "bin/export-plural-rules", - "bin/export-plural-rules.php" - ], - "type": "library", - "autoload": { - "psr-4": { - "Gettext\\Languages\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michele Locati", - "email": "mlocati@gmail.com", - "role": "Developer" - } - ], - "description": "gettext languages with plural rules", - "homepage": "https://github.com/mlocati/cldr-to-gettext-plural-rules", - "keywords": [ - "cldr", - "i18n", - "internationalization", - "l10n", - "language", - "languages", - "localization", - "php", - "plural", - "plural rules", - "plurals", - "translate", - "translations", - "unicode" - ], - "time": "2017-03-23T17:02:28+00:00" - }, - { - "name": "justinrainbow/json-schema", - "version": "5.2.6", - "source": { - "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "d283e11b6e14c6f4664cf080415c4341293e5bbd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/d283e11b6e14c6f4664cf080415c4341293e5bbd", - "reference": "d283e11b6e14c6f4664cf080415c4341293e5bbd", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.1", - "json-schema/json-schema-test-suite": "1.2.0", - "phpunit/phpunit": "^4.8.22" - }, - "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": "2017-10-21T13:15:38+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": "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": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2016-10-10T12:19:37+00:00" - }, - { - "name": "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" - ], - "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": "seld/cli-prompt", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/cli-prompt.git", - "reference": "a19a7376a4689d4d94cab66ab4f3c816019ba8dd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/cli-prompt/zipball/a19a7376a4689d4d94cab66ab4f3c816019ba8dd", - "reference": "a19a7376a4689d4d94cab66ab4f3c816019ba8dd", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Seld\\CliPrompt\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be" - } - ], - "description": "Allows you to prompt for user input on the command line, and optionally hide the characters they type", - "keywords": [ - "cli", - "console", - "hidden", - "input", - "prompt" - ], - "time": "2017-03-18T11:32:45+00:00" - }, - { - "name": "seld/jsonlint", - "version": "1.6.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "50d63f2858d87c4738d5b76a7dcbb99fa8cf7c77" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/50d63f2858d87c4738d5b76a7dcbb99fa8cf7c77", - "reference": "50d63f2858d87c4738d5b76a7dcbb99fa8cf7c77", - "shasum": "" - }, - "require": { - "php": "^5.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.5" - }, - "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": "2017-06-18T15:11:04+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/config", - "version": "v2.8.31", - "source": { - "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "f4f3f1d7090c464434bbbc3e8aa2b41149c59196" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/f4f3f1d7090c464434bbbc3e8aa2b41149c59196", - "reference": "f4f3f1d7090c464434bbbc3e8aa2b41149c59196", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/filesystem": "~2.3|~3.0.0" - }, - "require-dev": { - "symfony/yaml": "~2.7|~3.0.0" - }, - "suggest": { - "symfony/yaml": "To use the yaml reference dumper" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Config\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Config Component", - "homepage": "https://symfony.com", - "time": "2017-11-07T11:56:23+00:00" - }, - { - "name": "symfony/console", - "version": "v2.8.31", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "7cad097cf081c0ab3d0322cc38d34ee80484d86f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/7cad097cf081c0ab3d0322cc38d34ee80484d86f", - "reference": "7cad097cf081c0ab3d0322cc38d34ee80484d86f", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/debug": "^2.7.2|~3.0.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1|~3.0.0", - "symfony/process": "~2.1|~3.0.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2017-11-16T15:20:19+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/697c527acd9ea1b2d3efac34d9806bf255278b0a", - "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" - }, - "require-dev": { - "symfony/class-loader": "~2.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-30T07:22:48+00:00" - }, - { - "name": "symfony/dependency-injection", - "version": "v2.8.31", - "source": { - "type": "git", - "url": "https://github.com/symfony/dependency-injection.git", - "reference": "bc845111480786a9a68b39578ecdf27d9a6a44ec" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/bc845111480786a9a68b39578ecdf27d9a6a44ec", - "reference": "bc845111480786a9a68b39578ecdf27d9a6a44ec", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "conflict": { - "symfony/expression-language": "<2.6" - }, - "require-dev": { - "symfony/config": "~2.2|~3.0.0", - "symfony/expression-language": "~2.6|~3.0.0", - "symfony/yaml": "~2.3.42|~2.7.14|~2.8.7|~3.0.7" - }, - "suggest": { - "symfony/config": "", - "symfony/expression-language": "For using expressions in service container configuration", - "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", - "symfony/yaml": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DependencyInjection\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony DependencyInjection Component", - "homepage": "https://symfony.com", - "time": "2017-11-07T14:08:47+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v2.8.31", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "b59aacf238fadda50d612c9de73b74751872a903" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b59aacf238fadda50d612c9de73b74751872a903", - "reference": "b59aacf238fadda50d612c9de73b74751872a903", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^2.0.5|~3.0.0", - "symfony/dependency-injection": "~2.6|~3.0.0", - "symfony/expression-language": "~2.6|~3.0.0", - "symfony/stopwatch": "~2.3|~3.0.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "https://symfony.com", - "time": "2017-11-05T15:25:56+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "b2da5009d9bacbd91d83486aa1f44c793a8c380d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/b2da5009d9bacbd91d83486aa1f44c793a8c380d", - "reference": "b2da5009d9bacbd91d83486aa1f44c793a8c380d", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-20T05:43:46+00:00" - }, - { - "name": "symfony/finder", - "version": "v2.8.31", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "efeceae6a05a9b2fcb3391333f1d4a828ff44ab8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/efeceae6a05a9b2fcb3391333f1d4a828ff44ab8", - "reference": "efeceae6a05a9b2fcb3391333f1d4a828ff44ab8", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-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": "2017-11-05T15:25:56+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", - "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "time": "2017-10-11T12:05:26+00:00" - }, - { - "name": "symfony/process", - "version": "v3.3.13", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "a56a3989fb762d7b19a0cf8e7693ee99a6ffb78d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/a56a3989fb762d7b19a0cf8e7693ee99a6ffb78d", - "reference": "a56a3989fb762d7b19a0cf8e7693ee99a6ffb78d", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-11-13T15:31:11+00:00" - }, - { - "name": "symfony/translation", - "version": "v2.8.31", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "0c63d56516c4c4c323228ca6348eadb7c91b1daf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/0c63d56516c4c4c323228ca6348eadb7c91b1daf", - "reference": "0c63d56516c4c4c323228ca6348eadb7c91b1daf", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/config": "<2.7" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8", - "symfony/intl": "~2.7.25|^2.8.18|~3.2.5", - "symfony/yaml": "~2.2|~3.0.0" - }, - "suggest": { - "psr/log": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Translation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Translation Component", - "homepage": "https://symfony.com", - "time": "2017-11-07T14:08:47+00:00" - }, - { - "name": "symfony/yaml", - "version": "v2.8.31", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "d819bf267e901727141fe828ae888486fd21236e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/d819bf267e901727141fe828ae888486fd21236e", - "reference": "d819bf267e901727141fe828ae888486fd21236e", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com", - "time": "2017-11-05T15:25:56+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.5", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/cache-command.git", - "reference": "9c3d686f103244de4dd51b4c92177983cdc0a4ae" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/cache-command/zipball/9c3d686f103244de4dd51b4c92177983cdc0a4ae", - "reference": "9c3d686f103244de4dd51b4c92177983cdc0a4ae", - "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": "Manage object and transient caches.", - "homepage": "https://github.com/wp-cli/cache-command", - "time": "2017-11-20T21:06:51+00:00" - }, - { - "name": "wp-cli/checksum-command", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/checksum-command.git", - "reference": "64a5b2b66aff071d3944b6ad9767adc324bc999f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/checksum-command/zipball/64a5b2b66aff071d3944b6ad9767adc324bc999f", - "reference": "64a5b2b66aff071d3944b6ad9767adc324bc999f", - "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": [ - "checksum core" - ] - }, - "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": "2017-11-20T22:00:52+00:00" - }, - { - "name": "wp-cli/config-command", - "version": "v1.1.6", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/config-command.git", - "reference": "075b04a9468588377b6e8b14666aa65f952cec14" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/config-command/zipball/075b04a9468588377b6e8b14666aa65f952cec14", - "reference": "075b04a9468588377b6e8b14666aa65f952cec14", - "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": [ - "config", - "config create", - "config get", - "config path" - ] - }, - "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" - } - ], - "description": "Manage the wp-config.php file.", - "homepage": "https://github.com/wp-cli/config-command", - "time": "2017-11-20T22:02:20+00:00" - }, - { - "name": "wp-cli/core-command", - "version": "v1.0.6", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/core-command.git", - "reference": "6662f259f949ab69adb81ff8a1904cf00cd38135" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/core-command/zipball/6662f259f949ab69adb81ff8a1904cf00cd38135", - "reference": "6662f259f949ab69adb81ff8a1904cf00cd38135", - "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 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": "Download, install, update and manage a WordPress install.", - "homepage": "https://github.com/wp-cli/core-command", - "time": "2017-11-21T16:01:01+00:00" - }, - { - "name": "wp-cli/cron-command", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/cron-command.git", - "reference": "61243923539fd3c25c667140b113aee44ba7c5cd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/cron-command/zipball/61243923539fd3c25c667140b113aee44ba7c5cd", - "reference": "61243923539fd3c25c667140b113aee44ba7c5cd", - "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 test", - "cron event delete", - "cron event list", - "cron event run", - "cron event 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": "Manage WP-Cron events and schedules.", - "homepage": "https://github.com/wp-cli/cron-command", - "time": "2017-11-20T22:04:43+00:00" - }, - { - "name": "wp-cli/db-command", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/db-command.git", - "reference": "f040d08a17794b3ac747fe62ba43671aba6d842c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/db-command/zipball/f040d08a17794b3ac747fe62ba43671aba6d842c", - "reference": "f040d08a17794b3ac747fe62ba43671aba6d842c", - "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": [ - "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" - ] - }, - "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": "Perform basic database operations using credentials stored in wp-config.php.", - "homepage": "https://github.com/wp-cli/db-command", - "time": "2017-11-21T01:07:32+00:00" - }, - { - "name": "wp-cli/entity-command", - "version": "v1.1.3", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/entity-command.git", - "reference": "0dfecf23e0211678d2c9c0a7b9c0c09bbaf7cf9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/entity-command/zipball/0dfecf23e0211678d2c9c0a7b9c0c09bbaf7cf9e", - "reference": "0dfecf23e0211678d2c9c0a7b9c0c09bbaf7cf9e", - "shasum": "" - }, - "require-dev": { - "behat/behat": "~2.5", - "phpunit/phpunit": "^4.8", - "wp-cli/wp-cli": "*" - }, - "type": "wp-cli-package", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - }, - "bundled": true, - "commands": [ - "comment", - "comment meta", - "menu", - "menu item", - "menu location", - "network meta", - "option", - "option add", - "option delete", - "option get", - "option list", - "option update", - "post", - "post meta", - "post term", - "post-type", - "site", - "site empty", - "taxonomy", - "term", - "term meta", - "user", - "user meta", - "user term" - ] - }, - "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": "2017-11-21T01:04:50+00:00" - }, - { - "name": "wp-cli/eval-command", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/eval-command.git", - "reference": "1ea666eafe3eaabf2568511f8e0e6ec708a92ca5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/eval-command/zipball/1ea666eafe3eaabf2568511f8e0e6ec708a92ca5", - "reference": "1ea666eafe3eaabf2568511f8e0e6ec708a92ca5", - "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": "Execute arbitrary PHP code.", - "homepage": "https://github.com/wp-cli/eval-command", - "time": "2017-11-21T01:06:56+00:00" - }, - { - "name": "wp-cli/export-command", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/export-command.git", - "reference": "ec18748184a011ad03d6adcb159148d42c966365" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/export-command/zipball/ec18748184a011ad03d6adcb159148d42c966365", - "reference": "ec18748184a011ad03d6adcb159148d42c966365", - "shasum": "" - }, - "require": { - "nb/oxymel": "~0.1.0", - "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": [ - "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": "Export WordPress content to a WXR file.", - "homepage": "https://github.com/wp-cli/export-command", - "time": "2017-11-21T01:05:28+00:00" - }, - { - "name": "wp-cli/extension-command", - "version": "v1.1.7", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/extension-command.git", - "reference": "e0ebb16359cf94c2442873d6390ef9a92f6deea5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/extension-command/zipball/e0ebb16359cf94c2442873d6390ef9a92f6deea5", - "reference": "e0ebb16359cf94c2442873d6390ef9a92f6deea5", - "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 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 activate", - "theme delete", - "theme disable", - "theme enable", - "theme get", - "theme install", - "theme is-installed", - "theme list", - "theme mod get", - "theme mod set", - "theme mod remove", - "theme path", - "theme search", - "theme status", - "theme update" - ] - }, - "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": "Manage WordPress plugins and themes.", - "homepage": "https://github.com/wp-cli/extension-command", - "time": "2017-11-21T01:06:16+00:00" - }, - { - "name": "wp-cli/import-command", - "version": "v1.0.5", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/import-command.git", - "reference": "29eb1d55e555a208a23fa03d47ed377531f3a8ba" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/import-command/zipball/29eb1d55e555a208a23fa03d47ed377531f3a8ba", - "reference": "29eb1d55e555a208a23fa03d47ed377531f3a8ba", - "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": "Import content from a WXR file.", - "homepage": "https://github.com/wp-cli/import-command", - "time": "2017-11-21T00:38:21+00:00" - }, - { - "name": "wp-cli/language-command", - "version": "v1.0.5", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/language-command.git", - "reference": "b089274b7288bb0ec0ae3fda1a8b74c141c7dee2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/language-command/zipball/b089274b7288bb0ec0ae3fda1a8b74c141c7dee2", - "reference": "b089274b7288bb0ec0ae3fda1a8b74c141c7dee2", - "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 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": "Manage language packs.", - "homepage": "https://github.com/wp-cli/language-command", - "time": "2017-11-21T15:04:33+00:00" - }, - { - "name": "wp-cli/media-command", - "version": "v1.1.2", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/media-command.git", - "reference": "b067f7ba07f8df34d2f29890ff1f54b19d7635b1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/media-command/zipball/b067f7ba07f8df34d2f29890ff1f54b19d7635b1", - "reference": "b067f7ba07f8df34d2f29890ff1f54b19d7635b1", - "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": [ - "media import", - "media regenerate", - "media image-size" - ], - "bundled": true - }, - "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": "Import new attachments or regenerate existing ones.", - "homepage": "https://github.com/wp-cli/media-command", - "time": "2017-11-21T01:04:09+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.9", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/package-command.git", - "reference": "0335f46465a8f26dcec5df60357ffe57f60f3c12" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/package-command/zipball/0335f46465a8f26dcec5df60357ffe57f60f3c12", - "reference": "0335f46465a8f26dcec5df60357ffe57f60f3c12", - "shasum": "" - }, - "require": { - "composer/composer": "^1.2.0", - "wp-cli/wp-cli": "*" - }, - "require-dev": { - "behat/behat": "~2.5" - }, - "type": "wp-cli-package", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - }, - "commands": [ - "package browse", - "package install", - "package list", - "package update", - "package uninstall" - ], - "bundled": true - }, - "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": "Manage WP-CLI packages.", - "homepage": "https://github.com/wp-cli/package-command", - "time": "2017-11-21T01:02:41+00:00" - }, - { - "name": "wp-cli/php-cli-tools", - "version": "v0.11.8", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/php-cli-tools.git", - "reference": "363c75349f5dde561e0b416dd00f7aaa76fa2c27" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/php-cli-tools/zipball/363c75349f5dde561e0b416dd00f7aaa76fa2c27", - "reference": "363c75349f5dde561e0b416dd00f7aaa76fa2c27", - "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": "2017-10-12T21:50:48+00:00" - }, - { - "name": "wp-cli/rewrite-command", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/rewrite-command.git", - "reference": "eb6c25d3479900ec3f88eecb0f08050f879de635" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/rewrite-command/zipball/eb6c25d3479900ec3f88eecb0f08050f879de635", - "reference": "eb6c25d3479900ec3f88eecb0f08050f879de635", - "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 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": "Manage rewrite rules.", - "homepage": "https://github.com/wp-cli/rewrite-command", - "time": "2017-11-21T13:46:10+00:00" - }, - { - "name": "wp-cli/role-command", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/role-command.git", - "reference": "edc642b21db1b158c7cb2c59459e72b0b4b2920f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/role-command/zipball/edc642b21db1b158c7cb2c59459e72b0b4b2920f", - "reference": "edc642b21db1b158c7cb2c59459e72b0b4b2920f", - "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 create", - "role delete", - "role exists", - "role list", - "role reset", - "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": "Manage user roles and capabilities.", - "homepage": "https://github.com/wp-cli/role-command", - "time": "2017-11-21T12:56:19+00:00" - }, - { - "name": "wp-cli/scaffold-command", - "version": "v1.0.12", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/scaffold-command.git", - "reference": "d6ed1d24580662c063deab4cf7202ed3970f9987" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/scaffold-command/zipball/d6ed1d24580662c063deab4cf7202ed3970f9987", - "reference": "d6ed1d24580662c063deab4cf7202ed3970f9987", - "shasum": "" - }, - "require-dev": { - "behat/behat": "~2.5", - "wp-cli/wp-cli": "*" - }, - "type": "wp-cli-package", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - }, - "commands": [ - "scaffold", - "scaffold _s", - "scaffold child-theme", - "scaffold plugin", - "scaffold plugin-tests", - "scaffold post-type", - "scaffold taxonomy", - "scaffold theme-tests" - ], - "bundled": true - }, - "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": "Generate code for post types, taxonomies, plugins, child themes, etc.", - "homepage": "https://github.com/wp-cli/scaffold-command", - "time": "2017-11-21T01:01:19+00:00" - }, - { - "name": "wp-cli/search-replace-command", - "version": "v1.1.3", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/search-replace-command.git", - "reference": "caa107e45679498329c22a20f3ac355e87f0a3e4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/search-replace-command/zipball/caa107e45679498329c22a20f3ac355e87f0a3e4", - "reference": "caa107e45679498329c22a20f3ac355e87f0a3e4", - "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": [ - "search-replace" - ], - "bundled": true - }, - "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": "Search/replace strings in the database.", - "homepage": "https://github.com/wp-cli/search-replace-command", - "time": "2017-11-21T00:39:02+00:00" - }, - { - "name": "wp-cli/server-command", - "version": "v1.0.8", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/server-command.git", - "reference": "836c6c704dff3241c3d97d957e022553eafc4852" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/server-command/zipball/836c6c704dff3241c3d97d957e022553eafc4852", - "reference": "836c6c704dff3241c3d97d957e022553eafc4852", - "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": "Launch PHP's built-in web server for this specific WordPress installation.", - "homepage": "https://github.com/wp-cli/server-command", - "time": "2017-11-21T00:44:40+00:00" - }, - { - "name": "wp-cli/shell-command", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/shell-command.git", - "reference": "a91824269520011e9db9ea5caf091a252f7f0b82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/shell-command/zipball/a91824269520011e9db9ea5caf091a252f7f0b82", - "reference": "a91824269520011e9db9ea5caf091a252f7f0b82", - "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-11-21T00:43:56+00:00" - }, - { - "name": "wp-cli/super-admin-command", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/super-admin-command.git", - "reference": "8ad8446a1b2f931e32af3681ad0ac0816411be4b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/super-admin-command/zipball/8ad8446a1b2f931e32af3681ad0ac0816411be4b", - "reference": "8ad8446a1b2f931e32af3681ad0ac0816411be4b", - "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 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 install.", - "homepage": "https://github.com/wp-cli/super-admin-command", - "time": "2017-11-21T00:37:22+00:00" - }, - { - "name": "wp-cli/widget-command", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/widget-command.git", - "reference": "86c95ed4bf1d10f090ea42c6421193f4106017e3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/widget-command/zipball/86c95ed4bf1d10f090ea42c6421193f4106017e3", - "reference": "86c95ed4bf1d10f090ea42c6421193f4106017e3", - "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 add", - "widget deactivate", - "widget delete", - "widget list", - "widget move", - "widget reset", - "widget update", - "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": "Manage widgets and sidebars.", - "homepage": "https://github.com/wp-cli/widget-command", - "time": "2017-11-21T01:08:14+00:00" - }, - { - "name": "wp-cli/wp-cli", - "version": "v1.4.1", - "source": { - "type": "git", - "url": "https://github.com/wp-cli/wp-cli.git", - "reference": "1d9dec0212fa1e85b1c5ca7b0d8395091c52de40" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wp-cli/wp-cli/zipball/1d9dec0212fa1e85b1c5ca7b0d8395091c52de40", - "reference": "1d9dec0212fa1e85b1c5ca7b0d8395091c52de40", - "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/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": { - "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": "A command line interface for WordPress", - "homepage": "http://wp-cli.org", - "keywords": [ - "cli", - "wordpress" - ], - "time": "2017-11-13T15:28:04+00:00" - } - ], - "packages-dev": [ - { - "name": "behat/behat", - "version": "v2.5.5", - "source": { - "type": "git", - "url": "https://github.com/Behat/Behat.git", - "reference": "c1e48826b84669c97a1efa78459aedfdcdcf2120" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Behat/Behat/zipball/c1e48826b84669c97a1efa78459aedfdcdcf2120", - "reference": "c1e48826b84669c97a1efa78459aedfdcdcf2120", - "shasum": "" - }, - "require": { - "behat/gherkin": "~2.3.0", - "php": ">=5.3.1", - "symfony/config": "~2.3", - "symfony/console": "~2.0", - "symfony/dependency-injection": "~2.0", - "symfony/event-dispatcher": "~2.0", - "symfony/finder": "~2.0", - "symfony/translation": "~2.3", - "symfony/yaml": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~3.7.19" - }, - "suggest": { - "behat/mink-extension": "for integration with Mink testing framework", - "behat/symfony2-extension": "for integration with Symfony2 web framework", - "behat/yii-extension": "for integration with Yii web framework" - }, - "bin": [ - "bin/behat" - ], - "type": "library", - "autoload": { - "psr-0": { - "Behat\\Behat": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Scenario-oriented BDD framework for PHP 5.3", - "homepage": "http://behat.org/", - "keywords": [ - "BDD", - "Behat", - "Symfony2" - ], - "time": "2015-06-01T09:37:55+00:00" - }, - { - "name": "behat/gherkin", - "version": "v2.3.5", - "source": { - "type": "git", - "url": "https://github.com/Behat/Gherkin.git", - "reference": "2b33963da5525400573560c173ab5c9c057e1852" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Behat/Gherkin/zipball/2b33963da5525400573560c173ab5c9c057e1852", - "reference": "2b33963da5525400573560c173ab5c9c057e1852", - "shasum": "" - }, - "require": { - "php": ">=5.3.1", - "symfony/finder": "~2.0" - }, - "require-dev": { - "symfony/config": "~2.0", - "symfony/translation": "~2.0", - "symfony/yaml": "~2.0" - }, - "suggest": { - "symfony/config": "If you want to use Config component to manage resources", - "symfony/translation": "If you want to use Symfony2 translations adapter", - "symfony/yaml": "If you want to parse features, represented in YAML files" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "2.2-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", - "DSL", - "Symfony2", - "parser" - ], - "time": "2013-10-15T11:22:17+00:00" - } - ], - "aliases": [], - "minimum-stability": "dev", - "stability-flags": [], - "prefer-stable": true, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} From 99aeab2d9711dea294dcdf01ed8d7742f0f016ef Mon Sep 17 00:00:00 2001 From: Pascal Birchler Date: Mon, 22 Jan 2018 12:50:24 +0100 Subject: [PATCH 4/5] Remove support for non-existent functions --- features/makepot.feature | 42 ----------------------------- src/WordPress_Code_Extractor.php | 5 ---- src/WordPress_Functions_Scanner.php | 10 ------- 3 files changed, 57 deletions(-) diff --git a/features/makepot.feature b/features/makepot.feature index c7f550a8..2f7bfc13 100644 --- a/features/makepot.feature +++ b/features/makepot.feature @@ -230,10 +230,6 @@ Feature: Generate a POT file of a WordPress plugin __ngettext( '__ngettext_single', '__ngettext_plural', $number, 'foo-plugin' ); __ngettext_noop( '__ngettext_noop_single', '__ngettext_noop_plural', 'foo-plugin' ); - // For legacy compat with makepot. - _n_js( '_n_js_single', '_n_js_plural', 'foo-plugin' ); - _nx_js( '_nx_js_single', '_nx_js_plural', '_nx_js_context', 'foo-plugin' ); - __unsupported_func( '__unsupported_func', 'foo-plugin' ); __( 'wrong-domain', 'wrong-domain' ); """ @@ -381,26 +377,6 @@ Feature: Generate a POT file of a WordPress plugin """ msgid "__" """ - And the foo-plugin/foo-plugin.pot file should contain: - """ - msgid "_n_js_single" - """ - And the foo-plugin/foo-plugin.pot file should contain: - """ - msgid_plural "_n_js_plural" - """ - And the foo-plugin/foo-plugin.pot file should contain: - """ - msgid "_nx_js_single" - """ - And the foo-plugin/foo-plugin.pot file should contain: - """ - msgid_plural "_nx_js_plural" - """ - And the foo-plugin/foo-plugin.pot file should contain: - """ - msgctxt "_nx_js_context" - """ And the foo-plugin/foo-plugin.pot file should not contain: """ msgid "__unsupported_func" @@ -409,21 +385,3 @@ Feature: Generate a POT file of a WordPress plugin """ msgid "wrong-domain" """ - - Scenario: Bail on unsupported legacy function - Given an empty foo-plugin directory - And a foo-plugin/foo-plugin.php file: - """ - 'single_plural_number_domain', '__ngettext' => 'single_plural_number_domain', '__ngettext_noop' => 'single_plural_domain', - - // For legacy compat with makepot. - '_n_js' => 'single_plural_domain', - '_nx_js' => 'single_plural_context_domain', - 'comments_number_link' => 'text_single_plural_domain', ], ]; diff --git a/src/WordPress_Functions_Scanner.php b/src/WordPress_Functions_Scanner.php index 18722215..229211a2 100644 --- a/src/WordPress_Functions_Scanner.php +++ b/src/WordPress_Functions_Scanner.php @@ -72,16 +72,6 @@ public function saveGettextFunctions( Translations $translations, array $options list( $original, $plural, $context, $domain ) = $args; break; - case 'text_single_plural_domain': - if ( ! isset( $args[3] ) ) { - continue 2; - } - - // TODO: support this. - \WP_CLI::error( sprintf( "Unsupported legacy function '%s'.", $name ) ); - break; - - default: // Should never happen. \WP_CLI::error( sprintf( "Internal error: unknown function map '%s' for '%s'.", $functions[ $name ], $name ) ); From 3d5d0b6bc8709f422228a655b6b0630136a8cec9 Mon Sep 17 00:00:00 2001 From: Pascal Birchler Date: Mon, 22 Jan 2018 17:25:32 +0100 Subject: [PATCH 5/5] Align array items --- src/WordPress_Code_Extractor.php | 38 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/WordPress_Code_Extractor.php b/src/WordPress_Code_Extractor.php index 79b0187c..3f4a270c 100644 --- a/src/WordPress_Code_Extractor.php +++ b/src/WordPress_Code_Extractor.php @@ -16,29 +16,29 @@ class WordPress_Code_Extractor extends PhpCode { 'extractComments' => 'translators', 'constants' => [], 'functions' => [ - '__' => 'text_domain', - 'esc_attr__' => 'text_domain', - 'esc_html__' => 'text_domain', - '_e' => 'text_domain', - 'esc_attr_e' => 'text_domain', - 'esc_html_e' => 'text_domain', - '_x' => 'text_context_domain', - '_ex' => 'text_context_domain', - 'esc_attr_x' => 'text_context_domain', - 'esc_html_x' => 'text_context_domain', - '_n' => 'single_plural_number_domain', - '_nx' => 'single_plural_number_context_domain', - '_n_noop' => 'single_plural_domain', - '_nx_noop' => 'single_plural_context_domain', + '__' => 'text_domain', + 'esc_attr__' => 'text_domain', + 'esc_html__' => 'text_domain', + '_e' => 'text_domain', + 'esc_attr_e' => 'text_domain', + 'esc_html_e' => 'text_domain', + '_x' => 'text_context_domain', + '_ex' => 'text_context_domain', + 'esc_attr_x' => 'text_context_domain', + 'esc_html_x' => 'text_context_domain', + '_n' => 'single_plural_number_domain', + '_nx' => 'single_plural_number_context_domain', + '_n_noop' => 'single_plural_domain', + '_nx_noop' => 'single_plural_context_domain', // Compat. - '_' => 'gettext', // Same as 'text_domain'. + '_' => 'gettext', // Same as 'text_domain'. // Deprecated. - '_c' => 'text_domain', - '_nc' => 'single_plural_number_domain', - '__ngettext' => 'single_plural_number_domain', - '__ngettext_noop' => 'single_plural_domain', + '_c' => 'text_domain', + '_nc' => 'single_plural_number_domain', + '__ngettext' => 'single_plural_number_domain', + '__ngettext_noop' => 'single_plural_domain', ], ];