{
    "name": "flux-plugins/flux-media-optimizer",
    "description": "One-click AVIF/WebP image optimization with built-in video compression for WordPress.",
    "type": "wordpress-plugin",
    "license": "GPL-2.0-or-later",
    "authors": [
        {
            "name": "Flux Plugins",
            "email": "eddie@fluxplugins.com",
            "homepage": "https://fluxplugins.com"
        }
    ],
    "repositories": [
        {
            "type": "vcs",
            "url": "git@github.com:stratease/flux-plugins-common.git"
        }
    ],
    "require": {
        "php": ">=8.1",
        "monolog/monolog": "^2.8",
        "php-ffmpeg/php-ffmpeg": "^0.19.0",
        "stratease/flux-plugins-common": "@dev",
        "woocommerce/action-scheduler": "^3.7"
    },
    "conflict": {
        "symfony/var-exporter": ">=7.0",
        "symfony/finder": ">=7.0",
        "symfony/cache": ">=7.0"
    },
    "require-dev": {
        "brianhenryie/strauss": "^0.22.5",
        "phpstan/phpstan": "^1.10",
        "phpunit/phpunit": "^9.6",
        "squizlabs/php_codesniffer": "^3.7",
        "wp-coding-standards/wpcs": "^2.3"
    },
    "autoload": {
        "psr-4": {
            "FluxMedia\\App\\": "app/",
            "FluxMedia\\Config\\": "config/",
            "FluxMedia\\Database\\": "database/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "FluxMedia\\Tests\\": "tests/"
        }
    },
    "scripts": {
        "test": "phpunit",
        "test:unit": "phpunit tests/unit",
        "test:coverage": "phpunit --coverage-html coverage tests/unit",
        "phpstan": "phpstan analyse",
        "phpcs": "phpcs --standard=WordPress app/ config/ database/ tests/",
        "phpcbf": "phpcbf --standard=WordPress app/ config/ database/ tests/",
        "quality": [
            "@phpcs",
            "@phpstan",
            "@test"
        ],
        "copy-common-assets": [
            "sh -c 'if [ -d vendor/stratease/flux-plugins-common/src/assets ]; then mkdir -p src/assets/common && cp -r vendor/stratease/flux-plugins-common/src/assets/* src/assets/common/ && echo \"✅ Copied common library assets to src/assets/common/\"; else echo \"⚠️  Common library assets not found in vendor/\"; fi'"
        ],
        "prefix-namespaces": [
            "@copy-common-assets",
            "sh -c 'test -f ./bin/strauss.phar || curl -o bin/strauss.phar -L -C - https://github.com/BrianHenryIE/strauss/releases/latest/download/strauss.phar'",
            "@php bin/strauss.phar",
            "@composer dump-autoload",
            "@fix-php81-deprecations",
            "@fix-bin-wrappers"
        ],
        "fix-bin-wrappers": [
            "sh -c 'if [ -f vendor-prefixed/stratease/flux-plugins-common/bin/fix-bin-wrappers.php ]; then php vendor-prefixed/stratease/flux-plugins-common/bin/fix-bin-wrappers.php; elif [ -f vendor/stratease/flux-plugins-common/bin/fix-bin-wrappers.php ]; then php vendor/stratease/flux-plugins-common/bin/fix-bin-wrappers.php; fi'"
        ],
        "fix-php81-deprecations": "php bin/fix-php81-deprecations.php",
        "post-install-cmd": [
            "@prefix-namespaces"
        ],
        "post-update-cmd": [
            "@prefix-namespaces"
        ],
        "post-autoload-dump": [
            "@php bin/strauss.phar include-autoloader",
            "@fix-bin-wrappers"
        ]
    },
    "config": {
        "allow-plugins": {
            "dealerdirect/phpcodesniffer-composer-installer": true
        },
        "optimize-autoloader": true,
        "sort-packages": true
    },
    "extra": {
        "strauss": {
            "target_directory": "vendor-prefixed",
            "namespace_prefix": "FluxMedia\\",
            "classmap_prefix": "FluxMedia_",
            "constant_prefix": "FluxMedia_",
            "packages": [
                "monolog/monolog",
                "php-ffmpeg/php-ffmpeg",
                "stratease/flux-plugins-common"
            ],
            "update_call_sites": false,
            "override_autoload": {
            },
            "exclude_from_copy": {
                "packages": [
                    "woocommerce/action-scheduler"
                ],
                "namespaces": [
                ],
                "file_patterns": [
                ]
            },
            "exclude_from_prefix": {
                "packages": [
                    "woocommerce/action-scheduler"
                ],
                "namespaces": [
                ],
                "file_patterns": [
                ]
            },
            "namespace_replacement_patterns" : {
            },
            "delete_vendor_packages": true,
            "delete_vendor_files": true
        }
    }
}
