From 7f83d3efb20925d5f856ef9bc658ce4970d94436 Mon Sep 17 00:00:00 2001 From: Mateusz Charytoniuk <mateusz.charytoniuk@protonmail.com> Date: Fri, 26 Jan 2024 03:37:56 +0100 Subject: [PATCH] chore: more specific psalm types --- app/Template/StaticPageLayout/Turbo.php | 4 +- composer.json | 3 +- composer.lock | 1442 +---------------- src/ApplicationConfiguration.php | 5 + src/DatabaseConnectionPoolConfiguration.php | 4 + src/FrontMatterCollectionReference.php | 4 + src/InputValidator/FrontMatterValidator.php | 18 +- src/LlamaCppConfiguration.php | 4 + src/OAuth2Configuration.php | 5 + src/OpenAPIConfiguration.php | 5 + src/RedisConnectionPoolConfiguration.php | 3 + src/SQLiteVSSConfiguration.php | 4 + src/SessionConfiguration.php | 3 + .../ApplicationConfigurationProvider.php | 15 +- .../DatabaseConfigurationProvider.php | 4 +- .../LlamaCppConfigurationProvider.php | 6 +- .../OAuth2ConfigurationProvider.php | 12 +- .../OpenAPIConfigurationProvider.php | 6 +- .../RedisConfigurationProvider.php | 4 +- .../SQLiteVSSConfigurationProvider.php | 4 +- .../SessionConfigurationProvider.php | 2 +- .../StaticPageConfigurationProvider.php | 10 +- .../SwooleConfigurationProvider.php | 8 +- .../TranslatorConfigurationProvider.php | 4 +- src/StaticPageConfiguration.php | 7 + src/SwooleConfiguration.php | 4 + 26 files changed, 179 insertions(+), 1411 deletions(-) diff --git a/app/Template/StaticPageLayout/Turbo.php b/app/Template/StaticPageLayout/Turbo.php index 911ad79f..38095271 100644 --- a/app/Template/StaticPageLayout/Turbo.php +++ b/app/Template/StaticPageLayout/Turbo.php @@ -55,6 +55,8 @@ abstract readonly class Turbo extends StaticPageLayout $renderedStylesheets = $this->renderStylesheets($staticPage, $esbuildMetaEntryPoints); $renderedPreloads = $esbuildPreloadsRenderer->render(); + $currentYear = date('Y'); + yield <<<HTML <!DOCTYPE html> <html lang="en"> @@ -96,7 +98,7 @@ abstract readonly class Turbo extends StaticPageLayout yield <<<HTML <footer class="primary-footer"> <div class="primary-footer__copyright"> - Copyright © 2023 Distantmagic. + Copyright © {$currentYear} Distantmagic. Built with Resonance. </div> </footer> diff --git a/composer.json b/composer.json index fdfb0f62..a6ce2584 100644 --- a/composer.json +++ b/composer.json @@ -47,8 +47,7 @@ "webonyx/graphql-php": "^15.6", "dragonmantank/cron-expression": "^3.3", "league/oauth2-client": "^2.7", - "opis/json-schema": "^2.3", - "rubix/ml": "^2.4" + "opis/json-schema": "^2.3" }, "require-dev": { "mockery/mockery": "^1.6", diff --git a/composer.lock b/composer.lock index 86c09ec8..aef76b8c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,564 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e70cfc3cd3185200bf00c96fe64e1db1", + "content-hash": "54c7a151e1eb3558a606574811103c43", "packages": [ - { - "name": "amphp/amp", - "version": "v2.6.2", - "source": { - "type": "git", - "url": "https://github.com/amphp/amp.git", - "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/amp/zipball/9d5100cebffa729aaffecd3ad25dc5aeea4f13bb", - "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "amphp/phpunit-util": "^1", - "ext-json": "*", - "jetbrains/phpstorm-stubs": "^2019.3", - "phpunit/phpunit": "^7 | ^8 | ^9", - "psalm/phar": "^3.11@dev", - "react/promise": "^2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "files": [ - "lib/functions.php", - "lib/Internal/functions.php" - ], - "psr-4": { - "Amp\\": "lib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Daniel Lowrey", - "email": "rdlowrey@php.net" - }, - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Bob Weinand", - "email": "bobwei9@hotmail.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "A non-blocking concurrency framework for PHP applications.", - "homepage": "https://amphp.org/amp", - "keywords": [ - "async", - "asynchronous", - "awaitable", - "concurrency", - "event", - "event-loop", - "future", - "non-blocking", - "promise" - ], - "support": { - "irc": "irc://irc.freenode.org/amphp", - "issues": "https://github.com/amphp/amp/issues", - "source": "https://github.com/amphp/amp/tree/v2.6.2" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2022-02-20T17:52:18+00:00" - }, - { - "name": "amphp/byte-stream", - "version": "v1.8.1", - "source": { - "type": "git", - "url": "https://github.com/amphp/byte-stream.git", - "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/byte-stream/zipball/acbd8002b3536485c997c4e019206b3f10ca15bd", - "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd", - "shasum": "" - }, - "require": { - "amphp/amp": "^2", - "php": ">=7.1" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "amphp/phpunit-util": "^1.4", - "friendsofphp/php-cs-fixer": "^2.3", - "jetbrains/phpstorm-stubs": "^2019.3", - "phpunit/phpunit": "^6 || ^7 || ^8", - "psalm/phar": "^3.11.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "files": [ - "lib/functions.php" - ], - "psr-4": { - "Amp\\ByteStream\\": "lib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "A stream abstraction to make working with non-blocking I/O simple.", - "homepage": "http://amphp.org/byte-stream", - "keywords": [ - "amp", - "amphp", - "async", - "io", - "non-blocking", - "stream" - ], - "support": { - "irc": "irc://irc.freenode.org/amphp", - "issues": "https://github.com/amphp/byte-stream/issues", - "source": "https://github.com/amphp/byte-stream/tree/v1.8.1" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2021-03-30T17:13:30+00:00" - }, - { - "name": "amphp/parallel", - "version": "v1.4.3", - "source": { - "type": "git", - "url": "https://github.com/amphp/parallel.git", - "reference": "3aac213ba7858566fd83d38ccb85b91b2d652cb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/parallel/zipball/3aac213ba7858566fd83d38ccb85b91b2d652cb0", - "reference": "3aac213ba7858566fd83d38ccb85b91b2d652cb0", - "shasum": "" - }, - "require": { - "amphp/amp": "^2", - "amphp/byte-stream": "^1.6.1", - "amphp/parser": "^1", - "amphp/process": "^1", - "amphp/serialization": "^1", - "amphp/sync": "^1.0.1", - "php": ">=7.1" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "amphp/phpunit-util": "^1.1", - "phpunit/phpunit": "^8 || ^7" - }, - "type": "library", - "autoload": { - "files": [ - "lib/Context/functions.php", - "lib/Sync/functions.php", - "lib/Worker/functions.php" - ], - "psr-4": { - "Amp\\Parallel\\": "lib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Stephen Coakley", - "email": "me@stephencoakley.com" - } - ], - "description": "Parallel processing component for Amp.", - "homepage": "https://github.com/amphp/parallel", - "keywords": [ - "async", - "asynchronous", - "concurrent", - "multi-processing", - "multi-threading" - ], - "support": { - "issues": "https://github.com/amphp/parallel/issues", - "source": "https://github.com/amphp/parallel/tree/v1.4.3" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2023-03-23T08:04:23+00:00" - }, - { - "name": "amphp/parser", - "version": "v1.1.0", - "source": { - "type": "git", - "url": "https://github.com/amphp/parser.git", - "reference": "ff1de4144726c5dad5fab97f66692ebe8de3e151" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/parser/zipball/ff1de4144726c5dad5fab97f66692ebe8de3e151", - "reference": "ff1de4144726c5dad5fab97f66692ebe8de3e151", - "shasum": "" - }, - "require": { - "php": ">=7.4" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "^2", - "phpunit/phpunit": "^9", - "psalm/phar": "^5.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Amp\\Parser\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "A generator parser to make streaming parsers simple.", - "homepage": "https://github.com/amphp/parser", - "keywords": [ - "async", - "non-blocking", - "parser", - "stream" - ], - "support": { - "issues": "https://github.com/amphp/parser/issues", - "source": "https://github.com/amphp/parser/tree/v1.1.0" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2022-12-30T18:08:47+00:00" - }, - { - "name": "amphp/process", - "version": "v1.1.4", - "source": { - "type": "git", - "url": "https://github.com/amphp/process.git", - "reference": "76e9495fd6818b43a20167cb11d8a67f7744ee0f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/process/zipball/76e9495fd6818b43a20167cb11d8a67f7744ee0f", - "reference": "76e9495fd6818b43a20167cb11d8a67f7744ee0f", - "shasum": "" - }, - "require": { - "amphp/amp": "^2", - "amphp/byte-stream": "^1.4", - "php": ">=7" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "amphp/phpunit-util": "^1", - "phpunit/phpunit": "^6" - }, - "type": "library", - "autoload": { - "files": [ - "lib/functions.php" - ], - "psr-4": { - "Amp\\Process\\": "lib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bob Weinand", - "email": "bobwei9@hotmail.com" - }, - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "Asynchronous process manager.", - "homepage": "https://github.com/amphp/process", - "support": { - "issues": "https://github.com/amphp/process/issues", - "source": "https://github.com/amphp/process/tree/v1.1.4" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2022-07-06T23:50:12+00:00" - }, - { - "name": "amphp/serialization", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/amphp/serialization.git", - "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/serialization/zipball/693e77b2fb0b266c3c7d622317f881de44ae94a1", - "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "phpunit/phpunit": "^9 || ^8 || ^7" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Amp\\Serialization\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "Serialization tools for IPC and data storage in PHP.", - "homepage": "https://github.com/amphp/serialization", - "keywords": [ - "async", - "asynchronous", - "serialization", - "serialize" - ], - "support": { - "issues": "https://github.com/amphp/serialization/issues", - "source": "https://github.com/amphp/serialization/tree/master" - }, - "time": "2020-03-25T21:39:07+00:00" - }, - { - "name": "amphp/sync", - "version": "v1.4.2", - "source": { - "type": "git", - "url": "https://github.com/amphp/sync.git", - "reference": "85ab06764f4f36d63b1356b466df6111cf4b89cf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/sync/zipball/85ab06764f4f36d63b1356b466df6111cf4b89cf", - "reference": "85ab06764f4f36d63b1356b466df6111cf4b89cf", - "shasum": "" - }, - "require": { - "amphp/amp": "^2.2", - "php": ">=7.1" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "amphp/phpunit-util": "^1.1", - "phpunit/phpunit": "^9 || ^8 || ^7" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions.php", - "src/ConcurrentIterator/functions.php" - ], - "psr-4": { - "Amp\\Sync\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Stephen Coakley", - "email": "me@stephencoakley.com" - } - ], - "description": "Mutex, Semaphore, and other synchronization tools for Amp.", - "homepage": "https://github.com/amphp/sync", - "keywords": [ - "async", - "asynchronous", - "mutex", - "semaphore", - "synchronization" - ], - "support": { - "issues": "https://github.com/amphp/sync/issues", - "source": "https://github.com/amphp/sync/tree/v1.4.2" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2021-10-25T18:29:10+00:00" - }, - { - "name": "andrewdalpino/okbloomer", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/andrewdalpino/OkBloomer.git", - "reference": "39321cb515c1e99128d28489b0187120ba7ce84c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/andrewdalpino/OkBloomer/zipball/39321cb515c1e99128d28489b0187120ba7ce84c", - "reference": "39321cb515c1e99128d28489b0187120ba7ce84c", - "shasum": "" - }, - "require": { - "php": ">=7.4" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.0", - "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "OkBloomer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Andrew DalPino", - "email": "support@andrewdalpino.com", - "homepage": "https://github.com/andrewdalpino", - "role": "Lead Developer" - } - ], - "description": "An autoscaling Bloom filter with ultra-low memory usage for PHP.", - "keywords": [ - "Bloom Filter", - "layered bloom filter", - "scalable bloom filter" - ], - "support": { - "docs": "https://github.com/andrewdalpino/OkBloomer/README.md", - "email": "support@andrewdalpino.com", - "issues": "https://github.com/andrewdalpino/OkBloomer/issues", - "source": "https://github.com/andrewdalpino/OkBloomer" - }, - "funding": [ - { - "url": "https://github.com/sponsors/andrewdalpino", - "type": "github" - } - ], - "time": "2022-01-24T03:41:23+00:00" - }, { "name": "defuse/php-encryption", "version": "v2.4.0", @@ -4191,223 +3635,9 @@ }, "type": "library", "autoload": { - "files": [ - "src/getallheaders.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" - } - ], - "description": "A polyfill for getallheaders.", - "support": { - "issues": "https://github.com/ralouphie/getallheaders/issues", - "source": "https://github.com/ralouphie/getallheaders/tree/develop" - }, - "time": "2019-03-08T08:55:37+00:00" - }, - { - "name": "rubix/ml", - "version": "2.4.0", - "source": { - "type": "git", - "url": "https://github.com/RubixML/ML.git", - "reference": "e804cdc318801545307ed4a0f3a835fcf22f5864" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/RubixML/ML/zipball/e804cdc318801545307ed4a0f3a835fcf22f5864", - "reference": "e804cdc318801545307ed4a0f3a835fcf22f5864", - "shasum": "" - }, - "require": { - "amphp/parallel": "^1.3", - "andrewdalpino/okbloomer": "^1.0", - "ext-json": "*", - "php": ">=7.4", - "psr/log": "^1.1|^2.0|^3.0", - "rubix/tensor": "^3.0", - "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.17", - "symfony/polyfill-php82": "^1.27", - "symfony/polyfill-php83": "^1.27", - "wamania/php-stemmer": "^3.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.0", - "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^9.0" - }, - "suggest": { - "ext-gd": "For image support", - "ext-mbstring": "For fast multibyte string manipulation", - "ext-svm": "For Support Vector Machine engine (libsvm)", - "ext-tensor": "For fast Matrix/Vector computing" - }, - "type": "library", - "autoload": { - "files": [ - "src/constants.php", - "src/functions.php" - ], - "psr-4": { - "Rubix\\ML\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Andrew DalPino", - "homepage": "https://github.com/andrewdalpino" - }, - { - "name": "Contributors", - "homepage": "https://github.com/RubixML/ML/graphs/contributors" - } - ], - "description": "A high-level machine learning and deep learning library for the PHP language.", - "homepage": "https://rubixml.com", - "keywords": [ - "Algorithm", - "Deep learning", - "Linear regression", - "Neural network", - "Rubix", - "TF-IDF", - "adaboost", - "ai", - "analytics", - "anomaly detection", - "artificial intelligence", - "cart", - "classification", - "classifier", - "clustering", - "cross validation", - "data mining", - "data science", - "dataset", - "dbscan", - "dimensionality reduction", - "ensemble", - "estimator", - "etl", - "feature extraction", - "feature importance", - "feature selection", - "gaussian mixture", - "gbm", - "gmm", - "gradient boost", - "grid search", - "image recognition", - "imputation", - "inference", - "isolation forest", - "k-means", - "k-nearest neighbors", - "kmeans", - "knn", - "local outlier factor", - "loda", - "lof", - "logistic regression", - "machine learning", - "manifold learning", - "mean shift", - "ml", - "mlp", - "multilayer perceptron", - "naive bayes", - "natural language processing", - "nearest neighbors", - "nlp", - "outlier detection", - "php", - "php ai", - "php machine learning", - "php ml", - "prediction", - "predictive modeling", - "random forest", - "ranking", - "recommendation", - "regression", - "regressor", - "ridge", - "rubix ml", - "rubixml", - "softmax", - "supervised learning", - "support vector machine", - "svm", - "t-sne", - "text mining", - "tf idf", - "tsne", - "unsupervised learning" - ], - "support": { - "chat": "https://t.me/RubixML", - "docs": "https://docs.rubixml.com", - "issues": "https://github.com/RubixML/ML/issues", - "source": "https://github.com/RubixML/ML" - }, - "funding": [ - { - "url": "https://github.com/sponsors/andrewdalpino", - "type": "github" - } - ], - "time": "2023-05-26T16:49:18+00:00" - }, - { - "name": "rubix/tensor", - "version": "3.0.4", - "source": { - "type": "git", - "url": "https://github.com/RubixML/Tensor.git", - "reference": "e1537119c5f1f87eb506852df3b5b7c7e34c452a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/RubixML/Tensor/zipball/e1537119c5f1f87eb506852df3b5b7c7e34c452a", - "reference": "e1537119c5f1f87eb506852df3b5b7c7e34c452a", - "shasum": "" - }, - "require": { - "php": ">=7.4" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.0", - "phalcon/zephir": "^0.17", - "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "autoload": { - "files": [ - "src/constants.php" - ], - "psr-4": { - "Tensor\\": "src/", - "Zephir\\Optimizers\\FunctionCall\\": "optimizers/" - } + "files": [ + "src/getallheaders.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4415,66 +3645,16 @@ ], "authors": [ { - "name": "Andrew DalPino", - "email": "support@andrewdalpino.com", - "homepage": "https://github.com/andrewdalpino", - "role": "Project Lead" - }, - { - "name": "Contributors", - "homepage": "https://github.com/RubixML/Tensor/graphs/contributors" + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" } ], - "description": "A library and extension that provides objects for scientific computing in PHP.", - "homepage": "https://github.com/RubixML/Tensor", - "keywords": [ - "1d convolution", - "2d convolution", - "arithmetic", - "blas", - "computation", - "computing", - "convolution", - "decomposition", - "dot product", - "eigendecomposition", - "eigenvalue", - "eigenvector", - "engineering", - "extension", - "lapack", - "linear algebra", - "math", - "matmul", - "matrix", - "matrix multiplication", - "multithreaded", - "php", - "php extension", - "pseudoinverse", - "scientific computing", - "signal processing", - "singular value decomposition", - "statistics", - "svd", - "tensor", - "trigonometry", - "vector", - "vector norm" - ], + "description": "A polyfill for getallheaders.", "support": { - "chat": "https://t.me/RubixML", - "email": "support@andrewdalpino.com", - "issues": "https://github.com/RubixML/Tensor/issues", - "source": "https://github.com/RubixML/Tensor" + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" }, - "funding": [ - { - "url": "https://github.com/andrewdalpino", - "type": "github" - } - ], - "time": "2023-09-20T05:03:49+00:00" + "time": "2019-03-08T08:55:37+00:00" }, { "name": "symfony/cache", @@ -5173,89 +4353,6 @@ ], "time": "2023-01-26T09:26:14+00:00" }, - { - "name": "symfony/polyfill-iconv", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/6de50471469b8c9afc38164452ab2b6170ee71c1", - "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-iconv": "*" - }, - "suggest": { - "ext-iconv": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Iconv extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "iconv", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-26T09:26:14+00:00" - }, { "name": "symfony/polyfill-intl-grapheme", "version": "v1.28.0", @@ -5266,183 +4363,15 @@ }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", - "reference": "875e90aeea2777b6f135677f618529449334a612", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-26T09:26:14+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-26T09:26:14+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", + "reference": "875e90aeea2777b6f135677f618529449334a612", "shasum": "" }, "require": { "php": ">=7.1" }, - "provide": { - "ext-mbstring": "*" - }, "suggest": { - "ext-mbstring": "For best performance" + "ext-intl": "For best performance" }, "type": "library", "extra": { @@ -5459,7 +4388,7 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -5476,17 +4405,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Mbstring extension", + "description": "Symfony polyfill for intl's grapheme_* functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "mbstring", + "grapheme", + "intl", "polyfill", "portable", "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" }, "funding": [ { @@ -5502,25 +4432,28 @@ "type": "tidelift" } ], - "time": "2023-07-28T09:04:16+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { - "name": "symfony/polyfill-php72", + "name": "symfony/polyfill-intl-normalizer", "version": "v1.28.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179" + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179", - "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", "shasum": "" }, "require": { "php": ">=7.1" }, + "suggest": { + "ext-intl": "For best performance" + }, "type": "library", "extra": { "branch-alias": { @@ -5536,8 +4469,11 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - } + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5553,16 +4489,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "description": "Symfony polyfill for intl's Normalizer class and related functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "intl", + "normalizer", "polyfill", "portable", "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" }, "funding": [ { @@ -5581,22 +4519,28 @@ "time": "2023-01-26T09:26:14+00:00" }, { - "name": "symfony/polyfill-php80", + "name": "symfony/polyfill-mbstring", "version": "v1.28.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "42292d99c55abe617799667f454222c54c60e229" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", + "reference": "42292d99c55abe617799667f454222c54c60e229", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, "type": "library", "extra": { "branch-alias": { @@ -5612,21 +4556,14 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "Symfony\\Polyfill\\Mbstring\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, { "name": "Nicolas Grekas", "email": "p@tchwork.com" @@ -5636,16 +4573,17 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "mbstring", "polyfill", "portable", "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" }, "funding": [ { @@ -5661,20 +4599,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2023-07-28T09:04:16+00:00" }, { - "name": "symfony/polyfill-php82", + "name": "symfony/polyfill-php72", "version": "v1.28.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php82.git", - "reference": "7716bea9c86776fb3362d6b52fe1fc9471056a49" + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php82/zipball/7716bea9c86776fb3362d6b52fe1fc9471056a49", - "reference": "7716bea9c86776fb3362d6b52fe1fc9471056a49", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179", + "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179", "shasum": "" }, "require": { @@ -5695,11 +4633,8 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php82\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "Symfony\\Polyfill\\Php72\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5715,7 +4650,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.2+ features to lower PHP versions", + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ "compatibility", @@ -5724,7 +4659,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php82/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0" }, "funding": [ { @@ -5740,25 +4675,24 @@ "type": "tidelift" } ], - "time": "2023-08-25T17:27:25+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { - "name": "symfony/polyfill-php83", + "name": "symfony/polyfill-php80", "version": "v1.28.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11" + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", - "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-php80": "^1.14" + "php": ">=7.1" }, "type": "library", "extra": { @@ -5775,7 +4709,7 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php83\\": "" + "Symfony\\Polyfill\\Php80\\": "" }, "classmap": [ "Resources/stubs" @@ -5786,6 +4720,10 @@ "MIT" ], "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, { "name": "Nicolas Grekas", "email": "p@tchwork.com" @@ -5795,7 +4733,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ "compatibility", @@ -5804,7 +4742,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" }, "funding": [ { @@ -5820,7 +4758,7 @@ "type": "tidelift" } ], - "time": "2023-08-16T06:22:46+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/routing", @@ -6415,232 +5353,6 @@ ], "time": "2023-11-21T18:54:41+00:00" }, - { - "name": "voku/portable-ascii", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/voku/portable-ascii.git", - "reference": "b56450eed252f6801410d810c8e1727224ae0743" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", - "reference": "b56450eed252f6801410d810c8e1727224ae0743", - "shasum": "" - }, - "require": { - "php": ">=7.0.0" - }, - "require-dev": { - "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" - }, - "suggest": { - "ext-intl": "Use Intl for transliterator_transliterate() support" - }, - "type": "library", - "autoload": { - "psr-4": { - "voku\\": "src/voku/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" - } - ], - "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", - "homepage": "https://github.com/voku/portable-ascii", - "keywords": [ - "ascii", - "clean", - "php" - ], - "support": { - "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.1" - }, - "funding": [ - { - "url": "https://www.paypal.me/moelleken", - "type": "custom" - }, - { - "url": "https://github.com/voku", - "type": "github" - }, - { - "url": "https://opencollective.com/portable-ascii", - "type": "open_collective" - }, - { - "url": "https://www.patreon.com/voku", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", - "type": "tidelift" - } - ], - "time": "2022-03-08T17:03:00+00:00" - }, - { - "name": "voku/portable-utf8", - "version": "6.0.13", - "source": { - "type": "git", - "url": "https://github.com/voku/portable-utf8.git", - "reference": "b8ce36bf26593e5c2e81b1850ef0ffb299d2043f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/voku/portable-utf8/zipball/b8ce36bf26593e5c2e81b1850ef0ffb299d2043f", - "reference": "b8ce36bf26593e5c2e81b1850ef0ffb299d2043f", - "shasum": "" - }, - "require": { - "php": ">=7.0.0", - "symfony/polyfill-iconv": "~1.0", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php72": "~1.0", - "voku/portable-ascii": "~2.0.0" - }, - "require-dev": { - "phpstan/phpstan": "1.9.*@dev", - "phpstan/phpstan-strict-rules": "1.4.*@dev", - "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0", - "thecodingmachine/phpstan-strict-rules": "1.0.*@dev", - "voku/phpstan-rules": "3.1.*@dev" - }, - "suggest": { - "ext-ctype": "Use Ctype for e.g. hexadecimal digit detection", - "ext-fileinfo": "Use Fileinfo for better binary file detection", - "ext-iconv": "Use iconv for best performance", - "ext-intl": "Use Intl for best performance", - "ext-json": "Use JSON for string detection", - "ext-mbstring": "Use Mbstring for best performance" - }, - "type": "library", - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "voku\\": "src/voku/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "(Apache-2.0 or GPL-2.0)" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Hamid Sarfraz", - "homepage": "http://pageconfig.com/" - }, - { - "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" - } - ], - "description": "Portable UTF-8 library - performance optimized (unicode) string functions for php.", - "homepage": "https://github.com/voku/portable-utf8", - "keywords": [ - "UTF", - "clean", - "php", - "unicode", - "utf-8", - "utf8" - ], - "support": { - "issues": "https://github.com/voku/portable-utf8/issues", - "source": "https://github.com/voku/portable-utf8/tree/6.0.13" - }, - "funding": [ - { - "url": "https://www.paypal.me/moelleken", - "type": "custom" - }, - { - "url": "https://github.com/voku", - "type": "github" - }, - { - "url": "https://opencollective.com/portable-utf8", - "type": "open_collective" - }, - { - "url": "https://www.patreon.com/voku", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/voku/portable-utf8", - "type": "tidelift" - } - ], - "time": "2023-03-08T08:35:38+00:00" - }, - { - "name": "wamania/php-stemmer", - "version": "v3.0.1", - "source": { - "type": "git", - "url": "https://github.com/wamania/php-stemmer.git", - "reference": "8ea32b6fa27d6888587fe860b64a8763525c5a66" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wamania/php-stemmer/zipball/8ea32b6fa27d6888587fe860b64a8763525c5a66", - "reference": "8ea32b6fa27d6888587fe860b64a8763525c5a66", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "voku/portable-utf8": "^5.4|^6.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Wamania\\Snowball\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Wamania", - "homepage": "http://wamania.com" - } - ], - "description": "Native PHP Stemmer", - "keywords": [ - "php", - "porter", - "stemmer" - ], - "support": { - "issues": "https://github.com/wamania/php-stemmer/issues", - "source": "https://github.com/wamania/php-stemmer/tree/v3.0.1" - }, - "time": "2023-05-11T10:50:27+00:00" - }, { "name": "webmozart/assert", "version": "1.11.0", diff --git a/src/ApplicationConfiguration.php b/src/ApplicationConfiguration.php index bfc9d775..aa9b8308 100644 --- a/src/ApplicationConfiguration.php +++ b/src/ApplicationConfiguration.php @@ -6,6 +6,11 @@ namespace Distantmagic\Resonance; readonly class ApplicationConfiguration { + /** + * @param non-empty-string $esbuildMetafile + * @param non-empty-string $scheme + * @param non-empty-string $url + */ public function __construct( public Environment $environment, public string $esbuildMetafile, diff --git a/src/DatabaseConnectionPoolConfiguration.php b/src/DatabaseConnectionPoolConfiguration.php index 4eed44a0..91a5374c 100644 --- a/src/DatabaseConnectionPoolConfiguration.php +++ b/src/DatabaseConnectionPoolConfiguration.php @@ -8,6 +8,10 @@ use SensitiveParameter; readonly class DatabaseConnectionPoolConfiguration { + /** + * @param non-empty-string $host + * @param non-empty-string $username + */ public function __construct( #[SensitiveParameter] public string $database, diff --git a/src/FrontMatterCollectionReference.php b/src/FrontMatterCollectionReference.php index c835cf69..61e8cadf 100644 --- a/src/FrontMatterCollectionReference.php +++ b/src/FrontMatterCollectionReference.php @@ -6,6 +6,10 @@ namespace Distantmagic\Resonance; readonly class FrontMatterCollectionReference { + /** + * @param non-empty-string $name + * @param null|non-empty-string $next + */ public function __construct( public string $name, public ?string $next, diff --git a/src/InputValidator/FrontMatterValidator.php b/src/InputValidator/FrontMatterValidator.php index 627f9977..1206614b 100644 --- a/src/InputValidator/FrontMatterValidator.php +++ b/src/InputValidator/FrontMatterValidator.php @@ -14,15 +14,15 @@ use Generator; /** * @extends InputValidator<FrontMatter, object{ - * collections: array<string|object{ name: string, next: string }>, - * content_type: string, - * description: string, + * collections: array<non-empty-string|object{ name: non-empty-string, next: non-empty-string }>, + * content_type: non-empty-string, + * description: non-empty-string, * draft: bool, - * next: null|string, - * layout: string, - * parent: null|string, - * register_stylesheets: array<string>, - * title: string, + * next: null|non-empty-string, + * layout: non-empty-string, + * parent: null|non-empty-string, + * register_stylesheets: array<non-empty-string>, + * title: non-empty-string, * }> */ #[Singleton] @@ -121,7 +121,7 @@ readonly class FrontMatterValidator extends InputValidator } /** - * @param array<object{ name: string, next: string }|string> $collections + * @param array<non-empty-string|object{ name: non-empty-string, next: non-empty-string }> $collections * * @return Generator<FrontMatterCollectionReference> */ diff --git a/src/LlamaCppConfiguration.php b/src/LlamaCppConfiguration.php index afdb15e8..c1ca0bd2 100644 --- a/src/LlamaCppConfiguration.php +++ b/src/LlamaCppConfiguration.php @@ -14,6 +14,10 @@ readonly class LlamaCppConfiguration * @psalm-taint-source system_secret $host * @psalm-taint-source system_secret $port * @psalm-taint-source system_secret $scheme + * + * @param null|non-empty-string $apiKey + * @param non-empty-string $host + * @param non-empty-string $scheme */ public function __construct( #[SensitiveParameter] diff --git a/src/OAuth2Configuration.php b/src/OAuth2Configuration.php index d147d2b6..0bb234c1 100644 --- a/src/OAuth2Configuration.php +++ b/src/OAuth2Configuration.php @@ -9,6 +9,11 @@ use League\OAuth2\Server\CryptKey; readonly class OAuth2Configuration { + /** + * @param non-empty-string $sessionKeyAuthorizationRequest + * @param non-empty-string $sessionKeyPkce + * @param non-empty-string $sessionKeyState + */ public function __construct( public Key $encryptionKey, public CryptKey $jwtSigningKeyPrivate, diff --git a/src/OpenAPIConfiguration.php b/src/OpenAPIConfiguration.php index 0f716d87..2e3930b6 100644 --- a/src/OpenAPIConfiguration.php +++ b/src/OpenAPIConfiguration.php @@ -6,6 +6,11 @@ namespace Distantmagic\Resonance; readonly class OpenAPIConfiguration { + /** + * @param non-empty-string $description + * @param non-empty-string $title + * @param non-empty-string $version + */ public function __construct( public string $description, public string $title, diff --git a/src/RedisConnectionPoolConfiguration.php b/src/RedisConnectionPoolConfiguration.php index 8ef65152..e3cdc8e0 100644 --- a/src/RedisConnectionPoolConfiguration.php +++ b/src/RedisConnectionPoolConfiguration.php @@ -17,6 +17,9 @@ readonly class RedisConnectionPoolConfiguration * @psalm-taint-source system_secret $port * @psalm-taint-source system_secret $prefix * @psalm-taint-source system_secret $timeout + * + * @param non-empty-string $host + * @param non-empty-string $prefix */ public function __construct( #[SensitiveParameter] diff --git a/src/SQLiteVSSConfiguration.php b/src/SQLiteVSSConfiguration.php index 8117fb76..10a9d868 100644 --- a/src/SQLiteVSSConfiguration.php +++ b/src/SQLiteVSSConfiguration.php @@ -8,6 +8,10 @@ use SensitiveParameter; readonly class SQLiteVSSConfiguration { + /** + * @param non-empty-string $extensionVector0 + * @param non-empty-string $extensionVss0 + */ public function __construct( #[SensitiveParameter] public string $extensionVector0, diff --git a/src/SessionConfiguration.php b/src/SessionConfiguration.php index 3621ccf8..395327a7 100644 --- a/src/SessionConfiguration.php +++ b/src/SessionConfiguration.php @@ -6,6 +6,9 @@ namespace Distantmagic\Resonance; readonly class SessionConfiguration { + /** + * @param non-empty-string $cookieName + */ public function __construct( public string $cookieName, public int $cookieLifespan, diff --git a/src/SingletonProvider/ConfigurationProvider/ApplicationConfigurationProvider.php b/src/SingletonProvider/ConfigurationProvider/ApplicationConfigurationProvider.php index 0495bcc1..d3280e51 100644 --- a/src/SingletonProvider/ConfigurationProvider/ApplicationConfigurationProvider.php +++ b/src/SingletonProvider/ConfigurationProvider/ApplicationConfigurationProvider.php @@ -9,13 +9,14 @@ use Distantmagic\Resonance\Attribute\Singleton; use Distantmagic\Resonance\Environment; use Distantmagic\Resonance\JsonSchema; use Distantmagic\Resonance\SingletonProvider\ConfigurationProvider; +use RuntimeException; /** * @template-extends ConfigurationProvider<ApplicationConfiguration, object{ * env: string, - * esbuild_metafile: string, - * scheme: string, - * url: string, + * esbuild_metafile: non-empty-string, + * scheme: non-empty-string, + * url: non-empty-string, * }> */ #[Singleton(provides: ApplicationConfiguration::class)] @@ -57,11 +58,17 @@ final readonly class ApplicationConfigurationProvider extends ConfigurationProvi protected function provideConfiguration($validatedData): ApplicationConfiguration { + $url = rtrim($validatedData->url, '/'); + + if (empty($url)) { + throw new RuntimeException('URL cannot be an empty string'); + } + return new ApplicationConfiguration( environment: Environment::from($validatedData->env), esbuildMetafile: DM_ROOT.'/'.$validatedData->esbuild_metafile, scheme: $validatedData->scheme, - url: rtrim($validatedData->url, '/'), + url: $url, ); } } diff --git a/src/SingletonProvider/ConfigurationProvider/DatabaseConfigurationProvider.php b/src/SingletonProvider/ConfigurationProvider/DatabaseConfigurationProvider.php index cceea18d..def66fcf 100644 --- a/src/SingletonProvider/ConfigurationProvider/DatabaseConfigurationProvider.php +++ b/src/SingletonProvider/ConfigurationProvider/DatabaseConfigurationProvider.php @@ -17,14 +17,14 @@ use Distantmagic\Resonance\SingletonProvider\ConfigurationProvider; * array<string, object{ * database: string, * driver: string, - * host: string, + * host: non-empty-string, * log_queries: bool, * password: string, * pool_prefill: bool, * pool_size: int, * port: int, * unix_socket: string, - * username: string, + * username: non-empty-string, * }> * > */ diff --git a/src/SingletonProvider/ConfigurationProvider/LlamaCppConfigurationProvider.php b/src/SingletonProvider/ConfigurationProvider/LlamaCppConfigurationProvider.php index 8964da35..468f669d 100644 --- a/src/SingletonProvider/ConfigurationProvider/LlamaCppConfigurationProvider.php +++ b/src/SingletonProvider/ConfigurationProvider/LlamaCppConfigurationProvider.php @@ -11,11 +11,11 @@ use Distantmagic\Resonance\SingletonProvider\ConfigurationProvider; /** * @template-extends ConfigurationProvider<LlamaCppConfiguration, object{ - * api_key: null|string, + * api_key: null|non-empty-string, * completion_token_timeout: float, - * host: string, + * host: non-empty-string, * port: int, - * scheme: string, + * scheme: non-empty-string, * }> */ #[Singleton(provides: LlamaCppConfiguration::class)] diff --git a/src/SingletonProvider/ConfigurationProvider/OAuth2ConfigurationProvider.php b/src/SingletonProvider/ConfigurationProvider/OAuth2ConfigurationProvider.php index f5b45cd6..15340cc2 100644 --- a/src/SingletonProvider/ConfigurationProvider/OAuth2ConfigurationProvider.php +++ b/src/SingletonProvider/ConfigurationProvider/OAuth2ConfigurationProvider.php @@ -16,13 +16,13 @@ use Swoole\Coroutine; /** * @template-extends ConfigurationProvider<OAuth2Configuration, object{ - * encryption_key: string, + * encryption_key: non-empty-string, * jwt_signing_key_passphrase: null|string, - * jwt_signing_key_private: string, - * jwt_signing_key_public: string, - * session_key_authorization_request: string, - * session_key_pkce: string, - * session_key_state: string, + * jwt_signing_key_private: non-empty-string, + * jwt_signing_key_public: non-empty-string, + * session_key_authorization_request: non-empty-string, + * session_key_pkce: non-empty-string, + * session_key_state: non-empty-string, * }> */ #[Singleton( diff --git a/src/SingletonProvider/ConfigurationProvider/OpenAPIConfigurationProvider.php b/src/SingletonProvider/ConfigurationProvider/OpenAPIConfigurationProvider.php index 9cf75ada..de82092d 100644 --- a/src/SingletonProvider/ConfigurationProvider/OpenAPIConfigurationProvider.php +++ b/src/SingletonProvider/ConfigurationProvider/OpenAPIConfigurationProvider.php @@ -11,9 +11,9 @@ use Distantmagic\Resonance\SingletonProvider\ConfigurationProvider; /** * @template-extends ConfigurationProvider<OpenAPIConfiguration, object{ - * description: string, - * title: string, - * version: string, + * description: non-empty-string, + * title: non-empty-string, + * version: non-empty-string, * }> */ #[Singleton(provides: OpenAPIConfiguration::class)] diff --git a/src/SingletonProvider/ConfigurationProvider/RedisConfigurationProvider.php b/src/SingletonProvider/ConfigurationProvider/RedisConfigurationProvider.php index 9a93a514..5b562b22 100644 --- a/src/SingletonProvider/ConfigurationProvider/RedisConfigurationProvider.php +++ b/src/SingletonProvider/ConfigurationProvider/RedisConfigurationProvider.php @@ -15,12 +15,12 @@ use Distantmagic\Resonance\SingletonProvider\ConfigurationProvider; * RedisConfiguration, * array<string, object{ * db_index: int, - * host: string, + * host: non-empty-string, * password: string, * pool_prefill: bool, * pool_size: int, * port: int, - * prefix: string, + * prefix: non-empty-string, * timeout: int, * }> * > diff --git a/src/SingletonProvider/ConfigurationProvider/SQLiteVSSConfigurationProvider.php b/src/SingletonProvider/ConfigurationProvider/SQLiteVSSConfigurationProvider.php index 65d02893..654f676b 100644 --- a/src/SingletonProvider/ConfigurationProvider/SQLiteVSSConfigurationProvider.php +++ b/src/SingletonProvider/ConfigurationProvider/SQLiteVSSConfigurationProvider.php @@ -11,8 +11,8 @@ use Distantmagic\Resonance\SQLiteVSSConfiguration; /** * @template-extends ConfigurationProvider<SQLiteVSSConfiguration, object{ - * extension_vector0: string, - * extension_vss0: string, + * extension_vector0: non-empty-string, + * extension_vss0: non-empty-string, * }> */ #[Singleton(provides: SQLiteVSSConfiguration::class)] diff --git a/src/SingletonProvider/ConfigurationProvider/SessionConfigurationProvider.php b/src/SingletonProvider/ConfigurationProvider/SessionConfigurationProvider.php index 7041902c..ec00d6eb 100644 --- a/src/SingletonProvider/ConfigurationProvider/SessionConfigurationProvider.php +++ b/src/SingletonProvider/ConfigurationProvider/SessionConfigurationProvider.php @@ -15,7 +15,7 @@ use Distantmagic\Resonance\SingletonProvider\ConfigurationProvider; /** * @template-extends ConfigurationProvider<SessionConfiguration, object{ * cookie_lifespan: int, - * cookie_name: string, + * cookie_name: non-empty-string, * cookie_samesite: string, * redis_connection_pool: string, * }> diff --git a/src/SingletonProvider/ConfigurationProvider/StaticPageConfigurationProvider.php b/src/SingletonProvider/ConfigurationProvider/StaticPageConfigurationProvider.php index e1c354fe..38f90ebf 100644 --- a/src/SingletonProvider/ConfigurationProvider/StaticPageConfigurationProvider.php +++ b/src/SingletonProvider/ConfigurationProvider/StaticPageConfigurationProvider.php @@ -11,11 +11,11 @@ use Distantmagic\Resonance\StaticPageConfiguration; /** * @template-extends ConfigurationProvider<StaticPageConfiguration, object{ - * base_url: string, - * esbuild_metafile: string, - * input_directory: string, - * output_directory: string, - * sitemap: string, + * base_url: non-empty-string, + * esbuild_metafile: non-empty-string, + * input_directory: non-empty-string, + * output_directory: non-empty-string, + * sitemap: non-empty-string, * }> */ #[Singleton(provides: StaticPageConfiguration::class)] diff --git a/src/SingletonProvider/ConfigurationProvider/SwooleConfigurationProvider.php b/src/SingletonProvider/ConfigurationProvider/SwooleConfigurationProvider.php index 83abf243..b060ba28 100644 --- a/src/SingletonProvider/ConfigurationProvider/SwooleConfigurationProvider.php +++ b/src/SingletonProvider/ConfigurationProvider/SwooleConfigurationProvider.php @@ -11,12 +11,12 @@ use Distantmagic\Resonance\SwooleConfiguration; /** * @template-extends ConfigurationProvider<SwooleConfiguration, object{ - * host: string, - * log_level: string, + * host: non-empty-string, + * log_level: non-empty-string, * log_requests: boolean, * port: int, - * ssl_cert_file: string, - * ssl_key_file: string, + * ssl_cert_file: non-empty-string, + * ssl_key_file: non-empty-string, * }> */ #[Singleton(provides: SwooleConfiguration::class)] diff --git a/src/SingletonProvider/ConfigurationProvider/TranslatorConfigurationProvider.php b/src/SingletonProvider/ConfigurationProvider/TranslatorConfigurationProvider.php index a3d15f89..87c4216a 100644 --- a/src/SingletonProvider/ConfigurationProvider/TranslatorConfigurationProvider.php +++ b/src/SingletonProvider/ConfigurationProvider/TranslatorConfigurationProvider.php @@ -11,8 +11,8 @@ use Distantmagic\Resonance\TranslatorConfiguration; /** * @template-extends ConfigurationProvider<TranslatorConfiguration, object{ - * base_directory: string, - * default_primary_language: string, + * base_directory: non-empty-string, + * default_primary_language: non-empty-string, * }> */ #[Singleton(provides: TranslatorConfiguration::class)] diff --git a/src/StaticPageConfiguration.php b/src/StaticPageConfiguration.php index 29e678e2..64b86192 100644 --- a/src/StaticPageConfiguration.php +++ b/src/StaticPageConfiguration.php @@ -12,6 +12,13 @@ readonly class StaticPageConfiguration * @psalm-taint-source file $esbuildMetafile * @psalm-taint-source file $outputDirectory * @psalm-taint-source file $sitemap + * + * @param non-empty-string $baseUrl + * @param non-empty-string $esbuildMetafile + * @param non-empty-string $inputDirectory + * @param non-empty-string $outputDirectory + * @param non-empty-string $sitemap + * @param non-empty-string $stripOutputPrefix */ public function __construct( public string $baseUrl, diff --git a/src/SwooleConfiguration.php b/src/SwooleConfiguration.php index e312b8ad..75fd23fc 100644 --- a/src/SwooleConfiguration.php +++ b/src/SwooleConfiguration.php @@ -13,6 +13,10 @@ readonly class SwooleConfiguration * @psalm-taint-source file $sslKeyFile * @psalm-taint-source system_secret $host * @psalm-taint-source system_secret $port + * + * @param non-empty-string $host + * @param non-empty-string $sslCertFile + * @param non-empty-string $sslKeyFile */ public function __construct( #[SensitiveParameter] -- GitLab