├── public
├── favicon.ico
├── robots.txt
├── .htaccess
└── index.php
├── database
├── seeds
│ └── .gitkeep
├── migrations
│ └── .gitkeep
└── .gitignore
├── resources
├── views
│ ├── vendor
│ │ └── .gitkeep
│ ├── welcome.blade.php
│ └── errors
│ │ └── 503.blade.php
└── lang
│ └── en
│ ├── auth.php
│ └── validation.php
├── storage
├── app
│ └── .gitignore
├── logs
│ └── .gitignore
└── framework
│ ├── cache
│ └── .gitignore
│ ├── views
│ └── .gitignore
│ ├── sessions
│ └── .gitignore
│ └── .gitignore
├── bootstrap
├── cache
│ └── .gitignore
├── autoload.php
└── app.php
├── config
├── services.php
├── administrators.json
├── compile.php
├── view.php
├── database.php
├── session.php
└── app.php
├── .gitattributes
├── .gitignore
├── app
├── Events
│ └── Event.php
├── Http
│ ├── Requests
│ │ └── Request.php
│ ├── Middleware
│ │ ├── EncryptCookies.php
│ │ ├── VerifyCsrfToken.php
│ │ └── Authenticate.php
│ ├── Controllers
│ │ └── Controller.php
│ ├── routes.php
│ └── Kernel.php
├── Providers
│ ├── AppServiceProvider.php
│ ├── AuthServiceProvider.php
│ ├── EventServiceProvider.php
│ └── RouteServiceProvider.php
├── Console
│ └── Kernel.php
├── User.php
└── Exceptions
│ └── Handler.php
├── .env.example
├── .github
├── dependabot.yml
└── workflows
│ └── laravel.yml
├── package.json
├── .travis.yml
├── tests
├── app
│ └── FailingRouteTest.php
└── TestCase.php
├── server.php
├── phpunit.xml
├── composer.json
├── artisan
├── readme.md
└── composer.lock
/public/favicon.ico:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/database/seeds/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/database/migrations/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/database/.gitignore:
--------------------------------------------------------------------------------
1 | *.sqlite
2 |
--------------------------------------------------------------------------------
/resources/views/vendor/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/storage/app/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
--------------------------------------------------------------------------------
/bootstrap/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/logs/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow:
3 |
--------------------------------------------------------------------------------
/storage/framework/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
--------------------------------------------------------------------------------
/config/services.php:
--------------------------------------------------------------------------------
1 | call('GET', '/error');
8 | $this->assertEquals(500, $response->getStatusCode());
9 | }
10 |
11 | public function testCorrectRoute()
12 | {
13 | $response = $this->call('GET', '/');
14 | $this->assertEquals(200, $response->getStatusCode());
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/public/.htaccess:
--------------------------------------------------------------------------------
1 |
2 |
3 | Options -MultiViews
4 |
5 |
6 | RewriteEngine On
7 |
8 | # Redirect Trailing Slashes If Not A Folder...
9 | RewriteCond %{REQUEST_FILENAME} !-d
10 | RewriteRule ^(.*)/$ /$1 [L,R=301]
11 |
12 | # Handle Front Controller...
13 | RewriteCond %{REQUEST_FILENAME} !-d
14 | RewriteCond %{REQUEST_FILENAME} !-f
15 | RewriteRule ^ index.php [L]
16 |
17 |
--------------------------------------------------------------------------------
/app/Providers/AppServiceProvider.php:
--------------------------------------------------------------------------------
1 | make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
22 |
23 | return $app;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/server.php:
--------------------------------------------------------------------------------
1 |
8 | */
9 |
10 | $uri = urldecode(
11 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
12 | );
13 |
14 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the
15 | // built-in PHP web server. This provides a convenient way to test a Laravel
16 | // application without having installed a "real" web server software here.
17 | if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
18 | return false;
19 | }
20 |
21 | require_once __DIR__.'/public/index.php';
22 |
--------------------------------------------------------------------------------
/app/Console/Kernel.php:
--------------------------------------------------------------------------------
1 | 'These credentials do not match our records.',
17 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
18 |
19 | ];
20 |
--------------------------------------------------------------------------------
/app/Providers/AuthServiceProvider.php:
--------------------------------------------------------------------------------
1 | 'App\Policies\ModelPolicy',
17 | ];
18 |
19 | /**
20 | * Register any application authentication / authorization services.
21 | *
22 | * @param \Illuminate\Contracts\Auth\Access\Gate $gate
23 | * @return void
24 | */
25 | public function boot(GateContract $gate)
26 | {
27 | parent::registerPolicies($gate);
28 |
29 | //
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/Providers/EventServiceProvider.php:
--------------------------------------------------------------------------------
1 | [
17 | 'App\Listeners\EventListener',
18 | ],
19 | ];
20 |
21 | /**
22 | * Register any other events for your application.
23 | *
24 | * @param \Illuminate\Contracts\Events\Dispatcher $events
25 | * @return void
26 | */
27 | public function boot(DispatcherContract $events)
28 | {
29 | parent::boot($events);
30 |
31 | //
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/phpunit.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 | ./tests/
15 |
16 |
17 |
18 |
19 | app/
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/app/Http/Kernel.php:
--------------------------------------------------------------------------------
1 | \App\Http\Middleware\Authenticate::class,
30 | 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
31 | ];
32 | }
33 |
--------------------------------------------------------------------------------
/.github/workflows/laravel.yml:
--------------------------------------------------------------------------------
1 | name: Laravel
2 |
3 | on:
4 | push:
5 | branches: [ master ]
6 | pull_request:
7 | branches: [ master ]
8 |
9 | jobs:
10 | laravel-tests:
11 |
12 | runs-on: ubuntu-latest
13 |
14 | steps:
15 | - uses: shivammathur/setup-php@15c43e89cdef867065b0213be354c2841860869e
16 | with:
17 | php-version: '7.4'
18 | - uses: actions/checkout@v2
19 | - name: Copy .env
20 | run: php -r "file_exists('.env') || copy('.env.example', '.env');"
21 | - name: Install Dependencies
22 | run: composer install --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
23 | - name: Generate key
24 | run: php artisan key:generate
25 | - name: Directory Permissions
26 | run: chmod -R 777 storage bootstrap/cache
27 | - name: Create Database
28 | run: |
29 | mkdir -p database
30 | touch database/database.sqlite
31 | - name: Execute tests (Unit and Feature tests) via PHPUnit
32 | env:
33 | DB_CONNECTION: sqlite
34 | DB_DATABASE: database/database.sqlite
35 | run: vendor/bin/phpunit
36 |
--------------------------------------------------------------------------------
/app/Http/Middleware/Authenticate.php:
--------------------------------------------------------------------------------
1 | auth = $auth;
26 | }
27 |
28 | /**
29 | * Handle an incoming request.
30 | *
31 | * @param \Illuminate\Http\Request $request
32 | * @param \Closure $next
33 | * @return mixed
34 | */
35 | public function handle($request, Closure $next)
36 | {
37 | if ($this->auth->guest()) {
38 | if ($request->ajax()) {
39 | return response('Unauthorized.', 401);
40 | } else {
41 | return redirect()->guest('auth/login');
42 | }
43 | }
44 |
45 | return $next($request);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/config/compile.php:
--------------------------------------------------------------------------------
1 | [
17 | //
18 | ],
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Compiled File Providers
23 | |--------------------------------------------------------------------------
24 | |
25 | | Here you may list service providers which define a "compiles" function
26 | | that returns additional files that should be compiled, providing an
27 | | easy way to get common files from any packages you are utilizing.
28 | |
29 | */
30 |
31 | 'providers' => [
32 | //
33 | ],
34 |
35 | ];
36 |
--------------------------------------------------------------------------------
/config/view.php:
--------------------------------------------------------------------------------
1 | [
17 | realpath(base_path('resources/views')),
18 | ],
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Compiled View Path
23 | |--------------------------------------------------------------------------
24 | |
25 | | This option determines where all the compiled Blade templates will be
26 | | stored for your application. Typically, this is within the storage
27 | | directory. However, as usual, you are free to change this value.
28 | |
29 | */
30 |
31 | 'compiled' => realpath(storage_path('framework/views')),
32 |
33 | ];
34 |
--------------------------------------------------------------------------------
/bootstrap/autoload.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Laravel
5 |
6 |
7 |
8 |
37 |
38 |
39 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/app/Providers/RouteServiceProvider.php:
--------------------------------------------------------------------------------
1 | group(['namespace' => $this->namespace], function ($router) {
41 | require app_path('Http/routes.php');
42 | });
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/app/User.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Be right back.
5 |
6 |
7 |
8 |
39 |
40 |
41 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "twilio-deved/server-notifications-laravel",
3 | "description": "Send SMS notifications whenever a Laravel error happens",
4 | "keywords": ["twilio", "sms", "notfications", "laravel"],
5 | "license": "MIT",
6 | "type": "project",
7 | "require": {
8 | "php": ">=5.5.9",
9 | "laravel/framework": "5.1.*",
10 | "twilio/sdk": "^6.0"
11 | },
12 | "require-dev": {
13 | "phpunit/phpunit": "4.8.28"
14 | },
15 | "autoload": {
16 | "classmap": [
17 | "database"
18 | ],
19 | "psr-4": {
20 | "App\\": "app/"
21 | }
22 | },
23 | "autoload-dev": {
24 | "classmap": [
25 | "tests/TestCase.php"
26 | ]
27 | },
28 | "scripts": {
29 | "post-install-cmd": [
30 | "php artisan clear-compiled",
31 | "php artisan optimize"
32 | ],
33 | "pre-update-cmd": [
34 | "php artisan clear-compiled"
35 | ],
36 | "post-update-cmd": [
37 | "php artisan optimize"
38 | ],
39 | "post-root-package-install": [
40 | "php -r \"copy('.env.example', '.env');\""
41 | ],
42 | "post-create-project-cmd": [
43 | "php artisan key:generate"
44 | ]
45 | },
46 | "config": {
47 | "preferred-install": "dist"
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/bootstrap/app.php:
--------------------------------------------------------------------------------
1 | singleton(
30 | Illuminate\Contracts\Http\Kernel::class,
31 | App\Http\Kernel::class
32 | );
33 |
34 | $app->singleton(
35 | Illuminate\Contracts\Console\Kernel::class,
36 | App\Console\Kernel::class
37 | );
38 |
39 | $app->singleton(
40 | Illuminate\Contracts\Debug\ExceptionHandler::class,
41 | App\Exceptions\Handler::class
42 | );
43 |
44 | /*
45 | |--------------------------------------------------------------------------
46 | | Return The Application
47 | |--------------------------------------------------------------------------
48 | |
49 | | This script returns the application instance. The instance is given to
50 | | the calling script so we can separate the building of the instances
51 | | from the actual running of the application and sending responses.
52 | |
53 | */
54 |
55 | return $app;
56 |
--------------------------------------------------------------------------------
/artisan:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 | make(Illuminate\Contracts\Console\Kernel::class);
32 |
33 | $status = $kernel->handle(
34 | $input = new Symfony\Component\Console\Input\ArgvInput,
35 | new Symfony\Component\Console\Output\ConsoleOutput
36 | );
37 |
38 | /*
39 | |--------------------------------------------------------------------------
40 | | Shutdown The Application
41 | |--------------------------------------------------------------------------
42 | |
43 | | Once Artisan has finished running. We will fire off the shutdown events
44 | | so that any final work may be done by the application before we shut
45 | | down the process. This is the last thing to happen to the request.
46 | |
47 | */
48 |
49 | $kernel->terminate($input, $status);
50 |
51 | exit($status);
52 |
--------------------------------------------------------------------------------
/public/index.php:
--------------------------------------------------------------------------------
1 |
8 | */
9 |
10 | /*
11 | |--------------------------------------------------------------------------
12 | | Register The Auto Loader
13 | |--------------------------------------------------------------------------
14 | |
15 | | Composer provides a convenient, automatically generated class loader for
16 | | our application. We just need to utilize it! We'll simply require it
17 | | into the script here so that we don't have to worry about manual
18 | | loading any of our classes later on. It feels nice to relax.
19 | |
20 | */
21 |
22 | require __DIR__.'/../bootstrap/autoload.php';
23 |
24 | /*
25 | |--------------------------------------------------------------------------
26 | | Turn On The Lights
27 | |--------------------------------------------------------------------------
28 | |
29 | | We need to illuminate PHP development, so let us turn on the lights.
30 | | This bootstraps the framework and gets it ready for use, then it
31 | | will load up this application so that we can run it and send
32 | | the responses back to the browser and delight our users.
33 | |
34 | */
35 |
36 | $app = require_once __DIR__.'/../bootstrap/app.php';
37 |
38 | /*
39 | |--------------------------------------------------------------------------
40 | | Run The Application
41 | |--------------------------------------------------------------------------
42 | |
43 | | Once we have the application, we can handle the incoming request
44 | | through the kernel, and send the associated response back to
45 | | the client's browser allowing them to enjoy the creative
46 | | and wonderful application we have prepared for them.
47 | |
48 | */
49 |
50 | $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
51 |
52 | $response = $kernel->handle(
53 | $request = Illuminate\Http\Request::capture()
54 | );
55 |
56 | $response->send();
57 |
58 | $kernel->terminate($request, $response);
59 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | # Server Notifications & Alerts with Twilio and Laravel
6 |
7 | [](https://github.com/TwilioDevEd/server-notifications-node/actions/workflows/laravel.yml)
8 |
9 | Use Twilio to create SMS alerts so that you never miss a critical issue.
10 |
11 | [Read the full tutorial here](https://www.twilio.com/docs/tutorials/walkthrough/server-notifications/php/laravel)!
12 |
13 | ## Local Development
14 |
15 | 1. Grab latest source
16 |
17 | ```bash
18 | git clone git@github.com:TwilioDevEd/server-notifications-laravel.git
19 | ```
20 |
21 | 1. Copy the sample configuration file and edit it to match your configuration.
22 |
23 | ```bash
24 | cp .env.example .env
25 | ```
26 | You can find your `TWILIO_ACCOUNT_SID` and `TWILIO_AUTH_TOKEN` under
27 | your [Twilio Account Settings](https://www.twilio.com/user/account/settings).
28 | You can buy Twilio phone numbers at
29 | [Twilio numbers](https://www.twilio.com/user/account/phone-numbers/search)
30 | `TWILIO_NUMBER` should be set to the phone number you purchased above.
31 | `TWILIO_RR_NUMBER` should be set to a Twilio number too.
32 |
33 | 1. Customize `config/administrators.json` with your name and phone number.
34 |
35 | 1. Install the dependencies with [Composer](https://getcomposer.org/).
36 |
37 | ```bash
38 | composer install
39 | ```
40 |
41 | 1. Generate an `APP_KEY`.
42 |
43 | ```bash
44 | php artisan key:generate
45 | ```
46 |
47 | 1. Start the server.
48 |
49 | ```bash
50 | php artisan serve
51 | ```
52 |
53 | ### How To Demo?
54 |
55 | Visit the application's error route at
56 | [http://localhost:8000/error](http://localhost:8000/error). You'll
57 | soon get a message informing you of an error.
58 |
59 | ## Meta
60 |
61 | * No warranty expressed or implied. Software is as is. Diggity.
62 | * [MIT License](http://www.opensource.org/licenses/mit-license.html)
63 | * Lovingly crafted by Twilio Developer Education.
64 |
--------------------------------------------------------------------------------
/app/Exceptions/Handler.php:
--------------------------------------------------------------------------------
1 | _notifyThroughSms($e);
38 | return parent::report($e);
39 | }
40 |
41 | /**
42 | * Render an exception into an HTTP response.
43 | *
44 | * @param \Illuminate\Http\Request $request
45 | * @param \Exception $e
46 | * @return \Illuminate\Http\Response
47 | */
48 | public function render($request, Exception $e)
49 | {
50 | if ($e instanceof ModelNotFoundException) {
51 | $e = new NotFoundHttpException($e->getMessage(), $e);
52 | }
53 |
54 | return parent::render($request, $e);
55 | }
56 |
57 | private function _notifyThroughSms($e)
58 | {
59 | foreach ($this->_notificationRecipients() as $recipient) {
60 | $this->_sendSms(
61 | $recipient->phone_number,
62 | '[This is a test] It appears the server' .
63 | ' is having issues. Exception: ' . $e->getMessage() .
64 | ' Go to http://newrelic.com for more details.'
65 | );
66 | }
67 | }
68 |
69 | private function _notificationRecipients()
70 | {
71 | $adminsFile = base_path() .
72 | DIRECTORY_SEPARATOR .
73 | 'config' . DIRECTORY_SEPARATOR .
74 | 'administrators.json';
75 | try {
76 | $adminsFileContents = \File::get($adminsFile);
77 |
78 | return json_decode($adminsFileContents);
79 | } catch (FileNotFoundException $e) {
80 | Log::error(
81 | 'Could not find ' .
82 | $adminsFile .
83 | ' to notify admins through SMS'
84 | );
85 | return [];
86 | }
87 | }
88 |
89 | private function _sendSms($to, $message)
90 | {
91 | $accountSid = env('TWILIO_ACCOUNT_SID');
92 | $authToken = env('TWILIO_AUTH_TOKEN');
93 | $twilioNumber = env('TWILIO_NUMBER');
94 |
95 | $client = new Client($accountSid, $authToken);
96 |
97 | try {
98 | $client->messages->create(
99 | $to,
100 | [
101 | "body" => $message,
102 | "from" => $twilioNumber
103 | // On US phone numbers, you could send an image as well!
104 | // 'mediaUrl' => $imageUrl
105 | ]
106 | );
107 | Log::info('Message sent to ' . $to);
108 | } catch (TwilioException $e) {
109 | Log::error(
110 | 'Could not send SMS notification.' .
111 | ' Twilio replied with: ' . $e
112 | );
113 | }
114 | }
115 | }
116 |
--------------------------------------------------------------------------------
/config/database.php:
--------------------------------------------------------------------------------
1 | PDO::FETCH_CLASS,
17 |
18 | /*
19 | |--------------------------------------------------------------------------
20 | | Default Database Connection Name
21 | |--------------------------------------------------------------------------
22 | |
23 | | Here you may specify which of the database connections below you wish
24 | | to use as your default connection for all database work. Of course
25 | | you may use many connections at once using the Database library.
26 | |
27 | */
28 |
29 | 'default' => env('DB_CONNECTION', 'mysql'),
30 |
31 | /*
32 | |--------------------------------------------------------------------------
33 | | Database Connections
34 | |--------------------------------------------------------------------------
35 | |
36 | | Here are each of the database connections setup for your application.
37 | | Of course, examples of configuring each database platform that is
38 | | supported by Laravel is shown below to make development simple.
39 | |
40 | |
41 | | All database work in Laravel is done through the PHP PDO facilities
42 | | so make sure you have the driver for your particular database of
43 | | choice installed on your machine before you begin development.
44 | |
45 | */
46 |
47 | 'connections' => [
48 |
49 | 'sqlite' => [
50 | 'driver' => 'sqlite',
51 | 'database' => storage_path('database.sqlite'),
52 | 'prefix' => '',
53 | ],
54 |
55 | 'mysql' => [
56 | 'driver' => 'mysql',
57 | 'host' => env('DB_HOST', 'localhost'),
58 | 'database' => env('DB_DATABASE', 'forge'),
59 | 'username' => env('DB_USERNAME', 'forge'),
60 | 'password' => env('DB_PASSWORD', ''),
61 | 'charset' => 'utf8',
62 | 'collation' => 'utf8_unicode_ci',
63 | 'prefix' => '',
64 | 'strict' => false,
65 | ],
66 |
67 | 'pgsql' => [
68 | 'driver' => 'pgsql',
69 | 'host' => env('DB_HOST', 'localhost'),
70 | 'database' => env('DB_DATABASE', 'forge'),
71 | 'username' => env('DB_USERNAME', 'forge'),
72 | 'password' => env('DB_PASSWORD', ''),
73 | 'charset' => 'utf8',
74 | 'prefix' => '',
75 | 'schema' => 'public',
76 | ],
77 |
78 | 'sqlsrv' => [
79 | 'driver' => 'sqlsrv',
80 | 'host' => env('DB_HOST', 'localhost'),
81 | 'database' => env('DB_DATABASE', 'forge'),
82 | 'username' => env('DB_USERNAME', 'forge'),
83 | 'password' => env('DB_PASSWORD', ''),
84 | 'charset' => 'utf8',
85 | 'prefix' => '',
86 | ],
87 |
88 | ],
89 |
90 | /*
91 | |--------------------------------------------------------------------------
92 | | Migration Repository Table
93 | |--------------------------------------------------------------------------
94 | |
95 | | This table keeps track of all the migrations that have already run for
96 | | your application. Using this information, we can determine which of
97 | | the migrations on disk haven't actually been run in the database.
98 | |
99 | */
100 |
101 | 'migrations' => 'migrations',
102 |
103 | /*
104 | |--------------------------------------------------------------------------
105 | | Redis Databases
106 | |--------------------------------------------------------------------------
107 | |
108 | | Redis is an open source, fast, and advanced key-value store that also
109 | | provides a richer set of commands than a typical key-value systems
110 | | such as APC or Memcached. Laravel makes it easy to dig right in.
111 | |
112 | */
113 |
114 | 'redis' => [
115 |
116 | 'cluster' => false,
117 |
118 | 'default' => [
119 | 'host' => '127.0.0.1',
120 | 'port' => 6379,
121 | 'database' => 0,
122 | ],
123 |
124 | ],
125 |
126 | ];
127 |
--------------------------------------------------------------------------------
/config/session.php:
--------------------------------------------------------------------------------
1 | env('SESSION_DRIVER', 'file'),
20 |
21 | /*
22 | |--------------------------------------------------------------------------
23 | | Session Lifetime
24 | |--------------------------------------------------------------------------
25 | |
26 | | Here you may specify the number of minutes that you wish the session
27 | | to be allowed to remain idle before it expires. If you want them
28 | | to immediately expire on the browser closing, set that option.
29 | |
30 | */
31 |
32 | 'lifetime' => 120,
33 |
34 | 'expire_on_close' => false,
35 |
36 | /*
37 | |--------------------------------------------------------------------------
38 | | Session Encryption
39 | |--------------------------------------------------------------------------
40 | |
41 | | This option allows you to easily specify that all of your session data
42 | | should be encrypted before it is stored. All encryption will be run
43 | | automatically by Laravel and you can use the Session like normal.
44 | |
45 | */
46 |
47 | 'encrypt' => false,
48 |
49 | /*
50 | |--------------------------------------------------------------------------
51 | | Session File Location
52 | |--------------------------------------------------------------------------
53 | |
54 | | When using the native session driver, we need a location where session
55 | | files may be stored. A default has been set for you but a different
56 | | location may be specified. This is only needed for file sessions.
57 | |
58 | */
59 |
60 | 'files' => storage_path('framework/sessions'),
61 |
62 | /*
63 | |--------------------------------------------------------------------------
64 | | Session Database Connection
65 | |--------------------------------------------------------------------------
66 | |
67 | | When using the "database" or "redis" session drivers, you may specify a
68 | | connection that should be used to manage these sessions. This should
69 | | correspond to a connection in your database configuration options.
70 | |
71 | */
72 |
73 | 'connection' => null,
74 |
75 | /*
76 | |--------------------------------------------------------------------------
77 | | Session Database Table
78 | |--------------------------------------------------------------------------
79 | |
80 | | When using the "database" session driver, you may specify the table we
81 | | should use to manage the sessions. Of course, a sensible default is
82 | | provided for you; however, you are free to change this as needed.
83 | |
84 | */
85 |
86 | 'table' => 'sessions',
87 |
88 | /*
89 | |--------------------------------------------------------------------------
90 | | Session Sweeping Lottery
91 | |--------------------------------------------------------------------------
92 | |
93 | | Some session drivers must manually sweep their storage location to get
94 | | rid of old sessions from storage. Here are the chances that it will
95 | | happen on a given request. By default, the odds are 2 out of 100.
96 | |
97 | */
98 |
99 | 'lottery' => [2, 100],
100 |
101 | /*
102 | |--------------------------------------------------------------------------
103 | | Session Cookie Name
104 | |--------------------------------------------------------------------------
105 | |
106 | | Here you may change the name of the cookie used to identify a session
107 | | instance by ID. The name specified here will get used every time a
108 | | new session cookie is created by the framework for every driver.
109 | |
110 | */
111 |
112 | 'cookie' => 'laravel_session',
113 |
114 | /*
115 | |--------------------------------------------------------------------------
116 | | Session Cookie Path
117 | |--------------------------------------------------------------------------
118 | |
119 | | The session cookie path determines the path for which the cookie will
120 | | be regarded as available. Typically, this will be the root path of
121 | | your application but you are free to change this when necessary.
122 | |
123 | */
124 |
125 | 'path' => '/',
126 |
127 | /*
128 | |--------------------------------------------------------------------------
129 | | Session Cookie Domain
130 | |--------------------------------------------------------------------------
131 | |
132 | | Here you may change the domain of the cookie used to identify a session
133 | | in your application. This will determine which domains the cookie is
134 | | available to in your application. A sensible default has been set.
135 | |
136 | */
137 |
138 | 'domain' => null,
139 |
140 | /*
141 | |--------------------------------------------------------------------------
142 | | HTTPS Only Cookies
143 | |--------------------------------------------------------------------------
144 | |
145 | | By setting this option to true, session cookies will only be sent back
146 | | to the server if the browser has a HTTPS connection. This will keep
147 | | the cookie from being sent to you if it can not be done securely.
148 | |
149 | */
150 |
151 | 'secure' => false,
152 |
153 | ];
154 |
--------------------------------------------------------------------------------
/resources/lang/en/validation.php:
--------------------------------------------------------------------------------
1 | 'The :attribute must be accepted.',
17 | 'active_url' => 'The :attribute is not a valid URL.',
18 | 'after' => 'The :attribute must be a date after :date.',
19 | 'alpha' => 'The :attribute may only contain letters.',
20 | 'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.',
21 | 'alpha_num' => 'The :attribute may only contain letters and numbers.',
22 | 'array' => 'The :attribute must be an array.',
23 | 'before' => 'The :attribute must be a date before :date.',
24 | 'between' => [
25 | 'numeric' => 'The :attribute must be between :min and :max.',
26 | 'file' => 'The :attribute must be between :min and :max kilobytes.',
27 | 'string' => 'The :attribute must be between :min and :max characters.',
28 | 'array' => 'The :attribute must have between :min and :max items.',
29 | ],
30 | 'boolean' => 'The :attribute field must be true or false.',
31 | 'confirmed' => 'The :attribute confirmation does not match.',
32 | 'date' => 'The :attribute is not a valid date.',
33 | 'date_format' => 'The :attribute does not match the format :format.',
34 | 'different' => 'The :attribute and :other must be different.',
35 | 'digits' => 'The :attribute must be :digits digits.',
36 | 'digits_between' => 'The :attribute must be between :min and :max digits.',
37 | 'email' => 'The :attribute must be a valid email address.',
38 | 'exists' => 'The selected :attribute is invalid.',
39 | 'filled' => 'The :attribute field is required.',
40 | 'image' => 'The :attribute must be an image.',
41 | 'in' => 'The selected :attribute is invalid.',
42 | 'integer' => 'The :attribute must be an integer.',
43 | 'ip' => 'The :attribute must be a valid IP address.',
44 | 'json' => 'The :attribute must be a valid JSON string.',
45 | 'max' => [
46 | 'numeric' => 'The :attribute may not be greater than :max.',
47 | 'file' => 'The :attribute may not be greater than :max kilobytes.',
48 | 'string' => 'The :attribute may not be greater than :max characters.',
49 | 'array' => 'The :attribute may not have more than :max items.',
50 | ],
51 | 'mimes' => 'The :attribute must be a file of type: :values.',
52 | 'min' => [
53 | 'numeric' => 'The :attribute must be at least :min.',
54 | 'file' => 'The :attribute must be at least :min kilobytes.',
55 | 'string' => 'The :attribute must be at least :min characters.',
56 | 'array' => 'The :attribute must have at least :min items.',
57 | ],
58 | 'not_in' => 'The selected :attribute is invalid.',
59 | 'numeric' => 'The :attribute must be a number.',
60 | 'regex' => 'The :attribute format is invalid.',
61 | 'required' => 'The :attribute field is required.',
62 | 'required_if' => 'The :attribute field is required when :other is :value.',
63 | 'required_with' => 'The :attribute field is required when :values is present.',
64 | 'required_with_all' => 'The :attribute field is required when :values is present.',
65 | 'required_without' => 'The :attribute field is required when :values is not present.',
66 | 'required_without_all' => 'The :attribute field is required when none of :values are present.',
67 | 'same' => 'The :attribute and :other must match.',
68 | 'size' => [
69 | 'numeric' => 'The :attribute must be :size.',
70 | 'file' => 'The :attribute must be :size kilobytes.',
71 | 'string' => 'The :attribute must be :size characters.',
72 | 'array' => 'The :attribute must contain :size items.',
73 | ],
74 | 'string' => 'The :attribute must be a string.',
75 | 'timezone' => 'The :attribute must be a valid zone.',
76 | 'unique' => 'The :attribute has already been taken.',
77 | 'url' => 'The :attribute format is invalid.',
78 |
79 | /*
80 | |--------------------------------------------------------------------------
81 | | Custom Validation Language Lines
82 | |--------------------------------------------------------------------------
83 | |
84 | | Here you may specify custom validation messages for attributes using the
85 | | convention "attribute.rule" to name the lines. This makes it quick to
86 | | specify a specific custom language line for a given attribute rule.
87 | |
88 | */
89 |
90 | 'custom' => [
91 | 'attribute-name' => [
92 | 'rule-name' => 'custom-message',
93 | ],
94 | ],
95 |
96 | /*
97 | |--------------------------------------------------------------------------
98 | | Custom Validation Attributes
99 | |--------------------------------------------------------------------------
100 | |
101 | | The following language lines are used to swap attribute place-holders
102 | | with something more reader friendly such as E-Mail Address instead
103 | | of "email". This simply helps us make messages a little cleaner.
104 | |
105 | */
106 |
107 | 'attributes' => [],
108 |
109 | ];
110 |
--------------------------------------------------------------------------------
/config/app.php:
--------------------------------------------------------------------------------
1 | env('APP_DEBUG', false),
17 |
18 | /*
19 | |--------------------------------------------------------------------------
20 | | Application URL
21 | |--------------------------------------------------------------------------
22 | |
23 | | This URL is used by the console to properly generate URLs when using
24 | | the Artisan command line tool. You should set this to the root of
25 | | your application so that it is used when running Artisan tasks.
26 | |
27 | */
28 |
29 | 'url' => 'http://localhost',
30 |
31 | /*
32 | |--------------------------------------------------------------------------
33 | | Application Timezone
34 | |--------------------------------------------------------------------------
35 | |
36 | | Here you may specify the default timezone for your application, which
37 | | will be used by the PHP date and date-time functions. We have gone
38 | | ahead and set this to a sensible default for you out of the box.
39 | |
40 | */
41 |
42 | 'timezone' => 'UTC',
43 |
44 | /*
45 | |--------------------------------------------------------------------------
46 | | Application Locale Configuration
47 | |--------------------------------------------------------------------------
48 | |
49 | | The application locale determines the default locale that will be used
50 | | by the translation service provider. You are free to set this value
51 | | to any of the locales which will be supported by the application.
52 | |
53 | */
54 |
55 | 'locale' => 'en',
56 |
57 | /*
58 | |--------------------------------------------------------------------------
59 | | Application Fallback Locale
60 | |--------------------------------------------------------------------------
61 | |
62 | | The fallback locale determines the locale to use when the current one
63 | | is not available. You may change the value to correspond to any of
64 | | the language folders that are provided through your application.
65 | |
66 | */
67 |
68 | 'fallback_locale' => 'en',
69 |
70 | /*
71 | |--------------------------------------------------------------------------
72 | | Encryption Key
73 | |--------------------------------------------------------------------------
74 | |
75 | | This key is used by the Illuminate encrypter service and should be set
76 | | to a random, 32 character string, otherwise these encrypted strings
77 | | will not be safe. Please do this before deploying an application!
78 | |
79 | */
80 |
81 | 'key' => env('APP_KEY', 'SomeRandomString'),
82 |
83 | 'cipher' => 'AES-256-CBC',
84 |
85 | /*
86 | |--------------------------------------------------------------------------
87 | | Logging Configuration
88 | |--------------------------------------------------------------------------
89 | |
90 | | Here you may configure the log settings for your application. Out of
91 | | the box, Laravel uses the Monolog PHP logging library. This gives
92 | | you a variety of powerful log handlers / formatters to utilize.
93 | |
94 | | Available Settings: "single", "daily", "syslog", "errorlog"
95 | |
96 | */
97 |
98 | 'log' => 'single',
99 |
100 | /*
101 | |--------------------------------------------------------------------------
102 | | Autoloaded Service Providers
103 | |--------------------------------------------------------------------------
104 | |
105 | | The service providers listed here will be automatically loaded on the
106 | | request to your application. Feel free to add your own services to
107 | | this array to grant expanded functionality to your applications.
108 | |
109 | */
110 |
111 | 'providers' => [
112 |
113 | /*
114 | * Laravel Framework Service Providers...
115 | */
116 | Illuminate\Foundation\Providers\ArtisanServiceProvider::class,
117 | Illuminate\Auth\AuthServiceProvider::class,
118 | Illuminate\Broadcasting\BroadcastServiceProvider::class,
119 | Illuminate\Bus\BusServiceProvider::class,
120 | Illuminate\Cache\CacheServiceProvider::class,
121 | Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
122 | Illuminate\Routing\ControllerServiceProvider::class,
123 | Illuminate\Cookie\CookieServiceProvider::class,
124 | Illuminate\Database\DatabaseServiceProvider::class,
125 | Illuminate\Encryption\EncryptionServiceProvider::class,
126 | Illuminate\Filesystem\FilesystemServiceProvider::class,
127 | Illuminate\Foundation\Providers\FoundationServiceProvider::class,
128 | Illuminate\Hashing\HashServiceProvider::class,
129 | Illuminate\Mail\MailServiceProvider::class,
130 | Illuminate\Pagination\PaginationServiceProvider::class,
131 | Illuminate\Pipeline\PipelineServiceProvider::class,
132 | Illuminate\Queue\QueueServiceProvider::class,
133 | Illuminate\Redis\RedisServiceProvider::class,
134 | Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
135 | Illuminate\Session\SessionServiceProvider::class,
136 | Illuminate\Translation\TranslationServiceProvider::class,
137 | Illuminate\Validation\ValidationServiceProvider::class,
138 | Illuminate\View\ViewServiceProvider::class,
139 |
140 | /*
141 | * Application Service Providers...
142 | */
143 | App\Providers\AppServiceProvider::class,
144 | App\Providers\AuthServiceProvider::class,
145 | App\Providers\EventServiceProvider::class,
146 | App\Providers\RouteServiceProvider::class,
147 |
148 | ],
149 |
150 | /*
151 | |--------------------------------------------------------------------------
152 | | Class Aliases
153 | |--------------------------------------------------------------------------
154 | |
155 | | This array of class aliases will be registered when this application
156 | | is started. However, feel free to register as many as you wish as
157 | | the aliases are "lazy" loaded so they don't hinder performance.
158 | |
159 | */
160 |
161 | 'aliases' => [
162 |
163 | 'App' => Illuminate\Support\Facades\App::class,
164 | 'Artisan' => Illuminate\Support\Facades\Artisan::class,
165 | 'Auth' => Illuminate\Support\Facades\Auth::class,
166 | 'Blade' => Illuminate\Support\Facades\Blade::class,
167 | 'Bus' => Illuminate\Support\Facades\Bus::class,
168 | 'Cache' => Illuminate\Support\Facades\Cache::class,
169 | 'Config' => Illuminate\Support\Facades\Config::class,
170 | 'Cookie' => Illuminate\Support\Facades\Cookie::class,
171 | 'Crypt' => Illuminate\Support\Facades\Crypt::class,
172 | 'DB' => Illuminate\Support\Facades\DB::class,
173 | 'Eloquent' => Illuminate\Database\Eloquent\Model::class,
174 | 'Event' => Illuminate\Support\Facades\Event::class,
175 | 'File' => Illuminate\Support\Facades\File::class,
176 | 'Gate' => Illuminate\Support\Facades\Gate::class,
177 | 'Hash' => Illuminate\Support\Facades\Hash::class,
178 | 'Input' => Illuminate\Support\Facades\Input::class,
179 | 'Inspiring' => Illuminate\Foundation\Inspiring::class,
180 | 'Lang' => Illuminate\Support\Facades\Lang::class,
181 | 'Log' => Illuminate\Support\Facades\Log::class,
182 | 'Mail' => Illuminate\Support\Facades\Mail::class,
183 | 'Password' => Illuminate\Support\Facades\Password::class,
184 | 'Queue' => Illuminate\Support\Facades\Queue::class,
185 | 'Redirect' => Illuminate\Support\Facades\Redirect::class,
186 | 'Redis' => Illuminate\Support\Facades\Redis::class,
187 | 'Request' => Illuminate\Support\Facades\Request::class,
188 | 'Response' => Illuminate\Support\Facades\Response::class,
189 | 'Route' => Illuminate\Support\Facades\Route::class,
190 | 'Schema' => Illuminate\Support\Facades\Schema::class,
191 | 'Session' => Illuminate\Support\Facades\Session::class,
192 | 'Storage' => Illuminate\Support\Facades\Storage::class,
193 | 'URL' => Illuminate\Support\Facades\URL::class,
194 | 'Validator' => Illuminate\Support\Facades\Validator::class,
195 | 'View' => Illuminate\Support\Facades\View::class,
196 |
197 | ],
198 |
199 | ];
200 |
--------------------------------------------------------------------------------
/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": "4d056dd944177d33492a2bc1779c2288",
8 | "packages": [
9 | {
10 | "name": "classpreloader/classpreloader",
11 | "version": "3.2.1",
12 | "source": {
13 | "type": "git",
14 | "url": "https://github.com/ClassPreloader/ClassPreloader.git",
15 | "reference": "297db07cabece3946f4a98d23f11f90aa10e1797"
16 | },
17 | "dist": {
18 | "type": "zip",
19 | "url": "https://api.github.com/repos/ClassPreloader/ClassPreloader/zipball/297db07cabece3946f4a98d23f11f90aa10e1797",
20 | "reference": "297db07cabece3946f4a98d23f11f90aa10e1797",
21 | "shasum": ""
22 | },
23 | "require": {
24 | "nikic/php-parser": "^1.0|^2.0|^3.0",
25 | "php": ">=5.5.9"
26 | },
27 | "require-dev": {
28 | "phpunit/phpunit": "^4.8|^5.0"
29 | },
30 | "type": "library",
31 | "extra": {
32 | "branch-alias": {
33 | "dev-master": "3.2-dev"
34 | }
35 | },
36 | "autoload": {
37 | "psr-4": {
38 | "ClassPreloader\\": "src/"
39 | }
40 | },
41 | "notification-url": "https://packagist.org/downloads/",
42 | "license": [
43 | "MIT"
44 | ],
45 | "authors": [
46 | {
47 | "name": "Michael Dowling",
48 | "email": "mtdowling@gmail.com"
49 | },
50 | {
51 | "name": "Graham Campbell",
52 | "email": "graham@alt-three.com"
53 | }
54 | ],
55 | "description": "Helps class loading performance by generating a single PHP file containing all of the autoloaded files for a specific use case",
56 | "keywords": [
57 | "autoload",
58 | "class",
59 | "preload"
60 | ],
61 | "support": {
62 | "issues": "https://github.com/ClassPreloader/ClassPreloader/issues",
63 | "source": "https://github.com/ClassPreloader/ClassPreloader/tree/3.2"
64 | },
65 | "funding": [
66 | {
67 | "url": "https://tidelift.com/funding/github/packagist/classpreloader/classpreloader",
68 | "type": "tidelift"
69 | }
70 | ],
71 | "time": "2020-04-12T22:01:25+00:00"
72 | },
73 | {
74 | "name": "danielstjules/stringy",
75 | "version": "1.10.0",
76 | "source": {
77 | "type": "git",
78 | "url": "https://github.com/danielstjules/Stringy.git",
79 | "reference": "4749c205db47ee5b32e8d1adf6d9aff8db6caf3b"
80 | },
81 | "dist": {
82 | "type": "zip",
83 | "url": "https://api.github.com/repos/danielstjules/Stringy/zipball/4749c205db47ee5b32e8d1adf6d9aff8db6caf3b",
84 | "reference": "4749c205db47ee5b32e8d1adf6d9aff8db6caf3b",
85 | "shasum": ""
86 | },
87 | "require": {
88 | "ext-mbstring": "*",
89 | "php": ">=5.3.0"
90 | },
91 | "require-dev": {
92 | "phpunit/phpunit": "~4.0"
93 | },
94 | "type": "library",
95 | "autoload": {
96 | "psr-4": {
97 | "Stringy\\": "src/"
98 | },
99 | "files": [
100 | "src/Create.php"
101 | ]
102 | },
103 | "notification-url": "https://packagist.org/downloads/",
104 | "license": [
105 | "MIT"
106 | ],
107 | "authors": [
108 | {
109 | "name": "Daniel St. Jules",
110 | "email": "danielst.jules@gmail.com",
111 | "homepage": "http://www.danielstjules.com"
112 | }
113 | ],
114 | "description": "A string manipulation library with multibyte support",
115 | "homepage": "https://github.com/danielstjules/Stringy",
116 | "keywords": [
117 | "UTF",
118 | "helpers",
119 | "manipulation",
120 | "methods",
121 | "multibyte",
122 | "string",
123 | "utf-8",
124 | "utility",
125 | "utils"
126 | ],
127 | "time": "2015-07-23T00:54:12+00:00"
128 | },
129 | {
130 | "name": "dnoegel/php-xdg-base-dir",
131 | "version": "0.1",
132 | "source": {
133 | "type": "git",
134 | "url": "https://github.com/dnoegel/php-xdg-base-dir.git",
135 | "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a"
136 | },
137 | "dist": {
138 | "type": "zip",
139 | "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a",
140 | "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a",
141 | "shasum": ""
142 | },
143 | "require": {
144 | "php": ">=5.3.2"
145 | },
146 | "require-dev": {
147 | "phpunit/phpunit": "@stable"
148 | },
149 | "type": "project",
150 | "autoload": {
151 | "psr-4": {
152 | "XdgBaseDir\\": "src/"
153 | }
154 | },
155 | "notification-url": "https://packagist.org/downloads/",
156 | "license": [
157 | "MIT"
158 | ],
159 | "description": "implementation of xdg base directory specification for php",
160 | "time": "2014-10-24T07:27:01+00:00"
161 | },
162 | {
163 | "name": "doctrine/inflector",
164 | "version": "1.4.4",
165 | "source": {
166 | "type": "git",
167 | "url": "https://github.com/doctrine/inflector.git",
168 | "reference": "4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9"
169 | },
170 | "dist": {
171 | "type": "zip",
172 | "url": "https://api.github.com/repos/doctrine/inflector/zipball/4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9",
173 | "reference": "4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9",
174 | "shasum": ""
175 | },
176 | "require": {
177 | "php": "^7.1 || ^8.0"
178 | },
179 | "require-dev": {
180 | "doctrine/coding-standard": "^8.0",
181 | "phpstan/phpstan": "^0.12",
182 | "phpstan/phpstan-phpunit": "^0.12",
183 | "phpstan/phpstan-strict-rules": "^0.12",
184 | "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
185 | },
186 | "type": "library",
187 | "extra": {
188 | "branch-alias": {
189 | "dev-master": "2.0.x-dev"
190 | }
191 | },
192 | "autoload": {
193 | "psr-4": {
194 | "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector",
195 | "Doctrine\\Inflector\\": "lib/Doctrine/Inflector"
196 | }
197 | },
198 | "notification-url": "https://packagist.org/downloads/",
199 | "license": [
200 | "MIT"
201 | ],
202 | "authors": [
203 | {
204 | "name": "Guilherme Blanco",
205 | "email": "guilhermeblanco@gmail.com"
206 | },
207 | {
208 | "name": "Roman Borschel",
209 | "email": "roman@code-factory.org"
210 | },
211 | {
212 | "name": "Benjamin Eberlei",
213 | "email": "kontakt@beberlei.de"
214 | },
215 | {
216 | "name": "Jonathan Wage",
217 | "email": "jonwage@gmail.com"
218 | },
219 | {
220 | "name": "Johannes Schmitt",
221 | "email": "schmittjoh@gmail.com"
222 | }
223 | ],
224 | "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.",
225 | "homepage": "https://www.doctrine-project.org/projects/inflector.html",
226 | "keywords": [
227 | "inflection",
228 | "inflector",
229 | "lowercase",
230 | "manipulation",
231 | "php",
232 | "plural",
233 | "singular",
234 | "strings",
235 | "uppercase",
236 | "words"
237 | ],
238 | "support": {
239 | "issues": "https://github.com/doctrine/inflector/issues",
240 | "source": "https://github.com/doctrine/inflector/tree/1.4.4"
241 | },
242 | "funding": [
243 | {
244 | "url": "https://www.doctrine-project.org/sponsorship.html",
245 | "type": "custom"
246 | },
247 | {
248 | "url": "https://www.patreon.com/phpdoctrine",
249 | "type": "patreon"
250 | },
251 | {
252 | "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector",
253 | "type": "tidelift"
254 | }
255 | ],
256 | "time": "2021-04-16T17:34:40+00:00"
257 | },
258 | {
259 | "name": "jakub-onderka/php-console-color",
260 | "version": "v0.2",
261 | "source": {
262 | "type": "git",
263 | "url": "https://github.com/JakubOnderka/PHP-Console-Color.git",
264 | "reference": "d5deaecff52a0d61ccb613bb3804088da0307191"
265 | },
266 | "dist": {
267 | "type": "zip",
268 | "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/d5deaecff52a0d61ccb613bb3804088da0307191",
269 | "reference": "d5deaecff52a0d61ccb613bb3804088da0307191",
270 | "shasum": ""
271 | },
272 | "require": {
273 | "php": ">=5.4.0"
274 | },
275 | "require-dev": {
276 | "jakub-onderka/php-code-style": "1.0",
277 | "jakub-onderka/php-parallel-lint": "1.0",
278 | "jakub-onderka/php-var-dump-check": "0.*",
279 | "phpunit/phpunit": "~4.3",
280 | "squizlabs/php_codesniffer": "1.*"
281 | },
282 | "type": "library",
283 | "autoload": {
284 | "psr-4": {
285 | "JakubOnderka\\PhpConsoleColor\\": "src/"
286 | }
287 | },
288 | "notification-url": "https://packagist.org/downloads/",
289 | "license": [
290 | "BSD-2-Clause"
291 | ],
292 | "authors": [
293 | {
294 | "name": "Jakub Onderka",
295 | "email": "jakub.onderka@gmail.com"
296 | }
297 | ],
298 | "support": {
299 | "issues": "https://github.com/JakubOnderka/PHP-Console-Color/issues",
300 | "source": "https://github.com/JakubOnderka/PHP-Console-Color/tree/master"
301 | },
302 | "abandoned": "php-parallel-lint/php-console-color",
303 | "time": "2018-09-29T17:23:10+00:00"
304 | },
305 | {
306 | "name": "jakub-onderka/php-console-highlighter",
307 | "version": "v0.3.2",
308 | "source": {
309 | "type": "git",
310 | "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git",
311 | "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5"
312 | },
313 | "dist": {
314 | "type": "zip",
315 | "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/7daa75df45242c8d5b75a22c00a201e7954e4fb5",
316 | "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5",
317 | "shasum": ""
318 | },
319 | "require": {
320 | "jakub-onderka/php-console-color": "~0.1",
321 | "php": ">=5.3.0"
322 | },
323 | "require-dev": {
324 | "jakub-onderka/php-code-style": "~1.0",
325 | "jakub-onderka/php-parallel-lint": "~0.5",
326 | "jakub-onderka/php-var-dump-check": "~0.1",
327 | "phpunit/phpunit": "~4.0",
328 | "squizlabs/php_codesniffer": "~1.5"
329 | },
330 | "type": "library",
331 | "autoload": {
332 | "psr-0": {
333 | "JakubOnderka\\PhpConsoleHighlighter": "src/"
334 | }
335 | },
336 | "notification-url": "https://packagist.org/downloads/",
337 | "license": [
338 | "MIT"
339 | ],
340 | "authors": [
341 | {
342 | "name": "Jakub Onderka",
343 | "email": "acci@acci.cz",
344 | "homepage": "http://www.acci.cz/"
345 | }
346 | ],
347 | "abandoned": "php-parallel-lint/php-console-highlighter",
348 | "time": "2015-04-20T18:58:01+00:00"
349 | },
350 | {
351 | "name": "jeremeamia/superclosure",
352 | "version": "2.4.0",
353 | "source": {
354 | "type": "git",
355 | "url": "https://github.com/jeremeamia/super_closure.git",
356 | "reference": "5707d5821b30b9a07acfb4d76949784aaa0e9ce9"
357 | },
358 | "dist": {
359 | "type": "zip",
360 | "url": "https://api.github.com/repos/jeremeamia/super_closure/zipball/5707d5821b30b9a07acfb4d76949784aaa0e9ce9",
361 | "reference": "5707d5821b30b9a07acfb4d76949784aaa0e9ce9",
362 | "shasum": ""
363 | },
364 | "require": {
365 | "nikic/php-parser": "^1.2|^2.0|^3.0|^4.0",
366 | "php": ">=5.4",
367 | "symfony/polyfill-php56": "^1.0"
368 | },
369 | "require-dev": {
370 | "phpunit/phpunit": "^4.0|^5.0"
371 | },
372 | "type": "library",
373 | "extra": {
374 | "branch-alias": {
375 | "dev-master": "2.4-dev"
376 | }
377 | },
378 | "autoload": {
379 | "psr-4": {
380 | "SuperClosure\\": "src/"
381 | }
382 | },
383 | "notification-url": "https://packagist.org/downloads/",
384 | "license": [
385 | "MIT"
386 | ],
387 | "authors": [
388 | {
389 | "name": "Jeremy Lindblom",
390 | "email": "jeremeamia@gmail.com",
391 | "homepage": "https://github.com/jeremeamia",
392 | "role": "Developer"
393 | }
394 | ],
395 | "description": "Serialize Closure objects, including their context and binding",
396 | "homepage": "https://github.com/jeremeamia/super_closure",
397 | "keywords": [
398 | "closure",
399 | "function",
400 | "lambda",
401 | "parser",
402 | "serializable",
403 | "serialize",
404 | "tokenizer"
405 | ],
406 | "support": {
407 | "issues": "https://github.com/jeremeamia/super_closure/issues",
408 | "source": "https://github.com/jeremeamia/super_closure/tree/master"
409 | },
410 | "abandoned": "opis/closure",
411 | "time": "2018-03-21T22:21:57+00:00"
412 | },
413 | {
414 | "name": "kylekatarnls/update-helper",
415 | "version": "1.2.1",
416 | "source": {
417 | "type": "git",
418 | "url": "https://github.com/kylekatarnls/update-helper.git",
419 | "reference": "429be50660ed8a196e0798e5939760f168ec8ce9"
420 | },
421 | "dist": {
422 | "type": "zip",
423 | "url": "https://api.github.com/repos/kylekatarnls/update-helper/zipball/429be50660ed8a196e0798e5939760f168ec8ce9",
424 | "reference": "429be50660ed8a196e0798e5939760f168ec8ce9",
425 | "shasum": ""
426 | },
427 | "require": {
428 | "composer-plugin-api": "^1.1.0 || ^2.0.0",
429 | "php": ">=5.3.0"
430 | },
431 | "require-dev": {
432 | "codeclimate/php-test-reporter": "dev-master",
433 | "composer/composer": "2.0.x-dev || ^2.0.0-dev",
434 | "phpunit/phpunit": ">=4.8.35 <6.0"
435 | },
436 | "type": "composer-plugin",
437 | "extra": {
438 | "class": "UpdateHelper\\ComposerPlugin"
439 | },
440 | "autoload": {
441 | "psr-0": {
442 | "UpdateHelper\\": "src/"
443 | }
444 | },
445 | "notification-url": "https://packagist.org/downloads/",
446 | "license": [
447 | "MIT"
448 | ],
449 | "authors": [
450 | {
451 | "name": "Kyle",
452 | "email": "kylekatarnls@gmail.com"
453 | }
454 | ],
455 | "description": "Update helper",
456 | "support": {
457 | "issues": "https://github.com/kylekatarnls/update-helper/issues",
458 | "source": "https://github.com/kylekatarnls/update-helper/tree/1.2.1"
459 | },
460 | "funding": [
461 | {
462 | "url": "https://github.com/kylekatarnls",
463 | "type": "github"
464 | },
465 | {
466 | "url": "https://opencollective.com/Carbon",
467 | "type": "open_collective"
468 | },
469 | {
470 | "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon",
471 | "type": "tidelift"
472 | }
473 | ],
474 | "time": "2020-04-07T20:44:10+00:00"
475 | },
476 | {
477 | "name": "laravel/framework",
478 | "version": "v5.1.46",
479 | "source": {
480 | "type": "git",
481 | "url": "https://github.com/laravel/framework.git",
482 | "reference": "7f2f892e62163138121e8210b92b21394fda8d1c"
483 | },
484 | "dist": {
485 | "type": "zip",
486 | "url": "https://api.github.com/repos/laravel/framework/zipball/7f2f892e62163138121e8210b92b21394fda8d1c",
487 | "reference": "7f2f892e62163138121e8210b92b21394fda8d1c",
488 | "shasum": ""
489 | },
490 | "require": {
491 | "classpreloader/classpreloader": "~2.0|~3.0",
492 | "danielstjules/stringy": "~1.8",
493 | "doctrine/inflector": "~1.0",
494 | "ext-mbstring": "*",
495 | "ext-openssl": "*",
496 | "jeremeamia/superclosure": "~2.0",
497 | "league/flysystem": "~1.0",
498 | "monolog/monolog": "~1.11",
499 | "mtdowling/cron-expression": "~1.0",
500 | "nesbot/carbon": "~1.19",
501 | "paragonie/random_compat": "~1.4",
502 | "php": ">=5.5.9",
503 | "psy/psysh": "0.7.*",
504 | "swiftmailer/swiftmailer": "~5.1",
505 | "symfony/console": "2.7.*",
506 | "symfony/css-selector": "2.7.*|2.8.*",
507 | "symfony/debug": "2.7.*",
508 | "symfony/dom-crawler": "2.7.*",
509 | "symfony/finder": "2.7.*",
510 | "symfony/http-foundation": "2.7.*",
511 | "symfony/http-kernel": "2.7.*",
512 | "symfony/process": "2.7.*",
513 | "symfony/routing": "2.7.*",
514 | "symfony/translation": "2.7.*",
515 | "symfony/var-dumper": "2.7.*",
516 | "vlucas/phpdotenv": "~1.0"
517 | },
518 | "replace": {
519 | "illuminate/auth": "self.version",
520 | "illuminate/broadcasting": "self.version",
521 | "illuminate/bus": "self.version",
522 | "illuminate/cache": "self.version",
523 | "illuminate/config": "self.version",
524 | "illuminate/console": "self.version",
525 | "illuminate/container": "self.version",
526 | "illuminate/contracts": "self.version",
527 | "illuminate/cookie": "self.version",
528 | "illuminate/database": "self.version",
529 | "illuminate/encryption": "self.version",
530 | "illuminate/events": "self.version",
531 | "illuminate/exception": "self.version",
532 | "illuminate/filesystem": "self.version",
533 | "illuminate/hashing": "self.version",
534 | "illuminate/http": "self.version",
535 | "illuminate/log": "self.version",
536 | "illuminate/mail": "self.version",
537 | "illuminate/pagination": "self.version",
538 | "illuminate/pipeline": "self.version",
539 | "illuminate/queue": "self.version",
540 | "illuminate/redis": "self.version",
541 | "illuminate/routing": "self.version",
542 | "illuminate/session": "self.version",
543 | "illuminate/support": "self.version",
544 | "illuminate/translation": "self.version",
545 | "illuminate/validation": "self.version",
546 | "illuminate/view": "self.version"
547 | },
548 | "require-dev": {
549 | "aws/aws-sdk-php": "~3.0",
550 | "iron-io/iron_mq": "~2.0",
551 | "mockery/mockery": "~0.9.4",
552 | "pda/pheanstalk": "~3.0",
553 | "phpunit/phpunit": "~4.0",
554 | "predis/predis": "~1.0"
555 | },
556 | "suggest": {
557 | "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (~3.0).",
558 | "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.4).",
559 | "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).",
560 | "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~5.3|~6.0).",
561 | "iron-io/iron_mq": "Required to use the iron queue driver (~2.0).",
562 | "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (~1.0).",
563 | "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0).",
564 | "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).",
565 | "predis/predis": "Required to use the redis cache and queue drivers (~1.0).",
566 | "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~2.0).",
567 | "symfony/psr-http-message-bridge": "Required to psr7 bridging features (0.2.*)."
568 | },
569 | "type": "library",
570 | "extra": {
571 | "branch-alias": {
572 | "dev-master": "5.1-dev"
573 | }
574 | },
575 | "autoload": {
576 | "classmap": [
577 | "src/Illuminate/Queue/IlluminateQueueClosure.php"
578 | ],
579 | "files": [
580 | "src/Illuminate/Foundation/helpers.php",
581 | "src/Illuminate/Support/helpers.php"
582 | ],
583 | "psr-4": {
584 | "Illuminate\\": "src/Illuminate/"
585 | }
586 | },
587 | "notification-url": "https://packagist.org/downloads/",
588 | "license": [
589 | "MIT"
590 | ],
591 | "authors": [
592 | {
593 | "name": "Taylor Otwell",
594 | "email": "taylorotwell@gmail.com"
595 | }
596 | ],
597 | "description": "The Laravel Framework.",
598 | "homepage": "http://laravel.com",
599 | "keywords": [
600 | "framework",
601 | "laravel"
602 | ],
603 | "support": {
604 | "issues": "https://github.com/laravel/framework/issues",
605 | "source": "https://github.com/laravel/framework"
606 | },
607 | "time": "2017-03-24T16:31:45+00:00"
608 | },
609 | {
610 | "name": "league/flysystem",
611 | "version": "1.1.9",
612 | "source": {
613 | "type": "git",
614 | "url": "https://github.com/thephpleague/flysystem.git",
615 | "reference": "094defdb4a7001845300334e7c1ee2335925ef99"
616 | },
617 | "dist": {
618 | "type": "zip",
619 | "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/094defdb4a7001845300334e7c1ee2335925ef99",
620 | "reference": "094defdb4a7001845300334e7c1ee2335925ef99",
621 | "shasum": ""
622 | },
623 | "require": {
624 | "ext-fileinfo": "*",
625 | "league/mime-type-detection": "^1.3",
626 | "php": "^7.2.5 || ^8.0"
627 | },
628 | "conflict": {
629 | "league/flysystem-sftp": "<1.0.6"
630 | },
631 | "require-dev": {
632 | "phpspec/prophecy": "^1.11.1",
633 | "phpunit/phpunit": "^8.5.8"
634 | },
635 | "suggest": {
636 | "ext-ftp": "Allows you to use FTP server storage",
637 | "ext-openssl": "Allows you to use FTPS server storage",
638 | "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2",
639 | "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3",
640 | "league/flysystem-azure": "Allows you to use Windows Azure Blob storage",
641 | "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching",
642 | "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem",
643 | "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files",
644 | "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib",
645 | "league/flysystem-webdav": "Allows you to use WebDAV storage",
646 | "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter",
647 | "spatie/flysystem-dropbox": "Allows you to use Dropbox storage",
648 | "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications"
649 | },
650 | "type": "library",
651 | "extra": {
652 | "branch-alias": {
653 | "dev-master": "1.1-dev"
654 | }
655 | },
656 | "autoload": {
657 | "psr-4": {
658 | "League\\Flysystem\\": "src/"
659 | }
660 | },
661 | "notification-url": "https://packagist.org/downloads/",
662 | "license": [
663 | "MIT"
664 | ],
665 | "authors": [
666 | {
667 | "name": "Frank de Jonge",
668 | "email": "info@frenky.net"
669 | }
670 | ],
671 | "description": "Filesystem abstraction: Many filesystems, one API.",
672 | "keywords": [
673 | "Cloud Files",
674 | "WebDAV",
675 | "abstraction",
676 | "aws",
677 | "cloud",
678 | "copy.com",
679 | "dropbox",
680 | "file systems",
681 | "files",
682 | "filesystem",
683 | "filesystems",
684 | "ftp",
685 | "rackspace",
686 | "remote",
687 | "s3",
688 | "sftp",
689 | "storage"
690 | ],
691 | "support": {
692 | "issues": "https://github.com/thephpleague/flysystem/issues",
693 | "source": "https://github.com/thephpleague/flysystem/tree/1.1.9"
694 | },
695 | "funding": [
696 | {
697 | "url": "https://offset.earth/frankdejonge",
698 | "type": "other"
699 | }
700 | ],
701 | "time": "2021-12-09T09:40:50+00:00"
702 | },
703 | {
704 | "name": "league/mime-type-detection",
705 | "version": "1.9.0",
706 | "source": {
707 | "type": "git",
708 | "url": "https://github.com/thephpleague/mime-type-detection.git",
709 | "reference": "aa70e813a6ad3d1558fc927863d47309b4c23e69"
710 | },
711 | "dist": {
712 | "type": "zip",
713 | "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/aa70e813a6ad3d1558fc927863d47309b4c23e69",
714 | "reference": "aa70e813a6ad3d1558fc927863d47309b4c23e69",
715 | "shasum": ""
716 | },
717 | "require": {
718 | "ext-fileinfo": "*",
719 | "php": "^7.2 || ^8.0"
720 | },
721 | "require-dev": {
722 | "friendsofphp/php-cs-fixer": "^3.2",
723 | "phpstan/phpstan": "^0.12.68",
724 | "phpunit/phpunit": "^8.5.8 || ^9.3"
725 | },
726 | "type": "library",
727 | "autoload": {
728 | "psr-4": {
729 | "League\\MimeTypeDetection\\": "src"
730 | }
731 | },
732 | "notification-url": "https://packagist.org/downloads/",
733 | "license": [
734 | "MIT"
735 | ],
736 | "authors": [
737 | {
738 | "name": "Frank de Jonge",
739 | "email": "info@frankdejonge.nl"
740 | }
741 | ],
742 | "description": "Mime-type detection for Flysystem",
743 | "support": {
744 | "issues": "https://github.com/thephpleague/mime-type-detection/issues",
745 | "source": "https://github.com/thephpleague/mime-type-detection/tree/1.9.0"
746 | },
747 | "funding": [
748 | {
749 | "url": "https://github.com/frankdejonge",
750 | "type": "github"
751 | },
752 | {
753 | "url": "https://tidelift.com/funding/github/packagist/league/flysystem",
754 | "type": "tidelift"
755 | }
756 | ],
757 | "time": "2021-11-21T11:48:40+00:00"
758 | },
759 | {
760 | "name": "monolog/monolog",
761 | "version": "1.26.1",
762 | "source": {
763 | "type": "git",
764 | "url": "https://github.com/Seldaek/monolog.git",
765 | "reference": "c6b00f05152ae2c9b04a448f99c7590beb6042f5"
766 | },
767 | "dist": {
768 | "type": "zip",
769 | "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c6b00f05152ae2c9b04a448f99c7590beb6042f5",
770 | "reference": "c6b00f05152ae2c9b04a448f99c7590beb6042f5",
771 | "shasum": ""
772 | },
773 | "require": {
774 | "php": ">=5.3.0",
775 | "psr/log": "~1.0"
776 | },
777 | "provide": {
778 | "psr/log-implementation": "1.0.0"
779 | },
780 | "require-dev": {
781 | "aws/aws-sdk-php": "^2.4.9 || ^3.0",
782 | "doctrine/couchdb": "~1.0@dev",
783 | "graylog2/gelf-php": "~1.0",
784 | "php-amqplib/php-amqplib": "~2.4",
785 | "php-console/php-console": "^3.1.3",
786 | "phpstan/phpstan": "^0.12.59",
787 | "phpunit/phpunit": "~4.5",
788 | "ruflin/elastica": ">=0.90 <3.0",
789 | "sentry/sentry": "^0.13",
790 | "swiftmailer/swiftmailer": "^5.3|^6.0"
791 | },
792 | "suggest": {
793 | "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
794 | "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
795 | "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
796 | "ext-mongo": "Allow sending log messages to a MongoDB server",
797 | "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
798 | "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
799 | "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
800 | "php-console/php-console": "Allow sending log messages to Google Chrome",
801 | "rollbar/rollbar": "Allow sending log messages to Rollbar",
802 | "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
803 | "sentry/sentry": "Allow sending log messages to a Sentry server"
804 | },
805 | "type": "library",
806 | "autoload": {
807 | "psr-4": {
808 | "Monolog\\": "src/Monolog"
809 | }
810 | },
811 | "notification-url": "https://packagist.org/downloads/",
812 | "license": [
813 | "MIT"
814 | ],
815 | "authors": [
816 | {
817 | "name": "Jordi Boggiano",
818 | "email": "j.boggiano@seld.be",
819 | "homepage": "http://seld.be"
820 | }
821 | ],
822 | "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
823 | "homepage": "http://github.com/Seldaek/monolog",
824 | "keywords": [
825 | "log",
826 | "logging",
827 | "psr-3"
828 | ],
829 | "support": {
830 | "issues": "https://github.com/Seldaek/monolog/issues",
831 | "source": "https://github.com/Seldaek/monolog/tree/1.26.1"
832 | },
833 | "funding": [
834 | {
835 | "url": "https://github.com/Seldaek",
836 | "type": "github"
837 | },
838 | {
839 | "url": "https://tidelift.com/funding/github/packagist/monolog/monolog",
840 | "type": "tidelift"
841 | }
842 | ],
843 | "time": "2021-05-28T08:32:12+00:00"
844 | },
845 | {
846 | "name": "mtdowling/cron-expression",
847 | "version": "v1.2.3",
848 | "source": {
849 | "type": "git",
850 | "url": "https://github.com/mtdowling/cron-expression.git",
851 | "reference": "9be552eebcc1ceec9776378f7dcc085246cacca6"
852 | },
853 | "dist": {
854 | "type": "zip",
855 | "url": "https://api.github.com/repos/mtdowling/cron-expression/zipball/9be552eebcc1ceec9776378f7dcc085246cacca6",
856 | "reference": "9be552eebcc1ceec9776378f7dcc085246cacca6",
857 | "shasum": ""
858 | },
859 | "require": {
860 | "php": ">=5.3.2"
861 | },
862 | "require-dev": {
863 | "phpunit/phpunit": "~4.0|~5.0"
864 | },
865 | "type": "library",
866 | "autoload": {
867 | "psr-4": {
868 | "Cron\\": "src/Cron/"
869 | }
870 | },
871 | "notification-url": "https://packagist.org/downloads/",
872 | "license": [
873 | "MIT"
874 | ],
875 | "authors": [
876 | {
877 | "name": "Michael Dowling",
878 | "email": "mtdowling@gmail.com",
879 | "homepage": "https://github.com/mtdowling"
880 | }
881 | ],
882 | "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due",
883 | "keywords": [
884 | "cron",
885 | "schedule"
886 | ],
887 | "support": {
888 | "issues": "https://github.com/mtdowling/cron-expression/issues",
889 | "source": "https://github.com/mtdowling/cron-expression/tree/v1.2.3"
890 | },
891 | "abandoned": "dragonmantank/cron-expression",
892 | "time": "2019-12-28T04:23:06+00:00"
893 | },
894 | {
895 | "name": "nesbot/carbon",
896 | "version": "1.39.1",
897 | "source": {
898 | "type": "git",
899 | "url": "https://github.com/briannesbitt/Carbon.git",
900 | "reference": "4be0c005164249208ce1b5ca633cd57bdd42ff33"
901 | },
902 | "dist": {
903 | "type": "zip",
904 | "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/4be0c005164249208ce1b5ca633cd57bdd42ff33",
905 | "reference": "4be0c005164249208ce1b5ca633cd57bdd42ff33",
906 | "shasum": ""
907 | },
908 | "require": {
909 | "kylekatarnls/update-helper": "^1.1",
910 | "php": ">=5.3.9",
911 | "symfony/translation": "~2.6 || ~3.0 || ~4.0"
912 | },
913 | "require-dev": {
914 | "composer/composer": "^1.2",
915 | "friendsofphp/php-cs-fixer": "~2",
916 | "phpunit/phpunit": "^4.8.35 || ^5.7"
917 | },
918 | "bin": [
919 | "bin/upgrade-carbon"
920 | ],
921 | "type": "library",
922 | "extra": {
923 | "update-helper": "Carbon\\Upgrade",
924 | "laravel": {
925 | "providers": [
926 | "Carbon\\Laravel\\ServiceProvider"
927 | ]
928 | }
929 | },
930 | "autoload": {
931 | "psr-4": {
932 | "": "src/"
933 | }
934 | },
935 | "notification-url": "https://packagist.org/downloads/",
936 | "license": [
937 | "MIT"
938 | ],
939 | "authors": [
940 | {
941 | "name": "Brian Nesbitt",
942 | "email": "brian@nesbot.com",
943 | "homepage": "http://nesbot.com"
944 | }
945 | ],
946 | "description": "A simple API extension for DateTime.",
947 | "homepage": "http://carbon.nesbot.com",
948 | "keywords": [
949 | "date",
950 | "datetime",
951 | "time"
952 | ],
953 | "support": {
954 | "issues": "https://github.com/briannesbitt/Carbon/issues",
955 | "source": "https://github.com/briannesbitt/Carbon"
956 | },
957 | "time": "2019-10-14T05:51:36+00:00"
958 | },
959 | {
960 | "name": "nikic/php-parser",
961 | "version": "v2.1.1",
962 | "source": {
963 | "type": "git",
964 | "url": "https://github.com/nikic/PHP-Parser.git",
965 | "reference": "4dd659edadffdc2143e4753df655d866dbfeedf0"
966 | },
967 | "dist": {
968 | "type": "zip",
969 | "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4dd659edadffdc2143e4753df655d866dbfeedf0",
970 | "reference": "4dd659edadffdc2143e4753df655d866dbfeedf0",
971 | "shasum": ""
972 | },
973 | "require": {
974 | "ext-tokenizer": "*",
975 | "php": ">=5.4"
976 | },
977 | "require-dev": {
978 | "phpunit/phpunit": "~4.0"
979 | },
980 | "bin": [
981 | "bin/php-parse"
982 | ],
983 | "type": "library",
984 | "extra": {
985 | "branch-alias": {
986 | "dev-master": "2.1-dev"
987 | }
988 | },
989 | "autoload": {
990 | "psr-4": {
991 | "PhpParser\\": "lib/PhpParser"
992 | }
993 | },
994 | "notification-url": "https://packagist.org/downloads/",
995 | "license": [
996 | "BSD-3-Clause"
997 | ],
998 | "authors": [
999 | {
1000 | "name": "Nikita Popov"
1001 | }
1002 | ],
1003 | "description": "A PHP parser written in PHP",
1004 | "keywords": [
1005 | "parser",
1006 | "php"
1007 | ],
1008 | "support": {
1009 | "issues": "https://github.com/nikic/PHP-Parser/issues",
1010 | "source": "https://github.com/nikic/PHP-Parser/tree/2.x"
1011 | },
1012 | "time": "2016-09-16T12:04:44+00:00"
1013 | },
1014 | {
1015 | "name": "paragonie/random_compat",
1016 | "version": "v1.4.3",
1017 | "source": {
1018 | "type": "git",
1019 | "url": "https://github.com/paragonie/random_compat.git",
1020 | "reference": "9b3899e3c3ddde89016f576edb8c489708ad64cd"
1021 | },
1022 | "dist": {
1023 | "type": "zip",
1024 | "url": "https://api.github.com/repos/paragonie/random_compat/zipball/9b3899e3c3ddde89016f576edb8c489708ad64cd",
1025 | "reference": "9b3899e3c3ddde89016f576edb8c489708ad64cd",
1026 | "shasum": ""
1027 | },
1028 | "require": {
1029 | "php": ">=5.2.0"
1030 | },
1031 | "require-dev": {
1032 | "phpunit/phpunit": "4.*|5.*"
1033 | },
1034 | "suggest": {
1035 | "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
1036 | },
1037 | "type": "library",
1038 | "autoload": {
1039 | "files": [
1040 | "lib/random.php"
1041 | ]
1042 | },
1043 | "notification-url": "https://packagist.org/downloads/",
1044 | "license": [
1045 | "MIT"
1046 | ],
1047 | "authors": [
1048 | {
1049 | "name": "Paragon Initiative Enterprises",
1050 | "email": "security@paragonie.com",
1051 | "homepage": "https://paragonie.com"
1052 | }
1053 | ],
1054 | "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
1055 | "keywords": [
1056 | "csprng",
1057 | "pseudorandom",
1058 | "random"
1059 | ],
1060 | "support": {
1061 | "email": "info@paragonie.com",
1062 | "issues": "https://github.com/paragonie/random_compat/issues",
1063 | "source": "https://github.com/paragonie/random_compat"
1064 | },
1065 | "time": "2018-04-04T21:48:54+00:00"
1066 | },
1067 | {
1068 | "name": "psr/log",
1069 | "version": "1.1.4",
1070 | "source": {
1071 | "type": "git",
1072 | "url": "https://github.com/php-fig/log.git",
1073 | "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
1074 | },
1075 | "dist": {
1076 | "type": "zip",
1077 | "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
1078 | "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
1079 | "shasum": ""
1080 | },
1081 | "require": {
1082 | "php": ">=5.3.0"
1083 | },
1084 | "type": "library",
1085 | "extra": {
1086 | "branch-alias": {
1087 | "dev-master": "1.1.x-dev"
1088 | }
1089 | },
1090 | "autoload": {
1091 | "psr-4": {
1092 | "Psr\\Log\\": "Psr/Log/"
1093 | }
1094 | },
1095 | "notification-url": "https://packagist.org/downloads/",
1096 | "license": [
1097 | "MIT"
1098 | ],
1099 | "authors": [
1100 | {
1101 | "name": "PHP-FIG",
1102 | "homepage": "https://www.php-fig.org/"
1103 | }
1104 | ],
1105 | "description": "Common interface for logging libraries",
1106 | "homepage": "https://github.com/php-fig/log",
1107 | "keywords": [
1108 | "log",
1109 | "psr",
1110 | "psr-3"
1111 | ],
1112 | "support": {
1113 | "source": "https://github.com/php-fig/log/tree/1.1.4"
1114 | },
1115 | "time": "2021-05-03T11:20:27+00:00"
1116 | },
1117 | {
1118 | "name": "psy/psysh",
1119 | "version": "v0.7.2",
1120 | "source": {
1121 | "type": "git",
1122 | "url": "https://github.com/bobthecow/psysh.git",
1123 | "reference": "e64e10b20f8d229cac76399e1f3edddb57a0f280"
1124 | },
1125 | "dist": {
1126 | "type": "zip",
1127 | "url": "https://api.github.com/repos/bobthecow/psysh/zipball/e64e10b20f8d229cac76399e1f3edddb57a0f280",
1128 | "reference": "e64e10b20f8d229cac76399e1f3edddb57a0f280",
1129 | "shasum": ""
1130 | },
1131 | "require": {
1132 | "dnoegel/php-xdg-base-dir": "0.1",
1133 | "jakub-onderka/php-console-highlighter": "0.3.*",
1134 | "nikic/php-parser": "^1.2.1|~2.0",
1135 | "php": ">=5.3.9",
1136 | "symfony/console": "~2.3.10|^2.4.2|~3.0",
1137 | "symfony/var-dumper": "~2.7|~3.0"
1138 | },
1139 | "require-dev": {
1140 | "fabpot/php-cs-fixer": "~1.5",
1141 | "phpunit/phpunit": "~3.7|~4.0|~5.0",
1142 | "squizlabs/php_codesniffer": "~2.0",
1143 | "symfony/finder": "~2.1|~3.0"
1144 | },
1145 | "suggest": {
1146 | "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)",
1147 | "ext-pdo-sqlite": "The doc command requires SQLite to work.",
1148 | "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.",
1149 | "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history."
1150 | },
1151 | "bin": [
1152 | "bin/psysh"
1153 | ],
1154 | "type": "library",
1155 | "extra": {
1156 | "branch-alias": {
1157 | "dev-develop": "0.8.x-dev"
1158 | }
1159 | },
1160 | "autoload": {
1161 | "files": [
1162 | "src/Psy/functions.php"
1163 | ],
1164 | "psr-4": {
1165 | "Psy\\": "src/Psy/"
1166 | }
1167 | },
1168 | "notification-url": "https://packagist.org/downloads/",
1169 | "license": [
1170 | "MIT"
1171 | ],
1172 | "authors": [
1173 | {
1174 | "name": "Justin Hileman",
1175 | "email": "justin@justinhileman.info",
1176 | "homepage": "http://justinhileman.com"
1177 | }
1178 | ],
1179 | "description": "An interactive shell for modern PHP.",
1180 | "homepage": "http://psysh.org",
1181 | "keywords": [
1182 | "REPL",
1183 | "console",
1184 | "interactive",
1185 | "shell"
1186 | ],
1187 | "time": "2016-03-09T05:03:14+00:00"
1188 | },
1189 | {
1190 | "name": "swiftmailer/swiftmailer",
1191 | "version": "v5.4.12",
1192 | "source": {
1193 | "type": "git",
1194 | "url": "https://github.com/swiftmailer/swiftmailer.git",
1195 | "reference": "181b89f18a90f8925ef805f950d47a7190e9b950"
1196 | },
1197 | "dist": {
1198 | "type": "zip",
1199 | "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/181b89f18a90f8925ef805f950d47a7190e9b950",
1200 | "reference": "181b89f18a90f8925ef805f950d47a7190e9b950",
1201 | "shasum": ""
1202 | },
1203 | "require": {
1204 | "php": ">=5.3.3"
1205 | },
1206 | "require-dev": {
1207 | "mockery/mockery": "~0.9.1",
1208 | "symfony/phpunit-bridge": "~3.2"
1209 | },
1210 | "type": "library",
1211 | "extra": {
1212 | "branch-alias": {
1213 | "dev-master": "5.4-dev"
1214 | }
1215 | },
1216 | "autoload": {
1217 | "files": [
1218 | "lib/swift_required.php"
1219 | ]
1220 | },
1221 | "notification-url": "https://packagist.org/downloads/",
1222 | "license": [
1223 | "MIT"
1224 | ],
1225 | "authors": [
1226 | {
1227 | "name": "Chris Corbyn"
1228 | },
1229 | {
1230 | "name": "Fabien Potencier",
1231 | "email": "fabien@symfony.com"
1232 | }
1233 | ],
1234 | "description": "Swiftmailer, free feature-rich PHP mailer",
1235 | "homepage": "https://swiftmailer.symfony.com",
1236 | "keywords": [
1237 | "email",
1238 | "mail",
1239 | "mailer"
1240 | ],
1241 | "support": {
1242 | "issues": "https://github.com/swiftmailer/swiftmailer/issues",
1243 | "source": "https://github.com/swiftmailer/swiftmailer/tree/v5.4.12"
1244 | },
1245 | "abandoned": "symfony/mailer",
1246 | "time": "2018-07-31T09:26:32+00:00"
1247 | },
1248 | {
1249 | "name": "symfony/console",
1250 | "version": "v2.7.51",
1251 | "source": {
1252 | "type": "git",
1253 | "url": "https://github.com/symfony/console.git",
1254 | "reference": "574cb4cfaa01ba115fc2fc0c2355b2c5472a4804"
1255 | },
1256 | "dist": {
1257 | "type": "zip",
1258 | "url": "https://api.github.com/repos/symfony/console/zipball/574cb4cfaa01ba115fc2fc0c2355b2c5472a4804",
1259 | "reference": "574cb4cfaa01ba115fc2fc0c2355b2c5472a4804",
1260 | "shasum": ""
1261 | },
1262 | "require": {
1263 | "php": ">=5.3.9",
1264 | "symfony/debug": "^2.7.2"
1265 | },
1266 | "require-dev": {
1267 | "psr/log": "~1.0",
1268 | "symfony/event-dispatcher": "~2.1",
1269 | "symfony/process": "~2.1"
1270 | },
1271 | "suggest": {
1272 | "psr/log-implementation": "For using the console logger",
1273 | "symfony/event-dispatcher": "",
1274 | "symfony/process": ""
1275 | },
1276 | "type": "library",
1277 | "extra": {
1278 | "branch-alias": {
1279 | "dev-master": "2.7-dev"
1280 | }
1281 | },
1282 | "autoload": {
1283 | "psr-4": {
1284 | "Symfony\\Component\\Console\\": ""
1285 | },
1286 | "exclude-from-classmap": [
1287 | "/Tests/"
1288 | ]
1289 | },
1290 | "notification-url": "https://packagist.org/downloads/",
1291 | "license": [
1292 | "MIT"
1293 | ],
1294 | "authors": [
1295 | {
1296 | "name": "Fabien Potencier",
1297 | "email": "fabien@symfony.com"
1298 | },
1299 | {
1300 | "name": "Symfony Community",
1301 | "homepage": "https://symfony.com/contributors"
1302 | }
1303 | ],
1304 | "description": "Symfony Console Component",
1305 | "homepage": "https://symfony.com",
1306 | "support": {
1307 | "source": "https://github.com/symfony/console/tree/v2.7.51"
1308 | },
1309 | "time": "2018-05-13T15:44:36+00:00"
1310 | },
1311 | {
1312 | "name": "symfony/css-selector",
1313 | "version": "v2.8.52",
1314 | "source": {
1315 | "type": "git",
1316 | "url": "https://github.com/symfony/css-selector.git",
1317 | "reference": "7b1692e418d7ccac24c373528453bc90e42797de"
1318 | },
1319 | "dist": {
1320 | "type": "zip",
1321 | "url": "https://api.github.com/repos/symfony/css-selector/zipball/7b1692e418d7ccac24c373528453bc90e42797de",
1322 | "reference": "7b1692e418d7ccac24c373528453bc90e42797de",
1323 | "shasum": ""
1324 | },
1325 | "require": {
1326 | "php": ">=5.3.9"
1327 | },
1328 | "type": "library",
1329 | "extra": {
1330 | "branch-alias": {
1331 | "dev-master": "2.8-dev"
1332 | }
1333 | },
1334 | "autoload": {
1335 | "psr-4": {
1336 | "Symfony\\Component\\CssSelector\\": ""
1337 | },
1338 | "exclude-from-classmap": [
1339 | "/Tests/"
1340 | ]
1341 | },
1342 | "notification-url": "https://packagist.org/downloads/",
1343 | "license": [
1344 | "MIT"
1345 | ],
1346 | "authors": [
1347 | {
1348 | "name": "Fabien Potencier",
1349 | "email": "fabien@symfony.com"
1350 | },
1351 | {
1352 | "name": "Jean-François Simon",
1353 | "email": "jeanfrancois.simon@sensiolabs.com"
1354 | },
1355 | {
1356 | "name": "Symfony Community",
1357 | "homepage": "https://symfony.com/contributors"
1358 | }
1359 | ],
1360 | "description": "Symfony CssSelector Component",
1361 | "homepage": "https://symfony.com",
1362 | "support": {
1363 | "source": "https://github.com/symfony/css-selector/tree/v2.8.52"
1364 | },
1365 | "time": "2018-11-11T11:18:13+00:00"
1366 | },
1367 | {
1368 | "name": "symfony/debug",
1369 | "version": "v2.7.51",
1370 | "source": {
1371 | "type": "git",
1372 | "url": "https://github.com/symfony/debug.git",
1373 | "reference": "4a7330f29b3d215f8bacf076689f9d1c3d568681"
1374 | },
1375 | "dist": {
1376 | "type": "zip",
1377 | "url": "https://api.github.com/repos/symfony/debug/zipball/4a7330f29b3d215f8bacf076689f9d1c3d568681",
1378 | "reference": "4a7330f29b3d215f8bacf076689f9d1c3d568681",
1379 | "shasum": ""
1380 | },
1381 | "require": {
1382 | "php": ">=5.3.9",
1383 | "psr/log": "~1.0"
1384 | },
1385 | "conflict": {
1386 | "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
1387 | },
1388 | "require-dev": {
1389 | "symfony/class-loader": "~2.2",
1390 | "symfony/http-kernel": "~2.3.24|~2.5.9|^2.6.2"
1391 | },
1392 | "type": "library",
1393 | "extra": {
1394 | "branch-alias": {
1395 | "dev-master": "2.7-dev"
1396 | }
1397 | },
1398 | "autoload": {
1399 | "psr-4": {
1400 | "Symfony\\Component\\Debug\\": ""
1401 | },
1402 | "exclude-from-classmap": [
1403 | "/Tests/"
1404 | ]
1405 | },
1406 | "notification-url": "https://packagist.org/downloads/",
1407 | "license": [
1408 | "MIT"
1409 | ],
1410 | "authors": [
1411 | {
1412 | "name": "Fabien Potencier",
1413 | "email": "fabien@symfony.com"
1414 | },
1415 | {
1416 | "name": "Symfony Community",
1417 | "homepage": "https://symfony.com/contributors"
1418 | }
1419 | ],
1420 | "description": "Symfony Debug Component",
1421 | "homepage": "https://symfony.com",
1422 | "support": {
1423 | "source": "https://github.com/symfony/debug/tree/v2.7.51"
1424 | },
1425 | "time": "2018-08-03T11:24:48+00:00"
1426 | },
1427 | {
1428 | "name": "symfony/dom-crawler",
1429 | "version": "v2.7.51",
1430 | "source": {
1431 | "type": "git",
1432 | "url": "https://github.com/symfony/dom-crawler.git",
1433 | "reference": "d905e1c5885735ee66af60c205429b9941f24752"
1434 | },
1435 | "dist": {
1436 | "type": "zip",
1437 | "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/d905e1c5885735ee66af60c205429b9941f24752",
1438 | "reference": "d905e1c5885735ee66af60c205429b9941f24752",
1439 | "shasum": ""
1440 | },
1441 | "require": {
1442 | "php": ">=5.3.9",
1443 | "symfony/polyfill-ctype": "~1.8"
1444 | },
1445 | "require-dev": {
1446 | "symfony/css-selector": "~2.3"
1447 | },
1448 | "suggest": {
1449 | "symfony/css-selector": ""
1450 | },
1451 | "type": "library",
1452 | "extra": {
1453 | "branch-alias": {
1454 | "dev-master": "2.7-dev"
1455 | }
1456 | },
1457 | "autoload": {
1458 | "psr-4": {
1459 | "Symfony\\Component\\DomCrawler\\": ""
1460 | },
1461 | "exclude-from-classmap": [
1462 | "/Tests/"
1463 | ]
1464 | },
1465 | "notification-url": "https://packagist.org/downloads/",
1466 | "license": [
1467 | "MIT"
1468 | ],
1469 | "authors": [
1470 | {
1471 | "name": "Fabien Potencier",
1472 | "email": "fabien@symfony.com"
1473 | },
1474 | {
1475 | "name": "Symfony Community",
1476 | "homepage": "https://symfony.com/contributors"
1477 | }
1478 | ],
1479 | "description": "Symfony DomCrawler Component",
1480 | "homepage": "https://symfony.com",
1481 | "support": {
1482 | "source": "https://github.com/symfony/dom-crawler/tree/v2.7.51"
1483 | },
1484 | "time": "2018-05-01T22:30:49+00:00"
1485 | },
1486 | {
1487 | "name": "symfony/event-dispatcher",
1488 | "version": "v2.8.52",
1489 | "source": {
1490 | "type": "git",
1491 | "url": "https://github.com/symfony/event-dispatcher.git",
1492 | "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0"
1493 | },
1494 | "dist": {
1495 | "type": "zip",
1496 | "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a77e974a5fecb4398833b0709210e3d5e334ffb0",
1497 | "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0",
1498 | "shasum": ""
1499 | },
1500 | "require": {
1501 | "php": ">=5.3.9"
1502 | },
1503 | "require-dev": {
1504 | "psr/log": "~1.0",
1505 | "symfony/config": "^2.0.5|~3.0.0",
1506 | "symfony/dependency-injection": "~2.6|~3.0.0",
1507 | "symfony/expression-language": "~2.6|~3.0.0",
1508 | "symfony/stopwatch": "~2.3|~3.0.0"
1509 | },
1510 | "suggest": {
1511 | "symfony/dependency-injection": "",
1512 | "symfony/http-kernel": ""
1513 | },
1514 | "type": "library",
1515 | "extra": {
1516 | "branch-alias": {
1517 | "dev-master": "2.8-dev"
1518 | }
1519 | },
1520 | "autoload": {
1521 | "psr-4": {
1522 | "Symfony\\Component\\EventDispatcher\\": ""
1523 | },
1524 | "exclude-from-classmap": [
1525 | "/Tests/"
1526 | ]
1527 | },
1528 | "notification-url": "https://packagist.org/downloads/",
1529 | "license": [
1530 | "MIT"
1531 | ],
1532 | "authors": [
1533 | {
1534 | "name": "Fabien Potencier",
1535 | "email": "fabien@symfony.com"
1536 | },
1537 | {
1538 | "name": "Symfony Community",
1539 | "homepage": "https://symfony.com/contributors"
1540 | }
1541 | ],
1542 | "description": "Symfony EventDispatcher Component",
1543 | "homepage": "https://symfony.com",
1544 | "support": {
1545 | "source": "https://github.com/symfony/event-dispatcher/tree/v2.8.50"
1546 | },
1547 | "time": "2018-11-21T14:20:20+00:00"
1548 | },
1549 | {
1550 | "name": "symfony/finder",
1551 | "version": "v2.7.51",
1552 | "source": {
1553 | "type": "git",
1554 | "url": "https://github.com/symfony/finder.git",
1555 | "reference": "34226a3aa279f1e356ad56181b91acfdc9a2525c"
1556 | },
1557 | "dist": {
1558 | "type": "zip",
1559 | "url": "https://api.github.com/repos/symfony/finder/zipball/34226a3aa279f1e356ad56181b91acfdc9a2525c",
1560 | "reference": "34226a3aa279f1e356ad56181b91acfdc9a2525c",
1561 | "shasum": ""
1562 | },
1563 | "require": {
1564 | "php": ">=5.3.9"
1565 | },
1566 | "type": "library",
1567 | "extra": {
1568 | "branch-alias": {
1569 | "dev-master": "2.7-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 | "support": {
1597 | "source": "https://github.com/symfony/finder/tree/v2.7.51"
1598 | },
1599 | "time": "2018-05-14T06:36:14+00:00"
1600 | },
1601 | {
1602 | "name": "symfony/http-foundation",
1603 | "version": "v2.7.51",
1604 | "source": {
1605 | "type": "git",
1606 | "url": "https://github.com/symfony/http-foundation.git",
1607 | "reference": "b67e5cbd2bf837fb3681f2c4965826d6c6758532"
1608 | },
1609 | "dist": {
1610 | "type": "zip",
1611 | "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b67e5cbd2bf837fb3681f2c4965826d6c6758532",
1612 | "reference": "b67e5cbd2bf837fb3681f2c4965826d6c6758532",
1613 | "shasum": ""
1614 | },
1615 | "require": {
1616 | "php": ">=5.3.9",
1617 | "symfony/polyfill-mbstring": "~1.1"
1618 | },
1619 | "require-dev": {
1620 | "symfony/expression-language": "~2.4"
1621 | },
1622 | "type": "library",
1623 | "extra": {
1624 | "branch-alias": {
1625 | "dev-master": "2.7-dev"
1626 | }
1627 | },
1628 | "autoload": {
1629 | "psr-4": {
1630 | "Symfony\\Component\\HttpFoundation\\": ""
1631 | },
1632 | "classmap": [
1633 | "Resources/stubs"
1634 | ],
1635 | "exclude-from-classmap": [
1636 | "/Tests/"
1637 | ]
1638 | },
1639 | "notification-url": "https://packagist.org/downloads/",
1640 | "license": [
1641 | "MIT"
1642 | ],
1643 | "authors": [
1644 | {
1645 | "name": "Fabien Potencier",
1646 | "email": "fabien@symfony.com"
1647 | },
1648 | {
1649 | "name": "Symfony Community",
1650 | "homepage": "https://symfony.com/contributors"
1651 | }
1652 | ],
1653 | "description": "Symfony HttpFoundation Component",
1654 | "homepage": "https://symfony.com",
1655 | "support": {
1656 | "source": "https://github.com/symfony/http-foundation/tree/2.7"
1657 | },
1658 | "time": "2019-04-16T09:58:21+00:00"
1659 | },
1660 | {
1661 | "name": "symfony/http-kernel",
1662 | "version": "v2.7.52",
1663 | "source": {
1664 | "type": "git",
1665 | "url": "https://github.com/symfony/http-kernel.git",
1666 | "reference": "435064b3b143f79469206915137c21e88b56bfb9"
1667 | },
1668 | "dist": {
1669 | "type": "zip",
1670 | "url": "https://api.github.com/repos/symfony/http-kernel/zipball/435064b3b143f79469206915137c21e88b56bfb9",
1671 | "reference": "435064b3b143f79469206915137c21e88b56bfb9",
1672 | "shasum": ""
1673 | },
1674 | "require": {
1675 | "php": ">=5.3.9",
1676 | "psr/log": "~1.0",
1677 | "symfony/debug": "^2.6.2",
1678 | "symfony/event-dispatcher": "^2.6.7",
1679 | "symfony/http-foundation": "~2.7.36|^2.8.29",
1680 | "symfony/polyfill-ctype": "~1.8"
1681 | },
1682 | "conflict": {
1683 | "symfony/config": "<2.7",
1684 | "twig/twig": "<1.34|<2.4,>=2"
1685 | },
1686 | "require-dev": {
1687 | "symfony/browser-kit": "~2.3",
1688 | "symfony/class-loader": "~2.1",
1689 | "symfony/config": "~2.7",
1690 | "symfony/console": "~2.3",
1691 | "symfony/css-selector": "^2.0.5",
1692 | "symfony/dependency-injection": "~2.2",
1693 | "symfony/dom-crawler": "^2.0.5",
1694 | "symfony/expression-language": "~2.4",
1695 | "symfony/finder": "^2.0.5",
1696 | "symfony/process": "^2.0.5",
1697 | "symfony/routing": "~2.2",
1698 | "symfony/stopwatch": "~2.3",
1699 | "symfony/templating": "~2.2",
1700 | "symfony/translation": "^2.0.5",
1701 | "symfony/var-dumper": "~2.6"
1702 | },
1703 | "suggest": {
1704 | "symfony/browser-kit": "",
1705 | "symfony/class-loader": "",
1706 | "symfony/config": "",
1707 | "symfony/console": "",
1708 | "symfony/dependency-injection": "",
1709 | "symfony/finder": "",
1710 | "symfony/var-dumper": ""
1711 | },
1712 | "type": "library",
1713 | "extra": {
1714 | "branch-alias": {
1715 | "dev-master": "2.7-dev"
1716 | }
1717 | },
1718 | "autoload": {
1719 | "psr-4": {
1720 | "Symfony\\Component\\HttpKernel\\": ""
1721 | },
1722 | "exclude-from-classmap": [
1723 | "/Tests/"
1724 | ]
1725 | },
1726 | "notification-url": "https://packagist.org/downloads/",
1727 | "license": [
1728 | "MIT"
1729 | ],
1730 | "authors": [
1731 | {
1732 | "name": "Fabien Potencier",
1733 | "email": "fabien@symfony.com"
1734 | },
1735 | {
1736 | "name": "Symfony Community",
1737 | "homepage": "https://symfony.com/contributors"
1738 | }
1739 | ],
1740 | "description": "Symfony HttpKernel Component",
1741 | "homepage": "https://symfony.com",
1742 | "support": {
1743 | "source": "https://github.com/symfony/http-kernel/tree/v2.7.52"
1744 | },
1745 | "time": "2019-04-17T16:37:53+00:00"
1746 | },
1747 | {
1748 | "name": "symfony/polyfill-ctype",
1749 | "version": "v1.23.0",
1750 | "source": {
1751 | "type": "git",
1752 | "url": "https://github.com/symfony/polyfill-ctype.git",
1753 | "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce"
1754 | },
1755 | "dist": {
1756 | "type": "zip",
1757 | "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce",
1758 | "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce",
1759 | "shasum": ""
1760 | },
1761 | "require": {
1762 | "php": ">=7.1"
1763 | },
1764 | "suggest": {
1765 | "ext-ctype": "For best performance"
1766 | },
1767 | "type": "library",
1768 | "extra": {
1769 | "branch-alias": {
1770 | "dev-main": "1.23-dev"
1771 | },
1772 | "thanks": {
1773 | "name": "symfony/polyfill",
1774 | "url": "https://github.com/symfony/polyfill"
1775 | }
1776 | },
1777 | "autoload": {
1778 | "psr-4": {
1779 | "Symfony\\Polyfill\\Ctype\\": ""
1780 | },
1781 | "files": [
1782 | "bootstrap.php"
1783 | ]
1784 | },
1785 | "notification-url": "https://packagist.org/downloads/",
1786 | "license": [
1787 | "MIT"
1788 | ],
1789 | "authors": [
1790 | {
1791 | "name": "Gert de Pagter",
1792 | "email": "BackEndTea@gmail.com"
1793 | },
1794 | {
1795 | "name": "Symfony Community",
1796 | "homepage": "https://symfony.com/contributors"
1797 | }
1798 | ],
1799 | "description": "Symfony polyfill for ctype functions",
1800 | "homepage": "https://symfony.com",
1801 | "keywords": [
1802 | "compatibility",
1803 | "ctype",
1804 | "polyfill",
1805 | "portable"
1806 | ],
1807 | "support": {
1808 | "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0"
1809 | },
1810 | "funding": [
1811 | {
1812 | "url": "https://symfony.com/sponsor",
1813 | "type": "custom"
1814 | },
1815 | {
1816 | "url": "https://github.com/fabpot",
1817 | "type": "github"
1818 | },
1819 | {
1820 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
1821 | "type": "tidelift"
1822 | }
1823 | ],
1824 | "time": "2021-02-19T12:13:01+00:00"
1825 | },
1826 | {
1827 | "name": "symfony/polyfill-mbstring",
1828 | "version": "v1.23.1",
1829 | "source": {
1830 | "type": "git",
1831 | "url": "https://github.com/symfony/polyfill-mbstring.git",
1832 | "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
1833 | },
1834 | "dist": {
1835 | "type": "zip",
1836 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
1837 | "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
1838 | "shasum": ""
1839 | },
1840 | "require": {
1841 | "php": ">=7.1"
1842 | },
1843 | "suggest": {
1844 | "ext-mbstring": "For best performance"
1845 | },
1846 | "type": "library",
1847 | "extra": {
1848 | "branch-alias": {
1849 | "dev-main": "1.23-dev"
1850 | },
1851 | "thanks": {
1852 | "name": "symfony/polyfill",
1853 | "url": "https://github.com/symfony/polyfill"
1854 | }
1855 | },
1856 | "autoload": {
1857 | "psr-4": {
1858 | "Symfony\\Polyfill\\Mbstring\\": ""
1859 | },
1860 | "files": [
1861 | "bootstrap.php"
1862 | ]
1863 | },
1864 | "notification-url": "https://packagist.org/downloads/",
1865 | "license": [
1866 | "MIT"
1867 | ],
1868 | "authors": [
1869 | {
1870 | "name": "Nicolas Grekas",
1871 | "email": "p@tchwork.com"
1872 | },
1873 | {
1874 | "name": "Symfony Community",
1875 | "homepage": "https://symfony.com/contributors"
1876 | }
1877 | ],
1878 | "description": "Symfony polyfill for the Mbstring extension",
1879 | "homepage": "https://symfony.com",
1880 | "keywords": [
1881 | "compatibility",
1882 | "mbstring",
1883 | "polyfill",
1884 | "portable",
1885 | "shim"
1886 | ],
1887 | "support": {
1888 | "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
1889 | },
1890 | "funding": [
1891 | {
1892 | "url": "https://symfony.com/sponsor",
1893 | "type": "custom"
1894 | },
1895 | {
1896 | "url": "https://github.com/fabpot",
1897 | "type": "github"
1898 | },
1899 | {
1900 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
1901 | "type": "tidelift"
1902 | }
1903 | ],
1904 | "time": "2021-05-27T12:26:48+00:00"
1905 | },
1906 | {
1907 | "name": "symfony/polyfill-php56",
1908 | "version": "v1.20.0",
1909 | "source": {
1910 | "type": "git",
1911 | "url": "https://github.com/symfony/polyfill-php56.git",
1912 | "reference": "54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675"
1913 | },
1914 | "dist": {
1915 | "type": "zip",
1916 | "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675",
1917 | "reference": "54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675",
1918 | "shasum": ""
1919 | },
1920 | "require": {
1921 | "php": ">=7.1"
1922 | },
1923 | "type": "metapackage",
1924 | "extra": {
1925 | "branch-alias": {
1926 | "dev-main": "1.20-dev"
1927 | },
1928 | "thanks": {
1929 | "name": "symfony/polyfill",
1930 | "url": "https://github.com/symfony/polyfill"
1931 | }
1932 | },
1933 | "notification-url": "https://packagist.org/downloads/",
1934 | "license": [
1935 | "MIT"
1936 | ],
1937 | "authors": [
1938 | {
1939 | "name": "Nicolas Grekas",
1940 | "email": "p@tchwork.com"
1941 | },
1942 | {
1943 | "name": "Symfony Community",
1944 | "homepage": "https://symfony.com/contributors"
1945 | }
1946 | ],
1947 | "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions",
1948 | "homepage": "https://symfony.com",
1949 | "keywords": [
1950 | "compatibility",
1951 | "polyfill",
1952 | "portable",
1953 | "shim"
1954 | ],
1955 | "support": {
1956 | "source": "https://github.com/symfony/polyfill-php56/tree/v1.20.0"
1957 | },
1958 | "funding": [
1959 | {
1960 | "url": "https://symfony.com/sponsor",
1961 | "type": "custom"
1962 | },
1963 | {
1964 | "url": "https://github.com/fabpot",
1965 | "type": "github"
1966 | },
1967 | {
1968 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
1969 | "type": "tidelift"
1970 | }
1971 | ],
1972 | "time": "2020-10-23T14:02:19+00:00"
1973 | },
1974 | {
1975 | "name": "symfony/process",
1976 | "version": "v2.7.51",
1977 | "source": {
1978 | "type": "git",
1979 | "url": "https://github.com/symfony/process.git",
1980 | "reference": "eda637e05670e2afeec3842dcd646dce94262f6b"
1981 | },
1982 | "dist": {
1983 | "type": "zip",
1984 | "url": "https://api.github.com/repos/symfony/process/zipball/eda637e05670e2afeec3842dcd646dce94262f6b",
1985 | "reference": "eda637e05670e2afeec3842dcd646dce94262f6b",
1986 | "shasum": ""
1987 | },
1988 | "require": {
1989 | "php": ">=5.3.9"
1990 | },
1991 | "type": "library",
1992 | "extra": {
1993 | "branch-alias": {
1994 | "dev-master": "2.7-dev"
1995 | }
1996 | },
1997 | "autoload": {
1998 | "psr-4": {
1999 | "Symfony\\Component\\Process\\": ""
2000 | },
2001 | "exclude-from-classmap": [
2002 | "/Tests/"
2003 | ]
2004 | },
2005 | "notification-url": "https://packagist.org/downloads/",
2006 | "license": [
2007 | "MIT"
2008 | ],
2009 | "authors": [
2010 | {
2011 | "name": "Fabien Potencier",
2012 | "email": "fabien@symfony.com"
2013 | },
2014 | {
2015 | "name": "Symfony Community",
2016 | "homepage": "https://symfony.com/contributors"
2017 | }
2018 | ],
2019 | "description": "Symfony Process Component",
2020 | "homepage": "https://symfony.com",
2021 | "support": {
2022 | "source": "https://github.com/symfony/process/tree/v2.7.51"
2023 | },
2024 | "time": "2018-08-03T11:24:48+00:00"
2025 | },
2026 | {
2027 | "name": "symfony/routing",
2028 | "version": "v2.7.51",
2029 | "source": {
2030 | "type": "git",
2031 | "url": "https://github.com/symfony/routing.git",
2032 | "reference": "33bd5882f201f9a3b7dd9640b95710b71304c4fb"
2033 | },
2034 | "dist": {
2035 | "type": "zip",
2036 | "url": "https://api.github.com/repos/symfony/routing/zipball/33bd5882f201f9a3b7dd9640b95710b71304c4fb",
2037 | "reference": "33bd5882f201f9a3b7dd9640b95710b71304c4fb",
2038 | "shasum": ""
2039 | },
2040 | "require": {
2041 | "php": ">=5.3.9"
2042 | },
2043 | "conflict": {
2044 | "symfony/config": "<2.7"
2045 | },
2046 | "require-dev": {
2047 | "doctrine/annotations": "~1.0",
2048 | "doctrine/common": "~2.2",
2049 | "psr/log": "~1.0",
2050 | "symfony/config": "~2.7",
2051 | "symfony/expression-language": "~2.4",
2052 | "symfony/http-foundation": "~2.3",
2053 | "symfony/yaml": "^2.0.5"
2054 | },
2055 | "suggest": {
2056 | "doctrine/annotations": "For using the annotation loader",
2057 | "symfony/config": "For using the all-in-one router or any loader",
2058 | "symfony/expression-language": "For using expression matching",
2059 | "symfony/http-foundation": "For using a Symfony Request object",
2060 | "symfony/yaml": "For using the YAML loader"
2061 | },
2062 | "type": "library",
2063 | "extra": {
2064 | "branch-alias": {
2065 | "dev-master": "2.7-dev"
2066 | }
2067 | },
2068 | "autoload": {
2069 | "psr-4": {
2070 | "Symfony\\Component\\Routing\\": ""
2071 | },
2072 | "exclude-from-classmap": [
2073 | "/Tests/"
2074 | ]
2075 | },
2076 | "notification-url": "https://packagist.org/downloads/",
2077 | "license": [
2078 | "MIT"
2079 | ],
2080 | "authors": [
2081 | {
2082 | "name": "Fabien Potencier",
2083 | "email": "fabien@symfony.com"
2084 | },
2085 | {
2086 | "name": "Symfony Community",
2087 | "homepage": "https://symfony.com/contributors"
2088 | }
2089 | ],
2090 | "description": "Symfony Routing Component",
2091 | "homepage": "https://symfony.com",
2092 | "keywords": [
2093 | "router",
2094 | "routing",
2095 | "uri",
2096 | "url"
2097 | ],
2098 | "support": {
2099 | "source": "https://github.com/symfony/routing/tree/v2.7.51"
2100 | },
2101 | "time": "2018-02-28T09:36:59+00:00"
2102 | },
2103 | {
2104 | "name": "symfony/translation",
2105 | "version": "v2.7.51",
2106 | "source": {
2107 | "type": "git",
2108 | "url": "https://github.com/symfony/translation.git",
2109 | "reference": "1959c78c5a32539ef221b3e18a961a96d949118f"
2110 | },
2111 | "dist": {
2112 | "type": "zip",
2113 | "url": "https://api.github.com/repos/symfony/translation/zipball/1959c78c5a32539ef221b3e18a961a96d949118f",
2114 | "reference": "1959c78c5a32539ef221b3e18a961a96d949118f",
2115 | "shasum": ""
2116 | },
2117 | "require": {
2118 | "php": ">=5.3.9"
2119 | },
2120 | "conflict": {
2121 | "symfony/config": "<2.7"
2122 | },
2123 | "require-dev": {
2124 | "psr/log": "~1.0",
2125 | "symfony/config": "~2.7",
2126 | "symfony/intl": "~2.7.25|^2.8.18",
2127 | "symfony/yaml": "~2.2"
2128 | },
2129 | "suggest": {
2130 | "psr/log-implementation": "To use logging capability in translator",
2131 | "symfony/config": "",
2132 | "symfony/yaml": ""
2133 | },
2134 | "type": "library",
2135 | "extra": {
2136 | "branch-alias": {
2137 | "dev-master": "2.7-dev"
2138 | }
2139 | },
2140 | "autoload": {
2141 | "psr-4": {
2142 | "Symfony\\Component\\Translation\\": ""
2143 | },
2144 | "exclude-from-classmap": [
2145 | "/Tests/"
2146 | ]
2147 | },
2148 | "notification-url": "https://packagist.org/downloads/",
2149 | "license": [
2150 | "MIT"
2151 | ],
2152 | "authors": [
2153 | {
2154 | "name": "Fabien Potencier",
2155 | "email": "fabien@symfony.com"
2156 | },
2157 | {
2158 | "name": "Symfony Community",
2159 | "homepage": "https://symfony.com/contributors"
2160 | }
2161 | ],
2162 | "description": "Symfony Translation Component",
2163 | "homepage": "https://symfony.com",
2164 | "support": {
2165 | "source": "https://github.com/symfony/translation/tree/v2.7.51"
2166 | },
2167 | "time": "2018-05-17T10:34:06+00:00"
2168 | },
2169 | {
2170 | "name": "symfony/var-dumper",
2171 | "version": "v2.7.24",
2172 | "source": {
2173 | "type": "git",
2174 | "url": "https://github.com/symfony/var-dumper.git",
2175 | "reference": "34e560fdaa2e738e08ac6228025d952452d7d8ef"
2176 | },
2177 | "dist": {
2178 | "type": "zip",
2179 | "url": "https://api.github.com/repos/symfony/var-dumper/zipball/34e560fdaa2e738e08ac6228025d952452d7d8ef",
2180 | "reference": "34e560fdaa2e738e08ac6228025d952452d7d8ef",
2181 | "shasum": ""
2182 | },
2183 | "require": {
2184 | "php": ">=5.3.9"
2185 | },
2186 | "suggest": {
2187 | "ext-symfony_debug": ""
2188 | },
2189 | "type": "library",
2190 | "extra": {
2191 | "branch-alias": {
2192 | "dev-master": "2.7-dev"
2193 | }
2194 | },
2195 | "autoload": {
2196 | "files": [
2197 | "Resources/functions/dump.php"
2198 | ],
2199 | "psr-4": {
2200 | "Symfony\\Component\\VarDumper\\": ""
2201 | },
2202 | "exclude-from-classmap": [
2203 | "/Tests/"
2204 | ]
2205 | },
2206 | "notification-url": "https://packagist.org/downloads/",
2207 | "license": [
2208 | "MIT"
2209 | ],
2210 | "authors": [
2211 | {
2212 | "name": "Nicolas Grekas",
2213 | "email": "p@tchwork.com"
2214 | },
2215 | {
2216 | "name": "Symfony Community",
2217 | "homepage": "https://symfony.com/contributors"
2218 | }
2219 | ],
2220 | "description": "Symfony mechanism for exploring and dumping PHP variables",
2221 | "homepage": "https://symfony.com",
2222 | "keywords": [
2223 | "debug",
2224 | "dump"
2225 | ],
2226 | "support": {
2227 | "source": "https://github.com/symfony/var-dumper/tree/2.7"
2228 | },
2229 | "time": "2017-01-21T16:37:26+00:00"
2230 | },
2231 | {
2232 | "name": "twilio/sdk",
2233 | "version": "6.32.0",
2234 | "source": {
2235 | "type": "git",
2236 | "url": "https://github.com/twilio/twilio-php.git",
2237 | "reference": "d4a5ad22e761a14c5e355debb88a6f17640b247c"
2238 | },
2239 | "dist": {
2240 | "type": "zip",
2241 | "url": "https://api.github.com/repos/twilio/twilio-php/zipball/d4a5ad22e761a14c5e355debb88a6f17640b247c",
2242 | "reference": "d4a5ad22e761a14c5e355debb88a6f17640b247c",
2243 | "shasum": ""
2244 | },
2245 | "require": {
2246 | "php": ">=7.1.0"
2247 | },
2248 | "require-dev": {
2249 | "guzzlehttp/guzzle": "^6.3 || ^7.0",
2250 | "phpunit/phpunit": ">=4.5",
2251 | "theseer/phpdox": "^0.12.0"
2252 | },
2253 | "suggest": {
2254 | "guzzlehttp/guzzle": "An HTTP client to execute the API requests"
2255 | },
2256 | "type": "library",
2257 | "autoload": {
2258 | "psr-4": {
2259 | "Twilio\\": "src/Twilio/"
2260 | }
2261 | },
2262 | "notification-url": "https://packagist.org/downloads/",
2263 | "license": [
2264 | "MIT"
2265 | ],
2266 | "authors": [
2267 | {
2268 | "name": "Twilio API Team",
2269 | "email": "api@twilio.com"
2270 | }
2271 | ],
2272 | "description": "A PHP wrapper for Twilio's API",
2273 | "homepage": "http://github.com/twilio/twilio-php",
2274 | "keywords": [
2275 | "api",
2276 | "sms",
2277 | "twilio"
2278 | ],
2279 | "time": "2021-12-15T20:48:09+00:00"
2280 | },
2281 | {
2282 | "name": "vlucas/phpdotenv",
2283 | "version": "v1.1.1",
2284 | "source": {
2285 | "type": "git",
2286 | "url": "https://github.com/vlucas/phpdotenv.git",
2287 | "reference": "0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa"
2288 | },
2289 | "dist": {
2290 | "type": "zip",
2291 | "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa",
2292 | "reference": "0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa",
2293 | "shasum": ""
2294 | },
2295 | "require": {
2296 | "php": ">=5.3.2"
2297 | },
2298 | "require-dev": {
2299 | "phpunit/phpunit": "~4.0"
2300 | },
2301 | "type": "library",
2302 | "autoload": {
2303 | "psr-0": {
2304 | "Dotenv": "src/"
2305 | }
2306 | },
2307 | "notification-url": "https://packagist.org/downloads/",
2308 | "license": [
2309 | "BSD"
2310 | ],
2311 | "authors": [
2312 | {
2313 | "name": "Vance Lucas",
2314 | "email": "vance@vancelucas.com",
2315 | "homepage": "http://www.vancelucas.com"
2316 | }
2317 | ],
2318 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
2319 | "homepage": "http://github.com/vlucas/phpdotenv",
2320 | "keywords": [
2321 | "dotenv",
2322 | "env",
2323 | "environment"
2324 | ],
2325 | "time": "2015-05-30T15:59:26+00:00"
2326 | }
2327 | ],
2328 | "packages-dev": [
2329 | {
2330 | "name": "doctrine/instantiator",
2331 | "version": "1.4.0",
2332 | "source": {
2333 | "type": "git",
2334 | "url": "https://github.com/doctrine/instantiator.git",
2335 | "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b"
2336 | },
2337 | "dist": {
2338 | "type": "zip",
2339 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b",
2340 | "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b",
2341 | "shasum": ""
2342 | },
2343 | "require": {
2344 | "php": "^7.1 || ^8.0"
2345 | },
2346 | "require-dev": {
2347 | "doctrine/coding-standard": "^8.0",
2348 | "ext-pdo": "*",
2349 | "ext-phar": "*",
2350 | "phpbench/phpbench": "^0.13 || 1.0.0-alpha2",
2351 | "phpstan/phpstan": "^0.12",
2352 | "phpstan/phpstan-phpunit": "^0.12",
2353 | "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
2354 | },
2355 | "type": "library",
2356 | "autoload": {
2357 | "psr-4": {
2358 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
2359 | }
2360 | },
2361 | "notification-url": "https://packagist.org/downloads/",
2362 | "license": [
2363 | "MIT"
2364 | ],
2365 | "authors": [
2366 | {
2367 | "name": "Marco Pivetta",
2368 | "email": "ocramius@gmail.com",
2369 | "homepage": "https://ocramius.github.io/"
2370 | }
2371 | ],
2372 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
2373 | "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
2374 | "keywords": [
2375 | "constructor",
2376 | "instantiate"
2377 | ],
2378 | "support": {
2379 | "issues": "https://github.com/doctrine/instantiator/issues",
2380 | "source": "https://github.com/doctrine/instantiator/tree/1.4.0"
2381 | },
2382 | "funding": [
2383 | {
2384 | "url": "https://www.doctrine-project.org/sponsorship.html",
2385 | "type": "custom"
2386 | },
2387 | {
2388 | "url": "https://www.patreon.com/phpdoctrine",
2389 | "type": "patreon"
2390 | },
2391 | {
2392 | "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
2393 | "type": "tidelift"
2394 | }
2395 | ],
2396 | "time": "2020-11-10T18:47:58+00:00"
2397 | },
2398 | {
2399 | "name": "phpdocumentor/reflection-common",
2400 | "version": "2.2.0",
2401 | "source": {
2402 | "type": "git",
2403 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
2404 | "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
2405 | },
2406 | "dist": {
2407 | "type": "zip",
2408 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
2409 | "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
2410 | "shasum": ""
2411 | },
2412 | "require": {
2413 | "php": "^7.2 || ^8.0"
2414 | },
2415 | "type": "library",
2416 | "extra": {
2417 | "branch-alias": {
2418 | "dev-2.x": "2.x-dev"
2419 | }
2420 | },
2421 | "autoload": {
2422 | "psr-4": {
2423 | "phpDocumentor\\Reflection\\": "src/"
2424 | }
2425 | },
2426 | "notification-url": "https://packagist.org/downloads/",
2427 | "license": [
2428 | "MIT"
2429 | ],
2430 | "authors": [
2431 | {
2432 | "name": "Jaap van Otterdijk",
2433 | "email": "opensource@ijaap.nl"
2434 | }
2435 | ],
2436 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
2437 | "homepage": "http://www.phpdoc.org",
2438 | "keywords": [
2439 | "FQSEN",
2440 | "phpDocumentor",
2441 | "phpdoc",
2442 | "reflection",
2443 | "static analysis"
2444 | ],
2445 | "support": {
2446 | "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
2447 | "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
2448 | },
2449 | "time": "2020-06-27T09:03:43+00:00"
2450 | },
2451 | {
2452 | "name": "phpdocumentor/reflection-docblock",
2453 | "version": "5.3.0",
2454 | "source": {
2455 | "type": "git",
2456 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
2457 | "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
2458 | },
2459 | "dist": {
2460 | "type": "zip",
2461 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
2462 | "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
2463 | "shasum": ""
2464 | },
2465 | "require": {
2466 | "ext-filter": "*",
2467 | "php": "^7.2 || ^8.0",
2468 | "phpdocumentor/reflection-common": "^2.2",
2469 | "phpdocumentor/type-resolver": "^1.3",
2470 | "webmozart/assert": "^1.9.1"
2471 | },
2472 | "require-dev": {
2473 | "mockery/mockery": "~1.3.2",
2474 | "psalm/phar": "^4.8"
2475 | },
2476 | "type": "library",
2477 | "extra": {
2478 | "branch-alias": {
2479 | "dev-master": "5.x-dev"
2480 | }
2481 | },
2482 | "autoload": {
2483 | "psr-4": {
2484 | "phpDocumentor\\Reflection\\": "src"
2485 | }
2486 | },
2487 | "notification-url": "https://packagist.org/downloads/",
2488 | "license": [
2489 | "MIT"
2490 | ],
2491 | "authors": [
2492 | {
2493 | "name": "Mike van Riel",
2494 | "email": "me@mikevanriel.com"
2495 | },
2496 | {
2497 | "name": "Jaap van Otterdijk",
2498 | "email": "account@ijaap.nl"
2499 | }
2500 | ],
2501 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
2502 | "support": {
2503 | "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
2504 | "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
2505 | },
2506 | "time": "2021-10-19T17:43:47+00:00"
2507 | },
2508 | {
2509 | "name": "phpdocumentor/type-resolver",
2510 | "version": "1.5.1",
2511 | "source": {
2512 | "type": "git",
2513 | "url": "https://github.com/phpDocumentor/TypeResolver.git",
2514 | "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae"
2515 | },
2516 | "dist": {
2517 | "type": "zip",
2518 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae",
2519 | "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae",
2520 | "shasum": ""
2521 | },
2522 | "require": {
2523 | "php": "^7.2 || ^8.0",
2524 | "phpdocumentor/reflection-common": "^2.0"
2525 | },
2526 | "require-dev": {
2527 | "ext-tokenizer": "*",
2528 | "psalm/phar": "^4.8"
2529 | },
2530 | "type": "library",
2531 | "extra": {
2532 | "branch-alias": {
2533 | "dev-1.x": "1.x-dev"
2534 | }
2535 | },
2536 | "autoload": {
2537 | "psr-4": {
2538 | "phpDocumentor\\Reflection\\": "src"
2539 | }
2540 | },
2541 | "notification-url": "https://packagist.org/downloads/",
2542 | "license": [
2543 | "MIT"
2544 | ],
2545 | "authors": [
2546 | {
2547 | "name": "Mike van Riel",
2548 | "email": "me@mikevanriel.com"
2549 | }
2550 | ],
2551 | "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
2552 | "support": {
2553 | "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
2554 | "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1"
2555 | },
2556 | "time": "2021-10-02T14:08:47+00:00"
2557 | },
2558 | {
2559 | "name": "phpspec/prophecy",
2560 | "version": "v1.10.3",
2561 | "source": {
2562 | "type": "git",
2563 | "url": "https://github.com/phpspec/prophecy.git",
2564 | "reference": "451c3cd1418cf640de218914901e51b064abb093"
2565 | },
2566 | "dist": {
2567 | "type": "zip",
2568 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093",
2569 | "reference": "451c3cd1418cf640de218914901e51b064abb093",
2570 | "shasum": ""
2571 | },
2572 | "require": {
2573 | "doctrine/instantiator": "^1.0.2",
2574 | "php": "^5.3|^7.0",
2575 | "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0",
2576 | "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0",
2577 | "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0"
2578 | },
2579 | "require-dev": {
2580 | "phpspec/phpspec": "^2.5 || ^3.2",
2581 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
2582 | },
2583 | "type": "library",
2584 | "extra": {
2585 | "branch-alias": {
2586 | "dev-master": "1.10.x-dev"
2587 | }
2588 | },
2589 | "autoload": {
2590 | "psr-4": {
2591 | "Prophecy\\": "src/Prophecy"
2592 | }
2593 | },
2594 | "notification-url": "https://packagist.org/downloads/",
2595 | "license": [
2596 | "MIT"
2597 | ],
2598 | "authors": [
2599 | {
2600 | "name": "Konstantin Kudryashov",
2601 | "email": "ever.zet@gmail.com",
2602 | "homepage": "http://everzet.com"
2603 | },
2604 | {
2605 | "name": "Marcello Duarte",
2606 | "email": "marcello.duarte@gmail.com"
2607 | }
2608 | ],
2609 | "description": "Highly opinionated mocking framework for PHP 5.3+",
2610 | "homepage": "https://github.com/phpspec/prophecy",
2611 | "keywords": [
2612 | "Double",
2613 | "Dummy",
2614 | "fake",
2615 | "mock",
2616 | "spy",
2617 | "stub"
2618 | ],
2619 | "support": {
2620 | "issues": "https://github.com/phpspec/prophecy/issues",
2621 | "source": "https://github.com/phpspec/prophecy/tree/v1.10.3"
2622 | },
2623 | "time": "2020-03-05T15:02:03+00:00"
2624 | },
2625 | {
2626 | "name": "phpunit/php-code-coverage",
2627 | "version": "2.2.4",
2628 | "source": {
2629 | "type": "git",
2630 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
2631 | "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
2632 | },
2633 | "dist": {
2634 | "type": "zip",
2635 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
2636 | "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
2637 | "shasum": ""
2638 | },
2639 | "require": {
2640 | "php": ">=5.3.3",
2641 | "phpunit/php-file-iterator": "~1.3",
2642 | "phpunit/php-text-template": "~1.2",
2643 | "phpunit/php-token-stream": "~1.3",
2644 | "sebastian/environment": "^1.3.2",
2645 | "sebastian/version": "~1.0"
2646 | },
2647 | "require-dev": {
2648 | "ext-xdebug": ">=2.1.4",
2649 | "phpunit/phpunit": "~4"
2650 | },
2651 | "suggest": {
2652 | "ext-dom": "*",
2653 | "ext-xdebug": ">=2.2.1",
2654 | "ext-xmlwriter": "*"
2655 | },
2656 | "type": "library",
2657 | "extra": {
2658 | "branch-alias": {
2659 | "dev-master": "2.2.x-dev"
2660 | }
2661 | },
2662 | "autoload": {
2663 | "classmap": [
2664 | "src/"
2665 | ]
2666 | },
2667 | "notification-url": "https://packagist.org/downloads/",
2668 | "license": [
2669 | "BSD-3-Clause"
2670 | ],
2671 | "authors": [
2672 | {
2673 | "name": "Sebastian Bergmann",
2674 | "email": "sb@sebastian-bergmann.de",
2675 | "role": "lead"
2676 | }
2677 | ],
2678 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
2679 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
2680 | "keywords": [
2681 | "coverage",
2682 | "testing",
2683 | "xunit"
2684 | ],
2685 | "time": "2015-10-06T15:47:00+00:00"
2686 | },
2687 | {
2688 | "name": "phpunit/php-file-iterator",
2689 | "version": "1.4.5",
2690 | "source": {
2691 | "type": "git",
2692 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
2693 | "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
2694 | },
2695 | "dist": {
2696 | "type": "zip",
2697 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
2698 | "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
2699 | "shasum": ""
2700 | },
2701 | "require": {
2702 | "php": ">=5.3.3"
2703 | },
2704 | "type": "library",
2705 | "extra": {
2706 | "branch-alias": {
2707 | "dev-master": "1.4.x-dev"
2708 | }
2709 | },
2710 | "autoload": {
2711 | "classmap": [
2712 | "src/"
2713 | ]
2714 | },
2715 | "notification-url": "https://packagist.org/downloads/",
2716 | "license": [
2717 | "BSD-3-Clause"
2718 | ],
2719 | "authors": [
2720 | {
2721 | "name": "Sebastian Bergmann",
2722 | "email": "sb@sebastian-bergmann.de",
2723 | "role": "lead"
2724 | }
2725 | ],
2726 | "description": "FilterIterator implementation that filters files based on a list of suffixes.",
2727 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
2728 | "keywords": [
2729 | "filesystem",
2730 | "iterator"
2731 | ],
2732 | "time": "2017-11-27T13:52:08+00:00"
2733 | },
2734 | {
2735 | "name": "phpunit/php-text-template",
2736 | "version": "1.2.1",
2737 | "source": {
2738 | "type": "git",
2739 | "url": "https://github.com/sebastianbergmann/php-text-template.git",
2740 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
2741 | },
2742 | "dist": {
2743 | "type": "zip",
2744 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
2745 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
2746 | "shasum": ""
2747 | },
2748 | "require": {
2749 | "php": ">=5.3.3"
2750 | },
2751 | "type": "library",
2752 | "autoload": {
2753 | "classmap": [
2754 | "src/"
2755 | ]
2756 | },
2757 | "notification-url": "https://packagist.org/downloads/",
2758 | "license": [
2759 | "BSD-3-Clause"
2760 | ],
2761 | "authors": [
2762 | {
2763 | "name": "Sebastian Bergmann",
2764 | "email": "sebastian@phpunit.de",
2765 | "role": "lead"
2766 | }
2767 | ],
2768 | "description": "Simple template engine.",
2769 | "homepage": "https://github.com/sebastianbergmann/php-text-template/",
2770 | "keywords": [
2771 | "template"
2772 | ],
2773 | "time": "2015-06-21T13:50:34+00:00"
2774 | },
2775 | {
2776 | "name": "phpunit/php-timer",
2777 | "version": "1.0.9",
2778 | "source": {
2779 | "type": "git",
2780 | "url": "https://github.com/sebastianbergmann/php-timer.git",
2781 | "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f"
2782 | },
2783 | "dist": {
2784 | "type": "zip",
2785 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
2786 | "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
2787 | "shasum": ""
2788 | },
2789 | "require": {
2790 | "php": "^5.3.3 || ^7.0"
2791 | },
2792 | "require-dev": {
2793 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
2794 | },
2795 | "type": "library",
2796 | "extra": {
2797 | "branch-alias": {
2798 | "dev-master": "1.0-dev"
2799 | }
2800 | },
2801 | "autoload": {
2802 | "classmap": [
2803 | "src/"
2804 | ]
2805 | },
2806 | "notification-url": "https://packagist.org/downloads/",
2807 | "license": [
2808 | "BSD-3-Clause"
2809 | ],
2810 | "authors": [
2811 | {
2812 | "name": "Sebastian Bergmann",
2813 | "email": "sb@sebastian-bergmann.de",
2814 | "role": "lead"
2815 | }
2816 | ],
2817 | "description": "Utility class for timing",
2818 | "homepage": "https://github.com/sebastianbergmann/php-timer/",
2819 | "keywords": [
2820 | "timer"
2821 | ],
2822 | "time": "2017-02-26T11:10:40+00:00"
2823 | },
2824 | {
2825 | "name": "phpunit/php-token-stream",
2826 | "version": "1.4.12",
2827 | "source": {
2828 | "type": "git",
2829 | "url": "https://github.com/sebastianbergmann/php-token-stream.git",
2830 | "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16"
2831 | },
2832 | "dist": {
2833 | "type": "zip",
2834 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16",
2835 | "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16",
2836 | "shasum": ""
2837 | },
2838 | "require": {
2839 | "ext-tokenizer": "*",
2840 | "php": ">=5.3.3"
2841 | },
2842 | "require-dev": {
2843 | "phpunit/phpunit": "~4.2"
2844 | },
2845 | "type": "library",
2846 | "extra": {
2847 | "branch-alias": {
2848 | "dev-master": "1.4-dev"
2849 | }
2850 | },
2851 | "autoload": {
2852 | "classmap": [
2853 | "src/"
2854 | ]
2855 | },
2856 | "notification-url": "https://packagist.org/downloads/",
2857 | "license": [
2858 | "BSD-3-Clause"
2859 | ],
2860 | "authors": [
2861 | {
2862 | "name": "Sebastian Bergmann",
2863 | "email": "sebastian@phpunit.de"
2864 | }
2865 | ],
2866 | "description": "Wrapper around PHP's tokenizer extension.",
2867 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
2868 | "keywords": [
2869 | "tokenizer"
2870 | ],
2871 | "time": "2017-12-04T08:55:13+00:00"
2872 | },
2873 | {
2874 | "name": "phpunit/phpunit",
2875 | "version": "4.8.28",
2876 | "source": {
2877 | "type": "git",
2878 | "url": "https://github.com/sebastianbergmann/phpunit.git",
2879 | "reference": "558a3a0d28b4cb7e4a593a4fbd2220e787076225"
2880 | },
2881 | "dist": {
2882 | "type": "zip",
2883 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/558a3a0d28b4cb7e4a593a4fbd2220e787076225",
2884 | "reference": "558a3a0d28b4cb7e4a593a4fbd2220e787076225",
2885 | "shasum": ""
2886 | },
2887 | "require": {
2888 | "ext-dom": "*",
2889 | "ext-json": "*",
2890 | "ext-pcre": "*",
2891 | "ext-reflection": "*",
2892 | "ext-spl": "*",
2893 | "php": ">=5.3.3",
2894 | "phpspec/prophecy": "^1.3.1",
2895 | "phpunit/php-code-coverage": "~2.1",
2896 | "phpunit/php-file-iterator": "~1.4",
2897 | "phpunit/php-text-template": "~1.2",
2898 | "phpunit/php-timer": "^1.0.6",
2899 | "phpunit/phpunit-mock-objects": "~2.3",
2900 | "sebastian/comparator": "~1.1",
2901 | "sebastian/diff": "~1.2",
2902 | "sebastian/environment": "~1.3",
2903 | "sebastian/exporter": "~1.2",
2904 | "sebastian/global-state": "~1.0",
2905 | "sebastian/version": "~1.0",
2906 | "symfony/yaml": "~2.1|~3.0"
2907 | },
2908 | "suggest": {
2909 | "phpunit/php-invoker": "~1.1"
2910 | },
2911 | "bin": [
2912 | "phpunit"
2913 | ],
2914 | "type": "library",
2915 | "extra": {
2916 | "branch-alias": {
2917 | "dev-master": "4.8.x-dev"
2918 | }
2919 | },
2920 | "autoload": {
2921 | "classmap": [
2922 | "src/"
2923 | ]
2924 | },
2925 | "notification-url": "https://packagist.org/downloads/",
2926 | "license": [
2927 | "BSD-3-Clause"
2928 | ],
2929 | "authors": [
2930 | {
2931 | "name": "Sebastian Bergmann",
2932 | "email": "sebastian@phpunit.de",
2933 | "role": "lead"
2934 | }
2935 | ],
2936 | "description": "The PHP Unit Testing framework.",
2937 | "homepage": "https://phpunit.de/",
2938 | "keywords": [
2939 | "phpunit",
2940 | "testing",
2941 | "xunit"
2942 | ],
2943 | "time": "2016-11-14T06:25:28+00:00"
2944 | },
2945 | {
2946 | "name": "phpunit/phpunit-mock-objects",
2947 | "version": "2.3.8",
2948 | "source": {
2949 | "type": "git",
2950 | "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
2951 | "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
2952 | },
2953 | "dist": {
2954 | "type": "zip",
2955 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983",
2956 | "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
2957 | "shasum": ""
2958 | },
2959 | "require": {
2960 | "doctrine/instantiator": "^1.0.2",
2961 | "php": ">=5.3.3",
2962 | "phpunit/php-text-template": "~1.2",
2963 | "sebastian/exporter": "~1.2"
2964 | },
2965 | "require-dev": {
2966 | "phpunit/phpunit": "~4.4"
2967 | },
2968 | "suggest": {
2969 | "ext-soap": "*"
2970 | },
2971 | "type": "library",
2972 | "extra": {
2973 | "branch-alias": {
2974 | "dev-master": "2.3.x-dev"
2975 | }
2976 | },
2977 | "autoload": {
2978 | "classmap": [
2979 | "src/"
2980 | ]
2981 | },
2982 | "notification-url": "https://packagist.org/downloads/",
2983 | "license": [
2984 | "BSD-3-Clause"
2985 | ],
2986 | "authors": [
2987 | {
2988 | "name": "Sebastian Bergmann",
2989 | "email": "sb@sebastian-bergmann.de",
2990 | "role": "lead"
2991 | }
2992 | ],
2993 | "description": "Mock Object library for PHPUnit",
2994 | "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
2995 | "keywords": [
2996 | "mock",
2997 | "xunit"
2998 | ],
2999 | "abandoned": true,
3000 | "time": "2015-10-02T06:51:40+00:00"
3001 | },
3002 | {
3003 | "name": "sebastian/comparator",
3004 | "version": "1.2.4",
3005 | "source": {
3006 | "type": "git",
3007 | "url": "https://github.com/sebastianbergmann/comparator.git",
3008 | "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
3009 | },
3010 | "dist": {
3011 | "type": "zip",
3012 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
3013 | "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
3014 | "shasum": ""
3015 | },
3016 | "require": {
3017 | "php": ">=5.3.3",
3018 | "sebastian/diff": "~1.2",
3019 | "sebastian/exporter": "~1.2 || ~2.0"
3020 | },
3021 | "require-dev": {
3022 | "phpunit/phpunit": "~4.4"
3023 | },
3024 | "type": "library",
3025 | "extra": {
3026 | "branch-alias": {
3027 | "dev-master": "1.2.x-dev"
3028 | }
3029 | },
3030 | "autoload": {
3031 | "classmap": [
3032 | "src/"
3033 | ]
3034 | },
3035 | "notification-url": "https://packagist.org/downloads/",
3036 | "license": [
3037 | "BSD-3-Clause"
3038 | ],
3039 | "authors": [
3040 | {
3041 | "name": "Jeff Welch",
3042 | "email": "whatthejeff@gmail.com"
3043 | },
3044 | {
3045 | "name": "Volker Dusch",
3046 | "email": "github@wallbash.com"
3047 | },
3048 | {
3049 | "name": "Bernhard Schussek",
3050 | "email": "bschussek@2bepublished.at"
3051 | },
3052 | {
3053 | "name": "Sebastian Bergmann",
3054 | "email": "sebastian@phpunit.de"
3055 | }
3056 | ],
3057 | "description": "Provides the functionality to compare PHP values for equality",
3058 | "homepage": "http://www.github.com/sebastianbergmann/comparator",
3059 | "keywords": [
3060 | "comparator",
3061 | "compare",
3062 | "equality"
3063 | ],
3064 | "time": "2017-01-29T09:50:25+00:00"
3065 | },
3066 | {
3067 | "name": "sebastian/diff",
3068 | "version": "1.4.3",
3069 | "source": {
3070 | "type": "git",
3071 | "url": "https://github.com/sebastianbergmann/diff.git",
3072 | "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4"
3073 | },
3074 | "dist": {
3075 | "type": "zip",
3076 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4",
3077 | "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4",
3078 | "shasum": ""
3079 | },
3080 | "require": {
3081 | "php": "^5.3.3 || ^7.0"
3082 | },
3083 | "require-dev": {
3084 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
3085 | },
3086 | "type": "library",
3087 | "extra": {
3088 | "branch-alias": {
3089 | "dev-master": "1.4-dev"
3090 | }
3091 | },
3092 | "autoload": {
3093 | "classmap": [
3094 | "src/"
3095 | ]
3096 | },
3097 | "notification-url": "https://packagist.org/downloads/",
3098 | "license": [
3099 | "BSD-3-Clause"
3100 | ],
3101 | "authors": [
3102 | {
3103 | "name": "Kore Nordmann",
3104 | "email": "mail@kore-nordmann.de"
3105 | },
3106 | {
3107 | "name": "Sebastian Bergmann",
3108 | "email": "sebastian@phpunit.de"
3109 | }
3110 | ],
3111 | "description": "Diff implementation",
3112 | "homepage": "https://github.com/sebastianbergmann/diff",
3113 | "keywords": [
3114 | "diff"
3115 | ],
3116 | "time": "2017-05-22T07:24:03+00:00"
3117 | },
3118 | {
3119 | "name": "sebastian/environment",
3120 | "version": "1.3.8",
3121 | "source": {
3122 | "type": "git",
3123 | "url": "https://github.com/sebastianbergmann/environment.git",
3124 | "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea"
3125 | },
3126 | "dist": {
3127 | "type": "zip",
3128 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea",
3129 | "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea",
3130 | "shasum": ""
3131 | },
3132 | "require": {
3133 | "php": "^5.3.3 || ^7.0"
3134 | },
3135 | "require-dev": {
3136 | "phpunit/phpunit": "^4.8 || ^5.0"
3137 | },
3138 | "type": "library",
3139 | "extra": {
3140 | "branch-alias": {
3141 | "dev-master": "1.3.x-dev"
3142 | }
3143 | },
3144 | "autoload": {
3145 | "classmap": [
3146 | "src/"
3147 | ]
3148 | },
3149 | "notification-url": "https://packagist.org/downloads/",
3150 | "license": [
3151 | "BSD-3-Clause"
3152 | ],
3153 | "authors": [
3154 | {
3155 | "name": "Sebastian Bergmann",
3156 | "email": "sebastian@phpunit.de"
3157 | }
3158 | ],
3159 | "description": "Provides functionality to handle HHVM/PHP environments",
3160 | "homepage": "http://www.github.com/sebastianbergmann/environment",
3161 | "keywords": [
3162 | "Xdebug",
3163 | "environment",
3164 | "hhvm"
3165 | ],
3166 | "time": "2016-08-18T05:49:44+00:00"
3167 | },
3168 | {
3169 | "name": "sebastian/exporter",
3170 | "version": "1.2.2",
3171 | "source": {
3172 | "type": "git",
3173 | "url": "https://github.com/sebastianbergmann/exporter.git",
3174 | "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
3175 | },
3176 | "dist": {
3177 | "type": "zip",
3178 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4",
3179 | "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
3180 | "shasum": ""
3181 | },
3182 | "require": {
3183 | "php": ">=5.3.3",
3184 | "sebastian/recursion-context": "~1.0"
3185 | },
3186 | "require-dev": {
3187 | "ext-mbstring": "*",
3188 | "phpunit/phpunit": "~4.4"
3189 | },
3190 | "type": "library",
3191 | "extra": {
3192 | "branch-alias": {
3193 | "dev-master": "1.3.x-dev"
3194 | }
3195 | },
3196 | "autoload": {
3197 | "classmap": [
3198 | "src/"
3199 | ]
3200 | },
3201 | "notification-url": "https://packagist.org/downloads/",
3202 | "license": [
3203 | "BSD-3-Clause"
3204 | ],
3205 | "authors": [
3206 | {
3207 | "name": "Jeff Welch",
3208 | "email": "whatthejeff@gmail.com"
3209 | },
3210 | {
3211 | "name": "Volker Dusch",
3212 | "email": "github@wallbash.com"
3213 | },
3214 | {
3215 | "name": "Bernhard Schussek",
3216 | "email": "bschussek@2bepublished.at"
3217 | },
3218 | {
3219 | "name": "Sebastian Bergmann",
3220 | "email": "sebastian@phpunit.de"
3221 | },
3222 | {
3223 | "name": "Adam Harvey",
3224 | "email": "aharvey@php.net"
3225 | }
3226 | ],
3227 | "description": "Provides the functionality to export PHP variables for visualization",
3228 | "homepage": "http://www.github.com/sebastianbergmann/exporter",
3229 | "keywords": [
3230 | "export",
3231 | "exporter"
3232 | ],
3233 | "time": "2016-06-17T09:04:28+00:00"
3234 | },
3235 | {
3236 | "name": "sebastian/global-state",
3237 | "version": "1.1.1",
3238 | "source": {
3239 | "type": "git",
3240 | "url": "https://github.com/sebastianbergmann/global-state.git",
3241 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
3242 | },
3243 | "dist": {
3244 | "type": "zip",
3245 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
3246 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
3247 | "shasum": ""
3248 | },
3249 | "require": {
3250 | "php": ">=5.3.3"
3251 | },
3252 | "require-dev": {
3253 | "phpunit/phpunit": "~4.2"
3254 | },
3255 | "suggest": {
3256 | "ext-uopz": "*"
3257 | },
3258 | "type": "library",
3259 | "extra": {
3260 | "branch-alias": {
3261 | "dev-master": "1.0-dev"
3262 | }
3263 | },
3264 | "autoload": {
3265 | "classmap": [
3266 | "src/"
3267 | ]
3268 | },
3269 | "notification-url": "https://packagist.org/downloads/",
3270 | "license": [
3271 | "BSD-3-Clause"
3272 | ],
3273 | "authors": [
3274 | {
3275 | "name": "Sebastian Bergmann",
3276 | "email": "sebastian@phpunit.de"
3277 | }
3278 | ],
3279 | "description": "Snapshotting of global state",
3280 | "homepage": "http://www.github.com/sebastianbergmann/global-state",
3281 | "keywords": [
3282 | "global state"
3283 | ],
3284 | "time": "2015-10-12T03:26:01+00:00"
3285 | },
3286 | {
3287 | "name": "sebastian/recursion-context",
3288 | "version": "1.0.5",
3289 | "source": {
3290 | "type": "git",
3291 | "url": "https://github.com/sebastianbergmann/recursion-context.git",
3292 | "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7"
3293 | },
3294 | "dist": {
3295 | "type": "zip",
3296 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
3297 | "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
3298 | "shasum": ""
3299 | },
3300 | "require": {
3301 | "php": ">=5.3.3"
3302 | },
3303 | "require-dev": {
3304 | "phpunit/phpunit": "~4.4"
3305 | },
3306 | "type": "library",
3307 | "extra": {
3308 | "branch-alias": {
3309 | "dev-master": "1.0.x-dev"
3310 | }
3311 | },
3312 | "autoload": {
3313 | "classmap": [
3314 | "src/"
3315 | ]
3316 | },
3317 | "notification-url": "https://packagist.org/downloads/",
3318 | "license": [
3319 | "BSD-3-Clause"
3320 | ],
3321 | "authors": [
3322 | {
3323 | "name": "Jeff Welch",
3324 | "email": "whatthejeff@gmail.com"
3325 | },
3326 | {
3327 | "name": "Sebastian Bergmann",
3328 | "email": "sebastian@phpunit.de"
3329 | },
3330 | {
3331 | "name": "Adam Harvey",
3332 | "email": "aharvey@php.net"
3333 | }
3334 | ],
3335 | "description": "Provides functionality to recursively process PHP variables",
3336 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
3337 | "time": "2016-10-03T07:41:43+00:00"
3338 | },
3339 | {
3340 | "name": "sebastian/version",
3341 | "version": "1.0.6",
3342 | "source": {
3343 | "type": "git",
3344 | "url": "https://github.com/sebastianbergmann/version.git",
3345 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
3346 | },
3347 | "dist": {
3348 | "type": "zip",
3349 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
3350 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
3351 | "shasum": ""
3352 | },
3353 | "type": "library",
3354 | "autoload": {
3355 | "classmap": [
3356 | "src/"
3357 | ]
3358 | },
3359 | "notification-url": "https://packagist.org/downloads/",
3360 | "license": [
3361 | "BSD-3-Clause"
3362 | ],
3363 | "authors": [
3364 | {
3365 | "name": "Sebastian Bergmann",
3366 | "email": "sebastian@phpunit.de",
3367 | "role": "lead"
3368 | }
3369 | ],
3370 | "description": "Library that helps with managing the version number of Git-hosted PHP projects",
3371 | "homepage": "https://github.com/sebastianbergmann/version",
3372 | "time": "2015-06-21T13:59:46+00:00"
3373 | },
3374 | {
3375 | "name": "symfony/yaml",
3376 | "version": "v3.3.18",
3377 | "source": {
3378 | "type": "git",
3379 | "url": "https://github.com/symfony/yaml.git",
3380 | "reference": "af615970e265543a26ee712c958404eb9b7ac93d"
3381 | },
3382 | "dist": {
3383 | "type": "zip",
3384 | "url": "https://api.github.com/repos/symfony/yaml/zipball/af615970e265543a26ee712c958404eb9b7ac93d",
3385 | "reference": "af615970e265543a26ee712c958404eb9b7ac93d",
3386 | "shasum": ""
3387 | },
3388 | "require": {
3389 | "php": "^5.5.9|>=7.0.8"
3390 | },
3391 | "require-dev": {
3392 | "symfony/console": "~2.8|~3.0"
3393 | },
3394 | "suggest": {
3395 | "symfony/console": "For validating YAML files using the lint command"
3396 | },
3397 | "type": "library",
3398 | "extra": {
3399 | "branch-alias": {
3400 | "dev-master": "3.3-dev"
3401 | }
3402 | },
3403 | "autoload": {
3404 | "psr-4": {
3405 | "Symfony\\Component\\Yaml\\": ""
3406 | },
3407 | "exclude-from-classmap": [
3408 | "/Tests/"
3409 | ]
3410 | },
3411 | "notification-url": "https://packagist.org/downloads/",
3412 | "license": [
3413 | "MIT"
3414 | ],
3415 | "authors": [
3416 | {
3417 | "name": "Fabien Potencier",
3418 | "email": "fabien@symfony.com"
3419 | },
3420 | {
3421 | "name": "Symfony Community",
3422 | "homepage": "https://symfony.com/contributors"
3423 | }
3424 | ],
3425 | "description": "Symfony Yaml Component",
3426 | "homepage": "https://symfony.com",
3427 | "time": "2018-01-20T15:04:53+00:00"
3428 | },
3429 | {
3430 | "name": "webmozart/assert",
3431 | "version": "1.10.0",
3432 | "source": {
3433 | "type": "git",
3434 | "url": "https://github.com/webmozarts/assert.git",
3435 | "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25"
3436 | },
3437 | "dist": {
3438 | "type": "zip",
3439 | "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25",
3440 | "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25",
3441 | "shasum": ""
3442 | },
3443 | "require": {
3444 | "php": "^7.2 || ^8.0",
3445 | "symfony/polyfill-ctype": "^1.8"
3446 | },
3447 | "conflict": {
3448 | "phpstan/phpstan": "<0.12.20",
3449 | "vimeo/psalm": "<4.6.1 || 4.6.2"
3450 | },
3451 | "require-dev": {
3452 | "phpunit/phpunit": "^8.5.13"
3453 | },
3454 | "type": "library",
3455 | "extra": {
3456 | "branch-alias": {
3457 | "dev-master": "1.10-dev"
3458 | }
3459 | },
3460 | "autoload": {
3461 | "psr-4": {
3462 | "Webmozart\\Assert\\": "src/"
3463 | }
3464 | },
3465 | "notification-url": "https://packagist.org/downloads/",
3466 | "license": [
3467 | "MIT"
3468 | ],
3469 | "authors": [
3470 | {
3471 | "name": "Bernhard Schussek",
3472 | "email": "bschussek@gmail.com"
3473 | }
3474 | ],
3475 | "description": "Assertions to validate method input/output with nice error messages.",
3476 | "keywords": [
3477 | "assert",
3478 | "check",
3479 | "validate"
3480 | ],
3481 | "support": {
3482 | "issues": "https://github.com/webmozarts/assert/issues",
3483 | "source": "https://github.com/webmozarts/assert/tree/1.10.0"
3484 | },
3485 | "time": "2021-03-09T10:59:23+00:00"
3486 | }
3487 | ],
3488 | "aliases": [],
3489 | "minimum-stability": "stable",
3490 | "stability-flags": [],
3491 | "prefer-stable": false,
3492 | "prefer-lowest": false,
3493 | "platform": {
3494 | "php": ">=5.5.9"
3495 | },
3496 | "platform-dev": [],
3497 | "plugin-api-version": "1.1.0"
3498 | }
3499 |
--------------------------------------------------------------------------------