Skip to content

Commit 5978209

Browse files
committed
Merge tag '3.5.1' into develop
3.5.1
2 parents 2a5bc34 + 1af455d commit 5978209

File tree

8 files changed

+71
-77
lines changed

8 files changed

+71
-77
lines changed

.github/workflows/reviewdog.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,21 @@ jobs:
1717
runs-on: ubuntu-latest
1818
steps:
1919
- name: Checkout
20-
uses: actions/checkout@v3
20+
uses: actions/checkout@v4
2121

2222
- name: Setup PHP, with composer and extensions
2323
uses: shivammathur/setup-php@v2
2424
with:
25-
php-version: 8.2
25+
php-version: 8.4
2626
coverage: none
27-
tools: phpmd, psalm, phpstan
27+
tools: psalm
2828

2929
- name: Get composer cache directory
3030
id: composer-cache
3131
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
3232

3333
- name: Cache composer dependencies
34-
uses: actions/cache@v3
34+
uses: actions/cache@v4
3535
with:
3636
path: ${{ steps.composer-cache.outputs.dir }}
3737
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
@@ -48,4 +48,4 @@ jobs:
4848
- name: Reviewdog GitHub Check
4949
env:
5050
REVIEWDOG_GITHUB_API_TOKEN: ${{ github.token }}
51-
run: reviewdog -reporter=github-check -filter-mode=nofilter -fail-on-error
51+
run: reviewdog -reporter=github-check -filter-mode=nofilter -fail-on-error

.reviewdog.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
runner:
22
phpmd:
3-
cmd: phpmd . checkstyle phpmd.ruleset.xml --exclude 'cache/*,vendor/*' --baseline-file phpmd.baseline.xml
3+
cmd: vendor/bin/phpmd . checkstyle phpmd.ruleset.xml --exclude 'cache/*,vendor/*' --baseline-file phpmd.baseline.xml
44
name: phpmd
55
format: checkstyle
66
level: warning
77

88
phpstan:
9-
cmd: phpstan --error-format=checkstyle
9+
cmd: vendor/bin/phpstan --error-format=checkstyle
1010
format: checkstyle
1111
name: phpstan
1212
level: warning
@@ -15,4 +15,4 @@ runner:
1515
cmd: psalm --config=psalm.xml --no-progress --use-baseline=psalm-baseline.xml --output-format=checkstyle
1616
format: checkstyle
1717
name: psalm
18-
level: warning
18+
level: warning

