wikimedia / minify
Minification of JavaScript code and CSS stylesheets.
2.8.0
2024-08-20 20:54 UTC
Requires
- php: >=7.4.3
- ext-fileinfo: *
- ext-json: *
- ext-mbstring: *
- pear/net_url2: 2.2.2
Requires (Dev)
- mediawiki/mediawiki-codesniffer: 44.0.0
- mediawiki/mediawiki-phan-config: 0.14.0
- mediawiki/minus-x: 1.1.3
- ockcyp/covers-validator: 1.6.0
- php-parallel-lint/php-console-highlighter: 1.0.0
- php-parallel-lint/php-parallel-lint: 1.4.0
- phpunit/phpunit: 9.6.16
- wikimedia/testing-access-wrapper: ~2.0
README
Minify is a PHP library for minification of JavaScript code and CSS stylesheets.
Quick start
Install using Composer, from Packagist.org:
composer require wikimedia/minify
Usage
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}
Known limitations
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.
Contribute
- Issue tracker: https://phabricator.wikimedia.org/tag/wikimedia-minify/
- Source code: https://gerrit.wikimedia.org/g/mediawiki/libs/Minify
- Submit patches via Gerrit: https://www.mediawiki.org/wiki/Developer_account
See also
- High-level documentation: https://www.mediawiki.org/wiki/ResourceLoader/Architecture