Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80665 views
1
var path = require('path');
2
3
4
module.exports = function (start, opts) {
5
var modules = opts.moduleDirectory || 'node_modules';
6
var prefix = '/';
7
if (/^([A-Za-z]:)/.test(start)) {
8
prefix = '';
9
} else if (/^\\\\/.test(start)) {
10
prefix = '\\\\';
11
}
12
var splitRe = process.platform === 'win32' ? /[\/\\]/ : /\/+/;
13
var parts = start.split(splitRe);
14
15
var dirs = [];
16
for (var i = parts.length - 1; i >= 0; i--) {
17
if (parts[i] === modules) continue;
18
var dir = path.join(
19
path.join.apply(path, parts.slice(0, i + 1)),
20
modules
21
);
22
dirs.push(prefix + dir);
23
}
24
if(process.platform === 'win32'){
25
dirs[dirs.length-1] = dirs[dirs.length-1].replace(":", ":\\");
26
}
27
return dirs.concat(opts.paths);
28
}
29