mirror of
https://code.castopod.org/adaures/castopod
synced 2025-06-05 08:52:00 +00:00
build: update CI to 4.5.3 + php and js dependencies to latest
This commit is contained in:
parent
b129813ea5
commit
e9e5acb862
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
@ -537,8 +537,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);
|
||||
}
|
||||
|
@ -9,20 +9,20 @@
|
||||
"php": "^8.1",
|
||||
"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
1146
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -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]",
|
||||
|
@ -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 === '') {
|
||||
|
60
package.json
60
package.json
@ -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"
|
||||
|
@ -1,7 +1,6 @@
|
||||
parameters:
|
||||
tmpDir: build/phpstan
|
||||
level: 6
|
||||
checkGenericClassInNonGenericObjectType: false
|
||||
paths:
|
||||
- app
|
||||
- modules
|
||||
@ -48,3 +47,4 @@ parameters:
|
||||
- Modules\PremiumPodcasts\Config\Services
|
||||
ignoreErrors:
|
||||
- '#^Call to an undefined method CodeIgniter\\Cache\\CacheInterface\:\:deleteMatching\(\)#'
|
||||
- identifier: missingType.generics
|
2574
pnpm-lock.yaml
generated
2574
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
25
preload.php
25
preload.php
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
2
spark
@ -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");
|
||||
}
|
||||
|
||||
|
@ -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 '<Pill variant="' . $statusMapping[$subscription->status] . '" class="lowercase">' . lang('Subscription.status.' . $subscription->status) . '</Pill>';
|
||||
},
|
||||
],
|
||||
],
|
||||
[
|
||||
'header' => lang('Common.actions'),
|
||||
'cell' => function ($subscription, $podcast) {
|
||||
@ -121,7 +121,7 @@
|
||||
'</button>' .
|
||||
'<DropdownMenu id="more-dropdown-' . $subscription->id . '-menu" labelledby="more-dropdown-' . $subscription->id . '" offsetY="-24" items="' . esc(json_encode($items)) . '" />';
|
||||
},
|
||||
],
|
||||
],
|
||||
],
|
||||
$podcast->subscriptions,
|
||||
'',
|
||||
|
Loading…
x
Reference in New Issue
Block a user