c9-core/node_modules/c9/setup_paths.js

22 wiersze
672 B
JavaScript
Czysty Zwykły widok Historia

2015-06-28 13:09:57 +00:00
/**
* 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: "" };
2015-06-28 13:09:57 +00:00
// 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);
2015-06-28 13:09:57 +00:00
});
return oldResolve(request, parent);
2015-06-28 13:09:57 +00:00
};