Skip to content

Instantly share code, notes, and snippets.

@bryanforbes
Created October 22, 2012 18:11
Show Gist options
  • Save bryanforbes/3933072 to your computer and use it in GitHub Desktop.
Save bryanforbes/3933072 to your computer and use it in GitHub Desktop.
Dojo node command line
#!/usr/bin/env node
var repl = require('repl'),
vm = require('vm'),
useGlobal = true;
function evalWithHistory(code, context, file, callback){
// TOOD: write history saving routines
var err, result;
try{
if(useGlobal){
result = vm.runInThisContext(code, file);
}else{
result = vm.runInContext(code, context, file);
}
}catch(e){
err = e;
}
callback(err, result);
}
global.dojoConfig = {
async: true,
baseUrl: '../',
packages: [{
name: 'dojo',
location: 'dojo2'
}],
deps: ['require'],
callback: function(require){
var r = repl.start({
prompt: '> ',
input: process.stdin,
output: process.stdout,
useGlobal: useGlobal,
eval: evalWithHistory
});
r.context.require = function(module){
var mod;
require([module], function(m){
mod = m;
});
return mod;
};
}
};
require('../dojo/trunk/dojo/dojo');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment