js_compactor - Command line utility to reduce JavaScript code to as few characters as possible.


NAME

js_compactor - Command line utility to reduce JavaScript code to as few characters as possible.


USAGE

 js_compactor -src=source_file [OPTIONS]


SYNOPSIS

js_compactor [--src=source_file] [--dest=destination_file] [--opt] [--comment_exception=text] [--remove_coments] [--replace_white_space] [--remove_blank_lines] [--combine_concats] [--join_all] [--replace_extra_whitespace] [--no_remove_coments] [--no_replace_white_space] [--no_remove_blank_lines] [--no_combine_concats] [--no_join_all] [--no_replace_extra_whitespace] [--force] [--help]


DESCRIPTION

The ``--src'' option is requied.

Default usage is as though you specified ``--opt'', for optimal settings. Setting any of the specific settings will override the default ``--opt'' behavior, and rules will be applied one by one. You may also specify ``--opt'' and then disable specific features with a ``--no_option_name'' style option.

--src=filename
The source javascript filename. (REQUIRED)

--dest=filename
The destination file. Defaults to output to STDOUT.

--force
Force overwriting of output file if it exists.

--opt
Same as --remove_coments --replace_white_space --remove_blank_lines --combine_concats --join_all --replace_extra_whitespace

--comment_exception=text_to_match
Comments matching the provided text will NOT be removed. The primary purpose for this is to retain copyright notices. Eg.
    js_compator --comment_exception=copyright -src=somefile

This option may be specified multiple times. Any comment matching any of the provided strings will then be retained.

It uses a case insenstive regexp for the match. This option has no effect if --no_remove_comments is specified.

--remove_comments | --no_remove_comments
Remove all comments from the source.

--replace_white_space | --no_replace_white_space
Per each line:

Comments and string literals (if still embeded) are untouched.

--remove_blank_lines | --no_remove_blank_lines
Blank lines in code are removed.

--combine_concats | --no_combine_concats
Removes any string literal concatenations. Eg.
    "bob and " +   "sam " + someVar;

Becomes:

    "bob and sam " + someVar

--join_all | --no_join_all
Put everything on one line (retained comments may still contain new lines).

--replace_extra_whitespace | --no_replace_extra_whitespace
This removes any excess whitespace. Eg.
    if (someVar = "foo") {

Becomes:

    if(someVar="foo"){


EXAMPLES

The normal use is probably just for one off squishings:

    js_compactor --src=input_file > new_file.js

If you're squishing something with a copyright, it is recommended that you retain that copyright:

    js_compactor --comment_exception=copyright --src=input_file > new_file.js

If you want the code to still be somewhat readable, it is often helpful to retain all the line breaks:

    js_compactor --opt --no_join_all --comment_exception=copyright --src=input_file > new_file.js


SEE ALSO

the JavaScript::Squish manpage


BUGS

Please refer to http://developer.berlios.de/projects/jscompactor/ to report bugs.


AUTHOR

Joshua I. Miller <jmiller@puriifeddata.net>


COPYRIGHT AND LICENSE

Copyright (c) 2005 by CallTech Communications, Inc.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.3 or, at your option, any later version of Perl 5 you may have available.

 js_compactor - Command line utility to reduce JavaScript code to as few characters as possible.