Skip to content
0347b72305
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

locate-path Build Status

Get the first path that exists on disk of multiple paths

Install

$ npm install locate-path

Usage

Here we find the first file that exists on disk, in array order.

const locatePath = require('locate-path');

const files = [
	'unicorn.png',
	'rainbow.png', // Only this one actually exists on disk
	'pony.png'
];

(async () => {
	console(await locatePath(files));
	//=> 'rainbow'
})();

API

locatePath(paths, [options])

Returns a Promise<string> for the first path that exists or undefined if none exists.

paths

Type: Iterable<string>

Paths to check.

options

Type: Object

concurrency

Type: number
Default: Infinity
Minimum: 1

Number of concurrently pending promises.

preserveOrder

Type: boolean
Default: true

Preserve paths order when searching.

Disable this to improve performance if you don't care about the order.

cwd

Type: string
Default: process.cwd()

Current working directory.

type

Type: string
Default: file
Values: file directory

The type of paths that can match.

allowSymlinks

Type: boolean
Default: true

Allow symbolic links to match if they point to the chosen path type.

locatePath.sync(paths, [options])

Returns the first path that exists or undefined if none exists.

paths

Type: Iterable<string>

Paths to check.

options

Type: Object

cwd

Same as above.

type

Same as above.

allowSymlinks

Same as above.

Related

License

MIT © Sindre Sorhus