Clone this repo:
  1. 8492d24 Tag 2.8.0 by Timo Tijhof · 4 weeks ago master 2.8.0
  2. f8ea61d Merge "Fix treatment of `yield` in expressions" by jenkins-bot · 4 weeks ago
  3. 1521859 build: Updating mediawiki/mediawiki-codesniffer to 44.0.0 by libraryupgrader · 6 weeks ago
  4. 32dab29 Fix treatment of `yield` in expressions by Roan Kattouw · 6 weeks ago
  5. 1b3c0be Merge "JavaScriptMinifier: Add support for `**=` operator (ECMAScript 2016)" by jenkins-bot · 3 months ago

wikimedia/minify

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

See also