composer.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
"classmap-authoritative": true,
1717
"apcu-autoloader": true,
1818
"allow-plugins": {
19-
"roots/wordpress-core-installer": true,
19+
"composer/installers": true,
2020
"phpstan/extension-installer": true,
21-
"composer/installers": true
21+
"roots/wordpress-core-installer": true
2222
}
2323
},
2424
"require": {
@@ -31,7 +31,9 @@
3131
"require-dev": {
3232
"jazzman/php-cs-fixer-rules": "^0.2.1",
3333
"jetbrains/phpstorm-attributes": "^1.2",
34+
"pdepend/pdepend": "3.x-dev",
3435
"php-stubs/wordpress-stubs": "^6.7",
36+
"phpmd/phpmd": "3.x-dev",
3537
"phpstan/extension-installer": "^1.4",
3638
"rector/rector": "^1.2",
3739
"roave/security-advisories": "@dev",

phpmd.baseline.xml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,52 @@
11
<?xml version="1.0"?>
22
<phpmd-baseline>
3+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/CleanUp.php" method="protectXmlrpc"/>
34
<violation rule="PHPMD\Rule\CyclomaticComplexity" file="src/Optimization/CleanUp.php" method="protectXmlrpc"/>
45
<violation rule="PHPMD\Rule\Design\NpathComplexity" file="src/Optimization/CleanUp.php" method="protectXmlrpc"/>
6+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/CleanUp.php" method="cleanupWpHead"/>
7+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/Enqueue.php" method="jsToFooter"/>
8+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/Enqueue.php" method="prepareScriptFilePath"/>
9+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/Enqueue.php" method="fixMultiSitePath"/>
10+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/LastPostModified.php" method="isLocked"/>
11+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/LastPostModified.php" method="getLockName"/>
12+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/LastPostModified.php" method="bumpLastPostModified"/>
13+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/LastPostModified.php" method="getOptionName"/>
14+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/LastPostModified.php" method="getLastPostModified"/>
515
<violation rule="PHPMD\Rule\Design\WeightedMethodCount" file="src/Optimization/Media.php"/>
616
<violation rule="PHPMD\Rule\Design\NpathComplexity" file="src/Optimization/Media.php" method="resizeImageOnTheFly"/>
17+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/Media.php" method="prepareSvgImageData"/>
718
<violation rule="PHPMD\Rule\CyclomaticComplexity" file="src/Optimization/Media.php" method="prepareSvgImageData"/>
819
<violation rule="PHPMD\Rule\Design\NpathComplexity" file="src/Optimization/Media.php" method="prepareSvgImageData"/>
20+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/Media.php" method="getXmlProperty"/>
21+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/Media.php" method="getSvgXmlSize"/>
22+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/Media.php" method="isImageSizesExist"/>
23+
<violation rule="PHPMD\Rule\UnusedPrivateField" file="src/Optimization/TermCount.php"/>
24+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/TermCount.php" method="handleTermRelationshipChange"/>
925
<violation rule="PHPMD\Rule\CleanCode\ElseExpression" file="src/Optimization/TermCount.php"/>
26+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/TermCount.php" method="quickUpdateTermsCount"/>
1027
<violation rule="PHPMD\Rule\CyclomaticComplexity" file="src/Optimization/TermCount.php" method="quickUpdateTermsCount"/>
1128
<violation rule="PHPMD\Rule\Design\NpathComplexity" file="src/Optimization/TermCount.php" method="quickUpdateTermsCount"/>
29+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/TermCount.php" method="transitionType"/>
1230
<violation rule="PHPMD\Rule\Design\TooManyPublicMethods" file="src/Optimization/Update.php"/>
1331
<violation rule="PHPMD\Rule\Naming\LongVariable" file="src/Optimization/Update.php"/>
32+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/Update.php" method="preSiteTransientUpdateThemes"/>
33+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/Update.php" method="preSiteTransientUpdatePlugins"/>
34+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/Update.php" method="coreBlockerGetLanguages"/>
35+
<violation rule="PHPMD\Rule\UnusedPrivateField" file="src/Optimization/WPQuery.php"/>
36+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/WPQuery.php" method="invalidateFoundPostsCache"/>
37+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/WPQuery.php" method="getInvalidateTime"/>
38+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/WPQuery.php" method="getTimeFoundPosts"/>
39+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/WPQuery.php" method="generateFoundPostCacheKey"/>
40+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/WPQuery.php" method="getFoundPostsCache"/>
41+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Optimization/WPQuery.php" method="setFoundPostsCache"/>
1442
<violation rule="PHPMD\Rule\Design\WeightedMethodCount" file="src/Utils/AttachmentData.php"/>
43+
<violation rule="PHPMD\Rule\UnusedPrivateField" file="src/Utils/AttachmentData.php"/>
44+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Utils/AttachmentData.php" method="readImgMetadata"/>
45+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Utils/AttachmentData.php" method="getAttachmentFromDb"/>
46+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Utils/AttachmentData.php" method="getAttachmentSizes"/>
47+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Utils/AttachmentData.php" method="getSizeArray"/>
48+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Utils/AttachmentData.php" method="getImageSrcset"/>
49+
<violation rule="PHPMD\Rule\UnusedPrivateMethod" file="src/Utils/AttachmentData.php" method="calculateImageSecretSources"/>
1550
<violation rule="PHPMD\Rule\CyclomaticComplexity" file="src/Utils/AttachmentData.php" method="calculateImageSecretSources"/>
1651
<violation rule="PHPMD\Rule\Design\NpathComplexity" file="src/Utils/AttachmentData.php" method="calculateImageSecretSources"/>
1752
<violation rule="PHPMD\Rule\CleanCode\ElseExpression" file="src/Utils/AttachmentData.php"/>

phpstan-baseline.neon

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ parameters:
3030
count: 2
3131
path: src/Optimization/WPQuery.php
3232

33+
-
34+
message: "#^Parameter \\#1 \\$maybeint of function absint expects array\\|bool\\|float\\|int\\|resource\\|string\\|null, mixed given\\.$#"
35+
count: 2
36+
path: src/Optimization/WPQuery.php
37+
3338
-
3439
message: "#^Call to function is_array\\(\\) with array\\{file\\: string, width\\: int, height\\: int, mime\\-type\\: string\\} will always evaluate to true\\.$#"
3540
count: 1

psalm-baseline.xml

Lines changed: 7 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,19 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<files psalm-version="6.8.9@e856423a5dc38d65e56b5792750c557277afe393">
3-
<file src="src/Optimization/CleanUp.php">
4-
<MissingOverrideAttribute>
5-
<code><![CDATA[public function load(): void {]]></code>
6-
</MissingOverrideAttribute>
7-
</file>
2+
<files psalm-version="5.26.1@d747f6500b38ac4f7dfc5edbcae6e4b637d7add0">
83
<file src="src/Optimization/Enqueue.php">
9-
<MissingOverrideAttribute>
10-
<code><![CDATA[public function load(): void {]]></code>
11-
</MissingOverrideAttribute>
12-
<PossiblyInvalidOperand>
13-
<code><![CDATA[$file]]></code>
14-
</PossiblyInvalidOperand>
154
<RiskyTruthyFalsyComparison>
165
<code><![CDATA[empty( $dependency->src )]]></code>
176
<code><![CDATA[empty( $file )]]></code>
187
<code><![CDATA[empty( $rootDir )]]></code>
198
</RiskyTruthyFalsyComparison>
20-
</file>
21-
<file src="src/Optimization/LastPostModified.php">
22-
<MissingOverrideAttribute>
23-
<code><![CDATA[public function load(): void {]]></code>
24-
</MissingOverrideAttribute>
9+
<TypeDoesNotContainType>
10+
<code><![CDATA[SCRIPT_DEBUG]]></code>
11+
</TypeDoesNotContainType>
12+
<UndefinedConstant>
13+
<code><![CDATA[WPINC]]></code>
14+
</UndefinedConstant>
2515
</file>
2616
<file src="src/Optimization/Media.php">
27-
<MissingOverrideAttribute>
28-
<code><![CDATA[public function load(): void {]]></code>
29-
</MissingOverrideAttribute>
3017
<MixedReturnTypeCoercion>
3118
<code><![CDATA[$months]]></code>
3219
<code><![CDATA[stdClass[]]]></code>
@@ -49,22 +36,11 @@
4936
</RiskyTruthyFalsyComparison>
5037
</file>
5138
<file src="src/Optimization/PostGuid.php">
52-
<MissingOverrideAttribute>
53-
<code><![CDATA[public function load(): void {]]></code>
54-
</MissingOverrideAttribute>
5539
<RiskyTruthyFalsyComparison>
5640
<code><![CDATA[empty( $guid )]]></code>
5741
</RiskyTruthyFalsyComparison>
5842
</file>
59-
<file src="src/Optimization/PostMeta.php">
60-
<MissingOverrideAttribute>
61-
<code><![CDATA[public function load(): void {]]></code>
62-
</MissingOverrideAttribute>
63-
</file>
6443
<file src="src/Optimization/TermCount.php">
65-
<MissingOverrideAttribute>
66-
<code><![CDATA[public function load(): void {]]></code>
67-
</MissingOverrideAttribute>
6844
<RedundantConditionGivenDocblockType>
6945
<code><![CDATA[isset( $taxonomyObj->update_count_callback )]]></code>
7046
<code><![CDATA[isset( $taxonomyObj->update_count_callback ) && \is_callable( $taxonomyObj->update_count_callback )]]></code>
@@ -75,18 +51,12 @@
7551
</RiskyTruthyFalsyComparison>
7652
</file>
7753
<file src="src/Optimization/Update.php">
78-
<MissingOverrideAttribute>
79-
<code><![CDATA[public function load(): void {]]></code>
80-
</MissingOverrideAttribute>
8154
<RiskyTruthyFalsyComparison>
8255
<code><![CDATA[! $current]]></code>
8356
<code><![CDATA[empty( $plugin['Version'] )]]></code>
8457
</RiskyTruthyFalsyComparison>
8558
</file>
8659
<file src="src/Optimization/WPQuery.php">
87-
<MissingOverrideAttribute>
88-
<code><![CDATA[public function load(): void {]]></code>
89-
</MissingOverrideAttribute>
9060
<MixedArgument>
9161
<code><![CDATA[$limit]]></code>
9262
<code><![CDATA[$wpQuery->found_posts / $limit]]></code>
@@ -113,9 +83,6 @@
11383
</RiskyTruthyFalsyComparison>
11484
</file>
11585
<file src="src/Security/Sanitize.php">
116-
<MissingOverrideAttribute>
117-
<code><![CDATA[public function load(): void {]]></code>
118-
</MissingOverrideAttribute>
11986
<RiskyTruthyFalsyComparison>
12087
<code><![CDATA[empty( $email )]]></code>
12188
<code><![CDATA[empty( $fileInfo['dirname'] )]]></code>
@@ -126,9 +93,6 @@
12693
<DocblockTypeContradiction>
12794
<code><![CDATA[\is_array( $attachmentSize )]]></code>
12895
</DocblockTypeContradiction>
129-
<PossiblyInvalidOperand>
130-
<code><![CDATA[$sizeData['image_baseurl']]]></code>
131-
</PossiblyInvalidOperand>
13296
<RedundantCastGivenDocblockType>
13397
<code><![CDATA[(int) $attachmentSize['height']]]></code>
13498
<code><![CDATA[(int) $attachmentSize['width']]]></code>
@@ -155,11 +119,6 @@
155119
<code><![CDATA[empty( $this->imgFile )]]></code>
156120
</RiskyTruthyFalsyComparison>
157121
</file>
158-
<file src="src/Utils/Cache.php">
159-
<MissingOverrideAttribute>
160-
<code><![CDATA[public function load(): void {]]></code>
161-
</MissingOverrideAttribute>
162-
</file>
163122
<file src="src/helper.php">
164123
<MixedAssignment>
165124
<code><![CDATA[$post]]></code>

psalm.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
<psalm xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
33
xmlns="https://getpsalm.org/schema/config"
44
xsi:schemaLocation="https://getpsalm.org/schema/config"
5-
serializer="igbinary"
65
errorBaseline="psalm-baseline.xml"
76
errorLevel="1"
87
phpVersion="8.2"

src/Optimization/Enqueue.php

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -42,33 +42,28 @@ public static function setScriptVersion( string $scriptSrc, string $handle ): st
4242

4343
$addVersion = (bool) apply_filters( 'enqueue_add_script_version', true, $handle );
4444

45-
if ( ! $addVersion ) {
46-
return $scriptSrc;
47-
}
45+
if ( $addVersion && app_is_current_host( $scriptSrc ) ) {
46+
$file = self::prepareScriptFilePath( $scriptSrc );
4847

49-
if ( ! app_is_current_host( $scriptSrc ) ) {
50-
return $scriptSrc;
51-
}
48+
if ( ! empty( $file ) ) {
49+
$fileMap = $file.'.map';
5250

53-
$file = self::prepareScriptFilePath( $scriptSrc );
51+
$timestamp = is_readable( $fileMap ) ? $fileMap : $file;
5452

55-
if ( empty( $file ) ) {
56-
return $scriptSrc;
53+
$scriptSrc = add_query_arg( [
54+
'ver' => filemtime( (string) $timestamp ),
55+
], $scriptSrc );
56+
}
57+
} elseif ( str_contains( $scriptSrc, '?ver=' ) ) {
58+
$scriptSrc = remove_query_arg( 'ver', $scriptSrc );
5759
}
5860

59-
$fileMap = $file.'.map';
60-
61-
$filePath = is_readable( $fileMap ) ? $fileMap : $file;
62-
63-
return add_query_arg( [
64-
'ver' => hash_file( 'sha256', (string) $filePath ),
65-
], $scriptSrc );
61+
return $scriptSrc;
6662
}
6763

6864
public static function jqueryFromCdn(): void {
6965
$registered = wp_scripts()->registered;
7066

71-
/** @psalm-suppress TypeDoesNotContainType */
7267
$suffix = SCRIPT_DEBUG ? '' : '.min';
7368

7469
$jqCore = $registered['jquery-core'];
@@ -86,7 +81,6 @@ public static function jqueryFromCdn(): void {
8681
continue;
8782
}
8883

89-
/** @psalm-suppress UndefinedConstant */
9084
if ( ! str_contains( $dependency->src, '/'.WPINC.'/' ) ) {
9185
continue;
9286
}

0 commit comments

Comments
 (0)