c9-core/node_modules/c9/setup_paths.js

21 wiersze
612 B
JavaScript

/**
* Allow code that lives on the server to resolve paths like
* require("plugins/c9.language/language"),
* just like on the client.
*/
var modules = require("module");
var oldResolve = modules._resolveFilename;
var extraPaths = [
__dirname + "/../../"
];
modules._resolveFilename = function(request, paths) {
// Ensure client extensions can be loaded
request = request.replace(/^lib\//, "node_modules/");
// Add the extra paths
extraPaths.forEach(function(p) {
if(paths.paths.indexOf(p) === -1)
paths.paths.push(p);
});
return oldResolve(request, paths);
};