Skip to content

Commit

Permalink
add new dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
mimmi20 committed May 18, 2024
1 parent 93f2061 commit b08f2e9
Show file tree
Hide file tree
Showing 7 changed files with 159 additions and 40 deletions.
9 changes: 6 additions & 3 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,12 @@ updates:
- dependency-name: "laminas/laminas-servicemanager"
versions:
- ">= 0"
# - dependency-name: phpunit/phpunit
# versions:
# - ">= 0"
- dependency-name: "nikic/php-parser"
versions:
- ">= 0"
- dependency-name: "infection/infection"
versions:
- ">= 0"

- package-ecosystem: "github-actions"

Expand Down
67 changes: 39 additions & 28 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",

"extends": ["github>whitesource/merge-confidence:beta"],
"extends": ["mergeConfidence:all-badges"],

"enabled": true,

"enabled": false,
"assignees": [
"mimmi20"
],
"automerge": false,
"branchConcurrentLimit": 0,
"commitBody": "Signed-off-by: {{{gitAuthor}}}",
"commitBodyTable": true,
"dependencyDashboard": false,
"enabledManagers": ["composer", "github-actions", "npm"],
"ignoreUnstable": true,
"configMigration": true,
"configWarningReuseIssue": false,
"dependencyDashboard": true,
"dependencyDashboardApproval": true,
"dependencyDashboardOSVVulnerabilitySummary": "all",
"labels": [
"dependencies",
"patch"
"dependencies"
],
"lockFileMaintenance": {
"enabled": false
},
"osvVulnerabilityAlerts": true,
"platformAutomerge": false,
"prBodyColumns": [
"Package",
Expand All @@ -33,41 +33,52 @@
"Update": "{{{updateType}}}",
"Change": "[{{#if displayFrom}}`{{{displayFrom}}}` -> {{else}}{{#if currentValue}}`{{{currentValue}}}` -> {{/if}}{{/if}}{{#if displayTo}}`{{{displayTo}}}`{{else}}`{{{newValue}}}`{{/if}}]({{#if depName}}https://renovatebot.com/diffs/npm/{{replace '/' '%2f' depName}}/{{{currentVersion}}}/{{{newVersion}}}{{/if}})"
},
"prConcurrentLimit": 0,
"prCreation": "immediate",
"prHourlyLimit": 0,
"rangeStrategy": "bump",
"rebaseWhen": "behind-base-branch",
"reviewers": [
"mimmi20"
],
"rollbackPrs": true,
"schedule": ["at 4:00 pm on Friday"],
"schedule": ["at 4:00 am on Friday"],
"semanticCommits": "disabled",
"separateMajorMinor": true,
"separateMinorPatch": false,
"timezone": "Europe/Berlin",
"updateLockFiles": false,
"updateNotScheduled": false,
"packageRules": [
{
"groupName": "PHP",
"matchDepNames": ["php"],
"allowedVersions": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0",
"ignoreUnstable": false,
"rangeStrategy": "widen"
},
{
"groupName": "Node",
"matchDepNames": ["node"],
"allowedVersions": "~19.5.0 || ~20.0.0 || ~21.0.0 || ~22.0.0",
"ignoreUnstable": false,
"rangeStrategy": "widen"
},
{
"groupName": "devDependencies",
"matchDepTypes": ["devDependencies", "peerDependencies"],
"rangeStrategy": "widen"
},
{
"matchPackageNames": ["nikic/php-parser", "infection/infection"],
"rangeStrategy": "widen"
},
{
"groupName": "all non-major dependencies",
"groupSlug": "all-minor-patch-dependencies",
"matchPackagePatterns": [
"*"
],
"matchUpdateTypes": [
"minor",
"patch"
]
},
{
"groupName": "PHP",
"matchPackageNames": ["php"],
"allowedVersions": "^8.1",
"ignoreUnstable": false,
"rangeStrategy": "widen"
}
],
"vulnerabilityAlerts": {
"enabled": true
"enabled": true,
"labels": ["security"]
}
}
2 changes: 2 additions & 0 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ jobs:
extensions: "ctype, curl, dom, iconv, intl, mbstring, simplexml, tokenizer, xml, xmlwriter"
ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0"
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v"
skip-php-install: false
skip-npm-install: true

