Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including locate-path with all npm packages installed. Try it out:

var locatePath = require("locate-path")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

locate-path v5.0.0

Get the first path that exists on disk of multiple paths

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

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free