54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | #!/usr/bin/node | ||
|  | global.TOP='/home/sbosse/proj/jam/js'; | ||
|  | global.MODE='run'; | ||
|  | global.TARGET='node'; | ||
|  | global.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('--------------------------------'); | ||
|  | }; | ||
|  | 
 | ||
|  | function usage () { | ||
|  |   console.log('usage: run [-d] <javascript main file>'); | ||
|  |   console.log('       -d: Dump a stack trace on uncaught exceptions'); | ||
|  |   console.log('       TOP='+TOP); | ||
|  |   process.exit (); | ||
|  | } | ||
|  | var exec; | ||
|  | 
 | ||
|  | var Compat = Require('com/compat'); | ||
|  | 
 | ||
|  | Compat.args.parse(process.argv,[ | ||
|  |   ['-d',0,function (arg) {global.DEBUG=true;}], | ||
|  |   ['-h',0,function (arg) {usage ()}], | ||
|  |   [function (arg) { | ||
|  |     if (!exec) exec=arg; | ||
|  |   }] | ||
|  | ],2); | ||
|  | 
 | ||
|  | if (!exec) usage(); | ||
|  | if (global.DEBUG) | ||
|  |     Require(exec); | ||
|  | else try { | ||
|  |     Require(exec); | ||
|  | } catch (e) { | ||
|  |     out(e); | ||
|  | } |