analytics:
name: "Project Analysis"
Expand Down
10 changes: 7 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,21 @@
"ext-tokenizer": "*",
"ext-xml": "*",
"ext-xmlwriter": "*",
"infection/infection": "^0.27.11",
"infection/infection": "^0.27.11 || ^0.28.1",
"laminas/laminas-modulemanager": "^2.15.0",
"laminas/laminas-servicemanager": "^3.22.1 || ^4.0.0",
"mimmi20/coding-standard": "^5.2.30",
"nikic/php-parser": "^v4.19.1",
"nikic/php-parser": "^v4.19.1 || ^v5.0.2",
"phpstan/extension-installer": "^1.3.1",
"phpstan/phpstan": "^1.11.1",
"phpstan/phpstan-deprecation-rules": "^1.2.0",
"phpstan/phpstan-phpunit": "^1.4.0",
"phpunit/phpunit": "^10.5.20",
"rector/rector": "^1.0.5"
"rector/rector": "^1.0.5",
"symplify/phpstan-rules": "^12.4.9",
"tomasvotruba/cognitive-complexity": "^0.2.3",
"tomasvotruba/type-coverage": "^0.2.8",
"tomasvotruba/unused-public": "^0.3.9"
},
"autoload": {
"psr-4": {
Expand Down
83 changes: 80 additions & 3 deletions phpstan.neon
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,6 @@ parameters:
# reports function and method calls with incorrect name case
checkFunctionNameCase: true

# it requires type variables always be specified in typehints
checkGenericClassInNonGenericObjectType: true

# be strict about values with an unspecified (implicit mixed) type
checkImplicitMixed: true

Expand Down Expand Up @@ -97,6 +94,86 @@ parameters:
missingCheckedExceptionInThrows: true
tooWideThrowType: true

cognitive_complexity:
class: 138
function: 24

type_coverage:
return: 100
param: 98.4
property: 100
# also, how many files has declare strict types
declare: 100

unused_public:
methods: true
properties: true
constants: true
local_methods: true

ignoreErrors:
# - '~is not subtype of Throwable~'
- '~Call to static method PHPUnit\\Framework\\Assert::assert.*\(\) with .* will always evaluate to true~'

rules:
# code complexity
- Symplify\PHPStanRules\Rules\Explicit\NoMixedPropertyFetcherRule
- Symplify\PHPStanRules\Rules\Explicit\NoMixedMethodCallerRule
- Symplify\PHPStanRules\Rules\Enum\RequireEnumDocBlockOnConstantListPassRule
- Symplify\PHPStanRules\Rules\NoDynamicNameRule
# - Symplify\PHPStanRules\Rules\Explicit\NoRelativeFilePathRule
# - Symplify\PHPStanRules\Rules\NoReturnArrayVariableListRule # todo: fix

- Symplify\PHPStanRules\Rules\NoProtectedClassElementRule
- Symplify\PHPStanRules\Rules\ForbiddenExtendOfNonAbstractClassRule
- Symplify\PHPStanRules\Rules\Complexity\ForbiddenSameNamedNewInstanceRule

# domain
- Symplify\PHPStanRules\Rules\Domain\RequireExceptionNamespaceRule
- Symplify\PHPStanRules\Rules\Domain\RequireAttributeNamespaceRule
- Symplify\PHPStanRules\Rules\Enum\RequireUniqueEnumConstantRule
- Symplify\PHPStanRules\Rules\ForbiddenParamTypeRemovalRule
- Symplify\PHPStanRules\Rules\PreventParentMethodVisibilityOverrideRule

# paths
- Symplify\PHPStanRules\Rules\NoMissingDirPathRule
- Symplify\PHPStanRules\Rules\NoAbstractMethodRule
- Symplify\PHPStanRules\Rules\NoReferenceRule # References are required
- Symplify\PHPStanRules\Rules\NoArrayAccessOnObjectRule

- Symplify\PHPStanRules\Rules\NoNullableArrayPropertyRule
- Symplify\PHPStanRules\Rules\BoolishClassMethodPrefixRule

# dead-code
- Symplify\PHPStanRules\Rules\NoIssetOnObjectRule

# explicit naming
- Symplify\PHPStanRules\Rules\ForbiddenMultipleClassLikeInOneFileRule

# comlexity
- Symplify\PHPStanRules\Rules\Complexity\ForbiddenSameNamedNewInstanceRule
- Symplify\PHPStanRules\Rules\NarrowType\NoReturnFalseInNonBoolClassMethodRule

- Symplify\PHPStanRules\Rules\Complexity\ForbiddenArrayMethodCallRule
# - Symplify\PHPStanRules\Rules\CheckRequiredInterfaceInContractNamespaceRule
- Symplify\PHPStanRules\Rules\NoEmptyClassRule

# naming
- Symplify\PHPStanRules\Rules\RequireAttributeNameRule

# regexes
- Symplify\PHPStanRules\Rules\AnnotateRegexClassConstWithRegexLinkRule
- Symplify\PHPStanRules\Rules\NoInlineStringRegexRule
- Symplify\PHPStanRules\Rules\RegexSuffixInRegexConstantRule

# naming
- Symplify\PHPStanRules\Rules\Explicit\ExplicitClassPrefixSuffixRule
- Symplify\PHPStanRules\Rules\NoReturnSetterMethodRule
- Symplify\PHPStanRules\Rules\NoVoidGetterMethodRule
- Symplify\PHPStanRules\Rules\UppercaseConstantRule
- Symplify\PHPStanRules\Rules\ClassNameRespectsParentSuffixRule
- Symplify\PHPStanRules\Rules\CheckTypehintCallerTypeRule
- Symplify\PHPStanRules\Rules\CheckClassNamespaceFollowPsr4Rule

includes:
- vendor/symplify/phpstan-rules/config/collector-rules.neon
26 changes: 23 additions & 3 deletions src/StreamFormatter.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,20 +35,28 @@

final class StreamFormatter extends NormalizerFormatter
{
/** @api */
public const SIMPLE_FORMAT = '%message%';

/** @api */
public const BOX_STYLE = 'box';

/** @api */
public const WIDTH_FIRST_COLUMN = 20;

/** @api */
public const WIDTH_SECOND_COLUMN = 20;

/** @api */
public const WIDTH_THIRD_COLUMN = 220;

/** @api */
public const FULL_WIDTH = self::WIDTH_FIRST_COLUMN + self::WIDTH_SECOND_COLUMN + self::WIDTH_THIRD_COLUMN + 10;

/** @api */
public const SPAN_ALL_COLUMS = 3;

/** @api */
public const SPAN_LAST_COLUMNS = 2;

private readonly string $format;
Expand Down Expand Up @@ -87,7 +95,11 @@ public function __construct(
);
}

/** @throws void */
/**
* @throws void
*
* @api
*/
public function includeStacktraces(bool $include = true): self
{
$this->includeStacktraces = $include;
Expand All @@ -99,15 +111,23 @@ public function includeStacktraces(bool $include = true): self
return $this;
}

/** @throws void */
/**
* @throws void
*
* @api
*/
public function allowInlineLineBreaks(bool $allow = true): self
{
$this->allowInlineLineBreaks = $allow;

return $this;
}

/** @throws void */
/**
* @throws void
*
* @api
*/
public function setFormatter(LineFormatter $formatter): void
{
$this->formatter = $formatter;
Expand Down
2 changes: 2 additions & 0 deletions src/StreamFormatterFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,10 @@

final class StreamFormatterFactory implements FactoryInterface
{
/** @api */
public const DEFAULT_NORMALIZER_DEPTH = 9;

/** @api */
public const DEFAULT_NORMALIZER_ITEM_COUNT = 1000;

/**
Expand Down

0 comments on commit b08f2e9

Please sign in to comment.