aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/vendor/splitbrain/php-jsstrip/README.md
blob: c43a9b10da9be0ede3d2fbd2be9c88cc38c1ff97 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# PHP JSStrip

This is a PHP port of Nick Galbreath's python tool [jsstrip.py](https://code.google.com/p/jsstrip/).

It was originally ported to PHP in 2006 as part of the [DokuWiki](http://www.dokuwiki.org) 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
<?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:

```js
/* BEGIN NOCOMPRESS */
const foo = 'No compression here'; // this comment will also stay
/* END NOCOMPRESS */
```