diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index cb0072afd..1e033c828 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -12,12 +12,12 @@ jobs:
strategy:
fail-fast: false
matrix:
- php-version: ['8.1']
- sdk: [Android11Java8, Android11Java11, Android12Java8, Android12Java11, CLINode16, CLINode18, DartBeta, DartStable, Deno1193, Deno1303, DotNet60, DotNet70, FlutterStable, FlutterBeta, Go112, Go118, KotlinJava8, KotlinJava11, KotlinJava17, Node12, Node14, Node16, PHP74, PHP80, Python38, Python39, Python310, Ruby27, Ruby30, Ruby31, AppleSwift55, Swift55, WebChromium, WebNode]
+ php-version: ['8.2']
+ sdk: [Android5Java17, Android14Java17, CLINode16, CLINode18, DartBeta, DartStable, Deno1193, Deno1303, DotNet60, DotNet70, FlutterStable, FlutterBeta, Go112, Go118, KotlinJava8, KotlinJava11, KotlinJava17, Node16, Node18, Node20, PHP74, PHP80, Python38, Python39, Python310, Ruby27, Ruby30, Ruby31, AppleSwift56, Swift56, WebChromium, WebNode]
steps:
- name: Checkout repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
submodules: recursive
@@ -55,7 +55,7 @@ jobs:
steps:
- name: Checkout code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Setup PHP with PECL extension
uses: shivammathur/setup-php@v2
diff --git a/composer.json b/composer.json
index 137854346..f59602c73 100644
--- a/composer.json
+++ b/composer.json
@@ -3,6 +3,8 @@
"description": "Appwrite PHP library for generating API SDKs for multiple programming languages and platforms",
"type": "library",
"license": "MIT",
+ "minimum-stability": "dev",
+ "prefer-stable": true,
"authors": [
{
"name": "Eldad Fux",
@@ -28,14 +30,15 @@
"ext-curl": "*",
"ext-mbstring": "*",
"ext-json": "*",
- "twig/twig": "^3.4.1",
- "matthiasmullie/minify": "^1.3.68"
+ "twig/twig": "v3.8.*",
+ "matthiasmullie/minify": "1.3.*"
},
"require-dev": {
- "phpunit/phpunit": "^9.5.21",
- "brianium/paratest": "^6.4",
- "squizlabs/php_codesniffer": "^3.6"
+ "phpunit/phpunit": "10.5.*",
+ "brianium/paratest": "v7.4.*",
+ "squizlabs/php_codesniffer": "3.9.*"
},
- "minimum-stability": "dev",
- "prefer-stable": true
+ "platform": {
+ "php": "8.2"
+ }
}
diff --git a/composer.lock b/composer.lock
index 8f0e09370..aa7c305a4 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "533996af87f893e7dfaa0508e3ee720d",
+ "content-hash": "05fda1f077af4fd406e116aaa2c06314",
"packages": [
{
"name": "matthiasmullie/minify",
@@ -132,16 +132,16 @@
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.28.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
+ "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
- "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4",
+ "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4",
"shasum": ""
},
"require": {
@@ -155,9 +155,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -194,7 +191,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0"
},
"funding": [
{
@@ -210,20 +207,20 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.28.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "42292d99c55abe617799667f454222c54c60e229"
+ "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
- "reference": "42292d99c55abe617799667f454222c54c60e229",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
+ "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
"shasum": ""
},
"require": {
@@ -237,9 +234,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -277,7 +271,87 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.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": "2024-01-29T20:11:03+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php80",
+ "version": "v1.29.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php80.git",
+ "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
+ "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "type": "library",
+ "extra": {
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php80\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Ion Bazan",
+ "email": "ion.bazan@gmail.com"
+ },
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0"
},
"funding": [
{
@@ -293,30 +367,31 @@
"type": "tidelift"
}
],
- "time": "2023-07-28T09:04:16+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
"name": "twig/twig",
- "version": "v3.7.1",
+ "version": "v3.8.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "a0ce373a0ca3bf6c64b9e3e2124aca502ba39554"
+ "reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/a0ce373a0ca3bf6c64b9e3e2124aca502ba39554",
- "reference": "a0ce373a0ca3bf6c64b9e3e2124aca502ba39554",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/9d15f0ac07f44dc4217883ec6ae02fd555c6f71d",
+ "reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/polyfill-ctype": "^1.8",
- "symfony/polyfill-mbstring": "^1.3"
+ "symfony/polyfill-mbstring": "^1.3",
+ "symfony/polyfill-php80": "^1.22"
},
"require-dev": {
"psr/container": "^1.0|^2.0",
- "symfony/phpunit-bridge": "^5.4.9|^6.3"
+ "symfony/phpunit-bridge": "^5.4.9|^6.3|^7.0"
},
"type": "library",
"autoload": {
@@ -352,7 +427,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
- "source": "https://github.com/twigphp/Twig/tree/v3.7.1"
+ "source": "https://github.com/twigphp/Twig/tree/v3.8.0"
},
"funding": [
{
@@ -364,22 +439,22 @@
"type": "tidelift"
}
],
- "time": "2023-08-28T11:09:02+00:00"
+ "time": "2023-11-21T18:54:41+00:00"
}
],
"packages-dev": [
{
"name": "brianium/paratest",
- "version": "v6.10.1",
+ "version": "v7.4.3",
"source": {
"type": "git",
"url": "https://github.com/paratestphp/paratest.git",
- "reference": "d6f32a91302b74458e8ef5d132bb2215a5edb34b"
+ "reference": "64fcfd0e28a6b8078a19dbf9127be2ee645b92ec"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paratestphp/paratest/zipball/d6f32a91302b74458e8ef5d132bb2215a5edb34b",
- "reference": "d6f32a91302b74458e8ef5d132bb2215a5edb34b",
+ "url": "https://api.github.com/repos/paratestphp/paratest/zipball/64fcfd0e28a6b8078a19dbf9127be2ee645b92ec",
+ "reference": "64fcfd0e28a6b8078a19dbf9127be2ee645b92ec",
"shasum": ""
},
"require": {
@@ -387,25 +462,27 @@
"ext-pcre": "*",
"ext-reflection": "*",
"ext-simplexml": "*",
- "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1",
+ "fidry/cpu-core-counter": "^1.1.0",
"jean85/pretty-package-versions": "^2.0.5",
- "php": "^7.3 || ^8.0",
- "phpunit/php-code-coverage": "^9.2.25",
- "phpunit/php-file-iterator": "^3.0.6",
- "phpunit/php-timer": "^5.0.3",
- "phpunit/phpunit": "^9.6.4",
- "sebastian/environment": "^5.1.5",
- "symfony/console": "^5.4.21 || ^6.2.7",
- "symfony/process": "^5.4.21 || ^6.2.7"
+ "php": "~8.2.0 || ~8.3.0",
+ "phpunit/php-code-coverage": "^10.1.11 || ^11.0.0",
+ "phpunit/php-file-iterator": "^4.1.0 || ^5.0.0",
+ "phpunit/php-timer": "^6.0.0 || ^7.0.0",
+ "phpunit/phpunit": "^10.5.9 || ^11.0.3",
+ "sebastian/environment": "^6.0.1 || ^7.0.0",
+ "symfony/console": "^6.4.3 || ^7.0.3",
+ "symfony/process": "^6.4.3 || ^7.0.3"
},
"require-dev": {
- "doctrine/coding-standard": "^10.0.0",
+ "doctrine/coding-standard": "^12.0.0",
"ext-pcov": "*",
"ext-posix": "*",
- "infection/infection": "^0.26.19",
- "squizlabs/php_codesniffer": "^3.7.2",
- "symfony/filesystem": "^5.4.21 || ^6.2.7",
- "vimeo/psalm": "^5.7.7"
+ "phpstan/phpstan": "^1.10.58",
+ "phpstan/phpstan-deprecation-rules": "^1.1.4",
+ "phpstan/phpstan-phpunit": "^1.3.15",
+ "phpstan/phpstan-strict-rules": "^1.5.2",
+ "squizlabs/php_codesniffer": "^3.9.0",
+ "symfony/filesystem": "^6.4.3 || ^7.0.3"
},
"bin": [
"bin/paratest",
@@ -446,7 +523,7 @@
],
"support": {
"issues": "https://github.com/paratestphp/paratest/issues",
- "source": "https://github.com/paratestphp/paratest/tree/v6.10.1"
+ "source": "https://github.com/paratestphp/paratest/tree/v7.4.3"
},
"funding": [
{
@@ -458,90 +535,20 @@
"type": "paypal"
}
],
- "time": "2023-10-04T13:33:07+00:00"
- },
- {
- "name": "doctrine/instantiator",
- "version": "2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
- "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
- "shasum": ""
- },
- "require": {
- "php": "^8.1"
- },
- "require-dev": {
- "doctrine/coding-standard": "^11",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpbench/phpbench": "^1.2",
- "phpstan/phpstan": "^1.9.4",
- "phpstan/phpstan-phpunit": "^1.3",
- "phpunit/phpunit": "^9.5.27",
- "vimeo/psalm": "^5.4"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "https://ocramius.github.io/"
- }
- ],
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
- "keywords": [
- "constructor",
- "instantiate"
- ],
- "support": {
- "issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/2.0.0"
- },
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
- "type": "tidelift"
- }
- ],
- "time": "2022-12-30T00:23:10+00:00"
+ "time": "2024-02-20T07:24:02+00:00"
},
{
"name": "fidry/cpu-core-counter",
- "version": "0.5.1",
+ "version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/theofidry/cpu-core-counter.git",
- "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623"
+ "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/b58e5a3933e541dc286cc91fc4f3898bbc6f1623",
- "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623",
+ "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/f92996c4d5c1a696a6a970e20f7c4216200fcc42",
+ "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42",
"shasum": ""
},
"require": {
@@ -549,13 +556,13 @@
},
"require-dev": {
"fidry/makefile": "^0.2.0",
+ "fidry/php-cs-fixer-config": "^1.1.2",
"phpstan/extension-installer": "^1.2.0",
"phpstan/phpstan": "^1.9.2",
"phpstan/phpstan-deprecation-rules": "^1.0.0",
"phpstan/phpstan-phpunit": "^1.2.2",
"phpstan/phpstan-strict-rules": "^1.4.4",
- "phpunit/phpunit": "^9.5.26 || ^8.5.31",
- "theofidry/php-cs-fixer-config": "^1.0",
+ "phpunit/phpunit": "^8.5.31 || ^9.5.26",
"webmozarts/strict-phpunit": "^7.5"
},
"type": "library",
@@ -581,7 +588,7 @@
],
"support": {
"issues": "https://github.com/theofidry/cpu-core-counter/issues",
- "source": "https://github.com/theofidry/cpu-core-counter/tree/0.5.1"
+ "source": "https://github.com/theofidry/cpu-core-counter/tree/1.1.0"
},
"funding": [
{
@@ -589,7 +596,7 @@
"type": "github"
}
],
- "time": "2022-12-24T12:35:10+00:00"
+ "time": "2024-02-07T09:43:46+00:00"
},
{
"name": "jean85/pretty-package-versions",
@@ -711,25 +718,27 @@
},
{
"name": "nikic/php-parser",
- "version": "v4.17.1",
+ "version": "v5.0.1",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d"
+ "reference": "2218c2252c874a4624ab2f613d86ac32d227bc69"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
- "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/2218c2252c874a4624ab2f613d86ac32d227bc69",
+ "reference": "2218c2252c874a4624ab2f613d86ac32d227bc69",
"shasum": ""
},
"require": {
+ "ext-ctype": "*",
+ "ext-json": "*",
"ext-tokenizer": "*",
- "php": ">=7.0"
+ "php": ">=7.4"
},
"require-dev": {
"ircmaxell/php-yacc": "^0.0.7",
- "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
},
"bin": [
"bin/php-parse"
@@ -737,7 +746,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.9-dev"
+ "dev-master": "5.0-dev"
}
},
"autoload": {
@@ -761,9 +770,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.1"
},
- "time": "2023-08-13T19:53:39+00:00"
+ "time": "2024-02-21T19:24:10+00:00"
},
{
"name": "phar-io/manifest",
@@ -878,35 +887,35 @@
},
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.29",
+ "version": "10.1.11",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76"
+ "reference": "78c3b7625965c2513ee96569a4dbb62601784145"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76",
- "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/78c3b7625965c2513ee96569a4dbb62601784145",
+ "reference": "78c3b7625965c2513ee96569a4dbb62601784145",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.15",
- "php": ">=7.3",
- "phpunit/php-file-iterator": "^3.0.3",
- "phpunit/php-text-template": "^2.0.2",
- "sebastian/code-unit-reverse-lookup": "^2.0.2",
- "sebastian/complexity": "^2.0",
- "sebastian/environment": "^5.1.2",
- "sebastian/lines-of-code": "^1.0.3",
- "sebastian/version": "^3.0.1",
+ "nikic/php-parser": "^4.18 || ^5.0",
+ "php": ">=8.1",
+ "phpunit/php-file-iterator": "^4.0",
+ "phpunit/php-text-template": "^3.0",
+ "sebastian/code-unit-reverse-lookup": "^3.0",
+ "sebastian/complexity": "^3.0",
+ "sebastian/environment": "^6.0",
+ "sebastian/lines-of-code": "^2.0",
+ "sebastian/version": "^4.0",
"theseer/tokenizer": "^1.2.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.1"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -915,7 +924,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.2-dev"
+ "dev-main": "10.1-dev"
}
},
"autoload": {
@@ -944,7 +953,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.11"
},
"funding": [
{
@@ -952,32 +961,32 @@
"type": "github"
}
],
- "time": "2023-09-19T04:57:46+00:00"
+ "time": "2023-12-21T15:38:30+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "3.0.6",
+ "version": "4.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
+ "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
- "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c",
+ "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -1004,7 +1013,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6"
+ "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0"
},
"funding": [
{
@@ -1012,28 +1022,28 @@
"type": "github"
}
],
- "time": "2021-12-02T12:48:52+00:00"
+ "time": "2023-08-31T06:24:48+00:00"
},
{
"name": "phpunit/php-invoker",
- "version": "3.1.1",
+ "version": "4.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
+ "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
"ext-pcntl": "*",
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"suggest": {
"ext-pcntl": "*"
@@ -1041,7 +1051,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.1-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -1067,7 +1077,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-invoker/issues",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0"
},
"funding": [
{
@@ -1075,32 +1085,32 @@
"type": "github"
}
],
- "time": "2020-09-28T05:58:55+00:00"
+ "time": "2023-02-03T06:56:09+00:00"
},
{
"name": "phpunit/php-text-template",
- "version": "2.0.4",
+ "version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748",
+ "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -1126,7 +1136,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
+ "security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1"
},
"funding": [
{
@@ -1134,32 +1145,32 @@
"type": "github"
}
],
- "time": "2020-10-26T05:33:50+00:00"
+ "time": "2023-08-31T14:07:24+00:00"
},
{
"name": "phpunit/php-timer",
- "version": "5.0.3",
+ "version": "6.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d",
+ "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -1185,7 +1196,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0"
},
"funding": [
{
@@ -1193,24 +1204,23 @@
"type": "github"
}
],
- "time": "2020-10-26T13:16:10+00:00"
+ "time": "2023-02-03T06:57:52+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "9.6.13",
+ "version": "10.5.10",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be"
+ "reference": "50b8e314b6d0dd06521dc31d1abffa73f25f850c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be",
- "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/50b8e314b6d0dd06521dc31d1abffa73f25f850c",
+ "reference": "50b8e314b6d0dd06521dc31d1abffa73f25f850c",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.3.1 || ^2",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
@@ -1220,27 +1230,26 @@
"myclabs/deep-copy": "^1.10.1",
"phar-io/manifest": "^2.0.3",
"phar-io/version": "^3.0.2",
- "php": ">=7.3",
- "phpunit/php-code-coverage": "^9.2.28",
- "phpunit/php-file-iterator": "^3.0.5",
- "phpunit/php-invoker": "^3.1.1",
- "phpunit/php-text-template": "^2.0.3",
- "phpunit/php-timer": "^5.0.2",
- "sebastian/cli-parser": "^1.0.1",
- "sebastian/code-unit": "^1.0.6",
- "sebastian/comparator": "^4.0.8",
- "sebastian/diff": "^4.0.3",
- "sebastian/environment": "^5.1.3",
- "sebastian/exporter": "^4.0.5",
- "sebastian/global-state": "^5.0.1",
- "sebastian/object-enumerator": "^4.0.3",
- "sebastian/resource-operations": "^3.0.3",
- "sebastian/type": "^3.2",
- "sebastian/version": "^3.0.2"
+ "php": ">=8.1",
+ "phpunit/php-code-coverage": "^10.1.5",
+ "phpunit/php-file-iterator": "^4.0",
+ "phpunit/php-invoker": "^4.0",
+ "phpunit/php-text-template": "^3.0",
+ "phpunit/php-timer": "^6.0",
+ "sebastian/cli-parser": "^2.0",
+ "sebastian/code-unit": "^2.0",
+ "sebastian/comparator": "^5.0",
+ "sebastian/diff": "^5.0",
+ "sebastian/environment": "^6.0",
+ "sebastian/exporter": "^5.1",
+ "sebastian/global-state": "^6.0.1",
+ "sebastian/object-enumerator": "^5.0",
+ "sebastian/recursion-context": "^5.0",
+ "sebastian/type": "^4.0",
+ "sebastian/version": "^4.0"
},
"suggest": {
- "ext-soap": "To be able to generate mocks based on WSDL files",
- "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
+ "ext-soap": "To be able to generate mocks based on WSDL files"
},
"bin": [
"phpunit"
@@ -1248,7 +1257,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.6-dev"
+ "dev-main": "10.5-dev"
}
},
"autoload": {
@@ -1280,7 +1289,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.10"
},
"funding": [
{
@@ -1296,7 +1305,7 @@
"type": "tidelift"
}
],
- "time": "2023-09-19T05:39:22+00:00"
+ "time": "2024-02-04T09:07:51+00:00"
},
{
"name": "psr/container",
@@ -1353,28 +1362,28 @@
},
{
"name": "sebastian/cli-parser",
- "version": "1.0.1",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
- "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae",
+ "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-main": "2.0-dev"
}
},
"autoload": {
@@ -1397,7 +1406,7 @@
"homepage": "https://github.com/sebastianbergmann/cli-parser",
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0"
},
"funding": [
{
@@ -1405,32 +1414,32 @@
"type": "github"
}
],
- "time": "2020-09-28T06:08:49+00:00"
+ "time": "2023-02-03T06:58:15+00:00"
},
{
"name": "sebastian/code-unit",
- "version": "1.0.8",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ "reference": "a81fee9eef0b7a76af11d121767abc44c104e503"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503",
+ "reference": "a81fee9eef0b7a76af11d121767abc44c104e503",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-main": "2.0-dev"
}
},
"autoload": {
@@ -1453,7 +1462,7 @@
"homepage": "https://github.com/sebastianbergmann/code-unit",
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit/issues",
- "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0"
},
"funding": [
{
@@ -1461,32 +1470,32 @@
"type": "github"
}
],
- "time": "2020-10-26T13:08:54+00:00"
+ "time": "2023-02-03T06:58:43+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
- "version": "2.0.3",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
+ "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -1508,7 +1517,7 @@
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
- "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0"
},
"funding": [
{
@@ -1516,34 +1525,36 @@
"type": "github"
}
],
- "time": "2020-09-28T05:30:19+00:00"
+ "time": "2023-02-03T06:59:15+00:00"
},
{
"name": "sebastian/comparator",
- "version": "4.0.8",
+ "version": "5.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "fa0f136dd2334583309d32b62544682ee972b51a"
+ "reference": "2db5010a484d53ebf536087a70b4a5423c102372"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
- "reference": "fa0f136dd2334583309d32b62544682ee972b51a",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372",
+ "reference": "2db5010a484d53ebf536087a70b4a5423c102372",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/diff": "^4.0",
- "sebastian/exporter": "^4.0"
+ "ext-dom": "*",
+ "ext-mbstring": "*",
+ "php": ">=8.1",
+ "sebastian/diff": "^5.0",
+ "sebastian/exporter": "^5.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -1582,7 +1593,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
+ "security": "https://github.com/sebastianbergmann/comparator/security/policy",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1"
},
"funding": [
{
@@ -1590,33 +1602,33 @@
"type": "github"
}
],
- "time": "2022-09-14T12:41:17+00:00"
+ "time": "2023-08-14T13:18:12+00:00"
},
{
"name": "sebastian/complexity",
- "version": "2.0.2",
+ "version": "3.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
+ "reference": "68ff824baeae169ec9f2137158ee529584553799"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799",
+ "reference": "68ff824baeae169ec9f2137158ee529584553799",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.7",
- "php": ">=7.3"
+ "nikic/php-parser": "^4.18 || ^5.0",
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "3.2-dev"
}
},
"autoload": {
@@ -1639,7 +1651,8 @@
"homepage": "https://github.com/sebastianbergmann/complexity",
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
- "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
+ "security": "https://github.com/sebastianbergmann/complexity/security/policy",
+ "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0"
},
"funding": [
{
@@ -1647,33 +1660,33 @@
"type": "github"
}
],
- "time": "2020-10-26T15:52:27+00:00"
+ "time": "2023-12-21T08:37:17+00:00"
},
{
"name": "sebastian/diff",
- "version": "4.0.5",
+ "version": "5.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131"
+ "reference": "fbf413a49e54f6b9b17e12d900ac7f6101591b7f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
- "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/fbf413a49e54f6b9b17e12d900ac7f6101591b7f",
+ "reference": "fbf413a49e54f6b9b17e12d900ac7f6101591b7f",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3",
+ "phpunit/phpunit": "^10.0",
"symfony/process": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "5.1-dev"
}
},
"autoload": {
@@ -1705,7 +1718,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5"
+ "security": "https://github.com/sebastianbergmann/diff/security/policy",
+ "source": "https://github.com/sebastianbergmann/diff/tree/5.1.0"
},
"funding": [
{
@@ -1713,27 +1727,27 @@
"type": "github"
}
],
- "time": "2023-05-07T05:35:17+00:00"
+ "time": "2023-12-22T10:55:06+00:00"
},
{
"name": "sebastian/environment",
- "version": "5.1.5",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
+ "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
- "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951",
+ "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"suggest": {
"ext-posix": "*"
@@ -1741,7 +1755,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.1-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -1760,7 +1774,7 @@
}
],
"description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "http://www.github.com/sebastianbergmann/environment",
+ "homepage": "https://github.com/sebastianbergmann/environment",
"keywords": [
"Xdebug",
"environment",
@@ -1768,7 +1782,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
- "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
+ "security": "https://github.com/sebastianbergmann/environment/security/policy",
+ "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1"
},
"funding": [
{
@@ -1776,34 +1791,34 @@
"type": "github"
}
],
- "time": "2023-02-03T06:03:51+00:00"
+ "time": "2023-04-11T05:39:26+00:00"
},
{
"name": "sebastian/exporter",
- "version": "4.0.5",
+ "version": "5.1.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
+ "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
- "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64f51654862e0f5e318db7e9dcc2292c63cdbddc",
+ "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/recursion-context": "^4.0"
+ "ext-mbstring": "*",
+ "php": ">=8.1",
+ "sebastian/recursion-context": "^5.0"
},
"require-dev": {
- "ext-mbstring": "*",
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "5.1-dev"
}
},
"autoload": {
@@ -1845,7 +1860,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5"
+ "security": "https://github.com/sebastianbergmann/exporter/security/policy",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.1"
},
"funding": [
{
@@ -1853,38 +1869,35 @@
"type": "github"
}
],
- "time": "2022-09-14T06:03:37+00:00"
+ "time": "2023-09-24T13:22:09+00:00"
},
{
"name": "sebastian/global-state",
- "version": "5.0.6",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "bde739e7565280bda77be70044ac1047bc007e34"
+ "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34",
- "reference": "bde739e7565280bda77be70044ac1047bc007e34",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4",
+ "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
+ "php": ">=8.1",
+ "sebastian/object-reflector": "^3.0",
+ "sebastian/recursion-context": "^5.0"
},
"require-dev": {
"ext-dom": "*",
- "phpunit/phpunit": "^9.3"
- },
- "suggest": {
- "ext-uopz": "*"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -1909,7 +1922,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6"
+ "security": "https://github.com/sebastianbergmann/global-state/security/policy",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1"
},
"funding": [
{
@@ -1917,33 +1931,33 @@
"type": "github"
}
],
- "time": "2023-08-02T09:26:13+00:00"
+ "time": "2023-07-19T07:19:23+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "1.0.3",
+ "version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
+ "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0",
+ "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.6",
- "php": ">=7.3"
+ "nikic/php-parser": "^4.18 || ^5.0",
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-main": "2.0-dev"
}
},
"autoload": {
@@ -1966,7 +1980,8 @@
"homepage": "https://github.com/sebastianbergmann/lines-of-code",
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
+ "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2"
},
"funding": [
{
@@ -1974,34 +1989,34 @@
"type": "github"
}
],
- "time": "2020-11-28T06:42:11+00:00"
+ "time": "2023-12-21T08:38:20+00:00"
},
{
"name": "sebastian/object-enumerator",
- "version": "4.0.4",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
+ "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906",
+ "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
+ "php": ">=8.1",
+ "sebastian/object-reflector": "^3.0",
+ "sebastian/recursion-context": "^5.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -2023,7 +2038,7 @@
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0"
},
"funding": [
{
@@ -2031,32 +2046,32 @@
"type": "github"
}
],
- "time": "2020-10-26T13:12:34+00:00"
+ "time": "2023-02-03T07:08:32+00:00"
},
{
"name": "sebastian/object-reflector",
- "version": "2.0.4",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+ "reference": "24ed13d98130f0e7122df55d06c5c4942a577957"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957",
+ "reference": "24ed13d98130f0e7122df55d06c5c4942a577957",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -2078,7 +2093,7 @@
"homepage": "https://github.com/sebastianbergmann/object-reflector/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-reflector/issues",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0"
},
"funding": [
{
@@ -2086,32 +2101,32 @@
"type": "github"
}
],
- "time": "2020-10-26T13:14:26+00:00"
+ "time": "2023-02-03T07:06:18+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "4.0.5",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
+ "reference": "05909fb5bc7df4c52992396d0116aed689f93712"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
- "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712",
+ "reference": "05909fb5bc7df4c52992396d0116aed689f93712",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -2141,62 +2156,7 @@
"homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2023-02-03T06:07:39+00:00"
- },
- {
- "name": "sebastian/resource-operations",
- "version": "3.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides a list of PHP built-in functions that operate on resources",
- "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
- "support": {
- "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
- "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0"
},
"funding": [
{
@@ -2204,32 +2164,32 @@
"type": "github"
}
],
- "time": "2020-09-28T06:45:17+00:00"
+ "time": "2023-02-03T07:05:40+00:00"
},
{
"name": "sebastian/type",
- "version": "3.2.1",
+ "version": "4.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
+ "reference": "462699a16464c3944eefc02ebdd77882bd3925bf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
- "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf",
+ "reference": "462699a16464c3944eefc02ebdd77882bd3925bf",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.5"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.2-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -2252,7 +2212,7 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
+ "source": "https://github.com/sebastianbergmann/type/tree/4.0.0"
},
"funding": [
{
@@ -2260,29 +2220,29 @@
"type": "github"
}
],
- "time": "2023-02-03T06:13:03+00:00"
+ "time": "2023-02-03T07:10:45+00:00"
},
{
"name": "sebastian/version",
- "version": "3.0.2",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c6c1022351a901512170118436c764e473f6de8c"
+ "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
- "reference": "c6c1022351a901512170118436c764e473f6de8c",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17",
+ "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -2305,7 +2265,7 @@
"homepage": "https://github.com/sebastianbergmann/version",
"support": {
"issues": "https://github.com/sebastianbergmann/version/issues",
- "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
+ "source": "https://github.com/sebastianbergmann/version/tree/4.0.1"
},
"funding": [
{
@@ -2313,20 +2273,20 @@
"type": "github"
}
],
- "time": "2020-09-28T06:39:44+00:00"
+ "time": "2023-02-07T11:34:05+00:00"
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.7.2",
+ "version": "3.9.0",
"source": {
"type": "git",
- "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
- "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879"
+ "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
+ "reference": "d63cee4890a8afaf86a22e51ad4d97c91dd4579b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879",
- "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/d63cee4890a8afaf86a22e51ad4d97c91dd4579b",
+ "reference": "d63cee4890a8afaf86a22e51ad4d97c91dd4579b",
"shasum": ""
},
"require": {
@@ -2336,11 +2296,11 @@
"php": ">=5.4.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4"
},
"bin": [
- "bin/phpcs",
- "bin/phpcbf"
+ "bin/phpcbf",
+ "bin/phpcs"
],
"type": "library",
"extra": {
@@ -2355,62 +2315,88 @@
"authors": [
{
"name": "Greg Sherwood",
- "role": "lead"
+ "role": "Former lead"
+ },
+ {
+ "name": "Juliette Reinders Folmer",
+ "role": "Current lead"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors"
}
],
"description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
- "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
"keywords": [
"phpcs",
"standards",
"static analysis"
],
"support": {
- "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
- "source": "https://github.com/squizlabs/PHP_CodeSniffer",
- "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
+ "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues",
+ "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy",
+ "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
+ "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki"
},
- "time": "2023-02-22T23:07:41+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/PHPCSStandards",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/jrfnl",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/php_codesniffer",
+ "type": "open_collective"
+ }
+ ],
+ "time": "2024-02-16T15:06:51+00:00"
},
{
"name": "symfony/console",
- "version": "v6.3.4",
+ "version": "v7.0.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6"
+ "reference": "c5010d50f1ee4b25cfa0201d9915cf1b14071456"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/eca495f2ee845130855ddf1cf18460c38966c8b6",
- "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6",
+ "url": "https://api.github.com/repos/symfony/console/zipball/c5010d50f1ee4b25cfa0201d9915cf1b14071456",
+ "reference": "c5010d50f1ee4b25cfa0201d9915cf1b14071456",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
+ "php": ">=8.2",
"symfony/polyfill-mbstring": "~1.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/string": "^5.4|^6.0"
+ "symfony/string": "^6.4|^7.0"
},
"conflict": {
- "symfony/dependency-injection": "<5.4",
- "symfony/dotenv": "<5.4",
- "symfony/event-dispatcher": "<5.4",
- "symfony/lock": "<5.4",
- "symfony/process": "<5.4"
+ "symfony/dependency-injection": "<6.4",
+ "symfony/dotenv": "<6.4",
+ "symfony/event-dispatcher": "<6.4",
+ "symfony/lock": "<6.4",
+ "symfony/process": "<6.4"
},
"provide": {
"psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^5.4|^6.0",
- "symfony/dependency-injection": "^5.4|^6.0",
- "symfony/event-dispatcher": "^5.4|^6.0",
- "symfony/lock": "^5.4|^6.0",
- "symfony/process": "^5.4|^6.0",
- "symfony/var-dumper": "^5.4|^6.0"
+ "symfony/config": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/lock": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0",
+ "symfony/stopwatch": "^6.4|^7.0",
+ "symfony/var-dumper": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -2444,74 +2430,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v6.3.4"
- },
- "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-08-16T10:10:12+00:00"
- },
- {
- "name": "symfony/deprecation-contracts",
- "version": "v3.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
- "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.4-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "autoload": {
- "files": [
- "function.php"
- ]
- },
- "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": "A generic function and convention to trigger deprecation notices",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0"
+ "source": "https://github.com/symfony/console/tree/v7.0.3"
},
"funding": [
{
@@ -2527,20 +2446,20 @@
"type": "tidelift"
}
],
- "time": "2023-05-23T14:45:45+00:00"
+ "time": "2024-01-23T15:02:46+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.28.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "875e90aeea2777b6f135677f618529449334a612"
+ "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612",
- "reference": "875e90aeea2777b6f135677f618529449334a612",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f",
+ "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f",
"shasum": ""
},
"require": {
@@ -2551,9 +2470,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -2592,7 +2508,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0"
},
"funding": [
{
@@ -2608,20 +2524,20 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.28.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92"
+ "reference": "bc45c394692b948b4d383a08d7753968bed9a83d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
- "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d",
+ "reference": "bc45c394692b948b4d383a08d7753968bed9a83d",
"shasum": ""
},
"require": {
@@ -2632,9 +2548,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -2676,7 +2589,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0"
},
"funding": [
{
@@ -2692,24 +2605,24 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
"name": "symfony/process",
- "version": "v6.3.4",
+ "version": "v7.0.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54"
+ "reference": "937a195147e0c27b2759ade834169ed006d0bc74"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/0b5c29118f2e980d455d2e34a5659f4579847c54",
- "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54",
+ "url": "https://api.github.com/repos/symfony/process/zipball/937a195147e0c27b2759ade834169ed006d0bc74",
+ "reference": "937a195147e0c27b2759ade834169ed006d0bc74",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"type": "library",
"autoload": {
@@ -2737,7 +2650,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v6.3.4"
+ "source": "https://github.com/symfony/process/tree/v7.0.3"
},
"funding": [
{
@@ -2753,25 +2666,25 @@
"type": "tidelift"
}
],
- "time": "2023-08-07T10:39:22+00:00"
+ "time": "2024-01-23T15:02:46+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v3.3.0",
+ "version": "v3.4.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4"
+ "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/40da9cc13ec349d9e4966ce18b5fbcd724ab10a4",
- "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0",
+ "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0",
"shasum": ""
},
"require": {
"php": ">=8.1",
- "psr/container": "^2.0"
+ "psr/container": "^1.1|^2.0"
},
"conflict": {
"ext-psr": "<1.1|>=2"
@@ -2819,7 +2732,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.3.0"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.4.1"
},
"funding": [
{
@@ -2835,24 +2748,24 @@
"type": "tidelift"
}
],
- "time": "2023-05-23T14:45:45+00:00"
+ "time": "2023-12-26T14:02:43+00:00"
},
{
"name": "symfony/string",
- "version": "v6.3.5",
+ "version": "v7.0.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339"
+ "reference": "524aac4a280b90a4420d8d6a040718d0586505ac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/13d76d0fb049051ed12a04bef4f9de8715bea339",
- "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339",
+ "url": "https://api.github.com/repos/symfony/string/zipball/524aac4a280b90a4420d8d6a040718d0586505ac",
+ "reference": "524aac4a280b90a4420d8d6a040718d0586505ac",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-grapheme": "~1.0",
"symfony/polyfill-intl-normalizer": "~1.0",
@@ -2862,11 +2775,11 @@
"symfony/translation-contracts": "<2.5"
},
"require-dev": {
- "symfony/error-handler": "^5.4|^6.0",
- "symfony/http-client": "^5.4|^6.0",
- "symfony/intl": "^6.2",
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/http-client": "^6.4|^7.0",
+ "symfony/intl": "^6.4|^7.0",
"symfony/translation-contracts": "^2.5|^3.0",
- "symfony/var-exporter": "^5.4|^6.0"
+ "symfony/var-exporter": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -2905,7 +2818,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v6.3.5"
+ "source": "https://github.com/symfony/string/tree/v7.0.3"
},
"funding": [
{
@@ -2921,20 +2834,20 @@
"type": "tidelift"
}
],
- "time": "2023-09-18T10:38:32+00:00"
+ "time": "2024-01-29T15:41:16+00:00"
},
{
"name": "theseer/tokenizer",
- "version": "1.2.1",
+ "version": "1.2.2",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
+ "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
- "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
+ "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
"shasum": ""
},
"require": {
@@ -2963,7 +2876,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.2"
},
"funding": [
{
@@ -2971,7 +2884,7 @@
"type": "github"
}
],
- "time": "2021-07-28T10:34:58+00:00"
+ "time": "2023-11-20T00:12:19+00:00"
}
],
"aliases": [],
diff --git a/example.php b/example.php
index 6af298baf..bc13d64bc 100644
--- a/example.php
+++ b/example.php
@@ -37,11 +37,11 @@ function getSSLPage($url) {
}
// Leave the platform you want uncommented
- $platform = 'client';
- // $platform = 'console';
+// $platform = 'client';
+ $platform = 'console';
// $platform = 'server';
- $spec = getSSLPage("https://raw.githubusercontent.com/appwrite/appwrite/master/app/config/specs/swagger2-latest-{$platform}.json");
+ $spec = getSSLPage("https://raw.githubusercontent.com/appwrite/appwrite/feat-rc-sdks/app/config/specs/swagger2-latest-{$platform}.json");
if(empty($spec)) {
throw new Exception('Failed to fetch spec from Appwrite server');
@@ -68,7 +68,7 @@ function getSSLPage($url) {
->setTwitter('appwrite_io')
->setDiscord('564160730845151244', 'https://appwrite.io/discord')
->setDefaultHeaders([
- 'X-Appwrite-Response-Format' => '1.2.0',
+ 'X-Appwrite-Response-Format' => '1.5.0',
])
;
@@ -93,7 +93,7 @@ function getSSLPage($url) {
->setTwitter('appwrite_io')
->setDiscord('564160730845151244', 'https://appwrite.io/discord')
->setDefaultHeaders([
- 'X-Appwrite-Response-Format' => '1.2.0',
+ 'X-Appwrite-Response-Format' => '1.5.0',
])
;
@@ -117,7 +117,7 @@ function getSSLPage($url) {
->setTwitter('appwrite_io')
->setDiscord('564160730845151244', 'https://appwrite.io/discord')
->setDefaultHeaders([
- 'X-Appwrite-Response-Format' => '1.2.0',
+ 'X-Appwrite-Response-Format' => '1.5.0',
])
;
@@ -140,7 +140,7 @@ function getSSLPage($url) {
->setTwitter('appwrite_io')
->setDiscord('564160730845151244', 'https://appwrite.io/discord')
->setDefaultHeaders([
- 'X-Appwrite-Response-Format' => '1.2.0',
+ 'X-Appwrite-Response-Format' => '1.5.0',
])
;
@@ -208,7 +208,7 @@ function getSSLPage($url) {
->setTwitter('appwrite_io')
->setDiscord('564160730845151244', 'https://appwrite.io/discord')
->setDefaultHeaders([
- 'X-Appwrite-Response-Format' => '1.2.0',
+ 'X-Appwrite-Response-Format' => '1.5.0',
])
;
@@ -231,7 +231,7 @@ function getSSLPage($url) {
->setTwitter('appwrite_io')
->setDiscord('564160730845151244', 'https://appwrite.io/discord')
->setDefaultHeaders([
- 'X-Appwrite-Response-Format' => '1.2.0',
+ 'X-Appwrite-Response-Format' => '1.5.0',
])
;
@@ -259,7 +259,7 @@ function getSSLPage($url) {
->setTwitter('appwrite_io')
->setDiscord('564160730845151244', 'https://appwrite.io/discord')
->setDefaultHeaders([
- 'X-Appwrite-Response-Format' => '1.2.0',
+ 'X-Appwrite-Response-Format' => '1.5.0',
])
;
@@ -286,7 +286,7 @@ function getSSLPage($url) {
->setTwitter('appwrite_io')
->setDiscord('564160730845151244', 'https://appwrite.io/discord')
->setDefaultHeaders([
- 'X-Appwrite-Response-Format' => '1.2.0',
+ 'X-Appwrite-Response-Format' => '1.5.0',
])
;
@@ -311,7 +311,7 @@ function getSSLPage($url) {
->setTwitter('appwrite_io')
->setDiscord('564160730845151244', 'https://appwrite.io/discord')
->setDefaultHeaders([
- 'X-Appwrite-Response-Format' => '1.2.0',
+ 'X-Appwrite-Response-Format' => '1.5.0',
])
;
@@ -336,11 +336,11 @@ function getSSLPage($url) {
->setTwitter('appwrite_io')
->setDiscord('564160730845151244', 'https://appwrite.io/discord')
->setDefaultHeaders([
- 'X-Appwrite-Response-Format' => '1.2.0',
+ 'X-Appwrite-Response-Format' => '1.5.0',
])
;
- $sdk->generate(__DIR__ . '/examples/swift-server');
+ $sdk->generate(__DIR__ . '/examples/swift');
// Swift (Client)
$sdk = new SDK(new Apple(), new Swagger2($spec));
@@ -360,7 +360,7 @@ function getSSLPage($url) {
->setTwitter('appwrite_io')
->setDiscord('564160730845151244', 'https://appwrite.io/discord')
->setDefaultHeaders([
- 'X-Appwrite-Response-Format' => '1.2.0',
+ 'X-Appwrite-Response-Format' => '1.5.0',
])
;
@@ -384,7 +384,7 @@ function getSSLPage($url) {
->setTwitter('appwrite_io')
->setDiscord('564160730845151244', 'https://appwrite.io/discord')
->setDefaultHeaders([
- 'X-Appwrite-Response-Format' => '1.2.0',
+ 'X-Appwrite-Response-Format' => '1.5.0',
])
;
diff --git a/mock-server/Dockerfile b/mock-server/Dockerfile
index 456aa530e..a1c3ed8aa 100644
--- a/mock-server/Dockerfile
+++ b/mock-server/Dockerfile
@@ -14,8 +14,9 @@ RUN composer install --ignore-platform-reqs --optimize-autoloader \
--no-plugins --no-scripts --prefer-dist \
`if [ "$TESTING" != "true" ]; then echo "--no-dev"; fi`
-FROM phpswoole/swoole:4.8.7-php8.1-alpine as final
-RUN ["apk", "add", "docker"]
+FROM phpswoole/swoole:5.1.2-php8.3-alpine as final
+
+RUN apk add docker
ENV _APP_REDIS_HOST=redis \
_APP_REDIS_PORT=6379
diff --git a/mock-server/app/http.php b/mock-server/app/http.php
index 243c92335..467cb48b8 100644
--- a/mock-server/app/http.php
+++ b/mock-server/app/http.php
@@ -6,6 +6,7 @@
require_once __DIR__ . '/../vendor/autoload.php';
}
+use Swoole\Constant;
use Utopia\App;
use Utopia\Database\Document;
use Utopia\Database\Helpers\ID;
@@ -37,21 +38,22 @@
const APP_PLATFORM_CONSOLE = 'console';
const APP_STORAGE_CACHE = '/storage/cache';
-$http = new Server("0.0.0.0", App::getEnv('PORT', 80));
+$http = new Server(
+ host: '0.0.0.0',
+ port: App::getEnv('PORT', 80),
+ mode: SWOOLE_PROCESS
+);
$payloadSize = 6 * (1024 * 1024); // 6MB
$workerNumber = swoole_cpu_num() * intval(App::getEnv('_APP_WORKER_PER_CORE', 6));
-$http
- ->set([
- 'worker_num' => $workerNumber,
- 'open_http2_protocol' => true,
- // 'document_root' => __DIR__.'/../public',
- // 'enable_static_handler' => true,
- 'http_compression' => true,
- 'http_compression_level' => 6,
- 'package_max_length' => $payloadSize,
- 'buffer_output_size' => $payloadSize,
- ]);
+$http->set([
+ 'worker_num' => $workerNumber,
+ 'open_http2_protocol' => true,
+ 'http_compression' => true,
+ 'http_compression_level' => 6,
+ 'package_max_length' => $payloadSize,
+ 'buffer_output_size' => $payloadSize,
+]);
// Version Route for CLI
App::get('/v1/health/version')
@@ -401,7 +403,6 @@
->label('sdk.mock', true)
->inject('response')
->action(function (UtopiaSwooleResponse $response) {
-
$response->redirect('/v1/mock/tests/general/redirect/done');
});
@@ -435,7 +436,6 @@
->inject('response')
->inject('request')
->action(function (UtopiaSwooleResponse $response, Request $request) {
-
$response->addCookie('cookieName', 'cookieValue', \time() + 31536000, '/', $request->getHostname(), true, true);
});
@@ -453,7 +453,6 @@
->label('sdk.mock', true)
->inject('request')
->action(function (Request $request) {
-
if ($request->getCookie('cookieName', '') !== 'cookieValue') {
throw new Exception(Exception::GENERAL_MOCK, 'Missing cookie value');
}
@@ -472,7 +471,6 @@
->label('sdk.mock', true)
->inject('response')
->action(function (UtopiaSwooleResponse $response) {
-
$response->noContent();
});
@@ -562,14 +560,17 @@
->label('scope', 'public')
->label('docs', false)
->label('sdk.mock', true)
- ->param('client_id', '', new Text(100), 'OAuth2 Client ID.')
- ->param('redirect_uri', '', new Host(['localhost']), 'OAuth2 Redirect URI.') // Important to deny an open redirect attack
- ->param('scope', '', new Text(100), 'OAuth2 scope list.')
+ ->label('sdk.methodType', 'webAuth')
+ ->label('sdk.namespace', 'general')
+ ->label('sdk.method', 'oauth2')
+ ->param('clientId', '', new Text(100), 'OAuth2 Client ID.')
+ ->param('scopes', [], new ArrayList(new Text(100)), 'OAuth2 scope list.')
->param('state', '', new Text(1024), 'OAuth2 state.')
+ ->param('success', '', new Text(1024), 'OAuth2 success redirect URI.')
+ ->param('failure', '', new Text(1024), 'OAuth2 failure redirect URI.')
->inject('response')
- ->action(function (string $client_id, string $redirectURI, string $scope, string $state, UtopiaSwooleResponse $response) {
-
- $response->redirect($redirectURI . '?' . \http_build_query(['code' => 'abcdef', 'state' => $state]));
+ ->action(function (string $clientId, array $scopes, string $state, string $success, string $failure, UtopiaSwooleResponse $response) {
+ $response->redirect($success . '?' . \http_build_query(['code' => 'abcdef', 'state' => $state]));
});
App::get('/v1/mock/tests/general/oauth2/token')
@@ -578,6 +579,7 @@
->label('scope', 'public')
->label('docs', false)
->label('sdk.mock', true)
+ ->label('sdk.methodType', 'webAuth')
->param('client_id', '', new Text(100), 'OAuth2 Client ID.')
->param('client_secret', '', new Text(100), 'OAuth2 scope list.')
->param('grant_type', 'authorization_code', new WhiteList(['refresh_token', 'authorization_code']), 'OAuth2 Grant Type.', true)
@@ -586,7 +588,6 @@
->param('refresh_token', '', new Text(100), 'OAuth2 refresh token.', true)
->inject('response')
->action(function (string $client_id, string $client_secret, string $grantType, string $redirectURI, string $code, string $refreshToken, UtopiaSwooleResponse $response) {
-
if ($client_id != '1') {
throw new Exception(Exception::GENERAL_MOCK, 'Invalid client ID');
}
@@ -626,7 +627,6 @@
->param('token', '', new Text(100), 'OAuth2 Access Token.')
->inject('response')
->action(function (string $token, UtopiaSwooleResponse $response) {
-
if ($token != '123456') {
throw new Exception(Exception::GENERAL_MOCK, 'Invalid token');
}
@@ -763,32 +763,27 @@ function ($utopia, $error, $request, $response) {
['utopia', 'error', 'request', 'response']
);
-$http->on(
- 'start',
- function (Server $http) use ($payloadSize) {
- Console::success('Server started successfully (max payload is ' . number_format($payloadSize) . ' bytes)');
- Console::info("Master pid {$http->master_pid}, manager pid {$http->manager_pid}");
- // listen ctrl + c
- Process::signal(
- 2,
- function () use ($http) {
- Console::log('Stop by Ctrl+C');
- $http->shutdown();
- }
- );
- }
-);
+$http->on(Constant::EVENT_START, function (Server $http) use ($payloadSize) {
+ Console::success('Server started successfully (max payload is ' . number_format($payloadSize) . ' bytes)');
+ Console::info("Master pid {$http->master_pid}, manager pid {$http->manager_pid}");
-$http->on(
- 'request',
- function (SwooleRequest $swooleRequest, SwooleResponse $swooleResponse) {
- $request = new Request($swooleRequest);
- $response = new UtopiaSwooleResponse($swooleResponse);
+ // Listen for ctrl + c
+ Process::signal(
+ 2,
+ function () use ($http) {
+ Console::log('Stop by Ctrl+C');
+ $http->shutdown();
+ }
+ );
+});
- $app = new App('UTC');
+$http->on(Constant::EVENT_REQUEST, function (SwooleRequest $swooleRequest, SwooleResponse $swooleResponse) {
+ $request = new Request($swooleRequest);
+ $response = new UtopiaSwooleResponse($swooleResponse);
- $app->run($request, $response);
- }
-);
+ $app = new App('UTC');
+
+ $app->run($request, $response);
+});
$http->start();
diff --git a/mock-server/composer.json b/mock-server/composer.json
index faf40c69f..66ee3931c 100644
--- a/mock-server/composer.json
+++ b/mock-server/composer.json
@@ -6,19 +6,16 @@
"Utopia\\MockServer\\": "src/"
}
},
- "authors": [
- {
- "name": "Bradley Schofield",
- "email": "bradley@appwrite.io"
- }
- ],
"require": {
- "utopia-php/framework": "^0.31.0",
- "utopia-php/database": "^0.44.2",
- "utopia-php/cli": "^0.16.0",
- "utopia-php/swoole": "^0.5.0"
+ "utopia-php/framework": "0.33.*",
+ "utopia-php/database": "0.48.*",
+ "utopia-php/cli": "0.16.*",
+ "utopia-php/swoole": "0.8.*"
},
"require-dev": {
- "swoole/ide-helper": "^5.1"
+ "swoole/ide-helper": "5.1.2"
+ },
+ "platform": {
+ "php": "8.2"
}
}
diff --git a/mock-server/composer.lock b/mock-server/composer.lock
index 45311434f..9acf97cf3 100644
--- a/mock-server/composer.lock
+++ b/mock-server/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "64978d2ed8d7602b1a2430086a54fbbd",
+ "content-hash": "e8e3df78a113bec48bb61da0227ea50f",
"packages": [
{
"name": "jean85/pretty-package-versions",
@@ -136,16 +136,16 @@
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.28.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
+ "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
- "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
+ "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
"shasum": ""
},
"require": {
@@ -153,9 +153,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -199,7 +196,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0"
},
"funding": [
{
@@ -215,20 +212,20 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
"name": "utopia-php/cache",
- "version": "0.8.0",
+ "version": "0.9.0",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/cache.git",
- "reference": "212e66100a1f32e674fca5d9bc317cc998303089"
+ "reference": "4fc7b4789b5f0ce74835c1ecfec4f3afe6f0e34e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/utopia-php/cache/zipball/212e66100a1f32e674fca5d9bc317cc998303089",
- "reference": "212e66100a1f32e674fca5d9bc317cc998303089",
+ "url": "https://api.github.com/repos/utopia-php/cache/zipball/4fc7b4789b5f0ce74835c1ecfec4f3afe6f0e34e",
+ "reference": "4fc7b4789b5f0ce74835c1ecfec4f3afe6f0e34e",
"shasum": ""
},
"require": {
@@ -239,6 +236,7 @@
},
"require-dev": {
"laravel/pint": "1.2.*",
+ "phpstan/phpstan": "1.9.x-dev",
"phpunit/phpunit": "^9.3",
"vimeo/psalm": "4.13.1"
},
@@ -262,9 +260,9 @@
],
"support": {
"issues": "https://github.com/utopia-php/cache/issues",
- "source": "https://github.com/utopia-php/cache/tree/0.8.0"
+ "source": "https://github.com/utopia-php/cache/tree/0.9.0"
},
- "time": "2022-10-16T16:48:09+00:00"
+ "time": "2024-01-07T18:11:23+00:00"
},
{
"name": "utopia-php/cli",
@@ -317,29 +315,29 @@
},
{
"name": "utopia-php/database",
- "version": "0.44.2",
+ "version": "0.48.2",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/database.git",
- "reference": "591cadbc2c622a3304aae9a16ebfdbe75ef33a06"
+ "reference": "0a231a2874fdbc0cf2ae2170b3f132fdee0ddfd4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/utopia-php/database/zipball/591cadbc2c622a3304aae9a16ebfdbe75ef33a06",
- "reference": "591cadbc2c622a3304aae9a16ebfdbe75ef33a06",
+ "url": "https://api.github.com/repos/utopia-php/database/zipball/0a231a2874fdbc0cf2ae2170b3f132fdee0ddfd4",
+ "reference": "0a231a2874fdbc0cf2ae2170b3f132fdee0ddfd4",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"ext-pdo": "*",
"php": ">=8.0",
- "utopia-php/cache": "0.8.*",
+ "utopia-php/cache": "0.9.*",
"utopia-php/framework": "0.*.*",
"utopia-php/mongo": "0.3.*"
},
"require-dev": {
"fakerphp/faker": "^1.14",
- "laravel/pint": "1.4.*",
+ "laravel/pint": "1.13.*",
"pcov/clobber": "^2.0",
"phpstan/phpstan": "1.10.*",
"phpunit/phpunit": "^9.4",
@@ -367,22 +365,22 @@
],
"support": {
"issues": "https://github.com/utopia-php/database/issues",
- "source": "https://github.com/utopia-php/database/tree/0.44.2"
+ "source": "https://github.com/utopia-php/database/tree/0.48.2"
},
- "time": "2023-10-19T07:39:00+00:00"
+ "time": "2024-02-02T14:10:14+00:00"
},
{
"name": "utopia-php/framework",
- "version": "0.31.0",
+ "version": "0.33.2",
"source": {
"type": "git",
- "url": "https://github.com/utopia-php/framework.git",
- "reference": "207f77378965fca9a9bc3783ea379d3549f86bc0"
+ "url": "https://github.com/utopia-php/http.git",
+ "reference": "b1423ca3e3b61c6c4c2e619d2cb80672809a19f3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/utopia-php/framework/zipball/207f77378965fca9a9bc3783ea379d3549f86bc0",
- "reference": "207f77378965fca9a9bc3783ea379d3549f86bc0",
+ "url": "https://api.github.com/repos/utopia-php/http/zipball/b1423ca3e3b61c6c4c2e619d2cb80672809a19f3",
+ "reference": "b1423ca3e3b61c6c4c2e619d2cb80672809a19f3",
"shasum": ""
},
"require": {
@@ -411,10 +409,10 @@
"upf"
],
"support": {
- "issues": "https://github.com/utopia-php/framework/issues",
- "source": "https://github.com/utopia-php/framework/tree/0.31.0"
+ "issues": "https://github.com/utopia-php/http/issues",
+ "source": "https://github.com/utopia-php/http/tree/0.33.2"
},
- "time": "2023-08-30T16:10:04+00:00"
+ "time": "2024-01-31T10:35:59+00:00"
},
{
"name": "utopia-php/mongo",
@@ -478,28 +476,28 @@
},
{
"name": "utopia-php/swoole",
- "version": "0.5.0",
+ "version": "0.8.2",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/swoole.git",
- "reference": "c2a3a4f944a2f22945af3cbcb95b13f0769628b1"
+ "reference": "5fa9d42c608ad46a4ce42a6d2b2eae00592fccd4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/utopia-php/swoole/zipball/c2a3a4f944a2f22945af3cbcb95b13f0769628b1",
- "reference": "c2a3a4f944a2f22945af3cbcb95b13f0769628b1",
+ "url": "https://api.github.com/repos/utopia-php/swoole/zipball/5fa9d42c608ad46a4ce42a6d2b2eae00592fccd4",
+ "reference": "5fa9d42c608ad46a4ce42a6d2b2eae00592fccd4",
"shasum": ""
},
"require": {
"ext-swoole": "*",
"php": ">=8.0",
- "utopia-php/framework": "0.*.*"
+ "utopia-php/framework": "0.33.*"
},
"require-dev": {
"laravel/pint": "1.2.*",
+ "phpstan/phpstan": "^1.10",
"phpunit/phpunit": "^9.3",
- "swoole/ide-helper": "4.8.3",
- "vimeo/psalm": "4.15.0"
+ "swoole/ide-helper": "5.0.2"
},
"type": "library",
"autoload": {
@@ -523,24 +521,24 @@
],
"support": {
"issues": "https://github.com/utopia-php/swoole/issues",
- "source": "https://github.com/utopia-php/swoole/tree/0.5.0"
+ "source": "https://github.com/utopia-php/swoole/tree/0.8.2"
},
- "time": "2022-10-19T22:19:07+00:00"
+ "time": "2024-02-01T14:54:12+00:00"
}
],
"packages-dev": [
{
"name": "swoole/ide-helper",
- "version": "5.1.0",
+ "version": "5.1.2",
"source": {
"type": "git",
"url": "https://github.com/swoole/ide-helper.git",
- "reference": "07692fa8f1bb8eac828410acd613ea5877237b09"
+ "reference": "33ec7af9111b76d06a70dd31191cc74793551112"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/swoole/ide-helper/zipball/07692fa8f1bb8eac828410acd613ea5877237b09",
- "reference": "07692fa8f1bb8eac828410acd613ea5877237b09",
+ "url": "https://api.github.com/repos/swoole/ide-helper/zipball/33ec7af9111b76d06a70dd31191cc74793551112",
+ "reference": "33ec7af9111b76d06a70dd31191cc74793551112",
"shasum": ""
},
"type": "library",
@@ -557,9 +555,9 @@
"description": "IDE help files for Swoole.",
"support": {
"issues": "https://github.com/swoole/ide-helper/issues",
- "source": "https://github.com/swoole/ide-helper/tree/5.1.0"
+ "source": "https://github.com/swoole/ide-helper/tree/5.1.2"
},
- "time": "2023-10-05T04:52:59+00:00"
+ "time": "2024-02-01T22:28:11+00:00"
}
],
"aliases": [],
diff --git a/phpunit.xml b/phpunit.xml
index ec39a7ede..ed8cc9670 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -1,16 +1,12 @@
-
+
+ colors="true">
./tests/
-
\ No newline at end of file
+
diff --git a/src/SDK/Language.php b/src/SDK/Language.php
index 0a7a259f7..68a90cfbe 100644
--- a/src/SDK/Language.php
+++ b/src/SDK/Language.php
@@ -41,7 +41,7 @@ abstract public function getFiles(): array;
* @param array $parameter
* @return string
*/
- abstract public function getTypeName(array $parameter): string;
+ abstract public function getTypeName(array $parameter, array $spec = []): string;
/**
* @param array $param
@@ -84,7 +84,7 @@ public function getFilters(): array
return [];
}
- protected function toUpperCaseWords(string $value): string
+ protected function toPascalCase(string $value): string
{
return ucfirst($this->toCamelCase($value));
}
@@ -97,4 +97,17 @@ protected function toCamelCase($str): string
$str = str_replace(" ", "", $str);
return lcfirst($str);
}
+
+ protected function toSnakeCase($str): string
+ {
+ $str = \preg_replace('/([a-z])([A-Z])/', '$1 $2', $str);
+ $str = \explode(' ', $str);
+ $str = \implode('_', $str);
+ return \strtolower($str);
+ }
+
+ protected function toUpperSnakeCase($str): string
+ {
+ return \strtoupper($this->toSnakeCase($str));
+ }
}
diff --git a/src/SDK/Language/Android.php b/src/SDK/Language/Android.php
index 5d3e90bb0..8f1fdb1f9 100644
--- a/src/SDK/Language/Android.php
+++ b/src/SDK/Language/Android.php
@@ -103,122 +103,122 @@ public function getFiles(): array
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/Client.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/Client.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/Client.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/Permission.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/Permission.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/Permission.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/Role.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/Role.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/Role.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/ID.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/ID.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/ID.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/Query.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/Query.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/Query.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/exceptions/{{spec.title | caseUcfirst}}Exception.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/exceptions/Exception.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/exceptions/Exception.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/extensions/JsonExtensions.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/extensions/JsonExtensions.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/extensions/JsonExtensions.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/extensions/TypeExtensions.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/extensions/TypeExtensions.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/extensions/TypeExtensions.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/extensions/CollectionExtensions.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/extensions/CollectionExtensions.kt.twig',
- ],
- [
- 'scope' => 'default',
- 'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/json/PreciseNumberAdapter.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/json/PreciseNumberAdapter.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/extensions/CollectionExtensions.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/models/InputFile.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/models/InputFile.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/models/InputFile.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/models/RealtimeModels.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/models/RealtimeModels.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/models/RealtimeModels.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/models/UploadProgress.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/models/UploadProgress.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/models/UploadProgress.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/WebAuthComponent.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/WebAuthComponent.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/WebAuthComponent.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/KeepAliveService.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/KeepAliveService.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/KeepAliveService.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/views/CallbackActivity.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/views/CallbackActivity.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/views/CallbackActivity.kt.twig',
],
[
'scope' => 'default',
- 'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/services/Service.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/services/Service.kt.twig',
+ 'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/Service.kt',
+ 'template' => '/android/library/src/main/java/io/package/Service.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/services/Realtime.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/services/Realtime.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/services/Realtime.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/cookies/Extensions.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/cookies/Extensions.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/cookies/Extensions.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/coroutines/Callback.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/coroutines/Callback.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/coroutines/Callback.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/cookies/stores/InMemoryCookieStore.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/cookies/stores/InMemoryCookieStore.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/cookies/stores/InMemoryCookieStore.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/cookies/stores/SharedPreferencesCookieStore.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/cookies/stores/SharedPreferencesCookieStore.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/cookies/stores/SharedPreferencesCookieStore.kt.twig',
],
[
'scope' => 'default',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/cookies/InternalCookie.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/cookies/InternalCookie.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/cookies/InternalCookie.kt.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/cookies/ListenableCookieJar.kt',
+ 'template' => '/android/library/src/main/java/io/package/cookies/ListenableCookieJar.kt.twig',
],
[
'scope' => 'service',
'destination' => '/library/src/main/java/{{ sdk.namespace | caseSlash }}/services/{{service.name | caseUcfirst}}.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/services/ServiceTemplate.kt.twig',
+ 'template' => '/android/library/src/main/java/io/package/services/Service.kt.twig',
],
[
'scope' => 'default',
@@ -235,31 +235,46 @@ public function getFiles(): array
'destination' => '/library/.gitignore',
'template' => '/android/library/.gitignore',
],
+ [
+ 'scope' => 'definition',
+ 'destination' => 'library/src/main/java/{{ sdk.namespace | caseSlash }}/models/{{ definition.name | caseUcfirst }}.kt',
+ 'template' => '/android/library/src/main/java/io/package/models/Model.kt.twig',
+ ],
+ [
+ 'scope' => 'enum',
+ 'destination' => 'library/src/main/java/{{ sdk.namespace | caseSlash }}/enums/{{ enum.name | caseUcfirst }}.kt',
+ 'template' => '/android/library/src/main/java/io/package/enums/Enum.kt.twig',
+ ],
// Config for project :example
[
'scope' => 'default',
'destination' => '/example/src/main/java/{{ sdk.namespace | caseSlash }}/android/MainActivity.kt',
- 'template' => '/android/example/src/main/java/io/appwrite/android/MainActivity.kt.twig',
+ 'template' => '/android/example/src/main/java/io/package/android/MainActivity.kt.twig',
],
[
'scope' => 'default',
'destination' => '/example/src/main/java/{{ sdk.namespace | caseSlash }}/android/ui/accounts/AccountsFragment.kt',
- 'template' => '/android/example/src/main/java/io/appwrite/android/ui/accounts/AccountsFragment.kt.twig',
+ 'template' => '/android/example/src/main/java/io/package/android/ui/accounts/AccountsFragment.kt.twig',
],
[
'scope' => 'default',
'destination' => '/example/src/main/java/{{ sdk.namespace | caseSlash }}/android/ui/accounts/AccountsViewModel.kt',
- 'template' => '/android/example/src/main/java/io/appwrite/android/ui/accounts/AccountsViewModel.kt.twig',
+ 'template' => '/android/example/src/main/java/io/package/android/ui/accounts/AccountsViewModel.kt.twig',
],
[
'scope' => 'default',
'destination' => '/example/src/main/java/{{ sdk.namespace | caseSlash }}/android/utils/Client.kt',
- 'template' => '/android/example/src/main/java/io/appwrite/android/utils/Client.kt.twig',
+ 'template' => '/android/example/src/main/java/io/package/android/utils/Client.kt.twig',
],
[
'scope' => 'default',
'destination' => '/example/src/main/java/{{ sdk.namespace | caseSlash }}/android/utils/Event.kt',
- 'template' => '/android/example/src/main/java/io/appwrite/android/utils/Event.kt.twig',
+ 'template' => '/android/example/src/main/java/io/package/android/utils/Event.kt.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/example/src/main/java/{{ sdk.namespace | caseSlash }}/android/services/MessagingService.kt',
+ 'template' => '/android/example/src/main/java/io/package/android/services/MessagingService.kt.twig',
],
[
'scope' => 'copy',
@@ -321,72 +336,14 @@ public function getFiles(): array
'destination' => '/example/.gitignore',
'template' => '/android/example/.gitignore',
],
- // Config for project :example-java
- [
- 'scope' => 'default',
- 'destination' => '/example-java/src/main/java/{{ sdk.namespace | caseSlash }}/example_java/MainActivity.java',
- 'template' => '/android/example-java/src/main/java/io/appwrite/example_java/MainActivity.java.twig',
- ],
- [
- 'scope' => 'copy',
- 'destination' => '/example-java/src/main/res/drawable/ic_launcher_background.xml',
- 'template' => '/android/example-java/src/main/res/drawable/ic_launcher_background.xml',
- ],
- [
- 'scope' => 'copy',
- 'destination' => '/example-java/src/main/res/drawable/ic_launcher_foreground.xml',
- 'template' => '/android/example-java/src/main/res/drawable/ic_launcher_foreground.xml',
- ],
- [
- 'scope' => 'copy',
- 'destination' => '/example-java/src/main/res/layout/activity_main.xml',
- 'template' => '/android/example-java/src/main/res/layout/activity_main.xml',
- ],
- [
- 'scope' => 'copy',
- 'destination' => '/example-java/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml',
- 'template' => '/android/example-java/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml',
- ],
- [
- 'scope' => 'copy',
- 'destination' => '/example-java/src/main/res/mipmap-anydpi-v26/ic_launcher.xml',
- 'template' => '/android/example-java/src/main/res/mipmap-anydpi-v26/ic_launcher.xml'
- ],
- [
- 'scope' => 'copy',
- 'destination' => '/example-java/src/main/res/values/colors.xml',
- 'template' => '/android/example-java/src/main/res/values/colors.xml',
- ],
- [
- 'scope' => 'copy',
- 'destination' => '/example-java/src/main/res/values/strings.xml',
- 'template' => '/android/example-java/src/main/res/values/strings.xml',
- ],
- [
- 'scope' => 'copy',
- 'destination' => '/example-java/src/main/res/values/themes.xml',
- 'template' => '/android/example-java/src/main/res/values/themes.xml',
- ],
- [
- 'scope' => 'copy',
- 'destination' => '/example-java/src/main/AndroidManifest.xml',
- 'template' => '/android/example-java/src/main/AndroidManifest.xml',
- ],
- [
- 'scope' => 'default',
- 'destination' => '/example-java/build.gradle',
- 'template' => '/android/example-java/build.gradle.twig',
- ],
- [
- 'scope' => 'copy',
- 'destination' => '/example-java/.gitignore',
- 'template' => '/android/example-java/.gitignore',
- ],
- [
- 'scope' => 'definition',
- 'destination' => 'library/src/main/java/io/appwrite/models/{{ definition.name | caseUcfirst }}.kt',
- 'template' => '/android/library/src/main/java/io/appwrite/models/Model.kt.twig',
- ],
];
}
+
+ protected function getReturnType(array $method, array $spec, string $namespace, string $generic = 'T'): string
+ {
+ if ($method['type'] === 'webAuth') {
+ return 'Bool';
+ }
+ return parent::getReturnType($method, $spec, $namespace, $generic);
+ }
}
diff --git a/src/SDK/Language/Apple.php b/src/SDK/Language/Apple.php
index e3515de48..69e3498c4 100644
--- a/src/SDK/Language/Apple.php
+++ b/src/SDK/Language/Apple.php
@@ -14,7 +14,193 @@ public function getName(): string
public function getFiles(): array
{
- return \array_merge(parent::getFiles(), [
+ return [
+ [
+ 'scope' => 'default',
+ 'destination' => 'README.md',
+ 'template' => 'swift/README.md.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => 'CHANGELOG.md',
+ 'template' => 'swift/CHANGELOG.md.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => 'LICENSE',
+ 'template' => 'swift/LICENSE.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => 'Package.swift',
+ 'template' => 'apple/Package.swift.twig',
+ ],
+ [
+ 'scope' => 'method',
+ 'destination' => 'docs/examples/{{service.name | caseLower}}/{{method.name | caseDash}}.md',
+ 'template' => 'swift/docs/example.md.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Tests/{{ spec.title | caseUcfirst}}Tests/Tests.swift',
+ 'template' => 'swift/Tests/Tests.swift.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/Models/{{ spec.title | caseUcfirst}}Error.swift',
+ 'template' => '/swift/Sources/Models/Error.swift.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/Models/InputFile.swift',
+ 'template' => 'swift/Sources/Models/InputFile.swift.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/Permission.swift',
+ 'template' => 'swift/Sources/Permission.swift.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/Role.swift',
+ 'template' => 'swift/Sources/Role.swift.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/ID.swift',
+ 'template' => 'swift/Sources/ID.swift.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/Query.swift',
+ 'template' => 'swift/Sources/Query.swift.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/Models/UploadProgress.swift',
+ 'template' => 'swift/Sources/Models/UploadProgress.swift.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/JSONCodable/Codable+JSON.swift',
+ 'template' => 'swift/Sources/JSONCodable/Codable+JSON.swift.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/Extensions/Cookie+Codable.swift',
+ 'template' => 'swift/Sources/Extensions/Cookie+Codable.swift.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/Extensions/HTTPClientRequest+Cookies.swift',
+ 'template' => 'swift/Sources/Extensions/HTTPClientRequest+Cookies.swift.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/Extensions/String+MimeTypes.swift',
+ 'template' => 'swift/Sources/Extensions/String+MimeTypes.swift.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/StreamingDelegate.swift',
+ 'template' => 'swift/Sources/StreamingDelegate.swift.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/Services/Service.swift',
+ 'template' => 'swift/Sources/Service.swift.twig',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/DeviceInfo/iOS/IOSDeviceInfo.swift',
+ 'template' => 'swift/Sources/DeviceInfo/iOS/IOSDeviceInfo.swift',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/DeviceInfo/iOS/UIDevice+ModelName.swift',
+ 'template' => 'swift/Sources/DeviceInfo/iOS/UIDevice+ModelName.swift',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/DeviceInfo/Linux/LinuxDeviceInfo.swift',
+ 'template' => 'swift/Sources/DeviceInfo/Linux/LinuxDeviceInfo.swift',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/DeviceInfo/macOS/MacOSDeviceInfo.swift',
+ 'template' => 'swift/Sources/DeviceInfo/macOS/MacOSDeviceInfo.swift',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/DeviceInfo/watchOS/WatchOSDeviceInfo.swift',
+ 'template' => 'swift/Sources/DeviceInfo/watchOS/WatchOSDeviceInfo.swift',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/DeviceInfo/watchOS/WKInterfaceDevice+ModelName.swift',
+ 'template' => 'swift/Sources/DeviceInfo/watchOS/WKInterfaceDevice+ModelName.swift',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/DeviceInfo/macOS/CwlSysCtl.swift',
+ 'template' => 'swift/Sources/DeviceInfo/macOS/CwlSysCtl.swift',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/DeviceInfo/Windows/WindowsDeviceInfo.swift',
+ 'template' => 'swift/Sources/DeviceInfo/Windows/WindowsDeviceInfo.swift',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/DeviceInfo/OSDeviceInfo.swift',
+ 'template' => 'swift/Sources/DeviceInfo/OSDeviceInfo.swift',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/PackageInfo/Apple/PackageInfo+Apple.swift',
+ 'template' => 'swift/Sources/PackageInfo/Apple/PackageInfo+Apple.swift',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/PackageInfo/Linux/PackageInfo+Linux.swift',
+ 'template' => 'swift/Sources/PackageInfo/Linux/PackageInfo+Linux.swift',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/PackageInfo/Windows/PackageInfo+Windows.swift',
+ 'template' => 'swift/Sources/PackageInfo/Windows/PackageInfo+Windows.swift',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/PackageInfo/OSPackageInfo.swift',
+ 'template' => 'swift/Sources/PackageInfo/OSPackageInfo.swift',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/PackageInfo/PackageInfo.swift',
+ 'template' => 'swift/Sources/PackageInfo/PackageInfo.swift',
+ ],
+ [
+ 'scope' => 'service',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/Services/{{service.name | caseUcfirst}}.swift',
+ 'template' => 'apple/Sources/Services/Service.swift.twig',
+ ],
+ [
+ 'scope' => 'definition',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}Models/{{ definition.name | caseUcfirst }}.swift',
+ 'template' => '/swift/Sources/Models/Model.swift.twig',
+ ],
+ [
+ 'scope' => 'enum',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}Enums/{{ enum.name | caseUcfirst }}.swift',
+ 'template' => '/swift/Sources/Enums/Enum.swift.twig',
+ ],
+ // Apple specific
+ [
+ 'scope' => 'default',
+ 'destination' => '/Sources/{{ spec.title | caseUcfirst}}/Client.swift',
+ 'template' => '/apple/Sources/Client.swift.twig',
+ ],
[
'scope' => 'default',
'destination' => '/Sources/{{ spec.title | caseUcfirst}}/OAuth/WebAuthComponent.swift',
@@ -191,6 +377,21 @@ public function getFiles(): array
'destination' => '/example-swiftui/Tests macOS/Tests_macOS.swift',
'template' => '/swift/example-swiftui/Tests macOS/Tests_macOS.swift',
],
+ [
+ 'scope' => 'default',
+ 'destination' => '/example-swiftui/test (iOS).entitlements',
+ 'template' => '/swift/example-swiftui/test (iOS).entitlements',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/example-swiftui/test (tvOS).entitlements',
+ 'template' => '/swift/example-swiftui/test (tvOS).entitlements',
+ ],
+ [
+ 'scope' => 'default',
+ 'destination' => '/example-swiftui/test (watchOS).entitlements',
+ 'template' => '/swift/example-swiftui/test (watchOS).entitlements',
+ ],
// Config for project example-uikit
[
'scope' => 'default',
@@ -282,6 +483,14 @@ public function getFiles(): array
'destination' => '/example-uikit/UIKitExampleUITests/UIKitExampleUITests.swift',
'template' => '/swift/example-uikit/UIKitExampleUITests/UIKitExampleUITests.swift',
],
- ]);
+ ];
+ }
+
+ protected function getReturnType(array $method, array $spec, string $namespace, string $generic = 'T'): string
+ {
+ if ($method['type'] === 'webAuth') {
+ return 'Bool';
+ }
+ return parent::getReturnType($method, $spec, $namespace, $generic);
}
}
diff --git a/src/SDK/Language/Dart.php b/src/SDK/Language/Dart.php
index d225b3768..b61380a01 100644
--- a/src/SDK/Language/Dart.php
+++ b/src/SDK/Language/Dart.php
@@ -112,16 +112,28 @@ public function getKeywords(): array
*/
public function getIdentifierOverrides(): array
{
- return ['Function' => 'Func', 'default' => 'xdefault', 'required' => 'xrequired', 'async' => 'xasync'];
+ return [
+ 'Function' => 'Func',
+ 'default' => 'xdefault',
+ 'required' => 'xrequired',
+ 'async' => 'xasync',
+ 'enum' => 'xenum',
+ ];
}
/**
* @param array $parameter
* @return string
*/
- public function getTypeName(array $parameter): string
+ public function getTypeName(array $parameter, array $spec = []): string
{
- switch ($parameter['type']) {
+ if (isset($parameter['enumName'])) {
+ return 'enums.' . \ucfirst($parameter['enumName']);
+ }
+ if (!empty($parameter['enumValues'])) {
+ return 'enums.' . \ucfirst($parameter['name']);
+ }
+ switch ($parameter['type'] ?? '') {
case self::TYPE_INTEGER:
return 'int';
case self::TYPE_STRING:
@@ -131,7 +143,7 @@ public function getTypeName(array $parameter): string
case self::TYPE_BOOLEAN:
return 'bool';
case self::TYPE_ARRAY:
- if (!empty($parameter['array']['type'])) {
+ if (!empty(($parameter['array'] ?? [])['type']) && !\is_array($parameter['array']['type'])) {
return 'List<' . $this->getTypeName($parameter['array']) . '>';
}
return 'List';
@@ -139,9 +151,9 @@ public function getTypeName(array $parameter): string
return 'Map';
case self::TYPE_NUMBER:
return 'double';
+ default:
+ return $parameter['type'];
}
-
- return $parameter['type'];
}
/**
@@ -386,6 +398,11 @@ public function getFiles(): array
'destination' => '/lib/models.dart',
'template' => 'dart/lib/models.dart.twig',
],
+ [
+ 'scope' => 'default',
+ 'destination' => '/lib/enums.dart',
+ 'template' => 'dart/lib/enums.dart.twig',
+ ],
[
'scope' => 'service',
'destination' => '/lib/services/{{service.name | caseDash}}.dart',
@@ -466,6 +483,11 @@ public function getFiles(): array
'destination' => 'lib/src/input_file.dart',
'template' => 'dart/lib/src/input_file.dart.twig',
],
+ [
+ 'scope' => 'enum',
+ 'destination' => 'lib/src/enums/{{ enum.name | caseSnake }}.dart',
+ 'template' => 'dart/lib/src/enums/enum.dart.twig',
+ ],
];
}
@@ -479,6 +501,9 @@ public function getFilters(): array
}
return implode("\n", $value);
}, ['is_safe' => ['html']]),
+ new TwigFilter('caseEnumKey', function (string $value) {
+ return $this->toCamelCase($value);
+ }),
];
}
}
diff --git a/src/SDK/Language/Deno.php b/src/SDK/Language/Deno.php
index 3027ed503..787cd7a54 100644
--- a/src/SDK/Language/Deno.php
+++ b/src/SDK/Language/Deno.php
@@ -2,6 +2,8 @@
namespace Appwrite\SDK\Language;
+use Twig\TwigFilter;
+
class Deno extends JS
{
/**
@@ -118,6 +120,11 @@ public function getFiles(): array
'destination' => 'docs/examples/{{service.name | caseLower}}/{{method.name | caseDash}}.md',
'template' => 'deno/docs/example.md.twig',
],
+ [
+ 'scope' => 'enum',
+ 'destination' => 'src/enums/{{ enum.name | caseDash }}.ts',
+ 'template' => 'deno/src/enums/enum.ts.twig',
+ ],
];
}
@@ -125,27 +132,25 @@ public function getFiles(): array
* @param array $parameter
* @return string
*/
- public function getTypeName(array $parameter): string
+ public function getTypeName(array $parameter, array $spec = []): string
{
- switch ($parameter['type']) {
- case self::TYPE_INTEGER:
- return 'number';
- case self::TYPE_STRING:
- return 'string';
- case self::TYPE_FILE:
- return 'InputFile';
- case self::TYPE_BOOLEAN:
- return 'boolean';
- case self::TYPE_ARRAY:
- if (!empty($parameter['array']['type'])) {
- return $this->getTypeName($parameter['array']) . '[]';
- }
- return 'string[]';
- case self::TYPE_OBJECT:
- return 'object';
+ if (isset($parameter['enumName'])) {
+ return \ucfirst($parameter['enumName']);
}
-
- return $parameter['type'];
+ if (!empty($parameter['enumValues'])) {
+ return \ucfirst($parameter['name']);
+ }
+ return match ($parameter['type']) {
+ self::TYPE_INTEGER => 'number',
+ self::TYPE_STRING => 'string',
+ self::TYPE_FILE => 'InputFile',
+ self::TYPE_BOOLEAN => 'boolean',
+ self::TYPE_ARRAY => (!empty(($parameter['array'] ?? [])['type']) && !\is_array($parameter['array']['type']))
+ ? $this->getTypeName($parameter['array']) . '[]'
+ : 'string[]',
+ self::TYPE_OBJECT => 'object',
+ default => $parameter['type']
+ };
}
/**
diff --git a/src/SDK/Language/DotNet.php b/src/SDK/Language/DotNet.php
index f569225f2..a3da83dc9 100644
--- a/src/SDK/Language/DotNet.php
+++ b/src/SDK/Language/DotNet.php
@@ -149,29 +149,26 @@ public function getIdentifierOverrides(): array
* @param array $parameter
* @return string
*/
- public function getTypeName(array $parameter): string
+ public function getTypeName(array $parameter, array $spec = []): string
{
- switch ($parameter['type']) {
- case self::TYPE_INTEGER:
- return 'long';
- case self::TYPE_NUMBER:
- return 'double';
- case self::TYPE_STRING:
- return 'string';
- case self::TYPE_FILE:
- return 'InputFile';
- case self::TYPE_BOOLEAN:
- return 'bool';
- case self::TYPE_ARRAY:
- if (!empty($parameter['array']['type'])) {
- return 'List<' . $this->getTypeName($parameter['array']) . '>';
- }
- return 'List