| #!/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); |
| } |