find-up Build Status: Linux and macOS Build Status: Windows

Find a file by walking up parent directories

Install

$ npm install --save find-up

Usage

/
└── Users
		└── sindresorhus
				├── unicorn.png
				└── foo
						└── bar
								├── baz
								└── example.js
// example.js
const findUp = require('find-up');

findUp('unicorn.png').then(filepath => {
	console.log(filepath);
	//=> '/Users/sindresorhus/unicorn.png'
});

findUp(['rainbow.png', 'unicorn.png']).then(filepath => {
	console.log(filepath);
	//=> '/Users/sindresorhus/unicorn.png'
});

API

findUp(filename, [options])

Returns a Promise for the filepath or null.

findUp([filenameA, filenameB], [options])

Returns a Promise for the first filepath found (by respecting the order) or null.

findUp.sync(filename, [options])

Returns a filepath or null.

findUp.sync([filenameA, filenameB], [options])

Returns the first filepath found (by respecting the order) or null.

filename

Type: string

Filename of the file to find.

options

cwd

Type: string
Default: process.cwd()

Directory to start from.

Related

  • find-up-cli - CLI for this module
  • pkg-up - Find the closest package.json file
  • pkg-dir - Find the root directory of an npm package

License

MIT © Sindre Sorhus