diff --git a/.devtools/phpstan_baseline.neon b/.devtools/phpstan_baseline.neon
index 1070c0bc..7f1508b0 100644
--- a/.devtools/phpstan_baseline.neon
+++ b/.devtools/phpstan_baseline.neon
@@ -3,10 +3,10 @@ parameters:
-
message: "#^Call to an undefined method Symfony\\\\Component\\\\Console\\\\Application\\:\\:getKernel\\(\\)\\.$#"
count: 1
- path: ../src/Commands/CheckServiceContainer.php
+ path: ../src/Commands/Container/ContainerCheck.php
# That's fine, dump() can handle multiple values - This is not an error. https://github.com/symfony/var-dumper/blob/3.4/Resources/functions/dump.php
-
message: "#^Function dump invoked with 2 parameters, 1 required\\.$#"
count: 1
- path: ../src/Commands/Configuration/Export.php
+ path: ../src/Commands/Configuration/ConfigurationExport.php
diff --git a/.github/workflows/phpunit.yml b/.github/workflows/phpunit.yml
new file mode 100644
index 00000000..40348c58
--- /dev/null
+++ b/.github/workflows/phpunit.yml
@@ -0,0 +1,36 @@
+name: PHPUnit
+on:
+ - push
+ - pull_request
+jobs:
+ phpunit:
+ name: PHPUnit
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2.0.0
+
+ - name: Cache vendor folder
+ uses: actions/cache@v1
+ with:
+ path: vendor
+ key: php-${{ hashFiles('composer.lock') }}
+
+ - name: Cache composer folder
+ uses: actions/cache@v2
+ with:
+ path: ~/.composer/cache
+ key: php-composer-cache
+
+ - name: "Setup Php 7.2"
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: '7.2'
+
+ - name: "Install Composer"
+ run: composer install
+
+ - name: Run PHPUnit
+ run : |
+ cd ${{ github.workspace }}
+ ./vendor/bin/phpunit -c tests/Unit/phpunit.xml
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index c03f120e..86863823 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,6 @@ grumphp.yml
; ide
/.idea
+
+; tests
+.phpunit.result.cache
\ No newline at end of file
diff --git a/README.md b/README.md
index c20e08de..d5ff7764 100644
--- a/README.md
+++ b/README.md
@@ -36,35 +36,35 @@ php bin/console pr:mo install fop_console
## Current commands
* `fop:about:version` Display the Fop Console version (on disk, on database, latest available release)
-* `fop:add-hook` Create a new hook in database
-* `fop:category` Manage empty categories
-* `fop:check-container` Health check of the Service Container
-* `fop:clear-cache` Replace the cache directory with an empty one.
+* `fop:cache:clear` Replace the cache directory with an empty one.
+* `fop:category:clean` Manage empty categories
* `fop:configuration:export` Export configuration values (from ps_configuration table)
* `fop:configuration:import` Import configuration values
+* `fop:container:check` Health check of the Service Container
* `fop:customer-groups` Customer groups
-* `fop:debug-mode` Enable or Disable debug mode.
-* `fop:dev:setup-env` Install your project for local developement
-* `fop:employees:list` List registered employees
-* `fop:export` Allows to export data in XML
+* `fop:employee:list` List registered employees
+* `fop:environment:debug-mode` Enable or Disable debug mode.
+* `fop:environment:setup-dev` Install your project for local developement
+* `fop:export:data` Allows to export data in XML
* `fop:generate:htaccess` Generate the .htaccess file
* `fop:generate:robots` Generate the robots.txt file
-* `fop:modules:hook` Attach one module on specific hook
-* `fop:modules:unhook` Detach module from hook
-* `fop:modules:hooks` Get modules list
-* `fop:modules:non-essential` Manage non essential modules
-* `fop:modules:rename` Rename a module
-* `fop:images:generate:categories` Regenerate categories thumbnails
-* `fop:images:generate:manufacturers` Regenerate manufacturers thumbnails
-* `fop:images:generate:products` Regenerate products thumbnails
-* `fop:images:generate:stores` Regenerate stores thumbnails
-* `fop:images:generate:suppliers` Regenerate suppliers thumbnails
-* `fop:latest-products` Displays the latest products
-* `fop:maintenance` Configure maintenance mode
+* `fop:group:transfer-customers` Transfers or add customers from a group to an other
+* `fop:hook:add` Create hook in database
+* `fop:image:generate:categories` Regenerate categories thumbnails
+* `fop:image:generate:manufacturers` Regenerate manufacturers thumbnails
+* `fop:image:generate:products` Regenerate products thumbnails
+* `fop:image:generate:stores` Regenerate stores thumbnails
+* `fop:image:generate:suppliers` Regenerate suppliers thumbnails
+* `fop:module:hook` Attach one module on specific hook
+* `fop:module:hooks` Get modules list
+* `fop:module:non-essential` Manage non essential modules
+* `fop:module:rename` Rename a module
+* `fop:module:unhook` Detach module from hook
* `fop:override:make` Generate a file to make an override
-* `fop:shop-status` Display shops statuses
-* `fop:theme-reset` Reset current (or selected) theme
-
+* `fop:product:latest` Displays the latest products
+* `fop:shop:maintenance` Configure maintenance mode
+* `fop:shop:status` Display shops statuses
+* `fop:theme:reset-layout` Reset current (or selected) theme
## Create your owns Commands
@@ -76,9 +76,6 @@ to extends our class.
// psr-4 autoloader
-// if the command is located at src/Commands
-namespace FOP\Console\Commands;
-// or if command is located in a subfolder
namespace FOP\Console\Commands\Domain; // e.g. namespace FOP\Console\Commands\Configuration
use FOP\Console\Command;
@@ -86,7 +83,7 @@ use Symfony\Component\Console\Style\SymfonyStyle;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
-final class MyCommand extends Command
+final class DomainAction extends Command
{
/**
* {@inheritdoc}
@@ -94,9 +91,9 @@ final class MyCommand extends Command
protected function configure()
{
$this
- ->setName('fop:mycommand') // e.g 'fop:shop-status'
+ ->setName('fop:domain') // e.g 'fop:export'
// or
- ->setName('fop:domain:mycommand') // e.g 'fop:configuration:export'
+ ->setName('fop:domain:action') // e.g 'fop:configuration:export'
->setDescription('Describe the command on a user perspective.');
}
@@ -128,12 +125,12 @@ To list only fop commands :
To toggle the debug-mode (_PS_DEV_MODE_) run :
```shell
-./bin/console fop:debug-mode toggle
+./bin/console fop:environment:debug toggle
```
To get help about a command :
```shell
-./bin/console help fop:debug-mode
+./bin/console help fop:environment:debug
```
You are ready to go !
diff --git a/composer.json b/composer.json
index b27aff40..8635b849 100644
--- a/composer.json
+++ b/composer.json
@@ -13,6 +13,11 @@
"FOP\\Console\\": "src/"
}
},
+ "autoload-dev": {
+ "psr-4": {
+ "FOP\\Console\\Tests\\": "tests/"
+ }
+ },
"require": {
"php": "^7.1",
"laminas/laminas-code": "3.4.1",
@@ -26,7 +31,8 @@
"require-dev": {
"prestashop/php-dev-tools": "4.*",
"phpro/grumphp": "0.19.1",
- "phpstan/phpstan": "^0.12.58"
+ "phpstan/phpstan": "^0.12.58",
+ "phpunit/phpunit": "^7.0"
},
"scripts": {
"fop_check": [
diff --git a/composer.lock b/composer.lock
index f503c306..a13287f9 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "164f5735176bb8014bffe1cdd314a7ce",
+ "content-hash": "b0adafe1f06a67f4036de3b306380560",
"packages": [
{
"name": "laminas/laminas-code",
@@ -1014,6 +1014,75 @@
},
"time": "2020-07-27T17:53:49+00:00"
},
+ {
+ "name": "doctrine/instantiator",
+ "version": "1.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/instantiator.git",
+ "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b",
+ "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^8.0",
+ "ext-pdo": "*",
+ "ext-phar": "*",
+ "phpbench/phpbench": "^0.13 || 1.0.0-alpha2",
+ "phpstan/phpstan": "^0.12",
+ "phpstan/phpstan-phpunit": "^0.12",
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
+ },
+ "type": "library",
+ "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": "https://ocramius.github.io/"
+ }
+ ],
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+ "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
+ "keywords": [
+ "constructor",
+ "instantiate"
+ ],
+ "support": {
+ "issues": "https://github.com/doctrine/instantiator/issues",
+ "source": "https://github.com/doctrine/instantiator/tree/1.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-11-10T18:47:58+00:00"
+ },
{
"name": "doctrine/lexer",
"version": "1.2.1",
@@ -1369,6 +1438,64 @@
],
"time": "2020-12-14T13:15:25+00:00"
},
+ {
+ "name": "myclabs/deep-copy",
+ "version": "1.10.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/myclabs/DeepCopy.git",
+ "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220",
+ "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "replace": {
+ "myclabs/deep-copy": "self.version"
+ },
+ "require-dev": {
+ "doctrine/collections": "^1.0",
+ "doctrine/common": "^2.6",
+ "phpunit/phpunit": "^7.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"
+ ],
+ "support": {
+ "issues": "https://github.com/myclabs/DeepCopy/issues",
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2"
+ },
+ "funding": [
+ {
+ "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-11-13T09:40:50+00:00"
+ },
{
"name": "nikic/php-parser",
"version": "v4.10.5",
@@ -1490,6 +1617,116 @@
},
"time": "2021-04-09T13:42:10+00:00"
},
+ {
+ "name": "phar-io/manifest",
+ "version": "1.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/manifest.git",
+ "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
+ "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-phar": "*",
+ "phar-io/version": "^2.0",
+ "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)",
+ "support": {
+ "issues": "https://github.com/phar-io/manifest/issues",
+ "source": "https://github.com/phar-io/manifest/tree/master"
+ },
+ "time": "2018-07-08T19:23:20+00:00"
+ },
+ {
+ "name": "phar-io/version",
+ "version": "2.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/version.git",
+ "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6",
+ "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6",
+ "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",
+ "support": {
+ "issues": "https://github.com/phar-io/version/issues",
+ "source": "https://github.com/phar-io/version/tree/master"
+ },
+ "time": "2018-07-08T19:19:57+00:00"
+ },
{
"name": "php-cs-fixer/diff",
"version": "v1.3.1",
@@ -1545,6 +1782,165 @@
},
"time": "2020-10-14T08:39:05+00:00"
},
+ {
+ "name": "phpdocumentor/reflection-common",
+ "version": "2.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-2.x": "2.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"
+ ],
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
+ },
+ "time": "2020-06-27T09:03:43+00:00"
+ },
+ {
+ "name": "phpdocumentor/reflection-docblock",
+ "version": "5.2.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+ "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556",
+ "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556",
+ "shasum": ""
+ },
+ "require": {
+ "ext-filter": "*",
+ "php": "^7.2 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.2",
+ "phpdocumentor/type-resolver": "^1.3",
+ "webmozart/assert": "^1.9.1"
+ },
+ "require-dev": {
+ "mockery/mockery": "~1.3.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.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"
+ },
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "account@ijaap.nl"
+ }
+ ],
+ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master"
+ },
+ "time": "2020-09-03T19:13:55+00:00"
+ },
+ {
+ "name": "phpdocumentor/type-resolver",
+ "version": "1.5.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/TypeResolver.git",
+ "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae",
+ "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.0"
+ },
+ "require-dev": {
+ "ext-tokenizer": "*",
+ "psalm/phar": "^4.8"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-1.x": "1.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": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
+ "support": {
+ "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1"
+ },
+ "time": "2021-10-02T14:08:47+00:00"
+ },
{
"name": "phpro/grumphp",
"version": "v0.19.1",
@@ -1659,11 +2055,78 @@
"time": "2020-06-24T05:17:37+00:00"
},
{
- "name": "phpstan/phpstan",
- "version": "0.12.90",
+ "name": "phpspec/prophecy",
+ "version": "1.14.0",
"source": {
"type": "git",
- "url": "https://github.com/phpstan/phpstan.git",
+ "url": "https://github.com/phpspec/prophecy.git",
+ "reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e",
+ "reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.2",
+ "php": "^7.2 || ~8.0, <8.2",
+ "phpdocumentor/reflection-docblock": "^5.2",
+ "sebastian/comparator": "^3.0 || ^4.0",
+ "sebastian/recursion-context": "^3.0 || ^4.0"
+ },
+ "require-dev": {
+ "phpspec/phpspec": "^6.0 || ^7.0",
+ "phpunit/phpunit": "^8.0 || ^9.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Prophecy\\": "src/Prophecy"
+ }
+ },
+ "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"
+ ],
+ "support": {
+ "issues": "https://github.com/phpspec/prophecy/issues",
+ "source": "https://github.com/phpspec/prophecy/tree/1.14.0"
+ },
+ "time": "2021-09-10T09:02:12+00:00"
+ },
+ {
+ "name": "phpstan/phpstan",
+ "version": "0.12.90",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpstan/phpstan.git",
"reference": "f0e4b56630fc3d4eb5be86606d07212ac212ede4"
},
"dist": {
@@ -1723,297 +2186,1340 @@
"time": "2021-06-18T07:15:38+00:00"
},
{
- "name": "prestashop/header-stamp",
- "version": "v2.0",
+ "name": "phpunit/php-code-coverage",
+ "version": "6.1.4",
"source": {
"type": "git",
- "url": "https://github.com/PrestaShopCorp/header-stamp.git",
- "reference": "db3d7d4604e6ef2ac9cf5d88b66601b96d2b9977"
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+ "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PrestaShopCorp/header-stamp/zipball/db3d7d4604e6ef2ac9cf5d88b66601b96d2b9977",
- "reference": "db3d7d4604e6ef2ac9cf5d88b66601b96d2b9977",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d",
+ "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.10",
- "php": ">=7.2.5",
- "symfony/console": "^3.4 || ~4.0 || ~5.0",
- "symfony/finder": "^3.4 || ~4.0 || ~5.0"
+ "ext-dom": "*",
+ "ext-xmlwriter": "*",
+ "php": "^7.1",
+ "phpunit/php-file-iterator": "^2.0",
+ "phpunit/php-text-template": "^1.2.1",
+ "phpunit/php-token-stream": "^3.0",
+ "sebastian/code-unit-reverse-lookup": "^1.0.1",
+ "sebastian/environment": "^3.1 || ^4.0",
+ "sebastian/version": "^2.0.1",
+ "theseer/tokenizer": "^1.1"
},
"require-dev": {
- "phpstan/phpstan": "^0.12.83",
- "prestashop/php-dev-tools": "1.*"
+ "phpunit/phpunit": "^7.0"
},
- "bin": [
- "bin/header-stamp"
+ "suggest": {
+ "ext-xdebug": "^2.6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "6.1-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"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/master"
+ },
+ "time": "2018-10-31T16:06:48+00:00"
+ },
+ {
+ "name": "phpunit/php-file-iterator",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+ "reference": "28af674ff175d0768a5a978e6de83f697d4a7f05"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/28af674ff175d0768a5a978e6de83f697d4a7f05",
+ "reference": "28af674ff175d0768a5a978e6de83f697d4a7f05",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.5"
+ },
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
"autoload": {
- "psr-4": {
- "PrestaShop\\HeaderStamp\\": "src/"
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.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"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2021-07-19T06:46:01+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"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1"
+ },
+ "time": "2015-06-21T13:50:34+00:00"
+ },
+ {
+ "name": "phpunit/php-timer",
+ "version": "2.1.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
+ "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/2454ae1765516d20c4ffe103d85a58a9a3bd5662",
+ "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.1-dev"
}
},
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
"notification-url": "https://packagist.org/downloads/",
"license": [
- "AFL-3.0"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "PrestaShop SA",
- "email": "contact@prestashop.com"
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
}
],
- "description": "Rewrite your file headers to add the license or to make them up-to-date",
- "homepage": "https://github.com/PrestaShopCorp/header-stamp",
+ "description": "Utility class for timing",
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
+ "keywords": [
+ "timer"
+ ],
"support": {
- "issues": "https://github.com/PrestaShopCorp/header-stamp/issues",
- "source": "https://github.com/PrestaShopCorp/header-stamp/tree/v2.0"
+ "issues": "https://github.com/sebastianbergmann/php-timer/issues",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/2.1.3"
},
- "time": "2021-04-16T13:04:37+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T08:20:02+00:00"
},
{
- "name": "prestashop/php-dev-tools",
- "version": "v4.0.1",
+ "name": "phpunit/php-token-stream",
+ "version": "3.1.3",
"source": {
"type": "git",
- "url": "https://github.com/PrestaShop/php-dev-tools.git",
- "reference": "f675c0c296b8399cdd99ac9c09f414ae4a2e72b2"
+ "url": "https://github.com/sebastianbergmann/php-token-stream.git",
+ "reference": "9c1da83261628cb24b6a6df371b6e312b3954768"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PrestaShop/php-dev-tools/zipball/f675c0c296b8399cdd99ac9c09f414ae4a2e72b2",
- "reference": "f675c0c296b8399cdd99ac9c09f414ae4a2e72b2",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/9c1da83261628cb24b6a6df371b6e312b3954768",
+ "reference": "9c1da83261628cb24b6a6df371b6e312b3954768",
"shasum": ""
},
"require": {
- "friendsofphp/php-cs-fixer": "^2.14",
- "php": ">=7.2.5",
- "prestashop/header-stamp": "^2.0",
- "squizlabs/php_codesniffer": "^3.4",
- "symfony/console": "~3.2 || ~4.0 || ~5.0",
- "symfony/filesystem": "~3.2 || ~4.0 || ~5.0"
+ "ext-tokenizer": "*",
+ "php": ">=7.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1-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"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-token-stream/issues",
+ "source": "https://github.com/sebastianbergmann/php-token-stream/tree/3.1.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "abandoned": true,
+ "time": "2021-07-26T12:15:06+00:00"
+ },
+ {
+ "name": "phpunit/phpunit",
+ "version": "7.5.20",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
+ "reference": "9467db479d1b0487c99733bb1e7944d32deded2c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9467db479d1b0487c99733bb1e7944d32deded2c",
+ "reference": "9467db479d1b0487c99733bb1e7944d32deded2c",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.1",
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-xml": "*",
+ "myclabs/deep-copy": "^1.7",
+ "phar-io/manifest": "^1.0.2",
+ "phar-io/version": "^2.0",
+ "php": "^7.1",
+ "phpspec/prophecy": "^1.7",
+ "phpunit/php-code-coverage": "^6.0.7",
+ "phpunit/php-file-iterator": "^2.0.1",
+ "phpunit/php-text-template": "^1.2.1",
+ "phpunit/php-timer": "^2.1",
+ "sebastian/comparator": "^3.0",
+ "sebastian/diff": "^3.0",
+ "sebastian/environment": "^4.0",
+ "sebastian/exporter": "^3.1",
+ "sebastian/global-state": "^2.0",
+ "sebastian/object-enumerator": "^3.0.3",
+ "sebastian/resource-operations": "^2.0",
+ "sebastian/version": "^2.0.1"
+ },
+ "conflict": {
+ "phpunit/phpunit-mock-objects": "*"
+ },
+ "require-dev": {
+ "ext-pdo": "*"
+ },
+ "suggest": {
+ "ext-soap": "*",
+ "ext-xdebug": "*",
+ "phpunit/php-invoker": "^2.0"
+ },
+ "bin": [
+ "phpunit"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "7.5-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"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/phpunit/issues",
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/7.5.20"
+ },
+ "time": "2020-01-08T08:45:45+00:00"
+ },
+ {
+ "name": "prestashop/header-stamp",
+ "version": "v2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PrestaShopCorp/header-stamp.git",
+ "reference": "db3d7d4604e6ef2ac9cf5d88b66601b96d2b9977"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PrestaShopCorp/header-stamp/zipball/db3d7d4604e6ef2ac9cf5d88b66601b96d2b9977",
+ "reference": "db3d7d4604e6ef2ac9cf5d88b66601b96d2b9977",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^4.10",
+ "php": ">=7.2.5",
+ "symfony/console": "^3.4 || ~4.0 || ~5.0",
+ "symfony/finder": "^3.4 || ~4.0 || ~5.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^0.12.83",
+ "prestashop/php-dev-tools": "1.*"
+ },
+ "bin": [
+ "bin/header-stamp"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "PrestaShop\\HeaderStamp\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "AFL-3.0"
+ ],
+ "authors": [
+ {
+ "name": "PrestaShop SA",
+ "email": "contact@prestashop.com"
+ }
+ ],
+ "description": "Rewrite your file headers to add the license or to make them up-to-date",
+ "homepage": "https://github.com/PrestaShopCorp/header-stamp",
+ "support": {
+ "issues": "https://github.com/PrestaShopCorp/header-stamp/issues",
+ "source": "https://github.com/PrestaShopCorp/header-stamp/tree/v2.0"
+ },
+ "time": "2021-04-16T13:04:37+00:00"
+ },
+ {
+ "name": "prestashop/php-dev-tools",
+ "version": "v4.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PrestaShop/php-dev-tools.git",
+ "reference": "f675c0c296b8399cdd99ac9c09f414ae4a2e72b2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PrestaShop/php-dev-tools/zipball/f675c0c296b8399cdd99ac9c09f414ae4a2e72b2",
+ "reference": "f675c0c296b8399cdd99ac9c09f414ae4a2e72b2",
+ "shasum": ""
+ },
+ "require": {
+ "friendsofphp/php-cs-fixer": "^2.14",
+ "php": ">=7.2.5",
+ "prestashop/header-stamp": "^2.0",
+ "squizlabs/php_codesniffer": "^3.4",
+ "symfony/console": "~3.2 || ~4.0 || ~5.0",
+ "symfony/filesystem": "~3.2 || ~4.0 || ~5.0"
+ },
+ "conflict": {
+ "friendsofphp/php-cs-fixer": "2.18.3"
+ },
+ "bin": [
+ "bin/prestashop-coding-standards"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "PrestaShop\\CodingStandards\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "PrestaShop coding standards",
+ "support": {
+ "issues": "https://github.com/PrestaShop/php-dev-tools/issues",
+ "source": "https://github.com/PrestaShop/php-dev-tools/tree/v4.0.1"
+ },
+ "time": "2021-05-10T09:33:33+00:00"
+ },
+ {
+ "name": "psr/cache",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/cache.git",
+ "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
+ "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Cache\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for caching libraries",
+ "keywords": [
+ "cache",
+ "psr",
+ "psr-6"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/cache/tree/master"
+ },
+ "time": "2016-08-06T20:24:11+00:00"
+ },
+ {
+ "name": "psr/container",
+ "version": "1.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
+ "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Psr\\Container\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://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"
+ ],
+ "support": {
+ "issues": "https://github.com/php-fig/container/issues",
+ "source": "https://github.com/php-fig/container/tree/1.1.1"
+ },
+ "time": "2021-03-05T17:36:06+00:00"
+ },
+ {
+ "name": "psr/event-dispatcher",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/event-dispatcher.git",
+ "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0",
+ "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\EventDispatcher\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Standard interfaces for event handling.",
+ "keywords": [
+ "events",
+ "psr",
+ "psr-14"
+ ],
+ "support": {
+ "issues": "https://github.com/php-fig/event-dispatcher/issues",
+ "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0"
+ },
+ "time": "2019-01-08T18:20:26+00:00"
+ },
+ {
+ "name": "psr/log",
+ "version": "1.1.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Log\\": "Psr/Log/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for logging libraries",
+ "homepage": "https://github.com/php-fig/log",
+ "keywords": [
+ "log",
+ "psr",
+ "psr-3"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/log/tree/1.1.4"
+ },
+ "time": "2021-05-03T11:20:27+00:00"
+ },
+ {
+ "name": "sebastian/code-unit-reverse-lookup",
+ "version": "1.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+ "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/1de8cd5c010cb153fcd68b8d0f64606f523f7619",
+ "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.6"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.5"
+ },
+ "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/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T08:15:22+00:00"
+ },
+ {
+ "name": "sebastian/comparator",
+ "version": "3.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "reference": "1071dfcef776a57013124ff35e1fc41ccd294758"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1071dfcef776a57013124ff35e1fc41ccd294758",
+ "reference": "1071dfcef776a57013124ff35e1fc41ccd294758",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1",
+ "sebastian/diff": "^3.0",
+ "sebastian/exporter": "^3.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
+ }
+ ],
+ "description": "Provides the functionality to compare PHP values for equality",
+ "homepage": "https://github.com/sebastianbergmann/comparator",
+ "keywords": [
+ "comparator",
+ "compare",
+ "equality"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/comparator/issues",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T08:04:30+00:00"
+ },
+ {
+ "name": "sebastian/diff",
+ "version": "3.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/diff.git",
+ "reference": "14f72dd46eaf2f2293cbe79c93cc0bc43161a211"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/14f72dd46eaf2f2293cbe79c93cc0bc43161a211",
+ "reference": "14f72dd46eaf2f2293cbe79c93cc0bc43161a211",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.5 || ^8.0",
+ "symfony/process": "^2 || ^3.3 || ^4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
+ }
+ ],
+ "description": "Diff implementation",
+ "homepage": "https://github.com/sebastianbergmann/diff",
+ "keywords": [
+ "diff",
+ "udiff",
+ "unidiff",
+ "unified diff"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/diff/issues",
+ "source": "https://github.com/sebastianbergmann/diff/tree/3.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T07:59:04+00:00"
+ },
+ {
+ "name": "sebastian/environment",
+ "version": "4.2.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/environment.git",
+ "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/d47bbbad83711771f167c72d4e3f25f7fcc1f8b0",
+ "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.5"
+ },
+ "suggest": {
+ "ext-posix": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.2-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"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/environment/issues",
+ "source": "https://github.com/sebastianbergmann/environment/tree/4.2.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T07:53:42+00:00"
+ },
+ {
+ "name": "sebastian/exporter",
+ "version": "3.1.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/exporter.git",
+ "reference": "6b853149eab67d4da22291d36f5b0631c0fd856e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/6b853149eab67d4da22291d36f5b0631c0fd856e",
+ "reference": "6b853149eab67d4da22291d36f5b0631c0fd856e",
+ "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": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ }
+ ],
+ "description": "Provides the functionality to export PHP variables for visualization",
+ "homepage": "http://www.github.com/sebastianbergmann/exporter",
+ "keywords": [
+ "export",
+ "exporter"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/exporter/issues",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T07:47:53+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"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/global-state/issues",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/2.0.0"
+ },
+ "time": "2017-04-27T15:39:26+00:00"
+ },
+ {
+ "name": "sebastian/object-enumerator",
+ "version": "3.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
+ "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2",
+ "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2",
+ "shasum": ""
},
- "conflict": {
- "friendsofphp/php-cs-fixer": "2.18.3"
+ "require": {
+ "php": ">=7.0",
+ "sebastian/object-reflector": "^1.1.1",
+ "sebastian/recursion-context": "^3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6.0"
},
- "bin": [
- "bin/prestashop-coding-standards"
- ],
"type": "library",
- "autoload": {
- "psr-4": {
- "PrestaShop\\CodingStandards\\": "src/"
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0.x-dev"
}
},
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
- "description": "PrestaShop coding standards",
+ "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/",
"support": {
- "issues": "https://github.com/PrestaShop/php-dev-tools/issues",
- "source": "https://github.com/PrestaShop/php-dev-tools/tree/v4.0.1"
+ "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/3.0.4"
},
- "time": "2021-05-10T09:33:33+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T07:40:27+00:00"
},
{
- "name": "psr/cache",
- "version": "1.0.1",
+ "name": "sebastian/object-reflector",
+ "version": "1.1.2",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/cache.git",
- "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
+ "url": "https://github.com/sebastianbergmann/object-reflector.git",
+ "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
- "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/9b8772b9cbd456ab45d4a598d2dd1a1bced6363d",
+ "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "1.1-dev"
}
},
"autoload": {
- "psr-4": {
- "Psr\\Cache\\": "src/"
- }
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
}
],
- "description": "Common interface for caching libraries",
- "keywords": [
- "cache",
- "psr",
- "psr-6"
- ],
+ "description": "Allows reflection of object attributes, including inherited and non-public ones",
+ "homepage": "https://github.com/sebastianbergmann/object-reflector/",
"support": {
- "source": "https://github.com/php-fig/cache/tree/master"
+ "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/1.1.2"
},
- "time": "2016-08-06T20:24:11+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T07:37:18+00:00"
},
{
- "name": "psr/container",
- "version": "1.1.1",
+ "name": "sebastian/recursion-context",
+ "version": "3.0.1",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/container.git",
- "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
+ "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
- "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/367dcba38d6e1977be014dc4b22f47a484dac7fb",
+ "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb",
"shasum": ""
},
"require": {
- "php": ">=7.2.0"
+ "php": ">=7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6.0"
},
"type": "library",
- "autoload": {
- "psr-4": {
- "Psr\\Container\\": "src/"
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0.x-dev"
}
},
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
}
],
- "description": "Common Container Interface (PHP FIG PSR-11)",
- "homepage": "https://github.com/php-fig/container",
- "keywords": [
- "PSR-11",
- "container",
- "container-interface",
- "container-interop",
- "psr"
- ],
+ "description": "Provides functionality to recursively process PHP variables",
+ "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
"support": {
- "issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/1.1.1"
+ "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/3.0.1"
},
- "time": "2021-03-05T17:36:06+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T07:34:24+00:00"
},
{
- "name": "psr/event-dispatcher",
- "version": "1.0.0",
+ "name": "sebastian/resource-operations",
+ "version": "2.0.2",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/event-dispatcher.git",
- "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0"
+ "url": "https://github.com/sebastianbergmann/resource-operations.git",
+ "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0",
- "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/31d35ca87926450c44eae7e2611d45a7a65ea8b3",
+ "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3",
"shasum": ""
},
"require": {
- "php": ">=7.2.0"
+ "php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
- "psr-4": {
- "Psr\\EventDispatcher\\": "src/"
- }
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
}
],
- "description": "Standard interfaces for event handling.",
- "keywords": [
- "events",
- "psr",
- "psr-14"
- ],
+ "description": "Provides a list of PHP built-in functions that operate on resources",
+ "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
"support": {
- "issues": "https://github.com/php-fig/event-dispatcher/issues",
- "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0"
+ "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
+ "source": "https://github.com/sebastianbergmann/resource-operations/tree/2.0.2"
},
- "time": "2019-01-08T18:20:26+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T07:30:19+00:00"
},
{
- "name": "psr/log",
- "version": "1.1.4",
+ "name": "sebastian/version",
+ "version": "2.0.1",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/log.git",
- "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
- "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
+ "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=5.6"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.1.x-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
- "psr-4": {
- "Psr\\Log\\": "Psr/Log/"
- }
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
}
],
- "description": "Common interface for logging libraries",
- "homepage": "https://github.com/php-fig/log",
- "keywords": [
- "log",
- "psr",
- "psr-3"
- ],
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+ "homepage": "https://github.com/sebastianbergmann/version",
"support": {
- "source": "https://github.com/php-fig/log/tree/1.1.4"
+ "issues": "https://github.com/sebastianbergmann/version/issues",
+ "source": "https://github.com/sebastianbergmann/version/tree/master"
},
- "time": "2021-05-03T11:20:27+00:00"
+ "time": "2016-10-03T07:35:21+00:00"
},
{
"name": "seld/jsonlint",
@@ -3891,6 +5397,114 @@
}
],
"time": "2021-06-06T09:51:56+00:00"
+ },
+ {
+ "name": "theseer/tokenizer",
+ "version": "1.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/theseer/tokenizer.git",
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": "^7.2 || ^8.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",
+ "support": {
+ "issues": "https://github.com/theseer/tokenizer/issues",
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
+ ],
+ "time": "2021-07-28T10:34:58+00:00"
+ },
+ {
+ "name": "webmozart/assert",
+ "version": "1.10.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/webmozarts/assert.git",
+ "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25",
+ "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0",
+ "symfony/polyfill-ctype": "^1.8"
+ },
+ "conflict": {
+ "phpstan/phpstan": "<0.12.20",
+ "vimeo/psalm": "<4.6.1 || 4.6.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.5.13"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.10-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"
+ ],
+ "support": {
+ "issues": "https://github.com/webmozarts/assert/issues",
+ "source": "https://github.com/webmozarts/assert/tree/1.10.0"
+ },
+ "time": "2021-03-09T10:59:23+00:00"
}
],
"aliases": [],
diff --git a/config/services.yml b/config/services.yml
index c8a22190..aca88033 100644
--- a/config/services.yml
+++ b/config/services.yml
@@ -5,124 +5,124 @@ services:
fop.console.console_loader:
class: FOP\Console\Context\ConsoleLoader
arguments:
- - '@prestashop.adapter.legacy.context'
- - '@prestashop.adapter.shop.context'
- - '%kernel.root_dir%'
+ - "@prestashop.adapter.legacy.context"
+ - "@prestashop.adapter.shop.context"
+ - "%kernel.root_dir%"
- fop.console.version.command:
- class: FOP\Console\Commands\About\Version
+ fop.console.cache.clear.command:
+ class: FOP\Console\Commands\Cache\CacheClear
tags: [ console.command ]
- fop.console.modules.unhook_module.command:
- class: FOP\Console\Commands\Modules\UnhookModule
+ fop.console.category.clean.command:
+ class: FOP\Console\Commands\Category\CategoryClean
tags: [ console.command ]
- fop.console.modules.hook_module.command:
- class: FOP\Console\Commands\Modules\HookModule
+ fop.console.configuration.export.command:
+ class: FOP\Console\Commands\Configuration\ConfigurationExport
tags: [ console.command ]
- fop.console.modules.list_module_hooks.command:
- class: FOP\Console\Commands\Modules\ModuleHooks
+ fop.console.configuration.import.command:
+ class: FOP\Console\Commands\Configuration\ConfigurationImport
tags: [ console.command ]
- fop.console.modules.rename_module.command:
- class: FOP\Console\Commands\Modules\RenameModule
+ fop.console.container.check.command:
+ class: FOP\Console\Commands\Container\ContainerCheck
tags: [ console.command ]
- fop.console.latest_products.command:
- class: FOP\Console\Commands\LatestProducts
+ fop.console.employee.list.command:
+ class: \FOP\Console\Commands\Employee\EmployeeList
tags: [ console.command ]
- fop.console.export.command:
- class: FOP\Console\Commands\Export
+ fop.console.environment.debug.command:
+ class: FOP\Console\Commands\Environment\EnvironmentDebug
tags: [ console.command ]
- fop.console.status.command:
- class: FOP\Console\Commands\ShopStatus
+ fop.console.environment.setup_dev.command:
+ class: FOP\Console\Commands\Environment\EnvironmentSetupDev
tags: [ console.command ]
-
- fop.console.check_service_container.command:
- class: FOP\Console\Commands\CheckServiceContainer
+
+ fop.console.export.data.command:
+ class: FOP\Console\Commands\Export\ExportData
tags: [ console.command ]
- fop.console.debug_mode.command:
- class: FOP\Console\Commands\DebugMode
+ fop.console.generate.htaccess.command:
+ class: FOP\Console\Commands\Generate\GenerateHtaccess
tags: [ console.command ]
- fop.console.maintenance.command:
- class: FOP\Console\Commands\Maintenance
+ fop.console.generate.robots.command:
+ class: FOP\Console\Commands\Generate\GenerateRobots
tags: [ console.command ]
- fop.console.generate_htaccess.command:
- class: FOP\Console\Commands\GenerateHtaccess
+ fop.console.group.transfer_customers.command:
+ class: FOP\Console\Commands\Group\GroupTransferCustomers
tags: [ console.command ]
- fop.console.generate_robots.command:
- class: FOP\Console\Commands\GenerateRobots
+ fop.console.hook.add.command:
+ class: FOP\Console\Commands\Hook\HookAdd
tags: [ console.command ]
- fop.console.clear_cache_files.command:
- class: FOP\Console\Commands\ClearCacheFiles
+ fop.console.image.generate_products.command:
+ class: FOP\Console\Commands\Image\ImageGenerateProducts
tags: [ console.command ]
- fop.console.add_hook.command:
- class: FOP\Console\Commands\AddHook
+ fop.console.image.generate_categories.command:
+ class: FOP\Console\Commands\Image\ImageGenerateCategories
tags: [ console.command ]
- fop.console.images_generate_products.command:
- class: FOP\Console\Commands\Images\GenerateProducts
+ fop.console.image.generate_manufacturers.command:
+ class: FOP\Console\Commands\Image\ImageGenerateManufacturers
tags: [ console.command ]
- fop.console.images_generate_categories.command:
- class: FOP\Console\Commands\Images\GenerateCategories
+ fop.console.image.generate_suppliers.command:
+ class: FOP\Console\Commands\Image\ImageGenerateSuppliers
tags: [ console.command ]
- fop.console.images_generate_manufacturers.command:
- class: FOP\Console\Commands\Images\GenerateManufacturers
+ fop.console.image.generate_stores.command:
+ class: FOP\Console\Commands\Image\ImageGenerateStores
tags: [ console.command ]
- fop.console.images_generate_suppliers.command:
- class: FOP\Console\Commands\Images\GenerateSuppliers
+ fop.console.module.unhook.command:
+ class: FOP\Console\Commands\Module\ModuleUnhook
tags: [ console.command ]
- fop.console.images_generate_stores.command:
- class: FOP\Console\Commands\Images\GenerateStores
+ fop.console.module.hook.command:
+ class: FOP\Console\Commands\Module\ModuleHook
tags: [ console.command ]
- fop.console.theme-reset.command:
- class: FOP\Console\Commands\ThemeResetLayout
+ fop.console.module.hooks.command:
+ class: FOP\Console\Commands\Module\ModuleHooks
tags: [ console.command ]
- fop.console.override.make.command:
- class: FOP\Console\Commands\MakeOverride
+ fop.console.module.rename.command:
+ class: FOP\Console\Commands\Module\ModuleRename
tags: [ console.command ]
- fop.console.dev_setup_env.command:
- class: FOP\Console\Commands\DevSetupEnv
+ fop.console.module.non_essential.command:
+ class: FOP\Console\Commands\Module\ModuleNonEssential
tags: [ console.command ]
- fop.console.configuration.export:
- class: FOP\Console\Commands\Configuration\Export
+ fop.console.override.make.command:
+ class: FOP\Console\Commands\Override\OverrideMake
tags: [ console.command ]
- fop.console.configuration.import:
- class: FOP\Console\Commands\Configuration\Import
+ fop.console.product.latest.command:
+ class: FOP\Console\Commands\Product\ProductLatest
tags: [ console.command ]
- fop.console.customers.groups.command:
- class: FOP\Console\Commands\Customers\CustomersGroups
+ fop.console.shop.status.command:
+ class: FOP\Console\Commands\Shop\ShopStatus
tags: [ console.command ]
- fop.console.modules.command:
- class: FOP\Console\Commands\Modules\NonEssentialModules
+ fop.console.shop.maintenance.command:
+ class: FOP\Console\Commands\Shop\ShopMaintenance
tags: [ console.command ]
- fop.console.category.command:
- class: FOP\Console\Commands\Categories\CleanCategory
+ fop.console.theme.reset_layout.command:
+ class: FOP\Console\Commands\Theme\ThemeResetLayout
tags: [ console.command ]
- fop.console.employees.list:
- class: FOP\Console\Commands\Employees\ListEmployees
+ fop.console.version.command:
+ class: FOP\Console\Commands\About\Version
tags: [ console.command ]
imports:
diff --git a/src/Command.php b/src/Command.php
index 3b268fb8..68850134 100644
--- a/src/Command.php
+++ b/src/Command.php
@@ -44,6 +44,12 @@ protected function initialize(InputInterface $input, OutputInterface $output): v
$this->io = new SymfonyStyle($input, $output);
+ if (isset($_SERVER['argv']) && count($_SERVER['argv']) > 1
+ && in_array($_SERVER['argv'][1], $this->getAliases())
+ ) {
+ $this->io->warning("This command has a new name : {$this->getName()}. The alias you entered is deprecated and will be deleted in version 2.");
+ }
+
parent::initialize($input, $output);
}
}
diff --git a/src/Commands/ClearCacheFiles.php b/src/Commands/Cache/CacheClear.php
similarity index 97%
rename from src/Commands/ClearCacheFiles.php
rename to src/Commands/Cache/CacheClear.php
index befa6dda..b52ce945 100644
--- a/src/Commands/ClearCacheFiles.php
+++ b/src/Commands/Cache/CacheClear.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands;
+namespace FOP\Console\Commands\Cache;
use FOP\Console\Command;
use PrestaShop\PrestaShop\Adapter\Debug\DebugMode as DebugAdapter;
@@ -31,7 +31,7 @@
/**
* This command replace the cache directory with an empty one.
*/
-final class ClearCacheFiles extends Command
+final class CacheClear extends Command
{
/**
* {@inheritdoc}
@@ -39,7 +39,8 @@ final class ClearCacheFiles extends Command
protected function configure(): void
{
$this
- ->setName('fop:clear-cache')
+ ->setName('fop:cache:clear')
+ ->setAliases(['fop:clear-cache'])
->setDescription('Replace the cache directory with an empty one.')
->setHelp('This command allows you to quickly remove the cache files.');
}
diff --git a/src/Commands/Categories/CleanCategory.php b/src/Commands/Category/CategoryClean.php
similarity index 97%
rename from src/Commands/Categories/CleanCategory.php
rename to src/Commands/Category/CategoryClean.php
index 597458a9..927fce81 100644
--- a/src/Commands/Categories/CleanCategory.php
+++ b/src/Commands/Category/CategoryClean.php
@@ -20,7 +20,7 @@
declare(strict_types=1);
-namespace FOP\Console\Commands\Categories;
+namespace FOP\Console\Commands\Category;
use Category;
use Configuration;
@@ -32,7 +32,7 @@
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Question\Question;
-final class CleanCategory extends Command
+final class CategoryClean extends Command
{
/**
* @var array possible command
@@ -44,14 +44,15 @@ final class CleanCategory extends Command
*/
protected function configure(): void
{
- $this->setName('fop:category')
+ $this->setName('fop:category:clean')
+ ->setAliases(['fop:category'])
->setDescription('Manage your categories, this command don\'t support multishop')
->setHelp('This command :'
. PHP_EOL . ' - Enable or disable a category.'
. PHP_EOL . ' - Disable final categories without product.'
. PHP_EOL . ' - Enable final categories with an active product.'
. PHP_EOL . ' - This command DON\'T SUPPORT multi-shop.')
- ->addUsage('./bin/console fop:category toggle -c 3 ( enable or disable the category with id 3')
+ ->addUsage('./bin/console fop:category:clean toggle -c 3 ( enable or disable the category with id 3')
->addUsage('--exclude=[XX,YY,ZZ] (id-category separate by coma)')
->addArgument(
'action',
diff --git a/src/Commands/Configuration/Export.php b/src/Commands/Configuration/ConfigurationExport.php
similarity index 99%
rename from src/Commands/Configuration/Export.php
rename to src/Commands/Configuration/ConfigurationExport.php
index a8c0d5f5..652041f1 100644
--- a/src/Commands/Configuration/Export.php
+++ b/src/Commands/Configuration/ConfigurationExport.php
@@ -31,7 +31,7 @@
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Filesystem\Filesystem;
-final class Export extends Command
+final class ConfigurationExport extends Command
{
private const PS_CONFIGURATIONS_FILE = 'ps_configurations.json';
diff --git a/src/Commands/Configuration/Import.php b/src/Commands/Configuration/ConfigurationImport.php
similarity index 98%
rename from src/Commands/Configuration/Import.php
rename to src/Commands/Configuration/ConfigurationImport.php
index 6c286d49..31994e1f 100644
--- a/src/Commands/Configuration/Import.php
+++ b/src/Commands/Configuration/ConfigurationImport.php
@@ -29,7 +29,7 @@
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
-final class Import extends Command
+final class ConfigurationImport extends Command
{
private const PS_CONFIGURATIONS_FILE = 'ps_configurations.json';
diff --git a/src/Commands/CheckServiceContainer.php b/src/Commands/Container/ContainerCheck.php
similarity index 95%
rename from src/Commands/CheckServiceContainer.php
rename to src/Commands/Container/ContainerCheck.php
index 808c4b12..58940ac0 100644
--- a/src/Commands/CheckServiceContainer.php
+++ b/src/Commands/Container/ContainerCheck.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands;
+namespace FOP\Console\Commands\Container;
use Exception;
use FOP\Console\Command;
@@ -31,7 +31,7 @@
/**
* Check health of our Service Container.
*/
-final class CheckServiceContainer extends Command
+final class ContainerCheck extends Command
{
private static $containerBuilder;
@@ -41,7 +41,8 @@ final class CheckServiceContainer extends Command
protected function configure(): void
{
$this
- ->setName('fop:check-container')
+ ->setName('fop:container:check')
+ ->setAliases(['fop:check-container'])
->setDescription('Health check of the Service Container')
->setHelp('This command instantiate every service of Symfony in Console Context: will it works as expected ?')
;
diff --git a/src/Commands/Employees/ListEmployees.php b/src/Commands/Employee/EmployeeList.php
similarity index 93%
rename from src/Commands/Employees/ListEmployees.php
rename to src/Commands/Employee/EmployeeList.php
index 384f2c19..f73a3bee 100644
--- a/src/Commands/Employees/ListEmployees.php
+++ b/src/Commands/Employee/EmployeeList.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands\Employees;
+namespace FOP\Console\Commands\Employee;
use Configuration;
use Db;
@@ -26,12 +26,13 @@
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
-final class ListEmployees extends Command
+final class EmployeeList extends Command
{
protected function configure(): void
{
$this
- ->setName('fop:employees:list')
+ ->setName('fop:employee:list')
+ ->setAliases(['fop:employees:list'])
->setDescription('List employees')
->setHelp('List employees registered in admin');
}
diff --git a/src/Commands/DebugMode.php b/src/Commands/Environment/EnvironmentDebug.php
similarity index 92%
rename from src/Commands/DebugMode.php
rename to src/Commands/Environment/EnvironmentDebug.php
index da58d325..d6da52e0 100644
--- a/src/Commands/DebugMode.php
+++ b/src/Commands/Environment/EnvironmentDebug.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands;
+namespace FOP\Console\Commands\Environment;
use FOP\Console\Command;
use PrestaShop\PrestaShop\Adapter\Debug\DebugMode as DebugAdapter;
@@ -26,7 +26,7 @@
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
-final class DebugMode extends Command
+class EnvironmentDebug extends Command
{
/**
* @var array possible allowed dev mode passed in command
@@ -39,8 +39,9 @@ final class DebugMode extends Command
protected function configure(): void
{
$this
- ->setName('fop:debug-mode')
- ->setDescription('Enable or Disable debug mode.')
+ ->setName('fop:environment:debug')
+ ->setAliases(['fop:debug-mode'])
+ ->setDescription('Enable or disable debug mode.')
->setHelp('Get or change debug mode. Change _PS_MODE_DEV_ value.')
->addArgument(
'action',
diff --git a/src/Commands/DevSetupEnv.php b/src/Commands/Environment/EnvironmentSetupDev.php
similarity index 98%
rename from src/Commands/DevSetupEnv.php
rename to src/Commands/Environment/EnvironmentSetupDev.php
index 14fae782..4a7c4a1e 100644
--- a/src/Commands/DevSetupEnv.php
+++ b/src/Commands/Environment/EnvironmentSetupDev.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands;
+namespace FOP\Console\Commands\Environment;
use Configuration;
use FOP\Console\Command;
@@ -29,7 +29,7 @@
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Question\Question;
-final class DevSetupEnv extends Command
+class EnvironmentSetupDev extends Command
{
/**
* @var mixed
@@ -50,7 +50,8 @@ final class DevSetupEnv extends Command
protected function configure(): void
{
- $this->setName('fop:dev:setup-env')
+ $this->setName('fop:environment:setup-dev')
+ ->setAliases(['fop:dev:setup-env'])
->setDescription('Install your project for local developement')
->setHelp('This command update database configuration with dev parameters (url, ssl, passwords). ' . PHP_EOL .
'How to use : ' . PHP_EOL .
diff --git a/src/Commands/Export.php b/src/Commands/Export/ExportData.php
similarity index 93%
rename from src/Commands/Export.php
rename to src/Commands/Export/ExportData.php
index 41cfe215..4ff6bbef 100644
--- a/src/Commands/Export.php
+++ b/src/Commands/Export/ExportData.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands;
+namespace FOP\Console\Commands\Export;
use Customer;
use FOP\Console\Command;
@@ -32,7 +32,7 @@
/**
* This command is an exporter.
*/
-final class Export extends Command
+final class ExportData extends Command
{
/**
* {@inheritdoc}
@@ -40,7 +40,8 @@ final class Export extends Command
protected function configure(): void
{
$this
- ->setName('fop:export')
+ ->setName('fop:export:data')
+ ->setAliases(['fop:export'])
->setDescription('Allows to export data in XML')
->setHelp('This command allows you to export most of your data in XML')
->addArgument('model', InputArgument::OPTIONAL, 'The Object Model to export', 'Product')
diff --git a/src/Commands/GenerateHtaccess.php b/src/Commands/Generate/GenerateHtaccess.php
similarity index 94%
rename from src/Commands/GenerateHtaccess.php
rename to src/Commands/Generate/GenerateHtaccess.php
index da577c3a..16e7cf91 100644
--- a/src/Commands/GenerateHtaccess.php
+++ b/src/Commands/Generate/GenerateHtaccess.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands;
+namespace FOP\Console\Commands\Generate;
use FOP\Console\Command;
use Symfony\Component\Console\Input\InputInterface;
@@ -34,6 +34,7 @@ protected function configure(): void
{
$this
->setName('fop:generate:htaccess')
+ ->setAliases(['fop:debug-mode'])
->setDescription('Generate the .htaccess file');
}
diff --git a/src/Commands/GenerateRobots.php b/src/Commands/Generate/GenerateRobots.php
similarity index 97%
rename from src/Commands/GenerateRobots.php
rename to src/Commands/Generate/GenerateRobots.php
index fcdc15d4..07ece6f0 100644
--- a/src/Commands/GenerateRobots.php
+++ b/src/Commands/Generate/GenerateRobots.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands;
+namespace FOP\Console\Commands\Generate;
use FOP\Console\Command;
use Symfony\Component\Console\Input\InputInterface;
diff --git a/src/Commands/Customers/CustomersGroups.php b/src/Commands/Group/GroupTransferCustomers.php
similarity index 96%
rename from src/Commands/Customers/CustomersGroups.php
rename to src/Commands/Group/GroupTransferCustomers.php
index 90450bd5..9214de7c 100644
--- a/src/Commands/Customers/CustomersGroups.php
+++ b/src/Commands/Group/GroupTransferCustomers.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands\Customers;
+namespace FOP\Console\Commands\Group;
use Customer;
use FOP\Console\Command;
@@ -31,9 +31,9 @@
use Validate;
/**
- * This command display common information the latest products.
+ * This command transfers or add customers from one group to an other.
*/
-final class CustomersGroups extends Command
+final class GroupTransferCustomers extends Command
{
public const SUCCESS = 0;
public const FAILURE = 1;
@@ -55,9 +55,10 @@ final class CustomersGroups extends Command
protected function configure(): void
{
$this
- ->setName('fop:customer-groups')
- ->setDescription('Customer groups')
- ->setHelp('Customer groups')
+ ->setName('fop:group:transfer-customers')
+ ->setAliases(['fop:customer-groups'])
+ ->setDescription('Transfer or add customers from one group to an other.')
+ ->setHelp('Transfer or add customers from one group to an other.')
;
}
diff --git a/src/Commands/AddHook.php b/src/Commands/Hook/HookAdd.php
similarity index 96%
rename from src/Commands/AddHook.php
rename to src/Commands/Hook/HookAdd.php
index 6f0ef70f..d8b1b7d8 100644
--- a/src/Commands/AddHook.php
+++ b/src/Commands/Hook/HookAdd.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands;
+namespace FOP\Console\Commands\Hook;
use FOP\Console\Command;
use Symfony\Component\Console\Input\InputInterface;
@@ -27,14 +27,15 @@
use Symfony\Component\Console\Question\Question;
use Validate;
-final class AddHook extends Command
+final class HookAdd extends Command
{
/**
* {@inheritdoc}
*/
protected function configure(): void
{
- $this->setName('fop:add-hook')
+ $this->setName('fop:hook:add')
+ ->setAliases(['fop:add-hook'])
->setDescription('Create hook in database')
->setHelp('This command allows you create a new hook in database,
you dont need to graft a module on it!');
diff --git a/src/Commands/Images/GenerateAbstract.php b/src/Commands/Image/ImageGenerateAbstract.php
similarity index 98%
rename from src/Commands/Images/GenerateAbstract.php
rename to src/Commands/Image/ImageGenerateAbstract.php
index 92a0987a..2d4028b2 100644
--- a/src/Commands/Images/GenerateAbstract.php
+++ b/src/Commands/Image/ImageGenerateAbstract.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands\Images;
+namespace FOP\Console\Commands\Image;
use Configuration;
use Db;
@@ -33,7 +33,7 @@
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
-abstract class GenerateAbstract extends Command
+abstract class ImageGenerateAbstract extends Command
{
/** @var string Image type (overrided in subclasses) */
const IMAGE_TYPE = '';
@@ -60,7 +60,8 @@ protected function initialize(InputInterface $input, OutputInterface $output): v
protected function configure(): void
{
$this
- ->setName('fop:images:generate:' . static::IMAGE_TYPE)
+ ->setName('fop:image:generate:' . static::IMAGE_TYPE)
+ ->setAliases(['fop:images:generate:' . static::IMAGE_TYPE])
->setDescription('Regenerate ' . static::IMAGE_TYPE . ' thumbnails')
->addArgument(
'format',
diff --git a/src/Commands/Images/GenerateCategories.php b/src/Commands/Image/ImageGenerateCategories.php
similarity index 89%
rename from src/Commands/Images/GenerateCategories.php
rename to src/Commands/Image/ImageGenerateCategories.php
index daf7ad0b..5e23cddd 100644
--- a/src/Commands/Images/GenerateCategories.php
+++ b/src/Commands/Image/ImageGenerateCategories.php
@@ -18,9 +18,9 @@
*
*/
-namespace FOP\Console\Commands\Images;
+namespace FOP\Console\Commands\Image;
-final class GenerateCategories extends GenerateAbstract
+class ImageGenerateCategories extends ImageGenerateAbstract
{
/** @var string Image type */
const IMAGE_TYPE = 'categories';
diff --git a/src/Commands/Images/GenerateManufacturers.php b/src/Commands/Image/ImageGenerateManufacturers.php
similarity index 89%
rename from src/Commands/Images/GenerateManufacturers.php
rename to src/Commands/Image/ImageGenerateManufacturers.php
index d4737901..ce0471ef 100644
--- a/src/Commands/Images/GenerateManufacturers.php
+++ b/src/Commands/Image/ImageGenerateManufacturers.php
@@ -18,9 +18,9 @@
*
*/
-namespace FOP\Console\Commands\Images;
+namespace FOP\Console\Commands\Image;
-final class GenerateManufacturers extends GenerateAbstract
+class ImageGenerateManufacturers extends ImageGenerateAbstract
{
/** @var string Image type */
const IMAGE_TYPE = 'manufacturers';
diff --git a/src/Commands/Images/GenerateProducts.php b/src/Commands/Image/ImageGenerateProducts.php
similarity index 89%
rename from src/Commands/Images/GenerateProducts.php
rename to src/Commands/Image/ImageGenerateProducts.php
index cd9ef7a5..0083abf4 100644
--- a/src/Commands/Images/GenerateProducts.php
+++ b/src/Commands/Image/ImageGenerateProducts.php
@@ -18,9 +18,9 @@
*
*/
-namespace FOP\Console\Commands\Images;
+namespace FOP\Console\Commands\Image;
-final class GenerateProducts extends GenerateAbstract
+class ImageGenerateProducts extends ImageGenerateAbstract
{
/** @var string Image type */
const IMAGE_TYPE = 'products';
diff --git a/src/Commands/Images/GenerateStores.php b/src/Commands/Image/ImageGenerateStores.php
similarity index 89%
rename from src/Commands/Images/GenerateStores.php
rename to src/Commands/Image/ImageGenerateStores.php
index cd15f8e8..71f88f26 100644
--- a/src/Commands/Images/GenerateStores.php
+++ b/src/Commands/Image/ImageGenerateStores.php
@@ -18,9 +18,9 @@
*
*/
-namespace FOP\Console\Commands\Images;
+namespace FOP\Console\Commands\Image;
-final class GenerateStores extends GenerateAbstract
+class ImageGenerateStores extends ImageGenerateAbstract
{
/** @var string Image type */
const IMAGE_TYPE = 'stores';
diff --git a/src/Commands/Images/GenerateSuppliers.php b/src/Commands/Image/ImageGenerateSuppliers.php
similarity index 89%
rename from src/Commands/Images/GenerateSuppliers.php
rename to src/Commands/Image/ImageGenerateSuppliers.php
index 6eedeb70..b86d3956 100644
--- a/src/Commands/Images/GenerateSuppliers.php
+++ b/src/Commands/Image/ImageGenerateSuppliers.php
@@ -18,9 +18,9 @@
*
*/
-namespace FOP\Console\Commands\Images;
+namespace FOP\Console\Commands\Image;
-final class GenerateSuppliers extends GenerateAbstract
+class ImageGenerateSuppliers extends ImageGenerateAbstract
{
/** @var string Image type */
const IMAGE_TYPE = 'suppliers';
diff --git a/src/Commands/Modules/HookModule.php b/src/Commands/Module/ModuleHook.php
similarity index 94%
rename from src/Commands/Modules/HookModule.php
rename to src/Commands/Module/ModuleHook.php
index 2c88db7c..0fd25b03 100644
--- a/src/Commands/Modules/HookModule.php
+++ b/src/Commands/Module/ModuleHook.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands\Modules;
+namespace FOP\Console\Commands\Module;
use FOP\Console\Command;
use Symfony\Component\Console\Input\InputInterface;
@@ -26,11 +26,12 @@
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Question\Question;
-final class HookModule extends Command
+class ModuleHook extends Command
{
protected function configure(): void
{
- $this->setName('fop:modules:hook')
+ $this->setName('fop:module:hook')
+ ->setAliases(['fop:modules:hook'])
->setDescription('Attach one module on specific hook')
->setHelp('This command allows you to attach a module on one hook');
$this->addUsage('--module=[modulename]');
diff --git a/src/Commands/Modules/ModuleHooks.php b/src/Commands/Module/ModuleHooks.php
similarity index 93%
rename from src/Commands/Modules/ModuleHooks.php
rename to src/Commands/Module/ModuleHooks.php
index bb6e01ad..d62b7e16 100644
--- a/src/Commands/Modules/ModuleHooks.php
+++ b/src/Commands/Module/ModuleHooks.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands\Modules;
+namespace FOP\Console\Commands\Module;
use FOP\Console\Command;
use Module;
@@ -32,8 +32,9 @@ final class ModuleHooks extends Command
protected function configure(): void
{
$this
- ->setName('fop:modules:hooks')
- ->setDescription('Get modules list')
+ ->setName('fop:module:hooks')
+ ->setAliases(['fop:modules:hooks'])
+ ->setDescription('Get module hooks list')
->addArgument(
'name',
InputArgument::REQUIRED,
diff --git a/src/Commands/Modules/NonEssentialModules.php b/src/Commands/Module/ModuleNonEssential.php
similarity index 97%
rename from src/Commands/Modules/NonEssentialModules.php
rename to src/Commands/Module/ModuleNonEssential.php
index 2fdacb86..ebd6b753 100644
--- a/src/Commands/Modules/NonEssentialModules.php
+++ b/src/Commands/Module/ModuleNonEssential.php
@@ -20,7 +20,7 @@
declare(strict_types=1);
-namespace FOP\Console\Commands\Modules;
+namespace FOP\Console\Commands\Module;
use FOP\Console\Command;
use Symfony\Component\Console\Input\ArrayInput;
@@ -29,7 +29,7 @@
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
-final class NonEssentialModules extends Command
+class ModuleNonEssential extends Command
{
/**
* @var array possible allowed command
@@ -45,7 +45,8 @@ final class NonEssentialModules extends Command
protected function configure(): void
{
$this
- ->setName('fop:modules:non-essential')
+ ->setName('fop:module:non-essential')
+ ->setAliases(['fop:modules:non-essential'])
->setDescription('Manage non-essential modules.')
->setHelp('This command Uninstall or Install non-essential modules.')
->addArgument(
diff --git a/src/Commands/Modules/RenameModule.php b/src/Commands/Module/ModuleRename.php
similarity index 99%
rename from src/Commands/Modules/RenameModule.php
rename to src/Commands/Module/ModuleRename.php
index 13ca1acf..5e698481 100644
--- a/src/Commands/Modules/RenameModule.php
+++ b/src/Commands/Module/ModuleRename.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands\Modules;
+namespace FOP\Console\Commands\Module;
use FOP\Console\Command;
use Module;
@@ -35,7 +35,7 @@
use Symfony\Component\Finder\Finder;
use Symfony\Component\Process\Process;
-final class RenameModule extends Command
+final class ModuleRename extends Command
{
private $caseReplaceFormats;
@@ -48,7 +48,8 @@ final class RenameModule extends Command
protected function configure(): void
{
$this
- ->setName('fop:modules:rename')
+ ->setName('fop:module:rename')
+ ->setAliases(['fop:modules:rename'])
->setDescription('Rename module')
->addUsage('[--new-author] ')
diff --git a/src/Commands/Modules/UnhookModule.php b/src/Commands/Module/ModuleUnhook.php
similarity index 94%
rename from src/Commands/Modules/UnhookModule.php
rename to src/Commands/Module/ModuleUnhook.php
index c3ff54a7..3fe9d10e 100644
--- a/src/Commands/Modules/UnhookModule.php
+++ b/src/Commands/Module/ModuleUnhook.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands\Modules;
+namespace FOP\Console\Commands\Module;
use FOP\Console\Command;
use Symfony\Component\Console\Input\InputInterface;
@@ -26,11 +26,12 @@
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Question\Question;
-final class UnhookModule extends Command
+final class ModuleUnhook extends Command
{
protected function configure(): void
{
- $this->setName('fop:modules:unhook')
+ $this->setName('fop:module:unhook')
+ ->setAliases(['fop:modules:unhook'])
->setDescription('Detach module from hook')
->setHelp('This command allows you to detach a module from one hook');
$this->addUsage('--module=[modulename]');
diff --git a/src/Commands/MakeOverride.php b/src/Commands/Override/OverrideMake.php
similarity index 98%
rename from src/Commands/MakeOverride.php
rename to src/Commands/Override/OverrideMake.php
index 5ffc6414..6cc6ecb6 100644
--- a/src/Commands/MakeOverride.php
+++ b/src/Commands/Override/OverrideMake.php
@@ -20,7 +20,7 @@
declare(strict_types=1);
-namespace FOP\Console\Commands;
+namespace FOP\Console\Commands\Override;
use Exception;
use FOP\Console\Command;
@@ -31,7 +31,7 @@
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
-final class MakeOverride extends Command
+class OverrideMake extends Command
{
protected function configure(): void
{
diff --git a/src/Commands/LatestProducts.php b/src/Commands/Product/ProductLatest.php
similarity index 92%
rename from src/Commands/LatestProducts.php
rename to src/Commands/Product/ProductLatest.php
index c33366cb..1c59ba95 100644
--- a/src/Commands/LatestProducts.php
+++ b/src/Commands/Product/ProductLatest.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands;
+namespace FOP\Console\Commands\Product;
use FOP\Console\Command;
use Product;
@@ -28,12 +28,13 @@
/**
* This command displays common information about the latest products.
*/
-final class LatestProducts extends Command
+final class ProductLatest extends Command
{
protected function configure(): void
{
$this
- ->setName('fop:latest-products')
+ ->setName('fop:product:latest')
+ ->setAliases(['fop:latest-products'])
->setDescription('Displays the latest products')
->setHelp('This command allows you to display the latest products')
;
diff --git a/src/Commands/Maintenance.php b/src/Commands/Shop/ShopMaintenance.php
similarity index 96%
rename from src/Commands/Maintenance.php
rename to src/Commands/Shop/ShopMaintenance.php
index 2ac2a893..e7a9c19d 100644
--- a/src/Commands/Maintenance.php
+++ b/src/Commands/Shop/ShopMaintenance.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands;
+namespace FOP\Console\Commands\Shop;
use Configuration;
use FOP\Console\Command;
@@ -29,7 +29,7 @@
/**
* This command display and change maintenance status.
*/
-final class Maintenance extends Command
+final class ShopMaintenance extends Command
{
/**
* @var array possible allowed maintenance mode passed in command
@@ -42,7 +42,8 @@ final class Maintenance extends Command
protected function configure(): void
{
$this
- ->setName('fop:maintenance')
+ ->setName('fop:shop:maintenance')
+ ->setAliases(['fop:maintenance'])
->setDescription('Configure maintenance mode')
->setHelp('This command allows you to get status or change maintenance mode')
->addArgument(
diff --git a/src/Commands/ShopStatus.php b/src/Commands/Shop/ShopStatus.php
similarity index 96%
rename from src/Commands/ShopStatus.php
rename to src/Commands/Shop/ShopStatus.php
index a8dc382d..c3b3211b 100644
--- a/src/Commands/ShopStatus.php
+++ b/src/Commands/Shop/ShopStatus.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands;
+namespace FOP\Console\Commands\Shop;
use FOP\Console\Command;
use Shop;
@@ -34,7 +34,8 @@ final class ShopStatus extends Command
protected function configure(): void
{
$this
- ->setName('fop:shop-status')
+ ->setName('fop:shop:status')
+ ->setAliases(['fop:shop-status'])
->setDescription('Display shops statuses')
->addArgument('id_shop', InputArgument::OPTIONAL, 'Specify an id_shop')
->addArgument('action', InputArgument::OPTIONAL, 'enable or disable');
diff --git a/src/Commands/ThemeResetLayout.php b/src/Commands/Theme/ThemeResetLayout.php
similarity index 96%
rename from src/Commands/ThemeResetLayout.php
rename to src/Commands/Theme/ThemeResetLayout.php
index 4c6329f4..4544afd6 100644
--- a/src/Commands/ThemeResetLayout.php
+++ b/src/Commands/Theme/ThemeResetLayout.php
@@ -18,7 +18,7 @@
*
*/
-namespace FOP\Console\Commands;
+namespace FOP\Console\Commands\Theme;
use FOP\Console\Command;
use Symfony\Component\Console\Helper\Table;
@@ -35,7 +35,8 @@ final class ThemeResetLayout extends Command
protected function configure(): void
{
$this
- ->setName('fop:theme-reset')
+ ->setName('fop:theme:reset-layout')
+ ->setAliases(['fop:theme-reset'])
->setDescription('Reset current theme layout')
->setHelp('Disable & re-enable theme configuration')
->addArgument('theme', InputArgument::OPTIONAL, 'Theme on which the action will be executed')
diff --git a/tests/Resources/commands-formats.csv b/tests/Resources/commands-formats.csv
new file mode 100644
index 00000000..09302eac
--- /dev/null
+++ b/tests/Resources/commands-formats.csv
@@ -0,0 +1,10 @@
+Module,ModuleRename,fop:module:rename,fop.console.module.rename.command,true
+Group,TransferCustomers,fop:group:transfer-customers,fop.console.group.transfer_customers.command,false
+,GroupTransferCustomers,fop:group:transfer-customers,fop.console.group.transfer_customers.command,false
+Group,Group,fop:group,fop.console.group.command,false
+group,groupTransferCustomers,fop:group:transfer-customers,fop.console.group.transfer_customers.command,true
+group,groupTransferCustomers,fop:group:transfer-customers,fop.console.group.transfer_customers.command,true
+Group,GroupTransferCustomers,fop:group:transfercustomers,fop.console.group.transfer_customers.command,false
+Group,GroupTransferCustomers,fop:group:transfer-customers,fop.console.group.transfercustomers.command,false
+Group,GroupTransferCustomers,fop:group:transfer-customers,fop.console.group.transfer_customers.command,true
+Group,GroupTransferCustomers,fop:group:transfer:customers,fop.console.group.transfer.customers.command,true
diff --git a/tests/Unit/CSVFileIterator.php b/tests/Unit/CSVFileIterator.php
new file mode 100644
index 00000000..d175bbe7
--- /dev/null
+++ b/tests/Unit/CSVFileIterator.php
@@ -0,0 +1,71 @@
+
+ * @copyright since 2020 Friends of Presta
+ * @license https://opensource.org/licenses/AFL-3.0 Academic Free License ("AFL") v. 3.0
+ *
+ */
+
+declare(strict_types=1);
+
+namespace FOP\Console\Tests\Unit;
+
+final class CSVFileIterator implements \Iterator
+{
+ private $file;
+ private $key = 0;
+ private $current;
+
+ public function __construct(string $file)
+ {
+ $this->file = fopen($file, 'r');
+ }
+
+ public function __destruct()
+ {
+ fclose($this->file);
+ }
+
+ public function rewind(): void
+ {
+ rewind($this->file);
+
+ $this->current = fgetcsv($this->file);
+
+ $this->key = 0;
+ }
+
+ public function valid(): bool
+ {
+ return !feof($this->file);
+ }
+
+ public function key(): int
+ {
+ return $this->key;
+ }
+
+ public function current(): array
+ {
+ return $this->current;
+ }
+
+ public function next(): void
+ {
+ $this->current = fgetcsv($this->file);
+
+ ++$this->key;
+ }
+}
diff --git a/tests/Unit/FOPCommandFormatsValidatorTest.php b/tests/Unit/FOPCommandFormatsValidatorTest.php
new file mode 100755
index 00000000..918158ff
--- /dev/null
+++ b/tests/Unit/FOPCommandFormatsValidatorTest.php
@@ -0,0 +1,57 @@
+
+ * @copyright since 2020 Friends of Presta
+ * @license https://opensource.org/licenses/AFL-3.0 Academic Free License ("AFL") v. 3.0
+ *
+ */
+
+namespace FOP\Console\Tests\Unit;
+
+use FOP\Console\Tests\Validator\FOPCommandFormatsValidator;
+use PHPUnit\Framework\TestCase;
+
+class FOPCommandFormatsValidatorTest extends TestCase
+{
+ /** @var FOPCommandFormatsValidator */
+ private $validator;
+
+ protected function setUp(): void
+ {
+ $this->validator = new FOPCommandFormatsValidator();
+ }
+
+ /**
+ * @dataProvider commandsFormatsProvider
+ */
+ public function testValidate($commandDomain, $commandClassName, $commandName, $commandService, $expected)
+ {
+ $this->assertSame(
+ filter_var($expected, FILTER_VALIDATE_BOOLEAN),
+ $this->validator->validate(
+ $commandDomain,
+ $commandClassName,
+ $commandName,
+ $commandService
+ ),
+ implode(PHP_EOL, $this->validator->getValidationMessages())
+ );
+ }
+
+ public function commandsFormatsProvider(): CSVFileIterator
+ {
+ return new CSVFileIterator('tests/Resources/commands-formats.csv');
+ }
+}
diff --git a/tests/Unit/bootstrap.php b/tests/Unit/bootstrap.php
new file mode 100644
index 00000000..93aa7a4e
--- /dev/null
+++ b/tests/Unit/bootstrap.php
@@ -0,0 +1,27 @@
+
+ * @copyright since 2020 Friends of Presta
+ * @license https://opensource.org/licenses/AFL-3.0 Academic Free License ("AFL") v. 3.0
+ *
+ */
+
+define('_PS_IN_TEST_', true);
+define('_PS_ROOT_DIR_', dirname(__DIR__, 2));
+define('_PS_MODULE_DIR_', _PS_ROOT_DIR_ . '/tests/Resources/modules/');
+
+if (!defined('PHPUNIT_COMPOSER_INSTALL')) {
+ define('PHPUNIT_COMPOSER_INSTALL', __DIR__ . '/../../vendor/autoload.php');
+}
diff --git a/tests/Unit/phpunit.xml b/tests/Unit/phpunit.xml
new file mode 100644
index 00000000..6f014380
--- /dev/null
+++ b/tests/Unit/phpunit.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ .
+
+
+
diff --git a/tests/Validator/FOPCommandFormatsValidator.php b/tests/Validator/FOPCommandFormatsValidator.php
new file mode 100755
index 00000000..f83e46dc
--- /dev/null
+++ b/tests/Validator/FOPCommandFormatsValidator.php
@@ -0,0 +1,152 @@
+
+ * @copyright since 2020 Friends of Presta
+ * @license https://opensource.org/licenses/AFL-3.0 Academic Free License ("AFL") v. 3.0
+ *
+ */
+
+declare(strict_types=1);
+
+namespace FOP\Console\Tests\Validator;
+
+class FOPCommandFormatsValidator
+{
+ /**
+ * @var array Validation messages
+ */
+ private $validationMessages = [];
+
+ /**
+ * @param string $commandDomain domain, e.g. Module
+ * @param string $commandClassName php class name, e.g. ModuleHooks
+ * @param string $commandName symfony command name, e.g. fop:modules:hooks
+ * @param string $commandServiceName service name defined in config/services.yml. e.g. fop.console.modules.module_hooks.command
+ *
+ * @return bool
+ */
+ public function validate(
+ string $commandDomain,
+ string $commandClassName,
+ string $commandName,
+ string $commandServiceName
+ ): bool {
+ if (empty($commandDomain)) {
+ $this->addValidationMessage(
+ $commandClassName,
+ "Domain can't be empty."
+ );
+
+ return false;
+ }
+
+ if (strpos($commandClassName, $commandDomain) !== 0) {
+ $this->addValidationMessage(
+ $commandClassName,
+ "Domain $commandDomain must be included in command class name."
+ );
+
+ return false;
+ }
+
+ $commandAction = str_replace($commandDomain, '', $commandClassName);
+
+ if (empty($commandAction)) {
+ $this->addValidationMessage(
+ $commandClassName,
+ "Action can't be empty."
+ );
+
+ return false;
+ }
+
+ $commandDomain = ucfirst($commandDomain);
+ $commandAction = ucfirst($commandAction);
+
+ if (!$this->isCommandNameValid($commandClassName, $commandName, $commandDomain, $commandAction)) {
+ return false;
+ }
+
+ if (!$this->isCommandServiceNameValid($commandClassName, $commandServiceName, $commandDomain, $commandAction)) {
+ return false;
+ }
+
+ return true;
+ }
+
+ private function isCommandNameValid($commandClassName, $commandName, $commandDomain, $commandAction)
+ {
+ // Command name pattern = fop:command-domain:command[:-]action
+ $expectedCommandNamePattern = strtolower(
+ 'fop:'
+ . implode('-', $this->getWords($commandDomain))
+ . ':'
+ . implode('[:-]', $this->getWords($commandAction))
+ );
+
+ if (!preg_match('/^' . $expectedCommandNamePattern . '$/', $commandName)) {
+ $this->addValidationMessage(
+ $commandClassName,
+ 'Wrong format for command class name.' . PHP_EOL
+ . "Expected = $expectedCommandNamePattern" . PHP_EOL
+ . "Actual = $commandName"
+ );
+
+ return false;
+ }
+
+ return true;
+ }
+
+ private function isCommandServiceNameValid($commandClassName, $commandServiceName, $commandDomain, $commandAction)
+ {
+ // Command service name pattern = fop.console.command_domain.command[\._]action.command
+ $expectedCommandServiceNamePattern = strtolower(
+ 'fop.console.'
+ . implode('_', $this->getWords($commandDomain))
+ . '.'
+ . implode('[\._]', $this->getWords($commandAction))
+ . '.command'
+ );
+
+ if (!preg_match('/^' . $expectedCommandServiceNamePattern . '$/', $commandServiceName)) {
+ $this->addValidationMessage(
+ $commandClassName,
+ 'Wrong format for command service name.' . PHP_EOL
+ . "Expected = $expectedCommandServiceNamePattern" . PHP_EOL
+ . "Actual = $commandServiceName"
+ );
+
+ return false;
+ }
+
+ return true;
+ }
+
+ private function getWords($subject)
+ {
+ return preg_split('/(?=[A-Z])/', $subject, -1, PREG_SPLIT_NO_EMPTY);
+ }
+
+ private function addValidationMessage(string $command, string $message)
+ {
+ $this->validationMessages[] = "[$command] => " . $message;
+ }
+
+ public function getValidationMessages()
+ {
+ return $this->validationMessages;
+ }
+}