Skip to content

Commit

Permalink
Merge pull request #390 from mimmi20/updates
Browse files Browse the repository at this point in the history
add dependencies
  • Loading branch information
mimmi20 authored May 12, 2024
2 parents 8ee18c0 + 136e16e commit 7a47381
Show file tree
Hide file tree
Showing 4 changed files with 126 additions and 29 deletions.
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 Thursday"],
"schedule": ["at 4:00 am on Thursday"],
"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"],
"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
6 changes: 5 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,11 @@
"phpstan/phpstan-deprecation-rules": "^1.1.4",
"phpstan/phpstan-phpunit": "^1.3.16",
"phpunit/phpunit": "^10.5.20",
"rector/rector": "^1.0.4"
"rector/rector": "^1.0.4",
"symplify/phpstan-rules": "^12.4.9",
"tomasvotruba/cognitive-complexity": "^0.2.3",
"tomasvotruba/type-coverage": "^0.2.8",
"tomasvotruba/unused-public": "^0.3.9"
},
"suggest": {
"laminas/laminas-modulemanager": "Required for Module Integration",
Expand Down
80 changes: 80 additions & 0 deletions phpstan.neon
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,88 @@ parameters:
missingCheckedExceptionInThrows: true
tooWideThrowType: true

cognitive_complexity:
class: 28
function: 14

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

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

ignoreErrors:
- '~Parameter #1 \$options of static method Mimmi20\\Routing\\Router\\HostName::factory\(\) expects array{host\?: string, hosts\?: array<int\|string, string>, defaults\?: array<int\|string, mixed>}\|bool\|Traversable<string, mixed>, ~'
- '~is not subtype of Throwable~'
- '~Call to static method PHPUnit\\Framework\\Assert::assert.*\(\) with .* will always evaluate to true~'
- '~Parameter #1 \$hosts of class Mimmi20\\Routing\\Router\\HostName constructor expects array<int\|string, string>, array given~'

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

0 comments on commit 7a47381

Please sign in to comment.