src/cm/scripts/lib/yuicompressor-2.4.2/doc/README
author raph
Thu, 10 Dec 2009 16:36:04 +0100
changeset 46 ceb529ef3ec6
parent 0 40c8f766c9b8
permissions -rw-r--r--
no verbosity while loading fixtures (breaks wsgi)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
==============================================================================
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
YUI Compressor
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
==============================================================================
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
NAME
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
  YUI Compressor - The Yahoo! JavaScript and CSS Compressor
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
SYNOPSIS
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
  Usage: java -jar yuicompressor-x.y.z.jar [options] [input file]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
  Global Options
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
    -h, --help                Displays this information
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
    --type <js|css>           Specifies the type of the input file
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
    --charset <charset>       Read the input file using <charset>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
    --line-break <column>     Insert a line break after the specified column number
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
    -v, --verbose             Display informational messages and warnings
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
    -o <file>                 Place the output into <file>. Defaults to stdout.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
  JavaScript Options
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
    --nomunge                 Minify only, do not obfuscate
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
    --preserve-semi           Preserve all semicolons
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
    --disable-optimizations   Disable all micro optimizations
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
DESCRIPTION
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
  The YUI Compressor is a JavaScript compressor which, in addition to removing
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
  comments and white-spaces, obfuscates local variables using the smallest
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
  possible variable name. This obfuscation is safe, even when using constructs
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
  such as 'eval' or 'with' (although the compression is not optimal is those
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
  cases) Compared to jsmin, the average savings is around 20%.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
  The YUI Compressor is also able to safely compress CSS files. The decision
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
  on which compressor is being used is made on the file extension (js or css)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
GLOBAL OPTIONS
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
  -h, --help
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
      Prints help on how to use the YUI Compressor
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
  --line-break
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
      Some source control tools don't like files containing lines longer than,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
      say 8000 characters. The linebreak option is used in that case to split
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
      long lines after a specific column. It can also be used to make the code
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
      more readable, easier to debug (especially with the MS Script Debugger)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
      Specify 0 to get a line break after each semi-colon in JavaScript, and
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
      after each rule in CSS.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
  --type js|css
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
      The type of compressor (JavaScript or CSS) is chosen based on the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
      extension of the input file name (.js or .css) This option is required
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
      if no input file has been specified. Otherwise, this option is only
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
      required if the input file extension is neither 'js' nor 'css'.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
  --charset character-set
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
      If a supported character set is specified, the YUI Compressor will use it
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
      to read the input file. Otherwise, it will assume that the platform's
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
      default character set is being used. The output file is encoded using
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
      the same character set.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
  -o outfile
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
      Place output in file outfile. If not specified, the YUI Compressor will
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
      default to the standard output, which you can redirect to a file.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
  -v, --verbose
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
      Display informational messages and warnings.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
JAVASCRIPT ONLY OPTIONS
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
  --nomunge
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
      Minify only. Do not obfuscate local symbols.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
  --preserve-semi
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
      Preserve unnecessary semicolons (such as right before a '}') This option
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
      is useful when compressed code has to be run through JSLint (which is the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
      case of YUI for example)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
  --disable-optimizations
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    80
      Disable all the built-in micro optimizations.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    81
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    82
NOTES
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
  + If no input file is specified, it defaults to stdin.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
  + The YUI Compressor requires Java version >= 1.4.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
  + It is possible to prevent a local variable, nested function or function
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
    argument from being obfuscated by using "hints". A hint is a string that
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
    is located at the very beginning of a function body like so:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
    function fn (arg1, arg2, arg3) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
        "arg2:nomunge, localVar:nomunge, nestedFn:nomunge";
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
        ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
        var localVar;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
        ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
        function nestedFn () {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
            ....
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
        ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   104
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   105
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
    The hint itself disappears from the compressed file.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
  + C-style comments starting with /*! are preserved. This is useful with
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
    comments containing copyright/license information. For example:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   110
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
    /*!
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
     * TERMS OF USE - EASING EQUATIONS
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
     * Open source under the BSD License.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
     * Copyright 2001 Robert Penner All rights reserved.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
    becomes:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
    /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
     * TERMS OF USE - EASING EQUATIONS
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
     * Open source under the BSD License.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
     * Copyright 2001 Robert Penner All rights reserved.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   124
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   125
AUTHOR
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   126
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   127
  The YUI Compressor was written and is maintained by:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   128
      Julien Lecomte <jlecomte@yahoo-inc.com>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   129
  The CSS portion is a port of Isaac Schlueter's cssmin utility.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   130
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   131
COPYRIGHT
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   132
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   133
  Copyright (c) 2007-2009, Yahoo! Inc. All rights reserved.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   134
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   135
LICENSE
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   136
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   137
  All code specific to YUI Compressor is issued under a BSD license.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   138
  YUI Compressor extends and implements code from Mozilla's Rhino project.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   139
  Rhino is issued under the Mozilla Public License (MPL), and MPL applies
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   140
  to the Rhino source and binaries that are distributed with YUI Compressor.