Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move symplify/packages/phpstan-extensions source here #1

Merged
merged 9 commits into from
Feb 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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