Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(567)

Side by Side Diff: tracing/third_party/tvcm/third_party/rjsmin/docs/DESCRIPTION

Issue 1376953005: Move tracing/third_party/tvcm -> third_party/py_vulcanize. (Closed) Base URL: git@github.com:catapult-project/catapult.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 =====================
2 Javascript Minifier
3 =====================
4
5 rJSmin is a javascript minifier written in python.
6
7 The minifier is based on the semantics of `jsmin.c by Douglas Crockford`_\.
8
9 The module is a re-implementation aiming for speed, so it can be used at
10 runtime (rather than during a preprocessing step). Usually it produces the
11 same results as the original ``jsmin.c``. It differs in the following ways:
12
13 - there is no error detection: unterminated string, regex and comment
14 literals are treated as regular javascript code and minified as such.
15 - Control characters inside string and regex literals are left untouched; they
16 are not converted to spaces (nor to \n)
17 - Newline characters are not allowed inside string and regex literals, except
18 for line continuations in string literals (ECMA-5).
19 - "return /regex/" is recognized correctly.
20 - "+ +" and "- -" sequences are not collapsed to '++' or '--'
21 - Newlines before ! operators are removed more sensibly
22 - Comments starting with an exclamation mark (``!``) can be kept optionally
23 - rJSmin does not handle streams, but only complete strings. (However, the
24 module provides a "streamy" interface).
25
26 Since most parts of the logic are handled by the regex engine it's way faster
27 than the original python port of ``jsmin.c`` by Baruch Even. The speed factor
28 varies between about 6 and 55 depending on input and python version (it gets
29 faster the more compressed the input already is). Compared to the
30 speed-refactored python port by Dave St.Germain the performance gain is less
31 dramatic but still between 3 and 50 (for huge inputs)). See the
32 docs/BENCHMARKS file for details.
33
34 rjsmin.c is a reimplementation of rjsmin.py in C and speeds it up even more.
35
36 Both python 2 (>=2.4) and python 3 are supported.
37
38 .. _jsmin.c by Douglas Crockford: http://www.crockford.com/javascript/jsmin.c
39
40
41 Copyright and License
42 ~~~~~~~~~~~~~~~~~~~~~
43
44 Copyright 2011 - 2014
45 André Malo or his licensors, as applicable.
46
47 The whole package (except for the files in the bench/ directory) is
48 distributed under the Apache License Version 2.0. You'll find a copy in the
49 root directory of the distribution or online at:
50 <http://www.apache.org/licenses/LICENSE-2.0>.
51
52
53 Bugs
54 ~~~~
55
56 No bugs, of course. ;-)
57 But if you've found one or have an idea how to improve rjsmin, feel free
58 to send a pull request on `github <https://github.com/ndparker/rjsmin>`_
59 or send a mail to <rjsmin-bugs@perlig.de>.
60
61
62 Author Information
63 ~~~~~~~~~~~~~~~~~~
64
65 André "nd" Malo <nd perlig.de>
66 GPG: 0x8103A37E
67
68
69 If God intended people to be naked, they would be born that way.
70 -- Oscar Wilde
71
72 .. vim:tw=72 syntax=rest
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698