├── .gitattributes ├── .gitignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE.txt ├── README.md ├── bin └── json_pp ├── composer.json ├── composer.lock └── config.default.php /.gitattributes: -------------------------------------------------------------------------------- 1 | /tests export-ignore 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /config.*.php 2 | !/config.default.php 3 | /vendor/ 4 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | Notable changes to `json_pp` are documented in this file. 4 | 5 | ## 1.0.0 - 2017-07-15 6 | 7 | First release. 8 | 9 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to `json_pp` 2 | 3 | Please report any potential security vulnerabilities to [security@deftek.com](mailto:security@deftek.com), rather than 4 | in the issue tracker or another public forum. 5 | 6 | For other issues, please first search the [issue tracker](https://github.com/deftek/json_pp/issues) to see if your issue 7 | may already have been addressed before creating a new issue. 8 | 9 | Helpful contributions to `json_pp` are most welcome and may be submitted via 10 | [pull request](https://help.github.com/articles/creating-a-pull-request/). 11 | 12 | PHP code should adhere to the [PSR-2 coding standard](http://www.php-fig.org/psr/psr-2/) and should include 13 | appropriate documentation and tests. 14 | 15 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright © 2017 Deftek. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | 1. Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 10 | 2. Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in the 12 | documentation and/or other materials provided with the distribution. 13 | 14 | 3. Neither the name of the copyright holder nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # json_pp - JSON Pretty Printer 2 | 3 | The `json_pp` utility prints [JSON](http://www.json.org/) data in a legible, indented format. It provides the most 4 | benefit to people who need to read, inspect, and understand JSON data structures that are not already provided with 5 | separating white space, such as software developers building or consuming JSON-based APIs. 6 | 7 | By default, `json_pp` does not escape slashes or multi-byte Unicode characters. These characters may be escaped by 8 | overriding the default encode options with a configuration file. Pretty-printing may be similarly disabled when compact 9 | JSON is needed and the source JSON is already formatted with white space. 10 | 11 | ## System Requirements 12 | 13 | * [PHP](http://php.net/) 5.5.0 or later must be available at the command line in order to run `json_pp`. Users of older 14 | versions of PHP [should seriously consider upgrading](http://php.net/eol.php). PHP 7 or later is required to run the 15 | test suite. 16 | * [Composer](https://getcomposer.org/) is used for automating installation, and it is also possible to manually download 17 | and install this package. 18 | 19 | ## Installation 20 | 21 | To make `json_pp` available to all system users, which may require system administrator (e.g., root) privileges: 22 | 23 | composer global install deftek/json_pp 24 | 25 | To make `json_pp` available only for the current system user: 26 | 27 | composer install deftek/json_pp 28 | 29 | To include `json_pp` in a project that uses Composer: 30 | 31 | composer require deftek/json_pp 32 | 33 | To include `json_pp` for development purposes in a project that uses Composer: 34 | 35 | composer require --dev deftek/json_pp 36 | 37 | ## Usage 38 | 39 | ### Pretty-print compact JSON contained in a string 40 | 41 | echo '{"foo":{"bar":"baz"}}' | json_pp 42 | 43 | Output: 44 | 45 | { 46 | "foo": { 47 | "bar": "baz" 48 | } 49 | } 50 | 51 | ### Pretty-print compact JSON contained in a file: 52 | 53 | json_pp < compact.json 54 | 55 | ### Output compact JSON from pretty-printed source: 56 | 57 | echo pretty.json | json_pp --config=config.compact.php 58 | 59 | Where `config.compact.php` contains something like: 60 | 61 | 0, 64 | 'depth' => 512, 65 | 'encode' => JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE, 66 | ]; 67 | 68 | ### Configuration 69 | 70 | See `config.default.php` for the default configuration values, and override the values in your own configuration files 71 | as needed. 72 | 73 | The configuration file contains three options that are used for controlling arguments to the 74 | [`json_decode()`](http://php.net/json_decode) and [`json_encode()`](http://php.net/json_encode) function calls: 75 | 76 | 1. `decode`: This value represents the `options` argument for [`json_decode()`](http://php.net/json_decode). 77 | 1. `depth`: This value represents the `depth` argument for both [`json_decode()`](http://php.net/json_decode) and 78 | [`json_encode()`](http://php.net/json_encode). 79 | 1. `encode`: This value represents the `options` argument for [`json_encode()`](http://php.net/json_encode). 80 | 81 | ## Copyright and License 82 | 83 | The `json_pp` package is provided under the 3-Clause (aka New or Modified) BSD License. Complete copyright and license 84 | information is available in [LICENSE.txt](LICENSE.txt). 85 | 86 | ## Issues and Contributing 87 | 88 | Issues may be reported and contributions may be accepted within the [contribution guidelines](CONTRIBUTING.md). 89 | 90 | ## Change Log 91 | 92 | Notable changes to `json_pp` are documented in the [change log](CHANGELOG.md). 93 | 94 | -------------------------------------------------------------------------------- /bin/json_pp: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | 'Invalid options provided', 31 | ERROR_READ => 'Failed reading input JSON', 32 | ERROR_DECODE => 'Failed decoding input JSON', 33 | ERROR_ENCODE => 'Failed encoding input JSON', 34 | ]; 35 | 36 | fputs( 37 | $stderr, 38 | "{$errorMessages[$errorCode]}" . (isset($message) ? ": {$message}" : '') . "\n" . 39 | 'Usage: json_pp [--config=/path/to/config.php]' . "\n" 40 | ); 41 | 42 | exit($errorCode); 43 | }; 44 | 45 | // Open STDERR for appending error messages 46 | $stderr = fopen('php://stderr', 'a'); 47 | 48 | // Get options from command line 49 | $options = getopt('', ['config::']); 50 | if (false === $options) { 51 | $exitWithErrorCode(ERROR_OPTIONS); 52 | } 53 | 54 | // Add defaults for missing options 55 | $options += [ 56 | 'config' => realpath(__DIR__ . '/../config.default.php'), 57 | ]; 58 | 59 | // Read config file 60 | set_include_path(getcwd() . PATH_SEPARATOR . realpath(__DIR__ . '/..')); 61 | $config = require $options['config']; 62 | 63 | // Read input from STDIN 64 | $input = file_get_contents('php://stdin'); 65 | if (false === $input) { 66 | $exitWithErrorCode(ERROR_READ); 67 | } 68 | 69 | // Decode input data 70 | $inputDecoded = json_decode($input, true, $config['depth'], $config['decode']); 71 | if (null === $inputDecoded) { 72 | $exitWithErrorCode(ERROR_DECODE); 73 | } 74 | 75 | // Output re-encoded input data 76 | $output = json_encode($inputDecoded, $config['encode'], $config['depth']); 77 | if (false === $output) { 78 | $exitWithErrorCode(ERROR_ENCODE); 79 | } 80 | echo $output; 81 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "deftek/json_pp", 3 | "description": "JSON Pretty Printer", 4 | "homepage": "https://github.com/deftek/json_pp", 5 | "license": "BSD-3-Clause", 6 | "authors": [ 7 | { 8 | "name": "Darby Felton", 9 | "email": "darby.felton@deftek.com" 10 | } 11 | ], 12 | "bin": ["bin/json_pp"], 13 | "require": { 14 | "php": ">=5.5.0" 15 | }, 16 | "require-dev": { 17 | "phpunit/phpunit": "^6.2", 18 | "squizlabs/php_codesniffer": "^3.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /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#composer-lock-the-lock-file", 5 | "This file is @generated automatically" 6 | ], 7 | "content-hash": "e06814c62fdb595ad0caab610ba2f515", 8 | "packages": [], 9 | "packages-dev": [ 10 | { 11 | "name": "doctrine/instantiator", 12 | "version": "1.0.5", 13 | "source": { 14 | "type": "git", 15 | "url": "https://github.com/doctrine/instantiator.git", 16 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" 17 | }, 18 | "dist": { 19 | "type": "zip", 20 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", 21 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", 22 | "shasum": "" 23 | }, 24 | "require": { 25 | "php": ">=5.3,<8.0-DEV" 26 | }, 27 | "require-dev": { 28 | "athletic/athletic": "~0.1.8", 29 | "ext-pdo": "*", 30 | "ext-phar": "*", 31 | "phpunit/phpunit": "~4.0", 32 | "squizlabs/php_codesniffer": "~2.0" 33 | }, 34 | "type": "library", 35 | "extra": { 36 | "branch-alias": { 37 | "dev-master": "1.0.x-dev" 38 | } 39 | }, 40 | "autoload": { 41 | "psr-4": { 42 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 43 | } 44 | }, 45 | "notification-url": "https://packagist.org/downloads/", 46 | "license": [ 47 | "MIT" 48 | ], 49 | "authors": [ 50 | { 51 | "name": "Marco Pivetta", 52 | "email": "ocramius@gmail.com", 53 | "homepage": "http://ocramius.github.com/" 54 | } 55 | ], 56 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 57 | "homepage": "https://github.com/doctrine/instantiator", 58 | "keywords": [ 59 | "constructor", 60 | "instantiate" 61 | ], 62 | "time": "2015-06-14T21:17:01+00:00" 63 | }, 64 | { 65 | "name": "myclabs/deep-copy", 66 | "version": "1.6.1", 67 | "source": { 68 | "type": "git", 69 | "url": "https://github.com/myclabs/DeepCopy.git", 70 | "reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102" 71 | }, 72 | "dist": { 73 | "type": "zip", 74 | "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/8e6e04167378abf1ddb4d3522d8755c5fd90d102", 75 | "reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102", 76 | "shasum": "" 77 | }, 78 | "require": { 79 | "php": ">=5.4.0" 80 | }, 81 | "require-dev": { 82 | "doctrine/collections": "1.*", 83 | "phpunit/phpunit": "~4.1" 84 | }, 85 | "type": "library", 86 | "autoload": { 87 | "psr-4": { 88 | "DeepCopy\\": "src/DeepCopy/" 89 | } 90 | }, 91 | "notification-url": "https://packagist.org/downloads/", 92 | "license": [ 93 | "MIT" 94 | ], 95 | "description": "Create deep copies (clones) of your objects", 96 | "homepage": "https://github.com/myclabs/DeepCopy", 97 | "keywords": [ 98 | "clone", 99 | "copy", 100 | "duplicate", 101 | "object", 102 | "object graph" 103 | ], 104 | "time": "2017-04-12T18:52:22+00:00" 105 | }, 106 | { 107 | "name": "phar-io/manifest", 108 | "version": "1.0.1", 109 | "source": { 110 | "type": "git", 111 | "url": "https://github.com/phar-io/manifest.git", 112 | "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" 113 | }, 114 | "dist": { 115 | "type": "zip", 116 | "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", 117 | "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", 118 | "shasum": "" 119 | }, 120 | "require": { 121 | "ext-dom": "*", 122 | "ext-phar": "*", 123 | "phar-io/version": "^1.0.1", 124 | "php": "^5.6 || ^7.0" 125 | }, 126 | "type": "library", 127 | "extra": { 128 | "branch-alias": { 129 | "dev-master": "1.0.x-dev" 130 | } 131 | }, 132 | "autoload": { 133 | "classmap": [ 134 | "src/" 135 | ] 136 | }, 137 | "notification-url": "https://packagist.org/downloads/", 138 | "license": [ 139 | "BSD-3-Clause" 140 | ], 141 | "authors": [ 142 | { 143 | "name": "Arne Blankerts", 144 | "email": "arne@blankerts.de", 145 | "role": "Developer" 146 | }, 147 | { 148 | "name": "Sebastian Heuer", 149 | "email": "sebastian@phpeople.de", 150 | "role": "Developer" 151 | }, 152 | { 153 | "name": "Sebastian Bergmann", 154 | "email": "sebastian@phpunit.de", 155 | "role": "Developer" 156 | } 157 | ], 158 | "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", 159 | "time": "2017-03-05T18:14:27+00:00" 160 | }, 161 | { 162 | "name": "phar-io/version", 163 | "version": "1.0.1", 164 | "source": { 165 | "type": "git", 166 | "url": "https://github.com/phar-io/version.git", 167 | "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" 168 | }, 169 | "dist": { 170 | "type": "zip", 171 | "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", 172 | "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", 173 | "shasum": "" 174 | }, 175 | "require": { 176 | "php": "^5.6 || ^7.0" 177 | }, 178 | "type": "library", 179 | "autoload": { 180 | "classmap": [ 181 | "src/" 182 | ] 183 | }, 184 | "notification-url": "https://packagist.org/downloads/", 185 | "license": [ 186 | "BSD-3-Clause" 187 | ], 188 | "authors": [ 189 | { 190 | "name": "Arne Blankerts", 191 | "email": "arne@blankerts.de", 192 | "role": "Developer" 193 | }, 194 | { 195 | "name": "Sebastian Heuer", 196 | "email": "sebastian@phpeople.de", 197 | "role": "Developer" 198 | }, 199 | { 200 | "name": "Sebastian Bergmann", 201 | "email": "sebastian@phpunit.de", 202 | "role": "Developer" 203 | } 204 | ], 205 | "description": "Library for handling version information and constraints", 206 | "time": "2017-03-05T17:38:23+00:00" 207 | }, 208 | { 209 | "name": "phpdocumentor/reflection-common", 210 | "version": "1.0", 211 | "source": { 212 | "type": "git", 213 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git", 214 | "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" 215 | }, 216 | "dist": { 217 | "type": "zip", 218 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", 219 | "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", 220 | "shasum": "" 221 | }, 222 | "require": { 223 | "php": ">=5.5" 224 | }, 225 | "require-dev": { 226 | "phpunit/phpunit": "^4.6" 227 | }, 228 | "type": "library", 229 | "extra": { 230 | "branch-alias": { 231 | "dev-master": "1.0.x-dev" 232 | } 233 | }, 234 | "autoload": { 235 | "psr-4": { 236 | "phpDocumentor\\Reflection\\": [ 237 | "src" 238 | ] 239 | } 240 | }, 241 | "notification-url": "https://packagist.org/downloads/", 242 | "license": [ 243 | "MIT" 244 | ], 245 | "authors": [ 246 | { 247 | "name": "Jaap van Otterdijk", 248 | "email": "opensource@ijaap.nl" 249 | } 250 | ], 251 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure", 252 | "homepage": "http://www.phpdoc.org", 253 | "keywords": [ 254 | "FQSEN", 255 | "phpDocumentor", 256 | "phpdoc", 257 | "reflection", 258 | "static analysis" 259 | ], 260 | "time": "2015-12-27T11:43:31+00:00" 261 | }, 262 | { 263 | "name": "phpdocumentor/reflection-docblock", 264 | "version": "3.1.1", 265 | "source": { 266 | "type": "git", 267 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", 268 | "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" 269 | }, 270 | "dist": { 271 | "type": "zip", 272 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", 273 | "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", 274 | "shasum": "" 275 | }, 276 | "require": { 277 | "php": ">=5.5", 278 | "phpdocumentor/reflection-common": "^1.0@dev", 279 | "phpdocumentor/type-resolver": "^0.2.0", 280 | "webmozart/assert": "^1.0" 281 | }, 282 | "require-dev": { 283 | "mockery/mockery": "^0.9.4", 284 | "phpunit/phpunit": "^4.4" 285 | }, 286 | "type": "library", 287 | "autoload": { 288 | "psr-4": { 289 | "phpDocumentor\\Reflection\\": [ 290 | "src/" 291 | ] 292 | } 293 | }, 294 | "notification-url": "https://packagist.org/downloads/", 295 | "license": [ 296 | "MIT" 297 | ], 298 | "authors": [ 299 | { 300 | "name": "Mike van Riel", 301 | "email": "me@mikevanriel.com" 302 | } 303 | ], 304 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", 305 | "time": "2016-09-30T07:12:33+00:00" 306 | }, 307 | { 308 | "name": "phpdocumentor/type-resolver", 309 | "version": "0.2.1", 310 | "source": { 311 | "type": "git", 312 | "url": "https://github.com/phpDocumentor/TypeResolver.git", 313 | "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" 314 | }, 315 | "dist": { 316 | "type": "zip", 317 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", 318 | "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", 319 | "shasum": "" 320 | }, 321 | "require": { 322 | "php": ">=5.5", 323 | "phpdocumentor/reflection-common": "^1.0" 324 | }, 325 | "require-dev": { 326 | "mockery/mockery": "^0.9.4", 327 | "phpunit/phpunit": "^5.2||^4.8.24" 328 | }, 329 | "type": "library", 330 | "extra": { 331 | "branch-alias": { 332 | "dev-master": "1.0.x-dev" 333 | } 334 | }, 335 | "autoload": { 336 | "psr-4": { 337 | "phpDocumentor\\Reflection\\": [ 338 | "src/" 339 | ] 340 | } 341 | }, 342 | "notification-url": "https://packagist.org/downloads/", 343 | "license": [ 344 | "MIT" 345 | ], 346 | "authors": [ 347 | { 348 | "name": "Mike van Riel", 349 | "email": "me@mikevanriel.com" 350 | } 351 | ], 352 | "time": "2016-11-25T06:54:22+00:00" 353 | }, 354 | { 355 | "name": "phpspec/prophecy", 356 | "version": "v1.7.0", 357 | "source": { 358 | "type": "git", 359 | "url": "https://github.com/phpspec/prophecy.git", 360 | "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" 361 | }, 362 | "dist": { 363 | "type": "zip", 364 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", 365 | "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", 366 | "shasum": "" 367 | }, 368 | "require": { 369 | "doctrine/instantiator": "^1.0.2", 370 | "php": "^5.3|^7.0", 371 | "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", 372 | "sebastian/comparator": "^1.1|^2.0", 373 | "sebastian/recursion-context": "^1.0|^2.0|^3.0" 374 | }, 375 | "require-dev": { 376 | "phpspec/phpspec": "^2.5|^3.2", 377 | "phpunit/phpunit": "^4.8 || ^5.6.5" 378 | }, 379 | "type": "library", 380 | "extra": { 381 | "branch-alias": { 382 | "dev-master": "1.6.x-dev" 383 | } 384 | }, 385 | "autoload": { 386 | "psr-0": { 387 | "Prophecy\\": "src/" 388 | } 389 | }, 390 | "notification-url": "https://packagist.org/downloads/", 391 | "license": [ 392 | "MIT" 393 | ], 394 | "authors": [ 395 | { 396 | "name": "Konstantin Kudryashov", 397 | "email": "ever.zet@gmail.com", 398 | "homepage": "http://everzet.com" 399 | }, 400 | { 401 | "name": "Marcello Duarte", 402 | "email": "marcello.duarte@gmail.com" 403 | } 404 | ], 405 | "description": "Highly opinionated mocking framework for PHP 5.3+", 406 | "homepage": "https://github.com/phpspec/prophecy", 407 | "keywords": [ 408 | "Double", 409 | "Dummy", 410 | "fake", 411 | "mock", 412 | "spy", 413 | "stub" 414 | ], 415 | "time": "2017-03-02T20:05:34+00:00" 416 | }, 417 | { 418 | "name": "phpunit/php-code-coverage", 419 | "version": "5.2.1", 420 | "source": { 421 | "type": "git", 422 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 423 | "reference": "dc421f9ca5082a0c0cb04afb171c765f79add85b" 424 | }, 425 | "dist": { 426 | "type": "zip", 427 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/dc421f9ca5082a0c0cb04afb171c765f79add85b", 428 | "reference": "dc421f9ca5082a0c0cb04afb171c765f79add85b", 429 | "shasum": "" 430 | }, 431 | "require": { 432 | "ext-dom": "*", 433 | "ext-xmlwriter": "*", 434 | "php": "^7.0", 435 | "phpunit/php-file-iterator": "^1.3", 436 | "phpunit/php-text-template": "^1.2", 437 | "phpunit/php-token-stream": "^1.4.11 || ^2.0", 438 | "sebastian/code-unit-reverse-lookup": "^1.0", 439 | "sebastian/environment": "^3.0", 440 | "sebastian/version": "^2.0", 441 | "theseer/tokenizer": "^1.1" 442 | }, 443 | "require-dev": { 444 | "ext-xdebug": "^2.5", 445 | "phpunit/phpunit": "^6.0" 446 | }, 447 | "suggest": { 448 | "ext-xdebug": "^2.5.3" 449 | }, 450 | "type": "library", 451 | "extra": { 452 | "branch-alias": { 453 | "dev-master": "5.2.x-dev" 454 | } 455 | }, 456 | "autoload": { 457 | "classmap": [ 458 | "src/" 459 | ] 460 | }, 461 | "notification-url": "https://packagist.org/downloads/", 462 | "license": [ 463 | "BSD-3-Clause" 464 | ], 465 | "authors": [ 466 | { 467 | "name": "Sebastian Bergmann", 468 | "email": "sb@sebastian-bergmann.de", 469 | "role": "lead" 470 | } 471 | ], 472 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 473 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 474 | "keywords": [ 475 | "coverage", 476 | "testing", 477 | "xunit" 478 | ], 479 | "time": "2017-04-21T08:03:57+00:00" 480 | }, 481 | { 482 | "name": "phpunit/php-file-iterator", 483 | "version": "1.4.2", 484 | "source": { 485 | "type": "git", 486 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 487 | "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" 488 | }, 489 | "dist": { 490 | "type": "zip", 491 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", 492 | "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", 493 | "shasum": "" 494 | }, 495 | "require": { 496 | "php": ">=5.3.3" 497 | }, 498 | "type": "library", 499 | "extra": { 500 | "branch-alias": { 501 | "dev-master": "1.4.x-dev" 502 | } 503 | }, 504 | "autoload": { 505 | "classmap": [ 506 | "src/" 507 | ] 508 | }, 509 | "notification-url": "https://packagist.org/downloads/", 510 | "license": [ 511 | "BSD-3-Clause" 512 | ], 513 | "authors": [ 514 | { 515 | "name": "Sebastian Bergmann", 516 | "email": "sb@sebastian-bergmann.de", 517 | "role": "lead" 518 | } 519 | ], 520 | "description": "FilterIterator implementation that filters files based on a list of suffixes.", 521 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 522 | "keywords": [ 523 | "filesystem", 524 | "iterator" 525 | ], 526 | "time": "2016-10-03T07:40:28+00:00" 527 | }, 528 | { 529 | "name": "phpunit/php-text-template", 530 | "version": "1.2.1", 531 | "source": { 532 | "type": "git", 533 | "url": "https://github.com/sebastianbergmann/php-text-template.git", 534 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" 535 | }, 536 | "dist": { 537 | "type": "zip", 538 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 539 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 540 | "shasum": "" 541 | }, 542 | "require": { 543 | "php": ">=5.3.3" 544 | }, 545 | "type": "library", 546 | "autoload": { 547 | "classmap": [ 548 | "src/" 549 | ] 550 | }, 551 | "notification-url": "https://packagist.org/downloads/", 552 | "license": [ 553 | "BSD-3-Clause" 554 | ], 555 | "authors": [ 556 | { 557 | "name": "Sebastian Bergmann", 558 | "email": "sebastian@phpunit.de", 559 | "role": "lead" 560 | } 561 | ], 562 | "description": "Simple template engine.", 563 | "homepage": "https://github.com/sebastianbergmann/php-text-template/", 564 | "keywords": [ 565 | "template" 566 | ], 567 | "time": "2015-06-21T13:50:34+00:00" 568 | }, 569 | { 570 | "name": "phpunit/php-timer", 571 | "version": "1.0.9", 572 | "source": { 573 | "type": "git", 574 | "url": "https://github.com/sebastianbergmann/php-timer.git", 575 | "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" 576 | }, 577 | "dist": { 578 | "type": "zip", 579 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", 580 | "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", 581 | "shasum": "" 582 | }, 583 | "require": { 584 | "php": "^5.3.3 || ^7.0" 585 | }, 586 | "require-dev": { 587 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" 588 | }, 589 | "type": "library", 590 | "extra": { 591 | "branch-alias": { 592 | "dev-master": "1.0-dev" 593 | } 594 | }, 595 | "autoload": { 596 | "classmap": [ 597 | "src/" 598 | ] 599 | }, 600 | "notification-url": "https://packagist.org/downloads/", 601 | "license": [ 602 | "BSD-3-Clause" 603 | ], 604 | "authors": [ 605 | { 606 | "name": "Sebastian Bergmann", 607 | "email": "sb@sebastian-bergmann.de", 608 | "role": "lead" 609 | } 610 | ], 611 | "description": "Utility class for timing", 612 | "homepage": "https://github.com/sebastianbergmann/php-timer/", 613 | "keywords": [ 614 | "timer" 615 | ], 616 | "time": "2017-02-26T11:10:40+00:00" 617 | }, 618 | { 619 | "name": "phpunit/php-token-stream", 620 | "version": "1.4.11", 621 | "source": { 622 | "type": "git", 623 | "url": "https://github.com/sebastianbergmann/php-token-stream.git", 624 | "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" 625 | }, 626 | "dist": { 627 | "type": "zip", 628 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", 629 | "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", 630 | "shasum": "" 631 | }, 632 | "require": { 633 | "ext-tokenizer": "*", 634 | "php": ">=5.3.3" 635 | }, 636 | "require-dev": { 637 | "phpunit/phpunit": "~4.2" 638 | }, 639 | "type": "library", 640 | "extra": { 641 | "branch-alias": { 642 | "dev-master": "1.4-dev" 643 | } 644 | }, 645 | "autoload": { 646 | "classmap": [ 647 | "src/" 648 | ] 649 | }, 650 | "notification-url": "https://packagist.org/downloads/", 651 | "license": [ 652 | "BSD-3-Clause" 653 | ], 654 | "authors": [ 655 | { 656 | "name": "Sebastian Bergmann", 657 | "email": "sebastian@phpunit.de" 658 | } 659 | ], 660 | "description": "Wrapper around PHP's tokenizer extension.", 661 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/", 662 | "keywords": [ 663 | "tokenizer" 664 | ], 665 | "time": "2017-02-27T10:12:30+00:00" 666 | }, 667 | { 668 | "name": "phpunit/phpunit", 669 | "version": "6.2.3", 670 | "source": { 671 | "type": "git", 672 | "url": "https://github.com/sebastianbergmann/phpunit.git", 673 | "reference": "fa5711d0559fc4b64deba0702be52d41434cbcb7" 674 | }, 675 | "dist": { 676 | "type": "zip", 677 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fa5711d0559fc4b64deba0702be52d41434cbcb7", 678 | "reference": "fa5711d0559fc4b64deba0702be52d41434cbcb7", 679 | "shasum": "" 680 | }, 681 | "require": { 682 | "ext-dom": "*", 683 | "ext-json": "*", 684 | "ext-libxml": "*", 685 | "ext-mbstring": "*", 686 | "ext-xml": "*", 687 | "myclabs/deep-copy": "^1.3", 688 | "phar-io/manifest": "^1.0.1", 689 | "phar-io/version": "^1.0", 690 | "php": "^7.0", 691 | "phpspec/prophecy": "^1.7", 692 | "phpunit/php-code-coverage": "^5.2", 693 | "phpunit/php-file-iterator": "^1.4", 694 | "phpunit/php-text-template": "^1.2", 695 | "phpunit/php-timer": "^1.0.6", 696 | "phpunit/phpunit-mock-objects": "^4.0", 697 | "sebastian/comparator": "^2.0", 698 | "sebastian/diff": "^1.4.3 || ^2.0", 699 | "sebastian/environment": "^3.0.2", 700 | "sebastian/exporter": "^3.1", 701 | "sebastian/global-state": "^1.1 || ^2.0", 702 | "sebastian/object-enumerator": "^3.0.2", 703 | "sebastian/resource-operations": "^1.0", 704 | "sebastian/version": "^2.0" 705 | }, 706 | "conflict": { 707 | "phpdocumentor/reflection-docblock": "3.0.2", 708 | "phpunit/dbunit": "<3.0" 709 | }, 710 | "require-dev": { 711 | "ext-pdo": "*" 712 | }, 713 | "suggest": { 714 | "ext-xdebug": "*", 715 | "phpunit/php-invoker": "^1.1" 716 | }, 717 | "bin": [ 718 | "phpunit" 719 | ], 720 | "type": "library", 721 | "extra": { 722 | "branch-alias": { 723 | "dev-master": "6.2.x-dev" 724 | } 725 | }, 726 | "autoload": { 727 | "classmap": [ 728 | "src/" 729 | ] 730 | }, 731 | "notification-url": "https://packagist.org/downloads/", 732 | "license": [ 733 | "BSD-3-Clause" 734 | ], 735 | "authors": [ 736 | { 737 | "name": "Sebastian Bergmann", 738 | "email": "sebastian@phpunit.de", 739 | "role": "lead" 740 | } 741 | ], 742 | "description": "The PHP Unit Testing framework.", 743 | "homepage": "https://phpunit.de/", 744 | "keywords": [ 745 | "phpunit", 746 | "testing", 747 | "xunit" 748 | ], 749 | "time": "2017-07-03T15:54:24+00:00" 750 | }, 751 | { 752 | "name": "phpunit/phpunit-mock-objects", 753 | "version": "4.0.2", 754 | "source": { 755 | "type": "git", 756 | "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", 757 | "reference": "d8833b396dce9162bb2eb5d59aee5a3ab3cfa5b4" 758 | }, 759 | "dist": { 760 | "type": "zip", 761 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/d8833b396dce9162bb2eb5d59aee5a3ab3cfa5b4", 762 | "reference": "d8833b396dce9162bb2eb5d59aee5a3ab3cfa5b4", 763 | "shasum": "" 764 | }, 765 | "require": { 766 | "doctrine/instantiator": "^1.0.2", 767 | "php": "^7.0", 768 | "phpunit/php-text-template": "^1.2", 769 | "sebastian/exporter": "^3.0" 770 | }, 771 | "conflict": { 772 | "phpunit/phpunit": "<6.0" 773 | }, 774 | "require-dev": { 775 | "phpunit/phpunit": "^6.0" 776 | }, 777 | "suggest": { 778 | "ext-soap": "*" 779 | }, 780 | "type": "library", 781 | "extra": { 782 | "branch-alias": { 783 | "dev-master": "4.0.x-dev" 784 | } 785 | }, 786 | "autoload": { 787 | "classmap": [ 788 | "src/" 789 | ] 790 | }, 791 | "notification-url": "https://packagist.org/downloads/", 792 | "license": [ 793 | "BSD-3-Clause" 794 | ], 795 | "authors": [ 796 | { 797 | "name": "Sebastian Bergmann", 798 | "email": "sb@sebastian-bergmann.de", 799 | "role": "lead" 800 | } 801 | ], 802 | "description": "Mock Object library for PHPUnit", 803 | "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", 804 | "keywords": [ 805 | "mock", 806 | "xunit" 807 | ], 808 | "time": "2017-06-30T08:15:21+00:00" 809 | }, 810 | { 811 | "name": "sebastian/code-unit-reverse-lookup", 812 | "version": "1.0.1", 813 | "source": { 814 | "type": "git", 815 | "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", 816 | "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" 817 | }, 818 | "dist": { 819 | "type": "zip", 820 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", 821 | "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", 822 | "shasum": "" 823 | }, 824 | "require": { 825 | "php": "^5.6 || ^7.0" 826 | }, 827 | "require-dev": { 828 | "phpunit/phpunit": "^5.7 || ^6.0" 829 | }, 830 | "type": "library", 831 | "extra": { 832 | "branch-alias": { 833 | "dev-master": "1.0.x-dev" 834 | } 835 | }, 836 | "autoload": { 837 | "classmap": [ 838 | "src/" 839 | ] 840 | }, 841 | "notification-url": "https://packagist.org/downloads/", 842 | "license": [ 843 | "BSD-3-Clause" 844 | ], 845 | "authors": [ 846 | { 847 | "name": "Sebastian Bergmann", 848 | "email": "sebastian@phpunit.de" 849 | } 850 | ], 851 | "description": "Looks up which function or method a line of code belongs to", 852 | "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", 853 | "time": "2017-03-04T06:30:41+00:00" 854 | }, 855 | { 856 | "name": "sebastian/comparator", 857 | "version": "2.0.0", 858 | "source": { 859 | "type": "git", 860 | "url": "https://github.com/sebastianbergmann/comparator.git", 861 | "reference": "20f84f468cb67efee293246e6a09619b891f55f0" 862 | }, 863 | "dist": { 864 | "type": "zip", 865 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/20f84f468cb67efee293246e6a09619b891f55f0", 866 | "reference": "20f84f468cb67efee293246e6a09619b891f55f0", 867 | "shasum": "" 868 | }, 869 | "require": { 870 | "php": "^7.0", 871 | "sebastian/diff": "^1.2", 872 | "sebastian/exporter": "^3.0" 873 | }, 874 | "require-dev": { 875 | "phpunit/phpunit": "^6.0" 876 | }, 877 | "type": "library", 878 | "extra": { 879 | "branch-alias": { 880 | "dev-master": "2.0.x-dev" 881 | } 882 | }, 883 | "autoload": { 884 | "classmap": [ 885 | "src/" 886 | ] 887 | }, 888 | "notification-url": "https://packagist.org/downloads/", 889 | "license": [ 890 | "BSD-3-Clause" 891 | ], 892 | "authors": [ 893 | { 894 | "name": "Jeff Welch", 895 | "email": "whatthejeff@gmail.com" 896 | }, 897 | { 898 | "name": "Volker Dusch", 899 | "email": "github@wallbash.com" 900 | }, 901 | { 902 | "name": "Bernhard Schussek", 903 | "email": "bschussek@2bepublished.at" 904 | }, 905 | { 906 | "name": "Sebastian Bergmann", 907 | "email": "sebastian@phpunit.de" 908 | } 909 | ], 910 | "description": "Provides the functionality to compare PHP values for equality", 911 | "homepage": "http://www.github.com/sebastianbergmann/comparator", 912 | "keywords": [ 913 | "comparator", 914 | "compare", 915 | "equality" 916 | ], 917 | "time": "2017-03-03T06:26:08+00:00" 918 | }, 919 | { 920 | "name": "sebastian/diff", 921 | "version": "1.4.3", 922 | "source": { 923 | "type": "git", 924 | "url": "https://github.com/sebastianbergmann/diff.git", 925 | "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" 926 | }, 927 | "dist": { 928 | "type": "zip", 929 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", 930 | "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", 931 | "shasum": "" 932 | }, 933 | "require": { 934 | "php": "^5.3.3 || ^7.0" 935 | }, 936 | "require-dev": { 937 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" 938 | }, 939 | "type": "library", 940 | "extra": { 941 | "branch-alias": { 942 | "dev-master": "1.4-dev" 943 | } 944 | }, 945 | "autoload": { 946 | "classmap": [ 947 | "src/" 948 | ] 949 | }, 950 | "notification-url": "https://packagist.org/downloads/", 951 | "license": [ 952 | "BSD-3-Clause" 953 | ], 954 | "authors": [ 955 | { 956 | "name": "Kore Nordmann", 957 | "email": "mail@kore-nordmann.de" 958 | }, 959 | { 960 | "name": "Sebastian Bergmann", 961 | "email": "sebastian@phpunit.de" 962 | } 963 | ], 964 | "description": "Diff implementation", 965 | "homepage": "https://github.com/sebastianbergmann/diff", 966 | "keywords": [ 967 | "diff" 968 | ], 969 | "time": "2017-05-22T07:24:03+00:00" 970 | }, 971 | { 972 | "name": "sebastian/environment", 973 | "version": "3.1.0", 974 | "source": { 975 | "type": "git", 976 | "url": "https://github.com/sebastianbergmann/environment.git", 977 | "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" 978 | }, 979 | "dist": { 980 | "type": "zip", 981 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", 982 | "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", 983 | "shasum": "" 984 | }, 985 | "require": { 986 | "php": "^7.0" 987 | }, 988 | "require-dev": { 989 | "phpunit/phpunit": "^6.1" 990 | }, 991 | "type": "library", 992 | "extra": { 993 | "branch-alias": { 994 | "dev-master": "3.1.x-dev" 995 | } 996 | }, 997 | "autoload": { 998 | "classmap": [ 999 | "src/" 1000 | ] 1001 | }, 1002 | "notification-url": "https://packagist.org/downloads/", 1003 | "license": [ 1004 | "BSD-3-Clause" 1005 | ], 1006 | "authors": [ 1007 | { 1008 | "name": "Sebastian Bergmann", 1009 | "email": "sebastian@phpunit.de" 1010 | } 1011 | ], 1012 | "description": "Provides functionality to handle HHVM/PHP environments", 1013 | "homepage": "http://www.github.com/sebastianbergmann/environment", 1014 | "keywords": [ 1015 | "Xdebug", 1016 | "environment", 1017 | "hhvm" 1018 | ], 1019 | "time": "2017-07-01T08:51:00+00:00" 1020 | }, 1021 | { 1022 | "name": "sebastian/exporter", 1023 | "version": "3.1.0", 1024 | "source": { 1025 | "type": "git", 1026 | "url": "https://github.com/sebastianbergmann/exporter.git", 1027 | "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" 1028 | }, 1029 | "dist": { 1030 | "type": "zip", 1031 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", 1032 | "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", 1033 | "shasum": "" 1034 | }, 1035 | "require": { 1036 | "php": "^7.0", 1037 | "sebastian/recursion-context": "^3.0" 1038 | }, 1039 | "require-dev": { 1040 | "ext-mbstring": "*", 1041 | "phpunit/phpunit": "^6.0" 1042 | }, 1043 | "type": "library", 1044 | "extra": { 1045 | "branch-alias": { 1046 | "dev-master": "3.1.x-dev" 1047 | } 1048 | }, 1049 | "autoload": { 1050 | "classmap": [ 1051 | "src/" 1052 | ] 1053 | }, 1054 | "notification-url": "https://packagist.org/downloads/", 1055 | "license": [ 1056 | "BSD-3-Clause" 1057 | ], 1058 | "authors": [ 1059 | { 1060 | "name": "Jeff Welch", 1061 | "email": "whatthejeff@gmail.com" 1062 | }, 1063 | { 1064 | "name": "Volker Dusch", 1065 | "email": "github@wallbash.com" 1066 | }, 1067 | { 1068 | "name": "Bernhard Schussek", 1069 | "email": "bschussek@2bepublished.at" 1070 | }, 1071 | { 1072 | "name": "Sebastian Bergmann", 1073 | "email": "sebastian@phpunit.de" 1074 | }, 1075 | { 1076 | "name": "Adam Harvey", 1077 | "email": "aharvey@php.net" 1078 | } 1079 | ], 1080 | "description": "Provides the functionality to export PHP variables for visualization", 1081 | "homepage": "http://www.github.com/sebastianbergmann/exporter", 1082 | "keywords": [ 1083 | "export", 1084 | "exporter" 1085 | ], 1086 | "time": "2017-04-03T13:19:02+00:00" 1087 | }, 1088 | { 1089 | "name": "sebastian/global-state", 1090 | "version": "2.0.0", 1091 | "source": { 1092 | "type": "git", 1093 | "url": "https://github.com/sebastianbergmann/global-state.git", 1094 | "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" 1095 | }, 1096 | "dist": { 1097 | "type": "zip", 1098 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", 1099 | "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", 1100 | "shasum": "" 1101 | }, 1102 | "require": { 1103 | "php": "^7.0" 1104 | }, 1105 | "require-dev": { 1106 | "phpunit/phpunit": "^6.0" 1107 | }, 1108 | "suggest": { 1109 | "ext-uopz": "*" 1110 | }, 1111 | "type": "library", 1112 | "extra": { 1113 | "branch-alias": { 1114 | "dev-master": "2.0-dev" 1115 | } 1116 | }, 1117 | "autoload": { 1118 | "classmap": [ 1119 | "src/" 1120 | ] 1121 | }, 1122 | "notification-url": "https://packagist.org/downloads/", 1123 | "license": [ 1124 | "BSD-3-Clause" 1125 | ], 1126 | "authors": [ 1127 | { 1128 | "name": "Sebastian Bergmann", 1129 | "email": "sebastian@phpunit.de" 1130 | } 1131 | ], 1132 | "description": "Snapshotting of global state", 1133 | "homepage": "http://www.github.com/sebastianbergmann/global-state", 1134 | "keywords": [ 1135 | "global state" 1136 | ], 1137 | "time": "2017-04-27T15:39:26+00:00" 1138 | }, 1139 | { 1140 | "name": "sebastian/object-enumerator", 1141 | "version": "3.0.2", 1142 | "source": { 1143 | "type": "git", 1144 | "url": "https://github.com/sebastianbergmann/object-enumerator.git", 1145 | "reference": "31dd3379d16446c5d86dec32ab1ad1f378581ad8" 1146 | }, 1147 | "dist": { 1148 | "type": "zip", 1149 | "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/31dd3379d16446c5d86dec32ab1ad1f378581ad8", 1150 | "reference": "31dd3379d16446c5d86dec32ab1ad1f378581ad8", 1151 | "shasum": "" 1152 | }, 1153 | "require": { 1154 | "php": "^7.0", 1155 | "sebastian/object-reflector": "^1.0", 1156 | "sebastian/recursion-context": "^3.0" 1157 | }, 1158 | "require-dev": { 1159 | "phpunit/phpunit": "^6.0" 1160 | }, 1161 | "type": "library", 1162 | "extra": { 1163 | "branch-alias": { 1164 | "dev-master": "3.0.x-dev" 1165 | } 1166 | }, 1167 | "autoload": { 1168 | "classmap": [ 1169 | "src/" 1170 | ] 1171 | }, 1172 | "notification-url": "https://packagist.org/downloads/", 1173 | "license": [ 1174 | "BSD-3-Clause" 1175 | ], 1176 | "authors": [ 1177 | { 1178 | "name": "Sebastian Bergmann", 1179 | "email": "sebastian@phpunit.de" 1180 | } 1181 | ], 1182 | "description": "Traverses array structures and object graphs to enumerate all referenced objects", 1183 | "homepage": "https://github.com/sebastianbergmann/object-enumerator/", 1184 | "time": "2017-03-12T15:17:29+00:00" 1185 | }, 1186 | { 1187 | "name": "sebastian/object-reflector", 1188 | "version": "1.1.1", 1189 | "source": { 1190 | "type": "git", 1191 | "url": "https://github.com/sebastianbergmann/object-reflector.git", 1192 | "reference": "773f97c67f28de00d397be301821b06708fca0be" 1193 | }, 1194 | "dist": { 1195 | "type": "zip", 1196 | "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", 1197 | "reference": "773f97c67f28de00d397be301821b06708fca0be", 1198 | "shasum": "" 1199 | }, 1200 | "require": { 1201 | "php": "^7.0" 1202 | }, 1203 | "require-dev": { 1204 | "phpunit/phpunit": "^6.0" 1205 | }, 1206 | "type": "library", 1207 | "extra": { 1208 | "branch-alias": { 1209 | "dev-master": "1.1-dev" 1210 | } 1211 | }, 1212 | "autoload": { 1213 | "classmap": [ 1214 | "src/" 1215 | ] 1216 | }, 1217 | "notification-url": "https://packagist.org/downloads/", 1218 | "license": [ 1219 | "BSD-3-Clause" 1220 | ], 1221 | "authors": [ 1222 | { 1223 | "name": "Sebastian Bergmann", 1224 | "email": "sebastian@phpunit.de" 1225 | } 1226 | ], 1227 | "description": "Allows reflection of object attributes, including inherited and non-public ones", 1228 | "homepage": "https://github.com/sebastianbergmann/object-reflector/", 1229 | "time": "2017-03-29T09:07:27+00:00" 1230 | }, 1231 | { 1232 | "name": "sebastian/recursion-context", 1233 | "version": "3.0.0", 1234 | "source": { 1235 | "type": "git", 1236 | "url": "https://github.com/sebastianbergmann/recursion-context.git", 1237 | "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" 1238 | }, 1239 | "dist": { 1240 | "type": "zip", 1241 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", 1242 | "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", 1243 | "shasum": "" 1244 | }, 1245 | "require": { 1246 | "php": "^7.0" 1247 | }, 1248 | "require-dev": { 1249 | "phpunit/phpunit": "^6.0" 1250 | }, 1251 | "type": "library", 1252 | "extra": { 1253 | "branch-alias": { 1254 | "dev-master": "3.0.x-dev" 1255 | } 1256 | }, 1257 | "autoload": { 1258 | "classmap": [ 1259 | "src/" 1260 | ] 1261 | }, 1262 | "notification-url": "https://packagist.org/downloads/", 1263 | "license": [ 1264 | "BSD-3-Clause" 1265 | ], 1266 | "authors": [ 1267 | { 1268 | "name": "Jeff Welch", 1269 | "email": "whatthejeff@gmail.com" 1270 | }, 1271 | { 1272 | "name": "Sebastian Bergmann", 1273 | "email": "sebastian@phpunit.de" 1274 | }, 1275 | { 1276 | "name": "Adam Harvey", 1277 | "email": "aharvey@php.net" 1278 | } 1279 | ], 1280 | "description": "Provides functionality to recursively process PHP variables", 1281 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", 1282 | "time": "2017-03-03T06:23:57+00:00" 1283 | }, 1284 | { 1285 | "name": "sebastian/resource-operations", 1286 | "version": "1.0.0", 1287 | "source": { 1288 | "type": "git", 1289 | "url": "https://github.com/sebastianbergmann/resource-operations.git", 1290 | "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" 1291 | }, 1292 | "dist": { 1293 | "type": "zip", 1294 | "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", 1295 | "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", 1296 | "shasum": "" 1297 | }, 1298 | "require": { 1299 | "php": ">=5.6.0" 1300 | }, 1301 | "type": "library", 1302 | "extra": { 1303 | "branch-alias": { 1304 | "dev-master": "1.0.x-dev" 1305 | } 1306 | }, 1307 | "autoload": { 1308 | "classmap": [ 1309 | "src/" 1310 | ] 1311 | }, 1312 | "notification-url": "https://packagist.org/downloads/", 1313 | "license": [ 1314 | "BSD-3-Clause" 1315 | ], 1316 | "authors": [ 1317 | { 1318 | "name": "Sebastian Bergmann", 1319 | "email": "sebastian@phpunit.de" 1320 | } 1321 | ], 1322 | "description": "Provides a list of PHP built-in functions that operate on resources", 1323 | "homepage": "https://www.github.com/sebastianbergmann/resource-operations", 1324 | "time": "2015-07-28T20:34:47+00:00" 1325 | }, 1326 | { 1327 | "name": "sebastian/version", 1328 | "version": "2.0.1", 1329 | "source": { 1330 | "type": "git", 1331 | "url": "https://github.com/sebastianbergmann/version.git", 1332 | "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" 1333 | }, 1334 | "dist": { 1335 | "type": "zip", 1336 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", 1337 | "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", 1338 | "shasum": "" 1339 | }, 1340 | "require": { 1341 | "php": ">=5.6" 1342 | }, 1343 | "type": "library", 1344 | "extra": { 1345 | "branch-alias": { 1346 | "dev-master": "2.0.x-dev" 1347 | } 1348 | }, 1349 | "autoload": { 1350 | "classmap": [ 1351 | "src/" 1352 | ] 1353 | }, 1354 | "notification-url": "https://packagist.org/downloads/", 1355 | "license": [ 1356 | "BSD-3-Clause" 1357 | ], 1358 | "authors": [ 1359 | { 1360 | "name": "Sebastian Bergmann", 1361 | "email": "sebastian@phpunit.de", 1362 | "role": "lead" 1363 | } 1364 | ], 1365 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", 1366 | "homepage": "https://github.com/sebastianbergmann/version", 1367 | "time": "2016-10-03T07:35:21+00:00" 1368 | }, 1369 | { 1370 | "name": "squizlabs/php_codesniffer", 1371 | "version": "3.0.1", 1372 | "source": { 1373 | "type": "git", 1374 | "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", 1375 | "reference": "f9eaf037edf22fdfccf04cb0ab57ebcb1e166219" 1376 | }, 1377 | "dist": { 1378 | "type": "zip", 1379 | "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/f9eaf037edf22fdfccf04cb0ab57ebcb1e166219", 1380 | "reference": "f9eaf037edf22fdfccf04cb0ab57ebcb1e166219", 1381 | "shasum": "" 1382 | }, 1383 | "require": { 1384 | "ext-simplexml": "*", 1385 | "ext-tokenizer": "*", 1386 | "ext-xmlwriter": "*", 1387 | "php": ">=5.4.0" 1388 | }, 1389 | "require-dev": { 1390 | "phpunit/phpunit": "~4.0" 1391 | }, 1392 | "bin": [ 1393 | "bin/phpcs", 1394 | "bin/phpcbf" 1395 | ], 1396 | "type": "library", 1397 | "extra": { 1398 | "branch-alias": { 1399 | "dev-master": "3.x-dev" 1400 | } 1401 | }, 1402 | "notification-url": "https://packagist.org/downloads/", 1403 | "license": [ 1404 | "BSD-3-Clause" 1405 | ], 1406 | "authors": [ 1407 | { 1408 | "name": "Greg Sherwood", 1409 | "role": "lead" 1410 | } 1411 | ], 1412 | "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", 1413 | "homepage": "http://www.squizlabs.com/php-codesniffer", 1414 | "keywords": [ 1415 | "phpcs", 1416 | "standards" 1417 | ], 1418 | "time": "2017-06-14T01:23:49+00:00" 1419 | }, 1420 | { 1421 | "name": "theseer/tokenizer", 1422 | "version": "1.1.0", 1423 | "source": { 1424 | "type": "git", 1425 | "url": "https://github.com/theseer/tokenizer.git", 1426 | "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b" 1427 | }, 1428 | "dist": { 1429 | "type": "zip", 1430 | "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b", 1431 | "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b", 1432 | "shasum": "" 1433 | }, 1434 | "require": { 1435 | "ext-dom": "*", 1436 | "ext-tokenizer": "*", 1437 | "ext-xmlwriter": "*", 1438 | "php": "^7.0" 1439 | }, 1440 | "type": "library", 1441 | "autoload": { 1442 | "classmap": [ 1443 | "src/" 1444 | ] 1445 | }, 1446 | "notification-url": "https://packagist.org/downloads/", 1447 | "license": [ 1448 | "BSD-3-Clause" 1449 | ], 1450 | "authors": [ 1451 | { 1452 | "name": "Arne Blankerts", 1453 | "email": "arne@blankerts.de", 1454 | "role": "Developer" 1455 | } 1456 | ], 1457 | "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", 1458 | "time": "2017-04-07T12:08:54+00:00" 1459 | }, 1460 | { 1461 | "name": "webmozart/assert", 1462 | "version": "1.2.0", 1463 | "source": { 1464 | "type": "git", 1465 | "url": "https://github.com/webmozart/assert.git", 1466 | "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" 1467 | }, 1468 | "dist": { 1469 | "type": "zip", 1470 | "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", 1471 | "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", 1472 | "shasum": "" 1473 | }, 1474 | "require": { 1475 | "php": "^5.3.3 || ^7.0" 1476 | }, 1477 | "require-dev": { 1478 | "phpunit/phpunit": "^4.6", 1479 | "sebastian/version": "^1.0.1" 1480 | }, 1481 | "type": "library", 1482 | "extra": { 1483 | "branch-alias": { 1484 | "dev-master": "1.3-dev" 1485 | } 1486 | }, 1487 | "autoload": { 1488 | "psr-4": { 1489 | "Webmozart\\Assert\\": "src/" 1490 | } 1491 | }, 1492 | "notification-url": "https://packagist.org/downloads/", 1493 | "license": [ 1494 | "MIT" 1495 | ], 1496 | "authors": [ 1497 | { 1498 | "name": "Bernhard Schussek", 1499 | "email": "bschussek@gmail.com" 1500 | } 1501 | ], 1502 | "description": "Assertions to validate method input/output with nice error messages.", 1503 | "keywords": [ 1504 | "assert", 1505 | "check", 1506 | "validate" 1507 | ], 1508 | "time": "2016-11-23T20:04:58+00:00" 1509 | } 1510 | ], 1511 | "aliases": [], 1512 | "minimum-stability": "stable", 1513 | "stability-flags": [], 1514 | "prefer-stable": false, 1515 | "prefer-lowest": false, 1516 | "platform": { 1517 | "php": ">=5.5.0" 1518 | }, 1519 | "platform-dev": [] 1520 | } 1521 | -------------------------------------------------------------------------------- /config.default.php: -------------------------------------------------------------------------------- 1 | 0, 4 | 'depth' => 512, 5 | 'encode' => JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE, 6 | ]; 7 | --------------------------------------------------------------------------------