masson
Version:
Module execution engine for cluster deployments.
35 lines (31 loc) • 950 B
JavaScript
// Generated by CoffeeScript 1.7.1
var Module, path;
Module = require('module');
path = require('path');
module.exports = function(request) {
var absrequest, e, err, location, m, start;
m = new Module;
start = request.substring(0, 2);
if (start !== './' && start !== '..') {
m.paths = Module._nodeModulePaths(path.resolve('.'));
absrequest = Module._findPath(request, m.paths);
if (!absrequest) {
err = new Error("Cannot find module '" + request + "'");
err.code = 'MODULE_NOT_FOUND';
throw err;
}
} else {
absrequest = path.resolve('.', request);
}
try {
return m.require(absrequest);
} catch (_error) {
e = _error;
if (e instanceof SyntaxError && e.location) {
location = path.relative(process.cwd(), absrequest);
throw new Error("" + location + ":" + e.location.first_line + ":" + e.location.first_column + " " + e.message);
} else {
throw e;
}
}
};