{
    "name": "publishpress/publishpress-future",
    "type": "wordpress-plugin",
    "license": "GPL-2.0-or-later",
    "description": "",
    "authors": [
        {
            "name": "PublishPress",
            "email": "help@publishpress.com",
            "homepage": "https://publishpress.com",
            "role": "Developer"
        },
        {
            "name": "Aaron Axelsen",
            "homepage": "http://postexpirator.tuxdocs.net/"
        }
    ],
    "config": {
        "preferred-install": {
            "*": "dist"
        },
        "allow-plugins": {
            "dealerdirect/phpcodesniffer-composer-installer": true,
            "phpstan/extension-installer": true,
            "automattic/jetpack-autoloader": true,
            "php-http/discovery": true
        },
        "process-timeout": 0
    },
    "prefer-stable": true,
    "minimum-stability": "stable",
    "require": {
        "php": ">=7.4",
        "ext-json": "*"
    },
    "require-dev": {
        "lucatume/wp-browser": "^4",
        "codeception/module-asserts": "^3",
        "codeception/module-phpbrowser": "^3",
        "codeception/module-webdriver": "^3",
        "codeception/module-db": "^3",
        "codeception/module-filesystem": "^3",
        "codeception/module-cli": "^2",
        "codeception/util-universalframework": "^1",
        "codeception/module-rest": "^3",
        "codeception/module-sequence": "^3",
        "dealerdirect/phpcodesniffer-composer-installer": "^1",
        "phpcompatibility/php-compatibility": "^9.3",
        "wp-coding-standards/wpcs": "^3",
        "phpmd/phpmd": "^2.15",
        "squizlabs/php_codesniffer": "^3.8",
        "overtrue/phplint": "^9.1",
        "wp-cli/i18n-command": "^2.6",
        "wp-cli/wp-cli-bundle": "^2.10",
        "friendsofphp/php-cs-fixer": "^3.49",
        "phpstan/phpstan": "^1.10",
        "szepeviktor/phpstan-wordpress": "^1.3",
        "phpstan/extension-installer": "^1.3",
        "behat/behat": "^3.14",
        "automattic/vipwpcs": "^3",
        "publishpress/publishpress-phpcs-standards": "dev-main",
        "spatie/ray": "^1.41",
        "phpunit/phpunit": "^10",
        "symfony/process": "^6.4",
        "knplabs/github-api": "^3.16",
        "symfony/http-client": "^7.1",
        "nyholm/psr7": "^1.8"
    },
    "scripts": {
        "build": "pbuild build",
        "build:up": [
            "@build",
            "@dbox:up"
        ],
        "build:dir": "pbuild build-dir",
        "build:clean": "pbuild clean",
        "build:js-prod": "cross-env NODE_ENV=production npx webpack --progress",
        "build:js-dev": "cross-env NODE_ENV=development npx webpack --progress",
        "build:js": [
            "@build:js-prod",
            "@build:js-dev"
        ],
        "profile:js": "cross-env NODE_ENV=production npx webpack --profile",
        "watch:js": "cross-env NODE_ENV=development npx webpack --watch --progress",
        "get:version": "pbuild version",
        "build:pot-php": "wp i18n make-pot . ./languages/post-expirator.pot --domain=post-expirator --exclude=dev-workspace,.wordpress-org,.github,dist,tests,lib,tmp,doc,*.js,*.js.map,*.jsx --allow-root",
        "build:pot-js": "bash ./dev-workspace/scripts/lang-make-pot-js.sh",
        "build:pot": [
            "@build:pot-php",
            "@build:pot-js"
        ],
        "build:mo": "wp i18n make-mo ./languages ./languages --allow-root",
        "build:po-scripts": "bash ./dev-workspace/scripts/lang-update-js-po.sh",
        "build:po-json": "bash ./dev-workspace/scripts/lang-make-json.sh",
        "build:l10n-php": "wp i18n make-php ./languages --allow-root",
        "build:lang": [
            "@build:pot",
            "@build:mo",
            "@build:l10n-php",
            "@cleanup:js-mo",
            "@build:po-json"
        ],
        "cleanup:js-mo": "bash ./dev-workspace/scripts/lang-cleanup.sh",
        "cleanup:gh-workflows": "user=publishpress repo=publishpress-future; gh api repos/$user/$repo/actions/runs --paginate -q '.workflow_runs[] | select(.head_branch != \"master\") | \"\\(.id)\"' | xargs -n1 -I % gh api --silent repos/$user/$repo/actions/runs/% -X DELETE",
        "check": [
            "@check:php",
            "@check:lint",
            "@check:cs",
            "@check:longpath"
        ],
        "check:php": [
            "@check:php-5.6",
            "@check:php-7.2",
            "@check:php-7.4",
            "@check:php-8.0",
            "@check:php-8.1",
            "@check:php-8.2",
            "@check:php-8.3"
        ],
        "check:php-5.6": "phpcs --standard=.phpcs-php-compatibility.xml --runtime-set testVersion 5.6 ./post-expirator.php",
        "check:php-7.2": "phpcs --standard=.phpcs-php-compatibility.xml --runtime-set testVersion 7.2 ./post-expirator.php",
        "check:php-7.4": "phpcs --standard=.phpcs-php-compatibility.xml --runtime-set testVersion 7.4",
        "check:php-8.0": "phpcs --standard=.phpcs-php-compatibility.xml --runtime-set testVersion 8.0",
        "check:php-8.1": "phpcs --standard=.phpcs-php-compatibility.xml --runtime-set testVersion 8.1",
        "check:php-8.2": "phpcs --standard=.phpcs-php-compatibility.xml --runtime-set testVersion 8.2",
        "check:php-8.3": "phpcs --standard=.phpcs-php-compatibility.xml --runtime-set testVersion 8.3",
        "check:lint": "phplint --no-cache",
        "check:cs": "phpcs",
        "check:stan": "phpstan",
        "check:longpath": "longpath .",
        "check:pot-diff": "php dev-workspace/scripts/php/bin/pptk pot:diff https://raw.githubusercontent.com/publishpress/PublishPress-Future/refs/heads/main/languages/post-expirator.pot ./languages/post-expirator.pot",
        "check:pot-diff-md": "php dev-workspace/scripts/php/bin/pptk pot:diff https://raw.githubusercontent.com/publishpress/PublishPress-Future/refs/heads/main/languages/post-expirator.pot ./languages/post-expirator.pot -m",
        "fix:cs": "phpcbf --standard=.phpcs.xml",
        "fix:php": [
            "php-cs-fixer fix .",
            "@fix:cs"
        ],
        "prepare": [
            "@build:lang",
            "@build:js"
        ],
        "dbox:up": "pdropbox upload && pdropbox share",
        "dbox:list": "pdropbox list",
        "dbox:remove": "pdropbox remove",
        "dbox:unlink": "pdropbox unlink",
        "tests:env": "bash dev-workspace/scripts/tests-env.sh bootstrap",
        "tests:chromedriver": "source .\/tests/.env && $CHROMEDRIVER_BINARY --port=$CHROMEDRIVER_PORT",
        "tests:wp": "bash dev-workspace/scripts/tests-wp-cli.sh $@",
        "tests:activate": "bash dev-workspace/scripts/tests-activate-plugin.sh $@",
        "tests:db-export": "bash dev-workspace/scripts/tests-db-export.sh $@",
        "tests:db-import": "bash dev-workspace/scripts/tests-db-import.sh $@",
        "tests:up": "bash dev-workspace/scripts/tests-env.sh up",
        "tests:down": "bash dev-workspace/scripts/tests-env.sh down",
        "tests:stop": "bash dev-workspace/scripts/tests-env.sh stop",
        "tests:clean": [
            "bash dev-workspace/scripts/tests-env.sh cleanup",
            "@tests:clean-logs"
        ],
        "tests:clean-logs": "rm -f dev-workspace/cache/logs/*",
        "tests:db-logs": "bash dev-workspace/scripts/tests-db-logs.sh $@",
        "tests:info": "bash dev-workspace/scripts/tests-env.sh info",
        "tests:refresh": "bash dev-workspace/scripts/tests-env.sh refresh",
        "tests:snippets": "composer codecept gherkin:snippets $@",
        "tests:steps": "composer codecept gherkin:steps $@",
        "test": ".\/vendor\/bin\/codecept run $@",
        "codecept": ".\/vendor\/bin\/codecept $@",
        "docker:cleanup": "docker system prune -f",
        "info:versions": "bash .\/dev-workspace\/scripts\/info-versions.sh",
        "set:version": "php .\/dev-workspace\/scripts\/bump-version.php \"$@\"",
        "pre-release": "bash .\/dev-workspace\/scripts\/pre-release.sh \"$@\"",
        "pr-link": "bash .\/dev-workspace\/scripts\/pr-link.sh",
        "config:phpcs": "phpcs --config-set installed_paths \"../../phpcsstandards/phpcsutils,../../phpcsstandards/phpcsextra,../../automattic/vipwpcs,../../phpcompatibility/php-compatibility,../../sirbrillig/phpcs-variable-analysis,../../publishpress/publishpress-phpcs-standards/standards,../../wp-coding-standards/wpcs\"",
        "post-install-cmd": [
            "@config:phpcs"
        ],
        "post-update-cmd": [
            "@config:phpcs"
        ],
        "pre-autoload-dump": "@composer dumpautoload --working-dir=./lib",
        "pre-update-cmd": "@composer update --working-dir=./lib",
        "pre-install-cmd": "@composer install --working-dir=./lib"
    },
    "scripts-descriptions": {
        "build": "Builds the plugin.",
        "build:up": "Builds the plugin and uploads it to Dropbox.",
        "build:dir": "Builds the plugin in a directory.",
        "build:clean": "Cleans up the build directory.",
        "build:js-dev": "Builds the JavaScript files in development mode.",
        "build:js": "Builds the JavaScript files in production mode.",
        "profile:js": "Generates a profile of the JavaScript build.",
        "watch:js": "Watches the JavaScript files for changes.",
        "get:version": "Gets the version of the plugin.",
        "build:pot-php": "Generates the POT file for translations of PHP files.",
        "build:pot-js": "Generates the POT file for translations of JavaScript files.",
        "build:mo": "Generates the MO files for translation files.",
        "build:po-scripts": "Updates the PO files for translations of JavaScript files.",
        "build:po-json": "Generates the JSON files for translations of JavaScript files.",
        "build:pot": "Generates the POT files for translations of PHP and JavaScript files.",
        "build:l10n-php": "Generates the PHP language files for performant translations (WP 6.5+).",
        "build:lang": "Generates the language files for translations.",
        "cleanup:js-mo": "Cleans up the JavaScript MO files.",
        "cleanup:gh-workflows": "Cleans up the GitHub workflows.",
        "check": "Runs all the checks.",
        "check:php": "Checks the PHP compatibility for all versions.",
        "check:php-5.6": "Checks the PHP compatibility for PHP 5.6 in the main file only.",
        "check:php-7.4": "Checks the PHP compatibility for PHP 7.4.",
        "check:php-8.0": "Checks the PHP compatibility for PHP 8.0.",
        "check:php-8.1": "Checks the PHP compatibility for PHP 8.1.",
        "check:php-8.2": "Checks the PHP compatibility for PHP 8.2.",
        "check:php-8.3": "Checks the PHP compatibility for PHP 8.3.",
        "check:lint": "Checks the PHP files for syntax errors.",
        "check:cs": "Checks the PHP files for coding standards.",
        "check:stan": "Checks the PHP files for static analysis.",
        "check:longpath": "Checks the PHP files for long paths.",
        "fix:cs": "Fixes the PHP files for coding standards.",
        "fix:php": "Fixes the PHP files.",
        "dbox:up": "Uploads the built package to Dropbox and generates a sharable URL.",
        "dbox:list": "Lists the package in Dropbox.",
        "dbox:remove": "Removes the built package from Dropbox.",
        "dbox:unlink": "Unlinks the Dropbox account.",
        "tests:activate": "Activates the plugin within the WordPress test environment using WP-CLI.",
        "tests:chromedriver": "Starts the ChromeDriver server.",
        "tests:clean": "Cleans up the Codeception cache and generated files.",
        "tests:db-export": "Exports the WordPress database to a SQL file.",
        "tests:db-import": "Imports a SQL file into the WordPress test database.",
        "tests:down": "Stops the test environment removing the containers.",
        "tests:env": "Create the tests/.env file.",
        "tests:info": "Gets the test environment information.",
        "tests:refresh": "Refreshes the test environment.",
        "tests:stop": "Stops the test environment.",
        "tests:up": "Starts the test environment.",
        "tests:wp": "Runs WP-CLI commands within the context of the test environment.",
        "tests:snippets": "Show all the gherkin snippets that are not implemented.",
        "tests:steps": "Show all the gherkin steps for the suite.",
        "test": "Runs tests with custom arguments or specific files.",
        "codeception": "Runs Codeception commands.",
        "docker:cleanup": "Cleans up the Docker system.",
        "config:phpcs": "Configures the PHP CodeSniffer installed paths.",
        "info:versions": "Gets the version of the main tools available.",
        "set:version": "Sets the version of the plugin.",
        "pre-release": "Creates a release branch and a pull request for the release.",
        "pr-link": "Gets the pull request URL for the release branch.",
        "check:pot-diff": "Checks the POT file for differences in the main branch.",
        "check:pot-diff-md": "Checks the POT file for differences in the main branch and outputs the results in Markdown format."
    },
    "extra": {
        "plugin-slug": "post-expirator",
        "plugin-name": "publishpress-future",
        "plugin-folder": "post-expirator",
        "version-constant": "PUBLISHPRESS_FUTURE_VERSION"
    }
}
