Matthias Mullie
c37967744d
Recognize regular expressions after reserved words
...
Fixes issue #59
2015-08-19 16:48:35 +02:00
Matthias Mullie
76cf88faaa
Add test for issue #58
2015-08-19 16:20:20 +02:00
Matthias Mullie
4cf2880e51
Preserve newline immediately after regex
...
Fixes issue #56
2015-08-19 16:05:08 +02:00
Matthias Mullie
5497bea3d1
Don't collapse line feeds after "return"
...
return is not guaranteed to be followed by a return value.
It could just be "return", followed by nothing (void return),
not even a semicolon, just line feed (ASI)
Whatever is next could, for example, be another operator.
We may just need ASI to kick in there, so keep the line feed
after return.
Fixes issue #54
1.3.27
2015-06-29 17:51:16 +02:00
Matthias Mullie
894928f067
Add test case for issue #53
2015-06-29 17:51:00 +02:00
Matthias Mullie
f1005c6918
Link to issue explaining how to use without composer
...
Fixes #48
2015-06-02 13:27:21 +02:00
Matthias Mullie
15e564ff49
Fix relative target path tests
1.3.26
2015-05-13 18:03:46 +02:00
Matthias Mullie
7d68b7da3b
Add tests for multibyte char paths
...
Meanwhile also made it possible to stub a path in the tests, and
stop writing out the minifier result.
2015-05-13 17:43:25 +02:00
Matthias Mullie
49a2aca294
Allow minified data to be written to cache
1.3.25
2015-05-05 16:43:08 +02:00
Matthias Mullie
90837a6886
Don't replace while
if it's part of a do-while
...
Fixes issue #50
2015-05-05 16:27:10 +02:00
Matthias Mullie
e26263e566
Add test for issue #49
2015-05-05 14:52:16 +02:00
Matthias Mullie
30a459229f
Add gzip method
...
Fixed #47
1.3.24
2015-04-07 15:47:36 +02:00
Matthias Mullie
2a70744313
Shorten while(true) to for(;;)
2015-04-07 15:35:03 +02:00
Matthias Mullie
ecd1a04d88
Allow for-loops with empty bodies
...
Fixed #42
2015-04-07 15:26:37 +02:00
Matthias Mullie
e15f77b7f6
Don't convert standalone arrays
...
"return" looks like it could be a variable of which ['x']
is a key. I've improved the code to also check for keywords.
If whatever preceeds it is one of the keywords, don't convert.
Fixes issue #44
1.3.23
2015-03-12 16:11:36 +01:00
Matthias Mullie
d7e23020ec
Merge pull request #46 from vladimmi/fixes
...
Removed huge regex and replaced with strtr call
2015-03-12 15:50:03 +01:00
vladimmi
500c487543
Removed huge regex and replaced with strtr call
2015-03-12 17:24:31 +03:00
Matthias Mullie
74a3ffd65d
Empty strings should be extracted after all
...
The extraction routine needs to skip that match.
However, it doesn't need a placeholder value.
1.3.22
2015-03-10 10:10:43 +01:00
Matthias Mullie
d8f9129d11
Don't bother extracting empty strings
2015-03-10 10:02:19 +01:00
Matthias Mullie
0916262056
Don't override already restored data
...
Fixes issue #43
2015-03-10 10:01:13 +01:00
Matthias Mullie
d34af3d323
php-cs-fixer fixes
2015-03-06 13:17:33 +01:00
Matthias Mullie
86448c21ac
Fix recursive relative path resolving
...
I had to split the action of minification into a separate
method because recursively importing files requires them
to also be minified, and I don't want that one to write
to a file.
1.3.21
2015-03-06 12:01:30 +01:00
Matthias Mullie
0ada1eccaf
Make comments-regex quantifiers posessive
...
Was prone to hit PREG_BACKTRACK_LIMIT_ERROR.
Should also improve performance.
Fixes #42
1.3.20
2015-03-02 17:59:12 +01:00
Matthias Mullie
fc9f8f0c24
Run tests against PHP7
2015-02-27 20:49:54 +01:00
Matthias Mullie
22dbb726a0
Don't strip double semicolons before )
...
Fixes #40
1.3.19
2015-02-26 09:07:21 +01:00
Matthias Mullie
ecab1f8d17
Fix PHP5.3 closure scope issue, part 2
...
I assumed it would be able to access the protected property
because we're in one from the same class, so it know the
business logic.
But we're in a closure which, in PHP5.3, doesn't inherit that
scope (which was exactly what I wanted to solve)
Let's just pass it the array, since I don't want to go making
that property public.
2015-02-26 08:52:59 +01:00
Matthias Mullie
34fe14e224
Fix PHP5.3 closure scope issue
2015-02-26 08:45:22 +01:00
Matthias Mullie
778c63c8eb
Don't replace reserved words by property notation
...
Fixes #41
2015-02-26 08:41:17 +01:00
Matthias Mullie
f50178b9c2
Path resolving code has also been moved to path converter
2015-02-21 13:52:36 +01:00
Matthias Mullie
a0c352781a
Remove path conversion code, re-use other project
...
I've moved the giant relative path conversion code into another project.
That way, this code can be kept cleaner.
2015-02-21 00:27:29 +01:00
Matthias Mullie
5114e7f22c
Add tests for issue #39
...
Fixes issue #39
2015-02-20 17:27:10 +01:00
Matthias Mullie
4aa0c8872b
Everything should extract strings first & goe through move
...
* Let everything go through move(), even if the file is not being
written elsewhere (it also does some cleanup)
* Reorder minify statements: string/comment parsing should come first
* Update test with url() that makes no sense
* Update same test to escape as intended (double-escape would’ve been needed)
2015-02-20 17:24:53 +01:00
Matthias Mullie
227efa7bf8
Don't touch relative paths if no target path is given
...
Fixes issue #38
2015-02-20 17:05:08 +01:00
Matthias Mullie
3528c67597
Get rid of any ; before }
...
Fixes issue #37
2015-02-16 21:12:33 +01:00
Matthias Mullie
0990d3f686
Generate docs
...
Not adding to composer.json because of apigen's
php5.4 requirement
2015-02-16 21:06:04 +01:00
Matthias Mullie
e95b7b98e4
Add keywords
2015-02-16 21:04:50 +01:00
Matthias Mullie
e0ec8d8463
Merge branch 'zebratrois-executables'
2015-02-12 13:52:46 +01:00
Matthias Mullie
09ddc39e45
Cleanup bin scripts
...
* Moved from /src/bin to /bin
* Made code slightly more consistent (punctuation, capitalization, ...)
* Added check for missing argument (path)
2015-02-12 13:49:54 +01:00
Matthias Mullie
3baff6ae08
Merge branch 'executables' of https://github.com/zebratrois/minify into zebratrois-executables
2015-02-12 13:36:32 +01:00
Matthias Mullie
434d0125e6
Fix coding standard violations
...
Thanks, php-cs-fixer
2015-02-12 13:34:50 +01:00
Matthias Mullie
f4e6f41a12
Add missing char in README
2015-02-11 11:53:53 +01:00
zebratrois
6a61364b17
Declaring bin files in composer.json
...
Adds « bin » declaration with the two CLI minification scripts in
composer.json
2015-02-09 18:03:03 +01:00
zebratrois
43cb34c8d6
Adding simple CLI scripts
...
Adds two simple CLI executable scripts to minify JS or CSS files (to be
used for example as File watchers scripts in PHPStorm)
2015-02-09 18:01:51 +01:00
Matthias Mullie
5d1886a2ef
Add a newline between scripts being joined
...
Fixes issue #35
1.3.18
2015-02-06 11:14:06 +01:00
Matthias Mullie
471f982e63
Improve string extraction
...
Test to check if ending string delimiter is escaped was flawed.
1.3.17
2015-02-03 18:27:30 +01:00
Matthias Mullie
e58caad5b7
Collapse multiple semicolons
2015-02-03 17:45:50 +01:00
Matthias Mullie
f54f58d8b1
Don't strip whitespace after ++ or --
1.3.16
2015-02-02 19:28:35 -08:00
Matthias Mullie
3acd3c3a9b
Don't eat \n following a single-line comment
...
It may be needed for ASI to kick in
2015-02-02 16:11:52 -08:00
Matthias Mullie
830efeb192
Fix outdated comments
...
I was one day planning to do this, but dismissed that idea for now.
2015-02-02 16:02:33 -08:00
Matthias Mullie
3e997eb9b3
Don't confuse keywords with keys-of-object
...
Unless they're preceded/followed by whitespace (which is
already stripped around most operators) or ; or {}, a
keyword is likely not a keyword, but a key of an object.
Fixes issue #33
2015-02-02 15:59:07 -08:00