Minify is a PHP library for minification of JavaScript code and CSS stylesheets.
Install using Composer, from Packagist.org:
composer require wikimedia/minify
use Wikimedia\Minify\JavaScriptMinifier; $input = ' /** * @param a * @param b */ function sum(a, b) { // Add it up! return a + b; } '; $output = JavaScriptMinifier::minify( $input ); // Result: // function sum(a,b){return a+b;}
use Wikimedia\Minify\CSSMin; $input = ' .foo, .bar { /* comment */ prop: value; } '; $output = CSSMin::minify( $input ); // Result: // .foo,.bar{prop:value}
The following trade-offs were made for improved runtime performance and code simplicity. If they cause problems in real-world applications without trivial workarounds, please let us know!
T37492: In CSS, content within quoted strings that looks like source code are sometimes minified.
T287631: In CSS, writing a URL over multiple lines with escaped line-breaks is not supported.