diff --git a/.env.example b/.env.example index fe00fce61..ef8584d63 100644 --- a/.env.example +++ b/.env.example @@ -1,7 +1,11 @@ +APP_NAME=local APP_ENV=local +APP_KEY=base64:t/RoN0Vj+VpQ+K7Le+5WXnErFRa0B1uIToMNltCuvK8= APP_DEBUG=true -APP_KEY=SomeRandomString -APP_URL=http://localhost +APP_URL=http://127.0.0.1:8000 +APP_LOG=daily + +LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 @@ -10,9 +14,11 @@ DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret +BROADCAST_DRIVER=log CACHE_DRIVER=file +QUEUE_CONNECTION=sync SESSION_DRIVER=file -QUEUE_DRIVER=sync +SESSION_LIFETIME=120 REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null @@ -25,5 +31,17 @@ MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +AWS_DEFAULT_REGION=us-east-1 +AWS_BUCKET= + +PUSHER_APP_ID= +PUSHER_APP_KEY= +PUSHER_APP_SECRET= +PUSHER_APP_CLUSTER=mt1 + +MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" +MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" -MYSQL_DUMP_PATH=/Applications/MAMP/Library/bin/ \ No newline at end of file +MYSQL_DUMP_PATH=/Applications/MAMP/Library/bin/ diff --git a/.env.testing b/.env.testing new file mode 100644 index 000000000..bdb1c6662 --- /dev/null +++ b/.env.testing @@ -0,0 +1,47 @@ +APP_NAME=local +APP_ENV=testing +APP_KEY=base64:t/RoN0Vj+VpQ+K7Le+5WXnErFRa0B1uIToMNltCuvK8= +APP_DEBUG=true +APP_URL=http://127.0.0.1:8000 +APP_LOG=daily + +LOG_CHANNEL=stack + +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=homestead +DB_USERNAME=homestead +DB_PASSWORD=secret + +BROADCAST_DRIVER=log +CACHE_DRIVER=file +QUEUE_CONNECTION=sync +SESSION_DRIVER=file +SESSION_LIFETIME=120 + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_MAILER=smtp +MAIL_HOST=mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null + +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +AWS_DEFAULT_REGION=us-east-1 +AWS_BUCKET= + +PUSHER_APP_ID= +PUSHER_APP_KEY= +PUSHER_APP_SECRET= +PUSHER_APP_CLUSTER=mt1 + +MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" +MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" + +MYSQL_DUMP_PATH=/Applications/MAMP/Library/bin/ diff --git a/.gitignore b/.gitignore index e0ed950c3..7bba506bd 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,5 @@ Homestead.json .DS_Store .packages .quarantine -.tmb \ No newline at end of file +.tmb +.phpunit.result.cache \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 1f3c9ca37..ee7158e9b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,12 +13,15 @@ matrix: - php: 8.0 - php: nightly +addons: + chrome: stable + env: global: - APP_ENV=local - APP_DEBUG=true - APP_KEY=base64:jNI+qJRj1eqN3RWMeBWo6sxMwKzgDP7Py2AfRJ1luyA= - - APP_URL=http://localhost + - APP_URL=http://127.0.0.1:8000 - DB_CONNECTION=mysql - DB_HOST=127.0.0.1 - DB_PORT=3306 @@ -45,10 +48,24 @@ services: mysql before_install: - mysql -e "create database IF NOT EXISTS test;" -uroot -install: travis_retry composer install --no-interaction --prefer-source + +install: + - cp .env.testing .env + - travis_retry composer install --no-interaction --prefer-source + - php artisan key:generate + - php artisan dusk:update + - php artisan dusk:chrome-driver + + +before_script: + - google-chrome-stable --headless --disable-gpu --remote-debugging-port=9222 http://localhost & + - php artisan serve & + script: vendor/bin/phpunit --coverage-clover=coverage.clover + after_script: + - php artisan dusk - wget https://scrutinizer-ci.com/ocular.phar - php ocular.phar code-coverage:upload --format=php-clover coverage.clover diff --git a/composer.json b/composer.json index bd4cdb7fc..b989e6580 100644 --- a/composer.json +++ b/composer.json @@ -34,7 +34,9 @@ "laracasts/generators": "^2.0", "backpack/generators": "^3.0", "itsgoingd/clockwork": "^4.0", - "barryvdh/laravel-debugbar": "^3.2" + "barryvdh/laravel-debugbar": "^3.2", + "laravel/dusk": "^6.1", + "staudenmeir/dusk-updater": "^1.1" }, "autoload": { "classmap": [ @@ -47,7 +49,10 @@ "autoload-dev": { "classmap": [ "tests/TestCase.php" - ] + ], + "psr-4": { + "Tests\\": "tests/" + } }, "scripts": { "post-root-package-install": [ diff --git a/composer.lock b/composer.lock index d8edcb868..210a6c878 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "55e91521f0543fcd9c2c02572d50255b", + "content-hash": "e7598aea0b88d31ad65e6afeb29046e6", "packages": [ { "name": "backpack/backupmanager", @@ -67,20 +67,24 @@ "tabacitu", "updivision" ], + "support": { + "issues": "https://github.com/Laravel-Backpack/BackupManager/issues", + "source": "https://github.com/Laravel-Backpack/BackupManager/tree/v3.0.1" + }, "time": "2020-05-08T08:51:55+00:00" }, { "name": "backpack/crud", - "version": "4.1.22", + "version": "4.1.25", "source": { "type": "git", "url": "https://github.com/Laravel-Backpack/CRUD.git", - "reference": "2c87086173c0c1b746d6f0fd49783f6eefa787e9" + "reference": "23fb1ed5153d5465d49d2fe1ca265a5985c78877" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Laravel-Backpack/CRUD/zipball/2c87086173c0c1b746d6f0fd49783f6eefa787e9", - "reference": "2c87086173c0c1b746d6f0fd49783f6eefa787e9", + "url": "https://api.github.com/repos/Laravel-Backpack/CRUD/zipball/23fb1ed5153d5465d49d2fe1ca265a5985c78877", + "reference": "23fb1ed5153d5465d49d2fe1ca265a5985c78877", "shasum": "" }, "require": { @@ -151,7 +155,11 @@ "read", "update" ], - "time": "2020-09-11T13:50:09+00:00" + "support": { + "issues": "https://github.com/Laravel-Backpack/CRUD/issues", + "source": "https://github.com/Laravel-Backpack/CRUD/tree/4.1.25" + }, + "time": "2020-09-16T12:39:56+00:00" }, { "name": "backpack/filemanager", @@ -207,6 +215,10 @@ "filemanager", "laravel" ], + "support": { + "issues": "https://github.com/Laravel-Backpack/FileManager/issues", + "source": "https://github.com/Laravel-Backpack/FileManager/tree/1.1.4" + }, "time": "2020-04-27T14:03:20+00:00" }, { @@ -267,6 +279,10 @@ "log manager", "logs" ], + "support": { + "issues": "https://github.com/Laravel-Backpack/LogManager/issues", + "source": "https://github.com/Laravel-Backpack/LogManager/tree/master" + }, "time": "2020-05-08T09:06:58+00:00" }, { @@ -326,6 +342,10 @@ "MenuCRUD", "backpack" ], + "support": { + "issues": "https://github.com/Laravel-Backpack/MenuCRUD/issues", + "source": "https://github.com/Laravel-Backpack/MenuCRUD/tree/2.0.5" + }, "time": "2020-04-24T14:30:00+00:00" }, { @@ -385,6 +405,10 @@ "NewsCRUD", "backpack" ], + "support": { + "issues": "https://github.com/Laravel-Backpack/NewsCRUD/issues", + "source": "https://github.com/Laravel-Backpack/NewsCRUD/tree/v4.0.3" + }, "time": "2020-09-11T13:12:32+00:00" }, { @@ -453,6 +477,10 @@ "presentation website", "wordpress" ], + "support": { + "issues": "https://github.com/Laravel-Backpack/PageManager/issues", + "source": "https://github.com/Laravel-Backpack/PageManager/tree/3.0.2" + }, "time": "2020-09-11T12:53:29+00:00" }, { @@ -526,6 +554,10 @@ "updivision", "users roles admin" ], + "support": { + "issues": "https://github.com/Laravel-Backpack/PermissionManager/issues", + "source": "https://github.com/Laravel-Backpack/PermissionManager/tree/6.0.2" + }, "time": "2020-09-07T14:52:54+00:00" }, { @@ -592,6 +624,10 @@ "laravel", "revisionable" ], + "support": { + "issues": "https://github.com/Laravel-Backpack/revise-operation/issues", + "source": "https://github.com/Laravel-Backpack/revise-operation/tree/1.0.5" + }, "time": "2020-08-31T18:00:26+00:00" }, { @@ -656,6 +692,10 @@ "tabacitu", "updivision" ], + "support": { + "issues": "https://github.com/Laravel-Backpack/Settings/issues", + "source": "https://github.com/Laravel-Backpack/Settings/tree/3.0.7" + }, "time": "2020-04-24T14:33:48+00:00" }, { @@ -699,6 +739,9 @@ "encode", "json" ], + "support": { + "issues": "https://gitlab.com/api/v4/projects/6731265/issues" + }, "time": "2020-06-06T16:24:31+00:00" }, { @@ -755,6 +798,10 @@ "elfinder", "filesystem" ], + "support": { + "issues": "https://github.com/barryvdh/elfinder-flysystem-driver/issues", + "source": "https://github.com/barryvdh/elfinder-flysystem-driver/tree/master" + }, "time": "2017-07-08T17:59:38+00:00" }, { @@ -812,6 +859,10 @@ "laravel", "tinymce" ], + "support": { + "issues": "https://github.com/barryvdh/laravel-elfinder/issues", + "source": "https://github.com/barryvdh/laravel-elfinder/tree/v0.4.6" + }, "time": "2020-09-11T14:36:09+00:00" }, { @@ -858,6 +909,10 @@ "brick", "math" ], + "support": { + "issues": "https://github.com/brick/math/issues", + "source": "https://github.com/brick/math/tree/master" + }, "funding": [ { "url": "https://tidelift.com/funding/github/packagist/brick/math", @@ -934,6 +989,10 @@ "slug", "slugify" ], + "support": { + "issues": "https://github.com/cocur/slugify/issues", + "source": "https://github.com/cocur/slugify/tree/master" + }, "time": "2019-12-14T13:04:14+00:00" }, { @@ -980,6 +1039,10 @@ } ], "description": "The laravel charting package", + "support": { + "issues": "https://github.com/ConsoleTVs/Charts/issues", + "source": "https://github.com/ConsoleTVs/Charts/tree/6.5.5" + }, "funding": [ { "url": "https://github.com/ConsoleTVs", @@ -1049,6 +1112,10 @@ "gravatar", "laravel" ], + "support": { + "issues": "https://github.com/creativeorange/gravatar/issues", + "source": "https://github.com/creativeorange/gravatar/tree/v1.0.20" + }, "time": "2020-09-09T14:53:57+00:00" }, { @@ -1112,6 +1179,10 @@ "slug", "sluggable" ], + "support": { + "issues": "https://github.com/cviebrock/eloquent-sluggable/issues", + "source": "https://github.com/cviebrock/eloquent-sluggable/tree/8.0.0" + }, "time": "2020-09-10T21:45:05+00:00" }, { @@ -1145,6 +1216,10 @@ "MIT" ], "description": "implementation of xdg base directory specification for php", + "support": { + "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues", + "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1" + }, "time": "2019-12-04T15:06:13+00:00" }, { @@ -1227,6 +1302,10 @@ "redis", "xcache" ], + "support": { + "issues": "https://github.com/doctrine/cache/issues", + "source": "https://github.com/doctrine/cache/tree/1.10.x" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -1245,16 +1324,16 @@ }, { "name": "doctrine/dbal", - "version": "2.10.3", + "version": "2.10.4", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "03ca23afc2ee062f5d3e32426ad37c34a4770dcf" + "reference": "47433196b6390d14409a33885ee42b6208160643" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/03ca23afc2ee062f5d3e32426ad37c34a4770dcf", - "reference": "03ca23afc2ee062f5d3e32426ad37c34a4770dcf", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/47433196b6390d14409a33885ee42b6208160643", + "reference": "47433196b6390d14409a33885ee42b6208160643", "shasum": "" }, "require": { @@ -1336,6 +1415,10 @@ "sqlserver", "sqlsrv" ], + "support": { + "issues": "https://github.com/doctrine/dbal/issues", + "source": "https://github.com/doctrine/dbal/tree/2.10.4" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -1350,7 +1433,7 @@ "type": "tidelift" } ], - "time": "2020-09-02T01:35:42+00:00" + "time": "2020-09-12T21:20:41+00:00" }, { "name": "doctrine/event-manager", @@ -1426,6 +1509,10 @@ "event system", "events" ], + "support": { + "issues": "https://github.com/doctrine/event-manager/issues", + "source": "https://github.com/doctrine/event-manager/tree/1.1.x" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -1517,6 +1604,10 @@ "uppercase", "words" ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.x" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -1593,6 +1684,10 @@ "parser", "php" ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/1.2.1" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -1655,6 +1750,10 @@ "cron", "schedule" ], + "support": { + "issues": "https://github.com/dragonmantank/cron-expression/issues", + "source": "https://github.com/dragonmantank/cron-expression/tree/3.0.1" + }, "funding": [ { "url": "https://github.com/dragonmantank", @@ -1719,6 +1818,10 @@ "validation", "validator" ], + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/2.1.20" + }, "time": "2020-09-06T13:44:32+00:00" }, { @@ -1775,6 +1878,10 @@ "flare", "reporting" ], + "support": { + "issues": "https://github.com/facade/flare-client-php/issues", + "source": "https://github.com/facade/flare-client-php/tree/master" + }, "funding": [ { "url": "https://github.com/spatie", @@ -1853,6 +1960,12 @@ "laravel", "page" ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/facade/ignition/issues", + "source": "https://github.com/facade/ignition" + }, "time": "2020-09-06T19:26:27+00:00" }, { @@ -1902,6 +2015,10 @@ "flare", "ignition" ], + "support": { + "issues": "https://github.com/facade/ignition-contracts/issues", + "source": "https://github.com/facade/ignition-contracts/tree/1.0.1" + }, "time": "2020-07-14T10:10:28+00:00" }, { @@ -1956,6 +2073,10 @@ "proxy", "trusted proxy" ], + "support": { + "issues": "https://github.com/fideloper/TrustedProxy/issues", + "source": "https://github.com/fideloper/TrustedProxy/tree/4.4.0" + }, "time": "2020-06-23T01:36:47+00:00" }, { @@ -2017,6 +2138,10 @@ "throwable", "whoops" ], + "support": { + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.7.3" + }, "time": "2020-06-14T09:00:00+00:00" }, { @@ -2069,6 +2194,10 @@ "Result-Type", "result" ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.1" + }, "funding": [ { "url": "https://github.com/GrahamCampbell", @@ -2160,6 +2289,10 @@ "rest", "web service" ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.0" + }, "time": "2020-06-27T10:33:25+00:00" }, { @@ -2211,6 +2344,10 @@ "keywords": [ "promise" ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/master" + }, "time": "2016-12-20T10:07:11+00:00" }, { @@ -2282,6 +2419,10 @@ "uri", "url" ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/1.6.1" + }, "time": "2019-07-01T23:21:34+00:00" }, { @@ -2352,20 +2493,24 @@ "thumbnail", "watermark" ], + "support": { + "issues": "https://github.com/Intervention/image/issues", + "source": "https://github.com/Intervention/image/tree/master" + }, "time": "2019-11-02T09:15:47+00:00" }, { "name": "laravel/framework", - "version": "v8.1.0", + "version": "v8.3.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "d769a497a20e4a374ff7454dde7eee65145e3659" + "reference": "7f8ac4f4abee41215b7f421f0dc491c844aea7b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/d769a497a20e4a374ff7454dde7eee65145e3659", - "reference": "d769a497a20e4a374ff7454dde7eee65145e3659", + "url": "https://api.github.com/repos/laravel/framework/zipball/7f8ac4f4abee41215b7f421f0dc491c844aea7b9", + "reference": "7f8ac4f4abee41215b7f421f0dc491c844aea7b9", "shasum": "" }, "require": { @@ -2395,7 +2540,7 @@ "symfony/routing": "^5.1", "symfony/var-dumper": "^5.1", "tijsverkoyen/css-to-inline-styles": "^2.2.2", - "vlucas/phpdotenv": "^5.0", + "vlucas/phpdotenv": "^5.2", "voku/portable-ascii": "^1.4.8" }, "conflict": { @@ -2515,7 +2660,11 @@ "framework", "laravel" ], - "time": "2020-09-11T14:24:58+00:00" + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2020-09-15T14:50:30+00:00" }, { "name": "laravel/legacy-factories", @@ -2567,6 +2716,10 @@ ], "description": "The legacy version of the Laravel Eloquent factories.", "homepage": "http://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, "time": "2020-06-09T15:09:18+00:00" }, { @@ -2631,20 +2784,24 @@ "laravel", "psysh" ], + "support": { + "issues": "https://github.com/laravel/tinker/issues", + "source": "https://github.com/laravel/tinker/tree/2.x" + }, "time": "2020-08-11T19:28:08+00:00" }, { "name": "league/commonmark", - "version": "1.5.4", + "version": "1.5.5", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "21819c989e69bab07e933866ad30c7e3f32984ba" + "reference": "45832dfed6007b984c0d40addfac48d403dc6432" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/21819c989e69bab07e933866ad30c7e3f32984ba", - "reference": "21819c989e69bab07e933866ad30c7e3f32984ba", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/45832dfed6007b984c0d40addfac48d403dc6432", + "reference": "45832dfed6007b984c0d40addfac48d403dc6432", "shasum": "" }, "require": { @@ -2656,7 +2813,7 @@ }, "require-dev": { "cebe/markdown": "~1.0", - "commonmark/commonmark.js": "0.29.1", + "commonmark/commonmark.js": "0.29.2", "erusev/parsedown": "~1.0", "ext-json": "*", "github/gfm": "0.29.0", @@ -2700,6 +2857,12 @@ "md", "parser" ], + "support": { + "docs": "https://commonmark.thephpleague.com/", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, "funding": [ { "url": "https://enjoy.gitstore.app/repositories/thephpleague/commonmark", @@ -2726,7 +2889,7 @@ "type": "tidelift" } ], - "time": "2020-08-18T01:19:12+00:00" + "time": "2020-09-13T14:44:46+00:00" }, { "name": "league/flysystem", @@ -2811,6 +2974,10 @@ "sftp", "storage" ], + "support": { + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/1.x" + }, "funding": [ { "url": "https://offset.earth/frankdejonge", @@ -2864,6 +3031,10 @@ } ], "description": "An adapter decorator to enable meta-data caching.", + "support": { + "issues": "https://github.com/thephpleague/flysystem-cached-adapter/issues", + "source": "https://github.com/thephpleague/flysystem-cached-adapter/tree/master" + }, "time": "2020-07-25T15:56:04+00:00" }, { @@ -2905,6 +3076,10 @@ } ], "description": "Mime-type detection for Flysystem", + "support": { + "issues": "https://github.com/thephpleague/mime-type-detection/issues", + "source": "https://github.com/thephpleague/mime-type-detection/tree/main" + }, "funding": [ { "url": "https://github.com/frankdejonge", @@ -2996,6 +3171,10 @@ "logging", "psr-3" ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/2.1.1" + }, "funding": [ { "url": "https://github.com/Seldaek", @@ -3010,16 +3189,16 @@ }, { "name": "nesbot/carbon", - "version": "2.39.2", + "version": "2.40.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "326efde1bc09077a26cb77f6e2e32e13f06c27f2" + "reference": "6c7646154181013ecd55e80c201b9fd873c6ee5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/326efde1bc09077a26cb77f6e2e32e13f06c27f2", - "reference": "326efde1bc09077a26cb77f6e2e32e13f06c27f2", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/6c7646154181013ecd55e80c201b9fd873c6ee5d", + "reference": "6c7646154181013ecd55e80c201b9fd873c6ee5d", "shasum": "" }, "require": { @@ -3085,6 +3264,10 @@ "datetime", "time" ], + "support": { + "issues": "https://github.com/briannesbitt/Carbon/issues", + "source": "https://github.com/briannesbitt/Carbon" + }, "funding": [ { "url": "https://opencollective.com/Carbon", @@ -3095,7 +3278,7 @@ "type": "tidelift" } ], - "time": "2020-09-10T12:16:42+00:00" + "time": "2020-09-11T19:00:58+00:00" }, { "name": "nikic/php-parser", @@ -3147,6 +3330,10 @@ "parser", "php" ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.9.1" + }, "time": "2020-08-30T16:15:20+00:00" }, { @@ -3198,6 +3385,10 @@ } ], "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", + "support": { + "issues": "https://github.com/Ocramius/PackageVersions/issues", + "source": "https://github.com/Ocramius/PackageVersions/tree/1.9.0" + }, "funding": [ { "url": "https://github.com/Ocramius", @@ -3269,6 +3460,10 @@ "serialization", "serialize" ], + "support": { + "issues": "https://github.com/opis/closure/issues", + "source": "https://github.com/opis/closure/tree/3.5.7" + }, "time": "2020-09-06T17:02:15+00:00" }, { @@ -3314,6 +3509,11 @@ "pseudorandom", "random" ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/random_compat/issues", + "source": "https://github.com/paragonie/random_compat" + }, "time": "2018-07-02T15:55:56+00:00" }, { @@ -3369,6 +3569,10 @@ "php", "type" ], + "support": { + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.7.5" + }, "funding": [ { "url": "https://github.com/GrahamCampbell", @@ -3445,6 +3649,10 @@ "laravel", "messages" ], + "support": { + "issues": "https://github.com/prologuephp/alerts/issues", + "source": "https://github.com/prologuephp/alerts/tree/master" + }, "time": "2020-09-08T14:24:39+00:00" }, { @@ -3491,6 +3699,9 @@ "psr", "psr-6" ], + "support": { + "source": "https://github.com/php-fig/cache/tree/master" + }, "time": "2016-08-06T20:24:11+00:00" }, { @@ -3540,6 +3751,10 @@ "container-interop", "psr" ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/master" + }, "time": "2017-02-14T16:28:37+00:00" }, { @@ -3586,6 +3801,10 @@ "psr", "psr-14" ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, "time": "2019-01-08T18:20:26+00:00" }, { @@ -3635,6 +3854,9 @@ "psr", "psr-18" ], + "support": { + "source": "https://github.com/php-fig/http-client/tree/master" + }, "time": "2020-06-29T06:28:15+00:00" }, { @@ -3685,6 +3907,9 @@ "request", "response" ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/master" + }, "time": "2016-08-06T14:39:51+00:00" }, { @@ -3732,6 +3957,9 @@ "psr", "psr-3" ], + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.3" + }, "time": "2020-03-23T09:12:05+00:00" }, { @@ -3780,6 +4008,9 @@ "psr-16", "simple-cache" ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/master" + }, "time": "2017-10-23T01:57:42+00:00" }, { @@ -3852,6 +4083,10 @@ "interactive", "shell" ], + "support": { + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/master" + }, "time": "2020-05-03T19:32:03+00:00" }, { @@ -3892,6 +4127,10 @@ } ], "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, "time": "2019-03-08T08:55:37+00:00" }, { @@ -3955,6 +4194,10 @@ "queue", "set" ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/1.1.1" + }, "funding": [ { "url": "https://github.com/ramsey", @@ -4042,6 +4285,11 @@ "identifier", "uuid" ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "rss": "https://github.com/ramsey/uuid/releases.atom", + "source": "https://github.com/ramsey/uuid" + }, "funding": [ { "url": "https://github.com/ramsey", @@ -4117,6 +4365,10 @@ "highlight.php", "syntax" ], + "support": { + "issues": "https://github.com/scrivo/highlight.php/issues", + "source": "https://github.com/scrivo/highlight.php" + }, "funding": [ { "url": "https://github.com/allejo", @@ -4173,6 +4425,10 @@ "mysqldump", "spatie" ], + "support": { + "issues": "https://github.com/spatie/db-dumper/issues", + "source": "https://github.com/spatie/db-dumper/tree/2.17.0" + }, "funding": [ { "url": "https://github.com/spatie", @@ -4255,6 +4511,10 @@ "laravel-backup", "spatie" ], + "support": { + "issues": "https://github.com/spatie/laravel-backup/issues", + "source": "https://github.com/spatie/laravel-backup/tree/master" + }, "funding": [ { "url": "https://spatie.be/open-source/support-us", @@ -4333,6 +4593,10 @@ "security", "spatie" ], + "support": { + "issues": "https://github.com/spatie/laravel-permission/issues", + "source": "https://github.com/spatie/laravel-permission/tree/3.16.0" + }, "funding": [ { "url": "https://spatie.be/open-source/support-us", @@ -4411,6 +4675,10 @@ "spatie", "translate" ], + "support": { + "issues": "https://github.com/spatie/laravel-translatable/issues", + "source": "https://github.com/spatie/laravel-translatable/tree/4.4.1" + }, "funding": [ { "url": "https://spatie.be/open-source/support-us", @@ -4463,6 +4731,10 @@ "spatie", "temporary-directory" ], + "support": { + "issues": "https://github.com/spatie/temporary-directory/issues", + "source": "https://github.com/spatie/temporary-directory/tree/master" + }, "time": "2020-09-07T20:41:15+00:00" }, { @@ -4521,6 +4793,10 @@ ], "description": "File manager for web", "homepage": "http://elfinder.org", + "support": { + "issues": "https://github.com/Studio-42/elFinder/issues", + "source": "https://github.com/Studio-42/elFinder/tree/2.1" + }, "time": "2020-06-05T08:06:57+00:00" }, { @@ -4583,6 +4859,10 @@ "mail", "mailer" ], + "support": { + "issues": "https://github.com/swiftmailer/swiftmailer/issues", + "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.3" + }, "time": "2019-11-12T09:31:26+00:00" }, { @@ -4662,6 +4942,9 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/console/tree/5.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4729,6 +5012,9 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/css-selector/tree/3.0" + }, "time": "2016-06-29T05:40:00+00:00" }, { @@ -4779,6 +5065,9 @@ ], "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/master" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4850,6 +5139,9 @@ ], "description": "Symfony ErrorHandler Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/5.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4936,6 +5228,9 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v5.1.4" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5012,6 +5307,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.2.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5075,6 +5373,9 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/5.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5150,6 +5451,9 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v5.1.5" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5263,6 +5567,9 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v5.1.5" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5340,6 +5647,9 @@ "mime", "mime-type" ], + "support": { + "source": "https://github.com/symfony/mime/tree/5.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5416,6 +5726,9 @@ "polyfill", "portable" ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.18.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5493,6 +5806,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-iconv/tree/master" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5571,6 +5887,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.18.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5656,6 +5975,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.18.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5737,6 +6059,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.18.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5814,6 +6139,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.18.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5891,6 +6219,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php70/tree/master" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5964,6 +6295,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/master" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -6040,6 +6374,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/master" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -6120,6 +6457,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/master" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -6184,6 +6524,9 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v5.1.4" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -6276,6 +6619,9 @@ "uri", "url" ], + "support": { + "source": "https://github.com/symfony/routing/tree/v5.1.4" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -6352,6 +6698,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/master" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -6437,6 +6786,9 @@ "utf-8", "utf8" ], + "support": { + "source": "https://github.com/symfony/string/tree/v5.1.5" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -6529,6 +6881,9 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/5.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -6604,6 +6959,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/master" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -6694,6 +7052,9 @@ "debug", "dump" ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v5.1.5" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -6757,6 +7118,10 @@ ], "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.", "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "support": { + "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.3" + }, "time": "2020-07-13T06:12:54+00:00" }, { @@ -6817,20 +7182,24 @@ "model", "revision" ], + "support": { + "issues": "https://github.com/VentureCraft/revisionable/issues", + "source": "https://github.com/VentureCraft/revisionable" + }, "time": "2020-09-08T01:15:58+00:00" }, { "name": "vlucas/phpdotenv", - "version": "v5.1.0", + "version": "v5.2.0", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "448c76d7a9e30c341ff5bc367a923af74ae18467" + "reference": "fba64139db67123c7a57072e5f8d3db10d160b66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/448c76d7a9e30c341ff5bc367a923af74ae18467", - "reference": "448c76d7a9e30c341ff5bc367a923af74ae18467", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/fba64139db67123c7a57072e5f8d3db10d160b66", + "reference": "fba64139db67123c7a57072e5f8d3db10d160b66", "shasum": "" }, "require": { @@ -6853,7 +7222,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -6883,6 +7252,10 @@ "env", "environment" ], + "support": { + "issues": "https://github.com/vlucas/phpdotenv/issues", + "source": "https://github.com/vlucas/phpdotenv/tree/v5.2.0" + }, "funding": [ { "url": "https://github.com/GrahamCampbell", @@ -6893,7 +7266,7 @@ "type": "tidelift" } ], - "time": "2020-07-14T19:26:25+00:00" + "time": "2020-09-14T15:57:31+00:00" }, { "name": "voku/portable-ascii", @@ -6941,6 +7314,10 @@ "clean", "php" ], + "support": { + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/master" + }, "funding": [ { "url": "https://www.paypal.me/moelleken", @@ -7025,6 +7402,10 @@ "request", "view" ], + "support": { + "issues": "https://github.com/Laravel-Backpack/Generators/issues", + "source": "https://github.com/Laravel-Backpack/Generators/tree/master" + }, "time": "2020-06-22T20:08:37+00:00" }, { @@ -7095,6 +7476,10 @@ "profiler", "webprofiler" ], + "support": { + "issues": "https://github.com/barryvdh/laravel-debugbar/issues", + "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.5.1" + }, "funding": [ { "url": "https://github.com/barryvdh", @@ -7157,6 +7542,10 @@ "constructor", "instantiate" ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.3.x" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -7221,6 +7610,10 @@ "faker", "fixtures" ], + "support": { + "issues": "https://github.com/fzaninotto/Faker/issues", + "source": "https://github.com/fzaninotto/Faker/tree/v1.9.1" + }, "time": "2019-12-12T13:22:17+00:00" }, { @@ -7268,6 +7661,10 @@ "keywords": [ "test" ], + "support": { + "issues": "https://github.com/hamcrest/hamcrest-php/issues", + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + }, "time": "2020-07-09T08:09:16+00:00" }, { @@ -7327,6 +7724,10 @@ "profiling", "slim" ], + "support": { + "issues": "https://github.com/itsgoingd/clockwork/issues", + "source": "https://github.com/itsgoingd/clockwork/tree/v4.1.7" + }, "funding": [ { "url": "https://github.com/itsgoingd", @@ -7387,8 +7788,84 @@ "generators", "laravel" ], + "support": { + "issues": "https://github.com/laracasts/Laravel-5-Generators-Extended/issues", + "source": "https://github.com/laracasts/Laravel-5-Generators-Extended/tree/2.0.0" + }, "time": "2020-09-10T13:49:13+00:00" }, + { + "name": "laravel/dusk", + "version": "v6.6.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/dusk.git", + "reference": "be00c525f9bde15bcfec1afc4857ab26afa6b369" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/dusk/zipball/be00c525f9bde15bcfec1afc4857ab26afa6b369", + "reference": "be00c525f9bde15bcfec1afc4857ab26afa6b369", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-zip": "*", + "illuminate/console": "^6.0|^7.0|^8.0", + "illuminate/support": "^6.0|^7.0|^8.0", + "nesbot/carbon": "^2.0", + "php": "^7.2", + "php-webdriver/webdriver": "^1.8.1", + "symfony/console": "^4.3|^5.0", + "symfony/finder": "^4.3|^5.0", + "symfony/process": "^4.3|^5.0", + "vlucas/phpdotenv": "^3.0|^4.0|^5.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^7.5.15|^8.4|^9.0" + }, + "suggest": { + "ext-pcntl": "Used to gracefully terminate Dusk when tests are running." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Dusk\\DuskServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Dusk\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Laravel Dusk provides simple end-to-end testing and browser automation.", + "keywords": [ + "laravel", + "testing", + "webdriver" + ], + "support": { + "issues": "https://github.com/laravel/dusk/issues", + "source": "https://github.com/laravel/dusk/tree/6.x" + }, + "time": "2020-09-08T16:09:25+00:00" + }, { "name": "maximebf/debugbar", "version": "v1.16.3", @@ -7448,6 +7925,10 @@ "debug", "debugbar" ], + "support": { + "issues": "https://github.com/maximebf/php-debugbar/issues", + "source": "https://github.com/maximebf/php-debugbar/tree/v1.16.3" + }, "time": "2020-05-06T07:06:27+00:00" }, { @@ -7516,6 +7997,10 @@ "test double", "testing" ], + "support": { + "issues": "https://github.com/mockery/mockery/issues", + "source": "https://github.com/mockery/mockery/tree/master" + }, "time": "2020-08-11T18:10:13+00:00" }, { @@ -7564,6 +8049,10 @@ "object", "object graph" ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.x" + }, "funding": [ { "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", @@ -7626,6 +8115,10 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/master" + }, "time": "2020-06-27T14:33:11+00:00" }, { @@ -7673,8 +8166,81 @@ } ], "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/master" + }, "time": "2020-06-27T14:39:04+00:00" }, + { + "name": "php-webdriver/webdriver", + "version": "1.8.2", + "source": { + "type": "git", + "url": "https://github.com/php-webdriver/php-webdriver.git", + "reference": "3308a70be084d6d7fd1ee5787b4c2e6eb4b70aab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/3308a70be084d6d7fd1ee5787b4c2e6eb4b70aab", + "reference": "3308a70be084d6d7fd1ee5787b4c2e6eb4b70aab", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-zip": "*", + "php": "^5.6 || ~7.0", + "symfony/polyfill-mbstring": "^1.12", + "symfony/process": "^2.8 || ^3.1 || ^4.0 || ^5.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.0", + "jakub-onderka/php-parallel-lint": "^1.0", + "php-coveralls/php-coveralls": "^2.0", + "php-mock/php-mock-phpunit": "^1.1", + "phpunit/phpunit": "^5.7", + "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0", + "sminnee/phpunit-mock-objects": "^3.4", + "squizlabs/php_codesniffer": "^3.5", + "symfony/var-dumper": "^3.3 || ^4.0 || ^5.0" + }, + "suggest": { + "ext-SimpleXML": "For Firefox profile creation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Facebook\\WebDriver\\": "lib/" + }, + "files": [ + "lib/Exception/TimeoutException.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP client for Selenium WebDriver. Previously facebook/webdriver.", + "homepage": "https://github.com/php-webdriver/php-webdriver", + "keywords": [ + "Chromedriver", + "geckodriver", + "php", + "selenium", + "webdriver" + ], + "support": { + "issues": "https://github.com/php-webdriver/php-webdriver/issues", + "source": "https://github.com/php-webdriver/php-webdriver/tree/1.8.2" + }, + "time": "2020-03-04T14:40:12+00:00" + }, { "name": "phpdocumentor/reflection-common", "version": "2.2.0", @@ -7722,6 +8288,10 @@ "reflection", "static analysis" ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, "time": "2020-06-27T09:03:43+00:00" }, { @@ -7774,6 +8344,10 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" + }, "time": "2020-08-15T11:14:08+00:00" }, { @@ -7819,6 +8393,10 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.x" + }, "time": "2020-06-27T10:12:23+00:00" }, { @@ -7882,20 +8460,24 @@ "spy", "stub" ], + "support": { + "issues": "https://github.com/phpspec/prophecy/issues", + "source": "https://github.com/phpspec/prophecy/tree/master" + }, "time": "2020-07-08T12:44:21+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.1.8", + "version": "9.1.9", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "f98f8466126d83b55b924a94d2244c53c216b8fb" + "reference": "cf6582906d4b2502c5f4c6be6a3d0b4cd5b3ef7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f98f8466126d83b55b924a94d2244c53c216b8fb", - "reference": "f98f8466126d83b55b924a94d2244c53c216b8fb", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/cf6582906d4b2502c5f4c6be6a3d0b4cd5b3ef7f", + "reference": "cf6582906d4b2502c5f4c6be6a3d0b4cd5b3ef7f", "shasum": "" }, "require": { @@ -7903,7 +8485,7 @@ "ext-libxml": "*", "ext-xmlwriter": "*", "nikic/php-parser": "^4.8", - "php": "^7.3 || ^8.0", + "php": ">=7.3", "phpunit/php-file-iterator": "^3.0.3", "phpunit/php-text-template": "^2.0.2", "sebastian/code-unit-reverse-lookup": "^2.0.2", @@ -7949,13 +8531,17 @@ "testing", "xunit" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.1.9" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-07T08:07:10+00:00" + "time": "2020-09-15T06:14:11+00:00" }, { "name": "phpunit/php-file-iterator", @@ -8005,6 +8591,10 @@ "filesystem", "iterator" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -8064,6 +8654,10 @@ "keywords": [ "process" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.0" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -8119,6 +8713,10 @@ "keywords": [ "template" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/master" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -8174,6 +8772,10 @@ "keywords": [ "timer" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/master" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -8184,16 +8786,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.3.9", + "version": "9.3.10", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "60c90ba713075e83bd039db4760226df7ad9a5cb" + "reference": "919333f2d046a89f9238f15d09f17a8f0baa5cc2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/60c90ba713075e83bd039db4760226df7ad9a5cb", - "reference": "60c90ba713075e83bd039db4760226df7ad9a5cb", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/919333f2d046a89f9238f15d09f17a8f0baa5cc2", + "reference": "919333f2d046a89f9238f15d09f17a8f0baa5cc2", "shasum": "" }, "require": { @@ -8269,6 +8871,10 @@ "testing", "xunit" ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.3.10" + }, "funding": [ { "url": "https://phpunit.de/donate.html", @@ -8279,7 +8885,7 @@ "type": "github" } ], - "time": "2020-09-11T12:42:34+00:00" + "time": "2020-09-12T09:34:39+00:00" }, { "name": "sebastian/cli-parser", @@ -8325,6 +8931,10 @@ ], "description": "Library for parsing CLI options", "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/master" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -8377,6 +8987,10 @@ ], "description": "Collection of value objects that represent the PHP code units", "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/master" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -8428,6 +9042,10 @@ ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/master" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -8498,6 +9116,10 @@ "compare", "equality" ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/master" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -8551,6 +9173,10 @@ ], "description": "Library for calculating the complexity of PHP code units", "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.0" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -8613,6 +9239,10 @@ "unidiff", "unified diff" ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/master" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -8672,6 +9302,10 @@ "environment", "hhvm" ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/master" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -8745,6 +9379,10 @@ "export", "exporter" ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.2" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -8805,6 +9443,10 @@ "keywords": [ "global state" ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.0" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -8858,6 +9500,10 @@ ], "description": "Library for counting the lines of code in PHP source code", "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.0" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -8911,6 +9557,10 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/master" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -8962,6 +9612,10 @@ ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/master" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -9021,6 +9675,10 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/master" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -9072,6 +9730,10 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.2" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -9124,6 +9786,10 @@ ], "description": "Collection of value objects that represent the types of the PHP type system", "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/2.2.1" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -9173,6 +9839,10 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.1" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -9181,6 +9851,57 @@ ], "time": "2020-06-26T12:18:43+00:00" }, + { + "name": "staudenmeir/dusk-updater", + "version": "v1.2.1", + "source": { + "type": "git", + "url": "https://github.com/staudenmeir/dusk-updater.git", + "reference": "4c6ae6731b8fd558f7b9b976b2e5cff63ea9b071" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/staudenmeir/dusk-updater/zipball/4c6ae6731b8fd558f7b9b976b2e5cff63ea9b071", + "reference": "4c6ae6731b8fd558f7b9b976b2e5cff63ea9b071", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/process": "^4.2 || ^5.0" + }, + "require-dev": { + "orchestra/testbench": "^5.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Staudenmeir\\DuskUpdater\\DuskServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Staudenmeir\\DuskUpdater\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonas Staudenmeir", + "email": "mail@jonas-staudenmeir.de" + } + ], + "description": "Updater for Laravel Dusk ChromeDriver binaries", + "support": { + "issues": "https://github.com/staudenmeir/dusk-updater/issues", + "source": "https://github.com/staudenmeir/dusk-updater/tree/master" + }, + "time": "2020-05-21T23:13:32+00:00" + }, { "name": "symfony/debug", "version": "v4.4.13", @@ -9236,6 +9957,9 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/debug/tree/4.4" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -9312,6 +10036,9 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/dom-crawler/tree/v5.1.4" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -9366,6 +10093,10 @@ } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/master" + }, "funding": [ { "url": "https://github.com/theseer", @@ -9421,6 +10152,10 @@ "check", "validate" ], + "support": { + "issues": "https://github.com/webmozart/assert/issues", + "source": "https://github.com/webmozart/assert/tree/master" + }, "time": "2020-07-08T17:02:28+00:00" } ], @@ -9436,5 +10171,5 @@ "platform-overrides": { "php": "7.4.0" }, - "plugin-api-version": "1.1.0" + "plugin-api-version": "2.0.0" } diff --git a/readme.md b/readme.md index 71f91721e..c2ff83e5b 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,6 @@ # Backpack\Demo -Laravel BackPack's demo, which includes all Backpack packages. +This is a quick Laravel installation that has Backpack for Laravel installed, along with most of its first-party add-ons. A few "demo entities" were also created to highlight the most important Backpack features. > ### Security updates and breaking changes diff --git a/tests/Browser/Auth/ForgotPasswordTest.php b/tests/Browser/Auth/ForgotPasswordTest.php new file mode 100644 index 000000000..9c53855be --- /dev/null +++ b/tests/Browser/Auth/ForgotPasswordTest.php @@ -0,0 +1,29 @@ +browse(function (Browser $browser) { + $browser->visit('/admin/password/reset'); + $browser->assertSee('Confirm Email'); + $browser->type('email', 'admin@example.com'); + $browser->press('Send Password Reset Link'); + $browser->assertPathIs('/admin/password/reset'); + $browser->assertSee('We have e-mailed your password reset link!'); + }); + } + + // TODO: + // public function test_inexisting_email_submitted() + // public function test_non_email_submitted() + // public function test_email_contains_link() {} + // public function test_email_link_opens_page() {} + // public function test_reset_password_form_submits() {} + // public function test_login_after_password_reset() {} +} diff --git a/tests/Browser/Auth/LoginTest.php b/tests/Browser/Auth/LoginTest.php new file mode 100644 index 000000000..03c34b513 --- /dev/null +++ b/tests/Browser/Auth/LoginTest.php @@ -0,0 +1,18 @@ +browse(function (Browser $browser) { + $browser->visit('/admin/login'); + $browser->press('Login'); + $browser->assertPathIs('/admin/dashboard'); + }); + } +} diff --git a/tests/Browser/DashboardTest.php b/tests/Browser/DashboardTest.php new file mode 100644 index 000000000..b06007f6d --- /dev/null +++ b/tests/Browser/DashboardTest.php @@ -0,0 +1,19 @@ +browse(function (Browser $browser) { + $browser->visit('/'); + $browser->clickLink('Login'); + $browser->visit('/admin/login'); + $browser->assertSee('Login'); + }); + } +} diff --git a/tests/Browser/PageCrudTest.php b/tests/Browser/PageCrudTest.php new file mode 100644 index 000000000..cf919de04 --- /dev/null +++ b/tests/Browser/PageCrudTest.php @@ -0,0 +1,34 @@ +browse(function (Browser $browser) { + $browser->visit('/admin/page'); + $browser->assertPathIs('/admin/login'); + }); + } + + public function test_page_crud_list_operation() + { + $this->browse(function (Browser $browser) { + $browser->visit('/admin/login'); + $browser->press('Login'); + $browser->clickLink('Pages'); + $browser->waitForText('Showing'); + $browser->assertSee('Showing'); + + // count the number of rows in the table tbody + $elements = $browser->driver->findElements(WebDriverBy::cssSelector('#crudTable tbody tr')); + + $this->assertCount(10, $elements); + }); + } +} diff --git a/tests/Browser/Pages/HomePage.php b/tests/Browser/Pages/HomePage.php new file mode 100644 index 000000000..12ff533f7 --- /dev/null +++ b/tests/Browser/Pages/HomePage.php @@ -0,0 +1,42 @@ + '#selector', + ]; + } +} diff --git a/tests/Browser/Pages/Page.php b/tests/Browser/Pages/Page.php new file mode 100644 index 000000000..f8d76222c --- /dev/null +++ b/tests/Browser/Pages/Page.php @@ -0,0 +1,20 @@ + '#selector', + ]; + } +} diff --git a/tests/Browser/WelcomePageTest.php b/tests/Browser/WelcomePageTest.php new file mode 100644 index 000000000..adbe87b76 --- /dev/null +++ b/tests/Browser/WelcomePageTest.php @@ -0,0 +1,22 @@ +browse(function (Browser $browser) { + $browser->visit('/') + ->assertSee('No front-end pages are provided in this demo'); + }); + } +} diff --git a/tests/Browser/console/.gitignore b/tests/Browser/console/.gitignore new file mode 100644 index 000000000..d6b7ef32c --- /dev/null +++ b/tests/Browser/console/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/tests/Browser/screenshots/.gitignore b/tests/Browser/screenshots/.gitignore new file mode 100644 index 000000000..d6b7ef32c --- /dev/null +++ b/tests/Browser/screenshots/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/tests/CreatesApplication.php b/tests/CreatesApplication.php new file mode 100644 index 000000000..547152f6a --- /dev/null +++ b/tests/CreatesApplication.php @@ -0,0 +1,22 @@ +make(Kernel::class)->bootstrap(); + + return $app; + } +} diff --git a/tests/DuskTestCase.php b/tests/DuskTestCase.php new file mode 100644 index 000000000..574927366 --- /dev/null +++ b/tests/DuskTestCase.php @@ -0,0 +1,68 @@ +artisan('migrate:refresh'); + $this->artisan('db:seed'); + static::$migrationRun = true; + } + } + + /** + * Prepare for Dusk test execution. + * + * @beforeClass + * + * @return void + */ + public static function prepare() + { + static::startChromeDriver(); + } + + /** + * Create the RemoteWebDriver instance. + * + * @return \Facebook\WebDriver\Remote\RemoteWebDriver + */ + protected function driver() + { + $arguments = [ + '--disable-gpu', + '--window-size=1920,1080', + ]; + + if (!env('APP_ENV') !== 'testing') { + $arguments[] = '--headless'; + } + + $options = (new ChromeOptions())->addArguments($arguments); + + return RemoteWebDriver::create( + 'http://localhost:9515', + DesiredCapabilities::chrome()->setCapability( + ChromeOptions::CAPABILITY, + $options + ) + ); + } +}