Sha256: a2cd8d4f4ac9aea86e40e81d5e7f3f337e8143d341d88c75cf32990936e25bea

Contents?: true

Size: 1.78 KB

Versions: 77

Compression:

Stored size: 1.78 KB

Contents

# find-up [![Build Status: Linux and macOS](https://travis-ci.org/sindresorhus/find-up.svg?branch=master)](https://travis-ci.org/sindresorhus/find-up) [![Build Status: Windows](https://ci.appveyor.com/api/projects/status/l0cyjmvh5lq72vq2/branch/master?svg=true)](https://ci.appveyor.com/project/sindresorhus/find-up/branch/master)

> Find a file by walking up parent directories


## Install

```
$ npm install --save find-up
```


## Usage

```
/
└── Users
		└── sindresorhus
				├── unicorn.png
				└── foo
						└── bar
								├── baz
								└── example.js
```

```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`<br>
Default: `process.cwd()`

Directory to start from.


## Related

- [find-up-cli](https://github.com/sindresorhus/find-up-cli) - CLI for this module
- [pkg-up](https://github.com/sindresorhus/pkg-up) - Find the closest package.json file
- [pkg-dir](https://github.com/sindresorhus/pkg-dir) - Find the root directory of an npm package


## License

MIT © [Sindre Sorhus](https://sindresorhus.com)

Version data entries

77 entries across 77 versions & 9 rubygems

Version Path
govuk_publishing_components-16.25.0 node_modules/find-up/readme.md
govuk_publishing_components-16.24.0 node_modules/find-up/readme.md
govuk_publishing_components-16.23.0 node_modules/find-up/readme.md
govuk_publishing_components-16.22.0 node_modules/find-up/readme.md
govuk_publishing_components-16.21.0 node_modules/find-up/readme.md
govuk_publishing_components-16.20.1 node_modules/find-up/readme.md
govuk_publishing_components-16.20.0 node_modules/find-up/readme.md
govuk_publishing_components-16.19.0 node_modules/find-up/readme.md
govuk_publishing_components-16.18.0 node_modules/find-up/readme.md
govuk_publishing_components-16.17.0 node_modules/find-up/readme.md
optimacms-0.4.3 spec/dummy/node_modules/find-up/readme.md
optimacms-0.4.2 spec/dummy/node_modules/find-up/readme.md
locomotivecms-4.0.0.alpha1 app/javascript/node_modules/find-up/readme.md
locomotivecms-3.4.0 app/javascript/node_modules/find-up/readme.md
cortex-0.1.3 spec/dummy/node_modules/find-up/readme.md
dragonfly_puppeteer-0.1.0 node_modules/find-up/readme.md
lanes-0.8.0 node_modules/jest-runtime/node_modules/find-up/readme.md