46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
#!/usr/bin/node
 | 
						|
global.TOP='/home/sbosse/proj/jam/js';
 | 
						|
var debug=false;
 | 
						|
require(TOP+'/top/module')([process.cwd(),TOP]);
 | 
						|
 | 
						|
function out(str) {console.log(str);};
 | 
						|
function dump() {
 | 
						|
        var e = new Error('dummy');
 | 
						|
        var stack = e.stack.replace(/^[^\(]+?[\n$]/gm, '')
 | 
						|
            .replace(/^\s+at\s+/gm, '')
 | 
						|
            .replace(/^Object.<anonymous>\s*\(/gm, '{anonymous}()@')
 | 
						|
            .split('\n');
 | 
						|
        out('Stack Trace');
 | 
						|
        out('--------------------------------');
 | 
						|
        for(var i in stack) {
 | 
						|
            if (i>0) {
 | 
						|
                var line = stack[i];
 | 
						|
                if(line.indexOf('Module.',0)>=0) break;
 | 
						|
                out(line);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        out('--------------------------------');
 | 
						|
};
 | 
						|
 | 
						|
if (process.argv[2]) {
 | 
						|
  if (process.argv[2]=='-d') {
 | 
						|
    debug=true;
 | 
						|
    process.argv.shift();
 | 
						|
  }
 | 
						|
  process.argv.shift();
 | 
						|
  var exec=process.argv[1];
 | 
						|
  process.argv.shift();
 | 
						|
  if (debug)
 | 
						|
    Require(exec);
 | 
						|
  else try {
 | 
						|
    Require(exec);
 | 
						|
  } catch (e) {
 | 
						|
    out(e);
 | 
						|
  }
 | 
						|
} else {
 | 
						|
  console.log('usage: run [-d] <javascript main file>');
 | 
						|
  console.log('       -d: Dump a stack trace on uncaught exceptions');
 | 
						|
  console.log('       TOP='+TOP);
 | 
						|
}
 | 
						|
 |