├── .gitignore
├── .styleci.yml
├── .travis.yml
├── LICENSE
├── composer.json
├── composer.lock
├── phpstan.neon
├── phpunit.xml
├── readme.md
├── src
├── BladeRenderer.php
├── FontAwesomeServiceProvider.php
├── IconRenderer.php
├── Middleware
│ └── InjectStyleSheet.php
├── Models
│ ├── Icon.php
│ └── Svg.php
├── SvgParser.php
└── config
│ └── fontawesome.php
└── tests
├── BladeRendererTest.php
├── IconRendererTest.php
├── MiddlewareTest.php
└── TestCase.php
/.gitignore:
--------------------------------------------------------------------------------
1 | /vendor/
2 | .phpunit.result.cache
3 |
--------------------------------------------------------------------------------
/.styleci.yml:
--------------------------------------------------------------------------------
1 | preset: recommended
2 |
3 | risky: true
4 |
5 | disabled:
6 | - align_double_arrow
7 | - concat_without_spaces
8 | - elseif
9 | - phpdoc_align
10 |
11 | enabled:
12 | - native_constant_invocation
13 | - native_function_invocation
14 | - static_lambda
15 |
16 | finder:
17 | exclude:
18 | - vendor
19 | name: "*.php"
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: php
2 |
3 | matrix:
4 | fast_finish: true
5 | include:
6 | - php: 7.2
7 | - php: 7.3
8 | - php: 7.4
9 |
10 | cache:
11 | directories:
12 | - $HOME/.composer/cache
13 |
14 | before_install:
15 | - travis_retry composer self-update
16 |
17 | install:
18 | - travis_retry composer update --no-interaction --prefer-dist --no-suggest
19 |
20 | script:
21 | - vendor/bin/phpunit
22 | - vendor/bin/phpstan analyse
23 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 - 2020 Jeroen Deviaene
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jerodev/laravel-font-awesome",
3 | "description": "A Laravel package that renders Font Awesome icons server-side",
4 | "type": "library",
5 | "license": "MIT",
6 | "keywords": [
7 | "Laravel",
8 | "FontAwesome",
9 | "svg"
10 | ],
11 | "homepage": "https://github.com/jerodev/laravel-font-awesome",
12 | "authors": [
13 | {
14 | "name": "Jeroen Deviaene",
15 | "email": "jeroen@deviaene.eu",
16 | "homepage": "https://www.deviaene.eu/",
17 | "role": "Developer"
18 | }
19 | ],
20 | "minimum-stability": "dev",
21 | "prefer-stable" : true,
22 | "autoload": {
23 | "psr-4": {
24 | "Jerodev\\LaraFontAwesome\\": "src/"
25 | }
26 | },
27 | "autoload-dev": {
28 | "psr-4": {
29 | "Jerodev\\LaraFontAwesome\\Tests\\": "tests/"
30 | }
31 | },
32 | "extra": {
33 | "laravel": {
34 | "providers": [
35 | "Jerodev\\LaraFontAwesome\\FontAwesomeServiceProvider"
36 | ]
37 | }
38 | },
39 | "require": {
40 | "illuminate/support": "6.x",
41 | "fortawesome/font-awesome": "^5.12"
42 | },
43 | "require-dev": {
44 | "phpstan/phpstan": "^0.12",
45 | "phpunit/phpunit": "^8.0",
46 | "orchestra/testbench": "4.x"
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/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": "751a266821ef52821f1d36e8a10d09e6",
8 | "packages": [
9 | {
10 | "name": "doctrine/inflector",
11 | "version": "1.3.1",
12 | "source": {
13 | "type": "git",
14 | "url": "https://github.com/doctrine/inflector.git",
15 | "reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1"
16 | },
17 | "dist": {
18 | "type": "zip",
19 | "url": "https://api.github.com/repos/doctrine/inflector/zipball/ec3a55242203ffa6a4b27c58176da97ff0a7aec1",
20 | "reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1",
21 | "shasum": ""
22 | },
23 | "require": {
24 | "php": "^7.1"
25 | },
26 | "require-dev": {
27 | "phpunit/phpunit": "^6.2"
28 | },
29 | "type": "library",
30 | "extra": {
31 | "branch-alias": {
32 | "dev-master": "1.3.x-dev"
33 | }
34 | },
35 | "autoload": {
36 | "psr-4": {
37 | "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector"
38 | }
39 | },
40 | "notification-url": "https://packagist.org/downloads/",
41 | "license": [
42 | "MIT"
43 | ],
44 | "authors": [
45 | {
46 | "name": "Guilherme Blanco",
47 | "email": "guilhermeblanco@gmail.com"
48 | },
49 | {
50 | "name": "Roman Borschel",
51 | "email": "roman@code-factory.org"
52 | },
53 | {
54 | "name": "Benjamin Eberlei",
55 | "email": "kontakt@beberlei.de"
56 | },
57 | {
58 | "name": "Jonathan Wage",
59 | "email": "jonwage@gmail.com"
60 | },
61 | {
62 | "name": "Johannes Schmitt",
63 | "email": "schmittjoh@gmail.com"
64 | }
65 | ],
66 | "description": "Common String Manipulations with regard to casing and singular/plural rules.",
67 | "homepage": "http://www.doctrine-project.org",
68 | "keywords": [
69 | "inflection",
70 | "pluralize",
71 | "singularize",
72 | "string"
73 | ],
74 | "time": "2019-10-30T19:59:35+00:00"
75 | },
76 | {
77 | "name": "doctrine/lexer",
78 | "version": "1.2.0",
79 | "source": {
80 | "type": "git",
81 | "url": "https://github.com/doctrine/lexer.git",
82 | "reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6"
83 | },
84 | "dist": {
85 | "type": "zip",
86 | "url": "https://api.github.com/repos/doctrine/lexer/zipball/5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6",
87 | "reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6",
88 | "shasum": ""
89 | },
90 | "require": {
91 | "php": "^7.2"
92 | },
93 | "require-dev": {
94 | "doctrine/coding-standard": "^6.0",
95 | "phpstan/phpstan": "^0.11.8",
96 | "phpunit/phpunit": "^8.2"
97 | },
98 | "type": "library",
99 | "extra": {
100 | "branch-alias": {
101 | "dev-master": "1.2.x-dev"
102 | }
103 | },
104 | "autoload": {
105 | "psr-4": {
106 | "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer"
107 | }
108 | },
109 | "notification-url": "https://packagist.org/downloads/",
110 | "license": [
111 | "MIT"
112 | ],
113 | "authors": [
114 | {
115 | "name": "Guilherme Blanco",
116 | "email": "guilhermeblanco@gmail.com"
117 | },
118 | {
119 | "name": "Roman Borschel",
120 | "email": "roman@code-factory.org"
121 | },
122 | {
123 | "name": "Johannes Schmitt",
124 | "email": "schmittjoh@gmail.com"
125 | }
126 | ],
127 | "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.",
128 | "homepage": "https://www.doctrine-project.org/projects/lexer.html",
129 | "keywords": [
130 | "annotations",
131 | "docblock",
132 | "lexer",
133 | "parser",
134 | "php"
135 | ],
136 | "time": "2019-10-30T14:39:59+00:00"
137 | },
138 | {
139 | "name": "dragonmantank/cron-expression",
140 | "version": "v2.3.0",
141 | "source": {
142 | "type": "git",
143 | "url": "https://github.com/dragonmantank/cron-expression.git",
144 | "reference": "72b6fbf76adb3cf5bc0db68559b33d41219aba27"
145 | },
146 | "dist": {
147 | "type": "zip",
148 | "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/72b6fbf76adb3cf5bc0db68559b33d41219aba27",
149 | "reference": "72b6fbf76adb3cf5bc0db68559b33d41219aba27",
150 | "shasum": ""
151 | },
152 | "require": {
153 | "php": "^7.0"
154 | },
155 | "require-dev": {
156 | "phpunit/phpunit": "^6.4|^7.0"
157 | },
158 | "type": "library",
159 | "extra": {
160 | "branch-alias": {
161 | "dev-master": "2.3-dev"
162 | }
163 | },
164 | "autoload": {
165 | "psr-4": {
166 | "Cron\\": "src/Cron/"
167 | }
168 | },
169 | "notification-url": "https://packagist.org/downloads/",
170 | "license": [
171 | "MIT"
172 | ],
173 | "authors": [
174 | {
175 | "name": "Michael Dowling",
176 | "email": "mtdowling@gmail.com",
177 | "homepage": "https://github.com/mtdowling"
178 | },
179 | {
180 | "name": "Chris Tankersley",
181 | "email": "chris@ctankersley.com",
182 | "homepage": "https://github.com/dragonmantank"
183 | }
184 | ],
185 | "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due",
186 | "keywords": [
187 | "cron",
188 | "schedule"
189 | ],
190 | "time": "2019-03-31T00:38:28+00:00"
191 | },
192 | {
193 | "name": "egulias/email-validator",
194 | "version": "2.1.13",
195 | "source": {
196 | "type": "git",
197 | "url": "https://github.com/egulias/EmailValidator.git",
198 | "reference": "834593d5900615639208417760ba6a17299e2497"
199 | },
200 | "dist": {
201 | "type": "zip",
202 | "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/834593d5900615639208417760ba6a17299e2497",
203 | "reference": "834593d5900615639208417760ba6a17299e2497",
204 | "shasum": ""
205 | },
206 | "require": {
207 | "doctrine/lexer": "^1.0.1",
208 | "php": ">=5.5"
209 | },
210 | "require-dev": {
211 | "dominicsayers/isemail": "^3.0.7",
212 | "phpunit/phpunit": "^4.8.36|^7.5.15",
213 | "satooshi/php-coveralls": "^1.0.1"
214 | },
215 | "suggest": {
216 | "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation"
217 | },
218 | "type": "library",
219 | "extra": {
220 | "branch-alias": {
221 | "dev-master": "2.1.x-dev"
222 | }
223 | },
224 | "autoload": {
225 | "psr-4": {
226 | "Egulias\\EmailValidator\\": "EmailValidator"
227 | }
228 | },
229 | "notification-url": "https://packagist.org/downloads/",
230 | "license": [
231 | "MIT"
232 | ],
233 | "authors": [
234 | {
235 | "name": "Eduardo Gulias Davis"
236 | }
237 | ],
238 | "description": "A library for validating emails against several RFCs",
239 | "homepage": "https://github.com/egulias/EmailValidator",
240 | "keywords": [
241 | "email",
242 | "emailvalidation",
243 | "emailvalidator",
244 | "validation",
245 | "validator"
246 | ],
247 | "time": "2019-12-30T08:14:25+00:00"
248 | },
249 | {
250 | "name": "erusev/parsedown",
251 | "version": "1.7.4",
252 | "source": {
253 | "type": "git",
254 | "url": "https://github.com/erusev/parsedown.git",
255 | "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3"
256 | },
257 | "dist": {
258 | "type": "zip",
259 | "url": "https://api.github.com/repos/erusev/parsedown/zipball/cb17b6477dfff935958ba01325f2e8a2bfa6dab3",
260 | "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3",
261 | "shasum": ""
262 | },
263 | "require": {
264 | "ext-mbstring": "*",
265 | "php": ">=5.3.0"
266 | },
267 | "require-dev": {
268 | "phpunit/phpunit": "^4.8.35"
269 | },
270 | "type": "library",
271 | "autoload": {
272 | "psr-0": {
273 | "Parsedown": ""
274 | }
275 | },
276 | "notification-url": "https://packagist.org/downloads/",
277 | "license": [
278 | "MIT"
279 | ],
280 | "authors": [
281 | {
282 | "name": "Emanuil Rusev",
283 | "email": "hello@erusev.com",
284 | "homepage": "http://erusev.com"
285 | }
286 | ],
287 | "description": "Parser for Markdown.",
288 | "homepage": "http://parsedown.org",
289 | "keywords": [
290 | "markdown",
291 | "parser"
292 | ],
293 | "time": "2019-12-30T22:54:17+00:00"
294 | },
295 | {
296 | "name": "fortawesome/font-awesome",
297 | "version": "5.12.0",
298 | "source": {
299 | "type": "git",
300 | "url": "https://github.com/FortAwesome/Font-Awesome.git",
301 | "reference": "d8db3d032d22e7a5e21f3b40905b7867be19bb02"
302 | },
303 | "dist": {
304 | "type": "zip",
305 | "url": "https://api.github.com/repos/FortAwesome/Font-Awesome/zipball/d8db3d032d22e7a5e21f3b40905b7867be19bb02",
306 | "reference": "d8db3d032d22e7a5e21f3b40905b7867be19bb02",
307 | "shasum": ""
308 | },
309 | "type": "library",
310 | "notification-url": "https://packagist.org/downloads/",
311 | "license": [
312 | "CC-BY-4.0",
313 | "OFL-1.1",
314 | "MIT"
315 | ],
316 | "authors": [
317 | {
318 | "name": "Travis Chase",
319 | "homepage": "http://twitter.com/supercodepoet"
320 | },
321 | {
322 | "name": "Dave Gandy",
323 | "homepage": "http://twitter.com/davegandy"
324 | },
325 | {
326 | "name": "Rob Madole",
327 | "homepage": "http://twitter.com/robmadole"
328 | },
329 | {
330 | "name": "Jory Raphael",
331 | "homepage": "http://twitter.com/sensibleworld"
332 | },
333 | {
334 | "name": "Geremia Taglialatela",
335 | "homepage": "http://twitter.com/gtagliala"
336 | },
337 | {
338 | "name": "Brian Talbot",
339 | "homepage": "http://twitter.com/talbs"
340 | },
341 | {
342 | "name": "Mike Wilkerson",
343 | "homepage": "http://twitter.com/mw77"
344 | }
345 | ],
346 | "description": "The iconic font, CSS, and SVG framework",
347 | "homepage": "https://fontawesome.com",
348 | "keywords": [
349 | "FontAwesome",
350 | "awesome",
351 | "bootstrap",
352 | "font",
353 | "icon",
354 | "svg"
355 | ],
356 | "time": "2019-12-10T22:52:13+00:00"
357 | },
358 | {
359 | "name": "laravel/framework",
360 | "version": "v6.9.0",
361 | "source": {
362 | "type": "git",
363 | "url": "https://github.com/laravel/framework.git",
364 | "reference": "60610be97ca389fa4b959d4d13fb3690970d9fb7"
365 | },
366 | "dist": {
367 | "type": "zip",
368 | "url": "https://api.github.com/repos/laravel/framework/zipball/60610be97ca389fa4b959d4d13fb3690970d9fb7",
369 | "reference": "60610be97ca389fa4b959d4d13fb3690970d9fb7",
370 | "shasum": ""
371 | },
372 | "require": {
373 | "doctrine/inflector": "^1.1",
374 | "dragonmantank/cron-expression": "^2.0",
375 | "egulias/email-validator": "^2.1.10",
376 | "erusev/parsedown": "^1.7",
377 | "ext-json": "*",
378 | "ext-mbstring": "*",
379 | "ext-openssl": "*",
380 | "league/flysystem": "^1.0.8",
381 | "monolog/monolog": "^1.12|^2.0",
382 | "nesbot/carbon": "^2.0",
383 | "opis/closure": "^3.1",
384 | "php": "^7.2",
385 | "psr/container": "^1.0",
386 | "psr/simple-cache": "^1.0",
387 | "ramsey/uuid": "^3.7",
388 | "swiftmailer/swiftmailer": "^6.0",
389 | "symfony/console": "^4.3.4",
390 | "symfony/debug": "^4.3.4",
391 | "symfony/finder": "^4.3.4",
392 | "symfony/http-foundation": "^4.3.4",
393 | "symfony/http-kernel": "^4.3.4",
394 | "symfony/process": "^4.3.4",
395 | "symfony/routing": "^4.3.4",
396 | "symfony/var-dumper": "^4.3.4",
397 | "tijsverkoyen/css-to-inline-styles": "^2.2.1",
398 | "vlucas/phpdotenv": "^3.3"
399 | },
400 | "conflict": {
401 | "tightenco/collect": "<5.5.33"
402 | },
403 | "replace": {
404 | "illuminate/auth": "self.version",
405 | "illuminate/broadcasting": "self.version",
406 | "illuminate/bus": "self.version",
407 | "illuminate/cache": "self.version",
408 | "illuminate/config": "self.version",
409 | "illuminate/console": "self.version",
410 | "illuminate/container": "self.version",
411 | "illuminate/contracts": "self.version",
412 | "illuminate/cookie": "self.version",
413 | "illuminate/database": "self.version",
414 | "illuminate/encryption": "self.version",
415 | "illuminate/events": "self.version",
416 | "illuminate/filesystem": "self.version",
417 | "illuminate/hashing": "self.version",
418 | "illuminate/http": "self.version",
419 | "illuminate/log": "self.version",
420 | "illuminate/mail": "self.version",
421 | "illuminate/notifications": "self.version",
422 | "illuminate/pagination": "self.version",
423 | "illuminate/pipeline": "self.version",
424 | "illuminate/queue": "self.version",
425 | "illuminate/redis": "self.version",
426 | "illuminate/routing": "self.version",
427 | "illuminate/session": "self.version",
428 | "illuminate/support": "self.version",
429 | "illuminate/translation": "self.version",
430 | "illuminate/validation": "self.version",
431 | "illuminate/view": "self.version"
432 | },
433 | "require-dev": {
434 | "aws/aws-sdk-php": "^3.0",
435 | "doctrine/dbal": "^2.6",
436 | "filp/whoops": "^2.4",
437 | "guzzlehttp/guzzle": "^6.3",
438 | "league/flysystem-cached-adapter": "^1.0",
439 | "mockery/mockery": "^1.2.3",
440 | "moontoast/math": "^1.1",
441 | "orchestra/testbench-core": "^4.0",
442 | "pda/pheanstalk": "^4.0",
443 | "phpunit/phpunit": "^8.3",
444 | "predis/predis": "^1.1.1",
445 | "symfony/cache": "^4.3",
446 | "true/punycode": "^2.1"
447 | },
448 | "suggest": {
449 | "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.0).",
450 | "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).",
451 | "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().",
452 | "ext-memcached": "Required to use the memcache cache driver.",
453 | "ext-pcntl": "Required to use all features of the queue worker.",
454 | "ext-posix": "Required to use all features of the queue worker.",
455 | "ext-redis": "Required to use the Redis cache and queue drivers.",
456 | "filp/whoops": "Required for friendly error pages in development (^2.4).",
457 | "fzaninotto/faker": "Required to use the eloquent factory builder (^1.4).",
458 | "guzzlehttp/guzzle": "Required to use the Mailgun mail driver and the ping methods on schedules (^6.0).",
459 | "laravel/tinker": "Required to use the tinker console command (^1.0).",
460 | "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).",
461 | "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).",
462 | "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).",
463 | "moontoast/math": "Required to use ordered UUIDs (^1.1).",
464 | "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).",
465 | "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
466 | "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).",
467 | "symfony/cache": "Required to PSR-6 cache bridge (^4.3.4).",
468 | "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^1.2).",
469 | "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)."
470 | },
471 | "type": "library",
472 | "extra": {
473 | "branch-alias": {
474 | "dev-master": "6.x-dev"
475 | }
476 | },
477 | "autoload": {
478 | "files": [
479 | "src/Illuminate/Foundation/helpers.php",
480 | "src/Illuminate/Support/helpers.php"
481 | ],
482 | "psr-4": {
483 | "Illuminate\\": "src/Illuminate/"
484 | }
485 | },
486 | "notification-url": "https://packagist.org/downloads/",
487 | "license": [
488 | "MIT"
489 | ],
490 | "authors": [
491 | {
492 | "name": "Taylor Otwell",
493 | "email": "taylor@laravel.com"
494 | }
495 | ],
496 | "description": "The Laravel Framework.",
497 | "homepage": "https://laravel.com",
498 | "keywords": [
499 | "framework",
500 | "laravel"
501 | ],
502 | "time": "2019-12-19T18:16:22+00:00"
503 | },
504 | {
505 | "name": "league/flysystem",
506 | "version": "1.0.63",
507 | "source": {
508 | "type": "git",
509 | "url": "https://github.com/thephpleague/flysystem.git",
510 | "reference": "8132daec326565036bc8e8d1876f77ec183a7bd6"
511 | },
512 | "dist": {
513 | "type": "zip",
514 | "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/8132daec326565036bc8e8d1876f77ec183a7bd6",
515 | "reference": "8132daec326565036bc8e8d1876f77ec183a7bd6",
516 | "shasum": ""
517 | },
518 | "require": {
519 | "ext-fileinfo": "*",
520 | "php": ">=5.5.9"
521 | },
522 | "conflict": {
523 | "league/flysystem-sftp": "<1.0.6"
524 | },
525 | "require-dev": {
526 | "phpspec/phpspec": "^3.4",
527 | "phpunit/phpunit": "^5.7.10"
528 | },
529 | "suggest": {
530 | "ext-fileinfo": "Required for MimeType",
531 | "ext-ftp": "Allows you to use FTP server storage",
532 | "ext-openssl": "Allows you to use FTPS server storage",
533 | "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2",
534 | "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3",
535 | "league/flysystem-azure": "Allows you to use Windows Azure Blob storage",
536 | "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching",
537 | "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem",
538 | "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files",
539 | "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib",
540 | "league/flysystem-webdav": "Allows you to use WebDAV storage",
541 | "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter",
542 | "spatie/flysystem-dropbox": "Allows you to use Dropbox storage",
543 | "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications"
544 | },
545 | "type": "library",
546 | "extra": {
547 | "branch-alias": {
548 | "dev-master": "1.1-dev"
549 | }
550 | },
551 | "autoload": {
552 | "psr-4": {
553 | "League\\Flysystem\\": "src/"
554 | }
555 | },
556 | "notification-url": "https://packagist.org/downloads/",
557 | "license": [
558 | "MIT"
559 | ],
560 | "authors": [
561 | {
562 | "name": "Frank de Jonge",
563 | "email": "info@frenky.net"
564 | }
565 | ],
566 | "description": "Filesystem abstraction: Many filesystems, one API.",
567 | "keywords": [
568 | "Cloud Files",
569 | "WebDAV",
570 | "abstraction",
571 | "aws",
572 | "cloud",
573 | "copy.com",
574 | "dropbox",
575 | "file systems",
576 | "files",
577 | "filesystem",
578 | "filesystems",
579 | "ftp",
580 | "rackspace",
581 | "remote",
582 | "s3",
583 | "sftp",
584 | "storage"
585 | ],
586 | "time": "2020-01-04T16:30:31+00:00"
587 | },
588 | {
589 | "name": "monolog/monolog",
590 | "version": "2.0.2",
591 | "source": {
592 | "type": "git",
593 | "url": "https://github.com/Seldaek/monolog.git",
594 | "reference": "c861fcba2ca29404dc9e617eedd9eff4616986b8"
595 | },
596 | "dist": {
597 | "type": "zip",
598 | "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c861fcba2ca29404dc9e617eedd9eff4616986b8",
599 | "reference": "c861fcba2ca29404dc9e617eedd9eff4616986b8",
600 | "shasum": ""
601 | },
602 | "require": {
603 | "php": "^7.2",
604 | "psr/log": "^1.0.1"
605 | },
606 | "provide": {
607 | "psr/log-implementation": "1.0.0"
608 | },
609 | "require-dev": {
610 | "aws/aws-sdk-php": "^2.4.9 || ^3.0",
611 | "doctrine/couchdb": "~1.0@dev",
612 | "elasticsearch/elasticsearch": "^6.0",
613 | "graylog2/gelf-php": "^1.4.2",
614 | "jakub-onderka/php-parallel-lint": "^0.9",
615 | "php-amqplib/php-amqplib": "~2.4",
616 | "php-console/php-console": "^3.1.3",
617 | "phpspec/prophecy": "^1.6.1",
618 | "phpunit/phpunit": "^8.3",
619 | "predis/predis": "^1.1",
620 | "rollbar/rollbar": "^1.3",
621 | "ruflin/elastica": ">=0.90 <3.0",
622 | "swiftmailer/swiftmailer": "^5.3|^6.0"
623 | },
624 | "suggest": {
625 | "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
626 | "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
627 | "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client",
628 | "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
629 | "ext-mbstring": "Allow to work properly with unicode symbols",
630 | "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)",
631 | "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
632 | "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
633 | "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
634 | "php-console/php-console": "Allow sending log messages to Google Chrome",
635 | "rollbar/rollbar": "Allow sending log messages to Rollbar",
636 | "ruflin/elastica": "Allow sending log messages to an Elastic Search server"
637 | },
638 | "type": "library",
639 | "extra": {
640 | "branch-alias": {
641 | "dev-master": "2.x-dev"
642 | }
643 | },
644 | "autoload": {
645 | "psr-4": {
646 | "Monolog\\": "src/Monolog"
647 | }
648 | },
649 | "notification-url": "https://packagist.org/downloads/",
650 | "license": [
651 | "MIT"
652 | ],
653 | "authors": [
654 | {
655 | "name": "Jordi Boggiano",
656 | "email": "j.boggiano@seld.be",
657 | "homepage": "http://seld.be"
658 | }
659 | ],
660 | "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
661 | "homepage": "http://github.com/Seldaek/monolog",
662 | "keywords": [
663 | "log",
664 | "logging",
665 | "psr-3"
666 | ],
667 | "time": "2019-12-20T14:22:59+00:00"
668 | },
669 | {
670 | "name": "nesbot/carbon",
671 | "version": "2.28.0",
672 | "source": {
673 | "type": "git",
674 | "url": "https://github.com/briannesbitt/Carbon.git",
675 | "reference": "e2bcbcd43e67ee6101d321d5de916251d2870ca8"
676 | },
677 | "dist": {
678 | "type": "zip",
679 | "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e2bcbcd43e67ee6101d321d5de916251d2870ca8",
680 | "reference": "e2bcbcd43e67ee6101d321d5de916251d2870ca8",
681 | "shasum": ""
682 | },
683 | "require": {
684 | "ext-json": "*",
685 | "php": "^7.1.8 || ^8.0",
686 | "symfony/translation": "^3.4 || ^4.0 || ^5.0"
687 | },
688 | "require-dev": {
689 | "friendsofphp/php-cs-fixer": "^2.14 || ^3.0",
690 | "kylekatarnls/multi-tester": "^1.1",
691 | "phpmd/phpmd": "dev-php-7.1-compatibility",
692 | "phpstan/phpstan": "^0.11",
693 | "phpunit/phpunit": "^7.5 || ^8.0",
694 | "squizlabs/php_codesniffer": "^3.4"
695 | },
696 | "bin": [
697 | "bin/carbon"
698 | ],
699 | "type": "library",
700 | "extra": {
701 | "branch-alias": {
702 | "dev-master": "2.x-dev"
703 | },
704 | "laravel": {
705 | "providers": [
706 | "Carbon\\Laravel\\ServiceProvider"
707 | ]
708 | }
709 | },
710 | "autoload": {
711 | "psr-4": {
712 | "Carbon\\": "src/Carbon/"
713 | }
714 | },
715 | "notification-url": "https://packagist.org/downloads/",
716 | "license": [
717 | "MIT"
718 | ],
719 | "authors": [
720 | {
721 | "name": "Brian Nesbitt",
722 | "email": "brian@nesbot.com",
723 | "homepage": "http://nesbot.com"
724 | },
725 | {
726 | "name": "kylekatarnls",
727 | "homepage": "http://github.com/kylekatarnls"
728 | }
729 | ],
730 | "description": "An API extension for DateTime that supports 281 different languages.",
731 | "homepage": "http://carbon.nesbot.com",
732 | "keywords": [
733 | "date",
734 | "datetime",
735 | "time"
736 | ],
737 | "time": "2019-12-16T16:30:25+00:00"
738 | },
739 | {
740 | "name": "opis/closure",
741 | "version": "3.5.1",
742 | "source": {
743 | "type": "git",
744 | "url": "https://github.com/opis/closure.git",
745 | "reference": "93ebc5712cdad8d5f489b500c59d122df2e53969"
746 | },
747 | "dist": {
748 | "type": "zip",
749 | "url": "https://api.github.com/repos/opis/closure/zipball/93ebc5712cdad8d5f489b500c59d122df2e53969",
750 | "reference": "93ebc5712cdad8d5f489b500c59d122df2e53969",
751 | "shasum": ""
752 | },
753 | "require": {
754 | "php": "^5.4 || ^7.0"
755 | },
756 | "require-dev": {
757 | "jeremeamia/superclosure": "^2.0",
758 | "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
759 | },
760 | "type": "library",
761 | "extra": {
762 | "branch-alias": {
763 | "dev-master": "3.5.x-dev"
764 | }
765 | },
766 | "autoload": {
767 | "psr-4": {
768 | "Opis\\Closure\\": "src/"
769 | },
770 | "files": [
771 | "functions.php"
772 | ]
773 | },
774 | "notification-url": "https://packagist.org/downloads/",
775 | "license": [
776 | "MIT"
777 | ],
778 | "authors": [
779 | {
780 | "name": "Marius Sarca",
781 | "email": "marius.sarca@gmail.com"
782 | },
783 | {
784 | "name": "Sorin Sarca",
785 | "email": "sarca_sorin@hotmail.com"
786 | }
787 | ],
788 | "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.",
789 | "homepage": "https://opis.io/closure",
790 | "keywords": [
791 | "anonymous functions",
792 | "closure",
793 | "function",
794 | "serializable",
795 | "serialization",
796 | "serialize"
797 | ],
798 | "time": "2019-11-29T22:36:02+00:00"
799 | },
800 | {
801 | "name": "paragonie/random_compat",
802 | "version": "v9.99.99",
803 | "source": {
804 | "type": "git",
805 | "url": "https://github.com/paragonie/random_compat.git",
806 | "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95"
807 | },
808 | "dist": {
809 | "type": "zip",
810 | "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
811 | "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
812 | "shasum": ""
813 | },
814 | "require": {
815 | "php": "^7"
816 | },
817 | "require-dev": {
818 | "phpunit/phpunit": "4.*|5.*",
819 | "vimeo/psalm": "^1"
820 | },
821 | "suggest": {
822 | "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
823 | },
824 | "type": "library",
825 | "notification-url": "https://packagist.org/downloads/",
826 | "license": [
827 | "MIT"
828 | ],
829 | "authors": [
830 | {
831 | "name": "Paragon Initiative Enterprises",
832 | "email": "security@paragonie.com",
833 | "homepage": "https://paragonie.com"
834 | }
835 | ],
836 | "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
837 | "keywords": [
838 | "csprng",
839 | "polyfill",
840 | "pseudorandom",
841 | "random"
842 | ],
843 | "time": "2018-07-02T15:55:56+00:00"
844 | },
845 | {
846 | "name": "phpoption/phpoption",
847 | "version": "1.7.2",
848 | "source": {
849 | "type": "git",
850 | "url": "https://github.com/schmittjoh/php-option.git",
851 | "reference": "77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959"
852 | },
853 | "dist": {
854 | "type": "zip",
855 | "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959",
856 | "reference": "77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959",
857 | "shasum": ""
858 | },
859 | "require": {
860 | "php": "^5.5.9 || ^7.0"
861 | },
862 | "require-dev": {
863 | "bamarni/composer-bin-plugin": "^1.3",
864 | "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0"
865 | },
866 | "type": "library",
867 | "extra": {
868 | "branch-alias": {
869 | "dev-master": "1.7-dev"
870 | }
871 | },
872 | "autoload": {
873 | "psr-4": {
874 | "PhpOption\\": "src/PhpOption/"
875 | }
876 | },
877 | "notification-url": "https://packagist.org/downloads/",
878 | "license": [
879 | "Apache-2.0"
880 | ],
881 | "authors": [
882 | {
883 | "name": "Johannes M. Schmitt",
884 | "email": "schmittjoh@gmail.com"
885 | },
886 | {
887 | "name": "Graham Campbell",
888 | "email": "graham@alt-three.com"
889 | }
890 | ],
891 | "description": "Option Type for PHP",
892 | "keywords": [
893 | "language",
894 | "option",
895 | "php",
896 | "type"
897 | ],
898 | "time": "2019-12-15T19:35:24+00:00"
899 | },
900 | {
901 | "name": "psr/container",
902 | "version": "1.0.0",
903 | "source": {
904 | "type": "git",
905 | "url": "https://github.com/php-fig/container.git",
906 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
907 | },
908 | "dist": {
909 | "type": "zip",
910 | "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
911 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
912 | "shasum": ""
913 | },
914 | "require": {
915 | "php": ">=5.3.0"
916 | },
917 | "type": "library",
918 | "extra": {
919 | "branch-alias": {
920 | "dev-master": "1.0.x-dev"
921 | }
922 | },
923 | "autoload": {
924 | "psr-4": {
925 | "Psr\\Container\\": "src/"
926 | }
927 | },
928 | "notification-url": "https://packagist.org/downloads/",
929 | "license": [
930 | "MIT"
931 | ],
932 | "authors": [
933 | {
934 | "name": "PHP-FIG",
935 | "homepage": "http://www.php-fig.org/"
936 | }
937 | ],
938 | "description": "Common Container Interface (PHP FIG PSR-11)",
939 | "homepage": "https://github.com/php-fig/container",
940 | "keywords": [
941 | "PSR-11",
942 | "container",
943 | "container-interface",
944 | "container-interop",
945 | "psr"
946 | ],
947 | "time": "2017-02-14T16:28:37+00:00"
948 | },
949 | {
950 | "name": "psr/log",
951 | "version": "1.1.2",
952 | "source": {
953 | "type": "git",
954 | "url": "https://github.com/php-fig/log.git",
955 | "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801"
956 | },
957 | "dist": {
958 | "type": "zip",
959 | "url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801",
960 | "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801",
961 | "shasum": ""
962 | },
963 | "require": {
964 | "php": ">=5.3.0"
965 | },
966 | "type": "library",
967 | "extra": {
968 | "branch-alias": {
969 | "dev-master": "1.1.x-dev"
970 | }
971 | },
972 | "autoload": {
973 | "psr-4": {
974 | "Psr\\Log\\": "Psr/Log/"
975 | }
976 | },
977 | "notification-url": "https://packagist.org/downloads/",
978 | "license": [
979 | "MIT"
980 | ],
981 | "authors": [
982 | {
983 | "name": "PHP-FIG",
984 | "homepage": "http://www.php-fig.org/"
985 | }
986 | ],
987 | "description": "Common interface for logging libraries",
988 | "homepage": "https://github.com/php-fig/log",
989 | "keywords": [
990 | "log",
991 | "psr",
992 | "psr-3"
993 | ],
994 | "time": "2019-11-01T11:05:21+00:00"
995 | },
996 | {
997 | "name": "psr/simple-cache",
998 | "version": "1.0.1",
999 | "source": {
1000 | "type": "git",
1001 | "url": "https://github.com/php-fig/simple-cache.git",
1002 | "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
1003 | },
1004 | "dist": {
1005 | "type": "zip",
1006 | "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
1007 | "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
1008 | "shasum": ""
1009 | },
1010 | "require": {
1011 | "php": ">=5.3.0"
1012 | },
1013 | "type": "library",
1014 | "extra": {
1015 | "branch-alias": {
1016 | "dev-master": "1.0.x-dev"
1017 | }
1018 | },
1019 | "autoload": {
1020 | "psr-4": {
1021 | "Psr\\SimpleCache\\": "src/"
1022 | }
1023 | },
1024 | "notification-url": "https://packagist.org/downloads/",
1025 | "license": [
1026 | "MIT"
1027 | ],
1028 | "authors": [
1029 | {
1030 | "name": "PHP-FIG",
1031 | "homepage": "http://www.php-fig.org/"
1032 | }
1033 | ],
1034 | "description": "Common interfaces for simple caching",
1035 | "keywords": [
1036 | "cache",
1037 | "caching",
1038 | "psr",
1039 | "psr-16",
1040 | "simple-cache"
1041 | ],
1042 | "time": "2017-10-23T01:57:42+00:00"
1043 | },
1044 | {
1045 | "name": "ramsey/uuid",
1046 | "version": "3.9.2",
1047 | "source": {
1048 | "type": "git",
1049 | "url": "https://github.com/ramsey/uuid.git",
1050 | "reference": "7779489a47d443f845271badbdcedfe4df8e06fb"
1051 | },
1052 | "dist": {
1053 | "type": "zip",
1054 | "url": "https://api.github.com/repos/ramsey/uuid/zipball/7779489a47d443f845271badbdcedfe4df8e06fb",
1055 | "reference": "7779489a47d443f845271badbdcedfe4df8e06fb",
1056 | "shasum": ""
1057 | },
1058 | "require": {
1059 | "ext-json": "*",
1060 | "paragonie/random_compat": "^1 | ^2 | 9.99.99",
1061 | "php": "^5.4 | ^7 | ^8",
1062 | "symfony/polyfill-ctype": "^1.8"
1063 | },
1064 | "replace": {
1065 | "rhumsaa/uuid": "self.version"
1066 | },
1067 | "require-dev": {
1068 | "codeception/aspect-mock": "^1 | ^2",
1069 | "doctrine/annotations": "^1.2",
1070 | "goaop/framework": "1.0.0-alpha.2 | ^1 | ^2.1",
1071 | "jakub-onderka/php-parallel-lint": "^1",
1072 | "mockery/mockery": "^0.9.11 | ^1",
1073 | "moontoast/math": "^1.1",
1074 | "paragonie/random-lib": "^2",
1075 | "php-mock/php-mock-phpunit": "^0.3 | ^1.1",
1076 | "phpunit/phpunit": "^4.8 | ^5.4 | ^6.5",
1077 | "squizlabs/php_codesniffer": "^3.5"
1078 | },
1079 | "suggest": {
1080 | "ext-ctype": "Provides support for PHP Ctype functions",
1081 | "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator",
1082 | "ext-openssl": "Provides the OpenSSL extension for use with the OpenSslGenerator",
1083 | "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator",
1084 | "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).",
1085 | "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter",
1086 | "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid",
1087 | "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type."
1088 | },
1089 | "type": "library",
1090 | "extra": {
1091 | "branch-alias": {
1092 | "dev-master": "3.x-dev"
1093 | }
1094 | },
1095 | "autoload": {
1096 | "psr-4": {
1097 | "Ramsey\\Uuid\\": "src/"
1098 | },
1099 | "files": [
1100 | "src/functions.php"
1101 | ]
1102 | },
1103 | "notification-url": "https://packagist.org/downloads/",
1104 | "license": [
1105 | "MIT"
1106 | ],
1107 | "authors": [
1108 | {
1109 | "name": "Ben Ramsey",
1110 | "email": "ben@benramsey.com",
1111 | "homepage": "https://benramsey.com"
1112 | },
1113 | {
1114 | "name": "Marijn Huizendveld",
1115 | "email": "marijn.huizendveld@gmail.com"
1116 | },
1117 | {
1118 | "name": "Thibaud Fabre",
1119 | "email": "thibaud@aztech.io"
1120 | }
1121 | ],
1122 | "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).",
1123 | "homepage": "https://github.com/ramsey/uuid",
1124 | "keywords": [
1125 | "guid",
1126 | "identifier",
1127 | "uuid"
1128 | ],
1129 | "time": "2019-12-17T08:18:51+00:00"
1130 | },
1131 | {
1132 | "name": "swiftmailer/swiftmailer",
1133 | "version": "v6.2.3",
1134 | "source": {
1135 | "type": "git",
1136 | "url": "https://github.com/swiftmailer/swiftmailer.git",
1137 | "reference": "149cfdf118b169f7840bbe3ef0d4bc795d1780c9"
1138 | },
1139 | "dist": {
1140 | "type": "zip",
1141 | "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/149cfdf118b169f7840bbe3ef0d4bc795d1780c9",
1142 | "reference": "149cfdf118b169f7840bbe3ef0d4bc795d1780c9",
1143 | "shasum": ""
1144 | },
1145 | "require": {
1146 | "egulias/email-validator": "~2.0",
1147 | "php": ">=7.0.0",
1148 | "symfony/polyfill-iconv": "^1.0",
1149 | "symfony/polyfill-intl-idn": "^1.10",
1150 | "symfony/polyfill-mbstring": "^1.0"
1151 | },
1152 | "require-dev": {
1153 | "mockery/mockery": "~0.9.1",
1154 | "symfony/phpunit-bridge": "^3.4.19|^4.1.8"
1155 | },
1156 | "suggest": {
1157 | "ext-intl": "Needed to support internationalized email addresses",
1158 | "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed"
1159 | },
1160 | "type": "library",
1161 | "extra": {
1162 | "branch-alias": {
1163 | "dev-master": "6.2-dev"
1164 | }
1165 | },
1166 | "autoload": {
1167 | "files": [
1168 | "lib/swift_required.php"
1169 | ]
1170 | },
1171 | "notification-url": "https://packagist.org/downloads/",
1172 | "license": [
1173 | "MIT"
1174 | ],
1175 | "authors": [
1176 | {
1177 | "name": "Chris Corbyn"
1178 | },
1179 | {
1180 | "name": "Fabien Potencier",
1181 | "email": "fabien@symfony.com"
1182 | }
1183 | ],
1184 | "description": "Swiftmailer, free feature-rich PHP mailer",
1185 | "homepage": "https://swiftmailer.symfony.com",
1186 | "keywords": [
1187 | "email",
1188 | "mail",
1189 | "mailer"
1190 | ],
1191 | "time": "2019-11-12T09:31:26+00:00"
1192 | },
1193 | {
1194 | "name": "symfony/console",
1195 | "version": "v4.4.2",
1196 | "source": {
1197 | "type": "git",
1198 | "url": "https://github.com/symfony/console.git",
1199 | "reference": "82437719dab1e6bdd28726af14cb345c2ec816d0"
1200 | },
1201 | "dist": {
1202 | "type": "zip",
1203 | "url": "https://api.github.com/repos/symfony/console/zipball/82437719dab1e6bdd28726af14cb345c2ec816d0",
1204 | "reference": "82437719dab1e6bdd28726af14cb345c2ec816d0",
1205 | "shasum": ""
1206 | },
1207 | "require": {
1208 | "php": "^7.1.3",
1209 | "symfony/polyfill-mbstring": "~1.0",
1210 | "symfony/polyfill-php73": "^1.8",
1211 | "symfony/service-contracts": "^1.1|^2"
1212 | },
1213 | "conflict": {
1214 | "symfony/dependency-injection": "<3.4",
1215 | "symfony/event-dispatcher": "<4.3|>=5",
1216 | "symfony/lock": "<4.4",
1217 | "symfony/process": "<3.3"
1218 | },
1219 | "provide": {
1220 | "psr/log-implementation": "1.0"
1221 | },
1222 | "require-dev": {
1223 | "psr/log": "~1.0",
1224 | "symfony/config": "^3.4|^4.0|^5.0",
1225 | "symfony/dependency-injection": "^3.4|^4.0|^5.0",
1226 | "symfony/event-dispatcher": "^4.3",
1227 | "symfony/lock": "^4.4|^5.0",
1228 | "symfony/process": "^3.4|^4.0|^5.0",
1229 | "symfony/var-dumper": "^4.3|^5.0"
1230 | },
1231 | "suggest": {
1232 | "psr/log": "For using the console logger",
1233 | "symfony/event-dispatcher": "",
1234 | "symfony/lock": "",
1235 | "symfony/process": ""
1236 | },
1237 | "type": "library",
1238 | "extra": {
1239 | "branch-alias": {
1240 | "dev-master": "4.4-dev"
1241 | }
1242 | },
1243 | "autoload": {
1244 | "psr-4": {
1245 | "Symfony\\Component\\Console\\": ""
1246 | },
1247 | "exclude-from-classmap": [
1248 | "/Tests/"
1249 | ]
1250 | },
1251 | "notification-url": "https://packagist.org/downloads/",
1252 | "license": [
1253 | "MIT"
1254 | ],
1255 | "authors": [
1256 | {
1257 | "name": "Fabien Potencier",
1258 | "email": "fabien@symfony.com"
1259 | },
1260 | {
1261 | "name": "Symfony Community",
1262 | "homepage": "https://symfony.com/contributors"
1263 | }
1264 | ],
1265 | "description": "Symfony Console Component",
1266 | "homepage": "https://symfony.com",
1267 | "time": "2019-12-17T10:32:23+00:00"
1268 | },
1269 | {
1270 | "name": "symfony/css-selector",
1271 | "version": "v5.0.2",
1272 | "source": {
1273 | "type": "git",
1274 | "url": "https://github.com/symfony/css-selector.git",
1275 | "reference": "19d29e7098b7b2c3313cb03902ca30f100dcb837"
1276 | },
1277 | "dist": {
1278 | "type": "zip",
1279 | "url": "https://api.github.com/repos/symfony/css-selector/zipball/19d29e7098b7b2c3313cb03902ca30f100dcb837",
1280 | "reference": "19d29e7098b7b2c3313cb03902ca30f100dcb837",
1281 | "shasum": ""
1282 | },
1283 | "require": {
1284 | "php": "^7.2.5"
1285 | },
1286 | "type": "library",
1287 | "extra": {
1288 | "branch-alias": {
1289 | "dev-master": "5.0-dev"
1290 | }
1291 | },
1292 | "autoload": {
1293 | "psr-4": {
1294 | "Symfony\\Component\\CssSelector\\": ""
1295 | },
1296 | "exclude-from-classmap": [
1297 | "/Tests/"
1298 | ]
1299 | },
1300 | "notification-url": "https://packagist.org/downloads/",
1301 | "license": [
1302 | "MIT"
1303 | ],
1304 | "authors": [
1305 | {
1306 | "name": "Fabien Potencier",
1307 | "email": "fabien@symfony.com"
1308 | },
1309 | {
1310 | "name": "Jean-François Simon",
1311 | "email": "jeanfrancois.simon@sensiolabs.com"
1312 | },
1313 | {
1314 | "name": "Symfony Community",
1315 | "homepage": "https://symfony.com/contributors"
1316 | }
1317 | ],
1318 | "description": "Symfony CssSelector Component",
1319 | "homepage": "https://symfony.com",
1320 | "time": "2019-11-18T17:27:11+00:00"
1321 | },
1322 | {
1323 | "name": "symfony/debug",
1324 | "version": "v4.4.2",
1325 | "source": {
1326 | "type": "git",
1327 | "url": "https://github.com/symfony/debug.git",
1328 | "reference": "5c4c1db977dc70bb3250e1308d3e8c6341aa38f5"
1329 | },
1330 | "dist": {
1331 | "type": "zip",
1332 | "url": "https://api.github.com/repos/symfony/debug/zipball/5c4c1db977dc70bb3250e1308d3e8c6341aa38f5",
1333 | "reference": "5c4c1db977dc70bb3250e1308d3e8c6341aa38f5",
1334 | "shasum": ""
1335 | },
1336 | "require": {
1337 | "php": "^7.1.3",
1338 | "psr/log": "~1.0"
1339 | },
1340 | "conflict": {
1341 | "symfony/http-kernel": "<3.4"
1342 | },
1343 | "require-dev": {
1344 | "symfony/http-kernel": "^3.4|^4.0|^5.0"
1345 | },
1346 | "type": "library",
1347 | "extra": {
1348 | "branch-alias": {
1349 | "dev-master": "4.4-dev"
1350 | }
1351 | },
1352 | "autoload": {
1353 | "psr-4": {
1354 | "Symfony\\Component\\Debug\\": ""
1355 | },
1356 | "exclude-from-classmap": [
1357 | "/Tests/"
1358 | ]
1359 | },
1360 | "notification-url": "https://packagist.org/downloads/",
1361 | "license": [
1362 | "MIT"
1363 | ],
1364 | "authors": [
1365 | {
1366 | "name": "Fabien Potencier",
1367 | "email": "fabien@symfony.com"
1368 | },
1369 | {
1370 | "name": "Symfony Community",
1371 | "homepage": "https://symfony.com/contributors"
1372 | }
1373 | ],
1374 | "description": "Symfony Debug Component",
1375 | "homepage": "https://symfony.com",
1376 | "time": "2019-12-16T14:46:54+00:00"
1377 | },
1378 | {
1379 | "name": "symfony/error-handler",
1380 | "version": "v4.4.2",
1381 | "source": {
1382 | "type": "git",
1383 | "url": "https://github.com/symfony/error-handler.git",
1384 | "reference": "6d7d7712a6ff5215ec26215672293b154f1db8c1"
1385 | },
1386 | "dist": {
1387 | "type": "zip",
1388 | "url": "https://api.github.com/repos/symfony/error-handler/zipball/6d7d7712a6ff5215ec26215672293b154f1db8c1",
1389 | "reference": "6d7d7712a6ff5215ec26215672293b154f1db8c1",
1390 | "shasum": ""
1391 | },
1392 | "require": {
1393 | "php": "^7.1.3",
1394 | "psr/log": "~1.0",
1395 | "symfony/debug": "^4.4",
1396 | "symfony/var-dumper": "^4.4|^5.0"
1397 | },
1398 | "require-dev": {
1399 | "symfony/http-kernel": "^4.4|^5.0",
1400 | "symfony/serializer": "^4.4|^5.0"
1401 | },
1402 | "type": "library",
1403 | "extra": {
1404 | "branch-alias": {
1405 | "dev-master": "4.4-dev"
1406 | }
1407 | },
1408 | "autoload": {
1409 | "psr-4": {
1410 | "Symfony\\Component\\ErrorHandler\\": ""
1411 | },
1412 | "exclude-from-classmap": [
1413 | "/Tests/"
1414 | ]
1415 | },
1416 | "notification-url": "https://packagist.org/downloads/",
1417 | "license": [
1418 | "MIT"
1419 | ],
1420 | "authors": [
1421 | {
1422 | "name": "Fabien Potencier",
1423 | "email": "fabien@symfony.com"
1424 | },
1425 | {
1426 | "name": "Symfony Community",
1427 | "homepage": "https://symfony.com/contributors"
1428 | }
1429 | ],
1430 | "description": "Symfony ErrorHandler Component",
1431 | "homepage": "https://symfony.com",
1432 | "time": "2019-12-16T14:46:54+00:00"
1433 | },
1434 | {
1435 | "name": "symfony/event-dispatcher",
1436 | "version": "v4.4.2",
1437 | "source": {
1438 | "type": "git",
1439 | "url": "https://github.com/symfony/event-dispatcher.git",
1440 | "reference": "b3c3068a72623287550fe20b84a2b01dcba2686f"
1441 | },
1442 | "dist": {
1443 | "type": "zip",
1444 | "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b3c3068a72623287550fe20b84a2b01dcba2686f",
1445 | "reference": "b3c3068a72623287550fe20b84a2b01dcba2686f",
1446 | "shasum": ""
1447 | },
1448 | "require": {
1449 | "php": "^7.1.3",
1450 | "symfony/event-dispatcher-contracts": "^1.1"
1451 | },
1452 | "conflict": {
1453 | "symfony/dependency-injection": "<3.4"
1454 | },
1455 | "provide": {
1456 | "psr/event-dispatcher-implementation": "1.0",
1457 | "symfony/event-dispatcher-implementation": "1.1"
1458 | },
1459 | "require-dev": {
1460 | "psr/log": "~1.0",
1461 | "symfony/config": "^3.4|^4.0|^5.0",
1462 | "symfony/dependency-injection": "^3.4|^4.0|^5.0",
1463 | "symfony/expression-language": "^3.4|^4.0|^5.0",
1464 | "symfony/http-foundation": "^3.4|^4.0|^5.0",
1465 | "symfony/service-contracts": "^1.1|^2",
1466 | "symfony/stopwatch": "^3.4|^4.0|^5.0"
1467 | },
1468 | "suggest": {
1469 | "symfony/dependency-injection": "",
1470 | "symfony/http-kernel": ""
1471 | },
1472 | "type": "library",
1473 | "extra": {
1474 | "branch-alias": {
1475 | "dev-master": "4.4-dev"
1476 | }
1477 | },
1478 | "autoload": {
1479 | "psr-4": {
1480 | "Symfony\\Component\\EventDispatcher\\": ""
1481 | },
1482 | "exclude-from-classmap": [
1483 | "/Tests/"
1484 | ]
1485 | },
1486 | "notification-url": "https://packagist.org/downloads/",
1487 | "license": [
1488 | "MIT"
1489 | ],
1490 | "authors": [
1491 | {
1492 | "name": "Fabien Potencier",
1493 | "email": "fabien@symfony.com"
1494 | },
1495 | {
1496 | "name": "Symfony Community",
1497 | "homepage": "https://symfony.com/contributors"
1498 | }
1499 | ],
1500 | "description": "Symfony EventDispatcher Component",
1501 | "homepage": "https://symfony.com",
1502 | "time": "2019-11-28T13:33:56+00:00"
1503 | },
1504 | {
1505 | "name": "symfony/event-dispatcher-contracts",
1506 | "version": "v1.1.7",
1507 | "source": {
1508 | "type": "git",
1509 | "url": "https://github.com/symfony/event-dispatcher-contracts.git",
1510 | "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18"
1511 | },
1512 | "dist": {
1513 | "type": "zip",
1514 | "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c43ab685673fb6c8d84220c77897b1d6cdbe1d18",
1515 | "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18",
1516 | "shasum": ""
1517 | },
1518 | "require": {
1519 | "php": "^7.1.3"
1520 | },
1521 | "suggest": {
1522 | "psr/event-dispatcher": "",
1523 | "symfony/event-dispatcher-implementation": ""
1524 | },
1525 | "type": "library",
1526 | "extra": {
1527 | "branch-alias": {
1528 | "dev-master": "1.1-dev"
1529 | }
1530 | },
1531 | "autoload": {
1532 | "psr-4": {
1533 | "Symfony\\Contracts\\EventDispatcher\\": ""
1534 | }
1535 | },
1536 | "notification-url": "https://packagist.org/downloads/",
1537 | "license": [
1538 | "MIT"
1539 | ],
1540 | "authors": [
1541 | {
1542 | "name": "Nicolas Grekas",
1543 | "email": "p@tchwork.com"
1544 | },
1545 | {
1546 | "name": "Symfony Community",
1547 | "homepage": "https://symfony.com/contributors"
1548 | }
1549 | ],
1550 | "description": "Generic abstractions related to dispatching event",
1551 | "homepage": "https://symfony.com",
1552 | "keywords": [
1553 | "abstractions",
1554 | "contracts",
1555 | "decoupling",
1556 | "interfaces",
1557 | "interoperability",
1558 | "standards"
1559 | ],
1560 | "time": "2019-09-17T09:54:03+00:00"
1561 | },
1562 | {
1563 | "name": "symfony/finder",
1564 | "version": "v4.4.2",
1565 | "source": {
1566 | "type": "git",
1567 | "url": "https://github.com/symfony/finder.git",
1568 | "reference": "ce8743441da64c41e2a667b8eb66070444ed911e"
1569 | },
1570 | "dist": {
1571 | "type": "zip",
1572 | "url": "https://api.github.com/repos/symfony/finder/zipball/ce8743441da64c41e2a667b8eb66070444ed911e",
1573 | "reference": "ce8743441da64c41e2a667b8eb66070444ed911e",
1574 | "shasum": ""
1575 | },
1576 | "require": {
1577 | "php": "^7.1.3"
1578 | },
1579 | "type": "library",
1580 | "extra": {
1581 | "branch-alias": {
1582 | "dev-master": "4.4-dev"
1583 | }
1584 | },
1585 | "autoload": {
1586 | "psr-4": {
1587 | "Symfony\\Component\\Finder\\": ""
1588 | },
1589 | "exclude-from-classmap": [
1590 | "/Tests/"
1591 | ]
1592 | },
1593 | "notification-url": "https://packagist.org/downloads/",
1594 | "license": [
1595 | "MIT"
1596 | ],
1597 | "authors": [
1598 | {
1599 | "name": "Fabien Potencier",
1600 | "email": "fabien@symfony.com"
1601 | },
1602 | {
1603 | "name": "Symfony Community",
1604 | "homepage": "https://symfony.com/contributors"
1605 | }
1606 | ],
1607 | "description": "Symfony Finder Component",
1608 | "homepage": "https://symfony.com",
1609 | "time": "2019-11-17T21:56:56+00:00"
1610 | },
1611 | {
1612 | "name": "symfony/http-foundation",
1613 | "version": "v4.4.2",
1614 | "source": {
1615 | "type": "git",
1616 | "url": "https://github.com/symfony/http-foundation.git",
1617 | "reference": "fcae1cff5b57b2a9c3aabefeb1527678705ddb62"
1618 | },
1619 | "dist": {
1620 | "type": "zip",
1621 | "url": "https://api.github.com/repos/symfony/http-foundation/zipball/fcae1cff5b57b2a9c3aabefeb1527678705ddb62",
1622 | "reference": "fcae1cff5b57b2a9c3aabefeb1527678705ddb62",
1623 | "shasum": ""
1624 | },
1625 | "require": {
1626 | "php": "^7.1.3",
1627 | "symfony/mime": "^4.3|^5.0",
1628 | "symfony/polyfill-mbstring": "~1.1"
1629 | },
1630 | "require-dev": {
1631 | "predis/predis": "~1.0",
1632 | "symfony/expression-language": "^3.4|^4.0|^5.0"
1633 | },
1634 | "type": "library",
1635 | "extra": {
1636 | "branch-alias": {
1637 | "dev-master": "4.4-dev"
1638 | }
1639 | },
1640 | "autoload": {
1641 | "psr-4": {
1642 | "Symfony\\Component\\HttpFoundation\\": ""
1643 | },
1644 | "exclude-from-classmap": [
1645 | "/Tests/"
1646 | ]
1647 | },
1648 | "notification-url": "https://packagist.org/downloads/",
1649 | "license": [
1650 | "MIT"
1651 | ],
1652 | "authors": [
1653 | {
1654 | "name": "Fabien Potencier",
1655 | "email": "fabien@symfony.com"
1656 | },
1657 | {
1658 | "name": "Symfony Community",
1659 | "homepage": "https://symfony.com/contributors"
1660 | }
1661 | ],
1662 | "description": "Symfony HttpFoundation Component",
1663 | "homepage": "https://symfony.com",
1664 | "time": "2019-12-19T15:57:49+00:00"
1665 | },
1666 | {
1667 | "name": "symfony/http-kernel",
1668 | "version": "v4.4.2",
1669 | "source": {
1670 | "type": "git",
1671 | "url": "https://github.com/symfony/http-kernel.git",
1672 | "reference": "fe310d2e95cd4c356836c8ecb0895a46d97fede2"
1673 | },
1674 | "dist": {
1675 | "type": "zip",
1676 | "url": "https://api.github.com/repos/symfony/http-kernel/zipball/fe310d2e95cd4c356836c8ecb0895a46d97fede2",
1677 | "reference": "fe310d2e95cd4c356836c8ecb0895a46d97fede2",
1678 | "shasum": ""
1679 | },
1680 | "require": {
1681 | "php": "^7.1.3",
1682 | "psr/log": "~1.0",
1683 | "symfony/error-handler": "^4.4",
1684 | "symfony/event-dispatcher": "^4.4",
1685 | "symfony/http-foundation": "^4.4|^5.0",
1686 | "symfony/polyfill-ctype": "^1.8",
1687 | "symfony/polyfill-php73": "^1.9"
1688 | },
1689 | "conflict": {
1690 | "symfony/browser-kit": "<4.3",
1691 | "symfony/config": "<3.4",
1692 | "symfony/console": ">=5",
1693 | "symfony/dependency-injection": "<4.3",
1694 | "symfony/translation": "<4.2",
1695 | "twig/twig": "<1.34|<2.4,>=2"
1696 | },
1697 | "provide": {
1698 | "psr/log-implementation": "1.0"
1699 | },
1700 | "require-dev": {
1701 | "psr/cache": "~1.0",
1702 | "symfony/browser-kit": "^4.3|^5.0",
1703 | "symfony/config": "^3.4|^4.0|^5.0",
1704 | "symfony/console": "^3.4|^4.0",
1705 | "symfony/css-selector": "^3.4|^4.0|^5.0",
1706 | "symfony/dependency-injection": "^4.3|^5.0",
1707 | "symfony/dom-crawler": "^3.4|^4.0|^5.0",
1708 | "symfony/expression-language": "^3.4|^4.0|^5.0",
1709 | "symfony/finder": "^3.4|^4.0|^5.0",
1710 | "symfony/process": "^3.4|^4.0|^5.0",
1711 | "symfony/routing": "^3.4|^4.0|^5.0",
1712 | "symfony/stopwatch": "^3.4|^4.0|^5.0",
1713 | "symfony/templating": "^3.4|^4.0|^5.0",
1714 | "symfony/translation": "^4.2|^5.0",
1715 | "symfony/translation-contracts": "^1.1|^2",
1716 | "twig/twig": "^1.34|^2.4|^3.0"
1717 | },
1718 | "suggest": {
1719 | "symfony/browser-kit": "",
1720 | "symfony/config": "",
1721 | "symfony/console": "",
1722 | "symfony/dependency-injection": ""
1723 | },
1724 | "type": "library",
1725 | "extra": {
1726 | "branch-alias": {
1727 | "dev-master": "4.4-dev"
1728 | }
1729 | },
1730 | "autoload": {
1731 | "psr-4": {
1732 | "Symfony\\Component\\HttpKernel\\": ""
1733 | },
1734 | "exclude-from-classmap": [
1735 | "/Tests/"
1736 | ]
1737 | },
1738 | "notification-url": "https://packagist.org/downloads/",
1739 | "license": [
1740 | "MIT"
1741 | ],
1742 | "authors": [
1743 | {
1744 | "name": "Fabien Potencier",
1745 | "email": "fabien@symfony.com"
1746 | },
1747 | {
1748 | "name": "Symfony Community",
1749 | "homepage": "https://symfony.com/contributors"
1750 | }
1751 | ],
1752 | "description": "Symfony HttpKernel Component",
1753 | "homepage": "https://symfony.com",
1754 | "time": "2019-12-19T16:23:40+00:00"
1755 | },
1756 | {
1757 | "name": "symfony/mime",
1758 | "version": "v5.0.2",
1759 | "source": {
1760 | "type": "git",
1761 | "url": "https://github.com/symfony/mime.git",
1762 | "reference": "0e6a4ced216e49d457eddcefb61132173a876d79"
1763 | },
1764 | "dist": {
1765 | "type": "zip",
1766 | "url": "https://api.github.com/repos/symfony/mime/zipball/0e6a4ced216e49d457eddcefb61132173a876d79",
1767 | "reference": "0e6a4ced216e49d457eddcefb61132173a876d79",
1768 | "shasum": ""
1769 | },
1770 | "require": {
1771 | "php": "^7.2.5",
1772 | "symfony/polyfill-intl-idn": "^1.10",
1773 | "symfony/polyfill-mbstring": "^1.0"
1774 | },
1775 | "conflict": {
1776 | "symfony/mailer": "<4.4"
1777 | },
1778 | "require-dev": {
1779 | "egulias/email-validator": "^2.1.10",
1780 | "symfony/dependency-injection": "^4.4|^5.0"
1781 | },
1782 | "type": "library",
1783 | "extra": {
1784 | "branch-alias": {
1785 | "dev-master": "5.0-dev"
1786 | }
1787 | },
1788 | "autoload": {
1789 | "psr-4": {
1790 | "Symfony\\Component\\Mime\\": ""
1791 | },
1792 | "exclude-from-classmap": [
1793 | "/Tests/"
1794 | ]
1795 | },
1796 | "notification-url": "https://packagist.org/downloads/",
1797 | "license": [
1798 | "MIT"
1799 | ],
1800 | "authors": [
1801 | {
1802 | "name": "Fabien Potencier",
1803 | "email": "fabien@symfony.com"
1804 | },
1805 | {
1806 | "name": "Symfony Community",
1807 | "homepage": "https://symfony.com/contributors"
1808 | }
1809 | ],
1810 | "description": "A library to manipulate MIME messages",
1811 | "homepage": "https://symfony.com",
1812 | "keywords": [
1813 | "mime",
1814 | "mime-type"
1815 | ],
1816 | "time": "2019-11-30T14:12:50+00:00"
1817 | },
1818 | {
1819 | "name": "symfony/polyfill-ctype",
1820 | "version": "v1.13.1",
1821 | "source": {
1822 | "type": "git",
1823 | "url": "https://github.com/symfony/polyfill-ctype.git",
1824 | "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3"
1825 | },
1826 | "dist": {
1827 | "type": "zip",
1828 | "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
1829 | "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
1830 | "shasum": ""
1831 | },
1832 | "require": {
1833 | "php": ">=5.3.3"
1834 | },
1835 | "suggest": {
1836 | "ext-ctype": "For best performance"
1837 | },
1838 | "type": "library",
1839 | "extra": {
1840 | "branch-alias": {
1841 | "dev-master": "1.13-dev"
1842 | }
1843 | },
1844 | "autoload": {
1845 | "psr-4": {
1846 | "Symfony\\Polyfill\\Ctype\\": ""
1847 | },
1848 | "files": [
1849 | "bootstrap.php"
1850 | ]
1851 | },
1852 | "notification-url": "https://packagist.org/downloads/",
1853 | "license": [
1854 | "MIT"
1855 | ],
1856 | "authors": [
1857 | {
1858 | "name": "Gert de Pagter",
1859 | "email": "BackEndTea@gmail.com"
1860 | },
1861 | {
1862 | "name": "Symfony Community",
1863 | "homepage": "https://symfony.com/contributors"
1864 | }
1865 | ],
1866 | "description": "Symfony polyfill for ctype functions",
1867 | "homepage": "https://symfony.com",
1868 | "keywords": [
1869 | "compatibility",
1870 | "ctype",
1871 | "polyfill",
1872 | "portable"
1873 | ],
1874 | "time": "2019-11-27T13:56:44+00:00"
1875 | },
1876 | {
1877 | "name": "symfony/polyfill-iconv",
1878 | "version": "v1.13.1",
1879 | "source": {
1880 | "type": "git",
1881 | "url": "https://github.com/symfony/polyfill-iconv.git",
1882 | "reference": "a019efccc03f1a335af6b4f20c30f5ea8060be36"
1883 | },
1884 | "dist": {
1885 | "type": "zip",
1886 | "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/a019efccc03f1a335af6b4f20c30f5ea8060be36",
1887 | "reference": "a019efccc03f1a335af6b4f20c30f5ea8060be36",
1888 | "shasum": ""
1889 | },
1890 | "require": {
1891 | "php": ">=5.3.3"
1892 | },
1893 | "suggest": {
1894 | "ext-iconv": "For best performance"
1895 | },
1896 | "type": "library",
1897 | "extra": {
1898 | "branch-alias": {
1899 | "dev-master": "1.13-dev"
1900 | }
1901 | },
1902 | "autoload": {
1903 | "psr-4": {
1904 | "Symfony\\Polyfill\\Iconv\\": ""
1905 | },
1906 | "files": [
1907 | "bootstrap.php"
1908 | ]
1909 | },
1910 | "notification-url": "https://packagist.org/downloads/",
1911 | "license": [
1912 | "MIT"
1913 | ],
1914 | "authors": [
1915 | {
1916 | "name": "Nicolas Grekas",
1917 | "email": "p@tchwork.com"
1918 | },
1919 | {
1920 | "name": "Symfony Community",
1921 | "homepage": "https://symfony.com/contributors"
1922 | }
1923 | ],
1924 | "description": "Symfony polyfill for the Iconv extension",
1925 | "homepage": "https://symfony.com",
1926 | "keywords": [
1927 | "compatibility",
1928 | "iconv",
1929 | "polyfill",
1930 | "portable",
1931 | "shim"
1932 | ],
1933 | "time": "2019-11-27T13:56:44+00:00"
1934 | },
1935 | {
1936 | "name": "symfony/polyfill-intl-idn",
1937 | "version": "v1.13.1",
1938 | "source": {
1939 | "type": "git",
1940 | "url": "https://github.com/symfony/polyfill-intl-idn.git",
1941 | "reference": "6f9c239e61e1b0c9229a28ff89a812dc449c3d46"
1942 | },
1943 | "dist": {
1944 | "type": "zip",
1945 | "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6f9c239e61e1b0c9229a28ff89a812dc449c3d46",
1946 | "reference": "6f9c239e61e1b0c9229a28ff89a812dc449c3d46",
1947 | "shasum": ""
1948 | },
1949 | "require": {
1950 | "php": ">=5.3.3",
1951 | "symfony/polyfill-mbstring": "^1.3",
1952 | "symfony/polyfill-php72": "^1.9"
1953 | },
1954 | "suggest": {
1955 | "ext-intl": "For best performance"
1956 | },
1957 | "type": "library",
1958 | "extra": {
1959 | "branch-alias": {
1960 | "dev-master": "1.13-dev"
1961 | }
1962 | },
1963 | "autoload": {
1964 | "psr-4": {
1965 | "Symfony\\Polyfill\\Intl\\Idn\\": ""
1966 | },
1967 | "files": [
1968 | "bootstrap.php"
1969 | ]
1970 | },
1971 | "notification-url": "https://packagist.org/downloads/",
1972 | "license": [
1973 | "MIT"
1974 | ],
1975 | "authors": [
1976 | {
1977 | "name": "Laurent Bassin",
1978 | "email": "laurent@bassin.info"
1979 | },
1980 | {
1981 | "name": "Symfony Community",
1982 | "homepage": "https://symfony.com/contributors"
1983 | }
1984 | ],
1985 | "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
1986 | "homepage": "https://symfony.com",
1987 | "keywords": [
1988 | "compatibility",
1989 | "idn",
1990 | "intl",
1991 | "polyfill",
1992 | "portable",
1993 | "shim"
1994 | ],
1995 | "time": "2019-11-27T13:56:44+00:00"
1996 | },
1997 | {
1998 | "name": "symfony/polyfill-mbstring",
1999 | "version": "v1.13.1",
2000 | "source": {
2001 | "type": "git",
2002 | "url": "https://github.com/symfony/polyfill-mbstring.git",
2003 | "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f"
2004 | },
2005 | "dist": {
2006 | "type": "zip",
2007 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f",
2008 | "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f",
2009 | "shasum": ""
2010 | },
2011 | "require": {
2012 | "php": ">=5.3.3"
2013 | },
2014 | "suggest": {
2015 | "ext-mbstring": "For best performance"
2016 | },
2017 | "type": "library",
2018 | "extra": {
2019 | "branch-alias": {
2020 | "dev-master": "1.13-dev"
2021 | }
2022 | },
2023 | "autoload": {
2024 | "psr-4": {
2025 | "Symfony\\Polyfill\\Mbstring\\": ""
2026 | },
2027 | "files": [
2028 | "bootstrap.php"
2029 | ]
2030 | },
2031 | "notification-url": "https://packagist.org/downloads/",
2032 | "license": [
2033 | "MIT"
2034 | ],
2035 | "authors": [
2036 | {
2037 | "name": "Nicolas Grekas",
2038 | "email": "p@tchwork.com"
2039 | },
2040 | {
2041 | "name": "Symfony Community",
2042 | "homepage": "https://symfony.com/contributors"
2043 | }
2044 | ],
2045 | "description": "Symfony polyfill for the Mbstring extension",
2046 | "homepage": "https://symfony.com",
2047 | "keywords": [
2048 | "compatibility",
2049 | "mbstring",
2050 | "polyfill",
2051 | "portable",
2052 | "shim"
2053 | ],
2054 | "time": "2019-11-27T14:18:11+00:00"
2055 | },
2056 | {
2057 | "name": "symfony/polyfill-php72",
2058 | "version": "v1.13.1",
2059 | "source": {
2060 | "type": "git",
2061 | "url": "https://github.com/symfony/polyfill-php72.git",
2062 | "reference": "66fea50f6cb37a35eea048d75a7d99a45b586038"
2063 | },
2064 | "dist": {
2065 | "type": "zip",
2066 | "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/66fea50f6cb37a35eea048d75a7d99a45b586038",
2067 | "reference": "66fea50f6cb37a35eea048d75a7d99a45b586038",
2068 | "shasum": ""
2069 | },
2070 | "require": {
2071 | "php": ">=5.3.3"
2072 | },
2073 | "type": "library",
2074 | "extra": {
2075 | "branch-alias": {
2076 | "dev-master": "1.13-dev"
2077 | }
2078 | },
2079 | "autoload": {
2080 | "psr-4": {
2081 | "Symfony\\Polyfill\\Php72\\": ""
2082 | },
2083 | "files": [
2084 | "bootstrap.php"
2085 | ]
2086 | },
2087 | "notification-url": "https://packagist.org/downloads/",
2088 | "license": [
2089 | "MIT"
2090 | ],
2091 | "authors": [
2092 | {
2093 | "name": "Nicolas Grekas",
2094 | "email": "p@tchwork.com"
2095 | },
2096 | {
2097 | "name": "Symfony Community",
2098 | "homepage": "https://symfony.com/contributors"
2099 | }
2100 | ],
2101 | "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
2102 | "homepage": "https://symfony.com",
2103 | "keywords": [
2104 | "compatibility",
2105 | "polyfill",
2106 | "portable",
2107 | "shim"
2108 | ],
2109 | "time": "2019-11-27T13:56:44+00:00"
2110 | },
2111 | {
2112 | "name": "symfony/polyfill-php73",
2113 | "version": "v1.13.1",
2114 | "source": {
2115 | "type": "git",
2116 | "url": "https://github.com/symfony/polyfill-php73.git",
2117 | "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f"
2118 | },
2119 | "dist": {
2120 | "type": "zip",
2121 | "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/4b0e2222c55a25b4541305a053013d5647d3a25f",
2122 | "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f",
2123 | "shasum": ""
2124 | },
2125 | "require": {
2126 | "php": ">=5.3.3"
2127 | },
2128 | "type": "library",
2129 | "extra": {
2130 | "branch-alias": {
2131 | "dev-master": "1.13-dev"
2132 | }
2133 | },
2134 | "autoload": {
2135 | "psr-4": {
2136 | "Symfony\\Polyfill\\Php73\\": ""
2137 | },
2138 | "files": [
2139 | "bootstrap.php"
2140 | ],
2141 | "classmap": [
2142 | "Resources/stubs"
2143 | ]
2144 | },
2145 | "notification-url": "https://packagist.org/downloads/",
2146 | "license": [
2147 | "MIT"
2148 | ],
2149 | "authors": [
2150 | {
2151 | "name": "Nicolas Grekas",
2152 | "email": "p@tchwork.com"
2153 | },
2154 | {
2155 | "name": "Symfony Community",
2156 | "homepage": "https://symfony.com/contributors"
2157 | }
2158 | ],
2159 | "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
2160 | "homepage": "https://symfony.com",
2161 | "keywords": [
2162 | "compatibility",
2163 | "polyfill",
2164 | "portable",
2165 | "shim"
2166 | ],
2167 | "time": "2019-11-27T16:25:15+00:00"
2168 | },
2169 | {
2170 | "name": "symfony/process",
2171 | "version": "v4.4.2",
2172 | "source": {
2173 | "type": "git",
2174 | "url": "https://github.com/symfony/process.git",
2175 | "reference": "b84501ad50adb72a94fb460a5b5c91f693e99c9b"
2176 | },
2177 | "dist": {
2178 | "type": "zip",
2179 | "url": "https://api.github.com/repos/symfony/process/zipball/b84501ad50adb72a94fb460a5b5c91f693e99c9b",
2180 | "reference": "b84501ad50adb72a94fb460a5b5c91f693e99c9b",
2181 | "shasum": ""
2182 | },
2183 | "require": {
2184 | "php": "^7.1.3"
2185 | },
2186 | "type": "library",
2187 | "extra": {
2188 | "branch-alias": {
2189 | "dev-master": "4.4-dev"
2190 | }
2191 | },
2192 | "autoload": {
2193 | "psr-4": {
2194 | "Symfony\\Component\\Process\\": ""
2195 | },
2196 | "exclude-from-classmap": [
2197 | "/Tests/"
2198 | ]
2199 | },
2200 | "notification-url": "https://packagist.org/downloads/",
2201 | "license": [
2202 | "MIT"
2203 | ],
2204 | "authors": [
2205 | {
2206 | "name": "Fabien Potencier",
2207 | "email": "fabien@symfony.com"
2208 | },
2209 | {
2210 | "name": "Symfony Community",
2211 | "homepage": "https://symfony.com/contributors"
2212 | }
2213 | ],
2214 | "description": "Symfony Process Component",
2215 | "homepage": "https://symfony.com",
2216 | "time": "2019-12-06T10:06:46+00:00"
2217 | },
2218 | {
2219 | "name": "symfony/routing",
2220 | "version": "v4.4.2",
2221 | "source": {
2222 | "type": "git",
2223 | "url": "https://github.com/symfony/routing.git",
2224 | "reference": "628bcafae1b2043969378dcfbf9c196539a38722"
2225 | },
2226 | "dist": {
2227 | "type": "zip",
2228 | "url": "https://api.github.com/repos/symfony/routing/zipball/628bcafae1b2043969378dcfbf9c196539a38722",
2229 | "reference": "628bcafae1b2043969378dcfbf9c196539a38722",
2230 | "shasum": ""
2231 | },
2232 | "require": {
2233 | "php": "^7.1.3"
2234 | },
2235 | "conflict": {
2236 | "symfony/config": "<4.2",
2237 | "symfony/dependency-injection": "<3.4",
2238 | "symfony/yaml": "<3.4"
2239 | },
2240 | "require-dev": {
2241 | "doctrine/annotations": "~1.2",
2242 | "psr/log": "~1.0",
2243 | "symfony/config": "^4.2|^5.0",
2244 | "symfony/dependency-injection": "^3.4|^4.0|^5.0",
2245 | "symfony/expression-language": "^3.4|^4.0|^5.0",
2246 | "symfony/http-foundation": "^3.4|^4.0|^5.0",
2247 | "symfony/yaml": "^3.4|^4.0|^5.0"
2248 | },
2249 | "suggest": {
2250 | "doctrine/annotations": "For using the annotation loader",
2251 | "symfony/config": "For using the all-in-one router or any loader",
2252 | "symfony/expression-language": "For using expression matching",
2253 | "symfony/http-foundation": "For using a Symfony Request object",
2254 | "symfony/yaml": "For using the YAML loader"
2255 | },
2256 | "type": "library",
2257 | "extra": {
2258 | "branch-alias": {
2259 | "dev-master": "4.4-dev"
2260 | }
2261 | },
2262 | "autoload": {
2263 | "psr-4": {
2264 | "Symfony\\Component\\Routing\\": ""
2265 | },
2266 | "exclude-from-classmap": [
2267 | "/Tests/"
2268 | ]
2269 | },
2270 | "notification-url": "https://packagist.org/downloads/",
2271 | "license": [
2272 | "MIT"
2273 | ],
2274 | "authors": [
2275 | {
2276 | "name": "Fabien Potencier",
2277 | "email": "fabien@symfony.com"
2278 | },
2279 | {
2280 | "name": "Symfony Community",
2281 | "homepage": "https://symfony.com/contributors"
2282 | }
2283 | ],
2284 | "description": "Symfony Routing Component",
2285 | "homepage": "https://symfony.com",
2286 | "keywords": [
2287 | "router",
2288 | "routing",
2289 | "uri",
2290 | "url"
2291 | ],
2292 | "time": "2019-12-12T12:53:52+00:00"
2293 | },
2294 | {
2295 | "name": "symfony/service-contracts",
2296 | "version": "v2.0.1",
2297 | "source": {
2298 | "type": "git",
2299 | "url": "https://github.com/symfony/service-contracts.git",
2300 | "reference": "144c5e51266b281231e947b51223ba14acf1a749"
2301 | },
2302 | "dist": {
2303 | "type": "zip",
2304 | "url": "https://api.github.com/repos/symfony/service-contracts/zipball/144c5e51266b281231e947b51223ba14acf1a749",
2305 | "reference": "144c5e51266b281231e947b51223ba14acf1a749",
2306 | "shasum": ""
2307 | },
2308 | "require": {
2309 | "php": "^7.2.5",
2310 | "psr/container": "^1.0"
2311 | },
2312 | "suggest": {
2313 | "symfony/service-implementation": ""
2314 | },
2315 | "type": "library",
2316 | "extra": {
2317 | "branch-alias": {
2318 | "dev-master": "2.0-dev"
2319 | }
2320 | },
2321 | "autoload": {
2322 | "psr-4": {
2323 | "Symfony\\Contracts\\Service\\": ""
2324 | }
2325 | },
2326 | "notification-url": "https://packagist.org/downloads/",
2327 | "license": [
2328 | "MIT"
2329 | ],
2330 | "authors": [
2331 | {
2332 | "name": "Nicolas Grekas",
2333 | "email": "p@tchwork.com"
2334 | },
2335 | {
2336 | "name": "Symfony Community",
2337 | "homepage": "https://symfony.com/contributors"
2338 | }
2339 | ],
2340 | "description": "Generic abstractions related to writing services",
2341 | "homepage": "https://symfony.com",
2342 | "keywords": [
2343 | "abstractions",
2344 | "contracts",
2345 | "decoupling",
2346 | "interfaces",
2347 | "interoperability",
2348 | "standards"
2349 | ],
2350 | "time": "2019-11-18T17:27:11+00:00"
2351 | },
2352 | {
2353 | "name": "symfony/translation",
2354 | "version": "v4.4.2",
2355 | "source": {
2356 | "type": "git",
2357 | "url": "https://github.com/symfony/translation.git",
2358 | "reference": "f7669f48a9633bf8139bc026c755e894b7206677"
2359 | },
2360 | "dist": {
2361 | "type": "zip",
2362 | "url": "https://api.github.com/repos/symfony/translation/zipball/f7669f48a9633bf8139bc026c755e894b7206677",
2363 | "reference": "f7669f48a9633bf8139bc026c755e894b7206677",
2364 | "shasum": ""
2365 | },
2366 | "require": {
2367 | "php": "^7.1.3",
2368 | "symfony/polyfill-mbstring": "~1.0",
2369 | "symfony/translation-contracts": "^1.1.6|^2"
2370 | },
2371 | "conflict": {
2372 | "symfony/config": "<3.4",
2373 | "symfony/dependency-injection": "<3.4",
2374 | "symfony/http-kernel": "<4.4",
2375 | "symfony/yaml": "<3.4"
2376 | },
2377 | "provide": {
2378 | "symfony/translation-implementation": "1.0"
2379 | },
2380 | "require-dev": {
2381 | "psr/log": "~1.0",
2382 | "symfony/config": "^3.4|^4.0|^5.0",
2383 | "symfony/console": "^3.4|^4.0|^5.0",
2384 | "symfony/dependency-injection": "^3.4|^4.0|^5.0",
2385 | "symfony/finder": "~2.8|~3.0|~4.0|^5.0",
2386 | "symfony/http-kernel": "^4.4",
2387 | "symfony/intl": "^3.4|^4.0|^5.0",
2388 | "symfony/service-contracts": "^1.1.2|^2",
2389 | "symfony/yaml": "^3.4|^4.0|^5.0"
2390 | },
2391 | "suggest": {
2392 | "psr/log-implementation": "To use logging capability in translator",
2393 | "symfony/config": "",
2394 | "symfony/yaml": ""
2395 | },
2396 | "type": "library",
2397 | "extra": {
2398 | "branch-alias": {
2399 | "dev-master": "4.4-dev"
2400 | }
2401 | },
2402 | "autoload": {
2403 | "psr-4": {
2404 | "Symfony\\Component\\Translation\\": ""
2405 | },
2406 | "exclude-from-classmap": [
2407 | "/Tests/"
2408 | ]
2409 | },
2410 | "notification-url": "https://packagist.org/downloads/",
2411 | "license": [
2412 | "MIT"
2413 | ],
2414 | "authors": [
2415 | {
2416 | "name": "Fabien Potencier",
2417 | "email": "fabien@symfony.com"
2418 | },
2419 | {
2420 | "name": "Symfony Community",
2421 | "homepage": "https://symfony.com/contributors"
2422 | }
2423 | ],
2424 | "description": "Symfony Translation Component",
2425 | "homepage": "https://symfony.com",
2426 | "time": "2019-12-12T12:53:52+00:00"
2427 | },
2428 | {
2429 | "name": "symfony/translation-contracts",
2430 | "version": "v2.0.1",
2431 | "source": {
2432 | "type": "git",
2433 | "url": "https://github.com/symfony/translation-contracts.git",
2434 | "reference": "8cc682ac458d75557203b2f2f14b0b92e1c744ed"
2435 | },
2436 | "dist": {
2437 | "type": "zip",
2438 | "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/8cc682ac458d75557203b2f2f14b0b92e1c744ed",
2439 | "reference": "8cc682ac458d75557203b2f2f14b0b92e1c744ed",
2440 | "shasum": ""
2441 | },
2442 | "require": {
2443 | "php": "^7.2.5"
2444 | },
2445 | "suggest": {
2446 | "symfony/translation-implementation": ""
2447 | },
2448 | "type": "library",
2449 | "extra": {
2450 | "branch-alias": {
2451 | "dev-master": "2.0-dev"
2452 | }
2453 | },
2454 | "autoload": {
2455 | "psr-4": {
2456 | "Symfony\\Contracts\\Translation\\": ""
2457 | }
2458 | },
2459 | "notification-url": "https://packagist.org/downloads/",
2460 | "license": [
2461 | "MIT"
2462 | ],
2463 | "authors": [
2464 | {
2465 | "name": "Nicolas Grekas",
2466 | "email": "p@tchwork.com"
2467 | },
2468 | {
2469 | "name": "Symfony Community",
2470 | "homepage": "https://symfony.com/contributors"
2471 | }
2472 | ],
2473 | "description": "Generic abstractions related to translation",
2474 | "homepage": "https://symfony.com",
2475 | "keywords": [
2476 | "abstractions",
2477 | "contracts",
2478 | "decoupling",
2479 | "interfaces",
2480 | "interoperability",
2481 | "standards"
2482 | ],
2483 | "time": "2019-11-18T17:27:11+00:00"
2484 | },
2485 | {
2486 | "name": "symfony/var-dumper",
2487 | "version": "v4.4.2",
2488 | "source": {
2489 | "type": "git",
2490 | "url": "https://github.com/symfony/var-dumper.git",
2491 | "reference": "be330f919bdb395d1e0c3f2bfb8948512d6bdd99"
2492 | },
2493 | "dist": {
2494 | "type": "zip",
2495 | "url": "https://api.github.com/repos/symfony/var-dumper/zipball/be330f919bdb395d1e0c3f2bfb8948512d6bdd99",
2496 | "reference": "be330f919bdb395d1e0c3f2bfb8948512d6bdd99",
2497 | "shasum": ""
2498 | },
2499 | "require": {
2500 | "php": "^7.1.3",
2501 | "symfony/polyfill-mbstring": "~1.0",
2502 | "symfony/polyfill-php72": "~1.5"
2503 | },
2504 | "conflict": {
2505 | "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0",
2506 | "symfony/console": "<3.4"
2507 | },
2508 | "require-dev": {
2509 | "ext-iconv": "*",
2510 | "symfony/console": "^3.4|^4.0|^5.0",
2511 | "symfony/process": "^4.4|^5.0",
2512 | "twig/twig": "^1.34|^2.4|^3.0"
2513 | },
2514 | "suggest": {
2515 | "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
2516 | "ext-intl": "To show region name in time zone dump",
2517 | "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
2518 | },
2519 | "bin": [
2520 | "Resources/bin/var-dump-server"
2521 | ],
2522 | "type": "library",
2523 | "extra": {
2524 | "branch-alias": {
2525 | "dev-master": "4.4-dev"
2526 | }
2527 | },
2528 | "autoload": {
2529 | "files": [
2530 | "Resources/functions/dump.php"
2531 | ],
2532 | "psr-4": {
2533 | "Symfony\\Component\\VarDumper\\": ""
2534 | },
2535 | "exclude-from-classmap": [
2536 | "/Tests/"
2537 | ]
2538 | },
2539 | "notification-url": "https://packagist.org/downloads/",
2540 | "license": [
2541 | "MIT"
2542 | ],
2543 | "authors": [
2544 | {
2545 | "name": "Nicolas Grekas",
2546 | "email": "p@tchwork.com"
2547 | },
2548 | {
2549 | "name": "Symfony Community",
2550 | "homepage": "https://symfony.com/contributors"
2551 | }
2552 | ],
2553 | "description": "Symfony mechanism for exploring and dumping PHP variables",
2554 | "homepage": "https://symfony.com",
2555 | "keywords": [
2556 | "debug",
2557 | "dump"
2558 | ],
2559 | "time": "2019-12-18T13:41:29+00:00"
2560 | },
2561 | {
2562 | "name": "tijsverkoyen/css-to-inline-styles",
2563 | "version": "2.2.2",
2564 | "source": {
2565 | "type": "git",
2566 | "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
2567 | "reference": "dda2ee426acd6d801d5b7fd1001cde9b5f790e15"
2568 | },
2569 | "dist": {
2570 | "type": "zip",
2571 | "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/dda2ee426acd6d801d5b7fd1001cde9b5f790e15",
2572 | "reference": "dda2ee426acd6d801d5b7fd1001cde9b5f790e15",
2573 | "shasum": ""
2574 | },
2575 | "require": {
2576 | "ext-dom": "*",
2577 | "ext-libxml": "*",
2578 | "php": "^5.5 || ^7.0",
2579 | "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0"
2580 | },
2581 | "require-dev": {
2582 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
2583 | },
2584 | "type": "library",
2585 | "extra": {
2586 | "branch-alias": {
2587 | "dev-master": "2.2.x-dev"
2588 | }
2589 | },
2590 | "autoload": {
2591 | "psr-4": {
2592 | "TijsVerkoyen\\CssToInlineStyles\\": "src"
2593 | }
2594 | },
2595 | "notification-url": "https://packagist.org/downloads/",
2596 | "license": [
2597 | "BSD-3-Clause"
2598 | ],
2599 | "authors": [
2600 | {
2601 | "name": "Tijs Verkoyen",
2602 | "email": "css_to_inline_styles@verkoyen.eu",
2603 | "role": "Developer"
2604 | }
2605 | ],
2606 | "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.",
2607 | "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
2608 | "time": "2019-10-24T08:53:34+00:00"
2609 | },
2610 | {
2611 | "name": "vlucas/phpdotenv",
2612 | "version": "v3.6.0",
2613 | "source": {
2614 | "type": "git",
2615 | "url": "https://github.com/vlucas/phpdotenv.git",
2616 | "reference": "1bdf24f065975594f6a117f0f1f6cabf1333b156"
2617 | },
2618 | "dist": {
2619 | "type": "zip",
2620 | "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/1bdf24f065975594f6a117f0f1f6cabf1333b156",
2621 | "reference": "1bdf24f065975594f6a117f0f1f6cabf1333b156",
2622 | "shasum": ""
2623 | },
2624 | "require": {
2625 | "php": "^5.4 || ^7.0",
2626 | "phpoption/phpoption": "^1.5",
2627 | "symfony/polyfill-ctype": "^1.9"
2628 | },
2629 | "require-dev": {
2630 | "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0"
2631 | },
2632 | "type": "library",
2633 | "extra": {
2634 | "branch-alias": {
2635 | "dev-master": "3.6-dev"
2636 | }
2637 | },
2638 | "autoload": {
2639 | "psr-4": {
2640 | "Dotenv\\": "src/"
2641 | }
2642 | },
2643 | "notification-url": "https://packagist.org/downloads/",
2644 | "license": [
2645 | "BSD-3-Clause"
2646 | ],
2647 | "authors": [
2648 | {
2649 | "name": "Graham Campbell",
2650 | "email": "graham@alt-three.com",
2651 | "homepage": "https://gjcampbell.co.uk/"
2652 | },
2653 | {
2654 | "name": "Vance Lucas",
2655 | "email": "vance@vancelucas.com",
2656 | "homepage": "https://vancelucas.com/"
2657 | }
2658 | ],
2659 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
2660 | "keywords": [
2661 | "dotenv",
2662 | "env",
2663 | "environment"
2664 | ],
2665 | "time": "2019-09-10T21:37:39+00:00"
2666 | }
2667 | ],
2668 | "packages-dev": [
2669 | {
2670 | "name": "doctrine/instantiator",
2671 | "version": "1.3.0",
2672 | "source": {
2673 | "type": "git",
2674 | "url": "https://github.com/doctrine/instantiator.git",
2675 | "reference": "ae466f726242e637cebdd526a7d991b9433bacf1"
2676 | },
2677 | "dist": {
2678 | "type": "zip",
2679 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1",
2680 | "reference": "ae466f726242e637cebdd526a7d991b9433bacf1",
2681 | "shasum": ""
2682 | },
2683 | "require": {
2684 | "php": "^7.1"
2685 | },
2686 | "require-dev": {
2687 | "doctrine/coding-standard": "^6.0",
2688 | "ext-pdo": "*",
2689 | "ext-phar": "*",
2690 | "phpbench/phpbench": "^0.13",
2691 | "phpstan/phpstan-phpunit": "^0.11",
2692 | "phpstan/phpstan-shim": "^0.11",
2693 | "phpunit/phpunit": "^7.0"
2694 | },
2695 | "type": "library",
2696 | "extra": {
2697 | "branch-alias": {
2698 | "dev-master": "1.2.x-dev"
2699 | }
2700 | },
2701 | "autoload": {
2702 | "psr-4": {
2703 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
2704 | }
2705 | },
2706 | "notification-url": "https://packagist.org/downloads/",
2707 | "license": [
2708 | "MIT"
2709 | ],
2710 | "authors": [
2711 | {
2712 | "name": "Marco Pivetta",
2713 | "email": "ocramius@gmail.com",
2714 | "homepage": "http://ocramius.github.com/"
2715 | }
2716 | ],
2717 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
2718 | "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
2719 | "keywords": [
2720 | "constructor",
2721 | "instantiate"
2722 | ],
2723 | "time": "2019-10-21T16:45:58+00:00"
2724 | },
2725 | {
2726 | "name": "fzaninotto/faker",
2727 | "version": "v1.9.1",
2728 | "source": {
2729 | "type": "git",
2730 | "url": "https://github.com/fzaninotto/Faker.git",
2731 | "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f"
2732 | },
2733 | "dist": {
2734 | "type": "zip",
2735 | "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/fc10d778e4b84d5bd315dad194661e091d307c6f",
2736 | "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f",
2737 | "shasum": ""
2738 | },
2739 | "require": {
2740 | "php": "^5.3.3 || ^7.0"
2741 | },
2742 | "require-dev": {
2743 | "ext-intl": "*",
2744 | "phpunit/phpunit": "^4.8.35 || ^5.7",
2745 | "squizlabs/php_codesniffer": "^2.9.2"
2746 | },
2747 | "type": "library",
2748 | "extra": {
2749 | "branch-alias": {
2750 | "dev-master": "1.9-dev"
2751 | }
2752 | },
2753 | "autoload": {
2754 | "psr-4": {
2755 | "Faker\\": "src/Faker/"
2756 | }
2757 | },
2758 | "notification-url": "https://packagist.org/downloads/",
2759 | "license": [
2760 | "MIT"
2761 | ],
2762 | "authors": [
2763 | {
2764 | "name": "François Zaninotto"
2765 | }
2766 | ],
2767 | "description": "Faker is a PHP library that generates fake data for you.",
2768 | "keywords": [
2769 | "data",
2770 | "faker",
2771 | "fixtures"
2772 | ],
2773 | "time": "2019-12-12T13:22:17+00:00"
2774 | },
2775 | {
2776 | "name": "hamcrest/hamcrest-php",
2777 | "version": "v2.0.0",
2778 | "source": {
2779 | "type": "git",
2780 | "url": "https://github.com/hamcrest/hamcrest-php.git",
2781 | "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad"
2782 | },
2783 | "dist": {
2784 | "type": "zip",
2785 | "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/776503d3a8e85d4f9a1148614f95b7a608b046ad",
2786 | "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad",
2787 | "shasum": ""
2788 | },
2789 | "require": {
2790 | "php": "^5.3|^7.0"
2791 | },
2792 | "replace": {
2793 | "cordoval/hamcrest-php": "*",
2794 | "davedevelopment/hamcrest-php": "*",
2795 | "kodova/hamcrest-php": "*"
2796 | },
2797 | "require-dev": {
2798 | "phpunit/php-file-iterator": "1.3.3",
2799 | "phpunit/phpunit": "~4.0",
2800 | "satooshi/php-coveralls": "^1.0"
2801 | },
2802 | "type": "library",
2803 | "extra": {
2804 | "branch-alias": {
2805 | "dev-master": "2.0-dev"
2806 | }
2807 | },
2808 | "autoload": {
2809 | "classmap": [
2810 | "hamcrest"
2811 | ]
2812 | },
2813 | "notification-url": "https://packagist.org/downloads/",
2814 | "license": [
2815 | "BSD"
2816 | ],
2817 | "description": "This is the PHP port of Hamcrest Matchers",
2818 | "keywords": [
2819 | "test"
2820 | ],
2821 | "time": "2016-01-20T08:20:44+00:00"
2822 | },
2823 | {
2824 | "name": "mockery/mockery",
2825 | "version": "1.3.1",
2826 | "source": {
2827 | "type": "git",
2828 | "url": "https://github.com/mockery/mockery.git",
2829 | "reference": "f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be"
2830 | },
2831 | "dist": {
2832 | "type": "zip",
2833 | "url": "https://api.github.com/repos/mockery/mockery/zipball/f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be",
2834 | "reference": "f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be",
2835 | "shasum": ""
2836 | },
2837 | "require": {
2838 | "hamcrest/hamcrest-php": "~2.0",
2839 | "lib-pcre": ">=7.0",
2840 | "php": ">=5.6.0"
2841 | },
2842 | "require-dev": {
2843 | "phpunit/phpunit": "~5.7.10|~6.5|~7.0|~8.0"
2844 | },
2845 | "type": "library",
2846 | "extra": {
2847 | "branch-alias": {
2848 | "dev-master": "1.3.x-dev"
2849 | }
2850 | },
2851 | "autoload": {
2852 | "psr-0": {
2853 | "Mockery": "library/"
2854 | }
2855 | },
2856 | "notification-url": "https://packagist.org/downloads/",
2857 | "license": [
2858 | "BSD-3-Clause"
2859 | ],
2860 | "authors": [
2861 | {
2862 | "name": "Pádraic Brady",
2863 | "email": "padraic.brady@gmail.com",
2864 | "homepage": "http://blog.astrumfutura.com"
2865 | },
2866 | {
2867 | "name": "Dave Marshall",
2868 | "email": "dave.marshall@atstsolutions.co.uk",
2869 | "homepage": "http://davedevelopment.co.uk"
2870 | }
2871 | ],
2872 | "description": "Mockery is a simple yet flexible PHP mock object framework",
2873 | "homepage": "https://github.com/mockery/mockery",
2874 | "keywords": [
2875 | "BDD",
2876 | "TDD",
2877 | "library",
2878 | "mock",
2879 | "mock objects",
2880 | "mockery",
2881 | "stub",
2882 | "test",
2883 | "test double",
2884 | "testing"
2885 | ],
2886 | "time": "2019-12-26T09:49:15+00:00"
2887 | },
2888 | {
2889 | "name": "myclabs/deep-copy",
2890 | "version": "1.9.4",
2891 | "source": {
2892 | "type": "git",
2893 | "url": "https://github.com/myclabs/DeepCopy.git",
2894 | "reference": "579bb7356d91f9456ccd505f24ca8b667966a0a7"
2895 | },
2896 | "dist": {
2897 | "type": "zip",
2898 | "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/579bb7356d91f9456ccd505f24ca8b667966a0a7",
2899 | "reference": "579bb7356d91f9456ccd505f24ca8b667966a0a7",
2900 | "shasum": ""
2901 | },
2902 | "require": {
2903 | "php": "^7.1"
2904 | },
2905 | "replace": {
2906 | "myclabs/deep-copy": "self.version"
2907 | },
2908 | "require-dev": {
2909 | "doctrine/collections": "^1.0",
2910 | "doctrine/common": "^2.6",
2911 | "phpunit/phpunit": "^7.1"
2912 | },
2913 | "type": "library",
2914 | "autoload": {
2915 | "psr-4": {
2916 | "DeepCopy\\": "src/DeepCopy/"
2917 | },
2918 | "files": [
2919 | "src/DeepCopy/deep_copy.php"
2920 | ]
2921 | },
2922 | "notification-url": "https://packagist.org/downloads/",
2923 | "license": [
2924 | "MIT"
2925 | ],
2926 | "description": "Create deep copies (clones) of your objects",
2927 | "keywords": [
2928 | "clone",
2929 | "copy",
2930 | "duplicate",
2931 | "object",
2932 | "object graph"
2933 | ],
2934 | "time": "2019-12-15T19:12:40+00:00"
2935 | },
2936 | {
2937 | "name": "orchestra/testbench",
2938 | "version": "v4.4.1",
2939 | "source": {
2940 | "type": "git",
2941 | "url": "https://github.com/orchestral/testbench.git",
2942 | "reference": "39799813d491c1abbf97e3f909801efb3e6f3a4b"
2943 | },
2944 | "dist": {
2945 | "type": "zip",
2946 | "url": "https://api.github.com/repos/orchestral/testbench/zipball/39799813d491c1abbf97e3f909801efb3e6f3a4b",
2947 | "reference": "39799813d491c1abbf97e3f909801efb3e6f3a4b",
2948 | "shasum": ""
2949 | },
2950 | "require": {
2951 | "laravel/framework": "^6.4",
2952 | "mockery/mockery": "^1.2.3",
2953 | "orchestra/testbench-core": "^4.4.1",
2954 | "php": ">=7.2",
2955 | "phpunit/phpunit": "^8.3"
2956 | },
2957 | "type": "library",
2958 | "extra": {
2959 | "branch-alias": {
2960 | "dev-master": "5.0-dev"
2961 | }
2962 | },
2963 | "notification-url": "https://packagist.org/downloads/",
2964 | "license": [
2965 | "MIT"
2966 | ],
2967 | "authors": [
2968 | {
2969 | "name": "Mior Muhammad Zaki",
2970 | "email": "crynobone@gmail.com",
2971 | "homepage": "https://github.com/crynobone"
2972 | }
2973 | ],
2974 | "description": "Laravel Testing Helper for Packages Development",
2975 | "homepage": "http://orchestraplatform.com/docs/latest/components/testbench/",
2976 | "keywords": [
2977 | "BDD",
2978 | "TDD",
2979 | "laravel",
2980 | "orchestra-platform",
2981 | "orchestral",
2982 | "testing"
2983 | ],
2984 | "time": "2019-11-22T22:36:07+00:00"
2985 | },
2986 | {
2987 | "name": "orchestra/testbench-core",
2988 | "version": "v4.5.0",
2989 | "source": {
2990 | "type": "git",
2991 | "url": "https://github.com/orchestral/testbench-core.git",
2992 | "reference": "b92e31c5b101fc87bc5c3137610151dcae82f0e3"
2993 | },
2994 | "dist": {
2995 | "type": "zip",
2996 | "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/b92e31c5b101fc87bc5c3137610151dcae82f0e3",
2997 | "reference": "b92e31c5b101fc87bc5c3137610151dcae82f0e3",
2998 | "shasum": ""
2999 | },
3000 | "require": {
3001 | "fzaninotto/faker": "^1.4",
3002 | "php": ">=7.2"
3003 | },
3004 | "require-dev": {
3005 | "laravel/framework": "^6.9",
3006 | "laravel/laravel": "dev-master",
3007 | "mockery/mockery": "^1.2.3",
3008 | "phpunit/phpunit": "^8.3 || ^9.0"
3009 | },
3010 | "suggest": {
3011 | "laravel/framework": "Required for testing (^6.9).",
3012 | "mockery/mockery": "Allow using Mockery for testing (^1.2.3).",
3013 | "orchestra/testbench-browser-kit": "Allow using legacy Laravel BrowserKit for testing (^4.0).",
3014 | "orchestra/testbench-dusk": "Allow using Laravel Dusk for testing (^4.0).",
3015 | "phpunit/phpunit": "Allow using PHPUnit for testing (^8.3)."
3016 | },
3017 | "type": "library",
3018 | "extra": {
3019 | "branch-alias": {
3020 | "dev-master": "4.0-dev"
3021 | }
3022 | },
3023 | "autoload": {
3024 | "psr-4": {
3025 | "Orchestra\\Testbench\\": "src/"
3026 | }
3027 | },
3028 | "notification-url": "https://packagist.org/downloads/",
3029 | "license": [
3030 | "MIT"
3031 | ],
3032 | "authors": [
3033 | {
3034 | "name": "Mior Muhammad Zaki",
3035 | "email": "crynobone@gmail.com",
3036 | "homepage": "https://github.com/crynobone"
3037 | }
3038 | ],
3039 | "description": "Testing Helper for Laravel Development",
3040 | "homepage": "http://orchestraplatform.com/docs/latest/components/testbench/",
3041 | "keywords": [
3042 | "BDD",
3043 | "TDD",
3044 | "laravel",
3045 | "orchestra-platform",
3046 | "orchestral",
3047 | "testing"
3048 | ],
3049 | "time": "2019-12-31T01:37:59+00:00"
3050 | },
3051 | {
3052 | "name": "phar-io/manifest",
3053 | "version": "1.0.3",
3054 | "source": {
3055 | "type": "git",
3056 | "url": "https://github.com/phar-io/manifest.git",
3057 | "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4"
3058 | },
3059 | "dist": {
3060 | "type": "zip",
3061 | "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
3062 | "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
3063 | "shasum": ""
3064 | },
3065 | "require": {
3066 | "ext-dom": "*",
3067 | "ext-phar": "*",
3068 | "phar-io/version": "^2.0",
3069 | "php": "^5.6 || ^7.0"
3070 | },
3071 | "type": "library",
3072 | "extra": {
3073 | "branch-alias": {
3074 | "dev-master": "1.0.x-dev"
3075 | }
3076 | },
3077 | "autoload": {
3078 | "classmap": [
3079 | "src/"
3080 | ]
3081 | },
3082 | "notification-url": "https://packagist.org/downloads/",
3083 | "license": [
3084 | "BSD-3-Clause"
3085 | ],
3086 | "authors": [
3087 | {
3088 | "name": "Arne Blankerts",
3089 | "email": "arne@blankerts.de",
3090 | "role": "Developer"
3091 | },
3092 | {
3093 | "name": "Sebastian Heuer",
3094 | "email": "sebastian@phpeople.de",
3095 | "role": "Developer"
3096 | },
3097 | {
3098 | "name": "Sebastian Bergmann",
3099 | "email": "sebastian@phpunit.de",
3100 | "role": "Developer"
3101 | }
3102 | ],
3103 | "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
3104 | "time": "2018-07-08T19:23:20+00:00"
3105 | },
3106 | {
3107 | "name": "phar-io/version",
3108 | "version": "2.0.1",
3109 | "source": {
3110 | "type": "git",
3111 | "url": "https://github.com/phar-io/version.git",
3112 | "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6"
3113 | },
3114 | "dist": {
3115 | "type": "zip",
3116 | "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6",
3117 | "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6",
3118 | "shasum": ""
3119 | },
3120 | "require": {
3121 | "php": "^5.6 || ^7.0"
3122 | },
3123 | "type": "library",
3124 | "autoload": {
3125 | "classmap": [
3126 | "src/"
3127 | ]
3128 | },
3129 | "notification-url": "https://packagist.org/downloads/",
3130 | "license": [
3131 | "BSD-3-Clause"
3132 | ],
3133 | "authors": [
3134 | {
3135 | "name": "Arne Blankerts",
3136 | "email": "arne@blankerts.de",
3137 | "role": "Developer"
3138 | },
3139 | {
3140 | "name": "Sebastian Heuer",
3141 | "email": "sebastian@phpeople.de",
3142 | "role": "Developer"
3143 | },
3144 | {
3145 | "name": "Sebastian Bergmann",
3146 | "email": "sebastian@phpunit.de",
3147 | "role": "Developer"
3148 | }
3149 | ],
3150 | "description": "Library for handling version information and constraints",
3151 | "time": "2018-07-08T19:19:57+00:00"
3152 | },
3153 | {
3154 | "name": "phpdocumentor/reflection-common",
3155 | "version": "2.0.0",
3156 | "source": {
3157 | "type": "git",
3158 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
3159 | "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a"
3160 | },
3161 | "dist": {
3162 | "type": "zip",
3163 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a",
3164 | "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a",
3165 | "shasum": ""
3166 | },
3167 | "require": {
3168 | "php": ">=7.1"
3169 | },
3170 | "require-dev": {
3171 | "phpunit/phpunit": "~6"
3172 | },
3173 | "type": "library",
3174 | "extra": {
3175 | "branch-alias": {
3176 | "dev-master": "2.x-dev"
3177 | }
3178 | },
3179 | "autoload": {
3180 | "psr-4": {
3181 | "phpDocumentor\\Reflection\\": "src/"
3182 | }
3183 | },
3184 | "notification-url": "https://packagist.org/downloads/",
3185 | "license": [
3186 | "MIT"
3187 | ],
3188 | "authors": [
3189 | {
3190 | "name": "Jaap van Otterdijk",
3191 | "email": "opensource@ijaap.nl"
3192 | }
3193 | ],
3194 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
3195 | "homepage": "http://www.phpdoc.org",
3196 | "keywords": [
3197 | "FQSEN",
3198 | "phpDocumentor",
3199 | "phpdoc",
3200 | "reflection",
3201 | "static analysis"
3202 | ],
3203 | "time": "2018-08-07T13:53:10+00:00"
3204 | },
3205 | {
3206 | "name": "phpdocumentor/reflection-docblock",
3207 | "version": "4.3.4",
3208 | "source": {
3209 | "type": "git",
3210 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
3211 | "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c"
3212 | },
3213 | "dist": {
3214 | "type": "zip",
3215 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/da3fd972d6bafd628114f7e7e036f45944b62e9c",
3216 | "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c",
3217 | "shasum": ""
3218 | },
3219 | "require": {
3220 | "php": "^7.0",
3221 | "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0",
3222 | "phpdocumentor/type-resolver": "~0.4 || ^1.0.0",
3223 | "webmozart/assert": "^1.0"
3224 | },
3225 | "require-dev": {
3226 | "doctrine/instantiator": "^1.0.5",
3227 | "mockery/mockery": "^1.0",
3228 | "phpdocumentor/type-resolver": "0.4.*",
3229 | "phpunit/phpunit": "^6.4"
3230 | },
3231 | "type": "library",
3232 | "extra": {
3233 | "branch-alias": {
3234 | "dev-master": "4.x-dev"
3235 | }
3236 | },
3237 | "autoload": {
3238 | "psr-4": {
3239 | "phpDocumentor\\Reflection\\": [
3240 | "src/"
3241 | ]
3242 | }
3243 | },
3244 | "notification-url": "https://packagist.org/downloads/",
3245 | "license": [
3246 | "MIT"
3247 | ],
3248 | "authors": [
3249 | {
3250 | "name": "Mike van Riel",
3251 | "email": "me@mikevanriel.com"
3252 | }
3253 | ],
3254 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
3255 | "time": "2019-12-28T18:55:12+00:00"
3256 | },
3257 | {
3258 | "name": "phpdocumentor/type-resolver",
3259 | "version": "1.0.1",
3260 | "source": {
3261 | "type": "git",
3262 | "url": "https://github.com/phpDocumentor/TypeResolver.git",
3263 | "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9"
3264 | },
3265 | "dist": {
3266 | "type": "zip",
3267 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9",
3268 | "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9",
3269 | "shasum": ""
3270 | },
3271 | "require": {
3272 | "php": "^7.1",
3273 | "phpdocumentor/reflection-common": "^2.0"
3274 | },
3275 | "require-dev": {
3276 | "ext-tokenizer": "^7.1",
3277 | "mockery/mockery": "~1",
3278 | "phpunit/phpunit": "^7.0"
3279 | },
3280 | "type": "library",
3281 | "extra": {
3282 | "branch-alias": {
3283 | "dev-master": "1.x-dev"
3284 | }
3285 | },
3286 | "autoload": {
3287 | "psr-4": {
3288 | "phpDocumentor\\Reflection\\": "src"
3289 | }
3290 | },
3291 | "notification-url": "https://packagist.org/downloads/",
3292 | "license": [
3293 | "MIT"
3294 | ],
3295 | "authors": [
3296 | {
3297 | "name": "Mike van Riel",
3298 | "email": "me@mikevanriel.com"
3299 | }
3300 | ],
3301 | "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
3302 | "time": "2019-08-22T18:11:29+00:00"
3303 | },
3304 | {
3305 | "name": "phpspec/prophecy",
3306 | "version": "1.10.1",
3307 | "source": {
3308 | "type": "git",
3309 | "url": "https://github.com/phpspec/prophecy.git",
3310 | "reference": "cbe1df668b3fe136bcc909126a0f529a78d4cbbc"
3311 | },
3312 | "dist": {
3313 | "type": "zip",
3314 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/cbe1df668b3fe136bcc909126a0f529a78d4cbbc",
3315 | "reference": "cbe1df668b3fe136bcc909126a0f529a78d4cbbc",
3316 | "shasum": ""
3317 | },
3318 | "require": {
3319 | "doctrine/instantiator": "^1.0.2",
3320 | "php": "^5.3|^7.0",
3321 | "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0",
3322 | "sebastian/comparator": "^1.2.3|^2.0|^3.0",
3323 | "sebastian/recursion-context": "^1.0|^2.0|^3.0"
3324 | },
3325 | "require-dev": {
3326 | "phpspec/phpspec": "^2.5 || ^3.2",
3327 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
3328 | },
3329 | "type": "library",
3330 | "extra": {
3331 | "branch-alias": {
3332 | "dev-master": "1.10.x-dev"
3333 | }
3334 | },
3335 | "autoload": {
3336 | "psr-4": {
3337 | "Prophecy\\": "src/Prophecy"
3338 | }
3339 | },
3340 | "notification-url": "https://packagist.org/downloads/",
3341 | "license": [
3342 | "MIT"
3343 | ],
3344 | "authors": [
3345 | {
3346 | "name": "Konstantin Kudryashov",
3347 | "email": "ever.zet@gmail.com",
3348 | "homepage": "http://everzet.com"
3349 | },
3350 | {
3351 | "name": "Marcello Duarte",
3352 | "email": "marcello.duarte@gmail.com"
3353 | }
3354 | ],
3355 | "description": "Highly opinionated mocking framework for PHP 5.3+",
3356 | "homepage": "https://github.com/phpspec/prophecy",
3357 | "keywords": [
3358 | "Double",
3359 | "Dummy",
3360 | "fake",
3361 | "mock",
3362 | "spy",
3363 | "stub"
3364 | ],
3365 | "time": "2019-12-22T21:05:45+00:00"
3366 | },
3367 | {
3368 | "name": "phpstan/phpstan",
3369 | "version": "0.12.4",
3370 | "source": {
3371 | "type": "git",
3372 | "url": "https://github.com/phpstan/phpstan.git",
3373 | "reference": "100a25ba8561223f6bf5a5ff4204f951c0ec007c"
3374 | },
3375 | "dist": {
3376 | "type": "zip",
3377 | "url": "https://api.github.com/repos/phpstan/phpstan/zipball/100a25ba8561223f6bf5a5ff4204f951c0ec007c",
3378 | "reference": "100a25ba8561223f6bf5a5ff4204f951c0ec007c",
3379 | "shasum": ""
3380 | },
3381 | "require": {
3382 | "php": "^7.1"
3383 | },
3384 | "bin": [
3385 | "phpstan",
3386 | "phpstan.phar"
3387 | ],
3388 | "type": "library",
3389 | "extra": {
3390 | "branch-alias": {
3391 | "dev-master": "0.12-dev"
3392 | }
3393 | },
3394 | "autoload": {
3395 | "files": [
3396 | "bootstrap.php"
3397 | ]
3398 | },
3399 | "notification-url": "https://packagist.org/downloads/",
3400 | "license": [
3401 | "MIT"
3402 | ],
3403 | "description": "PHPStan - PHP Static Analysis Tool",
3404 | "time": "2020-01-06T06:38:17+00:00"
3405 | },
3406 | {
3407 | "name": "phpunit/php-code-coverage",
3408 | "version": "7.0.10",
3409 | "source": {
3410 | "type": "git",
3411 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
3412 | "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf"
3413 | },
3414 | "dist": {
3415 | "type": "zip",
3416 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f1884187926fbb755a9aaf0b3836ad3165b478bf",
3417 | "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf",
3418 | "shasum": ""
3419 | },
3420 | "require": {
3421 | "ext-dom": "*",
3422 | "ext-xmlwriter": "*",
3423 | "php": "^7.2",
3424 | "phpunit/php-file-iterator": "^2.0.2",
3425 | "phpunit/php-text-template": "^1.2.1",
3426 | "phpunit/php-token-stream": "^3.1.1",
3427 | "sebastian/code-unit-reverse-lookup": "^1.0.1",
3428 | "sebastian/environment": "^4.2.2",
3429 | "sebastian/version": "^2.0.1",
3430 | "theseer/tokenizer": "^1.1.3"
3431 | },
3432 | "require-dev": {
3433 | "phpunit/phpunit": "^8.2.2"
3434 | },
3435 | "suggest": {
3436 | "ext-xdebug": "^2.7.2"
3437 | },
3438 | "type": "library",
3439 | "extra": {
3440 | "branch-alias": {
3441 | "dev-master": "7.0-dev"
3442 | }
3443 | },
3444 | "autoload": {
3445 | "classmap": [
3446 | "src/"
3447 | ]
3448 | },
3449 | "notification-url": "https://packagist.org/downloads/",
3450 | "license": [
3451 | "BSD-3-Clause"
3452 | ],
3453 | "authors": [
3454 | {
3455 | "name": "Sebastian Bergmann",
3456 | "email": "sebastian@phpunit.de",
3457 | "role": "lead"
3458 | }
3459 | ],
3460 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
3461 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
3462 | "keywords": [
3463 | "coverage",
3464 | "testing",
3465 | "xunit"
3466 | ],
3467 | "time": "2019-11-20T13:55:58+00:00"
3468 | },
3469 | {
3470 | "name": "phpunit/php-file-iterator",
3471 | "version": "2.0.2",
3472 | "source": {
3473 | "type": "git",
3474 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
3475 | "reference": "050bedf145a257b1ff02746c31894800e5122946"
3476 | },
3477 | "dist": {
3478 | "type": "zip",
3479 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946",
3480 | "reference": "050bedf145a257b1ff02746c31894800e5122946",
3481 | "shasum": ""
3482 | },
3483 | "require": {
3484 | "php": "^7.1"
3485 | },
3486 | "require-dev": {
3487 | "phpunit/phpunit": "^7.1"
3488 | },
3489 | "type": "library",
3490 | "extra": {
3491 | "branch-alias": {
3492 | "dev-master": "2.0.x-dev"
3493 | }
3494 | },
3495 | "autoload": {
3496 | "classmap": [
3497 | "src/"
3498 | ]
3499 | },
3500 | "notification-url": "https://packagist.org/downloads/",
3501 | "license": [
3502 | "BSD-3-Clause"
3503 | ],
3504 | "authors": [
3505 | {
3506 | "name": "Sebastian Bergmann",
3507 | "email": "sebastian@phpunit.de",
3508 | "role": "lead"
3509 | }
3510 | ],
3511 | "description": "FilterIterator implementation that filters files based on a list of suffixes.",
3512 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
3513 | "keywords": [
3514 | "filesystem",
3515 | "iterator"
3516 | ],
3517 | "time": "2018-09-13T20:33:42+00:00"
3518 | },
3519 | {
3520 | "name": "phpunit/php-text-template",
3521 | "version": "1.2.1",
3522 | "source": {
3523 | "type": "git",
3524 | "url": "https://github.com/sebastianbergmann/php-text-template.git",
3525 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
3526 | },
3527 | "dist": {
3528 | "type": "zip",
3529 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
3530 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
3531 | "shasum": ""
3532 | },
3533 | "require": {
3534 | "php": ">=5.3.3"
3535 | },
3536 | "type": "library",
3537 | "autoload": {
3538 | "classmap": [
3539 | "src/"
3540 | ]
3541 | },
3542 | "notification-url": "https://packagist.org/downloads/",
3543 | "license": [
3544 | "BSD-3-Clause"
3545 | ],
3546 | "authors": [
3547 | {
3548 | "name": "Sebastian Bergmann",
3549 | "email": "sebastian@phpunit.de",
3550 | "role": "lead"
3551 | }
3552 | ],
3553 | "description": "Simple template engine.",
3554 | "homepage": "https://github.com/sebastianbergmann/php-text-template/",
3555 | "keywords": [
3556 | "template"
3557 | ],
3558 | "time": "2015-06-21T13:50:34+00:00"
3559 | },
3560 | {
3561 | "name": "phpunit/php-timer",
3562 | "version": "2.1.2",
3563 | "source": {
3564 | "type": "git",
3565 | "url": "https://github.com/sebastianbergmann/php-timer.git",
3566 | "reference": "1038454804406b0b5f5f520358e78c1c2f71501e"
3567 | },
3568 | "dist": {
3569 | "type": "zip",
3570 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e",
3571 | "reference": "1038454804406b0b5f5f520358e78c1c2f71501e",
3572 | "shasum": ""
3573 | },
3574 | "require": {
3575 | "php": "^7.1"
3576 | },
3577 | "require-dev": {
3578 | "phpunit/phpunit": "^7.0"
3579 | },
3580 | "type": "library",
3581 | "extra": {
3582 | "branch-alias": {
3583 | "dev-master": "2.1-dev"
3584 | }
3585 | },
3586 | "autoload": {
3587 | "classmap": [
3588 | "src/"
3589 | ]
3590 | },
3591 | "notification-url": "https://packagist.org/downloads/",
3592 | "license": [
3593 | "BSD-3-Clause"
3594 | ],
3595 | "authors": [
3596 | {
3597 | "name": "Sebastian Bergmann",
3598 | "email": "sebastian@phpunit.de",
3599 | "role": "lead"
3600 | }
3601 | ],
3602 | "description": "Utility class for timing",
3603 | "homepage": "https://github.com/sebastianbergmann/php-timer/",
3604 | "keywords": [
3605 | "timer"
3606 | ],
3607 | "time": "2019-06-07T04:22:29+00:00"
3608 | },
3609 | {
3610 | "name": "phpunit/php-token-stream",
3611 | "version": "3.1.1",
3612 | "source": {
3613 | "type": "git",
3614 | "url": "https://github.com/sebastianbergmann/php-token-stream.git",
3615 | "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff"
3616 | },
3617 | "dist": {
3618 | "type": "zip",
3619 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff",
3620 | "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff",
3621 | "shasum": ""
3622 | },
3623 | "require": {
3624 | "ext-tokenizer": "*",
3625 | "php": "^7.1"
3626 | },
3627 | "require-dev": {
3628 | "phpunit/phpunit": "^7.0"
3629 | },
3630 | "type": "library",
3631 | "extra": {
3632 | "branch-alias": {
3633 | "dev-master": "3.1-dev"
3634 | }
3635 | },
3636 | "autoload": {
3637 | "classmap": [
3638 | "src/"
3639 | ]
3640 | },
3641 | "notification-url": "https://packagist.org/downloads/",
3642 | "license": [
3643 | "BSD-3-Clause"
3644 | ],
3645 | "authors": [
3646 | {
3647 | "name": "Sebastian Bergmann",
3648 | "email": "sebastian@phpunit.de"
3649 | }
3650 | ],
3651 | "description": "Wrapper around PHP's tokenizer extension.",
3652 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
3653 | "keywords": [
3654 | "tokenizer"
3655 | ],
3656 | "time": "2019-09-17T06:23:10+00:00"
3657 | },
3658 | {
3659 | "name": "phpunit/phpunit",
3660 | "version": "8.5.1",
3661 | "source": {
3662 | "type": "git",
3663 | "url": "https://github.com/sebastianbergmann/phpunit.git",
3664 | "reference": "7870c78da3c5e4883eaef36ae47853ebb3cb86f2"
3665 | },
3666 | "dist": {
3667 | "type": "zip",
3668 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/7870c78da3c5e4883eaef36ae47853ebb3cb86f2",
3669 | "reference": "7870c78da3c5e4883eaef36ae47853ebb3cb86f2",
3670 | "shasum": ""
3671 | },
3672 | "require": {
3673 | "doctrine/instantiator": "^1.2.0",
3674 | "ext-dom": "*",
3675 | "ext-json": "*",
3676 | "ext-libxml": "*",
3677 | "ext-mbstring": "*",
3678 | "ext-xml": "*",
3679 | "ext-xmlwriter": "*",
3680 | "myclabs/deep-copy": "^1.9.1",
3681 | "phar-io/manifest": "^1.0.3",
3682 | "phar-io/version": "^2.0.1",
3683 | "php": "^7.2",
3684 | "phpspec/prophecy": "^1.8.1",
3685 | "phpunit/php-code-coverage": "^7.0.7",
3686 | "phpunit/php-file-iterator": "^2.0.2",
3687 | "phpunit/php-text-template": "^1.2.1",
3688 | "phpunit/php-timer": "^2.1.2",
3689 | "sebastian/comparator": "^3.0.2",
3690 | "sebastian/diff": "^3.0.2",
3691 | "sebastian/environment": "^4.2.2",
3692 | "sebastian/exporter": "^3.1.1",
3693 | "sebastian/global-state": "^3.0.0",
3694 | "sebastian/object-enumerator": "^3.0.3",
3695 | "sebastian/resource-operations": "^2.0.1",
3696 | "sebastian/type": "^1.1.3",
3697 | "sebastian/version": "^2.0.1"
3698 | },
3699 | "require-dev": {
3700 | "ext-pdo": "*"
3701 | },
3702 | "suggest": {
3703 | "ext-soap": "*",
3704 | "ext-xdebug": "*",
3705 | "phpunit/php-invoker": "^2.0.0"
3706 | },
3707 | "bin": [
3708 | "phpunit"
3709 | ],
3710 | "type": "library",
3711 | "extra": {
3712 | "branch-alias": {
3713 | "dev-master": "8.5-dev"
3714 | }
3715 | },
3716 | "autoload": {
3717 | "classmap": [
3718 | "src/"
3719 | ]
3720 | },
3721 | "notification-url": "https://packagist.org/downloads/",
3722 | "license": [
3723 | "BSD-3-Clause"
3724 | ],
3725 | "authors": [
3726 | {
3727 | "name": "Sebastian Bergmann",
3728 | "email": "sebastian@phpunit.de",
3729 | "role": "lead"
3730 | }
3731 | ],
3732 | "description": "The PHP Unit Testing framework.",
3733 | "homepage": "https://phpunit.de/",
3734 | "keywords": [
3735 | "phpunit",
3736 | "testing",
3737 | "xunit"
3738 | ],
3739 | "time": "2019-12-25T14:49:39+00:00"
3740 | },
3741 | {
3742 | "name": "sebastian/code-unit-reverse-lookup",
3743 | "version": "1.0.1",
3744 | "source": {
3745 | "type": "git",
3746 | "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
3747 | "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18"
3748 | },
3749 | "dist": {
3750 | "type": "zip",
3751 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
3752 | "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
3753 | "shasum": ""
3754 | },
3755 | "require": {
3756 | "php": "^5.6 || ^7.0"
3757 | },
3758 | "require-dev": {
3759 | "phpunit/phpunit": "^5.7 || ^6.0"
3760 | },
3761 | "type": "library",
3762 | "extra": {
3763 | "branch-alias": {
3764 | "dev-master": "1.0.x-dev"
3765 | }
3766 | },
3767 | "autoload": {
3768 | "classmap": [
3769 | "src/"
3770 | ]
3771 | },
3772 | "notification-url": "https://packagist.org/downloads/",
3773 | "license": [
3774 | "BSD-3-Clause"
3775 | ],
3776 | "authors": [
3777 | {
3778 | "name": "Sebastian Bergmann",
3779 | "email": "sebastian@phpunit.de"
3780 | }
3781 | ],
3782 | "description": "Looks up which function or method a line of code belongs to",
3783 | "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
3784 | "time": "2017-03-04T06:30:41+00:00"
3785 | },
3786 | {
3787 | "name": "sebastian/comparator",
3788 | "version": "3.0.2",
3789 | "source": {
3790 | "type": "git",
3791 | "url": "https://github.com/sebastianbergmann/comparator.git",
3792 | "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da"
3793 | },
3794 | "dist": {
3795 | "type": "zip",
3796 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da",
3797 | "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da",
3798 | "shasum": ""
3799 | },
3800 | "require": {
3801 | "php": "^7.1",
3802 | "sebastian/diff": "^3.0",
3803 | "sebastian/exporter": "^3.1"
3804 | },
3805 | "require-dev": {
3806 | "phpunit/phpunit": "^7.1"
3807 | },
3808 | "type": "library",
3809 | "extra": {
3810 | "branch-alias": {
3811 | "dev-master": "3.0-dev"
3812 | }
3813 | },
3814 | "autoload": {
3815 | "classmap": [
3816 | "src/"
3817 | ]
3818 | },
3819 | "notification-url": "https://packagist.org/downloads/",
3820 | "license": [
3821 | "BSD-3-Clause"
3822 | ],
3823 | "authors": [
3824 | {
3825 | "name": "Jeff Welch",
3826 | "email": "whatthejeff@gmail.com"
3827 | },
3828 | {
3829 | "name": "Volker Dusch",
3830 | "email": "github@wallbash.com"
3831 | },
3832 | {
3833 | "name": "Bernhard Schussek",
3834 | "email": "bschussek@2bepublished.at"
3835 | },
3836 | {
3837 | "name": "Sebastian Bergmann",
3838 | "email": "sebastian@phpunit.de"
3839 | }
3840 | ],
3841 | "description": "Provides the functionality to compare PHP values for equality",
3842 | "homepage": "https://github.com/sebastianbergmann/comparator",
3843 | "keywords": [
3844 | "comparator",
3845 | "compare",
3846 | "equality"
3847 | ],
3848 | "time": "2018-07-12T15:12:46+00:00"
3849 | },
3850 | {
3851 | "name": "sebastian/diff",
3852 | "version": "3.0.2",
3853 | "source": {
3854 | "type": "git",
3855 | "url": "https://github.com/sebastianbergmann/diff.git",
3856 | "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29"
3857 | },
3858 | "dist": {
3859 | "type": "zip",
3860 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29",
3861 | "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29",
3862 | "shasum": ""
3863 | },
3864 | "require": {
3865 | "php": "^7.1"
3866 | },
3867 | "require-dev": {
3868 | "phpunit/phpunit": "^7.5 || ^8.0",
3869 | "symfony/process": "^2 || ^3.3 || ^4"
3870 | },
3871 | "type": "library",
3872 | "extra": {
3873 | "branch-alias": {
3874 | "dev-master": "3.0-dev"
3875 | }
3876 | },
3877 | "autoload": {
3878 | "classmap": [
3879 | "src/"
3880 | ]
3881 | },
3882 | "notification-url": "https://packagist.org/downloads/",
3883 | "license": [
3884 | "BSD-3-Clause"
3885 | ],
3886 | "authors": [
3887 | {
3888 | "name": "Kore Nordmann",
3889 | "email": "mail@kore-nordmann.de"
3890 | },
3891 | {
3892 | "name": "Sebastian Bergmann",
3893 | "email": "sebastian@phpunit.de"
3894 | }
3895 | ],
3896 | "description": "Diff implementation",
3897 | "homepage": "https://github.com/sebastianbergmann/diff",
3898 | "keywords": [
3899 | "diff",
3900 | "udiff",
3901 | "unidiff",
3902 | "unified diff"
3903 | ],
3904 | "time": "2019-02-04T06:01:07+00:00"
3905 | },
3906 | {
3907 | "name": "sebastian/environment",
3908 | "version": "4.2.3",
3909 | "source": {
3910 | "type": "git",
3911 | "url": "https://github.com/sebastianbergmann/environment.git",
3912 | "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368"
3913 | },
3914 | "dist": {
3915 | "type": "zip",
3916 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368",
3917 | "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368",
3918 | "shasum": ""
3919 | },
3920 | "require": {
3921 | "php": "^7.1"
3922 | },
3923 | "require-dev": {
3924 | "phpunit/phpunit": "^7.5"
3925 | },
3926 | "suggest": {
3927 | "ext-posix": "*"
3928 | },
3929 | "type": "library",
3930 | "extra": {
3931 | "branch-alias": {
3932 | "dev-master": "4.2-dev"
3933 | }
3934 | },
3935 | "autoload": {
3936 | "classmap": [
3937 | "src/"
3938 | ]
3939 | },
3940 | "notification-url": "https://packagist.org/downloads/",
3941 | "license": [
3942 | "BSD-3-Clause"
3943 | ],
3944 | "authors": [
3945 | {
3946 | "name": "Sebastian Bergmann",
3947 | "email": "sebastian@phpunit.de"
3948 | }
3949 | ],
3950 | "description": "Provides functionality to handle HHVM/PHP environments",
3951 | "homepage": "http://www.github.com/sebastianbergmann/environment",
3952 | "keywords": [
3953 | "Xdebug",
3954 | "environment",
3955 | "hhvm"
3956 | ],
3957 | "time": "2019-11-20T08:46:58+00:00"
3958 | },
3959 | {
3960 | "name": "sebastian/exporter",
3961 | "version": "3.1.2",
3962 | "source": {
3963 | "type": "git",
3964 | "url": "https://github.com/sebastianbergmann/exporter.git",
3965 | "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e"
3966 | },
3967 | "dist": {
3968 | "type": "zip",
3969 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e",
3970 | "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e",
3971 | "shasum": ""
3972 | },
3973 | "require": {
3974 | "php": "^7.0",
3975 | "sebastian/recursion-context": "^3.0"
3976 | },
3977 | "require-dev": {
3978 | "ext-mbstring": "*",
3979 | "phpunit/phpunit": "^6.0"
3980 | },
3981 | "type": "library",
3982 | "extra": {
3983 | "branch-alias": {
3984 | "dev-master": "3.1.x-dev"
3985 | }
3986 | },
3987 | "autoload": {
3988 | "classmap": [
3989 | "src/"
3990 | ]
3991 | },
3992 | "notification-url": "https://packagist.org/downloads/",
3993 | "license": [
3994 | "BSD-3-Clause"
3995 | ],
3996 | "authors": [
3997 | {
3998 | "name": "Sebastian Bergmann",
3999 | "email": "sebastian@phpunit.de"
4000 | },
4001 | {
4002 | "name": "Jeff Welch",
4003 | "email": "whatthejeff@gmail.com"
4004 | },
4005 | {
4006 | "name": "Volker Dusch",
4007 | "email": "github@wallbash.com"
4008 | },
4009 | {
4010 | "name": "Adam Harvey",
4011 | "email": "aharvey@php.net"
4012 | },
4013 | {
4014 | "name": "Bernhard Schussek",
4015 | "email": "bschussek@gmail.com"
4016 | }
4017 | ],
4018 | "description": "Provides the functionality to export PHP variables for visualization",
4019 | "homepage": "http://www.github.com/sebastianbergmann/exporter",
4020 | "keywords": [
4021 | "export",
4022 | "exporter"
4023 | ],
4024 | "time": "2019-09-14T09:02:43+00:00"
4025 | },
4026 | {
4027 | "name": "sebastian/global-state",
4028 | "version": "3.0.0",
4029 | "source": {
4030 | "type": "git",
4031 | "url": "https://github.com/sebastianbergmann/global-state.git",
4032 | "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4"
4033 | },
4034 | "dist": {
4035 | "type": "zip",
4036 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4",
4037 | "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4",
4038 | "shasum": ""
4039 | },
4040 | "require": {
4041 | "php": "^7.2",
4042 | "sebastian/object-reflector": "^1.1.1",
4043 | "sebastian/recursion-context": "^3.0"
4044 | },
4045 | "require-dev": {
4046 | "ext-dom": "*",
4047 | "phpunit/phpunit": "^8.0"
4048 | },
4049 | "suggest": {
4050 | "ext-uopz": "*"
4051 | },
4052 | "type": "library",
4053 | "extra": {
4054 | "branch-alias": {
4055 | "dev-master": "3.0-dev"
4056 | }
4057 | },
4058 | "autoload": {
4059 | "classmap": [
4060 | "src/"
4061 | ]
4062 | },
4063 | "notification-url": "https://packagist.org/downloads/",
4064 | "license": [
4065 | "BSD-3-Clause"
4066 | ],
4067 | "authors": [
4068 | {
4069 | "name": "Sebastian Bergmann",
4070 | "email": "sebastian@phpunit.de"
4071 | }
4072 | ],
4073 | "description": "Snapshotting of global state",
4074 | "homepage": "http://www.github.com/sebastianbergmann/global-state",
4075 | "keywords": [
4076 | "global state"
4077 | ],
4078 | "time": "2019-02-01T05:30:01+00:00"
4079 | },
4080 | {
4081 | "name": "sebastian/object-enumerator",
4082 | "version": "3.0.3",
4083 | "source": {
4084 | "type": "git",
4085 | "url": "https://github.com/sebastianbergmann/object-enumerator.git",
4086 | "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5"
4087 | },
4088 | "dist": {
4089 | "type": "zip",
4090 | "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5",
4091 | "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5",
4092 | "shasum": ""
4093 | },
4094 | "require": {
4095 | "php": "^7.0",
4096 | "sebastian/object-reflector": "^1.1.1",
4097 | "sebastian/recursion-context": "^3.0"
4098 | },
4099 | "require-dev": {
4100 | "phpunit/phpunit": "^6.0"
4101 | },
4102 | "type": "library",
4103 | "extra": {
4104 | "branch-alias": {
4105 | "dev-master": "3.0.x-dev"
4106 | }
4107 | },
4108 | "autoload": {
4109 | "classmap": [
4110 | "src/"
4111 | ]
4112 | },
4113 | "notification-url": "https://packagist.org/downloads/",
4114 | "license": [
4115 | "BSD-3-Clause"
4116 | ],
4117 | "authors": [
4118 | {
4119 | "name": "Sebastian Bergmann",
4120 | "email": "sebastian@phpunit.de"
4121 | }
4122 | ],
4123 | "description": "Traverses array structures and object graphs to enumerate all referenced objects",
4124 | "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
4125 | "time": "2017-08-03T12:35:26+00:00"
4126 | },
4127 | {
4128 | "name": "sebastian/object-reflector",
4129 | "version": "1.1.1",
4130 | "source": {
4131 | "type": "git",
4132 | "url": "https://github.com/sebastianbergmann/object-reflector.git",
4133 | "reference": "773f97c67f28de00d397be301821b06708fca0be"
4134 | },
4135 | "dist": {
4136 | "type": "zip",
4137 | "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be",
4138 | "reference": "773f97c67f28de00d397be301821b06708fca0be",
4139 | "shasum": ""
4140 | },
4141 | "require": {
4142 | "php": "^7.0"
4143 | },
4144 | "require-dev": {
4145 | "phpunit/phpunit": "^6.0"
4146 | },
4147 | "type": "library",
4148 | "extra": {
4149 | "branch-alias": {
4150 | "dev-master": "1.1-dev"
4151 | }
4152 | },
4153 | "autoload": {
4154 | "classmap": [
4155 | "src/"
4156 | ]
4157 | },
4158 | "notification-url": "https://packagist.org/downloads/",
4159 | "license": [
4160 | "BSD-3-Clause"
4161 | ],
4162 | "authors": [
4163 | {
4164 | "name": "Sebastian Bergmann",
4165 | "email": "sebastian@phpunit.de"
4166 | }
4167 | ],
4168 | "description": "Allows reflection of object attributes, including inherited and non-public ones",
4169 | "homepage": "https://github.com/sebastianbergmann/object-reflector/",
4170 | "time": "2017-03-29T09:07:27+00:00"
4171 | },
4172 | {
4173 | "name": "sebastian/recursion-context",
4174 | "version": "3.0.0",
4175 | "source": {
4176 | "type": "git",
4177 | "url": "https://github.com/sebastianbergmann/recursion-context.git",
4178 | "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8"
4179 | },
4180 | "dist": {
4181 | "type": "zip",
4182 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
4183 | "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
4184 | "shasum": ""
4185 | },
4186 | "require": {
4187 | "php": "^7.0"
4188 | },
4189 | "require-dev": {
4190 | "phpunit/phpunit": "^6.0"
4191 | },
4192 | "type": "library",
4193 | "extra": {
4194 | "branch-alias": {
4195 | "dev-master": "3.0.x-dev"
4196 | }
4197 | },
4198 | "autoload": {
4199 | "classmap": [
4200 | "src/"
4201 | ]
4202 | },
4203 | "notification-url": "https://packagist.org/downloads/",
4204 | "license": [
4205 | "BSD-3-Clause"
4206 | ],
4207 | "authors": [
4208 | {
4209 | "name": "Jeff Welch",
4210 | "email": "whatthejeff@gmail.com"
4211 | },
4212 | {
4213 | "name": "Sebastian Bergmann",
4214 | "email": "sebastian@phpunit.de"
4215 | },
4216 | {
4217 | "name": "Adam Harvey",
4218 | "email": "aharvey@php.net"
4219 | }
4220 | ],
4221 | "description": "Provides functionality to recursively process PHP variables",
4222 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
4223 | "time": "2017-03-03T06:23:57+00:00"
4224 | },
4225 | {
4226 | "name": "sebastian/resource-operations",
4227 | "version": "2.0.1",
4228 | "source": {
4229 | "type": "git",
4230 | "url": "https://github.com/sebastianbergmann/resource-operations.git",
4231 | "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9"
4232 | },
4233 | "dist": {
4234 | "type": "zip",
4235 | "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9",
4236 | "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9",
4237 | "shasum": ""
4238 | },
4239 | "require": {
4240 | "php": "^7.1"
4241 | },
4242 | "type": "library",
4243 | "extra": {
4244 | "branch-alias": {
4245 | "dev-master": "2.0-dev"
4246 | }
4247 | },
4248 | "autoload": {
4249 | "classmap": [
4250 | "src/"
4251 | ]
4252 | },
4253 | "notification-url": "https://packagist.org/downloads/",
4254 | "license": [
4255 | "BSD-3-Clause"
4256 | ],
4257 | "authors": [
4258 | {
4259 | "name": "Sebastian Bergmann",
4260 | "email": "sebastian@phpunit.de"
4261 | }
4262 | ],
4263 | "description": "Provides a list of PHP built-in functions that operate on resources",
4264 | "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
4265 | "time": "2018-10-04T04:07:39+00:00"
4266 | },
4267 | {
4268 | "name": "sebastian/type",
4269 | "version": "1.1.3",
4270 | "source": {
4271 | "type": "git",
4272 | "url": "https://github.com/sebastianbergmann/type.git",
4273 | "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3"
4274 | },
4275 | "dist": {
4276 | "type": "zip",
4277 | "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/3aaaa15fa71d27650d62a948be022fe3b48541a3",
4278 | "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3",
4279 | "shasum": ""
4280 | },
4281 | "require": {
4282 | "php": "^7.2"
4283 | },
4284 | "require-dev": {
4285 | "phpunit/phpunit": "^8.2"
4286 | },
4287 | "type": "library",
4288 | "extra": {
4289 | "branch-alias": {
4290 | "dev-master": "1.1-dev"
4291 | }
4292 | },
4293 | "autoload": {
4294 | "classmap": [
4295 | "src/"
4296 | ]
4297 | },
4298 | "notification-url": "https://packagist.org/downloads/",
4299 | "license": [
4300 | "BSD-3-Clause"
4301 | ],
4302 | "authors": [
4303 | {
4304 | "name": "Sebastian Bergmann",
4305 | "email": "sebastian@phpunit.de",
4306 | "role": "lead"
4307 | }
4308 | ],
4309 | "description": "Collection of value objects that represent the types of the PHP type system",
4310 | "homepage": "https://github.com/sebastianbergmann/type",
4311 | "time": "2019-07-02T08:10:15+00:00"
4312 | },
4313 | {
4314 | "name": "sebastian/version",
4315 | "version": "2.0.1",
4316 | "source": {
4317 | "type": "git",
4318 | "url": "https://github.com/sebastianbergmann/version.git",
4319 | "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019"
4320 | },
4321 | "dist": {
4322 | "type": "zip",
4323 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
4324 | "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
4325 | "shasum": ""
4326 | },
4327 | "require": {
4328 | "php": ">=5.6"
4329 | },
4330 | "type": "library",
4331 | "extra": {
4332 | "branch-alias": {
4333 | "dev-master": "2.0.x-dev"
4334 | }
4335 | },
4336 | "autoload": {
4337 | "classmap": [
4338 | "src/"
4339 | ]
4340 | },
4341 | "notification-url": "https://packagist.org/downloads/",
4342 | "license": [
4343 | "BSD-3-Clause"
4344 | ],
4345 | "authors": [
4346 | {
4347 | "name": "Sebastian Bergmann",
4348 | "email": "sebastian@phpunit.de",
4349 | "role": "lead"
4350 | }
4351 | ],
4352 | "description": "Library that helps with managing the version number of Git-hosted PHP projects",
4353 | "homepage": "https://github.com/sebastianbergmann/version",
4354 | "time": "2016-10-03T07:35:21+00:00"
4355 | },
4356 | {
4357 | "name": "theseer/tokenizer",
4358 | "version": "1.1.3",
4359 | "source": {
4360 | "type": "git",
4361 | "url": "https://github.com/theseer/tokenizer.git",
4362 | "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9"
4363 | },
4364 | "dist": {
4365 | "type": "zip",
4366 | "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9",
4367 | "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9",
4368 | "shasum": ""
4369 | },
4370 | "require": {
4371 | "ext-dom": "*",
4372 | "ext-tokenizer": "*",
4373 | "ext-xmlwriter": "*",
4374 | "php": "^7.0"
4375 | },
4376 | "type": "library",
4377 | "autoload": {
4378 | "classmap": [
4379 | "src/"
4380 | ]
4381 | },
4382 | "notification-url": "https://packagist.org/downloads/",
4383 | "license": [
4384 | "BSD-3-Clause"
4385 | ],
4386 | "authors": [
4387 | {
4388 | "name": "Arne Blankerts",
4389 | "email": "arne@blankerts.de",
4390 | "role": "Developer"
4391 | }
4392 | ],
4393 | "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
4394 | "time": "2019-06-13T22:48:21+00:00"
4395 | },
4396 | {
4397 | "name": "webmozart/assert",
4398 | "version": "1.6.0",
4399 | "source": {
4400 | "type": "git",
4401 | "url": "https://github.com/webmozart/assert.git",
4402 | "reference": "573381c0a64f155a0d9a23f4b0c797194805b925"
4403 | },
4404 | "dist": {
4405 | "type": "zip",
4406 | "url": "https://api.github.com/repos/webmozart/assert/zipball/573381c0a64f155a0d9a23f4b0c797194805b925",
4407 | "reference": "573381c0a64f155a0d9a23f4b0c797194805b925",
4408 | "shasum": ""
4409 | },
4410 | "require": {
4411 | "php": "^5.3.3 || ^7.0",
4412 | "symfony/polyfill-ctype": "^1.8"
4413 | },
4414 | "conflict": {
4415 | "vimeo/psalm": "<3.6.0"
4416 | },
4417 | "require-dev": {
4418 | "phpunit/phpunit": "^4.8.36 || ^7.5.13"
4419 | },
4420 | "type": "library",
4421 | "autoload": {
4422 | "psr-4": {
4423 | "Webmozart\\Assert\\": "src/"
4424 | }
4425 | },
4426 | "notification-url": "https://packagist.org/downloads/",
4427 | "license": [
4428 | "MIT"
4429 | ],
4430 | "authors": [
4431 | {
4432 | "name": "Bernhard Schussek",
4433 | "email": "bschussek@gmail.com"
4434 | }
4435 | ],
4436 | "description": "Assertions to validate method input/output with nice error messages.",
4437 | "keywords": [
4438 | "assert",
4439 | "check",
4440 | "validate"
4441 | ],
4442 | "time": "2019-11-24T13:36:37+00:00"
4443 | }
4444 | ],
4445 | "aliases": [],
4446 | "minimum-stability": "dev",
4447 | "stability-flags": [],
4448 | "prefer-stable": true,
4449 | "prefer-lowest": false,
4450 | "platform": [],
4451 | "platform-dev": []
4452 | }
4453 |
--------------------------------------------------------------------------------
/phpstan.neon:
--------------------------------------------------------------------------------
1 | parameters:
2 | level: 5
3 | paths:
4 | - src
5 | - tests
6 | ignoreErrors:
7 | # Ignore Laravel/Lumen incompatibilites
8 | - '#Cannot access offset [^\s]+ on Illuminate\\Contracts\\Foundation\\Application#'
9 |
--------------------------------------------------------------------------------
/phpunit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ./tests
6 |
7 |
8 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | > :bangbang: This package is no longer maintained.
2 | > I recommend switching to https://github.com/blade-ui-kit/blade-icons
3 |
4 | # Font Awesome Blade directives for Laravel
5 | [](https://packagist.org/packages/jerodev/laravel-font-awesome)
6 | [](https://packagist.org/packages/jerodev/laravel-font-awesome)
7 | [](https://travis-ci.com/jerodev/laravel-font-awesome)
8 | [](https://github.styleci.io/repos/193088933)
9 | [](https://scrutinizer-ci.com/g/jerodev/laravel-font-awesome/?branch=master)
10 |
11 | This package will render font awesome icons in your views on the server side. This removes the need to add extra JavaScript or webfont resources on the client side and in doing so reduces the size of your website significantly.
12 |
13 | This is achieved by replacing the icons with their svg counterpart before sending the response to the client.
14 |
15 | ``` html
16 |
17 | @fas('circle')
18 |
19 |
20 |
23 | ```
24 |
25 | ## Requirements
26 |
27 | | Requirement | Version |
28 | | --- | --- |
29 | | PHP | >= 7.2 |
30 | | Laravel | 6.x |
31 |
32 | ### Laravel 5.x
33 |
34 | For Laravel 5.6 and up, use version v1.x of this package
35 |
36 | ## Installation
37 |
38 | Install the package using [Composer](https://getcomposer.org/).
39 |
40 | composer require jerodev/laravel-font-awesome
41 |
42 | ### Service Provider
43 |
44 | The package will be auto-discovered by Laravel. If you disabled auto-discovery, you should add the following provider to your `config/app.php` file.
45 |
46 | \Jerodev\LaraFontAwesome\FontAwesomeServiceProvider::class,
47 |
48 | ## Usage
49 |
50 | ### Middleware
51 |
52 | > :warning: Since version 2.0, the middleware is no longer automatically injected. You will have to add this to the routes where needed.
53 |
54 | This package includes a middleware, [`InjectStyleSheet`](src/Middleware/InjectStyleSheet.php), that injects a minimal stylesheet into your views on render.
55 |
56 | The middleware can be added to your routes [as documented by Laravel](https://laravel.com/docs/master/middleware#assigning-middleware-to-routes):
57 |
58 | ```php
59 | Route::middleware(InjectStyleSheet::class)->group(static function () {
60 | // Create routes here.
61 | });
62 | ```
63 |
64 | ### Views
65 |
66 | To use Font Awesome icons in your view there are a few new blade directives.
67 |
68 | ``` php
69 | // Let the package discover the best library for this icon.
70 | @fa('laravel')
71 |
72 | // Define the library that should be used.
73 | @far('circle') // Regular
74 | @fas('circle') // Solid
75 | @fab('laravel') // Brands
76 | ```
77 |
78 | When using the `@fa()` directive. The package will scan the different Font Awesome libraries and use the first library where it finds the icon.
79 |
80 | The order in which the libraries are scanned is `regular`, `brands`, `solid`. But this can be modified in the [configuration](#configuration).
81 |
82 | ### Parameters
83 |
84 | The `@fa()` function can take three parameters of which only the first is required.
85 |
86 | | Parameter | Type | Description |
87 | | --- | --- | --- |
88 | | `name` | string | The name of the icon |
89 | | `css_class` | string | Extra css classes to be appended to the svg output |
90 | | `force_svg_href` | bool | Force the output to be an [svg href link](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/href#use) if possible. Can be useful in loops.
91 |
92 | ## Configuration
93 |
94 | The package contains a few configuration options that can be modified by first publishing the config file using the command below. This will create a `fontawesome.php` file in your `config` folder.
95 |
96 | php artisan vendor:publish --provider="Jerodev\LaraFontAwesome\FontAwesomeServiceProvider"
97 |
98 | | Key | Type | Default value | Description |
99 | | --- | --- | --- | --- |
100 | | `libraries` | string[] | `['regular', 'brands', 'solid']` | The icon libraries that will be available. This is also the order in which the libraries will be searched for icons. |
101 | | `svg_href` | bool| `true` | Use [svg href links](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/href#use) for consecutive icons. |
102 |
--------------------------------------------------------------------------------
/src/BladeRenderer.php:
--------------------------------------------------------------------------------
1 | isStatic()) {
25 | return resolve(IconRenderer::class)->renderSvg(
26 | $icon->getName(true),
27 | $icon->getCssClasses(true),
28 | $icon->getLibrary(true)
29 | );
30 | }
31 |
32 | return \implode([
33 | 'renderSvg({$icon->getName()}, {$icon->getCssClasses()}, {$icon->getLibrary()}); ?>",
36 | ]);
37 | }
38 |
39 | /**
40 | * Parse a blade expression to an icon object.
41 | *
42 | * @param string $expression
43 | * @param string|null $library
44 | *
45 | * @return Icon
46 | */
47 | private static function parseExpression(string $expression, ?string $library = null): Icon
48 | {
49 | $part = '';
50 | $parts = [];
51 | $in_string = null;
52 |
53 | for ($i = 0; $i < \strlen($expression); $i++) {
54 | $char = $expression[$i];
55 |
56 | if ($char === ',' && \is_null($in_string)) {
57 | $parts[] = \trim($part);
58 | $part = '';
59 | continue;
60 | }
61 |
62 | if (\in_array($char, ['\'', '"'])) {
63 | if ($in_string === $char) {
64 | $in_string = null;
65 | } else {
66 | $in_string = $char;
67 | }
68 | }
69 |
70 | $part .= $char;
71 | }
72 |
73 | $parts[] = \trim($part);
74 |
75 | $icon = new Icon($parts[0], $library ? "'{$library}'" : 'null');
76 | switch (\count($parts)) {
77 | case 3:
78 | $icon->setForceSvgHref(\filter_var($parts[2], \FILTER_VALIDATE_BOOLEAN));
79 | // Fallthrough
80 |
81 | case 2:
82 | $icon->setCssClasses($parts[1]);
83 | }
84 |
85 | return $icon;
86 | }
87 | }
88 |
--------------------------------------------------------------------------------
/src/FontAwesomeServiceProvider.php:
--------------------------------------------------------------------------------
1 | publishes([
12 | __DIR__ . '/config/fontawesome.php' => \config_path('fontawesome.php'),
13 | ]);
14 | $this->mergeConfigFrom(
15 | __DIR__ . '/config/fontawesome.php', 'fontawesome'
16 | );
17 |
18 | $this->registerBladeDirectives();
19 | $this->registerIconRenderer();
20 | }
21 |
22 | private function registerBladeDirectives()
23 | {
24 | $this->app['blade.compiler']->directive('fa', static function ($expression) {
25 | return BladeRenderer::renderGeneric($expression);
26 | });
27 |
28 | foreach (\config('fontawesome.libraries') as $library) {
29 | $this->app['blade.compiler']->directive('fa' . $library[0], static function ($expression) use ($library) {
30 | return BladeRenderer::renderGeneric($expression, $library);
31 | });
32 | }
33 | }
34 |
35 | private function registerIconRenderer()
36 | {
37 | $this->app->singleton(IconRenderer::class);
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/src/IconRenderer.php:
--------------------------------------------------------------------------------
1 | svgParser = $svgParser;
18 | }
19 |
20 | /**
21 | * Render a Font Awesome icon as an svg.
22 | *
23 | * @param string $icon The name of the icon.
24 | * @param string|null $css_classes Extra css classes to add to the svg.
25 | * @param string|null $library The icon library to use.
26 | *
27 | * @return string|null
28 | */
29 | public function renderSvg(string $icon, ?string $css_classes = null, ?string $library = null): ?string
30 | {
31 | $icon = $this->normalizeIconName($icon);
32 |
33 | $icon_id = 'fa' . ($library ? $library[0] : null) . "-{$icon}";
34 | if (\config('fontawesome.svg_href') && \array_key_exists($icon_id, $this->rendered_icons)) {
35 | $svg = new Svg($icon_id, $css_classes);
36 | $svg->view_box = $this->rendered_icons[$icon_id];
37 |
38 | return $svg->renderAsHref();
39 | }
40 |
41 | $svg_str = $this->loadSvg($icon, $library);
42 | if ($svg_str !== null) {
43 | $svg = $this->svgParser->parseXml($icon_id, $svg_str);
44 | $svg->css_classes = $css_classes;
45 |
46 | $this->rendered_icons[$icon_id] = $svg->view_box;
47 |
48 | return $svg->render();
49 | }
50 |
51 | return null;
52 | }
53 |
54 | /**
55 | * Find the svg file for this icon and return its content.
56 | *
57 | * @param string $icon The name of the icon.
58 | * @param string|null $library The icon library to use.
59 | *
60 | * @return string|null
61 | */
62 | private function loadSvg(string $icon, ?string $library = null): ?string
63 | {
64 | $svg = null;
65 | $path_str = \config('fontawesome.icon_path') . "%s/$icon.svg";
66 |
67 | foreach (\config('fontawesome.libraries') as $folder) {
68 | if ($library !== null && $folder !== $library) {
69 | continue;
70 | }
71 |
72 | $path = \sprintf($path_str, $folder);
73 | if (\file_exists($path)) {
74 | $svg = \trim(\file_get_contents($path));
75 | break;
76 | }
77 | }
78 |
79 | return $svg;
80 | }
81 |
82 | /**
83 | * Format an icon name to the one used in the Font Awesome repository.
84 | *
85 | * @param string $icon The icon name to normalize.
86 | *
87 | * @return string
88 | */
89 | public function normalizeIconName(string $icon): string
90 | {
91 | $icon = \trim($icon);
92 |
93 | // Remove library specification prefix from the string.
94 | if (\substr($icon, 0, 2) === 'fa' && ($spos = \strpos($icon, ' ')) !== false) {
95 | $icon = \substr($icon, $spos + 1);
96 | }
97 |
98 | // Remove 'fa-' from the start of the string.
99 | if (\substr($icon, 0, 3) === 'fa-') {
100 | $icon = \substr($icon, 3);
101 | }
102 |
103 | return \strtolower($icon);
104 | }
105 | }
106 |
--------------------------------------------------------------------------------
/src/Middleware/InjectStyleSheet.php:
--------------------------------------------------------------------------------
1 | headers->has('Content-Type') && \strpos($response->headers->get('Content-Type'), 'html') === false)
19 | || $request->getRequestFormat() !== 'html'
20 | || $response->getContent() === false
21 | || $request->isXmlHttpRequest()
22 | ) {
23 | return $response;
24 | }
25 |
26 | return $this->injectStyleSheet($response);
27 | }
28 |
29 | private function injectStyleSheet(SymfonyBaseResponse $response)
30 | {
31 | $content = $response->getContent();
32 | $content = \str_replace('', '', $content);
33 | $response->setContent($content);
34 |
35 | return $response;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/Models/Icon.php:
--------------------------------------------------------------------------------
1 | name = $name;
22 | $this->library = $library;
23 | $this->cssClasses = 'null';
24 | $this->forceSvgHref = false;
25 | }
26 |
27 | /**
28 | * Indicates whether the icon contains any variables or expressions.
29 | *
30 | * @return bool
31 | */
32 | public function isStatic(): bool
33 | {
34 | if ($this->forceSvgHref) {
35 | return false;
36 | }
37 |
38 | $values = [
39 | $this->name,
40 | $this->library,
41 | $this->cssClasses,
42 | ];
43 | foreach ($values as $value) {
44 | if ($value[0] === '$') {
45 | return false;
46 | }
47 |
48 | $in_double_quote_string = false;
49 | $in_string = false;
50 | $last_char = null;
51 | for ($i = 0; $i < \strlen($value); $i++) {
52 | $char = $value[$i];
53 |
54 | switch ($char) {
55 | case '"':
56 | if (!$in_string) {
57 | $in_double_quote_string = !$in_double_quote_string;
58 | }
59 | break;
60 |
61 | case '\'':
62 | if (!$in_double_quote_string) {
63 | $in_string = !$in_string;
64 | }
65 | break;
66 |
67 | case '$':
68 | if (!$in_string && !$in_double_quote_string) {
69 | return false;
70 | }
71 | if ($in_double_quote_string && $last_char !== '\\') {
72 | return false;
73 | }
74 | break;
75 | }
76 |
77 | $last_char = $char;
78 | }
79 | }
80 |
81 | return true;
82 | }
83 |
84 | public function setForceSvgHref(bool $force = true): void
85 | {
86 | $this->forceSvgHref = $force;
87 | }
88 |
89 | public function setCssClasses(string $cssClasses): void
90 | {
91 | if ($cssClasses) {
92 | $this->cssClasses = $cssClasses;
93 | }
94 | }
95 |
96 | public function getName(bool $clean = false): ?string
97 | {
98 | if ($clean) {
99 | return $this->cleanValue($this->name);
100 | }
101 |
102 | return $this->name;
103 | }
104 |
105 | public function getLibrary(bool $clean = false): ?string
106 | {
107 | if ($clean) {
108 | return $this->cleanValue($this->library);
109 | }
110 |
111 | return $this->library;
112 | }
113 |
114 | public function getCssClasses(bool $clean = false): ?string
115 | {
116 | if ($clean) {
117 | return $this->cleanValue($this->cssClasses);
118 | }
119 |
120 | return $this->cssClasses;
121 | }
122 |
123 | private function cleanValue(string $value): ?string
124 | {
125 | $value = \trim($value, '\'"');
126 |
127 | if ($value === 'null' || \strlen($value) === 0) {
128 | return null;
129 | }
130 |
131 | return $value;
132 | }
133 | }
134 |
--------------------------------------------------------------------------------
/src/Models/Svg.php:
--------------------------------------------------------------------------------
1 | icon_id = $icon_id;
22 | $this->css_classes = $css_classes;
23 |
24 | $this->view_box = null;
25 | }
26 |
27 | public function render(): string
28 | {
29 | $svg_viewBox = '';
30 | $symbol_start = '';
31 | $symbol_end = '';
32 | if (\config('fontawesome.svg_href')) {
33 | $symbol_start = "icon_id}\" viewBox=\"" . \implode(' ', $this->view_box) . '">';
34 | $symbol_end = "