build: update CI to 4.5.3 + php and js dependencies to latest

This commit is contained in:
Yassine Doghri 2024-07-01 16:14:12 +00:00
parent 5d35524875
commit e9c04548de
14 changed files with 2318 additions and 1550 deletions

View File

@ -71,8 +71,8 @@ experience the problem? What would you expect to be the outcome? All these
details will help people to fix any potential bugs.
> [!NOTE]
> [Issue templates](https://docs.gitlab.com/ee/user/project/description_templates.html#using-the-templates)
> have been created for this project. You may use them to help you follow those
> [Issue templates](https://docs.gitlab.com/ee/user/project/description_templates.html#using-the-templates) have
> been created for this project. You may use them to help you follow those
> guidelines.
## Feature requests

View File

@ -62,12 +62,10 @@ class Exceptions extends BaseConfig
/**
* --------------------------------------------------------------------------
* LOG DEPRECATIONS INSTEAD OF THROWING?
* WHETHER TO THROW AN EXCEPTION ON DEPRECATED ERRORS
* --------------------------------------------------------------------------
* By default, CodeIgniter converts deprecations into exceptions. Also,
* starting in PHP 8.1 will cause a lot of deprecated usage warnings.
* Use this option to temporarily cease the warnings and instead log those.
* This option also works for user deprecations.
* If set to `true`, DEPRECATED errors are only logged and no exceptions are
* thrown. This option also works for user deprecations.
*/
public bool $logDeprecations = true;

View File

@ -550,8 +550,7 @@ if (! function_exists('array_to_rss')) {
);
if (array_key_exists('attributes', $childArrayNode)) {
foreach (
$childArrayNode['attributes']
as $attributeKey => $attributeValue
$childArrayNode['attributes'] as $attributeKey => $attributeValue
) {
$childXmlNode->addAttribute($attributeKey, $attributeValue);
}

View File

@ -9,20 +9,20 @@
"php": "^8.3",
"adaures/ipcat-php": "^v1.0.0",
"adaures/podcast-persons-taxonomy": "^v1.0.1",
"aws/aws-sdk-php": "^3.305.4",
"aws/aws-sdk-php": "^3.315.2",
"chrisjean/php-ico": "^1.0.4",
"cocur/slugify": "^v4.5.1",
"codeigniter4/framework": "v4.5.1",
"codeigniter4/framework": "v4.5.3",
"codeigniter4/settings": "v2.2.0",
"codeigniter4/shield": "v1.0.3",
"codeigniter4/shield": "v1.1.0",
"codeigniter4/tasks": "dev-develop",
"geoip2/geoip2": "v3.0.0",
"james-heinrich/getid3": "^2.0.0-beta5",
"james-heinrich/getid3": "^2.0.0-beta6",
"league/commonmark": "^2.4.2",
"league/html-to-markdown": "5.1.1",
"melbahja/seo": "^v2.1.1",
"michalsn/codeigniter4-uuid": "v1.1.0",
"mpratt/embera": "^2.0.38",
"mpratt/embera": "^2.0.40",
"opawg/user-agents-v2-php": "dev-main",
"phpseclib/phpseclib": "~2.0.47",
"vlucas/phpdotenv": "v5.6.0",
@ -31,19 +31,20 @@
"yassinedoghri/podcast-feed": "dev-main"
},
"require-dev": {
"captainhook/captainhook": "^5.23.0",
"captainhook/captainhook": "^5.23.1",
"codeigniter/phpstan-codeigniter": "v1.4.3",
"mikey179/vfsstream": "^v1.6.11",
"phpstan/extension-installer": "^1.3.1",
"phpstan/phpstan": "^1.10.67",
"phpunit/phpunit": "^10.5.20",
"rector/rector": "^1.0.4",
"symplify/coding-standard": "^12.1.4",
"symplify/easy-coding-standard": "^12.1.14"
"phpstan/extension-installer": "^1.4.1",
"phpstan/phpstan": "^1.11.6",
"phpunit/phpunit": "^10.5.24",
"rector/rector": "^1.2.0",
"symplify/coding-standard": "^12.1.6",
"symplify/easy-coding-standard": "^12.3.0"
},
"autoload": {
"psr-4": {
"App\\": "app/"
"App\\": "app/",
"Config\\": "app/Config"
},
"exclude-from-classmap": [
"**/Database/Migrations/**"

1146
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -223,7 +223,6 @@ class VideoClipper
public function getCmd(): string
{
// @phpstan-ignore
$filters = [
"[0:a]aformat=channel_layouts=mono,showwaves=s={$this->dimensions['soundwaves']['width']}x{$this->dimensions['soundwaves']['height']}:mode=cline:rate=10:colors=white,format=rgb24[waves]",
"[waves]scale={$this->dimensions['width']}:{$this->dimensions['height']}:flags=neighbor[resizedwaves]",

View File

@ -69,8 +69,7 @@ class PlatformController extends BaseController
$platformsData = [];
foreach (
$this->request->getPost('platforms')
as $platformSlug => $podcastPlatform
$this->request->getPost('platforms') as $platformSlug => $podcastPlatform
) {
$podcastPlatformUrl = trim((string) $podcastPlatform['url']);
if ($podcastPlatformUrl === '') {

View File

@ -28,18 +28,18 @@
"prepare": "is-ci || husky"
},
"dependencies": {
"@amcharts/amcharts4": "^4.10.38",
"@amcharts/amcharts4": "^4.10.39",
"@amcharts/amcharts4-geodata": "^4.1.28",
"@codemirror/commands": "^6.5.0",
"@codemirror/commands": "^6.6.0",
"@codemirror/lang-xml": "^6.1.0",
"@codemirror/language": "^6.10.1",
"@codemirror/language": "^6.10.2",
"@codemirror/state": "^6.4.1",
"@codemirror/view": "^6.26.3",
"@floating-ui/dom": "^1.6.3",
"@codemirror/view": "^6.28.3",
"@floating-ui/dom": "^1.6.7",
"@github/clipboard-copy-element": "^1.3.0",
"@github/hotkey": "^3.1.0",
"@github/hotkey": "^3.1.1",
"@github/markdown-toolbar-element": "^2.2.3",
"@github/relative-time-element": "^4.4.0",
"@github/relative-time-element": "^4.4.2",
"@tailwindcss/nesting": "0.0.0-insiders.565cd3e",
"@vime/core": "^5.4.1",
"choices.js": "^10.2.0",
@ -47,51 +47,51 @@
"flatpickr": "^4.6.13",
"leaflet": "^1.9.4",
"leaflet.markercluster": "^1.5.3",
"lit": "^3.1.3",
"marked": "^12.0.2",
"wavesurfer.js": "^7.7.11",
"lit": "^3.1.4",
"marked": "^13.0.1",
"wavesurfer.js": "^7.8.0",
"xml-formatter": "^3.6.2"
},
"devDependencies": {
"@commitlint/cli": "^19.3.0",
"@commitlint/config-conventional": "^19.2.2",
"@csstools/css-tokenizer": "^2.2.4",
"@csstools/css-tokenizer": "^2.3.2",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/exec": "^6.0.3",
"@semantic-release/git": "^10.0.1",
"@semantic-release/gitlab": "^13.0.3",
"@semantic-release/gitlab": "^13.1.0",
"@tailwindcss/forms": "^0.5.7",
"@tailwindcss/typography": "^0.5.12",
"@tailwindcss/typography": "^0.5.13",
"@types/leaflet": "^1.9.12",
"@typescript-eslint/eslint-plugin": "^7.7.1",
"@typescript-eslint/parser": "^7.7.1",
"@typescript-eslint/eslint-plugin": "^7.14.1",
"@typescript-eslint/parser": "^7.14.1",
"all-contributors-cli": "^6.26.1",
"commitizen": "^4.3.0",
"cross-env": "^7.0.3",
"cssnano": "^7.0.0",
"cssnano": "^7.0.3",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.1.3",
"husky": "^9.0.11",
"is-ci": "^3.0.1",
"lint-staged": "^15.2.2",
"postcss": "^8.4.38",
"lint-staged": "^15.2.7",
"postcss": "^8.4.39",
"postcss-import": "^16.1.0",
"postcss-nesting": "^12.1.2",
"postcss-preset-env": "^9.5.9",
"postcss-nesting": "^12.1.5",
"postcss-preset-env": "^9.5.15",
"postcss-reporter": "^7.1.0",
"prettier": "3.2.5",
"prettier": "3.3.2",
"prettier-plugin-organize-imports": "^3.2.4",
"semantic-release": "^23.0.8",
"stylelint": "^16.4.0",
"stylelint-config-standard": "^36.0.0",
"svgo": "^3.2.0",
"tailwindcss": "^3.4.3",
"typescript": "^5.4.5",
"vite": "^5.2.10",
"vite-plugin-pwa": "^0.19.8",
"workbox-build": "^7.1.0",
"semantic-release": "^24.0.0",
"stylelint": "^16.6.1",
"stylelint-config-standard": "^36.0.1",
"svgo": "^3.3.2",
"tailwindcss": "^3.4.4",
"typescript": "^5.5.2",
"vite": "^5.3.2",
"vite-plugin-pwa": "^0.20.0",
"workbox-build": "^7.1.1",
"workbox-core": "^7.1.0",
"workbox-routing": "^7.1.0",
"workbox-strategies": "^7.1.0"

View File

@ -1,7 +1,6 @@
parameters:
tmpDir: build/phpstan
level: 6
checkGenericClassInNonGenericObjectType: false
paths:
- app
- modules
@ -50,3 +49,4 @@ parameters:
- Modules\PremiumPodcasts\Config\Services
ignoreErrors:
- '#^Call to an undefined method CodeIgniter\\Cache\\CacheInterface\:\:deleteMatching\(\)#'
- identifier: missingType.generics

File diff suppressed because it is too large Load Diff

View File

@ -7,8 +7,8 @@ declare(strict_types=1);
*
* (c) CodeIgniter Foundation <admin@codeigniter.com>
*
* For the full copyright and license information, please view the LICENSE file that was distributed with this source
* code.
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
/*
@ -31,31 +31,20 @@ require __DIR__ . '/app/Config/Paths.php';
// Path to the front controller
define('FCPATH', __DIR__ . DIRECTORY_SEPARATOR . 'public' . DIRECTORY_SEPARATOR);
/**
* See https://www.php.net/manual/en/function.str-contains.php#126277
*/
if (! function_exists('str_contains')) {
/**
* Polyfill of str_contains()
*/
function str_contains(string $haystack, string $needle): bool
{
return empty($needle) || strpos($haystack, $needle) !== false;
}
}
class preload
{
/**
* @var array<array<string, mixed>> Paths to preload.
* @var array Paths to preload.
*/
private array $paths = [
[
'include' => __DIR__ . '/vendor/codeigniter4/framework/system', // Change this path if using manual installation
'exclude' => [
'/system/bootstrap.php',
// Not needed if you don't use them.
'/system/Database/OCI8/',
'/system/Database/Postgre/',
'/system/Database/SQLite3/',
'/system/Database/SQLSRV/',
// Not needed.
'/system/Database/Seeder.php',
@ -104,7 +93,9 @@ class preload
private function loadAutoloader(): void
{
$paths = new Config\Paths();
require rtrim($paths->systemDirectory, '\\/ ') . DIRECTORY_SEPARATOR . 'bootstrap.php';
require rtrim($paths->systemDirectory, '\\/ ') . DIRECTORY_SEPARATOR . 'Boot.php';
CodeIgniter\Boot::preload($paths);
}
}

View File

@ -9,7 +9,6 @@ use Rector\CodingStyle\Rector\String_\SymplifyQuoteEscapeRector;
use Rector\Config\RectorConfig;
use Rector\DeadCode\Rector\If_\UnwrapFutureCompatibleIfPhpVersionRector;
use Rector\DeadCode\Rector\Stmt\RemoveUnreachableStatementRector;
use Rector\EarlyReturn\Rector\If_\ChangeAndIfToEarlyReturnRector;
use Rector\EarlyReturn\Rector\If_\ChangeOrIfContinueToMultiContinueRector;
use Rector\Php55\Rector\String_\StringClassNameToClassConstantRector;
use Rector\Php71\Rector\FuncCall\RemoveExtraParametersRector;
@ -56,7 +55,5 @@ return RectorConfig::configure()
RemoveUnreachableStatementRector::class => [
__DIR__ . '/modules/Install/Controllers/InstallController.php',
],
ChangeAndIfToEarlyReturnRector::class => [__DIR__ . '/modules/Install/Controllers/InstallController.php'],
])
->withPHPStanConfigs([__DIR__ . '/phpstan.neon', 'vendor/codeigniter/phpstan-codeigniter/extension.neon']);

2
spark
View File

@ -27,7 +27,7 @@ declare(strict_types=1);
*/
// Refuse to run when called from php-cgi
if (strpos(PHP_SAPI, 'cgi') === 0) {
if (str_starts_with(PHP_SAPI, 'cgi')) {
exit("The cli tool is not supported when running php-cgi. It needs php-cli to function!\n\n");
}

View File

@ -45,19 +45,19 @@
'cell' => function ($subscription) {
return esc($subscription->email);
},
],
],
[
'header' => lang('Subscription.list.expiration_date'),
'cell' => function ($subscription) {
return $subscription->expires_at ? local_date($subscription->expires_at) : lang('Subscription.list.unlimited');
},
],
],
[
'header' => lang('Subscription.list.downloads'),
'cell' => function ($subscription) {
return $subscription->downloads_last_3_months;
},
],
],
[
'header' => lang('Subscription.list.status'),
'cell' => function ($subscription) {
@ -69,7 +69,7 @@
return '<x-Pill variant="' . $statusMapping[$subscription->status] . '" class="lowercase">' . lang('Subscription.status.' . $subscription->status) . '</x-Pill>';
},
],
],
[
'header' => lang('Common.actions'),
'cell' => function ($subscription, $podcast) {
@ -121,7 +121,7 @@
'</button>' .
'<x-DropdownMenu id="more-dropdown-' . $subscription->id . '-menu" labelledby="more-dropdown-' . $subscription->id . '" offsetY="-24" items="' . esc(json_encode($items)) . '" />';
},
],
],
],
$podcast->subscriptions,
'',