├── .gitignore ├── composer.json ├── LICENSE ├── README.MD ├── test └── BadWordTest.php ├── src ├── BadWord.php └── trait │ └── KumpulanKata.php └── composer.lock /.gitignore: -------------------------------------------------------------------------------- 1 | vendor/ -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "afrizalmy/bad-word-indonesia", 3 | "description": "Package untuk filter kata kotor atau jorok atau jelek menurut bahasa indonesia yang sehari-hari digunakan", 4 | "type": "library", 5 | "keywords": [ 6 | "bad words", 7 | "swear words", 8 | "curse words", 9 | "kata kotor", 10 | "kata hinaan" 11 | ], 12 | "homepage": "https://github.com/afrizal423/bad-word-indonesia", 13 | "require": { 14 | "php": ">=7.0", 15 | "phpunit/phpunit": "^9.5.10" 16 | }, 17 | "license": "MIT", 18 | "authors": [ 19 | { 20 | "name": "afrizal423", 21 | "email": "afrizal2499@gmail.com", 22 | "homepage": "https://afrizalmy.com/", 23 | "role": "Developer" 24 | } 25 | ], 26 | "autoload": { 27 | "psr-4": {"afrizalmy\\BWI\\": "src/"} 28 | }, 29 | "minimum-stability": "stable" 30 | } 31 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Afrizal Muhammad Yasin 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.MD: -------------------------------------------------------------------------------- 1 |

2 | بِسْــــــــــــــمِ اللَّهِ الرَّحْمَنِ الرَّحِيم 3 |

