resolver/resolver.js
function load_node_modules(request, startpath) {
	var resolved_path;
	var nodepaths = node_modules_paths(startpath);

	_.forEach(nodepaths, function(nodepath) {
		resolved_path = load_as_file(request, nodepath);
		return !resolved_path;
	});

	if(resolved_path) {
		return resolved_path;
	}

	_.forEach(nodepaths, function(nodepath) {
		resolved_path = load_as_directory(request, nodepath);
		return !resolved_path;
	});

	return resolved_path;
}
function load_node_modules(request, startpath) {
	var resolved_path;
	var nodepaths = node_modules_paths(startpath);

	_.forEach(nodepaths, function(nodepath) {
		resolved_path = load_as_file(request, nodepath);
		return !resolved_path;
	});

	if(resolved_path) {
		return resolved_path;
	}

	_.forEach(nodepaths, function(nodepath) {
		resolved_path = load_as_directory(request, nodepath);
		return !resolved_path;
	});

	return resolved_path;
}
LOAD_NODE_MODULES(X, START) 1. let DIRS=NODE_MODULES_PATHS(START) 2. for each DIR in DIRS: a. LOAD_AS_FILE(DIR/X) b. LOAD_AS_DIRECTORY(DIR/X)