├── .editorconfig
├── .github
├── FUNDING.yml
└── workflows
│ └── ci.yml
├── .gitignore
├── LICENSE
├── README.md
├── composer.json
├── composer.lock
├── ecs.php
├── phpunit.xml
├── psalm.xml
├── src
└── Codelyber.php
└── tests
└── CodelyberTest.php
/.editorconfig:
--------------------------------------------------------------------------------
1 | ; This file is for unifying the coding style for different editors and IDEs.
2 | ; More information at http://editorconfig.org
3 |
4 | root = true
5 |
6 | [*]
7 | charset = utf-8
8 | end_of_line = lf
9 | insert_final_newline = true
10 | trim_trailing_whitespace = true
11 |
12 | [*.php]
13 | indent_size = 4
14 | indent_style = tab
15 |
16 | [*.md]
17 | trim_trailing_whitespace = false
18 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | custom: https://bit.ly/CodelyTvPro
2 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 | pull_request:
8 |
9 | jobs:
10 | build:
11 | runs-on: ubuntu-latest
12 |
13 | steps:
14 | - uses: actions/checkout@v4
15 |
16 | - name: 🐘 Setup PHP
17 | uses: shivammathur/setup-php@v2
18 | with:
19 | php-version: '8.3'
20 | coverage: none
21 |
22 | - name: ⬇️ Install dependencies
23 | run: composer install --ignore-platform-reqs
24 |
25 | - name: 💅 Lint
26 | run: composer lint
27 |
28 | - name: 🏁 Static analysis
29 | run: composer static-analysis --output-format=github --shepherd
30 |
31 | - name: ✅ Run the tests
32 | run: composer test
33 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | vendor/
2 | .phpunit.result.cache
3 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License
2 |
3 | Copyright (c) 2018 CodelyTV. https://codely.tv
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
13 | all 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
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 🐘 PHP Bootstrap (base / project skeleton)
2 |
3 | [![Latest Version on Packagist][ico-version]][link-packagist]
4 | [![Software License][ico-license]][link-license]
5 | [![Build Status][ico-gh-actions]][link-gh-actions]
6 | [![Total Downloads][ico-downloads]][link-downloads]
7 |
8 | ## Introduction
9 |
10 | This is a repository intended to serve as a starting point if you want to bootstrap a project in PHP. This repository
11 | has been explained in
12 | the [CodelyTV video "Introducción a PHP: Cómo configurar tu entorno de desarrollo 🐘" (Spanish)](https://www.youtube.com/watch?v=v2IjMrpZog4).
13 |
14 | It could be useful if you want to start from scratch a kata or a little exercise or project. The idea is that you don't
15 | have to worry about the boilerplate, just run `composer create-project codelytv/php-bootstrap your-project-name` and
16 | there you go:
17 |
18 | * Latest versions of PHP and PHPUnit
19 | * Best practices applied:
20 | * [`README.md`][link-readme]
21 | * [`LICENSE`][link-license]
22 | * [`composer.json`][link-composer-json]
23 | * [`ecs.php`](./ecs.php)
24 | * [`phpunit.xml`][link-phpunit]
25 | * [`psalm.xml`](./psalm.xml)
26 | * [`.gitignore`][link-gitignore]
27 | * [`.editorconfig`][link-editorconfig]
28 | * Some useful resources to start coding
29 |
30 | ## How To Start
31 |
32 | You have 2 different alternatives: Using our [Packagist project](https://packagist.org/packages/codelytv/php-bootstrap)
33 | with Composer, or manually cloning [this repo](https://github.com/CodelyTV/php-bootstrap/):
34 |
35 | ### Using Composer
36 |
37 | Start completely from scratch without having to delete this bootstrap project Git history:
38 |
39 | 1. If you don't have it already, [install Composer](https://getcomposer.org/download/).
40 | 2. Create your project based on the [Packagist project](https://packagist.org/packages/codelytv/php-bootstrap). This
41 | will also download the project dependencies: `composer create-project codelytv/php-bootstrap your-project-name`.
42 | 3. Move to the project directory: `cd your-project-name`
43 | 4. Run all the checks: `composer test`. This will do some checks that you can perform with isolated commands:
44 | 1. [Codely Style](https://github.com/CodelyTV/php-coding_style-codely): `composer lint`.
45 | 2. [Easy coding standard](https://github.com/easy-coding-standard/easy-coding-standard): `composer style`. If you
46 | want to fix style issues automatically: `composer lint:fix`.
47 | 3. [Static Analysis](https://github.com/vimeo/psalm): `composer static-analysis`.
48 | 4. [PHP Unit](https://phpunit.de/): `composer phpunit`.
49 | 5. Create your own repository:
50 | 1. Initialize your own Git repository: `git init`
51 | 2. Add the bootstrap files: `git add .`
52 | 3. Commit: `git commit -m "Initial commit with project boilerplate based on https://github.com/CodelyTV/php-bootstrap"`
53 | 4. Add your remote repository: `git remote add origin git@github.com:your-username/your-project-name`
54 | 5. Upload your local commits to the new remote repo: `git push -u origin master`
55 | 6. Start coding!
56 |
57 | ### Cloning the repository
58 |
59 | Just in case you prefer to avoid dealing with `composer create-project`, you can also clone this repository. We
60 | recommend to follow the next step-by-step process in order to avoid adding the bootstrap project commits to your project
61 | Git history:
62 |
63 | 1. [Use this repository template](https://github.com/CodelyTV/php-basic-skeleton/generate)
64 | 2. Clone your project
65 | 3. Move to the project directory: `cd your-project-name`
66 | 4. If you don't have it already, [install Composer](https://getcomposer.org/download/).
67 | 5. Install the project dependencies: `composer install`
68 | 6. Run the tests: `composer test`.
69 | 7. Start coding!
70 |
71 | ## Related skeleton templates
72 |
73 | This very same basic skeleton philosophy implemented in other programming languages:
74 |
75 | - [🔷🕸️ TypeScript Web Skeleton](https://github.com/CodelyTV/typescript-web-skeleton)
76 | - [🔷🌍 TypeScript API Skeleton](https://github.com/CodelyTV/typescript-api-skeleton)
77 | - [🔷✨ TypeScript DDD Skeleton](https://github.com/CodelyTV/typescript-ddd-skeleton)
78 | - [✨ JavaScript Basic Skeleton](https://github.com/CodelyTV/javascript-basic-skeleton)
79 | - [☕ Java Basic Skeleton](https://github.com/CodelyTV/java-basic-skeleton)
80 | - [📍 Kotlin Basic Skeleton](https://github.com/CodelyTV/kotlin-basic-skeleton)
81 | - [🧬 Scala Basic Skeleton](https://github.com/CodelyTV/scala-basic-skeleton)
82 | - [🦈 C# Basic Skeleton](https://github.com/CodelyTV/csharp-basic-skeleton)
83 |
84 | [ico-version]: https://img.shields.io/packagist/v/codelytv/php-bootstrap.svg?style=flat-square
85 |
86 | [ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square
87 |
88 | [ico-gh-actions]: https://github.com/CodelyTV/php-basic-skeleton/actions/workflows/ci.yml/badge.svg
89 |
90 | [ico-code-quality]: https://img.shields.io/scrutinizer/g/CodelyTV/php-bootstrap.svg?style=flat-square
91 |
92 | [ico-downloads]: https://img.shields.io/packagist/dt/codelytv/php-bootstrap.svg?style=flat-square
93 |
94 | [link-packagist]: https://packagist.org/packages/codelytv/php-bootstrap
95 |
96 | [link-license]: LICENSE
97 |
98 | [link-gh-actions]: https://github.com/CodelyTV/php-basic-skeleton/actions
99 |
100 | [link-downloads]: https://packagist.org/packages/codelytv/php-bootstrap
101 |
102 | [link-readme]: README.md
103 |
104 | [link-composer-json]: composer.json
105 |
106 | [link-phpunit]: phpunit.xml
107 |
108 | [link-gitignore]: .gitignore
109 |
110 | [link-editorconfig]: .editorconfig
111 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "codelytv/php-bootstrap",
3 | "description": "Starting point if you want to bootstrap a project in PHP following best practices.",
4 | "type": "project",
5 | "keywords": ["bootstrap", "skeleton", "kata", "TDD", "boilerplate"],
6 | "homepage": "https://codely.com",
7 | "license": "MIT",
8 | "authors": [
9 | {
10 | "name": "CodelyTV",
11 | "homepage": "https://codely.com"
12 | }
13 | ],
14 | "require": {
15 | "php": "^8.3"
16 | },
17 | "require-dev": {
18 | "phpunit/phpunit": "^10",
19 | "codelytv/coding-style": "^1.2",
20 | "vimeo/psalm": "^5.24"
21 | },
22 | "autoload": {
23 | "psr-4": {
24 | "CodelyTv\\": "src/"
25 | }
26 | },
27 | "autoload-dev": {
28 | "psr-4": {
29 | "CodelyTv\\Tests\\": "tests/"
30 | }
31 | },
32 | "minimum-stability": "stable",
33 | "prefer-stable": true,
34 | "scripts": {
35 | "test": "phpunit --configuration phpunit.xml",
36 | "lint": "ecs check",
37 | "lint:fix": "ecs check --fix",
38 | "static-analysis": "psalm"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/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": "5ec560a47adaf83d8657f3a532b7fa26",
8 | "packages": [],
9 | "packages-dev": [
10 | {
11 | "name": "amphp/amp",
12 | "version": "v2.6.4",
13 | "source": {
14 | "type": "git",
15 | "url": "https://github.com/amphp/amp.git",
16 | "reference": "ded3d9be08f526089eb7ee8d9f16a9768f9dec2d"
17 | },
18 | "dist": {
19 | "type": "zip",
20 | "url": "https://api.github.com/repos/amphp/amp/zipball/ded3d9be08f526089eb7ee8d9f16a9768f9dec2d",
21 | "reference": "ded3d9be08f526089eb7ee8d9f16a9768f9dec2d",
22 | "shasum": ""
23 | },
24 | "require": {
25 | "php": ">=7.1"
26 | },
27 | "require-dev": {
28 | "amphp/php-cs-fixer-config": "dev-master",
29 | "amphp/phpunit-util": "^1",
30 | "ext-json": "*",
31 | "jetbrains/phpstorm-stubs": "^2019.3",
32 | "phpunit/phpunit": "^7 | ^8 | ^9",
33 | "react/promise": "^2",
34 | "vimeo/psalm": "^3.12"
35 | },
36 | "type": "library",
37 | "extra": {
38 | "branch-alias": {
39 | "dev-master": "2.x-dev"
40 | }
41 | },
42 | "autoload": {
43 | "files": [
44 | "lib/functions.php",
45 | "lib/Internal/functions.php"
46 | ],
47 | "psr-4": {
48 | "Amp\\": "lib"
49 | }
50 | },
51 | "notification-url": "https://packagist.org/downloads/",
52 | "license": [
53 | "MIT"
54 | ],
55 | "authors": [
56 | {
57 | "name": "Daniel Lowrey",
58 | "email": "rdlowrey@php.net"
59 | },
60 | {
61 | "name": "Aaron Piotrowski",
62 | "email": "aaron@trowski.com"
63 | },
64 | {
65 | "name": "Bob Weinand",
66 | "email": "bobwei9@hotmail.com"
67 | },
68 | {
69 | "name": "Niklas Keller",
70 | "email": "me@kelunik.com"
71 | }
72 | ],
73 | "description": "A non-blocking concurrency framework for PHP applications.",
74 | "homepage": "https://amphp.org/amp",
75 | "keywords": [
76 | "async",
77 | "asynchronous",
78 | "awaitable",
79 | "concurrency",
80 | "event",
81 | "event-loop",
82 | "future",
83 | "non-blocking",
84 | "promise"
85 | ],
86 | "support": {
87 | "irc": "irc://irc.freenode.org/amphp",
88 | "issues": "https://github.com/amphp/amp/issues",
89 | "source": "https://github.com/amphp/amp/tree/v2.6.4"
90 | },
91 | "funding": [
92 | {
93 | "url": "https://github.com/amphp",
94 | "type": "github"
95 | }
96 | ],
97 | "time": "2024-03-21T18:52:26+00:00"
98 | },
99 | {
100 | "name": "amphp/byte-stream",
101 | "version": "v1.8.2",
102 | "source": {
103 | "type": "git",
104 | "url": "https://github.com/amphp/byte-stream.git",
105 | "reference": "4f0e968ba3798a423730f567b1b50d3441c16ddc"
106 | },
107 | "dist": {
108 | "type": "zip",
109 | "url": "https://api.github.com/repos/amphp/byte-stream/zipball/4f0e968ba3798a423730f567b1b50d3441c16ddc",
110 | "reference": "4f0e968ba3798a423730f567b1b50d3441c16ddc",
111 | "shasum": ""
112 | },
113 | "require": {
114 | "amphp/amp": "^2",
115 | "php": ">=7.1"
116 | },
117 | "require-dev": {
118 | "amphp/php-cs-fixer-config": "dev-master",
119 | "amphp/phpunit-util": "^1.4",
120 | "friendsofphp/php-cs-fixer": "^2.3",
121 | "jetbrains/phpstorm-stubs": "^2019.3",
122 | "phpunit/phpunit": "^6 || ^7 || ^8",
123 | "psalm/phar": "^3.11.4"
124 | },
125 | "type": "library",
126 | "autoload": {
127 | "files": [
128 | "lib/functions.php"
129 | ],
130 | "psr-4": {
131 | "Amp\\ByteStream\\": "lib"
132 | }
133 | },
134 | "notification-url": "https://packagist.org/downloads/",
135 | "license": [
136 | "MIT"
137 | ],
138 | "authors": [
139 | {
140 | "name": "Aaron Piotrowski",
141 | "email": "aaron@trowski.com"
142 | },
143 | {
144 | "name": "Niklas Keller",
145 | "email": "me@kelunik.com"
146 | }
147 | ],
148 | "description": "A stream abstraction to make working with non-blocking I/O simple.",
149 | "homepage": "https://amphp.org/byte-stream",
150 | "keywords": [
151 | "amp",
152 | "amphp",
153 | "async",
154 | "io",
155 | "non-blocking",
156 | "stream"
157 | ],
158 | "support": {
159 | "issues": "https://github.com/amphp/byte-stream/issues",
160 | "source": "https://github.com/amphp/byte-stream/tree/v1.8.2"
161 | },
162 | "funding": [
163 | {
164 | "url": "https://github.com/amphp",
165 | "type": "github"
166 | }
167 | ],
168 | "time": "2024-04-13T18:00:56+00:00"
169 | },
170 | {
171 | "name": "codelytv/coding-style",
172 | "version": "1.2.0",
173 | "source": {
174 | "type": "git",
175 | "url": "https://github.com/CodelyTV/php-coding_style-codely.git",
176 | "reference": "ffd9d00d85360350ffc07a81bc9e25abf75a59f6"
177 | },
178 | "dist": {
179 | "type": "zip",
180 | "url": "https://api.github.com/repos/CodelyTV/php-coding_style-codely/zipball/ffd9d00d85360350ffc07a81bc9e25abf75a59f6",
181 | "reference": "ffd9d00d85360350ffc07a81bc9e25abf75a59f6",
182 | "shasum": ""
183 | },
184 | "require": {
185 | "symplify/easy-coding-standard": "^12.0"
186 | },
187 | "type": "library",
188 | "autoload": {
189 | "psr-4": {
190 | "CodelyTv\\": "src/"
191 | }
192 | },
193 | "notification-url": "https://packagist.org/downloads/",
194 | "license": [
195 | "AGPL-3.0-or-later"
196 | ],
197 | "authors": [
198 | {
199 | "name": "Codely",
200 | "homepage": "https://codely.com"
201 | }
202 | ],
203 | "description": "PHP Coding Style rules we use in Codely",
204 | "keywords": [
205 | "Code style",
206 | "static analysis"
207 | ],
208 | "support": {
209 | "issues": "https://github.com/CodelyTV/php-coding_style-codely/issues",
210 | "source": "https://github.com/CodelyTV/php-coding_style-codely/tree/1.2.0"
211 | },
212 | "funding": [
213 | {
214 | "url": "https://bit.ly/CodelyTvPro",
215 | "type": "custom"
216 | }
217 | ],
218 | "time": "2023-10-24T09:12:06+00:00"
219 | },
220 | {
221 | "name": "composer/pcre",
222 | "version": "3.1.3",
223 | "source": {
224 | "type": "git",
225 | "url": "https://github.com/composer/pcre.git",
226 | "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8"
227 | },
228 | "dist": {
229 | "type": "zip",
230 | "url": "https://api.github.com/repos/composer/pcre/zipball/5b16e25a5355f1f3afdfc2f954a0a80aec4826a8",
231 | "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8",
232 | "shasum": ""
233 | },
234 | "require": {
235 | "php": "^7.4 || ^8.0"
236 | },
237 | "require-dev": {
238 | "phpstan/phpstan": "^1.3",
239 | "phpstan/phpstan-strict-rules": "^1.1",
240 | "symfony/phpunit-bridge": "^5"
241 | },
242 | "type": "library",
243 | "extra": {
244 | "branch-alias": {
245 | "dev-main": "3.x-dev"
246 | }
247 | },
248 | "autoload": {
249 | "psr-4": {
250 | "Composer\\Pcre\\": "src"
251 | }
252 | },
253 | "notification-url": "https://packagist.org/downloads/",
254 | "license": [
255 | "MIT"
256 | ],
257 | "authors": [
258 | {
259 | "name": "Jordi Boggiano",
260 | "email": "j.boggiano@seld.be",
261 | "homepage": "http://seld.be"
262 | }
263 | ],
264 | "description": "PCRE wrapping library that offers type-safe preg_* replacements.",
265 | "keywords": [
266 | "PCRE",
267 | "preg",
268 | "regex",
269 | "regular expression"
270 | ],
271 | "support": {
272 | "issues": "https://github.com/composer/pcre/issues",
273 | "source": "https://github.com/composer/pcre/tree/3.1.3"
274 | },
275 | "funding": [
276 | {
277 | "url": "https://packagist.com",
278 | "type": "custom"
279 | },
280 | {
281 | "url": "https://github.com/composer",
282 | "type": "github"
283 | },
284 | {
285 | "url": "https://tidelift.com/funding/github/packagist/composer/composer",
286 | "type": "tidelift"
287 | }
288 | ],
289 | "time": "2024-03-19T10:26:25+00:00"
290 | },
291 | {
292 | "name": "composer/semver",
293 | "version": "3.4.0",
294 | "source": {
295 | "type": "git",
296 | "url": "https://github.com/composer/semver.git",
297 | "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32"
298 | },
299 | "dist": {
300 | "type": "zip",
301 | "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32",
302 | "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32",
303 | "shasum": ""
304 | },
305 | "require": {
306 | "php": "^5.3.2 || ^7.0 || ^8.0"
307 | },
308 | "require-dev": {
309 | "phpstan/phpstan": "^1.4",
310 | "symfony/phpunit-bridge": "^4.2 || ^5"
311 | },
312 | "type": "library",
313 | "extra": {
314 | "branch-alias": {
315 | "dev-main": "3.x-dev"
316 | }
317 | },
318 | "autoload": {
319 | "psr-4": {
320 | "Composer\\Semver\\": "src"
321 | }
322 | },
323 | "notification-url": "https://packagist.org/downloads/",
324 | "license": [
325 | "MIT"
326 | ],
327 | "authors": [
328 | {
329 | "name": "Nils Adermann",
330 | "email": "naderman@naderman.de",
331 | "homepage": "http://www.naderman.de"
332 | },
333 | {
334 | "name": "Jordi Boggiano",
335 | "email": "j.boggiano@seld.be",
336 | "homepage": "http://seld.be"
337 | },
338 | {
339 | "name": "Rob Bast",
340 | "email": "rob.bast@gmail.com",
341 | "homepage": "http://robbast.nl"
342 | }
343 | ],
344 | "description": "Semver library that offers utilities, version constraint parsing and validation.",
345 | "keywords": [
346 | "semantic",
347 | "semver",
348 | "validation",
349 | "versioning"
350 | ],
351 | "support": {
352 | "irc": "ircs://irc.libera.chat:6697/composer",
353 | "issues": "https://github.com/composer/semver/issues",
354 | "source": "https://github.com/composer/semver/tree/3.4.0"
355 | },
356 | "funding": [
357 | {
358 | "url": "https://packagist.com",
359 | "type": "custom"
360 | },
361 | {
362 | "url": "https://github.com/composer",
363 | "type": "github"
364 | },
365 | {
366 | "url": "https://tidelift.com/funding/github/packagist/composer/composer",
367 | "type": "tidelift"
368 | }
369 | ],
370 | "time": "2023-08-31T09:50:34+00:00"
371 | },
372 | {
373 | "name": "composer/xdebug-handler",
374 | "version": "3.0.5",
375 | "source": {
376 | "type": "git",
377 | "url": "https://github.com/composer/xdebug-handler.git",
378 | "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef"
379 | },
380 | "dist": {
381 | "type": "zip",
382 | "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef",
383 | "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef",
384 | "shasum": ""
385 | },
386 | "require": {
387 | "composer/pcre": "^1 || ^2 || ^3",
388 | "php": "^7.2.5 || ^8.0",
389 | "psr/log": "^1 || ^2 || ^3"
390 | },
391 | "require-dev": {
392 | "phpstan/phpstan": "^1.0",
393 | "phpstan/phpstan-strict-rules": "^1.1",
394 | "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5"
395 | },
396 | "type": "library",
397 | "autoload": {
398 | "psr-4": {
399 | "Composer\\XdebugHandler\\": "src"
400 | }
401 | },
402 | "notification-url": "https://packagist.org/downloads/",
403 | "license": [
404 | "MIT"
405 | ],
406 | "authors": [
407 | {
408 | "name": "John Stevenson",
409 | "email": "john-stevenson@blueyonder.co.uk"
410 | }
411 | ],
412 | "description": "Restarts a process without Xdebug.",
413 | "keywords": [
414 | "Xdebug",
415 | "performance"
416 | ],
417 | "support": {
418 | "irc": "ircs://irc.libera.chat:6697/composer",
419 | "issues": "https://github.com/composer/xdebug-handler/issues",
420 | "source": "https://github.com/composer/xdebug-handler/tree/3.0.5"
421 | },
422 | "funding": [
423 | {
424 | "url": "https://packagist.com",
425 | "type": "custom"
426 | },
427 | {
428 | "url": "https://github.com/composer",
429 | "type": "github"
430 | },
431 | {
432 | "url": "https://tidelift.com/funding/github/packagist/composer/composer",
433 | "type": "tidelift"
434 | }
435 | ],
436 | "time": "2024-05-06T16:37:16+00:00"
437 | },
438 | {
439 | "name": "dnoegel/php-xdg-base-dir",
440 | "version": "v0.1.1",
441 | "source": {
442 | "type": "git",
443 | "url": "https://github.com/dnoegel/php-xdg-base-dir.git",
444 | "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd"
445 | },
446 | "dist": {
447 | "type": "zip",
448 | "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
449 | "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
450 | "shasum": ""
451 | },
452 | "require": {
453 | "php": ">=5.3.2"
454 | },
455 | "require-dev": {
456 | "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35"
457 | },
458 | "type": "library",
459 | "autoload": {
460 | "psr-4": {
461 | "XdgBaseDir\\": "src/"
462 | }
463 | },
464 | "notification-url": "https://packagist.org/downloads/",
465 | "license": [
466 | "MIT"
467 | ],
468 | "description": "implementation of xdg base directory specification for php",
469 | "support": {
470 | "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues",
471 | "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1"
472 | },
473 | "time": "2019-12-04T15:06:13+00:00"
474 | },
475 | {
476 | "name": "doctrine/deprecations",
477 | "version": "1.1.3",
478 | "source": {
479 | "type": "git",
480 | "url": "https://github.com/doctrine/deprecations.git",
481 | "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab"
482 | },
483 | "dist": {
484 | "type": "zip",
485 | "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
486 | "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
487 | "shasum": ""
488 | },
489 | "require": {
490 | "php": "^7.1 || ^8.0"
491 | },
492 | "require-dev": {
493 | "doctrine/coding-standard": "^9",
494 | "phpstan/phpstan": "1.4.10 || 1.10.15",
495 | "phpstan/phpstan-phpunit": "^1.0",
496 | "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
497 | "psalm/plugin-phpunit": "0.18.4",
498 | "psr/log": "^1 || ^2 || ^3",
499 | "vimeo/psalm": "4.30.0 || 5.12.0"
500 | },
501 | "suggest": {
502 | "psr/log": "Allows logging deprecations via PSR-3 logger implementation"
503 | },
504 | "type": "library",
505 | "autoload": {
506 | "psr-4": {
507 | "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
508 | }
509 | },
510 | "notification-url": "https://packagist.org/downloads/",
511 | "license": [
512 | "MIT"
513 | ],
514 | "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.",
515 | "homepage": "https://www.doctrine-project.org/",
516 | "support": {
517 | "issues": "https://github.com/doctrine/deprecations/issues",
518 | "source": "https://github.com/doctrine/deprecations/tree/1.1.3"
519 | },
520 | "time": "2024-01-30T19:34:25+00:00"
521 | },
522 | {
523 | "name": "felixfbecker/advanced-json-rpc",
524 | "version": "v3.2.1",
525 | "source": {
526 | "type": "git",
527 | "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git",
528 | "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447"
529 | },
530 | "dist": {
531 | "type": "zip",
532 | "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/b5f37dbff9a8ad360ca341f3240dc1c168b45447",
533 | "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447",
534 | "shasum": ""
535 | },
536 | "require": {
537 | "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
538 | "php": "^7.1 || ^8.0",
539 | "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0"
540 | },
541 | "require-dev": {
542 | "phpunit/phpunit": "^7.0 || ^8.0"
543 | },
544 | "type": "library",
545 | "autoload": {
546 | "psr-4": {
547 | "AdvancedJsonRpc\\": "lib/"
548 | }
549 | },
550 | "notification-url": "https://packagist.org/downloads/",
551 | "license": [
552 | "ISC"
553 | ],
554 | "authors": [
555 | {
556 | "name": "Felix Becker",
557 | "email": "felix.b@outlook.com"
558 | }
559 | ],
560 | "description": "A more advanced JSONRPC implementation",
561 | "support": {
562 | "issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues",
563 | "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1"
564 | },
565 | "time": "2021-06-11T22:34:44+00:00"
566 | },
567 | {
568 | "name": "felixfbecker/language-server-protocol",
569 | "version": "v1.5.2",
570 | "source": {
571 | "type": "git",
572 | "url": "https://github.com/felixfbecker/php-language-server-protocol.git",
573 | "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842"
574 | },
575 | "dist": {
576 | "type": "zip",
577 | "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/6e82196ffd7c62f7794d778ca52b69feec9f2842",
578 | "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842",
579 | "shasum": ""
580 | },
581 | "require": {
582 | "php": ">=7.1"
583 | },
584 | "require-dev": {
585 | "phpstan/phpstan": "*",
586 | "squizlabs/php_codesniffer": "^3.1",
587 | "vimeo/psalm": "^4.0"
588 | },
589 | "type": "library",
590 | "extra": {
591 | "branch-alias": {
592 | "dev-master": "1.x-dev"
593 | }
594 | },
595 | "autoload": {
596 | "psr-4": {
597 | "LanguageServerProtocol\\": "src/"
598 | }
599 | },
600 | "notification-url": "https://packagist.org/downloads/",
601 | "license": [
602 | "ISC"
603 | ],
604 | "authors": [
605 | {
606 | "name": "Felix Becker",
607 | "email": "felix.b@outlook.com"
608 | }
609 | ],
610 | "description": "PHP classes for the Language Server Protocol",
611 | "keywords": [
612 | "language",
613 | "microsoft",
614 | "php",
615 | "server"
616 | ],
617 | "support": {
618 | "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues",
619 | "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.2"
620 | },
621 | "time": "2022-03-02T22:36:06+00:00"
622 | },
623 | {
624 | "name": "fidry/cpu-core-counter",
625 | "version": "1.1.0",
626 | "source": {
627 | "type": "git",
628 | "url": "https://github.com/theofidry/cpu-core-counter.git",
629 | "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42"
630 | },
631 | "dist": {
632 | "type": "zip",
633 | "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/f92996c4d5c1a696a6a970e20f7c4216200fcc42",
634 | "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42",
635 | "shasum": ""
636 | },
637 | "require": {
638 | "php": "^7.2 || ^8.0"
639 | },
640 | "require-dev": {
641 | "fidry/makefile": "^0.2.0",
642 | "fidry/php-cs-fixer-config": "^1.1.2",
643 | "phpstan/extension-installer": "^1.2.0",
644 | "phpstan/phpstan": "^1.9.2",
645 | "phpstan/phpstan-deprecation-rules": "^1.0.0",
646 | "phpstan/phpstan-phpunit": "^1.2.2",
647 | "phpstan/phpstan-strict-rules": "^1.4.4",
648 | "phpunit/phpunit": "^8.5.31 || ^9.5.26",
649 | "webmozarts/strict-phpunit": "^7.5"
650 | },
651 | "type": "library",
652 | "autoload": {
653 | "psr-4": {
654 | "Fidry\\CpuCoreCounter\\": "src/"
655 | }
656 | },
657 | "notification-url": "https://packagist.org/downloads/",
658 | "license": [
659 | "MIT"
660 | ],
661 | "authors": [
662 | {
663 | "name": "Théo FIDRY",
664 | "email": "theo.fidry@gmail.com"
665 | }
666 | ],
667 | "description": "Tiny utility to get the number of CPU cores.",
668 | "keywords": [
669 | "CPU",
670 | "core"
671 | ],
672 | "support": {
673 | "issues": "https://github.com/theofidry/cpu-core-counter/issues",
674 | "source": "https://github.com/theofidry/cpu-core-counter/tree/1.1.0"
675 | },
676 | "funding": [
677 | {
678 | "url": "https://github.com/theofidry",
679 | "type": "github"
680 | }
681 | ],
682 | "time": "2024-02-07T09:43:46+00:00"
683 | },
684 | {
685 | "name": "myclabs/deep-copy",
686 | "version": "1.11.1",
687 | "source": {
688 | "type": "git",
689 | "url": "https://github.com/myclabs/DeepCopy.git",
690 | "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
691 | },
692 | "dist": {
693 | "type": "zip",
694 | "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
695 | "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
696 | "shasum": ""
697 | },
698 | "require": {
699 | "php": "^7.1 || ^8.0"
700 | },
701 | "conflict": {
702 | "doctrine/collections": "<1.6.8",
703 | "doctrine/common": "<2.13.3 || >=3,<3.2.2"
704 | },
705 | "require-dev": {
706 | "doctrine/collections": "^1.6.8",
707 | "doctrine/common": "^2.13.3 || ^3.2.2",
708 | "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
709 | },
710 | "type": "library",
711 | "autoload": {
712 | "files": [
713 | "src/DeepCopy/deep_copy.php"
714 | ],
715 | "psr-4": {
716 | "DeepCopy\\": "src/DeepCopy/"
717 | }
718 | },
719 | "notification-url": "https://packagist.org/downloads/",
720 | "license": [
721 | "MIT"
722 | ],
723 | "description": "Create deep copies (clones) of your objects",
724 | "keywords": [
725 | "clone",
726 | "copy",
727 | "duplicate",
728 | "object",
729 | "object graph"
730 | ],
731 | "support": {
732 | "issues": "https://github.com/myclabs/DeepCopy/issues",
733 | "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
734 | },
735 | "funding": [
736 | {
737 | "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
738 | "type": "tidelift"
739 | }
740 | ],
741 | "time": "2023-03-08T13:26:56+00:00"
742 | },
743 | {
744 | "name": "netresearch/jsonmapper",
745 | "version": "v4.4.1",
746 | "source": {
747 | "type": "git",
748 | "url": "https://github.com/cweiske/jsonmapper.git",
749 | "reference": "132c75c7dd83e45353ebb9c6c9f591952995bbf0"
750 | },
751 | "dist": {
752 | "type": "zip",
753 | "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/132c75c7dd83e45353ebb9c6c9f591952995bbf0",
754 | "reference": "132c75c7dd83e45353ebb9c6c9f591952995bbf0",
755 | "shasum": ""
756 | },
757 | "require": {
758 | "ext-json": "*",
759 | "ext-pcre": "*",
760 | "ext-reflection": "*",
761 | "ext-spl": "*",
762 | "php": ">=7.1"
763 | },
764 | "require-dev": {
765 | "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0 || ~10.0",
766 | "squizlabs/php_codesniffer": "~3.5"
767 | },
768 | "type": "library",
769 | "autoload": {
770 | "psr-0": {
771 | "JsonMapper": "src/"
772 | }
773 | },
774 | "notification-url": "https://packagist.org/downloads/",
775 | "license": [
776 | "OSL-3.0"
777 | ],
778 | "authors": [
779 | {
780 | "name": "Christian Weiske",
781 | "email": "cweiske@cweiske.de",
782 | "homepage": "http://github.com/cweiske/jsonmapper/",
783 | "role": "Developer"
784 | }
785 | ],
786 | "description": "Map nested JSON structures onto PHP classes",
787 | "support": {
788 | "email": "cweiske@cweiske.de",
789 | "issues": "https://github.com/cweiske/jsonmapper/issues",
790 | "source": "https://github.com/cweiske/jsonmapper/tree/v4.4.1"
791 | },
792 | "time": "2024-01-31T06:18:54+00:00"
793 | },
794 | {
795 | "name": "nikic/php-parser",
796 | "version": "v4.19.1",
797 | "source": {
798 | "type": "git",
799 | "url": "https://github.com/nikic/PHP-Parser.git",
800 | "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b"
801 | },
802 | "dist": {
803 | "type": "zip",
804 | "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4e1b88d21c69391150ace211e9eaf05810858d0b",
805 | "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b",
806 | "shasum": ""
807 | },
808 | "require": {
809 | "ext-tokenizer": "*",
810 | "php": ">=7.1"
811 | },
812 | "require-dev": {
813 | "ircmaxell/php-yacc": "^0.0.7",
814 | "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
815 | },
816 | "bin": [
817 | "bin/php-parse"
818 | ],
819 | "type": "library",
820 | "extra": {
821 | "branch-alias": {
822 | "dev-master": "4.9-dev"
823 | }
824 | },
825 | "autoload": {
826 | "psr-4": {
827 | "PhpParser\\": "lib/PhpParser"
828 | }
829 | },
830 | "notification-url": "https://packagist.org/downloads/",
831 | "license": [
832 | "BSD-3-Clause"
833 | ],
834 | "authors": [
835 | {
836 | "name": "Nikita Popov"
837 | }
838 | ],
839 | "description": "A PHP parser written in PHP",
840 | "keywords": [
841 | "parser",
842 | "php"
843 | ],
844 | "support": {
845 | "issues": "https://github.com/nikic/PHP-Parser/issues",
846 | "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.1"
847 | },
848 | "time": "2024-03-17T08:10:35+00:00"
849 | },
850 | {
851 | "name": "phar-io/manifest",
852 | "version": "2.0.4",
853 | "source": {
854 | "type": "git",
855 | "url": "https://github.com/phar-io/manifest.git",
856 | "reference": "54750ef60c58e43759730615a392c31c80e23176"
857 | },
858 | "dist": {
859 | "type": "zip",
860 | "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176",
861 | "reference": "54750ef60c58e43759730615a392c31c80e23176",
862 | "shasum": ""
863 | },
864 | "require": {
865 | "ext-dom": "*",
866 | "ext-libxml": "*",
867 | "ext-phar": "*",
868 | "ext-xmlwriter": "*",
869 | "phar-io/version": "^3.0.1",
870 | "php": "^7.2 || ^8.0"
871 | },
872 | "type": "library",
873 | "extra": {
874 | "branch-alias": {
875 | "dev-master": "2.0.x-dev"
876 | }
877 | },
878 | "autoload": {
879 | "classmap": [
880 | "src/"
881 | ]
882 | },
883 | "notification-url": "https://packagist.org/downloads/",
884 | "license": [
885 | "BSD-3-Clause"
886 | ],
887 | "authors": [
888 | {
889 | "name": "Arne Blankerts",
890 | "email": "arne@blankerts.de",
891 | "role": "Developer"
892 | },
893 | {
894 | "name": "Sebastian Heuer",
895 | "email": "sebastian@phpeople.de",
896 | "role": "Developer"
897 | },
898 | {
899 | "name": "Sebastian Bergmann",
900 | "email": "sebastian@phpunit.de",
901 | "role": "Developer"
902 | }
903 | ],
904 | "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
905 | "support": {
906 | "issues": "https://github.com/phar-io/manifest/issues",
907 | "source": "https://github.com/phar-io/manifest/tree/2.0.4"
908 | },
909 | "funding": [
910 | {
911 | "url": "https://github.com/theseer",
912 | "type": "github"
913 | }
914 | ],
915 | "time": "2024-03-03T12:33:53+00:00"
916 | },
917 | {
918 | "name": "phar-io/version",
919 | "version": "3.2.1",
920 | "source": {
921 | "type": "git",
922 | "url": "https://github.com/phar-io/version.git",
923 | "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
924 | },
925 | "dist": {
926 | "type": "zip",
927 | "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
928 | "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
929 | "shasum": ""
930 | },
931 | "require": {
932 | "php": "^7.2 || ^8.0"
933 | },
934 | "type": "library",
935 | "autoload": {
936 | "classmap": [
937 | "src/"
938 | ]
939 | },
940 | "notification-url": "https://packagist.org/downloads/",
941 | "license": [
942 | "BSD-3-Clause"
943 | ],
944 | "authors": [
945 | {
946 | "name": "Arne Blankerts",
947 | "email": "arne@blankerts.de",
948 | "role": "Developer"
949 | },
950 | {
951 | "name": "Sebastian Heuer",
952 | "email": "sebastian@phpeople.de",
953 | "role": "Developer"
954 | },
955 | {
956 | "name": "Sebastian Bergmann",
957 | "email": "sebastian@phpunit.de",
958 | "role": "Developer"
959 | }
960 | ],
961 | "description": "Library for handling version information and constraints",
962 | "support": {
963 | "issues": "https://github.com/phar-io/version/issues",
964 | "source": "https://github.com/phar-io/version/tree/3.2.1"
965 | },
966 | "time": "2022-02-21T01:04:05+00:00"
967 | },
968 | {
969 | "name": "phpdocumentor/reflection-common",
970 | "version": "2.2.0",
971 | "source": {
972 | "type": "git",
973 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
974 | "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
975 | },
976 | "dist": {
977 | "type": "zip",
978 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
979 | "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
980 | "shasum": ""
981 | },
982 | "require": {
983 | "php": "^7.2 || ^8.0"
984 | },
985 | "type": "library",
986 | "extra": {
987 | "branch-alias": {
988 | "dev-2.x": "2.x-dev"
989 | }
990 | },
991 | "autoload": {
992 | "psr-4": {
993 | "phpDocumentor\\Reflection\\": "src/"
994 | }
995 | },
996 | "notification-url": "https://packagist.org/downloads/",
997 | "license": [
998 | "MIT"
999 | ],
1000 | "authors": [
1001 | {
1002 | "name": "Jaap van Otterdijk",
1003 | "email": "opensource@ijaap.nl"
1004 | }
1005 | ],
1006 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
1007 | "homepage": "http://www.phpdoc.org",
1008 | "keywords": [
1009 | "FQSEN",
1010 | "phpDocumentor",
1011 | "phpdoc",
1012 | "reflection",
1013 | "static analysis"
1014 | ],
1015 | "support": {
1016 | "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
1017 | "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
1018 | },
1019 | "time": "2020-06-27T09:03:43+00:00"
1020 | },
1021 | {
1022 | "name": "phpdocumentor/reflection-docblock",
1023 | "version": "5.4.0",
1024 | "source": {
1025 | "type": "git",
1026 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
1027 | "reference": "298d2febfe79d03fe714eb871d5538da55205b1a"
1028 | },
1029 | "dist": {
1030 | "type": "zip",
1031 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/298d2febfe79d03fe714eb871d5538da55205b1a",
1032 | "reference": "298d2febfe79d03fe714eb871d5538da55205b1a",
1033 | "shasum": ""
1034 | },
1035 | "require": {
1036 | "doctrine/deprecations": "^1.1",
1037 | "ext-filter": "*",
1038 | "php": "^7.4 || ^8.0",
1039 | "phpdocumentor/reflection-common": "^2.2",
1040 | "phpdocumentor/type-resolver": "^1.7",
1041 | "phpstan/phpdoc-parser": "^1.7",
1042 | "webmozart/assert": "^1.9.1"
1043 | },
1044 | "require-dev": {
1045 | "mockery/mockery": "~1.3.5",
1046 | "phpstan/extension-installer": "^1.1",
1047 | "phpstan/phpstan": "^1.8",
1048 | "phpstan/phpstan-mockery": "^1.1",
1049 | "phpstan/phpstan-webmozart-assert": "^1.2",
1050 | "phpunit/phpunit": "^9.5",
1051 | "vimeo/psalm": "^5.13"
1052 | },
1053 | "type": "library",
1054 | "extra": {
1055 | "branch-alias": {
1056 | "dev-master": "5.x-dev"
1057 | }
1058 | },
1059 | "autoload": {
1060 | "psr-4": {
1061 | "phpDocumentor\\Reflection\\": "src"
1062 | }
1063 | },
1064 | "notification-url": "https://packagist.org/downloads/",
1065 | "license": [
1066 | "MIT"
1067 | ],
1068 | "authors": [
1069 | {
1070 | "name": "Mike van Riel",
1071 | "email": "me@mikevanriel.com"
1072 | },
1073 | {
1074 | "name": "Jaap van Otterdijk",
1075 | "email": "opensource@ijaap.nl"
1076 | }
1077 | ],
1078 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
1079 | "support": {
1080 | "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
1081 | "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.4.0"
1082 | },
1083 | "time": "2024-04-09T21:13:58+00:00"
1084 | },
1085 | {
1086 | "name": "phpdocumentor/type-resolver",
1087 | "version": "1.8.2",
1088 | "source": {
1089 | "type": "git",
1090 | "url": "https://github.com/phpDocumentor/TypeResolver.git",
1091 | "reference": "153ae662783729388a584b4361f2545e4d841e3c"
1092 | },
1093 | "dist": {
1094 | "type": "zip",
1095 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c",
1096 | "reference": "153ae662783729388a584b4361f2545e4d841e3c",
1097 | "shasum": ""
1098 | },
1099 | "require": {
1100 | "doctrine/deprecations": "^1.0",
1101 | "php": "^7.3 || ^8.0",
1102 | "phpdocumentor/reflection-common": "^2.0",
1103 | "phpstan/phpdoc-parser": "^1.13"
1104 | },
1105 | "require-dev": {
1106 | "ext-tokenizer": "*",
1107 | "phpbench/phpbench": "^1.2",
1108 | "phpstan/extension-installer": "^1.1",
1109 | "phpstan/phpstan": "^1.8",
1110 | "phpstan/phpstan-phpunit": "^1.1",
1111 | "phpunit/phpunit": "^9.5",
1112 | "rector/rector": "^0.13.9",
1113 | "vimeo/psalm": "^4.25"
1114 | },
1115 | "type": "library",
1116 | "extra": {
1117 | "branch-alias": {
1118 | "dev-1.x": "1.x-dev"
1119 | }
1120 | },
1121 | "autoload": {
1122 | "psr-4": {
1123 | "phpDocumentor\\Reflection\\": "src"
1124 | }
1125 | },
1126 | "notification-url": "https://packagist.org/downloads/",
1127 | "license": [
1128 | "MIT"
1129 | ],
1130 | "authors": [
1131 | {
1132 | "name": "Mike van Riel",
1133 | "email": "me@mikevanriel.com"
1134 | }
1135 | ],
1136 | "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
1137 | "support": {
1138 | "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
1139 | "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2"
1140 | },
1141 | "time": "2024-02-23T11:10:43+00:00"
1142 | },
1143 | {
1144 | "name": "phpstan/phpdoc-parser",
1145 | "version": "1.29.0",
1146 | "source": {
1147 | "type": "git",
1148 | "url": "https://github.com/phpstan/phpdoc-parser.git",
1149 | "reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc"
1150 | },
1151 | "dist": {
1152 | "type": "zip",
1153 | "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/536889f2b340489d328f5ffb7b02bb6b183ddedc",
1154 | "reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc",
1155 | "shasum": ""
1156 | },
1157 | "require": {
1158 | "php": "^7.2 || ^8.0"
1159 | },
1160 | "require-dev": {
1161 | "doctrine/annotations": "^2.0",
1162 | "nikic/php-parser": "^4.15",
1163 | "php-parallel-lint/php-parallel-lint": "^1.2",
1164 | "phpstan/extension-installer": "^1.0",
1165 | "phpstan/phpstan": "^1.5",
1166 | "phpstan/phpstan-phpunit": "^1.1",
1167 | "phpstan/phpstan-strict-rules": "^1.0",
1168 | "phpunit/phpunit": "^9.5",
1169 | "symfony/process": "^5.2"
1170 | },
1171 | "type": "library",
1172 | "autoload": {
1173 | "psr-4": {
1174 | "PHPStan\\PhpDocParser\\": [
1175 | "src/"
1176 | ]
1177 | }
1178 | },
1179 | "notification-url": "https://packagist.org/downloads/",
1180 | "license": [
1181 | "MIT"
1182 | ],
1183 | "description": "PHPDoc parser with support for nullable, intersection and generic types",
1184 | "support": {
1185 | "issues": "https://github.com/phpstan/phpdoc-parser/issues",
1186 | "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.0"
1187 | },
1188 | "time": "2024-05-06T12:04:23+00:00"
1189 | },
1190 | {
1191 | "name": "phpunit/php-code-coverage",
1192 | "version": "10.1.14",
1193 | "source": {
1194 | "type": "git",
1195 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
1196 | "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b"
1197 | },
1198 | "dist": {
1199 | "type": "zip",
1200 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/e3f51450ebffe8e0efdf7346ae966a656f7d5e5b",
1201 | "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b",
1202 | "shasum": ""
1203 | },
1204 | "require": {
1205 | "ext-dom": "*",
1206 | "ext-libxml": "*",
1207 | "ext-xmlwriter": "*",
1208 | "nikic/php-parser": "^4.18 || ^5.0",
1209 | "php": ">=8.1",
1210 | "phpunit/php-file-iterator": "^4.0",
1211 | "phpunit/php-text-template": "^3.0",
1212 | "sebastian/code-unit-reverse-lookup": "^3.0",
1213 | "sebastian/complexity": "^3.0",
1214 | "sebastian/environment": "^6.0",
1215 | "sebastian/lines-of-code": "^2.0",
1216 | "sebastian/version": "^4.0",
1217 | "theseer/tokenizer": "^1.2.0"
1218 | },
1219 | "require-dev": {
1220 | "phpunit/phpunit": "^10.1"
1221 | },
1222 | "suggest": {
1223 | "ext-pcov": "PHP extension that provides line coverage",
1224 | "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
1225 | },
1226 | "type": "library",
1227 | "extra": {
1228 | "branch-alias": {
1229 | "dev-main": "10.1-dev"
1230 | }
1231 | },
1232 | "autoload": {
1233 | "classmap": [
1234 | "src/"
1235 | ]
1236 | },
1237 | "notification-url": "https://packagist.org/downloads/",
1238 | "license": [
1239 | "BSD-3-Clause"
1240 | ],
1241 | "authors": [
1242 | {
1243 | "name": "Sebastian Bergmann",
1244 | "email": "sebastian@phpunit.de",
1245 | "role": "lead"
1246 | }
1247 | ],
1248 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
1249 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
1250 | "keywords": [
1251 | "coverage",
1252 | "testing",
1253 | "xunit"
1254 | ],
1255 | "support": {
1256 | "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
1257 | "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
1258 | "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.14"
1259 | },
1260 | "funding": [
1261 | {
1262 | "url": "https://github.com/sebastianbergmann",
1263 | "type": "github"
1264 | }
1265 | ],
1266 | "time": "2024-03-12T15:33:41+00:00"
1267 | },
1268 | {
1269 | "name": "phpunit/php-file-iterator",
1270 | "version": "4.1.0",
1271 | "source": {
1272 | "type": "git",
1273 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
1274 | "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c"
1275 | },
1276 | "dist": {
1277 | "type": "zip",
1278 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c",
1279 | "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c",
1280 | "shasum": ""
1281 | },
1282 | "require": {
1283 | "php": ">=8.1"
1284 | },
1285 | "require-dev": {
1286 | "phpunit/phpunit": "^10.0"
1287 | },
1288 | "type": "library",
1289 | "extra": {
1290 | "branch-alias": {
1291 | "dev-main": "4.0-dev"
1292 | }
1293 | },
1294 | "autoload": {
1295 | "classmap": [
1296 | "src/"
1297 | ]
1298 | },
1299 | "notification-url": "https://packagist.org/downloads/",
1300 | "license": [
1301 | "BSD-3-Clause"
1302 | ],
1303 | "authors": [
1304 | {
1305 | "name": "Sebastian Bergmann",
1306 | "email": "sebastian@phpunit.de",
1307 | "role": "lead"
1308 | }
1309 | ],
1310 | "description": "FilterIterator implementation that filters files based on a list of suffixes.",
1311 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
1312 | "keywords": [
1313 | "filesystem",
1314 | "iterator"
1315 | ],
1316 | "support": {
1317 | "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
1318 | "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
1319 | "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0"
1320 | },
1321 | "funding": [
1322 | {
1323 | "url": "https://github.com/sebastianbergmann",
1324 | "type": "github"
1325 | }
1326 | ],
1327 | "time": "2023-08-31T06:24:48+00:00"
1328 | },
1329 | {
1330 | "name": "phpunit/php-invoker",
1331 | "version": "4.0.0",
1332 | "source": {
1333 | "type": "git",
1334 | "url": "https://github.com/sebastianbergmann/php-invoker.git",
1335 | "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7"
1336 | },
1337 | "dist": {
1338 | "type": "zip",
1339 | "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
1340 | "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
1341 | "shasum": ""
1342 | },
1343 | "require": {
1344 | "php": ">=8.1"
1345 | },
1346 | "require-dev": {
1347 | "ext-pcntl": "*",
1348 | "phpunit/phpunit": "^10.0"
1349 | },
1350 | "suggest": {
1351 | "ext-pcntl": "*"
1352 | },
1353 | "type": "library",
1354 | "extra": {
1355 | "branch-alias": {
1356 | "dev-main": "4.0-dev"
1357 | }
1358 | },
1359 | "autoload": {
1360 | "classmap": [
1361 | "src/"
1362 | ]
1363 | },
1364 | "notification-url": "https://packagist.org/downloads/",
1365 | "license": [
1366 | "BSD-3-Clause"
1367 | ],
1368 | "authors": [
1369 | {
1370 | "name": "Sebastian Bergmann",
1371 | "email": "sebastian@phpunit.de",
1372 | "role": "lead"
1373 | }
1374 | ],
1375 | "description": "Invoke callables with a timeout",
1376 | "homepage": "https://github.com/sebastianbergmann/php-invoker/",
1377 | "keywords": [
1378 | "process"
1379 | ],
1380 | "support": {
1381 | "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
1382 | "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0"
1383 | },
1384 | "funding": [
1385 | {
1386 | "url": "https://github.com/sebastianbergmann",
1387 | "type": "github"
1388 | }
1389 | ],
1390 | "time": "2023-02-03T06:56:09+00:00"
1391 | },
1392 | {
1393 | "name": "phpunit/php-text-template",
1394 | "version": "3.0.1",
1395 | "source": {
1396 | "type": "git",
1397 | "url": "https://github.com/sebastianbergmann/php-text-template.git",
1398 | "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748"
1399 | },
1400 | "dist": {
1401 | "type": "zip",
1402 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748",
1403 | "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748",
1404 | "shasum": ""
1405 | },
1406 | "require": {
1407 | "php": ">=8.1"
1408 | },
1409 | "require-dev": {
1410 | "phpunit/phpunit": "^10.0"
1411 | },
1412 | "type": "library",
1413 | "extra": {
1414 | "branch-alias": {
1415 | "dev-main": "3.0-dev"
1416 | }
1417 | },
1418 | "autoload": {
1419 | "classmap": [
1420 | "src/"
1421 | ]
1422 | },
1423 | "notification-url": "https://packagist.org/downloads/",
1424 | "license": [
1425 | "BSD-3-Clause"
1426 | ],
1427 | "authors": [
1428 | {
1429 | "name": "Sebastian Bergmann",
1430 | "email": "sebastian@phpunit.de",
1431 | "role": "lead"
1432 | }
1433 | ],
1434 | "description": "Simple template engine.",
1435 | "homepage": "https://github.com/sebastianbergmann/php-text-template/",
1436 | "keywords": [
1437 | "template"
1438 | ],
1439 | "support": {
1440 | "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
1441 | "security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
1442 | "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1"
1443 | },
1444 | "funding": [
1445 | {
1446 | "url": "https://github.com/sebastianbergmann",
1447 | "type": "github"
1448 | }
1449 | ],
1450 | "time": "2023-08-31T14:07:24+00:00"
1451 | },
1452 | {
1453 | "name": "phpunit/php-timer",
1454 | "version": "6.0.0",
1455 | "source": {
1456 | "type": "git",
1457 | "url": "https://github.com/sebastianbergmann/php-timer.git",
1458 | "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d"
1459 | },
1460 | "dist": {
1461 | "type": "zip",
1462 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d",
1463 | "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d",
1464 | "shasum": ""
1465 | },
1466 | "require": {
1467 | "php": ">=8.1"
1468 | },
1469 | "require-dev": {
1470 | "phpunit/phpunit": "^10.0"
1471 | },
1472 | "type": "library",
1473 | "extra": {
1474 | "branch-alias": {
1475 | "dev-main": "6.0-dev"
1476 | }
1477 | },
1478 | "autoload": {
1479 | "classmap": [
1480 | "src/"
1481 | ]
1482 | },
1483 | "notification-url": "https://packagist.org/downloads/",
1484 | "license": [
1485 | "BSD-3-Clause"
1486 | ],
1487 | "authors": [
1488 | {
1489 | "name": "Sebastian Bergmann",
1490 | "email": "sebastian@phpunit.de",
1491 | "role": "lead"
1492 | }
1493 | ],
1494 | "description": "Utility class for timing",
1495 | "homepage": "https://github.com/sebastianbergmann/php-timer/",
1496 | "keywords": [
1497 | "timer"
1498 | ],
1499 | "support": {
1500 | "issues": "https://github.com/sebastianbergmann/php-timer/issues",
1501 | "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0"
1502 | },
1503 | "funding": [
1504 | {
1505 | "url": "https://github.com/sebastianbergmann",
1506 | "type": "github"
1507 | }
1508 | ],
1509 | "time": "2023-02-03T06:57:52+00:00"
1510 | },
1511 | {
1512 | "name": "phpunit/phpunit",
1513 | "version": "10.5.20",
1514 | "source": {
1515 | "type": "git",
1516 | "url": "https://github.com/sebastianbergmann/phpunit.git",
1517 | "reference": "547d314dc24ec1e177720d45c6263fb226cc2ae3"
1518 | },
1519 | "dist": {
1520 | "type": "zip",
1521 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/547d314dc24ec1e177720d45c6263fb226cc2ae3",
1522 | "reference": "547d314dc24ec1e177720d45c6263fb226cc2ae3",
1523 | "shasum": ""
1524 | },
1525 | "require": {
1526 | "ext-dom": "*",
1527 | "ext-json": "*",
1528 | "ext-libxml": "*",
1529 | "ext-mbstring": "*",
1530 | "ext-xml": "*",
1531 | "ext-xmlwriter": "*",
1532 | "myclabs/deep-copy": "^1.10.1",
1533 | "phar-io/manifest": "^2.0.3",
1534 | "phar-io/version": "^3.0.2",
1535 | "php": ">=8.1",
1536 | "phpunit/php-code-coverage": "^10.1.5",
1537 | "phpunit/php-file-iterator": "^4.0",
1538 | "phpunit/php-invoker": "^4.0",
1539 | "phpunit/php-text-template": "^3.0",
1540 | "phpunit/php-timer": "^6.0",
1541 | "sebastian/cli-parser": "^2.0",
1542 | "sebastian/code-unit": "^2.0",
1543 | "sebastian/comparator": "^5.0",
1544 | "sebastian/diff": "^5.0",
1545 | "sebastian/environment": "^6.0",
1546 | "sebastian/exporter": "^5.1",
1547 | "sebastian/global-state": "^6.0.1",
1548 | "sebastian/object-enumerator": "^5.0",
1549 | "sebastian/recursion-context": "^5.0",
1550 | "sebastian/type": "^4.0",
1551 | "sebastian/version": "^4.0"
1552 | },
1553 | "suggest": {
1554 | "ext-soap": "To be able to generate mocks based on WSDL files"
1555 | },
1556 | "bin": [
1557 | "phpunit"
1558 | ],
1559 | "type": "library",
1560 | "extra": {
1561 | "branch-alias": {
1562 | "dev-main": "10.5-dev"
1563 | }
1564 | },
1565 | "autoload": {
1566 | "files": [
1567 | "src/Framework/Assert/Functions.php"
1568 | ],
1569 | "classmap": [
1570 | "src/"
1571 | ]
1572 | },
1573 | "notification-url": "https://packagist.org/downloads/",
1574 | "license": [
1575 | "BSD-3-Clause"
1576 | ],
1577 | "authors": [
1578 | {
1579 | "name": "Sebastian Bergmann",
1580 | "email": "sebastian@phpunit.de",
1581 | "role": "lead"
1582 | }
1583 | ],
1584 | "description": "The PHP Unit Testing framework.",
1585 | "homepage": "https://phpunit.de/",
1586 | "keywords": [
1587 | "phpunit",
1588 | "testing",
1589 | "xunit"
1590 | ],
1591 | "support": {
1592 | "issues": "https://github.com/sebastianbergmann/phpunit/issues",
1593 | "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
1594 | "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.20"
1595 | },
1596 | "funding": [
1597 | {
1598 | "url": "https://phpunit.de/sponsors.html",
1599 | "type": "custom"
1600 | },
1601 | {
1602 | "url": "https://github.com/sebastianbergmann",
1603 | "type": "github"
1604 | },
1605 | {
1606 | "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
1607 | "type": "tidelift"
1608 | }
1609 | ],
1610 | "time": "2024-04-24T06:32:35+00:00"
1611 | },
1612 | {
1613 | "name": "psr/container",
1614 | "version": "2.0.2",
1615 | "source": {
1616 | "type": "git",
1617 | "url": "https://github.com/php-fig/container.git",
1618 | "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
1619 | },
1620 | "dist": {
1621 | "type": "zip",
1622 | "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
1623 | "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
1624 | "shasum": ""
1625 | },
1626 | "require": {
1627 | "php": ">=7.4.0"
1628 | },
1629 | "type": "library",
1630 | "extra": {
1631 | "branch-alias": {
1632 | "dev-master": "2.0.x-dev"
1633 | }
1634 | },
1635 | "autoload": {
1636 | "psr-4": {
1637 | "Psr\\Container\\": "src/"
1638 | }
1639 | },
1640 | "notification-url": "https://packagist.org/downloads/",
1641 | "license": [
1642 | "MIT"
1643 | ],
1644 | "authors": [
1645 | {
1646 | "name": "PHP-FIG",
1647 | "homepage": "https://www.php-fig.org/"
1648 | }
1649 | ],
1650 | "description": "Common Container Interface (PHP FIG PSR-11)",
1651 | "homepage": "https://github.com/php-fig/container",
1652 | "keywords": [
1653 | "PSR-11",
1654 | "container",
1655 | "container-interface",
1656 | "container-interop",
1657 | "psr"
1658 | ],
1659 | "support": {
1660 | "issues": "https://github.com/php-fig/container/issues",
1661 | "source": "https://github.com/php-fig/container/tree/2.0.2"
1662 | },
1663 | "time": "2021-11-05T16:47:00+00:00"
1664 | },
1665 | {
1666 | "name": "psr/log",
1667 | "version": "3.0.0",
1668 | "source": {
1669 | "type": "git",
1670 | "url": "https://github.com/php-fig/log.git",
1671 | "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
1672 | },
1673 | "dist": {
1674 | "type": "zip",
1675 | "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
1676 | "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
1677 | "shasum": ""
1678 | },
1679 | "require": {
1680 | "php": ">=8.0.0"
1681 | },
1682 | "type": "library",
1683 | "extra": {
1684 | "branch-alias": {
1685 | "dev-master": "3.x-dev"
1686 | }
1687 | },
1688 | "autoload": {
1689 | "psr-4": {
1690 | "Psr\\Log\\": "src"
1691 | }
1692 | },
1693 | "notification-url": "https://packagist.org/downloads/",
1694 | "license": [
1695 | "MIT"
1696 | ],
1697 | "authors": [
1698 | {
1699 | "name": "PHP-FIG",
1700 | "homepage": "https://www.php-fig.org/"
1701 | }
1702 | ],
1703 | "description": "Common interface for logging libraries",
1704 | "homepage": "https://github.com/php-fig/log",
1705 | "keywords": [
1706 | "log",
1707 | "psr",
1708 | "psr-3"
1709 | ],
1710 | "support": {
1711 | "source": "https://github.com/php-fig/log/tree/3.0.0"
1712 | },
1713 | "time": "2021-07-14T16:46:02+00:00"
1714 | },
1715 | {
1716 | "name": "sebastian/cli-parser",
1717 | "version": "2.0.1",
1718 | "source": {
1719 | "type": "git",
1720 | "url": "https://github.com/sebastianbergmann/cli-parser.git",
1721 | "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084"
1722 | },
1723 | "dist": {
1724 | "type": "zip",
1725 | "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084",
1726 | "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084",
1727 | "shasum": ""
1728 | },
1729 | "require": {
1730 | "php": ">=8.1"
1731 | },
1732 | "require-dev": {
1733 | "phpunit/phpunit": "^10.0"
1734 | },
1735 | "type": "library",
1736 | "extra": {
1737 | "branch-alias": {
1738 | "dev-main": "2.0-dev"
1739 | }
1740 | },
1741 | "autoload": {
1742 | "classmap": [
1743 | "src/"
1744 | ]
1745 | },
1746 | "notification-url": "https://packagist.org/downloads/",
1747 | "license": [
1748 | "BSD-3-Clause"
1749 | ],
1750 | "authors": [
1751 | {
1752 | "name": "Sebastian Bergmann",
1753 | "email": "sebastian@phpunit.de",
1754 | "role": "lead"
1755 | }
1756 | ],
1757 | "description": "Library for parsing CLI options",
1758 | "homepage": "https://github.com/sebastianbergmann/cli-parser",
1759 | "support": {
1760 | "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
1761 | "security": "https://github.com/sebastianbergmann/cli-parser/security/policy",
1762 | "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1"
1763 | },
1764 | "funding": [
1765 | {
1766 | "url": "https://github.com/sebastianbergmann",
1767 | "type": "github"
1768 | }
1769 | ],
1770 | "time": "2024-03-02T07:12:49+00:00"
1771 | },
1772 | {
1773 | "name": "sebastian/code-unit",
1774 | "version": "2.0.0",
1775 | "source": {
1776 | "type": "git",
1777 | "url": "https://github.com/sebastianbergmann/code-unit.git",
1778 | "reference": "a81fee9eef0b7a76af11d121767abc44c104e503"
1779 | },
1780 | "dist": {
1781 | "type": "zip",
1782 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503",
1783 | "reference": "a81fee9eef0b7a76af11d121767abc44c104e503",
1784 | "shasum": ""
1785 | },
1786 | "require": {
1787 | "php": ">=8.1"
1788 | },
1789 | "require-dev": {
1790 | "phpunit/phpunit": "^10.0"
1791 | },
1792 | "type": "library",
1793 | "extra": {
1794 | "branch-alias": {
1795 | "dev-main": "2.0-dev"
1796 | }
1797 | },
1798 | "autoload": {
1799 | "classmap": [
1800 | "src/"
1801 | ]
1802 | },
1803 | "notification-url": "https://packagist.org/downloads/",
1804 | "license": [
1805 | "BSD-3-Clause"
1806 | ],
1807 | "authors": [
1808 | {
1809 | "name": "Sebastian Bergmann",
1810 | "email": "sebastian@phpunit.de",
1811 | "role": "lead"
1812 | }
1813 | ],
1814 | "description": "Collection of value objects that represent the PHP code units",
1815 | "homepage": "https://github.com/sebastianbergmann/code-unit",
1816 | "support": {
1817 | "issues": "https://github.com/sebastianbergmann/code-unit/issues",
1818 | "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0"
1819 | },
1820 | "funding": [
1821 | {
1822 | "url": "https://github.com/sebastianbergmann",
1823 | "type": "github"
1824 | }
1825 | ],
1826 | "time": "2023-02-03T06:58:43+00:00"
1827 | },
1828 | {
1829 | "name": "sebastian/code-unit-reverse-lookup",
1830 | "version": "3.0.0",
1831 | "source": {
1832 | "type": "git",
1833 | "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
1834 | "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d"
1835 | },
1836 | "dist": {
1837 | "type": "zip",
1838 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
1839 | "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
1840 | "shasum": ""
1841 | },
1842 | "require": {
1843 | "php": ">=8.1"
1844 | },
1845 | "require-dev": {
1846 | "phpunit/phpunit": "^10.0"
1847 | },
1848 | "type": "library",
1849 | "extra": {
1850 | "branch-alias": {
1851 | "dev-main": "3.0-dev"
1852 | }
1853 | },
1854 | "autoload": {
1855 | "classmap": [
1856 | "src/"
1857 | ]
1858 | },
1859 | "notification-url": "https://packagist.org/downloads/",
1860 | "license": [
1861 | "BSD-3-Clause"
1862 | ],
1863 | "authors": [
1864 | {
1865 | "name": "Sebastian Bergmann",
1866 | "email": "sebastian@phpunit.de"
1867 | }
1868 | ],
1869 | "description": "Looks up which function or method a line of code belongs to",
1870 | "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
1871 | "support": {
1872 | "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
1873 | "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0"
1874 | },
1875 | "funding": [
1876 | {
1877 | "url": "https://github.com/sebastianbergmann",
1878 | "type": "github"
1879 | }
1880 | ],
1881 | "time": "2023-02-03T06:59:15+00:00"
1882 | },
1883 | {
1884 | "name": "sebastian/comparator",
1885 | "version": "5.0.1",
1886 | "source": {
1887 | "type": "git",
1888 | "url": "https://github.com/sebastianbergmann/comparator.git",
1889 | "reference": "2db5010a484d53ebf536087a70b4a5423c102372"
1890 | },
1891 | "dist": {
1892 | "type": "zip",
1893 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372",
1894 | "reference": "2db5010a484d53ebf536087a70b4a5423c102372",
1895 | "shasum": ""
1896 | },
1897 | "require": {
1898 | "ext-dom": "*",
1899 | "ext-mbstring": "*",
1900 | "php": ">=8.1",
1901 | "sebastian/diff": "^5.0",
1902 | "sebastian/exporter": "^5.0"
1903 | },
1904 | "require-dev": {
1905 | "phpunit/phpunit": "^10.3"
1906 | },
1907 | "type": "library",
1908 | "extra": {
1909 | "branch-alias": {
1910 | "dev-main": "5.0-dev"
1911 | }
1912 | },
1913 | "autoload": {
1914 | "classmap": [
1915 | "src/"
1916 | ]
1917 | },
1918 | "notification-url": "https://packagist.org/downloads/",
1919 | "license": [
1920 | "BSD-3-Clause"
1921 | ],
1922 | "authors": [
1923 | {
1924 | "name": "Sebastian Bergmann",
1925 | "email": "sebastian@phpunit.de"
1926 | },
1927 | {
1928 | "name": "Jeff Welch",
1929 | "email": "whatthejeff@gmail.com"
1930 | },
1931 | {
1932 | "name": "Volker Dusch",
1933 | "email": "github@wallbash.com"
1934 | },
1935 | {
1936 | "name": "Bernhard Schussek",
1937 | "email": "bschussek@2bepublished.at"
1938 | }
1939 | ],
1940 | "description": "Provides the functionality to compare PHP values for equality",
1941 | "homepage": "https://github.com/sebastianbergmann/comparator",
1942 | "keywords": [
1943 | "comparator",
1944 | "compare",
1945 | "equality"
1946 | ],
1947 | "support": {
1948 | "issues": "https://github.com/sebastianbergmann/comparator/issues",
1949 | "security": "https://github.com/sebastianbergmann/comparator/security/policy",
1950 | "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1"
1951 | },
1952 | "funding": [
1953 | {
1954 | "url": "https://github.com/sebastianbergmann",
1955 | "type": "github"
1956 | }
1957 | ],
1958 | "time": "2023-08-14T13:18:12+00:00"
1959 | },
1960 | {
1961 | "name": "sebastian/complexity",
1962 | "version": "3.2.0",
1963 | "source": {
1964 | "type": "git",
1965 | "url": "https://github.com/sebastianbergmann/complexity.git",
1966 | "reference": "68ff824baeae169ec9f2137158ee529584553799"
1967 | },
1968 | "dist": {
1969 | "type": "zip",
1970 | "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799",
1971 | "reference": "68ff824baeae169ec9f2137158ee529584553799",
1972 | "shasum": ""
1973 | },
1974 | "require": {
1975 | "nikic/php-parser": "^4.18 || ^5.0",
1976 | "php": ">=8.1"
1977 | },
1978 | "require-dev": {
1979 | "phpunit/phpunit": "^10.0"
1980 | },
1981 | "type": "library",
1982 | "extra": {
1983 | "branch-alias": {
1984 | "dev-main": "3.2-dev"
1985 | }
1986 | },
1987 | "autoload": {
1988 | "classmap": [
1989 | "src/"
1990 | ]
1991 | },
1992 | "notification-url": "https://packagist.org/downloads/",
1993 | "license": [
1994 | "BSD-3-Clause"
1995 | ],
1996 | "authors": [
1997 | {
1998 | "name": "Sebastian Bergmann",
1999 | "email": "sebastian@phpunit.de",
2000 | "role": "lead"
2001 | }
2002 | ],
2003 | "description": "Library for calculating the complexity of PHP code units",
2004 | "homepage": "https://github.com/sebastianbergmann/complexity",
2005 | "support": {
2006 | "issues": "https://github.com/sebastianbergmann/complexity/issues",
2007 | "security": "https://github.com/sebastianbergmann/complexity/security/policy",
2008 | "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0"
2009 | },
2010 | "funding": [
2011 | {
2012 | "url": "https://github.com/sebastianbergmann",
2013 | "type": "github"
2014 | }
2015 | ],
2016 | "time": "2023-12-21T08:37:17+00:00"
2017 | },
2018 | {
2019 | "name": "sebastian/diff",
2020 | "version": "5.1.1",
2021 | "source": {
2022 | "type": "git",
2023 | "url": "https://github.com/sebastianbergmann/diff.git",
2024 | "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e"
2025 | },
2026 | "dist": {
2027 | "type": "zip",
2028 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e",
2029 | "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e",
2030 | "shasum": ""
2031 | },
2032 | "require": {
2033 | "php": ">=8.1"
2034 | },
2035 | "require-dev": {
2036 | "phpunit/phpunit": "^10.0",
2037 | "symfony/process": "^6.4"
2038 | },
2039 | "type": "library",
2040 | "extra": {
2041 | "branch-alias": {
2042 | "dev-main": "5.1-dev"
2043 | }
2044 | },
2045 | "autoload": {
2046 | "classmap": [
2047 | "src/"
2048 | ]
2049 | },
2050 | "notification-url": "https://packagist.org/downloads/",
2051 | "license": [
2052 | "BSD-3-Clause"
2053 | ],
2054 | "authors": [
2055 | {
2056 | "name": "Sebastian Bergmann",
2057 | "email": "sebastian@phpunit.de"
2058 | },
2059 | {
2060 | "name": "Kore Nordmann",
2061 | "email": "mail@kore-nordmann.de"
2062 | }
2063 | ],
2064 | "description": "Diff implementation",
2065 | "homepage": "https://github.com/sebastianbergmann/diff",
2066 | "keywords": [
2067 | "diff",
2068 | "udiff",
2069 | "unidiff",
2070 | "unified diff"
2071 | ],
2072 | "support": {
2073 | "issues": "https://github.com/sebastianbergmann/diff/issues",
2074 | "security": "https://github.com/sebastianbergmann/diff/security/policy",
2075 | "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1"
2076 | },
2077 | "funding": [
2078 | {
2079 | "url": "https://github.com/sebastianbergmann",
2080 | "type": "github"
2081 | }
2082 | ],
2083 | "time": "2024-03-02T07:15:17+00:00"
2084 | },
2085 | {
2086 | "name": "sebastian/environment",
2087 | "version": "6.1.0",
2088 | "source": {
2089 | "type": "git",
2090 | "url": "https://github.com/sebastianbergmann/environment.git",
2091 | "reference": "8074dbcd93529b357029f5cc5058fd3e43666984"
2092 | },
2093 | "dist": {
2094 | "type": "zip",
2095 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984",
2096 | "reference": "8074dbcd93529b357029f5cc5058fd3e43666984",
2097 | "shasum": ""
2098 | },
2099 | "require": {
2100 | "php": ">=8.1"
2101 | },
2102 | "require-dev": {
2103 | "phpunit/phpunit": "^10.0"
2104 | },
2105 | "suggest": {
2106 | "ext-posix": "*"
2107 | },
2108 | "type": "library",
2109 | "extra": {
2110 | "branch-alias": {
2111 | "dev-main": "6.1-dev"
2112 | }
2113 | },
2114 | "autoload": {
2115 | "classmap": [
2116 | "src/"
2117 | ]
2118 | },
2119 | "notification-url": "https://packagist.org/downloads/",
2120 | "license": [
2121 | "BSD-3-Clause"
2122 | ],
2123 | "authors": [
2124 | {
2125 | "name": "Sebastian Bergmann",
2126 | "email": "sebastian@phpunit.de"
2127 | }
2128 | ],
2129 | "description": "Provides functionality to handle HHVM/PHP environments",
2130 | "homepage": "https://github.com/sebastianbergmann/environment",
2131 | "keywords": [
2132 | "Xdebug",
2133 | "environment",
2134 | "hhvm"
2135 | ],
2136 | "support": {
2137 | "issues": "https://github.com/sebastianbergmann/environment/issues",
2138 | "security": "https://github.com/sebastianbergmann/environment/security/policy",
2139 | "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0"
2140 | },
2141 | "funding": [
2142 | {
2143 | "url": "https://github.com/sebastianbergmann",
2144 | "type": "github"
2145 | }
2146 | ],
2147 | "time": "2024-03-23T08:47:14+00:00"
2148 | },
2149 | {
2150 | "name": "sebastian/exporter",
2151 | "version": "5.1.2",
2152 | "source": {
2153 | "type": "git",
2154 | "url": "https://github.com/sebastianbergmann/exporter.git",
2155 | "reference": "955288482d97c19a372d3f31006ab3f37da47adf"
2156 | },
2157 | "dist": {
2158 | "type": "zip",
2159 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf",
2160 | "reference": "955288482d97c19a372d3f31006ab3f37da47adf",
2161 | "shasum": ""
2162 | },
2163 | "require": {
2164 | "ext-mbstring": "*",
2165 | "php": ">=8.1",
2166 | "sebastian/recursion-context": "^5.0"
2167 | },
2168 | "require-dev": {
2169 | "phpunit/phpunit": "^10.0"
2170 | },
2171 | "type": "library",
2172 | "extra": {
2173 | "branch-alias": {
2174 | "dev-main": "5.1-dev"
2175 | }
2176 | },
2177 | "autoload": {
2178 | "classmap": [
2179 | "src/"
2180 | ]
2181 | },
2182 | "notification-url": "https://packagist.org/downloads/",
2183 | "license": [
2184 | "BSD-3-Clause"
2185 | ],
2186 | "authors": [
2187 | {
2188 | "name": "Sebastian Bergmann",
2189 | "email": "sebastian@phpunit.de"
2190 | },
2191 | {
2192 | "name": "Jeff Welch",
2193 | "email": "whatthejeff@gmail.com"
2194 | },
2195 | {
2196 | "name": "Volker Dusch",
2197 | "email": "github@wallbash.com"
2198 | },
2199 | {
2200 | "name": "Adam Harvey",
2201 | "email": "aharvey@php.net"
2202 | },
2203 | {
2204 | "name": "Bernhard Schussek",
2205 | "email": "bschussek@gmail.com"
2206 | }
2207 | ],
2208 | "description": "Provides the functionality to export PHP variables for visualization",
2209 | "homepage": "https://www.github.com/sebastianbergmann/exporter",
2210 | "keywords": [
2211 | "export",
2212 | "exporter"
2213 | ],
2214 | "support": {
2215 | "issues": "https://github.com/sebastianbergmann/exporter/issues",
2216 | "security": "https://github.com/sebastianbergmann/exporter/security/policy",
2217 | "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2"
2218 | },
2219 | "funding": [
2220 | {
2221 | "url": "https://github.com/sebastianbergmann",
2222 | "type": "github"
2223 | }
2224 | ],
2225 | "time": "2024-03-02T07:17:12+00:00"
2226 | },
2227 | {
2228 | "name": "sebastian/global-state",
2229 | "version": "6.0.2",
2230 | "source": {
2231 | "type": "git",
2232 | "url": "https://github.com/sebastianbergmann/global-state.git",
2233 | "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9"
2234 | },
2235 | "dist": {
2236 | "type": "zip",
2237 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9",
2238 | "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9",
2239 | "shasum": ""
2240 | },
2241 | "require": {
2242 | "php": ">=8.1",
2243 | "sebastian/object-reflector": "^3.0",
2244 | "sebastian/recursion-context": "^5.0"
2245 | },
2246 | "require-dev": {
2247 | "ext-dom": "*",
2248 | "phpunit/phpunit": "^10.0"
2249 | },
2250 | "type": "library",
2251 | "extra": {
2252 | "branch-alias": {
2253 | "dev-main": "6.0-dev"
2254 | }
2255 | },
2256 | "autoload": {
2257 | "classmap": [
2258 | "src/"
2259 | ]
2260 | },
2261 | "notification-url": "https://packagist.org/downloads/",
2262 | "license": [
2263 | "BSD-3-Clause"
2264 | ],
2265 | "authors": [
2266 | {
2267 | "name": "Sebastian Bergmann",
2268 | "email": "sebastian@phpunit.de"
2269 | }
2270 | ],
2271 | "description": "Snapshotting of global state",
2272 | "homepage": "https://www.github.com/sebastianbergmann/global-state",
2273 | "keywords": [
2274 | "global state"
2275 | ],
2276 | "support": {
2277 | "issues": "https://github.com/sebastianbergmann/global-state/issues",
2278 | "security": "https://github.com/sebastianbergmann/global-state/security/policy",
2279 | "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2"
2280 | },
2281 | "funding": [
2282 | {
2283 | "url": "https://github.com/sebastianbergmann",
2284 | "type": "github"
2285 | }
2286 | ],
2287 | "time": "2024-03-02T07:19:19+00:00"
2288 | },
2289 | {
2290 | "name": "sebastian/lines-of-code",
2291 | "version": "2.0.2",
2292 | "source": {
2293 | "type": "git",
2294 | "url": "https://github.com/sebastianbergmann/lines-of-code.git",
2295 | "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0"
2296 | },
2297 | "dist": {
2298 | "type": "zip",
2299 | "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0",
2300 | "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0",
2301 | "shasum": ""
2302 | },
2303 | "require": {
2304 | "nikic/php-parser": "^4.18 || ^5.0",
2305 | "php": ">=8.1"
2306 | },
2307 | "require-dev": {
2308 | "phpunit/phpunit": "^10.0"
2309 | },
2310 | "type": "library",
2311 | "extra": {
2312 | "branch-alias": {
2313 | "dev-main": "2.0-dev"
2314 | }
2315 | },
2316 | "autoload": {
2317 | "classmap": [
2318 | "src/"
2319 | ]
2320 | },
2321 | "notification-url": "https://packagist.org/downloads/",
2322 | "license": [
2323 | "BSD-3-Clause"
2324 | ],
2325 | "authors": [
2326 | {
2327 | "name": "Sebastian Bergmann",
2328 | "email": "sebastian@phpunit.de",
2329 | "role": "lead"
2330 | }
2331 | ],
2332 | "description": "Library for counting the lines of code in PHP source code",
2333 | "homepage": "https://github.com/sebastianbergmann/lines-of-code",
2334 | "support": {
2335 | "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
2336 | "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
2337 | "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2"
2338 | },
2339 | "funding": [
2340 | {
2341 | "url": "https://github.com/sebastianbergmann",
2342 | "type": "github"
2343 | }
2344 | ],
2345 | "time": "2023-12-21T08:38:20+00:00"
2346 | },
2347 | {
2348 | "name": "sebastian/object-enumerator",
2349 | "version": "5.0.0",
2350 | "source": {
2351 | "type": "git",
2352 | "url": "https://github.com/sebastianbergmann/object-enumerator.git",
2353 | "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906"
2354 | },
2355 | "dist": {
2356 | "type": "zip",
2357 | "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906",
2358 | "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906",
2359 | "shasum": ""
2360 | },
2361 | "require": {
2362 | "php": ">=8.1",
2363 | "sebastian/object-reflector": "^3.0",
2364 | "sebastian/recursion-context": "^5.0"
2365 | },
2366 | "require-dev": {
2367 | "phpunit/phpunit": "^10.0"
2368 | },
2369 | "type": "library",
2370 | "extra": {
2371 | "branch-alias": {
2372 | "dev-main": "5.0-dev"
2373 | }
2374 | },
2375 | "autoload": {
2376 | "classmap": [
2377 | "src/"
2378 | ]
2379 | },
2380 | "notification-url": "https://packagist.org/downloads/",
2381 | "license": [
2382 | "BSD-3-Clause"
2383 | ],
2384 | "authors": [
2385 | {
2386 | "name": "Sebastian Bergmann",
2387 | "email": "sebastian@phpunit.de"
2388 | }
2389 | ],
2390 | "description": "Traverses array structures and object graphs to enumerate all referenced objects",
2391 | "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
2392 | "support": {
2393 | "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
2394 | "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0"
2395 | },
2396 | "funding": [
2397 | {
2398 | "url": "https://github.com/sebastianbergmann",
2399 | "type": "github"
2400 | }
2401 | ],
2402 | "time": "2023-02-03T07:08:32+00:00"
2403 | },
2404 | {
2405 | "name": "sebastian/object-reflector",
2406 | "version": "3.0.0",
2407 | "source": {
2408 | "type": "git",
2409 | "url": "https://github.com/sebastianbergmann/object-reflector.git",
2410 | "reference": "24ed13d98130f0e7122df55d06c5c4942a577957"
2411 | },
2412 | "dist": {
2413 | "type": "zip",
2414 | "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957",
2415 | "reference": "24ed13d98130f0e7122df55d06c5c4942a577957",
2416 | "shasum": ""
2417 | },
2418 | "require": {
2419 | "php": ">=8.1"
2420 | },
2421 | "require-dev": {
2422 | "phpunit/phpunit": "^10.0"
2423 | },
2424 | "type": "library",
2425 | "extra": {
2426 | "branch-alias": {
2427 | "dev-main": "3.0-dev"
2428 | }
2429 | },
2430 | "autoload": {
2431 | "classmap": [
2432 | "src/"
2433 | ]
2434 | },
2435 | "notification-url": "https://packagist.org/downloads/",
2436 | "license": [
2437 | "BSD-3-Clause"
2438 | ],
2439 | "authors": [
2440 | {
2441 | "name": "Sebastian Bergmann",
2442 | "email": "sebastian@phpunit.de"
2443 | }
2444 | ],
2445 | "description": "Allows reflection of object attributes, including inherited and non-public ones",
2446 | "homepage": "https://github.com/sebastianbergmann/object-reflector/",
2447 | "support": {
2448 | "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
2449 | "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0"
2450 | },
2451 | "funding": [
2452 | {
2453 | "url": "https://github.com/sebastianbergmann",
2454 | "type": "github"
2455 | }
2456 | ],
2457 | "time": "2023-02-03T07:06:18+00:00"
2458 | },
2459 | {
2460 | "name": "sebastian/recursion-context",
2461 | "version": "5.0.0",
2462 | "source": {
2463 | "type": "git",
2464 | "url": "https://github.com/sebastianbergmann/recursion-context.git",
2465 | "reference": "05909fb5bc7df4c52992396d0116aed689f93712"
2466 | },
2467 | "dist": {
2468 | "type": "zip",
2469 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712",
2470 | "reference": "05909fb5bc7df4c52992396d0116aed689f93712",
2471 | "shasum": ""
2472 | },
2473 | "require": {
2474 | "php": ">=8.1"
2475 | },
2476 | "require-dev": {
2477 | "phpunit/phpunit": "^10.0"
2478 | },
2479 | "type": "library",
2480 | "extra": {
2481 | "branch-alias": {
2482 | "dev-main": "5.0-dev"
2483 | }
2484 | },
2485 | "autoload": {
2486 | "classmap": [
2487 | "src/"
2488 | ]
2489 | },
2490 | "notification-url": "https://packagist.org/downloads/",
2491 | "license": [
2492 | "BSD-3-Clause"
2493 | ],
2494 | "authors": [
2495 | {
2496 | "name": "Sebastian Bergmann",
2497 | "email": "sebastian@phpunit.de"
2498 | },
2499 | {
2500 | "name": "Jeff Welch",
2501 | "email": "whatthejeff@gmail.com"
2502 | },
2503 | {
2504 | "name": "Adam Harvey",
2505 | "email": "aharvey@php.net"
2506 | }
2507 | ],
2508 | "description": "Provides functionality to recursively process PHP variables",
2509 | "homepage": "https://github.com/sebastianbergmann/recursion-context",
2510 | "support": {
2511 | "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
2512 | "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0"
2513 | },
2514 | "funding": [
2515 | {
2516 | "url": "https://github.com/sebastianbergmann",
2517 | "type": "github"
2518 | }
2519 | ],
2520 | "time": "2023-02-03T07:05:40+00:00"
2521 | },
2522 | {
2523 | "name": "sebastian/type",
2524 | "version": "4.0.0",
2525 | "source": {
2526 | "type": "git",
2527 | "url": "https://github.com/sebastianbergmann/type.git",
2528 | "reference": "462699a16464c3944eefc02ebdd77882bd3925bf"
2529 | },
2530 | "dist": {
2531 | "type": "zip",
2532 | "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf",
2533 | "reference": "462699a16464c3944eefc02ebdd77882bd3925bf",
2534 | "shasum": ""
2535 | },
2536 | "require": {
2537 | "php": ">=8.1"
2538 | },
2539 | "require-dev": {
2540 | "phpunit/phpunit": "^10.0"
2541 | },
2542 | "type": "library",
2543 | "extra": {
2544 | "branch-alias": {
2545 | "dev-main": "4.0-dev"
2546 | }
2547 | },
2548 | "autoload": {
2549 | "classmap": [
2550 | "src/"
2551 | ]
2552 | },
2553 | "notification-url": "https://packagist.org/downloads/",
2554 | "license": [
2555 | "BSD-3-Clause"
2556 | ],
2557 | "authors": [
2558 | {
2559 | "name": "Sebastian Bergmann",
2560 | "email": "sebastian@phpunit.de",
2561 | "role": "lead"
2562 | }
2563 | ],
2564 | "description": "Collection of value objects that represent the types of the PHP type system",
2565 | "homepage": "https://github.com/sebastianbergmann/type",
2566 | "support": {
2567 | "issues": "https://github.com/sebastianbergmann/type/issues",
2568 | "source": "https://github.com/sebastianbergmann/type/tree/4.0.0"
2569 | },
2570 | "funding": [
2571 | {
2572 | "url": "https://github.com/sebastianbergmann",
2573 | "type": "github"
2574 | }
2575 | ],
2576 | "time": "2023-02-03T07:10:45+00:00"
2577 | },
2578 | {
2579 | "name": "sebastian/version",
2580 | "version": "4.0.1",
2581 | "source": {
2582 | "type": "git",
2583 | "url": "https://github.com/sebastianbergmann/version.git",
2584 | "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17"
2585 | },
2586 | "dist": {
2587 | "type": "zip",
2588 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17",
2589 | "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17",
2590 | "shasum": ""
2591 | },
2592 | "require": {
2593 | "php": ">=8.1"
2594 | },
2595 | "type": "library",
2596 | "extra": {
2597 | "branch-alias": {
2598 | "dev-main": "4.0-dev"
2599 | }
2600 | },
2601 | "autoload": {
2602 | "classmap": [
2603 | "src/"
2604 | ]
2605 | },
2606 | "notification-url": "https://packagist.org/downloads/",
2607 | "license": [
2608 | "BSD-3-Clause"
2609 | ],
2610 | "authors": [
2611 | {
2612 | "name": "Sebastian Bergmann",
2613 | "email": "sebastian@phpunit.de",
2614 | "role": "lead"
2615 | }
2616 | ],
2617 | "description": "Library that helps with managing the version number of Git-hosted PHP projects",
2618 | "homepage": "https://github.com/sebastianbergmann/version",
2619 | "support": {
2620 | "issues": "https://github.com/sebastianbergmann/version/issues",
2621 | "source": "https://github.com/sebastianbergmann/version/tree/4.0.1"
2622 | },
2623 | "funding": [
2624 | {
2625 | "url": "https://github.com/sebastianbergmann",
2626 | "type": "github"
2627 | }
2628 | ],
2629 | "time": "2023-02-07T11:34:05+00:00"
2630 | },
2631 | {
2632 | "name": "spatie/array-to-xml",
2633 | "version": "3.3.0",
2634 | "source": {
2635 | "type": "git",
2636 | "url": "https://github.com/spatie/array-to-xml.git",
2637 | "reference": "f56b220fe2db1ade4c88098d83413ebdfc3bf876"
2638 | },
2639 | "dist": {
2640 | "type": "zip",
2641 | "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/f56b220fe2db1ade4c88098d83413ebdfc3bf876",
2642 | "reference": "f56b220fe2db1ade4c88098d83413ebdfc3bf876",
2643 | "shasum": ""
2644 | },
2645 | "require": {
2646 | "ext-dom": "*",
2647 | "php": "^8.0"
2648 | },
2649 | "require-dev": {
2650 | "mockery/mockery": "^1.2",
2651 | "pestphp/pest": "^1.21",
2652 | "spatie/pest-plugin-snapshots": "^1.1"
2653 | },
2654 | "type": "library",
2655 | "extra": {
2656 | "branch-alias": {
2657 | "dev-main": "3.x-dev"
2658 | }
2659 | },
2660 | "autoload": {
2661 | "psr-4": {
2662 | "Spatie\\ArrayToXml\\": "src"
2663 | }
2664 | },
2665 | "notification-url": "https://packagist.org/downloads/",
2666 | "license": [
2667 | "MIT"
2668 | ],
2669 | "authors": [
2670 | {
2671 | "name": "Freek Van der Herten",
2672 | "email": "freek@spatie.be",
2673 | "homepage": "https://freek.dev",
2674 | "role": "Developer"
2675 | }
2676 | ],
2677 | "description": "Convert an array to xml",
2678 | "homepage": "https://github.com/spatie/array-to-xml",
2679 | "keywords": [
2680 | "array",
2681 | "convert",
2682 | "xml"
2683 | ],
2684 | "support": {
2685 | "source": "https://github.com/spatie/array-to-xml/tree/3.3.0"
2686 | },
2687 | "funding": [
2688 | {
2689 | "url": "https://spatie.be/open-source/support-us",
2690 | "type": "custom"
2691 | },
2692 | {
2693 | "url": "https://github.com/spatie",
2694 | "type": "github"
2695 | }
2696 | ],
2697 | "time": "2024-05-01T10:20:27+00:00"
2698 | },
2699 | {
2700 | "name": "symfony/console",
2701 | "version": "v7.0.7",
2702 | "source": {
2703 | "type": "git",
2704 | "url": "https://github.com/symfony/console.git",
2705 | "reference": "c981e0e9380ce9f146416bde3150c79197ce9986"
2706 | },
2707 | "dist": {
2708 | "type": "zip",
2709 | "url": "https://api.github.com/repos/symfony/console/zipball/c981e0e9380ce9f146416bde3150c79197ce9986",
2710 | "reference": "c981e0e9380ce9f146416bde3150c79197ce9986",
2711 | "shasum": ""
2712 | },
2713 | "require": {
2714 | "php": ">=8.2",
2715 | "symfony/polyfill-mbstring": "~1.0",
2716 | "symfony/service-contracts": "^2.5|^3",
2717 | "symfony/string": "^6.4|^7.0"
2718 | },
2719 | "conflict": {
2720 | "symfony/dependency-injection": "<6.4",
2721 | "symfony/dotenv": "<6.4",
2722 | "symfony/event-dispatcher": "<6.4",
2723 | "symfony/lock": "<6.4",
2724 | "symfony/process": "<6.4"
2725 | },
2726 | "provide": {
2727 | "psr/log-implementation": "1.0|2.0|3.0"
2728 | },
2729 | "require-dev": {
2730 | "psr/log": "^1|^2|^3",
2731 | "symfony/config": "^6.4|^7.0",
2732 | "symfony/dependency-injection": "^6.4|^7.0",
2733 | "symfony/event-dispatcher": "^6.4|^7.0",
2734 | "symfony/http-foundation": "^6.4|^7.0",
2735 | "symfony/http-kernel": "^6.4|^7.0",
2736 | "symfony/lock": "^6.4|^7.0",
2737 | "symfony/messenger": "^6.4|^7.0",
2738 | "symfony/process": "^6.4|^7.0",
2739 | "symfony/stopwatch": "^6.4|^7.0",
2740 | "symfony/var-dumper": "^6.4|^7.0"
2741 | },
2742 | "type": "library",
2743 | "autoload": {
2744 | "psr-4": {
2745 | "Symfony\\Component\\Console\\": ""
2746 | },
2747 | "exclude-from-classmap": [
2748 | "/Tests/"
2749 | ]
2750 | },
2751 | "notification-url": "https://packagist.org/downloads/",
2752 | "license": [
2753 | "MIT"
2754 | ],
2755 | "authors": [
2756 | {
2757 | "name": "Fabien Potencier",
2758 | "email": "fabien@symfony.com"
2759 | },
2760 | {
2761 | "name": "Symfony Community",
2762 | "homepage": "https://symfony.com/contributors"
2763 | }
2764 | ],
2765 | "description": "Eases the creation of beautiful and testable command line interfaces",
2766 | "homepage": "https://symfony.com",
2767 | "keywords": [
2768 | "cli",
2769 | "command-line",
2770 | "console",
2771 | "terminal"
2772 | ],
2773 | "support": {
2774 | "source": "https://github.com/symfony/console/tree/v7.0.7"
2775 | },
2776 | "funding": [
2777 | {
2778 | "url": "https://symfony.com/sponsor",
2779 | "type": "custom"
2780 | },
2781 | {
2782 | "url": "https://github.com/fabpot",
2783 | "type": "github"
2784 | },
2785 | {
2786 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
2787 | "type": "tidelift"
2788 | }
2789 | ],
2790 | "time": "2024-04-18T09:29:19+00:00"
2791 | },
2792 | {
2793 | "name": "symfony/deprecation-contracts",
2794 | "version": "v3.5.0",
2795 | "source": {
2796 | "type": "git",
2797 | "url": "https://github.com/symfony/deprecation-contracts.git",
2798 | "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1"
2799 | },
2800 | "dist": {
2801 | "type": "zip",
2802 | "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
2803 | "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
2804 | "shasum": ""
2805 | },
2806 | "require": {
2807 | "php": ">=8.1"
2808 | },
2809 | "type": "library",
2810 | "extra": {
2811 | "branch-alias": {
2812 | "dev-main": "3.5-dev"
2813 | },
2814 | "thanks": {
2815 | "name": "symfony/contracts",
2816 | "url": "https://github.com/symfony/contracts"
2817 | }
2818 | },
2819 | "autoload": {
2820 | "files": [
2821 | "function.php"
2822 | ]
2823 | },
2824 | "notification-url": "https://packagist.org/downloads/",
2825 | "license": [
2826 | "MIT"
2827 | ],
2828 | "authors": [
2829 | {
2830 | "name": "Nicolas Grekas",
2831 | "email": "p@tchwork.com"
2832 | },
2833 | {
2834 | "name": "Symfony Community",
2835 | "homepage": "https://symfony.com/contributors"
2836 | }
2837 | ],
2838 | "description": "A generic function and convention to trigger deprecation notices",
2839 | "homepage": "https://symfony.com",
2840 | "support": {
2841 | "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0"
2842 | },
2843 | "funding": [
2844 | {
2845 | "url": "https://symfony.com/sponsor",
2846 | "type": "custom"
2847 | },
2848 | {
2849 | "url": "https://github.com/fabpot",
2850 | "type": "github"
2851 | },
2852 | {
2853 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
2854 | "type": "tidelift"
2855 | }
2856 | ],
2857 | "time": "2024-04-18T09:32:20+00:00"
2858 | },
2859 | {
2860 | "name": "symfony/filesystem",
2861 | "version": "v7.0.7",
2862 | "source": {
2863 | "type": "git",
2864 | "url": "https://github.com/symfony/filesystem.git",
2865 | "reference": "cc168be6fbdcdf3401f50ae863ee3818ed4338f5"
2866 | },
2867 | "dist": {
2868 | "type": "zip",
2869 | "url": "https://api.github.com/repos/symfony/filesystem/zipball/cc168be6fbdcdf3401f50ae863ee3818ed4338f5",
2870 | "reference": "cc168be6fbdcdf3401f50ae863ee3818ed4338f5",
2871 | "shasum": ""
2872 | },
2873 | "require": {
2874 | "php": ">=8.2",
2875 | "symfony/polyfill-ctype": "~1.8",
2876 | "symfony/polyfill-mbstring": "~1.8",
2877 | "symfony/process": "^6.4|^7.0"
2878 | },
2879 | "type": "library",
2880 | "autoload": {
2881 | "psr-4": {
2882 | "Symfony\\Component\\Filesystem\\": ""
2883 | },
2884 | "exclude-from-classmap": [
2885 | "/Tests/"
2886 | ]
2887 | },
2888 | "notification-url": "https://packagist.org/downloads/",
2889 | "license": [
2890 | "MIT"
2891 | ],
2892 | "authors": [
2893 | {
2894 | "name": "Fabien Potencier",
2895 | "email": "fabien@symfony.com"
2896 | },
2897 | {
2898 | "name": "Symfony Community",
2899 | "homepage": "https://symfony.com/contributors"
2900 | }
2901 | ],
2902 | "description": "Provides basic utilities for the filesystem",
2903 | "homepage": "https://symfony.com",
2904 | "support": {
2905 | "source": "https://github.com/symfony/filesystem/tree/v7.0.7"
2906 | },
2907 | "funding": [
2908 | {
2909 | "url": "https://symfony.com/sponsor",
2910 | "type": "custom"
2911 | },
2912 | {
2913 | "url": "https://github.com/fabpot",
2914 | "type": "github"
2915 | },
2916 | {
2917 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
2918 | "type": "tidelift"
2919 | }
2920 | ],
2921 | "time": "2024-04-18T09:29:19+00:00"
2922 | },
2923 | {
2924 | "name": "symfony/polyfill-ctype",
2925 | "version": "v1.29.0",
2926 | "source": {
2927 | "type": "git",
2928 | "url": "https://github.com/symfony/polyfill-ctype.git",
2929 | "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4"
2930 | },
2931 | "dist": {
2932 | "type": "zip",
2933 | "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4",
2934 | "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4",
2935 | "shasum": ""
2936 | },
2937 | "require": {
2938 | "php": ">=7.1"
2939 | },
2940 | "provide": {
2941 | "ext-ctype": "*"
2942 | },
2943 | "suggest": {
2944 | "ext-ctype": "For best performance"
2945 | },
2946 | "type": "library",
2947 | "extra": {
2948 | "thanks": {
2949 | "name": "symfony/polyfill",
2950 | "url": "https://github.com/symfony/polyfill"
2951 | }
2952 | },
2953 | "autoload": {
2954 | "files": [
2955 | "bootstrap.php"
2956 | ],
2957 | "psr-4": {
2958 | "Symfony\\Polyfill\\Ctype\\": ""
2959 | }
2960 | },
2961 | "notification-url": "https://packagist.org/downloads/",
2962 | "license": [
2963 | "MIT"
2964 | ],
2965 | "authors": [
2966 | {
2967 | "name": "Gert de Pagter",
2968 | "email": "BackEndTea@gmail.com"
2969 | },
2970 | {
2971 | "name": "Symfony Community",
2972 | "homepage": "https://symfony.com/contributors"
2973 | }
2974 | ],
2975 | "description": "Symfony polyfill for ctype functions",
2976 | "homepage": "https://symfony.com",
2977 | "keywords": [
2978 | "compatibility",
2979 | "ctype",
2980 | "polyfill",
2981 | "portable"
2982 | ],
2983 | "support": {
2984 | "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0"
2985 | },
2986 | "funding": [
2987 | {
2988 | "url": "https://symfony.com/sponsor",
2989 | "type": "custom"
2990 | },
2991 | {
2992 | "url": "https://github.com/fabpot",
2993 | "type": "github"
2994 | },
2995 | {
2996 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
2997 | "type": "tidelift"
2998 | }
2999 | ],
3000 | "time": "2024-01-29T20:11:03+00:00"
3001 | },
3002 | {
3003 | "name": "symfony/polyfill-intl-grapheme",
3004 | "version": "v1.29.0",
3005 | "source": {
3006 | "type": "git",
3007 | "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
3008 | "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f"
3009 | },
3010 | "dist": {
3011 | "type": "zip",
3012 | "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f",
3013 | "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f",
3014 | "shasum": ""
3015 | },
3016 | "require": {
3017 | "php": ">=7.1"
3018 | },
3019 | "suggest": {
3020 | "ext-intl": "For best performance"
3021 | },
3022 | "type": "library",
3023 | "extra": {
3024 | "thanks": {
3025 | "name": "symfony/polyfill",
3026 | "url": "https://github.com/symfony/polyfill"
3027 | }
3028 | },
3029 | "autoload": {
3030 | "files": [
3031 | "bootstrap.php"
3032 | ],
3033 | "psr-4": {
3034 | "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
3035 | }
3036 | },
3037 | "notification-url": "https://packagist.org/downloads/",
3038 | "license": [
3039 | "MIT"
3040 | ],
3041 | "authors": [
3042 | {
3043 | "name": "Nicolas Grekas",
3044 | "email": "p@tchwork.com"
3045 | },
3046 | {
3047 | "name": "Symfony Community",
3048 | "homepage": "https://symfony.com/contributors"
3049 | }
3050 | ],
3051 | "description": "Symfony polyfill for intl's grapheme_* functions",
3052 | "homepage": "https://symfony.com",
3053 | "keywords": [
3054 | "compatibility",
3055 | "grapheme",
3056 | "intl",
3057 | "polyfill",
3058 | "portable",
3059 | "shim"
3060 | ],
3061 | "support": {
3062 | "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0"
3063 | },
3064 | "funding": [
3065 | {
3066 | "url": "https://symfony.com/sponsor",
3067 | "type": "custom"
3068 | },
3069 | {
3070 | "url": "https://github.com/fabpot",
3071 | "type": "github"
3072 | },
3073 | {
3074 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3075 | "type": "tidelift"
3076 | }
3077 | ],
3078 | "time": "2024-01-29T20:11:03+00:00"
3079 | },
3080 | {
3081 | "name": "symfony/polyfill-intl-normalizer",
3082 | "version": "v1.29.0",
3083 | "source": {
3084 | "type": "git",
3085 | "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
3086 | "reference": "bc45c394692b948b4d383a08d7753968bed9a83d"
3087 | },
3088 | "dist": {
3089 | "type": "zip",
3090 | "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d",
3091 | "reference": "bc45c394692b948b4d383a08d7753968bed9a83d",
3092 | "shasum": ""
3093 | },
3094 | "require": {
3095 | "php": ">=7.1"
3096 | },
3097 | "suggest": {
3098 | "ext-intl": "For best performance"
3099 | },
3100 | "type": "library",
3101 | "extra": {
3102 | "thanks": {
3103 | "name": "symfony/polyfill",
3104 | "url": "https://github.com/symfony/polyfill"
3105 | }
3106 | },
3107 | "autoload": {
3108 | "files": [
3109 | "bootstrap.php"
3110 | ],
3111 | "psr-4": {
3112 | "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
3113 | },
3114 | "classmap": [
3115 | "Resources/stubs"
3116 | ]
3117 | },
3118 | "notification-url": "https://packagist.org/downloads/",
3119 | "license": [
3120 | "MIT"
3121 | ],
3122 | "authors": [
3123 | {
3124 | "name": "Nicolas Grekas",
3125 | "email": "p@tchwork.com"
3126 | },
3127 | {
3128 | "name": "Symfony Community",
3129 | "homepage": "https://symfony.com/contributors"
3130 | }
3131 | ],
3132 | "description": "Symfony polyfill for intl's Normalizer class and related functions",
3133 | "homepage": "https://symfony.com",
3134 | "keywords": [
3135 | "compatibility",
3136 | "intl",
3137 | "normalizer",
3138 | "polyfill",
3139 | "portable",
3140 | "shim"
3141 | ],
3142 | "support": {
3143 | "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0"
3144 | },
3145 | "funding": [
3146 | {
3147 | "url": "https://symfony.com/sponsor",
3148 | "type": "custom"
3149 | },
3150 | {
3151 | "url": "https://github.com/fabpot",
3152 | "type": "github"
3153 | },
3154 | {
3155 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3156 | "type": "tidelift"
3157 | }
3158 | ],
3159 | "time": "2024-01-29T20:11:03+00:00"
3160 | },
3161 | {
3162 | "name": "symfony/polyfill-mbstring",
3163 | "version": "v1.29.0",
3164 | "source": {
3165 | "type": "git",
3166 | "url": "https://github.com/symfony/polyfill-mbstring.git",
3167 | "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec"
3168 | },
3169 | "dist": {
3170 | "type": "zip",
3171 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
3172 | "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
3173 | "shasum": ""
3174 | },
3175 | "require": {
3176 | "php": ">=7.1"
3177 | },
3178 | "provide": {
3179 | "ext-mbstring": "*"
3180 | },
3181 | "suggest": {
3182 | "ext-mbstring": "For best performance"
3183 | },
3184 | "type": "library",
3185 | "extra": {
3186 | "thanks": {
3187 | "name": "symfony/polyfill",
3188 | "url": "https://github.com/symfony/polyfill"
3189 | }
3190 | },
3191 | "autoload": {
3192 | "files": [
3193 | "bootstrap.php"
3194 | ],
3195 | "psr-4": {
3196 | "Symfony\\Polyfill\\Mbstring\\": ""
3197 | }
3198 | },
3199 | "notification-url": "https://packagist.org/downloads/",
3200 | "license": [
3201 | "MIT"
3202 | ],
3203 | "authors": [
3204 | {
3205 | "name": "Nicolas Grekas",
3206 | "email": "p@tchwork.com"
3207 | },
3208 | {
3209 | "name": "Symfony Community",
3210 | "homepage": "https://symfony.com/contributors"
3211 | }
3212 | ],
3213 | "description": "Symfony polyfill for the Mbstring extension",
3214 | "homepage": "https://symfony.com",
3215 | "keywords": [
3216 | "compatibility",
3217 | "mbstring",
3218 | "polyfill",
3219 | "portable",
3220 | "shim"
3221 | ],
3222 | "support": {
3223 | "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0"
3224 | },
3225 | "funding": [
3226 | {
3227 | "url": "https://symfony.com/sponsor",
3228 | "type": "custom"
3229 | },
3230 | {
3231 | "url": "https://github.com/fabpot",
3232 | "type": "github"
3233 | },
3234 | {
3235 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3236 | "type": "tidelift"
3237 | }
3238 | ],
3239 | "time": "2024-01-29T20:11:03+00:00"
3240 | },
3241 | {
3242 | "name": "symfony/process",
3243 | "version": "v7.0.7",
3244 | "source": {
3245 | "type": "git",
3246 | "url": "https://github.com/symfony/process.git",
3247 | "reference": "3839e56b94dd1dbd13235d27504e66baf23faba0"
3248 | },
3249 | "dist": {
3250 | "type": "zip",
3251 | "url": "https://api.github.com/repos/symfony/process/zipball/3839e56b94dd1dbd13235d27504e66baf23faba0",
3252 | "reference": "3839e56b94dd1dbd13235d27504e66baf23faba0",
3253 | "shasum": ""
3254 | },
3255 | "require": {
3256 | "php": ">=8.2"
3257 | },
3258 | "type": "library",
3259 | "autoload": {
3260 | "psr-4": {
3261 | "Symfony\\Component\\Process\\": ""
3262 | },
3263 | "exclude-from-classmap": [
3264 | "/Tests/"
3265 | ]
3266 | },
3267 | "notification-url": "https://packagist.org/downloads/",
3268 | "license": [
3269 | "MIT"
3270 | ],
3271 | "authors": [
3272 | {
3273 | "name": "Fabien Potencier",
3274 | "email": "fabien@symfony.com"
3275 | },
3276 | {
3277 | "name": "Symfony Community",
3278 | "homepage": "https://symfony.com/contributors"
3279 | }
3280 | ],
3281 | "description": "Executes commands in sub-processes",
3282 | "homepage": "https://symfony.com",
3283 | "support": {
3284 | "source": "https://github.com/symfony/process/tree/v7.0.7"
3285 | },
3286 | "funding": [
3287 | {
3288 | "url": "https://symfony.com/sponsor",
3289 | "type": "custom"
3290 | },
3291 | {
3292 | "url": "https://github.com/fabpot",
3293 | "type": "github"
3294 | },
3295 | {
3296 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3297 | "type": "tidelift"
3298 | }
3299 | ],
3300 | "time": "2024-04-18T09:29:19+00:00"
3301 | },
3302 | {
3303 | "name": "symfony/service-contracts",
3304 | "version": "v3.5.0",
3305 | "source": {
3306 | "type": "git",
3307 | "url": "https://github.com/symfony/service-contracts.git",
3308 | "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f"
3309 | },
3310 | "dist": {
3311 | "type": "zip",
3312 | "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
3313 | "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
3314 | "shasum": ""
3315 | },
3316 | "require": {
3317 | "php": ">=8.1",
3318 | "psr/container": "^1.1|^2.0",
3319 | "symfony/deprecation-contracts": "^2.5|^3"
3320 | },
3321 | "conflict": {
3322 | "ext-psr": "<1.1|>=2"
3323 | },
3324 | "type": "library",
3325 | "extra": {
3326 | "branch-alias": {
3327 | "dev-main": "3.5-dev"
3328 | },
3329 | "thanks": {
3330 | "name": "symfony/contracts",
3331 | "url": "https://github.com/symfony/contracts"
3332 | }
3333 | },
3334 | "autoload": {
3335 | "psr-4": {
3336 | "Symfony\\Contracts\\Service\\": ""
3337 | },
3338 | "exclude-from-classmap": [
3339 | "/Test/"
3340 | ]
3341 | },
3342 | "notification-url": "https://packagist.org/downloads/",
3343 | "license": [
3344 | "MIT"
3345 | ],
3346 | "authors": [
3347 | {
3348 | "name": "Nicolas Grekas",
3349 | "email": "p@tchwork.com"
3350 | },
3351 | {
3352 | "name": "Symfony Community",
3353 | "homepage": "https://symfony.com/contributors"
3354 | }
3355 | ],
3356 | "description": "Generic abstractions related to writing services",
3357 | "homepage": "https://symfony.com",
3358 | "keywords": [
3359 | "abstractions",
3360 | "contracts",
3361 | "decoupling",
3362 | "interfaces",
3363 | "interoperability",
3364 | "standards"
3365 | ],
3366 | "support": {
3367 | "source": "https://github.com/symfony/service-contracts/tree/v3.5.0"
3368 | },
3369 | "funding": [
3370 | {
3371 | "url": "https://symfony.com/sponsor",
3372 | "type": "custom"
3373 | },
3374 | {
3375 | "url": "https://github.com/fabpot",
3376 | "type": "github"
3377 | },
3378 | {
3379 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3380 | "type": "tidelift"
3381 | }
3382 | ],
3383 | "time": "2024-04-18T09:32:20+00:00"
3384 | },
3385 | {
3386 | "name": "symfony/string",
3387 | "version": "v7.0.7",
3388 | "source": {
3389 | "type": "git",
3390 | "url": "https://github.com/symfony/string.git",
3391 | "reference": "e405b5424dc2528e02e31ba26b83a79fd4eb8f63"
3392 | },
3393 | "dist": {
3394 | "type": "zip",
3395 | "url": "https://api.github.com/repos/symfony/string/zipball/e405b5424dc2528e02e31ba26b83a79fd4eb8f63",
3396 | "reference": "e405b5424dc2528e02e31ba26b83a79fd4eb8f63",
3397 | "shasum": ""
3398 | },
3399 | "require": {
3400 | "php": ">=8.2",
3401 | "symfony/polyfill-ctype": "~1.8",
3402 | "symfony/polyfill-intl-grapheme": "~1.0",
3403 | "symfony/polyfill-intl-normalizer": "~1.0",
3404 | "symfony/polyfill-mbstring": "~1.0"
3405 | },
3406 | "conflict": {
3407 | "symfony/translation-contracts": "<2.5"
3408 | },
3409 | "require-dev": {
3410 | "symfony/error-handler": "^6.4|^7.0",
3411 | "symfony/http-client": "^6.4|^7.0",
3412 | "symfony/intl": "^6.4|^7.0",
3413 | "symfony/translation-contracts": "^2.5|^3.0",
3414 | "symfony/var-exporter": "^6.4|^7.0"
3415 | },
3416 | "type": "library",
3417 | "autoload": {
3418 | "files": [
3419 | "Resources/functions.php"
3420 | ],
3421 | "psr-4": {
3422 | "Symfony\\Component\\String\\": ""
3423 | },
3424 | "exclude-from-classmap": [
3425 | "/Tests/"
3426 | ]
3427 | },
3428 | "notification-url": "https://packagist.org/downloads/",
3429 | "license": [
3430 | "MIT"
3431 | ],
3432 | "authors": [
3433 | {
3434 | "name": "Nicolas Grekas",
3435 | "email": "p@tchwork.com"
3436 | },
3437 | {
3438 | "name": "Symfony Community",
3439 | "homepage": "https://symfony.com/contributors"
3440 | }
3441 | ],
3442 | "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
3443 | "homepage": "https://symfony.com",
3444 | "keywords": [
3445 | "grapheme",
3446 | "i18n",
3447 | "string",
3448 | "unicode",
3449 | "utf-8",
3450 | "utf8"
3451 | ],
3452 | "support": {
3453 | "source": "https://github.com/symfony/string/tree/v7.0.7"
3454 | },
3455 | "funding": [
3456 | {
3457 | "url": "https://symfony.com/sponsor",
3458 | "type": "custom"
3459 | },
3460 | {
3461 | "url": "https://github.com/fabpot",
3462 | "type": "github"
3463 | },
3464 | {
3465 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
3466 | "type": "tidelift"
3467 | }
3468 | ],
3469 | "time": "2024-04-18T09:29:19+00:00"
3470 | },
3471 | {
3472 | "name": "symplify/easy-coding-standard",
3473 | "version": "12.1.14",
3474 | "source": {
3475 | "type": "git",
3476 | "url": "https://github.com/easy-coding-standard/easy-coding-standard.git",
3477 | "reference": "e3c4a241ee36704f7cf920d5931f39693e64afd5"
3478 | },
3479 | "dist": {
3480 | "type": "zip",
3481 | "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/e3c4a241ee36704f7cf920d5931f39693e64afd5",
3482 | "reference": "e3c4a241ee36704f7cf920d5931f39693e64afd5",
3483 | "shasum": ""
3484 | },
3485 | "require": {
3486 | "php": ">=7.2"
3487 | },
3488 | "conflict": {
3489 | "friendsofphp/php-cs-fixer": "<3.46",
3490 | "phpcsstandards/php_codesniffer": "<3.8",
3491 | "symplify/coding-standard": "<12.1"
3492 | },
3493 | "bin": [
3494 | "bin/ecs"
3495 | ],
3496 | "type": "library",
3497 | "autoload": {
3498 | "files": [
3499 | "bootstrap.php"
3500 | ]
3501 | },
3502 | "notification-url": "https://packagist.org/downloads/",
3503 | "license": [
3504 | "MIT"
3505 | ],
3506 | "description": "Use Coding Standard with 0-knowledge of PHP-CS-Fixer and PHP_CodeSniffer",
3507 | "keywords": [
3508 | "Code style",
3509 | "automation",
3510 | "fixer",
3511 | "static analysis"
3512 | ],
3513 | "support": {
3514 | "issues": "https://github.com/easy-coding-standard/easy-coding-standard/issues",
3515 | "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.1.14"
3516 | },
3517 | "funding": [
3518 | {
3519 | "url": "https://www.paypal.me/rectorphp",
3520 | "type": "custom"
3521 | },
3522 | {
3523 | "url": "https://github.com/tomasvotruba",
3524 | "type": "github"
3525 | }
3526 | ],
3527 | "time": "2024-02-23T13:10:40+00:00"
3528 | },
3529 | {
3530 | "name": "theseer/tokenizer",
3531 | "version": "1.2.3",
3532 | "source": {
3533 | "type": "git",
3534 | "url": "https://github.com/theseer/tokenizer.git",
3535 | "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
3536 | },
3537 | "dist": {
3538 | "type": "zip",
3539 | "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
3540 | "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
3541 | "shasum": ""
3542 | },
3543 | "require": {
3544 | "ext-dom": "*",
3545 | "ext-tokenizer": "*",
3546 | "ext-xmlwriter": "*",
3547 | "php": "^7.2 || ^8.0"
3548 | },
3549 | "type": "library",
3550 | "autoload": {
3551 | "classmap": [
3552 | "src/"
3553 | ]
3554 | },
3555 | "notification-url": "https://packagist.org/downloads/",
3556 | "license": [
3557 | "BSD-3-Clause"
3558 | ],
3559 | "authors": [
3560 | {
3561 | "name": "Arne Blankerts",
3562 | "email": "arne@blankerts.de",
3563 | "role": "Developer"
3564 | }
3565 | ],
3566 | "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
3567 | "support": {
3568 | "issues": "https://github.com/theseer/tokenizer/issues",
3569 | "source": "https://github.com/theseer/tokenizer/tree/1.2.3"
3570 | },
3571 | "funding": [
3572 | {
3573 | "url": "https://github.com/theseer",
3574 | "type": "github"
3575 | }
3576 | ],
3577 | "time": "2024-03-03T12:36:25+00:00"
3578 | },
3579 | {
3580 | "name": "vimeo/psalm",
3581 | "version": "5.24.0",
3582 | "source": {
3583 | "type": "git",
3584 | "url": "https://github.com/vimeo/psalm.git",
3585 | "reference": "462c80e31c34e58cc4f750c656be3927e80e550e"
3586 | },
3587 | "dist": {
3588 | "type": "zip",
3589 | "url": "https://api.github.com/repos/vimeo/psalm/zipball/462c80e31c34e58cc4f750c656be3927e80e550e",
3590 | "reference": "462c80e31c34e58cc4f750c656be3927e80e550e",
3591 | "shasum": ""
3592 | },
3593 | "require": {
3594 | "amphp/amp": "^2.4.2",
3595 | "amphp/byte-stream": "^1.5",
3596 | "composer-runtime-api": "^2",
3597 | "composer/semver": "^1.4 || ^2.0 || ^3.0",
3598 | "composer/xdebug-handler": "^2.0 || ^3.0",
3599 | "dnoegel/php-xdg-base-dir": "^0.1.1",
3600 | "ext-ctype": "*",
3601 | "ext-dom": "*",
3602 | "ext-json": "*",
3603 | "ext-libxml": "*",
3604 | "ext-mbstring": "*",
3605 | "ext-simplexml": "*",
3606 | "ext-tokenizer": "*",
3607 | "felixfbecker/advanced-json-rpc": "^3.1",
3608 | "felixfbecker/language-server-protocol": "^1.5.2",
3609 | "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1 || ^1.0.0",
3610 | "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
3611 | "nikic/php-parser": "^4.16",
3612 | "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0",
3613 | "sebastian/diff": "^4.0 || ^5.0 || ^6.0",
3614 | "spatie/array-to-xml": "^2.17.0 || ^3.0",
3615 | "symfony/console": "^4.1.6 || ^5.0 || ^6.0 || ^7.0",
3616 | "symfony/filesystem": "^5.4 || ^6.0 || ^7.0"
3617 | },
3618 | "conflict": {
3619 | "nikic/php-parser": "4.17.0"
3620 | },
3621 | "provide": {
3622 | "psalm/psalm": "self.version"
3623 | },
3624 | "require-dev": {
3625 | "amphp/phpunit-util": "^2.0",
3626 | "bamarni/composer-bin-plugin": "^1.4",
3627 | "brianium/paratest": "^6.9",
3628 | "ext-curl": "*",
3629 | "mockery/mockery": "^1.5",
3630 | "nunomaduro/mock-final-classes": "^1.1",
3631 | "php-parallel-lint/php-parallel-lint": "^1.2",
3632 | "phpstan/phpdoc-parser": "^1.6",
3633 | "phpunit/phpunit": "^9.6",
3634 | "psalm/plugin-mockery": "^1.1",
3635 | "psalm/plugin-phpunit": "^0.18",
3636 | "slevomat/coding-standard": "^8.4",
3637 | "squizlabs/php_codesniffer": "^3.6",
3638 | "symfony/process": "^4.4 || ^5.0 || ^6.0 || ^7.0"
3639 | },
3640 | "suggest": {
3641 | "ext-curl": "In order to send data to shepherd",
3642 | "ext-igbinary": "^2.0.5 is required, used to serialize caching data"
3643 | },
3644 | "bin": [
3645 | "psalm",
3646 | "psalm-language-server",
3647 | "psalm-plugin",
3648 | "psalm-refactor",
3649 | "psalter"
3650 | ],
3651 | "type": "project",
3652 | "extra": {
3653 | "branch-alias": {
3654 | "dev-master": "5.x-dev",
3655 | "dev-4.x": "4.x-dev",
3656 | "dev-3.x": "3.x-dev",
3657 | "dev-2.x": "2.x-dev",
3658 | "dev-1.x": "1.x-dev"
3659 | }
3660 | },
3661 | "autoload": {
3662 | "psr-4": {
3663 | "Psalm\\": "src/Psalm/"
3664 | }
3665 | },
3666 | "notification-url": "https://packagist.org/downloads/",
3667 | "license": [
3668 | "MIT"
3669 | ],
3670 | "authors": [
3671 | {
3672 | "name": "Matthew Brown"
3673 | }
3674 | ],
3675 | "description": "A static analysis tool for finding errors in PHP applications",
3676 | "keywords": [
3677 | "code",
3678 | "inspection",
3679 | "php",
3680 | "static analysis"
3681 | ],
3682 | "support": {
3683 | "docs": "https://psalm.dev/docs",
3684 | "issues": "https://github.com/vimeo/psalm/issues",
3685 | "source": "https://github.com/vimeo/psalm"
3686 | },
3687 | "time": "2024-05-01T19:32:08+00:00"
3688 | },
3689 | {
3690 | "name": "webmozart/assert",
3691 | "version": "1.11.0",
3692 | "source": {
3693 | "type": "git",
3694 | "url": "https://github.com/webmozarts/assert.git",
3695 | "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
3696 | },
3697 | "dist": {
3698 | "type": "zip",
3699 | "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
3700 | "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
3701 | "shasum": ""
3702 | },
3703 | "require": {
3704 | "ext-ctype": "*",
3705 | "php": "^7.2 || ^8.0"
3706 | },
3707 | "conflict": {
3708 | "phpstan/phpstan": "<0.12.20",
3709 | "vimeo/psalm": "<4.6.1 || 4.6.2"
3710 | },
3711 | "require-dev": {
3712 | "phpunit/phpunit": "^8.5.13"
3713 | },
3714 | "type": "library",
3715 | "extra": {
3716 | "branch-alias": {
3717 | "dev-master": "1.10-dev"
3718 | }
3719 | },
3720 | "autoload": {
3721 | "psr-4": {
3722 | "Webmozart\\Assert\\": "src/"
3723 | }
3724 | },
3725 | "notification-url": "https://packagist.org/downloads/",
3726 | "license": [
3727 | "MIT"
3728 | ],
3729 | "authors": [
3730 | {
3731 | "name": "Bernhard Schussek",
3732 | "email": "bschussek@gmail.com"
3733 | }
3734 | ],
3735 | "description": "Assertions to validate method input/output with nice error messages.",
3736 | "keywords": [
3737 | "assert",
3738 | "check",
3739 | "validate"
3740 | ],
3741 | "support": {
3742 | "issues": "https://github.com/webmozarts/assert/issues",
3743 | "source": "https://github.com/webmozarts/assert/tree/1.11.0"
3744 | },
3745 | "time": "2022-06-03T18:03:27+00:00"
3746 | }
3747 | ],
3748 | "aliases": [],
3749 | "minimum-stability": "stable",
3750 | "stability-flags": [],
3751 | "prefer-stable": true,
3752 | "prefer-lowest": false,
3753 | "platform": {
3754 | "php": "^8.3"
3755 | },
3756 | "platform-dev": [],
3757 | "plugin-api-version": "2.6.0"
3758 | }
3759 |
--------------------------------------------------------------------------------
/ecs.php:
--------------------------------------------------------------------------------
1 | paths([__DIR__ . '/src',]);
8 | $ecsConfig->paths([__DIR__ . '/tests',]);
9 |
10 | $ecsConfig->sets([CodingStyle::DEFAULT]);
11 | };
12 |
--------------------------------------------------------------------------------
/phpunit.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 | tests
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/psalm.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/src/Codelyber.php:
--------------------------------------------------------------------------------
1 | name;
18 | }
19 |
20 | public function greet(): string
21 | {
22 | return self::GREETING;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/tests/CodelyberTest.php:
--------------------------------------------------------------------------------
1 | assertEquals('CodelyTV', $codelyber->greet());
18 | }
19 | }
20 |
--------------------------------------------------------------------------------