├── src ├── models │ └── Settings.php ├── templates │ └── settings.twig ├── twig │ └── SerializerExtension.php ├── context │ └── CraftContextProvider.php ├── Plugin.php └── icon.svg ├── composer.json ├── LICENSE ├── LICENCE.md ├── README.md └── composer.lock /src/models/Settings.php: -------------------------------------------------------------------------------- 1 | cache[$schema])){ 22 | $this->cache[$schema] = include_once($path); 23 | } 24 | 25 | $config = $this->cache[$schema]; 26 | 27 | $f = $config[$group]; 28 | $result = $f($data); 29 | 30 | return $result; 31 | } 32 | } -------------------------------------------------------------------------------- /src/context/CraftContextProvider.php: -------------------------------------------------------------------------------- 1 | request = $request; 13 | 14 | } 15 | 16 | public function getContext($serverSide) 17 | { 18 | return [ 19 | 'serverSide' => $serverSide, 20 | 'href' => $this->request->getAbsoluteUrl(), 21 | 'scheme' => $this->request->getIsSecureConnection() ? 'https':'http', 22 | 'host' => $this->request->getHostName(), 23 | "port" => $this->request->getPort(), 24 | "base" => $this->request->getBaseUrl(), 25 | "pathname" => '/' . $this->request->getPathInfo(), 26 | "search" => $this->request->getQueryParams() 27 | ]; 28 | 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Alexandre Kilian 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /LICENCE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Alexandre Kilian 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/Plugin.php: -------------------------------------------------------------------------------- 1 | request->getIsSiteRequest()) { 24 | $env = $this->getSettings()->env; 25 | $serverBundle = CRAFT_BASE_PATH.DIRECTORY_SEPARATOR.$this->getSettings()->serverBundle; 26 | 27 | $contextProvider = new CraftContextProvider(Craft::$app->request); 28 | $renderer = new PhpExecJsReactRenderer($serverBundle, $env != 'client_side', $contextProvider); 29 | $ext = new ReactRenderExtension($renderer, $contextProvider, $env); 30 | $ext2 = new SerializerExtension(); 31 | Craft::$app->view->registerTwigExtension($ext2); 32 | Craft::$app->view->registerTwigExtension($ext); 33 | 34 | } 35 | } 36 | 37 | protected function createSettingsModel() 38 | { 39 | return new Settings(); 40 | } 41 | 42 | protected function settingsHtml() 43 | { 44 | return \Craft::$app->getView()->renderTemplate('react/settings', [ 45 | 'settings' => $this->getSettings() 46 | ]); 47 | } 48 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Craft React 2 | 3 | Craft CMS React Renderer lets you implement React.js client and server-side rendering in your Craft CMS projects. 4 | 5 | It is an implementation of [ReactBundle](https://github.com/Limenius/ReactRenderer) for CraftCMS. For a complete documentation of the core functionality and client examples, as well as problems related to the Renderer itself, please check out [ReactBundle](https://github.com/Limenius/ReactRenderer) or [Symfony React Sandbox](https://github.com/Limenius/symfony-react-sandbox). 6 | 7 | ## Why Server-Side rendering? 8 | By rendering your react components on the server, you not only increase performance and search engine readability for SEO but also enable users with slower connections to be able to access your information before your client bundle has completely loaded. 9 | 10 | ## How it works 11 | Please checkout the [Walkthrough](https://github.com/Limenius/symfony-react-sandbox#walkthrough) for a step by step explanation of the client and twig-side of this plugin. For a JSON-API, we recommend [Elements API for Craft CMS](https://github.com/craftcms/element-api). 12 | 13 | ## Installation 14 | 15 | To install the plugin, follow these instructions: 16 | 1. Open your terminal and go to your Craft project: 17 | 18 | cd /path/to/project 19 | 20 | 2. Then tell Composer to load the plugin: 21 | 22 | composer require alexk/craft-react 23 | 24 | In the Control Panel, go to Settings → Plugins and click the “Install” button for Craft React. 25 | 26 | ## Setup 27 | 28 | In the plugin settings, add the following entries: 29 | 30 | `Environment: "client_side", "server_side" or "both"` 31 | 32 | `Server Bundle: "PATH_TO_SERVER_BUNDLE"` 33 | 34 | or override the settings globally in `config/react.php` 35 | 36 | 37 | ```php 38 | 'client_side', 42 | 'serverBundle' => 'app/server-bundle.js', 43 | ]; 44 | 45 | ``` 46 | 47 | 48 | In your template, add the following TWIG-function where you want your react application to be rendered into: 49 | ```twig 50 | {{ react_component('MyApp', {'props': {entry: entry}}) }} 51 | ``` 52 | 53 | In the props, pass whatever props you want to pass to your root component. 54 | 55 | 56 | ## Serialization 57 | 58 | In order to serialize your entries to create a store or props, the new twig function `serialize(entry, schema = 'entry', group = 'default') ` has been introduced. This allows you to create a php file to serialize your entries. Files should be located in `config/react` and should be named `[schema].php`. 59 | If unspecified, the schema will default to `entry.php` and the group to `default`. 60 | 61 | ```php entry.php 62 | function(Entry $entry){// named after the group 69 | return [ 70 | 'id' => $entry->id, 71 | 'title' => $entry->title, 72 | 'customField' => $entry->customField, 73 | ]; 74 | } 75 | ]; 76 | ``` 77 | 78 | To use it in twig, just pass your current entry and use the result in your store: 79 | 80 | ```twig 81 | {# _entry.twig #} 82 | 83 | {% set serializedBlogPost = serialize(entry,'blog', 'detail') %} 84 | {{ react_component('MyApp', {'props': {blogpost: serializedBlogPost}}) }} 85 | ``` 86 | 87 | This will use the file `config/react/blog.php` 88 | 89 | ```php 90 | function(Entry $entry){ 97 | return [ 98 | 'id' => $entry->id, 99 | 'title' => $entry->title, 100 | 'content' => $entry->content,// custom field 101 | ]; 102 | } 103 | ]; 104 | 105 | ``` 106 | -------------------------------------------------------------------------------- /src/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Custom Preset 2 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /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": "806a4f3831824ac49b114f87925abd4c", 8 | "packages": [ 9 | { 10 | "name": "cebe/markdown", 11 | "version": "1.1.2", 12 | "source": { 13 | "type": "git", 14 | "url": "https://github.com/cebe/markdown.git", 15 | "reference": "25b28bae8a6f185b5030673af77b32e1163d5c6e" 16 | }, 17 | "dist": { 18 | "type": "zip", 19 | "url": "https://api.github.com/repos/cebe/markdown/zipball/25b28bae8a6f185b5030673af77b32e1163d5c6e", 20 | "reference": "25b28bae8a6f185b5030673af77b32e1163d5c6e", 21 | "shasum": "" 22 | }, 23 | "require": { 24 | "lib-pcre": "*", 25 | "php": ">=5.4.0" 26 | }, 27 | "require-dev": { 28 | "cebe/indent": "*", 29 | "facebook/xhprof": "*@dev", 30 | "phpunit/phpunit": "4.1.*" 31 | }, 32 | "bin": [ 33 | "bin/markdown" 34 | ], 35 | "type": "library", 36 | "extra": { 37 | "branch-alias": { 38 | "dev-master": "1.1.x-dev" 39 | } 40 | }, 41 | "autoload": { 42 | "psr-4": { 43 | "cebe\\markdown\\": "" 44 | } 45 | }, 46 | "notification-url": "https://packagist.org/downloads/", 47 | "license": [ 48 | "MIT" 49 | ], 50 | "authors": [ 51 | { 52 | "name": "Carsten Brandt", 53 | "email": "mail@cebe.cc", 54 | "homepage": "http://cebe.cc/", 55 | "role": "Creator" 56 | } 57 | ], 58 | "description": "A super fast, highly extensible markdown parser for PHP", 59 | "homepage": "https://github.com/cebe/markdown#readme", 60 | "keywords": [ 61 | "extensible", 62 | "fast", 63 | "gfm", 64 | "markdown", 65 | "markdown-extra" 66 | ], 67 | "time": "2017-07-16T21:13:23+00:00" 68 | }, 69 | { 70 | "name": "composer/ca-bundle", 71 | "version": "1.1.3", 72 | "source": { 73 | "type": "git", 74 | "url": "https://github.com/composer/ca-bundle.git", 75 | "reference": "8afa52cd417f4ec417b4bfe86b68106538a87660" 76 | }, 77 | "dist": { 78 | "type": "zip", 79 | "url": "https://api.github.com/repos/composer/ca-bundle/zipball/8afa52cd417f4ec417b4bfe86b68106538a87660", 80 | "reference": "8afa52cd417f4ec417b4bfe86b68106538a87660", 81 | "shasum": "" 82 | }, 83 | "require": { 84 | "ext-openssl": "*", 85 | "ext-pcre": "*", 86 | "php": "^5.3.2 || ^7.0" 87 | }, 88 | "require-dev": { 89 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", 90 | "psr/log": "^1.0", 91 | "symfony/process": "^2.5 || ^3.0 || ^4.0" 92 | }, 93 | "type": "library", 94 | "extra": { 95 | "branch-alias": { 96 | "dev-master": "1.x-dev" 97 | } 98 | }, 99 | "autoload": { 100 | "psr-4": { 101 | "Composer\\CaBundle\\": "src" 102 | } 103 | }, 104 | "notification-url": "https://packagist.org/downloads/", 105 | "license": [ 106 | "MIT" 107 | ], 108 | "authors": [ 109 | { 110 | "name": "Jordi Boggiano", 111 | "email": "j.boggiano@seld.be", 112 | "homepage": "http://seld.be" 113 | } 114 | ], 115 | "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", 116 | "keywords": [ 117 | "cabundle", 118 | "cacert", 119 | "certificate", 120 | "ssl", 121 | "tls" 122 | ], 123 | "time": "2018-10-18T06:09:13+00:00" 124 | }, 125 | { 126 | "name": "composer/composer", 127 | "version": "1.6.3", 128 | "source": { 129 | "type": "git", 130 | "url": "https://github.com/composer/composer.git", 131 | "reference": "88a69fda0f2187ad8714cedffd7a8872dceaa4c2" 132 | }, 133 | "dist": { 134 | "type": "zip", 135 | "url": "https://api.github.com/repos/composer/composer/zipball/88a69fda0f2187ad8714cedffd7a8872dceaa4c2", 136 | "reference": "88a69fda0f2187ad8714cedffd7a8872dceaa4c2", 137 | "shasum": "" 138 | }, 139 | "require": { 140 | "composer/ca-bundle": "^1.0", 141 | "composer/semver": "^1.0", 142 | "composer/spdx-licenses": "^1.2", 143 | "justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0", 144 | "php": "^5.3.2 || ^7.0", 145 | "psr/log": "^1.0", 146 | "seld/cli-prompt": "^1.0", 147 | "seld/jsonlint": "^1.4", 148 | "seld/phar-utils": "^1.0", 149 | "symfony/console": "^2.7 || ^3.0 || ^4.0", 150 | "symfony/filesystem": "^2.7 || ^3.0 || ^4.0", 151 | "symfony/finder": "^2.7 || ^3.0 || ^4.0", 152 | "symfony/process": "^2.7 || ^3.0 || ^4.0" 153 | }, 154 | "require-dev": { 155 | "phpunit/phpunit": "^4.8.35 || ^5.7", 156 | "phpunit/phpunit-mock-objects": "^2.3 || ^3.0" 157 | }, 158 | "suggest": { 159 | "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", 160 | "ext-zip": "Enabling the zip extension allows you to unzip archives", 161 | "ext-zlib": "Allow gzip compression of HTTP requests" 162 | }, 163 | "bin": [ 164 | "bin/composer" 165 | ], 166 | "type": "library", 167 | "extra": { 168 | "branch-alias": { 169 | "dev-master": "1.6-dev" 170 | } 171 | }, 172 | "autoload": { 173 | "psr-4": { 174 | "Composer\\": "src/Composer" 175 | } 176 | }, 177 | "notification-url": "https://packagist.org/downloads/", 178 | "license": [ 179 | "MIT" 180 | ], 181 | "authors": [ 182 | { 183 | "name": "Nils Adermann", 184 | "email": "naderman@naderman.de", 185 | "homepage": "http://www.naderman.de" 186 | }, 187 | { 188 | "name": "Jordi Boggiano", 189 | "email": "j.boggiano@seld.be", 190 | "homepage": "http://seld.be" 191 | } 192 | ], 193 | "description": "Composer helps you declare, manage and install dependencies of PHP projects, ensuring you have the right stack everywhere.", 194 | "homepage": "https://getcomposer.org/", 195 | "keywords": [ 196 | "autoload", 197 | "dependency", 198 | "package" 199 | ], 200 | "time": "2018-01-31T15:28:18+00:00" 201 | }, 202 | { 203 | "name": "composer/semver", 204 | "version": "1.4.2", 205 | "source": { 206 | "type": "git", 207 | "url": "https://github.com/composer/semver.git", 208 | "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573" 209 | }, 210 | "dist": { 211 | "type": "zip", 212 | "url": "https://api.github.com/repos/composer/semver/zipball/c7cb9a2095a074d131b65a8a0cd294479d785573", 213 | "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573", 214 | "shasum": "" 215 | }, 216 | "require": { 217 | "php": "^5.3.2 || ^7.0" 218 | }, 219 | "require-dev": { 220 | "phpunit/phpunit": "^4.5 || ^5.0.5", 221 | "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" 222 | }, 223 | "type": "library", 224 | "extra": { 225 | "branch-alias": { 226 | "dev-master": "1.x-dev" 227 | } 228 | }, 229 | "autoload": { 230 | "psr-4": { 231 | "Composer\\Semver\\": "src" 232 | } 233 | }, 234 | "notification-url": "https://packagist.org/downloads/", 235 | "license": [ 236 | "MIT" 237 | ], 238 | "authors": [ 239 | { 240 | "name": "Nils Adermann", 241 | "email": "naderman@naderman.de", 242 | "homepage": "http://www.naderman.de" 243 | }, 244 | { 245 | "name": "Jordi Boggiano", 246 | "email": "j.boggiano@seld.be", 247 | "homepage": "http://seld.be" 248 | }, 249 | { 250 | "name": "Rob Bast", 251 | "email": "rob.bast@gmail.com", 252 | "homepage": "http://robbast.nl" 253 | } 254 | ], 255 | "description": "Semver library that offers utilities, version constraint parsing and validation.", 256 | "keywords": [ 257 | "semantic", 258 | "semver", 259 | "validation", 260 | "versioning" 261 | ], 262 | "time": "2016-08-30T16:08:34+00:00" 263 | }, 264 | { 265 | "name": "composer/spdx-licenses", 266 | "version": "1.5.0", 267 | "source": { 268 | "type": "git", 269 | "url": "https://github.com/composer/spdx-licenses.git", 270 | "reference": "7a9556b22bd9d4df7cad89876b00af58ef20d3a2" 271 | }, 272 | "dist": { 273 | "type": "zip", 274 | "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/7a9556b22bd9d4df7cad89876b00af58ef20d3a2", 275 | "reference": "7a9556b22bd9d4df7cad89876b00af58ef20d3a2", 276 | "shasum": "" 277 | }, 278 | "require": { 279 | "php": "^5.3.2 || ^7.0" 280 | }, 281 | "require-dev": { 282 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", 283 | "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" 284 | }, 285 | "type": "library", 286 | "extra": { 287 | "branch-alias": { 288 | "dev-master": "1.x-dev" 289 | } 290 | }, 291 | "autoload": { 292 | "psr-4": { 293 | "Composer\\Spdx\\": "src" 294 | } 295 | }, 296 | "notification-url": "https://packagist.org/downloads/", 297 | "license": [ 298 | "MIT" 299 | ], 300 | "authors": [ 301 | { 302 | "name": "Nils Adermann", 303 | "email": "naderman@naderman.de", 304 | "homepage": "http://www.naderman.de" 305 | }, 306 | { 307 | "name": "Jordi Boggiano", 308 | "email": "j.boggiano@seld.be", 309 | "homepage": "http://seld.be" 310 | }, 311 | { 312 | "name": "Rob Bast", 313 | "email": "rob.bast@gmail.com", 314 | "homepage": "http://robbast.nl" 315 | } 316 | ], 317 | "description": "SPDX licenses list and validation library.", 318 | "keywords": [ 319 | "license", 320 | "spdx", 321 | "validator" 322 | ], 323 | "time": "2018-11-01T09:45:54+00:00" 324 | }, 325 | { 326 | "name": "craftcms/cms", 327 | "version": "3.0.35", 328 | "source": { 329 | "type": "git", 330 | "url": "https://github.com/craftcms/cms.git", 331 | "reference": "620afa6ed9d036ee1910480e8d01789d623a6ff7" 332 | }, 333 | "dist": { 334 | "type": "zip", 335 | "url": "https://api.github.com/repos/craftcms/cms/zipball/620afa6ed9d036ee1910480e8d01789d623a6ff7", 336 | "reference": "620afa6ed9d036ee1910480e8d01789d623a6ff7", 337 | "shasum": "" 338 | }, 339 | "require": { 340 | "composer/composer": "1.6.3", 341 | "craftcms/oauth2-craftid": "~1.0.0", 342 | "craftcms/plugin-installer": "~1.5.0", 343 | "craftcms/server-check": "~1.1.0", 344 | "creocoder/yii2-nested-sets": "~0.9.0", 345 | "danielstjules/stringy": "^3.1.0", 346 | "elvanto/litemoji": "^1.3.1", 347 | "enshrined/svg-sanitize": "~0.9.0", 348 | "ext-curl": "*", 349 | "ext-dom": "*", 350 | "ext-json": "*", 351 | "ext-mbstring": "*", 352 | "ext-openssl": "*", 353 | "ext-pcre": "*", 354 | "ext-pdo": "*", 355 | "ext-zip": "*", 356 | "guzzlehttp/guzzle": "^6.3.0", 357 | "league/flysystem": "^1.0.35", 358 | "league/oauth2-client": "^2.2.1", 359 | "mikehaertl/php-shellcommand": "^1.2.5", 360 | "php": ">=7.0.0", 361 | "pixelandtonic/imagine": "~0.7.1.2", 362 | "seld/cli-prompt": "^1.0.3", 363 | "true/punycode": "^2.1.0", 364 | "twig/twig": "^2.5.0", 365 | "yiisoft/yii2": "~2.0.15.1", 366 | "yiisoft/yii2-debug": "^2.0.10", 367 | "yiisoft/yii2-queue": "2.1.0", 368 | "yiisoft/yii2-swiftmailer": "^2.1.0", 369 | "zendframework/zend-feed": "^2.8.0" 370 | }, 371 | "conflict": { 372 | "league/oauth2-client": "2.4.0" 373 | }, 374 | "provide": { 375 | "bower-asset/bootstrap": "3.3.* | 3.2.* | 3.1.*", 376 | "bower-asset/inputmask": "~3.2.2 | ~3.3.5", 377 | "bower-asset/jquery": "3.2.*@stable | 3.1.*@stable | 2.2.*@stable | 2.1.*@stable | 1.11.*@stable | 1.12.*@stable", 378 | "bower-asset/punycode": "1.3.*", 379 | "bower-asset/yii2-pjax": "~2.0.1" 380 | }, 381 | "require-dev": { 382 | "codeception/codeception": "^2.4", 383 | "codeception/mockery-module": "~0.2.2", 384 | "codeception/specify": "~0.4.6", 385 | "codeception/verify": "~0.3.3" 386 | }, 387 | "suggest": { 388 | "ext-iconv": "Adds support for more character encodings than PHP’s built-in mb_convert_encoding() function, which Craft will take advantage of when converting strings to UTF-8.", 389 | "ext-imagick": "Adds support for more image processing formats and options.", 390 | "ext-intl": "Adds rich internationalization support." 391 | }, 392 | "type": "library", 393 | "autoload": { 394 | "psr-4": { 395 | "craft\\": "src/" 396 | } 397 | }, 398 | "notification-url": "https://packagist.org/downloads/", 399 | "license": [ 400 | "proprietary" 401 | ], 402 | "description": "Craft CMS", 403 | "homepage": "https://craftcms.com", 404 | "keywords": [ 405 | "cms", 406 | "craftcms", 407 | "yii2" 408 | ], 409 | "time": "2018-12-11T18:12:34+00:00" 410 | }, 411 | { 412 | "name": "craftcms/oauth2-craftid", 413 | "version": "1.0.0.1", 414 | "source": { 415 | "type": "git", 416 | "url": "https://github.com/craftcms/oauth2-craftid.git", 417 | "reference": "3f18364139d72d83fb50546d85130beaaa868836" 418 | }, 419 | "dist": { 420 | "type": "zip", 421 | "url": "https://api.github.com/repos/craftcms/oauth2-craftid/zipball/3f18364139d72d83fb50546d85130beaaa868836", 422 | "reference": "3f18364139d72d83fb50546d85130beaaa868836", 423 | "shasum": "" 424 | }, 425 | "require": { 426 | "league/oauth2-client": "^2.2.1" 427 | }, 428 | "require-dev": { 429 | "phpunit/phpunit": "^5.0", 430 | "satooshi/php-coveralls": "^1.0", 431 | "squizlabs/php_codesniffer": "^2.0" 432 | }, 433 | "type": "library", 434 | "autoload": { 435 | "psr-4": { 436 | "craftcms\\oauth2\\client\\": "src/" 437 | } 438 | }, 439 | "notification-url": "https://packagist.org/downloads/", 440 | "license": [ 441 | "MIT" 442 | ], 443 | "authors": [ 444 | { 445 | "name": "Pixel & Tonic", 446 | "homepage": "https://pixelandtonic.com/" 447 | } 448 | ], 449 | "description": "Craft OAuth 2.0 Client Provider for The PHP League OAuth2-Client", 450 | "keywords": [ 451 | "Authentication", 452 | "authorization", 453 | "client", 454 | "cms", 455 | "craftcms", 456 | "craftid", 457 | "oauth", 458 | "oauth2" 459 | ], 460 | "time": "2017-11-22T19:46:18+00:00" 461 | }, 462 | { 463 | "name": "craftcms/plugin-installer", 464 | "version": "1.5.2", 465 | "source": { 466 | "type": "git", 467 | "url": "https://github.com/craftcms/plugin-installer.git", 468 | "reference": "2b75646ce7091d24ef053e8d0b45f89cab04b16f" 469 | }, 470 | "dist": { 471 | "type": "zip", 472 | "url": "https://api.github.com/repos/craftcms/plugin-installer/zipball/2b75646ce7091d24ef053e8d0b45f89cab04b16f", 473 | "reference": "2b75646ce7091d24ef053e8d0b45f89cab04b16f", 474 | "shasum": "" 475 | }, 476 | "require": { 477 | "composer-plugin-api": "^1.0" 478 | }, 479 | "type": "composer-plugin", 480 | "extra": { 481 | "class": "craft\\composer\\Plugin" 482 | }, 483 | "autoload": { 484 | "psr-4": { 485 | "craft\\composer\\": "src/" 486 | } 487 | }, 488 | "notification-url": "https://packagist.org/downloads/", 489 | "license": [ 490 | "MIT" 491 | ], 492 | "description": "Craft CMS Plugin Installer", 493 | "homepage": "https://craftcms.com/", 494 | "keywords": [ 495 | "cms", 496 | "composer", 497 | "craftcms", 498 | "installer", 499 | "plugin" 500 | ], 501 | "time": "2017-07-25T13:26:24+00:00" 502 | }, 503 | { 504 | "name": "craftcms/server-check", 505 | "version": "1.1.6", 506 | "source": { 507 | "type": "git", 508 | "url": "https://github.com/craftcms/server-check.git", 509 | "reference": "309d2952842c7f96b36dea00c0944a606624feaf" 510 | }, 511 | "dist": { 512 | "type": "zip", 513 | "url": "https://api.github.com/repos/craftcms/server-check/zipball/309d2952842c7f96b36dea00c0944a606624feaf", 514 | "reference": "309d2952842c7f96b36dea00c0944a606624feaf", 515 | "shasum": "" 516 | }, 517 | "type": "library", 518 | "autoload": { 519 | "classmap": [ 520 | "server/requirements" 521 | ] 522 | }, 523 | "notification-url": "https://packagist.org/downloads/", 524 | "license": [ 525 | "MIT" 526 | ], 527 | "description": "Craft CMS Server Check", 528 | "homepage": "https://craftcms.com/", 529 | "keywords": [ 530 | "cms", 531 | "craftcms", 532 | "requirements", 533 | "yii2" 534 | ], 535 | "time": "2018-08-17T23:47:59+00:00" 536 | }, 537 | { 538 | "name": "creocoder/yii2-nested-sets", 539 | "version": "0.9.0", 540 | "source": { 541 | "type": "git", 542 | "url": "https://github.com/creocoder/yii2-nested-sets.git", 543 | "reference": "cb8635a459b6246e5a144f096b992dcc30cf9954" 544 | }, 545 | "dist": { 546 | "type": "zip", 547 | "url": "https://api.github.com/repos/creocoder/yii2-nested-sets/zipball/cb8635a459b6246e5a144f096b992dcc30cf9954", 548 | "reference": "cb8635a459b6246e5a144f096b992dcc30cf9954", 549 | "shasum": "" 550 | }, 551 | "require": { 552 | "yiisoft/yii2": "*" 553 | }, 554 | "type": "yii2-extension", 555 | "autoload": { 556 | "psr-4": { 557 | "creocoder\\nestedsets\\": "src" 558 | } 559 | }, 560 | "notification-url": "https://packagist.org/downloads/", 561 | "license": [ 562 | "BSD-3-Clause" 563 | ], 564 | "authors": [ 565 | { 566 | "name": "Alexander Kochetov", 567 | "email": "creocoder@gmail.com" 568 | } 569 | ], 570 | "description": "The nested sets behavior for the Yii framework", 571 | "keywords": [ 572 | "nested sets", 573 | "yii2" 574 | ], 575 | "time": "2015-01-27T10:53:51+00:00" 576 | }, 577 | { 578 | "name": "danielstjules/stringy", 579 | "version": "3.1.0", 580 | "source": { 581 | "type": "git", 582 | "url": "https://github.com/danielstjules/Stringy.git", 583 | "reference": "df24ab62d2d8213bbbe88cc36fc35a4503b4bd7e" 584 | }, 585 | "dist": { 586 | "type": "zip", 587 | "url": "https://api.github.com/repos/danielstjules/Stringy/zipball/df24ab62d2d8213bbbe88cc36fc35a4503b4bd7e", 588 | "reference": "df24ab62d2d8213bbbe88cc36fc35a4503b4bd7e", 589 | "shasum": "" 590 | }, 591 | "require": { 592 | "php": ">=5.4.0", 593 | "symfony/polyfill-mbstring": "~1.1" 594 | }, 595 | "require-dev": { 596 | "phpunit/phpunit": "~4.0" 597 | }, 598 | "type": "library", 599 | "autoload": { 600 | "psr-4": { 601 | "Stringy\\": "src/" 602 | }, 603 | "files": [ 604 | "src/Create.php" 605 | ] 606 | }, 607 | "notification-url": "https://packagist.org/downloads/", 608 | "license": [ 609 | "MIT" 610 | ], 611 | "authors": [ 612 | { 613 | "name": "Daniel St. Jules", 614 | "email": "danielst.jules@gmail.com", 615 | "homepage": "http://www.danielstjules.com" 616 | } 617 | ], 618 | "description": "A string manipulation library with multibyte support", 619 | "homepage": "https://github.com/danielstjules/Stringy", 620 | "keywords": [ 621 | "UTF", 622 | "helpers", 623 | "manipulation", 624 | "methods", 625 | "multibyte", 626 | "string", 627 | "utf-8", 628 | "utility", 629 | "utils" 630 | ], 631 | "time": "2017-06-12T01:10:27+00:00" 632 | }, 633 | { 634 | "name": "doctrine/lexer", 635 | "version": "v1.0.1", 636 | "source": { 637 | "type": "git", 638 | "url": "https://github.com/doctrine/lexer.git", 639 | "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" 640 | }, 641 | "dist": { 642 | "type": "zip", 643 | "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", 644 | "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", 645 | "shasum": "" 646 | }, 647 | "require": { 648 | "php": ">=5.3.2" 649 | }, 650 | "type": "library", 651 | "extra": { 652 | "branch-alias": { 653 | "dev-master": "1.0.x-dev" 654 | } 655 | }, 656 | "autoload": { 657 | "psr-0": { 658 | "Doctrine\\Common\\Lexer\\": "lib/" 659 | } 660 | }, 661 | "notification-url": "https://packagist.org/downloads/", 662 | "license": [ 663 | "MIT" 664 | ], 665 | "authors": [ 666 | { 667 | "name": "Roman Borschel", 668 | "email": "roman@code-factory.org" 669 | }, 670 | { 671 | "name": "Guilherme Blanco", 672 | "email": "guilhermeblanco@gmail.com" 673 | }, 674 | { 675 | "name": "Johannes Schmitt", 676 | "email": "schmittjoh@gmail.com" 677 | } 678 | ], 679 | "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", 680 | "homepage": "http://www.doctrine-project.org", 681 | "keywords": [ 682 | "lexer", 683 | "parser" 684 | ], 685 | "time": "2014-09-09T13:34:57+00:00" 686 | }, 687 | { 688 | "name": "egulias/email-validator", 689 | "version": "2.1.7", 690 | "source": { 691 | "type": "git", 692 | "url": "https://github.com/egulias/EmailValidator.git", 693 | "reference": "709f21f92707308cdf8f9bcfa1af4cb26586521e" 694 | }, 695 | "dist": { 696 | "type": "zip", 697 | "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/709f21f92707308cdf8f9bcfa1af4cb26586521e", 698 | "reference": "709f21f92707308cdf8f9bcfa1af4cb26586521e", 699 | "shasum": "" 700 | }, 701 | "require": { 702 | "doctrine/lexer": "^1.0.1", 703 | "php": ">= 5.5" 704 | }, 705 | "require-dev": { 706 | "dominicsayers/isemail": "dev-master", 707 | "phpunit/phpunit": "^4.8.35||^5.7||^6.0", 708 | "satooshi/php-coveralls": "^1.0.1" 709 | }, 710 | "suggest": { 711 | "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" 712 | }, 713 | "type": "library", 714 | "extra": { 715 | "branch-alias": { 716 | "dev-master": "2.0.x-dev" 717 | } 718 | }, 719 | "autoload": { 720 | "psr-4": { 721 | "Egulias\\EmailValidator\\": "EmailValidator" 722 | } 723 | }, 724 | "notification-url": "https://packagist.org/downloads/", 725 | "license": [ 726 | "MIT" 727 | ], 728 | "authors": [ 729 | { 730 | "name": "Eduardo Gulias Davis" 731 | } 732 | ], 733 | "description": "A library for validating emails against several RFCs", 734 | "homepage": "https://github.com/egulias/EmailValidator", 735 | "keywords": [ 736 | "email", 737 | "emailvalidation", 738 | "emailvalidator", 739 | "validation", 740 | "validator" 741 | ], 742 | "time": "2018-12-04T22:38:24+00:00" 743 | }, 744 | { 745 | "name": "elvanto/litemoji", 746 | "version": "1.4.4", 747 | "source": { 748 | "type": "git", 749 | "url": "https://github.com/elvanto/litemoji.git", 750 | "reference": "17bf635e4d1a5b4d35d2cadf153cd589b78af7f0" 751 | }, 752 | "dist": { 753 | "type": "zip", 754 | "url": "https://api.github.com/repos/elvanto/litemoji/zipball/17bf635e4d1a5b4d35d2cadf153cd589b78af7f0", 755 | "reference": "17bf635e4d1a5b4d35d2cadf153cd589b78af7f0", 756 | "shasum": "" 757 | }, 758 | "require": { 759 | "php": ">=5.4" 760 | }, 761 | "require-dev": { 762 | "milesj/emojibase": "3.1.0", 763 | "phpunit/phpunit": "^5.0" 764 | }, 765 | "type": "library", 766 | "autoload": { 767 | "psr-4": { 768 | "LitEmoji\\": "src/" 769 | } 770 | }, 771 | "notification-url": "https://packagist.org/downloads/", 772 | "license": [ 773 | "MIT" 774 | ], 775 | "description": "A PHP library simplifying the conversion of unicode, HTML and shortcode emoji.", 776 | "keywords": [ 777 | "emoji", 778 | "php-emoji" 779 | ], 780 | "time": "2018-09-28T05:23:38+00:00" 781 | }, 782 | { 783 | "name": "enshrined/svg-sanitize", 784 | "version": "0.9.2", 785 | "source": { 786 | "type": "git", 787 | "url": "https://github.com/darylldoyle/svg-sanitizer.git", 788 | "reference": "e0cb5ad3abea5459e0962cf79a92d34714c74dfa" 789 | }, 790 | "dist": { 791 | "type": "zip", 792 | "url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/e0cb5ad3abea5459e0962cf79a92d34714c74dfa", 793 | "reference": "e0cb5ad3abea5459e0962cf79a92d34714c74dfa", 794 | "shasum": "" 795 | }, 796 | "require-dev": { 797 | "codeclimate/php-test-reporter": "^0.1.2", 798 | "phpunit/phpunit": "^6" 799 | }, 800 | "type": "library", 801 | "autoload": { 802 | "psr-4": { 803 | "enshrined\\svgSanitize\\": "src" 804 | } 805 | }, 806 | "notification-url": "https://packagist.org/downloads/", 807 | "license": [ 808 | "GPL-2.0+" 809 | ], 810 | "authors": [ 811 | { 812 | "name": "Daryll Doyle", 813 | "email": "daryll@enshrined.co.uk" 814 | } 815 | ], 816 | "description": "An SVG sanitizer for PHP", 817 | "time": "2018-10-01T17:11:02+00:00" 818 | }, 819 | { 820 | "name": "ezyang/htmlpurifier", 821 | "version": "v4.10.0", 822 | "source": { 823 | "type": "git", 824 | "url": "https://github.com/ezyang/htmlpurifier.git", 825 | "reference": "d85d39da4576a6934b72480be6978fb10c860021" 826 | }, 827 | "dist": { 828 | "type": "zip", 829 | "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/d85d39da4576a6934b72480be6978fb10c860021", 830 | "reference": "d85d39da4576a6934b72480be6978fb10c860021", 831 | "shasum": "" 832 | }, 833 | "require": { 834 | "php": ">=5.2" 835 | }, 836 | "require-dev": { 837 | "simpletest/simpletest": "^1.1" 838 | }, 839 | "type": "library", 840 | "autoload": { 841 | "psr-0": { 842 | "HTMLPurifier": "library/" 843 | }, 844 | "files": [ 845 | "library/HTMLPurifier.composer.php" 846 | ] 847 | }, 848 | "notification-url": "https://packagist.org/downloads/", 849 | "license": [ 850 | "LGPL" 851 | ], 852 | "authors": [ 853 | { 854 | "name": "Edward Z. Yang", 855 | "email": "admin@htmlpurifier.org", 856 | "homepage": "http://ezyang.com" 857 | } 858 | ], 859 | "description": "Standards compliant HTML filter written in PHP", 860 | "homepage": "http://htmlpurifier.org/", 861 | "keywords": [ 862 | "html" 863 | ], 864 | "time": "2018-02-23T01:58:20+00:00" 865 | }, 866 | { 867 | "name": "guzzlehttp/guzzle", 868 | "version": "6.3.3", 869 | "source": { 870 | "type": "git", 871 | "url": "https://github.com/guzzle/guzzle.git", 872 | "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba" 873 | }, 874 | "dist": { 875 | "type": "zip", 876 | "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", 877 | "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", 878 | "shasum": "" 879 | }, 880 | "require": { 881 | "guzzlehttp/promises": "^1.0", 882 | "guzzlehttp/psr7": "^1.4", 883 | "php": ">=5.5" 884 | }, 885 | "require-dev": { 886 | "ext-curl": "*", 887 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", 888 | "psr/log": "^1.0" 889 | }, 890 | "suggest": { 891 | "psr/log": "Required for using the Log middleware" 892 | }, 893 | "type": "library", 894 | "extra": { 895 | "branch-alias": { 896 | "dev-master": "6.3-dev" 897 | } 898 | }, 899 | "autoload": { 900 | "files": [ 901 | "src/functions_include.php" 902 | ], 903 | "psr-4": { 904 | "GuzzleHttp\\": "src/" 905 | } 906 | }, 907 | "notification-url": "https://packagist.org/downloads/", 908 | "license": [ 909 | "MIT" 910 | ], 911 | "authors": [ 912 | { 913 | "name": "Michael Dowling", 914 | "email": "mtdowling@gmail.com", 915 | "homepage": "https://github.com/mtdowling" 916 | } 917 | ], 918 | "description": "Guzzle is a PHP HTTP client library", 919 | "homepage": "http://guzzlephp.org/", 920 | "keywords": [ 921 | "client", 922 | "curl", 923 | "framework", 924 | "http", 925 | "http client", 926 | "rest", 927 | "web service" 928 | ], 929 | "time": "2018-04-22T15:46:56+00:00" 930 | }, 931 | { 932 | "name": "guzzlehttp/promises", 933 | "version": "v1.3.1", 934 | "source": { 935 | "type": "git", 936 | "url": "https://github.com/guzzle/promises.git", 937 | "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" 938 | }, 939 | "dist": { 940 | "type": "zip", 941 | "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", 942 | "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", 943 | "shasum": "" 944 | }, 945 | "require": { 946 | "php": ">=5.5.0" 947 | }, 948 | "require-dev": { 949 | "phpunit/phpunit": "^4.0" 950 | }, 951 | "type": "library", 952 | "extra": { 953 | "branch-alias": { 954 | "dev-master": "1.4-dev" 955 | } 956 | }, 957 | "autoload": { 958 | "psr-4": { 959 | "GuzzleHttp\\Promise\\": "src/" 960 | }, 961 | "files": [ 962 | "src/functions_include.php" 963 | ] 964 | }, 965 | "notification-url": "https://packagist.org/downloads/", 966 | "license": [ 967 | "MIT" 968 | ], 969 | "authors": [ 970 | { 971 | "name": "Michael Dowling", 972 | "email": "mtdowling@gmail.com", 973 | "homepage": "https://github.com/mtdowling" 974 | } 975 | ], 976 | "description": "Guzzle promises library", 977 | "keywords": [ 978 | "promise" 979 | ], 980 | "time": "2016-12-20T10:07:11+00:00" 981 | }, 982 | { 983 | "name": "guzzlehttp/psr7", 984 | "version": "1.5.2", 985 | "source": { 986 | "type": "git", 987 | "url": "https://github.com/guzzle/psr7.git", 988 | "reference": "9f83dded91781a01c63574e387eaa769be769115" 989 | }, 990 | "dist": { 991 | "type": "zip", 992 | "url": "https://api.github.com/repos/guzzle/psr7/zipball/9f83dded91781a01c63574e387eaa769be769115", 993 | "reference": "9f83dded91781a01c63574e387eaa769be769115", 994 | "shasum": "" 995 | }, 996 | "require": { 997 | "php": ">=5.4.0", 998 | "psr/http-message": "~1.0", 999 | "ralouphie/getallheaders": "^2.0.5" 1000 | }, 1001 | "provide": { 1002 | "psr/http-message-implementation": "1.0" 1003 | }, 1004 | "require-dev": { 1005 | "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" 1006 | }, 1007 | "type": "library", 1008 | "extra": { 1009 | "branch-alias": { 1010 | "dev-master": "1.5-dev" 1011 | } 1012 | }, 1013 | "autoload": { 1014 | "psr-4": { 1015 | "GuzzleHttp\\Psr7\\": "src/" 1016 | }, 1017 | "files": [ 1018 | "src/functions_include.php" 1019 | ] 1020 | }, 1021 | "notification-url": "https://packagist.org/downloads/", 1022 | "license": [ 1023 | "MIT" 1024 | ], 1025 | "authors": [ 1026 | { 1027 | "name": "Michael Dowling", 1028 | "email": "mtdowling@gmail.com", 1029 | "homepage": "https://github.com/mtdowling" 1030 | }, 1031 | { 1032 | "name": "Tobias Schultze", 1033 | "homepage": "https://github.com/Tobion" 1034 | } 1035 | ], 1036 | "description": "PSR-7 message implementation that also provides common utility methods", 1037 | "keywords": [ 1038 | "http", 1039 | "message", 1040 | "psr-7", 1041 | "request", 1042 | "response", 1043 | "stream", 1044 | "uri", 1045 | "url" 1046 | ], 1047 | "time": "2018-12-04T20:46:45+00:00" 1048 | }, 1049 | { 1050 | "name": "justinrainbow/json-schema", 1051 | "version": "5.2.7", 1052 | "source": { 1053 | "type": "git", 1054 | "url": "https://github.com/justinrainbow/json-schema.git", 1055 | "reference": "8560d4314577199ba51bf2032f02cd1315587c23" 1056 | }, 1057 | "dist": { 1058 | "type": "zip", 1059 | "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/8560d4314577199ba51bf2032f02cd1315587c23", 1060 | "reference": "8560d4314577199ba51bf2032f02cd1315587c23", 1061 | "shasum": "" 1062 | }, 1063 | "require": { 1064 | "php": ">=5.3.3" 1065 | }, 1066 | "require-dev": { 1067 | "friendsofphp/php-cs-fixer": "^2.1", 1068 | "json-schema/json-schema-test-suite": "1.2.0", 1069 | "phpunit/phpunit": "^4.8.35" 1070 | }, 1071 | "bin": [ 1072 | "bin/validate-json" 1073 | ], 1074 | "type": "library", 1075 | "extra": { 1076 | "branch-alias": { 1077 | "dev-master": "5.0.x-dev" 1078 | } 1079 | }, 1080 | "autoload": { 1081 | "psr-4": { 1082 | "JsonSchema\\": "src/JsonSchema/" 1083 | } 1084 | }, 1085 | "notification-url": "https://packagist.org/downloads/", 1086 | "license": [ 1087 | "MIT" 1088 | ], 1089 | "authors": [ 1090 | { 1091 | "name": "Bruno Prieto Reis", 1092 | "email": "bruno.p.reis@gmail.com" 1093 | }, 1094 | { 1095 | "name": "Justin Rainbow", 1096 | "email": "justin.rainbow@gmail.com" 1097 | }, 1098 | { 1099 | "name": "Igor Wiedler", 1100 | "email": "igor@wiedler.ch" 1101 | }, 1102 | { 1103 | "name": "Robert Schönthal", 1104 | "email": "seroscho@googlemail.com" 1105 | } 1106 | ], 1107 | "description": "A library to validate a json schema.", 1108 | "homepage": "https://github.com/justinrainbow/json-schema", 1109 | "keywords": [ 1110 | "json", 1111 | "schema" 1112 | ], 1113 | "time": "2018-02-14T22:26:30+00:00" 1114 | }, 1115 | { 1116 | "name": "league/flysystem", 1117 | "version": "1.0.49", 1118 | "source": { 1119 | "type": "git", 1120 | "url": "https://github.com/thephpleague/flysystem.git", 1121 | "reference": "a63cc83d8a931b271be45148fa39ba7156782ffd" 1122 | }, 1123 | "dist": { 1124 | "type": "zip", 1125 | "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a63cc83d8a931b271be45148fa39ba7156782ffd", 1126 | "reference": "a63cc83d8a931b271be45148fa39ba7156782ffd", 1127 | "shasum": "" 1128 | }, 1129 | "require": { 1130 | "ext-fileinfo": "*", 1131 | "php": ">=5.5.9" 1132 | }, 1133 | "conflict": { 1134 | "league/flysystem-sftp": "<1.0.6" 1135 | }, 1136 | "require-dev": { 1137 | "phpspec/phpspec": "^3.4", 1138 | "phpunit/phpunit": "^5.7.10" 1139 | }, 1140 | "suggest": { 1141 | "ext-fileinfo": "Required for MimeType", 1142 | "ext-ftp": "Allows you to use FTP server storage", 1143 | "ext-openssl": "Allows you to use FTPS server storage", 1144 | "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", 1145 | "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", 1146 | "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", 1147 | "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", 1148 | "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", 1149 | "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", 1150 | "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", 1151 | "league/flysystem-webdav": "Allows you to use WebDAV storage", 1152 | "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", 1153 | "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", 1154 | "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" 1155 | }, 1156 | "type": "library", 1157 | "extra": { 1158 | "branch-alias": { 1159 | "dev-master": "1.1-dev" 1160 | } 1161 | }, 1162 | "autoload": { 1163 | "psr-4": { 1164 | "League\\Flysystem\\": "src/" 1165 | } 1166 | }, 1167 | "notification-url": "https://packagist.org/downloads/", 1168 | "license": [ 1169 | "MIT" 1170 | ], 1171 | "authors": [ 1172 | { 1173 | "name": "Frank de Jonge", 1174 | "email": "info@frenky.net" 1175 | } 1176 | ], 1177 | "description": "Filesystem abstraction: Many filesystems, one API.", 1178 | "keywords": [ 1179 | "Cloud Files", 1180 | "WebDAV", 1181 | "abstraction", 1182 | "aws", 1183 | "cloud", 1184 | "copy.com", 1185 | "dropbox", 1186 | "file systems", 1187 | "files", 1188 | "filesystem", 1189 | "filesystems", 1190 | "ftp", 1191 | "rackspace", 1192 | "remote", 1193 | "s3", 1194 | "sftp", 1195 | "storage" 1196 | ], 1197 | "time": "2018-11-23T23:41:29+00:00" 1198 | }, 1199 | { 1200 | "name": "league/oauth2-client", 1201 | "version": "2.4.1", 1202 | "source": { 1203 | "type": "git", 1204 | "url": "https://github.com/thephpleague/oauth2-client.git", 1205 | "reference": "cc114abc622a53af969e8664722e84ca36257530" 1206 | }, 1207 | "dist": { 1208 | "type": "zip", 1209 | "url": "https://api.github.com/repos/thephpleague/oauth2-client/zipball/cc114abc622a53af969e8664722e84ca36257530", 1210 | "reference": "cc114abc622a53af969e8664722e84ca36257530", 1211 | "shasum": "" 1212 | }, 1213 | "require": { 1214 | "guzzlehttp/guzzle": "^6.0", 1215 | "paragonie/random_compat": "^1|^2|^9.99", 1216 | "php": "^5.6|^7.0" 1217 | }, 1218 | "require-dev": { 1219 | "eloquent/liberator": "^2.0", 1220 | "eloquent/phony-phpunit": "^1.0|^3.0", 1221 | "jakub-onderka/php-parallel-lint": "^0.9.2", 1222 | "phpunit/phpunit": "^5.7|^6.0", 1223 | "squizlabs/php_codesniffer": "^2.3|^3.0" 1224 | }, 1225 | "type": "library", 1226 | "extra": { 1227 | "branch-alias": { 1228 | "dev-2.x": "2.0.x-dev" 1229 | } 1230 | }, 1231 | "autoload": { 1232 | "psr-4": { 1233 | "League\\OAuth2\\Client\\": "src/" 1234 | } 1235 | }, 1236 | "notification-url": "https://packagist.org/downloads/", 1237 | "license": [ 1238 | "MIT" 1239 | ], 1240 | "authors": [ 1241 | { 1242 | "name": "Alex Bilbie", 1243 | "email": "hello@alexbilbie.com", 1244 | "homepage": "http://www.alexbilbie.com", 1245 | "role": "Developer" 1246 | }, 1247 | { 1248 | "name": "Woody Gilk", 1249 | "homepage": "https://github.com/shadowhand", 1250 | "role": "Contributor" 1251 | } 1252 | ], 1253 | "description": "OAuth 2.0 Client Library", 1254 | "keywords": [ 1255 | "Authentication", 1256 | "SSO", 1257 | "authorization", 1258 | "identity", 1259 | "idp", 1260 | "oauth", 1261 | "oauth2", 1262 | "single sign on" 1263 | ], 1264 | "time": "2018-11-22T18:33:57+00:00" 1265 | }, 1266 | { 1267 | "name": "limenius/react-renderer", 1268 | "version": "v2.3.1", 1269 | "source": { 1270 | "type": "git", 1271 | "url": "https://github.com/Limenius/ReactRenderer.git", 1272 | "reference": "3038fbdd46646dbc8a9ba97de89d77c28e8488bb" 1273 | }, 1274 | "dist": { 1275 | "type": "zip", 1276 | "url": "https://api.github.com/repos/Limenius/ReactRenderer/zipball/3038fbdd46646dbc8a9ba97de89d77c28e8488bb", 1277 | "reference": "3038fbdd46646dbc8a9ba97de89d77c28e8488bb", 1278 | "shasum": "" 1279 | }, 1280 | "require": { 1281 | "nacmartin/phpexecjs": "^2.0", 1282 | "php": ">=5.5.0", 1283 | "twig/twig": "^1.20|^2.0" 1284 | }, 1285 | "require-dev": { 1286 | "escapestudios/symfony2-coding-standard": "^2.9", 1287 | "squizlabs/php_codesniffer": "^2.5", 1288 | "wimg/php-compatibility": "^7.0" 1289 | }, 1290 | "type": "library", 1291 | "autoload": { 1292 | "psr-4": { 1293 | "Limenius\\ReactRenderer\\": "src/Limenius/ReactRenderer" 1294 | } 1295 | }, 1296 | "notification-url": "https://packagist.org/downloads/", 1297 | "license": [ 1298 | "MIT" 1299 | ], 1300 | "authors": [ 1301 | { 1302 | "name": "Nacho Martin", 1303 | "email": "nacho@limenius.com" 1304 | } 1305 | ], 1306 | "description": "Client and Server-side React rendering", 1307 | "keywords": [ 1308 | "isomorphic", 1309 | "react", 1310 | "reactjs", 1311 | "twig" 1312 | ], 1313 | "time": "2018-12-10T12:04:33+00:00" 1314 | }, 1315 | { 1316 | "name": "mikehaertl/php-shellcommand", 1317 | "version": "1.4.1", 1318 | "source": { 1319 | "type": "git", 1320 | "url": "https://github.com/mikehaertl/php-shellcommand.git", 1321 | "reference": "903ee95d3ee8f65ebbe4c6e17705d1d91760521a" 1322 | }, 1323 | "dist": { 1324 | "type": "zip", 1325 | "url": "https://api.github.com/repos/mikehaertl/php-shellcommand/zipball/903ee95d3ee8f65ebbe4c6e17705d1d91760521a", 1326 | "reference": "903ee95d3ee8f65ebbe4c6e17705d1d91760521a", 1327 | "shasum": "" 1328 | }, 1329 | "require": { 1330 | "php": ">= 5.4.0" 1331 | }, 1332 | "type": "library", 1333 | "autoload": { 1334 | "psr-4": { 1335 | "mikehaertl\\shellcommand\\": "src/" 1336 | } 1337 | }, 1338 | "notification-url": "https://packagist.org/downloads/", 1339 | "license": [ 1340 | "MIT" 1341 | ], 1342 | "authors": [ 1343 | { 1344 | "name": "Michael Härtl", 1345 | "email": "haertl.mike@gmail.com" 1346 | } 1347 | ], 1348 | "description": "An object oriented interface to shell commands", 1349 | "keywords": [ 1350 | "shell" 1351 | ], 1352 | "time": "2018-07-07T07:35:36+00:00" 1353 | }, 1354 | { 1355 | "name": "nacmartin/phpexecjs", 1356 | "version": "v2.0.0", 1357 | "source": { 1358 | "type": "git", 1359 | "url": "https://github.com/nacmartin/phpexecjs.git", 1360 | "reference": "abb8566e4e5d079e30312e72b33bcf01e09990d9" 1361 | }, 1362 | "dist": { 1363 | "type": "zip", 1364 | "url": "https://api.github.com/repos/nacmartin/phpexecjs/zipball/abb8566e4e5d079e30312e72b33bcf01e09990d9", 1365 | "reference": "abb8566e4e5d079e30312e72b33bcf01e09990d9", 1366 | "shasum": "" 1367 | }, 1368 | "require": { 1369 | "symfony/process": "~2.3|~3.0|^4.0" 1370 | }, 1371 | "type": "library", 1372 | "autoload": { 1373 | "psr-0": { 1374 | "Nacmartin\\PhpExecJs": "src/" 1375 | } 1376 | }, 1377 | "notification-url": "https://packagist.org/downloads/", 1378 | "license": [ 1379 | "MIT" 1380 | ], 1381 | "authors": [ 1382 | { 1383 | "name": "nacho", 1384 | "email": "nacho@limenius.com" 1385 | } 1386 | ], 1387 | "description": "Run JavaScript code from PHP", 1388 | "time": "2017-11-22T20:17:42+00:00" 1389 | }, 1390 | { 1391 | "name": "paragonie/random_compat", 1392 | "version": "v9.99.99", 1393 | "source": { 1394 | "type": "git", 1395 | "url": "https://github.com/paragonie/random_compat.git", 1396 | "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" 1397 | }, 1398 | "dist": { 1399 | "type": "zip", 1400 | "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", 1401 | "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", 1402 | "shasum": "" 1403 | }, 1404 | "require": { 1405 | "php": "^7" 1406 | }, 1407 | "require-dev": { 1408 | "phpunit/phpunit": "4.*|5.*", 1409 | "vimeo/psalm": "^1" 1410 | }, 1411 | "suggest": { 1412 | "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." 1413 | }, 1414 | "type": "library", 1415 | "notification-url": "https://packagist.org/downloads/", 1416 | "license": [ 1417 | "MIT" 1418 | ], 1419 | "authors": [ 1420 | { 1421 | "name": "Paragon Initiative Enterprises", 1422 | "email": "security@paragonie.com", 1423 | "homepage": "https://paragonie.com" 1424 | } 1425 | ], 1426 | "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", 1427 | "keywords": [ 1428 | "csprng", 1429 | "polyfill", 1430 | "pseudorandom", 1431 | "random" 1432 | ], 1433 | "time": "2018-07-02T15:55:56+00:00" 1434 | }, 1435 | { 1436 | "name": "pixelandtonic/imagine", 1437 | "version": "v0.7.1.3", 1438 | "source": { 1439 | "type": "git", 1440 | "url": "https://github.com/pixelandtonic/Imagine.git", 1441 | "reference": "989656b05410446fde623540bbf83af15087e4ea" 1442 | }, 1443 | "dist": { 1444 | "type": "zip", 1445 | "url": "https://api.github.com/repos/pixelandtonic/Imagine/zipball/989656b05410446fde623540bbf83af15087e4ea", 1446 | "reference": "989656b05410446fde623540bbf83af15087e4ea", 1447 | "shasum": "" 1448 | }, 1449 | "require": { 1450 | "php": ">=5.3.2" 1451 | }, 1452 | "require-dev": { 1453 | "sami/sami": "^3.3", 1454 | "symfony/phpunit-bridge": "^3.2" 1455 | }, 1456 | "suggest": { 1457 | "ext-gd": "to use the GD implementation", 1458 | "ext-gmagick": "to use the Gmagick implementation", 1459 | "ext-imagick": "to use the Imagick implementation" 1460 | }, 1461 | "type": "library", 1462 | "extra": { 1463 | "branch-alias": { 1464 | "dev-develop": "0.7-dev" 1465 | } 1466 | }, 1467 | "autoload": { 1468 | "psr-0": { 1469 | "Imagine": "lib/" 1470 | } 1471 | }, 1472 | "notification-url": "https://packagist.org/downloads/", 1473 | "license": [ 1474 | "MIT" 1475 | ], 1476 | "authors": [ 1477 | { 1478 | "name": "Bulat Shakirzyanov", 1479 | "email": "mallluhuct@gmail.com", 1480 | "homepage": "http://avalanche123.com" 1481 | } 1482 | ], 1483 | "description": "Image processing for PHP 5.3", 1484 | "homepage": "http://imagine.readthedocs.org/", 1485 | "keywords": [ 1486 | "drawing", 1487 | "graphics", 1488 | "image manipulation", 1489 | "image processing" 1490 | ], 1491 | "time": "2017-10-26T13:18:33+00:00" 1492 | }, 1493 | { 1494 | "name": "psr/http-message", 1495 | "version": "1.0.1", 1496 | "source": { 1497 | "type": "git", 1498 | "url": "https://github.com/php-fig/http-message.git", 1499 | "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" 1500 | }, 1501 | "dist": { 1502 | "type": "zip", 1503 | "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", 1504 | "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", 1505 | "shasum": "" 1506 | }, 1507 | "require": { 1508 | "php": ">=5.3.0" 1509 | }, 1510 | "type": "library", 1511 | "extra": { 1512 | "branch-alias": { 1513 | "dev-master": "1.0.x-dev" 1514 | } 1515 | }, 1516 | "autoload": { 1517 | "psr-4": { 1518 | "Psr\\Http\\Message\\": "src/" 1519 | } 1520 | }, 1521 | "notification-url": "https://packagist.org/downloads/", 1522 | "license": [ 1523 | "MIT" 1524 | ], 1525 | "authors": [ 1526 | { 1527 | "name": "PHP-FIG", 1528 | "homepage": "http://www.php-fig.org/" 1529 | } 1530 | ], 1531 | "description": "Common interface for HTTP messages", 1532 | "homepage": "https://github.com/php-fig/http-message", 1533 | "keywords": [ 1534 | "http", 1535 | "http-message", 1536 | "psr", 1537 | "psr-7", 1538 | "request", 1539 | "response" 1540 | ], 1541 | "time": "2016-08-06T14:39:51+00:00" 1542 | }, 1543 | { 1544 | "name": "psr/log", 1545 | "version": "1.1.0", 1546 | "source": { 1547 | "type": "git", 1548 | "url": "https://github.com/php-fig/log.git", 1549 | "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" 1550 | }, 1551 | "dist": { 1552 | "type": "zip", 1553 | "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", 1554 | "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", 1555 | "shasum": "" 1556 | }, 1557 | "require": { 1558 | "php": ">=5.3.0" 1559 | }, 1560 | "type": "library", 1561 | "extra": { 1562 | "branch-alias": { 1563 | "dev-master": "1.0.x-dev" 1564 | } 1565 | }, 1566 | "autoload": { 1567 | "psr-4": { 1568 | "Psr\\Log\\": "Psr/Log/" 1569 | } 1570 | }, 1571 | "notification-url": "https://packagist.org/downloads/", 1572 | "license": [ 1573 | "MIT" 1574 | ], 1575 | "authors": [ 1576 | { 1577 | "name": "PHP-FIG", 1578 | "homepage": "http://www.php-fig.org/" 1579 | } 1580 | ], 1581 | "description": "Common interface for logging libraries", 1582 | "homepage": "https://github.com/php-fig/log", 1583 | "keywords": [ 1584 | "log", 1585 | "psr", 1586 | "psr-3" 1587 | ], 1588 | "time": "2018-11-20T15:27:04+00:00" 1589 | }, 1590 | { 1591 | "name": "ralouphie/getallheaders", 1592 | "version": "2.0.5", 1593 | "source": { 1594 | "type": "git", 1595 | "url": "https://github.com/ralouphie/getallheaders.git", 1596 | "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa" 1597 | }, 1598 | "dist": { 1599 | "type": "zip", 1600 | "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/5601c8a83fbba7ef674a7369456d12f1e0d0eafa", 1601 | "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa", 1602 | "shasum": "" 1603 | }, 1604 | "require": { 1605 | "php": ">=5.3" 1606 | }, 1607 | "require-dev": { 1608 | "phpunit/phpunit": "~3.7.0", 1609 | "satooshi/php-coveralls": ">=1.0" 1610 | }, 1611 | "type": "library", 1612 | "autoload": { 1613 | "files": [ 1614 | "src/getallheaders.php" 1615 | ] 1616 | }, 1617 | "notification-url": "https://packagist.org/downloads/", 1618 | "license": [ 1619 | "MIT" 1620 | ], 1621 | "authors": [ 1622 | { 1623 | "name": "Ralph Khattar", 1624 | "email": "ralph.khattar@gmail.com" 1625 | } 1626 | ], 1627 | "description": "A polyfill for getallheaders.", 1628 | "time": "2016-02-11T07:05:27+00:00" 1629 | }, 1630 | { 1631 | "name": "seld/cli-prompt", 1632 | "version": "1.0.3", 1633 | "source": { 1634 | "type": "git", 1635 | "url": "https://github.com/Seldaek/cli-prompt.git", 1636 | "reference": "a19a7376a4689d4d94cab66ab4f3c816019ba8dd" 1637 | }, 1638 | "dist": { 1639 | "type": "zip", 1640 | "url": "https://api.github.com/repos/Seldaek/cli-prompt/zipball/a19a7376a4689d4d94cab66ab4f3c816019ba8dd", 1641 | "reference": "a19a7376a4689d4d94cab66ab4f3c816019ba8dd", 1642 | "shasum": "" 1643 | }, 1644 | "require": { 1645 | "php": ">=5.3" 1646 | }, 1647 | "type": "library", 1648 | "extra": { 1649 | "branch-alias": { 1650 | "dev-master": "1.x-dev" 1651 | } 1652 | }, 1653 | "autoload": { 1654 | "psr-4": { 1655 | "Seld\\CliPrompt\\": "src/" 1656 | } 1657 | }, 1658 | "notification-url": "https://packagist.org/downloads/", 1659 | "license": [ 1660 | "MIT" 1661 | ], 1662 | "authors": [ 1663 | { 1664 | "name": "Jordi Boggiano", 1665 | "email": "j.boggiano@seld.be" 1666 | } 1667 | ], 1668 | "description": "Allows you to prompt for user input on the command line, and optionally hide the characters they type", 1669 | "keywords": [ 1670 | "cli", 1671 | "console", 1672 | "hidden", 1673 | "input", 1674 | "prompt" 1675 | ], 1676 | "time": "2017-03-18T11:32:45+00:00" 1677 | }, 1678 | { 1679 | "name": "seld/jsonlint", 1680 | "version": "1.7.1", 1681 | "source": { 1682 | "type": "git", 1683 | "url": "https://github.com/Seldaek/jsonlint.git", 1684 | "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38" 1685 | }, 1686 | "dist": { 1687 | "type": "zip", 1688 | "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/d15f59a67ff805a44c50ea0516d2341740f81a38", 1689 | "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38", 1690 | "shasum": "" 1691 | }, 1692 | "require": { 1693 | "php": "^5.3 || ^7.0" 1694 | }, 1695 | "require-dev": { 1696 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" 1697 | }, 1698 | "bin": [ 1699 | "bin/jsonlint" 1700 | ], 1701 | "type": "library", 1702 | "autoload": { 1703 | "psr-4": { 1704 | "Seld\\JsonLint\\": "src/Seld/JsonLint/" 1705 | } 1706 | }, 1707 | "notification-url": "https://packagist.org/downloads/", 1708 | "license": [ 1709 | "MIT" 1710 | ], 1711 | "authors": [ 1712 | { 1713 | "name": "Jordi Boggiano", 1714 | "email": "j.boggiano@seld.be", 1715 | "homepage": "http://seld.be" 1716 | } 1717 | ], 1718 | "description": "JSON Linter", 1719 | "keywords": [ 1720 | "json", 1721 | "linter", 1722 | "parser", 1723 | "validator" 1724 | ], 1725 | "time": "2018-01-24T12:46:19+00:00" 1726 | }, 1727 | { 1728 | "name": "seld/phar-utils", 1729 | "version": "1.0.1", 1730 | "source": { 1731 | "type": "git", 1732 | "url": "https://github.com/Seldaek/phar-utils.git", 1733 | "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a" 1734 | }, 1735 | "dist": { 1736 | "type": "zip", 1737 | "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/7009b5139491975ef6486545a39f3e6dad5ac30a", 1738 | "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a", 1739 | "shasum": "" 1740 | }, 1741 | "require": { 1742 | "php": ">=5.3" 1743 | }, 1744 | "type": "library", 1745 | "extra": { 1746 | "branch-alias": { 1747 | "dev-master": "1.x-dev" 1748 | } 1749 | }, 1750 | "autoload": { 1751 | "psr-4": { 1752 | "Seld\\PharUtils\\": "src/" 1753 | } 1754 | }, 1755 | "notification-url": "https://packagist.org/downloads/", 1756 | "license": [ 1757 | "MIT" 1758 | ], 1759 | "authors": [ 1760 | { 1761 | "name": "Jordi Boggiano", 1762 | "email": "j.boggiano@seld.be" 1763 | } 1764 | ], 1765 | "description": "PHAR file format utilities, for when PHP phars you up", 1766 | "keywords": [ 1767 | "phra" 1768 | ], 1769 | "time": "2015-10-13T18:44:15+00:00" 1770 | }, 1771 | { 1772 | "name": "swiftmailer/swiftmailer", 1773 | "version": "v6.1.3", 1774 | "source": { 1775 | "type": "git", 1776 | "url": "https://github.com/swiftmailer/swiftmailer.git", 1777 | "reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4" 1778 | }, 1779 | "dist": { 1780 | "type": "zip", 1781 | "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8ddcb66ac10c392d3beb54829eef8ac1438595f4", 1782 | "reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4", 1783 | "shasum": "" 1784 | }, 1785 | "require": { 1786 | "egulias/email-validator": "~2.0", 1787 | "php": ">=7.0.0" 1788 | }, 1789 | "require-dev": { 1790 | "mockery/mockery": "~0.9.1", 1791 | "symfony/phpunit-bridge": "~3.3@dev" 1792 | }, 1793 | "suggest": { 1794 | "ext-intl": "Needed to support internationalized email addresses", 1795 | "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" 1796 | }, 1797 | "type": "library", 1798 | "extra": { 1799 | "branch-alias": { 1800 | "dev-master": "6.1-dev" 1801 | } 1802 | }, 1803 | "autoload": { 1804 | "files": [ 1805 | "lib/swift_required.php" 1806 | ] 1807 | }, 1808 | "notification-url": "https://packagist.org/downloads/", 1809 | "license": [ 1810 | "MIT" 1811 | ], 1812 | "authors": [ 1813 | { 1814 | "name": "Chris Corbyn" 1815 | }, 1816 | { 1817 | "name": "Fabien Potencier", 1818 | "email": "fabien@symfony.com" 1819 | } 1820 | ], 1821 | "description": "Swiftmailer, free feature-rich PHP mailer", 1822 | "homepage": "https://swiftmailer.symfony.com", 1823 | "keywords": [ 1824 | "email", 1825 | "mail", 1826 | "mailer" 1827 | ], 1828 | "time": "2018-09-11T07:12:52+00:00" 1829 | }, 1830 | { 1831 | "name": "symfony/console", 1832 | "version": "v4.2.1", 1833 | "source": { 1834 | "type": "git", 1835 | "url": "https://github.com/symfony/console.git", 1836 | "reference": "4dff24e5d01e713818805c1862d2e3f901ee7dd0" 1837 | }, 1838 | "dist": { 1839 | "type": "zip", 1840 | "url": "https://api.github.com/repos/symfony/console/zipball/4dff24e5d01e713818805c1862d2e3f901ee7dd0", 1841 | "reference": "4dff24e5d01e713818805c1862d2e3f901ee7dd0", 1842 | "shasum": "" 1843 | }, 1844 | "require": { 1845 | "php": "^7.1.3", 1846 | "symfony/contracts": "^1.0", 1847 | "symfony/polyfill-mbstring": "~1.0" 1848 | }, 1849 | "conflict": { 1850 | "symfony/dependency-injection": "<3.4", 1851 | "symfony/process": "<3.3" 1852 | }, 1853 | "require-dev": { 1854 | "psr/log": "~1.0", 1855 | "symfony/config": "~3.4|~4.0", 1856 | "symfony/dependency-injection": "~3.4|~4.0", 1857 | "symfony/event-dispatcher": "~3.4|~4.0", 1858 | "symfony/lock": "~3.4|~4.0", 1859 | "symfony/process": "~3.4|~4.0" 1860 | }, 1861 | "suggest": { 1862 | "psr/log-implementation": "For using the console logger", 1863 | "symfony/event-dispatcher": "", 1864 | "symfony/lock": "", 1865 | "symfony/process": "" 1866 | }, 1867 | "type": "library", 1868 | "extra": { 1869 | "branch-alias": { 1870 | "dev-master": "4.2-dev" 1871 | } 1872 | }, 1873 | "autoload": { 1874 | "psr-4": { 1875 | "Symfony\\Component\\Console\\": "" 1876 | }, 1877 | "exclude-from-classmap": [ 1878 | "/Tests/" 1879 | ] 1880 | }, 1881 | "notification-url": "https://packagist.org/downloads/", 1882 | "license": [ 1883 | "MIT" 1884 | ], 1885 | "authors": [ 1886 | { 1887 | "name": "Fabien Potencier", 1888 | "email": "fabien@symfony.com" 1889 | }, 1890 | { 1891 | "name": "Symfony Community", 1892 | "homepage": "https://symfony.com/contributors" 1893 | } 1894 | ], 1895 | "description": "Symfony Console Component", 1896 | "homepage": "https://symfony.com", 1897 | "time": "2018-11-27T07:40:44+00:00" 1898 | }, 1899 | { 1900 | "name": "symfony/contracts", 1901 | "version": "v1.0.2", 1902 | "source": { 1903 | "type": "git", 1904 | "url": "https://github.com/symfony/contracts.git", 1905 | "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf" 1906 | }, 1907 | "dist": { 1908 | "type": "zip", 1909 | "url": "https://api.github.com/repos/symfony/contracts/zipball/1aa7ab2429c3d594dd70689604b5cf7421254cdf", 1910 | "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf", 1911 | "shasum": "" 1912 | }, 1913 | "require": { 1914 | "php": "^7.1.3" 1915 | }, 1916 | "require-dev": { 1917 | "psr/cache": "^1.0", 1918 | "psr/container": "^1.0" 1919 | }, 1920 | "suggest": { 1921 | "psr/cache": "When using the Cache contracts", 1922 | "psr/container": "When using the Service contracts", 1923 | "symfony/cache-contracts-implementation": "", 1924 | "symfony/service-contracts-implementation": "", 1925 | "symfony/translation-contracts-implementation": "" 1926 | }, 1927 | "type": "library", 1928 | "extra": { 1929 | "branch-alias": { 1930 | "dev-master": "1.0-dev" 1931 | } 1932 | }, 1933 | "autoload": { 1934 | "psr-4": { 1935 | "Symfony\\Contracts\\": "" 1936 | }, 1937 | "exclude-from-classmap": [ 1938 | "**/Tests/" 1939 | ] 1940 | }, 1941 | "notification-url": "https://packagist.org/downloads/", 1942 | "license": [ 1943 | "MIT" 1944 | ], 1945 | "authors": [ 1946 | { 1947 | "name": "Nicolas Grekas", 1948 | "email": "p@tchwork.com" 1949 | }, 1950 | { 1951 | "name": "Symfony Community", 1952 | "homepage": "https://symfony.com/contributors" 1953 | } 1954 | ], 1955 | "description": "A set of abstractions extracted out of the Symfony components", 1956 | "homepage": "https://symfony.com", 1957 | "keywords": [ 1958 | "abstractions", 1959 | "contracts", 1960 | "decoupling", 1961 | "interfaces", 1962 | "interoperability", 1963 | "standards" 1964 | ], 1965 | "time": "2018-12-05T08:06:11+00:00" 1966 | }, 1967 | { 1968 | "name": "symfony/filesystem", 1969 | "version": "v4.2.1", 1970 | "source": { 1971 | "type": "git", 1972 | "url": "https://github.com/symfony/filesystem.git", 1973 | "reference": "2f4c8b999b3b7cadb2a69390b01af70886753710" 1974 | }, 1975 | "dist": { 1976 | "type": "zip", 1977 | "url": "https://api.github.com/repos/symfony/filesystem/zipball/2f4c8b999b3b7cadb2a69390b01af70886753710", 1978 | "reference": "2f4c8b999b3b7cadb2a69390b01af70886753710", 1979 | "shasum": "" 1980 | }, 1981 | "require": { 1982 | "php": "^7.1.3", 1983 | "symfony/polyfill-ctype": "~1.8" 1984 | }, 1985 | "type": "library", 1986 | "extra": { 1987 | "branch-alias": { 1988 | "dev-master": "4.2-dev" 1989 | } 1990 | }, 1991 | "autoload": { 1992 | "psr-4": { 1993 | "Symfony\\Component\\Filesystem\\": "" 1994 | }, 1995 | "exclude-from-classmap": [ 1996 | "/Tests/" 1997 | ] 1998 | }, 1999 | "notification-url": "https://packagist.org/downloads/", 2000 | "license": [ 2001 | "MIT" 2002 | ], 2003 | "authors": [ 2004 | { 2005 | "name": "Fabien Potencier", 2006 | "email": "fabien@symfony.com" 2007 | }, 2008 | { 2009 | "name": "Symfony Community", 2010 | "homepage": "https://symfony.com/contributors" 2011 | } 2012 | ], 2013 | "description": "Symfony Filesystem Component", 2014 | "homepage": "https://symfony.com", 2015 | "time": "2018-11-11T19:52:12+00:00" 2016 | }, 2017 | { 2018 | "name": "symfony/finder", 2019 | "version": "v4.2.1", 2020 | "source": { 2021 | "type": "git", 2022 | "url": "https://github.com/symfony/finder.git", 2023 | "reference": "e53d477d7b5c4982d0e1bfd2298dbee63d01441d" 2024 | }, 2025 | "dist": { 2026 | "type": "zip", 2027 | "url": "https://api.github.com/repos/symfony/finder/zipball/e53d477d7b5c4982d0e1bfd2298dbee63d01441d", 2028 | "reference": "e53d477d7b5c4982d0e1bfd2298dbee63d01441d", 2029 | "shasum": "" 2030 | }, 2031 | "require": { 2032 | "php": "^7.1.3" 2033 | }, 2034 | "type": "library", 2035 | "extra": { 2036 | "branch-alias": { 2037 | "dev-master": "4.2-dev" 2038 | } 2039 | }, 2040 | "autoload": { 2041 | "psr-4": { 2042 | "Symfony\\Component\\Finder\\": "" 2043 | }, 2044 | "exclude-from-classmap": [ 2045 | "/Tests/" 2046 | ] 2047 | }, 2048 | "notification-url": "https://packagist.org/downloads/", 2049 | "license": [ 2050 | "MIT" 2051 | ], 2052 | "authors": [ 2053 | { 2054 | "name": "Fabien Potencier", 2055 | "email": "fabien@symfony.com" 2056 | }, 2057 | { 2058 | "name": "Symfony Community", 2059 | "homepage": "https://symfony.com/contributors" 2060 | } 2061 | ], 2062 | "description": "Symfony Finder Component", 2063 | "homepage": "https://symfony.com", 2064 | "time": "2018-11-11T19:52:12+00:00" 2065 | }, 2066 | { 2067 | "name": "symfony/polyfill-ctype", 2068 | "version": "v1.10.0", 2069 | "source": { 2070 | "type": "git", 2071 | "url": "https://github.com/symfony/polyfill-ctype.git", 2072 | "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" 2073 | }, 2074 | "dist": { 2075 | "type": "zip", 2076 | "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", 2077 | "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", 2078 | "shasum": "" 2079 | }, 2080 | "require": { 2081 | "php": ">=5.3.3" 2082 | }, 2083 | "suggest": { 2084 | "ext-ctype": "For best performance" 2085 | }, 2086 | "type": "library", 2087 | "extra": { 2088 | "branch-alias": { 2089 | "dev-master": "1.9-dev" 2090 | } 2091 | }, 2092 | "autoload": { 2093 | "psr-4": { 2094 | "Symfony\\Polyfill\\Ctype\\": "" 2095 | }, 2096 | "files": [ 2097 | "bootstrap.php" 2098 | ] 2099 | }, 2100 | "notification-url": "https://packagist.org/downloads/", 2101 | "license": [ 2102 | "MIT" 2103 | ], 2104 | "authors": [ 2105 | { 2106 | "name": "Symfony Community", 2107 | "homepage": "https://symfony.com/contributors" 2108 | }, 2109 | { 2110 | "name": "Gert de Pagter", 2111 | "email": "BackEndTea@gmail.com" 2112 | } 2113 | ], 2114 | "description": "Symfony polyfill for ctype functions", 2115 | "homepage": "https://symfony.com", 2116 | "keywords": [ 2117 | "compatibility", 2118 | "ctype", 2119 | "polyfill", 2120 | "portable" 2121 | ], 2122 | "time": "2018-08-06T14:22:27+00:00" 2123 | }, 2124 | { 2125 | "name": "symfony/polyfill-mbstring", 2126 | "version": "v1.10.0", 2127 | "source": { 2128 | "type": "git", 2129 | "url": "https://github.com/symfony/polyfill-mbstring.git", 2130 | "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" 2131 | }, 2132 | "dist": { 2133 | "type": "zip", 2134 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", 2135 | "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", 2136 | "shasum": "" 2137 | }, 2138 | "require": { 2139 | "php": ">=5.3.3" 2140 | }, 2141 | "suggest": { 2142 | "ext-mbstring": "For best performance" 2143 | }, 2144 | "type": "library", 2145 | "extra": { 2146 | "branch-alias": { 2147 | "dev-master": "1.9-dev" 2148 | } 2149 | }, 2150 | "autoload": { 2151 | "psr-4": { 2152 | "Symfony\\Polyfill\\Mbstring\\": "" 2153 | }, 2154 | "files": [ 2155 | "bootstrap.php" 2156 | ] 2157 | }, 2158 | "notification-url": "https://packagist.org/downloads/", 2159 | "license": [ 2160 | "MIT" 2161 | ], 2162 | "authors": [ 2163 | { 2164 | "name": "Nicolas Grekas", 2165 | "email": "p@tchwork.com" 2166 | }, 2167 | { 2168 | "name": "Symfony Community", 2169 | "homepage": "https://symfony.com/contributors" 2170 | } 2171 | ], 2172 | "description": "Symfony polyfill for the Mbstring extension", 2173 | "homepage": "https://symfony.com", 2174 | "keywords": [ 2175 | "compatibility", 2176 | "mbstring", 2177 | "polyfill", 2178 | "portable", 2179 | "shim" 2180 | ], 2181 | "time": "2018-09-21T13:07:52+00:00" 2182 | }, 2183 | { 2184 | "name": "symfony/process", 2185 | "version": "v4.2.1", 2186 | "source": { 2187 | "type": "git", 2188 | "url": "https://github.com/symfony/process.git", 2189 | "reference": "2b341009ccec76837a7f46f59641b431e4d4c2b0" 2190 | }, 2191 | "dist": { 2192 | "type": "zip", 2193 | "url": "https://api.github.com/repos/symfony/process/zipball/2b341009ccec76837a7f46f59641b431e4d4c2b0", 2194 | "reference": "2b341009ccec76837a7f46f59641b431e4d4c2b0", 2195 | "shasum": "" 2196 | }, 2197 | "require": { 2198 | "php": "^7.1.3" 2199 | }, 2200 | "type": "library", 2201 | "extra": { 2202 | "branch-alias": { 2203 | "dev-master": "4.2-dev" 2204 | } 2205 | }, 2206 | "autoload": { 2207 | "psr-4": { 2208 | "Symfony\\Component\\Process\\": "" 2209 | }, 2210 | "exclude-from-classmap": [ 2211 | "/Tests/" 2212 | ] 2213 | }, 2214 | "notification-url": "https://packagist.org/downloads/", 2215 | "license": [ 2216 | "MIT" 2217 | ], 2218 | "authors": [ 2219 | { 2220 | "name": "Fabien Potencier", 2221 | "email": "fabien@symfony.com" 2222 | }, 2223 | { 2224 | "name": "Symfony Community", 2225 | "homepage": "https://symfony.com/contributors" 2226 | } 2227 | ], 2228 | "description": "Symfony Process Component", 2229 | "homepage": "https://symfony.com", 2230 | "time": "2018-11-20T16:22:05+00:00" 2231 | }, 2232 | { 2233 | "name": "true/punycode", 2234 | "version": "v2.1.1", 2235 | "source": { 2236 | "type": "git", 2237 | "url": "https://github.com/true/php-punycode.git", 2238 | "reference": "a4d0c11a36dd7f4e7cd7096076cab6d3378a071e" 2239 | }, 2240 | "dist": { 2241 | "type": "zip", 2242 | "url": "https://api.github.com/repos/true/php-punycode/zipball/a4d0c11a36dd7f4e7cd7096076cab6d3378a071e", 2243 | "reference": "a4d0c11a36dd7f4e7cd7096076cab6d3378a071e", 2244 | "shasum": "" 2245 | }, 2246 | "require": { 2247 | "php": ">=5.3.0", 2248 | "symfony/polyfill-mbstring": "^1.3" 2249 | }, 2250 | "require-dev": { 2251 | "phpunit/phpunit": "~4.7", 2252 | "squizlabs/php_codesniffer": "~2.0" 2253 | }, 2254 | "type": "library", 2255 | "autoload": { 2256 | "psr-4": { 2257 | "TrueBV\\": "src/" 2258 | } 2259 | }, 2260 | "notification-url": "https://packagist.org/downloads/", 2261 | "license": [ 2262 | "MIT" 2263 | ], 2264 | "authors": [ 2265 | { 2266 | "name": "Renan Gonçalves", 2267 | "email": "renan.saddam@gmail.com" 2268 | } 2269 | ], 2270 | "description": "A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)", 2271 | "homepage": "https://github.com/true/php-punycode", 2272 | "keywords": [ 2273 | "idna", 2274 | "punycode" 2275 | ], 2276 | "time": "2016-11-16T10:37:54+00:00" 2277 | }, 2278 | { 2279 | "name": "twig/twig", 2280 | "version": "v2.5.0", 2281 | "source": { 2282 | "type": "git", 2283 | "url": "https://github.com/twigphp/Twig.git", 2284 | "reference": "6a5f676b77a90823c2d4eaf76137b771adf31323" 2285 | }, 2286 | "dist": { 2287 | "type": "zip", 2288 | "url": "https://api.github.com/repos/twigphp/Twig/zipball/6a5f676b77a90823c2d4eaf76137b771adf31323", 2289 | "reference": "6a5f676b77a90823c2d4eaf76137b771adf31323", 2290 | "shasum": "" 2291 | }, 2292 | "require": { 2293 | "php": "^7.0", 2294 | "symfony/polyfill-ctype": "^1.8", 2295 | "symfony/polyfill-mbstring": "~1.0" 2296 | }, 2297 | "require-dev": { 2298 | "psr/container": "^1.0", 2299 | "symfony/debug": "^2.7", 2300 | "symfony/phpunit-bridge": "^3.3" 2301 | }, 2302 | "type": "library", 2303 | "extra": { 2304 | "branch-alias": { 2305 | "dev-master": "2.5-dev" 2306 | } 2307 | }, 2308 | "autoload": { 2309 | "psr-0": { 2310 | "Twig_": "lib/" 2311 | }, 2312 | "psr-4": { 2313 | "Twig\\": "src/" 2314 | } 2315 | }, 2316 | "notification-url": "https://packagist.org/downloads/", 2317 | "license": [ 2318 | "BSD-3-Clause" 2319 | ], 2320 | "authors": [ 2321 | { 2322 | "name": "Fabien Potencier", 2323 | "email": "fabien@symfony.com", 2324 | "homepage": "http://fabien.potencier.org", 2325 | "role": "Lead Developer" 2326 | }, 2327 | { 2328 | "name": "Armin Ronacher", 2329 | "email": "armin.ronacher@active-4.com", 2330 | "role": "Project Founder" 2331 | }, 2332 | { 2333 | "name": "Twig Team", 2334 | "homepage": "https://twig.symfony.com/contributors", 2335 | "role": "Contributors" 2336 | } 2337 | ], 2338 | "description": "Twig, the flexible, fast, and secure template language for PHP", 2339 | "homepage": "https://twig.symfony.com", 2340 | "keywords": [ 2341 | "templating" 2342 | ], 2343 | "time": "2018-07-13T07:18:09+00:00" 2344 | }, 2345 | { 2346 | "name": "yiisoft/yii2", 2347 | "version": "2.0.15.1", 2348 | "source": { 2349 | "type": "git", 2350 | "url": "https://github.com/yiisoft/yii2-framework.git", 2351 | "reference": "ed3a9e1c4abe206e1c3ce48a6b3624119b79850d" 2352 | }, 2353 | "dist": { 2354 | "type": "zip", 2355 | "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/ed3a9e1c4abe206e1c3ce48a6b3624119b79850d", 2356 | "reference": "ed3a9e1c4abe206e1c3ce48a6b3624119b79850d", 2357 | "shasum": "" 2358 | }, 2359 | "require": { 2360 | "bower-asset/inputmask": "~3.2.2 | ~3.3.5", 2361 | "bower-asset/jquery": "3.2.*@stable | 3.1.*@stable | 2.2.*@stable | 2.1.*@stable | 1.11.*@stable | 1.12.*@stable", 2362 | "bower-asset/punycode": "1.3.*", 2363 | "bower-asset/yii2-pjax": "~2.0.1", 2364 | "cebe/markdown": "~1.0.0 | ~1.1.0", 2365 | "ext-ctype": "*", 2366 | "ext-mbstring": "*", 2367 | "ezyang/htmlpurifier": "~4.6", 2368 | "lib-pcre": "*", 2369 | "php": ">=5.4.0", 2370 | "yiisoft/yii2-composer": "~2.0.4" 2371 | }, 2372 | "bin": [ 2373 | "yii" 2374 | ], 2375 | "type": "library", 2376 | "extra": { 2377 | "branch-alias": { 2378 | "dev-master": "2.0.x-dev" 2379 | } 2380 | }, 2381 | "autoload": { 2382 | "psr-4": { 2383 | "yii\\": "" 2384 | } 2385 | }, 2386 | "notification-url": "https://packagist.org/downloads/", 2387 | "license": [ 2388 | "BSD-3-Clause" 2389 | ], 2390 | "authors": [ 2391 | { 2392 | "name": "Qiang Xue", 2393 | "email": "qiang.xue@gmail.com", 2394 | "homepage": "http://www.yiiframework.com/", 2395 | "role": "Founder and project lead" 2396 | }, 2397 | { 2398 | "name": "Alexander Makarov", 2399 | "email": "sam@rmcreative.ru", 2400 | "homepage": "http://rmcreative.ru/", 2401 | "role": "Core framework development" 2402 | }, 2403 | { 2404 | "name": "Maurizio Domba", 2405 | "homepage": "http://mdomba.info/", 2406 | "role": "Core framework development" 2407 | }, 2408 | { 2409 | "name": "Carsten Brandt", 2410 | "email": "mail@cebe.cc", 2411 | "homepage": "http://cebe.cc/", 2412 | "role": "Core framework development" 2413 | }, 2414 | { 2415 | "name": "Timur Ruziev", 2416 | "email": "resurtm@gmail.com", 2417 | "homepage": "http://resurtm.com/", 2418 | "role": "Core framework development" 2419 | }, 2420 | { 2421 | "name": "Paul Klimov", 2422 | "email": "klimov.paul@gmail.com", 2423 | "role": "Core framework development" 2424 | }, 2425 | { 2426 | "name": "Dmitry Naumenko", 2427 | "email": "d.naumenko.a@gmail.com", 2428 | "role": "Core framework development" 2429 | }, 2430 | { 2431 | "name": "Boudewijn Vahrmeijer", 2432 | "email": "info@dynasource.eu", 2433 | "homepage": "http://dynasource.eu", 2434 | "role": "Core framework development" 2435 | } 2436 | ], 2437 | "description": "Yii PHP Framework Version 2", 2438 | "homepage": "http://www.yiiframework.com/", 2439 | "keywords": [ 2440 | "framework", 2441 | "yii2" 2442 | ], 2443 | "time": "2018-03-21T18:36:53+00:00" 2444 | }, 2445 | { 2446 | "name": "yiisoft/yii2-bootstrap", 2447 | "version": "2.0.8", 2448 | "source": { 2449 | "type": "git", 2450 | "url": "https://github.com/yiisoft/yii2-bootstrap.git", 2451 | "reference": "3f49c47924bb9fa5363c3fc7b073d954168cf438" 2452 | }, 2453 | "dist": { 2454 | "type": "zip", 2455 | "url": "https://api.github.com/repos/yiisoft/yii2-bootstrap/zipball/3f49c47924bb9fa5363c3fc7b073d954168cf438", 2456 | "reference": "3f49c47924bb9fa5363c3fc7b073d954168cf438", 2457 | "shasum": "" 2458 | }, 2459 | "require": { 2460 | "bower-asset/bootstrap": "3.3.* | 3.2.* | 3.1.*", 2461 | "yiisoft/yii2": "~2.0.6" 2462 | }, 2463 | "type": "yii2-extension", 2464 | "extra": { 2465 | "branch-alias": { 2466 | "dev-master": "2.0.x-dev" 2467 | } 2468 | }, 2469 | "autoload": { 2470 | "psr-4": { 2471 | "yii\\bootstrap\\": "src" 2472 | } 2473 | }, 2474 | "notification-url": "https://packagist.org/downloads/", 2475 | "license": [ 2476 | "BSD-3-Clause" 2477 | ], 2478 | "authors": [ 2479 | { 2480 | "name": "Paul Klimov", 2481 | "email": "klimov.paul@gmail.com" 2482 | }, 2483 | { 2484 | "name": "Alexander Makarov", 2485 | "email": "sam@rmcreative.ru", 2486 | "homepage": "http://rmcreative.ru/" 2487 | }, 2488 | { 2489 | "name": "Antonio Ramirez", 2490 | "email": "amigo.cobos@gmail.com" 2491 | }, 2492 | { 2493 | "name": "Qiang Xue", 2494 | "email": "qiang.xue@gmail.com", 2495 | "homepage": "http://www.yiiframework.com/" 2496 | } 2497 | ], 2498 | "description": "The Twitter Bootstrap extension for the Yii framework", 2499 | "keywords": [ 2500 | "bootstrap", 2501 | "yii2" 2502 | ], 2503 | "time": "2018-02-16T10:41:52+00:00" 2504 | }, 2505 | { 2506 | "name": "yiisoft/yii2-composer", 2507 | "version": "2.0.7", 2508 | "source": { 2509 | "type": "git", 2510 | "url": "https://github.com/yiisoft/yii2-composer.git", 2511 | "reference": "1439e78be1218c492e6cde251ed87d3f128b9534" 2512 | }, 2513 | "dist": { 2514 | "type": "zip", 2515 | "url": "https://api.github.com/repos/yiisoft/yii2-composer/zipball/1439e78be1218c492e6cde251ed87d3f128b9534", 2516 | "reference": "1439e78be1218c492e6cde251ed87d3f128b9534", 2517 | "shasum": "" 2518 | }, 2519 | "require": { 2520 | "composer-plugin-api": "^1.0" 2521 | }, 2522 | "require-dev": { 2523 | "composer/composer": "^1.0" 2524 | }, 2525 | "type": "composer-plugin", 2526 | "extra": { 2527 | "class": "yii\\composer\\Plugin", 2528 | "branch-alias": { 2529 | "dev-master": "2.0.x-dev" 2530 | } 2531 | }, 2532 | "autoload": { 2533 | "psr-4": { 2534 | "yii\\composer\\": "" 2535 | } 2536 | }, 2537 | "notification-url": "https://packagist.org/downloads/", 2538 | "license": [ 2539 | "BSD-3-Clause" 2540 | ], 2541 | "authors": [ 2542 | { 2543 | "name": "Qiang Xue", 2544 | "email": "qiang.xue@gmail.com" 2545 | }, 2546 | { 2547 | "name": "Carsten Brandt", 2548 | "email": "mail@cebe.cc" 2549 | } 2550 | ], 2551 | "description": "The composer plugin for Yii extension installer", 2552 | "keywords": [ 2553 | "composer", 2554 | "extension installer", 2555 | "yii2" 2556 | ], 2557 | "time": "2018-07-05T15:44:47+00:00" 2558 | }, 2559 | { 2560 | "name": "yiisoft/yii2-debug", 2561 | "version": "2.0.14", 2562 | "source": { 2563 | "type": "git", 2564 | "url": "https://github.com/yiisoft/yii2-debug.git", 2565 | "reference": "dc5a4a8529de1a41dbb037dbabf1f3f93002f21d" 2566 | }, 2567 | "dist": { 2568 | "type": "zip", 2569 | "url": "https://api.github.com/repos/yiisoft/yii2-debug/zipball/dc5a4a8529de1a41dbb037dbabf1f3f93002f21d", 2570 | "reference": "dc5a4a8529de1a41dbb037dbabf1f3f93002f21d", 2571 | "shasum": "" 2572 | }, 2573 | "require": { 2574 | "yiisoft/yii2": "~2.0.13", 2575 | "yiisoft/yii2-bootstrap": "~2.0.0" 2576 | }, 2577 | "type": "yii2-extension", 2578 | "extra": { 2579 | "branch-alias": { 2580 | "dev-master": "2.0.x-dev" 2581 | } 2582 | }, 2583 | "autoload": { 2584 | "psr-4": { 2585 | "yii\\debug\\": "src" 2586 | } 2587 | }, 2588 | "notification-url": "https://packagist.org/downloads/", 2589 | "license": [ 2590 | "BSD-3-Clause" 2591 | ], 2592 | "authors": [ 2593 | { 2594 | "name": "Qiang Xue", 2595 | "email": "qiang.xue@gmail.com" 2596 | } 2597 | ], 2598 | "description": "The debugger extension for the Yii framework", 2599 | "keywords": [ 2600 | "debug", 2601 | "debugger", 2602 | "yii2" 2603 | ], 2604 | "time": "2018-09-23T21:41:04+00:00" 2605 | }, 2606 | { 2607 | "name": "yiisoft/yii2-queue", 2608 | "version": "2.1.0", 2609 | "source": { 2610 | "type": "git", 2611 | "url": "https://github.com/yiisoft/yii2-queue.git", 2612 | "reference": "d04b4b3c932081200876a351cc6c3502e89e11b8" 2613 | }, 2614 | "dist": { 2615 | "type": "zip", 2616 | "url": "https://api.github.com/repos/yiisoft/yii2-queue/zipball/d04b4b3c932081200876a351cc6c3502e89e11b8", 2617 | "reference": "d04b4b3c932081200876a351cc6c3502e89e11b8", 2618 | "shasum": "" 2619 | }, 2620 | "require": { 2621 | "php": ">=5.5.0", 2622 | "symfony/process": "*", 2623 | "yiisoft/yii2": "~2.0.14" 2624 | }, 2625 | "require-dev": { 2626 | "aws/aws-sdk-php": ">=2.4", 2627 | "enqueue/amqp-lib": "^0.8", 2628 | "jeremeamia/superclosure": "*", 2629 | "pda/pheanstalk": "*", 2630 | "php-amqplib/php-amqplib": "*", 2631 | "phpunit/phpunit": "~4.4", 2632 | "yiisoft/yii2-debug": "*", 2633 | "yiisoft/yii2-gii": "*", 2634 | "yiisoft/yii2-redis": "*" 2635 | }, 2636 | "suggest": { 2637 | "aws/aws-sdk-php": "Need for aws SQS.", 2638 | "enqueue/amqp-lib": "Need for AMQP interop queue.", 2639 | "ext-gearman": "Need for Gearman queue.", 2640 | "ext-pcntl": "Need for process signals.", 2641 | "pda/pheanstalk": "Need for Beanstalk queue.", 2642 | "php-amqplib/php-amqplib": "Need for AMQP queue.", 2643 | "yiisoft/yii2-redis": "Need for Redis queue." 2644 | }, 2645 | "type": "yii2-extension", 2646 | "extra": { 2647 | "branch-alias": { 2648 | "dev-master": "2.0.x-dev" 2649 | } 2650 | }, 2651 | "autoload": { 2652 | "psr-4": { 2653 | "yii\\queue\\": "src", 2654 | "yii\\queue\\amqp\\": "src/drivers/amqp", 2655 | "yii\\queue\\amqp_interop\\": "src/drivers/amqp_interop", 2656 | "yii\\queue\\beanstalk\\": "src/drivers/beanstalk", 2657 | "yii\\queue\\db\\": "src/drivers/db", 2658 | "yii\\queue\\file\\": "src/drivers/file", 2659 | "yii\\queue\\gearman\\": "src/drivers/gearman", 2660 | "yii\\queue\\redis\\": "src/drivers/redis", 2661 | "yii\\queue\\sync\\": "src/drivers/sync", 2662 | "yii\\queue\\sqs\\": "src/drivers/sqs" 2663 | } 2664 | }, 2665 | "notification-url": "https://packagist.org/downloads/", 2666 | "license": [ 2667 | "BSD-3-Clause" 2668 | ], 2669 | "authors": [ 2670 | { 2671 | "name": "Roman Zhuravlev", 2672 | "email": "zhuravljov@gmail.com" 2673 | } 2674 | ], 2675 | "description": "Yii2 Queue Extension which supported DB, Redis, RabbitMQ, Beanstalk, SQS and Gearman", 2676 | "keywords": [ 2677 | "async", 2678 | "beanstalk", 2679 | "db", 2680 | "gearman", 2681 | "gii", 2682 | "queue", 2683 | "rabbitmq", 2684 | "redis", 2685 | "sqs", 2686 | "yii" 2687 | ], 2688 | "time": "2018-05-23T21:04:57+00:00" 2689 | }, 2690 | { 2691 | "name": "yiisoft/yii2-swiftmailer", 2692 | "version": "2.1.2", 2693 | "source": { 2694 | "type": "git", 2695 | "url": "https://github.com/yiisoft/yii2-swiftmailer.git", 2696 | "reference": "09659a55959f9e64b8178d842b64a9ffae42b994" 2697 | }, 2698 | "dist": { 2699 | "type": "zip", 2700 | "url": "https://api.github.com/repos/yiisoft/yii2-swiftmailer/zipball/09659a55959f9e64b8178d842b64a9ffae42b994", 2701 | "reference": "09659a55959f9e64b8178d842b64a9ffae42b994", 2702 | "shasum": "" 2703 | }, 2704 | "require": { 2705 | "swiftmailer/swiftmailer": "~6.0", 2706 | "yiisoft/yii2": ">=2.0.4" 2707 | }, 2708 | "type": "yii2-extension", 2709 | "extra": { 2710 | "branch-alias": { 2711 | "dev-master": "2.1.x-dev" 2712 | } 2713 | }, 2714 | "autoload": { 2715 | "psr-4": { 2716 | "yii\\swiftmailer\\": "src" 2717 | } 2718 | }, 2719 | "notification-url": "https://packagist.org/downloads/", 2720 | "license": [ 2721 | "BSD-3-Clause" 2722 | ], 2723 | "authors": [ 2724 | { 2725 | "name": "Paul Klimov", 2726 | "email": "klimov.paul@gmail.com" 2727 | } 2728 | ], 2729 | "description": "The SwiftMailer integration for the Yii framework", 2730 | "keywords": [ 2731 | "email", 2732 | "mail", 2733 | "mailer", 2734 | "swift", 2735 | "swiftmailer", 2736 | "yii2" 2737 | ], 2738 | "time": "2018-09-23T22:00:47+00:00" 2739 | }, 2740 | { 2741 | "name": "zendframework/zend-escaper", 2742 | "version": "2.6.0", 2743 | "source": { 2744 | "type": "git", 2745 | "url": "https://github.com/zendframework/zend-escaper.git", 2746 | "reference": "31d8aafae982f9568287cb4dce987e6aff8fd074" 2747 | }, 2748 | "dist": { 2749 | "type": "zip", 2750 | "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/31d8aafae982f9568287cb4dce987e6aff8fd074", 2751 | "reference": "31d8aafae982f9568287cb4dce987e6aff8fd074", 2752 | "shasum": "" 2753 | }, 2754 | "require": { 2755 | "php": "^5.6 || ^7.0" 2756 | }, 2757 | "require-dev": { 2758 | "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", 2759 | "zendframework/zend-coding-standard": "~1.0.0" 2760 | }, 2761 | "type": "library", 2762 | "extra": { 2763 | "branch-alias": { 2764 | "dev-master": "2.6.x-dev", 2765 | "dev-develop": "2.7.x-dev" 2766 | } 2767 | }, 2768 | "autoload": { 2769 | "psr-4": { 2770 | "Zend\\Escaper\\": "src/" 2771 | } 2772 | }, 2773 | "notification-url": "https://packagist.org/downloads/", 2774 | "license": [ 2775 | "BSD-3-Clause" 2776 | ], 2777 | "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs", 2778 | "keywords": [ 2779 | "ZendFramework", 2780 | "escaper", 2781 | "zf" 2782 | ], 2783 | "time": "2018-04-25T15:48:53+00:00" 2784 | }, 2785 | { 2786 | "name": "zendframework/zend-feed", 2787 | "version": "2.10.3", 2788 | "source": { 2789 | "type": "git", 2790 | "url": "https://github.com/zendframework/zend-feed.git", 2791 | "reference": "6641f4cf3f4586c63f83fd70b6d19966025c8888" 2792 | }, 2793 | "dist": { 2794 | "type": "zip", 2795 | "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/6641f4cf3f4586c63f83fd70b6d19966025c8888", 2796 | "reference": "6641f4cf3f4586c63f83fd70b6d19966025c8888", 2797 | "shasum": "" 2798 | }, 2799 | "require": { 2800 | "php": "^5.6 || ^7.0", 2801 | "zendframework/zend-escaper": "^2.5.2", 2802 | "zendframework/zend-stdlib": "^2.7.7 || ^3.1" 2803 | }, 2804 | "require-dev": { 2805 | "phpunit/phpunit": "^5.7.23 || ^6.4.3", 2806 | "psr/http-message": "^1.0.1", 2807 | "zendframework/zend-cache": "^2.7.2", 2808 | "zendframework/zend-coding-standard": "~1.0.0", 2809 | "zendframework/zend-db": "^2.8.2", 2810 | "zendframework/zend-http": "^2.7", 2811 | "zendframework/zend-servicemanager": "^2.7.8 || ^3.3", 2812 | "zendframework/zend-validator": "^2.10.1" 2813 | }, 2814 | "suggest": { 2815 | "psr/http-message": "PSR-7 ^1.0.1, if you wish to use Zend\\Feed\\Reader\\Http\\Psr7ResponseDecorator", 2816 | "zendframework/zend-cache": "Zend\\Cache component, for optionally caching feeds between requests", 2817 | "zendframework/zend-db": "Zend\\Db component, for use with PubSubHubbub", 2818 | "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader", 2819 | "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for easily extending ExtensionManager implementations", 2820 | "zendframework/zend-validator": "Zend\\Validator component, for validating email addresses used in Atom feeds and entries when using the Writer subcomponent" 2821 | }, 2822 | "type": "library", 2823 | "extra": { 2824 | "branch-alias": { 2825 | "dev-master": "2.10.x-dev", 2826 | "dev-develop": "2.11.x-dev" 2827 | } 2828 | }, 2829 | "autoload": { 2830 | "psr-4": { 2831 | "Zend\\Feed\\": "src/" 2832 | } 2833 | }, 2834 | "notification-url": "https://packagist.org/downloads/", 2835 | "license": [ 2836 | "BSD-3-Clause" 2837 | ], 2838 | "description": "provides functionality for consuming RSS and Atom feeds", 2839 | "keywords": [ 2840 | "ZendFramework", 2841 | "feed", 2842 | "zf" 2843 | ], 2844 | "time": "2018-08-01T13:53:20+00:00" 2845 | }, 2846 | { 2847 | "name": "zendframework/zend-stdlib", 2848 | "version": "3.2.1", 2849 | "source": { 2850 | "type": "git", 2851 | "url": "https://github.com/zendframework/zend-stdlib.git", 2852 | "reference": "66536006722aff9e62d1b331025089b7ec71c065" 2853 | }, 2854 | "dist": { 2855 | "type": "zip", 2856 | "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/66536006722aff9e62d1b331025089b7ec71c065", 2857 | "reference": "66536006722aff9e62d1b331025089b7ec71c065", 2858 | "shasum": "" 2859 | }, 2860 | "require": { 2861 | "php": "^5.6 || ^7.0" 2862 | }, 2863 | "require-dev": { 2864 | "phpbench/phpbench": "^0.13", 2865 | "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", 2866 | "zendframework/zend-coding-standard": "~1.0.0" 2867 | }, 2868 | "type": "library", 2869 | "extra": { 2870 | "branch-alias": { 2871 | "dev-master": "3.2.x-dev", 2872 | "dev-develop": "3.3.x-dev" 2873 | } 2874 | }, 2875 | "autoload": { 2876 | "psr-4": { 2877 | "Zend\\Stdlib\\": "src/" 2878 | } 2879 | }, 2880 | "notification-url": "https://packagist.org/downloads/", 2881 | "license": [ 2882 | "BSD-3-Clause" 2883 | ], 2884 | "description": "SPL extensions, array utilities, error handlers, and more", 2885 | "keywords": [ 2886 | "ZendFramework", 2887 | "stdlib", 2888 | "zf" 2889 | ], 2890 | "time": "2018-08-28T21:34:05+00:00" 2891 | } 2892 | ], 2893 | "packages-dev": [], 2894 | "aliases": [], 2895 | "minimum-stability": "stable", 2896 | "stability-flags": [], 2897 | "prefer-stable": false, 2898 | "prefer-lowest": false, 2899 | "platform": [], 2900 | "platform-dev": [] 2901 | } 2902 | --------------------------------------------------------------------------------