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

@plural

4 | 5 | 14 | 15 | 16 |
17 | 18 | 19 | 43 | -------------------------------------------------------------------------------- /src/Stubs/Model.php: -------------------------------------------------------------------------------- 1 | where($this->getRouteKeyName(), $value)->withTrashed()->first() 11 | : parent::resolveRouteBinding($value); 12 | } 13 | 14 | /** 15 | * Sort a table by a column asc/desc. 16 | * 17 | * @param [type] $query 18 | * @param string $column The name of the column to order by 19 | * @param string $order asc or desc 20 | * @return void 21 | */ 22 | public function scopeOrder($query, $column, $order = 'asc') 23 | { 24 | if ($order !== 'asc') { 25 | $order = 'desc'; 26 | } 27 | 28 | $query->orderBy($column, $order); 29 | } 30 | 31 | /** 32 | * Search filters. 33 | * 34 | * @param [type] $query 35 | * @param array $filters 36 | * @param array $searchColumns An array of column names that can be searched 37 | * @return void 38 | */ 39 | public function scopeFilter($query, array $filters, array $searchColumns) 40 | { 41 | $query->when($filters['search'] ?? null, function ($query, $search) use ($searchColumns) { 42 | $query->where(function ($query) use ($search, $searchColumns) { 43 | if (! empty($searchColumns)) { 44 | $query->where(array_shift($searchColumns), 'like', '%'.$search.'%'); 45 | foreach ($searchColumns as $columnName) { 46 | $query->orWhere($columnName, 'like', '%'.$search.'%'); 47 | } 48 | } 49 | }); 50 | })->when($filters['trashed'] ?? null, function ($query, $trashed) { 51 | if ($trashed === 'with') { 52 | $query->withTrashed(); 53 | } elseif ($trashed === 'only') { 54 | $query->onlyTrashed(); 55 | } 56 | }); 57 | } 58 | } 59 | --------------------------------------------------------------------------------