{
  "name": "estebanforge/hyperfields",
  "description": "HyperFields: A powerful custom field system for WordPress, providing metaboxes, options pages, and conditional logic.",
  "type": "library",
  "version": "1.2.4",
  "license": "GPL-2.0-or-later",
  "authors": [
    {
      "name": "Esteban Cuevas",
      "email": "esteban@actitud.xyz"
    }
  ],
  "minimum-stability": "RC",
  "prefer-stable": true,
  "require": {
    "php": ">=8.1",
    "automattic/jetpack-autoloader": "^2"
  },
  "autoload": {
    "psr-4": {
      "HyperFields\\": "src/"
    },
    "files": [
      "includes/helpers.php",
      "includes/backward-compatibility.php",
      "bootstrap.php"
    ]
  },
  "autoload-dev": {
    "psr-4": {
      "HyperFields\\Tests\\": "tests/"
    }
  },
  "require-dev": {
    "phpunit/phpunit": "^12",
    "pestphp/pest": "^4",
    "brain/monkey": "^2",
    "mockery/mockery": "^1",
    "friendsofphp/php-cs-fixer": "^3"
  },
  "scripts": {
    "test": "bash -lc 'if [ ! -f vendor/bin/pest ]; then composer update --no-interaction --no-progress; fi; if php -m | grep -qi pcov; then php -d pcov.enabled=1 vendor/bin/pest --colors=always; elif php -m | grep -qi xdebug; then XDEBUG_MODE=coverage vendor/bin/pest --colors=always; else vendor/bin/pest --colors=always; fi'",
    "test:unit": "php -d pcov.enabled=1 vendor/bin/pest tests/Unit --colors=always",
    "test:integration": "php -d pcov.enabled=1 vendor/bin/pest tests/Integration --colors=always",
    "test:coverage": "php -d pcov.enabled=1 vendor/bin/pest --configuration phpunit.xml --coverage-html coverage-html --coverage-text",
    "test:fast": "php -d pcov.enabled=1 vendor/bin/pest --configuration phpunit.xml --coverage-html coverage-html --coverage-text",
    "test:summary": "php -d pcov.enabled=1 vendor/bin/pest --configuration phpunit.xml --coverage-text",
    "test:clover": "php -d pcov.enabled=1 vendor/bin/pest --configuration phpunit.xml --coverage-clover coverage.xml",
    "test:xdebug": "XDEBUG_MODE=coverage vendor/bin/pest --configuration phpunit.xml --coverage-html coverage-xdebug-html --coverage-text",
    "test:coverage:xdebug": "XDEBUG_MODE=coverage vendor/bin/pest --configuration phpunit.xml --coverage-html coverage-xdebug-html --coverage-text",
    "test:summary:xdebug": "XDEBUG_MODE=coverage vendor/bin/pest --configuration phpunit.xml --coverage-text",
    "test:clover:xdebug": "XDEBUG_MODE=coverage vendor/bin/pest --configuration phpunit.xml --coverage-clover coverage-xdebug.xml",
    "build-assets": "bash -lc 'if command -v npm >/dev/null 2>&1; then npm run build && echo \"✓ React assets built successfully\"; else echo \"⚠ npm not found, skipping React asset build. Install Node.js to build React assets.\"; fi'",
    "production": ["@build-assets", "@php composer install --no-dev --optimize-autoloader"],
    "version-bump": "bash scripts/version-bump.sh",
    "setup-hooks": "cp .githooks/* .git/hooks/ && chmod +x .git/hooks/* && echo 'Git hooks installed to .git/hooks/'",
    "cs:fix": "vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php",
    "cs:check": "vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php --dry-run --diff"
  },
  "config": {
    "allow-plugins": {
      "composer/installers": true,
      "automattic/jetpack-autoloader": true,
      "pestphp/pest-plugin": true
    }
  }
}
