Lock file maintenance #701
continuous-integration.yml
on: push
ci
/
Generate job matrix
8s
Check for missing dependencies
22s
Mutation Tests
1m 49s
Check for Unused Dependencies
21s
Psalm Security Report
24s
Rector on Default PHP
30s
Matrix: ci / QA Checks
Annotations
15 warnings
|
Check for missing dependencies
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Check for Unused Dependencies
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Psalm Security Report
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Rector on Default PHP
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Mutation Tests
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Mutation Tests:
src/Paginator.php#L244
Escaped Mutant for Mutator "DecrementInteger":
@@ @@
*
* @return $this
*/
- public function setItemCountPerPage(int $itemCountPerPage = -1): self
+ public function setItemCountPerPage(int $itemCountPerPage = -2): self
{
if ($itemCountPerPage < 1) {
$this->itemCountPerPage = max(1, $this->getTotalItemCount());
|
|
Mutation Tests:
src/Paginator.php#L222
Escaped Mutant for Mutator "UnwrapArrayValues":
@@ @@
if ($itemNumber > $itemCount) {
throw new Exception\InvalidArgumentException("Page {$pageNumber} does not contain item number {$itemNumber}");
}
- $page = $page instanceof Traversable ? iterator_to_array($page, false) : array_values($page);
+ $page = $page instanceof Traversable ? iterator_to_array($page, false) : $page;
return $page[$itemNumber - 1];
}
/**
|
|
Mutation Tests:
src/Paginator.php#L210
Escaped Mutant for Mutator "LessThanOrEqualTo":
@@ @@
if ($itemCount === 0) {
throw new Exception\InvalidArgumentException('Page ' . $pageNumber . ' does not exist');
}
- if ($itemNumber <= 0) {
+ if ($itemNumber < 0) {
$itemNumber = $itemCount + 1 + $itemNumber;
}
$itemNumber = $this->normalizeItemNumber($itemNumber);
|
|
Mutation Tests:
src/Paginator.php#L200
Escaped Mutant for Mutator "Plus":
@@ @@
if ($pageNumber === null) {
$pageNumber = $this->getCurrentPageNumber();
} elseif ($pageNumber < 0) {
- $pageNumber = $this->count() + 1 + $pageNumber;
+ $pageNumber = $this->count() + 1 - $pageNumber;
}
$page = $this->getItemsByPage($pageNumber);
$itemCount = $this->getItemCount($page);
|
|
Mutation Tests:
src/Paginator.php#L200
Escaped Mutant for Mutator "IncrementInteger":
@@ @@
if ($pageNumber === null) {
$pageNumber = $this->getCurrentPageNumber();
} elseif ($pageNumber < 0) {
- $pageNumber = $this->count() + 1 + $pageNumber;
+ $pageNumber = $this->count() + 2 + $pageNumber;
}
$page = $this->getItemsByPage($pageNumber);
$itemCount = $this->getItemCount($page);
|
|
Mutation Tests:
src/Paginator.php#L199
Escaped Mutant for Mutator "LessThan":
@@ @@
{
if ($pageNumber === null) {
$pageNumber = $this->getCurrentPageNumber();
- } elseif ($pageNumber < 0) {
+ } elseif ($pageNumber <= 0) {
$pageNumber = $this->count() + 1 + $pageNumber;
}
$page = $this->getItemsByPage($pageNumber);
|
|
Mutation Tests:
src/Adapter/NullFill.php#L31
Escaped Mutant for Mutator "ReturnRemoval":
@@ @@
{
$count = $this->count();
if ($offset >= $count) {
- return [];
+
}
$remainItemCount = $count - $offset;
$currentItemCount = min($remainItemCount, $itemCountPerPage);
|
|
Mutation Tests:
src/Adapter/NullFill.php#L30
Escaped Mutant for Mutator "GreaterThanOrEqualTo":
@@ @@
public function getItems(int $offset, int $itemCountPerPage): iterable
{
$count = $this->count();
- if ($offset >= $count) {
+ if ($offset > $count) {
return [];
}
$remainItemCount = $count - $offset;
|
|
Mutation Tests:
src/Adapter/NullFill.php#L18
Escaped Mutant for Mutator "IncrementInteger":
@@ @@
/**
* @PARAM int $count Total item count (Optional)
*/
- public function __construct(private int $count = 0)
+ public function __construct(private int $count = 1)
{
}
/**
|
|
Mutation Tests:
src/Adapter/NullFill.php#L18
Escaped Mutant for Mutator "DecrementInteger":
@@ @@
/**
* @PARAM int $count Total item count (Optional)
*/
- public function __construct(private int $count = 0)
+ public function __construct(private int $count = -1)
{
}
/**
|