jam/js/top/runapp

54 lines
1.3 KiB
JavaScript

#!/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);
}