1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
3 NAMEBASE= python-rjsmin
5 KEYWORDS= python devel textproc
6 VARIANTS= py27 py35 py36
7 SDESC[py35]= Javascript Minifier (PY 35)
8 SDESC[py36]= Javascript Minifier (PY 36)
9 SDESC[py27]= Javascript Minifier (PY 27)
10 HOMEPAGE= http://opensource.perlig.de/rjsmin/
11 CONTACT= Python_Automaton[python@ironwolf.systems]
14 SITES[main]= PYPI/r/rjsmin
15 DISTFILE[1]= rjsmin-1.0.12.tar.gz:main
21 OPTIONS_AVAILABLE= PY27 PY35 PY36
22 OPTIONS_STANDARD= none
23 VOPTS[py35]= PY27=OFF PY35=ON PY36=OFF
24 VOPTS[py36]= PY27=OFF PY35=OFF PY36=ON
25 VOPTS[py27]= PY27=ON PY35=OFF PY36=OFF
27 DISTNAME= rjsmin-1.0.12
29 LICENSE= APACHE20:single
31 LICENSE_FILE= APACHE20:{{WRKSRC}}/LICENSE
35 [PY35].USES_ON= python:py35
37 [PY36].USES_ON= python:py36
39 [PY27].USES_ON= python:py27
41 [FILE:2705:descriptions/desc.single]
46 rJSmin is a javascript minifier written in python.
48 The minifier is based on the semantics of `jsmin.c by Douglas Crockford`_\.
50 The module is a re-implementation aiming for speed, so it can be used at
51 runtime (rather than during a preprocessing step). Usually it produces the
52 same results as the original ``jsmin.c``. It differs in the following ways:
54 - there is no error detection: unterminated string, regex and comment
55 literals are treated as regular javascript code and minified as such.
56 - Control characters inside string and regex literals are left untouched; they
57 are not converted to spaces (nor to \n)
58 - Newline characters are not allowed inside string and regex literals, except
59 for line continuations in string literals (ECMA-5).
60 - "return /regex/" is recognized correctly.
61 - Line terminators after regex literals are handled more sensibly
62 - "+ +" and "- -" sequences are not collapsed to '++' or '--'
63 - Newlines before ! operators are removed more sensibly
64 - Comments starting with an exclamation mark (``!``) can be kept optionally
65 - rJSmin does not handle streams, but only complete strings. (However, the
66 module provides a "streamy" interface).
68 Since most parts of the logic are handled by the regex engine it's way faster
69 than the original python port of ``jsmin.c`` by Baruch Even. The speed factor
70 varies between about 6 and 55 depending on input and python version (it gets
71 faster the more compressed the input already is). Compared to the
72 speed-refactored python port by Dave St.Germain the performance gain is less
73 dramatic but still between 3 and 50 (for huge inputs)). See the
74 docs/BENCHMARKS file for details.
76 rjsmin.c is a reimplementation of rjsmin.py in C and speeds it up even more.
78 Both python 2 (>=2.4) and python 3 are supported.
80 .. _jsmin.c by Douglas Crockford: http://www.crockford.com/javascript/jsmin.c
87 André Malo or his licensors, as applicable.
89 The whole package (except for the files in the bench/ directory) is
90 distributed under the Apache License Version 2.0. You'll find a copy in the
91 root directory of the distribution or online at:
92 <http://www.apache.org/licenses/LICENSE-2.0>.
98 No bugs, of course. ;-)
99 But if you've found one or have an idea how to improve rjsmin, feel free
100 to send a pull request on `github <https://github.com/ndparker/rjsmin>`_
101 or send a mail to <rjsmin-bugs@perlig.de>.
107 André "nd" Malo <nd perlig.de>
111 If God intended people to be naked, they would be born that way.
114 .. vim:tw=72 syntax=rest
118 dd9591aa73500b08b7db24367f8d32c6470021f39d5ab4e50c7c02e4401386f1 446822 rjsmin-1.0.12.tar.gz