| {
    "name": "luminovang/luminova",
    "description": "PHP Luminova framework, simple yet powerful framework design for speed",
    "keywords": ["Framework", "PHP", "MVC", "PHP Framework", "Luminova", "PHP Luminova Framework", "Luminova Ng", "PHP Luminova"],
    "license": "MIT",
    "type": "project",
    "homepage": "https://luminova.ng",
    
    "support": {
        "email": "[email protected] ",
        "source": "https://github.com/luminovang/luminova/",
        "docs": "https://luminova.ng/docs"
    },
    "authors": [
        {
            "name": "Ujah Chigozie Peter",
            "email": "[email protected] ",
            "homepage": "https://github.com/peterujah/",
            "role": "developer"
        }
    ],
    "require": {
        "php": "^8.0",
        "ext-json": "*",
        "ext-mbstring": "*",
        "luminovang/framework": "^3.0",
        "psr/log": "^1.1",
        "psr/http-client": "^1.0"
    },
    "require-dev": {
        "psr/cache": "^3.0",
        "psr/simple-cache": "^3.0",
        "psr/http-client": "^1.0",
        "nikic/php-parser": "^4.17.1",
        "phpstan/extension-installer": "^1.3",
        "phpstan/phpstan": "^1.10.2",
        "phpunit/phpunit": "^9.1",
        "rector/rector": "0.18.3",
        "friendsofphp/php-cs-fixer": "^3.64"
    },
    
    "suggest": {
        "ext-curl": "Needed if you use CURLRequest class",
        "ext-exif": "Needed if you run Image class tests",
        "ext-fileinfo": "Needed to improves mime type detection for files",
        "ext-gd": "Needed if you use Image class GDHandler",
        "ext-imagick": "Needed if you use Image class ImageMagickHandler",
        "ext-memcache": "Needed if you use Cache class MemcachedHandler with Memcache",
        "ext-memcached": "Needed if you use Cache class MemcachedHandler with Memcached",
        "ext-mysqli": "Needed if you use MySQL",
        "ext-intl": "Needed if you use Local",
        "psr/log": "Needed to use PSR logging",
        "psr/http-client": "Needed to use Guzzle http client",
        "guzzlehttp/guzzle": "Needed to use Guzzle http client",
        "phpmailer/phpmailer": "Needed if you want to use PHPMailer client",
        "swiftmailer/swiftmailer": "Needed if you want use SwiftMailer client",
        "smarty/smarty": "Needed if you want to use Smarty template engine",
        "twig/twig": "Needed if you want to use Twig template engine",
        "league/flysystem": "Needed if you use FileSystem cloud storages",
        "nanoblocktech/psr-cache": "If you need to use psr-cache or psr-simple-cache",
        "peterujah/php-search-controller": "If you want to use model searching doSearch",
        "peterujah/nano-image": "If you want to use outputImage fom file delivery class, for image resizing.",
        "endroid/qr-code": "For generating Base64 or inline SVG images for TOTP QR codes.",
        "luminovang/array-functions": "For using PHP 8.4 array_find_*, array_all, or array_any in earlier PHP versions."
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Luminova\\": "system/"
        },
        "exclude-from-classmap": [
            "system/plugins/luminovang/framework/"
        ]
    }, 
    "autoload-dev": {
        "psr-4": {
            "Luminova\\Tests\\": "tests/"
        }
    },
    "config": {
        "allow-plugins": {
            "phpstan/extension-installer": true
        },
        "optimize-autoloader": true,
        "sort-packages": true,
        "preferred-install": "dist",
        "vendor-dir": "system/plugins"
    },
    "extra": {
        "branch-alias": {
            "dev-develop": "1.x-dev"
        }
    },
    "scripts": {
        "post-update-cmd": [
            "Composer\\Config::disableProcessTimeout",
            "Luminova\\Composer\\Updater::update"
        ],                        
        "post-create-project-cmd": [
            "Composer\\Config::disableProcessTimeout",
            "Luminova\\Composer\\Updater::install",
            "@php novakit generate:key"
        ],
        "analyze-app": [
            "Composer\\Config::disableProcessTimeout",
            "bash -c \"XDEBUG_MODE=off phpstan analyse --memory-limit 3000M\""
        ],
        "analyze-code": [
            "Composer\\Config::disableProcessTimeout",
            "rector process --dry-run"
        ],
        "cs-fix": [
            "php-cs-fixer fix --ansi"
        ]
    },
    "scripts-descriptions": {
        "post-update-cmd": "Automatically finalizes framework dependency updates after running 'composer update'.",
        "post-create-project-cmd": "Automatically configures the project and generates an application key after initial installation.",
        "analyze-app": "Performs static analysis on the application and its framework dependencies using phpstan.",
        "analyze-code": "Analyzes the application's code for style and standards compliance using rector.",
        "cs-fix": "Fixes coding style issues to comply with PHP standards using php-cs-fixer."
    },
    "minimum-stability": "stable",
    "prefer-stable": true
}
 |