{
  "$schema": "https://getcomposer.org/schema.json",
  "name": "maxima/public-v7",
  "description": "Concordia — CMS governamental single-tenant para publicações oficiais, dados abertos e conformidade LGPD.",
  "homepage": "https://maxima.inf.br",
  "readme": "README.md",
  "keywords": [
    "maxima",
    "concordia",
    "public-v7",
    "cms",
    "portal",
    "prefeitura",
    "governo",
    "lgpd"
  ],
  "license": "proprietary",
  "type": "project",
  "authors": [
    {
      "name": "Máxima Tecnologia",
      "email": "suporte@maxima.inf.br",
      "role": "Owner"
    }
  ],
  "support": {
    "email": "suporte@maxima.inf.br",
    "source": "https://maxima.inf.br"
  },
  "require": {
    "php": "^8.4",
    "ext-apcu": "*",
    "ext-bcmath": "*",
    "ext-blake3": "*",
    "ext-curl": "*",
    "ext-dom": "*",
    "ext-exif": "*",
    "ext-fileinfo": "*",
    "ext-imagick": "*",
    "ext-intl": "*",
    "ext-mbstring": "*",
    "ext-openssl": "*",
    "ext-pdo": "*",
    "ext-pdo_pgsql": "*",
    "ext-redis": "*",
    "ext-tokenizer": "*",
    "ext-xml": "*",
    "ext-zip": "*",
    "laravel/framework": "^12.0",
    "laravel/tinker": "^2.10.1",
    "league/flysystem-aws-s3-v3": "^3.25"
  },
  "require-dev": {
    "brianium/paratest": "^7.27",
    "fakerphp/faker": "^1.23",
    "infection/infection": "^0.35",
    "larastan/larastan": "^3.0",
    "laravel/pint": "^1.32",
    "mockery/mockery": "^1.6",
    "phpstan/phpstan": "^2.3",
    "phpstan/phpstan-deprecation-rules": "^2.0",
    "phpstan/phpstan-strict-rules": "^2.0",
    "phpunit/phpunit": "^13.4",
    "shipmonk/dead-code-detector": "^1.4"
  },
  "autoload": {
    "psr-4": {
      "App\\": "app/",
      "Core\\": "src/core/",
      "Services\\": "src/services/",
      "Layout\\": "src/layout/",
      "Modules\\": "src/modules/",
      "Demonstration\\": "src/demonstration/",
      "Database\\Factories\\": "database/factories/",
      "Database\\Seeders\\": "database/seeders/"
    },
    "files": [
      "src/core/Internal/Observability/log_event.php",
      "src/core/Internal/Observability/pii_redact.php",
      "src/core/Localization/localized_url.php"
    ],
    "exclude-from-classmap": [
      "/src/**/Test/",
      "/tests-e2e/"
    ]
  },
  "autoload-dev": {
    "psr-4": {
      "Tests\\": "tests/"
    }
  },
  "scripts": {
    "setup": [
      "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"",
      "@php artisan key:generate"
    ],
    "quality": [
      "@lint",
      "@static",
      "@test"
    ],
    "lint": [
      "vendor/bin/pint --test"
    ],
    "static": [
      "vendor/bin/phpstan analyse --memory-limit=1G --no-progress"
    ],
    "test": [
      "@php artisan config:clear --ansi",
      "@php artisan test"
    ],
    "prod": [
      "composer dump-autoload --optimize --classmap-authoritative --no-dev",
      "@php artisan migrate --force --isolated",
      "@php artisan storage:ensure-bucket",
      "@php artisan optimize",
      "echo 'Reinicie o PHP-FPM (USR2) no deploy para limpar o OPcache (ADR-008).'"
    ],
    "post-autoload-dump": [
      "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
      "@php artisan package:discover --ansi"
    ],
    "post-update-cmd": [
      "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
    ],
    "post-root-package-install": [
      "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "pre-package-uninstall": [
      "Illuminate\\Foundation\\ComposerScripts::prePackageUninstall"
    ]
  },
  "extra": {
    "laravel": {
      "dont-discover": []
    }
  },
  "config": {
    "allow-plugins": {
      "php-http/discovery": true,
      "infection/extension-installer": false
    },
    "optimize-autoloader": true,
    "preferred-install": "dist",
    "sort-packages": true,
    "platform": {
      "php": "8.4.27"
    },
    "audit": {
      "abandoned": "report"
    }
  },
  "minimum-stability": "stable",
  "prefer-stable": true
}