4 | 5 | # Bad Word Indonesia 6 | Package PHP sederhana untuk filter dan masking (sensor) kata kasar atau jorok. 7 | 8 | ## Installation 9 | ```bash 10 | composer require afrizalmy/bad-word-indonesia 11 | ``` 12 | _*pastikan sudah menginstall composer di device kalian._ 13 | 14 | ## How to use 15 | ```php 16 | // import terlebih dahulu 17 | use afrizalmy\BWI\BadWord; 18 | 19 | echo BadWord::cek('dasar, bajingan kamu ya!'); 20 | // true 21 | 22 | echo BadWord::masking('dasar, bangsat kamu ya!'); 23 | // dasar, b*ngs*t kamu ya! 24 | 25 | echo BadWord::masking('dasar, keparat kamu ya!', '#'); 26 | // dasar, k#p#r#t kamu ya! 27 | 28 | echo BadWord::masking('dasar, baaaaajiiiingaannn'); 29 | // dasar, b*****j****ng**nnn 30 | 31 | /** 32 | * Custom word rules 33 | * **/ 34 | echo BadWord::masking('Yekkk masih belajar pehape wkwk', "*", ['pehape','php']); 35 | // Yekkk masih belajar p*h*p* wkwk 36 | ``` 37 | 38 | ## Run Test 39 | ```bash 40 | vendor\bin\phpunit test\BadWordTest.php 41 | ``` 42 | 43 | 44 | ## Support Me 45 | Dukung aku [https://saweria.co/afrizalmy](https://saweria.co/afrizalmy) 46 | 47 | ### Kontribusi 48 | Silahkan ke halaman issue page untuk penjelasan lebih lanjutnya. 49 | Saya menerima dengan baik kontribusi kamu untuk package ini. 50 | -------------------------------------------------------------------------------- /test/BadWordTest.php: -------------------------------------------------------------------------------- 1 | assertEquals(false, $t); 13 | } 14 | public function testNormalWordsMasking() 15 | { 16 | $str = 'bad word test by afrizalmy'; 17 | $t = BadWord::masking($str); 18 | $this->assertEquals($str, $t); 19 | } 20 | public function testlWordsCek() 21 | { 22 | $str = 'dasar, kamu bajingan ya!'; 23 | $t = BadWord::cek($str); 24 | $this->assertEquals(true, $t); 25 | } 26 | public function testWordsMasking() 27 | { 28 | $str = 'dasar, kamu bajingan ya!'; 29 | $t = BadWord::masking($str); 30 | $this->assertEquals('dasar, kamu b*j*ng*n ya!', $t); 31 | } 32 | public function testWordsMaskingCustom() 33 | { 34 | $str = 'dasar, kamu bajingan ya!'; 35 | $t = BadWord::masking($str,'#'); 36 | $this->assertEquals('dasar, kamu b#j#ng#n ya!', $t); 37 | } 38 | 39 | public function testWordsMaskingCustomWithDuplicateVokalChar() 40 | { 41 | $str = 'dasar, baaaaajiiiingaannn'; 42 | $t = BadWord::masking($str); 43 | $this->assertEquals('dasar, b*****j****ng**nnn', $t); 44 | } 45 | 46 | public function testWordsMaskingWithDuplicateVokalCharWithSymbol() 47 | { 48 | $str = 'dasar, baaaaajiiiingaannn!!!, kamu "cok", "asuu"'; 49 | $t = BadWord::masking($str); 50 | $this->assertEquals('dasar, b*****j****ng**nnn!!!, kamu "c*k", "*s**"', $t); 51 | } 52 | 53 | public function testWordsMaskingWithDuplicateVokalCharWithSymbols() 54 | { 55 | $str = 'dasar, baaaaajiiiingaannn!!!, kamu "(c){ok}", ko(o)ntol'; 56 | $t = BadWord::masking($str); 57 | $this->assertEquals('dasar, b*****j****ng**nnn!!!, kamu "(c){*k}", k*(*)nt*l', $t); 58 | } 59 | 60 | public function testWordsMaskingWithCustomRules() 61 | { 62 | $str = 'Ih masih belajar pehape wkwk'; 63 | $t = BadWord::masking($str, "*", [ 64 | 'pehape' 65 | ]); 66 | $this->assertEquals('Ih masih belajar p*h*p* wkwk', $t); 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/BadWord.php: -------------------------------------------------------------------------------- 1 | kata(); 53 | $kalimat = explode(' ', $kalimat); 54 | foreach ($kalimat as $word) { 55 | foreach ((new self)->numToChar() as $key => $vokal) { 56 | $word = str_replace($key, $vokal, $word); 57 | } 58 | if (in_array(strtolower($word), $wordCollect)) { 59 | return true; 60 | } 61 | if ((new self)->Levenshtein($wordCollect, $word)) { 62 | return true; 63 | } 64 | } 65 | return false; 66 | } 67 | 68 | /** 69 | * Mengganti huruf vocal dalam kata atau kalimat dengan karakter masking 70 | * 71 | * @param string $kata 72 | * @param string $masking 73 | * @param array $custom_word 74 | * @return string 75 | */ 76 | public static function masking(string $kata, $masking = '*', array $custom_word = []): string 77 | { 78 | $words = explode(' ', $kata); 79 | $bad_words = (new self)->kata(); 80 | $new_words = []; 81 | 82 | foreach ($words as $word) { 83 | $tmpword = $word; 84 | $word = preg_replace('/(.)\\1+/', "$1", $word); 85 | $word = (new self)->caseFolding($word); 86 | 87 | foreach ((new self)->numToChar() as $key => $vokal) { 88 | $word = str_replace($key, $vokal, $word); 89 | } 90 | 91 | if (in_array(strtolower($word), $bad_words) || (new self)->Levenshtein($bad_words, $word)) { 92 | $replaceString = str_ireplace(['a', 'i', 'u', 'e', 'o'], $masking, $tmpword); 93 | 94 | if (!strpos($replaceString, $masking)) { 95 | $new_words[] = substr_replace($word, $masking, -1); 96 | } else { 97 | $new_words[] = $replaceString; 98 | } 99 | } else { 100 | if (count($custom_word) > 0 && in_array(strtolower($word), $custom_word)) { 101 | if (in_array(strtolower($word), $custom_word) || (new self)->Levenshtein($custom_word, $word)) { 102 | $replaceString = str_ireplace(['a', 'i', 'u', 'e', 'o'], $masking, $tmpword); 103 | 104 | if (!strpos($replaceString, $masking)) { 105 | $new_words[] = substr_replace($word, $masking, -1); 106 | } else { 107 | $new_words[] = $replaceString; 108 | } 109 | } else { 110 | $new_words[] = $tmpword; 111 | } 112 | } else { 113 | $new_words[] = $tmpword; 114 | } 115 | } 116 | 117 | 118 | } 119 | return implode(' ', $new_words); 120 | } 121 | } 122 | -------------------------------------------------------------------------------- /src/trait/KumpulanKata.php: -------------------------------------------------------------------------------- 1 | 'i', 880 | '3' => 'e', 881 | '4' => 'a', 882 | '0' => 'o', 883 | '9' => 'g', 884 | '5' => 's', 885 | '6' => 'g', 886 | '7' => 'j', 887 | '8' => 'b' 888 | ]; 889 | } 890 | } 891 | -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_readme": [ 3 | "This file locks the dependencies of your project to a known state", 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", 5 | "This file is @generated automatically" 6 | ], 7 | "content-hash": "ddf68680c97d60c8e6601b1902b750d6", 8 | "packages": [ 9 | { 10 | "name": "doctrine/instantiator", 11 | "version": "1.5.x-dev", 12 | "source": { 13 | "type": "git", 14 | "url": "https://github.com/doctrine/instantiator.git", 15 | "reference": "6410c4b8352cb64218641457cef64997e6b784fb" 16 | }, 17 | "dist": { 18 | "type": "zip", 19 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/6410c4b8352cb64218641457cef64997e6b784fb", 20 | "reference": "6410c4b8352cb64218641457cef64997e6b784fb", 21 | "shasum": "" 22 | }, 23 | "require": { 24 | "php": "^7.1 || ^8.0" 25 | }, 26 | "require-dev": { 27 | "doctrine/coding-standard": "^8.0", 28 | "ext-pdo": "*", 29 | "ext-phar": "*", 30 | "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", 31 | "phpstan/phpstan": "^0.12", 32 | "phpstan/phpstan-phpunit": "^0.12", 33 | "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" 34 | }, 35 | "type": "library", 36 | "autoload": { 37 | "psr-4": { 38 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 39 | } 40 | }, 41 | "notification-url": "https://packagist.org/downloads/", 42 | "license": [ 43 | "MIT" 44 | ], 45 | "authors": [ 46 | { 47 | "name": "Marco Pivetta", 48 | "email": "ocramius@gmail.com", 49 | "homepage": "https://ocramius.github.io/" 50 | } 51 | ], 52 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 53 | "homepage": "https://www.doctrine-project.org/projects/instantiator.html", 54 | "keywords": [ 55 | "constructor", 56 | "instantiate" 57 | ], 58 | "support": { 59 | "issues": "https://github.com/doctrine/instantiator/issues", 60 | "source": "https://github.com/doctrine/instantiator/tree/1.4.x" 61 | }, 62 | "funding": [ 63 | { 64 | "url": "https://www.doctrine-project.org/sponsorship.html", 65 | "type": "custom" 66 | }, 67 | { 68 | "url": "https://www.patreon.com/phpdoctrine", 69 | "type": "patreon" 70 | }, 71 | { 72 | "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", 73 | "type": "tidelift" 74 | } 75 | ], 76 | "time": "2020-11-10T19:05:51+00:00" 77 | }, 78 | { 79 | "name": "myclabs/deep-copy", 80 | "version": "1.x-dev", 81 | "source": { 82 | "type": "git", 83 | "url": "https://github.com/myclabs/DeepCopy.git", 84 | "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" 85 | }, 86 | "dist": { 87 | "type": "zip", 88 | "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", 89 | "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", 90 | "shasum": "" 91 | }, 92 | "require": { 93 | "php": "^7.1 || ^8.0" 94 | }, 95 | "replace": { 96 | "myclabs/deep-copy": "self.version" 97 | }, 98 | "require-dev": { 99 | "doctrine/collections": "^1.0", 100 | "doctrine/common": "^2.6", 101 | "phpunit/phpunit": "^7.1" 102 | }, 103 | "default-branch": true, 104 | "type": "library", 105 | "autoload": { 106 | "psr-4": { 107 | "DeepCopy\\": "src/DeepCopy/" 108 | }, 109 | "files": [ 110 | "src/DeepCopy/deep_copy.php" 111 | ] 112 | }, 113 | "notification-url": "https://packagist.org/downloads/", 114 | "license": [ 115 | "MIT" 116 | ], 117 | "description": "Create deep copies (clones) of your objects", 118 | "keywords": [ 119 | "clone", 120 | "copy", 121 | "duplicate", 122 | "object", 123 | "object graph" 124 | ], 125 | "support": { 126 | "issues": "https://github.com/myclabs/DeepCopy/issues", 127 | "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" 128 | }, 129 | "funding": [ 130 | { 131 | "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", 132 | "type": "tidelift" 133 | } 134 | ], 135 | "time": "2020-11-13T09:40:50+00:00" 136 | }, 137 | { 138 | "name": "nikic/php-parser", 139 | "version": "v4.13.1", 140 | "source": { 141 | "type": "git", 142 | "url": "https://github.com/nikic/PHP-Parser.git", 143 | "reference": "63a79e8daa781cac14e5195e63ed8ae231dd10fd" 144 | }, 145 | "dist": { 146 | "type": "zip", 147 | "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/63a79e8daa781cac14e5195e63ed8ae231dd10fd", 148 | "reference": "63a79e8daa781cac14e5195e63ed8ae231dd10fd", 149 | "shasum": "" 150 | }, 151 | "require": { 152 | "ext-tokenizer": "*", 153 | "php": ">=7.0" 154 | }, 155 | "require-dev": { 156 | "ircmaxell/php-yacc": "^0.0.7", 157 | "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" 158 | }, 159 | "bin": [ 160 | "bin/php-parse" 161 | ], 162 | "type": "library", 163 | "extra": { 164 | "branch-alias": { 165 | "dev-master": "4.9-dev" 166 | } 167 | }, 168 | "autoload": { 169 | "psr-4": { 170 | "PhpParser\\": "lib/PhpParser" 171 | } 172 | }, 173 | "notification-url": "https://packagist.org/downloads/", 174 | "license": [ 175 | "BSD-3-Clause" 176 | ], 177 | "authors": [ 178 | { 179 | "name": "Nikita Popov" 180 | } 181 | ], 182 | "description": "A PHP parser written in PHP", 183 | "keywords": [ 184 | "parser", 185 | "php" 186 | ], 187 | "support": { 188 | "issues": "https://github.com/nikic/PHP-Parser/issues", 189 | "source": "https://github.com/nikic/PHP-Parser/tree/v4.13.1" 190 | }, 191 | "time": "2021-11-03T20:52:16+00:00" 192 | }, 193 | { 194 | "name": "phar-io/manifest", 195 | "version": "dev-master", 196 | "source": { 197 | "type": "git", 198 | "url": "https://github.com/phar-io/manifest.git", 199 | "reference": "97803eca37d319dfa7826cc2437fc020857acb53" 200 | }, 201 | "dist": { 202 | "type": "zip", 203 | "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", 204 | "reference": "97803eca37d319dfa7826cc2437fc020857acb53", 205 | "shasum": "" 206 | }, 207 | "require": { 208 | "ext-dom": "*", 209 | "ext-phar": "*", 210 | "ext-xmlwriter": "*", 211 | "phar-io/version": "^3.0.1", 212 | "php": "^7.2 || ^8.0" 213 | }, 214 | "default-branch": true, 215 | "type": "library", 216 | "extra": { 217 | "branch-alias": { 218 | "dev-master": "2.0.x-dev" 219 | } 220 | }, 221 | "autoload": { 222 | "classmap": [ 223 | "src/" 224 | ] 225 | }, 226 | "notification-url": "https://packagist.org/downloads/", 227 | "license": [ 228 | "BSD-3-Clause" 229 | ], 230 | "authors": [ 231 | { 232 | "name": "Arne Blankerts", 233 | "email": "arne@blankerts.de", 234 | "role": "Developer" 235 | }, 236 | { 237 | "name": "Sebastian Heuer", 238 | "email": "sebastian@phpeople.de", 239 | "role": "Developer" 240 | }, 241 | { 242 | "name": "Sebastian Bergmann", 243 | "email": "sebastian@phpunit.de", 244 | "role": "Developer" 245 | } 246 | ], 247 | "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", 248 | "support": { 249 | "issues": "https://github.com/phar-io/manifest/issues", 250 | "source": "https://github.com/phar-io/manifest/tree/2.0.3" 251 | }, 252 | "time": "2021-07-20T11:28:43+00:00" 253 | }, 254 | { 255 | "name": "phar-io/version", 256 | "version": "3.1.0", 257 | "source": { 258 | "type": "git", 259 | "url": "https://github.com/phar-io/version.git", 260 | "reference": "bae7c545bef187884426f042434e561ab1ddb182" 261 | }, 262 | "dist": { 263 | "type": "zip", 264 | "url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182", 265 | "reference": "bae7c545bef187884426f042434e561ab1ddb182", 266 | "shasum": "" 267 | }, 268 | "require": { 269 | "php": "^7.2 || ^8.0" 270 | }, 271 | "type": "library", 272 | "autoload": { 273 | "classmap": [ 274 | "src/" 275 | ] 276 | }, 277 | "notification-url": "https://packagist.org/downloads/", 278 | "license": [ 279 | "BSD-3-Clause" 280 | ], 281 | "authors": [ 282 | { 283 | "name": "Arne Blankerts", 284 | "email": "arne@blankerts.de", 285 | "role": "Developer" 286 | }, 287 | { 288 | "name": "Sebastian Heuer", 289 | "email": "sebastian@phpeople.de", 290 | "role": "Developer" 291 | }, 292 | { 293 | "name": "Sebastian Bergmann", 294 | "email": "sebastian@phpunit.de", 295 | "role": "Developer" 296 | } 297 | ], 298 | "description": "Library for handling version information and constraints", 299 | "support": { 300 | "issues": "https://github.com/phar-io/version/issues", 301 | "source": "https://github.com/phar-io/version/tree/3.1.0" 302 | }, 303 | "time": "2021-02-23T14:00:09+00:00" 304 | }, 305 | { 306 | "name": "phpdocumentor/reflection-common", 307 | "version": "dev-master", 308 | "source": { 309 | "type": "git", 310 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git", 311 | "reference": "a0eeab580cbdf4414fef6978732510a36ed0a9d6" 312 | }, 313 | "dist": { 314 | "type": "zip", 315 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/a0eeab580cbdf4414fef6978732510a36ed0a9d6", 316 | "reference": "a0eeab580cbdf4414fef6978732510a36ed0a9d6", 317 | "shasum": "" 318 | }, 319 | "require": { 320 | "php": ">=7.1" 321 | }, 322 | "type": "library", 323 | "extra": { 324 | "branch-alias": { 325 | "dev-master": "2.x-dev" 326 | } 327 | }, 328 | "autoload": { 329 | "psr-4": { 330 | "phpDocumentor\\Reflection\\": "src/" 331 | } 332 | }, 333 | "notification-url": "https://packagist.org/downloads/", 334 | "license": [ 335 | "MIT" 336 | ], 337 | "authors": [ 338 | { 339 | "name": "Jaap van Otterdijk", 340 | "email": "opensource@ijaap.nl" 341 | } 342 | ], 343 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure", 344 | "homepage": "http://www.phpdoc.org", 345 | "keywords": [ 346 | "FQSEN", 347 | "phpDocumentor", 348 | "phpdoc", 349 | "reflection", 350 | "static analysis" 351 | ], 352 | "support": { 353 | "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", 354 | "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/master" 355 | }, 356 | "time": "2021-06-25T13:47:51+00:00" 357 | }, 358 | { 359 | "name": "phpdocumentor/reflection-docblock", 360 | "version": "dev-master", 361 | "source": { 362 | "type": "git", 363 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", 364 | "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" 365 | }, 366 | "dist": { 367 | "type": "zip", 368 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", 369 | "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", 370 | "shasum": "" 371 | }, 372 | "require": { 373 | "ext-filter": "*", 374 | "php": "^7.2 || ^8.0", 375 | "phpdocumentor/reflection-common": "^2.2", 376 | "phpdocumentor/type-resolver": "^1.3", 377 | "webmozart/assert": "^1.9.1" 378 | }, 379 | "require-dev": { 380 | "mockery/mockery": "~1.3.2", 381 | "psalm/phar": "^4.8" 382 | }, 383 | "default-branch": true, 384 | "type": "library", 385 | "extra": { 386 | "branch-alias": { 387 | "dev-master": "5.x-dev" 388 | } 389 | }, 390 | "autoload": { 391 | "psr-4": { 392 | "phpDocumentor\\Reflection\\": "src" 393 | } 394 | }, 395 | "notification-url": "https://packagist.org/downloads/", 396 | "license": [ 397 | "MIT" 398 | ], 399 | "authors": [ 400 | { 401 | "name": "Mike van Riel", 402 | "email": "me@mikevanriel.com" 403 | }, 404 | { 405 | "name": "Jaap van Otterdijk", 406 | "email": "account@ijaap.nl" 407 | } 408 | ], 409 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", 410 | "support": { 411 | "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", 412 | "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" 413 | }, 414 | "time": "2021-10-19T17:43:47+00:00" 415 | }, 416 | { 417 | "name": "phpdocumentor/type-resolver", 418 | "version": "1.x-dev", 419 | "source": { 420 | "type": "git", 421 | "url": "https://github.com/phpDocumentor/TypeResolver.git", 422 | "reference": "2a7ec2a310e8dff274c8af3bf3005288f0b1b7f6" 423 | }, 424 | "dist": { 425 | "type": "zip", 426 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2a7ec2a310e8dff274c8af3bf3005288f0b1b7f6", 427 | "reference": "2a7ec2a310e8dff274c8af3bf3005288f0b1b7f6", 428 | "shasum": "" 429 | }, 430 | "require": { 431 | "php": "^7.2 || ^8.0", 432 | "phpdocumentor/reflection-common": "^2.0" 433 | }, 434 | "require-dev": { 435 | "ext-tokenizer": "*", 436 | "psalm/phar": "^4.8" 437 | }, 438 | "default-branch": true, 439 | "type": "library", 440 | "extra": { 441 | "branch-alias": { 442 | "dev-1.x": "1.x-dev" 443 | } 444 | }, 445 | "autoload": { 446 | "psr-4": { 447 | "phpDocumentor\\Reflection\\": "src" 448 | } 449 | }, 450 | "notification-url": "https://packagist.org/downloads/", 451 | "license": [ 452 | "MIT" 453 | ], 454 | "authors": [ 455 | { 456 | "name": "Mike van Riel", 457 | "email": "me@mikevanriel.com" 458 | } 459 | ], 460 | "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", 461 | "support": { 462 | "issues": "https://github.com/phpDocumentor/TypeResolver/issues", 463 | "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.x" 464 | }, 465 | "time": "2021-11-09T20:01:14+00:00" 466 | }, 467 | { 468 | "name": "phpspec/prophecy", 469 | "version": "dev-master", 470 | "source": { 471 | "type": "git", 472 | "url": "https://github.com/phpspec/prophecy.git", 473 | "reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e" 474 | }, 475 | "dist": { 476 | "type": "zip", 477 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e", 478 | "reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e", 479 | "shasum": "" 480 | }, 481 | "require": { 482 | "doctrine/instantiator": "^1.2", 483 | "php": "^7.2 || ~8.0, <8.2", 484 | "phpdocumentor/reflection-docblock": "^5.2", 485 | "sebastian/comparator": "^3.0 || ^4.0", 486 | "sebastian/recursion-context": "^3.0 || ^4.0" 487 | }, 488 | "require-dev": { 489 | "phpspec/phpspec": "^6.0 || ^7.0", 490 | "phpunit/phpunit": "^8.0 || ^9.0" 491 | }, 492 | "default-branch": true, 493 | "type": "library", 494 | "extra": { 495 | "branch-alias": { 496 | "dev-master": "1.x-dev" 497 | } 498 | }, 499 | "autoload": { 500 | "psr-4": { 501 | "Prophecy\\": "src/Prophecy" 502 | } 503 | }, 504 | "notification-url": "https://packagist.org/downloads/", 505 | "license": [ 506 | "MIT" 507 | ], 508 | "authors": [ 509 | { 510 | "name": "Konstantin Kudryashov", 511 | "email": "ever.zet@gmail.com", 512 | "homepage": "http://everzet.com" 513 | }, 514 | { 515 | "name": "Marcello Duarte", 516 | "email": "marcello.duarte@gmail.com" 517 | } 518 | ], 519 | "description": "Highly opinionated mocking framework for PHP 5.3+", 520 | "homepage": "https://github.com/phpspec/prophecy", 521 | "keywords": [ 522 | "Double", 523 | "Dummy", 524 | "fake", 525 | "mock", 526 | "spy", 527 | "stub" 528 | ], 529 | "support": { 530 | "issues": "https://github.com/phpspec/prophecy/issues", 531 | "source": "https://github.com/phpspec/prophecy/tree/1.14.0" 532 | }, 533 | "time": "2021-09-10T09:02:12+00:00" 534 | }, 535 | { 536 | "name": "phpunit/php-code-coverage", 537 | "version": "9.2.x-dev", 538 | "source": { 539 | "type": "git", 540 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 541 | "reference": "f301eb1453c9e7a1bc912ee8b0ea9db22c60223b" 542 | }, 543 | "dist": { 544 | "type": "zip", 545 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f301eb1453c9e7a1bc912ee8b0ea9db22c60223b", 546 | "reference": "f301eb1453c9e7a1bc912ee8b0ea9db22c60223b", 547 | "shasum": "" 548 | }, 549 | "require": { 550 | "ext-dom": "*", 551 | "ext-libxml": "*", 552 | "ext-xmlwriter": "*", 553 | "nikic/php-parser": "^4.13.0", 554 | "php": ">=7.3", 555 | "phpunit/php-file-iterator": "^3.0.3", 556 | "phpunit/php-text-template": "^2.0.2", 557 | "sebastian/code-unit-reverse-lookup": "^2.0.2", 558 | "sebastian/complexity": "^2.0", 559 | "sebastian/environment": "^5.1.2", 560 | "sebastian/lines-of-code": "^1.0.3", 561 | "sebastian/version": "^3.0.1", 562 | "theseer/tokenizer": "^1.2.0" 563 | }, 564 | "require-dev": { 565 | "phpunit/phpunit": "^9.3" 566 | }, 567 | "suggest": { 568 | "ext-pcov": "*", 569 | "ext-xdebug": "*" 570 | }, 571 | "type": "library", 572 | "extra": { 573 | "branch-alias": { 574 | "dev-master": "9.2-dev" 575 | } 576 | }, 577 | "autoload": { 578 | "classmap": [ 579 | "src/" 580 | ] 581 | }, 582 | "notification-url": "https://packagist.org/downloads/", 583 | "license": [ 584 | "BSD-3-Clause" 585 | ], 586 | "authors": [ 587 | { 588 | "name": "Sebastian Bergmann", 589 | "email": "sebastian@phpunit.de", 590 | "role": "lead" 591 | } 592 | ], 593 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 594 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 595 | "keywords": [ 596 | "coverage", 597 | "testing", 598 | "xunit" 599 | ], 600 | "support": { 601 | "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", 602 | "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.9" 603 | }, 604 | "funding": [ 605 | { 606 | "url": "https://github.com/sebastianbergmann", 607 | "type": "github" 608 | } 609 | ], 610 | "time": "2021-11-19T15:21:02+00:00" 611 | }, 612 | { 613 | "name": "phpunit/php-file-iterator", 614 | "version": "3.0.x-dev", 615 | "source": { 616 | "type": "git", 617 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 618 | "reference": "d7e633e95043246c5370e96d4cd17aa2cc79ab78" 619 | }, 620 | "dist": { 621 | "type": "zip", 622 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/d7e633e95043246c5370e96d4cd17aa2cc79ab78", 623 | "reference": "d7e633e95043246c5370e96d4cd17aa2cc79ab78", 624 | "shasum": "" 625 | }, 626 | "require": { 627 | "php": ">=7.3" 628 | }, 629 | "require-dev": { 630 | "phpunit/phpunit": "^9.3" 631 | }, 632 | "type": "library", 633 | "extra": { 634 | "branch-alias": { 635 | "dev-master": "3.0-dev" 636 | } 637 | }, 638 | "autoload": { 639 | "classmap": [ 640 | "src/" 641 | ] 642 | }, 643 | "notification-url": "https://packagist.org/downloads/", 644 | "license": [ 645 | "BSD-3-Clause" 646 | ], 647 | "authors": [ 648 | { 649 | "name": "Sebastian Bergmann", 650 | "email": "sebastian@phpunit.de", 651 | "role": "lead" 652 | } 653 | ], 654 | "description": "FilterIterator implementation that filters files based on a list of suffixes.", 655 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 656 | "keywords": [ 657 | "filesystem", 658 | "iterator" 659 | ], 660 | "support": { 661 | "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", 662 | "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0" 663 | }, 664 | "funding": [ 665 | { 666 | "url": "https://github.com/sebastianbergmann", 667 | "type": "github" 668 | } 669 | ], 670 | "time": "2021-07-30T13:35:46+00:00" 671 | }, 672 | { 673 | "name": "phpunit/php-invoker", 674 | "version": "3.1.1", 675 | "source": { 676 | "type": "git", 677 | "url": "https://github.com/sebastianbergmann/php-invoker.git", 678 | "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" 679 | }, 680 | "dist": { 681 | "type": "zip", 682 | "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", 683 | "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", 684 | "shasum": "" 685 | }, 686 | "require": { 687 | "php": ">=7.3" 688 | }, 689 | "require-dev": { 690 | "ext-pcntl": "*", 691 | "phpunit/phpunit": "^9.3" 692 | }, 693 | "suggest": { 694 | "ext-pcntl": "*" 695 | }, 696 | "type": "library", 697 | "extra": { 698 | "branch-alias": { 699 | "dev-master": "3.1-dev" 700 | } 701 | }, 702 | "autoload": { 703 | "classmap": [ 704 | "src/" 705 | ] 706 | }, 707 | "notification-url": "https://packagist.org/downloads/", 708 | "license": [ 709 | "BSD-3-Clause" 710 | ], 711 | "authors": [ 712 | { 713 | "name": "Sebastian Bergmann", 714 | "email": "sebastian@phpunit.de", 715 | "role": "lead" 716 | } 717 | ], 718 | "description": "Invoke callables with a timeout", 719 | "homepage": "https://github.com/sebastianbergmann/php-invoker/", 720 | "keywords": [ 721 | "process" 722 | ], 723 | "support": { 724 | "issues": "https://github.com/sebastianbergmann/php-invoker/issues", 725 | "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" 726 | }, 727 | "funding": [ 728 | { 729 | "url": "https://github.com/sebastianbergmann", 730 | "type": "github" 731 | } 732 | ], 733 | "time": "2020-09-28T05:58:55+00:00" 734 | }, 735 | { 736 | "name": "phpunit/php-text-template", 737 | "version": "2.0.4", 738 | "source": { 739 | "type": "git", 740 | "url": "https://github.com/sebastianbergmann/php-text-template.git", 741 | "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" 742 | }, 743 | "dist": { 744 | "type": "zip", 745 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", 746 | "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", 747 | "shasum": "" 748 | }, 749 | "require": { 750 | "php": ">=7.3" 751 | }, 752 | "require-dev": { 753 | "phpunit/phpunit": "^9.3" 754 | }, 755 | "type": "library", 756 | "extra": { 757 | "branch-alias": { 758 | "dev-master": "2.0-dev" 759 | } 760 | }, 761 | "autoload": { 762 | "classmap": [ 763 | "src/" 764 | ] 765 | }, 766 | "notification-url": "https://packagist.org/downloads/", 767 | "license": [ 768 | "BSD-3-Clause" 769 | ], 770 | "authors": [ 771 | { 772 | "name": "Sebastian Bergmann", 773 | "email": "sebastian@phpunit.de", 774 | "role": "lead" 775 | } 776 | ], 777 | "description": "Simple template engine.", 778 | "homepage": "https://github.com/sebastianbergmann/php-text-template/", 779 | "keywords": [ 780 | "template" 781 | ], 782 | "support": { 783 | "issues": "https://github.com/sebastianbergmann/php-text-template/issues", 784 | "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" 785 | }, 786 | "funding": [ 787 | { 788 | "url": "https://github.com/sebastianbergmann", 789 | "type": "github" 790 | } 791 | ], 792 | "time": "2020-10-26T05:33:50+00:00" 793 | }, 794 | { 795 | "name": "phpunit/php-timer", 796 | "version": "5.0.3", 797 | "source": { 798 | "type": "git", 799 | "url": "https://github.com/sebastianbergmann/php-timer.git", 800 | "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" 801 | }, 802 | "dist": { 803 | "type": "zip", 804 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", 805 | "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", 806 | "shasum": "" 807 | }, 808 | "require": { 809 | "php": ">=7.3" 810 | }, 811 | "require-dev": { 812 | "phpunit/phpunit": "^9.3" 813 | }, 814 | "type": "library", 815 | "extra": { 816 | "branch-alias": { 817 | "dev-master": "5.0-dev" 818 | } 819 | }, 820 | "autoload": { 821 | "classmap": [ 822 | "src/" 823 | ] 824 | }, 825 | "notification-url": "https://packagist.org/downloads/", 826 | "license": [ 827 | "BSD-3-Clause" 828 | ], 829 | "authors": [ 830 | { 831 | "name": "Sebastian Bergmann", 832 | "email": "sebastian@phpunit.de", 833 | "role": "lead" 834 | } 835 | ], 836 | "description": "Utility class for timing", 837 | "homepage": "https://github.com/sebastianbergmann/php-timer/", 838 | "keywords": [ 839 | "timer" 840 | ], 841 | "support": { 842 | "issues": "https://github.com/sebastianbergmann/php-timer/issues", 843 | "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" 844 | }, 845 | "funding": [ 846 | { 847 | "url": "https://github.com/sebastianbergmann", 848 | "type": "github" 849 | } 850 | ], 851 | "time": "2020-10-26T13:16:10+00:00" 852 | }, 853 | { 854 | "name": "phpunit/phpunit", 855 | "version": "9.5.0", 856 | "source": { 857 | "type": "git", 858 | "url": "https://github.com/sebastianbergmann/phpunit.git", 859 | "reference": "8e16c225d57c3d6808014df6b1dd7598d0a5bbbe" 860 | }, 861 | "dist": { 862 | "type": "zip", 863 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8e16c225d57c3d6808014df6b1dd7598d0a5bbbe", 864 | "reference": "8e16c225d57c3d6808014df6b1dd7598d0a5bbbe", 865 | "shasum": "" 866 | }, 867 | "require": { 868 | "doctrine/instantiator": "^1.3.1", 869 | "ext-dom": "*", 870 | "ext-json": "*", 871 | "ext-libxml": "*", 872 | "ext-mbstring": "*", 873 | "ext-xml": "*", 874 | "ext-xmlwriter": "*", 875 | "myclabs/deep-copy": "^1.10.1", 876 | "phar-io/manifest": "^2.0.1", 877 | "phar-io/version": "^3.0.2", 878 | "php": ">=7.3", 879 | "phpspec/prophecy": "^1.12.1", 880 | "phpunit/php-code-coverage": "^9.2.3", 881 | "phpunit/php-file-iterator": "^3.0.5", 882 | "phpunit/php-invoker": "^3.1.1", 883 | "phpunit/php-text-template": "^2.0.3", 884 | "phpunit/php-timer": "^5.0.2", 885 | "sebastian/cli-parser": "^1.0.1", 886 | "sebastian/code-unit": "^1.0.6", 887 | "sebastian/comparator": "^4.0.5", 888 | "sebastian/diff": "^4.0.3", 889 | "sebastian/environment": "^5.1.3", 890 | "sebastian/exporter": "^4.0.3", 891 | "sebastian/global-state": "^5.0.1", 892 | "sebastian/object-enumerator": "^4.0.3", 893 | "sebastian/resource-operations": "^3.0.3", 894 | "sebastian/type": "^2.3", 895 | "sebastian/version": "^3.0.2" 896 | }, 897 | "require-dev": { 898 | "ext-pdo": "*", 899 | "phpspec/prophecy-phpunit": "^2.0.1" 900 | }, 901 | "suggest": { 902 | "ext-soap": "*", 903 | "ext-xdebug": "*" 904 | }, 905 | "bin": [ 906 | "phpunit" 907 | ], 908 | "type": "library", 909 | "extra": { 910 | "branch-alias": { 911 | "dev-master": "9.5-dev" 912 | } 913 | }, 914 | "autoload": { 915 | "classmap": [ 916 | "src/" 917 | ], 918 | "files": [ 919 | "src/Framework/Assert/Functions.php" 920 | ] 921 | }, 922 | "notification-url": "https://packagist.org/downloads/", 923 | "license": [ 924 | "BSD-3-Clause" 925 | ], 926 | "authors": [ 927 | { 928 | "name": "Sebastian Bergmann", 929 | "email": "sebastian@phpunit.de", 930 | "role": "lead" 931 | } 932 | ], 933 | "description": "The PHP Unit Testing framework.", 934 | "homepage": "https://phpunit.de/", 935 | "keywords": [ 936 | "phpunit", 937 | "testing", 938 | "xunit" 939 | ], 940 | "support": { 941 | "issues": "https://github.com/sebastianbergmann/phpunit/issues", 942 | "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.0" 943 | }, 944 | "funding": [ 945 | { 946 | "url": "https://phpunit.de/donate.html", 947 | "type": "custom" 948 | }, 949 | { 950 | "url": "https://github.com/sebastianbergmann", 951 | "type": "github" 952 | } 953 | ], 954 | "time": "2020-12-04T05:05:53+00:00" 955 | }, 956 | { 957 | "name": "sebastian/cli-parser", 958 | "version": "1.0.1", 959 | "source": { 960 | "type": "git", 961 | "url": "https://github.com/sebastianbergmann/cli-parser.git", 962 | "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" 963 | }, 964 | "dist": { 965 | "type": "zip", 966 | "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", 967 | "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", 968 | "shasum": "" 969 | }, 970 | "require": { 971 | "php": ">=7.3" 972 | }, 973 | "require-dev": { 974 | "phpunit/phpunit": "^9.3" 975 | }, 976 | "type": "library", 977 | "extra": { 978 | "branch-alias": { 979 | "dev-master": "1.0-dev" 980 | } 981 | }, 982 | "autoload": { 983 | "classmap": [ 984 | "src/" 985 | ] 986 | }, 987 | "notification-url": "https://packagist.org/downloads/", 988 | "license": [ 989 | "BSD-3-Clause" 990 | ], 991 | "authors": [ 992 | { 993 | "name": "Sebastian Bergmann", 994 | "email": "sebastian@phpunit.de", 995 | "role": "lead" 996 | } 997 | ], 998 | "description": "Library for parsing CLI options", 999 | "homepage": "https://github.com/sebastianbergmann/cli-parser", 1000 | "support": { 1001 | "issues": "https://github.com/sebastianbergmann/cli-parser/issues", 1002 | "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" 1003 | }, 1004 | "funding": [ 1005 | { 1006 | "url": "https://github.com/sebastianbergmann", 1007 | "type": "github" 1008 | } 1009 | ], 1010 | "time": "2020-09-28T06:08:49+00:00" 1011 | }, 1012 | { 1013 | "name": "sebastian/code-unit", 1014 | "version": "1.0.8", 1015 | "source": { 1016 | "type": "git", 1017 | "url": "https://github.com/sebastianbergmann/code-unit.git", 1018 | "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" 1019 | }, 1020 | "dist": { 1021 | "type": "zip", 1022 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", 1023 | "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", 1024 | "shasum": "" 1025 | }, 1026 | "require": { 1027 | "php": ">=7.3" 1028 | }, 1029 | "require-dev": { 1030 | "phpunit/phpunit": "^9.3" 1031 | }, 1032 | "type": "library", 1033 | "extra": { 1034 | "branch-alias": { 1035 | "dev-master": "1.0-dev" 1036 | } 1037 | }, 1038 | "autoload": { 1039 | "classmap": [ 1040 | "src/" 1041 | ] 1042 | }, 1043 | "notification-url": "https://packagist.org/downloads/", 1044 | "license": [ 1045 | "BSD-3-Clause" 1046 | ], 1047 | "authors": [ 1048 | { 1049 | "name": "Sebastian Bergmann", 1050 | "email": "sebastian@phpunit.de", 1051 | "role": "lead" 1052 | } 1053 | ], 1054 | "description": "Collection of value objects that represent the PHP code units", 1055 | "homepage": "https://github.com/sebastianbergmann/code-unit", 1056 | "support": { 1057 | "issues": "https://github.com/sebastianbergmann/code-unit/issues", 1058 | "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" 1059 | }, 1060 | "funding": [ 1061 | { 1062 | "url": "https://github.com/sebastianbergmann", 1063 | "type": "github" 1064 | } 1065 | ], 1066 | "time": "2020-10-26T13:08:54+00:00" 1067 | }, 1068 | { 1069 | "name": "sebastian/code-unit-reverse-lookup", 1070 | "version": "2.0.3", 1071 | "source": { 1072 | "type": "git", 1073 | "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", 1074 | "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" 1075 | }, 1076 | "dist": { 1077 | "type": "zip", 1078 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", 1079 | "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", 1080 | "shasum": "" 1081 | }, 1082 | "require": { 1083 | "php": ">=7.3" 1084 | }, 1085 | "require-dev": { 1086 | "phpunit/phpunit": "^9.3" 1087 | }, 1088 | "type": "library", 1089 | "extra": { 1090 | "branch-alias": { 1091 | "dev-master": "2.0-dev" 1092 | } 1093 | }, 1094 | "autoload": { 1095 | "classmap": [ 1096 | "src/" 1097 | ] 1098 | }, 1099 | "notification-url": "https://packagist.org/downloads/", 1100 | "license": [ 1101 | "BSD-3-Clause" 1102 | ], 1103 | "authors": [ 1104 | { 1105 | "name": "Sebastian Bergmann", 1106 | "email": "sebastian@phpunit.de" 1107 | } 1108 | ], 1109 | "description": "Looks up which function or method a line of code belongs to", 1110 | "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", 1111 | "support": { 1112 | "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", 1113 | "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" 1114 | }, 1115 | "funding": [ 1116 | { 1117 | "url": "https://github.com/sebastianbergmann", 1118 | "type": "github" 1119 | } 1120 | ], 1121 | "time": "2020-09-28T05:30:19+00:00" 1122 | }, 1123 | { 1124 | "name": "sebastian/comparator", 1125 | "version": "4.0.6", 1126 | "source": { 1127 | "type": "git", 1128 | "url": "https://github.com/sebastianbergmann/comparator.git", 1129 | "reference": "55f4261989e546dc112258c7a75935a81a7ce382" 1130 | }, 1131 | "dist": { 1132 | "type": "zip", 1133 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", 1134 | "reference": "55f4261989e546dc112258c7a75935a81a7ce382", 1135 | "shasum": "" 1136 | }, 1137 | "require": { 1138 | "php": ">=7.3", 1139 | "sebastian/diff": "^4.0", 1140 | "sebastian/exporter": "^4.0" 1141 | }, 1142 | "require-dev": { 1143 | "phpunit/phpunit": "^9.3" 1144 | }, 1145 | "type": "library", 1146 | "extra": { 1147 | "branch-alias": { 1148 | "dev-master": "4.0-dev" 1149 | } 1150 | }, 1151 | "autoload": { 1152 | "classmap": [ 1153 | "src/" 1154 | ] 1155 | }, 1156 | "notification-url": "https://packagist.org/downloads/", 1157 | "license": [ 1158 | "BSD-3-Clause" 1159 | ], 1160 | "authors": [ 1161 | { 1162 | "name": "Sebastian Bergmann", 1163 | "email": "sebastian@phpunit.de" 1164 | }, 1165 | { 1166 | "name": "Jeff Welch", 1167 | "email": "whatthejeff@gmail.com" 1168 | }, 1169 | { 1170 | "name": "Volker Dusch", 1171 | "email": "github@wallbash.com" 1172 | }, 1173 | { 1174 | "name": "Bernhard Schussek", 1175 | "email": "bschussek@2bepublished.at" 1176 | } 1177 | ], 1178 | "description": "Provides the functionality to compare PHP values for equality", 1179 | "homepage": "https://github.com/sebastianbergmann/comparator", 1180 | "keywords": [ 1181 | "comparator", 1182 | "compare", 1183 | "equality" 1184 | ], 1185 | "support": { 1186 | "issues": "https://github.com/sebastianbergmann/comparator/issues", 1187 | "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" 1188 | }, 1189 | "funding": [ 1190 | { 1191 | "url": "https://github.com/sebastianbergmann", 1192 | "type": "github" 1193 | } 1194 | ], 1195 | "time": "2020-10-26T15:49:45+00:00" 1196 | }, 1197 | { 1198 | "name": "sebastian/complexity", 1199 | "version": "2.0.2", 1200 | "source": { 1201 | "type": "git", 1202 | "url": "https://github.com/sebastianbergmann/complexity.git", 1203 | "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" 1204 | }, 1205 | "dist": { 1206 | "type": "zip", 1207 | "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", 1208 | "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", 1209 | "shasum": "" 1210 | }, 1211 | "require": { 1212 | "nikic/php-parser": "^4.7", 1213 | "php": ">=7.3" 1214 | }, 1215 | "require-dev": { 1216 | "phpunit/phpunit": "^9.3" 1217 | }, 1218 | "type": "library", 1219 | "extra": { 1220 | "branch-alias": { 1221 | "dev-master": "2.0-dev" 1222 | } 1223 | }, 1224 | "autoload": { 1225 | "classmap": [ 1226 | "src/" 1227 | ] 1228 | }, 1229 | "notification-url": "https://packagist.org/downloads/", 1230 | "license": [ 1231 | "BSD-3-Clause" 1232 | ], 1233 | "authors": [ 1234 | { 1235 | "name": "Sebastian Bergmann", 1236 | "email": "sebastian@phpunit.de", 1237 | "role": "lead" 1238 | } 1239 | ], 1240 | "description": "Library for calculating the complexity of PHP code units", 1241 | "homepage": "https://github.com/sebastianbergmann/complexity", 1242 | "support": { 1243 | "issues": "https://github.com/sebastianbergmann/complexity/issues", 1244 | "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" 1245 | }, 1246 | "funding": [ 1247 | { 1248 | "url": "https://github.com/sebastianbergmann", 1249 | "type": "github" 1250 | } 1251 | ], 1252 | "time": "2020-10-26T15:52:27+00:00" 1253 | }, 1254 | { 1255 | "name": "sebastian/diff", 1256 | "version": "4.0.4", 1257 | "source": { 1258 | "type": "git", 1259 | "url": "https://github.com/sebastianbergmann/diff.git", 1260 | "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" 1261 | }, 1262 | "dist": { 1263 | "type": "zip", 1264 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", 1265 | "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", 1266 | "shasum": "" 1267 | }, 1268 | "require": { 1269 | "php": ">=7.3" 1270 | }, 1271 | "require-dev": { 1272 | "phpunit/phpunit": "^9.3", 1273 | "symfony/process": "^4.2 || ^5" 1274 | }, 1275 | "type": "library", 1276 | "extra": { 1277 | "branch-alias": { 1278 | "dev-master": "4.0-dev" 1279 | } 1280 | }, 1281 | "autoload": { 1282 | "classmap": [ 1283 | "src/" 1284 | ] 1285 | }, 1286 | "notification-url": "https://packagist.org/downloads/", 1287 | "license": [ 1288 | "BSD-3-Clause" 1289 | ], 1290 | "authors": [ 1291 | { 1292 | "name": "Sebastian Bergmann", 1293 | "email": "sebastian@phpunit.de" 1294 | }, 1295 | { 1296 | "name": "Kore Nordmann", 1297 | "email": "mail@kore-nordmann.de" 1298 | } 1299 | ], 1300 | "description": "Diff implementation", 1301 | "homepage": "https://github.com/sebastianbergmann/diff", 1302 | "keywords": [ 1303 | "diff", 1304 | "udiff", 1305 | "unidiff", 1306 | "unified diff" 1307 | ], 1308 | "support": { 1309 | "issues": "https://github.com/sebastianbergmann/diff/issues", 1310 | "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" 1311 | }, 1312 | "funding": [ 1313 | { 1314 | "url": "https://github.com/sebastianbergmann", 1315 | "type": "github" 1316 | } 1317 | ], 1318 | "time": "2020-10-26T13:10:38+00:00" 1319 | }, 1320 | { 1321 | "name": "sebastian/environment", 1322 | "version": "5.1.3", 1323 | "source": { 1324 | "type": "git", 1325 | "url": "https://github.com/sebastianbergmann/environment.git", 1326 | "reference": "388b6ced16caa751030f6a69e588299fa09200ac" 1327 | }, 1328 | "dist": { 1329 | "type": "zip", 1330 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac", 1331 | "reference": "388b6ced16caa751030f6a69e588299fa09200ac", 1332 | "shasum": "" 1333 | }, 1334 | "require": { 1335 | "php": ">=7.3" 1336 | }, 1337 | "require-dev": { 1338 | "phpunit/phpunit": "^9.3" 1339 | }, 1340 | "suggest": { 1341 | "ext-posix": "*" 1342 | }, 1343 | "type": "library", 1344 | "extra": { 1345 | "branch-alias": { 1346 | "dev-master": "5.1-dev" 1347 | } 1348 | }, 1349 | "autoload": { 1350 | "classmap": [ 1351 | "src/" 1352 | ] 1353 | }, 1354 | "notification-url": "https://packagist.org/downloads/", 1355 | "license": [ 1356 | "BSD-3-Clause" 1357 | ], 1358 | "authors": [ 1359 | { 1360 | "name": "Sebastian Bergmann", 1361 | "email": "sebastian@phpunit.de" 1362 | } 1363 | ], 1364 | "description": "Provides functionality to handle HHVM/PHP environments", 1365 | "homepage": "http://www.github.com/sebastianbergmann/environment", 1366 | "keywords": [ 1367 | "Xdebug", 1368 | "environment", 1369 | "hhvm" 1370 | ], 1371 | "support": { 1372 | "issues": "https://github.com/sebastianbergmann/environment/issues", 1373 | "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3" 1374 | }, 1375 | "funding": [ 1376 | { 1377 | "url": "https://github.com/sebastianbergmann", 1378 | "type": "github" 1379 | } 1380 | ], 1381 | "time": "2020-09-28T05:52:38+00:00" 1382 | }, 1383 | { 1384 | "name": "sebastian/exporter", 1385 | "version": "4.0.x-dev", 1386 | "source": { 1387 | "type": "git", 1388 | "url": "https://github.com/sebastianbergmann/exporter.git", 1389 | "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9" 1390 | }, 1391 | "dist": { 1392 | "type": "zip", 1393 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9", 1394 | "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9", 1395 | "shasum": "" 1396 | }, 1397 | "require": { 1398 | "php": ">=7.3", 1399 | "sebastian/recursion-context": "^4.0" 1400 | }, 1401 | "require-dev": { 1402 | "ext-mbstring": "*", 1403 | "phpunit/phpunit": "^9.3" 1404 | }, 1405 | "type": "library", 1406 | "extra": { 1407 | "branch-alias": { 1408 | "dev-master": "4.0-dev" 1409 | } 1410 | }, 1411 | "autoload": { 1412 | "classmap": [ 1413 | "src/" 1414 | ] 1415 | }, 1416 | "notification-url": "https://packagist.org/downloads/", 1417 | "license": [ 1418 | "BSD-3-Clause" 1419 | ], 1420 | "authors": [ 1421 | { 1422 | "name": "Sebastian Bergmann", 1423 | "email": "sebastian@phpunit.de" 1424 | }, 1425 | { 1426 | "name": "Jeff Welch", 1427 | "email": "whatthejeff@gmail.com" 1428 | }, 1429 | { 1430 | "name": "Volker Dusch", 1431 | "email": "github@wallbash.com" 1432 | }, 1433 | { 1434 | "name": "Adam Harvey", 1435 | "email": "aharvey@php.net" 1436 | }, 1437 | { 1438 | "name": "Bernhard Schussek", 1439 | "email": "bschussek@gmail.com" 1440 | } 1441 | ], 1442 | "description": "Provides the functionality to export PHP variables for visualization", 1443 | "homepage": "https://www.github.com/sebastianbergmann/exporter", 1444 | "keywords": [ 1445 | "export", 1446 | "exporter" 1447 | ], 1448 | "support": { 1449 | "issues": "https://github.com/sebastianbergmann/exporter/issues", 1450 | "source": "https://github.com/sebastianbergmann/exporter/tree/4.0" 1451 | }, 1452 | "funding": [ 1453 | { 1454 | "url": "https://github.com/sebastianbergmann", 1455 | "type": "github" 1456 | } 1457 | ], 1458 | "time": "2021-11-11T14:18:36+00:00" 1459 | }, 1460 | { 1461 | "name": "sebastian/global-state", 1462 | "version": "5.0.3", 1463 | "source": { 1464 | "type": "git", 1465 | "url": "https://github.com/sebastianbergmann/global-state.git", 1466 | "reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49" 1467 | }, 1468 | "dist": { 1469 | "type": "zip", 1470 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/23bd5951f7ff26f12d4e3242864df3e08dec4e49", 1471 | "reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49", 1472 | "shasum": "" 1473 | }, 1474 | "require": { 1475 | "php": ">=7.3", 1476 | "sebastian/object-reflector": "^2.0", 1477 | "sebastian/recursion-context": "^4.0" 1478 | }, 1479 | "require-dev": { 1480 | "ext-dom": "*", 1481 | "phpunit/phpunit": "^9.3" 1482 | }, 1483 | "suggest": { 1484 | "ext-uopz": "*" 1485 | }, 1486 | "type": "library", 1487 | "extra": { 1488 | "branch-alias": { 1489 | "dev-master": "5.0-dev" 1490 | } 1491 | }, 1492 | "autoload": { 1493 | "classmap": [ 1494 | "src/" 1495 | ] 1496 | }, 1497 | "notification-url": "https://packagist.org/downloads/", 1498 | "license": [ 1499 | "BSD-3-Clause" 1500 | ], 1501 | "authors": [ 1502 | { 1503 | "name": "Sebastian Bergmann", 1504 | "email": "sebastian@phpunit.de" 1505 | } 1506 | ], 1507 | "description": "Snapshotting of global state", 1508 | "homepage": "http://www.github.com/sebastianbergmann/global-state", 1509 | "keywords": [ 1510 | "global state" 1511 | ], 1512 | "support": { 1513 | "issues": "https://github.com/sebastianbergmann/global-state/issues", 1514 | "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.3" 1515 | }, 1516 | "funding": [ 1517 | { 1518 | "url": "https://github.com/sebastianbergmann", 1519 | "type": "github" 1520 | } 1521 | ], 1522 | "time": "2021-06-11T13:31:12+00:00" 1523 | }, 1524 | { 1525 | "name": "sebastian/lines-of-code", 1526 | "version": "1.0.3", 1527 | "source": { 1528 | "type": "git", 1529 | "url": "https://github.com/sebastianbergmann/lines-of-code.git", 1530 | "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" 1531 | }, 1532 | "dist": { 1533 | "type": "zip", 1534 | "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", 1535 | "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", 1536 | "shasum": "" 1537 | }, 1538 | "require": { 1539 | "nikic/php-parser": "^4.6", 1540 | "php": ">=7.3" 1541 | }, 1542 | "require-dev": { 1543 | "phpunit/phpunit": "^9.3" 1544 | }, 1545 | "type": "library", 1546 | "extra": { 1547 | "branch-alias": { 1548 | "dev-master": "1.0-dev" 1549 | } 1550 | }, 1551 | "autoload": { 1552 | "classmap": [ 1553 | "src/" 1554 | ] 1555 | }, 1556 | "notification-url": "https://packagist.org/downloads/", 1557 | "license": [ 1558 | "BSD-3-Clause" 1559 | ], 1560 | "authors": [ 1561 | { 1562 | "name": "Sebastian Bergmann", 1563 | "email": "sebastian@phpunit.de", 1564 | "role": "lead" 1565 | } 1566 | ], 1567 | "description": "Library for counting the lines of code in PHP source code", 1568 | "homepage": "https://github.com/sebastianbergmann/lines-of-code", 1569 | "support": { 1570 | "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", 1571 | "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" 1572 | }, 1573 | "funding": [ 1574 | { 1575 | "url": "https://github.com/sebastianbergmann", 1576 | "type": "github" 1577 | } 1578 | ], 1579 | "time": "2020-11-28T06:42:11+00:00" 1580 | }, 1581 | { 1582 | "name": "sebastian/object-enumerator", 1583 | "version": "4.0.4", 1584 | "source": { 1585 | "type": "git", 1586 | "url": "https://github.com/sebastianbergmann/object-enumerator.git", 1587 | "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" 1588 | }, 1589 | "dist": { 1590 | "type": "zip", 1591 | "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", 1592 | "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", 1593 | "shasum": "" 1594 | }, 1595 | "require": { 1596 | "php": ">=7.3", 1597 | "sebastian/object-reflector": "^2.0", 1598 | "sebastian/recursion-context": "^4.0" 1599 | }, 1600 | "require-dev": { 1601 | "phpunit/phpunit": "^9.3" 1602 | }, 1603 | "type": "library", 1604 | "extra": { 1605 | "branch-alias": { 1606 | "dev-master": "4.0-dev" 1607 | } 1608 | }, 1609 | "autoload": { 1610 | "classmap": [ 1611 | "src/" 1612 | ] 1613 | }, 1614 | "notification-url": "https://packagist.org/downloads/", 1615 | "license": [ 1616 | "BSD-3-Clause" 1617 | ], 1618 | "authors": [ 1619 | { 1620 | "name": "Sebastian Bergmann", 1621 | "email": "sebastian@phpunit.de" 1622 | } 1623 | ], 1624 | "description": "Traverses array structures and object graphs to enumerate all referenced objects", 1625 | "homepage": "https://github.com/sebastianbergmann/object-enumerator/", 1626 | "support": { 1627 | "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", 1628 | "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" 1629 | }, 1630 | "funding": [ 1631 | { 1632 | "url": "https://github.com/sebastianbergmann", 1633 | "type": "github" 1634 | } 1635 | ], 1636 | "time": "2020-10-26T13:12:34+00:00" 1637 | }, 1638 | { 1639 | "name": "sebastian/object-reflector", 1640 | "version": "2.0.4", 1641 | "source": { 1642 | "type": "git", 1643 | "url": "https://github.com/sebastianbergmann/object-reflector.git", 1644 | "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" 1645 | }, 1646 | "dist": { 1647 | "type": "zip", 1648 | "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", 1649 | "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", 1650 | "shasum": "" 1651 | }, 1652 | "require": { 1653 | "php": ">=7.3" 1654 | }, 1655 | "require-dev": { 1656 | "phpunit/phpunit": "^9.3" 1657 | }, 1658 | "type": "library", 1659 | "extra": { 1660 | "branch-alias": { 1661 | "dev-master": "2.0-dev" 1662 | } 1663 | }, 1664 | "autoload": { 1665 | "classmap": [ 1666 | "src/" 1667 | ] 1668 | }, 1669 | "notification-url": "https://packagist.org/downloads/", 1670 | "license": [ 1671 | "BSD-3-Clause" 1672 | ], 1673 | "authors": [ 1674 | { 1675 | "name": "Sebastian Bergmann", 1676 | "email": "sebastian@phpunit.de" 1677 | } 1678 | ], 1679 | "description": "Allows reflection of object attributes, including inherited and non-public ones", 1680 | "homepage": "https://github.com/sebastianbergmann/object-reflector/", 1681 | "support": { 1682 | "issues": "https://github.com/sebastianbergmann/object-reflector/issues", 1683 | "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" 1684 | }, 1685 | "funding": [ 1686 | { 1687 | "url": "https://github.com/sebastianbergmann", 1688 | "type": "github" 1689 | } 1690 | ], 1691 | "time": "2020-10-26T13:14:26+00:00" 1692 | }, 1693 | { 1694 | "name": "sebastian/recursion-context", 1695 | "version": "4.0.4", 1696 | "source": { 1697 | "type": "git", 1698 | "url": "https://github.com/sebastianbergmann/recursion-context.git", 1699 | "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" 1700 | }, 1701 | "dist": { 1702 | "type": "zip", 1703 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", 1704 | "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", 1705 | "shasum": "" 1706 | }, 1707 | "require": { 1708 | "php": ">=7.3" 1709 | }, 1710 | "require-dev": { 1711 | "phpunit/phpunit": "^9.3" 1712 | }, 1713 | "type": "library", 1714 | "extra": { 1715 | "branch-alias": { 1716 | "dev-master": "4.0-dev" 1717 | } 1718 | }, 1719 | "autoload": { 1720 | "classmap": [ 1721 | "src/" 1722 | ] 1723 | }, 1724 | "notification-url": "https://packagist.org/downloads/", 1725 | "license": [ 1726 | "BSD-3-Clause" 1727 | ], 1728 | "authors": [ 1729 | { 1730 | "name": "Sebastian Bergmann", 1731 | "email": "sebastian@phpunit.de" 1732 | }, 1733 | { 1734 | "name": "Jeff Welch", 1735 | "email": "whatthejeff@gmail.com" 1736 | }, 1737 | { 1738 | "name": "Adam Harvey", 1739 | "email": "aharvey@php.net" 1740 | } 1741 | ], 1742 | "description": "Provides functionality to recursively process PHP variables", 1743 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", 1744 | "support": { 1745 | "issues": "https://github.com/sebastianbergmann/recursion-context/issues", 1746 | "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" 1747 | }, 1748 | "funding": [ 1749 | { 1750 | "url": "https://github.com/sebastianbergmann", 1751 | "type": "github" 1752 | } 1753 | ], 1754 | "time": "2020-10-26T13:17:30+00:00" 1755 | }, 1756 | { 1757 | "name": "sebastian/resource-operations", 1758 | "version": "dev-master", 1759 | "source": { 1760 | "type": "git", 1761 | "url": "https://github.com/sebastianbergmann/resource-operations.git", 1762 | "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" 1763 | }, 1764 | "dist": { 1765 | "type": "zip", 1766 | "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", 1767 | "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", 1768 | "shasum": "" 1769 | }, 1770 | "require": { 1771 | "php": ">=7.3" 1772 | }, 1773 | "require-dev": { 1774 | "phpunit/phpunit": "^9.0" 1775 | }, 1776 | "default-branch": true, 1777 | "type": "library", 1778 | "extra": { 1779 | "branch-alias": { 1780 | "dev-master": "3.0-dev" 1781 | } 1782 | }, 1783 | "autoload": { 1784 | "classmap": [ 1785 | "src/" 1786 | ] 1787 | }, 1788 | "notification-url": "https://packagist.org/downloads/", 1789 | "license": [ 1790 | "BSD-3-Clause" 1791 | ], 1792 | "authors": [ 1793 | { 1794 | "name": "Sebastian Bergmann", 1795 | "email": "sebastian@phpunit.de" 1796 | } 1797 | ], 1798 | "description": "Provides a list of PHP built-in functions that operate on resources", 1799 | "homepage": "https://www.github.com/sebastianbergmann/resource-operations", 1800 | "support": { 1801 | "issues": "https://github.com/sebastianbergmann/resource-operations/issues", 1802 | "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" 1803 | }, 1804 | "funding": [ 1805 | { 1806 | "url": "https://github.com/sebastianbergmann", 1807 | "type": "github" 1808 | } 1809 | ], 1810 | "abandoned": true, 1811 | "time": "2020-09-28T06:45:17+00:00" 1812 | }, 1813 | { 1814 | "name": "sebastian/type", 1815 | "version": "2.3.x-dev", 1816 | "source": { 1817 | "type": "git", 1818 | "url": "https://github.com/sebastianbergmann/type.git", 1819 | "reference": "f24cbc541026c3bb7d27c647f0f9ea337135b22a" 1820 | }, 1821 | "dist": { 1822 | "type": "zip", 1823 | "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/f24cbc541026c3bb7d27c647f0f9ea337135b22a", 1824 | "reference": "f24cbc541026c3bb7d27c647f0f9ea337135b22a", 1825 | "shasum": "" 1826 | }, 1827 | "require": { 1828 | "php": ">=7.3" 1829 | }, 1830 | "require-dev": { 1831 | "phpunit/phpunit": "^9.3" 1832 | }, 1833 | "type": "library", 1834 | "extra": { 1835 | "branch-alias": { 1836 | "dev-master": "2.3-dev" 1837 | } 1838 | }, 1839 | "autoload": { 1840 | "classmap": [ 1841 | "src/" 1842 | ] 1843 | }, 1844 | "notification-url": "https://packagist.org/downloads/", 1845 | "license": [ 1846 | "BSD-3-Clause" 1847 | ], 1848 | "authors": [ 1849 | { 1850 | "name": "Sebastian Bergmann", 1851 | "email": "sebastian@phpunit.de", 1852 | "role": "lead" 1853 | } 1854 | ], 1855 | "description": "Collection of value objects that represent the types of the PHP type system", 1856 | "homepage": "https://github.com/sebastianbergmann/type", 1857 | "support": { 1858 | "issues": "https://github.com/sebastianbergmann/type/issues", 1859 | "source": "https://github.com/sebastianbergmann/type/tree/2.3" 1860 | }, 1861 | "funding": [ 1862 | { 1863 | "url": "https://github.com/sebastianbergmann", 1864 | "type": "github" 1865 | } 1866 | ], 1867 | "time": "2021-06-18T06:28:45+00:00" 1868 | }, 1869 | { 1870 | "name": "sebastian/version", 1871 | "version": "3.0.x-dev", 1872 | "source": { 1873 | "type": "git", 1874 | "url": "https://github.com/sebastianbergmann/version.git", 1875 | "reference": "c6c1022351a901512170118436c764e473f6de8c" 1876 | }, 1877 | "dist": { 1878 | "type": "zip", 1879 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", 1880 | "reference": "c6c1022351a901512170118436c764e473f6de8c", 1881 | "shasum": "" 1882 | }, 1883 | "require": { 1884 | "php": ">=7.3" 1885 | }, 1886 | "type": "library", 1887 | "extra": { 1888 | "branch-alias": { 1889 | "dev-master": "3.0-dev" 1890 | } 1891 | }, 1892 | "autoload": { 1893 | "classmap": [ 1894 | "src/" 1895 | ] 1896 | }, 1897 | "notification-url": "https://packagist.org/downloads/", 1898 | "license": [ 1899 | "BSD-3-Clause" 1900 | ], 1901 | "authors": [ 1902 | { 1903 | "name": "Sebastian Bergmann", 1904 | "email": "sebastian@phpunit.de", 1905 | "role": "lead" 1906 | } 1907 | ], 1908 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", 1909 | "homepage": "https://github.com/sebastianbergmann/version", 1910 | "support": { 1911 | "issues": "https://github.com/sebastianbergmann/version/issues", 1912 | "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" 1913 | }, 1914 | "funding": [ 1915 | { 1916 | "url": "https://github.com/sebastianbergmann", 1917 | "type": "github" 1918 | } 1919 | ], 1920 | "time": "2020-09-28T06:39:44+00:00" 1921 | }, 1922 | { 1923 | "name": "symfony/polyfill-ctype", 1924 | "version": "dev-main", 1925 | "source": { 1926 | "type": "git", 1927 | "url": "https://github.com/symfony/polyfill-ctype.git", 1928 | "reference": "30885182c981ab175d4d034db0f6f469898070ab" 1929 | }, 1930 | "dist": { 1931 | "type": "zip", 1932 | "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab", 1933 | "reference": "30885182c981ab175d4d034db0f6f469898070ab", 1934 | "shasum": "" 1935 | }, 1936 | "require": { 1937 | "php": ">=7.1" 1938 | }, 1939 | "provide": { 1940 | "ext-ctype": "*" 1941 | }, 1942 | "suggest": { 1943 | "ext-ctype": "For best performance" 1944 | }, 1945 | "default-branch": true, 1946 | "type": "library", 1947 | "extra": { 1948 | "branch-alias": { 1949 | "dev-main": "1.23-dev" 1950 | }, 1951 | "thanks": { 1952 | "name": "symfony/polyfill", 1953 | "url": "https://github.com/symfony/polyfill" 1954 | } 1955 | }, 1956 | "autoload": { 1957 | "psr-4": { 1958 | "Symfony\\Polyfill\\Ctype\\": "" 1959 | }, 1960 | "files": [ 1961 | "bootstrap.php" 1962 | ] 1963 | }, 1964 | "notification-url": "https://packagist.org/downloads/", 1965 | "license": [ 1966 | "MIT" 1967 | ], 1968 | "authors": [ 1969 | { 1970 | "name": "Gert de Pagter", 1971 | "email": "BackEndTea@gmail.com" 1972 | }, 1973 | { 1974 | "name": "Symfony Community", 1975 | "homepage": "https://symfony.com/contributors" 1976 | } 1977 | ], 1978 | "description": "Symfony polyfill for ctype functions", 1979 | "homepage": "https://symfony.com", 1980 | "keywords": [ 1981 | "compatibility", 1982 | "ctype", 1983 | "polyfill", 1984 | "portable" 1985 | ], 1986 | "support": { 1987 | "source": "https://github.com/symfony/polyfill-ctype/tree/main" 1988 | }, 1989 | "funding": [ 1990 | { 1991 | "url": "https://symfony.com/sponsor", 1992 | "type": "custom" 1993 | }, 1994 | { 1995 | "url": "https://github.com/fabpot", 1996 | "type": "github" 1997 | }, 1998 | { 1999 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2000 | "type": "tidelift" 2001 | } 2002 | ], 2003 | "time": "2021-10-20T20:35:02+00:00" 2004 | }, 2005 | { 2006 | "name": "theseer/tokenizer", 2007 | "version": "1.2.1", 2008 | "source": { 2009 | "type": "git", 2010 | "url": "https://github.com/theseer/tokenizer.git", 2011 | "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" 2012 | }, 2013 | "dist": { 2014 | "type": "zip", 2015 | "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", 2016 | "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", 2017 | "shasum": "" 2018 | }, 2019 | "require": { 2020 | "ext-dom": "*", 2021 | "ext-tokenizer": "*", 2022 | "ext-xmlwriter": "*", 2023 | "php": "^7.2 || ^8.0" 2024 | }, 2025 | "type": "library", 2026 | "autoload": { 2027 | "classmap": [ 2028 | "src/" 2029 | ] 2030 | }, 2031 | "notification-url": "https://packagist.org/downloads/", 2032 | "license": [ 2033 | "BSD-3-Clause" 2034 | ], 2035 | "authors": [ 2036 | { 2037 | "name": "Arne Blankerts", 2038 | "email": "arne@blankerts.de", 2039 | "role": "Developer" 2040 | } 2041 | ], 2042 | "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", 2043 | "support": { 2044 | "issues": "https://github.com/theseer/tokenizer/issues", 2045 | "source": "https://github.com/theseer/tokenizer/tree/1.2.1" 2046 | }, 2047 | "funding": [ 2048 | { 2049 | "url": "https://github.com/theseer", 2050 | "type": "github" 2051 | } 2052 | ], 2053 | "time": "2021-07-28T10:34:58+00:00" 2054 | }, 2055 | { 2056 | "name": "webmozart/assert", 2057 | "version": "dev-master", 2058 | "source": { 2059 | "type": "git", 2060 | "url": "https://github.com/webmozarts/assert.git", 2061 | "reference": "b419d648592b0b8911cbbe10d450fe314f4fd262" 2062 | }, 2063 | "dist": { 2064 | "type": "zip", 2065 | "url": "https://api.github.com/repos/webmozarts/assert/zipball/b419d648592b0b8911cbbe10d450fe314f4fd262", 2066 | "reference": "b419d648592b0b8911cbbe10d450fe314f4fd262", 2067 | "shasum": "" 2068 | }, 2069 | "require": { 2070 | "php": "^7.2 || ^8.0", 2071 | "symfony/polyfill-ctype": "^1.8" 2072 | }, 2073 | "conflict": { 2074 | "phpstan/phpstan": "<0.12.20", 2075 | "vimeo/psalm": "<4.6.1 || 4.6.2" 2076 | }, 2077 | "require-dev": { 2078 | "phpunit/phpunit": "^8.5.13" 2079 | }, 2080 | "default-branch": true, 2081 | "type": "library", 2082 | "extra": { 2083 | "branch-alias": { 2084 | "dev-master": "1.10-dev" 2085 | } 2086 | }, 2087 | "autoload": { 2088 | "psr-4": { 2089 | "Webmozart\\Assert\\": "src/" 2090 | } 2091 | }, 2092 | "notification-url": "https://packagist.org/downloads/", 2093 | "license": [ 2094 | "MIT" 2095 | ], 2096 | "authors": [ 2097 | { 2098 | "name": "Bernhard Schussek", 2099 | "email": "bschussek@gmail.com" 2100 | } 2101 | ], 2102 | "description": "Assertions to validate method input/output with nice error messages.", 2103 | "keywords": [ 2104 | "assert", 2105 | "check", 2106 | "validate" 2107 | ], 2108 | "support": { 2109 | "issues": "https://github.com/webmozarts/assert/issues", 2110 | "source": "https://github.com/webmozarts/assert/tree/master" 2111 | }, 2112 | "time": "2021-06-19T13:45:26+00:00" 2113 | } 2114 | ], 2115 | "packages-dev": [], 2116 | "aliases": [], 2117 | "minimum-stability": "dev", 2118 | "stability-flags": [], 2119 | "prefer-stable": false, 2120 | "prefer-lowest": false, 2121 | "platform": { 2122 | "php": ">=8.0" 2123 | }, 2124 | "platform-dev": [], 2125 | "plugin-api-version": "2.0.0" 2126 | } 2127 | --------------------------------------------------------------------------------