{
    "name": "ramsey/collection",
    "description": "A PHP library for representing and manipulating collections.",
    "license": "MIT",
    "type": "library",
    "keywords": [
        "array",
        "collection",
        "hash",
        "map",
        "queue",
        "set"
    ],
    "authors": [
        {
            "name": "Ben Ramsey",
            "email": "ben@benramsey.com",
            "homepage": "https://benramsey.com"
        }
    ],
    "require": {
        "php": "^8.1"
    },
    "require-dev": {
        "captainhook/plugin-composer": "^5.3",
        "ergebnis/composer-normalize": "^2.45",
        "fakerphp/faker": "^1.24",
        "hamcrest/hamcrest-php": "^2.0",
        "jangregor/phpstan-prophecy": "^2.1",
        "mockery/mockery": "^1.6",
        "php-parallel-lint/php-console-highlighter": "^1.0",
        "php-parallel-lint/php-parallel-lint": "^1.4",
        "phpspec/prophecy-phpunit": "^2.3",
        "phpstan/extension-installer": "^1.4",
        "phpstan/phpstan": "^2.1",
        "phpstan/phpstan-mockery": "^2.0",
        "phpstan/phpstan-phpunit": "^2.0",
        "phpunit/phpunit": "^10.5",
        "ramsey/coding-standard": "^2.3",
        "ramsey/conventional-commits": "^1.6",
        "roave/security-advisories": "dev-latest"
    },
    "prefer-stable": true,
    "autoload": {
        "psr-4": {
            "Ramsey\\Collection\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Ramsey\\Collection\\Test\\": "tests/"
        }
    },
    "config": {
        "allow-plugins": {
            "captainhook/plugin-composer": true,
            "dealerdirect/phpcodesniffer-composer-installer": true,
            "ergebnis/composer-normalize": true,
            "phpstan/extension-installer": true
        },
        "sort-packages": true
    },
    "extra": {
        "captainhook": {
            "force-install": true
        },
        "ramsey/conventional-commits": {
            "configFile": "conventional-commits.json"
        }
    },
    "scripts": {
        "dev:analyze": [
            "@dev:analyze:phpstan"
        ],
        "dev:analyze:phpstan": "phpstan analyse --ansi --memory-limit=1G",
        "dev:build:clean": "git clean -fX build/",
        "dev:lint": [
            "@dev:lint:syntax",
            "@dev:lint:style"
        ],
        "dev:lint:fix": "phpcbf",
        "dev:lint:style": "phpcs --colors",
        "dev:lint:syntax": "parallel-lint --colors src/ tests/",
        "dev:test": [
            "@dev:lint",
            "@dev:analyze",
            "@dev:test:unit"
        ],
        "dev:test:coverage:ci": "phpunit --colors=always --coverage-text --coverage-clover build/coverage/clover.xml --coverage-cobertura build/coverage/cobertura.xml --coverage-crap4j build/coverage/crap4j.xml --coverage-xml build/coverage/coverage-xml --log-junit build/junit.xml",
        "dev:test:coverage:html": "phpunit --colors=always --coverage-html build/coverage/coverage-html/",
        "dev:test:unit": "phpunit --colors=always",
        "test": "@dev:test"
    },
    "scripts-descriptions": {
        "dev:analyze": "Runs all static analysis checks.",
        "dev:analyze:phpstan": "Runs the PHPStan static analyzer.",
        "dev:build:clean": "Cleans the build/ directory.",
        "dev:lint": "Runs all linting checks.",
        "dev:lint:fix": "Auto-fixes coding standards issues, if possible.",
        "dev:lint:style": "Checks for coding standards issues.",
        "dev:lint:syntax": "Checks for syntax errors.",
        "dev:test": "Runs linting, static analysis, and unit tests.",
        "dev:test:coverage:ci": "Runs unit tests and generates CI coverage reports.",
        "dev:test:coverage:html": "Runs unit tests and generates HTML coverage report.",
        "dev:test:unit": "Runs unit tests.",
        "test": "Runs linting, static analysis, and unit tests."
    }
}
