223 Commits

Author SHA1 Message Date
Rozinko Roman
2dfe767019 add replace 'white' and 'black' to '#fff' and '#000' 2018-11-27 00:04:46 +01:00
Puskás Zsolt
ee023207c5 preserve important comments 2018-11-27 00:04:46 +01:00
igll
0236af7448
Update Minify.php
if (array_key_exists($i, $positions) == false) {
instead of 
if (!isset($positions[$i])) 

in order to avoid "Notice undefined offset"
2018-05-29 09:11:40 +02:00
Kevin Pancake
6d922d0e2a Pass settings to (recursively) referenced files 2018-05-04 08:54:28 +02:00
Matthias Mullie
ab7fea80ce Don't iterate over positions that have already been unset
Fixes #245
2018-04-18 10:50:35 +02:00
Mert Yazıcıoğlu
2e54f8426b Add support for unicode regular expression flag
The regular expression for matching valid JS regular expressions seems to be missing the `u` flag, which is a valid flag to treat a pattern as a sequence of unicode code points.

See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Advanced_searching_with_flags_2
2018-04-04 10:32:45 +02:00
Matthias Mullie
04a37f5434 Make sure $positions & $matches are in sync
Fixes #238
2018-04-04 10:31:39 +02:00
Matthias Mullie
81d3a806b2 Don't leave behind trailing semicolons when moving imports to top
Fixes #240
2018-04-04 10:16:18 +02:00
Matthias Mullie
473896bf31 Allow whitespace between regex & some of the things that can follow it
Fixes #242
2018-04-04 10:06:41 +02:00
Matthias Mullie
121cd3b6eb Some more whitespace stripping
Fixes #232
2018-02-02 12:28:07 +01:00
Matthias Mullie
ba5c2293c1 Ensure minifier always returns a string
Fixes #220
2018-02-02 11:49:22 +01:00
Matthias Mullie
57b38195be Don't import specific files
Fixes #224
2018-02-02 11:21:49 +01:00
Matthias Mullie
4ca8d1e34c Improve regex detection after )
Meanwhile also improves extraction by capturing the exact
regex offset, instead of trying to find it again ourselves.
This will not only be slightly faster, but more accurate
as well, since lookahead/-behind things may be missing
from the match & we could end up finding duplicates that
do not satisfy those assertions...

Fixes #231
2018-02-02 11:03:25 +01:00
Matthias Mullie
1e55fe09e7 Regexes can't span multiple lines
Fixes #234
2018-02-02 09:26:19 +01:00
Matthias Mullie
adfa7ebcd9 Don't go fixing invalid flex attributes
Fixes #235
2018-02-02 08:17:39 +01:00
Matthias Mullie
cb1450437c Improve & optimize regex detection
Fixes #229
2018-01-08 10:47:52 +01:00
Matthias Mullie
023c6bfb19 Ignore unescaped / inside []
Fixes #221
2018-01-01 15:27:09 +01:00
Matthias Mullie
a85f804092 Regex can follow +,-,*,/
Fixes #221
2018-01-01 15:25:15 +01:00
Matthias Mullie
d39132a3be Fix PHP<7 segfault 2017-12-06 13:42:29 +01:00
Matthias Mullie
a370e29897 Add test case for semicolon after do-while 2017-12-06 12:28:58 +01:00
Matthias Mullie
a2024cc406 Strip whitespace after in some cases 2017-12-06 12:21:49 +01:00
Matthias Mullie
f231fbc701 Improve regex detection
The regex to detect regexes is better now, and as a result
I can now take out a bunch of workarounds that were needed
with the earlier flawed regex detection.

Fixes #218
2017-12-06 12:21:18 +01:00
Matthias Mullie
86e4a4e4e7 Leave calc expressions alone when stripping units off of 0
Fixed #217
2017-11-24 13:51:16 +01:00
Matthias Mullie
82970e60e7 Remove pointless var 2017-11-18 22:58:37 +01:00
Matthias Mullie
16563a8bc7 Improve detection of @imports to move to top
Fixes #215
2017-11-17 18:52:43 +01:00
Matthias Mullie
4a1b464c45 Don't strip ; after empty while loops
Fixes #211
2017-11-17 17:14:13 +01:00
Matthias Mullie
a9956302b3 Properly strip consecutive empty CSS blocks
Fixes #210
2017-11-17 16:25:17 +01:00
Matthias Mullie
21084eb9e6 Fix PHP5.3 compatibility
Yet another ugly workaround...
Fixes #208
2017-10-25 13:13:12 +02:00
Matthias Mullie
5d079794e0 Fix PHP5.3 compatibility
Another ugly workaround...
Fixes #208
2017-10-25 11:45:44 +02:00
Matthias Mullie
73d5304c5c Fix PHP5.3 compatibility
Ah, those ugly workarounds...
Fixes #208
2017-10-25 09:57:06 +02:00
Matthias Mullie
f091f3b9e6 Regexes can also start in array
Fixes #209
2017-10-25 08:48:54 +02:00
Matthias Mullie
30c874c8a7 Fix PHP5.3-incompatible construct
Fixes #208
2017-10-25 08:48:54 +02:00
gkrafsig
7106660a91 fixing invalid [optional] text 2017-10-17 09:00:46 +02:00
gkrafsig
7f79958765 Fixing phpdocumentor errors 2017-10-17 09:00:46 +02:00
Matthias Mullie
abfc7c3bd0 Improve regex detection
Fixed #204
2017-10-13 17:44:30 +02:00
Matthias Mullie
2ae8e76178 Remove a few things for regex matches
I misread - these can not follow a regex
2017-10-13 17:44:30 +02:00
Matthias Mullie
134b25a63d Don't confuse comments with regex
Fixed #199
2017-09-15 15:02:11 +02:00
Matthias Mullie
678725d450 Regexes can follow !
Fixes #197
2017-09-14 14:37:17 +02:00
Matthias Mullie
e13f94adf0 Require that a regex has some content
Otherwise, the `//` that start a comment could be misread
as regexes.

Fixes #196
2017-09-13 18:51:16 +02:00
Matthias Mullie
ff4ec668b3 Improve regex detection
Fixes #195
2017-09-13 15:17:29 +02:00
Matthias Mullie
6e9d575596 Allow = inside regexes
A fix for something else introduced a potential issue that when
regular expressions have a `=` inside them, they wouldn't be
recognized as such.

This should make the regex detection more robust by checking
the surrounding code, instead of limiting what can be inside.
2017-09-13 09:31:06 +02:00
Matthias Mullie
69f3d7ba83 Quote url() uri's with quotes in them
Fixes #193
2017-09-11 17:30:59 +02:00
Matthias Mullie
0c62644146 Be stricter when removing whitespace around + & - in selectors
Fixes #191
2017-09-07 19:21:39 +02:00
Matthias Mullie
6754968497 Improve regex detection
Fixes #186
2017-09-07 18:21:26 +02:00
Matthias Mullie
1443646268 Fix newline trimming around tilde
Fixed #185
2017-07-06 14:26:44 +02:00
Matthias Mullie
0bb72d8eba Fix docs 2017-07-06 13:48:45 +02:00
Matthias Mullie
563651cf1b Fix regex detection when content is only backslashes
Fixes #182
2017-06-13 17:45:38 +02:00
Matthias Mullie
04fe99d70d Don't shorten and when used as object property
Fixes #167
2017-03-16 17:36:28 +01:00
Matthias Mullie
52c1f463b7 Specify delimiter 2017-03-16 17:15:25 +01:00
Matthias Mullie
d94a222089 Remove test var 2017-03-14 12:01:33 +01:00