kopia lustrzana https://github.com/c9/core
ensure we never use node_modules outside of root dir
rodzic
624e37fc52
commit
31dbc16d90
|
@ -5,13 +5,17 @@
|
||||||
*/
|
*/
|
||||||
var modules = require("module");
|
var modules = require("module");
|
||||||
var oldResolve = modules._resolveFilename;
|
var oldResolve = modules._resolveFilename;
|
||||||
var extraPaths = [
|
var path = require("path")
|
||||||
__dirname + "/../../"
|
var root = path.join(__dirname, "/../..");
|
||||||
];
|
var extraPaths = [ root ];
|
||||||
modules._resolveFilename = function(request, parent) {
|
modules._resolveFilename = function(request, parent) {
|
||||||
if (!parent) parent = { paths: [], filename: "" };
|
if (!parent) parent = { paths: [], filename: "" };
|
||||||
// Ensure client extensions can be loaded
|
// Ensure client extensions can be loaded
|
||||||
request = request.replace(/^lib\//, "node_modules/");
|
request = request.replace(/^lib\//, "node_modules/");
|
||||||
|
// ensure we never use node_modules outside of root dir
|
||||||
|
parent.paths = parent.paths.filter(function(p) {
|
||||||
|
return p.indexOf(root) == 0
|
||||||
|
});
|
||||||
// Add the extra paths
|
// Add the extra paths
|
||||||
extraPaths.forEach(function(p) {
|
extraPaths.forEach(function(p) {
|
||||||
if (parent.paths.indexOf(p) === -1)
|
if (parent.paths.indexOf(p) === -1)
|
||||||
|
|
Ładowanie…
Reference in New Issue