├── .coveralls.yml ├── .gitignore ├── .travis.yml ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── composer.json ├── phpunit.xml.dist ├── src └── JShrink │ └── Minifier.php └── tests ├── JShrink └── Test │ └── JShrinkTest.php ├── Resources ├── development │ ├── input │ │ └── .gitkeep │ └── output │ │ └── .gitkeep ├── jshrink │ ├── input │ │ ├── empty_comment.js │ │ ├── ending_comment.js │ │ ├── prefix_increment.js │ │ ├── preserve-regex.js │ │ ├── preserve-strings.js │ │ ├── preserve_license.js │ │ ├── remove_multiline_comments.js │ │ ├── remove_oneline_comments.js │ │ ├── strictmode.js │ │ └── utf_chars.js │ └── output │ │ ├── empty_comment.js │ │ ├── ending_comment.js │ │ ├── prefix_increment.js │ │ ├── preserve-regex.js │ │ ├── preserve-strings.js │ │ ├── preserve_license.js │ │ ├── remove_multiline_comments.js │ │ ├── remove_oneline_comments.js │ │ ├── strictmode.js │ │ └── utf_chars.js ├── minify │ ├── input │ │ ├── 144.js │ │ ├── condcomm.js │ │ └── issue132.js │ └── output │ │ ├── 144.js │ │ ├── condcomm.js │ │ └── issue132.js ├── requests │ ├── input │ │ ├── .gitkeep │ │ ├── ifreturn.js │ │ └── whitespace.js │ └── output │ │ ├── .gitkeep │ │ ├── ifreturn.js │ │ └── whitespace.js └── uglify │ ├── README │ ├── input │ ├── array1.js │ ├── array2.js │ ├── array3.js │ ├── array4.js │ ├── assignment.js │ ├── concatstring.js │ ├── empty-blocks.js │ ├── forstatement.js │ ├── if.js │ ├── ifreturn2.js │ ├── null_string.js │ ├── strict-equals.js │ ├── var.js │ └── with.js │ └── output │ ├── array1.js │ ├── array2.js │ ├── array3.js │ ├── array4.js │ ├── assignment.js │ ├── concatstring.js │ ├── empty-blocks.js │ ├── forstatement.js │ ├── if.js │ ├── ifreturn2.js │ ├── null_string.js │ ├── strict-equals.js │ ├── var.js │ └── with.js ├── bootstrap.php └── runTests.sh /.coveralls.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/.coveralls.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/.travis.yml -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/README.md -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/composer.json -------------------------------------------------------------------------------- /phpunit.xml.dist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/phpunit.xml.dist -------------------------------------------------------------------------------- /src/JShrink/Minifier.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/src/JShrink/Minifier.php -------------------------------------------------------------------------------- /tests/JShrink/Test/JShrinkTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/JShrink/Test/JShrinkTest.php -------------------------------------------------------------------------------- /tests/Resources/development/input/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/Resources/development/output/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/Resources/jshrink/input/empty_comment.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/jshrink/input/empty_comment.js -------------------------------------------------------------------------------- /tests/Resources/jshrink/input/ending_comment.js: -------------------------------------------------------------------------------- 1 | var sth = "sth"; //comment -------------------------------------------------------------------------------- /tests/Resources/jshrink/input/prefix_increment.js: -------------------------------------------------------------------------------- 1 | do{div.innerHTML=""} while(1) -------------------------------------------------------------------------------- /tests/Resources/jshrink/input/preserve-regex.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/jshrink/input/preserve-regex.js -------------------------------------------------------------------------------- /tests/Resources/jshrink/input/preserve-strings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/jshrink/input/preserve-strings.js -------------------------------------------------------------------------------- /tests/Resources/jshrink/input/preserve_license.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/jshrink/input/preserve_license.js -------------------------------------------------------------------------------- /tests/Resources/jshrink/input/remove_multiline_comments.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/jshrink/input/remove_multiline_comments.js -------------------------------------------------------------------------------- /tests/Resources/jshrink/input/remove_oneline_comments.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/jshrink/input/remove_oneline_comments.js -------------------------------------------------------------------------------- /tests/Resources/jshrink/input/strictmode.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var foo=22; -------------------------------------------------------------------------------- /tests/Resources/jshrink/input/utf_chars.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/jshrink/input/utf_chars.js -------------------------------------------------------------------------------- /tests/Resources/jshrink/output/empty_comment.js: -------------------------------------------------------------------------------- 1 | var test; -------------------------------------------------------------------------------- /tests/Resources/jshrink/output/ending_comment.js: -------------------------------------------------------------------------------- 1 | var sth="sth"; -------------------------------------------------------------------------------- /tests/Resources/jshrink/output/prefix_increment.js: -------------------------------------------------------------------------------- 1 | do{div.innerHTML=""}while(1) -------------------------------------------------------------------------------- /tests/Resources/jshrink/output/preserve-regex.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/jshrink/output/preserve-regex.js -------------------------------------------------------------------------------- /tests/Resources/jshrink/output/preserve-strings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/jshrink/output/preserve-strings.js -------------------------------------------------------------------------------- /tests/Resources/jshrink/output/preserve_license.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/jshrink/output/preserve_license.js -------------------------------------------------------------------------------- /tests/Resources/jshrink/output/remove_multiline_comments.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/jshrink/output/remove_multiline_comments.js -------------------------------------------------------------------------------- /tests/Resources/jshrink/output/remove_oneline_comments.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/jshrink/output/remove_oneline_comments.js -------------------------------------------------------------------------------- /tests/Resources/jshrink/output/strictmode.js: -------------------------------------------------------------------------------- 1 | "use strict";var foo=22; -------------------------------------------------------------------------------- /tests/Resources/jshrink/output/utf_chars.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/jshrink/output/utf_chars.js -------------------------------------------------------------------------------- /tests/Resources/minify/input/144.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/minify/input/144.js -------------------------------------------------------------------------------- /tests/Resources/minify/input/condcomm.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/minify/input/condcomm.js -------------------------------------------------------------------------------- /tests/Resources/minify/input/issue132.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/minify/input/issue132.js -------------------------------------------------------------------------------- /tests/Resources/minify/output/144.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/minify/output/144.js -------------------------------------------------------------------------------- /tests/Resources/minify/output/condcomm.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/minify/output/condcomm.js -------------------------------------------------------------------------------- /tests/Resources/minify/output/issue132.js: -------------------------------------------------------------------------------- 1 | ts.addParser({id:"currency",is:function(s){return /^[£$€?.]/.test(s);},}); -------------------------------------------------------------------------------- /tests/Resources/requests/input/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/Resources/requests/input/ifreturn.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/requests/input/ifreturn.js -------------------------------------------------------------------------------- /tests/Resources/requests/input/whitespace.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/requests/input/whitespace.js -------------------------------------------------------------------------------- /tests/Resources/requests/output/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/Resources/requests/output/ifreturn.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/requests/output/ifreturn.js -------------------------------------------------------------------------------- /tests/Resources/requests/output/whitespace.js: -------------------------------------------------------------------------------- 1 | function id(a){return a;} -------------------------------------------------------------------------------- /tests/Resources/uglify/README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/README -------------------------------------------------------------------------------- /tests/Resources/uglify/input/array1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/input/array1.js -------------------------------------------------------------------------------- /tests/Resources/uglify/input/array2.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/input/array2.js -------------------------------------------------------------------------------- /tests/Resources/uglify/input/array3.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/input/array3.js -------------------------------------------------------------------------------- /tests/Resources/uglify/input/array4.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/input/array4.js -------------------------------------------------------------------------------- /tests/Resources/uglify/input/assignment.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/input/assignment.js -------------------------------------------------------------------------------- /tests/Resources/uglify/input/concatstring.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/input/concatstring.js -------------------------------------------------------------------------------- /tests/Resources/uglify/input/empty-blocks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/input/empty-blocks.js -------------------------------------------------------------------------------- /tests/Resources/uglify/input/forstatement.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/input/forstatement.js -------------------------------------------------------------------------------- /tests/Resources/uglify/input/if.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/input/if.js -------------------------------------------------------------------------------- /tests/Resources/uglify/input/ifreturn2.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/input/ifreturn2.js -------------------------------------------------------------------------------- /tests/Resources/uglify/input/null_string.js: -------------------------------------------------------------------------------- 1 | var nullString = "\0" -------------------------------------------------------------------------------- /tests/Resources/uglify/input/strict-equals.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/input/strict-equals.js -------------------------------------------------------------------------------- /tests/Resources/uglify/input/var.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/input/var.js -------------------------------------------------------------------------------- /tests/Resources/uglify/input/with.js: -------------------------------------------------------------------------------- 1 | with({}) { 2 | }; 3 | -------------------------------------------------------------------------------- /tests/Resources/uglify/output/array1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/output/array1.js -------------------------------------------------------------------------------- /tests/Resources/uglify/output/array2.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/output/array2.js -------------------------------------------------------------------------------- /tests/Resources/uglify/output/array3.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/output/array3.js -------------------------------------------------------------------------------- /tests/Resources/uglify/output/array4.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/output/array4.js -------------------------------------------------------------------------------- /tests/Resources/uglify/output/assignment.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/output/assignment.js -------------------------------------------------------------------------------- /tests/Resources/uglify/output/concatstring.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/output/concatstring.js -------------------------------------------------------------------------------- /tests/Resources/uglify/output/empty-blocks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/output/empty-blocks.js -------------------------------------------------------------------------------- /tests/Resources/uglify/output/forstatement.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/output/forstatement.js -------------------------------------------------------------------------------- /tests/Resources/uglify/output/if.js: -------------------------------------------------------------------------------- 1 | var a=1;if(a==1){a=2;}else{a=17;} -------------------------------------------------------------------------------- /tests/Resources/uglify/output/ifreturn2.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/output/ifreturn2.js -------------------------------------------------------------------------------- /tests/Resources/uglify/output/null_string.js: -------------------------------------------------------------------------------- 1 | var nullString="\0" -------------------------------------------------------------------------------- /tests/Resources/uglify/output/strict-equals.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/Resources/uglify/output/strict-equals.js -------------------------------------------------------------------------------- /tests/Resources/uglify/output/var.js: -------------------------------------------------------------------------------- 1 | var a=1;var b=2; -------------------------------------------------------------------------------- /tests/Resources/uglify/output/with.js: -------------------------------------------------------------------------------- 1 | with({}){}; -------------------------------------------------------------------------------- /tests/bootstrap.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/bootstrap.php -------------------------------------------------------------------------------- /tests/runTests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tedivm/JShrink/HEAD/tests/runTests.sh --------------------------------------------------------------------------------