splitbrain / php-jsstrip
PHP based JavaScript minimizer
Fund package maintenance!
splitbrain
Requires
- php: >=7.2
Requires (Dev)
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-12-12 13:56:23 UTC
README
This is a PHP port of Nick Galbreath's python tool jsstrip.py.
It was originally ported to PHP in 2006 as part of the DokuWiki wiki engine. It has received several improvements over the years and is now available as a standalone library.
Quoting the original description:
jsstrip is a open-source library to remove whitespace and comments from a javascript file. You might want to do this to optimize size and performance, or to make a file harder to read. It typically makes 30-40% savings in file size.
WARNING
jsstrip is not a true javascript parser. It assumes you have properly delimited the 'end of line' using a ';' (semicolon).
- Yes
print 'foo'; print 'bar';
- No
print 'foo' print 'bar'
You'll have to convert your code to use ';' first.
ALWAYS test the stripped version before deploying to production.
Installation
Install via composer
composer require splitbrain/php-jsstrip
Usage
<?php require_once 'vendor/autoload.php'; $js = file_get_contents('somefile.js'); // gather your JS here somehow $minifiedJS = (new \splitbrain\JSStrip\JSStrip())->compress($js);
Skip Minification
You can skip Minification for parts of your code by surrounding it by special comments:
/* BEGIN NOCOMPRESS */ const foo = 'No compression here'; // this comment will also stay /* END NOCOMPRESS */