Skip to content

Commit

Permalink
Merge 1cf2ecd into c2fb51e
Browse files Browse the repository at this point in the history
  • Loading branch information
ABGEO committed Jun 14, 2020
2 parents c2fb51e + 1cf2ecd commit 64ca828
Show file tree
Hide file tree
Showing 31 changed files with 1,623 additions and 48 deletions.
11 changes: 11 additions & 0 deletions bin/slim
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
declare(strict_types=1);

use Slim\Console\App;
use Slim\Console\Command\Initializer\InitCommand;
use Slim\Console\Config\ConfigResolver;

$cwd = getcwd();
Expand All @@ -23,4 +24,14 @@ if (file_exists(__DIR__ . '/../../../autoload.php')) {
$config = (new ConfigResolver())->resolve($cwd);

$app = new App($config);

$app->addCommands(
[
new InitCommand(),
]
);

unset($cwd);
unset($config);

$app->run();
107 changes: 59 additions & 48 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,51 +1,62 @@
{
"name": "slim/console",
"type": "library",
"description": "Slim Console",
"keywords": ["framework","php","slim"],
"homepage": "https://www.slimframework.com",
"license": "MIT",
"authors": [
{
"name": "Pierre Berube",
"email": "pierre@lgse.com",
"homepage": "http://www.lgse.com"
}
],
"require": {
"ext-json": "*",
"php": "^7.2",
"symfony/console": "^5.1"
},
"require-dev": {
"adriansuter/php-autoload-override": "^1.1",
"phpspec/prophecy": "^1.10",
"phpstan/phpstan": "^0.12.28",
"phpunit/phpunit": "^8.5",
"squizlabs/php_codesniffer": "^3.5"
},
"autoload": {
"psr-4": {
"Slim\\Console\\": "src"
}
},
"autoload-dev": {
"psr-4": {
"Slim\\Tests\\Console\\": "tests"
}
"name": "slim/console",
"type": "library",
"description": "Slim Console",
"keywords": [
"framework",
"php",
"slim"
],
"homepage": "https://www.slimframework.com",
"license": "MIT",
"authors": [
{
"name": "Pierre Berube",
"email": "pierre@lgse.com",
"homepage": "http://www.lgse.com"
},
"scripts": {
"test": [
"@phpunit",
"@phpcs",
"@phpstan"
],
"phpunit": "phpunit",
"phpcs": "phpcs",
"phpstan": "phpstan analyse src --memory-limit=-1"
},
"config": {
"sort-packages": true
},
"bin": ["bin/slim"]
{
"name": "Temuri Takalandze",
"email": "me@abgeo.dev",
"homepage": "https://abgeo.dev"
}
],
"require": {
"ext-json": "*",
"php": "^7.2",
"symfony/console": "^5.1"
},
"require-dev": {
"adriansuter/php-autoload-override": "^1.1",
"phpspec/prophecy": "^1.10",
"phpstan/phpstan": "^0.12.28",
"phpunit/phpunit": "^8.5",
"squizlabs/php_codesniffer": "^3.5"
},
"autoload": {
"psr-4": {
"Slim\\Console\\": "src"
}
},
"autoload-dev": {
"psr-4": {
"Slim\\Tests\\Console\\": "tests"
}
},
"scripts": {
"test": [
"@phpunit",
"@phpcs",
"@phpstan"
],
"phpunit": "phpunit",
"phpcs": "phpcs",
"phpstan": "phpstan analyse src --memory-limit=-1"
},
"config": {
"sort-packages": true
},
"bin": [
"bin/slim"
]
}
41 changes: 41 additions & 0 deletions src/Command/Initializer/Dependency/Dependency.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<?php

/**
* Slim Framework (https://slimframework.com)
*
* @license https://github.com/slimphp/Slim-Console/blob/0.x/LICENSE.md (MIT License)
*/

namespace Slim\Console\Command\Initializer\Dependency;

/**
* Abstract Dependency class.
*
* @package Slim\Console\Command\Initializer\Dependency
* @author Temuri Takalandze <me@abgeo.dev>
*/
abstract class Dependency
{
public const NAME = 'Abstract Dependency';

/**
* @var array<string>
*/
protected $packages = [];

/**
* @return string
*/
public function getName(): string
{
return static::NAME;
}

/**
* @return array<string>
*/
public function getPackages(): array
{
return $this->packages;
}
}
30 changes: 30 additions & 0 deletions src/Command/Initializer/Dependency/GuzzleDependency.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php

/**
* Slim Framework (https://slimframework.com)
*
* @license https://github.com/slimphp/Slim-Console/blob/0.x/LICENSE.md (MIT License)
*/

namespace Slim\Console\Command\Initializer\Dependency;

use Slim\Console\Command\Initializer\Profiles\blank\Versions;

/**
* Guzzle PSR-7 Dependency.
*
* @package Slim\Console\Command\Initializer\Dependency
* @author Temuri Takalandze <me@abgeo.dev>
*/
class GuzzleDependency extends Dependency
{
public const NAME = 'Guzzle';

/**
* @var array<string>
*/
protected $packages = [
'guzzlehttp/psr7' => Versions::GUZZLE_PSR_7,
'http-interop/http-factory-guzzle' => Versions::HTTP_FACTORY_GUZZLE,
];
}
29 changes: 29 additions & 0 deletions src/Command/Initializer/Dependency/LaminasDependency.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php

/**
* Slim Framework (https://slimframework.com)
*
* @license https://github.com/slimphp/Slim-Console/blob/0.x/LICENSE.md (MIT License)
*/

namespace Slim\Console\Command\Initializer\Dependency;

use Slim\Console\Command\Initializer\Profiles\blank\Versions;

/**
* Laminas Diactoros PSR-7 Dependency.
*
* @package Slim\Console\Command\Initializer\Dependency
* @author Temuri Takalandze <me@abgeo.dev>
*/
class LaminasDependency extends Dependency
{
public const NAME = 'Laminas';

/**
* @var array<string>
*/
protected $packages = [
'laminas/laminas-diactoros' => Versions::LAMINAS,
];
}
29 changes: 29 additions & 0 deletions src/Command/Initializer/Dependency/MonologDependency.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php

/**
* Slim Framework (https://slimframework.com)
*
* @license https://github.com/slimphp/Slim-Console/blob/0.x/LICENSE.md (MIT License)
*/

namespace Slim\Console\Command\Initializer\Dependency;

use Slim\Console\Command\Initializer\Profiles\blank\Versions;

/**
* Monolog PSR-3 Logging Dependency.
*
* @package Slim\Console\Command\Initializer\Dependency
* @author Temuri Takalandze <me@abgeo.dev>
*/
class MonologDependency extends Dependency
{
public const NAME = 'Monolog';

/**
* @var array<string>
*/
protected $packages = [
'monolog/monolog' => Versions::MONOLOG,
];
}
30 changes: 30 additions & 0 deletions src/Command/Initializer/Dependency/NyholmDependency.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php

/**
* Slim Framework (https://slimframework.com)
*
* @license https://github.com/slimphp/Slim-Console/blob/0.x/LICENSE.md (MIT License)
*/

namespace Slim\Console\Command\Initializer\Dependency;

use Slim\Console\Command\Initializer\Profiles\blank\Versions;

/**
* Nyholm PSR-7 Dependency.
*
* @package Slim\Console\Command\Initializer\Dependency
* @author Temuri Takalandze <me@abgeo.dev>
*/
class NyholmDependency extends Dependency
{
public const NAME = 'Nyholm';

/**
* @var array<string>
*/
protected $packages = [
'nyholm/psr7' => Versions::NYHOLM_PSR_7,
'nyholm/psr7-server' => Versions::NYHOLM_PSR_7_SERVER,
];
}
36 changes: 36 additions & 0 deletions src/Command/Initializer/Dependency/OtherDependency.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?php

/**
* Slim Framework (https://slimframework.com)
*
* @license https://github.com/slimphp/Slim-Console/blob/0.x/LICENSE.md (MIT License)
*/

namespace Slim\Console\Command\Initializer\Dependency;

/**
* Other/Empty Dependency.
*
* @package Slim\Console\Command\Initializer\Dependency
* @author Temuri Takalandze <me@abgeo.dev>
*/
class OtherDependency extends Dependency
{
public const NAME = 'Other';

/**
* @var array<string>
*/
protected $packages = [];

/**
* Add to packages.
*
* @param string $package Package Name (vendor/name).
* @param string $version Package Version.
*/
public function addPackage(string $package, string $version): void
{
$this->packages[$package] = $version;
}
}
29 changes: 29 additions & 0 deletions src/Command/Initializer/Dependency/PHPDIDependency.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php

/**
* Slim Framework (https://slimframework.com)
*
* @license https://github.com/slimphp/Slim-Console/blob/0.x/LICENSE.md (MIT License)
*/

namespace Slim\Console\Command\Initializer\Dependency;

use Slim\Console\Command\Initializer\Profiles\blank\Versions;

/**
* PHP DI Dependency Container Dependency.
*
* @package Slim\Console\Command\Initializer\Dependency
* @author Temuri Takalandze <me@abgeo.dev>
*/
class PHPDIDependency extends Dependency
{
public const NAME = 'PHP DI';

/**
* @var array<string>
*/
protected $packages = [
'php-di/php-di' => Versions::PHP_DI,
];
}
29 changes: 29 additions & 0 deletions src/Command/Initializer/Dependency/PimpleDependency.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php

/**
* Slim Framework (https://slimframework.com)
*
* @license https://github.com/slimphp/Slim-Console/blob/0.x/LICENSE.md (MIT License)
*/

namespace Slim\Console\Command\Initializer\Dependency;

use Slim\Console\Command\Initializer\Profiles\blank\Versions;

/**
* PHP DI Dependency Container Dependency.
*
* @package Slim\Console\Command\Initializer\Dependency
* @author Temuri Takalandze <me@abgeo.dev>
*/
class PimpleDependency extends Dependency
{
public const NAME = 'Pimple';

/**
* @var array<string>
*/
protected $packages = [
'pimple/pimple' => Versions::PIMPLE,
];
}

0 comments on commit 64ca828

Please sign in to comment.