adjustments for return\n/regex/ instances (where \n needs to stay)
This commit is contained in:
parent
04fe02df90
commit
844bd6f24b
|
@ -142,24 +142,25 @@ which looks like this:
|
||||||
r'\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:'
|
r'\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:'
|
||||||
r'[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|(?<=[\00'
|
r'[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|(?<=[\00'
|
||||||
r'0-#%-,./:-@\[-^`{-~-]return)(?:[\000-\011\013\014\016-\040]|(?'
|
r'0-#%-,./:-@\[-^`{-~-]return)(?:[\000-\011\013\014\016-\040]|(?'
|
||||||
r':/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*((?:/(?![\r\n/*])[^/\\\[\r\n'
|
r':/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:((?:(?://[^\r\n]*)?[\r\n]'
|
||||||
r']*(?:(?:\\[^\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^\\\]\r\n]*)*'
|
r'))(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*'
|
||||||
r'\]))[^/\\\[\r\n]*)*/))((?:[\000-\011\013\014\016-\040]|(?:/\*['
|
r'\*+)*/))*)*((?:/(?![\r\n/*])[^/\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\['
|
||||||
r'^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:['
|
r'[^\\\]\r\n]*(?:\\[^\r\n][^\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*/))(('
|
||||||
|
r'?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)'
|
||||||
|
r'*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\04'
|
||||||
|
r'0]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;'
|
||||||
|
r'=?\]|}-]))?|(?<=[^\000-!#%&(*,./:-@\[\\^`{|~])(?:[\000-\011\01'
|
||||||
|
r'3\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:((?:(?:'
|
||||||
|
r'//[^\r\n]*)?[\r\n]))(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]'
|
||||||
|
r'*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040"#%-\047)*,./:-@\\-^'
|
||||||
|
r'`|-~])|(?<=[^\000-#%-,./:-@\[-^`{-~-])((?:[\000-\011\013\014\0'
|
||||||
|
r'16-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=[^\000-#%-,./'
|
||||||
|
r':-@\[-^`{-~-])|(?<=\+)((?:[\000-\011\013\014\016-\040]|(?:/\*['
|
||||||
|
r'^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=\+)|(?<=-)((?:[\000-\011\013'
|
||||||
|
r'\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=-)|(?:['
|
||||||
r'\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)'
|
r'\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)'
|
||||||
r')*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|(?<=[^\000-!#%&(*,./:-@\['
|
r')+|(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]'
|
||||||
r'\\^`{|~])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*'
|
r'|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+'
|
||||||
r'][^*]*\*+)*/))*(?:((?:(?://[^\r\n]*)?[\r\n]))(?:[\000-\011\013'
|
|
||||||
r'\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000'
|
|
||||||
r'-\040"#%-\047)*,./:-@\\-^`|-~])|(?<=[^\000-#%-,./:-@\[-^`{-~-]'
|
|
||||||
r')((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*'
|
|
||||||
r'\*+)*/)))+(?=[^\000-#%-,./:-@\[-^`{-~-])|(?<=\+)((?:[\000-\011'
|
|
||||||
r'\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=\+)'
|
|
||||||
r'|(?<=-)((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*]'
|
|
||||||
r'[^*]*\*+)*/)))+(?=-)|(?:[\000-\011\013\014\016-\040]|(?:/\*[^*'
|
|
||||||
r']*\*+(?:[^/*][^*]*\*+)*/))+|(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\0'
|
|
||||||
r'00-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*'
|
|
||||||
r')+'
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
3
foo.js
3
foo.js
|
@ -1,2 +1,5 @@
|
||||||
x = /abc/ /*! lalala */
|
x = /abc/ /*! lalala */
|
||||||
if (1) console.log(x)
|
if (1) console.log(x)
|
||||||
|
|
||||||
|
return /*!lalala */
|
||||||
|
/blahr/
|
||||||
|
|
165
rjsmin.py
165
rjsmin.py
|
@ -200,16 +200,16 @@ def _make_jsmin(python_only=False):
|
||||||
r'(%(space)s*(?:%(newline)s%(space)s*)+' # 3
|
r'(%(space)s*(?:%(newline)s%(space)s*)+' # 3
|
||||||
r'(?=%(post_regex_off)s))?'
|
r'(?=%(post_regex_off)s))?'
|
||||||
r'|(?<=%(preregex2)s)'
|
r'|(?<=%(preregex2)s)'
|
||||||
r'%(space)s*'
|
r'%(space)s*(?:(%(newline)s)%(space)s*)*' # 4
|
||||||
r'(%(regex)s)' # 4
|
r'(%(regex)s)' # 5
|
||||||
r'(%(space)s*(?:%(newline)s%(space)s*)+' # 5
|
r'(%(space)s*(?:%(newline)s%(space)s*)+' # 6
|
||||||
r'(?=%(post_regex_off)s))?'
|
r'(?=%(post_regex_off)s))?'
|
||||||
r'|(?<=%(id_literal_close)s)'
|
r'|(?<=%(id_literal_close)s)'
|
||||||
r'%(space)s*(?:(%(newline)s)%(space)s*)+' # 6
|
r'%(space)s*(?:(%(newline)s)%(space)s*)+' # 7
|
||||||
r'(?=%(id_literal_open)s)'
|
r'(?=%(id_literal_open)s)'
|
||||||
r'|(?<=%(id_literal)s)(%(space)s)+(?=%(id_literal)s)' # 7
|
r'|(?<=%(id_literal)s)(%(space)s)+(?=%(id_literal)s)' # 8
|
||||||
r'|(?<=\+)(%(space)s)+(?=\+)' # 8
|
r'|(?<=\+)(%(space)s)+(?=\+)' # 9
|
||||||
r'|(?<=-)(%(space)s)+(?=-)' # 9
|
r'|(?<=-)(%(space)s)+(?=-)' # 10
|
||||||
r'|%(space)s+'
|
r'|%(space)s+'
|
||||||
r'|(?:%(newline)s%(space)s*)+'
|
r'|(?:%(newline)s%(space)s*)+'
|
||||||
) % locals()).sub
|
) % locals()).sub
|
||||||
|
@ -229,13 +229,15 @@ def _make_jsmin(python_only=False):
|
||||||
if groups[3]:
|
if groups[3]:
|
||||||
return groups[2] + '\n'
|
return groups[2] + '\n'
|
||||||
return groups[2]
|
return groups[2]
|
||||||
elif groups[4]:
|
elif groups[5]:
|
||||||
if groups[5]:
|
return "%s%s%s" % (
|
||||||
return groups[4] + '\n'
|
groups[4] and '\n' or '',
|
||||||
return groups[4]
|
groups[5],
|
||||||
elif groups[6]:
|
groups[6] and '\n' or '',
|
||||||
|
)
|
||||||
|
elif groups[7]:
|
||||||
return '\n'
|
return '\n'
|
||||||
elif groups[7] or groups[8] or groups[9]:
|
elif groups[8] or groups[9] or groups[10]:
|
||||||
return ' '
|
return ' '
|
||||||
else:
|
else:
|
||||||
return ''
|
return ''
|
||||||
|
@ -251,18 +253,18 @@ def _make_jsmin(python_only=False):
|
||||||
r'(%(space)s*(?:%(newline)s%(space)s*)+' # 4
|
r'(%(space)s*(?:%(newline)s%(space)s*)+' # 4
|
||||||
r'(?=%(post_regex_off)s))?'
|
r'(?=%(post_regex_off)s))?'
|
||||||
r'|(?<=%(preregex2)s)'
|
r'|(?<=%(preregex2)s)'
|
||||||
r'(%(space)s*)' # 5
|
r'(%(space)s*(?:(%(newline)s)%(space)s*)*)' # 5, 6
|
||||||
r'(%(regex)s)' # 6
|
r'(%(regex)s)' # 7
|
||||||
r'(%(space)s*(?:%(newline)s%(space)s*)+' # 7
|
r'(%(space)s*(?:%(newline)s%(space)s*)+' # 8
|
||||||
r'(?=%(post_regex_off)s))?'
|
r'(?=%(post_regex_off)s))?'
|
||||||
r'|(?<=%(id_literal_close)s)'
|
r'|(?<=%(id_literal_close)s)'
|
||||||
r'(%(space)s*(?:%(newline)s%(space)s*)+)' # 8
|
r'(%(space)s*(?:%(newline)s%(space)s*)+)' # 9
|
||||||
r'(?=%(id_literal_open)s)'
|
r'(?=%(id_literal_open)s)'
|
||||||
r'|(?<=%(id_literal)s)(%(space)s+)(?=%(id_literal)s)' # 9
|
r'|(?<=%(id_literal)s)(%(space)s+)(?=%(id_literal)s)' # 10
|
||||||
r'|(?<=\+)(%(space)s+)(?=\+)' # 10
|
r'|(?<=\+)(%(space)s+)(?=\+)' # 11
|
||||||
r'|(?<=-)(%(space)s+)(?=-)' # 11
|
r'|(?<=-)(%(space)s+)(?=-)' # 12
|
||||||
r'|(%(space)s+)' # 12
|
r'|(%(space)s+)' # 13
|
||||||
r'|((?:%(newline)s%(space)s*)+)' # 13
|
r'|((?:%(newline)s%(space)s*)+)' # 14
|
||||||
) % locals()).sub
|
) % locals()).sub
|
||||||
|
|
||||||
# print space_sub_banged.__self__.pattern
|
# print space_sub_banged.__self__.pattern
|
||||||
|
@ -291,19 +293,20 @@ def _make_jsmin(python_only=False):
|
||||||
keep(keeper, groups[4] or ''),
|
keep(keeper, groups[4] or ''),
|
||||||
groups[4] and '\n' or '',
|
groups[4] and '\n' or '',
|
||||||
)
|
)
|
||||||
elif groups[6]:
|
elif groups[7]:
|
||||||
return "%s%s%s%s" % (
|
return "%s%s%s%s%s" % (
|
||||||
keep(keeper, groups[5]),
|
keep(keeper, groups[5]),
|
||||||
groups[6],
|
groups[6] and '\n' or '',
|
||||||
keep(keeper, groups[7] or ''),
|
groups[7],
|
||||||
groups[7] and '\n' or '',
|
keep(keeper, groups[8] or ''),
|
||||||
|
groups[8] and '\n' or '',
|
||||||
)
|
)
|
||||||
elif groups[8]:
|
elif groups[9]:
|
||||||
return keep(keeper, groups[8]) + '\n'
|
return keep(keeper, groups[9]) + '\n'
|
||||||
elif groups[9] or groups[10] or groups[11]:
|
elif groups[10] or groups[11] or groups[12]:
|
||||||
return keep(keeper, groups[9] or groups[10] or groups[11]) or ' '
|
return keep(keeper, groups[10] or groups[11] or groups[12]) or ' '
|
||||||
else:
|
else:
|
||||||
return keep(keeper, groups[12] or groups[13])
|
return keep(keeper, groups[13] or groups[14])
|
||||||
|
|
||||||
def jsmin(script, keep_bang_comments=False):
|
def jsmin(script, keep_bang_comments=False):
|
||||||
r"""
|
r"""
|
||||||
|
@ -381,24 +384,25 @@ def jsmin_for_posers(script, keep_bang_comments=False):
|
||||||
r'\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:'
|
r'\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:'
|
||||||
r'[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|(?<=[\00'
|
r'[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|(?<=[\00'
|
||||||
r'0-#%-,./:-@\[-^`{-~-]return)(?:[\000-\011\013\014\016-\040]|(?'
|
r'0-#%-,./:-@\[-^`{-~-]return)(?:[\000-\011\013\014\016-\040]|(?'
|
||||||
r':/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*((?:/(?![\r\n/*])[^/\\\[\r\n'
|
r':/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:((?:(?://[^\r\n]*)?[\r\n]'
|
||||||
r']*(?:(?:\\[^\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^\\\]\r\n]*)*'
|
r'))(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*'
|
||||||
r'\]))[^/\\\[\r\n]*)*/))((?:[\000-\011\013\014\016-\040]|(?:/\*['
|
r'\*+)*/))*)*((?:/(?![\r\n/*])[^/\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\['
|
||||||
r'^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:['
|
r'[^\\\]\r\n]*(?:\\[^\r\n][^\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*/))(('
|
||||||
|
r'?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)'
|
||||||
|
r'*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\04'
|
||||||
|
r'0]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;'
|
||||||
|
r'=?\]|}-]))?|(?<=[^\000-!#%&(*,./:-@\[\\^`{|~])(?:[\000-\011\01'
|
||||||
|
r'3\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:((?:(?:'
|
||||||
|
r'//[^\r\n]*)?[\r\n]))(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]'
|
||||||
|
r'*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040"#%-\047)*,./:-@\\-^'
|
||||||
|
r'`|-~])|(?<=[^\000-#%-,./:-@\[-^`{-~-])((?:[\000-\011\013\014\0'
|
||||||
|
r'16-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=[^\000-#%-,./'
|
||||||
|
r':-@\[-^`{-~-])|(?<=\+)((?:[\000-\011\013\014\016-\040]|(?:/\*['
|
||||||
|
r'^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=\+)|(?<=-)((?:[\000-\011\013'
|
||||||
|
r'\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=-)|(?:['
|
||||||
r'\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)'
|
r'\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)'
|
||||||
r')*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|(?<=[^\000-!#%&(*,./:-@\['
|
r')+|(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]'
|
||||||
r'\\^`{|~])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*'
|
r'|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+'
|
||||||
r'][^*]*\*+)*/))*(?:((?:(?://[^\r\n]*)?[\r\n]))(?:[\000-\011\013'
|
|
||||||
r'\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000'
|
|
||||||
r'-\040"#%-\047)*,./:-@\\-^`|-~])|(?<=[^\000-#%-,./:-@\[-^`{-~-]'
|
|
||||||
r')((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*'
|
|
||||||
r'\*+)*/)))+(?=[^\000-#%-,./:-@\[-^`{-~-])|(?<=\+)((?:[\000-\011'
|
|
||||||
r'\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=\+)'
|
|
||||||
r'|(?<=-)((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*]'
|
|
||||||
r'[^*]*\*+)*/)))+(?=-)|(?:[\000-\011\013\014\016-\040]|(?:/\*[^*'
|
|
||||||
r']*\*+(?:[^/*][^*]*\*+)*/))+|(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\0'
|
|
||||||
r'00-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*'
|
|
||||||
r')+'
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def subber(match):
|
def subber(match):
|
||||||
|
@ -409,12 +413,15 @@ def jsmin_for_posers(script, keep_bang_comments=False):
|
||||||
groups[1] or
|
groups[1] or
|
||||||
(groups[3] and (groups[2] + '\n')) or
|
(groups[3] and (groups[2] + '\n')) or
|
||||||
groups[2] or
|
groups[2] or
|
||||||
(groups[5] and (groups[4] + '\n')) or
|
(groups[5] and "%s%s%s" % (
|
||||||
groups[4] or
|
groups[4] and '\n' or '',
|
||||||
(groups[6] and '\n') or
|
groups[5],
|
||||||
(groups[7] and ' ') or
|
groups[6] and '\n' or '',
|
||||||
|
)) or
|
||||||
|
(groups[7] and '\n') or
|
||||||
(groups[8] and ' ') or
|
(groups[8] and ' ') or
|
||||||
(groups[9] and ' ') or
|
(groups[9] and ' ') or
|
||||||
|
(groups[10] and ' ') or
|
||||||
''
|
''
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
|
@ -431,24 +438,25 @@ def jsmin_for_posers(script, keep_bang_comments=False):
|
||||||
r'\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+('
|
r'\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+('
|
||||||
r'?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|(?<=['
|
r'?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|(?<=['
|
||||||
r'\000-#%-,./:-@\[-^`{-~-]return)((?:[\000-\011\013\014\016-\040'
|
r'\000-#%-,./:-@\[-^`{-~-]return)((?:[\000-\011\013\014\016-\040'
|
||||||
r']|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)((?:/(?![\r\n/*])[^/'
|
r']|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:((?:(?://[^\r\n]*)?['
|
||||||
r'\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^\\\]'
|
r'\r\n]))(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*]['
|
||||||
r'\r\n]*)*\]))[^/\\\[\r\n]*)*/))((?:[\000-\011\013\014\016-\040]'
|
r'^*]*\*+)*/))*)*)((?:/(?![\r\n/*])[^/\\\[\r\n]*(?:(?:\\[^\r\n]|'
|
||||||
r'|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r'
|
r'(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*'
|
||||||
r'\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]'
|
r'/))((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]'
|
||||||
r'*\*+)*/))*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|(?<=[^\000-!#%&(*'
|
r'*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\01'
|
||||||
r',./:-@\[\\^`{|~])((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*'
|
r'6-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)'
|
||||||
r'\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-'
|
r'+,.:;=?\]|}-]))?|(?<=[^\000-!#%&(*,./:-@\[\\^`{|~])((?:[\000-'
|
||||||
r'\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+)'
|
r'\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:'
|
||||||
r'(?=[^\000-\040"#%-\047)*,./:-@\\-^`|-~])|(?<=[^\000-#%-,./:-@'
|
r'(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/'
|
||||||
r'\[-^`{-~-])((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:['
|
r'\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+)(?=[^\000-\040"#%-\047)*,./'
|
||||||
r'^/*][^*]*\*+)*/))+)(?=[^\000-#%-,./:-@\[-^`{-~-])|(?<=\+)((?:['
|
r':-@\\-^`|-~])|(?<=[^\000-#%-,./:-@\[-^`{-~-])((?:[\000-\011\01'
|
||||||
r'\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)'
|
r'3\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+)(?=[^\000'
|
||||||
r')+)(?=\+)|(?<=-)((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*'
|
r'-#%-,./:-@\[-^`{-~-])|(?<=\+)((?:[\000-\011\013\014\016-\040]|'
|
||||||
r'+(?:[^/*][^*]*\*+)*/))+)(?=-)|((?:[\000-\011\013\014\016-\040]'
|
r'(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+)(?=\+)|(?<=-)((?:[\000-\0'
|
||||||
r'|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+)|((?:(?:(?://[^\r\n]*)?['
|
r'11\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+)(?=-'
|
||||||
r'\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^'
|
r')|((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*'
|
||||||
r'*]*\*+)*/))*)+)'
|
r'\*+)*/))+)|((?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014'
|
||||||
|
r'\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+)'
|
||||||
)
|
)
|
||||||
|
|
||||||
keep = _re.compile((
|
keep = _re.compile((
|
||||||
|
@ -470,17 +478,18 @@ def jsmin_for_posers(script, keep_bang_comments=False):
|
||||||
keep(keeper, groups[4] or ''),
|
keep(keeper, groups[4] or ''),
|
||||||
groups[4] and '\n' or '',
|
groups[4] and '\n' or '',
|
||||||
)) or
|
)) or
|
||||||
(groups[6] and "%s%s%s%s" % (
|
(groups[7] and "%s%s%s%s%s" % (
|
||||||
keep(keeper, groups[5]),
|
keep(keeper, groups[5]),
|
||||||
groups[6],
|
groups[6] and '\n' or '',
|
||||||
keep(keeper, groups[7] or ''),
|
groups[7],
|
||||||
groups[7] and '\n' or '',
|
keep(keeper, groups[8] or ''),
|
||||||
|
groups[8] and '\n' or '',
|
||||||
)) or
|
)) or
|
||||||
(groups[8] and keep(keeper, groups[8] + '\n')) or
|
(groups[9] and keep(keeper, groups[9] + '\n')) or
|
||||||
(groups[9] and keep(keeper, groups[9]) or ' ') or
|
|
||||||
(groups[10] and keep(keeper, groups[10]) or ' ') or
|
(groups[10] and keep(keeper, groups[10]) or ' ') or
|
||||||
(groups[11] and keep(keeper, groups[11]) or ' ') or
|
(groups[11] and keep(keeper, groups[11]) or ' ') or
|
||||||
keep(keeper, groups[12] or groups[13])
|
(groups[12] and keep(keeper, groups[12]) or ' ') or
|
||||||
|
keep(keeper, groups[13] or groups[14])
|
||||||
)
|
)
|
||||||
|
|
||||||
return _re.sub(rex, subber, '\n%s\n' % script).strip()
|
return _re.sub(rex, subber, '\n%s\n' % script).strip()
|
||||||
|
|
Loading…
Reference in New Issue