/** * 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, parent) { if (!parent) parent = { paths: [], filename: "" }; // Ensure client extensions can be loaded request = request.replace(/^lib\//, "node_modules/"); // Add the extra paths extraPaths.forEach(function(p) { if (parent.paths.indexOf(p) === -1) parent.paths.push(p); }); return oldResolve(request, parent); };