files : [ "/location/of/file1.js", "/location/of/file2.js", ... ],
target : "/tmp/output.js",
debugTarget : "/tmp/output.debug.js", // merged file without compression.
- translateJson : "/tmp/translate.json",
+ translateJSON: "/tmp/translate.json",
);
if ((typeof(cfg.tmpDir) != 'undefined') && (!cfg.cleanup)) {
this.cleanup = false; // do not clean up files.. = as tmpdir is set.
}
- this.tmpFiles = [];
+
this.timer = new Date() * 1;
this.packAll();
*/
tmpDir : '/tmp',
- translateJson : '', // json based list of strings in all files.
+ translateJSON : '', // json based list of strings in all files.
- tmpFiles : false, // list of temporary files - cleaned up at end..
/**
* @prop cleanup {Boolean} (optional) clean up temp files after done -
* Defaults to false if you set tmpDir, otherwise true.
}
- if (this.translateJson) {
+ if (this.translateJSON) {
print("MERGING LANGUAGE");
File.write(this.target, "if (typeof(_T) == 'undefined') { _T={};}\n");
- File.write(this.translateJson, "");
+ File.write(this.translateJSON, "");
for(var i=0; i < this.files.length; i++) {
var file = this.files[i];
var transfile= this.tmpDir + '/' +file.replace(/\//g, '.') +'.lang.trans';
if (str.length) {
File.append(this.target, str + "\n");
}
+ if (this.cleanup) {
+ File.remove(transmd5);
+ }
}
if (File.exists(transfile)) {
var str = File.read(transfile);
if (str.length) {
- File.append(this.translateJson, str);
+ File.append(this.translateJSON, str);
+ }
+ if (this.cleanup) {
+ File.remove(transfile);
}
}
for(var i=0; i < files.length; i++) {
var minfile = bpath + '/' + this.files.replace(/\//g, '.');
+
+
if (!File.exists(minfile)) {
continue;
}
if (str.length) {
File.append(this.target, str + "\n");
}
+ if (this.cleanup) {
+ File.remove(minfile);
+ }
+
}
-
- //File.append(dout, "\n");// end the function
-
+
},
pack : function (str,fn,minfile)
{
- var tr = new TokenReader();
+ var tr = new TokenReader( { keepDocs :true, keepWhite : true, keepComments : true, sepIdents : true });
this.timerPrint("START" + fn);
// we can load translation map here...
- var toks = tr.tokenize(str,false); // dont merge xxx + . + yyyy etc.
+ var toks = tr.tokenize(new TextStream(str)); // dont merge xxx + . + yyyy etc.
// at this point we can write a language file...
- if (this.translate) {
+ if (this.translateJSON) {
this.writeTranslateFile(fn, minfile, tr.translateMap);
}
// and replace if we are generating a different language..
-
-
-
this.timerPrint("Tokenized");
//return;//
- var sp = new ScopeParser(new TokenStream(toks, str.length));
+ var sp = new ScopeParser(new TokenStream(toks));
this.timerPrint("Converted to Parser");
sp.packer = this;
sp.buildSymbolTree();
this.timerPrint("Compressed");
return out;
+
+
},
timerPrint: function (str) {
{
//print("STRING HANDLER");
// callback when outputing compressed file,
- if (!this.translate) {
+ if (!this.translateJSON) {
// print("TURNED OFF");
return tok.outData;
}
- if (tok.qc != '"') {
+ if (tok.name == SINGLE_QUOTE) {
return tok.outData;
}
var sval = tok.data.substring(1,tok.data.length-1);