wikimedia/minify

Minification of JavaScript code and CSS stylesheets.

Maintainers

Package info

github.com/wikimedia/mediawiki-libs-Minify

Homepage

pkg:composer/wikimedia/minify

Statistics

Installs: 930 748

Dependents: 15

Suggesters: 1

Stars: 6

2.11.0 2026-06-26 16:30 UTC

This package is auto-updated.

Last update: 2026-06-26 17:19:37 UTC


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!

  • In CSS, content within quoted strings that looks like source code is sometimes minified (T37492).
  • In CSS, writing a URL over multiple lines with escaped line-breaks is not supported (T287631).
  • In JS, certain multibyte spaces are not supported as whitespace in source code (including U+00A0 No Break Space NBSP, U+2028 Line Separator, and U+2029 Paragraph Separator) and may produce invalid output. Note that these and other Unicode multibyte characters are fully supported in strings, identifiers, and regexes (change 1278715).

Contribute

See also