# wp-optimize/3.2.5/vendor/mrclay/minify/min_extras/cli/minify.php

WP-Optimize – Cache, Compress images, Minify &amp; Clean database to boost page speed &amp; performance, version 3.2.5. 82 lines.

- Page: https://pluginprobe.com/plugins/wp-optimize/3.2.5/code/vendor/mrclay/minify/min_extras/cli/minify.php
- Raw: https://pluginprobe.com/plugins/wp-optimize/3.2.5/raw/vendor/mrclay/minify/min_extras/cli/minify.php
- Modified: 2022-06-03T18:20:18+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/wp-optimize/3.2.5/code/vendor/mrclay/minify/min_extras/cli/minify.php#L10-L20`.

```php
#!/usr/bin/env php
<?php

die('Must be rewritten for new API');

require __DIR__ . '/../../bootstrap.php';

$cli = new MrClay\Cli;

$cli->addOptionalArg('d')->assertDir()->setDescription('Your webserver\'s DOCUMENT_ROOT: Relative paths will be rewritten relative to this path. This is required if you\'re passing in CSS.');

$cli->addOptionalArg('o')->useAsOutfile()->setDescription('Outfile: If given, output will be placed in this file.');

$cli->addOptionalArg('t')->mustHaveValue()->setDescription('Type: must be "css", "js", or "html". This must be provided if passing content via STDIN.');

if (! $cli->validate()) {
    if ($cli->isHelpRequest) {
        echo "The Minify CLI tool!\n\n";
    }
    echo "USAGE: ./minify.php [-t TYPE] [-d DOC_ROOT] [-o OUTFILE] file ...\n";
    if ($cli->isHelpRequest) {
        echo $cli->getArgumentsListing();
    }
    echo "EXAMPLE: ./minify.php ../../tests/_test_files/js/*.js\n";
    echo "EXAMPLE: ./minify.php -d../.. ../../tests/_test_files/css/*.css\n";
    echo "EXAMPLE: echo \"var js = 'Awesome' && /cool/;\" | ./minify.php -t js\n";
    echo "EXAMPLE: echo \"sel > ector { prop: 'value  '; }\" | ./minify.php -t css\n";
    echo "\n";
    exit(0);
}

$outfile = $cli->values['o'];
$docRoot = $cli->values['d'];
$type = $cli->values['t'];

if (is_string($type)) {
    if (! in_array($type, array('js', 'css', 'html'))) {
        echo "Type argument invalid\n";
        exit(1);
    }
    $type = constant('Minify::TYPE_' . strtoupper($type));
}

$paths = $cli->getPathArgs();
$sources = array();

if ($paths) {
    foreach ($paths as $path) {
        if (is_file($path)) {
            $sources[] = new Minify_Source(array(
                'filepath' => $path,
                'minifyOptions' => array('docRoot' => $docRoot),
            ));
        } else {
            $sources[] = new Minify_Source(array(
                'id' => $path,
                'content' => "/*** $path not found ***/\n",
                'minifier' => 'Minify::nullMinifier',
            ));
        }
    }
} else {
    // not paths input, expect STDIN
    if (! $type) {
        echo "Type must be specified to use STDIN\n";
        exit(1);
    }
    $in = $cli->openInput();
    $sources[] = new Minify_Source(array(
        'id' => 'one',
        'content' => stream_get_contents($in),
        'contentType' => $type,
    ));
    $cli->closeInput();
}

$combined = Minify::combine($sources) . "\n";

$fp = $cli->openOutput();
fwrite($fp, $combined);
$cli->closeOutput();

```
