{
    "name": "ramsey/collection",
    "type": "library",
    "description": "A PHP library for representing and manipulating collections.",
    "keywords": [
        "array",
        "collection",
        "hash",
        "map",
        "queue",
        "set"
    ],
    "license": "MIT",
    "authors": [
        {
            "name": "Ben Ramsey",
            "email": "ben@benramsey.com",
            "homepage": "https://benramsey.com"
        }
    ],
    "require": {
        "php": "^7.3 || ^8",
        "symfony/polyfill-php81": "^1.23"
    },
    "require-dev": {
        "captainhook/captainhook": "^5.3",
        "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
        "ergebnis/composer-normalize": "^2.6",
        "fakerphp/faker": "^1.5",
        "hamcrest/hamcrest-php": "^2",
        "jangregor/phpstan-prophecy": "^0.8",
        "mockery/mockery": "^1.3",
        "phpspec/prophecy-phpunit": "^2.0",
        "phpstan/extension-installer": "^1",
        "phpstan/phpstan": "^0.12.32",
        "phpstan/phpstan-mockery": "^0.12.5",
        "phpstan/phpstan-phpunit": "^0.12.11",
        "phpunit/phpunit": "^8.5 || ^9",
        "psy/psysh": "^0.10.4",
        "slevomat/coding-standard": "^6.3",
        "squizlabs/php_codesniffer": "^3.5",
        "vimeo/psalm": "^4.4"
    },
    "config": {
        "sort-packages": true
    },
    "autoload": {
        "psr-4": {
            "Ramsey\\Collection\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Ramsey\\Console\\": "resources/console/",
            "Ramsey\\Collection\\Test\\": "tests/",
            "Ramsey\\Test\\Generics\\": "tests/generics/"
        },
        "files": [
            "vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest.php"
        ]
    },
    "scripts": {
        "post-autoload-dump": "captainhook install --ansi -f -s",
        "dev:analyze": [
            "@dev:analyze:phpstan",
            "@dev:analyze:psalm"
        ],
        "dev:analyze:phpstan": "phpstan --memory-limit=1G analyse",
        "dev:analyze:psalm": "psalm --diff --config=psalm.xml",
        "dev:build:clean": "git clean -fX build/.",
        "dev:build:clear-cache": "git clean -fX build/cache/.",
        "dev:lint": "phpcs --cache=build/cache/phpcs.cache",
        "dev:lint:fix": "./bin/lint-fix.sh",
        "dev:repl": [
            "echo ; echo 'Type ./bin/repl to start the REPL.'"
        ],
        "dev:test": "phpunit",
        "dev:test:all": [
            "@dev:lint",
            "@dev:analyze",
            "@dev:test"
        ],
        "dev:test:coverage:ci": "phpunit --coverage-clover build/logs/clover.xml",
        "dev:test:coverage:html": "phpunit --coverage-html build/coverage",
        "test": "@dev:test:all"
    },
    "scripts-descriptions": {
        "dev:analyze": "Performs static analysis on the code base.",
        "dev:analyze:phpstan": "Runs the PHPStan static analyzer.",
        "dev:analyze:psalm": "Runs the Psalm static analyzer.",
        "dev:build:clean": "Removes everything not under version control from the build directory.",
        "dev:build:clear-cache": "Removes everything not under version control from build/cache/.",
        "dev:lint": "Checks all source code for coding standards issues.",
        "dev:lint:fix": "Checks source code for coding standards issues and fixes them, if possible.",
        "dev:repl": "Note: Use ./bin/repl to run the REPL.",
        "dev:test": "Runs the full unit test suite.",
        "dev:test:all": "Runs linting, static analysis, and unit tests.",
        "dev:test:coverage:ci": "Runs the unit test suite and generates a Clover coverage report.",
        "dev:test:coverage:html": "Runs the unit tests suite and generates an HTML coverage report.",
        "test": "Shortcut to run the full test suite."
    }
}
