Introduction
ESC is an ECMAScript pre-processor written in JScript, enabling an unlimited number of external scripts to be compressed/crunched
![](/icons/55610int.gif)
o supertight, bandwidth-optimized packages. Featuring several compression-techniques such as comment removal, whitespace stripping,
![](/icons/55610new.gif)
line 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
![](/icons/55610int.gif)
elligent 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 user
![](/icons/55610define.gif)
d maps with additional information to further gain control of the crunching procedure. During processing following things are taken
![](/icons/55610int.gif)
o 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 spec
![](/icons/55610if.gif)
ic objects/methods
Netscape/Mozilla/Opera spec
![](/icons/55610if.gif)
ic objects/methods/properties
MS WSH (Windows Scripting Host) 1+ native objects