{
    "name": "cuyz/valinor",
    "type": "library",
    "description": "Library that helps to map any input into a strongly-typed value object structure.",
    "keywords": [
        "object", "tree", "mapper", "mapping", "hydrator", "array", "conversion", "json", "yaml"
    ],
    "homepage": "https://github.com/CuyZ/Valinor",
    "license": "MIT",
    "authors": [
        {
            "name": "Romain Canon",
            "email": "romain.hydrocanon@gmail.com",
            "homepage": "https://github.com/romm"
        }
    ],
    "require": {
        "php": "~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0",
        "composer-runtime-api": "^2.0",
        "psr/simple-cache": "^1.0 || ^2.0 || ^3.0"
    },
    "require-dev": {
        "phpunit/phpunit": "^9.5",
        "infection/infection": "^0.26",
        "phpstan/phpstan": "^1.3",
        "phpstan/phpstan-strict-rules": "^1.0",
        "phpstan/phpstan-phpunit": "^1.0",
        "friendsofphp/php-cs-fixer": "^3.4",
        "marcocesarato/php-conventional-changelog": "^1.12",
        "vimeo/psalm": "^5.0",
        "mikey179/vfsstream": "^1.6.10",
        "rector/rector": "~0.17.0"
    },
    "autoload": {
        "psr-4": {
            "CuyZ\\Valinor\\": "src"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "CuyZ\\Valinor\\Tests\\": "tests",
            "CuyZ\\Valinor\\QA\\": "qa"
        }
    },
    "scripts": {
        "check": [
            "@putenv XDEBUG_MODE=off",
            "phpunit",
            "phpstan",
            "psalm --config=tests/StaticAnalysis/psalm-without-plugin.xml",
            "psalm --config=tests/StaticAnalysis/psalm-with-plugin.xml",
            "phpstan --configuration=tests/StaticAnalysis/phpstan-without-extension.neon.dist",
            "phpstan --configuration=tests/StaticAnalysis/phpstan-with-extension.neon.dist",
            "php-cs-fixer fix --dry-run",
            "rector --dry-run",
            "@check-todo"
        ],
        "check-todo": [
            "! git --no-pager grep --extended-regexp --ignore-case 'todo|fixme' -- ':!composer.json' ':!*/quality-assurance.yml'"
        ],
        "fix": [
            "@putenv XDEBUG_MODE=off",
            "php-cs-fixer fix",
            "rector"
        ],
        "mutation": [
            "@putenv XDEBUG_MODE=off",
            "infection --threads=max --git-diff-lines"
        ],
        "doc": [
            "Composer\\Config::disableProcessTimeout",
            "pip install -r docs/requirements.txt",
            "mkdocs serve --config-file docs/mkdocs.yml"
        ]
    },
    "config": {
        "allow-plugins": {
            "infection/extension-installer": false
        }
    }
}
