<?php

declare(strict_types=1);

use Isolated\Symfony\Component\Finder\Finder;

return [
    // The prefix configuration. If a non null value will be used, a random prefix will be generated.
    'prefix' => 'PluginTemplateVendor',

    // By default when running php-scoper add-prefix, it will prefix all relevant code found in the current working
    // directory. You can however define which files should be scoped by defining a collection of Finders in the
    // following configuration key.
    //
    // For more see: https://github.com/humbug/php-scoper#finders-and-paths
    'finders' => [
        Finder::create()
            ->files()
            ->ignoreVCS(true)
            ->name(['*.php', 'composer.json', '*.css', '*.js', '*.jpg', '*.png', '*.wsdl'])
            ->exclude([
                'doc',
                'test',
                'test_old',
                'tests',
                'Tests',
                'vendor-bin',
	            'wp-wpdesk-composer',
	            'wp-wpdesk-helper-override'
            ])
            ->in(['vendor/monolog', 'vendor/wpdesk']),
    ],

    // Whitelists a list of files. Unlike the other whitelist related features, this one is about completely leaving
    // a file untouched.
    // Paths are relative to the configuration file unless if they are already absolute
    'files-whitelist' => [
    ],

    // When scoping PHP files, there will be scenarios where some of the code being scoped indirectly references the
    // original namespace. These will include, for example, strings or string manipulations. PHP-Scoper has limited
    // support for prefixing such strings. To circumvent that, you can define patchers to manipulate the file to your
    // heart contents.
    //
    // For more see: https://github.com/humbug/php-scoper#patchers
    'patchers' => [
    ],

    // PHP-Scoper's goal is to make sure that all code for a project lies in a distinct PHP namespace. However, you
    // may want to share a common API between the bundled code of your PHAR and the consumer code. For example if
    // you have a PHPUnit PHAR with isolated code, you still want the PHAR to be able to understand the
    // PHPUnit\Framework\TestCase class.
    //
    // A way to achieve this is by specifying a list of classes to not prefix with the following configuration key. Note
    // that this does not work with functions or constants neither with classes belonging to the global namespace.
    //
    // Fore more see https://github.com/humbug/php-scoper#whitelist
    'whitelist' => [
	    'ABSPATH',
	    'WPINC',
	    'WP_LANG_DIR',
	    'WP_PLUGIN_DIR',
	    'WP_PLUGIN_URL',
	    'WP_CONTENT_DIR',
	    'WP_CONTENT_URL',
	    'WP_HOME',
	    'WP_SITEURL',
	    'WP_TEMP_DIR',
	    'WPMU_PLUGIN_DIR',
	    'WPMU_PLUGIN_URL',
	    'DB_CHARSET',
	    'DB_COLLATE',
	    'DB_HOST',
	    'DB_NAME',
	    'DB_PASSWORD',
	    'DB_USER',
	    'DOING_AUTOSAVE',
	    'DOING_CRON',
	    'DOING_AUTOSAVE',
	    'WP_ADMIN',
	    'WP_BLOG_ADMIN',
	    'AUTOSAVE_INTERVAL',
	    'WPLANG',
	    'WP_DEFAULT_THEME',
	    'WP_CRON_LOCK_TIMEOUT',
	    'DISABLE_WP_CRON',
	    'WP_MAIL_INTERVAL',
	    'WP_MAIL_INTERVAL',
	    'WP_POST_REVISIONS',
	    'STYLESHEETPATH',
	    'TEMPLATEPATH',
	    'NONCE_SALT',
	    'NONCE_KEY',
	    'USER_COOKIE',
    ],

    // If `true` then the user defined constants belonging to the global namespace will not be prefixed.
    //
    // For more see https://github.com/humbug/php-scoper#constants--constants--functions-from-the-global-namespace
    'whitelist-global-constants' => false,

	// If `true` then the user defined functions belonging to the global namespace will not be prefixed.
    //
    // For more see https://github.com/humbug/php-scoper#constants--constants--functions-from-the-global-namespace
    'whitelist-global-functions' => false,

    'whitelist-global-classes' => false,
];