 |
| Introduction |
|
ESC is an ECMAScript pre-processor written in JScript, enabling an unlimited number of
external scripts to be compressed/crunched into supertight, bandwidth-optimized packages.
Featuring several compression-techniques such as comment removal, whitespace stripping, newline
stripping and variable substitution ESC can reduce the overall size of your code with up to ~45%.
Single, multiple scripts and even directories with scripts can be merged together at the
compression level you decide. The processed output can later be appended or written to a file,
or piped to another application for further processing via STDOUT.
|
| |
|
ESC do NOT support crunching of inline scripts. So any attempt passing HTML, ASP,
JSP, PHP or other equivalent documents to ESC is done at your own risk.
|
| |
|
ESC supports four levels of compression, where a higher level equals
higher compression. Beware though that levels >2 requires your code to
be syntaxically perfect or ESC will punish you by producing a broken and
useless output.
|
| |
|
The compression ratio should hit around 25% using the default compression
level on a vanilla looking script, but results as high as ~45% can be
achieved depending on the script's design / your style of writing code.
|
| |
|
ESC's compression engine is intelligent in the meaning that it has language syntax,
statement and keyword awareness and it *knows* about native objects and members
provided by the most common scripting hosts. This knowledgebase can easily be extended
by pluggin in userdefined maps with additional information to further gain control of
the crunching procedure. During processing following things are taken into account :
|
| |
-
String and RegExpression read-ahead
-
JScript Conditional compilation statements and variables
-
ECMA-262 Core language definitions (ECMAScript)
-
Intermediate DOM's (level 0) and DOM level 1
-
MS JScript specific objects/methods
-
Netscape/Mozilla/Opera specific objects/methods/properties
-
MS WSH (Windows Scripting Host) 1+ native objects
|
| |
| |