You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
532 B
JavaScript

6 years ago
'use strict';
var path = require('path');
var Module = require('module');
module.exports = function (fromDir, moduleId) {
if (typeof fromDir !== 'string' || typeof moduleId !== 'string') {
throw new TypeError('Expected `fromDir` and `moduleId` to be a string');
}
fromDir = path.resolve(fromDir);
var fromFile = path.join(fromDir, 'noop.js');
try {
return Module._resolveFilename(moduleId, {
id: fromFile,
filename: fromFile,
paths: Module._nodeModulePaths(fromDir)
});
} catch (err) {
return null;
}
};