46 lines
1.3 KiB
PHP
46 lines
1.3 KiB
PHP
#!/usr/bin/env php
|
|
<?php
|
|
use MatthiasMullie\Minify;
|
|
|
|
// command line utility to minify JS
|
|
if (file_exists(__DIR__ . '/../../../autoload.php')) {
|
|
// if composer install
|
|
require_once __DIR__ . '/../../../autoload.php';
|
|
} else {
|
|
require_once __DIR__ . '/../src/Minify.php';
|
|
require_once __DIR__ . '/../src/JS.php';
|
|
require_once __DIR__ . '/../src/Exception.php';
|
|
}
|
|
|
|
error_reporting(E_ALL);
|
|
// check PHP setup for cli arguments
|
|
if (!isset($_SERVER['argv']) && !isset($argv)) {
|
|
fwrite(STDERR, 'Please enable the "register_argc_argv" directive in your php.ini' . PHP_EOL);
|
|
exit(1);
|
|
} elseif (!isset($argv)) {
|
|
$argv = $_SERVER['argv'];
|
|
}
|
|
// check if path to file given
|
|
if (!isset($argv[1])) {
|
|
fwrite(STDERR, 'Argument expected: path to file' . PHP_EOL);
|
|
exit(1);
|
|
}
|
|
// check if script run in cli environment
|
|
if ('cli' !== php_sapi_name()) {
|
|
fwrite(STDERR, $argv[1] . ' must be run in the command line' . PHP_EOL);
|
|
exit(1);
|
|
}
|
|
// check if source file exists
|
|
if (!file_exists($argv[1])) {
|
|
fwrite(STDERR, 'Source file "' . $argv[1] . '" not found' . PHP_EOL);
|
|
exit(1);
|
|
}
|
|
|
|
try {
|
|
$minifier = new Minify\JS($argv[1]);
|
|
echo $minifier->minify();
|
|
} catch (Exception $e) {
|
|
fwrite(STDERR, $e->getMessage(), PHP_EOL);
|
|
exit(1);
|
|
}
|