Sha256: 71a34263582dd96e5b3eba1422c5c2af0062cac6c060c1eaaee352094723359b

Contents?: true

Size: 1.17 KB

Versions: 26

Compression:

Stored size: 1.17 KB

Contents

'use strict';
const path = require('path');
const Module = require('module');
const fs = require('fs');

const resolveFrom = (fromDirectory, moduleId, silent) => {
	if (typeof fromDirectory !== 'string') {
		throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof fromDirectory}\``);
	}

	if (typeof moduleId !== 'string') {
		throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof moduleId}\``);
	}

	try {
		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);

Version data entries

26 entries across 26 versions & 2 rubygems

Version Path
trusty-cms-6.3.1 node_modules/resolve-from/index.js
pcp-server-ruby-sdk-0.0.6 node_modules/resolve-from/index.js
pcp-server-ruby-sdk-0.1.0 node_modules/resolve-from/index.js
trusty-cms-5.0.7 node_modules/resolve-from/index.js
trusty-cms-5.0.6 node_modules/resolve-from/index.js
trusty-cms-5.0.5 node_modules/resolve-from/index.js
trusty-cms-5.0.4 node_modules/resolve-from/index.js
trusty-cms-5.0.3 node_modules/resolve-from/index.js
trusty-cms-5.0.2 node_modules/resolve-from/index.js
trusty-cms-5.0.1 node_modules/resolve-from/index.js
trusty-cms-4.3.5 node_modules/resolve-from/index.js
trusty-cms-5.0.0 node_modules/resolve-from/index.js
trusty-cms-4.3.4 node_modules/resolve-from/index.js
trusty-cms-4.3.3 node_modules/resolve-from/index.js
trusty-cms-4.3.2 node_modules/resolve-from/index.js
trusty-cms-4.3.1 node_modules/resolve-from/index.js
trusty-cms-4.3 node_modules/resolve-from/index.js
trusty-cms-4.2.3 node_modules/resolve-from/index.js
trusty-cms-4.2.2 node_modules/resolve-from/index.js
trusty-cms-4.2.1 node_modules/resolve-from/index.js