Hello,
Hello. I am wondering if there exists a piece of software that takes
multiple .js files that are nicely indented and commented and create
one big tightly packed .js file. I'm hoping the one file would be less
of a burden for the user's browser to download. I guess the final code
output by this hypothetical program could maybe even just be on one
long line unless that would create problems. Maybe there is some kind
of optimal line length for the computer to read. I've seen some sites
with some very unreadable .js files with lines hundreds of characters
long. I figure they must be using some program to make the code that
way before it gets put on the server. Noone would want to work on code
that looked like that. I guess I could easily write a small program to
accomplish this, but I'd rather not reinvent the wheel. Any help with
this would be greatly appreciated.
you can check my build tool Milk (Windows only for now)
http://www.burrrn.com/projects/Milk.html
features:
a.. generate release build from source directory
a.. filter for authorized/ignored extensions
a.. use 1 config file
a.. use 1 build file
a.. can use unlimited additional config files
a.. get the SVN repository last revision
a.. get verbose information about files listing, config files etc.
a.. compile all files into a single file
a.. remove comments based on the comment type
a.. remove unecessary spaces, empty lines, etc.
a.. can tag the files with build info, file name, date stamp
a.. can generate the documentation
a.. can zip all files, developper release files, library release file and
documentation files
a.. can normalize special and private comments
a.. options to modify the comments included in zip files
etc..
if people (I mean more than 1) are really interested in more features
as "all on one single line" I could see into it.
btw, the tool is written in JavaScript and configured by JavaScript config
files ;)
HTH
zwetan
ps: here an output log of the tool
_____ .__.__ __
/ \ |__| | | | __
/ \ / \| | | | |/ /
/ Y \ | |_| < black
\____|__ /__|____/__|_ \ Math
----------\/-------------\/-------------
Milk: Make include list kit v1.0.5
Copyright (c) 2003-2005 zwetan Kjukov
----------------------------------------
[Config file: core2.eden,core 2_JS.eden]
----------------------------------------
[Build file: src\build_JS.ed en]
----------------------------------------
[Release name: core2 v1.0.0 JS]
----------------------------------------
[releaseFile: core2_v1.0.0_JS]
[Copy files and directories]
from: src\*.*
to: release\dev\cor e2_v1.0.0_JS\*. *
(ignored extensions: *.txt, *.eden)
----------------------------------------
[Source Entries]
src\build.eden
src\build_AS.ed en
src\build_DOC.e den
src\build_JS.ed en
src\build_JS56. eden
src\build_JSDB. eden
src\buRRRn
src\buRRRn\core 2.as1
src\buRRRn\core 2.js
src\buRRRn\core 2.js56
src\buRRRn\core 2.jsdb
src\buRRRn\core 2.txt
src\buRRRn\core 2
src\buRRRn\core 2\Array.es
src\buRRRn\core 2\Boolean.es
src\buRRRn\core 2\Date.es
src\buRRRn\core 2\Error.es
src\buRRRn\core 2\Function.es
src\buRRRn\core 2\ICloneable.es
src\buRRRn\core 2\IComparable.e s
src\buRRRn\core 2\IConvertible. es
src\buRRRn\core 2\ICopyable.es
src\buRRRn\core 2\IEquality.es
src\buRRRn\core 2\IFormattable. es
src\buRRRn\core 2\ISerializable .es
src\buRRRn\core 2\NullObject.es
src\buRRRn\core 2\Number.es
src\buRRRn\core 2\Object.es
src\buRRRn\core 2\String.es
src\buRRRn\core 2\_global.es
----------------------------------------
[Release Entries]
release\dev\cor e2_v1.0.0_JS\bu RRRn
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Arra y.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Bool ean.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Date .js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Erro r.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Func tion.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\IClo neable.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\ICom parable.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\ICon vertible.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\ICop yable.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\IEqu ality.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\IFor mattable.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\ISer ializable.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Null Object.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Numb er.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Obje ct.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Stri ng.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\_glo bal.js
----------------------------------------
[Removing comments]
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Arra y.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Bool ean.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Date .js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Erro r.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Func tion.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\IClo neable.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\ICom parable.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\ICon vertible.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\ICop yable.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\IEqu ality.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\IFor mattable.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\ISer ializable.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Null Object.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Numb er.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Obje ct.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\Stri ng.js
release\dev\cor e2_v1.0.0_JS\bu RRRn\core2\_glo bal.js
----------------------------------------
[Generate library]
release\lib\cor e2_v1.0.0_JS.js
----------------------------------------
[Zipping releases]
core2_v1.0.0_JS _DEV.zip
core2_v1.0.0_JS _LIB.zip
----------------------------------------
processed in: 0h:0mn:18s:687m s
----------------------------------------