Buckets:
arudradey/ml-cpu-storage / emsdk /upstream /emscripten /node_modules /resolve /lib /node-modules-paths.js
| var path = require('path'); | |
| var parse = path.parse || require('path-parse'); // eslint-disable-line global-require | |
| var driveLetterRegex = /^([A-Za-z]:)/; | |
| var uncPathRegex = /^\\\\/; | |
| var getNodeModulesDirs = function getNodeModulesDirs(absoluteStart, modules) { | |
| var prefix = '/'; | |
| if (driveLetterRegex.test(absoluteStart)) { | |
| prefix = ''; | |
| } else if (uncPathRegex.test(absoluteStart)) { | |
| prefix = '\\\\'; | |
| } | |
| var paths = [absoluteStart]; | |
| var parsed = parse(absoluteStart); | |
| while (parsed.dir !== paths[paths.length - 1]) { | |
| paths.push(parsed.dir); | |
| parsed = parse(parsed.dir); | |
| } | |
| return paths.reduce(function (dirs, aPath) { | |
| return dirs.concat(modules.map(function (moduleDir) { | |
| return path.resolve(prefix, aPath, moduleDir); | |
| })); | |
| }, []); | |
| }; | |
| module.exports = function nodeModulesPaths(start, opts, request) { | |
| var modules = opts && opts.moduleDirectory | |
| ? [].concat(opts.moduleDirectory) | |
| : ['node_modules']; | |
| if (opts && typeof opts.paths === 'function') { | |
| return opts.paths( | |
| request, | |
| start, | |
| function () { return getNodeModulesDirs(start, modules); }, | |
| opts | |
| ); | |
| } | |
| var dirs = getNodeModulesDirs(start, modules); | |
| return opts && opts.paths ? dirs.concat(opts.paths) : dirs; | |
| }; | |
Xet Storage Details
- Size:
- 1.37 kB
- Xet hash:
- 3e09d6865ac81a3c6537676a46d8d646a397f7bad0d1d99d230405a461a22920
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.