nesh
Version:
An enhanced, extensible shell for Node.js
67 lines (56 loc) • 1.73 kB
JavaScript
// Generated by CoffeeScript 1.11.1
/*
ES6/7 language component for Nesh, the Node.js enhanced shell.
*/
(function() {
var babel, log, path, vm;
require('colors');
babel = require('babel-core');
log = require('../log');
path = require('path');
vm = require('vm');
exports.setup = function(arg) {
var nesh;
nesh = arg.nesh;
log.debug('Loading Babel');
require('babel-core/register');
nesh.compile = function(data) {
return babel.transform(data);
};
nesh.repl = {
start: function(opts) {
var repl;
opts["eval"] = function(code, context, filename, callback) {
var e, err, output, result;
if (code[0] === '(' && code[code.length - 1] === ')') {
code = code.slice(1, -1);
}
err = null;
output = null;
try {
result = babel.transform(code, {
stage: 0
});
output = vm.runInThisContext(result.code, {
filename: filename
});
} catch (error) {
e = error;
err = e;
}
if (output === 'use strict') {
output = void 0;
}
return callback(err, output);
};
return repl = require('repl').start(opts);
}
};
process.versions['babel'] = babel.version;
nesh.defaults.welcome = ("Babel " + babel.version + " on Node " + process.version + "\nType ") + '.help'.cyan + ' for more information';
nesh.defaults.prompt = 'babel> ';
nesh.defaults.useGlobal = true;
return nesh.defaults.historyFile = path.join(nesh.config.home, '.babel_history');
};
}).call(this);
//# sourceMappingURL=babel.js.map