Skip to content

Commit

Permalink
Merge pull request #1 from symplify/move-source-here
Browse files Browse the repository at this point in the history
Move symplify/packages/phpstan-extensions source here
  • Loading branch information
samsonasik authored Feb 5, 2023
2 parents c7cf862 + 137bbe5 commit d0152b5
Show file tree
Hide file tree
Showing 14 changed files with 197 additions and 46 deletions.
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,7 @@
phpunit.xml export-ignore
*.md export-ignore
/tests export-ignore
/easy-ci.php export-ignore
/ecs.php export-ignore
/phpstan.neon export-ignore
/rector.php export-ignore
23 changes: 0 additions & 23 deletions .github/workflows/auto_closer.yaml

This file was deleted.

65 changes: 65 additions & 0 deletions .github/workflows/code_analysis.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Code Analysis

on:
pull_request: null
push:
branches:
- main

env:
# see https://github.com/composer/composer/issues/9368#issuecomment-718112361
COMPOSER_ROOT_VERSION: "dev-main"

jobs:
code_analysis:
strategy:
fail-fast: false
matrix:
actions:
-
name: 'PHPStan'
run: composer phpstan --ansi

-
name: 'Composer Validate'
run: composer validate --ansi

-
name: 'Rector'
run: composer rector --ansi

-
name: 'Coding Standard'
run: composer fix-cs --ansi

-
name: 'Tests'
run: vendor/bin/phpunit

-
name: 'PHP Linter'
run: vendor/bin/parallel-lint src tests

-
name: 'Check Commented Code'
run: vendor/bin/easy-ci check-commented-code src tests --ansi

-
name: 'Check Active Classes'
run: vendor/bin/easy-ci check-active-class src --ansi

name: ${{ matrix.actions.name }}
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
# see https://github.com/shivammathur/setup-php
- uses: shivammathur/setup-php@v2
with:
php-version: 8.1
coverage: none

# composer install cache - https://github.com/ramsey/composer-install
- uses: "ramsey/composer-install@v2"

- run: ${{ matrix.actions.run }}
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
/vendor
composer.lock
composer.lock
/.phpunit.result.cache
41 changes: 24 additions & 17 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,16 @@
"symplify/package-builder": "^11.2"
},
"require-dev": {
"phpunit/phpunit": "^9.5.26"
"php-parallel-lint/php-parallel-lint": "^1.3",
"phpstan/extension-installer": "^1.2",
"phpunit/phpunit": "^9.5.26",
"rector/rector": "^0.15.10",
"symplify/easy-ci": "^11.1",
"symplify/easy-coding-standard": "^11.1",
"symplify/package-builder": "^11.2",
"symplify/phpstan-rules": "11.2.3.72",
"symplify/symplify-kernel": "^11.2",
"tomasvotruba/unused-public": "^0.0.34"
},
"autoload": {
"psr-4": {
Expand All @@ -31,22 +40,20 @@
]
}
},
"conflict": {
"symplify/phpstan-rules": "<11.1.24",
"symplify/easy-testing": "<11.1.25",
"symplify/rule-doc-generator-contracts": "<11.1.25",
"symplify/php-config-printer": "<11.1.25",
"symplify/autowire-array-parameter": "<11.1.25",
"symplify/rule-doc-generator": "<11.1.25",
"symplify/symfony-static-dumper": "<11.1.25",
"symplify/symplify-kernel": "<11.1.25",
"symplify/config-transformer": "<11.1.24",
"symplify/coding-standard": "<11.1.24",
"symplify/easy-parallel": "<11.1.25",
"symplify/smart-file-system": "<11.1.25",
"symplify/easy-ci": "<11.1.24",
"symplify/monorepo-builder": "<11.1.24"
"scripts": {
"check-cs": "vendor/bin/ecs check --ansi",
"fix-cs": "vendor/bin/ecs check --fix --ansi",
"phpstan": "vendor/bin/phpstan analyse --ansi --error-format symplify",
"rector": "vendor/bin/rector process --dry-run --ansi"
},
"minimum-stability": "dev",
"prefer-stable": true
"prefer-stable": true,
"config": {
"sort-packages": true,
"platform-check": false,
"allow-plugins": {
"cweagans/composer-patches": true,
"phpstan/extension-installer": true
}
}
}
16 changes: 16 additions & 0 deletions easy-ci.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

declare(strict_types=1);

use Symplify\EasyCI\Config\EasyCIConfig;
use Symplify\PHPStanExtensions\TypeExtension\FuncCall\NativeFunctionDynamicFunctionReturnTypeExtension;
use Symplify\PHPStanExtensions\TypeExtension\MethodCall\ContainerGetReturnTypeExtension;
use Symplify\PHPStanExtensions\TypeExtension\MethodCall\SplFileInfoTolerantReturnTypeExtension;

return static function (EasyCIConfig $easyCIConfig): void {
$easyCIConfig->typesToSkip([
NativeFunctionDynamicFunctionReturnTypeExtension::class,
ContainerGetReturnTypeExtension::class,
SplFileInfoTolerantReturnTypeExtension::class,
]);
};
21 changes: 21 additions & 0 deletions ecs.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?php

declare(strict_types=1);

use Symplify\EasyCodingStandard\Config\ECSConfig;
use Symplify\EasyCodingStandard\ValueObject\Set\SetList;

return static function (ECSConfig $ecsConfig): void {
$ecsConfig->paths([
__DIR__ . '/ecs.php',
__DIR__ . '/rector.php',
__DIR__ . '/easy-ci.php',
__DIR__ . '/src',
__DIR__ . '/tests',
]);

$ecsConfig->sets([
SetList::COMMON,
SetList::PSR_12,
]);
};
27 changes: 27 additions & 0 deletions phpstan.neon
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
includes:
- config/config.neon

parameters:
level: 8

paths:
- src
- tests

excludePaths:
- '*/tests/**/Source/*'
- '*/tests/**/Fixture/*'
- '*/tests/**/data/*'

unused_public:
methods: true
properties: true
constants: true

ignoreErrors:
- '#Calling PHPStan\\Testing\\ErrorFormatterTestCase\:\:(getOutputContent|getOutput|getAnalysisResult)|\(\) is not covered by backward compatibility promise\. The method might change in a minor PHPStan version#'
- '#Extending PHPStan\\Testing\\ErrorFormatterTestCase is not covered by backward compatibility promise\. The class might change in a minor PHPStan version#'

-
path: src/ErrorFormatter/SymplifyErrorFormatter.php
message: '#Cannot call method writeLineFormatted\(\) on PHPStan\\Command\\Output\|null#'
34 changes: 34 additions & 0 deletions rector.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php

declare(strict_types=1);

use Rector\Config\RectorConfig;
use Rector\PHPUnit\Set\PHPUnitSetList;
use Rector\Set\ValueObject\LevelSetList;
use Rector\Set\ValueObject\SetList;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->sets([
SetList::CODE_QUALITY,
SetList::DEAD_CODE,
LevelSetList::UP_TO_PHP_81,
SetList::CODING_STYLE,
SetList::TYPE_DECLARATION,
SetList::NAMING,
SetList::PRIVATIZATION,
SetList::EARLY_RETURN,
PHPUnitSetList::PHPUNIT_CODE_QUALITY,
]);

$rectorConfig->paths([
__DIR__ . '/src',
__DIR__ . '/tests',
]);

$rectorConfig->importNames();

$rectorConfig->skip([
'*/Source/*',
'*/Fixture/*',
]);
};
2 changes: 1 addition & 1 deletion src/ErrorFormatter/SymplifyErrorFormatter.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ final class SymplifyErrorFormatter implements ErrorFormatter
private ?Output $output = null;

public function __construct(
private Terminal $terminal
private readonly Terminal $terminal
) {
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
final class ContainerGetReturnTypeExtension implements DynamicMethodReturnTypeExtension
{
public function __construct(
private ClassConstFetchReturnTypeResolver $classConstFetchReturnTypeResolver
private readonly ClassConstFetchReturnTypeResolver $classConstFetchReturnTypeResolver
) {
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,4 @@

final class ExternalService
{

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
use Symplify\PHPStanExtensions\Tests\TypeExtension\MethodCall\ContainerGetReturnTypeExtension\Source\ExternalService;
use function PHPStan\Testing\assertType;

class SomeClass
final class SomeClass
{
public function run(ContainerInterface $container): void
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
use Symfony\Component\Finder\SplFileInfo;
use function PHPStan\Testing\assertType;

class SomeClass
final class SomeClass
{
public function run(SplFileInfo $splFileInfo): void
{
Expand Down

0 comments on commit d0152b5

Please sign in to comment.