{
    "name": "academylms/academylmsplugin",
    "description": "Share your knowledge by launching an online course.",
    "type": "wordpress-plugin",
    "license": "GPL-3.0-or-later",
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/imrantushar/storeengine-sdk-for-wordpress.git"
        }
    ],
    "require": {
        "php": "^7.4 || >=8.0",
        "mpdf/mpdf": "^8.2",
        "woocommerce/action-scheduler": "^3.9",
        "storeengine/wordpress-sdk": "^1.5"
    },
    "require-dev": {
        "squizlabs/php_codesniffer": "3.6.2",
        "dealerdirect/phpcodesniffer-composer-installer": "0.7.1",
        "phpcompatibility/php-compatibility": "9.3.5",
        "wp-coding-standards/wpcs": "2.3.0",
        "phpunit/phpunit": "^9.5",
        "yoast/phpunit-polyfills": "^1.0",
        "phpcompatibility/phpcompatibility-wp": "*"
    },
    "config": {
        "allow-plugins": {
            "dealerdirect/phpcodesniffer-composer-installer": true,
            "composer/installers": true
        }
    },
    "extra": {
        "strauss": {
            "target_directory": "vendor/prefixed",
            "namespace_prefix": "Academy\\",
            "classmap_prefix": "Academy_",
            "constant_prefix": "ACADEMY_",
            "update_call_sites": true,
            "delete_vendor_packages": true,
            "delete_vendor_files": true,
            "include_modified_date": false,
            "override_autoload": {},
            "exclude_from_copy": {
                "packages": [
                    "storeengine/wordpress-sdk"
                ]
            }
        }
    },
    "scripts": {
        "prefix-namespaces": [
            "@php -r \"is_dir('./../../bin') || mkdir('./../../bin', 0777, true);\"",
            "@php -r \"file_exists('./../../bin/strauss.phar') || copy('https://github.com/BrianHenryIE/strauss/releases/download/0.19.3/strauss.phar', './../../bin/strauss.phar');\"",
            "@php ./../../bin/strauss.phar",
            "@php build-tools/strauss-cleanup.php",
            "@composer dump-autoload -o --classmap-authoritative"
        ],
        "format": "build-tools/phpcs-vip/vendor/bin/phpcbf --standard=phpcs.xml",
        "lint": "build-tools/phpcs-vip/vendor/bin/phpcs --standard=phpcs.xml",
        "lint:vip:install": "@composer install --working-dir=build-tools/phpcs-vip",
        "lint:vip": "build-tools/phpcs-vip/vendor/bin/phpcs --standard=phpcs-vip.xml",
        "format:vip": "build-tools/phpcs-vip/vendor/bin/phpcbf --standard=phpcs-vip.xml",
        "test": "vendor/bin/phpunit",
        "build": "@composer install --no-dev --optimize-autoloader --classmap-authoritative",
        "dev": "@composer install",
        "post-install-cmd": [
            "@prefix-namespaces"
        ],
        "post-update-cmd": [
            "@prefix-namespaces"
        ]
    },
    "scripts-descriptions": {
        "format": "Format PHP files (phpcbf) as per WPCS rules. Needs `composer lint:vip:install` first.",
        "lint": "Check the PHP WPCS (phpcs) violations. Needs `composer lint:vip:install` first.",
        "lint:vip:install": "Install the isolated WordPress VIP coding standards toolchain (build-tools/phpcs-vip).",
        "lint:vip": "Check the PHP code against WordPress VIP Go coding standards.",
        "format:vip": "Auto-fix the fixable WordPress VIP Go coding standard violations.",
        "test": "Run PHPUnit tests.",
        "build": "Install runtime deps (no-dev) with optimized autoloader.",
        "dev": "Install all deps including dev tools.",
        "prefix-namespaces": "Downloads Strauss phar and prefixes runtime deps into vendor/prefixed/. Auto-runs after composer install/update."
    }
}
