Changes
This commit is contained in:
54
node_modules/resolve-from/index.js
generated
vendored
54
node_modules/resolve-from/index.js
generated
vendored
@@ -1,23 +1,47 @@
|
||||
'use strict';
|
||||
var path = require('path');
|
||||
var Module = require('module');
|
||||
const path = require('path');
|
||||
const Module = require('module');
|
||||
const fs = require('fs');
|
||||
|
||||
module.exports = function (fromDir, moduleId) {
|
||||
if (typeof fromDir !== 'string' || typeof moduleId !== 'string') {
|
||||
throw new TypeError('Expected `fromDir` and `moduleId` to be a string');
|
||||
const resolveFrom = (fromDirectory, moduleId, silent) => {
|
||||
if (typeof fromDirectory !== 'string') {
|
||||
throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof fromDirectory}\``);
|
||||
}
|
||||
|
||||
fromDir = path.resolve(fromDir);
|
||||
|
||||
var fromFile = path.join(fromDir, 'noop.js');
|
||||
if (typeof moduleId !== 'string') {
|
||||
throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof moduleId}\``);
|
||||
}
|
||||
|
||||
try {
|
||||
return Module._resolveFilename(moduleId, {
|
||||
id: fromFile,
|
||||
filename: fromFile,
|
||||
paths: Module._nodeModulePaths(fromDir)
|
||||
});
|
||||
} catch (err) {
|
||||
return null;
|
||||
fromDirectory = fs.realpathSync(fromDirectory);
|
||||
} catch (error) {
|
||||
if (error.code === 'ENOENT') {
|
||||
fromDirectory = path.resolve(fromDirectory);
|
||||
} else if (silent) {
|
||||
return;
|
||||
} else {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
const fromFile = path.join(fromDirectory, 'noop.js');
|
||||
|
||||
const resolveFileName = () => Module._resolveFilename(moduleId, {
|
||||
id: fromFile,
|
||||
filename: fromFile,
|
||||
paths: Module._nodeModulePaths(fromDirectory)
|
||||
});
|
||||
|
||||
if (silent) {
|
||||
try {
|
||||
return resolveFileName();
|
||||
} catch (error) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
return resolveFileName();
|
||||
};
|
||||
|
||||
module.exports = (fromDirectory, moduleId) => resolveFrom(fromDirectory, moduleId);
|
||||
module.exports.silent = (fromDirectory, moduleId) => resolveFrom(fromDirectory, moduleId, true);
|
||||
|
||||
Reference in New Issue
Block a user