Sha256: a27895806ca2ce5784959136e0401139fcbe9f7f7c1bf3ef56a3e5b344e5e15b
Contents?: true
Size: 1.1 KB
Versions: 85
Compression:
Stored size: 1.1 KB
Contents
'use strict'; const path = require('path'); const Module = require('module'); const fs = require('fs'); const resolveFrom = (fromDir, moduleId, silent) => { if (typeof fromDir !== 'string') { throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof fromDir}\``); } if (typeof moduleId !== 'string') { throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof moduleId}\``); } try { fromDir = fs.realpathSync(fromDir); } catch (err) { if (err.code === 'ENOENT') { fromDir = path.resolve(fromDir); } else if (silent) { return null; } else { throw err; } } const fromFile = path.join(fromDir, 'noop.js'); const resolveFileName = () => Module._resolveFilename(moduleId, { id: fromFile, filename: fromFile, paths: Module._nodeModulePaths(fromDir) }); if (silent) { try { return resolveFileName(); } catch (err) { return null; } } return resolveFileName(); }; module.exports = (fromDir, moduleId) => resolveFrom(fromDir, moduleId); module.exports.silent = (fromDir, moduleId) => resolveFrom(fromDir, moduleId, true);
Version data entries
85 entries across 84 versions & 10 rubygems