1{
2    "name": "ramsey/collection",
3    "type": "library",
4    "description": "A PHP library for representing and manipulating collections.",
5    "keywords": [
6        "array",
7        "collection",
8        "hash",
9        "map",
10        "queue",
11        "set"
12    ],
13    "license": "MIT",
14    "authors": [
15        {
16            "name": "Ben Ramsey",
17            "email": "ben@benramsey.com",
18            "homepage": "https://benramsey.com"
19        }
20    ],
21    "require": {
22        "php": "^7.3 || ^8",
23        "symfony/polyfill-php81": "^1.23"
24    },
25    "require-dev": {
26        "captainhook/captainhook": "^5.3",
27        "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
28        "ergebnis/composer-normalize": "^2.6",
29        "fakerphp/faker": "^1.5",
30        "hamcrest/hamcrest-php": "^2",
31        "jangregor/phpstan-prophecy": "^0.8",
32        "mockery/mockery": "^1.3",
33        "phpspec/prophecy-phpunit": "^2.0",
34        "phpstan/extension-installer": "^1",
35        "phpstan/phpstan": "^0.12.32",
36        "phpstan/phpstan-mockery": "^0.12.5",
37        "phpstan/phpstan-phpunit": "^0.12.11",
38        "phpunit/phpunit": "^8.5 || ^9",
39        "psy/psysh": "^0.10.4",
40        "slevomat/coding-standard": "^6.3",
41        "squizlabs/php_codesniffer": "^3.5",
42        "vimeo/psalm": "^4.4"
43    },
44    "config": {
45        "sort-packages": true
46    },
47    "autoload": {
48        "psr-4": {
49            "Ramsey\\Collection\\": "src/"
50        }
51    },
52    "autoload-dev": {
53        "psr-4": {
54            "Ramsey\\Console\\": "resources/console/",
55            "Ramsey\\Collection\\Test\\": "tests/",
56            "Ramsey\\Test\\Generics\\": "tests/generics/"
57        },
58        "files": [
59            "vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest.php"
60        ]
61    },
62    "scripts": {
63        "post-autoload-dump": "captainhook install --ansi -f -s",
64        "dev:analyze": [
65            "@dev:analyze:phpstan",
66            "@dev:analyze:psalm"
67        ],
68        "dev:analyze:phpstan": "phpstan --memory-limit=1G analyse",
69        "dev:analyze:psalm": "psalm --diff --config=psalm.xml",
70        "dev:build:clean": "git clean -fX build/.",
71        "dev:build:clear-cache": "git clean -fX build/cache/.",
72        "dev:lint": "phpcs --cache=build/cache/phpcs.cache",
73        "dev:lint:fix": "./bin/lint-fix.sh",
74        "dev:repl": [
75            "echo ; echo 'Type ./bin/repl to start the REPL.'"
76        ],
77        "dev:test": "phpunit",
78        "dev:test:all": [
79            "@dev:lint",
80            "@dev:analyze",
81            "@dev:test"
82        ],
83        "dev:test:coverage:ci": "phpunit --coverage-clover build/logs/clover.xml",
84        "dev:test:coverage:html": "phpunit --coverage-html build/coverage",
85        "test": "@dev:test:all"
86    },
87    "scripts-descriptions": {
88        "dev:analyze": "Performs static analysis on the code base.",
89        "dev:analyze:phpstan": "Runs the PHPStan static analyzer.",
90        "dev:analyze:psalm": "Runs the Psalm static analyzer.",
91        "dev:build:clean": "Removes everything not under version control from the build directory.",
92        "dev:build:clear-cache": "Removes everything not under version control from build/cache/.",
93        "dev:lint": "Checks all source code for coding standards issues.",
94        "dev:lint:fix": "Checks source code for coding standards issues and fixes them, if possible.",
95        "dev:repl": "Note: Use ./bin/repl to run the REPL.",
96        "dev:test": "Runs the full unit test suite.",
97        "dev:test:all": "Runs linting, static analysis, and unit tests.",
98        "dev:test:coverage:ci": "Runs the unit test suite and generates a Clover coverage report.",
99        "dev:test:coverage:html": "Runs the unit tests suite and generates an HTML coverage report.",
100        "test": "Shortcut to run the full test suite."
101    }
102}
103